Browse Source

1.财务管理 对账中心 付费申请的费用名称不显示
2.修改公共下拉选择器的bug
3.海运出口 港口的Print同步到报表中
4.海运进出口 amend 船名都改为英文
5.海运出口 报表新加行限制功能
6.配箱页面调整,VGM总重=箱皮重+毛重
7.海运出口 报表做替换处理
8.海运出口 默认值 做替换处理
9.海运出口 付费请核费用 新加参数 收付费新加撤销费用功能
10.发送邮件 修改参数名

Qukatie 7 months ago
parent
commit
16151ba130

+ 7 - 0
src/api/iosBasicData/feecenter.js

@@ -78,3 +78,10 @@ export function pleaseVerifyCost(data) {
     data: data
   })
 }
+export function revokeCheckPleaseVerifyCost(data) {
+  return request({
+    url: '/api/blade-los/expenseapplication/revokeCheckPleaseVerifyCost',
+    method: 'post',
+    data: data
+  })
+}

+ 1 - 1
src/components/dicSelect/main.vue

@@ -2,7 +2,7 @@
     <!-- 中文下拉 -->
     <div>
         <div style="display: flex;">
-            <el-tooltip effect="dark" :disabled="!collapseTags" :content="collapseTags?value.join(';'):value" placement="top">
+            <el-tooltip effect="dark" :disabled="!collapseTags" :content="collapseTags?(value?value.join(';'):null):value" placement="top">
             <el-select ref="mySelect" style="width:100%" v-model="value" @input="inputChange"
                 :placeholder="'请选择 ' + placeholder" @change="selectChange" @clear="clear" :clearable="clearable"
                 :multiple="multiple" :filterable="filterable" :remote="remote" :remote-method="remoteMethod"

+ 17 - 3
src/components/iosbasic-data/mail-component.vue

@@ -1,5 +1,5 @@
 <template>
-    <el-dialog title="发送邮件" :visible.sync="dialogVisible" append-to-body width="50%" :close-on-click-modal="false"
+    <el-dialog title="发送邮件" :visible.sync="dialogVisible" append-to-body width="70%" :close-on-click-modal="false"
         custom-class="email-dialog">
         <el-form ref="emailForm" :model="formData" :rules="formRules" label-width="80px" label-position="right">
             <el-form-item label="收件人" prop="to">
@@ -25,6 +25,13 @@
             <el-form-item label="附件">
                 <el-input v-model="formData.attachments" placeholder="请输入文件名" clearable></el-input>
             </el-form-item>
+
+            <el-form-item label="文件中心">
+                <c-upload :data="formData.filesList" :enumerationValue="76"
+                    actionUrl="/api/blade-resource/oss/endpoint/put-file-mail"
+                    deleteUrl="/api/blade-los/tradingBoxFiles/remove" linkKey="url" :maxNum="6" display>
+                </c-upload>
+            </el-form-item>
         </el-form>
 
         <span slot="footer" class="dialog-footer">
@@ -90,7 +97,8 @@ export default {
                 content: '',
                 attachments: '',
                 fileType: '',
-                fileContent: ''
+                fileContent: '',
+                filesList: []
             },
             formRules: {
                 to: [
@@ -185,6 +193,10 @@ export default {
             this.sending = true
             let fileContentStrList = ["ImageSvg", "Html"]
             let nowFile = this.fileTypeList.find(f => f.key === this.formData.fileType)
+            let files = []
+            for (let item of this.formData.filesList) {
+                files.push(item.url)
+            }
             let param = {
                 fileName: this.formData.attachments,
                 fileType: nowFile.value,
@@ -194,7 +206,8 @@ export default {
                 fileContent: this.formData.fileContent,
                 fileContentStr: '',
                 sendCc: this.formData.cc,
-                sendBcc: this.formData.bcc
+                sendBcc: this.formData.bcc,
+                fileList:files
             }
             if (fileContentStrList.indexOf(this.formData.fileType) !== -1) {
                 param.fileContent = null
@@ -213,6 +226,7 @@ export default {
         resetForm() {
             this.$refs.emailForm.resetFields()
             this.formData.attachments = ''
+            this.formData.filesList=[]
         }
     }
 }

+ 31 - 11
src/components/upload/index.vue

@@ -10,10 +10,12 @@
           <slot name="c_button"></slot>
         </template>
         <template slot="url" slot-scope="{ row }">
-          <el-input placeholder="请输入内容" size="small" v-if="row.$cellEdit" v-model="row.url" class="input-with-select">
-            <el-button slot="append" @click="singleLineUpload(row)">附件</el-button>
-          </el-input>
-          <span v-else>{{ row.url }}</span>
+          <span style="display: flex;">
+            <el-input placeholder="请输入内容" size="small" v-if="row.$cellEdit" v-model="row.url">
+              <el-button slot="append" @click="singleLineUpload(row)">附件</el-button>
+            </el-input>
+            <span v-else>{{ row.url }}</span>
+          </span>
         </template>
         <template slot-scope="scope" slot="menu">
           <el-button icon="el-icon-download" :size="scope.size" :type="scope.type" @click="download(scope)">查看
@@ -75,7 +77,7 @@
           </el-button>
         </template>
         <template slot="url" slot-scope="{ row }">
-          <el-input placeholder="请输入内容" size="small" v-if="row.$cellEdit" v-model="row.url" class="input-with-select">
+          <el-input placeholder="请输入内容" size="small" v-if="row.$cellEdit" v-model="row.url">
             <el-button slot="append" @click="singleLineUpload(row)">附件</el-button>
           </el-input>
           <span v-else>{{ row.url }}</span>
@@ -169,7 +171,17 @@ export default {
     },
     basic: {
       type: Boolean
-    }
+    },
+    actionUrl: {
+      type: String
+    },
+    maxNum: {
+      type: Number
+    },
+    linkKey: {
+      type: String,
+      default: 'link'
+    },
   },
   data() {
     return {
@@ -178,7 +190,7 @@ export default {
       innerVisible: false,
       form: {},
       imgUrl: "",
-      action: "/api/blade-resource/oss/endpoint/put-file",
+      action: this.actionUrl ? this.actionUrl : "/api/blade-resource/oss/endpoint/put-file",
       headers: { "Blade-Auth": "Bearer " + getToken() },
       option: {},
       key: 0,
@@ -206,7 +218,7 @@ export default {
             prop: "url",
             index: 2,
             overHidden: true
-          }, 
+          },
           // {
           //   type: "select",
           //   dicUrl: "/api/blade-system/dict-biz/dictionary?code=file_type",
@@ -525,7 +537,7 @@ export default {
     onSuccess(response, file, fileList) {
       this.$refs.crud.rowCellAdd({
         fileName: response.data.originalName,
-        url: response.data.link
+        url: response.data[this.linkKey]
       });
       this.uploadCount++;
       if (this.uploadCount === fileList.length) {
@@ -537,7 +549,7 @@ export default {
     //修改上传成功
     onSuccessTwo(response) {
       this.form.fileName = response.data.originalName;
-      this.form.url = response.data.link;
+      this.form.url = response.data[this.linkKey];
       this.data[this.form.$index] = this.form;
       this.excelTwo = false;
     },
@@ -548,6 +560,9 @@ export default {
     },
     //开启批量上传
     addDetail() {
+      if (this.maxNum > 0 && this.data.length == this.maxNum) {
+        return this.$message.error("最多上传" + this.maxNum + "个文件");
+      }
       this.excelBox = true;
     },
     //下载附件
@@ -631,4 +646,9 @@ export default {
 };
 </script>
 
-<style scoped></style>
+<style lang="scss" scoped>
+::v-deep .el-table .cell {
+
+  height: 33px;
+}
+</style>

+ 12 - 2
src/views/approveDataH/index.vue

@@ -33,6 +33,7 @@
         <span v-else-if="scope.row.checkType == 'YSQR-C'">贸易代理货款付费确认</span>
         <span v-else-if="scope.row.checkType == 'YSQR-D'">贸易代理货款收费确认</span>
         <span v-else-if="scope.row.checkType == 'FYSQ'">费用申请</span>
+        <span v-else-if="scope.row.checkType == 'FYSQ-C'">费用申请-付费</span>
         <span v-else-if="scope.row.checkType == 'KHTS'">客户托书</span>
       </template>
       <template slot-scope="scope" slot="billNo">
@@ -77,6 +78,9 @@
         <el-button type="text" size="small" v-else-if="scope.row.checkType == 'FYSQ'"
           :disabled="scope.row.auditStatus != 'S'" @click.stop="printWindowfun(scope.row, 'FYSQ')">审批
         </el-button>
+        <el-button type="text" size="small" v-else-if="scope.row.checkType == 'FYSQ-C'"
+          :disabled="scope.row.auditStatus != 'S'" @click.stop="printWindowfun(scope.row, 'FYSQ-C')">审批
+        </el-button>
         <el-button type="text" size="small" v-else :disabled="scope.row.auditStatus != 'S'"
           @click.stop="openCheck(scope.row)">审批
         </el-button>
@@ -307,6 +311,12 @@ export default {
           classifyCode: row.srcBusType,
           groupCode: 'FYSQ'
         }
+      } else if (type == 'FYSQ-C') {
+        obj = {
+          businessType: 'FYSQ',
+          classifyCode: row.srcBusType,
+          groupCode: 'FYSQ'
+        }
       }
       getreportsList(1, 10, obj).then(res => {
         this.reportRadio(res.data.data.records[0], type)
@@ -328,7 +338,7 @@ export default {
     // 获取报表数据
     reportRadio(val, type) {
       console.log(val, 240)
-      if (type == 'FYSQ') {
+      if (type == 'FYSQ'||type == 'FYSQ-C') {
         reportsGetReportDataBox({
           billId: this.reportsData.srcBillId,
           reportCode: val.classifyCode,
@@ -500,7 +510,7 @@ export default {
           this.$router.push({
             path: row.url,
             query: {
-              billId: row.checkType == 'FYSQ' ? row.srcBillId : row.billId
+              billId: (row.checkType == 'FYSQ'||row.checkType == 'FYSQ-C') ? row.srcBillId : row.billId
             }
           });
         }

+ 100 - 1
src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue

@@ -82,6 +82,8 @@
                         :disabled="disabled || pleasereviewType" @click="allClick('发票申请', 'D')">发票申请</el-button>
                     <el-button type="primary" plain size="small" :disabled="disabled || selectionDList.length == 0"
                         @click="allClick('D费用申请')">请核费用</el-button>
+                    <el-button type="danger" plain size="small" :disabled="disabled || selectionDList.length == 0"
+                        @click="allClick('D撤销请核')">撤销请核</el-button>
                 </template>
                 <template slot="indexHeader" slot-scope="scope">
                     <el-button v-if="isFeeEditD" type="primary" size="small" icon="el-icon-plus" circle
@@ -229,6 +231,8 @@
                         @click="allClick('付费申请', 'C')">付费申请</el-button>
                     <el-button type="primary" plain size="small" :disabled="disabled || selectionCList.length == 0"
                         @click="allClick('C费用申请')">请核费用</el-button>
+                    <el-button type="danger" plain size="small" :disabled="disabled || selectionCList.length == 0"
+                        @click="allClick('C撤销请核')">撤销请核</el-button>
                     <!-- <el-button type="success" plain size="small" :disabled="disabled"
                         @click="allClick('提取成本')">提取成本</el-button> -->
                 </template>
@@ -639,7 +643,8 @@ import {
     finaccbillsGenerateBill,
     finaccbillsRevokeBill,
     getFeeCenterCorpIds,
-    pleaseVerifyCost
+    pleaseVerifyCost,
+    revokeCheckPleaseVerifyCost
 } from "@/api/iosBasicData/feecenter";
 import {
     getWorkDicts
@@ -3151,6 +3156,52 @@ 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
+                }
+                for (let row of this.selectionDList) {
+                    if (!row.id) {
+                        return this.$message.error("请保存费用明细");
+                    }
+                    if (row.auditStatus == 0) {
+                        return this.$message.error("未申请费用,不允许撤销");
+                    }
+                }
+                this.$confirm("确定撤销请核?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(() => {
+                    let obj = {}
+                    obj = {
+                        srcId: this.assemblyForm.id,
+                        srcType: 'HYJK',
+                        feeCenterList: this.selectionDList,
+                        url: '/iosBasicData/OceanFreightImport/bills/index',
+                        pageStatus: 'this.$store.getters.approvalDetails',
+                        pageLabel: '海运进口(F)',
+                    }
+                    const loading = this.$loading({
+                        lock: true,
+                        text: '加载中',
+                        spinner: 'el-icon-loading',
+                        background: 'rgba(255,255,255,0.7)'
+                    });
+                    revokeCheckPleaseVerifyCost(obj).then(res => {
+                        this.$message.success("操作成功");
+                        this.$emit('billsDetailfun')
+                    }).finally(() => {
+                        loading.close();
+                    })
+                });
+            }
             if (name == 'C费用申请') {
                 // let selecList = [...this.selectionDList, ...this.selectionCList]
                 for (let row of this.selectionCList) {
@@ -3185,6 +3236,7 @@ export default {
                         url: '/iosBasicData/OceanFreightImport/bills/index',
                         pageStatus: 'this.$store.getters.approvalDetails',
                         pageLabel: '海运进口(F)',
+                        dc: 'C'
                     }
                     const loading = this.$loading({
                         lock: true,
@@ -3200,6 +3252,53 @@ 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
+                }
+                for (let row of this.selectionCList) {
+                    if (!row.id) {
+                        return this.$message.error("请保存费用明细");
+                    }
+                    if (row.auditStatus == 0) {
+                        return this.$message.error("未申请费用,不允许撤销");
+                    }
+                }
+                this.$confirm("确定撤销请核?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(() => {
+                    let obj = {}
+                    obj = {
+                        srcId: this.assemblyForm.id,
+                        srcType: 'HYJK',
+                        feeCenterList: this.selectionCList,
+                        url: '/iosBasicData/OceanFreightImport/bills/index',
+                        pageStatus: 'this.$store.getters.approvalDetails',
+                        pageLabel: '海运进口(F)',
+                        dc: 'C'
+                    }
+                    const loading = this.$loading({
+                        lock: true,
+                        text: '加载中',
+                        spinner: 'el-icon-loading',
+                        background: 'rgba(255,255,255,0.7)'
+                    });
+                    revokeCheckPleaseVerifyCost(obj).then(res => {
+                        this.$message.success("操作成功");
+                        this.$emit('billsDetailfun')
+                    }).finally(() => {
+                        loading.close();
+                    })
+                });
+            }
             if (name == '提取成本') {
                 if (!this.assemblyForm.polId) {
                     return this.$message.error("请选择装货港");

+ 4 - 3
src/views/iosBasicData/OceanFreightImport/bills/index.vue

@@ -65,7 +65,7 @@
                     <div style="margin-top: 10px">
                         <el-tabs type="card" v-model="query.billStatus" @tab-click="handleClick">
 
-                            <el-tab-pane label="全部" name="7"></el-tab-pane>
+
                             <el-tab-pane v-if="!(roleName.indexOf('总部中心') >= 0)" label="接单" name="0">
                                 <span slot="label">接单</span>
                             </el-tab-pane>
@@ -87,6 +87,7 @@
                                 <span slot="label">待请核</span>
                             </el-tab-pane>
                             <el-tab-pane label="完成" name="3"></el-tab-pane>
+                            <el-tab-pane label="全部" name="7"></el-tab-pane>
                         </el-tabs>
                     </div>
                 </template>
@@ -141,7 +142,7 @@
                 <template slot="eta" slot-scope="scope">
                     <span>{{
                         scope.row.eta ? scope.row.eta.slice(0, 10) : ""
-                        }}</span>
+                    }}</span>
                 </template>
                 <template slot="updateTime" slot-scope="scope">
                     <span>{{
@@ -411,7 +412,7 @@ export default {
             ],
             // 表格的检索条件
             query: {
-                billStatus: "7",
+                billStatus: "0",
                 billSort: "1"
             },
             // 弹窗的搜索项

+ 29 - 25
src/views/iosBasicData/SeafreightExportF/bills/assembly/DistributionBox/containers.vue

@@ -96,7 +96,7 @@
                 </template>
                 <template slot-scope="scope" slot="grossWeight">
                     <el-input v-if="scope.row.edit" v-model="scope.row.grossWeight" size="small" clearable
-                        placeholder="请输入毛重"></el-input>
+                        placeholder="请输入毛重" @change="computeChange(scope.row)"></el-input>
                     <span v-else>{{ scope.row.grossWeight }}</span>
                 </template>
                 <template slot-scope="scope" slot="netWeight">
@@ -120,14 +120,14 @@
                     <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="请输入箱皮重"></el-input>
+                    <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">
+                <!-- <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>
+                </template> -->
                 <tempalte slot="podStationCname" slot-scope="{row}">
                     <dic-select v-if="row.edit" v-model="row.podStationCname" placeholder="目的港还箱场站" label="cnName"
                         res="records" url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=POD堆场&status=0"
@@ -287,18 +287,7 @@ export default {
                         width: "140",
                         overHidden: true,
                     },
-                    {
-                        label: "箱皮重",
-                        prop: "tare",
-                        width: "140",
-                        overHidden: true,
-                    },
-                    {
-                        label: "VGM总重(KGM)",
-                        prop: "vgmWeight",
-                        width: "140",
-                        overHidden: true,
-                    },
+
                     {
                         label: "件数",
                         prop: "quantity",
@@ -309,17 +298,29 @@ export default {
                         prop: "grossWeight",
                         width: "120",
                     },
-                    {
-                        label: "净重(KGM)",
-                        prop: "netWeight",
-                        width: "120",
-                    },
+                    // {
+                    //     label: "净重(KGM)",
+                    //     prop: "netWeight",
+                    //     width: "120",
+                    // },
                     {
                         label: "尺码/体积(CBM)",
                         prop: "measurement",
                         width: "140",
                     },
                     {
+                        label: "箱皮重",
+                        prop: "tare",
+                        width: "140",
+                        overHidden: true,
+                    },
+                    {
+                        label: "VGM总重(KGM)",
+                        prop: "vgmWeight",
+                        width: "140",
+                        overHidden: true,
+                    },
+                    {
                         label: "备注",
                         prop: "remarks",
                         type: 'textarea',
@@ -333,10 +334,10 @@ export default {
                         prop: "podStationCname",
                         width: "140",
                     },
-                    {
-                        label: "MARKS",
-                        prop: "marks",
-                    },
+                    // {
+                    //     label: "MARKS",
+                    //     prop: "marks",
+                    // },
                 ]
             },
             data: [],
@@ -365,6 +366,9 @@ export default {
     },
     created() { },
     methods: {
+        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) {

+ 2 - 2
src/views/iosBasicData/SeafreightExportF/bills/assembly/DocumentCenter.vue

@@ -465,8 +465,8 @@ export default {
                 res.data.data.data.vgmDeadline2 = res.data.data.data.cyReturnTime
                 res.data.data.data.hlclBoxenvoy = res.data.data.data.polFreeBoxUseDays
                 res.data.data.data.forwarding = res.data.data.data.foreignAgencyDetails
-                res.data.data.data.marks = res.data.data.data.marks.replace(/<br\/>/g, '\n')
-                res.data.data.data.cntryString = res.data.data.data.cntryString.replace(/<br\/>/g, '\n')
+                res.data.data.data.marks = res.data.data.data.marks?res.data.data.data.marks.replace(/<br\/>/g, '\n'):null
+                res.data.data.data.cntryString = res.data.data.data.cntryString?res.data.data.data.cntryString.replace(/<br\/>/g, '\n'):null
                 this.documentForm = res.data.data.data
                 // 联系人
                 this.documentForm.corpAttnName = this.documentForm.corpAttnName + '' + this.documentForm.corpAttnTel

+ 10 - 4
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -173,7 +173,7 @@
                                 <el-col :span="10">
                                     <search-query :datalist="polData" :selectValue="assemblyForm.polEnName"
                                         :filterable="true" :clearable="true" :remote="true" :joinData="true"
-                                        :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)||assemblyForm.preContainersList.filter(item=>item.containerNumberStatus == '已选择').length>0"
+                                        :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
                                         :buttonIf="false" placeholder="请选择装货港"
                                         :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
                                         @remoteMethod="remoteMethod($event, 'pol')"
@@ -185,7 +185,7 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;" v-model="assemblyForm.polNamePrint"
                                         size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)||assemblyForm.preContainersList.filter(item=>item.containerNumberStatus == '已选择').length>0"
+                                        :disabled="detailData.seeDisabled || generateBillsfalse || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
                                         clearable placeholder="装货港" @change="textareaBlur('polNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
@@ -205,7 +205,7 @@
                                 <el-col :span="10">
                                     <search-query :datalist="podData" :selectValue="assemblyForm.podEnName"
                                         :filterable="true" :clearable="true" :remote="true" :joinData="true"
-                                        :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)||assemblyForm.preContainersList.filter(item=>item.containerNumberStatus == '已选择').length>0"
+                                        :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
                                         :buttonIf="false" placeholder="请选择卸货港"
                                         :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
                                         @remoteMethod="remoteMethod($event, 'pod')"
@@ -217,7 +217,7 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;" v-model="assemblyForm.podNamePrint"
                                         size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)||assemblyForm.preContainersList.filter(item=>item.containerNumberStatus == '已选择').length>0"
+                                        :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0) || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
                                         clearable placeholder="卸货港" @change="textareaBlur('podNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
@@ -1509,6 +1509,12 @@ export default {
                 this.$alert('当前数据已经均分箱量,请撤销之后再修改', '提示', {
                     confirmButtonText: '确定',
                 });
+                this.$nextTick(() => {
+                    this.$refs.quantityRef.blur()
+                    this.$refs.grossWeightRef.blur()
+                    this.$refs.measurementRef.blur()
+                })
+                return
                 // let num=0
                 // for(let item of this.assemblyForm.containersList){
                 //     num+=Number(item.quantity)

+ 23 - 11
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation/precontainers.vue

@@ -7,9 +7,11 @@
             @resetColumn="resetColumnTwo('crud', 'option', 'optionBack', 487)"
             @saveColumn="saveColumnTwo('crud', 'option', 'optionBack', 487)">
             <template slot="menuLeft">
-                <el-button type="primary" size="small" :disabled="seeDisabled||assemblyForm.preContainersList.filter(item=>item.containerNumberStatus == '已选择').length>0" @click.stop="addfun">新 增</el-button>
+                <el-button type="primary" size="small"
+                    :disabled="seeDisabled || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
+                    @click.stop="addfun">新 增</el-button>
                 <el-button type="danger" size="small" plain
-                    :disabled="seeDisabled || assemblyForm.preContainersList.length == 0||assemblyForm.preContainersList.filter(item=>item.containerNumberStatus == '已选择').length>0"
+                    :disabled="seeDisabled || assemblyForm.preContainersList.length == 0 || assemblyForm.preContainersList.filter(item => item.containerNumberStatus == '已选择').length > 0"
                     @click.stop="handleDelete">一键删除
                 </el-button>
                 <el-button type="primary" size="small"
@@ -512,14 +514,24 @@ export default {
             this.editStatus = false
         },
         onclickEdit() {
-            for (let item of this.assemblyForm.preContainersList) {
-                if(item.containerNumberStatus == '已选择'){
-                    return this.$message.error('请撤销放箱号,再进行编辑!')
-                }else{
-                this.$delete(item, '$cellEdit')
-                this.$set(item, '$cellEdit', true)
+            // for (let item of this.assemblyForm.preContainersList) {
+            //     if(item.containerNumberStatus == '已选择'){
+            //         return this.$message.error('请撤销放箱号,再进行编辑!')
+            //     }else{
+            //     this.$delete(item, '$cellEdit')
+            //     this.$set(item, '$cellEdit', true)
+            //     }
+            // }
+            console.log()
+            if (this.assemblyForm.containersList.length > 0) {
+                this.$alert('当前数据已经均分箱量,请撤销之后再修改', '提示', {
+                    confirmButtonText: '确定',
+                });
+            } else {
+                for (let item of this.assemblyForm.preContainersList) {
+                    this.$delete(item, '$cellEdit')
+                    this.$set(item, '$cellEdit', true)
                 }
-
             }
         },
         // 件数失焦事件
@@ -613,7 +625,7 @@ export default {
                     this.$confirm("箱型箱量改变,请检查预录费用信息?", {
                         confirmButtonText: "确定",
                         cancelButtonText: "取消",
-                        showCancelButton:false,
+                        showCancelButton: false,
                         type: "error"
                     }).then(() => {
                         precontainersSubmitList(this.assemblyForm.preContainersList).then(res => {
@@ -898,7 +910,7 @@ export default {
         },
         // 新增
         addfun() {
-            this.$refs.crud.rowCellAdd({pid:this.assemblyForm.id})
+            this.$refs.crud.rowCellAdd({ pid: this.assemblyForm.id })
             // this.$refs.crud.rowAdd()
         },
         // 编辑

+ 101 - 2
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -82,6 +82,8 @@
                         :disabled="disabled || pleasereviewType" @click="allClick('发票申请', 'D')">发票申请</el-button>
                     <el-button type="primary" plain size="small" :disabled="disabled || selectionDList.length == 0"
                         @click="allClick('D费用申请')">请核费用</el-button>
+                    <el-button type="danger" plain size="small" :disabled="disabled || selectionDList.length == 0"
+                        @click="allClick('D撤销请核')">撤销请核</el-button>
                 </template>
                 <template slot="indexHeader" slot-scope="scope">
                     <el-button v-if="isFeeEditD" type="primary" size="small" icon="el-icon-plus" circle
@@ -230,6 +232,8 @@
                         @click="allClick('付费申请', 'C')">付费申请</el-button>
                     <el-button type="primary" plain size="small" :disabled="disabled || selectionCList.length == 0"
                         @click="allClick('C费用申请')">请核费用</el-button>
+                    <el-button type="danger" plain size="small" :disabled="disabled || selectionCList.length == 0"
+                        @click="allClick('C撤销请核')">撤销请核</el-button>
                     <!-- <el-button type="success" plain size="small" :disabled="disabled"
                         @click="allClick('提取成本')">提取成本</el-button> -->
                 </template>
@@ -631,7 +635,8 @@ import {
     finaccbillsGenerateBill,
     finaccbillsRevokeBill,
     getFeeCenterCorpIds,
-    pleaseVerifyCost
+    pleaseVerifyCost,
+    revokeCheckPleaseVerifyCost
 } from "@/api/iosBasicData/feecenter";
 import { getWorkDicts } from "@/api/system/dictbiz";
 import {
@@ -1504,7 +1509,7 @@ export default {
                     value: 'packingUnit',
                 },
                 {
-                    name: '船公司',
+                    name: '承运人',
                     value: 'carrierCnName',
                 },
                 // {
@@ -3109,6 +3114,52 @@ 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
+                }
+                for (let row of this.selectionDList) {
+                    if (!row.id) {
+                        return this.$message.error("请保存费用明细");
+                    }
+                    if (row.auditStatus == 0) {
+                        return this.$message.error("未申请费用,不允许撤销");
+                    }
+                }
+                this.$confirm("确定撤销请核?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(() => {
+                    let obj = {}
+                    obj = {
+                        srcId: this.assemblyForm.id,
+                        srcType: 'HYCK',
+                        feeCenterList: this.selectionDList,
+                        url: '/iosBasicData/SeafreightExportF/bills/index',
+                        pageStatus: 'this.$store.getters.approvalDetails',
+                        pageLabel: '海运出口(F)',
+                    }
+                    const loading = this.$loading({
+                        lock: true,
+                        text: '加载中',
+                        spinner: 'el-icon-loading',
+                        background: 'rgba(255,255,255,0.7)'
+                    });
+                    revokeCheckPleaseVerifyCost(obj).then(res => {
+                        this.$message.success("操作成功");
+                        this.$emit('billsDetailfun')
+                    }).finally(() => {
+                        loading.close();
+                    })
+                });
+            }
             if (name == 'C费用申请') {
                 if (popupReminder(this.assemblyForm, this.messageData)) {
                     this.$confirm(popupReminder(this.assemblyForm, this.messageData), {
@@ -3143,6 +3194,7 @@ export default {
                         url: '/iosBasicData/SeafreightExportF/bills/index',
                         pageStatus: 'this.$store.getters.approvalDetails',
                         pageLabel: '海运出口(F)',
+                        dc: 'C'
                     }
                     const loading = this.$loading({
                         lock: true,
@@ -3158,6 +3210,53 @@ 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
+                }
+                for (let row of this.selectionCList) {
+                    if (!row.id) {
+                        return this.$message.error("请保存费用明细");
+                    }
+                    if (row.auditStatus == 0) {
+                        return this.$message.error("未申请费用,不允许撤销");
+                    }
+                }
+                this.$confirm("确定撤销请核?", {
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).then(() => {
+                    let obj = {}
+                    obj = {
+                        srcId: this.assemblyForm.id,
+                        srcType: 'HYCK',
+                        feeCenterList: this.selectionCList,
+                        url: '/iosBasicData/SeafreightExportF/bills/index',
+                        pageStatus: 'this.$store.getters.approvalDetails',
+                        pageLabel: '海运出口(F)',
+                        dc: 'C'
+                    }
+                    const loading = this.$loading({
+                        lock: true,
+                        text: '加载中',
+                        spinner: 'el-icon-loading',
+                        background: 'rgba(255,255,255,0.7)'
+                    });
+                    revokeCheckPleaseVerifyCost(obj).then(res => {
+                        this.$message.success("操作成功");
+                        this.$emit('billsDetailfun')
+                    }).finally(() => {
+                        loading.close();
+                    })
+                });
+            }
             if (name == '提取成本') {
                 if (!this.assemblyForm.polId) {
                     return this.$message.error("请选择装货港");

+ 8 - 8
src/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/BillofLadingDetails.vue

@@ -37,8 +37,8 @@
                     </el-col>
                     <el-col :span="12">
                         <div style="border: 1px solid #000;">
-                            <el-form-item label="PLACE OF RECEIPT" prop="placeReceiptNamePrint" >
-                                <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.placeReceiptNamePrint"
+                            <el-form-item label="PLACE OF RECEIPT" prop="destinationNamePrint" >
+                                <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.destinationNamePrint"
                                           size="small" autocomplete="off" clearable >
                                 </el-input>
                             </el-form-item>
@@ -96,8 +96,8 @@
             </el-col>
             <el-col :span="7">
                 <div style="border: 1px solid #000;">
-                    <el-form-item label="PORT OF LOADING" prop="polEnName" >
-                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.polEnName"
+                    <el-form-item label="PORT OF LOADING" prop="polNamePrint" >
+                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.polNamePrint"
                                   size="small" autocomplete="off" clearable >
                         </el-input>
                     </el-form-item>
@@ -117,8 +117,8 @@
         <el-row>
             <el-col :span="7">
                 <div style="border: 1px solid #000;">
-                    <el-form-item label="PORT OF DISCHARGE" prop="destinationNamePrint" >
-                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.destinationNamePrint"
+                    <el-form-item label="PORT OF DISCHARGE" prop="podNamePrint" >
+                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.podNamePrint"
                                   size="small" autocomplete="off" clearable >
                         </el-input>
                     </el-form-item>
@@ -126,8 +126,8 @@
             </el-col>
             <el-col :span="7">
                 <div style="border: 1px solid #000;">
-                    <el-form-item label="PLACE OF DELIVERY" prop="podEnName" >
-                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.podEnName"
+                    <el-form-item label="PLACE OF DELIVERY" prop="placeDeliveryNamePrint" >
+                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.placeDeliveryNamePrint"
                                   size="small" autocomplete="off" clearable >
                         </el-input>
                     </el-form-item>

+ 8 - 8
src/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/BillofLadingDetailsM.vue

@@ -37,8 +37,8 @@
                     </el-col>
                     <el-col :span="12">
                         <div style="border: 1px solid #000;">
-                            <el-form-item label="PLACE OF RECEIPT" prop="placeReceiptNamePrint" >
-                                <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.placeReceiptNamePrint"
+                            <el-form-item label="PLACE OF RECEIPT" prop="destinationNamePrint" >
+                                <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.destinationNamePrint"
                                           size="small" autocomplete="off" clearable >
                                 </el-input>
                             </el-form-item>
@@ -96,8 +96,8 @@
             </el-col>
             <el-col :span="7">
                 <div style="border: 1px solid #000;">
-                    <el-form-item label="PORT OF LOADING" prop="polEnName" >
-                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.polEnName"
+                    <el-form-item label="PORT OF LOADING" prop="polNamePrint" >
+                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.polNamePrint"
                                   size="small" autocomplete="off" clearable >
                         </el-input>
                     </el-form-item>
@@ -117,8 +117,8 @@
         <el-row>
             <el-col :span="7">
                 <div style="border: 1px solid #000;">
-                    <el-form-item label="PORT OF DISCHARGE" prop="destinationNamePrint" >
-                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.destinationNamePrint"
+                    <el-form-item label="PORT OF DISCHARGE" prop="podNamePrint" >
+                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.podNamePrint"
                                   size="small" autocomplete="off" clearable >
                         </el-input>
                     </el-form-item>
@@ -126,8 +126,8 @@
             </el-col>
             <el-col :span="7">
                 <div style="border: 1px solid #000;">
-                    <el-form-item label="PLACE OF DELIVERY" prop="podEnName" >
-                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.podEnName"
+                    <el-form-item label="PLACE OF DELIVERY" prop="placeDeliveryNamePrint" >
+                        <el-input type="textarea" :rows="2" style="width: 100%;" v-model="documentForm.placeDeliveryNamePrint"
                                   size="small" autocomplete="off" clearable >
                         </el-input>
                     </el-form-item>

+ 1 - 1
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -1403,7 +1403,7 @@ export default {
                 this.form.polEnName = res.data.data.polEnName ? res.data.data.polEnName.split(",")[0] : null
                 this.form.polId = res.data.data.polId ? res.data.data.polId.split(",")[0] : null
                 this.form.polCode = res.data.data.polCode ? res.data.data.polCode.split(",")[0] : null
-                this.form.polNamePrint = res.data.data.polEnName ? res.data.data.polEnName.split(",")[0] : null
+                this.form.polNamePrint = res.data.data.polEnName ? res.data.data.polEnName.split(",")[0].replace(',',',') : null
                 // 签单地点 默认 装货港
                 this.$set(this.form, 'issueAtId', this.form.polId)
                 this.$set(this.form, 'issueAt', this.form.polEnName)

+ 7 - 6
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -87,7 +87,7 @@
                     <div style="margin-top: 10px">
                         <el-tabs type="card" v-model="query.billStatus" @tab-click="handleClick">
 
-                            <el-tab-pane label="全部" name="7"></el-tab-pane>
+
                             <el-tab-pane v-if="!(roleName.indexOf('总部中心') >= 0)" label="接单" name="0">
                                 <span slot="label">接单</span>
                             </el-tab-pane>
@@ -110,6 +110,7 @@
                                 <span slot="label">待请核</span>
                             </el-tab-pane>
                             <el-tab-pane label="完成" name="3"></el-tab-pane>
+                            <el-tab-pane label="全部" name="7"></el-tab-pane>
                         </el-tabs>
                     </div>
                 </template>
@@ -169,7 +170,7 @@
                 <template slot="eta" slot-scope="scope">
                     <span>{{
                         scope.row.eta ? scope.row.eta.slice(0, 10) : ""
-                    }}</span>
+                        }}</span>
                 </template>
                 <template slot="updateTime" slot-scope="scope">
                     <span>{{
@@ -543,7 +544,7 @@ export default {
             ],
             // 表格的检索条件
             query: {
-                billStatus: "7",
+                billStatus: "0",
                 billSort: "1"
             },
             // 弹窗的搜索项
@@ -746,10 +747,10 @@ export default {
                         type: "select",
                         filterable: true,
                         remote: true,
-                        dicUrl: "/api/blade-los/bvessels/list?cnName={{key}}",
+                        dicUrl: "/api/blade-los/bvessels/list?enName={{key}}",
                         props: {
-                            label: "cnName",
-                            value: "cnName",
+                            label: "enName",
+                            value: "enName",
                             res: "data.records"
                         },
                         search: true,

+ 6 - 2
src/views/iosBasicData/bcorps/detailsPage.vue

@@ -1146,7 +1146,7 @@ import { getDeptLazyTree } from "@/api/system/dept";
 import { getBcorpslistByType } from "@/api/iosBasicData/bcorps";
 import { blinesList } from "@/api/iosBasicData/blines";
 import blines from "@/views/iosBasicData/blines/index.vue";
-import { selectListLosz } from "@/api/approval/processConfig";
+import { selectListLos,selectListLos2 } from "@/api/approval/processConfig";
 import losaudit from "@/views/wel/components/losAssembly/losaudit.vue";
 import dicSelect from "@/components/dicSelect/main";
 export default {
@@ -1640,7 +1640,11 @@ export default {
     },
     // 获取业务来源业务员数据
     salesUserGetListfun(account) {
-      selectListLos('业务员').then(res => {
+      let obj={
+        roles:'业务员',
+        deptId:this.formData.branchId
+      }
+      selectListLos2(obj).then(res => {
         this.srcData = res.data.data
       })
     },

+ 3 - 3
src/views/iosBasicData/seamends/amendsDetails.vue

@@ -119,8 +119,8 @@
                         </el-col>
 
                         <el-col :span="5">
-                            <el-form-item label="船名" prop="vesselCnName">
-                                <el-input style="width: 100%;" v-model="form.vesselCnName" size="small"
+                            <el-form-item label="船名" prop="vesselEnName">
+                                <el-input style="width: 100%;" v-model="form.vesselEnName" size="small"
                                     autocomplete="off" :disabled="true" clearable placeholder="船名">
                                 </el-input>
                             </el-form-item>
@@ -405,7 +405,7 @@ export default {
                     },
                     {
                         label: "船名",
-                        prop: "vesselCnName",
+                        prop: "vesselEnName",
                         overHidden: true,
                     },
                     {

+ 3 - 3
src/views/iosBasicData/siamends/amendsDetails.vue

@@ -97,8 +97,8 @@
                         </el-col>
 
                         <el-col :span="5">
-                            <el-form-item label="船名" prop="vesselCnName">
-                                <el-input style="width: 100%;" v-model="form.vesselCnName" size="small"
+                            <el-form-item label="船名" prop="vesselEnName">
+                                <el-input style="width: 100%;" v-model="form.vesselEnName" size="small"
                                     autocomplete="off" :disabled="true" clearable placeholder="船名">
                                 </el-input>
                             </el-form-item>
@@ -384,7 +384,7 @@ export default {
                     },
                     {
                         label: "船名",
-                        prop: "vesselCnName",
+                        prop: "vesselEnName",
                         overHidden: true,
                     },
                     {