Browse Source

筛查、筛查二维码列表接口配置

newMaster
liuzhipeng 4 months ago
parent
commit
88247bce94
  1. 2
      acupuncture-前台/.env.development
  2. 2
      acupuncture-前台/.env.production
  3. 106
      acupuncture-前台/src/api/member.js
  4. 9
      acupuncture-前台/src/api/screening.js
  5. 378
      acupuncture-前台/src/views/screening/index.vue
  6. 46
      acupuncture-前台/src/views/screening/qrCode.vue

2
acupuncture-前台/.env.development

@ -9,7 +9,7 @@ VUE_APP_BASE_API = '/dev-api'
VUE_APP_IMG_URL = 'https://test.tall.wiki/acupuncture'
VUE_APP_API_QZURL = 'https://test.tall.wiki/'
# 筛查访问地址
VUE_APP_SCREEN_URL = 'https://test.tall.wiki/acupunctureClient/screening/h5/'
VUE_APP_H5_URL = 'https://test.tall.wiki/acupunctureClient/screening/h5/'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true
# 访问路径

2
acupuncture-前台/.env.production

@ -7,6 +7,6 @@ NODE_ENV = 'production'
VUE_APP_BASE_API = 'https://test.tall.wiki/acupuncture'
VUE_APP_API_QZURL = 'https://test.tall.wiki/'
# 筛查访问地址
VUE_APP_SCREEN_URL = 'https://test.tall.wiki/acupunctureClient/screening/h5/'
VUE_APP_H5_URL = 'https://test.tall.wiki/acupunctureClient/screening/h5/'
# 访问路径
VUE_APP_PUBLIC_PATH = '/acupunctureClient/'

106
acupuncture-前台/src/api/member.js

@ -0,0 +1,106 @@
import request from "@/utils/request";
// 获取租户列表
export function tenantsList(data) {
return request({
url: "/tenants/list",
method: "post",
data: data,
});
}
// 新增租户
export function tenantsAdd(data) {
return request({
url: "/tenants/add",
method: "post",
data: data,
});
}
// 修改租户
export function tenantsUpd(data) {
return request({
url: "/tenants/upd",
method: "post",
data: data,
});
}
// 删除租户
export function tenantsDel(data) {
return request({
url: "/tenants/del",
method: "post",
data: data,
});
}
// ------ 数据源 ------
// 获取数据源列表
export function dataSourcesList(data) {
return request({
url: "/dataSources/list",
method: "post",
data: data,
});
}// 新增数据源
export function dataSourcesAdd(data) {
return request({
url: "/dataSources/add",
method: "post",
data: data,
});
}
// 修改数据源
export function dataSourcesUpd(data) {
return request({
url: "/dataSources/upd",
method: "post",
data: data,
});
}
// 删除数据源
export function dataSourcesDel(data) {
return request({
url: "/dataSources/del",
method: "post",
data: data,
});
}
// ------ 用户 ------
export function tenantUsersList(data) {
return request({
url: "/tenantUsers/list",
method: "post",
data: data,
});
}// 新增数据源
export function tenantUsersAdd(data) {
return request({
url: "/tenantUsers/add",
method: "post",
data: data,
});
}
// 修改数据源
export function tenantUsersUpd(data) {
return request({
url: "/tenantUsers/upd",
method: "post",
data: data,
});
}
// 删除数据源
export function tenantUsersDel(data) {
return request({
url: "/tenantUsers/del",
method: "post",
data: data,
});
}
//
export function resetPwd(data) {
return request({
url: "/web/resetPwd",
method: "put",
data: data,
});
}

9
acupuncture-前台/src/api/screening.js

@ -90,3 +90,12 @@ export function deleteScreen(data) {
// data: data,
// });
// }
// ------ 筛查列表 ------
export function queryDetail(data) {
return request({
url: "/screening/queryDetail",
method: "post",
data: data,
});
}

378
acupuncture-前台/src/views/screening/index.vue

@ -34,7 +34,7 @@
/>
</div>
</el-form-item>
<!-- <el-form-item label="建档组织" prop="tenantId">
<el-form-item label="建档组织" prop="tenantId">
<el-select
v-model="queryParams.param.tenantId"
placeholder="请选择"
@ -48,8 +48,20 @@
:key="index"
/>
</el-select>
</el-form-item> -->
</el-form-item>
<el-form-item>
<el-form-item label="创建时间" prop="doctorNo">
<el-date-picker
v-model="queryTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
align="right"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
<el-button
type="primary"
icon="el-icon-search"
@ -91,7 +103,7 @@
<el-table-column
label="姓名"
align="center"
prop="name"
prop="SCWJ-NAME"
min-width="100"
show-overflow-tooltip
fixed
@ -99,52 +111,57 @@
<el-table-column
label="性别"
align="center"
prop="name"
prop="SCWJ-SEX"
min-width="100"
/>
<el-table-column
label="出生日期"
align="center"
prop="name"
prop="SCWJ-BIRTH"
min-width="100"
/>
<el-table-column
label="年龄"
align="center"
prop="name"
prop="SCWJ-AGE"
min-width="100"
/>
<el-table-column
label="联系方式"
align="center"
prop="name"
prop="SCWJ-PHONE"
min-width="100"
/>
<el-table-column
label="身高cm"
align="center"
prop="name"
prop="SCWJ-HEIGHT"
min-width="100"
/>
<el-table-column
label="体重kg"
align="center"
prop="name"
prop="SCWJ-WEIGHT"
min-width="100"
/>
<el-table-column
label="BMI"
align="center"
prop="SCWJ-BMI"
min-width="100"
/>
<el-table-column label="BMI" align="center" prop="name" min-width="100" />
<el-table-column
show-overflow-tooltip
label="结论"
align="center"
prop="name"
prop="SCWJ-JL"
min-width="150"
>
</el-table-column>
<el-table-column
label="失眠自评(SRSS)"
align="center"
prop="name"
prop="SCWJ-RESULT"
min-width="150"
/>
<el-table-column
@ -181,87 +198,22 @@
</template>
<script>
import { getToken } from "@/utils/auth";
import {
queryPatient,
patientAdd,
patientUpd,
patientDel,
} from "@/api/patientFile";
// import { tenantsList } from "@/api/member";
import { queryDetail } from "@/api/screening.js";
import { tenantsList } from "@/api/member";
export default {
name: "Notice",
dicts: ["sys_notice_status", "sys_notice_type"],
data() {
return {
queryTime: [], //
tenantsListData: [], //
headers: {
Authorization: "Bearer " + getToken(),
deptId: localStorage.getItem("hospitalId"),
},
uploadFileUrl1:
process.env.VUE_APP_API_QZURL + "/acupuncture/patient/import", //
fileList: [],
//
medicalHistory: [
"高血压",
"脑血管病",
"恶性肿瘤",
"冠心病",
"精神疾病",
"胃和十二指肠溃疡",
"肥胖症",
"骨质疏松症",
"遗传性、先天性疾病",
"糖尿病",
"慢性肺系疾病",
"高脂血症",
"肝脏疾病(脂肪肝、乙型肝炎、肝硬化等)",
"过敏性疾病",
"关节炎",
"痛风",
"肾炎、肾病",
"高脂血症",
],
idCardType: [
{
label: "身份证",
value: 0,
},
{
label: "护照或外国人永居证",
value: 1,
},
{
label: "港澳居民来往内地通行",
value: 2,
},
{
label: "台湾居民来往大陆通行证",
value: 3,
},
{
label: "其他",
value: 4,
},
],
idCardTypeValue: {
0: "身份证",
1: "护照或外国人永居证",
2: "港澳居民来往内地通行",
3: "台湾居民来往大陆通行证",
4: "其他",
},
loading: false, //
ids: [], //
single: true, //
multiple: true, //
showSearch: true, //
total: 0, //
listDat: [{}], //
title: "", //
open: false, //
importOpen: false, //
listDat: [], //
//
queryParams: {
pageNum: 1,
@ -275,90 +227,36 @@ export default {
sourceId: "", //
},
},
formDisabled: false,
importform: {},
//
form: {},
//
rules: {
name: [
{
required: true,
message: "患者姓名不能为空",
trigger: "blur",
},
],
gender: [
{
required: true,
message: "性别不能为空",
trigger: "change",
},
],
birthDate: [
{
required: true,
message: "出生日期不能为空",
trigger: "change",
},
],
phone: [
{
required: true,
message: "手机号码不能为空",
trigger: "blur",
},
{
pattern: /^1[3456789]\d{9}$/,
message: "手机号码格式不正确",
trigger: "blur",
},
],
ethnicity: [
{
required: true,
message: "民族不能为空",
trigger: "blur",
},
],
idCardType: [
{
required: true,
message: "证件类型不能为空",
trigger: "blur",
},
],
idCard: [
{
required: true,
message: "证件号码不能为空",
trigger: "blur",
},
],
educationYears: [
{
required: true,
message: "受教育年限不能为空",
trigger: "blur",
},
],
currentIllnessHistory: [
{
required: true,
message: "现病史不能为空",
trigger: "blur",
},
],
},
};
},
created() {
let idCard = this.$route.query.idCard;
this.queryParams.param.keywords = idCard || "";
this.getList(); //
// this.getTenantsList(); //
// this.getLastWeekDays(); //
// this.getList(); //
this.getTenantsList(); //
},
methods: {
//
getLastWeekDays() {
let obj = {
startTime: "",
endTime: "",
};
obj.startTime = this.$moment(
this.$moment()
.week(this.$moment().week() - 1)
.startOf("week")
.add(1, "days")
.valueOf()
).format("YYYY-MM-DD");
obj.endTime = this.$moment(
this.$moment()
.week(this.$moment().week() - 1)
.endOf("week")
.add(1, "days")
.valueOf()
).format("YYYY-MM-DD");
this.queryTime = [obj.startTime, obj.endTime];
},
//
getTenantsList() {
tenantsList({
@ -368,66 +266,29 @@ export default {
this.tenantsListData = res.data.list;
});
},
// - pdg
handleUploadPdfAdd1(res) {
if (res.code == 200) {
this.importOpen = false;
this.getList();
this.$modal.msgSuccess("导入成功");
} else {
this.$message.error(res.msg || "导入失败");
this.fileList = [];
}
},
// -
handleBeforeUpload1(file) {
const isLt2M = file.size / 1024 / 1024 < 100;
//
if (!isLt2M) {
this.$message.error("上传文件大小不能超过 100MB!");
}
return isLt2M;
},
// -
handleBeforePdfUpload1(file) {
const fileSuffix = file.name.substring(file.name.lastIndexOf(".") + 1);
const whiteList = ["xlsx", "xls"];
if (whiteList.indexOf(fileSuffix) === -1) {
this.$message.error("上传文件只能是.xlsx, .xls");
return false;
}
},
/** 查询公告列表 */
getList() {
this.loading = true;
queryPatient(this.queryParams).then((res) => {
//
this.queryParams.param.startTime = "";
this.queryParams.param.endTime = "";
if (this.queryTime?.length) {
this.queryParams.param.startTime = this.queryTime[0] + " " + "00:00:00";
this.queryParams.param.endTime = this.queryTime[1] + " " + "23:59:59";
}
queryDetail(this.queryParams).then((res) => {
this.listDat = res.data.list;
this.listDat.forEach((item) => {
if (item.recordList) {
item.recordList.forEach((row) => {
item[row.code] = row.answer;
});
}
});
this.total = res.data.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
name: "", //
gender: 0, //
birthDate: "", //
ethnicity: "", //
educationYears: "", //
phone: "", //
idCardType: "", //
idCard: "", //
source: 1,
currentIllnessHistory: [], //
currentIllnessHistoryQt: "", //
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@ -451,101 +312,18 @@ export default {
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "新增患者档案";
this.formDisabled = false;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.open = true;
this.title = "修改患者档案";
this.formDisabled = false;
this.form = JSON.parse(JSON.stringify(row));
//
this.form.currentIllnessHistory =
this.form.currentIllnessHistory?.split(",") || [];
},
/** 详情按钮操作 */
handleDetails(row) {
this.open = true;
this.title = "患者档案详情";
this.formDisabled = true;
this.form = JSON.parse(JSON.stringify(row));
//
this.form.currentIllnessHistory =
this.form.currentIllnessHistory?.split(",") || [];
},
/** 诊疗档案 */
handleArchives(row) {
this.$router.push({
path: `/medicalFile/index?idCard=${row.idCard}`,
});
},
/** 提交按钮 */
submitForm: function () {
this.$refs["form"].validate((valid) => {
if (valid) {
if (this.form.id != undefined) {
patientUpd(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
patientAdd(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const idList = row.id ? [row.id] : this.ids;
this.$modal
.confirm("是否确认删除当前选择的数据?")
.then(function () {
return patientDel({
idList: idList,
});
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
let data = JSON.parse(JSON.stringify(this.queryParams));
data.param.idList = this.ids;
this.download1(
"/patient/export",
"/screening/exportRzScreen",
{
...this.queryParams.params,
...data,
},
`患者档案.xlsx`
`筛查列表.xlsx`
);
},
/** 下载按钮操作 */
handleDownload() {
window.open(
`${process.env.VUE_APP_API_QZURL}/acupuncture/profile/PatientTemplate.xlsx`
);
// this.download1(
// "/patient/export", {},
// `.xlsx`
// );
},
/** 导入按钮操作 */
handleImport() {
this.fileList = [];
this.importOpen = true;
},
},
};
</script>

46
acupuncture-前台/src/views/screening/qrCode.vue

@ -8,7 +8,7 @@
v-show="showSearch"
label-width="68px"
>
<el-form-item label="建档组织" prop="tenantId">
<el-form-item label="组织" prop="tenantId">
<el-select
v-model="queryParams.param.tenantId"
placeholder="请选择"
@ -144,9 +144,9 @@
ref="form"
:model="form"
:rules="rules"
label-width="100px"
label-width="60px"
>
<el-form-item label="组织" prop="name">
<el-form-item label="组织" prop="tenantId">
<el-select
v-model="form.tenantId"
placeholder="请选择"
@ -171,14 +171,8 @@
</template>
<script>
import { getToken } from "@/utils/auth";
import {
queryScreenList,
addScreen,
deleteScreen,
queryHospitalNoToken,
} from "@/api/screening.js";
// import { tenantsList } from "@/api/member";
import { queryScreenList, addScreen, deleteScreen } from "@/api/screening.js";
import { tenantsList } from "@/api/member";
export default {
name: "Notice",
dicts: ["sys_notice_status", "sys_notice_type"],
@ -207,10 +201,10 @@ export default {
form: {},
//
rules: {
name: [
tenantId: [
{
required: true,
message: "患者姓名不能为空",
message: "组织不能为空",
trigger: "blur",
},
],
@ -219,7 +213,7 @@ export default {
},
created() {
// this.getList(); //
// this.getTenantsList(); //
this.getTenantsList(); //
},
methods: {
//
@ -278,13 +272,27 @@ export default {
/** 提交按钮 */
submitForm: function () {
let path = process.env.VUE_APP_H5_URL;
this.$refs["form"].validate((valid) => {
if (valid) {
addScreen(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
let data = JSON.parse(JSON.stringify(this.form));
let deptName =
this.tenantsListData.filter((item) => item.id == data.tenantId)[0]
?.name || "";
data.path = `${path}?tenantId=${data.tenantId}&hospitalName=${deptName}`;
if (data.id != undefined) {
addScreen(data).then((response) => {
this.$modal.msgSuccess("二维码已重新生成,请及时更换");
this.open = false;
this.getList();
});
} else {
addScreen(data).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},

Loading…
Cancel
Save