Przeglądaj źródła

1.放箱号 新加启用停用功能
2.箱档案 放箱号 箱池动态 港口和场站改用ID查询并换成查询所有接口
3.海运出口 优化费用样式
4.放箱号 占用记录查询 不显示提单号
5.方箱号 合计 只合计 启用状态的数据
6.客户托书 客户订舱 用角色控制所属公司显示隐藏
7.海运出口 箱型箱量 已选择放箱号的不允许编辑
8.海运出口 用系统参数控制 未占用箱量的 不允许 新增或生成配箱
9.海运出口 配箱 新增和保存 大保存对箱型箱量数量进行校验

qukaidi 1 tydzień temu
rodzic
commit
457fd53eb4

+ 7 - 0
src/api/boxManagement/containerNumber/index.js

@@ -112,4 +112,11 @@ export function addSubmit(data) {
     method: 'post',
     data: data
   })
+}
+export const whetherDeactivate = (params) => {
+  return request({
+    url: '/api/blade-los/putbox/whetherDeactivate' ,
+    method: 'get',
+    params:params
+  })
 }

+ 35 - 5
src/views/basicData/container/archives.vue

@@ -24,9 +24,9 @@
         <el-button type="success" size="small" @click="importData">导入</el-button>
         <el-button type="warning" size="small" @click="outExport">导 出 </el-button>
       </template>
-      <template slot-scope="{ type, size, row, $index }" slot="menu">
+      <!-- <template slot-scope="{ type, size, row, index }" slot="menu">
         <el-button icon="el-icon-edit" :size="size" type="text" @click="$refs.crud.rowEdit(row, index)">查 看 </el-button>
-      </template>
+      </template> -->
       <tempalte slot="boxMakingCompanyForm">
         <dic-select
           v-model="form.boxMakingCompany"
@@ -45,7 +45,7 @@
         <span class="el-button--text" style="cursor: pointer" @click="track(row)">{{ row.code }}</span>
       </template>
       <template slot-scope="{ type, size, row, index, disabled }" slot="menu">
-        <el-button size="small" :disabled="disabled" type="text" @click="$refs.crud.rowEdit(row, index)">编辑 </el-button>
+        <el-button size="small" :disabled="disabled" type="text" @click="rowEdit(row, $index)">编辑 </el-button>
       </template>
     </avue-crud>
     <el-dialog
@@ -221,7 +221,7 @@ export default {
           {
             label: "港口",
             prop: "portCname",
-            overHidden: true,
+            overHidden: true
             // search: true,
             // type: "select",
             // filterable: true,
@@ -241,7 +241,7 @@ export default {
             type: "select",
             filterable: true,
             remote: true,
-            hide:true,
+            hide: true,
             dicUrl: "/api/blade-los/bports/list?size=20&current=1&cnName={{key}}",
             props: {
               label: "cnName",
@@ -784,6 +784,36 @@ export default {
         }
       }
     },
+    rowEdit(row, index) {
+      // this.option.column.forEach(item => {
+      //   if (
+      //     item.prop == "code" ||
+      //     item.prop == "contractNo" ||
+      //     item.prop == "addressCname" ||
+      //     item.prop == "stationCname" ||
+      //     item.prop == "containerNumber" ||
+      //     item.prop == "containerNumber" ||
+      //     item.prop == "typeName" ||
+      //     item.prop == "newDate" ||
+      //     item.prop == "status" ||
+      //     item.prop == "boxBelongsTo" ||
+      //     item.prop == "containerNumberOw" ||
+      //     item.prop == "containerNumberTypeOw"||
+      //     item.prop == "restrictedPortsName"||
+      //     item.prop == "restrictingShippingCompaniesName"||
+      //     item.prop == "activationDate"||
+      //     item.prop == "leasingCompany"||
+      //     item.prop == "boxSource"||
+      //     item.prop == "boxStatus"||
+      //     item.prop == "leaseMethod"||
+      //     item.prop == "leaseCommencementDate"||
+      //     item.prop == "purchaseDate"
+      //   ) {
+      //     item.disabled = false;
+      //   }
+      // });
+      this.$refs.crud.rowEdit(row, index);
+    },
     // 箱轨迹里合同号跳转
     contractNoJump(row) {
       this.boxTrack = false;

+ 23 - 19
src/views/boxManagement/boxPoolDynamics/index.vue

@@ -227,6 +227,7 @@ export default {
         viewBtn: false,
         editBtn: false,
         delBtn: false,
+        columnBtn:false,
         searchIcon: true,
         align: "center",
         searchIndex: 3,
@@ -287,20 +288,17 @@ export default {
         column: [
           {
             label: "港口",
-            prop: "polName",
+            prop: "polId",
             overHidden: true,
             hide: true,
             search: true,
-            searchOrder: 1,
             type: "select",
             filterable: true,
-            remote: true,
-            dicUrl: "/api/blade-los/bports/list?status=0&size=5&current=1&cnName={{key}}",
+            dicUrl: "/api/blade-los/blade-los/bports/listAll?status=0",
             props: {
               label: "cnName",
-              value: "cnName",
+              value: "id",
               desc: "code",
-              res: "data.records"
             }
           },
           {
@@ -321,12 +319,10 @@ export default {
             search: true,
             type: "select",
             filterable: true,
-            remote: true,
-            dicUrl: "/api/blade-los/bcorps/selectList?status=0&corpTypeName=场站&size=5&current=1&shortName={{key}}",
+            dicUrl: "/api/blade-los/bcorps/listAll?status=0&corpTypeName=场站",
             props: {
               label: "shortName",
               value: "id",
-              res: "data.records"
             }
           },
           {
@@ -476,16 +472,20 @@ export default {
             prop: "polName",
             width: 150,
             overHidden: true,
+          },
+          {
+            label: "港口",
+            prop: "polId",
+            overHidden: true,
+            hide:true,
             search: true,
             type: "select",
             filterable: true,
-            remote: true,
-            dicUrl: "/api/blade-los/bports/list?status=0&size=5&current=1&cnName={{key}}",
+            dicUrl: "/api/blade-los/blade-los/bports/listAll?status=0",
             props: {
               label: "cnName",
-              value: "cnName",
+              value: "id",
               desc: "code",
-              res: "data.records"
             }
           },
           {
@@ -496,12 +496,10 @@ export default {
             search: true,
             type: "select",
             filterable: true,
-            remote: true,
-            dicUrl: "/api/blade-los/bcorps/selectList?status=0&corpTypeName=场站&size=5&current=1&shortName={{key}}",
+            dicUrl: "/api/blade-los/bcorps/listAll?status=0&corpTypeName=场站",
             props: {
               label: "shortName",
               value: "id",
-              res: "data.records"
             }
           },
           {
@@ -535,16 +533,22 @@ export default {
             prop: "podName",
             width: 150,
             overHidden: true,
+          },
+          {
+            label: "目的港",
+            prop: "podId",
+            width: 150,
+            overHidden: true,
+            hide:true,
             search: true,
             type: "select",
             filterable: true,
             remote: true,
-            dicUrl: "/api/blade-los/bports/list?status=0&size=5&current=1&cnName={{key}}",
+            dicUrl: "/api/blade-los/bports/listAll?status=0",
             props: {
               label: "cnName",
-              value: "cnName",
+              value: "id",
               desc: "code",
-              res: "data.records"
             }
           },
           {

+ 6 - 0
src/views/boxManagement/boxTrack/index.vue

@@ -134,6 +134,12 @@ export default {
             overHidden: true
           },
           {
+            label: '箱好坏',
+            prop: 'boxStatus',
+            width: 80,
+            overHidden: true,
+          },
+          {
             label: "港口",
             prop: "portCname",
             width:140,

+ 6 - 6
src/views/boxManagement/containerNumber/detailsPage.vue

@@ -1390,12 +1390,12 @@ export default {
         align: "center",
         menu: false,
         column: [
-          {
-            label: "提单号",
-            prop: "mblno",
-            width: 100,
-            overHidden: true
-          },
+          // {
+          //   label: "提单号",
+          //   prop: "mblno",
+          //   width: 100,
+          //   overHidden: true
+          // },
           {
             label: "分单号",
             prop: "hblno",

+ 121 - 31
src/views/boxManagement/containerNumber/index.vue

@@ -20,7 +20,9 @@
         @refresh-change="refreshChange"
         @resetColumn="resetColumn('crud', 'option', 'optionBack', 459)"
         @saveColumn="saveColumn('crud', 'option', 'optionBack', 459)"
+        :row-style="rowStyle"
         @on-load="onLoad"
+        :summary-method="summaryMethod"
       >
         <template slot="menuLeft">
           <el-tabs v-model="query.whetherDisplay" type="card" @tab-click="handleClick">
@@ -40,6 +42,26 @@
           <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)" :disabled="row.whetherManuallyCreate == 1"
             >删 除</el-button
           >
+          <el-button
+            icon="el-icon-turn-off"
+            v-if="row.whetherDeactivate == 1"
+            type="text"
+            style="color: #67C23A"
+            size="small"
+            @click.stop="rowEnable(row, 0)"
+          >
+            启用
+          </el-button>
+          <el-button
+            icon="el-icon-turn-off"
+            v-if="row.whetherDeactivate == 0"
+            type="text"
+            style="color: #F56C6C"
+            size="small"
+            @click.stop="rowEnable(row, 1)"
+          >
+            停用
+          </el-button>
         </template>
         <template slot="sysNo" slot-scope="{ row }">
           <span style="color: #1e9fff;cursor: pointer;" @click="rowEdit(row)">{{ row.sysNo }}</span>
@@ -59,8 +81,9 @@
 </template>
 
 <script>
-import { getList, remove } from "@/api/boxManagement/containerNumber/index.js";
+import { getList, remove, whetherDeactivate } from "@/api/boxManagement/containerNumber/index.js";
 import { getWorkDicts } from "@/api/system/dictbiz";
+import { micrometerFormat2 } from "@/util/validate";
 import detailsPage from "./detailsPage";
 import { getToken } from "@/util/auth";
 import batchPod from "./components/batchPod.vue";
@@ -86,7 +109,7 @@ export default {
       optionBack: {
         height: "auto",
         calcHeight: 30,
-        menuWidth: 140,
+        menuWidth: 180,
         tip: false,
         searchShow: true,
         searchMenuSpan: 6,
@@ -102,23 +125,23 @@ export default {
         searchIndex: 3,
         summaryText: "合计",
         showSummary: true,
-        sumColumnList: [
-          {
-            name: "remainingNum",
-            type: "sum",
-            decimals: 0
-          },
-          {
-            name: "occupyNum",
-            type: "sum",
-            decimals: 0
-          },
-          {
-            name: "storageNum",
-            type: "sum",
-            decimals: 0
-          }
-        ],
+        // sumColumnList: [
+        //   {
+        //     name: "remainingNum",
+        //     type: "sum",
+        //     decimals: 0
+        //   },
+        //   {
+        //     name: "occupyNum",
+        //     type: "sum",
+        //     decimals: 0
+        //   },
+        //   {
+        //     name: "storageNum",
+        //     type: "sum",
+        //     decimals: 0
+        //   }
+        // ],
         column: [
           {
             label: "箱东",
@@ -264,7 +287,7 @@ export default {
             overHidden: true,
             search: true,
             searchOrder: 5,
-            searchLabelWidth: 120,
+            searchLabelWidth: 130,
             type: "select",
             filterable: true,
             remote: true,
@@ -317,18 +340,35 @@ export default {
             label: "目的港",
             prop: "podCname",
             width: 90,
+            overHidden: true
+            // search: true,
+            // searchOrder: 4,
+            // type: "select",
+            // filterable: true,
+            // remote: true,
+            // dicUrl: "/api/blade-los/bports/list?status=0&size=5&current=1&cnName={{key}}",
+            // props: {
+            //   label: "cnName",
+            //   value: "cnName",
+            //   desc: "code",
+            //   res: "data.records"
+            // }
+          },
+          {
+            label: "目的港",
+            prop: "podId",
+            width: 90,
             overHidden: true,
+            hide: true,
             search: true,
             searchOrder: 4,
             type: "select",
             filterable: true,
-            remote: true,
-            dicUrl: "/api/blade-los/bports/list?status=0&size=5&current=1&cnName={{key}}",
+            dicUrl: "/api/blade-los/bports/listAll?status=0",
             props: {
               label: "cnName",
-              value: "cnName",
-              desc: "code",
-              res: "data.records"
+              value: "id",
+              desc: "code"
             }
           },
           {
@@ -532,7 +572,7 @@ export default {
   },
   methods: {
     addButton() {
-      this.pageIds = []
+      this.pageIds = [];
       this.isShow = false;
     },
     copyButton() {
@@ -542,7 +582,7 @@ export default {
       };
     },
     fixPod() {
-      if (this.selectionList.length==0) {
+      if (this.selectionList.length == 0) {
         return this.$message.error("请选择数据");
       }
       let ids = [];
@@ -551,11 +591,21 @@ export default {
       }
       this.$refs.batchPod.openDialog(ids.join(","));
     },
+    rowEnable(row, type) {
+      let obj = {
+        id: row.id,
+        type: type
+      };
+      whetherDeactivate(obj).then(res => {
+        this.$message.success("操作成功!");
+        this.refreshChange();
+      });
+    },
     rowEdit(row) {
-      this.pageIds = []
+      this.pageIds = [];
       this.data.forEach(item => {
-        this.pageIds.push(item.id)
-      })
+        this.pageIds.push(item.id);
+      });
       this.detailData = {
         id: row.id
       };
@@ -577,6 +627,36 @@ export default {
         });
       });
     },
+    summaryMethod({ columns, data }) {
+      const sums = [];
+      if (columns.length > 0) {
+        columns.forEach((item, index) => {
+          sums[0] = "合计";
+          if (item.property == "remainingNum" || item.property == "occupyNum" || item.property == "storageNum") {
+            let remainingNumSum = 0;
+            let occupyNumSum = 0;
+            let storageNumSum = 0;
+            data.forEach(e => {
+              if (e.whetherDeactivate == 0) {
+                remainingNumSum = _.add(remainingNumSum, Number(e.remainingNum));
+                occupyNumSum = _.add(occupyNumSum, Number(e.occupyNum));
+                storageNumSum = _.add(storageNumSum, Number(e.storageNum));
+              }
+            });
+            if (item.property == "remainingNum") {
+              sums[index] = micrometerFormat2(remainingNumSum);
+            }
+            if (item.property == "occupyNum") {
+              sums[index] = micrometerFormat2(occupyNumSum);
+            }
+            if (item.property == "storageNum") {
+              sums[index] = micrometerFormat2(storageNumSum);
+            }
+          }
+        });
+      }
+      return sums;
+    },
     searchReset() {
       this.query = this.$options.data().query;
       this.onLoad(this.page);
@@ -628,7 +708,7 @@ export default {
     },
     // 详情的返回列表
     goBack() {
-      this.pageIds = []
+      this.pageIds = [];
       // 初始化数据
       if (JSON.stringify(this.$route.query) != "{}") {
         this.$router.$avueRouter.closeTag();
@@ -702,6 +782,13 @@ export default {
         }
       }
       return back;
+    },
+    rowStyle({ row, column, rowIndex }) {
+      if (row.whetherDeactivate == 1) {
+        return {
+          color: "#f56c6c"
+        };
+      }
     }
   }
 };
@@ -726,4 +813,7 @@ export default {
 ::v-deep .el-col-md-8 {
   width: 24.33333%;
 }
+.error-row {
+  color: #f56c6c;
+}
 </style>

+ 9 - 2
src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue

@@ -4100,7 +4100,7 @@ export default {
           });
         }
         if (textZore.length) {
-          this.$confirm(`${textZore.join(",")}的金额为0,是否确定申请费用?"`, {
+          this.$confirm(`${textZore.join(",")}的金额为0,是否确定申请费用?`, {
             confirmButtonText: "确定",
             cancelButtonText: "取消",
             type: "warning"
@@ -4253,7 +4253,7 @@ export default {
         }
 
         if (textZore.length) {
-          this.$confirm(`${textZore.join(",")}的金额为0,是否确定申请费用?"`, {
+          this.$confirm(`${textZore.join(",")}的金额为0,是否确定申请费用?`, {
             confirmButtonText: "确定",
             cancelButtonText: "取消",
             type: "warning"
@@ -4758,6 +4758,13 @@ export default {
   padding: 4px 0;
 }
 
+::v-deep .el-table .cell {
+  padding: 0 2px !important;
+}
+::v-deep .el-input__inner {
+  padding-left:5px !important;
+}
+
 .textoverflow {
   width: 100%;
   overflow: hidden;

+ 1 - 2
src/views/iosBasicData/OceanFreightImport/bills/billsDetails.vue

@@ -2274,10 +2274,9 @@ export default {
       //   return;
       // }
       if (this.form.billType == "DD") {
-        if (this.form.feeCenterListC.length == 0 && this.form.feeCenterListD == 0) {
+        if (this.form.feeCenterListC.length == 0 && this.form.feeCenterListD.length == 0) {
           return this.$message.warning("请添加费用信息");
         }
-        return;
       }
       this.$confirm("确定要请核数据?", {
         confirmButtonText: "确定",

+ 43 - 3
src/views/iosBasicData/SeafreightExportF/bills/assembly/DistributionBox/containers.vue

@@ -360,6 +360,7 @@ import extractBoxInformation from "@/views/iosBasicData/SeafreightExportF/bills/
 import { billsAdd } from "@/api/iosBasicData/bills";
 import dicSelect from "@/components/dicSelect/main";
 import businessReports from "@/components/tradeAgency/businessReportsJK.vue";
+import { isProcurement } from "@/api/basicData/configuration";
 export default {
   components: { SearchQuery, bports, extractBoxInformation, dicSelect, businessReports },
   props: {
@@ -591,7 +592,8 @@ export default {
       },
       data: [],
       luHaiTongData: [], // 提取请求到解析的数据
-      extractDialogvisible: false // 提取请求到的数据展示
+      extractDialogvisible: false, // 提取请求到的数据展示
+      isOccupyNum: false
     };
   },
   computed: {
@@ -612,7 +614,13 @@ export default {
       return ids.join(",");
     }
   },
-  created() {},
+  created() {
+    isProcurement({ param: "is.occupyNum" }).then(res => {
+      if (res.data.data == 1) {
+        this.isOccupyNum = true;
+      }
+    });
+  },
   methods: {
     outExport() {
       this.$confirm("是否导出当前所有数据?", "提示", {
@@ -948,9 +956,21 @@ export default {
       });
     },
     addRow() {
-      if (this.assemblyForm.preContainersList.lengt == 0) {
+      if (this.assemblyForm.preContainersList.length == 0) {
         return this.$message.error("箱型箱量没数据,不允许新建");
       }
+      if (this.isOccupyNum) {
+        if (this.assemblyForm.preContainersList.filter(item => item.containerNumberStatus == "录入").length) {
+          return this.$message.error("请先占用放箱号");
+        }
+      }
+      let boxNum = 0;
+      for (let item of this.assemblyForm.preContainersList) {
+        boxNum += Number(item.quantity);
+      }
+      if (this.assemblyForm.containersList.length >= boxNum) {
+        return this.$message.error("新增数量不允许超过委托信息的总箱量");
+      }
       this.assemblyForm.containersList.unshift({
         edit: true,
         pid: this.assemblyForm.id,
@@ -968,6 +988,11 @@ export default {
         });
         return;
       }
+      if (this.isOccupyNum) {
+        if (this.assemblyForm.preContainersList.filter(item => item.containerNumberStatus == "录入").length) {
+          return this.$message.error("请先占用放箱号");
+        }
+      }
       this.$confirm("是否确认配箱?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
@@ -1200,11 +1225,26 @@ export default {
         this.$message.warning("请先大保存");
         return;
       }
+
       for (let item of this.assemblyForm.containersList) {
         if (!item.cntrTypeCode) {
           return this.$message.error("请选择箱型");
         }
       }
+      for (let item of this.assemblyForm.preContainersList) {
+        if (this.assemblyForm.containersList.filter(e => e.cntrTypeCode == item.cntrTypeCode).length > item.quantity) {
+          return this.$message.error(`${item.cntrTypeCode}箱量不能超过${item.quantity}条`);
+        }
+        let qtySUM = 0;
+        for (let row of this.assemblyForm.containersList) {
+          if (item.cntrTypeCode == row.cntrTypeCode) {
+            qtySUM += Number(row.quantity);
+          }
+          if (qtySUM > item.number) {
+            return this.$message.error(`箱型:${item.cntrTypeCode}的总数量不能超过${item.number}`);
+          }
+        }
+      }
       this.$confirm("确定全部保存配箱?", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",

+ 8 - 7
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/precontainers.vue

@@ -781,9 +781,9 @@ export default {
             }
             let occupyNumSum = 0;
             for (let item of this.containerNumberItemList) {
-              console.log(item.occupyNum,item.outNum)
-              if(item.outNum&&item.occupyNum<item.outNum){
-                 return this.$message.error(`放箱号:${item.containerNumber}占用数量不能低于已出场数量:${item.outNum}`);
+              console.log(item.occupyNum, item.outNum);
+              if (item.outNum && item.occupyNum < item.outNum) {
+                return this.$message.error(`放箱号:${item.containerNumber}占用数量不能低于已出场数量:${item.outNum}`);
               }
               occupyNumSum += Number(item.occupyNum ? item.occupyNum : 0);
             }
@@ -842,7 +842,7 @@ export default {
       this.dialogVisible = true;
     },
     getNoPick(type) {
-      this.containerNumberItemList=this.containerNumberItemList.filter(item=>item.id||item.occupyNum>0)
+      this.containerNumberItemList = this.containerNumberItemList.filter(item => item.id || item.occupyNum > 0);
       let obj = {
         boxType: this.boxForm.cntrTypeCode,
         polId: this.assemblyForm.polId,
@@ -902,7 +902,6 @@ export default {
       this.containerNumberItemList = this.deepClone(
         this.assemblyForm.containerNumberItemList.filter(item => row.cntrTypeCode == item.boxType && item.occupyNum > 0)
       );
-
     },
     handleClose() {
       this.dialogVisible = false;
@@ -915,8 +914,10 @@ export default {
         });
       } else {
         for (let item of this.assemblyForm.preContainersList) {
-          this.$delete(item, "$cellEdit");
-          this.$set(item, "$cellEdit", true);
+          if (item.containerNumberStatus != "已选择") {
+            this.$delete(item, "$cellEdit");
+            this.$set(item, "$cellEdit", true);
+          }
         }
       }
       // for (let item of this.assemblyForm.preContainersList) {

+ 6 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/billLading.vue

@@ -394,6 +394,12 @@ export default {
         });
     },
     submit() {
+      let qtySUM=0
+      let gwtSUM=0
+      let mrtSUM=0
+      // for(let item of this.form.containersList){
+
+      // }
       let text = [];
       if (this.form.quantity != this.oldForm.quantity) {
         text.push("件数");

+ 8 - 3
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -4018,7 +4018,7 @@ export default {
           });
         }
         if (textZore.length) {
-          this.$confirm(`${textZore.join(",")}的金额为0,是否确定申请费用?"`, {
+          this.$confirm(`${textZore.join(",")}的金额为0,是否确定申请费用?`, {
             confirmButtonText: "确定",
             cancelButtonText: "取消",
             type: "warning"
@@ -4291,7 +4291,7 @@ export default {
           });
         }
         if (textZore.length) {
-          this.$confirm(`${textZore.join(",")}的金额为0,是否确定申请费用?"`, {
+          this.$confirm(`${textZore.join(",")}的金额为0,`, {
             confirmButtonText: "确定",
             cancelButtonText: "取消",
             type: "warning"
@@ -4785,7 +4785,12 @@ export default {
   text-align: center;
   padding: 4px 0;
 }
-
+::v-deep .el-table .cell {
+  padding: 0 2px !important;
+}
+::v-deep .el-input__inner {
+  padding-left:5px !important;
+}
 .textoverflow {
   width: 100%;
   overflow: hidden;

+ 20 - 4
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -124,7 +124,9 @@
           @click.stop="revokeLockOrder"
           >{{ $t("btn118n.unapply") }}
         </el-button>
-        <el-button v-if="overTime && form.id&&form.billType != 'MM'" type="success" size="small" @click="billModify">{{ $t("btn118n.billModify") }} </el-button>
+        <el-button v-if="overTime && form.id && form.billType != 'MM'" type="success" size="small" @click="billModify"
+          >{{ $t("btn118n.billModify") }}
+        </el-button>
         <el-button
           size="small"
           type="primary"
@@ -2423,7 +2425,7 @@ export default {
 
       // }
       if (this.form.billType == "DD") {
-        if (this.form.feeCenterListC.length == 0 && this.form.feeCenterListD == 0) {
+        if (this.form.feeCenterListC.length == 0 && this.form.feeCenterListD.length == 0) {
           return this.$message.warning("请添加费用信息");
         }
       }
@@ -2848,6 +2850,20 @@ export default {
           //   .catch(() => {
 
           //   });
+          for (let item of this.form.preContainersList) {
+            if (this.form.containersList.filter(e => e.cntrTypeCode == item.cntrTypeCode).length > item.quantity) {
+              return this.$message.error(`${item.cntrTypeCode}箱量不能超过${item.quantity}条`);
+            }
+            let qtySUM = 0;
+            for (let row of this.form.containersList) {
+              if (item.cntrTypeCode == row.cntrTypeCode) {
+                qtySUM += Number(row.quantity);
+              }
+              if (qtySUM > item.number) {
+                return this.$message.error(`箱型:${item.cntrTypeCode}的总数量不能超过${item.number}`);
+              }
+            }
+          }
           this.billsSubmitfun(status);
         }
       });
@@ -3216,8 +3232,8 @@ export default {
           } else {
             this.overTime = false;
           }
-        }else{
-            this.overTime = false;
+        } else {
+          this.overTime = false;
         }
         this.detailData.seeDisabled = false;
       }

+ 48 - 2
src/views/iosBasicData/billModify/index.vue

@@ -57,7 +57,7 @@ export default {
       isShow: true,
       form: {},
       query: {
-        billStatus:'0'
+        billStatus: "0"
       },
       loading: false,
       page: {
@@ -106,6 +106,20 @@ export default {
         ],
         column: [
           {
+            label: "所属公司",
+            prop: "branchId",
+            search: false,
+            type: "select",
+            filterable: true,
+            dicUrl: "/api/blade-system/dept/lazy-list",
+            props: {
+              label: "deptName",
+              value: "id"
+            },
+            hide: true,
+            overHidden: true
+          },
+          {
             label: "系统号",
             prop: "billNo",
             width: "120",
@@ -113,6 +127,13 @@ export default {
             overHidden: true
           },
           {
+            label: "所属公司",
+            prop: "branchName",
+            width: "100",
+            hide: true,
+            overHidden: true
+          },
+          {
             label: "MB/L NO",
             prop: "mblno",
             width: "100",
@@ -275,7 +296,8 @@ export default {
           }
         ]
       },
-      data: []
+      data: [],
+      saberUserInfo: {}
     };
   },
   components: {
@@ -283,6 +305,18 @@ export default {
   },
   async created() {
     this.option = await this.getColumnData(this.getColumnName(536), this.optionBack);
+    this.saberUserInfo = JSON.parse(localStorage.getItem("saber-userInfo")).content;
+    if (this.saberUserInfo.role_name.indexOf("admin") != -1 || this.saberUserInfo.role_name.indexOf("总部") != -1) {
+      this.option.searchMenuSpan = 6;
+      this.option.column.forEach(item => {
+        if (item.prop == "branchId") {
+          item.search = true;
+        }
+        if (item.prop == "branchName") {
+          item.hide = false;
+        }
+      });
+    }
     getWorkDicts("KHDC_Status").then(res => {
       this.khdcStatus = res.data.data;
     });
@@ -416,6 +450,18 @@ export default {
     async resetColumn(ref, option, optionBack, code) {
       this[option] = this[optionBack];
       const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (this.saberUserInfo.role_name.indexOf("admin") != -1 || this.saberUserInfo.role_name.indexOf("总部") != -1) {
+        this.option.searchMenuSpan = 6;
+        this.option.column.forEach(item => {
+          if (item.prop == "branchId") {
+            item.search = true;
+          }
+          if (item.prop == "branchName") {
+            item.hide = false;
+            // item.showColumn = true
+          }
+        });
+      }
       if (inSave) {
         this.$message.success("重置成功");
         this.$refs[ref].$refs.dialogColumn.columnBox = false;

+ 29 - 3
src/views/iosBasicData/businessCenter/customerBooking/index.vue

@@ -124,7 +124,7 @@ export default {
         menuWidth: 140,
         tip: false,
         searchShow: true,
-        searchMenuSpan: 12,
+        searchMenuSpan: 18,
         border: true,
         index: true,
         addBtn: false,
@@ -189,6 +189,7 @@ export default {
             label: "所属公司",
             prop: "branchName",
             width: "100",
+            hide: true,
             // search: true,
             // type: "select",
             // filterable: true,
@@ -203,7 +204,7 @@ export default {
             label: "所属公司",
             prop: "branchId",
             width: "100",
-            search: true,
+            search: false,
             type: "select",
             filterable: true,
             dicUrl: "/api/blade-system/dept/lazy-list",
@@ -522,7 +523,8 @@ export default {
           }
         ]
       },
-      data: []
+      data: [],
+      saberUserInfo: {}
     };
   },
   components: {
@@ -530,6 +532,18 @@ export default {
   },
   async created() {
     this.option = await this.getColumnData(this.getColumnName(513), this.optionBack);
+    this.saberUserInfo = JSON.parse(localStorage.getItem("saber-userInfo")).content;
+    if (this.saberUserInfo.role_name.indexOf("admin") != -1 || this.saberUserInfo.role_name.indexOf("总部") != -1) {
+      this.option.searchMenuSpan = 12;
+      this.option.column.forEach(item => {
+        if (item.prop == "branchId") {
+          item.search = true;
+        }
+        if (item.prop == "branchName") {
+          item.hide = false;
+        }
+      });
+    }
     getWorkDicts("KHDC_Status").then(res => {
       this.khdcStatus = res.data.data;
     });
@@ -705,6 +719,18 @@ export default {
     async resetColumn(ref, option, optionBack, code) {
       this[option] = this[optionBack];
       const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (this.saberUserInfo.role_name.indexOf("admin") != -1 || this.saberUserInfo.role_name.indexOf("总部") != -1) {
+        this.option.searchMenuSpan = 12;
+        this.option.column.forEach(item => {
+          if (item.prop == "branchId") {
+            item.search = true;
+          }
+          if (item.prop == "branchName") {
+            item.hide = false;
+            // item.showColumn = true
+          }
+        });
+      }
       if (inSave) {
         this.$message.success("重置成功");
         this.$refs[ref].$refs.dialogColumn.columnBox = false;

+ 30 - 4
src/views/iosBasicData/businessCenter/customerLetter/index.vue

@@ -64,7 +64,7 @@
         </template>
       </avue-crud>
     </basic-container>
-    <detailsPage v-if="!isShow" :detailData="detailData" :pageIds="pageIds"  @goBack="goBack"></detailsPage>
+    <detailsPage v-if="!isShow" :detailData="detailData" :pageIds="pageIds" @goBack="goBack"></detailsPage>
   </div>
 </template>
 
@@ -102,7 +102,7 @@ export default {
         menuWidth: 140,
         tip: false,
         searchShow: true,
-        searchMenuSpan: 12,
+        searchMenuSpan: 18,
         border: true,
         index: true,
         addBtn: false,
@@ -175,13 +175,14 @@ export default {
             //     label: "deptName",
             //     value: "deptName",
             // },
+            hide: true,
             overHidden: true
           },
           {
             label: "所属公司",
             prop: "branchId",
             width: "100",
-            search: true,
+            search: false,
             type: "select",
             filterable: true,
             dicUrl: "/api/blade-system/dept/lazy-list",
@@ -514,7 +515,8 @@ export default {
           }
         ]
       },
-      data: []
+      data: [],
+      saberUserInfo: {}
     };
   },
   components: {
@@ -522,6 +524,18 @@ export default {
   },
   async created() {
     this.option = await this.getColumnData(this.getColumnName(501), this.optionBack);
+    this.saberUserInfo = JSON.parse(localStorage.getItem("saber-userInfo")).content;
+    if (this.saberUserInfo.role_name.indexOf("admin") != -1 || this.saberUserInfo.role_name.indexOf("总部") != -1) {
+      this.option.searchMenuSpan = 12;
+      this.option.column.forEach(item => {
+        if (item.prop == "branchId") {
+          item.search = true;
+        }
+        if (item.prop == "branchName") {
+          item.hide = false;
+        }
+      });
+    }
   },
   activated() {
     setTimeout(() => {
@@ -691,6 +705,18 @@ export default {
     async resetColumn(ref, option, optionBack, code) {
       this[option] = this[optionBack];
       const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (this.saberUserInfo.role_name.indexOf("admin") != -1 || this.saberUserInfo.role_name.indexOf("总部") != -1) {
+        this.option.searchMenuSpan = 12;
+        this.option.column.forEach(item => {
+          if (item.prop == "branchId") {
+            item.search = true;
+          }
+          if (item.prop == "branchName") {
+            item.hide = false;
+            // item.showColumn = true
+          }
+        });
+      }
       if (inSave) {
         this.$message.success("重置成功");
         this.$refs[ref].$refs.dialogColumn.columnBox = false;