|
@@ -36,7 +36,8 @@
|
|
|
<YfGrouo
|
|
|
v-model="queryParam.groupNo"
|
|
|
style="width: 90px"
|
|
|
- v-title="'在新增医嘱的时候,去指定的药房查询药品。'"/>
|
|
|
+ v-title="'在新增医嘱的时候,去指定的药房查询药品。'"
|
|
|
+ />
|
|
|
</label>
|
|
|
<label>
|
|
|
排序:
|
|
@@ -136,7 +137,7 @@
|
|
|
'鼠标右键数据框,可以取消停止。'
|
|
|
"
|
|
|
>
|
|
|
- 批量停止
|
|
|
+ 停止医嘱
|
|
|
<template #dropdown>
|
|
|
<el-dropdown-menu>
|
|
|
<div v-title="'跳转到这个患者,修改医嘱时间的申请页面。'">
|
|
@@ -330,11 +331,15 @@
|
|
|
<strong>主要诊断病种分值:{{ diseFamilyGrade }}</strong>
|
|
|
</div>
|
|
|
<el-tag type="info">医保诊断录入</el-tag>
|
|
|
- <el-tag style="margin-left: 12px">患者:{{ props.patientInfo?.name }}</el-tag>
|
|
|
+ <el-tag style="margin-left: 12px"
|
|
|
+ >患者:{{ props.patientInfo?.name }}</el-tag
|
|
|
+ >
|
|
|
<el-tag style="margin-left: 8px"
|
|
|
>医疗类别:{{ props.patientInfo?.medTypeName }}
|
|
|
</el-tag>
|
|
|
- <el-tag style="margin-left: 8px">险种类型:{{ props.patientInfo?.insutype }}</el-tag>
|
|
|
+ <el-tag style="margin-left: 8px"
|
|
|
+ >险种类型:{{ props.patientInfo?.insutype }}</el-tag
|
|
|
+ >
|
|
|
<div style="height: 5px"></div>
|
|
|
<el-input
|
|
|
v-model="ybDiag.name"
|
|
@@ -515,7 +520,6 @@
|
|
|
<CopyTableDataOrder v-model="copyTableDialog" v-if="copyTableDialog" />
|
|
|
</template>
|
|
|
|
|
|
-
|
|
|
<script setup lang="jsx">
|
|
|
import { MLRKON_CLIENT } from "@/api/heliyongyao/mlrkon.js";
|
|
|
import {
|
|
@@ -563,10 +567,11 @@ import { useDialog } from "@/components/cy/CyDialog/index";
|
|
|
import XEUtils from "xe-utils";
|
|
|
|
|
|
import { useYfGroupStore } from "@/pinia/use-yf-group";
|
|
|
-import { rationalUseOfMedicine , getInfoRationalUseOfMedicine} from "@/api/heliyongyao/rational-use";
|
|
|
import {
|
|
|
- getPatientAllergens,
|
|
|
-} from '@/api/public-api'
|
|
|
+ rationalUseOfMedicine,
|
|
|
+ getInfoRationalUseOfMedicine,
|
|
|
+} from "@/api/heliyongyao/rational-use";
|
|
|
+import { getPatientAllergens } from "@/api/public-api";
|
|
|
import {
|
|
|
doSaveYbDiags,
|
|
|
fetchSsfz,
|
|
@@ -580,7 +585,6 @@ import { watchEffect } from "vue";
|
|
|
|
|
|
import YfGrouo from "@/components/cy/yf-group/YfGrouo.vue";
|
|
|
|
|
|
-
|
|
|
const props = defineProps({
|
|
|
patientInfo: {
|
|
|
type: Object,
|
|
@@ -654,13 +658,13 @@ const searchMethods = [
|
|
|
];
|
|
|
|
|
|
// 过滤出院病情状态
|
|
|
-const filterDismissStatus = (status) => {
|
|
|
+const filterDismissStatus = status => {
|
|
|
const statusMap = {
|
|
|
1: "治愈",
|
|
|
2: "好转",
|
|
|
3: "未愈",
|
|
|
4: "死亡",
|
|
|
- 9: "其他"
|
|
|
+ 9: "其他",
|
|
|
};
|
|
|
return statusMap[status] || "";
|
|
|
};
|
|
@@ -675,13 +679,15 @@ const openYbDiag = () => {
|
|
|
xcMessage.error("自费病人无需填写医保诊断");
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// 获取医保诊断列表
|
|
|
- getYbDiags(props.patientInfo.inpatientNo, props.patientInfo.admissTimes).then(res => {
|
|
|
- ybDiags.value = res;
|
|
|
- showYbDiag.value = true;
|
|
|
- });
|
|
|
-
|
|
|
+ getYbDiags(props.patientInfo.inpatientNo, props.patientInfo.admissTimes).then(
|
|
|
+ res => {
|
|
|
+ ybDiags.value = res;
|
|
|
+ showYbDiag.value = true;
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
// 获取病案诊断信息
|
|
|
//getDisDiag(props.patientInfo.inpatientNo, props.patientInfo.admissTimes).then(res => {
|
|
|
// filterDisDiagList.value = res.filter(item => item.code && item.name);
|
|
@@ -689,7 +695,7 @@ const openYbDiag = () => {
|
|
|
};
|
|
|
|
|
|
// 显示搜索对话框
|
|
|
-const showSearchData = (flag) => {
|
|
|
+const showSearchData = flag => {
|
|
|
searchUrl.value = "diag";
|
|
|
searchTargetCode.value = "ybDiagCode";
|
|
|
showSearch.value = true;
|
|
@@ -734,18 +740,20 @@ const nextPage = () => {
|
|
|
};
|
|
|
|
|
|
// 处理搜索选择
|
|
|
-const handleSelectSearch = (item) => {
|
|
|
+const handleSelectSearch = item => {
|
|
|
if (searchTargetCode.value === "ybDiagCode") {
|
|
|
ybDiag.code = item.code;
|
|
|
ybDiag.name = item.name;
|
|
|
ybDiag.cyzg = 0;
|
|
|
ybDiag.siDiagType = 1;
|
|
|
if (!ybDiags.value || ybDiags.value.length === 0) {
|
|
|
- fetchSsfz(item.code, props.patientInfo.inpatientNo, props.patientInfo.admissTimes).then(
|
|
|
- res => {
|
|
|
- diseFamilyGrade.value = res;
|
|
|
- }
|
|
|
- );
|
|
|
+ fetchSsfz(
|
|
|
+ item.code,
|
|
|
+ props.patientInfo.inpatientNo,
|
|
|
+ props.patientInfo.admissTimes
|
|
|
+ ).then(res => {
|
|
|
+ diseFamilyGrade.value = res;
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
searchContent.value = "";
|
|
@@ -772,7 +780,7 @@ const addToYbDiags = () => {
|
|
|
};
|
|
|
|
|
|
// 删除医保诊断
|
|
|
-const deleteYbDiag = (index) => {
|
|
|
+const deleteYbDiag = index => {
|
|
|
ybDiags.value.splice(index, 1);
|
|
|
};
|
|
|
|
|
@@ -789,18 +797,20 @@ const saveYbDiags = () => {
|
|
|
};
|
|
|
|
|
|
// 同步病案诊断到医保诊断
|
|
|
-const syncronizeWithSiDiagnose = (code) => {
|
|
|
+const syncronizeWithSiDiagnose = code => {
|
|
|
selectSiDiagByBaDiag(code).then(res => {
|
|
|
ybDiag.code = res.code;
|
|
|
ybDiag.name = res.name;
|
|
|
ybDiag.cyzg = 0;
|
|
|
ybDiag.siDiagType = 1;
|
|
|
if (!ybDiags.value || ybDiags.value.length === 0) {
|
|
|
- fetchSsfz(res.code, props.patientInfo.inpatientNo, props.patientInfo.admissTimes).then(
|
|
|
- res2 => {
|
|
|
- diseFamilyGrade.value = res2;
|
|
|
- }
|
|
|
- );
|
|
|
+ fetchSsfz(
|
|
|
+ res.code,
|
|
|
+ props.patientInfo.inpatientNo,
|
|
|
+ props.patientInfo.admissTimes
|
|
|
+ ).then(res2 => {
|
|
|
+ diseFamilyGrade.value = res2;
|
|
|
+ });
|
|
|
}
|
|
|
});
|
|
|
};
|
|
@@ -835,7 +845,7 @@ const addYiZhuClick = () => {
|
|
|
};
|
|
|
|
|
|
let yzList = ref([]);
|
|
|
-let patientAllergenData = ref([]);
|
|
|
+let patientAllergenData = ref([]);
|
|
|
const currentConfirmOrdersClick = async () => {
|
|
|
if (!props.patientInfo.inpatientNo) {
|
|
|
BizException(ExceptionEnum.MESSAGE_ERROR, "请先选择患者");
|
|
@@ -846,92 +856,93 @@ const currentConfirmOrdersClick = async () => {
|
|
|
await getInfoRationalUseOfMedicine(
|
|
|
props.patientInfo.inpatientNo,
|
|
|
props.patientInfo.admissTimes
|
|
|
- ).then(res=>{
|
|
|
- if(res && res.list && res.list.length>0){
|
|
|
- let resultList = res.list
|
|
|
- let currentGroupNo = 0
|
|
|
- resultList.forEach(item=>{
|
|
|
- if(item.parentNo) {
|
|
|
- let groupParent = resultList.find(citem => citem.actOrderNo === item.parentNo)
|
|
|
- if(groupParent){
|
|
|
- if(groupParent.group) {
|
|
|
- item.group = groupParent.group
|
|
|
- } else {
|
|
|
- item.group = currentGroupNo
|
|
|
- groupParent.group = currentGroupNo
|
|
|
- }
|
|
|
+ )
|
|
|
+ .then(res => {
|
|
|
+ if (res && res.list && res.list.length > 0) {
|
|
|
+ let resultList = res.list;
|
|
|
+ let currentGroupNo = 0;
|
|
|
+ resultList.forEach(item => {
|
|
|
+ if (item.parentNo) {
|
|
|
+ let groupParent = resultList.find(
|
|
|
+ citem => citem.actOrderNo === item.parentNo
|
|
|
+ );
|
|
|
+ if (groupParent) {
|
|
|
+ if (groupParent.group) {
|
|
|
+ item.group = groupParent.group;
|
|
|
+ } else {
|
|
|
+ item.group = currentGroupNo;
|
|
|
+ groupParent.group = currentGroupNo;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ currentGroupNo++;
|
|
|
+ } else if (!item.group) {
|
|
|
+ item.group = currentGroupNo;
|
|
|
+ currentGroupNo++;
|
|
|
}
|
|
|
- currentGroupNo++ ;
|
|
|
- } else if(!item.group) {
|
|
|
- item.group = currentGroupNo
|
|
|
- currentGroupNo++ ;
|
|
|
- }
|
|
|
- })
|
|
|
- console.log("resultList",resultList);
|
|
|
- yzList.value = resultList.map(item=> (
|
|
|
- {
|
|
|
- id : item.id ,
|
|
|
- code : item.orderCode,
|
|
|
- route : item.supplyCodeName,
|
|
|
- dose :item.dose ,
|
|
|
- doseUnit : item.doseUnitName,
|
|
|
- freq : item.frequCode,
|
|
|
- unit : item.miniUnitName ,
|
|
|
- repeat : item.frequCode ? item.frequCode == "ONCE" ? "0" : "1" : "",
|
|
|
- startDateTime : item.startTime,
|
|
|
- group : item.group + ""
|
|
|
- }
|
|
|
- )
|
|
|
- );
|
|
|
- console.log(yzList.value,"yzList")
|
|
|
- }
|
|
|
- }).catch(err=>{
|
|
|
- console.log("err",err);
|
|
|
- BizException(ExceptionEnum.MESSAGE_ERROR, "网络错误!");
|
|
|
- })
|
|
|
+ });
|
|
|
+ console.log("resultList", resultList);
|
|
|
+ yzList.value = resultList.map(item => ({
|
|
|
+ id: item.id,
|
|
|
+ code: item.orderCode,
|
|
|
+ route: item.supplyCodeName,
|
|
|
+ dose: item.dose,
|
|
|
+ doseUnit: item.doseUnitName,
|
|
|
+ freq: item.frequCode,
|
|
|
+ unit: item.miniUnitName,
|
|
|
+ repeat: item.frequCode ? (item.frequCode == "ONCE" ? "0" : "1") : "",
|
|
|
+ startDateTime: item.startTime,
|
|
|
+ group: item.group + "",
|
|
|
+ }));
|
|
|
+ console.log(yzList.value, "yzList");
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ console.log("err", err);
|
|
|
+ BizException(ExceptionEnum.MESSAGE_ERROR, "网络错误!");
|
|
|
+ });
|
|
|
// 获取患者诊断
|
|
|
- let admissDigArr = props.patientInfo.admissDiag.split(",")
|
|
|
- let admissDigNameArr = props.patientInfo.admissDiagStr.split(",")
|
|
|
- let patientDiag = ref([])
|
|
|
+ let admissDigArr = props.patientInfo.admissDiag.split(",");
|
|
|
+ let admissDigNameArr = props.patientInfo.admissDiagStr.split(",");
|
|
|
+ let patientDiag = ref([]);
|
|
|
for (let i = 0; i < admissDigArr.length; i++) {
|
|
|
patientDiag.value.push({
|
|
|
code: admissDigArr[i],
|
|
|
- name: admissDigNameArr[i]
|
|
|
- })
|
|
|
+ name: admissDigNameArr[i],
|
|
|
+ });
|
|
|
}
|
|
|
// 获取患者过敏史
|
|
|
- await getPatientAllergens(props.patientInfo.inpatientNo).then((res) => {
|
|
|
- patientAllergenData.value = res
|
|
|
- console.log("patientAllergenData",patientAllergenData.value);
|
|
|
- })
|
|
|
+ await getPatientAllergens(props.patientInfo.inpatientNo).then(res => {
|
|
|
+ patientAllergenData.value = res;
|
|
|
+ console.log("patientAllergenData", patientAllergenData.value);
|
|
|
+ });
|
|
|
// console.log("yiZhuData",yiZhuData);
|
|
|
let params = {
|
|
|
- station:{
|
|
|
- "type":"1" //门诊2 住院1,工作站类型
|
|
|
+ station: {
|
|
|
+ type: "1", //门诊2 住院1,工作站类型
|
|
|
},
|
|
|
doctor: {
|
|
|
- code: userStore.codeRs, //医生编码
|
|
|
- name: userStore.name , //医生姓名
|
|
|
- deptCode:userStore.deptCode, //科室编码
|
|
|
+ code: userStore.codeRs, //医生编码
|
|
|
+ name: userStore.name, //医生姓名
|
|
|
+ deptCode: userStore.deptCode, //科室编码
|
|
|
},
|
|
|
- patient:{
|
|
|
- id : props.patientInfo.inpatientNo,
|
|
|
- code : props.patientInfo.patNo,
|
|
|
- visitId:"" ,
|
|
|
- name : props.patientInfo.name,
|
|
|
- chargeType : props.patientInfo.medTypeName,
|
|
|
- sex : props.patientInfo.sexName,
|
|
|
- deptCode : props.patientInfo.smallDept,
|
|
|
- birthday : props.patientInfo.birthDate,
|
|
|
- height :"",
|
|
|
- weight :"",
|
|
|
- medconds :{
|
|
|
- diag : patientDiag,
|
|
|
- allergens : patientAllergenData.value
|
|
|
- }
|
|
|
+ patient: {
|
|
|
+ id: props.patientInfo.inpatientNo,
|
|
|
+ code: props.patientInfo.patNo,
|
|
|
+ visitId: "",
|
|
|
+ name: props.patientInfo.name,
|
|
|
+ chargeType: props.patientInfo.medTypeName,
|
|
|
+ sex: props.patientInfo.sexName,
|
|
|
+ deptCode: props.patientInfo.smallDept,
|
|
|
+ birthday: props.patientInfo.birthDate,
|
|
|
+ height: "",
|
|
|
+ weight: "",
|
|
|
+ medconds: {
|
|
|
+ diag: patientDiag,
|
|
|
+ allergens: patientAllergenData.value,
|
|
|
+ },
|
|
|
},
|
|
|
- orders:yzList
|
|
|
- }
|
|
|
+ orders: yzList,
|
|
|
+ };
|
|
|
// console.log("userStore",userStore);
|
|
|
// console.log("MLRKON_CLIENT",MLRKON_CLIENT)
|
|
|
// console.log("MLRKON_CLIENT-params",params)
|
|
@@ -945,15 +956,15 @@ const currentConfirmOrdersClick = async () => {
|
|
|
// xcMessage.error("合理用药未通过");
|
|
|
// }
|
|
|
// }
|
|
|
-
|
|
|
+
|
|
|
// await MLRKON_CLIENT.doCall("srv_screen", JSON.stringify(params), { "api": false, "timeout": 10000}, getResult)
|
|
|
- props.confirmOrdersClick()
|
|
|
+ props.confirmOrdersClick();
|
|
|
// return
|
|
|
};
|
|
|
|
|
|
- const mlrkonCallBack = (data) => {
|
|
|
- console.log("mlrkonCallBack",data);
|
|
|
- };
|
|
|
+const mlrkonCallBack = data => {
|
|
|
+ console.log("mlrkonCallBack", data);
|
|
|
+};
|
|
|
|
|
|
/**
|
|
|
* 确认医嘱
|