Browse Source

Merge branch 'master' of git.echepei.com:zhujiawei/Warehouse_management_ui

wengyuwen 4 years ago
parent
commit
0a0e7577ef

+ 18 - 0
src/api/fleet/fleetStatistics.js

@@ -0,0 +1,18 @@
+import request from '@/utils/request'
+
+// 查询陆运台账列表信息
+export function queryLedgerList(query) {
+  return request({
+    url: '/fleet/ftmsorderbillscars/queryLedgerList',
+    method: 'get',
+    params: query
+  })
+}
+// 导出陆运台账列表信息
+export function ledgerListExport(query) {
+  return request({
+    url: '/fleet/ftmsorderbillscars/ledgerListExport',
+    method: 'get',
+    params: query
+  })
+}

+ 401 - 65
src/views/Warehousing/inStock/AddOrUpdate.vue

@@ -272,16 +272,16 @@
       </el-row>
       <el-row>
         <el-col :span="8">
-          <el-form-item label="计费单位" prop="fFeetunit">
+          <el-form-item label="计费单位" prop="fFeetUnit">
             <el-select
-              v-model="form.fFeetunit"
+              v-model="form.fFeetUnit"
               placeholder="请选择计费单位"
               clearable
               :disabled="browseStatus || formBrowseStatus"
               style="width: 80%"
             >
               <el-option
-                v-for="(item, index) in fFeetunitOptions"
+                v-for="(item, index) in fFeetUnitOptions"
                 :key="index.dictValue"
                 :label="item.dictLabel"
                 :value="item.dictValue"
@@ -1262,7 +1262,7 @@
             </template>
           </el-table-column>
           <el-table-column
-            prop="fFeeunitid"
+            prop="fFeeUnitid"
             header-align="center"
             align="center"
             width="180px"
@@ -1270,13 +1270,14 @@
           >
             <template slot-scope="scope">
               <el-select
-                v-model="scope.row.fFeeunitid"
+                v-model="scope.row.fFeeUnitid"
                 placeholder="请选择计价单位"
                 clearable
                 :disabled="browseStatus"
+                @change="changeFeeUnit(scope.row)"
               >
                 <el-option
-                  v-for="(item, index) in fFeetunitOptions"
+                  v-for="(item, index) in fFeetUnitOptions"
                   :key="index.dictValue"
                   :label="item.dictLabel"
                   :value="item.dictValue"
@@ -1626,7 +1627,7 @@
           </el-table-column>
 
           <el-table-column
-            prop="fFeeunitid"
+            prop="fFeeUnitid"
             header-align="center"
             align="center"
             width="180px"
@@ -1634,15 +1635,16 @@
           >
             <template slot-scope="scope">
               <el-select
-                v-model="scope.row.fFeeunitid"
+                v-model="scope.row.fFeeUnitid"
                 filterable
                 remote
                 :disabled="browseStatus"
                 :remote-method="corpsRemoteMethod"
                 placeholder="计价单位"
+                @change="changeFeeUnit(scope.row)"
               >
                 <el-option
-                  v-for="(item, index) in fFeetunitOptions"
+                  v-for="(item, index) in fFeetUnitOptions"
                   :key="index.dictValue"
                   :label="item.dictLabel"
                   :value="item.dictValue"
@@ -1980,7 +1982,6 @@
                   v-model.number="importList.fGrossweight"
                   v-input-limit="2"
                   style="width: 100%"
-                  disabled
                   placeholder="毛重"
                 />
               </el-form-item>
@@ -1991,7 +1992,6 @@
                   v-model.number="importList.fNetweight"
                   v-input-limit="2"
                   style="width: 100%"
-                  disabled
                   placeholder="毛重"
                 />
               </el-form-item>
@@ -2012,7 +2012,6 @@
                 <el-select
                   placeholder="请选择箱型"
                   v-model="importList.fCntrtype"
-                  size="mini"
                 >
                   <el-option
                     v-for="(item, index) in cntrList"
@@ -2884,7 +2883,7 @@
           label="费用名称"
         />
         <el-table-column
-          prop="fFeeunitid"
+          prop="fFeeUnitid"
           header-align="center"
           align="center"
           width="180px"
@@ -2892,14 +2891,14 @@
         >
           <template slot-scope="scope">
             <el-select
-              v-model="scope.row.fFeeunitid"
+              v-model="scope.row.fFeeUnitid"
               placeholder="请选择计价单位"
               @change="changeFeeUnit(scope.row)"
               disabled
               clearable
             >
               <el-option
-                v-for="(dict, index) in fFeetunitOptions"
+                v-for="(dict, index) in fFeetUnitOptions"
                 :key="index.dictValue"
                 :label="dict.dictLabel"
                 :value="dict.dictValue"
@@ -3053,7 +3052,7 @@ export default {
         fMblno: [{ required: true, message: " ", trigger: "blur" }],
         fBsdeptid: [{ required: true, message: " ", trigger: "blur" }],
         fCorpid: [{ required: true, message: " ", trigger: "blur" }],
-        fFeetunit: [{ required: true, message: " ", trigger: "blur" }],
+        fFeetUnit: [{ required: true, message: " ", trigger: "blur" }],
         fPlanqty: [{ required: true, message: " ", trigger: "blur" }],
         fPlangrossweight: [{ required: true, message: " ", trigger: "blur" }],
         fPlannetweight: [{ required: true, message: " ", trigger: "blur" }],
@@ -3088,7 +3087,7 @@ export default {
       businessTypeOption: [],
       fCompanyOptIons: [],
       fleetOptions: [],
-      fFeetunitOptions: [],
+      fFeetUnitOptions: [],
       current: "",
       before: "",
       contrOl: false,
@@ -3161,7 +3160,7 @@ export default {
       localStorage.setItem("businessTypeList", JSON.stringify(response.data));
     });
     this.getDicts("data_unitfees").then((response) => {
-      this.fFeetunitOptions = response.data;
+      this.fFeetUnitOptions = response.data;
     });
     this.getDicts("data_trademodes").then((response) => {
       this.fTrademodeidOptions = response.data;
@@ -3298,6 +3297,53 @@ export default {
             return this.$message.error("请勿重复卸货");
           }
         }
+        if (this.CntrTable.length > 0) {
+          let arr = [];
+          this.CntrTable.map((e) => {
+            this.cntrList.map((item) => {
+              if (item.fId == e.fCntrid) {
+                arr.push(item.fName + "X" + e.fCntrcount);
+              }
+            });
+          });
+          arr = [...new Set(arr)];
+          this.form.fCntval = arr.join(",");
+        } else {
+          this.form.fCntval = null;
+        }
+        if (this.detailList.length > 0) {
+          let arr = [];
+          this.detailList.map((e) => {
+            this.goodsOptions.map((item) => {
+              if (e.fGoodsid == item.fId) {
+                arr.push(item.fName);
+              }
+            });
+          });
+          arr = [...new Set(arr)];
+          this.form.fProductName = arr.join(",");
+        } else {
+          this.form.fProductName = "";
+        }
+        if (this.detailList.length > 0) {
+          let arr = [];
+          this.detailList.map((e) => {
+            arr.push(e.fMarks);
+          });
+          arr = [...new Set(arr)];
+          this.form.fMarks = arr.join(",");
+        } else {
+           this.form.fMarks = "";
+        }
+        if (this.detailList.length == 0) {
+          this.form.fNetweight = 0;
+          this.form.fPlanvolumn = 0;
+          this.form.fGrossweight = 0;
+        } else {
+          this.form.fNetweight = this.fNetweight;
+          this.form.fPlanvolumn = this.fPlanvolumn;
+          this.form.fGrossweight = this.fGrossweight;
+        }
         let formData = new window.FormData();
         formData.append("warehouseBills", JSON.stringify(this.form));
         formData.append("tEnclosure", JSON.stringify(this.relevantAttachments));
@@ -3343,6 +3389,53 @@ export default {
           return this.$message.error("请存在未卸货的数据");
         }
       }
+      if (this.CntrTable.length > 0) {
+        let arr = [];
+        this.CntrTable.map((e) => {
+          this.cntrList.map((item) => {
+            if (item.fId == e.fCntrid) {
+              arr.push(item.fName + "X" + e.fCntrcount);
+            }
+          });
+        });
+        arr = [...new Set(arr)];
+        this.form.fCntval = arr.join(",");
+      } else {
+        this.form.fCntval = null;
+      }
+      if (this.detailList.length > 0) {
+        let arr = [];
+        this.detailList.map((e) => {
+          this.goodsOptions.map((item) => {
+            if (e.fGoodsid == item.fId) {
+              arr.push(item.fName);
+            }
+          });
+        });
+        arr = [...new Set(arr)];
+        this.form.fProductName = arr.join(",");
+      } else {
+        this.form.fProductName = "";
+      }
+      if (this.detailList.length > 0) {
+        let arr = [];
+        this.detailList.map((e) => {
+          arr.push(e.fMarks);
+        });
+        arr = [...new Set(arr)];
+        this.form.fMarks = arr.join(",");
+      } else {
+         this.form.fMarks = "";
+      }
+      if (this.detailList.length == 0) {
+        this.form.fNetweight = 0;
+        this.form.fPlanvolumn = 0;
+        this.form.fGrossweight = 0;
+      } else {
+        this.form.fNetweight = this.fNetweight;
+        this.form.fPlanvolumn = this.fPlanvolumn;
+        this.form.fGrossweight = this.fGrossweight;
+      }
       let formData = new window.FormData();
       formData.append("warehouseBills", JSON.stringify(this.form));
       formData.append("warehousebillsitems", JSON.stringify(this.Printinglist));
@@ -3387,6 +3480,53 @@ export default {
           return this.$message.error("请存在未入库的数据");
         }
       }
+      if (this.CntrTable.length > 0) {
+        let arr = [];
+        this.CntrTable.map((e) => {
+          this.cntrList.map((item) => {
+            if (item.fId == e.fCntrid) {
+              arr.push(item.fName + "X" + e.fCntrcount);
+            }
+          });
+        });
+        arr = [...new Set(arr)];
+        this.form.fCntval = arr.join(",");
+      } else {
+        this.form.fCntval = null;
+      }
+      if (this.detailList.length > 0) {
+        let arr = [];
+        this.detailList.map((e) => {
+          this.goodsOptions.map((item) => {
+            if (e.fGoodsid == item.fId) {
+              arr.push(item.fName);
+            }
+          });
+        });
+        arr = [...new Set(arr)];
+        this.form.fProductName = arr.join(",");
+      } else {
+        this.form.fProductName = "";
+      }
+      if (this.detailList.length > 0) {
+        let arr = [];
+        this.detailList.map((e) => {
+          arr.push(e.fMarks);
+        });
+        arr = [...new Set(arr)];
+        this.form.fMarks = arr.join(",");
+      } else {
+         this.form.fMarks = "";
+      }
+      if (this.detailList.length == 0) {
+        this.form.fNetweight = 0;
+        this.form.fPlanvolumn = 0;
+        this.form.fGrossweight = 0;
+      } else {
+        this.form.fNetweight = this.fNetweight;
+        this.form.fPlanvolumn = this.fPlanvolumn;
+        this.form.fGrossweight = this.fGrossweight;
+      }
       // 撤回入库
       let formData = new window.FormData();
       formData.append("warehouseBills", JSON.stringify(this.form));
@@ -3446,6 +3586,7 @@ export default {
         this.$set(this.form, "fBstime", Date.parse(this.form.fBstime));
         this.$set(this.form, "createTime", Date.parse(this.form.createTime));
         this.$set(this.form, "fChargedate", Date.parse(this.form.fChargedate));
+        this.$set(this.form, "fFeetUnit", this.form.fFeetunit);
         if (this.form.fTrademodeid) {
           this.$set(
             this.form,
@@ -3457,10 +3598,14 @@ export default {
           this.$set(this.form, "fStltypeid", this.form.fStltypeid.toString());
         }
         if (!this.copyStatus) {
-          this.detailList = response.data.warehouseBillsItem;
+          if (response.data.warehouseBillsItem) {
+            this.detailList = response.data.warehouseBillsItem;
+          } else {
+            this.detailList = [];
+          }
           response.data.warehousebillsfeesCr.map((e) => {
             if (e.fFeeunitid) {
-              e.fFeeunitid = e.fFeeunitid.toString();
+              e.fFeeUnitid = e.fFeeunitid.toString();
             }
             if (e.fStltypeid || e.fStltypeid == 0) {
               e.fStltypeid = e.fStltypeid.toString();
@@ -3469,7 +3614,7 @@ export default {
           this.warehouseCrList = response.data.warehousebillsfeesCr;
           response.data.warehousebillsfeesDr.map((e) => {
             if (e.fFeeunitid) {
-              e.fFeeunitid = e.fFeeunitid.toString();
+              e.fFeeUnitid = e.fFeeunitid.toString();
             }
             if (e.fStltypeid || e.fStltypeid == 0) {
               e.fStltypeid = e.fStltypeid.toString();
@@ -3480,8 +3625,14 @@ export default {
           if (response.data.enclosures) {
             this.relevantAttachments = response.data.enclosures;
           }
-        }else{ 
+        } else {
+          this.$set(this.form, "fId", null);
           this.$set(this.form, "fMblno", null);
+          this.$set(this.form, "fMarks", null);
+          this.$set(this.form, "fProductName", null);
+          this.$set(this.form, "fNetweight", 0);
+          this.$set(this.form, "fPlanvolumn", 0);
+          this.$set(this.form, "fGrossweight", 0);
         }
       });
     },
@@ -3510,7 +3661,7 @@ export default {
                 return false;
               }
             }
-            if (!this.warehouseDrList[item].fFeeunitid) {
+            if (!this.warehouseDrList[item].fFeeUnitid) {
               if (item === "fBusinessType") {
               } else {
                 this.$message.error(
@@ -3540,7 +3691,7 @@ export default {
               }
             }
 
-            if (!this.warehouseCrList[item].fFeeunitid) {
+            if (!this.warehouseCrList[item].fFeeUnitid) {
               if (item === "fBusinessType") {
               } else {
                 this.$message.error(
@@ -3550,9 +3701,56 @@ export default {
               }
             }
           }
-          let formData = new window.FormData();
           // 附件数据
-          this.form.fBillingway = this.form.fFeetunit;
+          this.form.fBillingway = this.form.fFeetUnit;
+          if (this.detailList.length == 0) {
+            this.form.fNetweight = 0;
+            this.form.fPlanvolumn = 0;
+            this.form.fGrossweight = 0;
+          } else {
+            this.form.fNetweight = this.fNetweight;
+            this.form.fPlanvolumn = this.fPlanvolumn;
+            this.form.fGrossweight = this.fGrossweight;
+          }
+          if (this.CntrTable.length > 0) {
+            let arr = [];
+            this.CntrTable.map((e) => {
+              this.cntrList.map((item) => {
+                if (item.fId == e.fCntrid) {
+                  arr.push(item.fName + "X" + e.fCntrcount);
+                }
+              });
+            });
+            arr = [...new Set(arr)];
+            this.form.fCntval = arr.join(",");
+          } else {
+            this.form.fCntval = null;
+          }
+          if (this.detailList.length > 0) {
+            let arr = [];
+            this.detailList.map((e) => {
+              this.goodsOptions.map((item) => {
+                if (e.fGoodsid == item.fId) {
+                  arr.push(item.fName);
+                }
+              });
+            });
+            arr = [...new Set(arr)];
+            this.form.fProductName = arr.join(",");
+          } else {
+            this.form.fProductName = "";
+          }
+          if (this.detailList.length > 0) {
+            let arr = [];
+            this.detailList.map((e) => {
+              arr.push(e.fMarks);
+            });
+            arr = [...new Set(arr)];
+            this.form.fMarks = arr.join(",");
+          } else {
+             this.form.fMarks = "";
+          }
+          let formData = new window.FormData();
           formData.append("tWarehouseBills", JSON.stringify(this.form));
           // 库存明细
           formData.append(
@@ -3587,12 +3785,60 @@ export default {
         }
       });
     },
-    saveForm() {
+    saveForm(status) {
       this.$refs["form"].validate((valid) => {
         if (valid) {
+          this.form.fBillingway = this.form.fFeetUnit;
+          if (this.detailList.length == 0) {
+            this.form.fNetweight = 0;
+            this.form.fPlanvolumn = 0;
+            this.form.fGrossweight = 0;
+          } else {
+            this.form.fNetweight = this.fNetweight;
+            this.form.fPlanvolumn = this.fPlanvolumn;
+            this.form.fGrossweight = this.fGrossweight;
+          }
           let formData = new window.FormData();
           // 附件数据
-          this.form.fBillingway = this.form.fFeetunit;
+          this.form.fQty = this.fQty;
+          if (this.CntrTable.length > 0) {
+            let arr = [];
+            this.CntrTable.map((e) => {
+              this.cntrList.map((item) => {
+                if (item.fId == e.fCntrid) {
+                  arr.push(item.fName + "X" + e.fCntrcount);
+                }
+              });
+            });
+            arr = [...new Set(arr)];
+            this.form.fCntval = arr.join(",");
+          } else {
+            this.form.fCntval = null;
+          }
+          if (this.detailList.length > 0) {
+            let arr = [];
+            this.detailList.map((e) => {
+              this.goodsOptions.map((item) => {
+                if (e.fGoodsid == item.fId) {
+                  arr.push(item.fName);
+                }
+              });
+            });
+            arr = [...new Set(arr)];
+            this.form.fProductName = arr.join(",");
+          } else {
+            this.form.fProductName = "";
+          }
+          if (this.detailList.length > 0) {
+            let arr = [];
+            this.detailList.map((e) => {
+              arr.push(e.fMarks);
+            });
+            arr = [...new Set(arr)];
+            this.form.fMarks = arr.join(",");
+          } else {
+             this.form.fMarks = "";
+          }
           formData.append("tWarehouseBills", JSON.stringify(this.form));
           // 库存明细
           formData.append(
@@ -3634,37 +3880,43 @@ export default {
                   });
                 });
             } else {
-              this.mblnoStatus = "";
-              this.form = response.data.warehouseBills;
-              this.$set(this.form, "fEta", Date.parse(this.form.fEta));
-              this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
-              this.$set(this.form, "fBstime", Date.parse(this.form.fBstime));
-              this.$set(
-                this.form,
-                "createTime",
-                Date.parse(this.form.createTime)
-              );
-              this.$set(
-                this.form,
-                "fChargedate",
-                Date.parse(this.form.fChargedate)
-              );
-              if (this.form.fTrademodeid) {
+              if ((response.code = 200)) {
+                this.mblnoStatus = "";
+                this.form = response.data.warehouseBills;
+                this.$set(this.form, "fEta", Date.parse(this.form.fEta));
+                this.$set(this.form, "fBsdate", Date.parse(this.form.fBsdate));
+                this.$set(this.form, "fBstime", Date.parse(this.form.fBstime));
+                this.$set(this.form, "fFeetUnit", this.form.fFeetunit);
                 this.$set(
                   this.form,
-                  "fTrademodeid",
-                  this.form.fTrademodeid.toString()
+                  "createTime",
+                  Date.parse(this.form.createTime)
                 );
-              }
-              if (this.form.fStltypeid || this.form.fStltypeid == 0) {
                 this.$set(
                   this.form,
-                  "fStltypeid",
-                  this.form.fStltypeid.toString()
+                  "fChargedate",
+                  Date.parse(this.form.fChargedate)
                 );
+                if (this.form.fTrademodeid) {
+                  this.$set(
+                    this.form,
+                    "fTrademodeid",
+                    this.form.fTrademodeid.toString()
+                  );
+                }
+                if (this.form.fStltypeid || this.form.fStltypeid == 0) {
+                  this.$set(
+                    this.form,
+                    "fStltypeid",
+                    this.form.fStltypeid.toString()
+                  );
+                }
+                this.detailList = response.data.warehousebillsitems;
+                this.msgSuccess("保存成功");
+                if (status == "goBack") {
+                  this.cancel();
+                }
               }
-              this.detailList = response.data.warehousebillsitems;
-              this.msgSuccess("保存成功");
             }
           });
         }
@@ -3897,8 +4149,8 @@ export default {
       }
       operationAgreement(data).then((response) => {
         response.rows.map((e) => {
-          if (e.fFeeunitid) {
-            e.fFeeunitid = e.fFeeunitid.toString();
+          if (e.fFeeUnitid) {
+            e.fFeeUnitid = e.fFeeUnitid.toString();
           }
         });
         this.tasklegList = response.rows;
@@ -4056,7 +4308,10 @@ export default {
       this.reset();
       this.fixdetaiNum = null;
       this.fixdetaiNum = index;
+      console.log(row);
       row.fBsdate = new Date(row.fBsdate).getTime();
+      row.fBusinessType = row.fBusinessType.toString();
+      row.fCntrtype = Number(row.fCntrtype);
       this.importList = row;
       this.weightList = true;
     },
@@ -4071,6 +4326,13 @@ export default {
           this.sumMum += e.fQty;
         }
       });
+      if (this.detailList.length == 0) {
+        this.form.fProductName = "";
+        this.form.fMarks = "";
+        this.form.fNetweight = 0;
+        this.form.fPlanvolumn = 0;
+        this.form.fGrossweight = 0;
+      }
     },
     // 新增附件上传
     addRelevt() {
@@ -4092,7 +4354,7 @@ export default {
             this.warehouseDrList.push({
               fCorpid: null,
               fFeeid: null,
-              fFeeunitid: "",
+              fFeeUnitid: "",
               fQty: null,
               fUnitprice: null,
               fAmount: null,
@@ -4127,7 +4389,7 @@ export default {
             this.warehouseCrList.push({
               fCorpid: null,
               fFeeid: null,
-              fFeeunitid: "",
+              fFeeUnitid: "",
               fQty: null,
               fUnitprice: null,
               fAmount: null,
@@ -4162,13 +4424,13 @@ export default {
       } else {
         this.dialogWhgenlegList.map((e) => {
           let qty = 1;
-          if (e.fFeeunitid == 1) {
+          if (e.fFeeUnitid == 1) {
             qty = this.fQty;
-          } else if (e.fFeeunitid == 2) {
+          } else if (e.fFeeUnitid == 2) {
             qty = (this.fGrossweight / 1000).toFixed(2);
-          } else if (e.fFeeunitid == 3) {
+          } else if (e.fFeeUnitid == 3) {
             qty = (this.fNetweight / 1000).toFixed(2);
-          } else if (e.fFeeunitid == 7) {
+          } else if (e.fFeeUnitid == 7) {
             qty = this.fCntqty;
           }
           let fAmount = 0;
@@ -4179,7 +4441,7 @@ export default {
               fQty: qty,
               fCorpid: e.fCorpid,
               fFeeid: e.feeFId,
-              fFeeunitid: e.fFeeunitid,
+              fFeeUnitid: e.fFeeUnitid,
               fUnitprice: e.fPrice,
               fCurrency: "RMB",
               fExrate: 1,
@@ -4196,7 +4458,7 @@ export default {
               fQty: qty,
               fCorpid: e.fCorpid,
               fFeeid: e.feeId,
-              fFeeunitid: e.fFeeunitid,
+              fFeeUnitid: e.fFeeUnitid,
               fUnitprice: e.fPrice,
               fCurrency: "RMB",
               fExrate: 1,
@@ -4289,9 +4551,81 @@ export default {
       }
       this.$set(row, "fAmount", Number(fUnitprice) * Number(fQty)).toFixed(2);
     },
+    // 变更计价单位
+    changeFeeUnit(row) {
+      if (!row.fFeeUnitid) {
+        return false;
+      }
+      if (row.fFeeUnitid === "2") {
+        this.$set(row, "fQty", (this.fGrossweight / 1000).toFixed(2));
+      } else if (row.fFeeUnitid === "1") {
+        this.$set(row, "fQty", this.fQty.toFixed(2));
+      } else if (row.fFeeUnitid === "3") {
+        this.$set(row, "fQty", (this.fNetweight / 1000).toFixed(2));
+      } else if (row.fFeeUnitid === "7") {
+        this.$set(row, "fQty", this.fCntqty);
+      } else {
+        this.$set(row, "fQty", 0);
+      }
+      if (row.fUnitprice) {
+        this.$set(
+          row,
+          "fAmount",
+          parseFloat(Number(row.fUnitprice) * Number(row.fQty)).toFixed(2)
+        );
+      }
+    },
     //打印
     addprint(status) {
       if (status == "zyd") {
+        if (this.CntrTable.length > 0) {
+          let arr = [];
+          this.CntrTable.map((e) => {
+            this.cntrList.map((item) => {
+              if (item.fId == e.fCntrid) {
+                arr.push(item.fName + "X" + e.fCntrcount);
+              }
+            });
+          });
+          arr = [...new Set(arr)];
+          this.form.fCntval = arr.join(",");
+        } else {
+          this.form.fCntval = null;
+        }
+        if (this.detailList.length > 0) {
+          let arr = [];
+          this.detailList.map((e) => {
+            this.goodsOptions.map((item) => {
+              if (e.fGoodsid == item.fId) {
+                arr.push(item.fName);
+              }
+            });
+          });
+          arr = [...new Set(arr)];
+          this.form.fProductName = arr.join(",");
+        } else {
+          this.form.fProductName = "";
+        }
+        if (this.detailList.length > 0) {
+          let arr = [];
+          this.detailList.map((e) => {
+            arr.push(e.fMarks);
+          });
+          arr = [...new Set(arr)];
+          this.form.fMarks = arr.join(",");
+        } else {
+           this.form.fMarks = "";
+        }
+        this.form.fBillingway = this.form.fFeetUnit;
+        if (this.detailList.length == 0) {
+          this.form.fNetweight = 0;
+          this.form.fPlanvolumn = 0;
+          this.form.fGrossweight = 0;
+        } else {
+          this.form.fNetweight = this.fNetweight;
+          this.form.fPlanvolumn = this.fPlanvolumn;
+          this.form.fGrossweight = this.fGrossweight;
+        }
         let formData = new window.FormData();
         formData.append("warehouseBills", JSON.stringify(this.form));
         formData.append(
@@ -4341,14 +4675,16 @@ export default {
     },
     goBack() {
       this.$confirm("是否确定返回列表?", "提示", {
-        confirmButtonText: "确定",
+        confirmButtonText: "保存",
         cancelButtonText: "取消",
         type: "warning",
       })
         .then(() => {
-          this.cancel();
+          this.saveForm("goBack");
         })
-        .catch(() => {});
+        .catch(() => {
+          this.cancel();
+        });
     },
   },
   watch: {

+ 158 - 123
src/views/Warehousing/inStock/index.vue

@@ -10,64 +10,62 @@
       >
         <el-row>
           <el-col :span="6">
-            <el-form-item label="业务编号" prop="fBillno">
-              <el-input
-                v-model="queryParams.fBillno"
-                placeholder="请输入业务编号"
-                clearable
-                @keyup.enter.native="handleQuery"
-                style="width: 200px"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="6">
-            <el-form-item label="制单人" prop="createBy">
+            <el-form-item label="货权方" prop="fCorpid">
               <el-select
-                v-model="queryParams.createBy"
-                filterable
+                v-model="queryParams.fCorpid"
                 clearable
+                filterable
                 placeholder="请输入关键词"
                 style="width: 200px"
               >
                 <el-option
-                  v-for="(item, index) in userOptions"
-                  :key="index.userName"
-                  :label="item.nickName"
-                  :value="item.userName"
-                >
-                </el-option>
+                  v-for="(item, index) in fMblnoOptions"
+                  :key="index.fId"
+                  :label="item.fName"
+                  :value="item.fId"
+                ></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="贸易方式" prop="fTrademodeid">
-              <el-select
-                v-model="queryParams.fTrademodeid"
-                placeholder="请选择贸易方式"
+            <el-form-item label="提单号" prop="fMblno">
+              <el-input
+                v-model="queryParams.fMblno"
+                placeholder="请输入提单号"
                 clearable
-                @keyup.enter.native="handleQuery"
                 style="width: 200px"
+                @keyup.enter.native="handleQuery"
+              />
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="入库日期" prop="timeInterval">
+              <el-date-picker
+                v-model="queryParams.timeInterval"
+                type="daterange"
+                value-format="yyyy-MM-dd"
+                clearable
+                style="width: 230px"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                @keyup.enter.native="handleQuery"
               >
-                <el-option
-                  v-for="(item, index) in fTrademodeidOptions"
-                  :key="index.dictValue"
-                  :label="item.dictLabel"
-                  :value="item.dictValue"
-                />
-              </el-select>
+              </el-date-picker>
             </el-form-item>
           </el-col>
           <el-col :span="6">
-            <el-form-item label="货权方" prop="fCorpid">
+            <el-form-item label="仓库" prop="fWarehouseid">
               <el-select
-                v-model="queryParams.fCorpid"
+                v-model="queryParams.fWarehouseid"
                 clearable
                 filterable
-                placeholder="请输入关键词"
+                placeholder="请选择仓库"
                 style="width: 200px"
+                @keyup.enter.native="handleQuery"
               >
                 <el-option
-                  v-for="(item, index) in fMblnoOptions"
+                  v-for="(item, index) in warehouseOptions"
                   :key="index.fId"
                   :label="item.fName"
                   :value="item.fId"
@@ -80,35 +78,6 @@
           <div v-show="show">
             <el-row>
               <el-col :span="6">
-                <el-form-item label="提单号" prop="fMblno">
-                  <el-input
-                    v-model="queryParams.fMblno"
-                    placeholder="请输入提单号"
-                    clearable
-                    style="width: 200px"
-                    @keyup.enter.native="handleQuery"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col :span="6">
-                <el-form-item label="经营单位" prop="fSbu">
-                  <el-select
-                    v-model="queryParams.fSbu"
-                    clearable
-                    filterable
-                    placeholder="请输入关键词"
-                    style="width: 200px"
-                  >
-                    <el-option
-                      v-for="(item, index) in fMblnoOptions"
-                      :key="index.fId"
-                      :label="item.fName"
-                      :value="item.fId"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :span="6">
                 <el-form-item label="货物名称" prop="fGoodsid">
                   <el-select
                     v-model="queryParams.fGoodsid"
@@ -128,27 +97,6 @@
                 </el-form-item>
               </el-col>
               <el-col :span="6">
-                <el-form-item label="仓库" prop="fWarehouseid">
-                  <el-select
-                    v-model="queryParams.fWarehouseid"
-                    clearable
-                    filterable
-                    placeholder="请选择仓库"
-                    style="width: 200px"
-                    @keyup.enter.native="handleQuery"
-                  >
-                    <el-option
-                      v-for="(item, index) in warehouseOptions"
-                      :key="index.fId"
-                      :label="item.fName"
-                      :value="item.fId"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row>
-              <el-col :span="6">
                 <el-form-item label="品牌" prop="fMarks">
                   <el-input
                     v-model="queryParams.fMarks"
@@ -160,6 +108,20 @@
                 </el-form-item>
               </el-col>
               <el-col :span="6">
+                <el-form-item label="入库状态" prop="fItemsStatus">
+                  <el-select
+                    style="width: 200px"
+                    v-model="queryParams.fItemsStatus"
+                    placeholder="请选择入库状态"
+                  >
+                    <el-option label="计划" value="1"></el-option>
+                    <el-option label="待入库" value="2"></el-option>
+                    <el-option label="入库中" value="3"></el-option>
+                    <el-option label="已入库" value="4"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
                 <el-form-item label="费用状态" prop="fBillstatus">
                   <el-select
                     style="width: 200px"
@@ -175,34 +137,72 @@
                   </el-select>
                 </el-form-item>
               </el-col>
+            </el-row>
+            <el-row>
               <el-col :span="6">
-                <el-form-item label="入库状态" prop="fItemsStatus">
+                <el-form-item label="业务编号" prop="fBillno">
+                  <el-input
+                    v-model="queryParams.fBillno"
+                    placeholder="请输入业务编号"
+                    clearable
+                    @keyup.enter.native="handleQuery"
+                    style="width: 200px"
+                  />
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="制单人" prop="createBy">
                   <el-select
+                    v-model="queryParams.createBy"
+                    filterable
+                    clearable
+                    placeholder="请输入关键词"
                     style="width: 200px"
-                    v-model="queryParams.fItemsStatus"
-                    placeholder="请选择入库状态"
                   >
-                    <el-option label="计划" value="1"></el-option>
-                    <el-option label="待入库" value="2"></el-option>
-                    <el-option label="入库中" value="3"></el-option>
-                    <el-option label="已入库" value="4"></el-option>
+                    <el-option
+                      v-for="(item, index) in userOptions"
+                      :key="index.userName"
+                      :label="item.nickName"
+                      :value="item.userName"
+                    >
+                    </el-option>
                   </el-select>
                 </el-form-item>
               </el-col>
               <el-col :span="6">
-                <el-form-item label="入库日期" prop="timeInterval">
-                  <el-date-picker
-                    v-model="queryParams.timeInterval"
-                    type="daterange"
-                    value-format="yyyy-MM-dd"
+                <el-form-item label="经营单位" prop="fSbu">
+                  <el-select
+                    v-model="queryParams.fSbu"
+                    clearable
+                    filterable
+                    placeholder="请输入关键词"
+                    style="width: 200px"
+                  >
+                    <el-option
+                      v-for="(item, index) in fMblnoOptions"
+                      :key="index.fId"
+                      :label="item.fName"
+                      :value="item.fId"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="贸易方式" prop="fTrademodeid">
+                  <el-select
+                    v-model="queryParams.fTrademodeid"
+                    placeholder="请选择贸易方式"
                     clearable
-                    style="width: 230px"
-                    range-separator="至"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期"
                     @keyup.enter.native="handleQuery"
+                    style="width: 200px"
                   >
-                  </el-date-picker>
+                    <el-option
+                      v-for="(item, index) in fTrademodeidOptions"
+                      :key="index.dictValue"
+                      :label="item.dictLabel"
+                      :value="item.dictValue"
+                    />
+                  </el-select>
                 </el-form-item>
               </el-col>
             </el-row>
@@ -386,7 +386,13 @@
         :summary-method="getSum"
       >
         <el-table-column type="selection" width="60" fixed align="center" />
-        <el-table-column type="index" label="行号" align="center" fixed />
+        <el-table-column
+          type="index"
+          label="行号"
+          width="50"
+          align="center"
+          fixed
+        />
         <el-table-column
           label="提单号"
           width="220"
@@ -420,6 +426,7 @@
           align="center"
           class-name="small-padding fixed-width"
           min-width="180"
+          fixed="right"
         >
           <template slot-scope="scope">
             <el-button
@@ -487,7 +494,10 @@
 
 <script>
 import AddOrUpdate from "./AddOrUpdate.vue";
-import { listWarehousebills } from "@/api/warehouseBusiness/warehouseInStock";
+import {
+  listWarehousebills,
+  delinStock_s,
+} from "@/api/warehouseBusiness/warehouseInStock";
 import { listCorps } from "@/api/basicdata/corps";
 import { listWarehousesss } from "@/api/basicdata/warehouse";
 import { listGoods } from "@/api/basicdata/goods";
@@ -534,7 +544,6 @@ export default {
           label: "createBy",
           name: "制单人",
           checked: 0,
-          fixed: "left",
           width: 100,
         },
         {
@@ -555,7 +564,7 @@ export default {
         },
         {
           surface: "5",
-          label: "fProductName",
+          label: "fGoodsid",
           name: "品名",
           checked: 0,
           fixed: "left",
@@ -566,7 +575,6 @@ export default {
           label: "fMarks",
           name: "品牌",
           checked: 0,
-          fixed: "left",
           width: 100,
         },
         {
@@ -614,41 +622,48 @@ export default {
         },
         {
           surface: "13",
+          label: "fCntval",
+          name: "箱型箱量",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "14",
           label: "fTruckno",
           name: "车号",
           checked: 0,
           width: 100,
         },
         {
-          surface: "14",
+          surface: "15",
           label: "fDriverName",
           name: "司机名称",
           checked: 0,
           width: 100,
         },
         {
-          surface: "15",
+          surface: "16",
           label: "fDriverTel",
           name: "司机电话",
           checked: 0,
           width: 100,
         },
         {
-          surface: "16",
+          surface: "17",
           label: "fDriverIdCar",
           name: "司机身份证",
           checked: 0,
           width: 100,
         },
         {
-          surface: "17",
+          surface: "18",
           label: "fBusinessType",
           name: "业务类别",
           checked: 0,
           width: 100,
         },
         {
-          surface: "18",
+          surface: "19",
           label: "fBillstatus",
           name: "费用状态",
           checked: 0,
@@ -666,7 +681,7 @@ export default {
       multiple: true,
       formId: null,
       ids: [],
-      copyStatus:null,
+      copyStatus: null,
     };
   },
   // 使用子组件
@@ -827,7 +842,7 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       const fId = row.fId || this.ids[0];
-      this.copyStatus=null
+      this.copyStatus = null;
       this.formId = fId;
       this.$nextTick(() => {
         this.$refs.addOrUpdateRef.init();
@@ -855,14 +870,34 @@ export default {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         type: "warning",
-      })
-        .then(function () {
-          return delFtmsorderbills(ids);
-        })
-        .then(() => {
-          this.getList();
-          this.msgSuccess("删除成功");
-        });
+      }).then(function () {
+        this.delFtmsorderbills(ids);
+      });
+    },
+    /** 删除按钮操作 */
+    delFtmsorderbills(ids) {
+      let tips = "";
+      delinStock_s(ids).then((data) => {
+        switch (data.msg) {
+          case "0": {
+            this.$message.error("当前数据已被其他操作员操作请刷新页面");
+            break;
+          }
+          case "1": {
+            tips = "当前主表有数据从表无数据是否删除";
+            this.delete_S(fIds, tips);
+            break;
+          }
+          case "2": {
+            tips = "当前主表有数据从表有数据是否删除";
+            this.delete_S(fIds, tips);
+            break;
+          }
+          default: {
+            return this.$message.error("未知错误,无状态");
+          }
+        }
+      });
     },
     /** 导出按钮操作 */
     handleExport() {

+ 716 - 0
src/views/fleet/fleetStatistics/index.vue

@@ -0,0 +1,716 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      label-width="100px"
+      size="mini"
+    >
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label-width="100px" label="结算状态" prop="mblno">
+            <el-select
+              v-model="queryParams.stlStatus"
+              placeholder="请选择对账状态"
+              clearable
+              size="small"
+              filterable
+              @keyup.enter.native="handleQuery"
+            >
+              <el-option
+                v-for="(dict, index) in stlStatusOptions"
+                :key="index.id"
+                :label="dict.name"
+                :value="dict.id"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="对账状态" prop="corpId">
+            <el-select
+              v-model="queryParams.accchkStatus"
+              placeholder="请选择对账状态"
+              clearable
+              size="small"
+              filterable
+            >
+              <el-option
+                v-for="(dict, index) in accchkOptions"
+                :key="index.id"
+                :label="dict.name"
+                :value="dict.id"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label-width="100px" label="开票状态" prop="billType">
+            <el-select
+              v-model="queryParams.invStatus"
+              placeholder="请选择开票状态"
+              clearable
+              size="small"
+            >
+              <el-option
+                v-for="(dict, index) in invOptions"
+                :key="index.id"
+                :label="dict.name"
+                :value="dict.id"
+              />
+            </el-select>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['fleet:ftmsorderbills:export']"
+          >导出</el-button
+        >
+      </el-col>
+      <div class="tabSetting">
+        <div style="margin-right: 20px">
+          <el-button
+            type="cyan"
+            icon="el-icon-search"
+            size="mini"
+            @click="handleQuery"
+            >搜索</el-button
+          >
+          <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+            >重置</el-button
+          >
+        </div>
+        <right-toolbar
+          @queryTable="getList"
+        ></right-toolbar>
+        <div style="margin: 0 12px">
+          <el-tooltip
+            class="item"
+            effect="dark"
+            content="列设置"
+            placement="top"
+          >
+            <el-button
+              icon="el-icon-setting"
+              size="mini"
+              circle
+              @click="showSetting = !showSetting"
+            ></el-button>
+          </el-tooltip>
+        </div>
+      </div>
+    </el-row>
+    <el-dialog title="自定义列显示" :visible.sync="showSetting" width="700px">
+      <div>配置排序列数据(拖动调整顺序)</div>
+      <div style="margin-left: 17px">
+        <el-checkbox
+          v-model="allCheck"
+          label="全选"
+          @change="allChecked"
+        ></el-checkbox>
+      </div>
+      <div style="padding: 4px; display: flex; justify-content: center">
+        <draggable
+          v-model="setRowList"
+          group="site"
+          animation="300"
+          @start="onStart"
+          @end="onEnd"
+          handle=".indraggable"
+        >
+          <transition-group>
+            <div
+              v-for="item in setRowList"
+              :key="item.surface"
+              class="listStyle"
+            >
+              <div style="width: 500px" class="indraggable">
+                <div class="progress" :style="{ width: item.width + 'px' }">
+                  <el-checkbox
+                    :label="item.name"
+                    v-model="item.checked"
+                    :true-label="0"
+                    :false-label="1"
+                    >{{ item.name }}
+                  </el-checkbox>
+                </div>
+              </div>
+              <el-input-number
+                v-model.number="item.width"
+                controls-position="right"
+                :min="1"
+                :max="500"
+                size="mini"
+              ></el-input-number>
+            </div>
+          </transition-group>
+        </draggable>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="showSetting = false">取 消</el-button>
+        <el-button @click="delRow" type="danger">重 置</el-button>
+        <el-button type="primary" @click="save">确 定</el-button>
+      </span>
+    </el-dialog>
+    <el-table
+      v-loading="loading"
+      :data="tabularData"
+      id="out-table"
+    >
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column
+        label="提单号"
+        width="180"
+        align="center"
+        :show-overflow-tooltip="true"
+        sortable
+        fixed="left"
+      >
+        <template slot-scope="scope">
+          <el-link :underline="false" type="primary"
+            ><div @click="handleUpdate(scope.row)">
+              {{ scope.row.mblno }}
+            </div></el-link
+          >
+        </template>
+      </el-table-column>
+      <el-table-column
+        v-for="(item, index) in getRowList"
+        :key="index"
+        :label="item.name"
+        :width="item.width"
+        :prop="item.label"
+        align="center"
+        :show-overflow-tooltip="true"
+        sortable
+        :fixed="item.fixed"
+      />
+    </el-table>
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+<script>
+  import { addSet, select, resetModule } from "@/api/system/set";
+  import { queryLedgerList, ledgerListExport } from "@/api/fleet/fleetStatistics";
+  import Cookies from "js-cookie";
+  import draggable from "vuedraggable";
+  import AddOrUpdate from "../scheduling/AddOrUpdate";
+
+  export default {
+  name: "plans",
+  data() {
+    return {
+      // 总条数
+      total: 0,
+      show: false,
+      allCheck: false,
+      stlStatusOptions: [{
+        id: 'T',
+        name: '已结算'
+      }, {
+        id: 'F',
+        name: '未结算'
+      }],
+      accchkOptions: [{
+        id: 'T',
+        name: '已对账'
+      }, {
+        id: 'F',
+        name: '未对账'
+      }],
+      invOptions: [{
+        id: 'T',
+        name: '已开票'
+      }, {
+        id: 'F',
+        name: '未开票'
+      }],
+      drag: false,
+      loading: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        stlStatus: null,
+        accchkStatus: null,
+        invStatus: null
+      },
+      tableDate: [
+        {
+          surface: "1",
+          label: "mdLoadDate",
+          name: "装卸日期",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "2",
+          label: "billType",
+          name: "贸易方式",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "3",
+          label: "transType",
+          name: "运输方式",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "4",
+          label: "corpId",
+          name: "托运人",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "5",
+          label: "ysl",
+          name: "船名",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "6",
+          label: "voy",
+          name: "航次",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "8",
+          label: "cntrQty",
+          name: "柜量",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "9",
+          label: "cntrId",
+          name: "柜型",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "10",
+          label: "goodsId",
+          name: "品名",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "11",
+          label: "cntrWeight",
+          name: "重量",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "12",
+          label: "polId",
+          name: "起运港",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "13",
+          label: "podId",
+          name: "目的港",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "14",
+          label: "loadAddr",
+          name: "提箱场站",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "15",
+          label: "mdLoadAddr",
+          name: "装货地",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "16",
+          label: "unLoadAddr",
+          name: "卸货地",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "17",
+          label: "carregNo",
+          name: "车号",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "18",
+          label: "driverName",
+          name: "司机",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "19",
+          label: "orderNo",
+          name: "运单号",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "20",
+          label: "driverTel",
+          name: "司机电话",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "21",
+          label: "orderName",
+          name: "状态",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "22",
+          label: "acceptDate",
+          name: "接单日期",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "23",
+          label: "loadDate",
+          name: "提箱日期",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "24",
+          label: "unLoadDate",
+          name: "还柜日期",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "25",
+          label: "oilAmt",
+          name: "油气费",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "26",
+          label: "driverbonus",
+          name: "单趟提成",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "27",
+          label: "costOth",
+          name: "其他费用",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "28",
+          label: "costRemarks",
+          name: "备注",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "29",
+          label: "costomAmt05",
+          name: "港杂费",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "30",
+          label: "costomAmt06",
+          name: "提箱费",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "31",
+          label: "costomAmt03",
+          name: "修洗费",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "32",
+          label: "costomAmt04",
+          name: "吊装费",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "33",
+          label: "costomAmt01",
+          name: "出口其他费用",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "34",
+          label: "costomStr01",
+          name: "出口费用备注",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "35",
+          label: "costomAmt02",
+          name: "进口其他费用",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "36",
+          label: "costomStr02",
+          name: "进口费用备注",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "37",
+          label: "mBillNo",
+          name: "主单号",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "38",
+          label: "billKind",
+          name: "单据类型",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "39",
+          label: "amtDr",
+          name: "应收结算金额",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "40",
+          label: "amtCr",
+          name: "应付结算金额",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "41",
+          label: "stlAmtDr",
+          name: "已收结算金额",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "42",
+          label: "stlAmtCr",
+          name: "已付结算金额",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "43",
+          label: "profitBill",
+          name: "业务利润",
+          checked: 0,
+          width: 100,
+        },
+        {
+          surface: "44",
+          label: "profitCar",
+          name: "车利润",
+          checked: 0,
+          width: 100,
+        },
+      ],
+      setRowList: [],
+      getRowList: [],
+      tabularData: [],
+      showSetting: false,
+    };
+  },
+    // 使用子组件
+    components: {
+      AddOrUpdate,
+      draggable,
+    },
+  created() {
+    this.setRowList = this.tableDate;
+    this.getRowList = this.tableDate;
+    this.getList();
+    this.getRow();
+  },
+  methods: {
+    //列设置全选
+    allChecked() {
+      if (this.allCheck == true) {
+        this.setRowList.map((e) => {
+          return (e.checked = 0);
+        });
+      } else {
+        this.setRowList.map((e) => {
+          return (e.checked = 1);
+        });
+      }
+    },
+    //查询列数据
+    getRow() {
+      let that = this;
+      this.data = {
+        tableName: "陆运台账",
+        userId: Cookies.get("userName"),
+      };
+      select(this.data).then((res) => {
+        if (res.data.length != 0) {
+          this.getRowList = res.data.filter((e) => e.checked == 0);
+          this.setRowList = res.data;
+          this.setRowList = this.setRowList.reduce((res, item) => {
+            res.push({
+              surface: item.surface,
+              label: item.label,
+              name: item.name,
+              checked: item.checked,
+              width: item.width,
+              fixed: item.fixed,
+            });
+            return res;
+          }, []);
+        }
+      });
+    },
+    //重置列表
+    delRow() {
+      this.data = {
+        tableName: "计划下达",
+        userId: Cookies.get("userName"),
+      };
+      resetModule(this.data).then((res) => {
+        if (res.code == 200) {
+          this.showSetting = false;
+          this.setRowList = this.tableDate;
+          this.getRowList = this.tableDate;
+        }
+      });
+    },
+    //保存列设置
+    save() {
+      this.showSetting = false;
+      this.data = {
+        tableName: "计划下达",
+        userId: Cookies.get("userName"),
+        sysTableSetList: this.setRowList,
+      };
+      addSet(this.data).then((res) => {
+        if (res.code == 200) {
+          this.showSetting = false;
+          this.getRowList = this.setRowList.filter((e) => e.checked == 0);
+        }
+      });
+    },
+    //开始拖拽事件
+    onStart() {
+      this.drag = true;
+    },
+    //拖拽结束事件
+    onEnd() {
+      this.drag = false;
+    },
+    /** 查询订单主列表 */
+    getList() {
+      this.loading = true;
+      queryLedgerList(this.queryParams).then((response) => {
+        this.tabularData = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 表单重置
+    reset() {
+      this.resetForm("form");
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm("是否确认导出所有订单主数据项?", "警告", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(function () {
+          return ledgerListExport(queryParams);
+        })
+        .then((response) => {
+          this.download(response.msg);
+        });
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.queryParams = {
+        pageNum: 1,
+          pageSize: 10,
+          stlStatus: null,
+          accchkStatus: null,
+          invStatus: null
+      }
+      this.handleQuery();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.tabSetting {
+  display: flex;
+  justify-content: flex-end;
+}
+.listStyle {
+  display: flex;
+  border-top: 1px solid #dcdfe6;
+  border-left: 1px solid #dcdfe6;
+  border-right: 1px solid #dcdfe6;
+}
+.listStyle:last-child {
+  border-bottom: 1px solid #dcdfe6;
+}
+.progress {
+  display: flex;
+  align-items: center;
+  padding: 2px;
+  background-color: rgba(0, 0, 0, 0.05);
+  height: 100%;
+}
+</style>

+ 2 - 2
src/views/jiGang/index.vue

@@ -703,7 +703,7 @@ export default {
       if (name == null || name === '') {
         return false
       }
-      let queryParams = {pageNum: 1, fName: name, type: 1}
+      let queryParams = {pageNum: 1, fName: name, fTypeid: 1}
       listCorps(queryParams).then((response) => {
         console.log(response)
         this.fMblnoOptions = response.rows
@@ -713,7 +713,7 @@ export default {
       if (name == null || name === '') {
         return false
       }
-      let queryParams = {pageNum: 1, fName: name, type: 2}
+      let queryParams = {pageNum: 1, fName: name, fTypeid: 2}
       listCorps(queryParams).then((response) => {
         console.log(response)
         this.blnoOptions = response.rows

+ 12 - 1
src/views/warehouseBusiness/cargoClearance/index.vue

@@ -3405,6 +3405,7 @@ export default {
       },
       uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
       company: "",
+      mblnoStatus: "",
       fSerialNumber: "",
       fCNameOptions: [],
       fDNameOptions: [],
@@ -5352,7 +5353,9 @@ export default {
             this.KHblnoOptions = response.data.corps;
             this.fCompanyOptIons = response.data.corps;
             this.fleetOptions = response.data.corps;
-            this.Operator = response.data.corps[0].createBy;
+            if(response.data.corps.length>0){
+              this.Operator = response.data.corps[0].createBy;
+            }
           }
           if (response.data.feesList) {
             this.fWbuOptions = response.data.feesList;
@@ -5695,6 +5698,7 @@ export default {
             "warehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           addWhgenleg(formData).then((response) => {
             this.fid = response.data.fPid;
             this.dataWithdrawList = [];
@@ -5852,6 +5856,7 @@ export default {
                     "warehousebillsfeesDr",
                     JSON.stringify(this.warehouseDrList)
                   );
+                  formData.append("tCntr", JSON.stringify([]));
                   addStockTransfer(formData).then((response) => {
                     this.form = response.data.warehouseBills;
                     this.$set(this.form, "fEta", Date.parse(this.form.fEta));
@@ -5933,6 +5938,7 @@ export default {
               "warehousebillsfeesDr",
               JSON.stringify(this.warehouseDrList)
             );
+            formData.append("tCntr", JSON.stringify([]));
             addJoblist(formData).then((response) => {
               if (response.code == 200) {
                 for (let li in response.data.warehousebillsitems) {
@@ -6005,6 +6011,7 @@ export default {
         "warehousebillsfeesDr",
         JSON.stringify(this.warehouseDrList)
       );
+      formData.append("tCntr", JSON.stringify([]));
       updateCredit(formData).then((response) => {
         this.fid = response.data;
         this.formBrowseStatus = false;
@@ -6083,6 +6090,7 @@ export default {
             "warehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           for (let li in this.dataListSelection) {
             this.dataListSelection[li].fBillstatus = 30;
           }
@@ -6215,6 +6223,8 @@ export default {
               "warehousebillsfeesDr",
               JSON.stringify(this.warehouseDrList)
             );
+            formData.append("mblnoStatus", this.mblnoStatus);
+            formData.append("tCntr", JSON.stringify([]));
             addStockTransfer(formData).then((response) => {
               this.msgSuccess("保存成功");
               this.form = response.data.warehouseBills;
@@ -6404,6 +6414,7 @@ export default {
               "warehousebillsfeesDr",
               JSON.stringify(this.warehouseDrList)
             );
+            formData.append("tCntr", JSON.stringify([]));
             warehouseSubmission(formData).then((response) => {
               this.msgSuccess("提交成功");
               this.cancel();

+ 5 - 0
src/views/warehouseBusiness/goodsTransfer/index.vue

@@ -3735,6 +3735,7 @@ export default {
             "warehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           addWhgenleg(formData).then((response) => {
             this.$refs.tableListRef.clearSelection();
             this.msgSuccess("入账成功");
@@ -3797,6 +3798,7 @@ export default {
                   "warehousebillsfeesDr",
                   JSON.stringify(this.warehouseDrList)
                 );
+                formData.append("tCntr", JSON.stringify([]));
                 addGoodsTransfer(formData).then((response) => {
                   this.form = response.data.warehouseBills;
                   this.$set(
@@ -3852,6 +3854,7 @@ export default {
         "warehousebillsfeesDr",
         JSON.stringify(this.warehouseDrList)
       );
+      formData.append("tCntr", JSON.stringify([]));
       updateCredit(formData).then((response) => {
         this.fid = response.data;
         this.formBrowseStatus = false;
@@ -4001,6 +4004,7 @@ export default {
             "warehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           formData.append("mblnoStatus", this.mblnoStatus);
           addGoodsTransfer(formData).then((response) => {
             if (response.data == false) {
@@ -4127,6 +4131,7 @@ export default {
             "warehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           warehouseSubmission(formData).then((response) => {
             this.msgSuccess("提交成功");
             // this.browseStatus = true

+ 8 - 1
src/views/warehouseBusiness/inStock/index.vue

@@ -6433,6 +6433,7 @@ export default {
             JSON.stringify(this.relevantAttachments)
           );
           formData.append("whgenleg", JSON.stringify(this.relevantAttachments));
+          formData.append("tCntr", JSON.stringify([]));
           addWhgenleg(formData).then((response) => {
             this.fid = response.data;
             this.formBrowseStatus = true;
@@ -6626,6 +6627,7 @@ export default {
               JSON.stringify(this.warehouseDrList)
             );
             formDatae.append("mblnoStatus", this.mblnoStatus);
+            formData.append("tCntr", JSON.stringify([]));
             addWarehousebills(formDatae).then((response) => {
               this.form = response.data.warehouseBills;
               this.$set(this.form, "fEta", Date.parse(this.form.fEta));
@@ -6697,7 +6699,7 @@ export default {
               "tEnclosure",
               JSON.stringify(this.relevantAttachments)
             );
-
+            formData.append("tCntr", JSON.stringify([]));
             addJoblist(formData).then((response) => {
               if (response.code == 200) {
                 for (let li in response.data.warehousebillsitems) {
@@ -6765,6 +6767,7 @@ export default {
         JSON.stringify(this.warehouseCrList)
       );
       formData.append("tEnclosure", JSON.stringify(this.relevantAttachments));
+      formData.append("tCntr", JSON.stringify([]));
       updateCredit(formData).then((response) => {
         this.fid = response.data;
         this.formBrowseStatus = false;
@@ -6851,6 +6854,7 @@ export default {
               "warehousebillsfeesCr",
               JSON.stringify(this.warehouseCrList)
             );
+            formData.append("tCntr", JSON.stringify([]));
             if (!this.form.fId) {
               this.form.fId = this.fid;
             }
@@ -7108,6 +7112,7 @@ export default {
               JSON.stringify(this.warehouseDrList)
             );
             formDatae.append("mblnoStatus", this.mblnoStatus);
+            formData.append("tCntr", JSON.stringify([]));
             addWarehousebills(formDatae).then((response) => {
               if (response.data == false) {
                 this.$confirm(response.msg, "提示", {
@@ -7210,6 +7215,7 @@ export default {
               JSON.stringify(this.warehouseDrList)
             );
             formDatae.append("mblnoStatus", this.mblnoStatus);
+            formData.append("tCntr", JSON.stringify([]));
             addWarehousebills(formDatae).then((response) => {
               if (response.data == false) {
                 this.$confirm(response.msg, "提示", {
@@ -7385,6 +7391,7 @@ export default {
             "tWarehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           addWarehouse(formData).then((response) => {
             this.msgSuccess("提交成功");
             this.open = false;

+ 7 - 0
src/views/warehouseBusiness/outStock/index.vue

@@ -6311,6 +6311,7 @@ export default {
             "warehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           addWhgenleg(formData).then((response) => {
             this.fid = response.data.fPid;
             // 暂时注释掉,后续可能会加回来 仓储费得出的明细
@@ -6483,6 +6484,7 @@ export default {
                     JSON.stringify(this.warehouseDrList)
                   );
                   formData.append("mblnoStatus", this.mblnoStatus);
+                  formData.append("tCntr", JSON.stringify([]));
                   addWarehousebills(formData).then((response) => {
                     this.form = response.data.warehouseBills;
                     this.$set(
@@ -6565,6 +6567,7 @@ export default {
               "warehousebillsfeesDr",
               JSON.stringify(this.warehouseDrList)
             );
+            formData.append("tCntr", JSON.stringify([]));
             addJoblist(formData).then((response) => {
               if (response.code == 200) {
                 for (let li in response.data.warehousebillsitems) {
@@ -6638,6 +6641,7 @@ export default {
         "warehousebillsfeesDr",
         JSON.stringify(this.warehouseDrList)
       );
+      formData.append("tCntr", JSON.stringify([]));
       updateCredit(formData).then((response) => {
         this.fid = response.data;
         this.formBrowseStatus = false;
@@ -6717,6 +6721,7 @@ export default {
             "warehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           this.formBrowseStatus = true;
           this.$refs.tableList.clearSelection();
           disChargelist(formData).then((response) => {
@@ -6871,6 +6876,7 @@ export default {
               JSON.stringify(this.warehouseDrList)
             );
             formData.append("mblnoStatus", this.mblnoStatus);
+            formData.append("tCntr", JSON.stringify([]));
             addWarehousebills(formData).then((response) => {
               if (response.data == false) {
                 this.$confirm(response.msg, "提示", {
@@ -7079,6 +7085,7 @@ export default {
               "warehousebillsfeesDr",
               JSON.stringify(this.warehouseDrList)
             );
+            formData.append("tCntr", JSON.stringify([]));
             warehouseSubmission(formData).then((response) => {
               this.msgSuccess("提交成功");
               this.cancel();

+ 7 - 0
src/views/warehouseBusiness/stockTransfer/index.vue

@@ -5882,6 +5882,7 @@ export default {
             "warehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           addWhgenleg(formData).then((response) => {
             this.fid = response.data.fPid;
             this.dataWithdrawList = [];
@@ -6040,6 +6041,7 @@ export default {
                     JSON.stringify(this.warehouseDrList)
                   );
                   formData.append("mblnoStatus", this.mblnoStatus);
+                  formData.append("tCntr", JSON.stringify([]));
                   addStockTransfer(formData).then((response) => {
                     this.form = response.data.warehouseBills;
                     this.$set(this.form, "fEta", Date.parse(this.form.fEta));
@@ -6121,6 +6123,7 @@ export default {
               "warehousebillsfeesDr",
               JSON.stringify(this.warehouseDrList)
             );
+            formData.append("tCntr", JSON.stringify([]));
             addJoblist(formData).then((response) => {
               if (response.code == 200) {
                 for (let li in response.data.warehousebillsitems) {
@@ -6193,6 +6196,7 @@ export default {
         "warehousebillsfeesDr",
         JSON.stringify(this.warehouseDrList)
       );
+      formData.append("tCntr", JSON.stringify([]));
       updateCredit(formData).then((response) => {
         this.fid = response.data;
         this.formBrowseStatus = false;
@@ -6271,6 +6275,7 @@ export default {
             "warehousebillsfeesDr",
             JSON.stringify(this.warehouseDrList)
           );
+          formData.append("tCntr", JSON.stringify([]));
           for (let li in this.dataListSelection) {
             this.dataListSelection[li].fBillstatus = 30;
           }
@@ -6392,6 +6397,7 @@ export default {
               JSON.stringify(this.warehouseDrList)
             );
             formData.append("mblnoStatus", this.mblnoStatus);
+            formData.append("tCntr", JSON.stringify([]));
             addStockTransfer(formData).then((response) => {
               if (response.data == false) {
                 this.$confirm(response.msg, "提示", {
@@ -6598,6 +6604,7 @@ export default {
               "warehousebillsfeesDr",
               JSON.stringify(this.warehouseDrList)
             );
+            formData.append("tCntr", JSON.stringify([]));
             warehouseSubmission(formData).then((response) => {
               this.msgSuccess("提交成功");
               this.cancel();