5 changed files with 45 additions and 1237 deletions
-
42src/components/doctorCheck/PatientRegisterList.vue
-
16src/components/report/CusOrgOCX.vue
-
917src/views/doctorCheck/doctorCheckBak.vue
-
6src/views/doctorCheck/sumDoctorCheck.vue
-
301src/views/doctorCheck/sumDoctorCheckBak.vue
@ -1,917 +0,0 @@ |
|||||
<template> |
|
||||
<div> |
|
||||
<div> |
|
||||
<div style="display: flex;justify-content:space-between;"> |
|
||||
<div class="contenttitle"> |
|
||||
体检 /<span class="contenttitleBold">检查医生诊台</span> |
|
||||
</div> |
|
||||
<div style="position: absolute;margin-right:120px; top:50px;right:10px;z-index: 2;"> |
|
||||
<el-image style="width: 100px; height: 105px;" :src="peoplePhoto"> |
|
||||
<div slot="placeholder" class="image-slot"> |
|
||||
加载中<span class="dot">...</span> |
|
||||
</div> |
|
||||
</el-image> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="display: flex;"> |
|
||||
<div :style="`width:${window.pageWidth - 120}px;`"> |
|
||||
<div style="display: flex;justify-content:space-between;z-index:-1;"> |
|
||||
<div> |
|
||||
<PatientRegisterBase /> |
|
||||
</div> |
|
||||
<div style="width: 100px;"></div> |
|
||||
</div> |
|
||||
<div style="display: flex;"> |
|
||||
<el-tabs v-model="activeName" tab-position="bottom" style="width: 200px;"> |
|
||||
<el-tab-pane label="组合项目" name="asbitem"> |
|
||||
<RegisterCheckList /> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="LocalConfig.doctorCheck.isQueue == 'Y'" label="叫号" name="call"> |
|
||||
<QueueCheckList /> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
|
|
||||
<el-tabs v-model="activeMain" :style="'width:' + (window.pageWidth - 200 - 110 - 15) + 'px;'"> |
|
||||
<el-tab-pane label="检查情况" name="text"> |
|
||||
<div :style="'margin-left: 2px;'"> |
|
||||
<CheckItemList :isCheckPicture="isCheckPicture" :doctor_check_check_charge="doctor_check_check_charge" |
|
||||
:registerCheckId="dataTransOpts.tableS.register_check.id" /> |
|
||||
</div> |
|
||||
<!--采图、导图、图片预览组件--> |
|
||||
<div v-if="isCheckPicture" class="demo-image__preview" |
|
||||
:style="'margin-top: 2px;margin-left: 2px;'"> |
|
||||
<CheckPicture :doctorBtnDisabled="doctorBtnDisabled" :save="save" /> |
|
||||
</div> |
|
||||
<div :style="'margin-top: 2px;margin-left: 2px;'"> |
|
||||
|
|
||||
<CheckSumSug :registerCheckId="dataTransOpts.tableS.register_check.id" :isCheckPicture="isCheckPicture" |
|
||||
:optGrant="optGrant" :addSummary="addSummary" :btnMakeDiagnosis="btnMakeDiagnosis" :save="save" |
|
||||
:audit="audit" :unAudit="unAudit" :btnLineUp="btnLineUp" :doctorBtnDisabled="doctorBtnDisabled" /> |
|
||||
|
|
||||
</div> |
|
||||
<div :style="'margin-top: 2px;'"> |
|
||||
<RegisterCheckEdit :registerCheckId="dataTransOpts.tableS.register_check.id" /> |
|
||||
</div> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="isCheckPicture" label="图片预览" name="imgPre"> |
|
||||
<PacsImgPreview :doctorBtnDisabled="doctorBtnDisabled" :save="save"/> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane v-if="isCheckPicture" label="DCM" name="dcm"> |
|
||||
<PacsDcmPreview /> |
|
||||
</el-tab-pane> |
|
||||
</el-tabs> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width:110px;"> |
|
||||
<ButtonList :optGrant="optGrant" :addSummary="addSummary" :btnMakeDiagnosis="btnMakeDiagnosis" :save="save" |
|
||||
:audit="audit" :unAudit="unAudit" :doctorBtnDisabled="doctorBtnDisabled" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
<!--组件弹窗--> |
|
||||
<div v-if="dialogWin.FollowCriticalCheck"> |
|
||||
<!-- 危急值 --> |
|
||||
<el-dialog title="危急值" :visible.sync="dialogWin.FollowCriticalCheck" width="800px" :show-close="false" |
|
||||
:close-on-click-modal="false" :append-to-body="true"> |
|
||||
<FollowCriticalCheck /> |
|
||||
</el-dialog> |
|
||||
</div> |
|
||||
</div> |
|
||||
</template> |
|
||||
<script> |
|
||||
import { mapState } from "vuex"; |
|
||||
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|
||||
import { arrayExistObj, tcdate, deepCopy } from "../../utlis/proFunc"; |
|
||||
import { photoParse } from "../../utlis/proApi"; |
|
||||
|
|
||||
import PatientRegisterBase from "../../components/doctorCheck/PatientRegisterBase.vue"; |
|
||||
import ButtonList from "../../components/doctorCheck/ButtonListDisable.vue"; |
|
||||
import CheckPicture from "../../components/doctorCheck/CheckPicture.vue"; |
|
||||
import RegisterCheckList from "../../components/doctorCheck/RegisterCheckList.vue"; |
|
||||
import QueueCheckList from "../../components/doctorCheck/QueueCheckList.vue"; |
|
||||
import CheckItemList from "../../components/doctorCheck/CheckItemList.vue"; |
|
||||
import CheckSumSug from "../../components/doctorCheck/CheckSumSug.vue"; |
|
||||
import RegisterCheckEdit from "../../components/doctorCheck/RegisterCheckEdit.vue"; |
|
||||
import PacsImgPreview from "../../components/doctorCheck/PacsImgPreview.vue"; |
|
||||
import PacsDcmPreview from "../../components/doctorCheck/PacsDcmPreview.vue"; |
|
||||
import FollowCriticalCheck from "../../components/follow/FollowCriticalCheck.vue"; |
|
||||
|
|
||||
import moment from 'moment'; |
|
||||
import Follow from "@/components/follow/follow.vue"; |
|
||||
|
|
||||
|
|
||||
export default { |
|
||||
components: { |
|
||||
RegisterCheckList, |
|
||||
QueueCheckList, |
|
||||
PatientRegisterBase, |
|
||||
ButtonList, |
|
||||
CheckPicture, |
|
||||
CheckItemList, |
|
||||
CheckSumSug, |
|
||||
RegisterCheckEdit, |
|
||||
PacsImgPreview, |
|
||||
PacsDcmPreview, |
|
||||
FollowCriticalCheck, |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
peoplePhoto: '', //人员照片 |
|
||||
activeName: 'asbitem', // asbitem:组合项目 call:排队叫号 |
|
||||
activeMain: 'text', // text:文字结果 |
|
||||
isCheckPicture: true, //是否显示结果图片 |
|
||||
|
|
||||
LocalConfig: { |
|
||||
doctorCheck: { // 医生诊台 |
|
||||
isCheckPicture: false, // 是否显示检查图片 |
|
||||
isQueue: 'N', //启用分诊排队 |
|
||||
queueRoom: '', //默认分诊房间 |
|
||||
isAutoNext: 'N', // 保存完结果,是否自动下一条记录 |
|
||||
} |
|
||||
}, |
|
||||
LocalConfigInit: {}, |
|
||||
doctor_check_check_charge: 'Y', // 默认判断收费 |
|
||||
}; |
|
||||
}, |
|
||||
|
|
||||
created() { |
|
||||
// console.log("this.$route.query", this.$route.query) |
|
||||
|
|
||||
if (this.$route.query.patient_register) { |
|
||||
this.dataTransOpts.tableS.patient_register = this.$route.query.patient_register |
|
||||
} else { |
|
||||
this.dataTransOpts.tableS.patient_register = { id: '', patientRegisterNo: '' } |
|
||||
this.dataTransOpts.tableS.register_check = { id: '' } |
|
||||
this.peoplePhoto = '' |
|
||||
} |
|
||||
|
|
||||
this.LocalConfigInit = deepCopy(this.LocalConfig) |
|
||||
let LocalConfig = window.localStorage.getItem("LocalConfig") || null |
|
||||
try { |
|
||||
this.LocalConfig = Object.assign({}, deepCopy(this.LocalConfigInit), JSON.parse(LocalConfig) || {}) |
|
||||
|
|
||||
} catch (error) { |
|
||||
console.log('window.localStorage.getItem("LocalConfig")', error) |
|
||||
} |
|
||||
|
|
||||
if (this.$peisAPI) { |
|
||||
// this.$message.info("此功能,需要在壳客户端才可运行!"); |
|
||||
// console.log('this.$peisAPI',this.$peisAPI) |
|
||||
this.$peisAPI.getIsCheckPicture().then(res => { |
|
||||
console.log("this.$peisAPI.getIsCheckPicture()", res) |
|
||||
if (res) this.isCheckPicture = res.toUpperCase() == 'Y' ? true : false |
|
||||
}) |
|
||||
} else { |
|
||||
|
|
||||
try { |
|
||||
this.isCheckPicture = this.LocalConfig.doctorCheck.isCheckPicture |
|
||||
} catch (error) { |
|
||||
console.log('window.localStorage.getItem("LocalConfig")', error) |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
|
|
||||
console.log('this.LocalConfig', this.LocalConfig) |
|
||||
}, |
|
||||
|
|
||||
//挂载完成 |
|
||||
mounted() { |
|
||||
this.dictInit(); |
|
||||
|
|
||||
// window.addEventListener("contextmenu", (e) => { |
|
||||
// if (this.$peisAPI) { |
|
||||
// e.preventDefault(); |
|
||||
// this.$peisAPI.contextMenuForPeis() |
|
||||
// } |
|
||||
// }) |
|
||||
}, |
|
||||
|
|
||||
// deactivated() { |
|
||||
// window.removeEventListener('contextmenu', (e) => { |
|
||||
// console.log('window.removeEventListener') |
|
||||
// }); |
|
||||
// }, |
|
||||
|
|
||||
computed: { |
|
||||
...mapState(["window", "dataTransOpts", "dict", "dialogWin", "patientRegister", "customerOrg", "doctorCheck", "sumDoctorCheck"]), |
|
||||
}, |
|
||||
|
|
||||
methods: { |
|
||||
|
|
||||
//数据初始化 |
|
||||
async dictInit() { |
|
||||
let sysParmId = "doctor_check_check_charge" |
|
||||
let sysParam = await postapi('/api/app/SysParmValue/GetSysParmValueBySysParmId', { sysParmId }) |
|
||||
this.doctor_check_check_charge = sysParam.data.toUpperCase() |
|
||||
|
|
||||
/* 首次使用时调用,无需预加载 |
|
||||
//性别(仅档案用) |
|
||||
getapi("/api/app/sex").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.sex = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//性别(查询) |
|
||||
getapi("/api/app/for-sex").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.forSex = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//体检中心 |
|
||||
getapi("/api/app/organization-units/organization-unit-by-is-peis").then( |
|
||||
(res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.organization = res.data; |
|
||||
} |
|
||||
} |
|
||||
); |
|
||||
|
|
||||
//体检单位 |
|
||||
// getapi("/api/app/customer-org/in-filter").then((res) => { |
|
||||
// if (res.code == 1) { |
|
||||
// this.dict.customerOrg = res.data; |
|
||||
// } |
|
||||
// }); |
|
||||
|
|
||||
//体检类别 |
|
||||
getapi("/api/app/medical-type/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.medicalType = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//人员类别 |
|
||||
getapi("/api/app/personnel-type/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.personnelType = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//婚姻状况 |
|
||||
getapi("/api/app/MaritalStatus/GetMaritalStatusList").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.maritalStatus = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//性激素期 |
|
||||
getapi("/api/app/sex-hormone-term/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.sexHormoneTerm = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//民族 |
|
||||
getapi("/api/app/nation/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.nation = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//籍惯 ,出生地 |
|
||||
getapi("/api/app/birth-place/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.birthPlace = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//套餐 |
|
||||
postapi("/api/app/medicalpackage/GetBasicList", {}).then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.medicalPackage = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//分组,所有分组,不限单位,不限次数 |
|
||||
// getapi("/api/app/customer-org-group").then((res) => { |
|
||||
// if (res.code == 1) { |
|
||||
// this.dict.customerOrgGroupAll = res.data.items; |
|
||||
// } |
|
||||
// }); |
|
||||
|
|
||||
//支付方式 |
|
||||
getapi("/api/app/pay-mode").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.payMode = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//体检类别 树结构 |
|
||||
getapi("/api/app/item-type/by-code-all").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.itemTypeTree = res.data; |
|
||||
tcdate(this.dict.itemTypeTree); |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//所有组合项目 |
|
||||
postapi("/api/app/asbitem/GetBasicList", { isFilterActive: 'Y' }).then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.asbItemAll = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//获取体检单位列表树信息 |
|
||||
// getapi("/api/app/customerorg/getbycodeall").then((res) => { |
|
||||
// //customerOrgTree = res.data; |
|
||||
// console.log("res.data", res.data); |
|
||||
// this.patientRegister.customerOrgTreeAll = res.data; |
|
||||
// tcdate(this.patientRegister.customerOrgTreeAll) |
|
||||
// }); |
|
||||
|
|
||||
|
|
||||
postapi('/api/app/CustomerOrg/GetCustomerOrgByParentId', { parentId: null }) |
|
||||
.then(res => { |
|
||||
if (res.code > -1) { |
|
||||
res.data.forEach(e => { |
|
||||
e.isLeaf = e.isChild == 'Y' ? false : true |
|
||||
}); |
|
||||
this.patientRegister.customerOrgTreeAll = res.data; |
|
||||
tcdate(this.patientRegister.customerOrgTreeAll) |
|
||||
} |
|
||||
}) |
|
||||
*/ |
|
||||
|
|
||||
console.log("dict", this.dict); |
|
||||
}, |
|
||||
|
|
||||
//操作判断 |
|
||||
optGrant(optType) { |
|
||||
let ret = '' |
|
||||
if (!this.doctorCheck.RegisterCheckEdit.id) return '请选择组合项目' |
|
||||
if (this.doctorCheck.RegisterCheckEdit.isLock == 'Y') return '组合项目已锁定,不可执行此操作' |
|
||||
// if (this.doctorCheck.RegisterCheckEdit.completeFlag == '2') return '组合项目已弃检,不可执行此操作' |
|
||||
if (optType == 'save') { |
|
||||
// if (!this.doctorCheck.RegisterCheckEdit.checkDoctorId) return "请选择检查医生" |
|
||||
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '2') return "该项目项目已弃检,不可再执行此操作" |
|
||||
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '1') return "该项目项目已保存,不可再执行此操作,如需操作请点【修改结果】" |
|
||||
if (this.doctorCheck.RegisterCheckEdit.isAudit == 'Y') return '组合项目已审核,请先取消审核,方可执行此操作!' |
|
||||
} |
|
||||
if (optType == 'edit') { |
|
||||
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '0') return "该检查项目尚未保存,无需执行此操作" |
|
||||
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '2') return "该项目项目已弃检,不可再执行此操作" |
|
||||
if (this.doctorCheck.RegisterCheckEdit.isAudit == 'Y') return '组合项目已审核,请先取消审核,方可执行此操作!' |
|
||||
} |
|
||||
if (optType == 'del') { |
|
||||
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '0') return "该检查项目尚未保存,无需执行此操作" |
|
||||
if (this.doctorCheck.RegisterCheckEdit.isAudit == 'Y') return '组合项目已审核,请先取消审核,方可执行此操作!' |
|
||||
} |
|
||||
if (optType == 'audit') { |
|
||||
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '0') return "该检查项目尚未保存,无需执行此操作" |
|
||||
if (this.doctorCheck.RegisterCheckEdit.isAudit == 'Y') return "该检查项目已审核,无需再执行此操作" |
|
||||
} |
|
||||
if (optType == 'unAudit') { |
|
||||
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '0') return "该检查项目尚未保存,无需执行此操作" |
|
||||
if (this.doctorCheck.RegisterCheckEdit.isAudit == 'N') return "该检查项目尚未审核,无需执行此操作" |
|
||||
} |
|
||||
if (optType == 'delItem' || optType == 'refuseItem' || optType == 'makeDiagnosis') { |
|
||||
if (this.doctorCheck.RegisterCheckEdit.completeFlag == '1') return "该项目项目已保存,不可再执行此操作,如需操作请点【修改结果】" |
|
||||
if (this.doctorCheck.RegisterCheckEdit.isAudit == 'Y') return "该检查项目已审核,请先取消审核" |
|
||||
} |
|
||||
return ret |
|
||||
}, |
|
||||
|
|
||||
// 按钮可用 |
|
||||
doctorBtnDisabled(btnFlagName) { |
|
||||
let patientRegister = this.dataTransOpts.tableS.patient_register |
|
||||
let RegisterCheckEdit = this.doctorCheck.RegisterCheckEdit |
|
||||
let ret = true |
|
||||
|
|
||||
//' 请选择体检人员' |
|
||||
if (!patientRegister.id) return ret |
|
||||
|
|
||||
switch (btnFlagName) { |
|
||||
case 'btnCheckHistory': |
|
||||
case 'btnReport': |
|
||||
return false |
|
||||
case 'toSumDoctorCheck': |
|
||||
let operatorType = window.sessionStorage.getItem("operatorType") |
|
||||
if (operatorType == '2' || operatorType == '3') ret = false |
|
||||
return ret |
|
||||
case 'btnOcc': |
|
||||
console.log('patientRegister', patientRegister) |
|
||||
if (patientRegister.isPatientOccupationalDisease && patientRegister.isPatientOccupationalDisease == 'Y') ret = false |
|
||||
return ret |
|
||||
} |
|
||||
|
|
||||
// '人员已锁定,不可执行此操作' |
|
||||
if (patientRegister.isLock && patientRegister.isLock == 'Y') return ret |
|
||||
if (patientRegister.completeFlag && patientRegister.completeFlag == '3') return ret |
|
||||
|
|
||||
if (btnFlagName == 'editPr' || btnFlagName == 'delPr') return false |
|
||||
|
|
||||
|
|
||||
// 未选检查项目 |
|
||||
if (!RegisterCheckEdit.id) return ret |
|
||||
switch (btnFlagName) { |
|
||||
case 'btnEdit': // 修改结果 |
|
||||
case 'btnDel': // 删除结果 |
|
||||
if (RegisterCheckEdit.completeFlag && (RegisterCheckEdit.completeFlag == '1' || RegisterCheckEdit.completeFlag == '2')) ret = false |
|
||||
break; |
|
||||
case 'refuse': // 放弃检查项目 |
|
||||
case 'refuseItem': // 放弃明细检查项目 |
|
||||
case 'delItem': // 删除检查项目 |
|
||||
case 'btnMakeDiagnosis': // 生成小结 |
|
||||
case 'save': // 保存结果 |
|
||||
case 'addSummary': // 新增小结 |
|
||||
case 'delSum': // 删除小结 |
|
||||
case 'addSuggestion': // 新增建议 |
|
||||
case 'delSug': // 删除建议 |
|
||||
case 'btnGetPic': // 采图(图片采集) |
|
||||
case 'btnExpPic': // 导图(图片上传) |
|
||||
case 'btnCutPic': // 裁图 |
|
||||
case 'btnSavePic': // 图片保存 |
|
||||
case 'btnDelImage': // 图片删除 |
|
||||
// console.log('btnFlagName RegisterCheckEdit', btnFlagName, RegisterCheckEdit.completeFlag) |
|
||||
if (this.doctor_check_check_charge == 'Y') { |
|
||||
if (RegisterCheckEdit.completeFlag && RegisterCheckEdit.completeFlag == '0' && RegisterCheckEdit.isCharge == 'Y') ret = false |
|
||||
} else { |
|
||||
if (RegisterCheckEdit.completeFlag && RegisterCheckEdit.completeFlag == '0') ret = false |
|
||||
} |
|
||||
break; |
|
||||
case 'btnCritical': |
|
||||
if (RegisterCheckEdit.isAudit && RegisterCheckEdit.isAudit != 'Y') ret = false |
|
||||
break; |
|
||||
case 'audit': |
|
||||
if (RegisterCheckEdit.completeFlag && RegisterCheckEdit.completeFlag != '0' && RegisterCheckEdit.isAudit && RegisterCheckEdit.isAudit != 'Y') ret = false |
|
||||
break; |
|
||||
case 'unAudit': |
|
||||
if (RegisterCheckEdit.completeFlag && RegisterCheckEdit.completeFlag != '0' && RegisterCheckEdit.isAudit && RegisterCheckEdit.isAudit != 'N') ret = false |
|
||||
break; |
|
||||
default: |
|
||||
ret = false |
|
||||
break; |
|
||||
} |
|
||||
// console.log('sumBtnDisabled btnFlagName, patientRegister,ret', btnFlagName, patientRegister, ret) |
|
||||
return ret |
|
||||
}, |
|
||||
|
|
||||
// 生成小结 |
|
||||
btnMakeDiagnosis() { |
|
||||
let ret = this.optGrant('makeDiagnosis') |
|
||||
if (ret) { |
|
||||
this.$message.warning(ret) |
|
||||
return |
|
||||
} |
|
||||
|
|
||||
if (this.doctorCheck.checkItemList.length == 0) { |
|
||||
this.$message.warning("系统错误,组合项目没有明细") |
|
||||
return |
|
||||
} |
|
||||
|
|
||||
//console.log('生成小结'); |
|
||||
/* |
|
||||
// 后续考滤数据库中有保存小结时,才提醒 |
|
||||
if (this.doctorCheck.checkSummaryList.length > 0) { |
|
||||
this.$confirm("已经有小结,是否重新生成小结?", "提示", { |
|
||||
confirmButtonText: "是", |
|
||||
cancelButtonText: "否", |
|
||||
type: "warning", |
|
||||
}).then(() => { |
|
||||
this.makeDiagnosisFun(); |
|
||||
}).catch((err) => { |
|
||||
if (err == "cancel") { |
|
||||
this.$message.info("已取消"); |
|
||||
} |
|
||||
}); |
|
||||
} else { |
|
||||
this.makeDiagnosisFun(); |
|
||||
} |
|
||||
*/ |
|
||||
this.makeDiagnosisFun(); |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
// 生成小结的函数 |
|
||||
makeDiagnosisFun() { |
|
||||
|
|
||||
// /api/app/diagnosisfunction/getdiagnosisresult |
|
||||
// { |
|
||||
// "registerCheckId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
||||
// "items": [ |
|
||||
// { |
|
||||
// "itemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
||||
// "result": "string" |
|
||||
// } |
|
||||
// ] |
|
||||
// } |
|
||||
|
|
||||
|
|
||||
let body = { |
|
||||
registerCheckId: '', |
|
||||
items: [] |
|
||||
} |
|
||||
|
|
||||
this.doctorCheck.checkItemList.forEach((e, index) => { |
|
||||
if (index == 0) body.registerCheckId = e.registerCheckId |
|
||||
body.items.push({ |
|
||||
itemId: e.itemId, |
|
||||
result: e.result |
|
||||
}) |
|
||||
}) |
|
||||
|
|
||||
// 旧接口: console.log(`/api/app/diagnosisfunction/getdiagnosisresult`, body) |
|
||||
this.doctorCheck.checkSummaryList = [] |
|
||||
this.doctorCheck.checkSuggestionList = [] |
|
||||
postapi(`/api/app/DiagnosisFunction/GetDoctorCheckDiagnosisResultAsync`, body) |
|
||||
.then((res) => { |
|
||||
if (res.code > -1) { |
|
||||
// if (res.code == 0) { |
|
||||
// // 个别项目有异常,但不影响其他项目生成小结 |
|
||||
// this.$message.warning({ showClose: true, message: res.message }) |
|
||||
// } |
|
||||
// 小结 |
|
||||
res.data.diagnosisResultDetails.forEach(e => { |
|
||||
this.doctorCheck.checkSummaryList.push({ |
|
||||
id: Math.random(), |
|
||||
registerCheckId: body.registerCheckId, |
|
||||
summary: e.diagnosisResult, |
|
||||
summaryFlag: 'Y' |
|
||||
}) |
|
||||
}) |
|
||||
|
|
||||
// 建议 |
|
||||
res.data.diagnosisSuggestionDetails.forEach(e => { |
|
||||
this.doctorCheck.checkSuggestionList.push({ |
|
||||
id: Math.random(), |
|
||||
registerCheckId: body.registerCheckId, |
|
||||
suggestion: e.diagnosisSuggestion |
|
||||
}) |
|
||||
}) |
|
||||
|
|
||||
// 只更新危急值状态 |
|
||||
getapi(`/api/app/registercheck/getregistercheck?id=${this.doctorCheck.RegisterCheckId}`) |
|
||||
.then(res => { |
|
||||
if (res.code > -1) { |
|
||||
this.doctorCheck.RegisterCheckEdit.isCriticalValue = res.data.isCriticalValue |
|
||||
} |
|
||||
}) |
|
||||
console.log("操作成功!") |
|
||||
} |
|
||||
}) |
|
||||
.catch((err) => { |
|
||||
this.$message({ type: "error", message: `生成小结失败,原因:${err}` }); |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
// 手动新增小结与建议 |
|
||||
addSummary() { |
|
||||
let ret = this.optGrant('makeDiagnosis') |
|
||||
if (ret) { |
|
||||
this.$message.warning(ret) |
|
||||
return |
|
||||
} |
|
||||
|
|
||||
this.doctorCheck.checkSummaryList.push({ |
|
||||
id: Math.random(), |
|
||||
registerCheckId: this.doctorCheck.RegisterCheckEdit.id, |
|
||||
summary: '', |
|
||||
summaryFlag: 'N', |
|
||||
}) |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
//保存数据 |
|
||||
save() { |
|
||||
let ret = this.optGrant('save') |
|
||||
if (ret) { |
|
||||
this.$message.warning(ret) |
|
||||
return |
|
||||
} |
|
||||
|
|
||||
// //更新明细 |
|
||||
// this.updateCheckItemList(); |
|
||||
|
|
||||
// //更新检查项目与医生 |
|
||||
// this.updateDoctorCheck(); |
|
||||
|
|
||||
// //更新小结 |
|
||||
// this.saveCheckSummary(); |
|
||||
|
|
||||
// //更新建议 |
|
||||
// this.saveCheckSuggestion(true); |
|
||||
|
|
||||
// 合并成一个事务 |
|
||||
// { |
|
||||
// "registerCheckId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
||||
// "checkDoctorId": "string", |
|
||||
// "checkDate": "2024-04-17T14:13:24.889Z", |
|
||||
// "registerCheckItems": [ |
|
||||
// { |
|
||||
// "itemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
||||
// "result": "string", |
|
||||
// "criticalValue": "string", |
|
||||
// "checkDoctorName": "string", |
|
||||
// "checkDate": "string" |
|
||||
// } |
|
||||
// ], |
|
||||
// "summarys": [ |
|
||||
// { |
|
||||
// "summary": "string", |
|
||||
// "summaryFlag": "string" |
|
||||
// } |
|
||||
// ], |
|
||||
// "suggestions": [ |
|
||||
// { |
|
||||
// "suggestion": "string" |
|
||||
// } |
|
||||
// ] |
|
||||
// } |
|
||||
let checkDate = this.doctorCheck.RegisterCheckEdit.checkDate || new Date(); |
|
||||
checkDate = moment(new Date(checkDate)).format('yyyy-MM-DD HH:mm:ss'); //yyyy-MM-DD HH:mm:ss |
|
||||
let checkDoctorId = this.doctorCheck.RegisterCheckEdit.checkDoctorId || null; |
|
||||
if (!checkDoctorId) { |
|
||||
this.$message.warning({ showClose: true, message: '检查医生不能为空,请选择检查医生!' }) |
|
||||
return |
|
||||
} |
|
||||
let registerCheckId = this.doctorCheck.RegisterCheckEdit.id |
|
||||
// 明细 |
|
||||
let registerCheckItems = [] |
|
||||
this.doctorCheck.checkItemList.forEach(e => { |
|
||||
registerCheckItems.push({ |
|
||||
itemId: e.itemId, |
|
||||
result: e.result, |
|
||||
checkDoctorName: checkDoctorId, |
|
||||
checkDate, |
|
||||
}) |
|
||||
}); |
|
||||
// 小结 |
|
||||
let summarys = [] |
|
||||
this.doctorCheck.checkSummaryList.forEach(item => { |
|
||||
summarys.push({ |
|
||||
summary: item.summary, |
|
||||
summaryFlag: item.summaryFlag, |
|
||||
}) |
|
||||
}); |
|
||||
// 建议 |
|
||||
let suggestions = [] |
|
||||
this.doctorCheck.checkSuggestionList.forEach(item => { |
|
||||
suggestions.push({ |
|
||||
suggestion: item.suggestion |
|
||||
}) |
|
||||
}); |
|
||||
|
|
||||
let body = { |
|
||||
registerCheckId, |
|
||||
checkDoctorId, |
|
||||
checkDate, |
|
||||
registerCheckItems, |
|
||||
summarys, |
|
||||
suggestions |
|
||||
} |
|
||||
|
|
||||
|
|
||||
if (summarys.length == 0) { |
|
||||
this.$message.warning({ showClose: true, message: '请生成小结!' }) |
|
||||
return |
|
||||
} |
|
||||
|
|
||||
postapi('/api/app/registercheck/UpdateCheckResult', body) |
|
||||
.then(res => { |
|
||||
if (res.code > -1) { |
|
||||
this.doctorCheck.RegisterCheckEdit.completeFlag = '1'; |
|
||||
//更新组合项目列表记录状态 |
|
||||
let lfind = arrayExistObj(this.doctorCheck.RegisterCheckList, 'id', body.registerCheckId) |
|
||||
if (lfind > -1) { |
|
||||
this.doctorCheck.RegisterCheckList[lfind].completeFlag = '1' |
|
||||
|
|
||||
// 保存成功后,是否自动下一个项目 |
|
||||
if (this.LocalConfig.doctorCheck.isAutoNext == 'Y') { |
|
||||
|
|
||||
/* 检查类别分区后,自动下一个项目不起作用 |
|
||||
// this.doctorCheck.RegisterCheckList registerCheckId |
|
||||
lfind = Number(lfind) + 1 |
|
||||
if (this.doctorCheck.RegisterCheckList.length >= lfind) { |
|
||||
this.doctorCheck.RegisterCheckId = this.doctorCheck.RegisterCheckList[lfind].id |
|
||||
this.doctorCheck.asbitemName = this.doctorCheck.RegisterCheckList[lfind].asbitemName |
|
||||
this.doctorCheck.checkRequestNo = this.doctorCheck.RegisterCheckList[lfind].checkRequestNo |
|
||||
this.doctorCheck.checkTypeFlag = this.doctorCheck.RegisterCheckList[lfind].checkTypeFlag |
|
||||
this.dataTransOpts.tableS.register_check.id = this.doctorCheck.RegisterCheckList[lfind].id |
|
||||
|
|
||||
this.dataTransOpts.refresh.register_check.S++ |
|
||||
this.dataTransOpts.refresh.register_check_item.M++ |
|
||||
} |
|
||||
*/ |
|
||||
this.dataTransOpts.plus.doctorAutoNext++ |
|
||||
} |
|
||||
} |
|
||||
//console.log('操作成功') |
|
||||
} else { |
|
||||
this.$message.error({ showClose: true, message: res.message }) |
|
||||
} |
|
||||
}) |
|
||||
}, |
|
||||
|
|
||||
|
|
||||
//更新检查医生 |
|
||||
updateDoctorCheck(successTip) { |
|
||||
let checkDate = this.doctorCheck.RegisterCheckEdit.checkDate || new Date(); |
|
||||
checkDate = moment(new Date(checkDate)).format('yyyy-MM-DD HH:mm:ss'); //yyyy-MM-DD HH:mm:ss |
|
||||
let checkDoctorId = this.doctorCheck.RegisterCheckEdit.checkDoctorId || window.sessionStorage.getItem("user"); |
|
||||
|
|
||||
let body = { |
|
||||
registerCheckId: this.doctorCheck.RegisterCheckEdit.id, |
|
||||
checkDoctorId, |
|
||||
checkDate |
|
||||
} |
|
||||
console.log(`/api/app/registercheck/updatecheckdoctor`, body) |
|
||||
postapi(`/api/app/registercheck/updatecheckdoctor`, body) |
|
||||
.then((res) => { |
|
||||
console.log("updateDoctorCheck", res.data); |
|
||||
if (res.code != -1) { |
|
||||
console.log("更新检查医生 成功", res.data); |
|
||||
this.doctorCheck.RegisterCheckEdit.completeFlag = '1'; |
|
||||
//更新组合项目列表记录状态 |
|
||||
let lfind = arrayExistObj(this.doctorCheck.RegisterCheckList, 'id', body.registerCheckId) |
|
||||
if (lfind > -1) this.doctorCheck.RegisterCheckList[lfind].completeFlag = '1' |
|
||||
if (successTip) console.log("操作成功!") |
|
||||
} |
|
||||
}) |
|
||||
.catch((err) => { |
|
||||
this.$message({ type: "error", message: `更新检查医生失败,原因:${err}` }); |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
//更新检查项目明细 |
|
||||
updateCheckItemList(successTip) { |
|
||||
let checkDate = this.doctorCheck.RegisterCheckEdit.checkDate || new Date(); |
|
||||
checkDate = moment(new Date(checkDate)).format('yyyy-MM-DD'); //yyyy-MM-DD HH:mm:ss |
|
||||
let checkDoctorId = this.doctorCheck.RegisterCheckEdit.checkDoctorId || window.sessionStorage.getItem("user"); |
|
||||
let body = [] |
|
||||
for (let i = 0; i < this.doctorCheck.checkItemList.length; i++) { |
|
||||
body.push({ |
|
||||
registerCheckId: this.doctorCheck.checkItemList[i].registerCheckId, |
|
||||
itemId: this.doctorCheck.checkItemList[i].itemId, |
|
||||
result: this.doctorCheck.checkItemList[i].result, |
|
||||
checkDoctorName: checkDoctorId, |
|
||||
checkDate, |
|
||||
}) |
|
||||
} |
|
||||
console.log(`/api/app/registercheckitem/updateregistercheckitemmany`, body) |
|
||||
postapi(`/api/app/registercheckitem/updateregistercheckitemmany`, body) |
|
||||
.then((res) => { |
|
||||
console.log("updateCheckItemList", res.data); |
|
||||
if (res.code != -1) { |
|
||||
console.log("更新检查项目明细成功", res.data); |
|
||||
if (successTip) console.log("操作成功!") |
|
||||
} |
|
||||
}) |
|
||||
.catch((err) => { |
|
||||
this.$message({ type: "error", message: `更新检查项目明细失败,原因:${err}` }); |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
//更新小结 |
|
||||
saveCheckSummary(successTip) { |
|
||||
let details = [] |
|
||||
this.doctorCheck.checkSummaryList.forEach(item => { |
|
||||
details.push({ |
|
||||
registerCheckId: item.registerCheckId, |
|
||||
summary: item.summary, |
|
||||
summaryFlag: item.summaryFlag, |
|
||||
}) |
|
||||
}); |
|
||||
let body = { |
|
||||
registerCheckId: this.doctorCheck.RegisterCheckEdit.id, |
|
||||
details |
|
||||
} |
|
||||
|
|
||||
console.log(`/api/app/registerchecksummary/createregisterchecksummarymany`, body) |
|
||||
postapi(`/api/app/registerchecksummary/createregisterchecksummarymany`, body) |
|
||||
.then((res) => { |
|
||||
console.log("saveCheckSummary", res.data); |
|
||||
if (res.code != -1) { |
|
||||
console.log("更新小结 成功", res.data); |
|
||||
if (successTip) console.log("操作成功!") |
|
||||
} |
|
||||
}) |
|
||||
.catch((err) => { |
|
||||
this.$message({ type: "error", message: `更新小结失败,原因:${err}` }); |
|
||||
}); |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
//更新建议 |
|
||||
saveCheckSuggestion(successTip) { |
|
||||
let details = [] |
|
||||
this.doctorCheck.checkSuggestionList.forEach(item => { |
|
||||
details.push({ |
|
||||
registerCheckId: item.registerCheckId, |
|
||||
suggestion: item.suggestion |
|
||||
}) |
|
||||
}); |
|
||||
|
|
||||
let body = { |
|
||||
registerCheckId: this.doctorCheck.RegisterCheckEdit.id, |
|
||||
details |
|
||||
} |
|
||||
|
|
||||
console.log(`/api/app/registerchecksuggestion/createregisterchecksuggestionmany`, body) |
|
||||
postapi(`/api/app/registerchecksuggestion/createregisterchecksuggestionmany`, body) |
|
||||
.then((res) => { |
|
||||
console.log("saveCheckSuggestion", res.data); |
|
||||
if (res.code != -1) { |
|
||||
//this.doctorCheck.RegisterCheckEdit.completeFlag = '1'; |
|
||||
if (successTip) console.log("操作成功!") |
|
||||
} |
|
||||
}) |
|
||||
.catch((err) => { |
|
||||
this.$message({ type: "error", message: `更新建议失败,原因:${err}` }); |
|
||||
}); |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
//审核 |
|
||||
audit() { |
|
||||
let ret = this.optGrant('audit') |
|
||||
if (ret) { |
|
||||
this.$message.warning(ret) |
|
||||
return |
|
||||
} |
|
||||
let body = { |
|
||||
registerCheckId: this.doctorCheck.RegisterCheckEdit.id, |
|
||||
//auditorUserId: "3fa85f64-5717-4562-b3fc-2c963f66afa6", |
|
||||
//auditTime: "string" 不传时,取当前时间 |
|
||||
} |
|
||||
if(this.doctorCheck.RegisterCheckEdit.auditorUserId) body.auditorUserId = this.doctorCheck.RegisterCheckEdit.auditorUserId |
|
||||
|
|
||||
|
|
||||
console.log(`/api/app/registercheck/updateauditordoctor`, body) |
|
||||
postapi(`/api/app/registercheck/updateauditordoctor`, body) |
|
||||
.then((res) => { |
|
||||
console.log("audit", res.data); |
|
||||
if (res.code != -1) { |
|
||||
this.doctorCheck.RegisterCheckEdit.isAudit = 'Y'; |
|
||||
this.$message({ type: "success", message: `组合项目审核成功` }); |
|
||||
} |
|
||||
}) |
|
||||
.catch((err) => { |
|
||||
this.$message({ type: "error", message: `组合项目审核失败,原因:${err}` }); |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
//取消审核 |
|
||||
unAudit() { |
|
||||
let ret = this.optGrant('unAudit') |
|
||||
if (ret) { |
|
||||
this.$message.warning(ret) |
|
||||
return |
|
||||
} |
|
||||
|
|
||||
console.log(`/api/app/registercheck/updateisaudit?RegisterCheckId=${this.doctorCheck.RegisterCheckEdit.id}&IsAudit=N`) |
|
||||
postapi(`/api/app/registercheck/updateisaudit?RegisterCheckId=${this.doctorCheck.RegisterCheckEdit.id}&IsAudit=N`) |
|
||||
.then((res) => { |
|
||||
console.log("unAudit", res.data); |
|
||||
if (res.code != -1) { |
|
||||
this.doctorCheck.RegisterCheckEdit.isAudit = 'N'; |
|
||||
this.$message({ type: "success", message: `组合项目取消审核成功` }); |
|
||||
} |
|
||||
}) |
|
||||
.catch((err) => { |
|
||||
this.$message({ type: "error", message: `组合项目取消审核失败,原因:${err}` }); |
|
||||
}); |
|
||||
}, |
|
||||
|
|
||||
// 排队 |
|
||||
btnLineUp() { |
|
||||
console.log('排队') |
|
||||
}, |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
//监听事件() |
|
||||
watch: { |
|
||||
// //1级单位值改变,分组改变 |
|
||||
// "patientRegister.query.CustomerOrgParentId"(newVal, oldVal) { |
|
||||
// console.log( |
|
||||
// "watch patientRegister.query.CustomerOrgParentId newVal:", |
|
||||
// newVal, |
|
||||
// " oldVal:", |
|
||||
// oldVal |
|
||||
// ); |
|
||||
// if (newVal != oldVal && newVal !== this.dict.personOrgId) { |
|
||||
// this.getCustomerOrgGroup(newVal); |
|
||||
// } |
|
||||
// }, |
|
||||
"patientRegister.photo": { |
|
||||
immediate: true, |
|
||||
// deep:true, |
|
||||
handler(newVal, oldVal) { |
|
||||
//console.log('patientRegister.patientRegisterRd.id newVal:',newVal,' oldVal:',oldVal) |
|
||||
if (newVal != oldVal) { |
|
||||
this.peoplePhoto = photoParse(newVal) |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
}, |
|
||||
}; |
|
||||
</script> |
|
||||
<style scoped> |
|
||||
@import '../../assets/css/global_card.css'; |
|
||||
@import '../../assets/css/global_input.css'; |
|
||||
@import '../../assets/css/global_table.css'; |
|
||||
@import '../../assets/css/global.css'; |
|
||||
</style> |
|
||||
@ -1,301 +0,0 @@ |
|||||
<template> |
|
||||
<!-- style="background-color: #B9CEE9;"--> |
|
||||
<div> |
|
||||
<div> |
|
||||
<div class="contenttitle"> |
|
||||
体检 /<span class="contenttitleBold">总检医生诊台</span> |
|
||||
</div> |
|
||||
<div style="display: flex"> |
|
||||
<div :style="'width:' + (window.pageWidth - 110 - 15) + 'px;'"> |
|
||||
<div> |
|
||||
<PatientRegisterBase /> |
|
||||
</div> |
|
||||
<div :style="`height: ${window.pageHeight < 600 ? 436 : window.pageHeight - 164}px;`"> |
|
||||
<el-tabs v-model="tabChoosed"> |
|
||||
<el-tab-pane label="综述建议" name="1"> |
|
||||
<div style="display: flex;"> |
|
||||
<!-- 综述建议 --> |
|
||||
<div :style="'width:' + (window.pageWidth - 110 - 15) + 'px;'"> |
|
||||
<SumSug :patientRegisterId="dataTransOpts.tableS.patient_register.id" :tabChoosed="tabChoosed" /> |
|
||||
</div> |
|
||||
<!-- 诊断 width:200px; |
|
||||
<div v-if="false" style="width:200px;"> |
|
||||
<SumDiagnosis :patientRegisterId="dataTransOpts.tableS.patient_register.id" /> |
|
||||
</div> |
|
||||
--> |
|
||||
</div> |
|
||||
<div> |
|
||||
<!-- 总检状态 --> |
|
||||
<SumPREdit /> |
|
||||
<!-- 检查情况 --> |
|
||||
<div style="margin-top: -6px;"> |
|
||||
<SumAsbItemStatus :patientRegisterId="dataTransOpts.tableS.patient_register.id" |
|
||||
:tabChoosed="tabChoosed" /> |
|
||||
</div> |
|
||||
</div> |
|
||||
</el-tab-pane> |
|
||||
|
|
||||
<el-tab-pane label="明细结果" name="2"> |
|
||||
<CheckDetails :patientRegisterId="dataTransOpts.tableS.patient_register.id" :tabChoosed="tabChoosed" :refParams="{ place: 'summary' }"/> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="危急值和随访值" name="3"> |
|
||||
<AsbitemCriticalValue :tabChoosed="tabChoosed" :refParams="{ place: 'summary' }"/> |
|
||||
</el-tab-pane> |
|
||||
<!-- |
|
||||
<el-tab-pane label="项目对比" name="4"> |
|
||||
<SumItemsType :patientId="dataTransOpts.tableS.patient_register.patientId" /> |
|
||||
</el-tab-pane> |
|
||||
--> |
|
||||
<el-tab-pane label="图文报告" name="4"> |
|
||||
<ImageTextReport :refParams="{ place: 'summary' }"/> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="历次结果" name="5"> |
|
||||
<SumItems :patientId="dataTransOpts.tableS.patient_register.patientId" :tabChoosed="tabChoosed" :refParams="{ place: 'summary' }"/> |
|
||||
</el-tab-pane> |
|
||||
<el-tab-pane label="历次综述" name="6"> |
|
||||
<SumHistory :patientId="dataTransOpts.tableS.patient_register.patientId" :tabChoosed="tabChoosed" :refParams="{ place: 'summary' }"/> |
|
||||
</el-tab-pane> |
|
||||
<!-- |
|
||||
<el-tab-pane label="职业病" name="7"> |
|
||||
<OccDiseaseConclusion :tabChoosed="tabChoosed" /> |
|
||||
</el-tab-pane> |
|
||||
--> |
|
||||
</el-tabs> |
|
||||
</div> |
|
||||
</div> |
|
||||
<div style="width: 110px"> |
|
||||
<ButtonList /> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</div> |
|
||||
</template> |
|
||||
<script> |
|
||||
import { mapState } from "vuex"; |
|
||||
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|
||||
import { tcdate } from "../../utlis/proFunc"; |
|
||||
|
|
||||
import PatientRegisterBase from "../../components/doctorCheck/PatientRegisterBase.vue"; |
|
||||
import ButtonList from "../../components/sumDoctorCheck/ButtonList.vue"; |
|
||||
import SumSug from "../../components/sumDoctorCheck/SumSug.vue"; |
|
||||
import SumDiagnosis from "../../components/sumDoctorCheck/SumDiagnosis.vue"; |
|
||||
import SumPREdit from "../../components/sumDoctorCheck/SumPREdit.vue"; |
|
||||
import SumAsbItemStatus from "../../components/sumDoctorCheck/SumAsbItemStatus.vue"; |
|
||||
import CheckDetails from "../../components/sumDoctorCheck/CheckDetails.vue"; |
|
||||
import SumItemsType from "../../components/sumDoctorCheck/SumItemsType.vue"; |
|
||||
import SumItems from "../../components/sumDoctorCheck/SumItems.vue"; |
|
||||
import SumHistory from "../../components/sumDoctorCheck/SumHistory.vue"; |
|
||||
import ImageTextReport from "../../components/occDisease/ImageTextReport.vue"; |
|
||||
import AsbitemCriticalValue from "../../components/sumDoctorCheck/AsbitemCriticalValue.vue"; |
|
||||
|
|
||||
export default { |
|
||||
components: { |
|
||||
PatientRegisterBase, |
|
||||
ButtonList, |
|
||||
SumSug, |
|
||||
SumDiagnosis, |
|
||||
SumPREdit, |
|
||||
SumAsbItemStatus, |
|
||||
CheckDetails, |
|
||||
SumItemsType, |
|
||||
SumItems, |
|
||||
SumHistory, |
|
||||
ImageTextReport, |
|
||||
AsbitemCriticalValue |
|
||||
}, |
|
||||
data() { |
|
||||
return { |
|
||||
tabChoosed: "1", |
|
||||
}; |
|
||||
}, |
|
||||
|
|
||||
created() { |
|
||||
if (this.$route.query.patient_register) { |
|
||||
this.dataTransOpts.tableS.patient_register = this.$route.query.patient_register |
|
||||
} else { |
|
||||
this.dataTransOpts.tableS.patient_register = { id: '', patientRegisterNo: '' } |
|
||||
this.dataTransOpts.tableS.register_check = { id: '' } |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
//挂载完成 |
|
||||
mounted() { |
|
||||
this.dictInit(); |
|
||||
|
|
||||
// document.addEventListener("contextmenu", (e) => { |
|
||||
// if (this.$peisAPI) { |
|
||||
// e.preventDefault(); |
|
||||
// this.$peisAPI.contextMenuForPeis() |
|
||||
// } |
|
||||
// }) |
|
||||
|
|
||||
}, |
|
||||
|
|
||||
computed: { |
|
||||
...mapState([ |
|
||||
"window", |
|
||||
"dict", |
|
||||
"dataTransOpts", |
|
||||
"patientRegister", |
|
||||
"customerOrg", |
|
||||
"sumDoctorCheck", |
|
||||
]), |
|
||||
}, |
|
||||
|
|
||||
methods: { |
|
||||
|
|
||||
//数据初始化 |
|
||||
dictInit() { |
|
||||
//性别 |
|
||||
getapi("/api/app/sex").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.sex = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//体检中心 |
|
||||
getapi("/api/app/organization-units/organization-unit-by-is-peis").then( |
|
||||
(res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.organization = res.data; |
|
||||
} |
|
||||
} |
|
||||
); |
|
||||
|
|
||||
//体检单位 |
|
||||
// getapi("/api/app/customer-org/in-filter").then((res) => { |
|
||||
// if (res.code == 1) { |
|
||||
// this.dict.customerOrg = res.data; |
|
||||
// } |
|
||||
// }); |
|
||||
|
|
||||
//体检类别 |
|
||||
getapi("/api/app/medical-type/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.medicalType = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//人员类别 |
|
||||
getapi("/api/app/personnel-type/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.personnelType = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//婚姻状况 |
|
||||
getapi("/api/app/MaritalStatus/GetMaritalStatusList").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.maritalStatus = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//性激素期 |
|
||||
getapi("/api/app/sex-hormone-term/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.sexHormoneTerm = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//民族 |
|
||||
getapi("/api/app/nation/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.nation = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//籍惯 ,出生地 |
|
||||
getapi("/api/app/birth-place/in-filter").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.birthPlace = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//套餐 |
|
||||
postapi("/api/app/medicalpackage/GetBasicList", {}).then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.medicalPackage = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
//分组,所有分组,不限单位,不限次数 |
|
||||
// getapi("/api/app/customer-org-group").then((res) => { |
|
||||
// if (res.code == 1) { |
|
||||
// this.dict.customerOrgGroupAll = res.data.items; |
|
||||
// } |
|
||||
// }); |
|
||||
|
|
||||
//支付方式 |
|
||||
// getapi("/api/app/pay-mode").then((res) => { |
|
||||
// if (res.code == 1) { |
|
||||
// this.dict.payMode = res.data; |
|
||||
// } |
|
||||
// }); |
|
||||
|
|
||||
//体检类别 树结构 |
|
||||
getapi("/api/app/item-type/by-code-all").then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.itemTypeTree = res.data; |
|
||||
tcdate(this.dict.itemTypeTree); |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
postapi("/api/app/asbitem/GetBasicList", { isFilterActive: 'Y' }).then((res) => { |
|
||||
if (res.code == 1) { |
|
||||
this.dict.asbItemAll = res.data; |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
console.log("dict", this.dict); |
|
||||
}, |
|
||||
|
|
||||
|
|
||||
}, |
|
||||
|
|
||||
//监听事件() |
|
||||
watch: { |
|
||||
"dataTransOpts.tableS.patient_register.id": { |
|
||||
// immediate:true, |
|
||||
handler(newVal, oldVal) { |
|
||||
console.log(`watch 总检--patient_register_id newVal: ${newVal}, oldVal: ${oldVal} `); |
|
||||
if (newVal != oldVal) { |
|
||||
switch (this.tabChoosed) { |
|
||||
case '1': |
|
||||
break; |
|
||||
case '4': |
|
||||
this.dataTransOpts.plus.OccDisease++ |
|
||||
break; |
|
||||
default: |
|
||||
this.dataTransOpts.refresh.sumDoctor.M++ |
|
||||
break; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
"tabChoosed": { |
|
||||
// immediate:true, |
|
||||
handler(newVal, oldVal) { |
|
||||
console.log(`watch 总检--tabs newVal: ${newVal}, oldVal: ${oldVal} `); |
|
||||
if (newVal != oldVal && newVal != '1') { |
|
||||
switch (newVal) { |
|
||||
case '4': |
|
||||
this.dataTransOpts.plus.OccDisease++ |
|
||||
break; |
|
||||
default: |
|
||||
this.dataTransOpts.refresh.sumDoctor.M++ |
|
||||
break; |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
|
|
||||
}, |
|
||||
}; |
|
||||
</script> |
|
||||
<style scoped> |
|
||||
@import '../../assets/css/global_card.css'; |
|
||||
@import '../../assets/css/global_input.css'; |
|
||||
@import '../../assets/css/global_table.css'; |
|
||||
@import '../../assets/css/global.css'; |
|
||||
</style> |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue