Browse Source

合理用药

DESKTOP-0GD05B0\Administrator 2 years ago
parent
commit
25c9084598

+ 9 - 0
src/api/heliyongyao/rational-use.js

@@ -0,0 +1,9 @@
+import request from "@/utils/request";
+
+export function rationalUseOfMedicine(patNo, times) {
+    return request({
+        url: '/RationalUse/rationalUseOfMedicine',
+        method: 'get',
+        params: {patNo, times}
+    })
+}

+ 48 - 0
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/RationalDrugUseWindow.vue

@@ -0,0 +1,48 @@
+<template>
+  <xc-dialog-v2 v-model="dialog" title="合理用药提示"
+                :manual-shutdown="true">
+    <div style="width: 100%;height: 500px">
+      <iframe :src="rationalUse.ShowUrl"/>
+    </div>
+    <template #footer>
+      <el-button type="primary" @click="continueToSubmit">继续提交</el-button>
+    </template>
+  </xc-dialog-v2>
+</template>
+
+<script setup name='RationalDrugUseWindow'>
+import {rationalUseOfMedicine} from "@/api/heliyongyao/rational-use";
+import XcDialogV2 from "@/components/xiao-chan/dialog/XcDialogV2.vue";
+
+
+const emit = defineEmits(['submit'])
+
+let dialog = $ref(false)
+let rationalUse = $ref({})
+const check = async (patNo, times) => {
+  rationalUse = await rationalUseOfMedicine(patNo, times)
+  console.log(rationalUse)
+  if (rationalUse.result_lv > 0) {
+    dialog = true
+    return false
+  }
+  return true
+}
+
+const continueToSubmit = () => {
+  emit('submit')
+  dialog = false
+}
+
+defineExpose({
+  check
+})
+
+</script>
+
+<style scoped lang="scss">
+iframe {
+  width: 100%;
+  height: 100%;
+}
+</style>

+ 18 - 1
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/YiZhuLuRu.vue

@@ -64,6 +64,9 @@
                    @close="allergen.dialog = false"/>
 
     <order-progress ref="orderProgressRef"/>
+
+    <!--  合理用药窗口  -->
+    <rational-drug-use-window ref="reasonableRef" @submit="confirmOrder"/>
   </div>
 
 </template>
@@ -107,6 +110,8 @@ import YaoPingXiangQing from "@/components/zhu-yuan-yi-sheng/he-li-yong-yao/YaoP
 import AllergenEntry from "@/components/zhu-yuan-yi-sheng/AllergenEntry.vue";
 import OrderProgress from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/OrderProgress.vue";
 import {getEmrUrl} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-init";
+import {isDev} from "@/utils/public";
+import RationalDrugUseWindow from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/RationalDrugUseWindow.vue";
 
 const windowSize = computed(() => {
   return store.state.app.windowSize
@@ -146,12 +151,24 @@ const addYiZhuClick = () => {
   yzEditorRef.value.addOrderNo()
 }
 
+const reasonableRef = ref(null)
+
 /**
  * 确认医嘱 , 已经做过无患者的判断了
  */
 const confirmOrdersClick = async () => {
+  // 如果没有问题就可以直接确认医嘱了。
+  let temp = await reasonableRef.value.check(huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes)
+  if (temp) {
+    await confirmOrder()
+    console.log('无错误药品直接确认');
+  }
+}
+
+// 真正的向后台确认医嘱
+const confirmOrder = async () => {
   // 确认医嘱
-  await yzEditorRef.value.confirmOrdersClick()
+  // await yzEditorRef.value.confirmOrdersClick()
   // 查询医嘱
   await yzQueryRef.value.queryYz()
 }