liyg 2 years ago
parent
commit
7a4e3613bf
1 changed files with 40 additions and 18 deletions
  1. 40 18
      src/views/TMS/components/bmsship/detailsStatement.vue

+ 40 - 18
src/views/TMS/components/bmsship/detailsStatement.vue

@@ -156,7 +156,7 @@
               align="center"
             >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.totalEnTonnage"></el-input>
+                <el-input type="number" v-model="scope.row.totalEnTonnage"></el-input>
               </template>
             </el-table-column>
             <el-table-column
@@ -169,16 +169,23 @@
             <el-table-column
               prop="inspectionFees"
               label="水分检测费"
-              width="100px"
+              width="120px"
               align="center"
             >
               <template slot-scope="scope">
-                  <el-input v-model="scope.row.inspectionFees"></el-input>
+                  <el-input type="number" v-model="scope.row.inspectionFees"></el-input>
               </template>
+            </el-table-column>
+             <el-table-column
+              prop="statementTotalAmount"
+              label="总计开票金额"
+              width="100px"
+              align="center"
+            >
             </el-table-column>
             <el-table-column
               prop="fee"
-              label="金额(元)"
+              label="水运费"
               width="100px"
               align="center"
             >
@@ -186,11 +193,11 @@
             <el-table-column
               prop="previewTonnage"
               label="已预开票吨位"
-              width="100px"
+              width="120px"
               align="center"
             >
               <template slot-scope="scope">
-                <el-input v-model="scope.row.previewTonnage"></el-input>
+                <el-input type="number" v-model="scope.row.previewTonnage"></el-input>
               </template>
             </el-table-column>
             <el-table-column
@@ -397,6 +404,7 @@
 <script>
 import { getCookie } from "@/utils/util.js";
 import { sjTime } from "@/utils/sharedJsFile";
+import BigNumber, {bigNumber} from "bignumber.js"
 export default {
   data() {
     return {
@@ -419,7 +427,9 @@ export default {
         "totalEnTonnage",
         "operate",
         "statementTotalAmount",
-        "makeTonnageTotal"
+        "makeTonnageTotal",
+        "previewTonnage",
+        "previewFee"
       ],
       activeName: "first",
       tableTitle: "结算账单报表",
@@ -438,8 +448,8 @@ export default {
     },
     tableData1: {
       handler(newVal) {
-        console.log("执行一次汇总函数");
-        this.computedTableData1(newVal);
+        //console.log("执行一次汇总函数");
+        //this.computedTableData1(newVal);
       },
       deep: true,
       immediate: false
@@ -453,14 +463,11 @@ export default {
       let arr = this.tableData.filter(e => {
         return e.batchId == row.batchId && e.noticeTime==row.noticeTime;
       });
-      let statementTotalAmount = this.tableData.reduce((pre, item) => {
-        return  pre + parseFloat(item.actuallyMoney);
-      }, 0);
       let map = {
         list: arr,
         statementType: 3,
         totalEnTonnage: row.totalEnTonnage,
-        statementTotalAmount: statementTotalAmount.toFixed(2),
+        statementTotalAmount: row.statementTotalAmount,
         userID: getCookie("userId"),
         statementStatus:1
       };
@@ -484,14 +491,11 @@ export default {
       let arr = this.tableData.filter(e => {
         return e.batchId == row.batchId && e.noticeTime==row.noticeTime;
       });
-      let statementTotalAmount = this.tableData.reduce((pre, item) => {
-        return  pre + parseFloat(item.actuallyMoney);
-      }, 0);
       let map = {
         list: arr,
         statementType: 3,
         totalEnTonnage: row.totalEnTonnage,
-        statementTotalAmount: statementTotalAmount.toFixed(2),
+        statementTotalAmount: row.statementTotalAmount,
         userID: getCookie("userId")
       };
       console.log("map:",map);
@@ -511,7 +515,7 @@ export default {
     computedTableData(data) {
       data.forEach((item, index) => {
         if (index == 0) {
-        } else if (item.batchId == data[index - 1].batchId) {
+        } else if (item.batchId == data[index - 1].batchId && item.noticeTime == data[index - 1].noticeTime) {
           item.totalEnTonnage = data[index - 1].totalEnTonnage;
         }
         //预开金额
@@ -527,8 +531,26 @@ export default {
         //实际开票金额
         item.actuallyMoney = (item.makeTonnage * item.unitPrice-item.inspectionFees).toFixed(2);
       });
+      this.computedTotal(data);
       this.getSpanArr(this.tableData);
     },
+    //遍历,汇总
+    computedTotal(data){
+      data.forEach((item, index) => {
+        let arr = data.filter(e => {
+          return e.batchId == item.batchId && e.noticeTime==item.noticeTime;
+        });
+        let inspectionFees=arr.reduce((pre, item1) => {
+          console.log("parseFloat(item1.inspectionFees).toFixed(2)",parseFloat(item1.inspectionFees).toFixed(2));
+          if(item1.inspectionFees)
+            return pre.plus(new BigNumber(item1.inspectionFees));
+          else
+            return pre.plus(0.0);
+        }, new BigNumber(0.0));
+        console.log("inspectionFees:",inspectionFees.toNumber());
+        item.statementTotalAmount=((item.totalEnTonnage-item.previewTonnage)*item.unitPrice-inspectionFees.toNumber()).toFixed(2);
+      });
+    },
     //根据表格据汇总顶部展示
     getTotalArr(data) {
       this.totalWillTonageedValue = data.reduce((pre, item) => {