Преглед изворни кода

1.成本中心SOC COC,复制的航线成本,允许修改汇率,修改完 重新计算利润
2.海运出口 转单前,需要填写ATD,只有总公司人才可以转单
3.成本中心SOC,COC 航线多选,航线利润统计也需要显示多个 联调查询所有数据接口
4.海运出口 除了退舱tab 剩下的tabs显示退舱按钮

Qukatie пре 1 година
родитељ
комит
0bab758831
32 измењених фајлова са 722 додато и 281 уклоњено
  1. 9 1
      src/api/iosBasicData/bills.js
  2. 4 1
      src/views/boxManagement/agentBox/detailsPage.vue
  3. 4 1
      src/views/boxManagement/boxAdjustment/detailsPage.vue
  4. 6 0
      src/views/boxManagement/boxCost/detailsPage.vue
  5. 3 0
      src/views/boxManagement/boxExit/detailsPage.vue
  6. 3 0
      src/views/boxManagement/buyContainer/detailsPage.vue
  7. 3 0
      src/views/boxManagement/rentalBox/detailsPage.vue
  8. 3 3
      src/views/iosBasicData/ComputationCenter/settlementDetails.vue
  9. 74 46
      src/views/iosBasicData/OceanFreightImport/bills/assembly/EntrustmentLnformation.vue
  10. 2 2
      src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue
  11. 59 18
      src/views/iosBasicData/OceanFreightImport/bills/index.vue
  12. 5 5
      src/views/iosBasicData/PaymentApplication/finstlbillsDetails.vue
  13. 10 8
      src/views/iosBasicData/SeafreightExportF/bills/assembly/DocumentCenter.vue
  14. 196 73
      src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue
  15. 1 0
      src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue
  16. 10 7
      src/views/iosBasicData/SeafreightExportF/bills/assembly/formbottom.vue
  17. 17 7
      src/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/PurchaseNotice.vue
  18. 5 1
      src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue
  19. 62 15
      src/views/iosBasicData/SeafreightExportF/bills/index.vue
  20. 62 11
      src/views/iosBasicData/costcenter/coc/detailsPage.vue
  21. 90 18
      src/views/iosBasicData/costcenter/soc/detailsPage.vue
  22. 3 3
      src/views/iosBasicData/fininvoices/fininvoicesDetails.vue
  23. 3 3
      src/views/iosBasicData/fininvoicesApplyfor/fininvoicesDetails.vue
  24. 29 28
      src/views/iosBasicData/fininvoicesOutput/fininvoicesDetails.vue
  25. 1 1
      src/views/iosBasicData/fininvoicesOutput/index.vue
  26. 5 5
      src/views/iosBasicData/finstlbills/finstlbillsDetails.vue
  27. 4 3
      src/views/iosBasicData/loloTemplate/feesTemplateItems.vue
  28. 24 10
      src/views/iosBasicData/losbfeestemplate/feesTemplateItems.vue
  29. 7 6
      src/views/iosBasicData/podTemplate/feesTemplateItems.vue
  30. 4 3
      src/views/iosBasicData/polTemplate/feesTemplateItems.vue
  31. 6 0
      src/views/ow/owPut/detailsPage.vue
  32. 8 2
      src/views/ow/owTask/detailsPage.vue

+ 9 - 1
src/api/iosBasicData/bills.js

@@ -364,13 +364,21 @@ export const costImportBatch = (data) => {
     params: data
   })
 }
-export const increaseReinsurancePolicyTeu = (ids,id) => {
+export const increaseReinsurancePolicyTeu = (ids,id,data) => {
   return request({
     url: '/api/blade-los/bills/increaseReinsurancePolicyTeu',
     method: 'post',
      params: {
       ids,
       id,
+      ...data
     }
   })
+}
+export const pleaseVerifyCostBatch = (data) => {
+  return request({
+    url: '/api/blade-los/expenseapplication/pleaseVerifyCostBatch',
+    method: 'get',
+    params:data
+  })
 }

+ 4 - 1
src/views/boxManagement/agentBox/detailsPage.vue

@@ -1542,8 +1542,11 @@ export default {
       if (name == 'curCodeC') {
         if (row) {
           el.exrate = row.exratePayable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'feeCnName') {
@@ -2052,7 +2055,7 @@ export default {
         });
         submitFeeList(this.form.feeCenterList).then(res => {
           this.$message.success("保存成功");
-             this.getDetail(this.form.id)
+          this.getDetail(this.form.id)
         }).finally(() => {
           loading.close();
         })

+ 4 - 1
src/views/boxManagement/boxAdjustment/detailsPage.vue

@@ -1370,8 +1370,11 @@ export default {
       if (name == 'curCodeC') {
         if (row) {
           el.exrate = row.exratePayable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'feeCnName') {
@@ -1764,7 +1767,7 @@ export default {
         });
         submitFeeList(this.form.feeCenterList).then(res => {
           this.$message.success("保存成功");
-           this.getDetail(this.form.id)
+          this.getDetail(this.form.id)
         }).finally(() => {
           loading.close();
         })

+ 6 - 0
src/views/boxManagement/boxCost/detailsPage.vue

@@ -1870,15 +1870,21 @@ export default {
       if (name == 'curCodeD') {
         if (row) {
           el.exrate = row.exrateReceivable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'curCodeC') {
         if (row) {
           el.exrate = row.exratePayable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'feeCnName') {

+ 3 - 0
src/views/boxManagement/boxExit/detailsPage.vue

@@ -1386,8 +1386,11 @@ export default {
       if (name == 'curCodeC') {
         if (row) {
           el.exrate = row.exratePayable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'feeCnName') {

+ 3 - 0
src/views/boxManagement/buyContainer/detailsPage.vue

@@ -1356,8 +1356,11 @@ export default {
       if (name == 'curCodeC') {
         if (row) {
           el.exrate = row.exratePayable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'feeCnName') {

+ 3 - 0
src/views/boxManagement/rentalBox/detailsPage.vue

@@ -1589,8 +1589,11 @@ export default {
       if (name == 'curCodeC') {
         if (row) {
           el.exrate = row.exratePayable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'feeCnName') {

+ 3 - 3
src/views/iosBasicData/ComputationCenter/settlementDetails.vue

@@ -464,9 +464,9 @@ export default {
                     message: '',
                     trigger: 'blur'
                 },],
-                corpCnName: [
-                    { required: true, message: '请输入付费对象', trigger: 'blur' },
-                ],
+                // corpCnName: [
+                //     { required: true, message: '请输入付费对象', trigger: 'blur' },
+                // ],
                 // bankId: [
                 //     { required: true, message: '请输入开户银行', trigger: 'blur' },
                 // ],

+ 74 - 46
src/views/iosBasicData/OceanFreightImport/bills/assembly/EntrustmentLnformation.vue

@@ -449,7 +449,8 @@
                                     <span slot="label">
                                         <span style="color: #1e9fff">ETA</span>
                                     </span>
-                                    <el-date-picker v-model="assemblyForm.eta" style="width: 100%" clearable type="date" size="small"
+                                    <el-date-picker v-model="assemblyForm.eta" style="width: 100%" clearable type="date"
+                                        size="small"
                                         :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.auditStatus > 0).length || assemblyForm.feeCenterListC.filter(item => item.auditStatus > 0).length"
                                         value-format="yyyy-MM-dd" placeholder="选择日期">
                                     </el-date-picker>
@@ -816,42 +817,51 @@
                 </el-col>
             </el-row>
             <el-row>
-                <el-col :span="12">
-                    <el-col :span="12">
-                        <el-form-item label="POD场站" prop="podCyCnName">
-                            <span slot="label">
-                                <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
-                                    @click="emailJump('cy')">POD场站</span>
-                            </span>
-                            <search-query :datalist="podCyData" :selectValue="assemblyForm.podCyCnName"
-                                :filterable="true" :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
-                                :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
-                                @remoteMethod="remoteMethod($event, 'podCyCnName')"
-                                @corpChange="corpChange($event, 'podCyCnName')"
-                                @corpFocus="remoteMethod($event, 'podCyCnName')">
-                            </search-query>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="12">
-                        <el-form-item label="联系人" prop="podCyContacts">
-                            <span slot="label">
-                                <span style="color: #1e9fff">联系人</span>
-                            </span>
-                            <!--<el-input type="age" style="width: 100%;" v-model="assemblyForm.cyContacts"-->
-                            <!--          size="small" autocomplete="off"-->
-                            <!--          :disabled="detailData.seeDisabled || generateBillsfalse"-->
-                            <!--          clearable placeholder="请输入联系人" ></el-input>-->
-                            <search-query :datalist="podCyCnNameData" :selectValue="assemblyForm.podCyContacts"
-                                :filterable="true" :clearable="true"
-                                :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
-                                :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
-                                placeholder="联系人" @corpChange="corpChange($event, 'cyContacts')"
-                                @corpFocus="remoteMethod($event, 'cyContacts')">
-                            </search-query>
-                        </el-form-item>
-                    </el-col>
+                <el-col :span="6">
+                    <el-form-item label="POD场站" prop="podCyCnName">
+                        <span slot="label">
+                            <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
+                                @click="emailJump('cy')">POD场站</span>
+                        </span>
+                        <search-query :datalist="podCyData" :selectValue="assemblyForm.podCyCnName" :filterable="true"
+                            :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
+                            :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
+                            @remoteMethod="remoteMethod($event, 'podCyCnName')"
+                            @corpChange="corpChange($event, 'podCyCnName')"
+                            @corpFocus="remoteMethod($event, 'podCyCnName')">
+                        </search-query>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="联系人" prop="podCyContacts">
+                        <span slot="label">
+                            <span style="color: #1e9fff">联系人</span>
+                        </span>
+                        <!--<el-input type="age" style="width: 100%;" v-model="assemblyForm.cyContacts"-->
+                        <!--          size="small" autocomplete="off"-->
+                        <!--          :disabled="detailData.seeDisabled || generateBillsfalse"-->
+                        <!--          clearable placeholder="请输入联系人" ></el-input>-->
+                        <search-query :datalist="podCyCnNameData" :selectValue="assemblyForm.podCyContacts"
+                            :filterable="true" :clearable="true"
+                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
+                            :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
+                            placeholder="联系人" @corpChange="corpChange($event, 'podCyContacts')"
+                            @corpFocus="remoteMethod($event, 'podCyContacts')">
+                        </search-query>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="电话" prop="podCyTel">
+                        <span slot="label">
+                            <span style="color: #1e9fff">电话</span>
+                        </span>
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.podCyTel" size="small"
+                            autocomplete="off"
+                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName" clearable
+                            placeholder="电话"></el-input>
+                    </el-form-item>
                 </el-col>
-                <el-col :span="12">
+                <el-col :span="6">
                     <el-form-item label="地址" prop="podCyAddress">
                         <span slot="label">
                             <span style="color: #1e9fff">地址</span>
@@ -1423,13 +1433,18 @@ export default {
             // 场站
             else if (name == 'cy') {
                 this.cyBcorpslistByType(value)
-            } else if (name == 'podCyCnName') {
-                this.cyBcorpslistByType2(value)
             }
             // 场站联系人
-            else if (name == 'podCyCnName') {
+            else if (name == 'cyContacts') {
                 this.cyBcorpsattnListfun()
             }
+            else if (name == 'podCyCnName') {
+                this.cyBcorpslistByType2(value)
+            }
+            
+            else if (name == 'podCyContacts') {
+                this.cyBcorpsattnListfun2()
+            }
             // 货物
             // else if (name == 'commodity') {
             //     this.commodityBcommodityListfun(value)
@@ -1726,7 +1741,8 @@ export default {
                         })
                     }
                 }
-            } else if (name == 'podCyCnName') {
+            } 
+              else if (name == 'podCyCnName') {
                 if (!value) {
                     this.$set(this.assemblyForm, 'podCyId', '')
                     this.$set(this.assemblyForm, 'podCyCode', '')
@@ -1747,14 +1763,11 @@ export default {
                         this.$set(this.assemblyForm, 'podCyEnName', item.enName)
                         // this.$set(this.assemblyForm, 'cyRemarks', item.details) // 客户里的详情信息
                         // 查询场站联系人
-                        getBcorpsattnList(1, 20, {
-                            pid: this.assemblyForm.cyId
-                        }).then(res => {
+                        getBcorpsattnList(1, 20, { pid: this.assemblyForm.podCyId }).then(res => {
                             if (res.data.data.records.length > 0) {
                                 this.$set(this.assemblyForm, 'podCyTel', res.data.data.records[0].tel)
                                 this.$set(this.assemblyForm, 'podCyAddress', res.data.data.records[0].addr)
-                                this.$set(this.assemblyForm, 'podCyContacts', res.data.data.records[0]
-                                    .cname)
+                                this.$set(this.assemblyForm, 'podCyContacts', res.data.data.records[0].cname)
                             }
                         })
                     }
@@ -1774,7 +1787,22 @@ export default {
                         this.$set(this.assemblyForm, 'cyContacts', item.cname)
                     }
                 }
-            } else {
+            }
+            else if (name == 'podCyContacts') {
+                if (!value) {
+                    this.$set(this.assemblyForm, 'podCyTel', '')
+                    this.$set(this.assemblyForm, 'podCyAddress', '')
+                    this.$set(this.assemblyForm, 'podCyContacts', '')
+                }
+                for (let item of this.podCyCnNameData) {
+                    if (item.cname == value) {
+                        this.$set(this.assemblyForm, 'podCyTel', item.tel)
+                        this.$set(this.assemblyForm, 'podCyAddress', item.addr)
+                        this.$set(this.assemblyForm, 'podCyContacts', item.cname)
+                    }
+                }
+            }
+            else {
                 this.$set(this.assemblyForm, name, value ? value : '')
             }
         },

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

@@ -3014,8 +3014,8 @@ export default {
         allClick(name, type) {
             if (name == '付费申请') {
                 if (this.selectionCList.length == 0) return this.$message.error("请选择费用");
-                if (this.selectionCList.length != this.selectionCList.filter(e => e.corpCnName == this
-                    .selectionCList[0].corpCnName).length) return this.$message.error("请选择相同的结算单位");
+                if (this.selectionCList.filter(e => e.auditStatus != 4).length) return this.$message.error("请选择审核通过的费用");
+                if (this.selectionCList.length != this.selectionCList.filter(e => e.corpCnName == this.selectionCList[0].corpCnName).length) return this.$message.error("请选择相同的结算单位");
                 if (this.$store.getters.payAppStatus) {
                     this.$alert("付费申请页面已存在,请关闭付费申请再进行操作", "温馨提示", {
                         confirmButtonText: "确定",

+ 59 - 18
src/views/iosBasicData/OceanFreightImport/bills/index.vue

@@ -30,7 +30,7 @@
                     </el-button>
                     <el-button type="success" size="small" plain @click="increaseMawb">分单->主单
                     </el-button>
-                    <el-button type="warning" size="small" plain v-if="query.billStatus == 0" @click="Disembarkingfun">退
+                    <el-button type="warning" size="small" plain v-if="query.billStatus !=1" @click="Disembarkingfun">退
                     </el-button>
                     <el-button type="primary" size="small" plain v-if="query.billStatus == 1"
@@ -50,11 +50,19 @@
                     </el-button>
                     <el-button type="warning" size="small" @click="outExport">导 出
                     </el-button>
+                    <el-button
+                        v-if="roleName.indexOf('admin') >= 0 || roleName.indexOf('应收修改') >= 0 || roleName.indexOf('应收查看') >= 0"
+                        type="primary" size="small" @click="pleaseVerify('D')" :disabled="!selectionList.length">请核应收
+                    </el-button>
+                    <el-button
+                        v-if="roleName.indexOf('admin') >= 0 || roleName.indexOf('应付修改') >= 0 || roleName.indexOf('应付查看') >= 0"
+                        type="warning" size="small" @click="pleaseVerify('C')" :disabled="!selectionList.length">请核应付
+                    </el-button>
                     <el-button type="success" size="small" @click="checkBills" :disabled="!selectionList.length">单据请核
                     </el-button>
                     <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 label="接单" name="0">
                                 <span slot="label">接单</span>
@@ -214,7 +222,8 @@ import {
     billsRevokeDisembarking,
     templateImportBatch,
     checkBillsBatch,
-    increaseReinsurancePolicyTeu
+    increaseReinsurancePolicyTeu,
+    pleaseVerifyCostBatch
 } from "@/api/iosBasicData/bills";
 import { mapGetters } from "vuex";
 import billsDetails from "@/views/iosBasicData/OceanFreightImport/bills/billsDetails.vue";
@@ -933,7 +942,7 @@ export default {
                         width: "100",
                         overHidden: true
                     },
-                      {
+                    {
                         label: "订舱TEU",
                         prop: "teuTotal",
                         width: "100",
@@ -1399,7 +1408,7 @@ export default {
             this.mawbOptionBack
         ); // 主单列表
         if (this.saberUserInfo.role_name.indexOf('admin') != -1 || this.saberUserInfo.role_name.indexOf('总部') != -1) {
-            this.option.searchMenuSpan = 6
+            this.option.searchMenuSpan = 24
             this.option.column.forEach(item => {
                 if (item.prop == 'branchId') {
                     item.search = true
@@ -1584,6 +1593,36 @@ export default {
                 loading.close();
             })
         },
+        pleaseVerify(dc) {
+            let ids = []
+            for (let item of this.selectionList) {
+                ids.push(item.id)
+            }
+            let obj = {
+                type: 'HYJK',
+                dc: dc,
+                ids: ids.join(",")
+            }
+            this.$confirm('是否请核费用?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                const loading = this.$loading({
+                    lock: true,
+                    text: '加载中',
+                    spinner: 'el-icon-loading',
+                    background: 'rgba(255,255,255,0.7)'
+                });
+                pleaseVerifyCostBatch(obj).then(res => {
+                    this.$message.success("操作成功");
+                    this.refreshChange()
+                }).finally(() => {
+                    loading.close();
+                })
+            })
+
+        },
         // 左侧选择
         nodeClick(e) {
             this.templateId = e.id
@@ -1809,19 +1848,19 @@ export default {
                     this.$message.warning("请选择分单");
                     return;
                 }
-                if (obj.placeReceiptId != item.placeReceiptId) {
-                    // 收货地
-                    this.$message.warning("请选择收货地相同的");
+                if (obj.polId != item.polId) {
+                    // 装货港一样
+                    this.$message.error("请选择装货港相同的单据");
                     return;
                 }
-                if (obj.polId != item.polId) {
+                if (obj.podId != item.podId) {
                     // 装货港一样
-                    this.$message.warning("请选择装货港相同的");
+                    this.$message.error("请选择卸货港相同的单据");
                     return;
                 }
             }
-            this.mawbQuery.placeReceiptName = obj.placeReceiptName;
-            this.mawbQuery.polCnName = obj.polCnName;
+            // this.mawbQuery.placeReceiptName = obj.placeReceiptName;
+            // this.mawbQuery.polCnName = obj.polCnName;
             this.$nextTick(() => {
                 this.dialogVisible = true;
                 this.mawbOnLoad(this.mawbPage);
@@ -1893,7 +1932,7 @@ export default {
                 this.$message.error("此单据已审核通过,请重新选择!");
                 return;
             }
-           increaseReinsurancePolicyTeu(this.ids, this.dialogRadio).then(res => {
+            increaseReinsurancePolicyTeu(this.ids, this.dialogRadio).then(res => {
                 if (res.data.data == '操作成功') {
                     this.billsIncreaseReinsurancePolicyfun(this.ids, this.dialogRadio);
                 } else {
@@ -2264,13 +2303,15 @@ export default {
         // 弹窗表格获取数据
         mawbOnLoad(page, params = {}) {
             this.mawbloading = true;
-            billsList(page.currentPage, page.pageSize, {
+            billsListAll({
                 ...Object.assign(params, this.mawbQuery),
-                businessType: "SI"
+                businessType: "SI",
+                polId: this.selectionList[0].polId,
+                podId: this.selectionList[0].podId
             }).then(res => {
                 const data = res.data.data;
-                this.mawbPage.total = data.total;
-                this.mawbData = data.records;
+                // this.mawbPage.total = data.total;
+                this.mawbData = data;
                 this.mawbloading = false;
             });
         },
@@ -2317,7 +2358,7 @@ export default {
                 this[optionBack]
             );
             if (this.saberUserInfo.role_name.indexOf('admin') != -1 || this.saberUserInfo.role_name.indexOf('总部') != -1) {
-                this.option.searchMenuSpan = 6
+                this.option.searchMenuSpan = 24
                 this.option.column.forEach(item => {
                     if (item.prop == 'branchId') {
                         item.search = true

+ 5 - 5
src/views/iosBasicData/PaymentApplication/finstlbillsDetails.vue

@@ -500,11 +500,11 @@ export default {
                     message: '',
                     trigger: 'blur'
                 },],
-                corpCnName: [{
-                    required: true,
-                    message: '请输入付费对象',
-                    trigger: 'blur'
-                },],
+                // corpCnName: [{
+                //     required: true,
+                //     message: '请输入付费对象',
+                //     trigger: 'blur'
+                // },],
                 // bankId: [
                 //     { required: true, message: '请输入开户银行', trigger: 'blur' },
                 // ],

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

@@ -48,9 +48,9 @@
             <BillofLadingDetails
                 v-else-if="businesstypeData.reportsType == 'TDXQ' || businesstypeData.reportsType == 'DCWTS'"
                 :documentForm="documentForm"></BillofLadingDetails>
-                <BillofLadingDetailsM
-                v-else-if="businesstypeData.reportsType == 'MBL BOOKING SHEET'"
-                :documentForm="documentForm"></BillofLadingDetailsM>
+            <BillofLadingDetailsM v-else-if="businesstypeData.reportsType == 'MBL BOOKING SHEET'"
+                :documentForm="documentForm">
+            </BillofLadingDetailsM>
             <span slot="footer" class="dialog-footer">
                 <!--<el-button type="success" @click="documentSubmit(true)" >保存并打印</el-button>-->
                 <el-button v-if="addShow" type="success" :disabled="!documentForm.id"
@@ -110,11 +110,11 @@ import { isProcurement } from "@/api/basicData/configuration";
 export default {
     components: {
         businessReports,
-        BillofLadingDetails,BillofLadingDetailsM, reportContainer, reportformsList, bbusinesstype, DispatchNotice, PurchaseNotice
+        BillofLadingDetails, BillofLadingDetailsM, reportContainer, reportformsList, bbusinesstype, DispatchNotice, PurchaseNotice
     },
     data() {
         return {
-            textareaNumber:5,
+            textareaNumber: 5,
             previewDialog: false, // 打印预览弹窗
             PreviewOption: {}, // 打印预览弹窗的配置项
             PreviewOptionBack: {
@@ -315,7 +315,7 @@ export default {
         this.documentOption = await this.getColumnData(this.getColumnName(312.1), this.documentOptionBack);
         this.PreviewOption = await this.getColumnData(this.getColumnName(312.3), this.PreviewOptionBack);
         isProcurement({ "param": "textarea.number" }).then(res => {
-            if(res.data.data){
+            if (res.data.data) {
                 this.textareaNumber = res.data.data
             }
         })
@@ -332,7 +332,7 @@ export default {
             const data = await this.PreviewOnLoad(this.PreviewPage, {
                 businessType: 'HYCK',
                 classifyCode: '单证',
-                groupCode: row.groupCode=='提单详情(H)'?'提单详情':row.groupCode
+                groupCode: row.groupCode == '提单详情(H)' ? '提单详情' : row.groupCode
             });
             this.$nextTick(() => {
                 if (data.length == 1) {
@@ -441,11 +441,13 @@ export default {
             reportsGetReportData({
                 billId: this.assemblyForm.id,
                 reportCode: this.businesstypeData.classifyCode,
-                groupCode: this.businesstypeData.groupCode=='提单详情(H)'?'提单详情':this.businesstypeData.groupCode,
+                groupCode: this.businesstypeData.groupCode == '提单详情(H)' ? '提单详情' : this.businesstypeData.groupCode,
                 reportsType: this.businesstypeData.reportsType,
                 type: 'HYCK'
             }).then(res => {
                 this.editData.groupCode = this.businesstypeData.groupCode
+                res.data.data.data.vgmDeadline = res.data.data.data.cyTrailerTime
+                res.data.data.data.vgmDeadline2 = res.data.data.data.cyReturnTime
                 this.documentForm = res.data.data.data
                 // 联系人
                 this.documentForm.corpAttnName = this.documentForm.corpAttnName + '' + this.documentForm.corpAttnTel

+ 196 - 73
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -741,42 +741,51 @@
                 </el-col>
             </el-row>
             <el-row>
-                <el-col :span="12">
-                    <el-col :span="12">
-                        <el-form-item label="POL场站" prop="cyCnName">
-                            <span slot="label">
-                                <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
-                                    @click="emailJump('cy')">POL场站</span>
-                            </span>
-                            <!--                            :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"-->
-                            <search-query :datalist="cyData" :selectValue="assemblyForm.cyCnName" :filterable="true"
-                                :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
-                                :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
-                                @remoteMethod="remoteMethod($event, 'cy')" @corpChange="corpChange($event, 'cy')"
-                                @corpFocus="remoteMethod($event, 'cy')">
-                            </search-query>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="12">
-                        <el-form-item label="联系人" prop="cyContacts">
-                            <span slot="label">
-                                <span style="color: #1e9fff">联系人</span>
-                            </span>
-                            <!--<el-input type="age" style="width: 100%;" v-model="assemblyForm.cyContacts"-->
-                            <!--          size="small" autocomplete="off"-->
-                            <!--          :disabled="detailData.seeDisabled || generateBillsfalse"-->
-                            <!--          clearable placeholder="请输入联系人" ></el-input>-->
-                            <search-query :datalist="cyContactsData" :selectValue="assemblyForm.cyContacts"
-                                :filterable="true" :clearable="true"
-                                :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName"
-                                :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
-                                placeholder="联系人" @corpChange="corpChange($event, 'cyContacts')"
-                                @corpFocus="remoteMethod($event, 'cyContacts')">
-                            </search-query>
-                        </el-form-item>
-                    </el-col>
+                <el-col :span="6">
+                    <el-form-item label="POL场站" prop="cyCnName">
+                        <span slot="label">
+                            <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
+                                @click="emailJump('cy')">POL场站</span>
+                        </span>
+                        <!--                            :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"-->
+                        <search-query :datalist="cyData" :selectValue="assemblyForm.cyCnName" :filterable="true"
+                            :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
+                            :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
+                            @remoteMethod="remoteMethod($event, 'cy')" @corpChange="corpChange($event, 'cy')"
+                            @corpFocus="remoteMethod($event, 'cy')">
+                        </search-query>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="联系人" prop="cyContacts">
+                        <span slot="label">
+                            <span style="color: #1e9fff">联系人</span>
+                        </span>
+                        <!--<el-input type="age" style="width: 100%;" v-model="assemblyForm.cyContacts"-->
+                        <!--          size="small" autocomplete="off"-->
+                        <!--          :disabled="detailData.seeDisabled || generateBillsfalse"-->
+                        <!--          clearable placeholder="请输入联系人" ></el-input>-->
+                        <search-query :datalist="cyContactsData" :selectValue="assemblyForm.cyContacts"
+                            :filterable="true" :clearable="true"
+                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName"
+                            :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
+                            placeholder="联系人" @corpChange="corpChange($event, 'cyContacts')"
+                            @corpFocus="remoteMethod($event, 'cyContacts')">
+                        </search-query>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="电话" prop="cyTel">
+                        <span slot="label">
+                            <span style="color: #1e9fff">电话</span>
+                        </span>
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.cyTel" size="small"
+                            autocomplete="off"
+                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName" clearable
+                            placeholder="电话"></el-input>
+                    </el-form-item>
                 </el-col>
-                <el-col :span="12">
+                <el-col :span="6">
                     <el-form-item label="地址" prop="cyAddress">
                         <span slot="label">
                             <span style="color: #1e9fff">地址</span>
@@ -789,42 +798,99 @@
                 </el-col>
             </el-row>
             <el-row>
-                <el-col :span="12">
-                    <el-col :span="12">
-                        <el-form-item label="POD场站" prop="podCyCnName">
-                            <span slot="label">
-                                <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
-                                    @click="emailJump('cy')">POD场站</span>
-                            </span>
-                            <search-query :datalist="podCyData" :selectValue="assemblyForm.podCyCnName"
-                                :filterable="true" :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
-                                :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
-                                @remoteMethod="remoteMethod($event, 'podCyCnName')"
-                                @corpChange="corpChange($event, 'podCyCnName')"
-                                @corpFocus="remoteMethod($event, 'podCyCnName')">
-                            </search-query>
-                        </el-form-item>
-                    </el-col>
-                    <el-col :span="12">
-                        <el-form-item label="联系人" prop="podCyContacts">
-                            <span slot="label">
-                                <span style="color: #1e9fff">联系人</span>
-                            </span>
-                            <!--<el-input type="age" style="width: 100%;" v-model="assemblyForm.cyContacts"-->
-                            <!--          size="small" autocomplete="off"-->
-                            <!--          :disabled="detailData.seeDisabled || generateBillsfalse"-->
-                            <!--          clearable placeholder="请输入联系人" ></el-input>-->
-                            <search-query :datalist="podCyCnNameData" :selectValue="assemblyForm.podCyContacts"
-                                :filterable="true" :clearable="true"
-                                :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
-                                :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
-                                placeholder="联系人" @corpChange="corpChange($event, 'cyContacts')"
-                                @corpFocus="remoteMethod($event, 'cyContacts')">
-                            </search-query>
-                        </el-form-item>
-                    </el-col>
+                <el-col :span="6">
+                    <el-form-item label="POD场站" prop="podCyCnName">
+                        <span slot="label">
+                            <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
+                                @click="emailJump('cy')">POD场站</span>
+                        </span>
+                        <search-query :datalist="podCyData" :selectValue="assemblyForm.podCyCnName" :filterable="true"
+                            :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
+                            :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
+                            @remoteMethod="remoteMethod($event, 'podCyCnName')"
+                            @corpChange="corpChange($event, 'podCyCnName')"
+                            @corpFocus="remoteMethod($event, 'podCyCnName')">
+                        </search-query>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="联系人" prop="c">
+                        <span slot="label">
+                            <span style="color: #1e9fff">联系人</span>
+                        </span>
+                        <search-query :datalist="podCyCnNameData" :selectValue="assemblyForm.podCyContacts"
+                            :filterable="true" :clearable="true"
+                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
+                            :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
+                            placeholder="联系人" @corpChange="corpChange($event, 'podCyContacts')"
+                            @corpFocus="remoteMethod($event, 'podCyContacts')">
+                        </search-query>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="电话" prop="podCyTel">
+                        <span slot="label">
+                            <span style="color: #1e9fff">电话</span>
+                        </span>
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.podCyTel" size="small"
+                            autocomplete="off"
+                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
+                            clearable placeholder="电话"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="地址" prop="podCyAddress">
+                        <span slot="label">
+                            <span style="color: #1e9fff">地址</span>
+                        </span>
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.podCyAddress" size="small"
+                            autocomplete="off"
+                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
+                            clearable placeholder="地址"></el-input>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+            <el-row>
+                <el-col :span="6">
+                    <el-form-item label="集港码头" prop="portTerminalCyCnName">
+                        <span slot="label">
+                            <span style="color: #1e9fff">集港码头</span>
+                        </span>
+                        <search-query :datalist="portTerminalData" :selectValue="assemblyForm.portTerminalCyCnName"
+                            :filterable="true" :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
+                            :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择集港码头"
+                            @remoteMethod="remoteMethod($event, 'portTerminalCyCnName')"
+                            @corpChange="corpChange($event, 'portTerminalCyCnName')"
+                            @corpFocus="remoteMethod($event, 'portTerminalCyCnName')">
+                        </search-query>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="联系人" prop="c">
+                        <span slot="label">
+                            <span style="color: #1e9fff">联系人</span>
+                        </span>
+                        <search-query :datalist="podCyCnNameData" :selectValue="assemblyForm.podCyContacts"
+                            :filterable="true" :clearable="true"
+                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
+                            :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
+                            placeholder="联系人" @corpChange="corpChange($event, 'podCyContacts')"
+                            @corpFocus="remoteMethod($event, 'podCyContacts')">
+                        </search-query>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="6">
+                    <el-form-item label="电话" prop="podCyTel">
+                        <span slot="label">
+                            <span style="color: #1e9fff">电话</span>
+                        </span>
+                        <el-input type="age" style="width: 100%;" v-model="assemblyForm.podCyTel" size="small"
+                            autocomplete="off"
+                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.podCyCnName"
+                            clearable placeholder="电话"></el-input>
+                    </el-form-item>
                 </el-col>
-                <el-col :span="12">
+                <el-col :span="6">
                     <el-form-item label="地址" prop="podCyAddress">
                         <span slot="label">
                             <span style="color: #1e9fff">地址</span>
@@ -1090,6 +1156,7 @@ export default {
             // 场站
             cyData: [],
             podCyData: [],
+            portTerminalData: [],
             cyContactsData: [], // 场站联系人
             podCyCnNameData: [],
             // 多选的数据
@@ -1352,12 +1419,20 @@ export default {
             else if (name == 'cy') {
                 this.cyBcorpslistByType(value)
             }
+            // 场站联系人
+            else if (name == 'cyContacts') {
+                this.cyBcorpsattnListfun()
+            }
             else if (name == 'podCyCnName') {
                 this.cyBcorpslistByType2(value)
             }
             // 场站联系人
-            else if (name == 'podCyCnName') {
-                this.cyBcorpsattnListfun()
+            else if (name == 'podCyContacts') {
+                this.cyBcorpsattnListfun2()
+            }
+            // 码头
+            else if (name == 'portTerminalCyCnName') {
+                this.cyBcorpslistByType3()
             }
             // 货物
             // else if (name == 'commodity') {
@@ -1677,7 +1752,7 @@ export default {
                         this.$set(this.assemblyForm, 'podCyEnName', item.enName)
                         // this.$set(this.assemblyForm, 'cyRemarks', item.details) // 客户里的详情信息
                         // 查询场站联系人
-                        getBcorpsattnList(1, 20, { pid: this.assemblyForm.cyId }).then(res => {
+                        getBcorpsattnList(1, 20, { pid: this.assemblyForm.podCyId }).then(res => {
                             if (res.data.data.records.length > 0) {
                                 this.$set(this.assemblyForm, 'podCyTel', res.data.data.records[0].tel)
                                 this.$set(this.assemblyForm, 'podCyAddress', res.data.data.records[0].addr)
@@ -1687,6 +1762,34 @@ export default {
                     }
                 }
             }
+            else if (name == 'portTerminalCyCnName') {
+                if (!value) {
+                    this.$set(this.assemblyForm, 'portTerminalCyId', '')
+                    this.$set(this.assemblyForm, 'portTerminalCyCode', '')
+                    this.$set(this.assemblyForm, 'portTerminalCyCnName', '')
+                    this.$set(this.assemblyForm, 'portTerminalCyEnName', '')
+                    // 联系人
+                    this.$set(this.assemblyForm, 'portTerminalCyTel', '')
+                    this.$set(this.assemblyForm, 'portTerminalCyAddress', '')
+                    this.$set(this.assemblyForm, 'portTerminalCyContacts', '')
+                }
+                for (let item of this.podCyData) {
+                    if (item.cnName == value) {
+                        this.$set(this.assemblyForm, 'portTerminalCyId', item.id)
+                        this.$set(this.assemblyForm, 'portTerminalCyCode', item.code)
+                        this.$set(this.assemblyForm, 'portTerminalCyCnName', item.cnName)
+                        this.$set(this.assemblyForm, 'portTerminalCyEnName', item.enName)
+                        // 查询场站联系人
+                        getBcorpsattnList(1, 20, { pid: this.assemblyForm.portTerminalCyId }).then(res => {
+                            if (res.data.data.records.length > 0) {
+                                this.$set(this.assemblyForm, 'portTerminalCyTel', res.data.data.records[0].tel)
+                                this.$set(this.assemblyForm, 'portTerminalCyAddress', res.data.data.records[0].addr)
+                                this.$set(this.assemblyForm, 'portTerminalCyContacts', res.data.data.records[0].cname)
+                            }
+                        })
+                    }
+                }
+            }
             // 场站联系人
             else if (name == 'cyContacts') {
                 if (!value) {
@@ -1702,6 +1805,20 @@ export default {
                     }
                 }
             }
+            else if (name == 'podCyContacts') {
+                if (!value) {
+                    this.$set(this.assemblyForm, 'podCyTel', '')
+                    this.$set(this.assemblyForm, 'podCyAddress', '')
+                    this.$set(this.assemblyForm, 'podCyContacts', '')
+                }
+                for (let item of this.podCyCnNameData) {
+                    if (item.cname == value) {
+                        this.$set(this.assemblyForm, 'podCyTel', item.tel)
+                        this.$set(this.assemblyForm, 'podCyAddress', item.addr)
+                        this.$set(this.assemblyForm, 'podCyContacts', item.cname)
+                    }
+                }
+            }
             else {
                 this.$set(this.assemblyForm, name, value ? value : '')
             }
@@ -1891,6 +2008,12 @@ export default {
                 this.podCyData = res.data.data.records
             })
         },
+        cyBcorpslistByType3(cnName) {
+            let corpTypeName = '码头'
+            getBcorpslistByType(1, 10, { cnName, status: 0, corpTypeName }).then(res => {
+                this.portTerminalData = res.data.data.records
+            })
+        },
         // 获取场站下的联系人数据
         cyBcorpsattnListfun() {
             getBcorpsattnList(1, 20, { pid: this.assemblyForm.cyId }).then(res => {

+ 1 - 0
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -2947,6 +2947,7 @@ export default {
         allClick(name, type) {
             if (name == '付费申请') {
                 if (this.selectionCList.length == 0) return this.$message.error("请选择费用");
+                if (this.selectionCList.filter(e => e.auditStatus != 4).length) return this.$message.error("请选择审核通过的费用");
                 if (this.selectionCList.length != this.selectionCList.filter(e => e.corpCnName == this.selectionCList[0].corpCnName).length) return this.$message.error("请选择相同的结算单位");
                 if (this.$store.getters.payAppStatus) {
                     this.$alert("付费申请页面已存在,请关闭付费申请再进行操作", "温馨提示", {

+ 10 - 7
src/views/iosBasicData/SeafreightExportF/bills/assembly/formbottom.vue

@@ -18,8 +18,8 @@
                         <span slot="label">
                             <span style="color: #1e9fff">截单时间</span>
                         </span>
-                        <el-date-picker v-model="assemblyForm.cyTrailerTime" type="date" style="width: 100%;"
-                            value-format="yyyy-MM-dd HH:mm" size="small"
+                        <el-date-picker v-model="assemblyForm.cyTrailerTime" type="datetime" style="width: 100%;"
+                            format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small"
                             :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
                             placeholder="请选择截单时间">
                         </el-date-picker>
@@ -30,8 +30,8 @@
                         <span slot="label">
                             <span style="color: #1e9fff">截港时间</span>
                         </span>
-                        <el-date-picker v-model="assemblyForm.cyReturnTime" type="date" style="width: 100%;"
-                            value-format="yyyy-MM-dd HH:mm" size="small"
+                        <el-date-picker v-model="assemblyForm.cyReturnTime" type="datetime" style="width: 100%;"
+                            format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small"
                             :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
                             placeholder="请选择截港时间">
                         </el-date-picker>
@@ -141,7 +141,8 @@
                         </span>
                         <div>
                             <el-input v-model="assemblyForm.polFreeBoxUseDays" size="small" :controls="false"
-                                style="width: 100%;" placeholder="请输入POL免箱使天数" :disabled="detailData.seeDisabled"></el-input>
+                                style="width: 100%;" placeholder="请输入POL免箱使天数"
+                                :disabled="detailData.seeDisabled"></el-input>
                         </div>
 
                     </el-form-item>
@@ -153,7 +154,8 @@
                         </span>
                         <div>
                             <el-input v-model="assemblyForm.podFreeBoxUseDays" size="small" :controls="false"
-                                style="width: 100%;" placeholder="请输入POD免箱使天数" :disabled="detailData.seeDisabled"></el-input>
+                                style="width: 100%;" placeholder="请输入POD免箱使天数"
+                                :disabled="detailData.seeDisabled"></el-input>
                         </div>
 
                     </el-form-item>
@@ -345,7 +347,8 @@
                         </span>
                         <div>
                             <el-input v-model="assemblyForm.weightLimit" size="small" :controls="false"
-                                style="width: 100%;" placeholder="请输入限制重量(吨)" :disabled="detailData.seeDisabled"></el-input>
+                                style="width: 100%;" placeholder="请输入限制重量(吨)"
+                                :disabled="detailData.seeDisabled"></el-input>
                         </div>
 
                     </el-form-item>

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

@@ -82,8 +82,9 @@
                     <el-date-picker v-model="documentForm.goodsTime" clearable style="width: 160px" type="date"
                         size="small" value-format="yyyy-MM-dd" placeholder="请选择日期">
                     </el-date-picker>
-                    <el-time-select v-model="documentForm.goodsTime2" format="HH:mm:ss" value-format="HH:mm:ss" style="width: 140px" placeholder="请选择时间"
-                                    :picker-options="{start: '00:00',step: '00:30',end: '23:30'}" size="small">
+                    <el-time-select v-model="documentForm.goodsTime2" format="HH:mm:ss" value-format="HH:mm:ss"
+                        style="width: 140px" placeholder="请选择时间"
+                        :picker-options="{ start: '00:00', step: '00:30', end: '23:30' }" size="small">
                     </el-time-select>
                     <span style="margin-left: 10px">前将货物送至指定位置</span>
                 </el-form-item>
@@ -93,8 +94,9 @@
                     <el-date-picker v-model="documentForm.clearanceTime" clearable style="width: 160px" type="date"
                         size="small" value-format="yyyy-MM-dd" placeholder="请选择日期">
                     </el-date-picker>
-                    <el-time-select v-model="documentForm.clearanceTime2" format="HH:mm" value-format="HH:mm" style="width: 140px" placeholder="请选择时间"
-                                    :picker-options="{start: '00:00',step: '00:30',end: '23:30'}" size="small">
+                    <el-time-select v-model="documentForm.clearanceTime2" format="HH:mm" value-format="HH:mm"
+                        style="width: 140px" placeholder="请选择时间"
+                        :picker-options="{ start: '00:00', step: '00:30', end: '23:30' }" size="small">
                     </el-time-select>
                     <span style="margin-left: 10px">前通关</span>
                 </el-form-item>
@@ -104,12 +106,20 @@
                     <!-- <el-date-picker v-model="documentForm.vgmDeadline" clearable style="width: 50%" type="datetime"
                         size="small" value-format="yyyy-MM-dd HH:mm:ss" placeholder="请选择截单和VGM截止时间">
                     </el-date-picker> -->
-                    <el-date-picker v-model="documentForm.vgmDeadline" clearable style="width: 160px" type="date"
+                    <!-- <el-date-picker v-model="documentForm.vgmDeadline" clearable style="width: 160px" type="date"
                         size="small" value-format="yyyy-MM-dd" placeholder="请选择日期">
                     </el-date-picker>
                     <el-time-select v-model="documentForm.vgmDeadline2" format="HH:mm" value-format="HH:mm" style="width: 140px" placeholder="请选择时间"
                                     :picker-options="{start: '00:00',step: '00:30',end: '23:30'}" size="small">
-                    </el-time-select>
+                    </el-time-select> -->
+                    <el-date-picker v-model="documentForm.vgmDeadline" type="datetime" style="width: 200px"
+                        format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small" 
+                        placeholder="请选择截单时间">
+                    </el-date-picker>
+                    <el-date-picker v-model="documentForm.vgmDeadline2" type="datetime" style="width: 200px"
+                        format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small"
+                        placeholder="请选择截港时间">
+                    </el-date-picker>
                 </el-form-item>
             </el-col>
             <el-col :span="24">
@@ -156,7 +166,7 @@
             </el-col>
             <el-col :span="24">
                 <el-form-item label="HLCL免费箱使" prop="corpCnName" label-width="95px">
-                    <el-input-number  style="width: 50%;" v-model="documentForm.hlclBoxenvoy" size="small"
+                    <el-input-number style="width: 50%;" v-model="documentForm.hlclBoxenvoy" size="small"
                         autocomplete="off" clearable placeholder="HLCL免费箱使" :controls="false">
                     </el-input-number>
                     <span style="margin-left: 10px">天</span>

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

@@ -63,7 +63,7 @@
                 <el-button v-if="form.id && form.logisticsStatus == '已提交'" size="small" type="danger"
                     @click.stop="allClick('物流撤销提交')">撤销物流
                 </el-button>
-                <el-button v-if="form.id && form.transferOrderStatus == '录入' && form.billType != 'MH'" size="small"
+                <el-button v-if="form.id && form.transferOrderStatus == '录入' && form.billType != 'MH'&&(roleName.includes('admin') || roleName.includes('总部'))" size="small"
                     type="info" @click.stop="allClick('转单')">转单
                 </el-button>
                 <el-button v-if="form.id && form.transferOrderStatus == '已转单'" size="small" type="danger"
@@ -441,6 +441,7 @@ export default {
     },
     data() {
         return {
+            roleName: localStorage.getItem("roleName"),
             transferForm: {
                 podCompanyId: null
             },
@@ -1046,6 +1047,9 @@ export default {
                 if (!this.form.podId) {
                     return this.$message.error('请选择卸货港');
                 }
+                if (!this.form.actualEtd) {
+                    return this.$message.error('请填写ATD');
+                }
                 this.transferForm = {
                     podCompanyId: null
                 }

+ 62 - 15
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -25,7 +25,7 @@
                     </el-button>
                     <el-button type="success" size="small" plain @click="increaseMawb">分单->主单
                     </el-button>
-                    <el-button type="warning" size="small" plain v-if="query.billStatus == 0" @click="Disembarkingfun">退
+                    <el-button type="warning" size="small" plain v-if="query.billStatus != 1" @click="Disembarkingfun">退
                     </el-button>
                     <el-button type="primary" size="small" plain v-if="query.billStatus == 1"
@@ -47,6 +47,14 @@
                         v-if="roleName.indexOf('admin') >= 0 || roleName.indexOf('应付修改') >= 0 || roleName.indexOf('应付查看') >= 0"
                         type="primary" plain size="small" @click="costSubmit"
                         :disabled="!selectionList.length">提取成本</el-button>
+                    <el-button
+                        v-if="roleName.indexOf('admin') >= 0 || roleName.indexOf('应收修改') >= 0 || roleName.indexOf('应收查看') >= 0"
+                        type="primary" size="small" @click="pleaseVerify('D')" :disabled="!selectionList.length">请核应收
+                    </el-button>
+                    <el-button
+                        v-if="roleName.indexOf('admin') >= 0 || roleName.indexOf('应付修改') >= 0 || roleName.indexOf('应付查看') >= 0"
+                        type="warning" size="small" @click="pleaseVerify('C')" :disabled="!selectionList.length">请核应付
+                    </el-button>
                     <el-button type="success" size="small" @click="checkBills" :disabled="!selectionList.length">单据请核
                     </el-button>
 
@@ -74,7 +82,7 @@
                     </el-dropdown> -->
                     <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 label="接单" name="0">
                                 <span slot="label">接单</span>
@@ -151,7 +159,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>{{
@@ -320,7 +328,8 @@ import {
     billsRevokeDisembarking,
     templateImportBatch,
     checkBillsBatch,
-    increaseReinsurancePolicyTeu
+    increaseReinsurancePolicyTeu,
+    pleaseVerifyCostBatch
 } from "@/api/iosBasicData/bills";
 import { mapGetters } from "vuex";
 import billsDetails from "@/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue";
@@ -1736,6 +1745,36 @@ export default {
                 loading.close();
             })
         },
+        pleaseVerify(dc) {
+            let ids = []
+            for (let item of this.selectionList) {
+                ids.push(item.id)
+            }
+            let obj = {
+                type: 'HYCK',
+                dc: dc,
+                ids: ids.join(",")
+            }
+            this.$confirm('是否请核费用?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                const loading = this.$loading({
+                    lock: true,
+                    text: '加载中',
+                    spinner: 'el-icon-loading',
+                    background: 'rgba(255,255,255,0.7)'
+                });
+                pleaseVerifyCostBatch(obj).then(res => {
+                    this.$message.success("操作成功");
+                    this.refreshChange()
+                }).finally(() => {
+                    loading.close();
+                })
+            })
+
+        },
         // 左侧选择
         nodeClick(e) {
             this.templateId = e.id
@@ -1962,19 +2001,24 @@ export default {
                     this.$message.warning("请选择分单");
                     return;
                 }
-                if (obj.placeReceiptId != item.placeReceiptId) {
-                    // 收货地
-                    this.$message.warning("请选择收货地相同的");
+                // if (obj.placeReceiptId != item.placeReceiptId) {
+                //     // 收货地
+                //     this.$message.warning("请选择收货地相同的");
+                //     return;
+                // }
+                if (obj.polId != item.polId) {
+                    // 装货港一样
+                    this.$message.error("请选择装货港相同的单据");
                     return;
                 }
-                if (obj.polId != item.polId) {
+                if (obj.podId != item.podId) {
                     // 装货港一样
-                    this.$message.warning("请选择装货港相同的");
+                    this.$message.error("请选择卸货港相同的单据");
                     return;
                 }
             }
-            this.mawbQuery.placeReceiptName = obj.placeReceiptName;
-            this.mawbQuery.polCnName = obj.polCnName;
+            // this.mawbQuery.placeReceiptName = obj.placeReceiptName;
+            // this.mawbQuery.polCnName = obj.polCnName;
             this.$nextTick(() => {
                 this.dialogVisible = true;
                 this.mawbOnLoad(this.mawbPage);
@@ -2076,6 +2120,7 @@ export default {
                 this.$message.error("此单据已审核通过,请重新选择!");
                 return;
             }
+
             increaseReinsurancePolicyTeu(this.ids, this.dialogRadio).then(res => {
                 if (res.data.data == '操作成功') {
                     this.billsIncreaseReinsurancePolicyfun(this.ids, this.dialogRadio);
@@ -2415,13 +2460,15 @@ export default {
         // 弹窗表格获取数据
         mawbOnLoad(page, params = {}) {
             this.mawbloading = true;
-            billsList(page.currentPage, page.pageSize, {
+            billsListAll({
                 ...Object.assign(params, this.mawbQuery),
-                businessType: "SE"
+                businessType: "SE",
+                polId: this.selectionList[0].polId,
+                podId: this.selectionList[0].podId
             }).then(res => {
                 const data = res.data.data;
-                this.mawbPage.total = data.total;
-                this.mawbData = data.records;
+                // this.mawbPage.total = data.total;
+                this.mawbData = data;
                 this.mawbloading = false;
             });
         },

+ 62 - 11
src/views/iosBasicData/costcenter/coc/detailsPage.vue

@@ -61,9 +61,10 @@
                             :disabled="editDisabled" :slotRight="true" rightLabel="code"></dic-select>
                     </tempalte>
                     <tempalte slot="airlineCname">
-                        <dic-select v-model="form.airlineCname" placeholder="航线" key="id" label="cnName" res="records"
-                            url="/blade-los/blines/list" :filterable="true" :remote="true" dataName="cnName"
-                            @selectChange="dicChange('airlineCname', $event)" :disabled="editDisabled"></dic-select>
+                        <dic-select v-model="form.airlineCname" placeholder="航线" key="id" label="cnName"
+                            url="/blade-los/blines/listAll" :filterable="true" :multiple="true" :collapseTags="true"
+                            dataType="string" multipleStrings @selectChange="dicChange('airlineCname', $event)"
+                            :disabled="editDisabled"></dic-select>
                     </tempalte>
                     <tempalte slot="shippingCompanyCname">
                         <dic-select v-model="form.shippingCompanyCname" placeholder="船公司" key="id" label="shortName"
@@ -83,8 +84,8 @@
                     </tempalte>
                     <tempalte slot="exrateDate">
                         <el-date-picker v-model="form.exrateDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
-                            value-format="yyyy-MM-dd"
-                            :disabled="editDisabled || form.costItemList.length || polFeeList.length || podFeeList.length">
+                            value-format="yyyy-MM-dd HH:mm:ss" @change="dicChange('exrateDate', $event)"
+                            :disabled="editDisabled">
                         </el-date-picker>
                     </tempalte>
                     <tempalte slot="flightType">
@@ -1205,6 +1206,45 @@ export default {
         }
     },
     methods: {
+        exrateDateCount() {
+            this.form.costItemList.forEach(item => {
+                let polSUM = 0
+                let podSUM = 0
+                let polIncomeSUM = 0
+                let podIncomeSUM = 0
+                item.polCost = 0
+                item.podCost = 0
+                item.polIncome = 0
+                item.podIncome = 0
+                item.exrate = this.getExchangeRate(item.curCode, 'D', 1)
+                this.polFeeList.forEach(e => {
+                    e.exrate = this.getExchangeRate(item.curCode, 'D', 1)
+                    if (item.boxType == e.boxType) {
+                        polSUM += _.multiply(Number(e.costPrice ? e.costPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        polIncomeSUM += _.multiply(Number(e.salesPrice ? e.salesPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        item.polCost = _.round(_.divide(polSUM, item.exrate ? item.exrate : 0), 2)
+                        item.polIncome = _.round(_.divide(polIncomeSUM, item.exrate ? item.exrate : 0), 2)
+                    }
+                })
+                this.podFeeList.forEach(e => {
+                    e.exrate = this.getExchangeRate(item.curCode, 'D', 1)
+                    if (item.boxType == e.boxType) {
+                        podSUM += _.multiply(Number(e.costPrice ? e.costPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        podIncomeSUM += _.multiply(Number(e.salesPrice ? e.salesPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        item.podCost = _.round(_.divide(podSUM, item.exrate ? item.exrate : 0), 2)
+                        item.podIncome = _.round(_.divide(podIncomeSUM, item.exrate ? item.exrate : 0), 2)
+                    }
+                })
+                // 用箱成本=(航线天数+在场站天数) *箱成本/天/汇率
+                item.useBoxCost = _.round(_.multiply(_.add(Number(this.form.navigateDay ? this.form.navigateDay : 0), Number(this.form.existStationDay ? this.form.existStationDay : 0)), item.boxCost ? item.boxCost : 0), 2)
+                // 成本价=海运费+用箱成本+pol杂费+pod成本
+                item.costPrice = _.round(_.add(_.add(Number(item.oceanFreight ? item.oceanFreight : 0), Number(item.useBoxCost ? item.useBoxCost : 0)), _.add(Number(item.polCost ? item.polCost : 0), Number(item.podCost ? item.podCost : 0))), 2)
+                // 一程利润=销售价+pol收入+pod收入-成本价
+                item.totalProfit = _.round(_.subtract(_.add(Number(item.salesPrice ? item.salesPrice : 0), _.add(Number(item.polIncome ? item.polIncome : 0), Number(item.podIncome ? item.podIncome : 0))), item.costPrice ? item.costPrice : 0), 2)
+                //全程利润=一程利润+二程利润
+                item.profit = _.round(_.add(Number(item.totalProfit ? item.totalProfit : 0), Number(item.totalProfitTwo ? item.totalProfitTwo : 0)), 2)
+            })
+        },
         countChange(row) {
             this.form.costItemList.forEach(item => {
                 let polSUM = 0
@@ -1244,7 +1284,7 @@ export default {
             // })
 
         },
-        dicChange(name, row) {
+        async dicChange(name, row) {
             if (name == 'belongingCompanyName') {
                 if (row) {
                     this.form.belongingCompanyId = row.id
@@ -1279,10 +1319,17 @@ export default {
                 }
             }
             if (name == 'airlineCname') {
+                const codes = []
+                const enNames = []
+                for (let item of row.multipleData) {
+                    codes.push(item.code)
+                    enNames.push(item.enName)
+                }
                 if (row) {
-                    this.form.airlineId = row.id
-                    this.form.airlineCode = row.code
-                    this.form.airlineEname = row.enName
+                    this.form.airlineId = row.ids
+                    this.form.airlineCname = row.names
+                    this.form.airlineCode = codes.join(',')
+                    this.form.airlineEname = enNames.join(',')
                 } else {
                     this.form.airlineId = null
                     this.form.airlineCode = null
@@ -1316,6 +1363,10 @@ export default {
                     this.form.shipCname = null
                 }
             }
+            if (name == 'exrateDate') {
+                await this.checkRate(null, this.form.exrateDate, null, 1, this.form.belongingCompanyId)
+                this.exrateDateCount()
+            }
         },
         rowDicChange(name, row, el) {
             if (name == 'curCode') {
@@ -1512,7 +1563,7 @@ export default {
                     return this.$message.error("请添加数据");
                 }
                 for (let row of this.form.costItemList) {
-                    if (!row.boxType || !row.curCode || row.salesPrice==null) {
+                    if (!row.boxType || !row.curCode || row.salesPrice == null) {
                         this.$refs.crud.rowCell(row, row.$index)
                         return this.$message.error("请完善明细信息");
                     }
@@ -1822,7 +1873,7 @@ export default {
                 done();
                 if (valid) {
                     for (let row of this.form.costItemList) {
-                        if (!row.boxType || !row.curCode || row.salesPrice==null) {
+                        if (!row.boxType || !row.curCode || row.salesPrice == null) {
                             this.$refs.crud.rowCell(row, row.$index)
                             return this.$message.error("请完善明细信息");
                         }

+ 90 - 18
src/views/iosBasicData/costcenter/soc/detailsPage.vue

@@ -61,9 +61,10 @@
                             :slotRight="true" rightLabel="code" :disabled="editDisabled"></dic-select>
                     </tempalte>
                     <tempalte slot="airlineCname">
-                        <dic-select v-model="form.airlineCname" placeholder="航线" key="id" label="cnName" res="records"
-                            url="/blade-los/blines/list" :filterable="true" :remote="true" dataName="cnName"
-                            @selectChange="dicChange('airlineCname', $event)" :disabled="editDisabled"></dic-select>
+                        <dic-select v-model="form.airlineCname" placeholder="航线" key="id" label="cnName"
+                            url="/blade-los/blines/listAll" :filterable="true" :multiple="true" :collapseTags="true"
+                            dataType="string" multipleStrings @selectChange="dicChange('airlineCname', $event)"
+                            :disabled="editDisabled"></dic-select>
                     </tempalte>
                     <tempalte slot="shippingCompanyCname">
                         <dic-select v-model="form.shippingCompanyCname" placeholder="承运人" key="id" label="shortName"
@@ -145,8 +146,8 @@
                     </tempalte>
                     <tempalte slot="exrateDate">
                         <el-date-picker v-model="form.exrateDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
-                            value-format="yyyy-MM-dd"
-                            :disabled="editDisabled || form.costItemList.length || polFeeList.length || podFeeList.length || polFeeList2.length || podFeeList2.length">
+                            value-format="yyyy-MM-dd HH:mm:ss" @change="dicChange('exrateDate', $event)"
+                            :disabled="editDisabled">
                         </el-date-picker>
                     </tempalte>
                     <tempalte slot="transportationTerms">
@@ -205,7 +206,7 @@
                                 <span v-else>{{ row.exrate }}</span>
                             </template>
                             <template slot="salesPriceForm" slot-scope="{ row }">
-                                <el-input-number v-if="row.$cellEdit" v-model="row.salesPrice" 
+                                <el-input-number v-if="row.$cellEdit" v-model="row.salesPrice"
                                     @change="countChange(row)" :controls="false" placeholder="请输入 销售价" size="small"
                                     style="width: 100%;"></el-input-number>
                                 <span v-else>{{ row.salesPrice }}</span>
@@ -1843,6 +1844,71 @@ export default {
                 this.form.podCname = data.polCnName
             }
         },
+        exrateDateCount() {
+            this.form.costItemList.forEach(item => {
+                let polSUM = 0
+                let podSUM = 0
+                let polIncomeSUM = 0
+                let podIncomeSUM = 0
+                item.polCost = 0
+                item.podCost = 0
+                item.polIncome = 0
+                item.podIncome = 0
+                item.polCostTwo = 0
+                item.podCostTwo = 0
+                item.polIncomeTwo = 0
+                item.podIncomeTwo = 0
+                item.exrate = this.getExchangeRate(item.curCode, 'D', 1)
+                this.polFeeList.forEach(e => {
+                    e.exrate = this.getExchangeRate(item.curCode, 'D', 1)
+                    if (item.boxType == e.boxType) {
+                        polSUM += _.multiply(Number(e.costPrice ? e.costPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        polIncomeSUM += _.multiply(Number(e.salesPrice ? e.salesPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        item.polCost = _.round(_.divide(polSUM, item.exrate ? item.exrate : 0), 2)
+                        item.polIncome = _.round(_.divide(polIncomeSUM, item.exrate ? item.exrate : 0), 2)
+                    }
+                })
+                this.podFeeList.forEach(e => {
+                    e.exrate = this.getExchangeRate(item.curCode, 'D', 1)
+                    if (item.boxType == e.boxType) {
+                        podSUM += _.multiply(Number(e.costPrice ? e.costPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        podIncomeSUM += _.multiply(Number(e.salesPrice ? e.salesPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        item.podCost = _.round(_.divide(podSUM, item.exrate ? item.exrate : 0), 2)
+                        item.podIncome = _.round(_.divide(podIncomeSUM, item.exrate ? item.exrate : 0), 2)
+                    }
+                })
+                this.polFeeList2.forEach(e => {
+                    e.exrate = this.getExchangeRate(item.curCode, 'D', 1)
+                    if (item.boxType == e.boxType) {
+                        polSUM += _.multiply(Number(e.costPrice ? e.costPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        polIncomeSUM += _.multiply(Number(e.salesPrice ? e.salesPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        item.polCostTwo = _.round(_.divide(polSUM, item.exrate ? item.exrate : 0), 2)
+                        item.polIncomeTwo = _.round(_.divide(polIncomeSUM, item.exrate ? item.exrate : 0), 2)
+                    }
+                })
+                this.podFeeList2.forEach(e => {
+                    e.exrate = this.getExchangeRate(item.curCode, 'D', 1)
+                    if (item.boxType == e.boxType) {
+                        podSUM += _.multiply(Number(e.costPrice ? e.costPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        podIncomeSUM += _.multiply(Number(e.salesPrice ? e.salesPrice : 0), Number(e.exrate ? e.exrate : 0))
+                        item.podCostTwo = _.round(_.divide(podSUM, item.exrate ? item.exrate : 0), 2)
+                        item.podIncomeTwo = _.round(_.divide(podIncomeSUM, item.exrate ? item.exrate : 0), 2)
+                    }
+                })
+                // 用箱成本=(航线天数+在场站天数) *箱成本/天/汇率
+                item.useBoxCost = _.round(_.multiply(_.add(Number(this.form.navigateDay ? this.form.navigateDay : 0), Number(this.form.existStationDay ? this.form.existStationDay : 0)), item.boxCost ? item.boxCost : 0), 2)
+                // 成本价=海运费+用箱成本+pol杂费+pod成本
+                item.costPrice = _.round(_.add(_.add(Number(item.oceanFreight ? item.oceanFreight : 0), Number(item.useBoxCost ? item.useBoxCost : 0)), _.add(Number(item.polCost ? item.polCost : 0), Number(item.podCost ? item.podCost : 0))), 2)
+                // 一程利润=销售价+pol收入+pod收入-成本价
+                item.totalProfit = _.round(_.subtract(_.add(Number(item.salesPrice ? item.salesPrice : 0), _.add(Number(item.polIncome ? item.polIncome : 0), Number(item.podIncome ? item.podIncome : 0))), item.costPrice ? item.costPrice : 0), 2)
+                // 成本价=海运费+pol杂费+pod成本
+                item.costPriceTwo = _.round(_.add(_.add(Number(item.oceanFreightTwo ? item.oceanFreightTwo : 0), _.add(Number(item.polCostTwo ? item.polCostTwo : 0), Number(item.podCostTwo ? item.podCostTwo : 0)))), 2)
+                // 二程利润=销售价+pol收入+pod收入-成本价
+                item.totalProfitTwo = _.round(_.subtract(_.add(Number(item.salesPriceTwo ? item.salesPriceTwo : 0), _.add(Number(item.polIncomeTwo ? item.polIncomeTwo : 0), Number(item.podIncomeTwo ? item.podIncomeTwo : 0))), item.costPriceTwo ? item.costPriceTwo : 0), 2)
+                //全程利润=一程利润+二程利润
+                item.profit = _.round(_.add(Number(item.totalProfit ? item.totalProfit : 0), Number(item.totalProfitTwo ? item.totalProfitTwo : 0)), 2)
+            })
+        },
         countChange(row) {
             this.form.costItemList.forEach(item => {
                 let polSUM = 0
@@ -1915,7 +1981,7 @@ export default {
                 item.profit = _.round(_.add(Number(item.totalProfit ? item.totalProfit : 0), Number(item.totalProfitTwo ? item.totalProfitTwo : 0)), 2)
             })
         },
-        dicChange(name, row) {
+        async dicChange(name, row) {
             if (name == 'belongingCompanyName') {
                 if (row) {
                     this.form.belongingCompanyId = row.id
@@ -1950,10 +2016,17 @@ export default {
                 }
             }
             if (name == 'airlineCname') {
+                const codes = []
+                const enNames = []
+                for (let item of row.multipleData) {
+                    codes.push(item.code)
+                    enNames.push(item.enName)
+                }
                 if (row) {
-                    this.form.airlineId = row.id
-                    this.form.airlineCode = row.code
-                    this.form.airlineEname = row.enName
+                    this.form.airlineId = row.ids
+                    this.form.airlineCname =row.names
+                    this.form.airlineCode = codes.join(',')
+                    this.form.airlineEname = enNames.join(',')
                 } else {
                     this.form.airlineId = null
                     this.form.airlineCode = null
@@ -2153,18 +2226,17 @@ export default {
                     this.form.transitPortCname = null
                 }
             }
-            if (name == 'navigateDay') {
-                this.countChange()
-            }
-            if (name == 'existStationDay') {
-                this.countChange()
+            if (name == 'exrateDate') {
+                await this.checkRate(null, this.form.exrateDate, null, 1, this.form.belongingCompanyId)
+                this.exrateDateCount()
             }
+
         },
         rowDicChange(name, row, el) {
             if (name == 'curCode') {
                 if (row) {
                     el.exrate = row.exrateReceivable
-                     this.countChange()
+                    this.countChange()
                 } else {
                     el.exrate = null
                 }
@@ -2488,7 +2560,7 @@ export default {
                     return this.$message.error("请添加数据");
                 }
                 for (let row of this.form.costItemList) {
-                    if (!row.boxType || !row.curCode || (row.salesPrice==null || row.salesPriceTwo==null)) {
+                    if (!row.boxType || !row.curCode || (row.salesPrice == null || row.salesPriceTwo == null)) {
                         this.$refs.crud.rowCell(row, row.$index)
                         this.$refs.crud4.rowCell(row, row.$index)
                         return this.$message.error("请完善明细信息");
@@ -3153,7 +3225,7 @@ export default {
                 done();
                 if (valid) {
                     for (let row of this.form.costItemList) {
-                        if (!row.boxType || !row.curCode || (row.salesPrice==null || row.salesPriceTwo==null)) {
+                        if (!row.boxType || !row.curCode || (row.salesPrice == null || row.salesPriceTwo == null)) {
                             this.$refs.crud.rowCell(row, row.$index)
                             this.$refs.crud4.rowCell(row, row.$index)
                             return this.$message.error("请完善明细信息");

+ 3 - 3
src/views/iosBasicData/fininvoices/fininvoicesDetails.vue

@@ -603,9 +603,9 @@ export default {
                     message: '',
                     trigger: 'blur'
                 },],
-                corpCnName: [
-                    { required: true, message: '请输入付费对象', trigger: 'blur' },
-                ],
+                // corpCnName: [
+                //     { required: true, message: '请输入付费对象', trigger: 'blur' },
+                // ],
                 invoiceDate: [
                     { required: true, message: '请输入开票日期', trigger: 'blur' },
                 ],

+ 3 - 3
src/views/iosBasicData/fininvoicesApplyfor/fininvoicesDetails.vue

@@ -670,9 +670,9 @@ export default {
                     message: '',
                     trigger: 'blur'
                 },],
-                corpCnName: [
-                    { required: true, message: '请输入付费对象', trigger: 'blur' },
-                ],
+                // corpCnName: [
+                //     { required: true, message: '请输入付费对象', trigger: 'blur' },
+                // ],
                 invoiceDate: [
                     { required: true, message: '请输入开票日期', trigger: 'blur' },
                 ],

+ 29 - 28
src/views/iosBasicData/fininvoicesOutput/fininvoicesDetails.vue

@@ -50,7 +50,7 @@
                                         <el-form-item label="开票日期" prop="invoiceDate">
                                             <el-date-picker v-model="form.invoiceDate" clearable style="width: 100%;"
                                                 type="date" size="small"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 value-format="yyyy-MM-dd" placeholder="请选择开票日期">
                                             </el-date-picker>
                                         </el-form-item>
@@ -59,7 +59,7 @@
                                         <el-form-item label="开票单位" prop="invCorpCnName">
                                             <search-query :datalist="invCorpData" :selectValue="form.invCorpCnName"
                                                 :clearable="true"
-                                                :disabled="editSave || !form.corpId || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || !form.corpId || (tableData.length && invoicestype != 1)"
                                                 :buttonIf="false" :remote="true" :filterable="true"
                                                 placeholder="请选择开票单位"
                                                 :forParameter="{ key: 'id', label: 'invoiceHeader', value: 'id' }"
@@ -72,7 +72,7 @@
                                     <el-col :span="12">
                                         <el-form-item label="收/付" prop="dc">
                                             <el-select v-model="form.dc" placeholder="请选择"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 size="small">
                                                 <el-option v-for="item in options" :key="item.value" :label="item.label"
                                                     :value="item.value">
@@ -106,7 +106,7 @@
                                         <el-form-item label="发票币种" prop="invCurCode">
                                             <search-query :datalist="invCurCodeData" :selectValue="form.invCurCode"
                                                 :filterable="true" :clearable="true"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 :buttonIf="false" placeholder="请选择发票币种"
                                                 :forParameter="{ key: 'id', label: 'code', value: 'code' }"
                                                 @corpChange="corpChange($event, 'invCurCode')"
@@ -136,7 +136,7 @@
                                         <el-form-item label="船名/航次" prop="vesselVoyno">
                                             <el-input style="width: 100%;" v-model="form.vesselVoyno" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入船名/航次">
                                             </el-input>
                                         </el-form-item>
@@ -145,7 +145,7 @@
                                         <el-form-item label="开航日期" prop="etd">
                                             <el-date-picker v-model="form.etd" clearable style="width: 100%;"
                                                 type="date" size="small"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 value-format="yyyy-MM-dd HH:mm:ss" placeholder="请输入开航日期">
                                             </el-date-picker>
                                         </el-form-item>
@@ -154,7 +154,7 @@
                                         <el-form-item label="装货港" prop="pol">
                                             <search-query :datalist="polData" :selectValue="form.pol" :filterable="true"
                                                 :clearable="true" :remote="true"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 :buttonIf="false" placeholder="请选择装货港"
                                                 :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
                                                 @corpChange="corpChange($event, 'pol')" @remoteMethod="polBportsListfun"
@@ -166,7 +166,7 @@
                                         <el-form-item label="卸货港" prop="pod">
                                             <search-query :datalist="podData" :selectValue="form.pod" :filterable="true"
                                                 :clearable="true" :remote="true"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 :buttonIf="false" placeholder="请选择卸货港"
                                                 :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
                                                 @corpChange="corpChange($event, 'pod')" @remoteMethod="podBportsListfun"
@@ -178,7 +178,7 @@
                                         <el-form-item label="目的地" prop="destination">
                                             <search-query :datalist="destinationData" :selectValue="form.destination"
                                                 :filterable="true" :clearable="true" :remote="true"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 :buttonIf="false" placeholder="请选择目的地"
                                                 :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
                                                 @corpChange="corpChange($event, 'destination')"
@@ -191,7 +191,7 @@
                                         <el-form-item label="箱型箱量" prop="containers">
                                             <el-input style="width: 100%;" v-model="form.containers" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入箱型箱量">
                                             </el-input>
                                         </el-form-item>
@@ -269,7 +269,7 @@
                                         <el-form-item label="税控发票号" prop="taxInvoiceNo">
                                             <el-input style="width: 100%;" v-model="form.taxInvoiceNo" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入税控发票号">
                                             </el-input>
                                         </el-form-item>
@@ -278,7 +278,7 @@
                                         <el-form-item label="业务开始日期" prop="accountDateFrom">
                                             <el-date-picker v-model="form.accountDateFrom" clearable
                                                 style="width: 100%;" type="date" size="small"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 value-format="yyyy-MM-dd" placeholder="选择业务日期">
                                             </el-date-picker>
                                         </el-form-item>
@@ -287,7 +287,7 @@
                                         <el-form-item label="业务结束日期" prop="accountDateTo">
                                             <el-date-picker v-model="form.accountDateTo" clearable style="width: 100%;"
                                                 type="date" size="small"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 value-format="yyyy-MM-dd" placeholder="选择业务日期">
                                             </el-date-picker>
                                         </el-form-item>
@@ -296,7 +296,7 @@
                                         <el-form-item label="发票汇率" prop="exrate">
                                             <el-input style="width: 100%;" v-model="form.exrate" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入发票汇率">
                                             </el-input>
                                         </el-form-item>
@@ -313,7 +313,7 @@
                                         <el-form-item label="发票类型" prop="invType">
                                             <search-query :datalist="invTypeData" :selectValue="form.invType"
                                                 :clearable="true"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 :buttonIf="false" placeholder="请输入发票类型"
                                                 :forParameter="{ key: 'dictKey', label: 'dictValue', value: 'dictKey' }"
                                                 @corpChange="corpChange($event, 'invType')"
@@ -333,7 +333,7 @@
                                         <el-form-item label="对账单号" prop="checkNo">
                                             <el-input style="width: 100%;" v-model="form.checkNo" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入对账单号">
                                             </el-input>
                                         </el-form-item>
@@ -344,7 +344,7 @@
                                         <el-form-item label="分单编号" prop="hblno">
                                             <el-input style="width: 100%;" v-model="form.hblno" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入分单编号">
                                             </el-input>
                                         </el-form-item>
@@ -353,7 +353,7 @@
                                         <el-form-item label="申请单号" prop="applyNo">
                                             <el-input style="width: 100%;" v-model="form.applyNo" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入申请单号">
                                             </el-input>
                                         </el-form-item>
@@ -362,7 +362,7 @@
                                         <el-form-item label="BOOK NO" prop="bookingNo">
                                             <el-input style="width: 100%;" v-model="form.bookingNo" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入BOOK NO">
                                             </el-input>
                                         </el-form-item>
@@ -371,7 +371,7 @@
                                         <el-form-item label="业务类型" prop="businessTypes">
                                             <search-query :datalist="businessTypesData"
                                                 :selectValue="form.businessTypes" :clearable="true"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 :buttonIf="false" :multiple="true" :collapseTags="true"
                                                 placeholder="请输入业务类型" @corpChange="corpChange($event, 'businessTypes')">
                                             </search-query>
@@ -381,7 +381,7 @@
                                         <el-form-item label="税率(%)" prop="taxRate">
                                             <el-input style="width: 100%;" v-model="form.taxRate" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入税率">
                                             </el-input>
                                         </el-form-item>
@@ -390,7 +390,7 @@
                                         <el-form-item label="选择币种" prop="curCode">
                                             <search-query :datalist="curData" :selectValue="form.curCode"
                                                 :filterable="true" :clearable="true"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 :remote="true" :buttonIf="false" placeholder="请输入选择币种"
                                                 :forParameter="{ key: 'id', label: 'code', value: 'code' }"
                                                 @remoteMethod="getRateListfun"
@@ -402,7 +402,7 @@
                                         <el-form-item label="邮箱" prop="yx">
                                             <el-input style="width: 100%;" v-model="form.yx" size="small"
                                                 autocomplete="off"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 clearable placeholder="请输入邮箱">
                                             </el-input>
                                         </el-form-item>
@@ -410,7 +410,7 @@
                                     <el-col :span="24">
                                         <el-form-item label="全电发票:" prop="elecRemarks">
                                             <el-input style="width: 100%;" v-model="form.elecRemarks" size="small"
-                                                :disabled="editSave || (tableData.length && this.invoicestype != 1)"
+                                                :disabled="editSave || (tableData.length && invoicestype != 1)"
                                                 autocomplete="off" type="textarea" clearable placeholder="请输入全电发票备注">
                                             </el-input>
                                         </el-form-item>
@@ -444,6 +444,7 @@
                         </div>
                     </div>
                 </trade-card>
+
                 <el-card style="margin-top: 10px">
                     <el-tabs v-model="detailTabs" type="card" @tab-click="handleClick">
                         <el-tab-pane label="费用明细" name="first">
@@ -672,9 +673,9 @@ export default {
                     message: '',
                     trigger: 'blur'
                 },],
-                corpCnName: [
-                    { required: true, message: '请输入付费对象', trigger: 'blur' },
-                ],
+                // corpCnName: [
+                //     { required: true, message: '请输入付费对象', trigger: 'blur' },
+                // ],
                 invoiceDate: [
                     { required: true, message: '请输入开票日期', trigger: 'blur' },
                 ],
@@ -1435,7 +1436,7 @@ export default {
         // 开票获取数据
         fininvoicesGenerateFinInvoicesfun(billId, type) {
             this.pageLoading = true
-            this.invoicestype = type ? true : false
+            this.invoicestype = type ? type : 0
             fininvoicesGenerateFinInvoices({ billId }).then(res => {
                 this.form = res.data.data
                 this.form.businessTypes = this.form.businessTypes ? this.form.businessTypes.split(',') : [] // 业务类型转换成数组显示

+ 1 - 1
src/views/iosBasicData/fininvoicesOutput/index.vue

@@ -1008,7 +1008,7 @@ export default {
             this.isShow = false
             this.editSave = false
             this.$nextTick(() => {
-                this.$refs.fininvoicesDetails.fininvoicesGenerateFinInvoicesfun(arrId.join(','))
+                this.$refs.fininvoicesDetails.fininvoicesGenerateFinInvoicesfun(arrId.join(','), 1)
             })
             this.$store.commit("IN_FINOUT_DETAIL");
         },

+ 5 - 5
src/views/iosBasicData/finstlbills/finstlbillsDetails.vue

@@ -512,11 +512,11 @@ export default {
                     message: '',
                     trigger: 'blur'
                 },],
-                corpCnName: [{
-                    required: true,
-                    message: '',
-                    trigger: 'blur'
-                },]
+                // corpCnName: [{
+                //     required: true,
+                //     message: '',
+                //     trigger: 'blur'
+                // },]
             },
             roleName: localStorage.getItem("roleName"),
             retrievePopupsType: false, // 弹窗开启关闭

+ 4 - 3
src/views/iosBasicData/loloTemplate/feesTemplateItems.vue

@@ -46,8 +46,9 @@
                         <span>{{ index + 1 }}</span>
                     </template>
                     <template slot="corpTypeForm" slot-scope="{row,index}">
-                        <dic-select v-if="row.$cellEdit" v-model="row.corpType" key="id" label="dictValue"
-                            url="/blade-system/dict-biz/dictionary?code=corp_type" :filterable="true"
+                        <dic-select v-if="row.$cellEdit" v-model="row.corpType" label="cnName" res="records"
+                             url="/blade-los/bcorpstypedefine/list?status=0&current=1&size=20"
+                            :filterable="true" :remote="true" dataName="cnName"
                             @selectChange="rowDicChange('corpType', $event, row)"></dic-select>
                         <span v-else>{{ row.corpType }}</span>
                     </template>
@@ -737,7 +738,7 @@ export default {
         addRow() {
             this.feestemplateForm.sonItemsList.push({
                 pid: this.form.id,
-                unitId:this.feestemplateForm.unitId,
+                unitId: this.feestemplateForm.unitId,
                 unitNo: this.feestemplateForm.unitNo,
                 curCode: this.feestemplateForm.curCode,
                 salesPrice: 0,

+ 24 - 10
src/views/iosBasicData/losbfeestemplate/feesTemplateItems.vue

@@ -22,10 +22,16 @@
             <basic-container>
                 <avue-form :option="basicData" v-model="form" ref="form">
                     <tempalte slot="shippingCompanyCname">
-                        <dic-select v-model="form.shippingCompanyCname" placeholder="船公司" key="id" label="cnName"
-                            res="records" url="/blade-los/bcorps/list?corpTypeName=船公司" :filterable="true"
-                            :remote="true" dataName="cnName" @selectChange="dicChange('shippingCompanyCname', $event)"
-                            :disabled="basicData.disabled"></dic-select>
+                        <!-- <dic-select v-model="form.shippingCompanyCname" placeholder="船公司" key="id" label="cnName"
+                            url="/blade-los/bcorps/listAll?status=0&corpTypeName=船公司" :filterable="true"
+                            :multiple="true" :collapseTags="true" :remote="true" dataName="cnName"
+                            @selectChange="dicChange('shippingCompanyCname', $event)" :multipleStrings="true"
+                            :disabled="basicData.disabled"></dic-select> -->
+                        <dic-select v-model="form.shippingCompanyCname" placeholder="港口" key="id" label="cnName"
+                            url="/blade-los/bcorps/listAll?status=0&corpTypeName=船公司" :filterable="true"
+                            dataName="cnName" :multiple="true" :collapseTags="true" dataType="string"
+                            :disabled="basicData.disabled" @selectChange="dicChange('shippingCompanyCname', $event)"
+                            :multipleStrings="true"></dic-select>
                     </tempalte>
                     <tempalte slot="addressCname">
                         <dic-select v-model="form.addressCname" placeholder="" key="id" label="cnName" res="records"
@@ -59,9 +65,10 @@
                         <span v-else>{{ row.corpCnName }}</span>
                     </template>
                     <template slot="corpTypeForm" slot-scope="{row,index}">
-                        <dic-select v-if="row.$cellEdit" v-model="row.corpType" label="dictValue"
-                            :disabled="row.corpCnName" url="/blade-system/dict-biz/dictionary?code=corp_type"
-                            :filterable="true" @selectChange="rowDicChange('corpType', $event, row)"></dic-select>
+                        <dic-select v-if="row.$cellEdit" v-model="row.corpType" label="cnName" res="records"
+                            :disabled="row.corpCnName" url="/blade-los/bcorpstypedefine/list?status=0&current=1&size=20"
+                            :filterable="true" :remote="true" dataName="cnName"
+                            @selectChange="rowDicChange('corpType', $event, row)"></dic-select>
                         <span v-else>{{ row.corpType }}</span>
                     </template>
                     <template slot="feeCnNameForm" slot-scope="{ row }">
@@ -384,7 +391,7 @@ export default {
             option: {
                 // height: 'auto',
                 calcHeight: 30,
-                menuWidth: 160,
+                menuWidth: 200,
                 border: true,
                 header: false,
                 editBtn: false,
@@ -748,9 +755,16 @@ export default {
         },
         dicChange(name, row) {
             if (name == 'shippingCompanyCname') {
+                console.log(row)
+                let codes = []
+                // let namePrints=[]
+                for (let item of row.multipleData) {
+                    codes.push(item.code)
+                }
                 if (row) {
-                    this.form.shippingCompanyId = row.id
-                    this.form.shippingCompanyCode = row.code
+                    this.form.shippingCompanyId = row.ids
+                    this.form.shippingCompanyCname = row.names
+                    this.form.shippingCompanyCode = codes.join(',');
                 } else {
                     this.form.shippingCompanyId = null
                     this.form.shippingCompanyCode = null

+ 7 - 6
src/views/iosBasicData/podTemplate/feesTemplateItems.vue

@@ -52,9 +52,10 @@
                         <span>{{ index + 1 }}</span>
                     </template>
                     <template slot="corpTypeForm" slot-scope="{row,index}">
-                        <dic-select v-if="row.$cellEdit" v-model="row.corpType" key="id" label="dictValue"
-                            url="/blade-system/dict-biz/dictionary?code=corp_type"
-                            :filterable="true" @selectChange="rowDicChange('corpType', $event, row)"></dic-select>
+                        <dic-select v-if="row.$cellEdit" v-model="row.corpType" label="cnName" res="records"
+                             url="/blade-los/bcorpstypedefine/list?status=0&current=1&size=20"
+                            :filterable="true" :remote="true" dataName="cnName"
+                            @selectChange="rowDicChange('corpType', $event, row)"></dic-select>
                         <span v-else>{{ row.corpType }}</span>
                     </template>
                     <template slot="feeCnNameForm" slot-scope="{ row }">
@@ -76,8 +77,8 @@
                         <span v-else>{{ row.unitNo }}</span>
                     </template>
                     <template slot="menu" slot-scope="{ row, index }">
-                        <el-button v-if="row.quantityRule=='按箱型'" type="text" size="small" :disabled="basicData.disabled"
-                            @click="feestemplateCompanyEdit(index, row)">集装箱</el-button>
+                        <el-button v-if="row.quantityRule == '按箱型'" type="text" size="small"
+                            :disabled="basicData.disabled" @click="feestemplateCompanyEdit(index, row)">集装箱</el-button>
                         <el-button size="small" type="text" :disabled="basicData.disabled" @click="rowCell(row, index)">
                             {{ row.$cellEdit ? '保存' : '编辑' }}
                         </el-button>
@@ -231,7 +232,7 @@ export default {
                             value: 'USD'
                         }],
                     },
-                  
+
                 ]
             },
             pageLoading: false,

+ 4 - 3
src/views/iosBasicData/polTemplate/feesTemplateItems.vue

@@ -52,8 +52,9 @@
                         <span>{{ index + 1 }}</span>
                     </template>
                     <template slot="corpTypeForm" slot-scope="{row,index}">
-                        <dic-select v-if="row.$cellEdit" v-model="row.corpType" key="id" label="dictValue"
-                            url="/blade-system/dict-biz/dictionary?code=corp_type" :filterable="true"
+                        <dic-select v-if="row.$cellEdit" v-model="row.corpType" label="cnName" res="records"
+                            url="/blade-los/bcorpstypedefine/list?status=0&current=1&size=20"
+                            :filterable="true" :remote="true" dataName="cnName"
                             @selectChange="rowDicChange('corpType', $event, row)"></dic-select>
                         <span v-else>{{ row.corpType }}</span>
                     </template>
@@ -947,7 +948,7 @@ export default {
         },
         // 费用详细编辑
         feestemplateCompanyEdit(index, row) {
-            if (!row.feeCnName || !row.quantityRule || !row.quantity || !row.price  || !row.curCode) {
+            if (!row.feeCnName || !row.quantityRule || !row.quantity || !row.price || !row.curCode) {
                 this.$refs.crud.rowCell(row, index)
                 return this.$message.error("请完善明细信息");
             }

+ 6 - 0
src/views/ow/owPut/detailsPage.vue

@@ -2318,15 +2318,21 @@ export default {
       if (name == 'curCodeD') {
         if (row) {
           el.exrate = row.exrateReceivable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'curCodeC') {
         if (row) {
           el.exrate = row.exratePayable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'feeCnName') {

+ 8 - 2
src/views/ow/owTask/detailsPage.vue

@@ -2303,15 +2303,21 @@ export default {
       if (name == 'curCodeD') {
         if (row) {
           el.exrate = row.exrateReceivable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'curCodeC') {
         if (row) {
           el.exrate = row.exratePayable
+          this.countChange(el)
         } else {
           el.exrate = null
+          el.amountCNY = 0
+          el.amountUSD = 0
         }
       }
       if (name == 'feeCnName') {
@@ -2664,7 +2670,7 @@ export default {
         });
         submitFeeList(this.feeCenterListD).then(res => {
           this.$message.success("保存成功");
-           this.getDetail(this.form.id)
+          this.getDetail(this.form.id)
         }).finally(() => {
           loading.close();
         })
@@ -2742,7 +2748,7 @@ export default {
         });
         submitFeeList(this.feeCenterListC).then(res => {
           this.$message.success("保存成功");
-            this.getDetail(this.form.id)
+          this.getDetail(this.form.id)
         }).finally(() => {
           loading.close();
         })