Ver Fonte

检验检查说明和注意事项

xiaochan há 1 ano atrás
pai
commit
61e2ff064a

+ 17 - 0
src/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing.js

@@ -208,3 +208,20 @@ export function getExamineDetail(jcId) {
         params: {jcId}
     })
 }
+
+/**
+ *
+ * @param orderCode
+ * @param isCheck
+ * @return {Promise<{
+ * note: string,
+ *   collectionInfo: string
+ * }>}
+ */
+export function getExamineIllustrate(orderCode, isCheck) {
+    return request({
+        url: url + 'getExamineIllustrate',
+        method: 'get',
+        params: {orderCode, isCheck}
+    })
+}

+ 2 - 1
src/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrAuxiliaryTools.vue

@@ -121,6 +121,7 @@ import {
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-tutorial";
 import EmrTestV2 from "@/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrTestV2/EmrTestV2.vue";
 import {useZIndex} from "element-plus";
+import {openPatientImage} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
 
 const props = defineProps({
   patInfo: {
@@ -177,7 +178,7 @@ const handleDrawerOpened = () => {
 }
 
 function openWindow() {
-  window.open(`http://172.16.32.122:8081/Clinical?inHospitalNum=${patInfo.value.inpatientNo}`, '_blank');
+  openPatientImage(patInfo.value.inpatientNo)
 }
 
 onMounted(async () => {

+ 2 - 2
src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianChaShenQing.vue

@@ -81,7 +81,7 @@ import {
   youWuXuanZheHuanZhe,
   yzSize,
   jsQueryYzData,
-  jcExtraInformation, onChangePatient
+  jcExtraInformation, onChangePatient, openPatientImage
 } from '@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng'
 import {computed, ref} from 'vue'
 import {
@@ -272,7 +272,7 @@ const searchAdd = (data) => {
 
 function imageClick() {
   if (youWuXuanZheHuanZhe()) return
-  window.open(`http://172.16.32.122:8081/Clinical?inHospitalNum=${huanZheXinXi.value.inpatientNo}`, '_blank');
+  openPatientImage(huanZheXinXi.value.inpatientNo)
 }
 
 

+ 32 - 11
src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/components/public/JianChaJianYanTable.vue

@@ -1,13 +1,13 @@
-<script setup name='JianChaJianYanTable'>
+<script setup lang="ts">
 import {yzSize} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
 import {huoQuZhiXinKeShi} from "@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru";
 import XcComboGrid from "@/components/xiao-chan/combo-grid/XcComboGrid.vue";
 import {
   biaoBenApi,
-  diagnosisInOurHospital,
+  diagnosisInOurHospital, getExamineIllustrate,
   viewInspectionItemDetails
 } from "@/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing";
-import {computed} from "vue";
+import {computed, onMounted, watch, ref} from "vue";
 import store from "@/store";
 import XcComboGridV2 from "@/components/xiao-chan/combo-grid/XcComboGridV2.vue";
 import {useVModels} from "@vueuse/core";
@@ -65,7 +65,6 @@ const tableHeight = computed(() => {
 const PATHOLOGY = '038'
 
 const needPublicData = computed(() => {
-
   if (isCheck.value) {
     return true
   } else {
@@ -76,7 +75,6 @@ const needPublicData = computed(() => {
       }
     }
   }
-
 })
 
 const enterPadding = (val) => {
@@ -106,12 +104,34 @@ const showStartTime = () => {
   return userInfo.value.deptCode === '1160000' || userInfo.value.deptCode === '3100000'
 }
 
-function explanationClick(value) {
-  CyMessageBox.confirm({
-    type: 'info',
-    title: '说明',
-    message: value.note,
-  })
+declare type  ExamineIllustrate = {
+  note: string,
+  collectionInfo: string
+}
+
+const examineIllustrate = new Map<string, ExamineIllustrate>();
+
+
+function explanationClick(value : {orderCode : string}) {
+  function messageBox(data: ExamineIllustrate) {
+    const message = `注意事项:${data.note}<br/><br/>采集说明:${data.collectionInfo}。`;
+    CyMessageBox.confirm({
+      type: 'info',
+      title: '说明',
+      message,
+      dangerouslyUseHTMLString: true,
+    })
+  }
+
+  if (examineIllustrate.has(value.orderCode)) {
+    messageBox(examineIllustrate.get(value.orderCode))
+  } else {
+    getExamineIllustrate(value.orderCode, props.isCheck).then(res => {
+      examineIllustrate.set(value.orderCode, res)
+      messageBox(res)
+    })
+  }
+
 }
 
 
@@ -119,6 +139,7 @@ onMounted(() => {
   watch(() => data.value.length, () => {
     if (data.value.length === 0) {
       feeListMap.value = {}
+      examineIllustrate.clear()
     }
   })
 })

+ 0 - 38
src/views/hospitalization/zhu-yuan-yi-sheng/public-js/yz-default-value-info.ts

@@ -1,38 +0,0 @@
-import {feeKey, huanZheXinXi, queryParam, SearchOrdersType, yiZhuData, yzMitt, YzType} from "./zhu-yuan-yi-sheng";
-import {huoQuFeiYongXinXi} from "../../../../api/zhu-yuan-yi-sheng/yi-zhu-lu-ru";
-
-const defaultValueYzInfo = async (isSearch: boolean, data: SearchOrdersType | YzType): Promise<void> => {
-    if (data.serial !== '00') {
-        await drug(data)
-    } else {
-        await item(data)
-    }
-}
-
-const drug = async (data: SearchOrdersType | YzType) => {
-    const key = feeKey(data.orderCode, data.serial, huanZheXinXi.value.zkWard, queryParam.value.groupNo, yiZhuData.value.superiorDoctor, yiZhuData.value.statusFlag)
-    const {
-        permissionPrompt,
-        prompt,
-        data: drugInfo,
-        yaoPingJiLiang
-    } = await huoQuFeiYongXinXi(key)
-
-    if (permissionPrompt) {
-        try {
-            const authorization = await yzMitt.emit('openDoctorAuthoriztion', data.orderCode + '_' + data.serial)
-        } catch {
-            return
-        }
-
-    }
-
-
-}
-
-const item = async (data: SearchOrdersType | YzType): Promise<void> => {
-
-}
-
-
-export default defaultValueYzInfo;

+ 14 - 1
src/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng.ts

@@ -2,7 +2,7 @@ import {stringIsBlank, stringNotBlank} from "../../../../utils/blank-utils";
 import {ElMessage} from "element-plus";
 import {getPatientInfo, getDrgPatInfo} from "../../../../api/inpatient/patient";
 import {BizException, ExceptionEnum} from "../../../../utils/BizException";
-import {nextTick, Ref, ref, computed, onActivated, onDeactivated, warn} from "vue";
+import {nextTick, Ref, ref, computed, onActivated, onDeactivated} from "vue";
 import {getServerDateApi} from "../../../../api/public-api";
 import {getFormatDatetime} from "../../../../utils/date";
 import {isDev} from "../../../../utils/public";
@@ -951,3 +951,16 @@ function ChangePatient(index: number, cb: () => void) {
         changePatientHook.delete(index)
     })
 }
+
+export const openPatientImage = (value: string | { patNo?: string, patientUid?: string }): void => {
+    if (XEUtils.isString(value)) {
+        window.open(`http://172.16.32.122:8081/Clinical?inHospitalNum=${value}`, '_blank')
+    }
+    if (XEUtils.isObject(value)) {
+        if (value.patientUid) {
+            window.open(`http://172.16.32.122:8081/Clinical?patientUid=${value.patientUid}`, '_blank')
+            return
+        }
+    }
+}
+