Просмотр исходного кода

海运出口增加 MR CODE
ALTER TABLE LOS_SEA_BILLS ADD mr_code varchar(64)

wfg 2 недель назад
Родитель
Сommit
7b79e55c1b

Разница между файлами не показана из-за своего большого размера
+ 259 - 151
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue


+ 331 - 238
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -383,6 +383,7 @@
           "
         >
           <feecenter
+            ref="feecenter"
             :assemblyForm="form"
             :copyFormData="copyFormData"
             :detailData="detailData"
@@ -471,6 +472,9 @@
       width="30%"
     >
       <span>该 EDI 已经发送过,本次发送将以更改的功能发送,您可以选择合适的功能!</span>
+      <br />
+      <br />
+      <div v-html="ediFilesFunctionMsg"></div>
       <div class="avue-dialog__footer">
         <el-button type="success" size="small" @click="sendEdiFilesFunction('update')">以更改功能发送</el-button>
         <el-button type="warning" size="small" @click="sendEdiFilesFunction('add')">以原始功能发送</el-button>
@@ -479,6 +483,24 @@
     </el-dialog>
 
     <el-dialog
+      title="EDI 发送确认"
+      append-to-body
+      v-dialogDrag
+      :visible.sync="ediFilesConfirm"
+      class="avue-dialog avue-dialog--top"
+      width="30%"
+    >
+      <span>请确认是否继续发送 EDI!</span>
+      <br />
+      <br />
+      <div v-html="ediFilesFunctionMsg"></div>
+      <div class="avue-dialog__footer">
+        <el-button type="success" size="small" @click="sendEdiFilesConfirm">继续发送</el-button>
+        <el-button type="primary" size="small" style="margin-left: 3em" @click="ediFilesConfirm = false">取消发送</el-button>
+      </div>
+    </el-dialog>
+
+    <el-dialog
       title="请选择 EDI 发送方式"
       append-to-body
       v-dialogDrag
@@ -639,6 +661,8 @@ export default {
       ediSendingToRemoteRow: {},
 
       ediFilesFunction: false,
+      ediFilesFunctionMsg: "",
+      ediFilesConfirm: false,
       ediTypeRow: {},
       ediShowProgress: false, // EDI 发送进度条
       // SFT
@@ -1185,7 +1209,7 @@ export default {
   methods: {
     async lastPage() {
       let ret = await this.editCustomer("goto");
-      if(!ret) return ;
+      if (!ret) return;
 
       if (this.pageIds.length) {
         const index = this.pageIds.indexOf(this.form.id);
@@ -1208,7 +1232,7 @@ export default {
     async nextPage() {
       // if(!this.editCustomer("goto")) return ;
       let ret = await this.editCustomer("goto");
-      if(!ret) return ;
+      if (!ret) return;
 
       if (this.pageIds.length) {
         const index = this.pageIds.indexOf(this.form.id);
@@ -1297,6 +1321,7 @@ export default {
     },
     // 主要信息是否更改
     mainDataChanged() {
+      console.log("mainDataChanged", contrastObj(this.form.preContainersList, this.oldForm.preContainersList), this.form.preContainersList, this.oldForm.preContainersList)
       let changed = {
         changed: false,
         main: false,
@@ -1304,7 +1329,7 @@ export default {
         c1: !this.form.id,
         c2: contrastObj(this.form, this.oldForm),
         c3: contrastObj(this.form.hmmEdi, this.oldForm.hmmEdi),
-        c4: contrastObj(this.form.preContainersList, this.oldForm.preContainersList),
+        c4: contrastList(this.form.preContainersList, this.oldForm.preContainersList),
         c5: contrastList(this.form.containersList, this.oldForm.containersList),
         c6: contrastList(this.form.feeCenterListC, this.oldForm.feeCenterListC),
         c7: contrastList(this.form.feeCenterListD, this.oldForm.feeCenterListD),
@@ -1694,7 +1719,7 @@ export default {
 
     async editypesSendingEdifun(row) {
       let ret = await this.editCustomer("goto");
-      if(!ret) return ;
+      if (!ret) return;
 
       let sendToRemote = 1;
 
@@ -1719,6 +1744,7 @@ export default {
     // 发送edi
     sendEdiFilesFunction(func) {
       this.ediFilesFunction = false;
+      this.ediFilesConfirm = false;
 
       this.ediTypeRow.filesFunction = this.ediTypeRow["func_" + func];
 
@@ -1748,6 +1774,36 @@ export default {
           this.ediShowProgress = false;
         });
     },
+    sendEdiFilesConfirm() {
+      this.ediFilesFunction = false;
+      this.ediFilesConfirm = false;
+
+      this.saveLoading = true;
+      this.ediShowProgress = true;
+      editypesSendingEdi(this.ediTypeRow)
+        .then((res) => {
+          this.saveLoading = false;
+          this.ediShowProgress = false;
+          // 判断data是否有值,没有值说明不成功给个弹窗返回
+          if (!res.data.data) {
+            let text = res.data.msg.replace("\r\n", "<br>");
+            this.$message({
+              type: "warning",
+              dangerouslyUseHTMLString: true,
+              message: text,
+              // message: `<p>${text.slice(text.indexOf('非空'), text.indexOf('特殊字符'))}</p><p>${text.slice(text.indexOf('特殊字符'), text.indexOf('长度超长'))}</p><p>${text.slice(text.indexOf('长度超长'), text.indexOf('其他'))}</p><p>${text.slice(text.indexOf('其他'))}</p>`,
+              duration: 5000,
+            });
+          } else {
+            this.$message.success("操作成功,请去文件中心查看");
+            this.billsDetailfun(this.form.id); // 详情接口
+          }
+        })
+        .catch((err) => {
+          this.saveLoading = false;
+          this.ediShowProgress = false;
+        });
+    },
     async doSendEdi(row, sendToRemote) {
       row.billId = this.form.id;
       let msgsList = [];
@@ -1942,6 +1998,9 @@ export default {
       // }
 
       let bfEdi = await beforeSendingEdi(row);
+
+      this.ediShowProgress = false;
+
       if (!bfEdi.data.success) {
         return;
       }
@@ -1953,6 +2012,12 @@ export default {
         bfData = {};
       }
 
+      let __confirm = bfData.hasOwnProperty("confirm") && bfData.confirm === "true";
+      let __confirmMsg = "";
+      if (__confirm) {
+        __confirmMsg = bfData.confirmMsg.trim().replaceAll("\n", "<br />");
+      }
+
       row.filesFunction = "";
       // data: "{"add":"9","useFunction":"true","1985511929510129665":"9","update":"4"}"
       if (bfData.hasOwnProperty("useFunction") && bfData.useFunction === "true") {
@@ -1962,6 +2027,7 @@ export default {
           row.func_add = bfData.add;
           row.func_update = bfData.update;
           row.filesFunction = func;
+          this.ediFilesFunctionMsg = __confirmMsg;
           let that = this;
           this.$nextTick(() => {
             setTimeout(() => {
@@ -1972,6 +2038,17 @@ export default {
         }
       }
 
+      if (__confirm) {
+        this.ediFilesFunctionMsg = __confirmMsg;
+        let that = this;
+        this.$nextTick(() => {
+          setTimeout(() => {
+            that.ediFilesConfirm = true;
+          }, 500);
+        });
+        return;
+      }
+
       this.saveLoading = true;
       this.ediShowProgress = true;
       editypesSendingEdi(row)
@@ -2206,6 +2283,8 @@ export default {
           this.form.corpEnName = this.$refs.bcorps[0].selectionList[0].enName;
           this.form.corpId = this.$refs.bcorps[0].selectionList[0].id;
           this.form.corpCode = this.$refs.bcorps[0].selectionList[0].code;
+          this.form.shortName = this.$refs.bcorps[0].selectionList[0].shortName;
+          this.form.corpShortName = this.$refs.bcorps[0].selectionList[0].shortName;
           this.form.corpSource = this.$refs.bcorps[0].selectionList[0].corpSource;
           if (this.business == 1) {
             agreementpriceList({ corpId: this.$refs.bcorps[0].selectionList[0].id, status: 0, validDate: getCurrentDate("dateTime") }).then((res) => {
@@ -2246,6 +2325,8 @@ export default {
           this.form.corpEnName = this.$refs.bcorps[0].$refs.detail.formData.enName;
           this.form.corpId = this.$refs.bcorps[0].$refs.detail.formData.id;
           this.form.corpCode = this.$refs.bcorps[0].$refs.detail.formData.code;
+          this.form.shortName = this.$refs.bcorps[0].$refs.detail.formData.shortName;
+          this.form.corpShortName = this.$refs.bcorps[0].$refs.detail.formData.shortName;
           this.form.corpSource = this.$refs.bcorps[0].$refs.detail.formData.corpSource;
           if (this.business == 1) {
             agreementpriceList({ corpId: this.$refs.bcorps[0].$refs.detail.formData.id, status: 0, validDate: getCurrentDate("dateTime") }).then(
@@ -2963,32 +3044,32 @@ export default {
 
       let ret = false;
       // await this.$refs.form.validate(async (valid) => {
-        // 没有校验项
-        let valid = true;
-        if (valid) {
-          if (!changed.main && changed.containersList) {
-            await containersSubmitList(this.form.containersList);
-            if (status !== "goto") {
-              await this.billsDetailfun(this.form.id);
-            }
-            ret = true;
-            console.log("set ret", ret)
-            return true;
+      // 没有校验项
+      let valid = true;
+      if (valid) {
+        if (!changed.main && changed.containersList) {
+          await containersSubmitList(this.form.containersList);
+          if (status !== "goto") {
+            await this.billsDetailfun(this.form.id);
           }
+          ret = true;
+          console.log("set ret", ret);
+          return true;
+        }
 
-          if (this.business == 1) {
-            for (let item of this.columnforfun("accDeptName").dicData) {
-              if (this.form.accDeptName == item.title) {
-                if (item.hasChildren) {
-                  this.$message.error("请选择末级部门");
-                  return false;
-                }
+        if (this.business == 1) {
+          for (let item of this.columnforfun("accDeptName").dicData) {
+            if (this.form.accDeptName == item.title) {
+              if (item.hasChildren) {
+                this.$message.error("请选择末级部门");
+                return false;
               }
             }
           }
-          // 判断必填项
-          let msgs = [];
-          /*
+        }
+        // 判断必填项
+        let msgs = [];
+        /*
                     if (!this.form.quantity) {
                         msgs.push('件数')
                     }
@@ -3005,73 +3086,73 @@ export default {
                         msgs.push('ETD')
                     }
                     */
-          if (!this.form.teamName) {
-            msgs.push("所属团队");
+        if (!this.form.teamName) {
+          msgs.push("所属团队");
+        }
+        for (let item of this.form.preContainersList) {
+          if (!item.cntrTypeCode) {
+            this.$message.warning("请选择尺码箱型");
+            return false;
           }
-          for (let item of this.form.preContainersList) {
-            if (!item.cntrTypeCode) {
-              this.$message.warning("请选择尺码箱型");
-              return false;
-            }
-            if (!item.quantity) {
-              this.$message.warning("请输入箱量");
-              return false;
-            }
+          if (!item.quantity) {
+            this.$message.warning("请输入箱量");
+            return false;
           }
-          for (let item of this.form.feeCenterListD) {
-            if (!item.corpId || !item.feeId || !item.elementsId || !item.curCode) {
-              msgs.push(
-                `应收第${item.$index + 1}行${!item.corpId ? " 往来单位" : ""}${!item.feeId ? " 费用简称" : ""}${!item.elementsId ? " 核算要素" : ""}${
-                  !item.curCode ? " 币种" : ""
-                }`
-              );
-            }
-            if (Number(item.price) == 0 || !item.price) {
-              msgs.push(`应收第${item.$index + 1}行单价不能为0或空`);
-            }
-            if (item.curCode == "CNY") {
-              if (Number(item.rmbAmount) == 0 || !item.rmbAmount) {
-                msgs.push(`应收第${item.$index + 1}行金额不能为0`);
-              }
-            }
-            if (item.curCode == "USD") {
-              if (Number(item.usdAmount) == 0 || !item.usdAmount) {
-                msgs.push(`应收第${item.$index + 1}行金额不能为0`);
-              }
-            }
+        }
+        for (let item of this.form.feeCenterListD) {
+          if (!item.corpId || !item.feeId || !item.elementsId || !item.curCode) {
+            msgs.push(
+              `应收第${item.$index + 1}行${!item.corpId ? " 往来单位" : ""}${!item.feeId ? " 费用简称" : ""}${!item.elementsId ? " 核算要素" : ""}${
+                !item.curCode ? " 币种" : ""
+              }`
+            );
           }
-          for (let item of this.form.feeCenterListC) {
-            if (!item.corpId || !item.feeId || !item.elementsId || !item.curCode) {
-              msgs.push(
-                `应付第${item.$index + 1}行${!item.corpId ? " 往来单位" : ""}${!item.feeId ? " 费用简称" : ""}${!item.elementsId ? " 核算要素" : ""}${
-                  !item.curCode ? " 币种" : ""
-                }`
-              );
-            }
-            if (Number(item.price) == 0 || !item.price) {
-              msgs.push(`应付第${item.$index + 1}行单价不能为0或空`);
+          if (Number(item.price) == 0 || !item.price) {
+            msgs.push(`应收第${item.$index + 1}行单价不能为0或空`);
+          }
+          if (item.curCode == "CNY") {
+            if (Number(item.rmbAmount) == 0 || !item.rmbAmount) {
+              msgs.push(`应收第${item.$index + 1}行金额不能为0`);
             }
-            if (item.curCode == "CNY") {
-              if (Number(item.rmbAmount) == 0 || !item.rmbAmount) {
-                msgs.push(`应付第${item.$index + 1}行金额不能为0`);
-              }
+          }
+          if (item.curCode == "USD") {
+            if (Number(item.usdAmount) == 0 || !item.usdAmount) {
+              msgs.push(`应收第${item.$index + 1}行金额不能为0`);
             }
-            if (item.curCode == "USD") {
-              if (Number(item.usdAmount) == 0 || !item.usdAmount) {
-                msgs.push(`应付第${item.$index + 1}行金额不能为0`);
-              }
+          }
+        }
+        for (let item of this.form.feeCenterListC) {
+          if (!item.corpId || !item.feeId || !item.elementsId || !item.curCode) {
+            msgs.push(
+              `应付第${item.$index + 1}行${!item.corpId ? " 往来单位" : ""}${!item.feeId ? " 费用简称" : ""}${!item.elementsId ? " 核算要素" : ""}${
+                !item.curCode ? " 币种" : ""
+              }`
+            );
+          }
+          if (Number(item.price) == 0 || !item.price) {
+            msgs.push(`应付第${item.$index + 1}行单价不能为0或空`);
+          }
+          if (item.curCode == "CNY") {
+            if (Number(item.rmbAmount) == 0 || !item.rmbAmount) {
+              msgs.push(`应付第${item.$index + 1}行金额不能为0`);
             }
           }
-          if (msgs.length > 0) {
-            this.$confirm(`请填写下列信息:${msgs.join(" ,")}!`, {
-              confirmButtonText: "确定",
-              cancelButtonText: "取消",
-              type: "warning",
-            });
-            return false;
+          if (item.curCode == "USD") {
+            if (Number(item.usdAmount) == 0 || !item.usdAmount) {
+              msgs.push(`应付第${item.$index + 1}行金额不能为0`);
+            }
           }
-          if (this.verifySymbolStatus == 1) {
-            /*
+        }
+        if (msgs.length > 0) {
+          this.$confirm(`请填写下列信息:${msgs.join(" ,")}!`, {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning",
+          });
+          return false;
+        }
+        if (this.verifySymbolStatus == 1) {
+          /*
                         let msgsList = []
                         if (checkFullWidthSymbols(this.form.detail.hshipperDetails).hasFullWidth) {
                             let msg = []
@@ -3216,161 +3297,161 @@ export default {
                         });
                         */
 
-            let fldNames = "hshipperDetails,hconsigneeDetails,hnotifyDetails,mshipperDetails,mconsigneeDetails,mnotifyDetails".split(",");
-            let fldDescs = "发货人,收货人,通知人,MBL 发货人,MBL 收货人,MBL 通知人".split(",");
-            let msgsList = [];
-            fldNames.forEach((fld, idx) => {
-              const cfs = checkFullWidthSymbols(this.form.detail[fld]);
-              if (cfs.hasFullWidth) {
-                if (cfs.isResetText) {
-                  this.$set(this.form.detail, fld, cfs.resetText);
-                }
-                msgsList.push(fldDescs[idx] + ": " + cfs.message);
+          let fldNames = "hshipperDetails,hconsigneeDetails,hnotifyDetails,mshipperDetails,mconsigneeDetails,mnotifyDetails".split(",");
+          let fldDescs = "发货人,收货人,通知人,MBL 发货人,MBL 收货人,MBL 通知人".split(",");
+          let msgsList = [];
+          fldNames.forEach((fld, idx) => {
+            const cfs = checkFullWidthSymbols(this.form.detail[fld]);
+            if (cfs.hasFullWidth) {
+              if (cfs.isResetText) {
+                this.$set(this.form.detail, fld, cfs.resetText);
               }
-            });
+              msgsList.push(fldDescs[idx] + ": " + cfs.message);
+            }
+          });
 
-            // carrierCnName: "森罗商船青岛代表处"
-            // carrierEnName: "SM LINE CORPORATION QINGDAO OFFICE"
-            // carrierId: 10741
-            // carrierShortName: "森罗商船"
-            // 森罗商船 允许订舱备注输中文
+          // carrierCnName: "森罗商船青岛代表处"
+          // carrierEnName: "SM LINE CORPORATION QINGDAO OFFICE"
+          // carrierId: 10741
+          // carrierShortName: "森罗商船"
+          // 森罗商船 允许订舱备注输中文
 
-            fldNames = "marks,commodityDescr,mmarks,mcommodityDescr,forwarding,siRemarks".split(",");
-            fldDescs = "唛头,货描,M/BL 唛头,M/BL 货描,FORWARDING,SI 备注".split(",");
-            if (this.form.carrierId !== 10741) {
-              fldNames.push("bookingRemarks");
-              fldDescs.push("订舱备注");
+          fldNames = "marks,commodityDescr,mmarks,mcommodityDescr,forwarding,siRemarks".split(",");
+          fldDescs = "唛头,货描,M/BL 唛头,M/BL 货描,FORWARDING,SI 备注".split(",");
+          if (this.form.carrierId !== 10741) {
+            fldNames.push("bookingRemarks");
+            fldDescs.push("订舱备注");
+          }
+          fldNames.forEach((fld, idx) => {
+            const cfs = checkFullWidthSymbols(this.form[fld]);
+            if (cfs.isResetText === true) {
+              this.$set(this.form, fld, cfs.resetText);
             }
-            fldNames.forEach((fld, idx) => {
-              const cfs = checkFullWidthSymbols(this.form[fld]);
-              if (cfs.isResetText === true) {
+            if (cfs.hasFullWidth) {
+              msgsList.push(fldDescs[idx] + ": " + cfs.message);
+            }
+          });
+
+          fldNames = "placeReceiptNamePrint,polNamePrint,podNamePrint,destinationNamePrint,placeDeliveryNamePrint,potNamePrint".split(",");
+          fldDescs = "收货地,装货港,卸货港,目的地,交货地,中转港".split(",");
+          fldNames.forEach((fld, idx) => {
+            const cfs = checkFullWidthSymbols(this.form[fld]);
+            if (cfs.hasFullWidth) {
+              if (cfs.isResetText) {
                 this.$set(this.form, fld, cfs.resetText);
               }
-              if (cfs.hasFullWidth) {
-                msgsList.push(fldDescs[idx] + ": " + cfs.message);
-              }
-            });
+              msgsList.push(fldDescs[idx] + ": " + cfs.message);
+            }
+          });
 
-            fldNames = "placeReceiptNamePrint,polNamePrint,podNamePrint,destinationNamePrint,placeDeliveryNamePrint,potNamePrint".split(",");
-            fldDescs = "收货地,装货港,卸货港,目的地,交货地,中转港".split(",");
-            fldNames.forEach((fld, idx) => {
-              const cfs = checkFullWidthSymbols(this.form[fld]);
-              if (cfs.hasFullWidth) {
-                if (cfs.isResetText) {
-                  this.$set(this.form, fld, cfs.resetText);
-                }
-                msgsList.push(fldDescs[idx] + ": " + cfs.message);
-              }
+          if (msgsList.length > 0) {
+            this.$message({
+              dangerouslyUseHTMLString: true,
+              message: `${msgsList.join("<br/><br/>")}`,
+              type: "error",
             });
+            return false;
+          }
 
-            if (msgsList.length > 0) {
-              this.$message({
-                dangerouslyUseHTMLString: true,
-                message: `${msgsList.join("<br/><br/>")}`,
-                type: "error",
-              });
-              return false;
+          msgsList = [];
+          if (!verifyEnglish(this.form.detail.hshipperDetails)) {
+            msgsList.push("发货人");
+          }
+          if (!verifyEnglish(this.form.detail.hconsigneeDetails)) {
+            msgsList.push("收货人");
+          }
+          if (!verifyEnglish(this.form.detail.hnotifyDetails)) {
+            msgsList.push("通知人");
+          }
+          if (!verifyEnglish(this.form.detail.mshipperDetails)) {
+            msgsList.push("MBL 发货人");
+          }
+          if (!verifyEnglish(this.form.detail.mconsigneeDetails)) {
+            msgsList.push("MBL 收货人");
+          }
+          if (!verifyEnglish(this.form.detail.mnotifyDetails)) {
+            msgsList.push("MBL 通知人");
+          }
+          if (!verifyEnglish(this.form.marks)) {
+            msgsList.push("唛头");
+          }
+          if (!verifyEnglish(this.form.commodityDescr)) {
+            msgsList.push("货描");
+          }
+          if (!verifyEnglish(this.form.mmarks)) {
+            msgsList.push("M/BL 唛头");
+          }
+          if (!verifyEnglish(this.form.mcommodityDescr)) {
+            msgsList.push("M/BL 货描");
+          }
+          if (!verifyEnglish(this.form.forwarding)) {
+            msgsList.push("FORWARDING");
+          }
+          if (msgsList.length > 0) {
+            // this.$message.error(`请正确输入${msgsList.join(",")}的英文`);
+            this.$message.error(`${msgsList.join(",")}存在非英文字符,如汉字等,请修正后再保存!`);
+            return false;
+          }
+        }
+        this.form.detail.hshipperDetails = this.getTextTrim(this.form.detail.hshipperDetails);
+        this.form.detail.hconsigneeDetails = this.getTextTrim(this.form.detail.hconsigneeDetails);
+        this.form.detail.hnotifyDetails = this.getTextTrim(this.form.detail.hnotifyDetails);
+        this.form.detail.marks = this.getTextTrim(this.form.detail.marks);
+        this.form.detail.commodityDescr = this.getTextTrim(this.form.detail.commodityDescr);
+        this.form.detail.mmarks = this.getTextTrim(this.form.detail.mmarks);
+        this.form.detail.mcommodityDescr = this.getTextTrim(this.form.detail.mcommodityDescr);
+        this.form.forwarding = this.getTextTrim(this.form.forwarding);
+        // 赋值 ETD 日期
+        this.form.billDate = this.form.etd ? this.form.etd.slice(0, 10) + " 00:00:00" : null; // 单据日期
+        // 调用保存接口
+        if (this.business == 1) {
+          await documentVerification(this.form).then(async (res) => {
+            // 0 直接保存
+            let rb = res.data;
+            if (rb.status == 0) {
+              await this.billsSubmitfun(status, undefined, callback);
             }
 
-            msgsList = [];
-            if (!verifyEnglish(this.form.detail.hshipperDetails)) {
-              msgsList.push("发货人");
-            }
-            if (!verifyEnglish(this.form.detail.hconsigneeDetails)) {
-              msgsList.push("收货人");
-            }
-            if (!verifyEnglish(this.form.detail.hnotifyDetails)) {
-              msgsList.push("通知人");
-            }
-            if (!verifyEnglish(this.form.detail.mshipperDetails)) {
-              msgsList.push("MBL 发货人");
-            }
-            if (!verifyEnglish(this.form.detail.mconsigneeDetails)) {
-              msgsList.push("MBL 收货人");
-            }
-            if (!verifyEnglish(this.form.detail.mnotifyDetails)) {
-              msgsList.push("MBL 通知人");
-            }
-            if (!verifyEnglish(this.form.marks)) {
-              msgsList.push("唛头");
-            }
-            if (!verifyEnglish(this.form.commodityDescr)) {
-              msgsList.push("货描");
-            }
-            if (!verifyEnglish(this.form.mmarks)) {
-              msgsList.push("M/BL 唛头");
-            }
-            if (!verifyEnglish(this.form.mcommodityDescr)) {
-              msgsList.push("M/BL 货描");
-            }
-            if (!verifyEnglish(this.form.forwarding)) {
-              msgsList.push("FORWARDING");
-            }
-            if (msgsList.length > 0) {
-              // this.$message.error(`请正确输入${msgsList.join(",")}的英文`);
-              this.$message.error(`${msgsList.join(",")}存在非英文字符,如汉字等,请修正后再保存!`);
-              return false;
+            // 1 不保存
+            if (rb.status == 1) {
+              this.$confirm(rb.remark, "提示", {
+                confirmButtonText: "确认",
+                showCancelButton: false,
+                type: "warning",
+              });
             }
-          }
-          this.form.detail.hshipperDetails = this.getTextTrim(this.form.detail.hshipperDetails);
-          this.form.detail.hconsigneeDetails = this.getTextTrim(this.form.detail.hconsigneeDetails);
-          this.form.detail.hnotifyDetails = this.getTextTrim(this.form.detail.hnotifyDetails);
-          this.form.detail.marks = this.getTextTrim(this.form.detail.marks);
-          this.form.detail.commodityDescr = this.getTextTrim(this.form.detail.commodityDescr);
-          this.form.detail.mmarks = this.getTextTrim(this.form.detail.mmarks);
-          this.form.detail.mcommodityDescr = this.getTextTrim(this.form.detail.mcommodityDescr);
-          this.form.forwarding = this.getTextTrim(this.form.forwarding);
-          // 赋值 ETD 日期
-          this.form.billDate = this.form.etd ? this.form.etd.slice(0, 10) + " 00:00:00" : null; // 单据日期
-          // 调用保存接口
-          if (this.business == 1) {
-            await documentVerification(this.form).then(async (res) => {
-              // 0 直接保存
-              let rb = res.data;
-              if (rb.status == 0) {
+            // 2 用户选择保存
+            if (rb.status == 2) {
+              this.$confirm(rb.remark, "提示", {
+                dangerouslyUseHTMLString: true,
+                showClose: true,
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+              }).then(async () => {
                 await this.billsSubmitfun(status, undefined, callback);
-              }
-
-              // 1 不保存
-              if (rb.status == 1) {
-                this.$confirm(rb.remark, "提示", {
-                  confirmButtonText: "确认",
-                  showCancelButton: false,
-                  type: "warning",
-                });
-              }
-              // 2 用户选择保存
-              if (rb.status == 2) {
-                this.$confirm(rb.remark, "提示", {
-                  dangerouslyUseHTMLString: true,
-                  showClose: true,
-                  confirmButtonText: "确定",
-                  cancelButtonText: "取消",
-                  type: "warning",
-                }).then(async () => {
-                  await this.billsSubmitfun(status, undefined, callback);
-                });
-              }
-              // 3 用户选择保存,收发通校验
-              if (rb.status == 3) {
-                this.sftVerifyData = {
-                  status: status,
-                  remark: rb.remark, // .replaceAll("<br />", "\n"),
-                  hshipperId: rb.hshipperId == 1,
-                  hshipperDetails: rb.hshipperDetails,
-                  hconsigneeId: rb.hconsigneeId == 1,
-                  hconsigneeDetails: rb.hconsigneeDetails,
-                  hnotifyId: rb.hnotifyId == 1,
-                  hnotifyDetails: rb.hnotifyDetails,
-                  reserve1: rb.reserve1 == "1",
-                  marks: rb.marks,
-                  reserve2: rb.reserve2 == "1",
-                  commodityDescr: rb.commodityDescr,
-                };
-                console.log(this.sftVerifyData);
-                this.sftVerifyDataCallback = callback;
-                this.showSftVerifyDlg = true;
-                /*
+              });
+            }
+            // 3 用户选择保存,收发通校验
+            if (rb.status == 3) {
+              this.sftVerifyData = {
+                status: status,
+                remark: rb.remark, // .replaceAll("<br />", "\n"),
+                hshipperId: rb.hshipperId == 1,
+                hshipperDetails: rb.hshipperDetails,
+                hconsigneeId: rb.hconsigneeId == 1,
+                hconsigneeDetails: rb.hconsigneeDetails,
+                hnotifyId: rb.hnotifyId == 1,
+                hnotifyDetails: rb.hnotifyDetails,
+                reserve1: rb.reserve1 == "1",
+                marks: rb.marks,
+                reserve2: rb.reserve2 == "1",
+                commodityDescr: rb.commodityDescr,
+              };
+              console.log(this.sftVerifyData);
+              this.sftVerifyDataCallback = callback;
+              this.showSftVerifyDlg = true;
+              /*
                 this.$confirm(rb.remark, "提示", {
                   dangerouslyUseHTMLString: true,
                   showClose: true,
@@ -3395,24 +3476,24 @@ export default {
                   this.billsSubmitfun(status, obj);
                 });
                 */
-              }
-              ret = true;
-              return true;
-            });
-          } else {
-            await this.billsSubmitfun(status, undefined, callback);
-
+            }
             ret = true;
-            console.log("set ret", ret)
             return true;
-          }
+          });
         } else {
-          console.log("this.editCustomer not valid");
-          return false;
+          await this.billsSubmitfun(status, undefined, callback);
+
+          ret = true;
+          console.log("set ret", ret);
+          return true;
         }
+      } else {
+        console.log("this.editCustomer not valid");
+        return false;
+      }
       // });
 
-      console.log("ret 1", ret)
+      console.log("ret 1", ret);
       return ret;
     },
     // 主表保存接口大保存
@@ -3458,6 +3539,8 @@ export default {
         row.billNo = this.form.billNo; // 单据编号
         row.billDate = this.form.billDate;
         row.billCorpId = this.form.corpId; // 主表客户 id
+        row.billCorpCode = this.form.corpCode; // 主表客户中文名称
+        row.billShortName = this.form.shortName; // 主表客户中文名称
         row.billCorpCnName = this.form.corpCnName; // 主表客户中文名称
         row.billCorpEnName = this.form.corpEnName; // 主表客户英文名称
         row.lineId = this.form.lineId; // 航线 id
@@ -3505,6 +3588,8 @@ export default {
         row.billNo = this.form.billNo; // 单据编号
         row.billDate = this.form.billDate; // 单据日期
         row.billCorpId = this.form.corpId; // 主表客户 id
+        row.billCorpCode = this.form.corpCode; // 主表客户中文名称
+        row.billShortName = this.form.shortName; // 主表客户中文名称
         row.billCorpCnName = this.form.corpCnName; // 主表客户中文名称
         row.billCorpEnName = this.form.corpEnName; // 主表客户英文名称
         row.lineId = this.form.lineId; // 航线 id
@@ -4010,6 +4095,14 @@ export default {
         console.log("do callback", callback);
         callback();
       }
+
+      /*
+      this.$nextTick(function () {
+        if(this.$refs.feecenter){
+          this.$refs.feecenter.resetEditMode();
+        }
+      })
+      */
     },
     // tbas切换
     handleClick(tba, event) {},

Некоторые файлы не были показаны из-за большого количества измененных файлов