Prechádzať zdrojové kódy

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

Tony Kang 2 rokov pred
rodič
commit
456056a15c

+ 18 - 0
app/controller/payment_controller.js

@@ -154,6 +154,24 @@ module.exports = app => {
             }
         }
 
+
+        async paymentInfoSave(ctx) {
+            try {
+                const data = JSON.parse(ctx.request.body.data);
+                if (!data.type) throw '提交数据错误';
+                switch (data.type) {
+                    case 'info':
+                        await ctx.service.paymentTenderInfo.saveTenderInfo(data.postData.id, data.postData.info);
+                        break;
+                    default: throw '参数有误';
+                }
+                ctx.body = { err: 0, msg: '', data: {} };
+            } catch (err) {
+                this.log(err);
+                ctx.body = { err: 1, msg: err.toString(), data: null };
+            }
+        }
+
         async save(ctx) {
             try {
                 const projectId = ctx.session.sessionProject.id;

+ 1 - 1
app/public/js/payment_list.js

@@ -565,7 +565,7 @@ function postAttr () {
         },
     };
     const tenderId = window.location.pathname.split('/')[2];
-    postData('/payment/save', { type: 'info', postData: { id: tenderId, info} }, function (data) {
+    postData('/payment/info/save', { type: 'info', postData: { id: tenderId, info} }, function (data) {
         property.deal_info = info.deal_info;
         property.construction_unit = info.construction_unit;
         property.tech_param = info.tech_param;

+ 22 - 15
app/public/js/stage.js

@@ -3822,17 +3822,7 @@ $(document).ready(() => {
 
             this.changeSheet.bind(spreadNS.Events.SelectionChanged, function (e, info) {
                 const change = SpreadJsObj.getSelectObject(self.changeSheet);
-                if (change.cid === self.curChangeId) { return; }
-                self.curChangeId = change.cid;
-                if (change.detail) {
-                    self.loadChangeDetailData();
-                } else {
-                    postData(window.location.pathname + '/change/detail', {cid: change.cid, is_import: change.is_import}, function (result) {
-                        change.detail = result;
-                        self.analyzeChange(change);
-                        self.loadChangeDetailData();
-                    });
-                }
+                self.refreshChangeDetailData(change);
             });
             this.changes = null;
             this.reloadChangeData();
@@ -3943,6 +3933,8 @@ $(document).ready(() => {
                 selector: '#' + setting.changeObj.attr('id'),
                 build: function ($trigger, e) {
                     const target = SpreadJsObj.safeRightClickSelection($trigger, e, self.changeSpread);
+                    const change = self.changes[target.cellTypeHitInfo.row];
+                    self.refreshChangeDetailData(change);
                     return target.hitTestType === spreadNS.SheetArea.viewport || target.hitTestType === spreadNS.SheetArea.rowHeader;
                 },
                 items: {
@@ -3999,10 +3991,25 @@ $(document).ready(() => {
                 }
             });
         }
-        loadChangeDetailData() {
-            const change = SpreadJsObj.getSelectObject(this.changeSheet);
+        refreshChangeDetailData(data) {
+            const change = data || SpreadJsObj.getSelectObject(this.changeSheet);
+            if (change.cid === this.curChangeId) return;
+            this.curChangeId = change.cid;
+            const self = this;
+
+            if (change.detail) {
+                self.loadChangeDetailData();
+            } else {
+                postData(window.location.pathname + '/change/detail', {cid: change.cid, is_import: change.is_import}, function (result) {
+                    change.detail = result;
+                    self.analyzeChange(change);
+                    self.loadChangeDetailData();
+                });
+            }
+        }
+        loadChangeDetailData(data) {
+            const change = data || SpreadJsObj.getSelectObject(this.changeSheet);
             if (change) {
-                console.log(change.bills);
                 SpreadJsObj.loadSheetData(this.changeBillsSheet, SpreadJsObj.DataType.Data, change.bills);
             } else {
                 SpreadJsObj.loadSheetData(this.changeBillsSheet, SpreadJsObj.DataType.Data, []);
@@ -4096,7 +4103,7 @@ $(document).ready(() => {
                         unit_price: node.unit_price || 0,
                     };
                     if (_.isMatch(cb, b)) {
-                        posData = stagePos.getLedgerPos(node.id);
+                        posData = stagePos.getLedgerPos(node.id) || [];
                         return { lid: node.id, pid: posData.length > 0 ? posData[0].id : '-1' };
                     }
                 }

+ 1 - 0
app/router.js

@@ -742,6 +742,7 @@ module.exports = app => {
     app.get('/payment', sessionAuth, 'paymentController.index');
     app.get('/payment/setting', sessionAuth, 'paymentController.setting');
     app.post('/payment/permission/save', sessionAuth, 'paymentController.permissionSave');
+    app.post('/payment/info/save', sessionAuth, 'paymentController.paymentInfoSave');
     app.get('/payment/:id/detail/:did', sessionAuth, paymentTenderCheck, paymentDetailCheck, 'paymentController.detail');
     app.post('/payment/:id/detail/:did/save', sessionAuth, paymentTenderCheck, paymentDetailCheck, 'paymentController.detailSave');
     app.post('/payment/save', sessionAuth, 'paymentController.save');

+ 1 - 1
app/view/payment/list_modal.ejs

@@ -209,7 +209,7 @@
     </div>
 </div>
 
-// 标段属性
+<!--标段属性-->
 <div class="modal fade" id="bd-attr" data-backdrop="static">
     <div class="modal-dialog" role="document">
         <div class="modal-content">