Browse Source

处方修改的时候,不调整组号与处方分组

hurugang 2 years ago
parent
commit
8ab6e34cdd
1 changed files with 61 additions and 54 deletions
  1. 61 54
      src/main/resources/static/js/mz/clinic.js

+ 61 - 54
src/main/resources/static/js/mz/clinic.js

@@ -488,7 +488,7 @@ $(function () {
                         var tableData = $("#tb_table_western_medicine").bootstrapTable('getData');
                         if (tableData != null && tableData.length > 0 && dataIndex != null) {
                             var trData = tableData[dataIndex];
-                            checkYpInfo(trData.code, trData.serial, trData.ypType, true, null);
+                            checkYpInfo(trData.code, trData.serial, trData.ypType, true, null,3);
                             $("#western_medicine_name").click();
                         }
                     } else {
@@ -2887,56 +2887,58 @@ function editPrescription(jsonData, type) {
                 //appendGroupOrder()
                 $("#groupId").selectpicker('val', groupOrder);
                 $('#groupId').selectpicker('refresh');
-                //模板和历史轨迹回调的时候,如果前一个处方不满5个,就将后面的处方的药品添加到上一个处方中,但如果同一组药不能全部添加到上一个处方,就不会追加到该处方中
-                var orderNoLength = orderNoAndLengthMap.get(orderNo);
-                if (currentOrderNo == null) {
-                    currentOrderNo = orderNo;
-                } else if (orderAndGroupNoMap.get(currentOrderNo) != orderAndGroupNoMap.get(orderNo)) {
-                    var currentGroupNos = $("#xyTabContent").find("input.current_groupNo");
-                    //查询还没有满5个的处方页
-                    var tempOrderNo = null;
-                    for (var k = 0; k < currentGroupNos.length; k++) {
-                        if ($(currentGroupNos[k]).val() == groupNo) {
-                            var next = $(currentGroupNos[k]).next();
-                            if ($(next).children().length < 4) {
-                                var parentId = $(currentGroupNos[k]).parent().attr("id");
-                                tempOrderNo = tableIdAndOrderNoMap.get(parentId);
+                if(type==1 || type==2){
+                    //模板和历史轨迹回调的时候,如果前一个处方不满5个,就将后面的处方的药品添加到上一个处方中,但如果同一组药不能全部添加到上一个处方,就不会追加到该处方中
+                    var orderNoLength = orderNoAndLengthMap.get(orderNo);
+                    if (currentOrderNo == null) {
+                        currentOrderNo = orderNo;
+                    } else if (orderAndGroupNoMap.get(currentOrderNo) != orderAndGroupNoMap.get(orderNo)) {
+                        var currentGroupNos = $("#xyTabContent").find("input.current_groupNo");
+                        //查询还没有满5个的处方页
+                        var tempOrderNo = null;
+                        for (var k = 0; k < currentGroupNos.length; k++) {
+                            if ($(currentGroupNos[k]).val() == groupNo) {
+                                var next = $(currentGroupNos[k]).next();
+                                if ($(next).children().length < 4) {
+                                    var parentId = $(currentGroupNos[k]).parent().attr("id");
+                                    tempOrderNo = tableIdAndOrderNoMap.get(parentId);
+                                }
                             }
                         }
-                    }
-                    currentOrderNo = tempOrderNo;
-                } else if (currentOrderNo != orderNo && orderNoLength < 5) {
-                    var currentOrderNoLength = orderNoAndLengthMap.get(currentOrderNo);
-                    var groupOrderLength = groupOrderAndLengthMap.get(groupOrder);
-                    if (groupOrderLength + currentOrderNoLength <= 5) {
-                        currentOrderNoLength = currentOrderNoLength + 1;
-                        orderNoLength = orderNoLength - 1;
-                        groupOrderLength = groupOrderLength - 1;
-                        orderNoAndLengthMap.put(currentOrderNo, currentOrderNoLength);
-                        orderNoAndLengthMap.put(orderNo, orderNoLength);
-                        groupOrderAndLengthMap.put(groupOrder, groupOrderLength);
-                        orderNo = currentOrderNo;
-                        if (currentOrderNoLength == 5) {
-                            var currentGroupNos = $("#xyTabContent").find("input.current_groupNo");
-                            //查询还没有满5个的处方页,
-                            var tempOrderNo = null;
-                            for (var k = 0; k < currentGroupNos.length; k++) {
-                                if ($(currentGroupNos[k]).val() == groupNo) {
-                                    var next = $(currentGroupNos[k]).next();
-                                    //这里判断是4,是因为已经把组号设置了,所以要减去1
-                                    if ($(next).children().length < 4) {
-                                        var parentId = $(currentGroupNos[k]).parent().attr("id");
-                                        tempOrderNo = tableIdAndOrderNoMap.get(parentId);
+                        currentOrderNo = tempOrderNo;
+                    } else if (currentOrderNo != orderNo && orderNoLength < 5) {
+                        var currentOrderNoLength = orderNoAndLengthMap.get(currentOrderNo);
+                        var groupOrderLength = groupOrderAndLengthMap.get(groupOrder);
+                        if (groupOrderLength + currentOrderNoLength <= 5) {
+                            currentOrderNoLength = currentOrderNoLength + 1;
+                            orderNoLength = orderNoLength - 1;
+                            groupOrderLength = groupOrderLength - 1;
+                            orderNoAndLengthMap.put(currentOrderNo, currentOrderNoLength);
+                            orderNoAndLengthMap.put(orderNo, orderNoLength);
+                            groupOrderAndLengthMap.put(groupOrder, groupOrderLength);
+                            orderNo = currentOrderNo;
+                            if (currentOrderNoLength == 5) {
+                                var currentGroupNos = $("#xyTabContent").find("input.current_groupNo");
+                                //查询还没有满5个的处方页,
+                                var tempOrderNo = null;
+                                for (var k = 0; k < currentGroupNos.length; k++) {
+                                    if ($(currentGroupNos[k]).val() == groupNo) {
+                                        var next = $(currentGroupNos[k]).next();
+                                        //这里判断是4,是因为已经把组号设置了,所以要减去1
+                                        if ($(next).children().length < 4) {
+                                            var parentId = $(currentGroupNos[k]).parent().attr("id");
+                                            tempOrderNo = tableIdAndOrderNoMap.get(parentId);
+                                        }
                                     }
                                 }
+                                currentOrderNo = tempOrderNo;
                             }
-                            currentOrderNo = tempOrderNo;
+                        } else {
+                            currentOrderNo = orderNo;
                         }
-                    } else {
-                        currentOrderNo = orderNo;
                     }
                 }
-                checkYpInfo(code, serial, groupNo, false, orderNo);
+                checkYpInfo(code, serial, groupNo, false, orderNo,type);
                 // 给药方式 同组药品给药方式相同
                 $("#supplyType").selectpicker('val', mzChargeDetail.supplyCode);
                 $('#supplyType').selectpicker('refresh');
@@ -6372,7 +6374,7 @@ function loadYpList(index, event) {
             $('#' + MedicineName).webuiPopover('hide');
             if (index == 0) {
                 clearWesternMedicine(false);
-                checkYpInfo(row.code, row.serial, row.ypType, true, null);
+                checkYpInfo(row.code, row.serial, row.ypType, true, null,3);
             }
             if (index == 1) {
                 checkZyInfo(row.code, row.serial, true);
@@ -6389,8 +6391,9 @@ function loadYpList(index, event) {
  * @param groupNo
  * @param needNotice 是否需要提示 当用户操作的时候 true 需要提示, 范文和处方回写的时候false不需要提示
  * @param orderNo 处方号,回写的时候需要用,因为有的处方没有满5个
+ * @param type 操作类型  0 修改 1 医疗范文 2 就诊详情 3 处方开立
  */
-function checkYpInfo(code, serial, groupNo, needNotice, orderNo) {
+function checkYpInfo(code, serial, groupNo, needNotice, orderNo,type) {
     //判断是否有重复的项目  返回true 说明有重复的
     if (verifyRepeat(code, serial, null, 0)) {
         return;
@@ -6450,7 +6453,7 @@ function checkYpInfo(code, serial, groupNo, needNotice, orderNo) {
                                     //$("#xyTab").find("a[href='#" + tableId + "']").off("click").click();
                                     //因为存在没有满5个的处方页,直接保存到该页
                                     needAddTable = false;
-                                    fitWesternMedicine(res, groupNo);
+                                    fitWesternMedicine(res, groupNo,type);
                                 }
                             }
                         }
@@ -6470,14 +6473,14 @@ function checkYpInfo(code, serial, groupNo, needNotice, orderNo) {
                                 $("#messageButton").off("click").on("click", function (t) {
                                     $("#messageModal").modal("hide");
                                     refreshNavTabs(0, groupNo, orderNo);
-                                    fitWesternMedicine(res, groupNo);
+                                    fitWesternMedicine(res, groupNo,type);
                                     // //选中药品后,光标默认到用法
                                     // $("#supplyType").next().click();
                                 });
                                 $("#cancelButton").off("click");
                             } else {
                                 refreshNavTabs(0, groupNo, orderNo);
-                                fitWesternMedicine(res, groupNo);
+                                fitWesternMedicine(res, groupNo,type);
                             }
                         }
                         //当前编辑的处方非普通西药处方
@@ -6488,12 +6491,12 @@ function checkYpInfo(code, serial, groupNo, needNotice, orderNo) {
                             $("#messageButton").off("click").on("click", function (t) {
                                 $("#messageModal").modal("hide");
                                 refreshNavTabs(0, groupNo, orderNo);
-                                fitWesternMedicine(res, groupNo);
+                                fitWesternMedicine(res, groupNo,type);
                             });
                             $("#cancelButton").off("click");
                         } else {
                             refreshNavTabs(0, groupNo, orderNo);
-                            fitWesternMedicine(res, groupNo);
+                            fitWesternMedicine(res, groupNo,type);
                         }
                     } else {
                         //修改药品
@@ -6514,10 +6517,10 @@ function checkYpInfo(code, serial, groupNo, needNotice, orderNo) {
                             } else {
                                 refreshNavTabs(0, groupNo, orderNo);
                             }
-                            fitWesternMedicine(res, groupNo);
+                            fitWesternMedicine(res, groupNo,type);
                         } else {
                             $("#xyTab li.active").find("a").find("small.cfdesc").text("(" + cfdesc + ")");
-                            fitWesternMedicine(res, groupNo);
+                            fitWesternMedicine(res, groupNo,type);
                         }
                     }
                 }
@@ -7432,10 +7435,14 @@ function autoAddGroupId(res) {
  * 填充西药选中的内容
  * @param res
  * @param groupNo
+ * @param type 操作类型  0 修改 1 医疗范文 2 就诊详情 3 处方开立
  */
-function fitWesternMedicine(res, groupNo) {
+function fitWesternMedicine(res, groupNo,type) {
     hintProjectSelfPayInfo(res.data.selfpayProp, "药品");
-    autoAddGroupId(res);
+    if(type!=0){
+        //处方修改的时候不改变组号
+        autoAddGroupId(res);
+    }
     $("#categoriesFlag").val(res.data.categoriesFlag);
     //prevCategoriesFlag = res.data.categoriesFlag;
     $("#western_medicine_name").val(res.data.name);