Browse Source

1. 计量台账,超计标红显示
2. 台账分解,导入Excel,审批退回时也可用

MaiXinRong 5 years atrás
parent
commit
e58975dc8a
3 changed files with 12 additions and 1 deletions
  1. 5 0
      app/controller/stage_controller.js
  2. 1 1
      app/public/js/ledger.js
  3. 6 0
      app/public/js/stage.js

+ 5 - 0
app/controller/stage_controller.js

@@ -577,6 +577,11 @@ module.exports = app => {
                     // 计算 本期金额
                     const payCalculator = new PayCalculator(ctx, ctx.stage, ctx.tender.info);
                     await payCalculator.calculateAll(renderData.dealPay);
+                    await this.ctx.service.stage.update({
+                        id: this.ctx.stage.id, check_calc: false,
+                        contract_tp: payCalculator.cur.contract_tp, qc_tp: payCalculator.cur.qc_tp,
+                        yf: payCalculator.yf.tp,
+                    });
                 }
                 await this.layout('stage/pay.ejs', renderData, 'stage/pay_modal.ejs');
             } catch (err) {

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

@@ -937,7 +937,7 @@ $(document).ready(function() {
                     name: '导入分项清单Excel',
                     icon: 'file-excel-o',
                     disabled: function (key, opt) {
-                        return tender.ledger_status !== 1;
+                        return readOnly;
                     },
                     callback: function (key, opt) {
                         $('#upload-ledger').modal('show');

+ 6 - 0
app/public/js/stage.js

@@ -444,6 +444,9 @@ $(document).ready(() => {
         changesObj.loadChanges({bills: data});
     };
     ledgerSpreadSetting.dgnUpFields = ['deal_dgn_qty1', 'deal_dgn_qty2', 'c_dgn_qty1', 'c_dgn_qty2'];
+    ledgerSpreadSetting.getColor = function (sheet, data, col, defaultColor) {
+        return data && data.end_contract_qty > data.quantity ? '#f8d7da' : defaultColor;
+    };
     SpreadJsObj.initSheet(slSpread.getActiveSheet(), ledgerSpreadSetting);
 
     stageTree.loadDatas(ledgerData);
@@ -472,6 +475,9 @@ $(document).ready(() => {
         const node = SpreadJsObj.getSelectObject(slSpread.getActiveSheet());
         changesObj.loadChanges({bills: node, pos: data});
     };
+    posSpreadSetting.getColor = function (sheet, data, col, defaultColor) {
+        return data && data.end_contract_qty > data.quantity ? '#f8d7da' : defaultColor;
+    };
     SpreadJsObj.initSheet(spSpread.getActiveSheet(), posSpreadSetting);
 
     const stageTreeSpreadObj = {