Browse Source

优化电子病历

xiaochan 1 year ago
parent
commit
dc0368721f

+ 1 - 0
src/components/zhu-yuan-yi-sheng/jian-cha-shen-qing/aside/CheckApplicationHistory.vue

@@ -4,6 +4,7 @@
             layout="total,  prev, pager, next"
             small
             @row-click="detailsClick">
+    <el-table-column label="医嘱号" prop="actOrderNo" width="90"></el-table-column>
     <el-table-column label="项目名称" prop="orderName"></el-table-column>
     <el-table-column label="接受" prop="receiveFlagName" width="80"></el-table-column>
     <el-table-column label="时间" prop="startTime">

+ 7 - 0
src/layout/function-list/Theme.vue

@@ -59,6 +59,13 @@
               >
               </el-switch>
             </el-form-item>
+            <el-form-item label="默认审阅模式">
+              <el-select
+                  v-model="userConfig.emr_review_mode"
+              >
+                <xc-el-option :data="[{code: 0 , name: '关闭'}, {code: 1, name: '卡片'}, {code: 2, name: '嵌入'}]"/>
+              </el-select>
+            </el-form-item>
           </el-collapse-item>
         </el-collapse>
       </el-form>

+ 3 - 1
src/pinia/system-store.ts

@@ -19,7 +19,8 @@ export interface SystemConfig {
     yz_orderBySort: 'desc' | 'asc';
     yz_orderTimeDay: number | 90;
     emr_size: 'default' | 'large';
-    emr_function_button_show_text: boolean
+    emr_function_button_show_text: boolean,
+    emr_review_mode: number;
 }
 
 const userConfig: SystemConfig = {
@@ -29,6 +30,7 @@ const userConfig: SystemConfig = {
     yz_orderTimeDay: 90,
     emr_size: 'large',
     emr_function_button_show_text: true,
+    emr_review_mode: 1,
 }
 
 export const useSystemStore = defineStore('system', {

+ 0 - 1
src/utils/emr/emr-init-v2.ts

@@ -281,7 +281,6 @@ async function useHandleMdt(evt, view, patientData) {
     }).then(res => {
         view.setValue(res)
         view.value = res
-        console.log(res)
     });
 }
 

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

@@ -187,6 +187,7 @@ import {
   useHistoricalData
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-function/useEmrFunction";
 import PatientInfoView from "@/components/zhu-yuan-yi-sheng/public/PatientInfoView.vue";
+import {useSystemStore} from "@/pinia/system-store";
 
 const EmrWebSocket = defineAsyncComponent(() =>
     import("@/components/zhu-yuan-yi-sheng/emr/web-socket/EmrWebSocket.vue"))
@@ -216,6 +217,7 @@ const EmrRefreshDialog = defineAsyncComponent(() =>
     import("@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/EmrRefreshDialog.vue"));
 
 const userInfo = useUserStore().userInfo
+const userConfig = useSystemStore().userConfig;
 const editRef = ref(null)
 // 编辑器
 let editor: EditType | null = null
@@ -1529,7 +1531,7 @@ const initEdit = () => {
     popupFunc.setShortcutKey()
     setEditor();
     emrStore.cache.open();
-    setRevisionShowMode(RevisionShowMode.卡片)
+    setRevisionShowMode(userConfig.emr_review_mode)
   })
 }
 

+ 1 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/EmrSidebar.tsx

@@ -268,6 +268,7 @@ const EmrSidebar = defineComponent({
         const template = async (val: { type: string, code: string, _id: string, name: string, parent: string }) => {
             if (val.type === 'group-category') return
             await wardCreationJudgment()
+            emrMitt.emit('auditV2')
             emrMitt.emit('loadDocument', {
                 categoryCode: val.code,
                 categoryId: val._id,

+ 23 - 17
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/index.vue

@@ -8,36 +8,42 @@ import {
 } from "./useEmrAudit";
 import AuditRecord
   from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/AuditRecord.vue";
-import {emrMitt} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
+import {
+  emrMitt,
+  IframeTabs
+} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
 import SendAudit
   from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/SendAudit.vue";
 import {getLinkQuality} from "@/api/emr/emr-suggestion";
 import AuditHistory
   from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/emr-audit/AuditHistory.vue";
-import {isDev} from "@/utils/public";
+import {listIsBlank} from "@/utils/blank-utils";
 
 const store = useEmrAuditV2()
 
 emrMitt.on('auditV2', (data) => {
-  store.state.currentEmrInfo = data
-  store.queryCurrentAudit()
+  if (typeof data === 'undefined') {
+    store.state.currentEmrInfo = {
+      emrId: null
+    }
+    store.state.auditTemplate = []
+    emrMitt.emit('setShowIframe', IframeTabs.正在编辑)
+  } else {
+    store.state.currentEmrInfo = data;
+    store.queryCurrentAudit()
 
-  getLinkQuality(data.emrCategoryCode).then(res => {
-    store.state.auditTemplate = res
-  })
+    getLinkQuality(data.emrCategoryCode).then(res => {
+      store.state.auditTemplate = res
+      if (listIsBlank(res)) {
+        emrMitt.emit('setShowIframe', IframeTabs.正在编辑)
+      }
+    }).catch(() => {
+      emrMitt.emit('setShowIframe', IframeTabs.正在编辑)
+    })
+  }
 })
 
 
-// if (isDev) {
-//   emrMitt.emit("auditV2", {
-//     patNo: '0429914',
-//     times: 1,
-//     emrId: 212689,
-//     finalControl: 0,
-//     emrCategoryCode: 'ruyuanjiluzhuanyong'
-//   })
-// }
-
 provide(emrAuditRootContextKey, {
   store: store
 })

+ 1 - 1
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init.ts

@@ -430,7 +430,7 @@ export interface EmrMitt {
     kindReminder: (value: any) => void
     clearKindReminder: () => void
     dataSourcePadding: (data: any, forceReplacement: boolean) => void
-    auditV2: (data: AuditV2) => void
+    auditV2: (data?: AuditV2) => void
     clickToSubmitTheMedicalRecord: () => void
     clickDelete: () => void
     getEditMain: () => UseEmrInitReturn