소스 검색

变更添加台账清单测试bug

ellisran 10 달 전
부모
커밋
00c67c1e4f
1개의 변경된 파일32개의 추가작업 그리고 4개의 파일을 삭제
  1. 32 4
      app/public/js/change_information_add_list.js

+ 32 - 4
app/public/js/change_information_add_list.js

@@ -278,7 +278,16 @@ $(document).ready(() => {
                             changeList = result.changeList;
                             select.is_change = 1;
                             changeListData[gclIndex].is_change = 1;
-                            SpreadJsObj.reLoadRowData(gclSpreadSheet, gclIndex);
+                            // 如果是已勾选清单,需要另外找值勾选
+                            if ($('#show-select-btn').is(':checked')) {
+                                const newGclIndex = gclSpreadSheet.zh_data.indexOf(gclInfo);
+                                if (newGclIndex !== -1) {
+                                    gclSpreadSheet.zh_data[newGclIndex].is_change = 1;
+                                    SpreadJsObj.reLoadRowData(gclSpreadSheet, newGclIndex);
+                                }
+                            } else {
+                                SpreadJsObj.reLoadRowData(gclSpreadSheet, gclIndex);
+                            }
                             checkSelectAll(gclInfo);
                         }, function () {
                             info.sheet.setValue(info.row, info.col, 0);
@@ -308,17 +317,36 @@ $(document).ready(() => {
                                 checkSelectAll(gclInfo);
                                 if (select.deal_id) {
                                     changeListData[gclIndex].is_change = 0;
-                                    SpreadJsObj.reLoadRowData(gclSpreadSheet, gclIndex);
+                                    if ($('#show-select-btn').is(':checked')) {
+                                        const newGclIndex = gclSpreadSheet.zh_data.indexOf(gclInfo);
+                                        if (newGclIndex !== -1) {
+                                            gclSpreadSheet.zh_data[newGclIndex].is_change = 0;
+                                            SpreadJsObj.reLoadRowData(gclSpreadSheet, newGclIndex);
+                                        }
+                                    } else {
+                                        SpreadJsObj.reLoadRowData(gclSpreadSheet, gclIndex);
+                                    }
                                 } else {
                                     let isChange = false;
                                     gclInfo.leafXmjs.forEach(function (item) {
-                                        if (item.gcl_id === select.gcl_id && (item.mx_id === undefined || item.mx_id === select.mx_id) && item.is_change) {
+                                        if (_.findIndex(changeList, { gcl_id: item.gcl_id, mx_id: item.mx_id || '' }) !== -1) {
                                             isChange = true;
+                                            return;
                                         }
                                     });
                                     if (!isChange) {
                                         changeListData[gclIndex].is_change = 0;
-                                        SpreadJsObj.reLoadRowData(gclSpreadSheet, gclIndex);
+                                        // 如果是已勾选清单,需要另外找值勾选
+                                        if ($('#show-select-btn').is(':checked')) {
+                                            const newGclIndex = gclSpreadSheet.zh_data.indexOf(gclInfo);
+                                            if (newGclIndex !== -1) {
+                                                gclSpreadSheet.zh_data[newGclIndex].is_change = 0;
+                                                SpreadJsObj.reLoadRowData(gclSpreadSheet, newGclIndex);
+                                            }
+                                        } else {
+                                            SpreadJsObj.reLoadRowData(gclSpreadSheet, gclIndex);
+                                        }
+
                                     }
                                 }
                             }, function () {