From 84d21f021defe370b060379e50abb4b970e93837 Mon Sep 17 00:00:00 2001
From: pengjun <158915633@qq.com>
Date: Sat, 10 Aug 2024 08:52:44 +0800
Subject: [PATCH] sum
---
src/components/sumDoctorCheck/ButtonList.vue | 8 +-
src/views/doctorCheck/lisResultImport.vue | 414 +------------------
src/views/doctorCheck/sumDoctorCheck.vue | 4 +-
3 files changed, 22 insertions(+), 404 deletions(-)
diff --git a/src/components/sumDoctorCheck/ButtonList.vue b/src/components/sumDoctorCheck/ButtonList.vue
index fa899a2..8fe1522 100644
--- a/src/components/sumDoctorCheck/ButtonList.vue
+++ b/src/components/sumDoctorCheck/ButtonList.vue
@@ -278,12 +278,8 @@ export default {
});
this.sumDoctorCheck.suggestionList.forEach(e => {
- if (e.suggestionTitle && e.suggestionTitle.indexOf(key) > -1) message = `当前患者性别为:${this.dataTransOpts.tableS.patient_register.sexName} 报告不应出现 ${key} 字眼`
- if (e.diagnosisNames) {
- e.diagnosisNames.forEach(d => {
- if (d && d.indexOf(key) > -1) message = `当前患者性别为:${this.dataTransOpts.tableS.patient_register.sexName} 报告不应出现 ${key} 字眼`
- });
- }
+ if (e.suggestionTitle && e.suggestionTitle.indexOf(key) > -1) message = `当前患者性别为:${this.dataTransOpts.tableS.patient_register.sexName} 报告不应出现 ${key} 字眼`
+ if (e.diagnosisNames && e.diagnosisNames.indexOf(key) > -1) message = `当前患者性别为:${this.dataTransOpts.tableS.patient_register.sexName} 报告不应出现 ${key} 字眼`
});
});
break;
diff --git a/src/views/doctorCheck/lisResultImport.vue b/src/views/doctorCheck/lisResultImport.vue
index 5b3077a..98cfd89 100644
--- a/src/views/doctorCheck/lisResultImport.vue
+++ b/src/views/doctorCheck/lisResultImport.vue
@@ -92,7 +92,7 @@
未填检查时间时起始检查时间:
+ :picker-options="pickerOptions" value-format="yyyy-MM-dd HH:mm:ss" style="width:160px;" size="small">
标本间隔时间:
@@ -274,16 +274,6 @@ export default {
dddw, moment, checkPagePriv,
dictInit() {
- // 获取单位列表树
- this.getCustomerOrgTree()
-
- //性别(查询 仅档案用)
- getapi("/api/app/sex").then((res) => {
- if (res.code == 1) {
- this.dict.sex = res.data;
- }
- });
-
},
//清空进度数据数据
@@ -307,65 +297,6 @@ export default {
},
- // 获取单位列表树
- getCustomerOrgTree() {
- getapi("/api/app/customerorg/getbycodeall?IsHidePerson=1").then((res) => {
- // console.log("res.data", res.data);
- if (res.code != -1) {
- this.customerOrgTree = res.data;
- let lfind = arrayExistObj(this.customerOrgTree, 'id', this.dict.personOrgId)
- if (lfind > -1) this.customerOrgTree.splice(lfind, 1)
- tcdate(this.customerOrgTree)
- }
- });
- },
-
-
- //选择单位
- changeCustomerOrg(v) {
- this.chooseCustomerOrg(v)
- },
-
- //选择单位查询条件
- changeQueryCustomerOrg(v) {
- this.chooseCustomerOrg(v, 'query')
- },
-
- chooseCustomerOrg(v, obj) {
- let id = ''
- if (typeof v == 'string') {
- id = v
- } else {
- id = v[0]
- }
-
- getapi(
- `/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${id}`
- ).then((res) => {
- if (res.code != -1) {
- if (obj == 'query') {
- this.query.customerOrgRegisterList = res.data
- if (this.query.customerOrgRegisterList.length > 0) {
- this.query.customerOrgRegister = this.query.customerOrgRegisterList[this.query.customerOrgRegisterList.length - 1];
- } else {
- this.query.customerOrgRegister = {};
- // this.customerOrgGroups = [];
- }
- }
-
- this.customerOrgRegisterList = arrayFilter(res.data, 'isComplete', 'N') //不显示已完成的体检次数
- if (this.customerOrgRegisterList.length > 0) {
- this.customerOrgRegister = this.customerOrgRegisterList[this.customerOrgRegisterList.length - 1];
- // this.getCustomerOrgGroup(this.customerOrgRegister.id);
- } else {
- this.customerOrgRegister = {};
- // this.customerOrgGroups = [];
- }
-
- }
- });
- },
-
//第一次点下一步
btnFirst() {
if (!this.peisid || this.peisid == 'null') {
@@ -764,16 +695,7 @@ export default {
// 确定导入数据库
btnImport() {
- if (!this.customerOrgIds || this.customerOrgIds.length == 0) {
- this.$message.warning("请选择单位")
- return
- }
- if (!this.customerOrgRegister || !this.customerOrgRegister.id) {
- this.$message.warning("请选择单位体检次数")
- return
- }
-
-
+
this.elProgress.display = true;
this.elProgress.percentage = 0;
@@ -790,63 +712,34 @@ export default {
});
//导入进行中
- this.importing(this.dataImportOpts.startRow, this.dataImportOpts.nameType)
+ this.importing(this.dataImportOpts.startRow)
// 开始导入时,清除选择的 文件
document.getElementById('fileNames').value = '';
},
//导入进行时
- // startRow : 从第几行开始导入,同名判断交互时,续接导入
- // startRowNameType : 续接导入的第1行,执行 同名判断模式, 3.不提示,按新人导入(前端不用管)
- async importing(startRow, startRowNameType) {
+ // startRow : 从第几行开始导入
+ async importing(startRow) {
let body = {}
for (let i = startRow; i < this.choosedData.length; i++) {
this.elProgress.percentage = Math.floor(
((i + 1) * 100) / this.choosedData.length
);
-
// 将Excel的数据转换成接口的数据
body = this.excelDataToApiBody(this.choosedData[i])
- if (i == startRow) body.nameType = startRowNameType
- console.log(`this.choosedData[${i}],startRowNameType,body`)
-
- try {
- // 同一人判断
- if (this.choosedSameMan.patientNo) {
- // 上一次循环已经判断是否同一人,此次循环不需再判断了
- if (this.choosedSameMan.patientNo == '$newPatient$') {
- body.nameType = '3'
- } else {
- body.patientNo = this.choosedSameMan.patientNo
- }
- } else if (startRowNameType != '3') {
- let result = await this.isSamePatient(startRowNameType, body)
- if (result.isContinue) {
- if (result.err) {
- this.tableData.push(Object.assign({ importState: '导入失败', importDes: result.err }, this.choosedData[i]))
- continue
- }
- } else {
- this.dataImportOpts.startRow = i
- break; // 跳出循环,重新从 i 开执行 this.importing
- }
- }
+ console.log(`this.choosedData[${i}],body`,this.choosedData[i],body)
- // 旧接口:/api/app/patientregister/createpatientregisterexcel
- let res = await postapi('/api/app/patientregister/CreatePatientRegisterFromExcel', body)
- this.choosedSameMan = {} // 清除选择同一人员的记录
- if (res.code >= 0) {
- this.tableData.push(Object.assign({ importState: '导入成功' }, this.choosedData[i]))
- } else {
- this.tableData.push(Object.assign({ importState: '导入失败', importDes: res.message }, this.choosedData[i]))
- }
- } catch (error) {
- this.tableData.push(Object.assign({ importState: '导入失败', importDes: `${error}` }, this.choosedData[i]))
+ // 旧接口:/api/app/patientregister/createpatientregisterexcel
+ let res = await postapi('/api/app/patientregister/CreatePatientRegisterFromExcel', body)
+ this.choosedSameMan = {} // 清除选择同一人员的记录
+ if (res.code >= 0) {
+ this.tableData.push(Object.assign({ importState: '导入成功' }, this.choosedData[i]))
+ } else {
+ this.tableData.push(Object.assign({ importState: '导入失败', importDes: res.message }, this.choosedData[i]))
}
-
-
+
// 结束导入
if (i == this.choosedData.length - 1) {
this.elProgress.display = false;
@@ -855,82 +748,7 @@ export default {
}
},
- // 同一人判断
- async isSamePatient(startRowNameType, body) {
- console.log('isSamePatient', startRowNameType, body)
- let result = {
- isContinue: true,
- err: ''
- }
- let res
- if (body.idNo) {
- try {
- res = await postapi('/api/app/patient/GetByIdNo', { idNo: body.idNo })
- if (res.code < 0) {
- result.err = `身份证号查重错误,原因:${res.message}`
- return result
- } else if (res.code == 1) {
- body.patientNo = res.data.patientNo
- return result
- }
- } catch (error) {
- result.err = `身份证号查重错误,原因:${error}`
- return result
- }
- }
-
- // 没有身份证号或身份证号未找到同名人员时,按姓名查重
- let url, localBody = {
- customerOrgId: body.customerOrgId,
- name: body.patientName
- }
- switch (startRowNameType) {
- case '1':
- case '2':
- if (startRowNameType == '1') url = '/api/app/patientregister/GetSameNamePatient'
- if (startRowNameType == '2') url = '/api/app/patientregister/GetCustomerOrgSameNamePatient'
- res = await postapi(url, localBody)
- if (res.code >= 0) {
- if (res.data.length > 0) {
- result.isContinue = false
- this.sameMans = res.data
- this.dialogSameMan = true
- }
- } else {
- result.err = `${startRowNameType == '2' ? '同单位内' : ''}同名查重错误,原因:${res.message}`
- }
- break;
- default:
- break;
- }
- return result
-
- // if (this.choosedSameMan.patientNo) {
- // body.patientNo = this.choosedSameMan.patientNo
- // // body.patientId = this.choosedSameMan.patientId
- // this.choosedSameMan = {} // 清除选择人员
- // }
- // try {
- // switch (key) {
- // case value:
-
- // break;
-
- // default:
- // break;
- // }
-
- // { dispLabel: '姓名', val: 'patientName' },
- // { dispLabel: '性别', val: 'sexName' },
- // { dispLabel: '年龄', val: 'age' },
- // { dispLabel: '出生日期', val: 'birthDate' },
- // { dispLabel: '婚姻状况', val: 'maritalStatusName' },
- // { dispLabel: '民族', val: 'nationName' },
- // { dispLabel: '身份证号', val: 'idNo' },
- },
-
-
-
+
//将Excel的数据转换成接口的数据
excelDataToApiBody(ExcelData) {
@@ -938,136 +756,16 @@ export default {
customerOrgId: this.customerOrgIds[this.customerOrgIds.length - 1],
customerOrgRegisterId: this.customerOrgRegister.id,
medicalCenterId: this.peisid,
- nameType: this.dataImportOpts.nameType,
- completeFlag: this.dataImportOpts.completeFlag,
- isAutoCreateDepartment: this.dataImportOpts.isAutoCreateDepartment ? 'Y' : 'N',
- isAutoCreatePatientNo: this.dataImportOpts.isAutoCreatePatientNo ? 'Y' : 'N',
+ completeFlag: this.dataImportOpts.completeFlag,
cardStartNum: this.dataImportOpts.cardStartNum,
cardLength: this.dataImportOpts.cardLength
}
- this.excelCols.forEach(e => {
- if (e.val) {
- switch (e.val) {
- case 'age':
- if (ExcelData[e.dispLabel]) body[e.val] = parseInt(ExcelData[e.dispLabel])
- break;
- // case 'birthDate':
- // if(ExcelData[e.dispLabel]) body[e.val] = moment(new Date(ExcelData[e.dispLabel])).format('yyyy-MM-DD')
- // break;
- case 'poisons':
- if (ExcelData[e.dispLabel]) body[e.val] = ExcelData[e.dispLabel].replaceAll(",", ",").split(",")
- break;
- default:
- body[e.val] = ExcelData[e.dispLabel]
- break;
- }
- }
- })
- if (this.seq > 30) {
- body.isOccupationalDisease = 'Y'
- body.isDefaultMedicalType = 'Y'
- }
+
return body
},
- //选中同名人员档案
- rowClickSameMan(row) {
- this.choosedSameMan = deepCopy(row)
- },
- // 同名人员,按档案人员导入
- btnOldMan() {
- if (!this.choosedSameMan.patientNo) {
- this.$message.warning("请选择要导入的档案人员")
- return
- }
- this.importing(this.dataImportOpts.startRow, this.dataImportOpts.nameType)
- this.dialogSameMan = false
- },
-
- // 同名人员,按新人方式导入
- btnNewMan() {
- this.choosedSameMan = { patientNo: '$newPatient$' } // 约定按新人导入
- this.importing(this.dataImportOpts.startRow, this.dataImportOpts.nameType)
- this.dialogSameMan = false
- },
-
-
- // 查询档案人员
- async getPrList() {
- let ret = false
- if (!this.query.customerOrgIds || this.query.customerOrgIds.length == 0) {
- this.$message.warning("请选择单位或部门")
- return false
- }
-
- if (!this.query.customerOrgRegister || !this.query.customerOrgRegister.id) {
- this.$message.warning("请选择单位体检次数")
- return false
- }
-
- this.query.customerOrgId = this.query.customerOrgIds[this.query.customerOrgIds.length - 1]
- this.query.customerOrgRegisterId = this.query.customerOrgRegister.id
- let body = Object.assign({}, this.query)
- delete body.customerOrgIds
- delete body.customerOrgRegister
- delete body.customerOrgRegisterList
-
- if (!body.completeFlag) delete body.completeFlag
- if (!body.patientName) delete body.patientName
- if (!body.startPatientNo && !body.endPatientNo) {
- delete body.startPatientNo
- delete body.endPatientNo
- } else if (!body.startPatientNo) {
- this.$message.warning("请填写起始档案号")
- return false
- } else if (!body.endPatientNo) {
- this.$message.warning("请填写截止档案号")
- return false
- }
-
- if (!body.startDate && !body.endDate) {
- delete body.startDate
- delete body.endDate
- } else if (!body.startDate) {
- this.$message.warning("请填写起始登记日期")
- return false
- } else if (!body.endDate) {
- this.$message.warning("请填写截止登记日期")
- return false
- } else {
- body.startDate = moment(new Date(body.startDate)).format('yyyy-MM-DD')
- body.endDate = moment(new Date(body.endDate)).format('yyyy-MM-DD')
- }
-
- const loading = this.$loading({
- lock: true,
- text: "Loading",
- spinner: "el-icon-loading",
- background: "rgba(0, 0, 0, 0.7)",
- });
-
- try {
- let res = await postapi('/api/patientregister/getpatientregisterimportlist', body)
- if (res.code != -1) {
- this.prList = res.data
- if (res.data.length == 0) {
- this.$message.warning("没有符合条件的数据")
- } else {
- ret = true
- }
- }
- } catch (error) {
- //
- }
-
- loading.close()
-
- return ret
-
- },
-
-
+
//选择要导入的数据
rowClickPrList(row) {
// console.log("this.excelData",this.excelData);
@@ -1115,82 +813,6 @@ export default {
}
},
- //获取分组
- getGroups(customerOrgRegisterId) {
- ///api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=3fa85f64-5717-4562-b3fc-2c963f66afa6
- getapi(`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}`).then(res => {
- if (res.code != - 1) {
- this.groups = res.data;
- this.curGroup = null //清除已选分组
- }
- })
- },
-
- //确定从档案中导入数据
- async btnImportFromDataBase() {
- let customerOrgIds = []
- let customerOrgId = ""
- if (this.newCustomerOrgFlag) {
- customerOrgIds = this.customerOrgIds
- } else {
- customerOrgIds = this.query.customerOrgIds
- }
- if (customerOrgIds && customerOrgIds.length > 0) customerOrgId = customerOrgIds[customerOrgIds.length - 1]
- if (!customerOrgId) {
- this.$message.warning("请选择新导入的体检单位或部门")
- return
- }
-
- if (!this.curGroup || !this.customerOrgRegister) {
- this.$message.warning("请选择新导入的体检次数与分组")
- return
- }
-
- let body = {
- customerOrgRegisterId: this.customerOrgRegister.id,
- customerOrgGroupId: this.curGroup.id,
- completeFlag: this.dataImportOpts.completeFlag,
- payTypeFlag: this.payTypeFlag,
- medicalCenterId: this.peisid,
- }
-
- //{
- // "patientRegisterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- // "customerOrgId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- // "customerOrgRegisterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- // "customerOrgGroupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- // "completeFlag": "string",
- // "payTypeFlag": "string",
- // "medicalCenterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
- // }
-
- this.elProgress.display = true
- this.elProgress.percentage = 0
- for (let i = 0; i < this.prList.length; i++) {
- this.elProgress.percentage = Math.floor(((i + 1) * 100) / this.prList.length);
- if (!this.prList[i].choosed) continue
-
- body.patientRegisterId = this.prList[i].id
- body.customerOrgId = this.newCustomerOrgFlag ? customerOrgId : this.prList[i].customerOrgId
-
- try {
- // 旧接口:/api/app/patientregister/createpatientregisterhistory
- let res = await postapi('/api/app/patientregister/CreatePatientRegisterFromHistory', body)
- if (res.code >= 0) {
- this.tableData.push(Object.assign({ importState: '导入成功' }, this.prList[i]))
- } else {
- this.tableData.push(Object.assign({ importState: '导入失败', importDes: res.message }, this.prList[i]))
- }
- } catch (error) {
- this.tableData.push(Object.assign({ importState: '导入失败', importDes: res.message }, this.prList[i]))
- }
- }
-
- this.elProgress.display = false
- this.seq = -1
-
- },
-
//通用导出
btnExport(elId) {
let table = document.getElementById(elId);
diff --git a/src/views/doctorCheck/sumDoctorCheck.vue b/src/views/doctorCheck/sumDoctorCheck.vue
index 6108942..138febc 100644
--- a/src/views/doctorCheck/sumDoctorCheck.vue
+++ b/src/views/doctorCheck/sumDoctorCheck.vue
@@ -36,9 +36,9 @@
-
+
+