Kaynağa Gözat

优化虚拟列表有医嘱录入查询

xiaochan 2 yıl önce
ebeveyn
işleme
7abd23ed65

+ 1 - 1
.env.production

@@ -2,4 +2,4 @@ ENV = 'production'
 
 VITE_BASE_URL = 'http://172.16.32.160:8706'
 VITE_SOCKET_URL = 'ws://172.16.32.160:8706/websocket/'
-VITE_EMR_CONTROL_URL = '172.16.30.61:9227'
+VITE_EMR_CONTROL_URL = '172.16.32.160:9227'

+ 2 - 2
src/components/xiao-chan/combo-grid/XcComboGridV2.vue

@@ -250,8 +250,8 @@ onMounted(async () => {
           ref="vxeTableRef"
           :height="200"
           border
-          :scroll-x="{gt: 20}"
-          :scroll-y="{gt: 50,enabled: true}"
+          :scroll-x="{gt: 0,enabled: false}"
+          :scroll-y="{gt: 0 ,enabled: true}"
           :column-config="{resizable: true}"
           :row-config="{ height: 24,isCurrent: true,isHover:true }"
           class="vxe-padding_zero vxe-header-max_content hl-style vxe-scroll_15"

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

@@ -22,8 +22,8 @@
                    :height="height"
                    class="vxe-padding_zero"
                    align="left"
-                   :scroll-x="{gt: 20}"
-                   :scroll-y="{gt: 50,enabled: true}"
+                   :scroll-x="{gt: 0,enabled: false}"
+                   :scroll-y="{gt: 0 ,enabled: true}"
                    show-header-overflow
                    border
                    :row-config="{isHover : true, isCurrent: true,height: 24,useKey :  'actOrderNo'}"

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

@@ -92,8 +92,8 @@
                        :row-config="{isHover : true, isCurrent: true,height: 24}"
                        show-header-overflow
                        show-overflow
-                       :scroll-x="{gt: 20}"
-                       :scroll-y="{gt: 50,enabled: true}"
+                       :scroll-x="{gt: 0,enabled: false}"
+                       :scroll-y="{gt: 0 ,enabled: true}"
                        class="vxe-padding_zero"
                        @cell-click="sidebarRow"
                        :data="sidebarList">

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

@@ -22,8 +22,8 @@
         </div>
         <vxe-table :height="height - 40"
                    border
-                   :scroll-x="{gt: 20}"
-                   :scroll-y="{gt: 50,enabled: true}"
+                   :scroll-x="{gt: 0,enabled: false}"
+                   :scroll-y="{gt: 0 ,enabled: true}"
                    :column-config="{resizable: true}"
                    :row-config="{ height: 24}"
                    class="vxe-padding_zero hl-style"

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

@@ -80,7 +80,7 @@ const header = [
   {code: 'supplyCodeName', name: '给药方式', width: 60},
   {
     code: 'startTime', name: '开始时间', width: 95, cellRenderer: ({data}) => {
-      return h('span', {}, timeFomat(data.startTime)) //  (<span>{timeFomat(data.startTime)}</span>)
+      return h('span', {}, timeFomat(data.startTime))
     }
   },
   {
@@ -390,6 +390,7 @@ const callTemplate = (list) => {
 }
 
 onMounted(() => {
+
   yzMitt.on('tableScroll', (val) => {
     tableRef.value.scrollTo(val)
   })

+ 0 - 4
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/yz-header/YzQueryCondition.vue

@@ -448,10 +448,6 @@ const oneClickStopOpen = () => {
 }
 
 
-watch(() => props.patientInfo, () => {
-  queryYz()
-})
-
 onMounted(async () => {
   yzMitt.on('queryYz', (val) => {
     return queryYz(val)

+ 5 - 5
src/router/modules/dashboard.js

@@ -965,11 +965,11 @@ const route = [
                 component: createNameComponent(() => import('@/views/target-management/target-dict/TargetDictInfo.vue')),
                 meta: {title: '指标详情'},
             },
-            {
-                path: 'targetDict/targetReportConfig',
-                component: createNameComponent(() => import('@/views/target-management/target-dict/TargetReportConfig.vue')),
-                meta: {title: '指标报表维护'},
-            }
+            // {
+            //     path: 'targetDict/targetReportConfig',
+            //     component: createNameComponent(() => import('@/views/target-management/target-dict/TargetReportConfig.vue')),
+            //     meta: {title: '指标报表维护'},
+            // }
         ],
     },
 ];

+ 4 - 0
src/utils/mitt.ts

@@ -9,6 +9,10 @@ class EventBus {
         this.emits.delete(name);
     };
 
+    exists(name: string) {
+        return this.emits.has(name);
+    }
+
     emit(name: string, ...arg: any[]) {
         if (this.emits.has(name)) {
             let cb = this.emits.get(name)

+ 0 - 1
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/EmrMain.vue

@@ -1360,7 +1360,6 @@ onMounted(async () => {
     location.reload();
   })
 
-
   watch(() => visibility.value, () => {
     // 离开页面的时候清空定时器
     if (visibility.value === 'hidden' && isEditorChange) {

+ 4 - 4
src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/components/public/JcJyTemplate.vue

@@ -57,8 +57,8 @@ const selectAll = (data) => {
              style="width: 220px"
              border
              @cell-click="cellClick"
-             :scroll-x="{gt: 50}"
-             :scroll-y="{gt: 10}"
+             :scroll-x="{gt: 0,enabled: false}"
+             :scroll-y="{gt: 0 ,enabled: true}"
              :column-config="{resizable: true}"
              :row-config="{height: 24}"
              class="vxe-padding_zero vxe-header-max_content vxe-scroll_15"
@@ -79,8 +79,8 @@ const selectAll = (data) => {
                style="width: 100%"
                border
                ref="vxeTableRef"
-               :scroll-x="{gt: 50}"
-               :scroll-y="{gt: 10}"
+               :scroll-x="{gt: 0,enabled: false}"
+               :scroll-y="{gt: 0 ,enabled: true}"
                @cell-click="tempClick"
                :column-config="{resizable: true}"
                :row-config="{height: 24}"

+ 10 - 20
src/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng.ts

@@ -3,10 +3,10 @@ import {stringIsBlank, stringNotBlank} from "../../../../utils/blank-utils";
 import {ElMessage} from "element-plus";
 import {getPatientInfo} from "../../../../api/inpatient/patient";
 import {BizException, ExceptionEnum} from "../../../../utils/BizException";
-import {ref} from "vue";
+import {nextTick, ref} from "vue";
 import {getServerDateApi} from "../../../../api/public-api";
-import {getFormatDatetime} from "../../../..//utils/date";
-import {isDev} from "../../../..//utils/public";
+import {getFormatDatetime} from "../../../../utils/date";
+import {isDev} from "../../../../utils/public";
 import {huoQuYiZhuShuJu} from "../../../../api/zhu-yuan-yi-sheng/yi-zhu-lu-ru";
 import EventBus from "../../../../utils/mitt";
 import XEUtils from 'xe-utils'
@@ -53,22 +53,6 @@ export function getSelfBuy(val) {
     }
 }
 
-export function shouShuDengJi(val) {
-    if (stringIsBlank(val)) return ""
-    switch (val) {
-        case "1":
-            return "四级";
-        case "2":
-            return "三级";
-        case "3":
-            return "二级";
-        case "4":
-            return "一级";
-        default:
-            return "";
-    }
-}
-
 export let zkList = ref([])
 
 export const frequCodeEnum = {
@@ -423,7 +407,7 @@ function setSerialName(item: any) {
 
 
 // 数据筛选
-export const tempYzData = computed(() => {
+export const tempYzData = computed<yzType[]>(() => {
     // 转成数状图
     return yzData.value.filter((item, index) => {
         let flag = queryParam.value.displayRange === 0
@@ -521,6 +505,12 @@ export const mingXi = ref({
 export const clickOnThePatient = async (patNo) => {
     switchPatients()
     huanZheXinXi.value = await getPatientInfo(patNo) as any
+    if (!yzMitt.exists('queryYz')) {
+        await jsQueryYzData()
+    } else {
+        await nextTick()
+        yzMitt.emit('queryYz')
+    }
     queryParam.value.frequCode = frequCodeEnum.all
     queryParam.value.zhuangTai = 0
     queryParam.value.displayRange = 2

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

@@ -358,8 +358,9 @@ const editSizeRef = ref(null)
 onMounted(async () => {
 
   yzMitt.on("allergen", allergen.open)
-
   yzMitt.on('clickOnTheOrderTemplate', clickOnTheOrderTemplate)
+  yzMitt.on('clickAssociate', clickAssociate)
+  yzMitt.on('rowClick', rowClick)
 
   getSupplyType().then(res => {
     geiYaoFangShiData.value = res

+ 48 - 48
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/components/FeeTable.vue

@@ -11,73 +11,73 @@ const tableRef = ref(null)
 const orderData = ref()
 
 const queryFeeByOrderNo = (data) => {
-    orderData.value = data
-    queryFeeByOrderNoApi(data.actOrderNo).then(res => {
-        dialog.value = true
-        feeList.value = res
-    })
+  orderData.value = data
+  queryFeeByOrderNoApi(data.actOrderNo).then(res => {
+    dialog.value = true
+    feeList.value = res
+  })
 }
 
 
 const refundStatus = (val) => {
-    if (val === -1) {
-        return <span style="color: red">退费数据</span>
-    } else if (val > 0) {
-        return <span style="color: black">原流水 {val}</span>
-    }
+  if (val === -1) {
+    return <span style="color: red">退费数据</span>
+  } else if (val > 0) {
+    return <span style="color: black">原流水 {val}</span>
+  }
 }
 
 const filterRoleMethod = ({value, row}) => {
-    if (value === 1 && row.oriDetailSn === 0) {
-        return true
-    }
-    if (value === 2 && row.oriDetailSn > 0) {
-        return true
-    }
-    if (value === 3 && row.oriDetailSn === -1) {
-        return true
-    }
+  if (value === 1 && row.oriDetailSn === 0) {
+    return true
+  }
+  if (value === 2 && row.oriDetailSn > 0) {
+    return true
+  }
+  if (value === 3 && row.oriDetailSn === -1) {
+    return true
+  }
 }
 
 const tableCheckboxConfig = ref({
-    checkMethod: ({row}) => {
-        return row.oriDetailSn === 0
-    }
+  checkMethod: ({row}) => {
+    return row.oriDetailSn === 0
+  }
 })
 
 
 onMounted(() => {
-    yzMitt.on('queryFeeByOrderNo', queryFeeByOrderNo)
+  yzMitt.on('queryFeeByOrderNo', queryFeeByOrderNo)
 })
 
 </script>
 
 <template>
-    <el-dialog v-model="dialog" title="费用详情" width="80%" top="3%">
-        <vxe-table :data="feeList"
-                   border
-                   ref="tableRef"
-                   :checkbox-config="tableCheckboxConfig"
-                   :row-config="{isHover : true, isCurrent: true,height: 24,useKey :  'rowId'}"
-                   :height="getWindowSize.h / 1.2">
-            <vxe-column type="seq" width="50"/>
-            <vxe-column type="checkbox" width="35"/>
-            <vxe-column field="chargeDate" title="收费时间" width="150" sortable/>
-            <vxe-column field="genTime" title="执行时间" width="150"/>
-            <vxe-column field="chargeCodeName" title="项目名称" min-width="120"/>
-            <vxe-column field="chargeCodeMx" title="项目编码" min-width="80"/>
-            <vxe-column field="chargeFee" title="金额" min-width="40"/>
-            <vxe-column field="execDept" title="执行" min-width="60"/>
-            <vxe-column field="chargeAmount" title="数量" min-width="40" sortable/>
-            <vxe-column title="退费"
-                        :filters="[{ label: '未退', value: 1 }, { label: '退费', value: 2 },{ label: '被退', value: 3 }]"
-                        :filter-method="filterRoleMethod">
-                <template #default="{row}">
-                    <component :is="refundStatus(row.oriDetailSn)"/>
-                </template>
-            </vxe-column>
-        </vxe-table>
-    </el-dialog>
+  <el-dialog v-model="dialog" title="费用详情" width="80%" top="3%">
+    <vxe-table :data="feeList"
+               border
+               ref="tableRef"
+               :checkbox-config="tableCheckboxConfig"
+               :row-config="{isHover : true, isCurrent: true,height: 24,useKey :  'rowId'}"
+               :height="getWindowSize.h / 1.2">
+      <vxe-column type="seq" width="50"/>
+      <vxe-column type="checkbox" width="35"/>
+      <vxe-column field="chargeDate" title="收费时间" width="150" sortable/>
+      <vxe-column field="genTime" title="执行时间" width="150"/>
+      <vxe-column field="chargeCodeName" title="项目名称" min-width="120"/>
+      <vxe-column field="chargeCodeMx" title="项目编码" min-width="80"/>
+      <vxe-column field="chargeFee" title="金额" min-width="40"/>
+      <vxe-column field="execDept" title="执行" min-width="60"/>
+      <vxe-column field="chargeAmount" title="数量" min-width="40" sortable/>
+      <vxe-column title="退费"
+                  :filters="[{ label: '未退', value: 1 }, { label: '退费', value: 2 },{ label: '被退', value: 3 }]"
+                  :filter-method="filterRoleMethod">
+        <template #default="{row}">
+          <component :is="refundStatus(row.oriDetailSn)"/>
+        </template>
+      </vxe-column>
+    </vxe-table>
+  </el-dialog>
 </template>
 
 <style scoped lang="scss">

+ 2 - 2
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/components/table/YzTableV3.vue

@@ -44,8 +44,8 @@ function getYiZhuFlag(val) {
 <template>
   <vxe-table :height="662"
              border
-             :scroll-x="{gt: 50}"
-             :scroll-y="{gt: 0}"
+             :scroll-x="{gt: 0,enabled: false}"
+             :scroll-y="{gt: 0 ,enabled: true}"
              :column-config="{resizable: true}"
              :row-config="{height: 24}"
              class="vxe-padding_zero"