Browse Source

修改港口
修改报表字段
永发箱信息 新加pol堆场和箱来源类型字段

Qukatie 3 months ago
parent
commit
0e06c4611f

+ 2 - 0
README.md

@@ -8,6 +8,8 @@ lodash.js
 
 引入  import _ from 'lodash'
 
+清理缓存
+npm cache clean --force
 
 
  vue-text-format

+ 43 - 13
src/views/boxManagement/podComeback/index.vue

@@ -8,7 +8,6 @@
         :page.sync="page"
         :search.sync="query"
         v-model="form"
-        id="out-table"
         :header-cell-class-name="headerClassName"
         ref="crud"
         @search-change="searchChange"
@@ -49,6 +48,18 @@
                 @selectChange="dicChange('podStationCname', $event)"
               ></dic-select>
             </tempalte>
+            <tempalte slot="podCyContact">
+              <dic-select
+                :key="podForm.podStationId"
+                v-model="podForm.podCyContact"
+                placeholder="场站"
+                label="cname"
+                res="records"
+                :url="'/blade-los/bcorpsattn/list?pid=' + podForm.podStationId"
+                :filterable="true"
+                @selectChange="dicChange('podCyContact', $event)"
+              ></dic-select>
+            </tempalte>
           </avue-form>
         </span>
         <span slot="footer" class="dialog-footer">
@@ -65,6 +76,7 @@ import { getList, batchUpdatePodStation } from "@/api/iosBasicData/podStation.js
 import { defaultDate2 } from "@/util/date";
 import dicSelect from "@/components/dicSelect/main";
 import { getToken } from "@/util/auth";
+import { getBcorpsattnList } from "@/api/iosBasicData/bcorpsattn";
 export default {
   data() {
     return {
@@ -94,24 +106,17 @@ export default {
             type: "date",
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd 00:00:00",
-            span: 24,
+            span: 24
             // display: false,
-            rules: [
-              {
-                required: true,
-                message: " ",
-                trigger: "blur"
-              }
-            ]
           },
           {
-            label: "目的港场站地址",
-            prop: "podCyAddress",
+            label: "目的港场站联系人",
+            prop: "podCyContact",
             disabled: false
           },
           {
-            label: "目的港场站联系人",
-            prop: "podCyContact",
+            label: "目的港场站地址",
+            prop: "podCyAddress",
             disabled: false
           },
           {
@@ -174,6 +179,7 @@ export default {
         searchIcon: true,
         align: "center",
         searchIndex: 3,
+        rowKey: "containersId",
         column: [
           {
             label: "客户",
@@ -400,11 +406,35 @@ export default {
           this.podForm.podStationId = row.id;
           this.podForm.podStationCode = row.code;
           this.podForm.podStationEname = row.enName;
+          getBcorpsattnList(1, 20, { pid: row.id }).then(res => {
+            if (res.data.data.records.length) {
+              this.podForm.podCyContact = res.data.data.records[0].cname;
+              this.podForm.podCyAddress = res.data.data.records[0].addr;
+              this.podForm.podCyEmail = res.data.data.records[0].email;
+              this.podForm.podCyTel = res.data.data.records[0].tel;
+            }
+          });
         } else {
           this.podForm.podStationId = null;
           this.podForm.podStationCode = null;
           this.podForm.podStationEname = null;
           this.podForm.podStationCname = null;
+          this.podForm.podCyContact = null;
+          this.podForm.podCyAddress = null;
+          this.podForm.podCyEmail = null;
+          this.podForm.podCyTel = null;
+        }
+      }
+      if (name == "podCyContact") {
+        if (row) {
+          this.podForm.podCyAddress = row.addr;
+          this.podForm.podCyEmail = row.email;
+          this.podForm.podCyTel = row.tel;
+        } else {
+          this.podForm.podCyContact = null;
+          this.podForm.podCyAddress = null;
+          this.podForm.podCyEmail = null;
+          this.podForm.podCyTel = null;
         }
       }
     },

+ 0 - 8
src/views/iosBasicData/AirtransportExport/bills/assembly/feecenter.vue

@@ -1616,10 +1616,6 @@ export default {
                     return;
                 }
             }
-            // 判断拷贝详情的数据是否要参数
-            if (popupReminder(this.copyFormData, this.messageData)) {
-                return this.$message.warning('请先点击右上角保存按钮保存数据')
-            }
             let obj = {
                 edit: true
             }
@@ -1675,10 +1671,6 @@ export default {
                     return;
                 }
             }
-            // 判断拷贝详情的数据是否要参数
-            if (popupReminder(this.copyFormData, this.messageData)) {
-                return this.$message.warning('请先点击右上角保存按钮保存数据')
-            }
             let obj = {
                 edit: true
             }

+ 0 - 8
src/views/iosBasicData/AirtransportImport/bills/assembly/feecenter.vue

@@ -1616,10 +1616,6 @@ export default {
                     return;
                 }
             }
-            // 判断拷贝详情的数据是否要参数
-            if (popupReminder(this.copyFormData, this.messageData)) {
-                return this.$message.warning('请先点击右上角保存按钮保存数据')
-            }
             let obj = {
                 edit: true
             }
@@ -1675,10 +1671,6 @@ export default {
                     return;
                 }
             }
-            // 判断拷贝详情的数据是否要参数
-            if (popupReminder(this.copyFormData, this.messageData)) {
-                return this.$message.warning('请先点击右上角保存按钮保存数据')
-            }
             let obj = {
                 edit: true
             }

+ 37 - 0
src/views/iosBasicData/OceanFreightImport/bills/assembly/DistributionBox/containers.vue

@@ -109,6 +109,19 @@
             @selectChange="rowDicChange('podStationCname', $event, row)"
           ></dic-select>
         </template>
+        <template slot-scope="{ row }" slot="polCyCname">
+          <dic-select
+            v-model="row.polCyCname"
+            placeholder="场站"
+            label="cnName"
+            res="records"
+            url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=场站&status=0"
+            :filterable="true"
+            :remote="true"
+            dataName="cnName"
+            @selectChange="rowDicChange('polCyCname', $event, row)"
+          ></dic-select>
+        </template>
         <template slot-scope="{ row }" slot="podEmptyContainerReturnDate">
           <el-date-picker
             v-model="row.podEmptyContainerReturnDate"
@@ -320,12 +333,24 @@ export default {
             overHidden: true
           },
           {
+            label: "箱来源类型",
+            prop: "boxSrcType",
+            width: "140",
+            overHidden: true
+          },
+          {
             label: "PODCY",
             prop: "podStationCname",
             width: "140",
             overHidden: true
           },
           {
+            label: "POLCY",
+            prop: "polCyCname",
+            width: "140",
+            overHidden: true
+          },
+          {
             label: "podReturnDate",
             prop: "podEmptyContainerReturnDate",
             width: "160",
@@ -390,6 +415,18 @@ export default {
           el.podStationEname = null;
         }
       }
+      if (name == "polCyCname") {
+        if (row) {
+          el.polCyId = row.id;
+          el.polCyCode = row.code;
+          el.polCyEname = row.enName;
+        } else {
+          el.polCyId = null;
+          el.polCyCode = null;
+          el.polCyCname = null;
+          el.polCyEname = null;
+        }
+      }
     },
     // 输入自动大写
     cntrNoInput(row, name) {

+ 186 - 57
src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue

@@ -100,10 +100,15 @@
             type="danger"
             plain
             size="small"
-            :disabled="!selectionDList.length || disabled || (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              !selectionDList.length ||
+                disabled ||
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="batchDelete('D')"
           >
-          {{ $t("btn118n.deleted") }}
+            {{ $t("btn118n.deleted") }}
           </el-button>
           <!-- <el-button v-if="isFeeEditD" type="success" plain size="small"
                         :disabled="!selectionDList.length || disabled || pleasereviewType"
@@ -139,7 +144,12 @@
             type="primary"
             plain
             size="small"
-            :disabled="disabled || selectionDList.length == 0 || (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              disabled ||
+                selectionDList.length == 0 ||
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('D费用申请')"
             >{{ $t("btn118n.applyFee") }}</el-button
           >
@@ -147,7 +157,12 @@
             type="danger"
             plain
             size="small"
-            :disabled="disabled || selectionDList.length == 0 || (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              disabled ||
+                selectionDList.length == 0 ||
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('D撤销请核')"
             >{{ $t("btn118n.unApplyFee") }}</el-button
           >
@@ -155,7 +170,12 @@
             type="primary"
             plain
             size="small"
-            :disabled="selectionDList.length != 1 || disabled || (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              selectionDList.length != 1 ||
+                disabled ||
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('D申请修改')"
             >{{ $t("btn118n.applyModify") }}</el-button
           >
@@ -163,7 +183,12 @@
             type="success"
             plain
             size="small"
-            :disabled="selectionDList.length != 1 || disabled || (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              selectionDList.length != 1 ||
+                disabled ||
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('D申请删除')"
             >{{ $t("btn118n.applyDelete") }}</el-button
           >
@@ -171,7 +196,12 @@
             type="danger"
             plain
             size="small"
-            :disabled="selectionDList.length != 1 || disabled || (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              selectionDList.length != 1 ||
+                disabled ||
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('D取消申请')"
             >{{ $t("btn118n.unAplly") }}</el-button
           >
@@ -409,7 +439,12 @@
             type="danger"
             plain
             size="small"
-            :disabled="!selectionCList.length || disabled || (assemblyForm.id && !(selectionCList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              !selectionCList.length ||
+                disabled ||
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="batchDelete('C')"
             >{{ $t("btn118n.deleted") }}
           </el-button>
@@ -447,7 +482,12 @@
             type="primary"
             plain
             size="small"
-            :disabled="disabled || selectionCList.length == 0 || (assemblyForm.id && !(selectionCList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              disabled ||
+                selectionCList.length == 0 ||
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('C费用申请')"
             >{{ $t("btn118n.applyFee") }}</el-button
           >
@@ -455,7 +495,12 @@
             type="danger"
             plain
             size="small"
-            :disabled="disabled || selectionCList.length == 0 || (assemblyForm.id && !(selectionCList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              disabled ||
+                selectionCList.length == 0 ||
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('C撤销请核')"
             >{{ $t("btn118n.unApplyFee") }}</el-button
           >
@@ -465,7 +510,12 @@
             type="primary"
             plain
             size="small"
-            :disabled="selectionCList.length != 1 || disabled || (assemblyForm.id && !(selectionCList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              selectionCList.length != 1 ||
+                disabled ||
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('C申请修改')"
             >{{ $t("btn118n.applyModify") }}</el-button
           >
@@ -473,7 +523,12 @@
             type="success"
             plain
             size="small"
-            :disabled="selectionCList.length != 1 || disabled || (assemblyForm.id && !(selectionCList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              selectionCList.length != 1 ||
+                disabled ||
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('C申请删除')"
             >{{ $t("btn118n.applyDelete") }}</el-button
           >
@@ -481,7 +536,12 @@
             type="danger"
             plain
             size="small"
-            :disabled="selectionCList.length != 1 || disabled || (assemblyForm.id && !(selectionCList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))"
+            :disabled="
+              selectionCList.length != 1 ||
+                disabled ||
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
+            "
             @click="allClick('C取消申请')"
             >{{ $t("btn118n.unAplly") }}</el-button
           >
@@ -1624,7 +1684,7 @@ export default {
             prop: "createTime",
             width: "100",
             overHidden: true
-          },
+          }
         ]
       },
       loadingD: false,
@@ -1838,7 +1898,7 @@ export default {
             prop: "createTime",
             width: "100",
             overHidden: true
-          },
+          }
         ]
       },
       loadingC: false,
@@ -1943,15 +2003,70 @@ export default {
           name: "MBLNO",
           value: "mblno"
         },
+        {
+          name: "船名(VSL)",
+          value: "vesselCnName"
+        },
+        {
+          name: "航次(VOY)",
+          value: "voyageNo"
+        },
+        {
+          name: "ATA",
+          value: "actualEta"
+        },
+        {
+          name: "装货港",
+          value: "polCnName"
+        },
+        {
+          name: "卸货港",
+          value: "podCnName"
+          // 判断条件,多条件,只支持 or
+          // vif: [{
+          //     name: 'carrierId',
+          //     value: 11207, // ONE 海洋网联船务(中国)有限公司
+          //     op: '!=',
+          // }],
+        },
+        {
+          name: "交货地",
+          value: "placeDeliveryId",
+          vif: [
+            {
+              name: "carrierId",
+              value: 11207, // ONE 海洋网联船务(中国)有限公司
+              op: "=="
+            }
+          ]
+        },
+        {
+          name: "包装单位",
+          value: "packingUnit"
+        },
+        {
+          name: "船公司",
+          value: "carrierCnName"
+        },
         // {
-        //     name:'booking NO',
-        //     value:'bookingNo',
-        // },
-        // {
-        //     name:'REF MBLNO',
-        //     value:'refno',
+        //     name:'场站',
+        //     value:'cyCnName',
         // },
         {
+          name: "所属团队",
+          value: "teamId"
+        }
+      ],
+      messageData2: [
+        {
+          name: "客户",
+          value: "corpCnName"
+        },
+        {
+          name: "业务来源",
+          value: "srcType"
+        },
+        {
           name: "船名(VSL)",
           value: "vesselCnName"
         },
@@ -2036,11 +2151,19 @@ export default {
     this.roleName = localStorage.getItem("roleName").split(","); // 获取角色数据
     console.log("roleName", this.roleName);
     this.isAdmin = this.roleName.indexOf("admin") >= 0;
-    this.isFeeViewD = this.isAdmin || this.roleName.indexOf("应收查看") >= 0 || this.roleName.indexOf("国外费用") >= 0||this.roleName.indexOf("允许修改他人费用") >= 0;
-    this.isFeeViewC = this.isAdmin || this.roleName.indexOf("应付查看") >= 0 || this.roleName.indexOf("国外费用") >= 0||this.roleName.indexOf("允许修改他人费用") >= 0;
+    this.isFeeViewD =
+      this.isAdmin ||
+      this.roleName.indexOf("应收查看") >= 0 ||
+      this.roleName.indexOf("国外费用") >= 0 ||
+      this.roleName.indexOf("允许修改他人费用") >= 0;
+    this.isFeeViewC =
+      this.isAdmin ||
+      this.roleName.indexOf("应付查看") >= 0 ||
+      this.roleName.indexOf("国外费用") >= 0 ||
+      this.roleName.indexOf("允许修改他人费用") >= 0;
     this.isFeeView = this.isAdmin || this.isFeeViewD || this.isFeeViewC;
-    this.isFeeEditD = this.isAdmin || (this.isFeeViewD && this.roleName.indexOf("应收修改") >= 0)||this.roleName.indexOf("允许修改他人费用") >= 0;
-    this.isFeeEditC = this.isAdmin || (this.isFeeViewC && this.roleName.indexOf("应付修改") >= 0)||this.roleName.indexOf("允许修改他人费用") >= 0;
+    this.isFeeEditD = this.isAdmin || (this.isFeeViewD && this.roleName.indexOf("应收修改") >= 0) || this.roleName.indexOf("允许修改他人费用") >= 0;
+    this.isFeeEditC = this.isAdmin || (this.isFeeViewC && this.roleName.indexOf("应付修改") >= 0) || this.roleName.indexOf("允许修改他人费用") >= 0;
     this.isFeeEdit = this.isAdmin || this.isFeeEditD || this.isFeeEditC;
     this.isProfitView = this.isAdmin || this.roleName.indexOf("利润查看") >= 0;
 
@@ -2460,8 +2583,6 @@ export default {
           cancelButtonText: "取消",
           type: "warning"
         });
-      }
-      if (popupReminder(this.assemblyForm, this.messageData)) {
         return;
       }
       this.dc = dc;
@@ -2504,8 +2625,6 @@ export default {
             cancelButtonText: "取消",
             type: "warning"
           });
-        }
-        if (popupReminder(this.assemblyForm, this.messageData)) {
           return;
         }
         // 如果是分单 判断是否有分单号
@@ -2518,10 +2637,6 @@ export default {
             return;
           }
         }
-        // 判断拷贝详情的数据是否要参数
-        if (popupReminder(this.copyFormData, this.messageData)) {
-          return this.$message.warning("请先点击右上角保存按钮保存数据");
-        }
         let obj = {
           edit: true
         };
@@ -2605,8 +2720,6 @@ export default {
             cancelButtonText: "取消",
             type: "warning"
           });
-        }
-        if (popupReminder(this.assemblyForm, this.messageData)) {
           return;
         }
         // 如果是分单 判断是否有分单号
@@ -2619,10 +2732,6 @@ export default {
             return;
           }
         }
-        // 判断拷贝详情的数据是否要参数
-        if (popupReminder(this.copyFormData, this.messageData)) {
-          return this.$message.warning("请先点击右上角保存按钮保存数据");
-        }
         let obj = {
           edit: true
         };
@@ -2768,8 +2877,6 @@ export default {
           cancelButtonText: "取消",
           type: "warning"
         });
-      }
-      if (popupReminder(this.assemblyForm, this.messageData)) {
         return;
       }
       let selectionArr = [];
@@ -3448,7 +3555,7 @@ export default {
               this.$delete(item, "edit");
               this.$set(item, "edit", true);
             }
-            if (item.id && (item.createUser == this.userId||item.createUser ==0||this.roleName.indexOf("允许修改他人费用") >= 0)) {
+            if (item.id && (item.createUser == this.userId || item.createUser == 0 || this.roleName.indexOf("允许修改他人费用") >= 0)) {
               this.$delete(item, "edit");
               this.$set(item, "edit", true);
             }
@@ -3461,7 +3568,7 @@ export default {
               this.$delete(item, "edit");
               this.$set(item, "edit", true);
             }
-            if (item.id && (item.createUser == this.userId||item.createUser ==0||this.roleName.indexOf("允许修改他人费用") >= 0)) {
+            if (item.id && (item.createUser == this.userId || item.createUser == 0 || this.roleName.indexOf("允许修改他人费用") >= 0)) {
               this.$delete(item, "edit");
               this.$set(item, "edit", true);
             }
@@ -3827,13 +3934,24 @@ export default {
       }
       if (name == "D撤销请核") {
         // let selecList = [...this.selectionDList, ...this.selectionCList]
-        if (popupReminder(this.assemblyForm, this.messageData)) {
-          this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning"
-          });
-          return;
+        if (this.assemblyForm.billType == "MH") {
+          if (popupReminder(this.assemblyForm, this.messageData2)) {
+            this.$confirm(popupReminder(this.assemblyForm, this.messageData2), {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            });
+            return;
+          }
+        } else {
+          if (popupReminder(this.assemblyForm, this.messageData)) {
+            this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            });
+            return;
+          }
         }
         for (let row of this.selectionDList) {
           if (!row.id) {
@@ -3930,13 +4048,24 @@ export default {
       }
       if (name == "C撤销请核") {
         // let selecList = [...this.selectionDList, ...this.selectionCList]
-        if (popupReminder(this.assemblyForm, this.messageData)) {
-          this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning"
-          });
-          return;
+        if (this.assemblyForm.billType == "MH") {
+          if (popupReminder(this.assemblyForm, this.messageData2)) {
+            this.$confirm(popupReminder(this.assemblyForm, this.messageData2), {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            });
+            return;
+          }
+        } else {
+          if (popupReminder(this.assemblyForm, this.messageData)) {
+            this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            });
+            return;
+          }
         }
         for (let row of this.selectionCList) {
           if (!row.id) {

+ 4 - 4
src/views/iosBasicData/OceanFreightImport/bills/assembly/reportformsFrame/PurchaseNotice.vue

@@ -199,11 +199,11 @@
         </el-form-item>
       </el-col>
       <el-col :span="12">
-        <el-form-item label="PLACE OF STUFFING:" prop="placeOfStuffing"  label-width="130px">
+        <el-form-item label="PLACE OF STUFFING:" prop="placeOfStuffing2"  label-width="130px">
           <el-input
             type="age"
             style="width: 100%;"
-            v-model="documentForm.placeOfStuffing"
+            v-model="documentForm.placeOfStuffing2"
             size="small"
             autocomplete="off"
             clearable
@@ -227,11 +227,11 @@
         </el-form-item>
       </el-col>
       <el-col :span="12">
-        <el-form-item label="ADDRESS:" prop="address">
+        <el-form-item label="ADDRESS:" prop="address2">
           <el-input
             type="age"
             style="width: 100%;"
-            v-model="documentForm.address"
+            v-model="documentForm.address2"
             size="small"
             autocomplete="off"
             clearable

+ 1169 - 1009
src/views/iosBasicData/SeafreightExportF/bills/assembly/DistributionBox/containers.vue

@@ -1,186 +1,268 @@
 <template>
-    <div>
-        <basic-container>
-            <avue-crud :option="option" :table-loading="loading" :data="assemblyForm.containersList"
-                :permission="permissionList" :before-open="beforeOpen" v-model="form" id="out-table"
-                :header-cell-class-name="headerClassName" ref="crud" :row-style="{ height: '20px' }"
-                :cell-style="{ padding: '0px' }" @row-update="rowUpdate" @row-save="rowSave" @row-del="rowDel"
-                @selection-change="selectionChange" @refresh-change="refreshChange">
-                <template slot="menuLeft">
-                    <div style="display: flex;align-items: center;justify-content: space-between">
-                        <div>
-                            <!--<el-button type="primary" size="small" @click="DistributionBox">配箱</el-button>-->
-                            <el-button type="success" size="small" plain :disabled="seeDisabled"
-                                @click.stop="equalDistribution2()">{{ $t("btn118n.generateCtnrList") }}
-                            </el-button>
-                            <el-button type="success" size="small" plain :disabled="seeDisabled"
-                                @click.stop="equalDistribution(1)">{{ $t("btn118n.packCtnrTeu") }}
-                            </el-button>
-                            <el-button type="success" size="small" plain :disabled="seeDisabled"
-                                @click.stop="equalDistribution(2)">{{ $t("btn118n.packCtnrQty") }}
-                            </el-button>
-                            <el-button type="primary" size="small"
-                                :disabled="detailData.seeDisabled || pleasereviewType || showLock"
-                                @click="rootEditfun"> {{ $t("btn118n.edit") }}
-                            </el-button>
-                            <el-button type="primary" size="small"
-                                @click="containersSubmitListfun"> {{ $t("btn118n.save") }}
-                            </el-button>
-                            <el-button type="success" size="small"
-                                :disabled="detailData.seeDisabled || !assemblyForm.id || pleasereviewType || showLock"
-                                @click="oepnexcelBox">{{ $t("btn118n.importCtnr") }}
-                            </el-button>
-                            <el-button type="success" size="small" :loading="loadingButton"
-                                :disabled="detailData.seeDisabled || !assemblyForm.id || pleasereviewType || showLock"
-                                @click="extractBoxInformation">{{ $t("btn118n.getCtnr") }}
-                            </el-button>
-                            <el-button type="warning" size="small"
-                                :disabled="detailData.seeDisabled || pleasereviewType || showLock"
-                                @click="cleanCntrNofun">{{ $t("btn118n.clearCtnrNo") }}
-                            </el-button>
-                            <el-button type="danger" size="small"
-                                :disabled="detailData.seeDisabled || pleasereviewType || showLock"
-                                @click="revokefun">{{ $t("btn118n.selectclearCtnrLlist") }}
-                            </el-button>
-                            <el-button type="danger" size="small"
-                                :disabled="detailData.seeDisabled || pleasereviewType || showLock"
-                                @click="wholeRevokefun">{{ $t("btn118n.clearCtnrLlist") }}
-                            </el-button>
-                            <el-button type="danger" size="small"
-                                :disabled="detailData.seeDisabled || pleasereviewType || showLock"
-                                @click="handleDelete">{{ $t("btn118n.deleteCtnrList") }}
-                            </el-button>
-                            <el-button type="success" size="small" plain @click.stop="$refs.print.openDialog()">
-                                {{ $t("btn118n.preview") }}
-                            </el-button>
-                            <el-button type="success" size="small" @click.stop="outExport">
-                                {{ $t("btn118n.exportData") }}
-                            </el-button>
-                            <!--<el-button type="warning" size="small"-->
-                            <!--           :disabled="numberfalsefun() || assemblyForm.id"-->
-                            <!--           @click="equalDistribution">平均分配</el-button>-->
-                        </div>
-                        <!--<div>-->
-                        <!--    <el-button size="small">Copy</el-button>-->
-                        <!--    <el-button size="small">查看箱信息</el-button>-->
-                        <!--    <el-button size="small">校验箱信息</el-button>-->
-                        <!--</div>-->
-                    </div>
-                </template>
-                <template slot-scope="scope" slot="menu">
-                    <el-button v-if="scope.row.edit" :type="scope.type" :size="scope.size" icon="el-icon-edit"
-                        @click.stop="rowSavefun(scope.row, scope.index)">保存
-                    </el-button>
-                    <el-button v-else :type="scope.type" :size="scope.size" icon="el-icon-edit"
-                        :disabled="detailData.seeDisabled || pleasereviewType || showLock"
-                        @click.stop="rowCellfun(scope.row, scope.index)">编辑
-                    </el-button>
-                    <el-button :type="scope.type" :size="scope.size" icon="el-icon-delete"
-                        :disabled="detailData.seeDisabled || pleasereviewType || showLock"
-                        @click.stop="rowDel(scope.row, scope.index)">删除
-                    </el-button>
-                </template>
-                <template slot-scope="scope" slot="cntrNo">
-                    <el-input v-if="scope.row.edit" v-model="scope.row.cntrNo" maxlength='11' size="small" clearable
-                        placeholder="请输入箱号" @input="cntrNoInput(scope.row, 'cntrNo')"
-                        @change="verifyChange(scope.row, 'cntrNo')"></el-input>
-                    <span v-else>{{ scope.row.cntrNo }}</span>
-                </template>
-                <template slot-scope="scope" slot="sealNo">
-                    <el-input v-if="scope.row.edit" v-model="scope.row.sealNo" maxlength='11' size="small" clearable
-                        placeholder="请输入封号" @input="cntrNoInput(scope.row, 'sealNo')"></el-input>
-                    <span v-else>{{ scope.row.sealNo }}</span>
-                </template>
-                <template slot-scope="scope" slot="quantity">
-                    <el-input v-if="scope.row.edit" v-model="scope.row.quantity" size="small" clearable
-                        placeholder="请输入件数"></el-input>
-                    <span v-else>{{ Number(scope.row.quantity).toFixed(0) }}</span>
-                </template>
-                <template slot-scope="scope" slot="grossWeight">
-                    <el-input v-if="scope.row.edit" v-model="scope.row.grossWeight" size="small" clearable
-                        placeholder="请输入毛重" @change="computeChange(scope.row)"></el-input>
-                    <span v-else>{{ scope.row.grossWeight }}</span>
-                </template>
-                <template slot-scope="scope" slot="netWeight">
-                    <el-input v-if="scope.row.edit" v-model="scope.row.netWeight" size="small" clearable
-                        placeholder="请输入净重"></el-input>
-                    <span v-else>{{ scope.row.netWeight }}</span>
-                </template>
-                <template slot-scope="scope" slot="measurement">
-                    <el-input v-if="scope.row.edit" v-model="scope.row.measurement" size="small" clearable
-                        placeholder="请输入尺码"></el-input>
-                    <span v-else>{{ scope.row.measurement }}</span>
-                </template>
-                <template slot-scope="scope" slot="remarks">
-                    <el-input v-if="scope.row.edit" v-model="scope.row.remarks" size="small" clearable
-                        placeholder="请输入备注"></el-input>
-                    <span v-else>{{ scope.row.remarks }}</span>
-                </template>
-                <template slot-scope="scope" slot="marks">
-                    <el-input v-if="scope.row.edit" v-model="scope.row.marks" size="small" clearable
-                        placeholder="请输入MARKS"></el-input>
-                    <span v-else>{{ scope.row.marks }}</span>
-                </template>
-                <template slot-scope="{row}" slot="tare">
-                    <el-input v-if="row.edit" v-model="row.tare" size="small" clearable placeholder="请输入箱皮重"
-                        @change="computeChange(row)"></el-input>
-                    <span v-else>{{ row.tare }}</span>
-                </template>
-                <!-- <template slot-scope="{row}" slot="vgmWeight">
+  <div>
+    <basic-container>
+      <avue-crud
+        :option="option"
+        :table-loading="loading"
+        :data="assemblyForm.containersList"
+        :permission="permissionList"
+        :before-open="beforeOpen"
+        v-model="form"
+        id="out-table"
+        :header-cell-class-name="headerClassName"
+        ref="crud"
+        :row-style="{ height: '20px' }"
+        :cell-style="{ padding: '0px' }"
+        @row-update="rowUpdate"
+        @row-save="rowSave"
+        @row-del="rowDel"
+        @selection-change="selectionChange"
+        @refresh-change="refreshChange"
+      >
+        <template slot="menuLeft">
+          <div style="display: flex;align-items: center;justify-content: space-between">
+            <div>
+              <!--<el-button type="primary" size="small" @click="DistributionBox">配箱</el-button>-->
+              <el-button type="success" size="small" plain :disabled="seeDisabled" @click.stop="equalDistribution2()"
+                >{{ $t("btn118n.generateCtnrList") }}
+              </el-button>
+              <el-button type="success" size="small" plain :disabled="seeDisabled" @click.stop="equalDistribution(1)"
+                >{{ $t("btn118n.packCtnrTeu") }}
+              </el-button>
+              <el-button type="success" size="small" plain :disabled="seeDisabled" @click.stop="equalDistribution(2)"
+                >{{ $t("btn118n.packCtnrQty") }}
+              </el-button>
+              <el-button type="primary" size="small" :disabled="detailData.seeDisabled || pleasereviewType || showLock" @click="rootEditfun">
+                {{ $t("btn118n.edit") }}
+              </el-button>
+              <el-button type="primary" size="small" @click="containersSubmitListfun"> {{ $t("btn118n.save") }} </el-button>
+              <el-button
+                type="success"
+                size="small"
+                :disabled="detailData.seeDisabled || !assemblyForm.id || pleasereviewType || showLock"
+                @click="oepnexcelBox"
+                >{{ $t("btn118n.importCtnr") }}
+              </el-button>
+              <el-button
+                type="success"
+                size="small"
+                :loading="loadingButton"
+                :disabled="detailData.seeDisabled || !assemblyForm.id || pleasereviewType || showLock"
+                @click="extractBoxInformation"
+                >{{ $t("btn118n.getCtnr") }}
+              </el-button>
+              <el-button type="warning" size="small" :disabled="detailData.seeDisabled || pleasereviewType || showLock" @click="cleanCntrNofun"
+                >{{ $t("btn118n.clearCtnrNo") }}
+              </el-button>
+              <el-button type="danger" size="small" :disabled="detailData.seeDisabled || pleasereviewType || showLock" @click="revokefun"
+                >{{ $t("btn118n.selectclearCtnrLlist") }}
+              </el-button>
+              <el-button type="danger" size="small" :disabled="detailData.seeDisabled || pleasereviewType || showLock" @click="wholeRevokefun"
+                >{{ $t("btn118n.clearCtnrLlist") }}
+              </el-button>
+              <el-button type="danger" size="small" :disabled="detailData.seeDisabled || pleasereviewType || showLock" @click="handleDelete"
+                >{{ $t("btn118n.deleteCtnrList") }}
+              </el-button>
+              <el-button type="success" size="small" plain @click.stop="$refs.print.openDialog()">
+                {{ $t("btn118n.preview") }}
+              </el-button>
+              <el-button type="success" size="small" @click.stop="outExport">
+                {{ $t("btn118n.exportData") }}
+              </el-button>
+              <!--<el-button type="warning" size="small"-->
+              <!--           :disabled="numberfalsefun() || assemblyForm.id"-->
+              <!--           @click="equalDistribution">平均分配</el-button>-->
+            </div>
+            <!--<div>-->
+            <!--    <el-button size="small">Copy</el-button>-->
+            <!--    <el-button size="small">查看箱信息</el-button>-->
+            <!--    <el-button size="small">校验箱信息</el-button>-->
+            <!--</div>-->
+          </div>
+        </template>
+        <template slot-scope="scope" slot="menu">
+          <el-button v-if="scope.row.edit" :type="scope.type" :size="scope.size" icon="el-icon-edit" @click.stop="rowSavefun(scope.row, scope.index)"
+            >保存
+          </el-button>
+          <el-button
+            v-else
+            :type="scope.type"
+            :size="scope.size"
+            icon="el-icon-edit"
+            :disabled="detailData.seeDisabled || pleasereviewType || showLock"
+            @click.stop="rowCellfun(scope.row, scope.index)"
+            >编辑
+          </el-button>
+          <el-button
+            :type="scope.type"
+            :size="scope.size"
+            icon="el-icon-delete"
+            :disabled="detailData.seeDisabled || pleasereviewType || showLock"
+            @click.stop="rowDel(scope.row, scope.index)"
+            >删除
+          </el-button>
+        </template>
+        <template slot-scope="scope" slot="cntrNo">
+          <el-input
+            v-if="scope.row.edit"
+            v-model="scope.row.cntrNo"
+            maxlength="11"
+            size="small"
+            clearable
+            placeholder="请输入箱号"
+            @input="cntrNoInput(scope.row, 'cntrNo')"
+            @change="verifyChange(scope.row, 'cntrNo')"
+          ></el-input>
+          <span v-else>{{ scope.row.cntrNo }}</span>
+        </template>
+        <template slot-scope="scope" slot="sealNo">
+          <el-input
+            v-if="scope.row.edit"
+            v-model="scope.row.sealNo"
+            maxlength="11"
+            size="small"
+            clearable
+            placeholder="请输入封号"
+            @input="cntrNoInput(scope.row, 'sealNo')"
+          ></el-input>
+          <span v-else>{{ scope.row.sealNo }}</span>
+        </template>
+        <template slot-scope="scope" slot="quantity">
+          <el-input v-if="scope.row.edit" v-model="scope.row.quantity" size="small" clearable placeholder="请输入件数"></el-input>
+          <span v-else>{{ Number(scope.row.quantity).toFixed(0) }}</span>
+        </template>
+        <template slot-scope="scope" slot="grossWeight">
+          <el-input
+            v-if="scope.row.edit"
+            v-model="scope.row.grossWeight"
+            size="small"
+            clearable
+            placeholder="请输入毛重"
+            @change="computeChange(scope.row)"
+          ></el-input>
+          <span v-else>{{ scope.row.grossWeight }}</span>
+        </template>
+        <template slot-scope="scope" slot="netWeight">
+          <el-input v-if="scope.row.edit" v-model="scope.row.netWeight" size="small" clearable placeholder="请输入净重"></el-input>
+          <span v-else>{{ scope.row.netWeight }}</span>
+        </template>
+        <template slot-scope="scope" slot="measurement">
+          <el-input v-if="scope.row.edit" v-model="scope.row.measurement" size="small" clearable placeholder="请输入尺码"></el-input>
+          <span v-else>{{ scope.row.measurement }}</span>
+        </template>
+        <template slot-scope="scope" slot="remarks">
+          <el-input v-if="scope.row.edit" v-model="scope.row.remarks" size="small" clearable placeholder="请输入备注"></el-input>
+          <span v-else>{{ scope.row.remarks }}</span>
+        </template>
+        <template slot-scope="scope" slot="marks">
+          <el-input v-if="scope.row.edit" v-model="scope.row.marks" size="small" clearable placeholder="请输入MARKS"></el-input>
+          <span v-else>{{ scope.row.marks }}</span>
+        </template>
+        <template slot-scope="{ row }" slot="tare">
+          <el-input v-if="row.edit" v-model="row.tare" size="small" clearable placeholder="请输入箱皮重" @change="computeChange(row)"></el-input>
+          <span v-else>{{ row.tare }}</span>
+        </template>
+        <!-- <template slot-scope="{row}" slot="vgmWeight">
                     <el-input v-if="row.edit" v-model="row.vgmWeight" size="small" clearable
                         placeholder="请输入VGM总重(KGM)"></el-input>
                     <span v-else>{{ row.vgmWeight }}</span>
                 </template> -->
-                <tempalte slot="podStationCname" slot-scope="{row}">
-                    <dic-select v-model="row.podStationCname" placeholder="场站" label="cnName"
-                        res="records" url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=场站&status=0"
-                        :filterable="true" :remote="true" dataName="cnName"
-                        @selectChange="rowDicChange('podStationCname', $event, row)"></dic-select>
-                </tempalte>
-            </avue-crud>
-        </basic-container>
+        <tempalte slot="podStationCname" slot-scope="{ row }">
+          <dic-select
+            v-model="row.podStationCname"
+            placeholder="场站"
+            label="cnName"
+            res="records"
+            url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=场站&status=0"
+            :filterable="true"
+            :remote="true"
+            dataName="cnName"
+            @selectChange="rowDicChange('podStationCname', $event, row)"
+          ></dic-select>
+        </tempalte>
+        <template slot-scope="{ row }" slot="polCyCname">
+          <dic-select
+            v-model="row.polCyCname"
+            placeholder="场站"
+            label="cnName"
+            res="records"
+            url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=场站&status=0"
+            :filterable="true"
+            :remote="true"
+            dataName="cnName"
+            @selectChange="rowDicChange('polCyCname', $event, row)"
+          ></dic-select>
+        </template>
+        <template slot-scope="{ row }" slot="podEmptyContainerReturnDate">
+          <el-date-picker
+            v-model="row.podEmptyContainerReturnDate"
+            type="date"
+            placeholder="选择日期"
+            format="yyyy-MM-dd"
+            value-format="yyyy-MM-dd 00:00:00"
+            size="small"
+          >
+          </el-date-picker>
+        </template>
+      </avue-crud>
+    </basic-container>
 
-        <el-dialog title="导入箱号,铅封号" append-to-body :visible.sync="excelBox" width="555px" :close-on-click-modal="false"
-            v-dialog-drag>
-            <avue-form :option="excelOption" v-model="excelForm" :table-loading="excelLoading"
-                :upload-before="uploadBefore" :upload-after="onSuccess">
-                <template slot="excelTemplate">
-                    <el-button type="primary" @click="handleGet">
-                        点击下载<i class="el-icon-download el-icon--right"></i>
-                    </el-button>
-                </template>
-            </avue-form>
-            <p style="text-align: center;color: #DC0505">
-                温馨提示 第一次导入时请先下载模板
-            </p>
-        </el-dialog>
+    <el-dialog title="导入箱号,铅封号" append-to-body :visible.sync="excelBox" width="555px" :close-on-click-modal="false" v-dialog-drag>
+      <avue-form :option="excelOption" v-model="excelForm" :table-loading="excelLoading" :upload-before="uploadBefore" :upload-after="onSuccess">
+        <template slot="excelTemplate">
+          <el-button type="primary" @click="handleGet"> 点击下载<i class="el-icon-download el-icon--right"></i> </el-button>
+        </template>
+      </avue-form>
+      <p style="text-align: center;color: #DC0505">
+        温馨提示 第一次导入时请先下载模板
+      </p>
+    </el-dialog>
 
-        <!--提取的数据展示框-->
-        <el-dialog append-to-body title="预览数据" class="el-dialogDeep" :visible.sync="extractDialogvisible" width="80%"
-            :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
-            <extract-box-information :luHaiTongData="luHaiTongData"></extract-box-information>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="extractDialogvisible = false">取 消</el-button>
-                <el-button type="primary" @click="extractDialogfun">导 入</el-button>
-            </span>
-        </el-dialog>
-        <business-reports :id="assemblyForm.id" :itemIds="itemIds" ref="print" businessValue="HYCK" classifyCode="业务"
-            groupCode="配箱预览,ADVICE" :treeType="false" :type="1"></business-reports>
-
-    </div>
+    <!--提取的数据展示框-->
+    <el-dialog
+      append-to-body
+      title="预览数据"
+      class="el-dialogDeep"
+      :visible.sync="extractDialogvisible"
+      width="80%"
+      :close-on-click-modal="false"
+      :destroy-on-close="true"
+      :close-on-press-escape="false"
+      v-dialog-drag
+    >
+      <extract-box-information :luHaiTongData="luHaiTongData"></extract-box-information>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="extractDialogvisible = false">取 消</el-button>
+        <el-button type="primary" @click="extractDialogfun">导 入</el-button>
+      </span>
+    </el-dialog>
+    <business-reports
+      :id="assemblyForm.id"
+      :itemIds="itemIds"
+      ref="print"
+      businessValue="HYCK"
+      classifyCode="业务"
+      groupCode="配箱预览,ADVICE"
+      :treeType="false"
+      :type="1"
+    ></business-reports>
+  </div>
 </template>
 
 <script>
 import {
-    containersDetail,
-    containersSubmit,
-    containersRemove,
-    containersCleanBoxNo,
-    containersRevoke,
-    containersEqualDistribution,
-    distributionBox,
-    containersSubmitList,
-    containersExportContainers, containersImportBoxNo, containersList, luHaiTongApiDetail
+  containersDetail,
+  containersSubmit,
+  containersRemove,
+  containersCleanBoxNo,
+  containersRevoke,
+  containersEqualDistribution,
+  distributionBox,
+  containersSubmitList,
+  containersExportContainers,
+  containersImportBoxNo,
+  containersList,
+  luHaiTongApiDetail
 } from "@/api/iosBasicData/containers";
 import { getAccurate } from "@/api/boxManagement/buyContainer/index.js";
 import { mapGetters } from "vuex";
@@ -194,872 +276,950 @@ import { billsAdd } from "@/api/iosBasicData/bills";
 import dicSelect from "@/components/dicSelect/main";
 import businessReports from "@/components/tradeAgency/businessReportsJK.vue";
 export default {
-    components: { SearchQuery, bports, extractBoxInformation, dicSelect, businessReports },
-    props: {
-        assemblyForm: {},
-        detailData: {},
-        // 请核禁用
-        pleasereviewType: {
-            type: Boolean,
-            default: false,
-        },
-        showLock: {
-            type: Boolean,
-            default: false
-        }
+  components: { SearchQuery, bports, extractBoxInformation, dicSelect, businessReports },
+  props: {
+    assemblyForm: {},
+    detailData: {},
+    // 请核禁用
+    pleasereviewType: {
+      type: Boolean,
+      default: false
     },
-    data() {
-        return {
-            headers: { "Blade-Auth": "Bearer " + getToken() },
-            // 是否禁用
-            extendedDisabled: false,
-            // 装货港数据
-            polData: [],
-            // 附件配置
-            excelOption: {
-                submitBtn: false,
-                emptyBtn: false,
-                column: [
-                    {
-                        label: "模板下载",
-                        prop: "excelTemplate",
-                        formslot: true,
-                        span: 24
-                    },
-                    {
-                        label: "模板上传",
-                        prop: "excelFile",
-                        type: "upload",
-                        drag: true,
-                        loadText: "模板上传中,请稍等",
-                        span: 24,
-                        propsHttp: {
-                            res: "data"
-                        },
-                        tip: "请上传 .xls,.xlsx 标准格式文件",
-                        action: "/api/blade-los/containers/importBoxNo"
-                    }
-                ]
-            },
-            excelForm: {},
-            excelLoading: false,
-            excelBox: false,
-
-            form: {},
-            query: {},
-            loading: false,
-            loadingButton: false,
-            // page: {
-            //   pageSize: 10,
-            //   currentPage: 1,
-            //   total: 0
-            // },
-            selectionList: [],
-            option: {
-                stripe: true,
-                height: '250',
-                calcHeight: 30,
-                tip: false,
-                searchShow: true,
-                searchMenuSpan: 6,
-                border: true,
-                index: true,
-                viewBtn: true,
-                selection: true,
-                dialogClickModal: false,
-                refreshBtn: false,
-                columnBtn: false,
-                menu: false,
-                summaryText: "合计",
-                showSummary: true,
-                sumColumnList: [
-                    {
-                        name: 'quantity',
-                        type: 'sum',
-                        decimals: 0
-                    },
-                    {
-                        name: 'grossWeight',
-                        type: 'sum',
-                        decimals: 3
-                    },
-                    {
-                        name: 'measurement',
-                        type: 'sum',
-                        decimals: 3
-                    },
-                    {
-                        name: 'tare',
-                        type: 'sum',
-                        decimals: 0
-                    },
-                    {
-                        name: 'vgmWeight',
-                        type: 'sum',
-                        decimals: 3
-                    }
-                ],
-                column: [
-                    {
-                        label: this.$t("sea118n.ctnrType"),
-                        prop: "cntrTypeCode",
-                        width: "100",
-                    },
-                    {
-                        label: this.$t("sea118n.ctnrNo"),
-                        prop: "cntrNo",
-                        width: "140",
-                        overHidden: true,
-                    },
-                    {
-                        label: this.$t("sea118n.sealNo"),
-                        prop: "sealNo",
-                        width: "140",
-                        overHidden: true,
-                    },
-                    {
-                        label: "HB/L NO",
-                        prop: "hblno",
-                        width: "140",
-                        overHidden: true,
-                    },
-                    {
-                        label:this.$t("sea118n.quantity"),
-                        prop: "quantity",
-                        width: "80",
-                    },
-                    {
-                        label: this.$t("sea118n.GW"),
-                        prop: "grossWeight",
-                        width: "120",
-                    },
-                    // {
-                    //     label: "净重(KGM)",
-                    //     prop: "netWeight",
-                    //     width: "120",
-                    // },
-                    {
-                        label: this.$t("sea118n.CBM"),
-                        prop: "measurement",
-                        width: "100",
-                    },
-                    {
-                        label: this.$t("sea118n.ctnrTare"),
-                        prop: "tare",
-                        width: "140",
-                        overHidden: true,
-                    },
-                    {
-                        label: "VGM(KGM)",
-                        prop: "vgmWeight",
-                        width: "140",
-                        overHidden: true,
-                    },
-                    {
-                        label: "remarks",
-                        prop: "remarks",
-                        type: 'textarea',
-                        width: 180,
-                        slot: true,
-                        minRows: 3,
-                        span: 24,
-                    },
-                    {
-                        label: "PODCY",
-                        prop: "podStationCname",
-                        width: "140",
-                    },
-                    // {
-                    //     label: "MARKS",
-                    //     prop: "marks",
-                    // },
-                ]
+    showLock: {
+      type: Boolean,
+      default: false
+    }
+  },
+  data() {
+    return {
+      headers: { "Blade-Auth": "Bearer " + getToken() },
+      // 是否禁用
+      extendedDisabled: false,
+      // 装货港数据
+      polData: [],
+      // 附件配置
+      excelOption: {
+        submitBtn: false,
+        emptyBtn: false,
+        column: [
+          {
+            label: "模板下载",
+            prop: "excelTemplate",
+            formslot: true,
+            span: 24
+          },
+          {
+            label: "模板上传",
+            prop: "excelFile",
+            type: "upload",
+            drag: true,
+            loadText: "模板上传中,请稍等",
+            span: 24,
+            propsHttp: {
+              res: "data"
             },
-            data: [],
-            luHaiTongData: [], // 提取请求到解析的数据
-            extractDialogvisible: false, // 提取请求到的数据展示
+            tip: "请上传 .xls,.xlsx 标准格式文件",
+            action: "/api/blade-los/containers/importBoxNo"
+          }
+        ]
+      },
+      excelForm: {},
+      excelLoading: false,
+      excelBox: false,
 
+      form: {},
+      query: {},
+      loading: false,
+      loadingButton: false,
+      // page: {
+      //   pageSize: 10,
+      //   currentPage: 1,
+      //   total: 0
+      // },
+      selectionList: [],
+      option: {
+        stripe: true,
+        height: "250",
+        calcHeight: 30,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        border: true,
+        index: true,
+        viewBtn: true,
+        selection: true,
+        dialogClickModal: false,
+        refreshBtn: false,
+        columnBtn: false,
+        menu: false,
+        summaryText: "合计",
+        showSummary: true,
+        sumColumnList: [
+          {
+            name: "quantity",
+            type: "sum",
+            decimals: 0
+          },
+          {
+            name: "grossWeight",
+            type: "sum",
+            decimals: 3
+          },
+          {
+            name: "measurement",
+            type: "sum",
+            decimals: 3
+          },
+          {
+            name: "tare",
+            type: "sum",
+            decimals: 0
+          },
+          {
+            name: "vgmWeight",
+            type: "sum",
+            decimals: 3
+          }
+        ],
+        column: [
+          {
+            label: this.$t("sea118n.ctnrType"),
+            prop: "cntrTypeCode",
+            width: "100"
+          },
+          {
+            label: this.$t("sea118n.ctnrNo"),
+            prop: "cntrNo",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: this.$t("sea118n.sealNo"),
+            prop: "sealNo",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: "HB/L NO",
+            prop: "hblno",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: this.$t("sea118n.quantity"),
+            prop: "quantity",
+            width: "80"
+          },
+          {
+            label: this.$t("sea118n.GW"),
+            prop: "grossWeight",
+            width: "120"
+          },
+          // {
+          //     label: "净重(KGM)",
+          //     prop: "netWeight",
+          //     width: "120",
+          // },
+          {
+            label: this.$t("sea118n.CBM"),
+            prop: "measurement",
+            width: "100"
+          },
+          {
+            label: this.$t("sea118n.ctnrTare"),
+            prop: "tare",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: "VGM(KGM)",
+            prop: "vgmWeight",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: "remarks",
+            prop: "remarks",
+            type: "textarea",
+            width: 180,
+            slot: true,
+            minRows: 3,
+            span: 24
+          },
+          {
+            label: "箱来源类型",
+            prop: "boxSrcType",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: "PODCY",
+            prop: "podStationCname",
+            width: "140"
+          },
+          {
+            label: "POLCY",
+            prop: "polCyCname",
+            width: "140",
+            overHidden: true
+          },
+          {
+            label: "podReturnDate",
+            prop: "podEmptyContainerReturnDate",
+            width: "160",
+            overHidden: true
+          }
+          // {
+          //     label: "MARKS",
+          //     prop: "marks",
+          // },
+        ]
+      },
+      data: [],
+      luHaiTongData: [], // 提取请求到解析的数据
+      extractDialogvisible: false // 提取请求到的数据展示
+    };
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.containers_add, false),
+        viewBtn: this.vaildData(this.permission.containers_view, false),
+        delBtn: this.vaildData(this.permission.containers_delete, false),
+        editBtn: this.vaildData(this.permission.containers_edit, false)
+      };
+    },
+    ids() {
+      let ids = [];
+      this.selectionList.forEach(ele => {
+        ids.push(ele.id);
+      });
+      return ids.join(",");
+    }
+  },
+  created() {},
+  methods: {
+    outExport() {
+      this.$confirm("是否导出当前所有数据?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        let queryParams = {};
+        queryParams = {
+          pid: this.assemblyForm.id
         };
+        const routeData = this.$router.resolve({
+          path: "/api/blade-los/containers/exportContainersList", //跳转目标窗口的地址
+          query: {
+            "Blade-Auth": getToken(),
+            ...queryParams //括号内是要传递给新窗口的参数
+          }
+        });
+        window.open(routeData.href.slice(1, routeData.href.length));
+      });
     },
-    computed: {
-        ...mapGetters(["permission"]),
-        permissionList() {
-            return {
-                addBtn: this.vaildData(this.permission.containers_add, false),
-                viewBtn: this.vaildData(this.permission.containers_view, false),
-                delBtn: this.vaildData(this.permission.containers_delete, false),
-                editBtn: this.vaildData(this.permission.containers_edit, false)
-            };
-        },
-        ids() {
-            let ids = [];
-            this.selectionList.forEach(ele => {
-                ids.push(ele.id);
-            });
-            return ids.join(",");
+    computeChange(row) {
+      row.vgmWeight = Number(Number(row.grossWeight ? row.grossWeight : 0) + Number(row.tare ? row.tare : 0)).toFixed(3);
+    },
+    rowDicChange(name, row, el) {
+      if (name == "podStationCname") {
+        if (row) {
+          el.podStationId = row.id;
+          el.podStationCode = row.code;
+          el.podStationEname = row.enName;
+        } else {
+          el.podStationId = null;
+          el.podStationCode = null;
+          el.podStationEname = null;
+          el.podStationCname = null;
+        }
+      }
+      if (name == "polCyCname") {
+        if (row) {
+          el.polCyId = row.id;
+          el.polCyCode = row.code;
+          el.polCyEname = row.enName;
+        } else {
+          el.polCyId = null;
+          el.polCyCode = null;
+          el.polCyCname = null;
+          el.polCyEname = null;
         }
+      }
     },
-    created() { },
-    methods: {
-        outExport() {
-            this.$confirm("是否导出当前所有数据?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                let queryParams = {};
-                queryParams = {
-                  pid:this.assemblyForm.id
-                };
-                const routeData = this.$router.resolve({
-                    path: "/api/blade-los/containers/exportContainersList", //跳转目标窗口的地址
-                    query: {
-                        "Blade-Auth": getToken(),
-                        ...queryParams //括号内是要传递给新窗口的参数
-                    }
-                });
-                window.open(routeData.href.slice(1, routeData.href.length));
-            });
-        },
-        computeChange(row) {
-            row.vgmWeight = Number(Number(row.grossWeight ? row.grossWeight : 0) + Number(row.tare ? row.tare : 0)).toFixed(3)
-        },
-        rowDicChange(name, row, el) {
-            if (name == 'podStationCname') {
-                if (row) {
-                    el.podStationId = row.id
-                    el.podStationCode = row.code
-                    el.podStationEname = row.enName
-                } else {
-                    el.podStationId = null
-                    el.podStationCode = null
-                    el.podStationEname = null
-                    el.podStationCname = null
-                }
-            }
-        },
-        // 提取箱信息
-        extractBoxInformation() {
-            if (!this.assemblyForm.id) {
-                return this.$message.warning('请先保存数据')
-            }
-            if (!this.assemblyForm.mblno) {
-                return this.$message.warning('请先填写MB/L NO')
-            }
-            if (!this.assemblyForm.cyCode) {
-                return this.$message.warning('请先选择场站')
-            }
-            if (this.assemblyForm.containersList.length == 0) {
-                return this.$message.warning('请先进行配箱')
-            }
-            this.loadingButton = true
-            luHaiTongApiDetail({
-                billNo: this.assemblyForm.mblno,
-                station: this.assemblyForm.cyCode
-            }).then(res => {
-                this.loadingButton = false
-                this.luHaiTongData = decryptLhtData(JSON.parse(res.data.data).data)
-                console.log(this.luHaiTongData, 348)
-                if (this.luHaiTongData.containerCargoInfos.length == 0) {
-                    return this.$message.warning('提取到的数据为空')
-                }
-                this.extractDialogvisible = true
-            })
-        },
-        // 提取箱信息弹窗里的导入
-        extractDialogfun() {
-            // if (this.assemblyForm.containersList.length != this.luHaiTongData.containerCargoInfos.length) {
-            //     this.$confirm(`箱量不相等,委托数量为${this.assemblyForm.containersList.length},场站数量为${this.luHaiTongData.containerCargoInfos.length}?是否继续`, '提示', {
-            //         confirmButtonText: '确定',
-            //         cancelButtonText: '取消',
-            //         type: 'warning'
-            //     }).then(()=>{
-            //         this.extractionProcessing()
-            //     }).catch(()=>{
-            //         return
-            //     })
-            // }else {
-            //     this.extractionProcessing()
-            // }
-            this.extractionProcessing()
-        },
-        // 数据处理
-        extractionProcessing() {
-            let returnType = 0 // 判断是否需要合计
-            // 把请求到的箱号和封号赋值
-            this.luHaiTongData.containerCargoInfos.map((luHaiTongItem, luHaiTongIndex) => {
-                if (!this.assemblyForm.containersList[luHaiTongIndex].cyCntrCode) {
-                    return this.$message.warning('请先去基础资料集装箱里维护数据')
-                }
-                if ((luHaiTongItem.size + '' + luHaiTongItem.property) == this.assemblyForm.containersList[luHaiTongIndex].cyCntrCode) {
-                    this.assemblyForm.containersList[luHaiTongIndex].cntrNo = luHaiTongItem.containerNo
-                    this.assemblyForm.containersList[luHaiTongIndex].sealNo = luHaiTongItem.sealNo
-                    // 判断没有没有返厂时间,如果没有不合计前面的
-                    if (!luHaiTongItem.returnDate) {
-                        returnType++
-                    }
-                }
-            })
-            // 统计提取同一箱号的好件重尺合计赋值
-            let quantitySum = 0
-            let grossWeightSum = 0
-            let measurementSum = 0
-            this.assemblyForm.containersList.map((containersItem, containersIndex) => {
-                let numberSum = 0
-                let weightSum = 0
-                let volSum = 0
-                for (let loadingItem of this.luHaiTongData.loadingInfos) {
-                    if (loadingItem.containerNo == containersItem.cntrNo) {
-                        numberSum += loadingItem.number
-                        weightSum += loadingItem.weight
-                        volSum += loadingItem.vol
-                    }
+    // 提取箱信息
+    extractBoxInformation() {
+      if (!this.assemblyForm.id) {
+        return this.$message.warning("请先保存数据");
+      }
+      if (!this.assemblyForm.mblno) {
+        return this.$message.warning("请先填写MB/L NO");
+      }
+      if (!this.assemblyForm.cyCode) {
+        return this.$message.warning("请先选择场站");
+      }
+      if (this.assemblyForm.containersList.length == 0) {
+        return this.$message.warning("请先进行配箱");
+      }
+      this.loadingButton = true;
+      luHaiTongApiDetail({
+        billNo: this.assemblyForm.mblno,
+        station: this.assemblyForm.cyCode
+      }).then(res => {
+        this.loadingButton = false;
+        this.luHaiTongData = decryptLhtData(JSON.parse(res.data.data).data);
+        console.log(this.luHaiTongData, 348);
+        if (this.luHaiTongData.containerCargoInfos.length == 0) {
+          return this.$message.warning("提取到的数据为空");
+        }
+        this.extractDialogvisible = true;
+      });
+    },
+    // 提取箱信息弹窗里的导入
+    extractDialogfun() {
+      // if (this.assemblyForm.containersList.length != this.luHaiTongData.containerCargoInfos.length) {
+      //     this.$confirm(`箱量不相等,委托数量为${this.assemblyForm.containersList.length},场站数量为${this.luHaiTongData.containerCargoInfos.length}?是否继续`, '提示', {
+      //         confirmButtonText: '确定',
+      //         cancelButtonText: '取消',
+      //         type: 'warning'
+      //     }).then(()=>{
+      //         this.extractionProcessing()
+      //     }).catch(()=>{
+      //         return
+      //     })
+      // }else {
+      //     this.extractionProcessing()
+      // }
+      this.extractionProcessing();
+    },
+    // 数据处理
+    extractionProcessing() {
+      let returnType = 0; // 判断是否需要合计
+      // 把请求到的箱号和封号赋值
+      this.luHaiTongData.containerCargoInfos.map((luHaiTongItem, luHaiTongIndex) => {
+        if (!this.assemblyForm.containersList[luHaiTongIndex].cyCntrCode) {
+          return this.$message.warning("请先去基础资料集装箱里维护数据");
+        }
+        if (luHaiTongItem.size + "" + luHaiTongItem.property == this.assemblyForm.containersList[luHaiTongIndex].cyCntrCode) {
+          this.assemblyForm.containersList[luHaiTongIndex].cntrNo = luHaiTongItem.containerNo;
+          this.assemblyForm.containersList[luHaiTongIndex].sealNo = luHaiTongItem.sealNo;
+          // 判断没有没有返厂时间,如果没有不合计前面的
+          if (!luHaiTongItem.returnDate) {
+            returnType++;
+          }
+        }
+      });
+      // 统计提取同一箱号的好件重尺合计赋值
+      let quantitySum = 0;
+      let grossWeightSum = 0;
+      let measurementSum = 0;
+      this.assemblyForm.containersList.map((containersItem, containersIndex) => {
+        let numberSum = 0;
+        let weightSum = 0;
+        let volSum = 0;
+        for (let loadingItem of this.luHaiTongData.loadingInfos) {
+          if (loadingItem.containerNo == containersItem.cntrNo) {
+            numberSum += loadingItem.number;
+            weightSum += loadingItem.weight;
+            volSum += loadingItem.vol;
+          }
+        }
+        containersItem.quantity = numberSum;
+        containersItem.grossWeight = weightSum;
+        containersItem.measurement = volSum;
+        // 把件重尺进行合计判断主表件重尺是否相等
+        quantitySum += containersItem.quantity;
+        grossWeightSum += containersItem.grossWeight;
+        measurementSum += containersItem.measurement;
+      });
+      console.log(quantitySum, grossWeightSum, measurementSum, 366);
+      // 判断合计的件重尺是否等于朱标的件重尺
+      if (
+        this.assemblyForm.containersList.length == this.luHaiTongData.containerCargoInfos.length &&
+        this.assemblyForm.quantity == quantitySum &&
+        this.assemblyForm.grossWeight == grossWeightSum &&
+        this.assemblyForm.measurement == measurementSum
+      ) {
+        this.extractDialogvisible = false;
+        this.$emit("billsAddfun"); // 全都相等直接走大保存
+      } else {
+        this.$alert(
+          "<div>委托:箱数,件重尺 场站:箱数,件重尺不相等</div>" +
+            '<table border="1" width="100%">\n' +
+            "  <thead>\n" +
+            "    <tr>\n" +
+            "      <th></th>\n" +
+            "      <th>箱数</th>\n" +
+            "      <th>件数</th>\n" +
+            "      <th>毛重</th>\n" +
+            "      <th>尺码</th>\n" +
+            "    </tr>\n" +
+            "  </thead>\n" +
+            "  <tbody>\n" +
+            "    <tr>\n" +
+            "      <td>委托</td>\n" +
+            "      <td>" +
+            this.assemblyForm.containersList.length +
+            "</td>\n" +
+            "      <td>" +
+            this.assemblyForm.quantity +
+            "</td>\n" +
+            "      <td>" +
+            this.assemblyForm.grossWeight +
+            "</td>\n" +
+            "      <td>" +
+            this.assemblyForm.measurement +
+            "</td>\n" +
+            "    </tr>\n" +
+            "    <tr>\n" +
+            "      <td>场站</td>\n" +
+            "      <td>" +
+            this.luHaiTongData.containerCargoInfos.length +
+            "</td>\n" +
+            "      <td>" +
+            quantitySum +
+            "</td>\n" +
+            "      <td>" +
+            grossWeightSum +
+            "</td>\n" +
+            "      <td>" +
+            measurementSum +
+            "</td>\n" +
+            "    </tr>\n" +
+            "  </tbody>\n" +
+            "</table>",
+          "提示",
+          {
+            dangerouslyUseHTMLString: true,
+            confirmButtonText: "确定",
+            cancelButtonText: "关闭",
+            // showCancelButton:true,
+            type: "warning"
+          }
+        )
+          .then(() => {
+            console.log("确认");
+            // 箱数不等 不更新前面的
+            if (this.assemblyForm.containersList.length == this.luHaiTongData.containerCargoInfos.length) {
+              for (let item of this.assemblyForm.preContainersList) {
+                let pieceSum = 0;
+                let weightSum = 0;
+                let chiSum = 0;
+                for (let ite of this.assemblyForm.containersList) {
+                  if (item.cntrTypeCode == ite.cyCntrCode) {
+                    pieceSum += ite.quantity;
+                    weightSum += ite.grossWeight;
+                    chiSum += ite.measurement;
+                  }
                 }
-                containersItem.quantity = numberSum
-                containersItem.grossWeight = weightSum
-                containersItem.measurement = volSum
-                // 把件重尺进行合计判断主表件重尺是否相等
-                quantitySum += containersItem.quantity
-                grossWeightSum += containersItem.grossWeight
-                measurementSum += containersItem.measurement
-            })
-            console.log(quantitySum, grossWeightSum, measurementSum, 366)
-            // 判断合计的件重尺是否等于朱标的件重尺
-            if (this.assemblyForm.containersList.length == this.luHaiTongData.containerCargoInfos.length && this.assemblyForm.quantity == quantitySum && this.assemblyForm.grossWeight == grossWeightSum && this.assemblyForm.measurement == measurementSum) {
-                this.extractDialogvisible = false
-                this.$emit('billsAddfun') // 全都相等直接走大保存
+                item.number = pieceSum;
+                item.grossWeight = weightSum;
+                item.measurement = chiSum;
+              }
+              this.assemblyForm.quantity = quantitySum;
+              this.assemblyForm.grossWeight = grossWeightSum;
+              this.assemblyForm.measurement = measurementSum;
             } else {
-                this.$alert('<div>委托:箱数,件重尺 场站:箱数,件重尺不相等</div>' +
-                    '<table border="1" width="100%">\n' +
-                    '  <thead>\n' +
-                    '    <tr>\n' +
-                    '      <th></th>\n' +
-                    '      <th>箱数</th>\n' +
-                    '      <th>件数</th>\n' +
-                    '      <th>毛重</th>\n' +
-                    '      <th>尺码</th>\n' +
-                    '    </tr>\n' +
-                    '  </thead>\n' +
-                    '  <tbody>\n' +
-                    '    <tr>\n' +
-                    '      <td>委托</td>\n' +
-                    '      <td>' + this.assemblyForm.containersList.length + '</td>\n' +
-                    '      <td>' + this.assemblyForm.quantity + '</td>\n' +
-                    '      <td>' + this.assemblyForm.grossWeight + '</td>\n' +
-                    '      <td>' + this.assemblyForm.measurement + '</td>\n' +
-                    '    </tr>\n' +
-                    '    <tr>\n' +
-                    '      <td>场站</td>\n' +
-                    '      <td>' + this.luHaiTongData.containerCargoInfos.length + '</td>\n' +
-                    '      <td>' + quantitySum + '</td>\n' +
-                    '      <td>' + grossWeightSum + '</td>\n' +
-                    '      <td>' + measurementSum + '</td>\n' +
-                    '    </tr>\n' +
-                    '  </tbody>\n' +
-                    '</table>', '提示', {
-                    dangerouslyUseHTMLString: true,
-                    confirmButtonText: '确定',
-                    cancelButtonText: '关闭',
-                    // showCancelButton:true,
-                    type: 'warning'
-                }).then(() => {
-                    console.log('确认')
-                    // 箱数不等 不更新前面的
-                    if (this.assemblyForm.containersList.length == this.luHaiTongData.containerCargoInfos.length) {
-                        for (let item of this.assemblyForm.preContainersList) {
-                            let pieceSum = 0
-                            let weightSum = 0
-                            let chiSum = 0
-                            for (let ite of this.assemblyForm.containersList) {
-                                if (item.cntrTypeCode == ite.cyCntrCode) {
-                                    pieceSum += ite.quantity
-                                    weightSum += ite.grossWeight
-                                    chiSum += ite.measurement
-                                }
-                            }
-                            item.number = pieceSum
-                            item.grossWeight = weightSum
-                            item.measurement = chiSum
-                        }
-                        this.assemblyForm.quantity = quantitySum
-                        this.assemblyForm.grossWeight = grossWeightSum
-                        this.assemblyForm.measurement = measurementSum
-                    } else { }
-                    this.extractDialogvisible = false
-                    this.$emit('billsAddfun') // 全都相等直接走大保存
-                }).catch(() => {
-                    console.log('取消')
-                })
             }
-        },
-        // 输入自动大写
-        cntrNoInput(row, name) {
-            this.$set(row, name, row[name].toLocaleUpperCase().replace(/[\W]/g, ''))
-        },
-        verifyChange(row, name) {
-            if (row[name]) {
-                getAccurate({ accurate: row[name] }).then(res => {
-                    if (res.data.data.records.length == 0) {
-                        const regex = /^([a-zA-Z]{4})([0-9]{7})$/;
-                        if (regex.test(row[name])) {
-                            if (this.calculateCheckDigit(row[name]) == row[name][10]) {
-                                // this.$message.success('集装箱校验正确!')
-                            } else {
-                                this.$confirm(`<strong><p style='color:#F56C6C'>箱号:${row[name]},格式不正确,是否强制加入系统?</p ></strong>`, '提示', {
-                                    confirmButtonText: '确定',
-                                    cancelButtonText: '取消',
-                                    dangerouslyUseHTMLString:true,
-                                    type: 'warning'
-                            }).then(() => {
-                                    // this.$message({
-                                    //   type: 'success',
-                                    //   message: '删除成功!'
-                                    // });
-                                }).catch(() => {
-                                    this.$set(row, [name], null)
-                                });
-                            }
-                        } else {
-                            this.$confirm(`<strong><p style='color:#F56C6C'>箱号:${row[name]},格式不正确,是否强制加入系统?</p ></strong>`, '提示', {
-                                confirmButtonText: '确定',
-                                cancelButtonText: '取消',
-                                dangerouslyUseHTMLString:true,
-                                type: 'warning'
-                            }).then(() => {
-                                // this.$message({
-                                //   type: 'success',
-                                //   message: '删除成功!'
-                                // });
-                            }).catch(() => {
-                                this.$set(row, [name], null)
-                            });
-                        }
-                    }
-                })
-            }
-        },
-        calculateCheckDigit(containerNo) {
-            let charCode = "0123456789A?BCDEFGHIJK?LMNOPQRSTU?VWXYZ";
-            let num = 0;
-            for (let i = 0; i < 10; i++) {
-                let idx = charCode.indexOf(containerNo[i]);
-                idx = idx * Math.pow(2, i);
-                num += idx;
-            }
-            return num = (num % 11) % 10;
-        },
-        oepnexcelBox() {
-            if (!this.assemblyForm.id) {
-                this.$message({
-                    message: '请先点击右上角保存按钮,保存数据之后才能添加!',
-                    type: 'warning'
-                });
-                return
-            }
-            this.findObject(this.excelOption.column, "excelFile").action = "/api/blade-los/containers/importBoxNo?billId=" + this.assemblyForm.id
-            this.excelBox = true
-        },
-        uploadBefore(file, done, loading) {
-            681169
-            done();
-            loading = true;
-        },
-        // 上传成功
-        onSuccess(res, done, loading, column) {
-            this.excelBox = false;
-            // this.$message.success("导入成功!");
-            this.containersListfun()
-            loading = false;
-            done();
-        },
-        // 箱列表
-        containersListfun() {
-            containersList(1, 100, { pid: this.assemblyForm.id }).then(res => {
-                this.assemblyForm.containersList = res.data.data.records
-            })
-        },
-        equalDistribution2() {
-            if (!this.assemblyForm.id) {
-                this.$message({
-                    message: '请先点击右上角保存按钮,保存数据之后才能添加!',
-                    type: 'warning'
-                });
-                return
-            }
-            this.$confirm("是否确认配箱?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                distributionBox({ billId: this.assemblyForm.id }).then(res => {
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!"
-                    })
-                    this.$emit('billsDetailfun')
-                })
-            })
-
-        },
-        // 平均箱量
-        equalDistribution(type) {
-            if (!this.assemblyForm.id) {
-                this.$message({
-                    message: '请先点击右上角保存按钮,保存数据之后才能添加!',
-                    type: 'warning'
-                });
-                return
-            }
-            if (this.assemblyForm.waitingBoxList.length <= 0) {
-                this.$message({
-                    type: "warning",
-                    message: "请先添加集装箱数据!"
-                });
-                return
-            }
-            if (this.assemblyForm.preContainersList <= 0) {
-                this.$message({
-                    type: "warning",
-                    message: "请先添加箱型数据!"
-                });
-                return
-            }
-            this.$confirm("确定平均分配?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                this.containersEqualDistributionfun(type)
-            })
-
-        },
-        // 平均分配接口
-        containersEqualDistributionfun(type) {
-            containersEqualDistribution({
-                pid: this.assemblyForm.id,
-                type: type,
-                waitingBox: this.assemblyForm.waitingBoxList[0]
-            }).then(res => {
-                if (res.data.data instanceof Array) {
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!"
-                    })
-                    this.$emit('billsDetailfun')
-                } else {
-                    // 没有除开
-                    this.$message({
-                        type: 'warning',
-                        dangerouslyUseHTMLString: true,
-                        message: '<span style="color:red">注意!!!件数不能平均分 ,请手工配箱,或者修改件数.</span>\n' +
-                            '<table border="1">\n' +
-                            '  <thead>\n' +
-                            '    <tr>\n' +
-                            '      <th></th>\n' +
-                            '      <th>件数</th>\n' +
-                            '      <th>毛重</th>\n' +
-                            '      <th>尺码</th>\n' +
-                            '    </tr>\n' +
-                            '  </thead>\n' +
-                            '  <tbody>\n' +
-                            '    <tr>\n' +
-                            '      <td>总数</td>\n' +
-                            '      <td>' + res.data.data.total.quantity + '</td>\n' +
-                            '      <td>' + res.data.data.total.grossWeight + '</td>\n' +
-                            '      <td>' + res.data.data.total.grossWeight + '</td>\n' +
-                            '    </tr>\n' +
-                            '    <tr>\n' +
-                            '      <td>入箱</td>\n' +
-                            '      <td>' + res.data.data.average.quantity + '</td>\n' +
-                            '      <td>' + res.data.data.average.grossWeight + '</td>\n' +
-                            '      <td>' + res.data.data.average.grossWeight + '</td>\n' +
-                            '    </tr>\n' +
-                            '    <tr>\n' +
-                            '      <td>差额</td>\n' +
-                            '      <td>' + res.data.data.subtract.quantity + '</td>\n' +
-                            '      <td>' + res.data.data.subtract.grossWeight + '</td>\n' +
-                            '      <td>' + res.data.data.subtract.grossWeight + '</td>\n' +
-                            '    </tr>\n' +
-                            '  </tbody>\n' +
-                            '</table>',
-                        duration: 5000
-                    });
-
-                }
-
-            })
-        },
-        // 下载模板
-        handleGet() {
-            window.open(
-                `/api/blade-los/containers/exportContainers?${this.website.tokenHeader
-                }=${getToken()}&pid=${this.assemblyForm.id}`
-            );
-        },
-        // 查询件数是否为零
-        numberfalsefun() {
-            if (!this.assemblyForm.containersList) {
-                return false
-            }
-            for (let item of this.assemblyForm.containersList) {
-                if (Number(item.quantity) >= 0) {
-                    return true
-                } else {
-                    return false
-                }
-            }
-        },
-        // // 平均分配
-        // equalDistribution() {
-        //     if (this.assemblyForm.waitingBoxList.length <= 0) {
-        //         this.$message({
-        //             type: "warning",
-        //             message: "请先添加集装箱数据!"
-        //         });
-        //         return
-        //     }
-        //     this.$confirm("确定平均分配?", {
-        //         confirmButtonText: "确定",
-        //         cancelButtonText: "取消",
-        //         type: "warning"
-        //     }).then(() => {
-        //         this.$emit('equalDistribution')
-        //     })
-        // },
-        // 一键编辑
-        rootEditfun() {
-            for (let item of this.assemblyForm.containersList) {
-                this.$delete(item, 'edit')
-                this.$set(item, 'edit', true)
-            }
-        },
-        // 编辑
-        rowCellfun(row, index) {
-            this.$delete(row, 'edit')
-            this.$set(row, 'edit', true)
-        },
-        // 保存
-        rowSavefun(row) {
-            this.$delete(row, 'edit')
-            this.$set(row, 'edit', false)
-            this.$emit('rowSavefun', row)
-        },
-        // 清除箱号
-        cleanCntrNofun() {
-            this.$confirm("确定将数据清除全部箱号?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                let arr = this.assemblyForm.containersList.map(item => {
-                    return item.id
-                })
-                // 清除箱号接口
-                containersCleanBoxNo(arr.join(',')).then(res => {
-                    this.$message({
-                        type: "success",
-                        message: "清除箱号成功!"
-                    });
-                    this.$emit('billsDetailfun')
-                })
-            })
-        },
-        // 全部撤销
-        wholeRevokefun() {
-            this.$confirm("确定将数据撤销全部?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                let arr = this.assemblyForm.containersList.map(item => {
-                    return item.id
-                })
-                containersRevoke(arr.join(',')).then(res => {
-                    this.$message({
-                        type: "success",
-                        message: "全部撤销成功!"
-                    });
-                    this.$emit('billsDetailfun')
-                })
-            })
-        },
-        // 撤销
-        revokefun() {
-            if (this.selectionList.length > 0) {
-                containersRevoke(this.selectionList[0].id).then(res => {
-                    this.$message({
-                        type: "success",
-                        message: "撤销成功!"
-                    });
-                    this.$emit('billsDetailfun')
+            this.extractDialogvisible = false;
+            this.$emit("billsAddfun"); // 全都相等直接走大保存
+          })
+          .catch(() => {
+            console.log("取消");
+          });
+      }
+    },
+    // 输入自动大写
+    cntrNoInput(row, name) {
+      this.$set(row, name, row[name].toLocaleUpperCase().replace(/[\W]/g, ""));
+    },
+    verifyChange(row, name) {
+      if (row[name]) {
+        getAccurate({ accurate: row[name] }).then(res => {
+          if (res.data.data.records.length == 0) {
+            const regex = /^([a-zA-Z]{4})([0-9]{7})$/;
+            if (regex.test(row[name])) {
+              if (this.calculateCheckDigit(row[name]) == row[name][10]) {
+                // this.$message.success('集装箱校验正确!')
+              } else {
+                this.$confirm(`<strong><p style='color:#F56C6C'>箱号:${row[name]},格式不正确,是否强制加入系统?</p ></strong>`, "提示", {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  dangerouslyUseHTMLString: true,
+                  type: "warning"
                 })
+                  .then(() => {
+                    // this.$message({
+                    //   type: 'success',
+                    //   message: '删除成功!'
+                    // });
+                  })
+                  .catch(() => {
+                    this.$set(row, [name], null);
+                  });
+              }
             } else {
-                this.$message({
-                    type: "warning",
-                    message: "请选选择要撤销的数据!"
-                });
-            }
-        },
-        // 配箱批量保存
-        containersSubmitListfun() {
-            if (!this.assemblyForm.id) {
-                this.$message.warning('请先大保存')
-                return
-            }
-            this.$confirm("确定全部保存配箱?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                containersSubmitList(this.assemblyForm.containersList).then(res => {
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!"
-                    });
-                    this.$emit('billsDetailfun')
-                })
-            })
-        },
-
-        rowSave(row, done, loading) {
-            containersSubmit(row).then(() => {
-                // this.onLoad(this.page);
-                this.$message({
-                    type: "success",
-                    message: "操作成功!"
-                });
-                done();
-            }, error => {
-                loading();
-                window.console.log(error);
-            });
-        },
-        rowUpdate(row, index, done, loading) {
-            containersSubmit(row).then(() => {
-                // this.onLoad(this.page);
-                this.$message({
-                    type: "success",
-                    message: "操作成功!"
-                });
-                done();
-            }, error => {
-                loading();
-                console.log(error);
-            });
-        },
-        // 删除
-        rowDel(row) {
-            this.$confirm("确定将选择数据删除?", {
+              this.$confirm(`<strong><p style='color:#F56C6C'>箱号:${row[name]},格式不正确,是否强制加入系统?</p ></strong>`, "提示", {
                 confirmButtonText: "确定",
                 cancelButtonText: "取消",
+                dangerouslyUseHTMLString: true,
                 type: "warning"
-            })
-                .then(() => {
-                    return containersRemove(row.id);
-                })
+              })
                 .then(() => {
-                    // this.onLoad(this.page);
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!"
-                    });
-                    this.$emit('billsDetailfun')
-                });
-        },
-        // 一键删除
-        handleDelete() {
-            for (let item of this.assemblyForm.containersList) {
-                if (item.quantity > 0) return this.$message.error('请先撤销,再删除配箱')
-            }
-            this.$confirm("确定将全部数据删除?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                let arrids = this.assemblyForm.containersList.map(item => {
-                    return item.id
+                  // this.$message({
+                  //   type: 'success',
+                  //   message: '删除成功!'
+                  // });
                 })
-                containersRemove(arrids.join(',')).then(() => {
-                    // this.onLoad(this.page);
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!"
-                    });
-                    this.$emit('billsDetailfun')
-                    this.$refs.crud.toggleSelection();
-                });
-            })
-        },
-        beforeOpen(done, type) {
-            if (["edit", "view"].includes(type)) {
-                containersDetail(this.form.id).then(res => {
-                    this.form = res.data.data;
+                .catch(() => {
+                  this.$set(row, [name], null);
                 });
             }
-            done();
-        },
-        // 当选择项发生变化时会触发该事件
-        selectionChange(list) {
-            let arr = []
-            if (list.length > 1) {
-                this.$refs.crud.toggleSelection() // 先清空所以选择的数据
-                arr = [list[list.length - 1]] // 获取最新点击的数组
-                this.$refs.crud.toggleSelection(arr, true) // 把刚点击的数组变成选择状态
-            } else {
-                arr = list
-            }
-            this.selectionList = arr
-            this.$emit('selectionChange', this.selectionList)
-        },
-        inPitch() {
-            this.$refs.crud.toggleRowSelection(this.assemblyForm.containersList[0], true);
-        },
-        selectionClear() {
-            this.selectionList = [];
-            this.$refs.crud.toggleSelection();
-        },
-        refreshChange() {
-            console.log('刷新')
-            // this.onLoad(this.page, this.query);
+          }
+        });
+      }
+    },
+    calculateCheckDigit(containerNo) {
+      let charCode = "0123456789A?BCDEFGHIJK?LMNOPQRSTU?VWXYZ";
+      let num = 0;
+      for (let i = 0; i < 10; i++) {
+        let idx = charCode.indexOf(containerNo[i]);
+        idx = idx * Math.pow(2, i);
+        num += idx;
+      }
+      return (num = (num % 11) % 10);
+    },
+    oepnexcelBox() {
+      if (!this.assemblyForm.id) {
+        this.$message({
+          message: "请先点击右上角保存按钮,保存数据之后才能添加!",
+          type: "warning"
+        });
+        return;
+      }
+      this.findObject(this.excelOption.column, "excelFile").action = "/api/blade-los/containers/importBoxNo?billId=" + this.assemblyForm.id;
+      this.excelBox = true;
+    },
+    uploadBefore(file, done, loading) {
+      681169;
+      done();
+      loading = true;
+    },
+    // 上传成功
+    onSuccess(res, done, loading, column) {
+      this.excelBox = false;
+      // this.$message.success("导入成功!");
+      this.containersListfun();
+      loading = false;
+      done();
+    },
+    // 箱列表
+    containersListfun() {
+      containersList(1, 100, { pid: this.assemblyForm.id }).then(res => {
+        this.assemblyForm.containersList = res.data.data.records;
+      });
+    },
+    equalDistribution2() {
+      if (!this.assemblyForm.id) {
+        this.$message({
+          message: "请先点击右上角保存按钮,保存数据之后才能添加!",
+          type: "warning"
+        });
+        return;
+      }
+      this.$confirm("是否确认配箱?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        distributionBox({ billId: this.assemblyForm.id }).then(res => {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.$emit("billsDetailfun");
+        });
+      });
+    },
+    // 平均箱量
+    equalDistribution(type) {
+      if (!this.assemblyForm.id) {
+        this.$message({
+          message: "请先点击右上角保存按钮,保存数据之后才能添加!",
+          type: "warning"
+        });
+        return;
+      }
+      if (this.assemblyForm.waitingBoxList.length <= 0) {
+        this.$message({
+          type: "warning",
+          message: "请先添加集装箱数据!"
+        });
+        return;
+      }
+      if (this.assemblyForm.preContainersList <= 0) {
+        this.$message({
+          type: "warning",
+          message: "请先添加箱型数据!"
+        });
+        return;
+      }
+      this.$confirm("确定平均分配?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        this.containersEqualDistributionfun(type);
+      });
+    },
+    // 平均分配接口
+    containersEqualDistributionfun(type) {
+      containersEqualDistribution({
+        pid: this.assemblyForm.id,
+        type: type,
+        waitingBox: this.assemblyForm.waitingBoxList[0]
+      }).then(res => {
+        if (res.data.data instanceof Array) {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.$emit("billsDetailfun");
+        } else {
+          // 没有除开
+          this.$message({
+            type: "warning",
+            dangerouslyUseHTMLString: true,
+            message:
+              '<span style="color:red">注意!!!件数不能平均分 ,请手工配箱,或者修改件数.</span>\n' +
+              '<table border="1">\n' +
+              "  <thead>\n" +
+              "    <tr>\n" +
+              "      <th></th>\n" +
+              "      <th>件数</th>\n" +
+              "      <th>毛重</th>\n" +
+              "      <th>尺码</th>\n" +
+              "    </tr>\n" +
+              "  </thead>\n" +
+              "  <tbody>\n" +
+              "    <tr>\n" +
+              "      <td>总数</td>\n" +
+              "      <td>" +
+              res.data.data.total.quantity +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.total.grossWeight +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.total.grossWeight +
+              "</td>\n" +
+              "    </tr>\n" +
+              "    <tr>\n" +
+              "      <td>入箱</td>\n" +
+              "      <td>" +
+              res.data.data.average.quantity +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.average.grossWeight +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.average.grossWeight +
+              "</td>\n" +
+              "    </tr>\n" +
+              "    <tr>\n" +
+              "      <td>差额</td>\n" +
+              "      <td>" +
+              res.data.data.subtract.quantity +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.subtract.grossWeight +
+              "</td>\n" +
+              "      <td>" +
+              res.data.data.subtract.grossWeight +
+              "</td>\n" +
+              "    </tr>\n" +
+              "  </tbody>\n" +
+              "</table>",
+            duration: 5000
+          });
+        }
+      });
+    },
+    // 下载模板
+    handleGet() {
+      window.open(`/api/blade-los/containers/exportContainers?${this.website.tokenHeader}=${getToken()}&pid=${this.assemblyForm.id}`);
+    },
+    // 查询件数是否为零
+    numberfalsefun() {
+      if (!this.assemblyForm.containersList) {
+        return false;
+      }
+      for (let item of this.assemblyForm.containersList) {
+        if (Number(item.quantity) >= 0) {
+          return true;
+        } else {
+          return false;
+        }
+      }
+    },
+    // // 平均分配
+    // equalDistribution() {
+    //     if (this.assemblyForm.waitingBoxList.length <= 0) {
+    //         this.$message({
+    //             type: "warning",
+    //             message: "请先添加集装箱数据!"
+    //         });
+    //         return
+    //     }
+    //     this.$confirm("确定平均分配?", {
+    //         confirmButtonText: "确定",
+    //         cancelButtonText: "取消",
+    //         type: "warning"
+    //     }).then(() => {
+    //         this.$emit('equalDistribution')
+    //     })
+    // },
+    // 一键编辑
+    rootEditfun() {
+      for (let item of this.assemblyForm.containersList) {
+        this.$delete(item, "edit");
+        this.$set(item, "edit", true);
+      }
+    },
+    // 编辑
+    rowCellfun(row, index) {
+      this.$delete(row, "edit");
+      this.$set(row, "edit", true);
+    },
+    // 保存
+    rowSavefun(row) {
+      this.$delete(row, "edit");
+      this.$set(row, "edit", false);
+      this.$emit("rowSavefun", row);
+    },
+    // 清除箱号
+    cleanCntrNofun() {
+      this.$confirm("确定将数据清除全部箱号?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        let arr = this.assemblyForm.containersList.map(item => {
+          return item.id;
+        });
+        // 清除箱号接口
+        containersCleanBoxNo(arr.join(",")).then(res => {
+          this.$message({
+            type: "success",
+            message: "清除箱号成功!"
+          });
+          this.$emit("billsDetailfun");
+        });
+      });
+    },
+    // 全部撤销
+    wholeRevokefun() {
+      this.$confirm("确定将数据撤销全部?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        let arr = this.assemblyForm.containersList.map(item => {
+          return item.id;
+        });
+        containersRevoke(arr.join(",")).then(res => {
+          this.$message({
+            type: "success",
+            message: "全部撤销成功!"
+          });
+          this.$emit("billsDetailfun");
+        });
+      });
+    },
+    // 撤销
+    revokefun() {
+      if (this.selectionList.length > 0) {
+        containersRevoke(this.selectionList[0].id).then(res => {
+          this.$message({
+            type: "success",
+            message: "撤销成功!"
+          });
+          this.$emit("billsDetailfun");
+        });
+      } else {
+        this.$message({
+          type: "warning",
+          message: "请选选择要撤销的数据!"
+        });
+      }
+    },
+    // 配箱批量保存
+    containersSubmitListfun() {
+      if (!this.assemblyForm.id) {
+        this.$message.warning("请先大保存");
+        return;
+      }
+      this.$confirm("确定全部保存配箱?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        containersSubmitList(this.assemblyForm.containersList).then(res => {
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.$emit("billsDetailfun");
+        });
+      });
+    },
+
+    rowSave(row, done, loading) {
+      containersSubmit(row).then(
+        () => {
+          // this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          done();
         },
-        // onLoad(page, params = {}) {
-        //   this.loading = true;
-        //   containersList(page.currentPage, page.pageSize, {...Object.assign(params, this.query),pid:this.pid}).then(res => {
-        //     const data = res.data.data;
-        //     this.page.total = data.total;
-        //       this.data = data.records
-        //     this.loading = false;
-        //     this.selectionClear();
-        //   });
-        // }
-        // 更改表格颜色
-        headerClassName(tab) {
-            //颜色间隔
-            let back = ""
-            if (tab.columnIndex >= 0 && tab.column.level === 1) {
-                if (tab.columnIndex % 2 === 0) {
-                    back = "back-one"
-                } else if (tab.columnIndex % 2 === 1) {
-                    back = "back-two"
-                }
-            }
-            return back;
+        error => {
+          loading();
+          window.console.log(error);
+        }
+      );
+    },
+    rowUpdate(row, index, done, loading) {
+      containersSubmit(row).then(
+        () => {
+          // this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          done();
         },
-
+        error => {
+          loading();
+          console.log(error);
+        }
+      );
+    },
+    // 删除
+    rowDel(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          return containersRemove(row.id);
+        })
+        .then(() => {
+          // this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.$emit("billsDetailfun");
+        });
+    },
+    // 一键删除
+    handleDelete() {
+      for (let item of this.assemblyForm.containersList) {
+        if (item.quantity > 0) return this.$message.error("请先撤销,再删除配箱");
+      }
+      this.$confirm("确定将全部数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        let arrids = this.assemblyForm.containersList.map(item => {
+          return item.id;
+        });
+        containersRemove(arrids.join(",")).then(() => {
+          // this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          this.$emit("billsDetailfun");
+          this.$refs.crud.toggleSelection();
+        });
+      });
+    },
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        containersDetail(this.form.id).then(res => {
+          this.form = res.data.data;
+        });
+      }
+      done();
+    },
+    // 当选择项发生变化时会触发该事件
+    selectionChange(list) {
+      let arr = [];
+      if (list.length > 1) {
+        this.$refs.crud.toggleSelection(); // 先清空所以选择的数据
+        arr = [list[list.length - 1]]; // 获取最新点击的数组
+        this.$refs.crud.toggleSelection(arr, true); // 把刚点击的数组变成选择状态
+      } else {
+        arr = list;
+      }
+      this.selectionList = arr;
+      this.$emit("selectionChange", this.selectionList);
+    },
+    inPitch() {
+      this.$refs.crud.toggleRowSelection(this.assemblyForm.containersList[0], true);
+    },
+    selectionClear() {
+      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
+    },
+    refreshChange() {
+      console.log("刷新");
+      // this.onLoad(this.page, this.query);
+    },
+    // onLoad(page, params = {}) {
+    //   this.loading = true;
+    //   containersList(page.currentPage, page.pageSize, {...Object.assign(params, this.query),pid:this.pid}).then(res => {
+    //     const data = res.data.data;
+    //     this.page.total = data.total;
+    //       this.data = data.records
+    //     this.loading = false;
+    //     this.selectionClear();
+    //   });
+    // }
+    // 更改表格颜色
+    headerClassName(tab) {
+      //颜色间隔
+      let back = "";
+      if (tab.columnIndex >= 0 && tab.column.level === 1) {
+        if (tab.columnIndex % 2 === 0) {
+          back = "back-one";
+        } else if (tab.columnIndex % 2 === 1) {
+          back = "back-two";
+        }
+      }
+      return back;
     }
+  }
 };
 </script>
 
 <style scoped>
 ::v-deep#out-table .back-one {
-    background: #ecf5ff !important;
-    text-align: center;
-    padding: 4px 0;
+  background: #ecf5ff !important;
+  text-align: center;
+  padding: 4px 0;
 }
 
 ::v-deep#out-table .back-two {
-    background: #ecf5ff !important;
-    text-align: center;
-    padding: 4px 0;
+  background: #ecf5ff !important;
+  text-align: center;
+  padding: 4px 0;
 }
 </style>

+ 134 - 72
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -103,10 +103,13 @@
             :disabled="
               !selectionDList.length ||
                 disabled ||
-                (assemblyForm.id && (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0)))
+                (assemblyForm.id &&
+                  assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="batchDelete('D')"
-            > {{ $t("btn118n.deleted") }}
+          >
+            {{ $t("btn118n.deleted") }}
           </el-button>
           <!-- <el-button v-if="isFeeEditD" type="success" plain size="small"
                         :disabled="!selectionDList.length || disabled || pleasereviewType"
@@ -145,7 +148,8 @@
             :disabled="
               disabled ||
                 selectionDList.length == 0 ||
-                (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('D费用申请')"
             >{{ $t("btn118n.applyFee") }}</el-button
@@ -157,7 +161,8 @@
             :disabled="
               disabled ||
                 selectionDList.length == 0 ||
-                (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('D撤销请核')"
             >{{ $t("btn118n.unApplyFee") }}</el-button
@@ -169,7 +174,8 @@
             :disabled="
               selectionDList.length != 1 ||
                 disabled ||
-                (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('D申请修改')"
             >{{ $t("btn118n.applyModify") }}</el-button
@@ -181,7 +187,8 @@
             :disabled="
               selectionDList.length != 1 ||
                 disabled ||
-                (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('D申请删除')"
             >{{ $t("btn118n.applyDelete") }}</el-button
@@ -193,7 +200,8 @@
             :disabled="
               selectionDList.length != 1 ||
                 disabled ||
-                (assemblyForm.id && !(selectionDList.filter(e => e.createUser==0||e.createUser == userId).length>0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionDList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('D取消申请')"
             >{{ $t("btn118n.unAplly") }}</el-button
@@ -445,7 +453,8 @@
             :disabled="
               !selectionCList.length ||
                 disabled ||
-                (assemblyForm.id && !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="batchDelete('C')"
             >{{ $t("btn118n.deleted") }}
@@ -487,7 +496,8 @@
             :disabled="
               disabled ||
                 selectionCList.length == 0 ||
-                (assemblyForm.id && !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('C费用申请')"
             >{{ $t("btn118n.applyFee") }}</el-button
@@ -499,7 +509,8 @@
             :disabled="
               disabled ||
                 selectionCList.length == 0 ||
-                (assemblyForm.id && !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('C撤销请核')"
             >{{ $t("btn118n.unApplyFee") }}</el-button
@@ -513,7 +524,8 @@
             :disabled="
               selectionCList.length != 1 ||
                 disabled ||
-                (assemblyForm.id && !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('C申请修改')"
             >{{ $t("btn118n.applyModify") }}</el-button
@@ -525,7 +537,8 @@
             :disabled="
               selectionCList.length != 1 ||
                 disabled ||
-                (assemblyForm.id && !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('C申请删除')"
             >{{ $t("btn118n.applyDelete") }}</el-button
@@ -537,7 +550,8 @@
             :disabled="
               selectionCList.length != 1 ||
                 disabled ||
-                (assemblyForm.id && !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0||roleName.indexOf('允许修改他人费用') >= 0))
+                (assemblyForm.id &&
+                  !(selectionCList.filter(e => e.createUser == 0 || e.createUser == userId).length > 0 || roleName.indexOf('允许修改他人费用') >= 0))
             "
             @click="allClick('C取消申请')"
             >{{ $t("btn118n.unAplly") }}</el-button
@@ -736,7 +750,7 @@
           <span v-else>{{ row.remarks }}</span>
         </template>
         <template slot="trackingNumber" slot-scope="{ row }">
-          <el-input v-if="row.edit&&row.feeCnName=='快递费'" v-model="row.trackingNumber" size="small" placeholder="请输入"></el-input>
+          <el-input v-if="row.edit && row.feeCnName == '快递费'" v-model="row.trackingNumber" size="small" placeholder="请输入"></el-input>
           <span v-else>{{ row.trackingNumber }}</span>
         </template>
         <template slot-scope="{ row, index }" slot="menu">
@@ -2046,14 +2060,6 @@ export default {
           name: "MBLNO",
           value: "mblno"
         },
-        // {
-        //     name:'booking NO',
-        //     value:'bookingNo',
-        // },
-        // {
-        //     name:'REF MBLNO',
-        //     value:'refno',
-        // },
         {
           name: "船名(VSL)",
           value: "vesselCnName"
@@ -2073,12 +2079,6 @@ export default {
         {
           name: "卸货港",
           value: "podCnName"
-          // 判断条件,多条件,只支持 or
-          // vif: [{
-          //     name: 'carrierId',
-          //     value: 11207, // ONE 海洋网联船务(中国)有限公司
-          //     op: '!=',
-          // }],
         },
         {
           name: "交货地",
@@ -2099,10 +2099,59 @@ export default {
           name: "承运人",
           value: "carrierCnName"
         },
-        // {
-        //     name:'场站',
-        //     value:'cyCnName',
-        // },
+        {
+          name: "所属团队",
+          value: "teamId"
+        }
+      ],
+      messageData2: [
+        {
+          name: "客户",
+          value: "corpCnName"
+        },
+        {
+          name: "业务来源",
+          value: "srcType"
+        },
+        {
+          name: "船名(VSL)",
+          value: "vesselCnName"
+        },
+        {
+          name: "航次(VOY)",
+          value: "voyageNo"
+        },
+        {
+          name: "ETD",
+          value: "etd"
+        },
+        {
+          name: "装货港",
+          value: "polCnName"
+        },
+        {
+          name: "卸货港",
+          value: "podCnName"
+        },
+        {
+          name: "交货地",
+          value: "placeDeliveryId",
+          vif: [
+            {
+              name: "carrierId",
+              value: 11207, // ONE 海洋网联船务(中国)有限公司
+              op: "=="
+            }
+          ]
+        },
+        {
+          name: "包装单位",
+          value: "packingUnit"
+        },
+        {
+          name: "承运人",
+          value: "carrierCnName"
+        },
         {
           name: "所属团队",
           value: "teamId"
@@ -2137,11 +2186,19 @@ export default {
     this.roleName = localStorage.getItem("roleName").split(","); // 获取角色数据
     console.log("roleName", this.roleName);
     this.isAdmin = this.roleName.indexOf("admin") >= 0;
-    this.isFeeViewD = this.isAdmin || this.roleName.indexOf("应收查看") >= 0 || this.roleName.indexOf("国外费用") >= 0||this.roleName.indexOf("允许修改他人费用") >= 0;
-    this.isFeeViewC = this.isAdmin || this.roleName.indexOf("应付查看") >= 0 || this.roleName.indexOf("国外费用") >= 0||this.roleName.indexOf("允许修改他人费用") >= 0;
+    this.isFeeViewD =
+      this.isAdmin ||
+      this.roleName.indexOf("应收查看") >= 0 ||
+      this.roleName.indexOf("国外费用") >= 0 ||
+      this.roleName.indexOf("允许修改他人费用") >= 0;
+    this.isFeeViewC =
+      this.isAdmin ||
+      this.roleName.indexOf("应付查看") >= 0 ||
+      this.roleName.indexOf("国外费用") >= 0 ||
+      this.roleName.indexOf("允许修改他人费用") >= 0;
     this.isFeeView = this.isAdmin || this.isFeeViewD || this.isFeeViewC;
-    this.isFeeEditD = this.isAdmin || (this.isFeeViewD && this.roleName.indexOf("应收修改") >= 0)||this.roleName.indexOf("允许修改他人费用") >= 0;
-    this.isFeeEditC = this.isAdmin || (this.isFeeViewC && this.roleName.indexOf("应付修改") >= 0)||this.roleName.indexOf("允许修改他人费用") >= 0;
+    this.isFeeEditD = this.isAdmin || (this.isFeeViewD && this.roleName.indexOf("应收修改") >= 0) || this.roleName.indexOf("允许修改他人费用") >= 0;
+    this.isFeeEditC = this.isAdmin || (this.isFeeViewC && this.roleName.indexOf("应付修改") >= 0) || this.roleName.indexOf("允许修改他人费用") >= 0;
     this.isFeeEdit = this.isAdmin || this.isFeeEditD || this.isFeeEditC;
     this.isProfitView = this.isAdmin || this.roleName.indexOf("利润查看") >= 0;
 
@@ -2571,8 +2628,6 @@ export default {
           cancelButtonText: "取消",
           type: "warning"
         });
-      }
-      if (popupReminder(this.assemblyForm, this.messageData)) {
         return;
       }
       this.dc = dc;
@@ -2608,15 +2663,12 @@ export default {
     // 应收新增
     async addDfun() {
       if (await this.saveLocalCurrency(this.assemblyForm.branchId)) {
-        // 判断数据需要的数据是否有 有就弹窗
         if (popupReminder(this.assemblyForm, this.messageData)) {
           this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
             confirmButtonText: "确定",
             cancelButtonText: "取消",
             type: "warning"
           });
-        }
-        if (popupReminder(this.assemblyForm, this.messageData)) {
           return;
         }
         // 如果是分单 判断是否有分单号
@@ -2629,10 +2681,6 @@ export default {
             return;
           }
         }
-        // 判断拷贝详情的数据是否要参数
-        if (popupReminder(this.copyFormData, this.messageData)) {
-          return this.$message.warning("请先点击右上角保存按钮保存数据");
-        }
         let obj = {
           edit: true
         };
@@ -2716,8 +2764,6 @@ export default {
             cancelButtonText: "取消",
             type: "warning"
           });
-        }
-        if (popupReminder(this.assemblyForm, this.messageData)) {
           return;
         }
         // 如果是分单 判断是否有分单号
@@ -2730,10 +2776,6 @@ export default {
             return;
           }
         }
-        // 判断拷贝详情的数据是否要参数
-        if (popupReminder(this.copyFormData, this.messageData)) {
-          return this.$message.warning("请先点击右上角保存按钮保存数据");
-        }
         let obj = {
           edit: true
         };
@@ -2879,8 +2921,6 @@ export default {
           cancelButtonText: "取消",
           type: "warning"
         });
-      }
-      if (popupReminder(this.assemblyForm, this.messageData)) {
         return;
       }
       let selectionArr = [];
@@ -3537,7 +3577,7 @@ export default {
               this.$delete(item, "edit");
               this.$set(item, "edit", true);
             }
-            if (item.id && (item.createUser == this.userId || item.createUser == 0||this.roleName.indexOf("允许修改他人费用") >= 0)) {
+            if (item.id && (item.createUser == this.userId || item.createUser == 0 || this.roleName.indexOf("允许修改他人费用") >= 0)) {
               this.$delete(item, "edit");
               this.$set(item, "edit", true);
             }
@@ -3550,7 +3590,7 @@ export default {
               this.$delete(item, "edit");
               this.$set(item, "edit", true);
             }
-            if (item.id && (item.createUser == this.userId || item.createUser == 0||this.roleName.indexOf("允许修改他人费用") >= 0)) {
+            if (item.id && (item.createUser == this.userId || item.createUser == 0 || this.roleName.indexOf("允许修改他人费用") >= 0)) {
               this.$delete(item, "edit");
               this.$set(item, "edit", true);
             }
@@ -3604,7 +3644,9 @@ export default {
       }
       for (let item of this.assemblyForm.feeCenterListC) {
         if (!item.corpId || !item.feeId || !item.curCode) {
-          sum += `应付第${item.$index + 1}行${!item.corpId ? " 结算单位" : ""}${!item.feeId ? " 费用简称" : ""}${!item.curCode ? " 币种" : ""}${(item.feeCnName == "快递费"&&!item.trackingNumber)?" 快递费" : ""}`;
+          sum += `应付第${item.$index + 1}行${!item.corpId ? " 结算单位" : ""}${!item.feeId ? " 费用简称" : ""}${!item.curCode ? " 币种" : ""}${
+            item.feeCnName == "快递费" && !item.trackingNumber ? " 快递费" : ""
+          }`;
         }
       }
       if (sum != "请输入") {
@@ -3749,7 +3791,6 @@ export default {
         }
       }
       if (name == "D费用申请") {
-        // let selecList = [...this.selectionDList, ...this.selectionCList]
         if (popupReminder(this.assemblyForm, this.messageData)) {
           this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
             confirmButtonText: "确定",
@@ -3800,14 +3841,24 @@ export default {
         });
       }
       if (name == "D撤销请核") {
-        // let selecList = [...this.selectionDList, ...this.selectionCList]
-        if (popupReminder(this.assemblyForm, this.messageData)) {
-          this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning"
-          });
-          return;
+        if (this.assemblyForm.billType == "MH") {
+          if (popupReminder(this.assemblyForm, this.messageData2)) {
+            this.$confirm(popupReminder(this.assemblyForm, this.messageData2), {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            });
+            return;
+          }
+        } else {
+          if (popupReminder(this.assemblyForm, this.messageData)) {
+            this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            });
+            return;
+          }
         }
         for (let row of this.selectionDList) {
           if (!row.id) {
@@ -4021,13 +4072,24 @@ export default {
       }
       if (name == "C撤销请核") {
         // let selecList = [...this.selectionDList, ...this.selectionCList]
-        if (popupReminder(this.assemblyForm, this.messageData)) {
-          this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning"
-          });
-          return;
+        if (this.assemblyForm.billType == "MH") {
+          if (popupReminder(this.assemblyForm, this.messageData2)) {
+            this.$confirm(popupReminder(this.assemblyForm, this.messageData2), {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            });
+            return;
+          }
+        } else {
+          if (popupReminder(this.assemblyForm, this.messageData)) {
+            this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning"
+            });
+            return;
+          }
         }
         for (let row of this.selectionCList) {
           if (!row.id) {

+ 4 - 4
src/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/PurchaseNotice.vue

@@ -205,11 +205,11 @@
         </el-form-item>
       </el-col>
       <el-col :span="12">
-        <el-form-item label="PLACE OF STUFFING:" prop="placeOfStuffing"  label-width="130px">
+        <el-form-item label="PLACE OF STUFFING:" prop="placeOfStuffing2"  label-width="130px">
           <el-input
             type="age"
             style="width: 100%;"
-            v-model="documentForm.placeOfStuffing"
+            v-model="documentForm.placeOfStuffing2"
             size="small"
             autocomplete="off"
             clearable
@@ -233,11 +233,11 @@
         </el-form-item>
       </el-col>
       <el-col :span="12">
-        <el-form-item label="ADDRESS:" prop="address">
+        <el-form-item label="ADDRESS:" prop="address2">
           <el-input
             type="age"
             style="width: 100%;"
-            v-model="documentForm.address"
+            v-model="documentForm.address2"
             size="small"
             autocomplete="off"
             clearable

+ 3 - 2
src/views/iosBasicData/bports/portsTerms.vue

@@ -27,8 +27,8 @@
                             <el-form-item v-if="item.prop == 'addressCname'" :label="item.label" :prop="item.prop"
                                 :rules="item.rules">
                                 <dic-select v-model="form.addressCname" placeholder="场站" label="cnName"
-                                    url="/blade-los/bcorps/listAll?corpTypeName=场站" :filterable="true" :remote="true"
-                                    dataName="cnName" :multiple="true" :collapseTags="true" dataType="string"
+                                    url="/blade-los/bcorps/listAll?corpTypeName=场站" :filterable="true"
+                                    :multiple="true" :collapseTags="true" dataType="string"
                                     @selectChange="dicChange('addressCname', $event)"
                                     :disabled="item.disabled || detailData.seeDisabled"></dic-select>
                             </el-form-item>
@@ -358,6 +358,7 @@ export default {
     methods: {
         dicChange(name, row) {
             if (name == 'addressCname') {
+            console.log(row)
                 if (row) {
                     this.form.addressId = row.ids
                     this.form.addressCname = row.names

+ 43 - 12
src/views/iosBasicData/podStation/index.vue

@@ -46,6 +46,18 @@
                 @selectChange="dicChange('podStationCname', $event)"
               ></dic-select>
             </tempalte>
+            <tempalte slot="podCyContact">
+              <dic-select
+                :key="podForm.podStationId"
+                v-model="podForm.podCyContact"
+                placeholder="场站"
+                label="cname"
+                res="records"
+                :url="'/blade-los/bcorpsattn/list?pid=' + podForm.podStationId"
+                :filterable="true"
+                @selectChange="dicChange('podCyContact', $event)"
+              ></dic-select>
+            </tempalte>
           </avue-form>
         </span>
         <span slot="footer" class="dialog-footer">
@@ -62,6 +74,7 @@ import { getList, batchUpdatePodStation } from "@/api/iosBasicData/podStation.js
 import { defaultDate2 } from "@/util/date";
 import dicSelect from "@/components/dicSelect/main";
 import { getToken } from "@/util/auth";
+import { getBcorpsattnList } from "@/api/iosBasicData/bcorpsattn";
 export default {
   data() {
     return {
@@ -90,23 +103,16 @@ export default {
             type: "date",
             format: "yyyy-MM-dd",
             valueFormat: "yyyy-MM-dd 00:00:00",
-            span: 24,
-            rules: [
-              {
-                required: true,
-                message: " ",
-                trigger: "blur"
-              }
-            ]
+            span: 24
           },
           {
-            label: "目的港场站地址",
-            prop: "podCyAddress",
+            label: "目的港场站联系人",
+            prop: "podCyContact",
             disabled: false
           },
           {
-            label: "目的港场站联系人",
-            prop: "podCyContact",
+            label: "目的港场站地址",
+            prop: "podCyAddress",
             disabled: false
           },
           {
@@ -154,6 +160,7 @@ export default {
         searchIcon: true,
         align: "center",
         searchIndex: 3,
+        rowKey: "containersId",
         column: [
           {
             label: "客户",
@@ -358,11 +365,35 @@ export default {
           this.podForm.podStationId = row.id;
           this.podForm.podStationCode = row.code;
           this.podForm.podStationEname = row.enName;
+          getBcorpsattnList(1, 20, { pid: row.id }).then(res => {
+            if (res.data.data.records.length) {
+              this.podForm.podCyContact = res.data.data.records[0].cname;
+              this.podForm.podCyAddress = res.data.data.records[0].addr;
+              this.podForm.podCyEmail = res.data.data.records[0].email;
+              this.podForm.podCyTel = res.data.data.records[0].tel;
+            }
+          });
         } else {
           this.podForm.podStationId = null;
           this.podForm.podStationCode = null;
           this.podForm.podStationEname = null;
           this.podForm.podStationCname = null;
+          this.podForm.podCyContact = null;
+          this.podForm.podCyAddress = null;
+          this.podForm.podCyEmail = null;
+          this.podForm.podCyTel = null;
+        }
+      }
+      if (name == "podCyContact") {
+        if (row) {
+          this.podForm.podCyAddress = row.addr;
+          this.podForm.podCyEmail = row.email;
+          this.podForm.podCyTel = row.tel;
+        } else {
+          this.podForm.podCyContact = null;
+          this.podForm.podCyAddress = null;
+          this.podForm.podCyEmail = null;
+          this.podForm.podCyTel = null;
         }
       }
     },