Просмотр исходного кода

合同参数,计日工相关

MaiXinRong 2 недель назад
Родитель
Сommit
ae0f86f9d9

+ 2 - 2
app/const/deal_pay.js

@@ -26,7 +26,7 @@ const payTemplate = [
 const calcBase = [
     {name: '签约合同价', code: 'htj', sort: 10},
     {name: '暂列金额', code: 'zlje', sort: 2},
-    {name: '签约合同价(不含暂列金)', code: 'htjszl', sort: 1},
+    {name: '签约合同价(不含暂列金、计日工)', code: 'htjszl', sort: 1},
     {name: '签约开工预付款', code: 'kgyfk', sort: 2},
     {name: '签约材料预付款', code: 'clyfk', sort: 2},
     {name: '本期完成计量', code: 'bqwc', limit: true, sort: 10},
@@ -45,7 +45,7 @@ const calcBase = [
 const materialCalcBase = [
     {name: '签约合同价', code: 'htj', sort: 10},
     {name: '暂列金额', code: 'zlje', sort: 2},
-    {name: '签约合同价(不含暂列金)', code: 'htjszl', sort: 1},
+    {name: '签约合同价(不含暂列金、计日工)', code: 'htjszl', sort: 1},
     {name: '签约开工预付款', code: 'kgyfk', sort: 2},
     {name: '签约材料预付款', code: 'clyfk', sort: 2},
     {name: '本期完成计量', code: 'bqwc', limit: true, sort: 10},

+ 1 - 0
app/const/tender_info.js

@@ -125,6 +125,7 @@ const defaultInfo = {
     deal_param: {
         contractPrice: 0, // 签约合同价
         zanLiePrice: 0, // 暂列金额
+        jrgPrice: 0, // 计日工
         startAdvance: 0, // 开工预付款
         materialAdvance: 0, // 材料预付款
         safeAdvance: 0, // 安全生产预付款

+ 2 - 2
app/service/phase_pay.js

@@ -14,7 +14,7 @@ const shenpiConst = require('../const/shenpi');
 const calcBase = [
     {name: '签约合同价', code: 'htj', sort: 10},
     {name: '暂列金额', code: 'zlje', sort: 2},
-    {name: '签约合同价(不含暂列金)', code: 'htjszl', sort: 1},
+    {name: '签约合同价(不含暂列金、计日工)', code: 'htjszl', sort: 1},
     {name: '签约开工预付款', code: 'kgyfk', sort: 2},
     {name: '签约材料预付款', code: 'clyfk', sort: 2},
     {name: '本期完成计量', code: 'bqwc', limit: true, sort: 10, checkStart: 'gather_tp'},
@@ -187,7 +187,7 @@ module.exports = app => {
                         cb.value = tenderInfo.deal_param.zanLiePrice;
                         break;
                     case 'htjszl':
-                        cb.value = this.ctx.helper.sub(tenderInfo.deal_param.contractPrice, tenderInfo.deal_param.zanLiePrice);
+                        cb.value = this.ctx.helper.sub(this.ctx.helper.sub(tenderInfo.deal_param.contractPrice, tenderInfo.deal_param.zanLiePrice), tenderInfo.deal_param.jrgPrice);
                         break;
                     case 'kgyfk':
                         cb.value = tenderInfo.deal_param.startAdvance;

+ 2 - 2
app/service/stage.js

@@ -680,7 +680,7 @@ module.exports = app => {
                         cb.value = param.zanLiePrice;
                         break;
                     case 'htjszl':
-                        cb.value = this.ctx.helper.sub(param.contractPrice, param.zanLiePrice);
+                        cb.value = this.ctx.helper.sub(this.ctx.helper.sub(param.contractPrice, param.zanLiePrice), param.jrgPrice);
                         break;
                     case 'kgyfk':
                         cb.value = param.startAdvance;
@@ -884,7 +884,7 @@ module.exports = app => {
                         cb.value = param.zanLiePrice;
                         break;
                     case 'htjszl':
-                        cb.value = this.ctx.helper.sub(param.contractPrice, param.zanLiePrice);
+                        cb.value = this.ctx.helper.sub(this.ctx.helper.sub(param.contractPrice, param.zanLiePrice), param.jrgPrice);
                         break;
                     case 'kgyfk':
                         cb.value = param.startAdvance;

+ 1 - 1
app/view/stage/deal.ejs

@@ -96,7 +96,7 @@
                     <table class="table table-bordered">
                         <tr><th></th><th>可选基数</th><th>计算代号</th></tr>
                         <tr><td>1</td><td>签约合同价</td><td>htj</td></tr>
-                        <tr><td>2</td><td>签约合同价(不含暂列金)</td><td>htjszl</td></tr>
+                        <tr><td>2</td><td>签约合同价(不含暂列金、计日工)</td><td>htjszl</td></tr>
                         <tr><td>3</td><td>签约开工预付款</td><td>kgyfk</td></tr>
                         <tr><td>4</td><td>签约材料预付款</td><td>clyfk</td></tr>
                         <tr><td>5</td><td>本期完成计量</td><td>bqwc</td></tr>

+ 23 - 18
app/view/tender/detail_modal.ejs

@@ -1455,21 +1455,22 @@
         SpreadJsObj.massOperationSheet(sheet, function () {
             sheet.defaults.rowHeight = 21;
             sheet.setColumnCount(2);
-            sheet.setRowCount(5);
+            sheet.setRowCount(6);
             sheet.setColumnWidth(0, 200);
             sheet.setColumnWidth(1, 200);
-            sheet.getRange(0, 0, 5, 1).vAlign(1).backColor('#e4e7ea').locked(true);
-            sheet.getRange(0, 1, 5, 1).vAlign(1).hAlign(2).locked(false);
+            sheet.getRange(0, 0, 6, 1).vAlign(1).backColor('#e4e7ea').locked(true);
+            sheet.getRange(0, 1, 6, 1).vAlign(1).hAlign(2).locked(false);
             sheet.setText(0, 0, '签约合同价');
             sheet.setText(1, 0, '暂列金额');
-            sheet.setText(2, 0, '签约合同价(不含暂列金)');
-            sheet.setText(3, 0, '签约开工预付款');
-            sheet.setText(4, 0, '签约材料预付款');
-            sheet.setText(5, 0, '安全生产费');
-            sheet.getCell(2, 1).locked(true);
+            sheet.setText(2, 0, '计日工');
+            sheet.setText(3, 0, '签约合同价(不含暂列金)');
+            sheet.setText(4, 0, '签约开工预付款');
+            sheet.setText(5, 0, '签约材料预付款');
+            sheet.setText(6, 0, '安全生产费');
+            sheet.getCell(3, 1).locked(true);
             const lineBorder = new spreadNS.LineBorder('#dee2e6', spreadNS.LineStyle.thin);
-            sheet.getRange(0, 0, 5, 2).setBorder(lineBorder, {all: true});
-            sheet.getRange(0, 0, 5, 2).formatter('@');
+            sheet.getRange(0, 0, 6, 2).setBorder(lineBorder, {all: true});
+            sheet.getRange(0, 0, 6, 2).formatter('@');
             sheet.setSelection(0, 1, 1, 1);
         });
 
@@ -1504,7 +1505,8 @@
         function calcHtjMinusZlj() {
             const htj = _.toNumber(sheet.getText(0, 1));
             const zlj = _.toNumber(sheet.getText(1, 1));
-            sheet.setValue(2, 1, ZhCalc.sub(htj, zlj));
+            const jrg = _.toNumber(sheet.getText(2, 1));
+            sheet.setValue(3, 1, ZhCalc.sub(ZhCalc.sub(htj, zlj), jrg));
         }
 
         spread.bind(spreadNS.Events.EditEnded, function (e, info) {
@@ -1516,7 +1518,7 @@
                 toastr.warning('请输入不超过万亿的数字');
                 info.sheet.setText(info.row, info.col, '0');
             }
-            if (info.row === 0 || info.row === 1) {
+            if ([0, 1, 2].indexOf(info.row) >= 0) {
                 calcHtjMinusZlj();
             }
         });
@@ -1602,9 +1604,10 @@
         function loadDealProperty() {
             sheet.setValue(0, 1, property.deal_param.contractPrice);
             sheet.setValue(1, 1, property.deal_param.zanLiePrice);
-            sheet.setValue(2, 1, ZhCalc.sub(property.deal_param.contractPrice, property.deal_param.zanLiePrice));
-            sheet.setValue(3, 1, property.deal_param.startAdvance);
-            sheet.setValue(4, 1, property.deal_param.materialAdvance);
+            sheet.setValue(2, 1, property.deal_param.jrgPrice);
+            sheet.setValue(3, 1, ZhCalc.sub(ZhCalc.sub(property.deal_param.contractPrice, property.deal_param.zanLiePrice), property.deal_param.jrgPrice));
+            sheet.setValue(4, 1, property.deal_param.startAdvance);
+            sheet.setValue(5, 1, property.deal_param.materialAdvance);
             // sheet.setValue(5, 1, property.deal_param.safeAdvance);
             cap100sheet.setValue(0, 1, property.deal_param.safeAdvance);
             cap100sheet.setValue(1, 1, property.deal_param.dustAdvance);
@@ -1613,8 +1616,9 @@
         function setReadOnly (readOnly) {
             sheet.getCell(0, 1).locked(readOnly);
             sheet.getCell(1, 1).locked(readOnly);
-            sheet.getCell(3, 1).locked(readOnly);
+            sheet.getCell(2, 1).locked(readOnly);
             sheet.getCell(4, 1).locked(readOnly);
+            sheet.getCell(5, 1).locked(readOnly);
             // sheet.getCell(5, 1).locked(readOnly);
             cap100sheet.getCell(0, 1).locked(readOnly);
             cap100sheet.getCell(1, 1).locked(readOnly);
@@ -1623,8 +1627,9 @@
             const result = {};
             result.contractPrice = _.toNumber(sheet.getText(0, 1));
             result.zanLiePrice = _.toNumber(sheet.getText(1, 1));
-            result.startAdvance = _.toNumber(sheet.getText(3, 1));
-            result.materialAdvance = _.toNumber(sheet.getText(4, 1));
+            result.jrgPrice = _.toNumber(sheet.getText(2, 1));
+            result.startAdvance = _.toNumber(sheet.getText(4, 1));
+            result.materialAdvance = _.toNumber(sheet.getText(5, 1));
             // result.safeAdvance = _.toNumber(sheet.getText(5, 1));
             result.safeAdvance = _.toNumber(cap100sheet.getText(0, 1));
             result.dustAdvance = _.toNumber(cap100sheet.getText(1, 1));