diff --git a/src/assets/css/global_input.css b/src/assets/css/global_input.css index ff7d5cf..0c65af6 100644 --- a/src/assets/css/global_input.css +++ b/src/assets/css/global_input.css @@ -7,6 +7,12 @@ /* 原始 默认 25 */ } +.el-input.is-disabled .el-input__inner { + color: #606060; +} +.el-textarea.is-disabled .el-textarea__inner { + color: #606060; +} /* 带前标 输入框 左间距 */ diff --git a/src/components/doctorCheck/PatientRegisterBase.vue b/src/components/doctorCheck/PatientRegisterBase.vue index 67aac63..2f53bc8 100644 --- a/src/components/doctorCheck/PatientRegisterBase.vue +++ b/src/components/doctorCheck/PatientRegisterBase.vue @@ -15,9 +15,12 @@
性别 + +
体检次数 @@ -25,9 +28,12 @@
婚姻 + +
体检日期 @@ -44,21 +50,30 @@
体检类别 + +
人员类别 + +
民族 + +
手机 @@ -94,14 +109,19 @@ export default { patientNo: '', //档案号 patientName: '', //姓名 sexId: '', //性别 + sexName: '', //性别 medicalTimes: '', //体检次数 maritalStatusId: '', //婚姻 + maritalStatusName: '', //婚姻 medicalStartDate: '', //体检日期 customerOrgParentName: '', //单位 customerOrgName: '', //部门 medicalTypeId: '', //体检类别 + medicalTypeName: '', //体检类别 personnelTypeId: '', //人员类别 + personnelTypeName: '', //人员类别 nationId: '', //民族 + nationName: '', //民族 mobileTelephone: '', //手机 }, prBaseInit: {}, @@ -153,13 +173,13 @@ export default { onQueryByPatientRegisterNo() { let patientRegisterNo = this.prBase.patientRegisterNo let body = { - sType: 1, + // sType: 1, patientRegisterNo, - isFilterPreRegistration: 'Y' //是否需要过滤预登记数据 Y=过滤预登记数据 N=不过滤 默认为N (备注:只有CompleteFlag参数的值不为0的情况才有效,null值也有效) + // isFilterPreRegistration: 'Y' //是否需要过滤预登记数据 Y=过滤预登记数据 N=不过滤 默认为N (备注:只有CompleteFlag参数的值不为0的情况才有效,null值也有效) } // console.log(`/api/app/patientregister/getpatientregisterorpatient`, body) this.dataTransOpts.tableS.patient_register = { id: '', patientRegisterNo } - postapi('/api/app/patientregister/getpatientregisterorpatient', body) + postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body) .then((res) => { if (res.code != -1) { if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data) @@ -174,13 +194,13 @@ export default { onQueryByPatientNo() { let patientNo = this.prBase.patientNo let body = { - sType: 2, + // sType: 2, patientNo, - isFilterPreRegistration: 'Y' //是否需要过滤预登记数据 Y=过滤预登记数据 N=不过滤 默认为N (备注:只有CompleteFlag参数的值不为0的情况才有效,null值也有效) + // isFilterPreRegistration: 'Y' //是否需要过滤预登记数据 Y=过滤预登记数据 N=不过滤 默认为N (备注:只有CompleteFlag参数的值不为0的情况才有效,null值也有效) } - // console.log(`/api/app/patientregister/getpatientregisterorpatient`, body) + //旧接口: console.log(`/api/app/patientregister/getpatientregisterorpatient`, body) this.dataTransOpts.tableS.patient_register = { id: '', patientNo } - postapi('/api/app/patientregister/getpatientregisterorpatient', body) + postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body) .then((res) => { if (res.code != -1) { if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data) @@ -205,6 +225,7 @@ export default { if (res.code != -1) { if (res.data.items.length == 1) { this.dataTransOpts.tableS.patient_register.id = res.data.items[0].id + this.dataTransOpts.tableS.patient_register.patientRegisterNo = res.data.items[0].patientRegisterNo setTimeout(() => { this.dataTransOpts.refresh.patient_register.S++ }, 10); @@ -228,21 +249,24 @@ export default { // }, 20); }, - //根据ID 获取 人员信息 - getPatientRegister(patientRegisterId) { - if (!patientRegisterId) { - this.afterFind({ id: '' }) + //根据patientRegisterNo 获取 人员信息 + getPatientRegister(patientRegisterNo) { + if (!patientRegisterNo) { + this.afterFind({ id: '', patientRegisterNo: '' }) return } - postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`) + let body = { patientRegisterNo } + postapi('/api/app/patientregister/GetAlreadyRegisterPatientRegisterByNo', body) .then((res) => { if (res.code != -1) { - this.dataTransOpts.tableS.patient_register = deepCopy(res.data) + if (res.data) this.dataTransOpts.tableS.patient_register = deepCopy(res.data) } }) .finally(() => { this.afterFind(this.dataTransOpts.tableS.patient_register) }); + + }, @@ -307,8 +331,8 @@ export default { "dataTransOpts.refresh.patient_register.S": { // immediate:true, handler(newVal, oldVal) { - console.log(`watch 组合项目列表 newVal: ${newVal} oldVal: ${oldVal} patient_register.id: ${this.dataTransOpts.tableS.patient_register.id}`); - this.getPatientRegister(this.dataTransOpts.tableS.patient_register.id) + console.log(`watch 组合项目列表 newVal: ${newVal} oldVal: ${oldVal} patient_register.id: ${this.dataTransOpts.tableS.patient_register.patientRegisterNo}`); + this.getPatientRegister(this.dataTransOpts.tableS.patient_register.patientRegisterNo) // this.dataTransOpts.refresh.register_check.M++ } }, diff --git a/src/components/patientRegister/PatientRegisterEdit.vue b/src/components/patientRegister/PatientRegisterEdit.vue index 5556868..a305f15 100644 --- a/src/components/patientRegister/PatientRegisterEdit.vue +++ b/src/components/patientRegister/PatientRegisterEdit.vue @@ -4,8 +4,18 @@
-
- +
+
+ +
+
+
+ 读身份证 +
+
+ 拍照 +
+
@@ -14,7 +24,7 @@ @@ -332,7 +342,7 @@
加载中... @@ -346,11 +356,9 @@
-
- 拍照 -
-
- 读身份证 + +
+ 新增
复制新增 @@ -523,7 +531,7 @@ export default { peisid: null, peoplePhoto: '', - + preCustomerOrgId:'', // 上一个人的体检单位,只是在本组件点新增时才用到 form: { registerManType: 'customer', //登记人员类型,客服:customer 医生:doctor 支持在医生诊台处理登记人员 id: "", //id @@ -552,7 +560,7 @@ export default { isVip: "N", //vip客户 remark: "", // isLock: "N", //是否锁住 - completeFlag: "1", //完成标志 0:预登记,1:未检,2:部份已检,3:已总检 【创建编辑时不操作】 + completeFlag: "1", //完成标志 0:预登记,1:正式登记(未检),2:部份已检,3:已总检 【创建编辑时不操作】 isMedicalStart: "N", //体检开始标志 【创建编辑时不操作】 patientRegisterNo: "", //条码号 【创建编辑时不操作】 medicalTimes: 1, //条码号 【创建编辑时不操作】 @@ -687,8 +695,8 @@ export default { ...mapActions(['getPatientRegisterAbs']), dddw, moment, checkPagePriv, - btnTest(){ - console.log('form',this.form) + btnTest() { + console.log('form', this.form) }, //数据初始化 dictInit() { @@ -798,48 +806,58 @@ export default { // 获取登记信息 初始form表单数据 async initFormData(patientRegisterId) { - this.peisid = window.sessionStorage.getItem('peisid'); - + this.preCustomerOrgId = this.preCustomerOrgId || this.patientRegister.query.customerOrgId if (!patientRegisterId) { //添加 objCopy(this.formInit, this.form); this.form.medicalCenterId = this.peisid; //体检中收 - this.form.customerOrgId = this.patientRegister.query.customerOrgId || this.dict.personOrgId //体检单位 + this.form.customerOrgId = this.preCustomerOrgId || this.dict.personOrgId //体检单位 this.form.customerOrgParentId = await this.getParentCustomerOrgId(this.form.customerOrgId) //体检父单位 } else { // let res = await getapi(`/api/app/patient-register/${patientRegisterId}`) let res = await postapi(`/api/app/patientregister/getinfoorpatient?PatientRegisterId=${patientRegisterId}`) // this.form = res.data 这种方式,会造成 checkbox 值变化不响应,故取消 - objCopy(res.data,this.form) + objCopy(res.data, this.form) } this.initBox(); this.getPeoplePhoto(this.form.photo) + this.dataTransOpts.refresh.register_check_asbitem.D++ //触发所选组合项目刷新 // 单位/个人 的分组与套餐处理 - await this.changeCustomerOrgId(this.form.customerOrgId) - this.dataTransOpts.refresh.register_check_asbitem.M++ //触发所选组合项目刷新 - - + this.changeCustomerOrgId(this.form.customerOrgId) + }, //选择单位 async changeCustomerOrgId(v) { + // console.log('changeCustomerOrgId',v) let customerOrgId = "" if (Array.isArray(v) && v.length > 0) { customerOrgId = v[v.length - 1] } else { customerOrgId = v } + this.preCustomerOrgId = customerOrgId let customerOrgParentId = await this.getParentCustomerOrgId(customerOrgId) if (customerOrgParentId) { - if (customerOrgParentId != this.dict.personOrgId) this.getCustomerOrgRegisterList(customerOrgParentId) + if (customerOrgParentId == this.dict.personOrgId){ + this.form.customerOrgRegisterId = "00000000-0000-0000-0000-000000000001" + }else{ + // 获取体检次数 + this.getCustomerOrgRegisterList(customerOrgParentId) + } // 父单位被更改时,需要触发 修改 分组/套餐 if (this.form.customerOrgParentId != customerOrgParentId) { this.form.customerOrgGroupId = null this.form.medicalPackageId = null + // 清除套餐分组标识 + this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { + e.isBelongGroupPackage = 'N' + }); + if (customerOrgParentId == this.dict.personOrgId) { this.patientRegister.customerOrgGroup = [] @@ -863,7 +881,7 @@ export default { if (!customerOrgId) return customerOrgParentId if (typeof customerOrgId == 'string') { try { - let res = await getapi(`/api/app/customer-org/parent/${this.form.customerOrgId}`) + let res = await getapi(`/api/app/customer-org/parent/${customerOrgId}`) if (res.code != -1) customerOrgParentId = res.data } catch (error) { console.log('获取顶级单位ID出错:', error) @@ -1058,6 +1076,7 @@ export default { //修改身份证,生成年龄、出生、性别 changeIdNo() { + if(!this.form.idNo) return this.Query(this.form.idNo) let ret = parseID(this.form.idNo) if (ret.age != -1) { @@ -1186,7 +1205,7 @@ export default { } else { this.form[type] = 'N'; } - console.log('Box-type',this.form[type + 'Box'],this.form[type]) + console.log('Box-type', this.form[type + 'Box'], this.form[type]) }, initBox() { @@ -1296,7 +1315,7 @@ export default { return false } let body = this.madePrBody() - body.registerCheckAsbitems = this.dataTransOpts.tableM.register_check_asbitem + body.registerCheckAsbitems = deepCopy(this.dataTransOpts.tableM.register_check_asbitem) if (this.form.id) { // 更新时,先保存明细,再更新主表 @@ -1309,10 +1328,13 @@ export default { postapi(`/api/PatientRegister/CreatePatientRegister`, body) .then(res => { if (res.code == 1) { - this.form.id = res.data.id + objCopy(res.data,this.form) + this.dataTransOpts.tableS.patient_register = deepCopy(res.data) + delete this.dataTransOpts.tableS.patient_register.registerCheckAsbitems + // 保存成功赋 id 值等 this.dataTransOpts.tableM.register_check_asbitem = deepCopy(res.data.registerCheckAsbitems) // //触发已选组合项目保存 // this.prAsbOpraOpts.formId = res.data.id @@ -1327,18 +1349,24 @@ export default { if (this.patientRegister.photo && this.patientRegister.photo.indexOf("data:image") > -1) savePeoplePhoto(res.data.id, this.patientRegister.photo); } } - ); + ); }); }, + // 人员新增 + btnAdd(){ + this.dataTransOpts.tableS.patient_register.id = '' + this.dataTransOpts.refresh.patient_register.S++ + }, + //将现有的数据,复制并展现,但未保存 rdCopy() { if (!this.form.id) { this.$message.info("该信息尚未保存,不可执行此操作!"); return; } - + this.dataTransOpts.tableS.patient_register.id = '' this.patientRegister.photo = '/pic/Photo.jpg' this.patientRegister.patientRegisterId = ''; this.form.id = ''; @@ -1348,7 +1376,8 @@ export default { this.form.medicalTimes = 1; this.form.patientName = ''; this.form.photo = ''; - + this.form.completeFlag = '1'; // + // this.patientRegister.patientRegisterAbs.forEach(e => { // e.id = ''; // e.patientRegisterId = ''; @@ -1356,15 +1385,20 @@ export default { // e.checkCompleteFlag = '0' // e.isLock = 'N' // }); - // 触发明细项目复制 - setTimeout(() => { - this.prAsbOpraOpts.copyNew++ - }, 20); + // 触发明细项目复制 + // setTimeout(() => { + // this.prAsbOpraOpts.copyNew++ + // }, 10); + this.dataTransOpts.tableM.register_check_asbitem.forEach(e => { + delete e.id + e.patientRegisterId = '' + e.isCharge = 'N' + e.isLock = 'N' + }); // console.log('this.patientRegister.patientRegisterAbs',this.patientRegister.patientRegisterAbs) this.$message.info("操作成功,请记得点保存"); - this - + }, //删除 @@ -1394,20 +1428,20 @@ export default { return; } if (!this.$peisAPI) { - this.$message.info({showClose:true,message:"此功能,需要在壳客户端才可运行!"}) + this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" }) return } this.$peisAPI.photoGrah() .then(res => { - console.log('this.$peisAPI.photoGrah 原始返回结果',res) + console.log('this.$peisAPI.photoGrah 原始返回结果', res) let lres = JSON.parse(res) if (lres.code == 1) { let uploadPhoto = { patientRegisterId: this.form.id, photo: lres.data.Photo, }; - this.peoplePhoto = `data:image/${lres.data.PhotoFormat == 'jpg' ? 'jpeg':lres.data.PhotoFormat};base64,${lres.data.Photo}` - this.patientRegister.photo = `data:image/${lres.data.PhotoFormat == 'jpg' ? 'jpeg':lres.data.PhotoFormat};base64,${lres.data.Photo}` + this.peoplePhoto = `data:image/${lres.data.PhotoFormat == 'jpg' ? 'jpeg' : lres.data.PhotoFormat};base64,${lres.data.Photo}` + this.patientRegister.photo = `data:image/${lres.data.PhotoFormat == 'jpg' ? 'jpeg' : lres.data.PhotoFormat};base64,${lres.data.Photo}` return postapi(`/api/app/patient-register/up-load-img`, uploadPhoto) } else { this.$message.error("上传照片错误" + lres.code) diff --git a/src/components/patientRegister/PatientRegisterForChoose.vue b/src/components/patientRegister/PatientRegisterForChoose.vue index f4bdf40..9226517 100644 --- a/src/components/patientRegister/PatientRegisterForChoose.vue +++ b/src/components/patientRegister/PatientRegisterForChoose.vue @@ -171,9 +171,9 @@ export default { }, props:["params"], // params data() { - return { - patientRegisterId:'', // 选中的体检人员ID + return { patientRegisters:[], //体检人员列表信息 + tableDataCurrentRow: {}, // 当前被选中的行 }; }, @@ -206,7 +206,7 @@ export default { // 选中记录 registerRowClick(row){ - this.patientRegisterId = row.id + this.tableDataCurrentRow = deepCopy(row) }, // 双击 选中记录 并关闭窗口 @@ -216,13 +216,14 @@ export default { }, btnOk(){ - if(!this.patientRegisterId){ + if(!this.tableDataCurrentRow.id){ this.$message.warning("请选择体检人员!") return } - this.dataTransOpts.tableS.patient_register.id = this.patientRegisterId + this.dataTransOpts.tableS.patient_register = deepCopy(this.tableDataCurrentRow) + this.dataTransOpts.refresh.patient_register.S++ setTimeout(() => { - this.dataTransOpts.refresh.patient_register.S++ + this.tableDataCurrentRow = {} }, 10); this.dialogWin.PatientRegisterForChoose = false }, diff --git a/src/components/patientRegister/PatientRegisterItem.vue b/src/components/patientRegister/PatientRegisterItem.vue index 5b41a20..c980132 100644 --- a/src/components/patientRegister/PatientRegisterItem.vue +++ b/src/components/patientRegister/PatientRegisterItem.vue @@ -3,16 +3,17 @@
项目类别 - +
+ :height="(window.pageHeight > 700 ? (window.pageHeight - 440) : 260)" @row-dblclick="dbClickChoosedAsb" + highlight-current-row @selection-change="handleSelectionChange" size="small" + :row-class-name="handleRowClassName" @row-click="chooseAsbItem"> @@ -28,26 +29,30 @@
{{ ldddw(dict.forSex, "id", scope.row.forSexId, "displayName") }}
- --> + -->
-
- 添加 +
+ 添加
-
- 全添加 +
+ 全添加
-
- 移除 +
+ 移除
-
- 全移除 +
+ 全移除
- +