Browse Source

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/icore-pass

zyf 2 năm trước cách đây
mục cha
commit
f878dc9e70
1 tập tin đã thay đổi với 142 bổ sung41 xóa
  1. 142 41
      src/views/TMS/components/bmsship/detailsStatement.vue

+ 142 - 41
src/views/TMS/components/bmsship/detailsStatement.vue

@@ -7,7 +7,7 @@
           <el-input v-model="shipName" placeholder="请输入船名"></el-input>
         </el-form-item>
         <el-form-item>
-          <span class="demonstration">结算日期</span>
+          <span class="demonstration">离港日期</span>
           <el-date-picker
             v-model="startTime"
             type="date"
@@ -25,14 +25,14 @@
           </el-date-picker>
         </el-form-item>
         <el-form-item>
-          <el-button @click="getNoDetailsStament">查询</el-button>
+          <el-button @click="onClick" type="primary" icon="el-icon-search">查询</el-button>
         </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="exportAllReportToExcel"
             ><i class="el-icon-download"></i>Excel</el-button
           >
         </el-form-item>
-        <el-form-item>
+        <!-- <el-form-item>
           <span class="totalWillTonage">合计已预开票吨位</span>
           <el-input
             v-model="totalWillTonageedValue"
@@ -63,7 +63,7 @@
             disabled
             style="width:80px"
           ></el-input>
-        </el-form-item>
+        </el-form-item> -->
       </el-form>
     </div>
     <div class="main">
@@ -135,7 +135,7 @@
             <el-table-column
               prop="loadingProportion"
               label="装船比例"
-              width="100px"
+              width="70px"
               align="center"
             >
              <template slot-scope="scope">
@@ -152,7 +152,7 @@
             <el-table-column
               prop="totalEnTonnage"
               label="到厂湿吨"
-              width="100px"
+              width="120px"
               align="center"
             >
               <template slot-scope="scope">
@@ -166,6 +166,16 @@
               align="center"
             >
             </el-table-column>
+            <el-table-column
+              prop="inspectionFees"
+              label="水分检测费"
+              width="100px"
+              align="center"
+            >
+              <template slot-scope="scope">
+                  <el-input v-model="scope.row.inspectionFees"></el-input>
+              </template>
+            </el-table-column>
             <el-table-column
               prop="fee"
               label="金额(元)"
@@ -192,25 +202,25 @@
             </el-table-column>
             <el-table-column
               prop="makeTonnage"
-              label="本次实际开票吨位"
+              label="实际开票吨位"
               width="100px"
               align="center"
             >
             </el-table-column>
             <el-table-column
               prop="actuallyMoney"
-              label="本次实际开票金额"
+              label="实际开票金额"
               width="100px"
               align="center"
             >
             </el-table-column>
-            <el-table-column
+            <!-- <el-table-column
               prop="feeMake"
               label="本月实际开票金额"
               
               align="center"
             >
-            </el-table-column>
+            </el-table-column> -->
             <el-table-column
               prop="operate"
               label="操作"
@@ -234,7 +244,6 @@
             :data="tableData1"
             ref="tableRef1"
             border
-            stripe
             max-height="600px"
             :row-style="{ height: '30px' }"
             :cell-style="{ fontWeight: '700' }"
@@ -278,6 +287,20 @@
               align="center"
             >
             </el-table-column>
+            <el-table-column
+              prop="statementTotalAmount"
+              label="开票总金额"
+              width="100px"
+              align="center"
+            >
+            </el-table-column>
+             <el-table-column
+              prop="makeTonnageTotal"
+              label="开票总吨位"
+              width="100px"
+              align="center"
+            >
+            </el-table-column>
             <el-table-column
               prop="resultOutPortTime"
               label="离港日期"
@@ -297,6 +320,16 @@
               label="装船比例"
               width="100px"
               align="center"
+            >
+              <template slot-scope="scope">
+                {{(scope.row.loadingProportion*100).toFixed(2)}}%
+              </template>
+            </el-table-column>
+              <el-table-column
+              prop="inspectionFees"
+              label="水分检测费"
+              width="100px"
+              align="center"
             >
             </el-table-column>
             <el-table-column
@@ -312,9 +345,6 @@
               width="100px"
               align="center"
             >
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.totalEnTonnage"></el-input>
-              </template>
             </el-table-column>
             <el-table-column
               prop="unitPrice"
@@ -336,9 +366,6 @@
               width="100px"
               align="center"
             >
-              <template slot-scope="scope">
-                <el-input v-model="scope.row.willTonanged"></el-input>
-              </template>
             </el-table-column>
             <el-table-column
               prop="previewFee"
@@ -349,21 +376,14 @@
             </el-table-column>
             <el-table-column
               prop="makeTonnage"
-              label="本次实际开票吨位"
-              width="100px"
-              align="center"
-            >
-            </el-table-column>
-            <el-table-column
-              prop="actuallyMoney"
-              label="本次实际开票金额"
+              label="实际开票吨位"
               width="100px"
               align="center"
             >
             </el-table-column>
             <el-table-column
               prop="feeMake"
-              label="本月实际开票金额"
+              label="实际开票金额"
               width="100px"
               align="center"
             >
@@ -397,7 +417,9 @@ export default {
         "resultForeignShipName",
         "materialName",
         "totalEnTonnage",
-        "operate"
+        "operate",
+        "statementTotalAmount",
+        "makeTonnageTotal"
       ],
       activeName: "first",
       tableTitle: "结算账单报表",
@@ -417,7 +439,7 @@ export default {
     tableData1: {
       handler(newVal) {
         console.log("执行一次汇总函数");
-        this.computedTableData(newVal);
+        this.computedTableData1(newVal);
       },
       deep: true,
       immediate: false
@@ -425,24 +447,54 @@ export default {
   },
   methods: {
     //结算
-    settlement(row) {},
+    settlement(row) {
+      console.log("row:",row);
+      //遍历tableData,找出相同批次的行数
+      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),
+        userID: getCookie("userId"),
+        statementStatus:1
+      };
+      console.log("map:",map);
+      this.axios
+        .post("/api/v1/bms/addShipFeeStatement", map)
+        .then(res => {
+          if (res.data.code == "200") {
+            this.getNoDetailsStament();
+            this.$message.success("保存成功");
+          }
+        })
+        .catch(() => {
+          this.$message.error("保存失败");
+        });
+    },
     //保存
     operate(row) {
-      console.log(row);
+      console.log("row:",row);
       //遍历tableData,找出相同批次的行数
       let arr = this.tableData.filter(e => {
-        return e.batchId == row.batchId;
+        return e.batchId == row.batchId && e.noticeTime==row.noticeTime;
       });
-      let stateMentTotalAmount = this.tableData.reduce((pre, item) => {
-        return pre + item.fee;
+      let statementTotalAmount = this.tableData.reduce((pre, item) => {
+        return  pre + parseFloat(item.actuallyMoney);
       }, 0);
       let map = {
         list: arr,
         statementType: 3,
         totalEnTonnage: row.totalEnTonnage,
-        stateMentTotalAmount: stateMentTotalAmount,
+        statementTotalAmount: statementTotalAmount.toFixed(2),
         userID: getCookie("userId")
       };
+      console.log("map:",map);
       this.axios
         .post("/api/v1/bms/addShipFeeStatement", map)
         .then(res => {
@@ -464,16 +516,16 @@ export default {
         }
         //预开金额
         item.previewFee = (item.unitPrice * item.previewTonnage).toFixed(2);
-        //金额
-        item.fee = (item.realTonnage * item.unitPrice).toFixed(2);
         //结算吨位
         item.realTonnage = (
           item.totalEnTonnage * item.loadingProportion
         ).toFixed(2);
+         //金额
+        item.fee = (item.realTonnage * item.unitPrice).toFixed(2);
         //开票吨位
         item.makeTonnage = (item.realTonnage - item.previewTonnage).toFixed(2);
         //实际开票金额
-        item.actuallyMoney = (item.makeTonnage * item.unitPrice).toFixed(2);
+        item.actuallyMoney = (item.makeTonnage * item.unitPrice-item.inspectionFees).toFixed(2);
       });
       this.getSpanArr(this.tableData);
     },
@@ -495,7 +547,13 @@ export default {
     handleClick() {
       console.log("我正在进行账单");
     },
-    onClick() {},
+    onClick() {
+      if(this.activeName=='first'){
+        this.getNoDetailsStament();
+      }else if(this.activeName=='second'){
+        this.getDetailsStamented();
+      }
+    },
     //获取未结算账单数据
     getNoDetailsStament() {
       let startTime = null;
@@ -517,7 +575,27 @@ export default {
         this.computedTableData(this.tableData);
       });
     },
-    getDetailsStamented() {},
+    //已结算账单数据
+    getDetailsStamented() {
+       let startTime = null;
+      let endTime = null;
+      let map={con:this.shipName};
+      if (this.startTime) {
+        startTime = sjTime(this.startTime);
+      }
+      if (this.endTime) {
+        endTime = sjTime(this.endTime);
+      }
+      if(startTime && endTime && startTime < endTime){
+          map.startTime=startTime;
+          map.endTime=endTime;
+      }
+      this.axios.post("/api/v1/bms/getShipFeeStatemented",map).then(res => {
+        console.log(res.data.data);
+        this.tableData1 = res.data.data;
+        this.getSpanArr1(this.tableData1);
+      });
+    },
     //合并表格数据
     getSpanArr(data) {
       //每次调用方法初始化
@@ -541,6 +619,29 @@ export default {
         }
       }
     },
+    //合并表格数据
+    getSpanArr1(data) {
+      //每次调用方法初始化
+      this.spanArr1 = [];
+      for (var i = 0; i < data.length; i++) {
+        if (i === 0) {
+          this.spanArr1.push(1);
+          data[i].group = i;
+          this.pos = 0;
+        } else {
+          // 判断当前元素与上一个元素是否相同
+          if (data[i].statementId === data[i - 1].statementId) {
+            this.spanArr1[this.pos] += 1;
+            data[i].group = data[i - 1].group;
+            this.spanArr1.push(0);
+          } else {
+            this.spanArr1.push(1);
+            this.pos = i;
+            data[i].group = data[i - 1].group + 1;
+          }
+        }
+      }
+    },
     objectSpanMethod({ row, column, rowIndex, columnIndex }) {
       if (this.mergeList.includes(column.property)) {
         const _row = this.spanArr[rowIndex];
@@ -553,7 +654,7 @@ export default {
     },
     objectSpanMethod1({ row, column, rowIndex, columnIndex }) {
       if (this.mergeList.includes(column.property)) {
-        const _row = this.spanArr[rowIndex];
+        const _row = this.spanArr1[rowIndex];
         const _col = _row > 0 ? 1 : 0;
         return {
           rowspan: _row,
@@ -601,7 +702,7 @@ export default {
     }
   },
   mounted() {
-    this.getNoDetailsStament();
+    //this.getNoDetailsStament();
     this.getDetailsStamented();
   }
 };