瀏覽代碼

添加快捷键方法

DESKTOP-MINPJAU\Administrator 3 年之前
父節點
當前提交
87d8376806
共有 1 個文件被更改,包括 55 次插入48 次删除
  1. 55 48
      src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/TianJiaYiZhu.vue

+ 55 - 48
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/TianJiaYiZhu.vue

@@ -40,7 +40,9 @@
         <el-form-item class="bi_tian" label="频率:" prop="frequCode">
           <XcSelect v-model="yiZhuData" :data="yaoPinPingLvData"
                     :name="['frequCode','frequCodeName']" clearable remote
-                    @method="pinLvRemoteMethod">
+                    @method="pinLvRemoteMethod"
+                    ref="pingLv"
+          >
           </XcSelect>
         </el-form-item>
       </el-col>
@@ -164,7 +166,7 @@
         </el-form-item>
       </el-col>
       <el-col v-if="yiZhuData.orderCode === zkCode" :span="span">
-        <el-form-item label="转科:">
+        <el-form-item label="转科:" class="bi_tian">
           <el-select v-model="yiZhuData.zkObj">
             <el-option v-for="(item,index) in zkList" :key="item.value"
                        :label="item.wardName + '|' + item.smallName"
@@ -315,6 +317,7 @@ import CuoWuXinXi from '@/components/zhu-yuan-yi-sheng/CuoWuXinXi.vue'
 import YaoPingXiangQing from '@/components/zhu-yuan-yi-sheng/he-li-yong-yao/YaoPingXiangQing.vue'
 import AllergenEntry from "@/components/zhu-yuan-yi-sheng/AllergenEntry.vue";
 import Sleep from "element-plus/packages/test-utils/sleep";
+import {logoutShortcut, xcHotKey} from "@/utils/xckeydown";
 
 const windowSize = computed(() => {
   return store.state.app.windowSize
@@ -483,9 +486,11 @@ const xuanZhongFeiYong = async (row) => {
   if (stringIsBlank(row.id)) {
     yiZhuData.value.id = uuid(8, 10)
   }
+  pingLv.focus()
 }
 
 /* 频率 */
+let pingLv = $ref(null)
 const yaoPinPingLvData = ref([])
 const pinLvRemoteMethod = (val) => {
   huoQuZhuYuanPinLv(val).then((res) => {
@@ -682,7 +687,6 @@ const kangJunYaoYongYaoFangShiGaiBian = (val) => {
 let muBanDuiHuaKuang = $ref(false)
 // 这里是返回的模板数据
 const muBanShuJu = (val) => {
-  let tongZhiCiShu = 0
   val.forEach((item) => {
     let index = tianJiaYiZhuWeiYiBiaoShi.value.indexOf(item.id)
     if (index > -1) {
@@ -804,55 +808,12 @@ const qingKong = () => {
 
 let daoJiShi = null
 
-onMounted(() => {
-  enableKeyboardMonitoring()
-  yiZhuList.value = clone(fuZhiYiZhu.value)
-  for (let i = 0; i < yiZhuList.value.length; i++) {
-    yiZhuList.value[i].id = yiZhuList.value[i].actOrderNo
-  }
-  if (stringIsBlank(huanZheXinXi.value.inpatientNo)) {
-    ElMessage.warning('您现在进入的是医嘱模板编辑')
-  } else {
-    ElMessage.warning('您现在进入的是医嘱编辑模块,' + '您的编辑时间有 10 分钟,你准备好了吗?Are ya ready kids?')
-    kaiQiDaoJiShi()
-    whetherThePatientHasAllergens(huanZheXinXi.value.inpatientNo).then((res) => {
-      allergenDialog = res
-    })
-  }
-  if (stringNotBlank(huanZheXinXi.value.inpatientNo)) {
-    zhiXingKeShiData.value = [
-      {
-        code: huanZheXinXi.value.smallDept,
-        name: huanZheXinXi.value.smallDeptName,
-      },
-    ]
-  }
-  fuZhiYiZhu.value = []
-  console.log(zkList.value)
-})
-
 onUnmounted(() => {
   ElMessageBox.close()
   clearInterval(daoJiShi)
-  document.onkeydown = null
+  logoutShortcut()
 })
 
-
-const enableKeyboardMonitoring = () => {
-  document.onkeydown = function (event) {
-    if (event.ctrlKey && event.keyCode === 13) {
-      event.returnValue = false
-      if (yiZhuData.value.orderCode) {
-        tianJiaYiZhu()
-      } else {
-        baoCunYiZhuClick()
-      }
-    } else if (event.ctrlKey && event.keyCode === 70) {
-      event.returnValue = false
-      yiZhuMingDialog = true
-    }
-  }
-}
 // 倒计时功能
 const kaiQiDaoJiShi = () => {
   seconds.value = 600
@@ -899,9 +860,55 @@ const tiaoZhuanZhiHeLiYongYao = () => {
 
 //// 下面都是过敏源信息
 let allergenDialog = $ref(false)
+/////  过敏源结束
 
+/**
+ * 保存或添加医嘱
+ */
+const saveOrAddADoctorSOrder = () => {
+  if (yiZhuData.value.orderCode) {
+    tianJiaYiZhu()
+  } else {
+    baoCunYiZhuClick()
+  }
+}
 
-/////  过敏源结束
+/**
+ * 打开医嘱搜索框
+ */
+const openSearchBox = () => {
+  yiZhuMingDialog = true
+}
+
+let shortcutKeyRegistration = {
+  ctrl: {'s': saveOrAddADoctorSOrder, 'f': openSearchBox}
+}
+
+onMounted(() => {
+  xcHotKey(shortcutKeyRegistration)
+  yiZhuList.value = clone(fuZhiYiZhu.value)
+  for (let i = 0; i < yiZhuList.value.length; i++) {
+    yiZhuList.value[i].id = yiZhuList.value[i].actOrderNo
+  }
+  if (stringIsBlank(huanZheXinXi.value.inpatientNo)) {
+    ElMessage.warning('您现在进入的是医嘱模板编辑')
+  } else {
+    ElMessage.warning('您现在进入的是医嘱编辑模块,' + '您的编辑时间有 10 分钟,你准备好了吗?Are ya ready kids?')
+    kaiQiDaoJiShi()
+    whetherThePatientHasAllergens(huanZheXinXi.value.inpatientNo).then((res) => {
+      allergenDialog = res
+    })
+  }
+  if (stringNotBlank(huanZheXinXi.value.inpatientNo)) {
+    zhiXingKeShiData.value = [
+      {
+        code: huanZheXinXi.value.smallDept,
+        name: huanZheXinXi.value.smallDeptName,
+      },
+    ]
+  }
+  fuZhiYiZhu.value = []
+})
 </script>
 
 <style scoped>