Browse Source

Merge branch 'dev' of http://192.168.1.41:3000/maixinrong/Calculation into dev

TonyKang 4 years atrás
parent
commit
f80875ae9d
2 changed files with 17 additions and 8 deletions
  1. 4 2
      app/lib/sum_load.js
  2. 13 6
      app/public/js/shares/tender_select.js

+ 4 - 2
app/lib/sum_load.js

@@ -125,7 +125,8 @@ class loadLedgerGclTree extends loadGclBaseTree {
     }
 
     getUpdateData() {
-        const update = [{id: this.parent.id, ledger_id: this.parent.ledger_id, is_leaf: 0}];
+        const update = [];
+        if (this.items.length > 0) update.push({id: this.parent.id, ledger_id: this.parent.ledger_id, is_leaf: 0});
         const create = [];
         for (const i of this.items) {
             create.push({
@@ -190,7 +191,7 @@ class updateReviseGclTree extends loadGclBaseTree {
     getUpdateData() {
         const result = {update: [], errors: [], create: []};
         if (this.baseNodes.length === 0) {
-            result.update = [{id: this.parent.id, ledger_id: this.parent.ledger_id, is_leaf: 0}];
+            if (this.items.length > 0) result.update.push({id: this.parent.id, ledger_id: this.parent.ledger_id, is_leaf: 0});
         } else {
             for (const bn of this.baseNodes) {
                 if (bn.children && bn.children.length > 0) continue;
@@ -417,6 +418,7 @@ class sumLoad {
         this.loadTree.loadBase(posterity);
 
         for (const tender of tenders) {
+            if (!tender.stage) continue;
             const billsData = await this.ctx.service.ledger.getData(tender.tid);
             const stage = await this.ctx.service.stage.getDataByCondition({tid: tender.tid, order: tender.stage});
             if (!stage) throw '选择的期不存在';

+ 13 - 6
app/public/js/shares/tender_select.js

@@ -7,6 +7,7 @@ const TenderSelect = function (setting) {
         resultSheet: null,
         select: null,
         tenderSourceTree: null,
+        orgHistroy: {},
         trHistory: {},
         trArray: [],
         _rebuildStageSelect: function () {
@@ -20,8 +21,6 @@ const TenderSelect = function (setting) {
                     return items;
                 };
                 for (let i = 0; i < tsObj.resultSheet.getRowCount(); i++) {
-                    const items = getItems(tsObj.trArray[i]);
-                    console.log(items);
                     const cellType2 = new spreadNS.CellTypes.ComboBox().itemHeight(10).editorValueType(spreadNS.CellTypes.EditorValueType.value).items(getItems(tsObj.trArray[i]));
                     tsObj.resultSheet.getCell(i, 1).cellType(cellType2);
                 }
@@ -106,8 +105,12 @@ const TenderSelect = function (setting) {
         },
         loadHistory: function () {
             postData('/list/load', {type: tsObj.setting.type, tid: tsObj.select.tender_id, lid: tsObj.select.id}, data => {
-                tsObj.trHistory = data.history || {};
+                tsObj.orgHistory = data.history || {};
                 tsObj.tenderSourceTree = Tender2Tree.convert(data.category, data.tenders, data.ledgerAuditConst, data.stageAuditConst);
+                tsObj.trHistory = JSON.parse(JSON.stringify(tsObj.orgHistory));
+                if (tsObj.orgHistory.tenders) {
+                    tsObj.trHistory.tenders = tsObj.orgHistory.tenders.filter(x => { return tsObj.tenderSourceTree.nodes.find(y => { return x.tid === y.tid })});
+                }
                 tsObj.resetSelect();
             });
         },
@@ -172,10 +175,14 @@ const TenderSelect = function (setting) {
 
             $('#tender-select-ok').click(() => {
                 const updateData = {lid: tsObj.select.id, type: tsObj.setting.type, tenders: tsObj.trArray};
-                postData(window.location.pathname + '/sumLoad', updateData, result => {
-                    tsObj.setting.afterLoad(result);
+                if (updateData.tenders.length > 0) {
+                    postData(window.location.pathname + '/sumLoad', updateData, result => {
+                        tsObj.setting.afterLoad(result);
+                        $('#tender-select').modal('hide');
+                    });
+                } else {
                     $('#tender-select').modal('hide');
-                });
+                }
             });
 
             this.loadHistory();