pengjun 2 years ago
parent
commit
cfdce3db8f
  1. 16
      src/components/doctorCheck/CheckItemList.vue
  2. 163
      src/components/patientRegister/PatientRegisterEdit.vue
  3. 2
      src/components/sumDoctorCheck/CheckDetails.vue
  4. 119
      src/components/sumDoctorCheck/SumItems.vue
  5. 6
      src/views/doctorCheck/sumDoctorCheck.vue

16
src/components/doctorCheck/CheckItemList.vue

@ -6,7 +6,7 @@
<el-table-column prop="result" label="结果" min-width="200">
<template slot-scope="scope">
<div style="display: flex;">
<el-autocomplete style="width: 100%;" type="textarea" v-model="scope.row.result" placeholder="请输入结果值"
<el-autocomplete style="width: 100%;font: 14px 'Microsoft YaHei';" type="textarea" v-model="scope.row.result" placeholder="请输入结果值"
:disabled="rowResultDisabled(scope.row)" :autosize="{ minRows: 1, maxRows: 10 }" :trigger-on-focus="false"
:fetch-suggestions="querySearch" :data-lineModeFlag="scope.row.lineModeFlag"
@input="madeTooltips(scope.$index); computeFun(scope.$index)" v-bind:class="scope.row.class">
@ -34,14 +34,14 @@
<div style="overflow-y:auto; height:300px;width:100%;display: flex;flex-wrap: wrap;align-content: flex-start;">
<div v-for="item in moreResult.data" :key="item.id" style="margin: 5px;cursor:pointer;"
@click="clickResult(item)" @dblclick="dblclickResult(item)">
<el-tag size="samll" style="color: #303133;">{{ item.result }}</el-tag>
<el-tag size="samll" style="padding: 0 3px;height: 24px;line-height: 24px;font-size: 14px; color: #303133;background-color: white;">{{ item.result }}</el-tag>
</div>
</div>
<div>特殊符号</div>
<div style="overflow-y:auto; width:100%;display: flex;flex-wrap: wrap;align-content: flex-start;">
<div v-for="item in symbols" :key="item.id" style="margin: 1px; 2px;cursor:pointer;"
@click="insertSymbols(item.displayName)">
<el-tag style="padding: 0 3px;height: 24px;line-height: 24px;font-size: 15px;color: #303133;">
<el-tag style="padding: 0 3px;height: 24px;line-height: 24px;font-size: 15px;color: #303133;background-color: white;">
{{ item.displayName }}
</el-tag>
</div>
@ -596,60 +596,70 @@ export default {
::v-deep .tipsNormal .el-textarea__inner {
background-color: v-bind("tipsNormal.backgroundColor") !important;
color: v-bind("tipsNormal.color") !important;
font-family: "Microsoft YaHei";
}
/*错误*/
::v-deep .tipsError .el-textarea__inner {
background-color: v-bind("tipsError.backgroundColor") !important;
color: v-bind("tipsError.color") !important;
font-family: "Microsoft YaHei";
}
/*阴性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsNegative .el-textarea__inner {
background-color: v-bind("tipsNegative.backgroundColor") !important;
color: v-bind("tipsNegative.color") !important;
font-family: "Microsoft YaHei";
}
/*弱阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsLowPositive .el-textarea__inner {
background-color: v-bind("tipsLowPositive.backgroundColor") !important;
color: v-bind("tipsLowPositive.color") !important;
font-family: "Microsoft YaHei";
}
/*阳性 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsPositive .el-textarea__inner {
background-color: v-bind("tipsPositive.backgroundColor") !important;
color: v-bind("tipsPositive.color") !important;
font-family: "Microsoft YaHei";
}
/*偏低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsLow .el-textarea__inner {
background-color: v-bind("tipsLow.backgroundColor") !important;
color: v-bind("tipsLow.color") !important;
font-family: "Microsoft YaHei";
}
/*偏高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsHigh .el-textarea__inner {
background-color: v-bind("tipsHigh.backgroundColor") !important;
color: v-bind("tipsHigh.color") !important;
font-family: "Microsoft YaHei";
}
/*超低 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsSuperLow .el-textarea__inner {
background-color: v-bind("tipsSuperLow.backgroundColor") !important;
color: v-bind("tipsSuperLow.color") !important;
font-family: "Microsoft YaHei";
}
/*超高 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsSuperHigh .el-textarea__inner {
background-color: v-bind("tipsSuperHigh.backgroundColor") !important;
color: v-bind("tipsSuperHigh.color") !important;
font-family: "Microsoft YaHei";
}
/*文字性危及值 v-bind("(window.pageHeight > 600 ? (window.pageHeight - 250) : 350) + 'px'") */
::v-deep .tipsSuper .el-textarea__inner {
background-color: v-bind("tipsSuper.backgroundColor") !important;
color: v-bind("tipsSuper.color") !important;
font-family: "Microsoft YaHei";
}
</style>

163
src/components/patientRegister/PatientRegisterEdit.vue

@ -120,7 +120,7 @@
</el-col>
<el-col :span="3">
<el-form-item label="籍贯" prop="birthPlaceId" label-width="50px">
<el-select v-model="form.birthPlaceId" placeholder="请选择" filterable clearable
<el-select v-model="form.birthPlaceId" placeholder="请选择" filterable clearable
:style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'" size="small">
<el-option v-for="item in dict.birthPlace" :key="item.id" :label="item.displayName"
:value="item.id" />
@ -156,9 +156,9 @@
</el-col>
<el-col :span="3">
<el-form-item label="民族" prop="nationId" label-width="50px">
<el-select v-model="form.nationId" placeholder="请选择" filterable clearable
default-first-option :filter-method="filterMethod"
:style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'" size="small">
<el-select v-model="form.nationId" placeholder="请选择" filterable clearable default-first-option
:filter-method="filterMethod" :style="'width:' + Math.floor((window.pageWidth - 630) / 8) + 'px;'"
size="small">
<el-option v-for="item in nation" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</el-form-item>
@ -217,7 +217,7 @@
<el-form-item label="单位体检次数" prop="isVip" label-width="110px">
<el-select :class="form.customerOrgId == dict.personOrgId ? '' : 'enterToTab'"
v-model="form.customerOrgRegisterId" placeholder="次数" size="small"
:disabled="form.customerOrgId == dict.personOrgId || form.completeFlag == '3' "
:disabled="form.customerOrgId == dict.personOrgId || form.completeFlag == '3'"
:style="'width:' + Math.floor((window.pageWidth - 654) / 6) + 'px;'" @change="changeMedicalTimes"
value-key="id">
<el-option v-for="item in customerOrgRegisterList" :key="item.id" :label="item.medicalTimes"
@ -226,8 +226,8 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="hisId" prop="isPhoneFollow">
<el-input v-model="form.hisPatientId" size="small" disabled/>
<el-form-item label="hisId" prop="isPhoneFollow">
<el-input v-model="form.hisPatientId" size="small" disabled />
</el-form-item>
</el-col>
<el-col :span="2">
@ -406,7 +406,8 @@
<el-button type="success" class="commonbutton" @click="toCharge(form)" :disabled="!form.id">收费</el-button>
</div>
<div v-show="checkPagePriv(pagePriv.privs, '收费申请')" class="btn">
<el-button type="success" class="commonbutton" @click="chargeRequest(form)" :disabled="!form.id">收费申请</el-button>
<el-button type="success" class="commonbutton" @click="chargeRequest(form)"
:disabled="!form.id">收费申请</el-button>
</div>
<!--
<div class="btn">
@ -500,8 +501,8 @@
</el-dialog>
<!-- 收费申请 -->
<el-dialog title="收费申请" :visible.sync="dialogWin.AsbChargeRequest" width="800px"
:show-close="false" :close-on-click-modal="false" :append-to-body="true" @close="closeDialogCharge">
<el-dialog title="收费申请" :visible.sync="dialogWin.AsbChargeRequest" width="800px" :show-close="false"
:close-on-click-modal="false" :append-to-body="true" @close="closeDialogCharge">
<AsbChargeRequest :patientRegister="form" />
</el-dialog>
</div>
@ -518,7 +519,7 @@ import {
arrayExistObj
} from "../../utlis/proFunc";
import {
photoParse, savePeoplePhoto,
photoParse, savePeoplePhoto,
} from "../../utlis/proApi";
import Camera from "./Camera.vue";
import PatientRegisterItem from "./PatientRegisterItem.vue";
@ -605,7 +606,7 @@ export default {
isLockBox: false, //
isMaxMedicalTimes: 'N',
medicalStartDate: null,
hisPatientId:'', // hisid
hisPatientId: '', // hisid
}, //
formInit: {}, //
customerOrgRegisterList: [], //
@ -659,7 +660,7 @@ export default {
prAsbGroup: 0, //
prAsbPackage: 0, //
},
nation:[], //
nation: [], //
};
},
@ -942,14 +943,15 @@ export default {
.then(res => {
if (res.code > - 1) {
console.log('获取单位体检次数', this.form.customerOrgRegisterId, res.data)
this.customerOrgRegisterList = res.data
this.customerOrgRegisterList = res.data
if (!this.form.customerOrgRegisterId) {
let customerOrgRegisterList = arrayFilter(res.data, 'isComplete', 'N') //
if (customerOrgRegisterList.length > 0) {
this.form.customerOrgRegisterId = customerOrgRegisterList[customerOrgRegisterList.length - 1].id
}
}
if (this.form.customerOrgRegisterId) return getapi(`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${this.form.customerOrgRegisterId}`) //
// /api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${this.form.customerOrgRegisterId}
if (this.form.customerOrgRegisterId) return postapi('/api/app/CustomerOrgGroup/GetListForPatentRegisterByFilter', { customerOrgRegisterId: this.form.customerOrgRegisterId }) //
}
}).then(res => {
if (res && res.code != -1) {
@ -980,13 +982,13 @@ export default {
this.patientRegister.photo = 'data:image/bmp;base64,' + idNos.Photo
this.changeIdNo() //
}else{
this.$message.error({showClose:true,message:`${lres.message}`})
} else {
this.$message.error({ showClose: true, message: `${lres.message}` })
}
})
},
//
changeMedicalTimes() {
@ -1031,7 +1033,7 @@ export default {
}
if (chargeComplete) {
this.$message.info({ showClose: true, message: `所选项目:${chargeComplete}已收费或已检,不可删除!` });
this.$message.info({ showClose: true, message: `所选项目:${chargeComplete}已收费或已检,不可删除!` });
}
body = { registerAsbitemIds };
@ -1077,7 +1079,8 @@ export default {
//
getCustomerOrgGroup(customerOrgRegisterId) {
this.patientRegister.customerOrgGroup = []
getapi(`/api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}`).then(res => {
// /api/app/customerorggroup/getlistinfilter?CustomerOrgRegisterId=${customerOrgRegisterId}`
postapi('/api/app/CustomerOrgGroup/GetListForPatentRegisterByFilter', { customerOrgRegisterId }).then(res => {
if (res.code != - 1) {
this.patientRegister.customerOrgGroup = res.data;
}
@ -1107,12 +1110,12 @@ export default {
},
// //
changeCustomerOrgGroupId() {
changeCustomerOrgGroupId() {
this.prAsbOpraOpts.prAsbGroup++
},
// //
changeMedicalPackageId() {
changeMedicalPackageId() {
this.prAsbOpraOpts.prAsbPackage++
},
@ -1152,27 +1155,27 @@ export default {
//
choosePatient() {
if (!this.patientChoosed) {
if (!this.patientChoosed) {
return;
}
this.dialogVisible = false;
this.form.patientId = this.patientChoosed.id;
this.form.patientNo = this.patientChoosed.patientNo;
this.form.medicalTimes = this.patientChoosed.medicalTimes + 1;
//
if(this.patientChoosed.displayName) this.form.patientName = this.patientChoosed.displayName;
if(this.patientChoosed.sexId) this.form.sexId = this.patientChoosed.sexId;
if(this.patientChoosed.birthDate) this.form.birthDate = new Date(this.patientChoosed.birthDate);
if(this.patientChoosed.nationId) this.form.nationId = this.patientChoosed.nationId;
if(this.patientChoosed.idNo) this.form.idNo = this.patientChoosed.idNo;
if (this.patientChoosed.displayName) this.form.patientName = this.patientChoosed.displayName;
if (this.patientChoosed.sexId) this.form.sexId = this.patientChoosed.sexId;
if (this.patientChoosed.birthDate) this.form.birthDate = new Date(this.patientChoosed.birthDate);
if (this.patientChoosed.nationId) this.form.nationId = this.patientChoosed.nationId;
if (this.patientChoosed.idNo) this.form.idNo = this.patientChoosed.idNo;
if (!this.form.maritalStatusId) this.form.maritalStatusId = this.patientChoosed.maritalStatusId;
if (!this.form.telephone) this.form.telephone = this.patientChoosed.telephone;
if (!this.form.mobileTelephone) this.form.mobileTelephone = this.patientChoosed.mobileTelephone;
if(!this.form.maritalStatusId) this.form.maritalStatusId = this.patientChoosed.maritalStatusId;
if(!this.form.telephone) this.form.telephone = this.patientChoosed.telephone;
if(!this.form.mobileTelephone) this.form.mobileTelephone = this.patientChoosed.mobileTelephone;
if (this.form.birthDate) {
this.form.age = birthdayToAge(this.form.birthDate)
@ -1271,9 +1274,9 @@ export default {
body.birthDate = null
}
if (body.birthDate == "Invalid date") body.birthDate = null
if (isNaN(body.age)){
if (isNaN(body.age)) {
body.age = null
}else{
} else {
body.age = Number(body.age)
}
// console.log('body',body)
@ -1319,19 +1322,19 @@ export default {
this.$refs[formName].validate((valid, fields) => {
console.log('fields', fields)
if (!valid) {
this.$message.warning({ showClose: true, message: fields[Object.keys(fields)[0]][0].message});
this.$message.warning({ showClose: true, message: fields[Object.keys(fields)[0]][0].message });
return false
}
if (this.form.customerOrgId != this.dict.personOrgId) {
if (!this.form.customerOrgRegisterId) {
this.$message.warning({ showClose: true, message: "请填写单位体检次数!"});
this.$message.warning({ showClose: true, message: "请填写单位体检次数!" });
return false
}
}
if (this.form.idNo && checkIDCode(this.form.idNo) == false) {
this.$message.warning({ showClose: true, message: "身份证号填写不合法!"});
this.$message.warning({ showClose: true, message: "身份证号填写不合法!" });
return false
}
let body = this.madePrBody()
@ -1383,7 +1386,7 @@ export default {
//
rdCopy() {
if (!this.form.id) {
this.$message.info({ showClose: true, message: "该信息尚未保存,不可执行此操作!"});
this.$message.info({ showClose: true, message: "该信息尚未保存,不可执行此操作!" });
return;
}
this.dataTransOpts.tableS.patient_register.id = ''
@ -1417,7 +1420,7 @@ export default {
e.isLock = 'N'
});
// console.log('this.patientRegister.patientRegisterAbs',this.patientRegister.patientRegisterAbs)
this.$message.info({ showClose: true, message: "操作成功,请记得点保存"});
this.$message.info({ showClose: true, message: "操作成功,请记得点保存" });
},
@ -1464,7 +1467,7 @@ export default {
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({ showClose: true, message: "上传照片错误" + lres.code})
this.$message.error({ showClose: true, message: "上传照片错误" + lres.code })
}
}).then(res => {
if (res && res.code > -1) {
@ -1483,7 +1486,7 @@ export default {
}
}).catch(err => {
console.log('this.$peisAPI.photoGrah', err)
this.$message.error({ showClose: true, message: `照片操作错误 ${err}`})
this.$message.error({ showClose: true, message: `照片操作错误 ${err}` })
})
},
@ -1494,11 +1497,11 @@ export default {
// (isPreview)
async guidePrint(ReportCode, isPreview) {
if (this.form.id.length < 1) {
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!"});
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!" });
return;
}
if (!this.$peisAPI) {
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!"})
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" })
return
}
@ -1509,7 +1512,7 @@ export default {
isBuildImage: 'N',
IsUploadPdf: 'N',
preViewCanPrint: 'N',
BusinessCode:this.form.id,
BusinessCode: this.form.id,
Parameters: [
{ Name: 'printer', Value: user },
{ Name: 'hisLog', Value: 'pic/hisLog.jpg' },
@ -1531,9 +1534,9 @@ export default {
this.$message.warning({ showClose: true, message: err});
});
*/
this.$peisAPI.printPre(JSON.stringify(toOutShell))
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
console.log('this.$peisAPI.printPre',res)
console.log('this.$peisAPI.printPre', res)
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}
@ -1556,7 +1559,7 @@ export default {
.then(res => {
if (JSON.parse(res).code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}else{
} else {
//
return postapi('/api/app/patientregister/updatepatientregisterguideprinttimesmany', [this.form.id])
}
@ -1571,12 +1574,12 @@ export default {
this.patientRegister.prList[lfind].guidePrintTimes = 1;
}
}
}else{
this.$message.warning({ showClose: true, message: res.message});
} else {
this.$message.warning({ showClose: true, message: res.message });
}
})
.catch(err => {
this.$message.warning({ showClose: true, message: err});
this.$message.warning({ showClose: true, message: err });
});
}
@ -1584,7 +1587,7 @@ export default {
//
async lisRequest() {
this.$message.warning({ showClose: true, message: '开发中……'});
this.$message.warning({ showClose: true, message: '开发中……' });
/*
let isPrintLisRequest = false
let res = null
@ -1631,11 +1634,11 @@ export default {
//
lisPrint(ReportCode, isPreview) {
if (!this.form.id) {
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!"});
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!" });
return;
}
if (!this.$peisAPI) {
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!"})
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" })
return
}
@ -1643,23 +1646,23 @@ export default {
let user = window.sessionStorage.getItem('user');
let toOutShell = {
ReportCode, token,
IsMoreLabel:'Y',
IsMoreLabel: 'Y',
isBuildImage: 'N',
IsUploadPdf: 'N',
BusinessCode:this.form.id,
BusinessCode: this.form.id,
Parameters: [
{ Name: 'printer', Value: user },
{ Name: 'hisLog', Value: 'pic/hisLog.jpg' },
],
};
console.log('this.$peisAPI.print',toOutShell)
console.log('this.$peisAPI.print', toOutShell)
if (isPreview) {
this.$peisAPI.printPre(JSON.stringify(toOutShell))
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
let lres = JSON.parse(res)
console.log('this.$peisAPI.printPre',lres)
console.log('this.$peisAPI.printPre', lres)
if (lres.code < 0) {
console.log('打印检验条码错误',lres.message)
console.log('打印检验条码错误', lres.message)
this.$message.warning({ showClose: true, message: lres.message });
}
})
@ -1674,17 +1677,17 @@ export default {
console.log('打印检验条码', lres)
if (res && lres.code > -1) {
return postapi('/api/app/lisrequest/updatelisrequestisprint', { operateType: 1, patientRegisterId: this.form.id })
}else{
} else {
this.$message.warning({ showClose: true, message: lres.message });
}
})
.then(res => {
if(res && res.code < 0){
if (res && res.code < 0) {
this.$message.error({ showClose: true, message: `更新条码打印状态失败,原因:${res.message}` });
}
})
.catch(err => {
this.$message.warning({ showClose: true, message: `${err}`});
this.$message.warning({ showClose: true, message: `${err}` });
});
}
},
@ -1692,7 +1695,7 @@ export default {
//
reLisRequest() {
if (this.form.id.length < 1) {
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!"});
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!" });
return;
}
this.brushTimes++;
@ -1702,26 +1705,26 @@ export default {
//
reMergeAsbitem() {
if (this.form.id.length < 1) {
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!"});
this.$message.info({ showClose: true, message: "人员信息尚未保存,不可执行此操作!" });
return;
}
this.brushTimes++;
this.patientRegister.mergeAsbitemVisble = true;
},
btnPayTypeFlag(payTypeFlag){
btnPayTypeFlag(payTypeFlag) {
this.dataTransOpts.tableM.register_check_asbitem.forEach(e => {
if(e.isCharge == 'N') e.payTypeFlag = payTypeFlag
if (e.isCharge == 'N') e.payTypeFlag = payTypeFlag
});
},
async getAsb(id){
async getAsb(id) {
let err = ''
try {
let res = await getapi(`/api/app/registerasbitem/getlistinpatientregisterid?PatientRegisterId=${id}`)
if(res.code > -1){
if (res.code > -1) {
this.dataTransOpts.tableM.register_check_asbitem = res.data
}else{
} else {
err = res.message
}
} catch (error) {
@ -1733,16 +1736,16 @@ export default {
async toCharge(form) {
if (!form.patientRegisterNo) {
this.$message.warning({ showClose: true, message: "请先保存人员信息!"})
this.$message.warning({ showClose: true, message: "请先保存人员信息!" })
return
}
if (form.completeFlag == '0') {
this.$message.warning({ showClose: true, message: "预登记的人员不可执行此操作!"})
this.$message.warning({ showClose: true, message: "预登记的人员不可执行此操作!" })
return
}
let err = await this.getAsb(form.id)
if(err){
if (err) {
this.$message.error(err)
return
}
@ -1759,24 +1762,24 @@ export default {
//
this.chargePatientRegisterNo = form.patientRegisterNo
this.dataTransOpts.refresh.charge.S++
this.dataTransOpts.refresh.charge.S++
this.dialogWin.charge = true
},
//
async chargeRequest(form){
async chargeRequest(form) {
if (!form.id) {
this.$message.warning({ showClose: true, message: "请先保存人员信息!"})
this.$message.warning({ showClose: true, message: "请先保存人员信息!" })
return
}
if (form.completeFlag == '0') {
this.$message.warning({ showClose: true, message: "预登记的人员不可执行此操作!"})
this.$message.warning({ showClose: true, message: "预登记的人员不可执行此操作!" })
return
}
let err = await this.getAsb(form.id)
if(err){
if (err) {
this.$message.error(err)
return
}
@ -1792,7 +1795,7 @@ export default {
}
//
this.dataTransOpts.refresh.charge.S++
this.dataTransOpts.refresh.charge.S++
this.dialogWin.AsbChargeRequest = true
},

2
src/components/sumDoctorCheck/CheckDetails.vue

@ -9,7 +9,7 @@
<table v-for="(item2, index2) in item.asbitems" :key="index + '-' + index2" width="100%" border="1"
cellspacing="0" bordercolor="#909399" style="border-collapse:collapse;">
<tr height="24">
<td width="200">{{ item2.asbitemName }}</td>
<td width="200">{{ item2.asbitemNames }}</td>
<td width="604" colspan="7">{{ '检查日期:' + item2.checkDate.substring(0,10) + ' 检查医生:' + item2.checkDoctorName }}</td>
</tr>

119
src/components/sumDoctorCheck/SumItems.vue

@ -12,8 +12,7 @@
style="font-size: 18px;color: red;" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="已检" placement="top">
<i v-show="scope.row.completeFlag == '1'" class="el-icon-success"
style="font-size: 18px;color: green;" />
<i v-show="scope.row.completeFlag == '1'" class="el-icon-success" style="font-size: 18px;color: green;" />
</el-tooltip>
<el-tooltip class="item" effect="dark" content="弃检" placement="top">
<i v-show="scope.row.completeFlag == '2'" class="el-icon-remove" style="font-size: 18px;" />
@ -25,14 +24,42 @@
</el-table>
</div>
<div :style="'width:' + (window.pageWidth - 180 - 110 - 15) + 'px;'">
<!--
<el-table :data="tableData" :height="divHeight" border highlight-current-row>
<el-table-column prop="itemName" label="项目" width="150" />
<el-table-column prop="unitName" label="单位" width="80" align="center" />
<el-table-column prop="referenceRangeValue" label="参考范围" width="80" align="center" />
<el-table-column v-for="(item, index) of tableCols" :label="item" :prop="item" :key="index" min-width="150"
<el-table-column v-for="(item, index) of tableCols" :label="item.substring(0,10)" :prop="item" :key="index" min-width="150"
align="center">
<template slot-scope="scope">
<div>{{ scope.row[item] }}</div>
</template>
</el-table-column>
</el-table>
-->
<table width="100%" style="font-size:14px;text-align: center;border-collapse:collapse;" border="1"
cellspacing="0" bordercolor="#909399" >
<col width="150">
<col width="50">
<col width="80">
<thead>
<tr height="30">
<td width="150">项目</td>
<td width="50">单位</td>
<td width="80">参考范围</td>
<td v-for="(item, index) of tableCols" :key="index" min-width="150">{{ item.substring(0, 10) }}</td>
</tr>
</thead>
<tbody v-for="(item, index) of tableData" :key="index">
<tr height="30">
<td style="text-align: left;font-weight: bolder;"><div style="padding: 0 5px;">{{ item.itemName }}</div></td>
<td>{{ item.unitName }}</td>
<td>{{ item.referenceRangeValue }}</td>
<td v-for="(item2, index2) of tableCols" :key="index2" min-width="150">{{ item[item2] }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</template>
@ -57,7 +84,7 @@ export default {
//
mounted() {
this.registerCheckList(this.patientId)
this.registerCheckList(this.patientId)
},
computed: {
@ -85,8 +112,8 @@ export default {
registerCheckList(patientId) {
this.RegisterCheckList = []
if (!patientId) return
console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonasbitemlist?PatientId=${patientId}`)
getapi(`/api/app/sumsummaryreport/gethorizontalcomparisonasbitemlist?PatientId=${patientId}`)
// console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonasbitemlist?PatientId=${patientId}`)
postapi('/api/app/SumSummaryReport/GetHorizontalComparisonAsbitems', { patientId })
.then((res) => {
console.log("获取横向对比 SumItems", res.data);
if (res.code != -1) {
@ -114,8 +141,8 @@ export default {
// "checkDate": "2023-07-14",
// "resultValue": ""
SumItems(patientId, asbitemId) {
console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonlist?PatientId=${patientId}&AsbitemId=${asbitemId}`)
getapi(`/api/app/sumsummaryreport/gethorizontalcomparisonlist?PatientId=${patientId}&AsbitemId=${asbitemId}`)
// console.log(`/api/app/sumsummaryreport/gethorizontalcomparisonlist?PatientId=${patientId}&AsbitemId=${asbitemId}`)
postapi('/api/app/SumSummaryReport/GetHorizontalComparisons', { patientId, asbitemId })
.then((res) => {
console.log("获取横向对比 SumItems", res.data);
if (res.code != -1) {
@ -128,8 +155,8 @@ export default {
},
//
crossTableOld(tableData) {
crossTable(tableData) {
this.tableData = [] //
this.tableRows = [] //
this.tableCols = [] //
@ -137,7 +164,8 @@ export default {
// console.log('tableData', tableData)
tableData.forEach(e => {
if (this.tableRows.indexOf(e.itemName) == - 1) this.tableRows.push(e.itemName)
if (this.tableCols.indexOf(e.checkDate) == - 1) this.tableCols.push(e.checkDate)
let checkDate = e.checkDate.substring(0, 10)
if (this.tableCols.indexOf(checkDate) == - 1) this.tableCols.push(checkDate)
});
this.tableCols.sort();
@ -164,19 +192,82 @@ export default {
// console.log('this.tableCols', this.tableCols)
// console.log('this.tableData', this.tableData)
},
crossTable(tableData) {
// [
// {
// "regsterCheckId": "00000000-0000-0000-0000-000000000000",
// "checkDate": "2018-06-08T00:00:00",
// "summarys": [
// {
// "summary": ":23.89 "
// }
// ],
// "registerCheckItems": [
// {
// "itemName": "",
// "unitName": "",
// "referenceRangeValue": "",
// "resultValue": "176",
// "reportFontColor": 0
// }
this.tableData = [] //
this.tableCols = [] //
// console.log('tableData', tableData)
// this.tableCols.push('itemName')
// this.tableCols.push('unitName')
// this.tableCols.push('referenceRangeValue')
let summary = { itemName: '小结', unitName: '', referenceRangeValue: '' }
tableData.forEach((e, i) => {
let lsummary = ''
e.summarys.forEach((s, i) => {
let splitStr = '<br>'
if (i == 0) splitStr = ''
lsummary += splitStr + (s.summary || '')
});
summary[e.checkDate] = lsummary
//
if (this.tableCols.indexOf(e.checkDate) == - 1) this.tableCols.push(e.checkDate)
//
let row = {}
e.registerCheckItems.forEach(r => {
let lfind = arrayExistObj(this.tableData, 'itemName', r.itemName)
if (lfind > -1) {
this.tableData[lfind][e.checkDate] = r.resultValue
this.tableData[lfind][e.checkDate + '_color'] = r.reportFontColor
} else {
row = {
itemName: r.itemName,
unitName: r.unitName,
referenceRangeValue: r.referenceRangeValue
}
row[e.checkDate] = r.resultValue
row[e.checkDate + '_color'] = r.reportFontColor
this.tableData.push(row)
}
})
});
this.tableData.push(summary)
},
},
//
watch: {
watch: {
// sumDoctor.M
"dataTransOpts.refresh.sumDoctor.M":{
"dataTransOpts.refresh.sumDoctor.M": {
// immediate:true,
handler(newVal, oldVal) {
console.log(`watch 总检--横向对比 newVal: ${newVal}, oldVal: ${oldVal} patientId: ${this.patientId}`);
this.registerCheckList(this.patientId)
console.log(`watch 总检--横向对比 newVal: ${newVal}, oldVal: ${oldVal} patientId: ${this.patientId}`);
this.registerCheckList(this.patientId)
}
},
},

6
src/views/doctorCheck/sumDoctorCheck.vue

@ -36,12 +36,12 @@
<CheckDetails :patientRegisterId="dataTransOpts.tableS.patient_register.id" />
</el-tab-pane>
<!--
<el-tab-pane label="危急值" name="3"> </el-tab-pane>
-->
<el-tab-pane label="危急值" name="3"> </el-tab-pane>
<el-tab-pane label="项目对比" name="4">
<SumItemsType :patientId="dataTransOpts.tableS.patient_register.patientId" />
</el-tab-pane>
<el-tab-pane label="横向对比" name="5">
-->
<el-tab-pane label="历次结果" name="5">
<SumItems :patientId="dataTransOpts.tableS.patient_register.patientId" />
</el-tab-pane>
<el-tab-pane label="历次综述" name="6">

Loading…
Cancel
Save