Преглед на файлове

变更小数位更新金额

laiguoran преди 3 години
родител
ревизия
3d6da58365

+ 3 - 0
app/controller/change_controller.js

@@ -840,6 +840,9 @@ module.exports = app => {
                         // 取所有工料表
                         responseData.data = changeList;
                         break;
+                    case 'update_tp':
+                        await ctx.service.change.saveInfo({ total_price: data.updateData });
+                        break;
                     default: throw '参数有误';
                 }
 

+ 13 - 0
app/public/js/change_information.js

@@ -32,6 +32,19 @@ $(document).ready(() => {
         changeSpreadSheet.setColumnVisible(3,$(this).is(':checked'), GC.Spread.Sheets.SheetArea.viewport);
     });
 
+    // 计算最新的变更总额和change的total_price是否一致,不一致则更新
+    if (changeStatus !== auditConst.status.checked) {
+        let new_tp = 0;
+        for (const c of changeList) {
+            new_tp = ZhCalc.add(new_tp, ZhCalc.round(ZhCalc.mul(ZhCalc.round(c.spamount, findDecimal(c.unit)), ZhCalc.round(c.unit_price, unitPriceUnit)), totalPriceUnit));
+        }
+        console.log(changeTp, new_tp);
+        if (changeTp !== new_tp) {
+            postData(window.location.pathname + '/save', { type:'update_tp', updateData: new_tp }, function (result) {
+            });
+        }
+    }
+
     //tab change
     $('a[data-toggle="tab"]').on('shown.bs.tab', function () {
         const tab = $(this).data('tab');

+ 2 - 2
app/public/js/change_information_approval.js

@@ -85,10 +85,10 @@ $(document).ready(() => {
                 return ZhCalc.round(data.unit_price, unitPriceUnit);
             },
             oa_tp: function (data) {
-                return ZhCalc.round(ZhCalc.mul(data.unit_price, ZhCalc.round(data.oamount, findDecimal(data.unit))), totalPriceUnit);
+                return ZhCalc.round(ZhCalc.mul(ZhCalc.round(data.unit_price, unitPriceUnit), ZhCalc.round(data.oamount, findDecimal(data.unit))), totalPriceUnit);
             },
             ca_tp: function (data) {
-                return ZhCalc.round(ZhCalc.mul(data.unit_price, ZhCalc.round(data.camount, findDecimal(data.unit))), totalPriceUnit);
+                return ZhCalc.round(ZhCalc.mul(ZhCalc.round(data.unit_price, unitPriceUnit), ZhCalc.round(data.camount, findDecimal(data.unit))), totalPriceUnit);
             },
             oamount: function (data) {
                 return ZhCalc.round(data.oamount, findDecimal(data.unit));

+ 2 - 2
app/public/js/change_information_set.js

@@ -142,10 +142,10 @@ $(document).ready(() => {
                 return ZhCalc.round(data.unit_price, unitPriceUnit);
             },
             oa_tp: function (data) {
-                return ZhCalc.round(ZhCalc.mul(data.unit_price, ZhCalc.round(data.oamount, findDecimal(data.unit))), totalPriceUnit);
+                return ZhCalc.round(ZhCalc.mul(ZhCalc.round(data.unit_price, unitPriceUnit), ZhCalc.round(data.oamount, findDecimal(data.unit))), totalPriceUnit);
             },
             ca_tp: function (data) {
-                return ZhCalc.round(ZhCalc.mul(data.unit_price, ZhCalc.round(data.camount, findDecimal(data.unit))), totalPriceUnit);
+                return ZhCalc.round(ZhCalc.mul(ZhCalc.round(data.unit_price, unitPriceUnit), ZhCalc.round(data.camount, findDecimal(data.unit))), totalPriceUnit);
             },
             oamount: function (data) {
                 return ZhCalc.round(data.oamount, findDecimal(data.unit));

+ 3 - 3
app/public/js/change_information_show.js

@@ -73,10 +73,10 @@ $(document).ready(() => {
                 return ZhCalc.round(data.unit_price, unitPriceUnit);
             },
             oa_tp: function (data) {
-                return ZhCalc.round(ZhCalc.mul(data.unit_price, ZhCalc.round(data.oamount, findDecimal(data.unit))), totalPriceUnit);
+                return ZhCalc.round(ZhCalc.mul(ZhCalc.round(data.unit_price, unitPriceUnit), ZhCalc.round(data.oamount, findDecimal(data.unit))), totalPriceUnit);
             },
             ca_tp: function (data) {
-                return ZhCalc.round(ZhCalc.mul(data.unit_price, ZhCalc.round(data.camount, findDecimal(data.unit))), totalPriceUnit);
+                return ZhCalc.round(ZhCalc.mul(ZhCalc.round(data.unit_price, unitPriceUnit), ZhCalc.round(data.camount, findDecimal(data.unit))), totalPriceUnit);
             },
             oamount: function (data) {
                 return ZhCalc.round(data.oamount, findDecimal(data.unit));
@@ -88,7 +88,7 @@ $(document).ready(() => {
                 return ZhCalc.round(data.samount, findDecimal(data.unit));
             },
             sa_tp: function (data) {
-                return ZhCalc.round(ZhCalc.mul(data.unit_price, data.samount), totalPriceUnit);
+                return ZhCalc.round(ZhCalc.mul(ZhCalc.round(data.unit_price, unitPriceUnit), ZhCalc.round(data.samount, findDecimal(data.unit))), totalPriceUnit);
             },
         },
     };

+ 3 - 0
app/view/change/information.ejs

@@ -392,10 +392,13 @@
     const ledgerConsts = JSON.parse('<%- JSON.stringify(ledgerConsts) %>');
     const auditStatus = parseInt('<%- auditStatus %>');
     const changeName = JSON.parse(unescape('<%- escape(JSON.stringify(change.name)) %>'));
+    const changeTp = parseFloat('<%- change.total_price ? change.total_price : 0 %>');
+    const changeStatus = parseFloat('<%- change.status %>');
     const touristPermission = parseInt('<%- ctx.tender.touristPermission.file %>');
     const auditList = JSON.parse(unescape('<%- escape(JSON.stringify(auditList)) %>'));
     const precision = JSON.parse('<%- JSON.stringify(precision) %>');
     const whiteList = JSON.parse('<%- JSON.stringify(whiteList) %>');
+    const auditConst = JSON.parse('<%- JSON.stringify(auditConst) %>');
     let attData = JSON.parse(unescape('<%- escape(JSON.stringify(attList)) %>'));
     let currPageFileData = [];
     autoFlashHeight();