xiaochan 2 years ago
parent
commit
61fc526b0f

+ 2 - 1
src/components/cy/message-box/index.ts

@@ -1,4 +1,5 @@
 import MessageBox from './cy-message-box'
+import {IElMessageBox} from "./message-box.type";
 
 export default MessageBox
-export const CyMessageBox = MessageBox
+export const CyMessageBox: IElMessageBox = MessageBox as IElMessageBox

+ 38 - 14
src/components/cy/message-box/index.vue

@@ -88,8 +88,23 @@ const props = defineProps({
   setClose: {
     type: Function,
     default: () => {
-
     }
+  },
+  cancelButtonText: {
+    type: String,
+    default: '取消'
+  },
+  confirmButtonText: {
+    type: String,
+    default: '确认'
+  },
+  showIcon: {
+    type: Boolean,
+    default: true
+  },
+  beforeClose: {
+    type: Function,
+    default: () => true
   }
 })
 
@@ -157,11 +172,15 @@ const submitVerification = (val): boolean => {
 
 const handelClose = (val: 'cancel' | 'confirm' | 'close') => {
   if (!submitVerification(val)) return
+  if (val === "cancel" && !props.beforeClose(inputValue.value)) {
+    reboundClick()
+    return;
+  }
   visible.value = false
   if (val === 'confirm') {
-    emits('confirm', props.showInput ? inputValue.value : val)
+    emits('confirm', {action: val, value: inputValue.value})
   } else {
-    emits('cancel', val)
+    emits('cancel', {action: val, value: inputValue.value})
   }
 }
 
@@ -232,6 +251,7 @@ onMounted(async () => {
                   </div>
 
                   <button @click.stop="handelClose('close')"
+                          v-if="props.showIcon"
                           @keydown.prevent.enter="handelClose('close')">
                     <el-icon>
                       <Close/>
@@ -288,14 +308,15 @@ onMounted(async () => {
                              @click.stop="handelClose('cancel')"
                              type="danger"
                              @keydown.prevent.enter="handelClose('cancel')"
-                             class="cancel">取消
+                             class="cancel">
+                    {{ props.cancelButtonText }}
                   </el-button>
                   <el-button type="primary"
                              class="confirm"
                              @keydown.prevent.enter="handelClose('confirm')"
                              ref="confirmRef"
                              @click.stop="handelClose('confirm')">
-                    确认
+                    {{ props.confirmButtonText }}
                   </el-button>
                 </footer>
               </div>
@@ -308,7 +329,7 @@ onMounted(async () => {
 </template>
 
 <style lang="scss">
-
+$cy-message-box-radius: 13px;
 
 @keyframes background {
   0% {
@@ -383,10 +404,6 @@ onMounted(async () => {
   }
 }
 
-.cy-message_overlay {
-  //transition: background-color .15s ease;
-}
-
 .cy-overlay-message-box {
   position: fixed;
   top: 0;
@@ -405,7 +422,7 @@ onMounted(async () => {
 
   .cy-message-box {
     display: inline-block;
-    border-radius: 20px;
+    border-radius: $cy-message-box-radius;
     background: #fff;
 
     header {
@@ -442,6 +459,7 @@ onMounted(async () => {
         font-size: 20px;
         color: black;
         cursor: pointer;
+        transition: all .25s ease;
 
         &:hover {
           -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, .05);
@@ -452,14 +470,20 @@ onMounted(async () => {
     }
 
     .cy-message-box_body {
-      padding: 0 16px;
+      padding: 10px 16px;
       min-width: 420px;
       max-width: 420px;
 
+      p {
+        margin: 0;
+        line-height: 24px;
+      }
+
       .cy-message-box_message {
         max-height: 200px;
         overflow: auto;
-        min-height: 30px;
+        //min-height: 30px;
+        box-sizing: border-box;
 
         &::-webkit-scrollbar {
           width: 10px;
@@ -486,7 +510,7 @@ onMounted(async () => {
     }
 
     footer {
-      padding: 10px 16px;
+      padding: 0 16px 10px 16px;
       display: flex;
       justify-content: end;
     }

+ 7 - 3
src/components/cy/message-box/message-box.type.ts

@@ -14,16 +14,20 @@ export interface MessageBoxType {
     inputRows?: number;
     showCancelButton?: boolean,
     inputDefaultValue?: string,
-    boxId? :string
+    boxId?: string,
+    cancelButtonText?: string;
+    confirmButtonText?: string,
+    showIcon?: boolean,
+    beforeClose?: (inputValue: string) => boolean,
 }
 
 export type CyMessageBoxShortcutMethod = ((
     options: MessageBoxType
-) => Promise<string>
+) => Promise<{ action: 'cancel' | 'confirm' | 'close', value: string }>
     )
 
 export interface IElMessageBox {
-    (options: MessageBoxType): Promise<string>
+    (options: MessageBoxType): Promise<{ action: 'cancel' | 'confirm' | 'close', value: string }>
 
     /** Show an alert message box */
     alert: CyMessageBoxShortcutMethod

+ 1 - 1
src/components/pat-info-list/ElectronicMedicalRecord.vue

@@ -19,7 +19,7 @@ import {ref, onMounted} from "vue";
 import {
   useEmrInit,
   UseEmrInitReturn
-} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init-v2";
+} from "@/utils/emr/emr-init-v2";
 
 const props = defineProps({
   patNo: String,

+ 1 - 1
src/components/xiao-chan/print/XcPrint.vue

@@ -7,7 +7,7 @@ import {onMounted, ref} from "vue";
 import {
   useEmrInit,
   UseEmrInitReturn
-} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init-v2";
+} from "@/utils/emr/emr-init-v2";
 
 const props = defineProps<{
   modelValue: any,

+ 6 - 8
src/components/zhu-yuan-yi-sheng/YzTag.vue

@@ -25,6 +25,7 @@ import {xcMessage} from "@/utils/xiaochan-element-plus";
 import {getOperationGuide} from "@/api/public-api";
 import {ElMessageBox} from "element-plus";
 import sleep from "@/utils/sleep";
+import {CyMessageBox} from "@/components/cy/message-box/index";
 
 const props = defineProps({
   patientInfo: Object
@@ -70,15 +71,12 @@ const pathList = ref([
         let te = JSON.stringify(query)
         window.open(window.location.origin + '/myEmrEditor/' + window.btoa(te) + '/refresh', '_blank');
       } else {
-        ElMessageBox.confirm('请先选择一个患者,出院患者可以在【患者信息查询】页面中查询到,如果患者出院时间未超过七天,且管床医生是你,那么点击前面的病历,默认是用编辑模式打开。', '提示', {
-          type: 'error',
+        CyMessageBox.confirm({
+          message: '请先选择一个患者,出院患者可以在【患者信息查询】页面中查询到,如果患者出院时间未超过七天,且管床医生是你,那么点击前面的病历,默认是用编辑模式打开。',
+          type: 'warning',
           cancelButtonText: '患者查询页面',
-          confirmButtonText: '确认',
-          distinguishCancelAndClose: true
-        }).then(() => {
-
-        }).catch((value) => {
-          if (value === 'cancel') {
+        }).catch(async ({action}) => {
+          if (action === 'cancel') {
             router.push('/inpatient/patientInformationInquiry')
           }
         })

+ 6 - 1
src/components/zhu-yuan-yi-sheng/emr/EmrLeaveHospitalPatient.vue

@@ -24,7 +24,7 @@ import {xcMessage} from "@/utils/xiaochan-element-plus";
 import {getListOfDischargedPatients} from "@/api/zhu-yuan-yi-sheng/emr-patient";
 import XcDialogV2 from "@/components/xiao-chan/dialog/XcDialogV2.vue";
 import XcTable from "@/components/xiao-chan/xc-table/XcTable.vue";
-import {query} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
+import {emrMitt, query} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
 import {
   emrTutorialGetId
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-tutorial";
@@ -51,6 +51,11 @@ const rowClick = ({inpatientNo, admissTimes}) => {
   dialog.value = false
 }
 
+onMounted(() => {
+  emrMitt.on('queryDischarge', () => {
+    clickQuery()
+  })
+})
 
 </script>
 

+ 1 - 1
src/components/zhu-yuan-yi-sheng/emr/EmrSnippet.vue

@@ -41,7 +41,7 @@ import {
   emrConfig
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
 import {getSnippetTree} from "@/api/zhu-yuan-yi-sheng/emr-patient";
-import {useEmrInit} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init-v2";
+import {useEmrInit} from "@/utils/emr/emr-init-v2";
 import {ref, onMounted} from 'vue'
 import {useCompRef} from "@/utils/useCompRef";
 import {ElTree} from "element-plus";

+ 1 - 1
src/components/zhu-yuan-yi-sheng/emr/HistoricalEmr.vue

@@ -49,7 +49,7 @@ import {getFormatDatetime} from '@/utils/date'
 import {ElMessageBox} from "element-plus";
 import {getWindowSize} from '@/utils/window-size'
 import {useVModels} from "@vueuse/core";
-import {useEmrInit} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init-v2";
+import {useEmrInit} from "@/utils/emr/emr-init-v2";
 
 interface EmrHistory {
   documentId: string

+ 0 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/edit.ts → src/utils/emr/edit.ts


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

@@ -0,0 +1,160 @@
+import {EditType, Runtime} from './edit'
+import {UnwrapRef} from 'vue'
+
+type AppContext =
+    | any
+    | (() => {
+    [key: string]: any
+})
+
+interface Options {
+    appContext?: AppContext
+    event?: {
+        [key: string]: (...val: any[]) => void
+    }
+    tabletMode: boolean
+}
+
+export interface UseEmrInitReturn {
+    editor?: EditType
+    runtime?: Runtime
+    iframe?: HTMLIFrameElement
+    delElementByName?: (name: string) => void
+    loadDocument?: (loadParams: LoadParams) => Promise<any>
+    loadAndSetDocument?: (loadParams: LoadParams) => Promise<any>
+}
+
+export interface LoadParams {
+    //文档id
+    documentId?: string
+    // 文档类型
+    categoryCode?: string
+    // 患者id
+    patientId?: string
+    //病历类型id
+    categoryId?: string
+    // 文档版本号
+    version?: string
+}
+
+function delElementByName(this: any, name: string, editor: EditType) {
+    editor.execute('execFn', {
+        value: {
+            fn: function () {
+                const EMR = editor.getScriptRuntime().EMR
+                const emrDoc = EMR.getDocument()
+                const components = emrDoc.getComponentsByCode(name)
+                components.forEach((component) => {
+                    const view = component.target
+                    const viewDom = view.el
+                    const viewParagraphDom = viewDom.parentElement
+                    viewDom.remove()
+                    if (viewParagraphDom.textContent === '') {
+                        viewParagraphDom.remove()
+                    }
+                })
+            },
+            persist: true,
+            scope: this,
+            params: name
+        }
+    })
+}
+
+export function useEmrInit(
+    div: UnwrapRef<HTMLElement | null>,
+    options?: Options
+): Promise<UseEmrInitReturn> {
+    return new Promise((resolve, reject) => {
+        // @ts-ignore
+        if (div['emr']) {
+            throw new Error('该div已挂载请选择其他div')
+        }
+        const iframe: HTMLIFrameElement = document.createElement('iframe')
+        let editor: EditType, runtime: Runtime
+
+        iframe.style.width = '100%'
+        iframe.style.height = '100%'
+
+        let additionalParameters: string = ''
+        if (options && options.tabletMode) {
+            additionalParameters += '?layout=mobile-zoom'
+        }
+
+        iframe.src = '/emr/runtime/#/editor' + additionalParameters
+        iframe.style.border = '0'
+
+        function loadDocument(loadParams: LoadParams): Promise<any> {
+            return new Promise((resolve, reject) => {
+                runtime.loadDocument(
+                    (res) => {
+                        resolve(res)
+                    },
+                    (err) => {
+                        reject(err)
+                    },
+                    loadParams
+                )
+            })
+        }
+
+        function backToTop() {
+            iframe?.contentWindow?.document?.getElementById('editorEl')?.scroll({top: 0})
+        }
+
+        function loadAndSetDocument(loadParams: LoadParams): Promise<void> {
+            return new Promise((resolve, reject) => {
+                loadDocument(loadParams)
+                    .then((res) => {
+                        backToTop()
+                        editor.setDocument(res, true)
+                        resolve(res)
+                    })
+                    .catch((err) => {
+                        reject(err)
+                    })
+            })
+        }
+
+        // @ts-ignore
+        div['emr'] = {
+            setEditor: (e: EditType, r: any): void => {
+                editor = e
+                runtime = r
+
+                // @ts-ignore
+                div['myEmr'] = {
+                    editor: e,
+                    runtime: r
+                }
+
+                if (options && options.event) {
+                    for (const key in options.event) {
+                        editor.on(key, options.event[key])
+                    }
+                }
+
+                resolve({
+                    editor,
+                    runtime,
+                    iframe,
+                    delElementByName: (name: string) => delElementByName(name, editor),
+                    loadDocument,
+                    loadAndSetDocument
+                })
+            },
+            getAppContext: (): any => {
+                if (options && options.appContext) {
+                    if (typeof options.appContext === 'function') {
+                        return options.appContext()
+                    }
+                    return options.appContext
+                }
+                return {}
+            }
+        }
+
+        // @ts-ignore
+        div.appendChild(iframe)
+    })
+}

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

@@ -361,7 +361,7 @@ import {
   DataElements,
   EditType,
   EditorMode, Runtime, Outline
-} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/edit";
+} from "@/utils/emr/edit";
 import EmrSaveRules
   from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/EmrSaveRules.vue";
 import {
@@ -374,7 +374,7 @@ import {
   LoadParams,
   useEmrInit,
   UseEmrInitReturn
-} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init-v2";
+} from "@/utils/emr/emr-init-v2";
 import moment from "moment";
 import {formatDateToStr} from "@/utils/moment-utils";
 import EmrOutline

+ 28 - 11
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/Home.vue

@@ -78,13 +78,15 @@ import EmrSelectPat from "@/components/zhu-yuan-yi-sheng/EmrSelectPat.vue";
 import EmrQualityControlRelieve
   from "@/components/zhu-yuan-yi-sheng/emr/EmrQualityControlRelieve/EmrQualityControlRelieve.vue";
 import {getMyUnlockByPatNo} from "@/api/zhu-yuan-yi-sheng/emr-control-rule";
-import {ElMessageBox} from "element-plus";
+import {ElMessage, ElMessageBox} from "element-plus";
 import {
   emrTutorialFunc,
   emrTutorialGetId
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-tutorial";
 import LoadingProgress from "@/components/loading-progress/LoadingProgress.vue";
 import {ref, onMounted, nextTick} from 'vue'
+import {CyMessageBox} from "@/components/cy/message-box/index";
+import sleep from "@/utils/sleep";
 
 const patInfoRef = ref(null)
 const emrMainRef = ref(null)
@@ -114,17 +116,32 @@ const disPatients = async () => {
 }
 
 const noPatient = () => {
-  ElMessageBox.confirm('请先选择一个患者,出院患者可以在【患者信息查询】页面中查询到,如果患者出院时间未超过七天,且管床医生是你,那么点击前面的病历,默认是用编辑模式打开。', '提示', {
-    type: 'error',
-    cancelButtonText: '患者查询页面',
-    confirmButtonText: '确认',
-    distinguishCancelAndClose: true
-  }).then(() => {
-  }).catch(async (value) => {
-    if (value === 'cancel') {
-      await router.push('/inpatient/patientInformationInquiry')
-      location.reload()
+  CyMessageBox({
+    showInput: true,
+    cancelButtonText: '出院',
+    confirmButtonText: '在院',
+    closeOnPressEscape: false,
+    closeOnClickModal: false,
+    message: '住院号',
+    showIcon: false,
+    beforeClose: (inputValue) => {
+      if (inputValue.length === 0) {
+        ElMessage.error('请输入住院号')
+        return false
+      }
+      return true
     }
+  }).then(({action, value}) => {
+    query.value.patNo = value
+    allPatientsInTheHospital()
+  }).catch(({action, value}) => {
+    if (action === 'cancel') {
+      query.value.patNo = value
+      emrMitt.emit('queryDischarge')
+    }
+  })
+  sleep(500).then(() => {
+    progressRef.value.close()
   })
 }
 

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

@@ -1,6 +1,6 @@
 <script setup lang="ts">
 import {ref} from "vue";
-import {Outline} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/edit";
+import {Outline} from "@/utils/emr/edit";
 import {emrMitt} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
 import {useCompRef} from "@/utils/useCompRef";
 import {ElTree} from "element-plus";

+ 2 - 2
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/components/EmrRecycleBin.vue

@@ -12,12 +12,12 @@ import {
 import XcTable from "@/components/xiao-chan/xc-table/XcTable.vue";
 import {useElementSize} from "@vueuse/core";
 import {dateBr} from "@/utils/moment-utils";
-import {EditType} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/edit";
+import {EditType} from "@/utils/emr/edit";
 import {ElMessageBox} from "element-plus";
 import {
   emrTutorialGetId
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-tutorial";
-import {useEmrInit} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init-v2";
+import {useEmrInit} from "@/utils/emr/emr-init-v2";
 
 interface EmrRecord {
   id: number;

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

@@ -1,134 +0,0 @@
-import {EditType, Runtime} from "./edit";
-
-type AppContext = any | (() => {
-    [key: string]: any
-})
-
-interface Options {
-    appContext?: AppContext,
-    event?: {
-        [key: string]: (...val: any[]) => void,
-    },
-}
-
-export interface UseEmrInitReturn {
-    editor?: EditType,
-    runtime?: Runtime,
-    iframe?: HTMLIFrameElement,
-    delElementByName?: (name: string) => void;
-    loadDocument?: (loadParams: LoadParams) => Promise<any>;
-    loadAndSetDocument?: (loadParams: LoadParams) => Promise<any>;
-}
-
-export interface LoadParams {
-    //文档id
-    documentId?: string,
-    // 文档类型
-    categoryCode?: string,
-    // 患者id
-    patientId?: string,
-    //病历类型id
-    categoryId?: string,
-    // 文档版本号
-    version?: string
-}
-
-function delElementByName(name: string, editor: EditType) {
-    editor.execute('execFn', {
-        value: {
-            fn: function () {
-                const EMR = editor.getScriptRuntime().EMR
-                const emrDoc = EMR.getDocument()
-                const components = emrDoc.getComponentsByCode(name);
-                components.forEach((component) => {
-                    const view = component.target;
-                    const viewDom = view.el;
-                    const viewParagraphDom = viewDom.parentElement;
-                    viewDom.remove();
-                    if (viewParagraphDom.textContent === "") {
-                        viewParagraphDom.remove()
-                    }
-                })
-            }, persist: true, scope: this, params: name
-        }
-    })
-}
-
-export function useEmrInit(div: HTMLDivElement, options?: Options): Promise<UseEmrInitReturn> {
-    return new Promise((resolve, reject) => {
-            if (div['emr']) {
-                throw new Error('该div已挂载请选择其他div')
-            }
-            const iframe: HTMLIFrameElement = document.createElement('iframe')
-            let editor: EditType, runtime: Runtime
-
-            iframe.style.width = '100%'
-            iframe.style.height = '100%'
-            iframe.src = '/emr/runtime/#/editor'
-            iframe.style.border = '0'
-
-            function loadDocument(loadParams: LoadParams): Promise<any> {
-                return new Promise((resolve, reject) => {
-                    runtime.loadDocument(
-                        (res) => {
-                            resolve(res)
-                        },
-                        (err) => {
-                            reject(err)
-                        },
-                        loadParams
-                    )
-                })
-            }
-
-            function loadAndSetDocument(loadParams: LoadParams): Promise<void> {
-                return new Promise((resolve, reject) => {
-                    loadDocument(loadParams).then((res) => {
-                        editor.setDocument(res, true)
-                        resolve(res)
-                    }).catch((err) => {
-                        reject(err)
-                    })
-                })
-            }
-
-            div['emr'] = {
-                setEditor: (e: EditType, r: any): void => {
-                    editor = e
-                    runtime = r
-
-                    div['myEmr'] = {
-                        editor: e,
-                        runtime: r
-                    }
-
-                    if (options && options.event) {
-                        for (let key in options.event) {
-                            editor.on(key, options.event[key])
-                        }
-                    }
-
-                    resolve({
-                        editor,
-                        runtime,
-                        iframe,
-                        delElementByName: (name: string) => delElementByName(name, editor),
-                        loadDocument,
-                        loadAndSetDocument
-                    })
-                },
-                getAppContext: (): any => {
-                    if (options && options.appContext) {
-                        if (typeof options.appContext === 'function') {
-                            return options.appContext()
-                        }
-                        return options.appContext
-                    }
-                    return {}
-                }
-            }
-
-            div.appendChild(iframe)
-        }
-    )
-}

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

@@ -1,8 +1,8 @@
 import {xcMessage} from "../../../../../utils/xiaochan-element-plus";
 import EventBus from "../../../../../utils/mitt";
 import {ref} from 'vue'
-import {EditType} from "./edit";
-import {LoadParams} from "./emr-init-v2";
+import {EditType} from "../../../../../utils/emr/edit";
+import {LoadParams} from "../../../../../utils/emr/emr-init-v2";
 import Patient from "../../../../../ts-type/patient";
 
 // 患者数据
@@ -376,6 +376,7 @@ export interface EmrMitt {
     closeForceRefreshDialog: () => void
     closeProgress: () => void
     jumpDataElementById: (name: string) => void
+    queryDischarge: () => void
 }
 
 //@ts-ignore

+ 2 - 2
src/views/mz-emr/MzEmr.vue

@@ -4,9 +4,9 @@ import {onActivated, onMounted, ref} from "vue";
 import {
   useEmrInit,
   UseEmrInitReturn
-} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init-v2";
+} from "@/utils/emr/emr-init-v2";
 import {getMzEmrModel,queryMzEmrTree,queryMzPatientInfo,saveMzEmrModel} from "@/api/mz-emr/mz-emr";
-import {EditType} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/edit";
+import {EditType} from "@/utils/emr/edit";
 import {userInfoStore} from "@/utils/store-public";
 import {ElMessageBox, ElTree,ElMessage} from 'element-plus'
 import {watch } from 'vue'