Переглянути джерело

支持将药品或者项目替换成其他品类的。而非仅仅修改自身属性

hurugang 2 роки тому
батько
коміт
efc87666ce

+ 58 - 49
src/main/resources/static/js/mz/clinic.js

@@ -818,20 +818,20 @@ function initDayNum() {
  * 处方回调
  */
 function resetGroupIdSelect() {
-    var groupIds=$("#groupId option");
-    var usedGroupIdInputs=$("#xyTabContent").find("input.temporary_items_groupId");
-    if(usedGroupIdInputs!=null && usedGroupIdInputs.length>0){
-        let lastGroupId=0;
-        for(var i=0;i<usedGroupIdInputs.length;i++){
+    var groupIds = $("#groupId option");
+    var usedGroupIdInputs = $("#xyTabContent").find("input.temporary_items_groupId");
+    if (usedGroupIdInputs != null && usedGroupIdInputs.length > 0) {
+        let lastGroupId = 0;
+        for (var i = 0; i < usedGroupIdInputs.length; i++) {
             var groupId = Number($(usedGroupIdInputs[i]).val());
-            if(groupId>lastGroupId){
-                lastGroupId=groupId;
+            if (groupId > lastGroupId) {
+                lastGroupId = groupId;
             }
         }
-        if(groupIds!=null && groupIds.length>1){
-            for(var i=0;i<groupIds.length;i++){
+        if (groupIds != null && groupIds.length > 1) {
+            for (var i = 0; i < groupIds.length; i++) {
                 var groupId = $(groupIds[i]).val();
-                if(groupId<=lastGroupId){
+                if (groupId <= lastGroupId) {
                     continue;
                 }
                 $(groupIds[i]).remove();
@@ -840,7 +840,7 @@ function resetGroupIdSelect() {
             }
             appendGroupOrder();
         }
-    }else if(groupIds!=null && groupIds.length>1){
+    } else if (groupIds != null && groupIds.length > 1) {
         initGroupOrder();
     }
 }
@@ -3600,16 +3600,16 @@ function saveWesternMedicine(calculateTotalAmountFlag) {
         gropuIdAndOrderNoMap.put(groupId, xyTabIndex);
     }
     if (xyTabIndex != exitIndex) {
-        var westernMedicineUpdateFlag=$("#western_medicine_update_flag").val();
-       var westernMedicineOriGroupId =$("#western_medicine_ori_group_id").val();
-       //非修改组号的情况下就需要切换组号
-       if(!((westernMedicineUpdateFlag==true || westernMedicineUpdateFlag=="true") && westernMedicineOriGroupId!=groupId)){
-           groupId = parseInt($("#groupId > option:last").val());
-           $("#groupId").selectpicker('val', groupId);
-           $('#groupId').selectpicker('refresh');
-           gropuIdAndOrderNoMap.put(groupId, xyTabIndex);
-           appendGroupOrder();
-       }
+        var westernMedicineUpdateFlag = $("#western_medicine_update_flag").val();
+        var westernMedicineOriGroupId = $("#western_medicine_ori_group_id").val();
+        //非修改组号的情况下就需要切换组号
+        if (!((westernMedicineUpdateFlag == true || westernMedicineUpdateFlag == "true") && westernMedicineOriGroupId != groupId)) {
+            groupId = parseInt($("#groupId > option:last").val());
+            $("#groupId").selectpicker('val', groupId);
+            $('#groupId').selectpicker('refresh');
+            gropuIdAndOrderNoMap.put(groupId, xyTabIndex);
+            appendGroupOrder();
+        }
         warningMesageSimaple("同一组药必须出现在同一个处方中,当前组号已经被其他处方使用,系统已自动为您重新分配组号!");
         //return;
     }
@@ -3753,13 +3753,17 @@ function saveWesternMedicine(calculateTotalAmountFlag) {
     if (formGroups != null && formGroups.length > 0) {
         //如果是修改,需要减去原来的费用
         if (updateFlag == "true" || updateFlag == true) {
+            //药品有可能会修改,所以,判断的时候要用原药品编码
+            var updateOriCode = $("#update_ori_code").val();
+            //规格有可能会修改,所以,判断的时候要用原规格
+            var updateOriSerial = $("#update_ori_serial").val();
+            //组号有可能会修改,所以,判断的时候要用原组号
+            var westernMedicineOriGroupId = $("#western_medicine_ori_group_id").val();
             for (var i = 0; i < formGroups.length; i++) {
                 var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
                 var temporaryItemsSerial = $(formGroups[i]).find("input.temporary_items_serial").val();
                 var temporaryItemsGroupId = $(formGroups[i]).find("input.temporary_items_groupId").val();
-                //组号有可能会修改,所以,判断的时候要用原组号
-                var westernMedicineOriGroupId=$("#western_medicine_ori_group_id").val();
-                if (temporaryItemsCode === currentCode && temporaryItemsSerial === currentSerial && temporaryItemsGroupId == westernMedicineOriGroupId) {
+                if (temporaryItemsCode === updateOriCode && temporaryItemsSerial === updateOriSerial && temporaryItemsGroupId == westernMedicineOriGroupId) {
                     //temporaryItemsAmount = $(formGroups[i]).find("input.temporary_items_amount").val();
                     if (formGroups.length > 1) {
                         nextObj = $(formGroups[i]).next();
@@ -3881,6 +3885,10 @@ function editWesternMedicine(obj) {
     $("#western_medicine_current_code").val(code);
     //当前药品规格
     $("#western_medicine_current_serial").val(serial);
+    //当前修改药品原始编码
+    $("#update_ori_code").val(code);
+    //当前修改的药品原始规格
+    $("#update_ori_serial").val(serial);
     //用法编码
     $("#supplyType").val($(parentObject).find("input.temporary_items_supplyType").val());
     $('#supplyType').selectpicker('refresh');
@@ -3991,6 +3999,10 @@ function editChineseMedicine(obj) {
     $("#chinese_medicine_current_code").val($(parentObject).find("input.temporary_items_code").val());
     //当前药品规格
     $("#chinese_medicine_current_serial").val($(parentObject).find("input.temporary_items_serial").val());
+    //当前修改药品原始编码
+    $("#update_ori_code").val($(parentObject).find("input.temporary_items_code").val());
+    //当前修改的药品原始规格
+    $("#update_ori_serial").val($(parentObject).find("input.temporary_items_serial").val());
     //中药类型
     $("#zyClassType").val($(parentObject).find("input.temporary_items_zyClassType").val());
     $('#zyClassType').selectpicker('refresh');
@@ -4017,6 +4029,7 @@ function editJyJcItem(obj) {
     var parentObject = $(obj).parent();
     //当前项目编码
     $("#jcjy_current_code").val($(parentObject).find("input.temporary_items_code").val());
+    $("#update_ori_code").val($(parentObject).find("input.temporary_items_code").val());
     //项目名称
     $("#jcJyItem").val($(parentObject).find("input.temporary_items_jcJyItemName").val());
     //单价
@@ -4057,6 +4070,7 @@ function editZlItem(obj) {
     var parentObject = $(obj).parent();
     //当前项目编码
     $("#zl_current_code").val($(parentObject).find("input.temporary_items_code").val());
+    $("#update_ori_code").val($(parentObject).find("input.temporary_items_code").val());
     //项目名称
     $("#zlItem").val($(parentObject).find("input.temporary_items_zlItemName").val());
     //单价
@@ -4193,9 +4207,10 @@ function saveJyJcItemReal(calculateTotalAmountFlag) {
     if (updateFlag == "true" || updateFlag == true) {
         var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
         if (formGroups != null && formGroups.length > 0) {
+            var updateOriCode=$("#update_ori_code").val();
             for (var i = 0; i < formGroups.length; i++) {
                 var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
-                if (temporaryItemsCode === currentCode) {
+                if (temporaryItemsCode === updateOriCode) {
                     temporaryItemsAmount = $(formGroups[i]).find("input.temporary_items_amount").val();
                     if (formGroups.length > 1) {
                         nextObj = $(formGroups[i]).next();
@@ -4342,8 +4357,6 @@ function saveZlItemReal(calculateTotalAmountFlag) {
     if (verifyRepeat(currentCode, null, null, 3)) {
         return;
     }
-
-
     //原药品金额 如果是修改则需要设置
     var temporaryItemsAmount = 0;
     //当前需要被移除元素的下个兄弟节点
@@ -4361,9 +4374,10 @@ function saveZlItemReal(calculateTotalAmountFlag) {
     if (updateFlag == "true" || updateFlag == true) {
         var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
         if (formGroups != null && formGroups.length > 0) {
+            var updateOriCode=$("#update_ori_code").val();
             for (var i = 0; i < formGroups.length; i++) {
                 var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
-                if (temporaryItemsCode === currentCode) {
+                if (temporaryItemsCode === updateOriCode) {
                     temporaryItemsAmount = $(formGroups[i]).find("input.temporary_items_amount").val();
                     if (formGroups.length > 1) {
                         nextObj = $(formGroups[i]).next();
@@ -4555,6 +4569,8 @@ function removeYpOrProject(index, obj) {
 function clearWesternMedicine(flag) {
     $("#western_medicine_update_flag").val(false);
     $("#western_medicine_ori_group_id").val(null);
+    $("#update_ori_code").val(null);
+    $("#update_ori_serial").val(null);
     //药品名称
     $("#western_medicine_name").val(null);
     //当前药品编码
@@ -4681,10 +4697,14 @@ function saveChineseMedicine(calculateTotalAmountFlag) {
     if (updateFlag == "true" || updateFlag == true) {
         var formGroups = $(tableId).find("div.cf_content").find("div.form-group");
         if (formGroups != null && formGroups.length > 0) {
+            //药品有可能会修改,所以,判断的时候要用原药品编码
+            var updateOriCode = $("#update_ori_code").val();
+            //规格有可能会修改,所以,判断的时候要用原规格
+            var updateOriSerial = $("#update_ori_serial").val();
             for (var i = 0; i < formGroups.length; i++) {
                 var temporaryItemsCode = $(formGroups[i]).find("input.temporary_items_code").val();
                 var temporaryItemsSerial = $(formGroups[i]).find("input.temporary_items_serial").val();
-                if (temporaryItemsCode === currentCode && temporaryItemsSerial === currentSerial) {
+                if (temporaryItemsCode === updateOriCode && temporaryItemsSerial === updateOriSerial) {
                     temporaryItemsAmount = $(formGroups[i]).find("input.temporary_items_amount").val();
                     if (formGroups.length > 1) {
                         nextObj = $(formGroups[i]).next();
@@ -4717,6 +4737,8 @@ function saveChineseMedicine(calculateTotalAmountFlag) {
  */
 function clearChineseMedicine() {
     $("#chinese_medicine_update_flag").val(false);
+    $("#update_ori_code").val(null);
+    $("#update_ori_serial").val(null);
     //药品名称
     $("#chinese_medicine_name").val(null);
     //当前药品编码
@@ -4737,6 +4759,7 @@ function clearChineseMedicine() {
  * 清空辅助检查、检验项目
  */
 function clearJyJcItem() {
+    $("#update_ori_code").val(null);
     $("#jcjy_update_flag").val(false);
     //项目名称
     $("#jcJyItem").val(null);
@@ -4762,6 +4785,7 @@ function clearJyJcItem() {
  * 清空诊疗项目
  */
 function clearZlItem() {
+    $("#update_ori_code").val(null);
     $("#zl_update_flag").val(false);
     //项目名称
     $("#zlItem").val(null);
@@ -6866,21 +6890,6 @@ function refreshNavTabs(index, groupNo) {
     $("#" + tabContentId).append(html);
     //切换处方
     $("#" + tabId).find("a[href='#" + paneId + "']").off("click").tab('show');
-
-   // var cf_contents= $("#xyTabContent").find("div.cf_content");
-   // if(cf_contents!=null && cf_contents.length>0){
-   //     for(var i=0;i<cf_contents.length;i++){
-   //         var length=$(cf_contents[i]).children().length;
-   //         if(length!=null && length>0){
-   //             //如果上一个处方金额不为空,又增加了处方分页,组号要自动切换
-   //             var last = parseInt($("#groupId > option:last").val());
-   //             $("#groupId").selectpicker('val', last);
-   //             $('#groupId').selectpicker('refresh');
-   //             //resetGroupIdSelect();
-   //             break;
-   //         }
-   //     }
-   // }
 }
 
 
@@ -6891,11 +6900,11 @@ function refreshNavTabs(index, groupNo) {
 function autoAddGroupId(res) {
     var tableId = $("#xyTab li.active").find("a").attr("href");
     var childrens = $(tableId).find("div:eq(0)").children();
-    var prevCategoriesFlag=null;
-    if(childrens!=null && childrens.length>0){
-        prevCategoriesFlag=$(childrens[childrens.length-1]).find("input.temporary_items_categoriesFlag").val();
-        if(prevCategoriesFlag=="" || prevCategoriesFlag==undefined){
-            prevCategoriesFlag=null;
+    var prevCategoriesFlag = null;
+    if (childrens != null && childrens.length > 0) {
+        prevCategoriesFlag = $(childrens[childrens.length - 1]).find("input.temporary_items_categoriesFlag").val();
+        if (prevCategoriesFlag == "" || prevCategoriesFlag == undefined) {
+            prevCategoriesFlag = null;
         }
     }
     if (!(res.data.categoriesFlag == 2 || res.data.categoriesFlag == "2" || res.data.categoriesFlag == 1 || res.data.categoriesFlag == "1") ||

+ 4 - 0
src/main/resources/templates/mz/clinic.html

@@ -522,6 +522,10 @@
                         <input id="western_medicine_update_flag" type="hidden"/>
                         <!-- 当前修改的药品的原始组号 组号有可能会修改,所以,判断的时候要用原组号-->
                         <input id="western_medicine_ori_group_id" type="hidden"/>
+                        <!-- 药品或者项目修改的时候的原始编码-->
+                        <input id="update_ori_code" type="hidden"/>
+                        <!-- 药品或者项目修改的时候的原始规格-->
+                        <input id="update_ori_serial" type="hidden"/>
                         <!-- 当前选择中药品是否是修改状态 true 修改 false 新增-->
                         <input id="chinese_medicine_update_flag" type="hidden"/>
                         <!-- 当前选择检查检验是否是修改状态 true 修改 false 新增-->