From b35d1dbc4406874c1b6c7648c8ef4419c436dcb7 Mon Sep 17 00:00:00 2001 From: pengjun <158915633@qq.com> Date: Thu, 25 Jul 2024 20:17:56 +0800 Subject: [PATCH] pic --- .../files/检验结果导入模板_横向.xls | Bin 0 -> 26624 bytes .../files/检验结果导入模板_纵向.xls | Bin 0 -> 30720 bytes src/components/doctorCheck/CheckItemList.vue | 40 +- .../patientRegister/PatientRegisterList.vue | 9 + src/router/index.js | 6 + .../customerOrg/patientRegisterImport.vue | 7 +- src/views/doctorCheck/checkPicImport.vue | 194 ++- src/views/doctorCheck/lisResultImport.vue | 1294 +++++++++++++++++ 8 files changed, 1496 insertions(+), 54 deletions(-) create mode 100644 public/files/检验结果导入模板_横向.xls create mode 100644 public/files/检验结果导入模板_纵向.xls create mode 100644 src/views/doctorCheck/lisResultImport.vue diff --git a/public/files/检验结果导入模板_横向.xls b/public/files/检验结果导入模板_横向.xls new file mode 100644 index 0000000000000000000000000000000000000000..e134371aa8eddc78db02180449a4958afbd7d7bb GIT binary patch literal 26624 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 CI0Rb& literal 0 HcmV?d00001 diff --git a/public/files/检验结果导入模板_纵向.xls b/public/files/检验结果导入模板_纵向.xls new file mode 100644 index 0000000000000000000000000000000000000000..e3e829235df5e4a342582d42e490b043194268fe GIT binary patch literal 30720 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
-
+ 选结果模板时自动添加分隔符; +
特殊符号:
-
@@ -49,7 +52,18 @@
-
录入结果:
+
+
录入结果:
+
+
+ + {{ item }} + +
+
+
@@ -70,7 +84,7 @@ import { arrayExistObj, dddw, deepCopy } from '../../utlis/proFunc' export default { components: {}, - props: ["isCheckPicture", "registerCheckId","doctor_check_check_charge"], + props: ["isCheckPicture", "registerCheckId", "doctor_check_check_charge"], data() { return { resultStatus: [], //结果状态提示数据 @@ -103,11 +117,12 @@ export default { result: '', index: 0, // 明细序列 }, //结果模版 - + isSplitChooseResult: 'N', // 选结果时,是否自动加上分隔符 selection: { // 光标位置 start: 0, end: 0 }, symbols: [], //特殊符号 + splitSymbols: [';', '、'], // 分隔符 userId: '', }; }, @@ -380,12 +395,19 @@ export default { this.clickResult(item) this.btnOkResult() }, + // 单击选择结果模版的结果 clickResult(item) { let result = [] if (this.moreResult.result) result = this.moreResult.result.split(';') - if (result.indexOf(item.result) > -1) return - result.push(item.result) + // 不用分隔符时,不判断包含关系 + if (this.isSplitChooseResult == 'Y' && result.indexOf(item.result) > -1) return + if (this.isSplitChooseResult == 'Y' || result.length == 0) { + result.push(item.result) + } else { + result[result.length - 1] = result[result.length - 1] + item.result + } + let ret = '' result.forEach((e, i) => { let splitStr = ';' @@ -435,7 +457,7 @@ export default { if (res.code > -1) { this.doctorCheck.RegisterCheckEdit = res.data if (res.data.isCharge != 'Y' && this.doctor_check_check_charge == 'Y') { - this.$message.warning({showClose:true,message:`该体检人员未缴清费用!`}) + this.$message.warning({ showClose: true, message: `该体检人员未缴清费用!` }) } if (this.doctorCheck.RegisterCheckEdit.completeFlag == '0') { this.doctorCheck.RegisterCheckEdit.checkDoctorId = this.userId @@ -689,5 +711,3 @@ export default { font-family: "Microsoft YaHei"; } - - diff --git a/src/components/patientRegister/PatientRegisterList.vue b/src/components/patientRegister/PatientRegisterList.vue index 8fb7595..7249c7d 100644 --- a/src/components/patientRegister/PatientRegisterList.vue +++ b/src/components/patientRegister/PatientRegisterList.vue @@ -1144,10 +1144,19 @@ export default { this.loadOpts.totalCount = res.data.totalCount let curLoad = res.data.items // let oldCount = 0 + // 处理分组/套餐 排序混乱的问题 + curLoad.forEach(e => { + if(e.customerOrgId == this.dict.personOrgId){ + e.groupPack = e.medicalPackageId + }else{ + e.groupPack = e.customerOrgGroupId + } + }); if (body.skipCount == 0) { //查询 this.tableData = []; } + this.tableData = this.tableData.concat(curLoad) // else { // // 懒加载 ,原数据集不用清空 diff --git a/src/router/index.js b/src/router/index.js index 2517a46..6d911b2 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -459,6 +459,12 @@ const routes = [{ name: "批量导入图片", component: () => import ("../views/doctorCheck/checkPicImport.vue"), + }, + { + path: "/lisResultImport", + name: "从文件导入检验结果", + component: () => + import ("../views/doctorCheck/lisResultImport.vue"), }, //---------------------- 体 检 end ---------------------- //---------------------- 体检查询 start ---------------------- diff --git a/src/views/customerOrg/patientRegisterImport.vue b/src/views/customerOrg/patientRegisterImport.vue index 6ef9e74..6fea375 100644 --- a/src/views/customerOrg/patientRegisterImport.vue +++ b/src/views/customerOrg/patientRegisterImport.vue @@ -93,7 +93,7 @@
-
导入Excel时,Excel的格式必须符合一定规范,该格式的模板文件放在程序的执行目录下,文件名为:"单位体检人员名单导入模板.xls" +
导入Excel时,Excel的格式必须符合一定规范,该格式的模板文件可通过下载模板获取。
注意事项如下:
1、姓名不能为空,其余数据可根据实际情况选择是否填写。 @@ -138,11 +138,12 @@ :close-on-click-modal="false">
- 1、按住 Ctr1 或 Shift 键可进行多选,在标题列右击鼠标可设置列名,即:标题列有√;
+ 1、在标题列右击鼠标可设置列名,即:标题列有 √ 的,才参与数据导入;
2、身份证号有值且合法时,将以身份证号为主自动换算性别、出生日期及年龄;
+ 3、按住 Ctr1 或 Shift 键可进行多选。
- diff --git a/src/views/doctorCheck/checkPicImport.vue b/src/views/doctorCheck/checkPicImport.vue index 76ce097..ce0f22e 100644 --- a/src/views/doctorCheck/checkPicImport.vue +++ b/src/views/doctorCheck/checkPicImport.vue @@ -65,20 +65,38 @@
-
+
+ 条码方式: +
+ + 人员条码 + 检验条码 + 检查条码 + +
+
+ + + +
+
+
+ 条码号: - + - - +
@@ -121,12 +139,16 @@ export default { routeUrlorPageName: 'patientRegisterBatch', //当前页面归属路由或归属页面权限名称 privs: [] // 页面权限 }, + upPic: { visible: false, + barcodeMode: '0', + asbitemId: '', getCheckNoMode: '3', - startLen: null, - endLen: null + startLen: 1, + endLen: 6 }, + asbitems: [], tableData: [], dialogImageUrl: '', dialogVisible: false, @@ -140,9 +162,6 @@ export default { //获取用户当前页面的权限 let userPriv = window.sessionStorage.getItem('userPriv') if (userPriv) this.pagePriv.privs = deepCopy(getPagePriv(this.pagePriv.routeUrlorPageName)) - - - }, //页面挂载完成,一般页面渲染数据放在这里 @@ -169,6 +188,72 @@ export default { }, + // 获取检查项目 + getAsbitems() { + if (!(this.fileList && typeof this.fileList == 'object' && this.fileList.length > 0)) { + this.$message.warning({ showClose: true, message: "请选择要上传的文件!" }) + return + } + let err = '' + let file = this.fileList[0] + let fileName = "" + let dotIndex = file.name.lastIndexOf('.'); + if (dotIndex > -1) fileName = file.name.substring(0, dotIndex); + + let barcodeName = '人员' + + switch (this.upPic.barcodeMode) { + case '1': + barcodeName = "检验" + break; + case '2': + barcodeName = "检查" + break; + default: + break; + } + + let barcode = fileName + switch (this.upPic.getCheckNoMode) { + case '1': + barcode = fileName.substring(0, this.upPic.startLen) + if (barcode.length != this.upPic.startLen) err = `从 ${fileName} 截取的 ${barcodeName}条码号 长度不够` + break; + case '2': + barcode = fileName.substring(fileName.length - this.upPic.startLen) + if (barcode.length != this.upPic.startLen) err = `从 ${fileName} 截取的 ${barcodeName}条码号 长度不够` + break; + case '3': + barcode = fileName.substring(this.upPic.startLen - 1, this.upPic.endLen) + if (barcode.length != Number(this.upPic.endLen - this.upPic.startLen) + Number(1)) err = `从 ${fileName} 截取的 ${barcodeName}条码号 长度不够` + break; + default: + break; + } + if (err) { + this.$message.warning({ showClose: true, message: err }) + return + } + + this.upPic.asbitemId = '' + this.asbitems = [] + switch (this.upPic.barcodeMode) { + case "0": + postapi('/api/app/RegisterCheck/GetRegisterCheckAsbitemsByPatientRegisterNos', { patientRegisterNos: [barcode] }) + .then(res => { + if (res.code > -1) this.asbitems = res.data + }) + break; + case "1": + + break; + default: + break; + } + + + }, + // 导入完后,状态统计 getSummaries(param) { const { columns, data } = param; @@ -222,6 +307,7 @@ export default { this.$message.warning({ showClose: true, message: "请选择要上传的文件!" }) return } + let checkSize = [] this.fileList.forEach(e => { if (e.size > 1024 * 1024 * 20) checkSize.push(e.name) @@ -232,6 +318,11 @@ export default { return; } + if (this.upPic.barcodeMode != '2' && !this.upPic.asbitemId) { + this.$message.error({ showClose: true, message: `请选择检查项目` }) + return; + } + let that = this; let count = 0, err = ''; console.log('this.fileList', this.fileList) @@ -239,7 +330,7 @@ export default { let file = this.fileList[i] console.log('file', file) let reader = new FileReader(); - + // 定义读取文件 reader.onload = (event) => { let fileName = "" @@ -265,35 +356,52 @@ export default { break; } count++; - if (err) { + if (err) { that.tableData.push({ - importState:'导入失败', - importDes:err, + importState: '导入失败', + importDes: err, fileName, - }) - } else { + }) + } else { let rd = { - importState:'导入失败', - importDes:err, + importState: '导入失败', + importDes: err, fileName, - } + } + + let body = { - checkRequestNo, + checkRequestNo, // 检查条码 pictureName: fileName, - pictureBase64: data + pictureBase64: data, + patientRegisterNo: checkRequestNo, // 人员条码 + asbitemId: this.upPic.asbitemId + } + + let url = '/api/app/RegisterCheckPicture/ImportRegisterCheckPicture' + + switch (this.upPic.barcodeMode) { + case '0': + url = '/api/app/RegisterCheckPicture/ImportRegisterCheckPictureByPatientRegisterNo' + break; + case '1': + url = '/api/app/RegisterCheckPicture/ImportRegisterCheckPictureByLisRequestNo' + break; + default: + break; } - postapi('/api/app/RegisterCheckPicture/ImportRegisterCheckPicture', body) - .then(res => { - if (res.code > -1) { + postapi(url, body) + .then(res => { + if (res.code > -1) { rd.importState = "导入成功" - rd.importDes = "" + rd.importDes = "" } else { - rd.importDes = res.message + rd.importDes = res.message } }) .catch(error => { - rd.importDes = `${error}` + rd.importDes = `${error}` }) .finally(() => { that.tableData.push(rd) @@ -316,27 +424,13 @@ export default { }; }, - closePicUpload(){ + closePicUpload() { this.upPic.visible = false }, - - - - - - - - - - - - - - //导入完后,导入状态显示 importRowClassName({ row, rowIndex }) { if (row.importState == '导入失败') { @@ -470,4 +564,22 @@ input[type="number"]::-webkit-outer-spin-button { ::v-deep .menu_item { line-height: 24px; } + +::v-deep .el-upload--picture-card { + width: 148px; + height: 148px; + line-height: 146px; +} + +::v-deep .el-upload-list--item-thumbnail { + width: 72px; + height: 72px; + line-height: 72px; +} + +::v-deep .el-upload-list--item-actions { + width: 72px; + height: 72px; + line-height: 72px; +} diff --git a/src/views/doctorCheck/lisResultImport.vue b/src/views/doctorCheck/lisResultImport.vue new file mode 100644 index 0000000..5b3077a --- /dev/null +++ b/src/views/doctorCheck/lisResultImport.vue @@ -0,0 +1,1294 @@ + + +