Преглед изворни кода

医嘱录入中复制父医嘱也可以复制子医嘱

DESKTOP-0GD05B0\Administrator пре 2 година
родитељ
комит
ddd6c16a1c

+ 8 - 0
src/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru.js

@@ -281,3 +281,11 @@ export function confirmTheDoctorSOrderWithMedicine(patNo, times) {
     })
 }
 
+export function copyTheDoctorSOrder(orderNo) {
+    return request({
+        url: url + '/copyTheDoctorSOrder',
+        method: 'get',
+        params: {orderNo}
+    })
+}
+

+ 0 - 2
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/table/YzTableV2.vue

@@ -163,8 +163,6 @@ const rowClassName = (row) => {
   if (row.actOrderNo === yiZhuData.value.actOrderNo) {
     return 'selected_order'
   }
-
-
 }
 
 const rowClick = (row) => {

+ 7 - 20
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/yz-edit/YzEditor.vue

@@ -246,7 +246,7 @@
 
 <script setup name='YzEditor'>
 import {
-  confirmOrders,
+  confirmOrders, copyTheDoctorSOrder,
   enterOrders, getCostFreeDosing,
   getOrderNo,
   getParentOrders,
@@ -277,7 +277,8 @@ import {
   currentPage,
   isCydy,
   drugManual,
-  tableHeader
+  tableHeader,
+  orderFunc
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
 import {ElMessageBox} from "element-plus";
 import YzDialog from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/dialog/YzDialog";
@@ -294,6 +295,8 @@ const props = defineProps({
   openGroupOrderTemplate: Function,
 })
 
+const emits = defineEmits(['duplicateAndPaste'])
+
 
 let parentOrder = [
   {prop: 'actOrderNo', label: "医嘱号"},
@@ -793,7 +796,6 @@ const clickError = (val) => {
  */
 let tempData = null
 const fillData = async (data) => {
-
   await fuYiZhuClick()
   await xuanZhongFeiYong(data, 2)
   tempData = JSON.stringify(yiZhuData.value)
@@ -807,22 +809,8 @@ const duplicateAndPaste = async () => {
   if (stringIsBlank(yiZhuData.value.actOrderNo)) {
     BizException(ExceptionEnum.MESSAGE_ERROR, '请先选择医嘱')
   }
-  let temp = clone(yiZhuData.value)
-  qingKong()
-  temp.actOrderNo = await getOrderNo()
-  temp.statusFlag = '1'
-  let newDate = await getServerDateApi()
-  temp.orderTime = newDate
-  temp.startTime = newDate
-  temp.endTime = null
-  temp.enterOper = store.getters['user/info'].code
-  temp.enterOperName = store.getters['user/info'].name
-  temp.signerName = ''
-  temp.signer = ''
-  temp.modifierName = ''
-  temp.modifier = ''
-
-  await xuanZhongFeiYong(temp, 2)
+  await copyTheDoctorSOrder(yiZhuData.value.actOrderNo)
+  emits('duplicateAndPaste')
 }
 
 // 删除医嘱
@@ -830,7 +818,6 @@ const toDeleteAnOrderClick = () => {
   if (stringIsBlank(yiZhuData.value.actOrderNo)) {
     BizException(ExceptionEnum.MESSAGE_ERROR, '请先选择要删除的医嘱')
   }
-
   ElMessageBox.confirm(`确认是否要删除<span style="color: red"> ${yiZhuData.value.orderName} </span>`, '提示', {
     type: 'warning',
     dangerouslyUseHTMLString: true

+ 9 - 9
src/views/hospitalization/zhu-yuan-yi-sheng/Home.vue

@@ -77,23 +77,23 @@ const handleClick = (path, disable) => {
 }
 
 let pathList = $ref([
-  {path: '/inpatient/zhuYuanYiSheng/yiZhuLuRu', title: '医嘱录入'},
+  {path: '/inpatient/zhuYuanYiSheng/yiZhuLuRu', title: '医嘱'},
   {path: '/inpatient/zhuYuanYiSheng/yiZhuLuRu?pattern=takeMedicine', title: '出院带药'},
-  {path: '/inpatient/zhuYuanYiSheng/huiZhenShenQing', title: '会诊申请'},
-  {path: '/inpatient/zhuYuanYiSheng/jianChaShenQing', title: '检查申请'},
-  {path: '/inpatient/zhuYuanYiSheng/jianYanShenQing', title: '检验申请'},
-  {path: '/inpatient/zhuYuanYiSheng/shouShuShenQing', title: '查看手术'},
-  {path: '/inpatient/zhuYuanYiSheng/caoYaoYiZhu', title: '查看草药医嘱'},
+  {path: '/inpatient/zhuYuanYiSheng/huiZhenShenQing', title: '会诊'},
+  {path: '/inpatient/zhuYuanYiSheng/jianChaShenQing', title: '检查'},
+  {path: '/inpatient/zhuYuanYiSheng/jianYanShenQing', title: '检验'},
+  {path: '/inpatient/zhuYuanYiSheng/shouShuShenQing', title: '手术'},
+  {path: '/inpatient/zhuYuanYiSheng/caoYaoYiZhu', title: '草药'},
   {
     path: 'dualScreen',
-    title: '双屏模式', func: () => {
+    title: '双屏', func: () => {
       if (youWuXuanZheHuanZhe()) return
       isOpenDualScreen.value = !isOpenDualScreen.value
       dualScreenSrc.value = getEmrUrl(patientInfo.value.inpatientNo, patientInfo.value.admissTimes, 1)
     }
   },
   {
-    title: '电子病历', func: () => {
+    title: '病历', func: () => {
       if (patientInfo.value.inpatientNo) {
         let query = {
           patNo: patientInfo.value.inpatientNo,
@@ -108,7 +108,7 @@ let pathList = $ref([
     }
   },
   {
-    title: 'DRG 预分组', func: () => {
+    title: 'DRG', func: () => {
       if (youWuXuanZheHuanZhe()) return
       getDrgIntelligentGrouping(patientInfo.value.inpatientNo, patientInfo.value.admissTimes).then((res) => {
         window.open(res)

+ 8 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/YiZhuLuRu.vue

@@ -28,6 +28,7 @@
     <div style="height: 5px"/>
     <yz-editor :patient-info="huanZheXinXi"
                ref="yzEditorRef"
+               @duplicate-and-paste="duplicateAndPaste"
                :current-page="currentPage"
                :open-group-order-template="openGroupOrderTemplate"
                :successfullyEntered="successfullyEntered"/>
@@ -37,6 +38,7 @@
                 @rowClick="rowClick"
                 @clickAssociate="clickAssociate"
                 :void-orders="voidOrdersClick"/>
+      <yz-table-v2 ref="tableRef" v-if="false"/>
     </div>
 
     <doctor-s-order-fee :data="chargeDetails.data"
@@ -115,6 +117,7 @@ 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-editor/emr-init";
 import RationalDrugUseWindow from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/RationalDrugUseWindow.vue";
+import YzTableV2 from "@/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/table/YzTableV2.vue";
 
 const windowSize = computed(() => {
   return store.state.app.windowSize
@@ -437,6 +440,11 @@ const openDualScreen = () => {
   dualScreenSrc.value = getEmrUrl(huanZheXinXi.value.inpatientNo, huanZheXinXi.value.admissTimes, 1)
 }
 
+const duplicateAndPaste = async () => {
+  await yzQueryRef.value.queryYz()
+  tableRef.value.scrollToTheEnd()
+}
+
 watch(() => router.currentRoute.value, () => {
   currentPage.value = router.currentRoute.value.query.pattern
 }, {immediate: true})