瀏覽代碼

优化开医嘱的速度

xiaochan 2 年之前
父節點
當前提交
9b0b6b577f

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

@@ -286,12 +286,3 @@ export function updateOrderInstruction(orderNo, str) {
         params: {orderNo, str}
     })
 }
-
-
-export function orderGroup(data) {
-    return request({
-        url: url + '/orderGroup',
-        method: 'post',
-        data
-    })
-}

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

@@ -251,7 +251,7 @@ import {
   getParentOrders,
   huoQuFeiYongXinXi,
   huoQuXiangMu,
-  huoQuZhiXinKeShi, orderGroup,
+  huoQuZhiXinKeShi,
   toDeleteAnOrder
 } from '@/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru'
 import {listNotBlank, listToStr, stringIsBlank, stringNotBlank} from '@/utils/blank-utils'
@@ -703,19 +703,32 @@ const toAddAnOrder = async () => {
     if (res != null && res.code && res.code === 200) {
       errorMessageData.value = {}
       let temp = res.data
-      let tempList = []
+      let tempMap = new Map()
+      // 获取新增的医嘱,如果是一组医嘱就会返回多个,做成map集合
       XEUtils.arrayEach(temp, (item) => {
-        tempList.push(item.actOrderNo)
+        tempMap.set(item.actOrderNo, item)
       })
-
-      XEUtils.remove(yzData.value, (item) => {
-        return tempList.includes(item.actOrderNo)
-      })
-      yzData.value.push(...temp)
-      yzMitt.emit('setOrderNoTwinkle', temp[0].actOrderNo)
+      for (let i = yzData.value.length - 1; i >= 0; i--) {
+        let item = yzData.value[i];
+        let key = i;
+        let orderNo = item.actOrderNo
+        if (tempMap.has(orderNo)) {
+          yzData.value[key] = tempMap.get(orderNo)
+          tempMap.delete(orderNo)
+        }
+        if (tempMap.size === 0) {
+          break;
+        }
+      }
+      // 考虑如果是新增的就要直接添加到数组中
+      if (tempMap.size > 0) {
+        yzData.value.push(...tempMap.values())
+      }
+      await nextTick()
+      // 设置高亮
+      yzMitt.emit('setOrderNoTwinkle', temp[0].actOrderNo);
     }
     setTheTemporaryVariableMedicalOrder()
-    // setYzOrderGroup()
   } catch (e) {
     console.log(e)
   }