Browse Source

1.海运出口 增加是否是美国货
2.海运出口 根据付款方式修改付费地点
3.海运出口 ETD:除MAERSK、HMM、HLAG外,其它船公司的ETD不能大于当前日期一个月
4.海运出口 交货地改变时,提示交货地港口限重及特殊要求
5.海运出口 保存之前联调校验接口
6.海运进出口 费用tab页的主表新加字段

Qukatie 5 months ago
parent
commit
1498bad4b1

+ 16 - 0
src/api/iosBasicData/bills.js

@@ -252,3 +252,19 @@ export const listFeeCountByCorp = (data) => {
     params: data
   })
 }
+// 单据校验接口
+export const documentVerification = (row) => {
+  return request({
+    url: '/api/blade-los/bills/documentVerification',
+    method: 'post',
+    data: row
+  })
+}
+export const agreementpriceList = (data) => {
+  return request({
+    url: '/api/blade-los/agreementprice/list',
+    method: 'get',
+    params: data
+  })
+}
+

+ 164 - 195
src/views/financialManagementF/agreementprice/agreementpriceitems.vue

@@ -5,15 +5,15 @@
             <div class="customer-back">
                 <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
                 <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
-                           @click="backToList">返回列表
+                    @click="backToList">返回列表
                 </el-button>
             </div>
             <div class="add-customer-btn">
-                <el-button  size="small" type="primary" style="margin-right: 8px" v-if="detailData.seeDisabled"
-                            :loading="saveLoading" @click="editHandle">编 辑
+                <el-button size="small" type="primary" style="margin-right: 8px" v-if="detailData.seeDisabled"
+                    :loading="saveLoading" @click="editHandle">编 辑
                 </el-button>
-                <el-button  size="small" type="primary" style="margin-right: 8px" v-else
-                            :loading="saveLoading" @click="editCustomer">保 存
+                <el-button size="small" type="primary" style="margin-right: 8px" v-else :loading="saveLoading"
+                    @click="editCustomer">保 存
                 </el-button>
             </div>
         </div>
@@ -23,41 +23,34 @@
                 <basic-container :showBtn="true">
                     <el-row>
                         <el-col v-for="(item, index) in basicData.column" :key="index" :span="item.span ? item.span : 8"
-                                :class="{ isShow: item.display }" >
+                            :class="{ isShow: item.display }">
                             <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
                                 <div v-if="item.prop == 'corpCnName'">
-                                    <search-query ref="SearchQuery"
-                                                  :datalist="corpData"
-                                                  title="客户"
-                                                  :filterable="true"
-                                                  :clearable="true"
-                                                  :remote="true"
-                                                  :selectValue="form.corpCnName"
-                                                  :disabled="item.disabled || detailData.seeDisabled"
-                                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                                  @remoteMethod="getBcorpsListfun" @corpChange="corpCorpChange" >
+                                    <search-query ref="SearchQuery" :datalist="corpData" title="客户" :filterable="true"
+                                        :clearable="true" :remote="true" :selectValue="form.corpCnName"
+                                        :disabled="item.disabled || detailData.seeDisabled"
+                                        :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
+                                        @remoteMethod="getBcorpsListfun" @corpChange="corpCorpChange">
                                         <bcorps></bcorps>
                                     </search-query>
                                 </div>
-                                <el-date-picker
-                                    v-else-if="item.type === 'date'"
-                                    v-model="form[item.prop]"
-                                    type="date"
-                                    size="small"
-                                    value-format="yyyy-MM-dd"
-                                    :disabled="item.disabled || detailData.seeDisabled"
-                                    placeholder="选择日期">
+                                <el-date-picker v-else-if="item.type === 'date'" v-model="form[item.prop]" type="date"
+                                    size="small" value-format="yyyy-MM-dd"
+                                    :disabled="item.disabled || detailData.seeDisabled" placeholder="选择日期">
                                 </el-date-picker>
-                                <el-select v-else-if="item.type == 'select'"  v-model="form[item.prop]" :placeholder="'请选择' + item.label" clearable
-                                           filterable style="width: 100%" size="small"
-                                           :disabled="item.disabled || detailData.seeDisabled">
+                                <el-select v-else-if="item.type == 'select'" v-model="form[item.prop]"
+                                    :placeholder="'请选择' + item.label" clearable filterable style="width: 100%"
+                                    size="small" :disabled="item.disabled || detailData.seeDisabled">
                                     <el-option v-for="(ite, inde) in item.dicData" :key="inde" :label="ite.label"
-                                               :value="ite.value"></el-option>
+                                        :value="ite.value"></el-option>
                                 </el-select>
-                                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small"
-                                          autocomplete="off" :disabled="item.disabled || detailData.seeDisabled" :placeholder="'请输入' + item.label"></el-input>
-                                <el-input v-else type="age" style="width: 100%;" v-model.trim="form[item.prop]" size="small" autocomplete="off"
-                                          :disabled="item.disabled || detailData.seeDisabled" clearable :placeholder="'请输入' + item.label"></el-input>
+                                <el-input type="textarea" v-else-if="item.type === 'textarea'"
+                                    v-model.trim="form[item.prop]" size="small" autocomplete="off"
+                                    :disabled="item.disabled || detailData.seeDisabled"
+                                    :placeholder="'请输入' + item.label"></el-input>
+                                <el-input v-else type="age" style="width: 100%;" v-model.trim="form[item.prop]"
+                                    size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled"
+                                    clearable :placeholder="'请输入' + item.label"></el-input>
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -69,58 +62,32 @@
             <containerTitle title="协议详细"></containerTitle>
             <basic-container>
                 <div style="margin-bottom: 10px">
-                    <el-button type="primary"
-                               size="small"
-                               :disabled="detailData.seeDisabled"
-                               @click="agreementPricepingCompanyAdd">新增数据
+                    <el-button type="primary" size="small" :disabled="detailData.seeDisabled"
+                        @click="agreementPricepingCompanyAdd">新增数据
                     </el-button>
                 </div>
-                <el-table
-                    stripe
-                    :data="form.agreementPriceItemsList"
-                    id="out-table"
-                    :header-cell-class-name="headerClassName"
-                    style="width: 100%">
-                    <el-table-column
-                        prop="carrierCnName"
-                        label="船公司中文名称">
+                <el-table stripe :data="form.agreementPriceItemsList" id="out-table"
+                    :header-cell-class-name="headerClassName" style="width: 100%">
+                    <el-table-column prop="carrierCnName" label="船公司中文名称">
                     </el-table-column>
-                    <el-table-column
-                        prop="carrierEnName"
-                        label="船公司英文名称">
+                    <el-table-column prop="carrierEnName" label="船公司英文名称">
                     </el-table-column>
-                    <el-table-column
-                        prop="accountPeriodDays"
-                        label="账期天数">
+                    <el-table-column prop="accountPeriodDays" label="账期天数">
                     </el-table-column>
-                    <el-table-column
-                        prop="settlementPeriodType"
-                        label="结算周期类型">
+                    <el-table-column prop="settlementPeriodType" label="结算周期类型">
                     </el-table-column>
-                    <el-table-column
-                        prop="settlementPeriodName"
-                        label="结算周期名称">
+                    <el-table-column prop="settlementPeriodName" label="结算周期名称">
                     </el-table-column>
-                    <el-table-column
-                        prop="settlementPeriodDescr"
-                        label="结算周期描述">
+                    <el-table-column prop="settlementPeriodDescr" label="结算周期描述">
                     </el-table-column>
 
-                    <el-table-column
-                        prop="remarks"
-                        label="备注">
+                    <el-table-column prop="remarks" label="备注">
                     </el-table-column>
                     <el-table-column label="操作">
                         <template slot-scope="scope">
-                            <el-button
-                                type="text"
-                                size="small"
-                                :disabled="detailData.seeDisabled"
+                            <el-button type="text" size="small" :disabled="detailData.seeDisabled"
                                 @click="agreementPriceCompanyEdit(scope.$index, scope.row)">编辑</el-button>
-                            <el-button
-                                size="small"
-                                type="text"
-                                :disabled="detailData.seeDisabled"
+                            <el-button size="small" type="text" :disabled="detailData.seeDisabled"
                                 @click="agreementPriceCompanyDelete(scope.$index, scope.row)">删除</el-button>
                         </template>
                     </el-table-column>
@@ -130,112 +97,98 @@
 
 
         <!--协议详细添加弹窗-->
-        <el-dialog
-            title="协议详细"
-            :visible.sync="agreementPriceVisible"
-            width="60%"
-            append-to-body
-            :destroy-on-close="true"
-            :modal-append-to-body="false"
-            :before-close="agreementPriceClose">
+        <el-dialog title="协议详细" :visible.sync="agreementPriceVisible" width="60%" append-to-body
+            :destroy-on-close="true" :modal-append-to-body="false" :before-close="agreementPriceClose">
             <div>
                 <el-form :model="agreementPriceForm" ref="agreementPriceForm" label-width="100px" class="demo-ruleForm">
                     <el-row>
-                        <el-col v-for="(item, index) in agreementPriceData.column" :key="index" :span="item.span ? item.span : 12"
-                                :class="{ isShow: item.display }" >
+                        <el-col v-for="(item, index) in agreementPriceData.column" :key="index"
+                            :span="item.span ? item.span : 12" :class="{ isShow: item.display }">
                             <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
                                 <div v-if="item.prop == 'carrierCnName'">
-                                    <search-query ref="SearchQuery"
-                                                  :datalist="carrierData"
-                                                  :selectValue="agreementPriceForm[item.prop]"
-                                                  title="船公司"
-                                                  :filterable="true"
-                                                  :clearable="true"
-                                                  :remote="true"
-                                                  :disabled="item.disabled"
-                                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                                  @remoteMethod="getBcorpsListCarrierfun" @corpChange="carrierCorpChange" >
+                                    <search-query ref="SearchQuery" :datalist="carrierData"
+                                        :selectValue="agreementPriceForm[item.prop]" title="船公司" :filterable="true"
+                                        :clearable="true" :remote="true" :disabled="item.disabled"
+                                        :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
+                                        @remoteMethod="getBcorpsListCarrierfun" @corpChange="carrierCorpChange">
                                         <bcorps></bcorps>
                                     </search-query>
                                 </div>
                                 <div v-else-if="item.prop == 'settlementPeriodType'">
-                                    <search-query ref="SearchQuery"
-                                                  :datalist="settlementPeriodData"
-                                                  :selectValue="agreementPriceForm[item.prop]"
-                                                  title="结算周期"
-                                                  :filterable="true"
-                                                  :clearable="true"
-                                                  :remote="true"
-                                                  :disabled="item.disabled"
-                                                  :forParameter="{key:'id',label:'balanceCycleType',value:'balanceCycleType'}"
-                                                  @remoteMethod="balancecycleListfun" @corpChange="settlementPeriodCorpChange" >
+                                    <search-query ref="SearchQuery" :datalist="settlementPeriodData"
+                                        :selectValue="agreementPriceForm[item.prop]" title="结算周期" :filterable="true"
+                                        :clearable="true" :remote="true" :disabled="item.disabled"
+                                        :forParameter="{ key: 'id', label: 'balanceCycleType', value: 'balanceCycleType' }"
+                                        @remoteMethod="balancecycleListfun" @corpChange="settlementPeriodCorpChange">
                                         <balancecycle></balancecycle>
                                     </search-query>
                                 </div>
-                                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="agreementPriceForm[item.prop]" size="small"
-                                          autocomplete="off" :disabled="item.disabled" :placeholder="'请输入' + item.label"></el-input>
-                                <el-input v-else type="age" style="width: 100%;" v-model.trim="agreementPriceForm[item.prop]" size="small" autocomplete="off"
-                                          :disabled="item.disabled" clearable :placeholder="'请输入' + item.label"></el-input>
+                                <el-input type="textarea" v-else-if="item.type === 'textarea'"
+                                    v-model.trim="agreementPriceForm[item.prop]" size="small" autocomplete="off"
+                                    :disabled="item.disabled" :placeholder="'请输入' + item.label"></el-input>
+                                <el-input v-else type="age" style="width: 100%;"
+                                    v-model.trim="agreementPriceForm[item.prop]" size="small" autocomplete="off"
+                                    :disabled="item.disabled" clearable :placeholder="'请输入' + item.label"></el-input>
                             </el-form-item>
                         </el-col>
                     </el-row>
                 </el-form>
             </div>
             <span slot="footer" class="dialog-footer">
-                    <el-button @click="agreementPriceVisible = false;">取 消</el-button>
-                    <el-button type="primary" @click="agreementPricecompanyConfirm">确 定</el-button>
-                </span>
+                <el-button @click="agreementPriceVisible = false;">取 消</el-button>
+                <el-button type="primary" @click="agreementPricecompanyConfirm">确 定</el-button>
+            </span>
         </el-dialog>
     </div>
 </template>
 
 <script>
-import {agreementpriceDetail, agreementpriceSubmit} from "@/api/iosBasicData/agreementprice";
-import {bfeesList} from "@/api/iosBasicData/bfees";
-import {getBcorpsList} from "@/api/iosBasicData/bcorps";
+import { agreementpriceDetail, agreementpriceSubmit } from "@/api/iosBasicData/agreementprice";
+import { bfeesList } from "@/api/iosBasicData/bfees";
+import { getBcorpsList } from "@/api/iosBasicData/bcorps";
 import { getRateList } from "@/api/iosBasicData/rateManagement";
-import {bbusinesstypeList} from "@/api/iosBasicData/bbusinesstype";
+import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 import SearchQuery from '@/components/iosbasic-data/searchquery.vue'
 import bcorps from "@/views/iosBasicData/bcorps/index.vue";
 import bfeesdefine from "@/views/iosBasicData/bfeesdefine/index.vue";
 import bbusinesstype from "@/views/iosBasicData/bbusinesstype/index.vue";
 import balancecycle from "@/views/financialManagementF/balancecycle/index.vue";
-import {getWorkDicts} from "@/api/system/dictbiz";
-import {balancecycleList} from "@/api/iosBasicData/balancecycle";
+import { getWorkDicts } from "@/api/system/dictbiz";
+import { balancecycleList } from "@/api/iosBasicData/balancecycle";
 
 
 export default {
-    components: {SearchQuery,bcorps,bfeesdefine,bbusinesstype,balancecycle},
-    props:{
+    components: { SearchQuery, bcorps, bfeesdefine, bbusinesstype, balancecycle },
+    props: {
         detailData: {
             type: Object
         }
     },
 
-    data(){
+    data() {
         return {
-            pageLoading:false,
-            saveLoading:false,
+            pageLoading: false,
+            saveLoading: false,
             // 协议详细弹窗
-            agreementPriceVisible:false,
+            agreementPriceVisible: false,
             // 协议详细弹窗绑定的数据
-            agreementPriceForm:{},
-            agreementPriceIndex:null,
+            agreementPriceForm: {},
+            agreementPriceIndex: null,
             // 客户请求数据
-            corpData:[],
+            corpData: [],
             // 船公司请求到的数据
-            carrierData:[],
+            carrierData: [],
             // 结算周期数据
-            settlementPeriodData:[],
+            settlementPeriodData: [],
             // 获取到的数据
-            form:{
-                isShared:0,
-                status:0,
-                agreementPriceItemsList:[]
+            form: {
+                isShared: 0,
+                status: 0,
+                agreementPriceItemsList: []
             },
             // 基础资料数据
-            basicData:{
-                column:[
+            basicData: {
+                column: [
                     {
                         label: "单据编码",
                         prop: "billNo",
@@ -266,7 +219,7 @@ export default {
                     {
                         label: "客户英文名称",
                         prop: "corpEnName",
-                        disabled:true,
+                        disabled: true,
                         rules: [{
                             required: true,
                             message: "请输入客户英文名称",
@@ -277,8 +230,8 @@ export default {
                         label: "授信等级",
                         prop: "creditLevel",
                         // 请输入授信等级,A=A级,B=B级,B+=B+级,B-=B-级,C=C级,D=黑名单
-                        type:'select',
-                        dicData:[]
+                        type: 'select',
+                        dicData: []
                     },
                     {
                         label: "协议生效日期",
@@ -303,20 +256,31 @@ export default {
                     {
                         label: "状态",
                         prop: "status",
-                        type:'select',
-                        dicData:[{
-                            label:'启用',
-                            value:0
-                        },{
-                            label:'停用',
-                            value:1
+                        type: 'select',
+                        dicData: [{
+                            label: '启用',
+                            value: 0
+                        }, {
+                            label: '停用',
+                            value: 1
+                        }],
+                    },
+                    {
+                        label: "结算方式",
+                        prop: "accountPeriodType",
+                        type: 'select',
+                        dicData: [{
+                            label: '月结',
+                            value: '月结'
+                        }, {
+                            label: '票结',
+                            value: '票结'
                         }],
                     },
-
                     {
                         label: "账期备注",
                         prop: "accountPeriodRemarks",
-                        span:24,
+                        span: 24,
                         type: 'textarea',
                         width: "180",
                         slot: true,
@@ -325,7 +289,7 @@ export default {
                     {
                         label: "备注",
                         prop: "remarks",
-                        span:24,
+                        span: 24,
                         type: 'textarea',
                         minRows: 3,
                     },
@@ -333,8 +297,8 @@ export default {
                 ]
             },
             // 费用详细数据
-            agreementPriceData:{
-                column:[
+            agreementPriceData: {
+                column: [
                     // {
                     //     label: "协议价管理主表id",
                     //     prop: "pid",
@@ -355,7 +319,7 @@ export default {
                     {
                         label: "船公司英文名称",
                         prop: "carrierEnName",
-                        disabled:true,
+                        disabled: true,
                     },
                     {
                         label: "账期天数",
@@ -369,7 +333,7 @@ export default {
                     {
                         label: "结算周期名称",
                         prop: "settlementPeriodName",
-                        disabled:true,
+                        disabled: true,
                     },
                     {
                         label: "结算周期描述",
@@ -379,7 +343,7 @@ export default {
                     {
                         label: "备注",
                         prop: "remarks",
-                        span:24,
+                        span: 24,
                         type: 'textarea',
                         minRows: 3,
                     },
@@ -393,18 +357,18 @@ export default {
         this.balancecycleListfun()
         this.getWorkDictsfun()
     },
-    methods:{
+    methods: {
         // 查询字典
-        getWorkDictsfun(){
+        getWorkDictsfun() {
             getWorkDicts('bcorps-credit-level').then((res) => {
                 let arr = []
-                for(let item of res.data.data) {
+                for (let item of res.data.data) {
                     arr.push({
-                        label:item.dictValue,
-                        value:item.dictValue
+                        label: item.dictValue,
+                        value: item.dictValue
                     })
                 }
-                for(let item of this.basicData.column) {
+                for (let item of this.basicData.column) {
                     if (item.prop == 'creditLevel') {
                         item.dicData = arr
                     }
@@ -413,56 +377,56 @@ export default {
             });
         },
         // 获取客户数据
-        getBcorpsListfun(cnName){
-            getBcorpsList(1,10,{cnName}).then(res=>{
+        getBcorpsListfun(cnName) {
+            getBcorpsList(1, 10, { cnName }).then(res => {
                 this.corpData = res.data.data.records
             })
         },
         // 获取船公司数据
-        getBcorpsListCarrierfun(cnName){
-            getBcorpsList(1,10,{corpTypeName:'船公司',cnName}).then(res=>{
+        getBcorpsListCarrierfun(cnName) {
+            getBcorpsList(1, 10, { corpTypeName: '船公司', cnName }).then(res => {
                 this.carrierData = res.data.data.records
             })
         },
         // 结算周期数据
-        balancecycleListfun(cnName){
-            balancecycleList(1,10,{cnName}).then(res=>{
+        balancecycleListfun(cnName) {
+            balancecycleList(1, 10, { cnName }).then(res => {
                 this.settlementPeriodData = res.data.data.records
             })
         },
         // 客户选择之后的回调
-        corpCorpChange(value){
-            for(let item of this.corpData) {
+        corpCorpChange(value) {
+            for (let item of this.corpData) {
                 if (item.cnName == value) {
-                    this.$set(this.form,'corpId',item.id)
-                    this.$set(this.form,'corpEnName',item.enName)
-                    this.$set(this.form,'corpCnName',item.cnName)
+                    this.$set(this.form, 'corpId', item.id)
+                    this.$set(this.form, 'corpEnName', item.enName)
+                    this.$set(this.form, 'corpCnName', item.cnName)
                 }
             }
         },
         // 船公司选择之后的回调
-        carrierCorpChange(value){
-            for(let item of this.carrierData) {
+        carrierCorpChange(value) {
+            for (let item of this.carrierData) {
                 if (item.cnName == value) {
-                    this.$set(this.agreementPriceForm,'carrierId',item.id)
-                    this.$set(this.agreementPriceForm,'carrierEnName',item.enName)
-                    this.$set(this.agreementPriceForm,'carrierCnName',item.cnName)
+                    this.$set(this.agreementPriceForm, 'carrierId', item.id)
+                    this.$set(this.agreementPriceForm, 'carrierEnName', item.enName)
+                    this.$set(this.agreementPriceForm, 'carrierCnName', item.cnName)
                 }
             }
         },
         // 结算周期类型
         settlementPeriodCorpChange(value) {
-            for(let item of this.settlementPeriodData) {
+            for (let item of this.settlementPeriodData) {
                 if (item.balanceCycleType == value) {
-                    this.$set(this.agreementPriceForm,'settlementPeriodType',item.balanceCycleType)
-                    this.$set(this.agreementPriceForm,'settlementPeriodName',item.balanceCycleName)
-                    this.$set(this.agreementPriceForm,'settlementPeriodDescr',item.balanceCycleDescribe)
+                    this.$set(this.agreementPriceForm, 'settlementPeriodType', item.balanceCycleType)
+                    this.$set(this.agreementPriceForm, 'settlementPeriodName', item.balanceCycleName)
+                    this.$set(this.agreementPriceForm, 'settlementPeriodDescr', item.balanceCycleDescribe)
                 }
             }
             console.log(value)
         },
         // 获取详情数据
-        agreementpriceDetailfun(id){
+        agreementpriceDetailfun(id) {
             this.pageLoading = true
             agreementpriceDetail(id).then(res => {
                 this.form = res.data.data;
@@ -470,24 +434,24 @@ export default {
             });
         },
         // 编辑按钮更改状态
-        editHandle(){
-            this.$set(this.detailData,'seeDisabled',false)
+        editHandle() {
+            this.$set(this.detailData, 'seeDisabled', false)
             // this.detailData.seeDisabled = false;
         },
         // 保存按钮
-        editCustomer(){
-            this.$refs.form.validate((valid)=>{
+        editCustomer() {
+            this.$refs.form.validate((valid) => {
                 if (valid) {
                     this.saveLoading = true
                     this.agreementpriceSubmitfun()
-                }else {
+                } else {
                     return false;
                 }
             })
         },
         // 保存接口
-        agreementpriceSubmitfun(){
-            agreementpriceSubmit(this.form).then((res)=>{
+        agreementpriceSubmitfun() {
+            agreementpriceSubmit(this.form).then((res) => {
                 this.$message({
                     type: "success",
                     message: "操作成功!"
@@ -499,25 +463,25 @@ export default {
         },
 
         // 费用详细添加
-        agreementPricepingCompanyAdd(){
+        agreementPricepingCompanyAdd() {
             this.agreementPriceVisible = true
             this.agreementPriceForm = {}
         },
         // 费用详细编辑
-        agreementPriceCompanyEdit(index,row){
+        agreementPriceCompanyEdit(index, row) {
             this.agreementPriceForm = JSON.parse(JSON.stringify(row))
             this.agreementPriceIndex = index
             this.agreementPriceVisible = true
         },
         // 费用详细删除
-        agreementPriceCompanyDelete(index,row){
-            this.form.agreementPriceItemsList.splice(index,1)
+        agreementPriceCompanyDelete(index, row) {
+            this.form.agreementPriceItemsList.splice(index, 1)
         },
         // 费用详细确认
-        agreementPricecompanyConfirm(){
+        agreementPricecompanyConfirm() {
             if (this.agreementPriceIndex != null) {
-                this.form.agreementPriceItemsList.splice(this.agreementPriceIndex,1,this.agreementPriceForm)
-            }else {
+                this.form.agreementPriceItemsList.splice(this.agreementPriceIndex, 1, this.agreementPriceForm)
+            } else {
                 if (!this.form.agreementPriceItemsList) {
                     this.form.agreementPriceItemsList = []
                 }
@@ -528,7 +492,7 @@ export default {
             this.agreementPriceVisible = false
         },
         // 费用详细关闭
-        agreementPriceClose(done){
+        agreementPriceClose(done) {
             done();
             // this.$confirm('确认关闭?')
             //     .then(_ => {
@@ -541,7 +505,7 @@ export default {
             this.$emit('goBack')
         },
         // 更改表格颜色
-        headerClassName(tab){
+        headerClassName(tab) {
             //颜色间隔
             let back = ""
             if (tab.columnIndex >= 0 && tab.column.level === 1) {
@@ -561,25 +525,30 @@ export default {
 ::v-deep#out-table .back-one {
     background: #ecf5ff !important;
 }
+
 ::v-deep#out-table .back-two {
     background: #ecf5ff !important;
 }
+
 .borderless {
     height: 100%;
     box-sizing: border-box
-
 }
+
 .customer-main {
-//margin-top: 20px;
-//width: calc(100% - 140px);
+    //margin-top: 20px;
+    //width: calc(100% - 140px);
     margin-bottom: 15px;
 }
+
 .margintop {
     margin-top: 10px;
 }
+
 ::v-deep.el-form-item {
     margin-bottom: 0;
 }
+
 .isShow {
     display: none;
 }

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

@@ -32,6 +32,28 @@
                         </el-form-item>
                     </el-col>
                 </el-row>
+                <el-row :gutter="10" v-if="business == 1">
+                    <el-col :span="6">
+                        <el-form-item label="报价方式" prop="quotationMethod">
+                            <dic-select v-model="assemblyForm.quotationMethod" placeholder="报价方式" key="dictKey"
+                                label="dictValue" :filterable="true"
+                                url="/blade-system/dict-biz/dictionary?code=quotationMethod"
+                                :disabled="detailData.seeDisabled"></dic-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="自定义号" prop="userDefine4">
+                            <el-input style="width: 100%;" v-model="assemblyForm.hmmEdi.userDefine4" size="small"
+                                autocomplete="off" :disabled="detailData.seeDisabled" placeholder="请输入自定义号"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="结算方式" prop="accountPeriodType">
+                            <el-input style="width: 100%;" v-model="assemblyForm.accountPeriodType" size="small"
+                                autocomplete="off" disabled placeholder=""></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
             </el-form>
         </div>
 
@@ -305,7 +327,7 @@
         <avue-crud v-show="assemblyForm.feeCenterAmendList.length > 0" id="out-table" class="box-card"
             :header-cell-class-name="headerClassName" ref="crud" :row-style="{ height: '16px' }"
             :cell-style="{ padding: '0px' }" :data="assemblyForm.feeCenterAmendList" :option="amendOption"></avue-crud>
-        <div v-if="(roleName.indexOf('admin') != -1 || roleName.indexOf('利润查看') != -1 || ((roleName.indexOf('应收修改') != -1 || roleName.indexOf('应收查看') != -1) && (roleName.indexOf('应付修改') != -1 || roleName.indexOf('应付查看') != -1)))&&amendsStatus"
+        <div v-if="(roleName.indexOf('admin') != -1 || roleName.indexOf('利润查看') != -1 || ((roleName.indexOf('应收修改') != -1 || roleName.indexOf('应收查看') != -1) && (roleName.indexOf('应付修改') != -1 || roleName.indexOf('应付查看') != -1))) && amendsStatus"
             style="display: flex;align-items: center;justify-content: space-around">
             <div style="width: 30%">
                 <div class="bottomFlex" style="justify-content: space-around">
@@ -604,7 +626,7 @@ export default {
     },
     data() {
         return {
-            amendsStatus:false,
+            amendsStatus: false,
             amendOption: {
                 border: true,
                 align: 'center',
@@ -1351,9 +1373,13 @@ export default {
                 },
             ],
             roleName: [], // 当前登录人的角色权限
+            business: null,
         }
     },
     async created() {
+        isProcurement({ "param": "business" }).then(res => {
+            this.business = res.data.data
+        })
         isProcurement({ "param": "if.station" }).then(res => {
             console.log(res)
             if (res.data.data == 1) {

+ 92 - 40
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -32,8 +32,8 @@
                             <el-form-item label="" prop="hshipperDetails">
                                 <el-input type="textarea" style="width: 100%;"
                                     v-model="assemblyForm.detail.hshipperDetails" size="small" autocomplete="off"
-                                    :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable placeholder="请输入发货人提单描述"
-                                    @change="textareaBlur('hshipperDetails')"></el-input>
+                                    :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
+                                    placeholder="请输入发货人提单描述" @change="textareaBlur('hshipperDetails')"></el-input>
                             </el-form-item>
                         </div>
                         <el-form-item label="收货人" prop="hconsigneeCnName">
@@ -75,8 +75,8 @@
                                 </span>
                                 <el-input type="textarea" style="width: 100%;"
                                     v-model="assemblyForm.detail.hconsigneeDetails" size="small" autocomplete="off"
-                                    :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable placeholder="请输入收货人提单描述"
-                                    @change="textareaBlur('hconsigneeDetails')"></el-input>
+                                    :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
+                                    placeholder="请输入收货人提单描述" @change="textareaBlur('hconsigneeDetails')"></el-input>
                             </el-form-item>
                         </div>
                         <el-form-item label="通知人" prop="hnotifyCnName">
@@ -123,8 +123,8 @@
 
                                 <el-input type="textarea" style="width: 100%;"
                                     v-model="assemblyForm.detail.hnotifyDetails" size="small" autocomplete="off"
-                                    :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable placeholder="请输入通知人提单描述"
-                                    @change="textareaBlur('hnotifyDetails')"></el-input>
+                                    :disabled="detailData.seeDisabled" :rows="textareaNumber" clearable
+                                    placeholder="请输入通知人提单描述" @change="textareaBlur('hnotifyDetails')"></el-input>
                             </el-form-item>
                         </div>
                     </el-row>
@@ -157,8 +157,7 @@
                                     <el-input type="age" style="width: 100%;"
                                         v-model="assemblyForm.placeReceiptNamePrint" size="small" autocomplete="off"
                                         :disabled="detailData.seeDisabled" clearable placeholder="收货地"
-                                              @change="textareaBlur('placeReceiptNamePrint')"
-                                    ></el-input>
+                                        @change="textareaBlur('placeReceiptNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
                         </el-form-item>
@@ -285,7 +284,7 @@
                                     <el-input type="age" style="width: 100%;"
                                         v-model="assemblyForm.placeDeliveryNamePrint" size="small" autocomplete="off"
                                         :disabled="detailData.seeDisabled" clearable placeholder="交货地"
-                                              @change="textareaBlur('placeDeliveryNamePrint')"></el-input>
+                                        @change="textareaBlur('placeDeliveryNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
                         </el-form-item>
@@ -354,16 +353,16 @@
                                                       @corpFocus="remoteMethod($event,'commodity')">
                                         </search-query>
                                         -->
-<!--                                        <el-select v-model="assemblyForm.hscode" placeholder="请选择HS CODE" size="small"-->
-<!--                                            @change="hsCodeChang" allow-create filterable :loading="hsLoading" remote-->
-<!--                                            :remote-method="searchHsQuery">-->
-<!--                                            <el-option v-for="(item, index) in commodityData" :key="index"-->
-<!--                                                :label="item.hsCode" :value="item.hsCode">-->
-<!--                                            </el-option>-->
-<!--                                        </el-select>-->
+                                        <!--                                        <el-select v-model="assemblyForm.hscode" placeholder="请选择HS CODE" size="small"-->
+                                        <!--                                            @change="hsCodeChang" allow-create filterable :loading="hsLoading" remote-->
+                                        <!--                                            :remote-method="searchHsQuery">-->
+                                        <!--                                            <el-option v-for="(item, index) in commodityData" :key="index"-->
+                                        <!--                                                :label="item.hsCode" :value="item.hsCode">-->
+                                        <!--                                            </el-option>-->
+                                        <!--                                        </el-select>-->
                                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.hscode"
-                                                  size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
-                                                  placeholder="HS CODE"></el-input>
+                                            size="small" autocomplete="off" :disabled="detailData.seeDisabled" clearable
+                                            placeholder="HS CODE"></el-input>
                                     </el-col>
                                     <el-col :span="11">
                                         <span style="padding-left: 20px"></span>
@@ -461,7 +460,6 @@
                                 placeholder="选择日期">
                             </el-date-picker>
                         </el-form-item>
-
                         <el-form-item label="船公司" prop="carrierCnName">
                             <span slot="label">
                                 <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
@@ -692,10 +690,9 @@
                                 <span style="color: #4c9e44;cursor: pointer;text-decoration: underline"
                                     @click="emailJump('cy')">场站</span>
                             </span>
-<!--                            :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"-->
+                            <!--                            :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"-->
                             <search-query :datalist="cyData" :selectValue="assemblyForm.cyCnName" :filterable="true"
                                 :clearable="true" :remote="true"
-
                                 :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
                                 @remoteMethod="remoteMethod($event, 'cy')" @corpChange="corpChange($event, 'cy')"
                                 @corpFocus="remoteMethod($event, 'cy')">
@@ -946,7 +943,7 @@ export default {
     components: { bcorps, SearchQuery, precontainers, bcorpstypedefine, dicSelect },
     data() {
         return {
-            textareaNumber:5,
+            textareaNumber: 5,
             loading: false,
             delData: [],
             delOption: {
@@ -966,15 +963,21 @@ export default {
             },
             hsLoading: false,
             // 设置当前时间选择的范围
-            etdPickerOptions: {
-                disabledDate(time) {
-                    // 获取当前日期后的90天
-                    // return time.getTime() < Date.now() || time.getTime() > Date.parse(NdayDate(90))
-                    // 获取前后的45天 Date.parse(NdayDate(45))
-                    let timeDay = localStorage.getItem("timeFrame") ? localStorage.getItem("timeFrame") : 45
-                    return time.getTime() < Date.parse(NdayDate(-(timeDay))) || time.getTime() > Date.parse(NdayDate(timeDay - 1))
-                }
-            },
+            // etdPickerOptions: {
+            //     disabledDate(time) {
+            //         // 获取当前日期后的90天
+            //         // return time.getTime() < Date.now() || time.getTime() > Date.parse(NdayDate(90))
+            //         // 获取前后的45天 Date.parse(NdayDate(45))
+            //         let timeDay = 0
+            //         if (this.assemblyForm.carrierCode == 'MAERSK') {
+            //             timeDay = localStorage.getItem("timeFrame") ? localStorage.getItem("timeFrame") : 45
+            //         } else {
+            //             timeDay = 30
+            //         }
+
+            //         return time.getTime() < Date.parse(NdayDate(-(timeDay))) || time.getTime() > Date.parse(NdayDate(timeDay - 1))
+            //     }
+            // },
             emailhash: emailhash, // 邮箱跳转地址
             // 场站
             cyData: [],
@@ -1042,7 +1045,7 @@ export default {
     },
     created() {
         isProcurement({ "param": "textarea.number" }).then(res => {
-            if(res.data.data){
+            if (res.data.data) {
                 this.textareaNumber = res.data.data
             }
         })
@@ -1072,6 +1075,24 @@ export default {
         this.dgPackingLevelWorkDicts()
         this.getHsCode()
     },
+    computed: {
+        etdPickerOptions() {
+            return {
+                // disabledDate: (time) => {
+                //     return time.getTime() < this.startDate.getTime() || time.getTime() > this.endDate.getTime();
+                // }
+                disabledDate: (time) => {
+                    // 获取当前日期后的90天
+                    // return time.getTime() < Date.now() || time.getTime() > Date.parse(NdayDate(90))
+                    // 获取前后的45天 Date.parse(NdayDate(45))
+                    if (!(this.assemblyForm.carrierCode == 'MAERSK' || this.assemblyForm.carrierCode == 'HMM' || this.assemblyForm.carrierCode == 'HLAG')) {
+                        let timeDay = localStorage.getItem("timeFrame") ? localStorage.getItem("timeFrame") : 45
+                        return time.getTime() < Date.parse(NdayDate(-(timeDay))) || time.getTime() > Date.parse(NdayDate(timeDay - 1))
+                    }
+                }
+            };
+        }
+    },
     methods: {
         //DEL监听
         delShow(val, type) {
@@ -1301,6 +1322,37 @@ export default {
                         this.$set(this.assemblyForm, name + 'Name', item.enName)
                         this.$set(this.assemblyForm, name + 'Code', item.code)
                         this.$set(this.assemblyForm, name + 'NamePrint', item.enName)
+                        if (this.business == 1) {
+                            if (name == 'placeDelivery') {
+                                if (Number(item.weightLimit) > 0 && !item.specalMarks) {
+                                    if (Number(this.assemblyForm.grossWeight) > Number(item.weightLimit)) {
+                                        this.$confirm(`超出港口限重,限重:${item.weightLimit},毛重:${this.assemblyForm.grossWeight}!`, '提示', {
+                                            confirmButtonText: '确定',
+                                            showCancelButton: false,
+                                            type: 'warning'
+                                        })
+                                    }
+                                }
+                                if (item.specalMarks && !item.weightLimit) {
+                                    this.$confirm(`港口特殊要求:${item.specalMarks}!`, '提示', {
+                                        confirmButtonText: '确定',
+                                        showCancelButton: false,
+                                        type: 'warning'
+                                    })
+                                }
+                                if (Number(item.weightLimit) > 0 && item.specalMarks) {
+                                    if (Number(this.assemblyForm.grossWeight) > Number(item.weightLimit)) {
+                                        this.$confirm(`超出港口限重,限重:${item.weightLimit},毛重:${this.assemblyForm.grossWeight}!!<br/>港口特殊要求:${item.specalMarks}!!`, '提示', {
+                                            confirmButtonText: '确定',
+                                            showCancelButton: false,
+                                            dangerouslyUseHTMLString: true,
+                                            type: 'warning'
+                                        })
+                                    }
+                                }
+                            }
+                        }
+
                     }
                 }
             }
@@ -1434,8 +1486,8 @@ export default {
                 if (!value) {
                     this.$set(this.assemblyForm, 'cyId', '')
                     this.$set(this.assemblyForm, 'cyCode', '')
-                    this.$set(this.assemblyForm, 'cyShortName','')
-                        this.$set(this.assemblyForm, 'cyCnName', '')
+                    this.$set(this.assemblyForm, 'cyShortName', '')
+                    this.$set(this.assemblyForm, 'cyCnName', '')
                     this.$set(this.assemblyForm, 'cyEnName', '')
                     this.$set(this.assemblyForm, 'cyRemarks', '')
                     // 联系人
@@ -1564,19 +1616,19 @@ export default {
             //         type: 'warning'
             //     });
             // }
-            let arr = ['hshipperDetails','hconsigneeDetails','hnotifyDetails','hnotify2Details']
+            let arr = ['hshipperDetails', 'hconsigneeDetails', 'hnotifyDetails', 'hnotify2Details']
             if (arr.indexOf(name) != -1) {
-                this.assemblyForm.detail[name] =_.toUpper(this.assemblyForm.detail[name])
+                this.assemblyForm.detail[name] = _.toUpper(this.assemblyForm.detail[name])
 
             }
-            let arr2=['marks','commodityDescr','bookingRemarks','siRemarks','forwarding','remarks','cyRemarks']
+            let arr2 = ['marks', 'commodityDescr', 'bookingRemarks', 'siRemarks', 'forwarding', 'remarks', 'cyRemarks']
             if (arr2.indexOf(name) != -1) {
-                this.assemblyForm[name] =_.toUpper(this.assemblyForm[name])
+                this.assemblyForm[name] = _.toUpper(this.assemblyForm[name])
 
             }
-            let arr3='placeReceiptNamePrint,polNamePrint,podNamePrint,destinationNamePrint,placeDeliveryNamePrint,potNamePrint'.split(',')
+            let arr3 = 'placeReceiptNamePrint,polNamePrint,podNamePrint,destinationNamePrint,placeDeliveryNamePrint,potNamePrint'.split(',')
             if (arr3.indexOf(name) != -1) {
-                this.assemblyForm[name] =_.toUpper(this.assemblyForm[name])
+                this.assemblyForm[name] = _.toUpper(this.assemblyForm[name])
 
             }
             // this.assemblyForm[name] = textareaWrap(this.assemblyForm[name])

+ 63 - 45
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -41,12 +41,32 @@
                         </el-form-item>
                     </el-col>
                 </el-row>
+                <el-row :gutter="10" v-if="business == 1">
+                    <el-col :span="6">
+                        <el-form-item label="报价方式" prop="quotationMethod">
+                            <dic-select v-model="assemblyForm.quotationMethod" placeholder="报价方式" key="dictKey"
+                                label="dictValue" :filterable="true"
+                                url="/blade-system/dict-biz/dictionary?code=quotationMethod"
+                                :disabled="detailData.seeDisabled"></dic-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="自定义号" prop="userDefine4">
+                            <el-input style="width: 100%;" v-model="assemblyForm.hmmEdi.userDefine4" size="small"
+                                autocomplete="off" :disabled="detailData.seeDisabled" placeholder="请输入自定义号"></el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="6">
+                        <el-form-item label="结算方式" prop="accountPeriodType">
+                            <el-input style="width: 100%;" v-model="assemblyForm.accountPeriodType" size="small"
+                                autocomplete="off" disabled placeholder=""></el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
             </el-form>
         </div>
         <!--显示 admin,应收修改,应收查看,应收查看只有打印账单一个功能 -->
-        <el-card
-            v-show="isFeeViewD"
-            class="box-card">
+        <el-card v-show="isFeeViewD" class="box-card">
             <avue-crud :option="optionD" :table-loading="loadingD" :data="assemblyForm.feeCenterListD" v-model="formD"
                 id="out-table" :header-cell-class-name="headerClassName" ref="crudD" :row-style="{ height: '20px' }"
                 :cell-style="{ padding: '0px' }" @selection-change="handleSelectionChange($event, 'D')"
@@ -57,39 +77,35 @@
                         <i class="el-icon-coin"></i>
                         <span>应收费用</span>
                     </div>
-                    <el-button v-if="isFeeEditD" type="danger"
-                        plain size="small" :disabled="!selectionDList.length || disabled || pleasereviewType"
+                    <el-button v-if="isFeeEditD" type="danger" plain size="small"
+                        :disabled="!selectionDList.length || disabled || pleasereviewType"
                         @click="batchDelete('D')">一键删除
                     </el-button>
-                    <el-button v-if="isFeeEditD" type="success"
-                        plain size="small" :disabled="!selectionDList.length || disabled || pleasereviewType"
+                    <el-button v-if="isFeeEditD" type="success" plain size="small"
+                        :disabled="!selectionDList.length || disabled || pleasereviewType"
                         @click="GenerateBillsfun('D')">生成账单
                     </el-button>
-                    <el-button v-if="isFeeEditD" type="danger"
-                        plain size="small" :disabled="!selectionDList.length || disabled || pleasereviewType"
+                    <el-button v-if="isFeeEditD" type="danger" plain size="small"
+                        :disabled="!selectionDList.length || disabled || pleasereviewType"
                         @click="RevokingBillsfun('D')">撤销账单
                     </el-button>
                     <el-button type="primary" plain size="small" @click="printingCostsfun('D')">打印账单</el-button>
-                    <el-button v-if="isFeeEditD" type="success"
-                        plain size="small" :disabled="!this.assemblyForm.id || disabled || pleasereviewType"
+                    <el-button v-if="isFeeEditD" type="success" plain size="small"
+                        :disabled="!this.assemblyForm.id || disabled || pleasereviewType"
                         @click="templateClick('D')">应收模板</el-button>
-                    <el-button v-if="isFeeEditD" type="info"
-                        plain size="small" :disabled="disabled || pleasereviewType"
+                    <el-button v-if="isFeeEditD" type="info" plain size="small" :disabled="disabled || pleasereviewType"
                         @click="feecenterSubmitListfun">一键保存</el-button>
-                    <el-button v-if="isFeeEditD" type="info"
-                        plain size="small" :disabled="disabled || pleasereviewType" @click="feecenterEditfun('D')">一键编辑
+                    <el-button v-if="isFeeEditD" type="info" plain size="small" :disabled="disabled || pleasereviewType"
+                        @click="feecenterEditfun('D')">一键编辑
                     </el-button>
-                    <el-button v-if="isFeeEditD" type="primary"
-                        plain size="small" :disabled="disabled || pleasereviewType"
-                        @click="copyfun('D')">生成应付</el-button>
-                    <el-button v-if="isFeeEditD" type="primary"
-                        plain size="small" :disabled="disabled || pleasereviewType"
-                        @click="allClick('发票申请', 'D')">发票申请</el-button>
+                    <el-button v-if="isFeeEditD" type="primary" plain size="small"
+                        :disabled="disabled || pleasereviewType" @click="copyfun('D')">生成应付</el-button>
+                    <el-button v-if="isFeeEditD" type="primary" plain size="small"
+                        :disabled="disabled || pleasereviewType" @click="allClick('发票申请', 'D')">发票申请</el-button>
                 </template>
                 <template slot="indexHeader" slot-scope="scope">
-                    <el-button v-if="isFeeEditD" type="primary"
-                        size="small" icon="el-icon-plus" circle :disabled="disabled || pleasereviewType"
-                        @click="addDfun"></el-button>
+                    <el-button v-if="isFeeEditD" type="primary" size="small" icon="el-icon-plus" circle
+                        :disabled="disabled || pleasereviewType" @click="addDfun"></el-button>
                 </template>
                 <template slot="index" slot-scope="scope">
                     <span>{{ scope.index + 1 }}</span>
@@ -177,9 +193,7 @@
             </avue-crud>
         </el-card>
         <!--显示 admin,应付修改,应付查看,应付查看只有打印账单一个功能 -->
-        <el-card
-            v-show="isFeeViewC"
-            class="box-card" style="margin: 2px 0">
+        <el-card v-show="isFeeViewC" class="box-card" style="margin: 2px 0">
             <avue-crud :option="optionC" :table-loading="loadingC" :data="assemblyForm.feeCenterListC" v-model="formC"
                 id="out-table" :header-cell-class-name="headerClassName" ref="crudC" :row-style="{ height: '20px' }"
                 :cell-style="{ padding: '0px' }" @selection-change="handleSelectionChange($event, 'C')"
@@ -190,39 +204,38 @@
                         <i class="el-icon-coin"></i>
                         <span>应付费用</span>
                     </div>
-                    <el-button v-if="isFeeEditC" type="danger"
-                        plain size="small" :disabled="!selectionCList.length || disabled || pleasereviewType"
+                    <el-button v-if="isFeeEditC" type="danger" plain size="small"
+                        :disabled="!selectionCList.length || disabled || pleasereviewType"
                         @click="batchDelete('C')">一键删除
                     </el-button>
-                    <el-button v-if="isFeeEditC" type="primary"
-                        plain size="small" :disabled="!selectionCList.length || disabled || pleasereviewType"
+                    <el-button v-if="isFeeEditC" type="primary" plain size="small"
+                        :disabled="!selectionCList.length || disabled || pleasereviewType"
                         @click="GenerateBillsfun('C')">生成账单
                     </el-button>
-                    <el-button v-if="isFeeEditC" type="danger"
-                        plain size="small" :disabled="!selectionCList.length || disabled || pleasereviewType"
+                    <el-button v-if="isFeeEditC" type="danger" plain size="small"
+                        :disabled="!selectionCList.length || disabled || pleasereviewType"
                         @click="RevokingBillsfun('C')">撤销账单
                     </el-button>
                     <el-button type="primary" plain size="small" @click="printingCostsfun('C')">打印账单</el-button>
-                    <el-button v-if="isFeeEditC" type="success"
-                        plain size="small" :disabled="!this.assemblyForm.id || disabled || pleasereviewType"
+                    <el-button v-if="isFeeEditC" type="success" plain size="small"
+                        :disabled="!this.assemblyForm.id || disabled || pleasereviewType"
                         @click="templateClick('C')">应付模板
                     </el-button>
-                    <el-button v-if="isFeeEditC" type="info"
-                        plain size="small" :disabled="disabled || pleasereviewType" @click="feecenterSubmitListfun">一键保存
+                    <el-button v-if="isFeeEditC" type="info" plain size="small" :disabled="disabled || pleasereviewType"
+                        @click="feecenterSubmitListfun">一键保存
                     </el-button>
-                    <el-button v-if="isFeeEditC" type="info"
-                        plain size="small" :disabled="disabled || pleasereviewType" @click="feecenterEditfun('C')">一键编辑
+                    <el-button v-if="isFeeEditC" type="info" plain size="small" :disabled="disabled || pleasereviewType"
+                        @click="feecenterEditfun('C')">一键编辑
                     </el-button>
-                    <el-button v-if="isFeeEditC" type="primary"
-                        plain size="small" :disabled="disabled || pleasereviewType" @click="copyfun('C')">生成应收
+                    <el-button v-if="isFeeEditC" type="primary" plain size="small"
+                        :disabled="disabled || pleasereviewType" @click="copyfun('C')">生成应收
                     </el-button>
                     <el-button type="info" plain size="small" :disabled="disabled"
                         @click="allClick('付费申请', 'C')">付费申请</el-button>
                 </template>
                 <template slot="indexHeader" slot-scope="scope">
-                    <el-button v-if="isFeeEditC" type="primary"
-                        size="small" icon="el-icon-plus" circle :disabled="disabled || pleasereviewType"
-                        @click="addCfun">
+                    <el-button v-if="isFeeEditC" type="primary" size="small" icon="el-icon-plus" circle
+                        :disabled="disabled || pleasereviewType" @click="addCfun">
                     </el-button>
                 </template>
                 <template slot="index" slot-scope="scope">
@@ -585,9 +598,10 @@ import { dateFormat } from "@/util/date";
 import { regularBurdenfloating } from "@/util/regularJudgment";
 import { isProcurement } from "@/api/basicData/configuration";
 import { getToken } from "@/util/auth";
+import dicSelect from "@/components/dicSelect/main";
 import _ from "lodash";
 export default {
-    components: { reportContainer, SearchQuery, reportformsList },
+    components: { reportContainer, SearchQuery, reportformsList, dicSelect },
     props: {
         pid: {
 
@@ -1387,9 +1401,13 @@ export default {
             isFeeEditC: false, // 当前登录人是否有应付费用修改角色
             isProfitView: false, // 当前登录人是否有利润查看角色
             idArr: [],
+            business: null,
         }
     },
     async created() {
+        isProcurement({ "param": "business" }).then(res => {
+            this.business = res.data.data
+        })
         isProcurement({ "param": "if.station" }).then(res => {
             console.log(res)
             if (res.data.data == 1) {

+ 9 - 5
src/views/iosBasicData/SeafreightExportF/bills/assembly/formbottom.vue

@@ -284,15 +284,15 @@
                 <el-col :span="12">
 
                     <div>
-                        <el-checkbox size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
+                        <el-checkbox v-if="business!=1" size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
                             v-model="assemblyForm.isCutOffTheOrder">截单</el-checkbox>
-                        <el-checkbox size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
+                        <el-checkbox v-if="business!=1" size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
                             v-model="assemblyForm.isManifest">舱单</el-checkbox>
                         <el-checkbox size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
                             v-model="assemblyForm.isNeedDeclare">报关</el-checkbox>
-                        <el-checkbox size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
+                        <el-checkbox v-if="business!=1" size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
                             v-model="assemblyForm.isVgm">VGM</el-checkbox>
-                        <el-checkbox size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
+                        <el-checkbox v-if="business!=1" size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
                             v-model="assemblyForm.isPutOrder">放单</el-checkbox>
                         <el-checkbox size="medium" :true-label="1" :false-label="0" :disabled="detailData.seeDisabled"
                             v-model="assemblyForm.isNeedLand">陆运</el-checkbox>
@@ -479,7 +479,7 @@ import { bportsList } from "@/api/iosBasicData/bports";
 import emailhash from '@/views/iosBasicData/SeafreightExportF/bills/assembly/Jsonfile/emailhash.json'
 import { getBcorpsattnList } from "@/api/iosBasicData/bcorpsattn";
 import { getBservicetermsList } from "@/api/iosBasicData/bserviceterms";
-
+import { isProcurement } from "@/api/basicData/configuration";
 export default {
     components: { SearchQuery },
     props: {
@@ -501,6 +501,7 @@ export default {
     },
     data() {
         return {
+            business:null,
             corpSourceDict: [],
             emailhash: emailhash, // 邮箱跳转地址
             // 场站
@@ -550,6 +551,9 @@ export default {
     created() {
         // this.cyBcorpslistByType()
         this.getWorkDictsfun()
+        isProcurement({ "param": "business" }).then(res => {
+            this.business = res.data.data
+        })
     },
     methods: {
         // 远程搜索

+ 77 - 8
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -101,7 +101,7 @@
                                                                 }} {{ item[0].label }}
                                                             </span>
                                                             <span v-else style="color: #1e9fff">{{ item[0].label
-                                                                }}</span>
+                                                            }}</span>
                                                         </span>
                                                         <span v-if="item[0].type == 'button'"></span>
                                                         <!--<el-button v-if="item[0].type == 'button'" :disabled="detailData.seeDisabled || item[0].disabled"-->
@@ -332,7 +332,7 @@ import {
     billsListAll, billsRevokeCheckBills, editypesSendingEdi,
     billsSubmit,
     billsAdd,
-    deptGetDetailPol, postSelectByUser,
+    deptGetDetailPol, postSelectByUser, documentVerification, agreementpriceList
 } from '@/api/iosBasicData/bills'
 import { dateFormat } from "@/util/date";
 import checkSchedule from "@/components/checkH/checkSchedule.vue";
@@ -790,6 +790,7 @@ export default {
             },
             excelBox: false,
             saberTenantId: 0,
+            business: null,
         }
     },
     watch: {
@@ -850,6 +851,9 @@ export default {
         isProcurement({ "param": "verify.symbol" }).then(res => {
             this.verifySymbolStatus = res.data.data
         })
+        isProcurement({ "param": "business" }).then(res => {
+            this.business = res.data.data
+        })
         if (this.detailData.billType) {
             this.form.billType = this.detailData.billType
         }
@@ -1379,6 +1383,15 @@ export default {
                     this.form.corpId = this.$refs.bcorps[0].selectionList[0].id
                     this.form.corpCode = this.$refs.bcorps[0].selectionList[0].code
                     this.form.corpSource = this.$refs.bcorps[0].selectionList[0].corpSource
+                    if (this.business == 1) {
+                        agreementpriceList({ corpId: this.$refs.bcorps[0].selectionList[0].id }).then(res => {
+                            if (res.data.data.records.length) {
+                                this.form.accountPeriodType = res.data.data.records[0].accountPeriodType == '月结' ? '月结' : '票结有协议'
+                            } else {
+                                this.form.accountPeriodType = '票结无协议'
+                            }
+                        })
+                    }
                     // 获取 客户op数据
                     this.getBcorpsattnListfun()
                     // 业务来源参数带出
@@ -1410,6 +1423,15 @@ export default {
                     this.form.corpId = this.$refs.bcorps[0].$refs.detail.formData.id
                     this.form.corpCode = this.$refs.bcorps[0].$refs.detail.formData.code
                     this.form.corpSource = this.$refs.bcorps[0].$refs.detail.formData.corpSource
+                    if (this.business == 1) {
+                        agreementpriceList({ corpId: this.$refs.bcorps[0].$refs.detail.formData.id }).then(res => {
+                            if (res.data.data.records.length) {
+                                this.form.accountPeriodType = res.data.data.records[0].accountPeriodType == '月结' ? '月结' : '票结有协议'
+                            } else {
+                                this.form.accountPeriodType = '票结无协议'
+                            }
+                        })
+                    }
                     // 获取 客户op数据
                     this.getBcorpsattnListfun()
                     // 业务来源参数带出
@@ -1523,6 +1545,9 @@ export default {
                     this.form.corpCode = ''
                     this.form.shortName = ''
                     this.form.corpSource = ""
+                    if (this.business == 1) {
+                        this.form.accountPeriodType = ""
+                    }
                     // 清空 客户OP
                     // this.form.corpAttnName = ''
                     this.form.corpAttnId = ''
@@ -1543,6 +1568,15 @@ export default {
                         this.form.corpCode = item.code
                         this.form.shortName = item.shortName
                         this.form.corpSource = item.corpSource
+                        if (this.business == 1) {
+                            agreementpriceList({ corpId: item.id }).then(res => {
+                                if (res.data.data.records.length) {
+                                    this.form.accountPeriodType = res.data.data.records[0].accountPeriodType == '月结' ? '月结' : '票结有协议'
+                                } else {
+                                    this.form.accountPeriodType = '票结无协议'
+                                }
+                            })
+                        }
                         // 获取 客户op数据
                         this.getBcorpsattnListfun()
                         // 业务来源参数带出
@@ -1641,21 +1675,31 @@ export default {
                 }
             }
             else if (name == 'mpaymode') {
+                console.log('mpaymode')
                 // 主单付费方式
                 this.form[name] = value
                 if (value == 'PP') {
-                    this.$set(this.form, 'mpayplace', this.form.polEnName ? this.form.polEnName.split(' - ')[0] : '')
+                    this.$set(this.form, 'mpayplace', this.form.polEnName ? this.form.polEnName : '')
                 } else {
-                    this.$set(this.form, 'mpayplace', this.form.podEnName ? this.form.podEnName.split(' - ')[0] : '')
+                    if (this.business == 1) {
+                        this.$set(this.form, 'mpayplace', 'DESTINATION')
+                    } else {
+                        this.$set(this.form, 'mpayplace', this.form.podEnName ? this.form.podEnName : '')
+                    }
+
                 }
             }
             else if (name == 'hpaymode') {
                 // 分单付费方式
                 this.form[name] = value
                 if (value == 'PP') {
-                    this.$set(this.form, 'hpayplace', this.form.polEnName.split(' - ')[0])
+                    this.$set(this.form, 'hpayplace', this.form.polEnName)
                 } else {
-                    this.$set(this.form, 'hpayplace', this.form.podEnName.split(' - ')[0])
+                    if (this.business == 1) {
+                        this.$set(this.form, 'hpayplace', 'DESTINATION')
+                    } else {
+                        this.$set(this.form, 'hpayplace', this.form.podEnName ? this.form.podEnName : '')
+                    }
                 }
             }
             else if (name == 'teamName') {
@@ -2097,7 +2141,32 @@ export default {
                     // 赋值 ETD 日期
                     this.form.billDate = this.form.etd ? this.form.etd.slice(0, 10) + ' 00:00:00' : null // 单据日期
                     // 调用保存接口
-                    this.billsSubmitfun(status)
+                    if (this.business == 1) {
+                        documentVerification(this.form).then(res => {
+                            if (res.data.data == 0) {
+                                this.billsSubmitfun(status)
+                            }
+                            if (res.data.data == 1) {
+                                this.$confirm(res.data.msg, '提示', {
+                                    confirmButtonText: '确认',
+                                    showCancelButton: false,
+                                    type: 'warning'
+                                })
+                            }
+                            if (res.data.data == 2) {
+                                this.$confirm(res.data.msg, '提示', {
+                                    confirmButtonText: '确定',
+                                    cancelButtonText: '取消',
+                                    type: 'warning'
+                                }).then(() => {
+                                    this.billsSubmitfun(status)
+                                })
+
+                            }
+                        })
+                    } else {
+                        this.billsSubmitfun(status)
+                    }
                 }
             })
         },
@@ -2473,7 +2542,7 @@ export default {
         handleClick(tba, event) {
 
         },
-               // 大tbas切换
+        // 大tbas切换
         bigHandleClick() {
             if (this.bigtabs == 'fd') {
                 if (this.form.id) {

+ 398 - 430
src/views/iosBasicData/bports/portsTerms.vue

@@ -5,15 +5,15 @@
             <div class="customer-back">
                 <!--        <i class="back-icon el-icon-arrow-left"></i><i style="font-style:normal">返回管理列表</i>-->
                 <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
-                           @click="backToList">返回列表
+                    @click="backToList">返回列表
                 </el-button>
             </div>
             <div class="add-customer-btn">
-                <el-button  size="small" type="primary" style="margin-right: 8px" v-if="detailData.seeDisabled"
-                           :loading="saveLoading" @click="editHandle">编 辑
+                <el-button size="small" type="primary" style="margin-right: 8px" v-if="detailData.seeDisabled"
+                    :loading="saveLoading" @click="editHandle">编 辑
                 </el-button>
-                <el-button  size="small" type="primary" style="margin-right: 8px" v-else
-                            :loading="saveLoading" @click="editCustomer">保 存
+                <el-button size="small" type="primary" style="margin-right: 8px" v-else :loading="saveLoading"
+                    @click="editCustomer">保 存
                 </el-button>
             </div>
         </div>
@@ -23,18 +23,21 @@
                 <basic-container :showBtn="true">
                     <el-row>
                         <el-col v-for="(item, index) in basicData.column" :key="index" :span="item.span ? item.span : 8"
-                                :class="{ isShow: item.display }" >
+                            :class="{ isShow: item.display }">
                             <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
-                                <el-select v-if="item.type == 'select'"  v-model="form[item.prop]" :placeholder="'请选择' + item.label" clearable
-                                           filterable style="width: 100%" size="small"
-                                           :disabled="item.disabled || detailData.seeDisabled">
+                                <el-select v-if="item.type == 'select'" v-model="form[item.prop]"
+                                    :placeholder="'请选择' + item.label" clearable filterable style="width: 100%"
+                                    size="small" :disabled="item.disabled || detailData.seeDisabled">
                                     <el-option v-for="(ite, inde) in item.dicData" :key="inde" :label="ite.label"
-                                               :value="ite.value"></el-option>
+                                        :value="ite.value"></el-option>
                                 </el-select>
-                                <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small"
-                                          autocomplete="off" :disabled="item.disabled || detailData.seeDisabled" :placeholder="'请输入' + item.label"></el-input>
-                                <el-input v-else type="age" style="width: 100%;" v-model.trim="form[item.prop]" size="small" autocomplete="off"
-                                          :disabled="item.disabled || detailData.seeDisabled" clearable :placeholder="'请输入' + item.label"></el-input>
+                                <el-input type="textarea" v-else-if="item.type === 'textarea'"
+                                    v-model.trim="form[item.prop]" size="small" autocomplete="off"
+                                    :disabled="item.disabled || detailData.seeDisabled"
+                                    :placeholder="'请输入' + item.label"></el-input>
+                                <el-input v-else type="age" style="width: 100%;" v-model.trim="form[item.prop]"
+                                    size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled"
+                                    clearable :placeholder="'请输入' + item.label"></el-input>
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -46,45 +49,25 @@
             <containerTitle title="船公司信息"></containerTitle>
             <basic-container>
                 <div style="margin-bottom: 10px">
-                    <el-button type="primary"
-                               size="small"
-                               :disabled="detailData.seeDisabled"
-                               @click="shippingCompanyAdd">新增数据
+                    <el-button type="primary" size="small" :disabled="detailData.seeDisabled"
+                        @click="shippingCompanyAdd">新增数据
                     </el-button>
                 </div>
-                <el-table
-                    stripe
-                    :data="form.bportsTermsList"
-                    id="out-table"
-                    :header-cell-class-name="headerClassName"
+                <el-table stripe :data="form.bportsTermsList" id="out-table" :header-cell-class-name="headerClassName"
                     style="width: 100%">
-                    <el-table-column
-                        prop="carrierName"
-                        label="船公司名称">
+                    <el-table-column prop="carrierName" label="船公司名称">
                     </el-table-column>
-                    <el-table-column
-                        prop="serviceTermCode"
-                        label="服务条款">
+                    <el-table-column prop="serviceTermCode" label="服务条款">
                     </el-table-column>
-                    <el-table-column
-                        prop="details"
-                        label="船公司特殊要求">
+                    <el-table-column prop="details" label="船公司特殊要求">
                     </el-table-column>
-                    <el-table-column
-                        prop="remarks"
-                        label="备注">
+                    <el-table-column prop="remarks" label="备注">
                     </el-table-column>
                     <el-table-column label="操作">
                         <template slot-scope="scope">
-                            <el-button
-                                type="text"
-                                size="small"
-                                :disabled="detailData.seeDisabled"
+                            <el-button type="text" size="small" :disabled="detailData.seeDisabled"
                                 @click="shipCompanyEdit(scope.$index, scope.row)">编辑</el-button>
-                            <el-button
-                                size="small"
-                                type="text"
-                                :disabled="detailData.seeDisabled"
+                            <el-button size="small" type="text" :disabled="detailData.seeDisabled"
                                 @click="shipCompanyDelete(scope.$index, scope.row)">删除</el-button>
                         </template>
                     </el-table-column>
@@ -96,45 +79,29 @@
             <containerTitle title="扩展数据"></containerTitle>
             <basic-container>
                 <div style="margin-bottom: 10px">
-                    <el-button type="primary"
-                               size="small"
-                               :disabled="detailData.seeDisabled"
-                               @click="extendedDataAdd">新增数据
+                    <el-button type="primary" size="small" :disabled="detailData.seeDisabled"
+                        @click="extendedDataAdd">新增数据
                     </el-button>
                 </div>
-                <el-table
-                    stripe
-                    :data="form.extendedDataArr"
-                    id="out-table"
-                    :header-cell-class-name="headerClassName"
+                <el-table stripe :data="form.extendedDataArr" id="out-table" :header-cell-class-name="headerClassName"
                     style="width: 100%">
-                    <el-table-column
-                        prop="name"
-                        label="名称">
+                    <el-table-column prop="name" label="名称">
                         <template slot-scope="{row}">
                             <el-input v-if="row.edit" size="small" v-model="row.name" placeholder="请输入名称"></el-input>
-                            <span v-else>{{row.name}}</span>
+                            <span v-else>{{ row.name }}</span>
                         </template>
                     </el-table-column>
-                    <el-table-column
-                        prop="value"
-                        label="键值">
+                    <el-table-column prop="value" label="键值">
                         <template slot-scope="{row}">
                             <el-input v-if="row.edit" size="small" v-model="row.value" placeholder="请输入键值"></el-input>
-                            <span v-else>{{row.value}}</span>
+                            <span v-else>{{ row.value }}</span>
                         </template>
                     </el-table-column>
                     <el-table-column label="操作">
                         <template slot-scope="scope">
-                            <el-button
-                                type="text"
-                                size="small"
-                                :disabled="detailData.seeDisabled"
-                                @click="extendedDataEdit(scope.$index, scope.row)">{{scope.row.edit?'保存':'编辑'}}</el-button>
-                            <el-button
-                                size="small"
-                                type="text"
-                                :disabled="detailData.seeDisabled"
+                            <el-button type="text" size="small" :disabled="detailData.seeDisabled"
+                                @click="extendedDataEdit(scope.$index, scope.row)">{{ scope.row.edit ? '保存' : '编辑' }}</el-button>
+                            <el-button size="small" type="text" :disabled="detailData.seeDisabled"
                                 @click="extendedDataDelete(scope.$index, scope.row)">删除</el-button>
                         </template>
                     </el-table-column>
@@ -143,419 +110,420 @@
         </div>
 
         <!--船公司添加弹窗-->
-        <el-dialog
-            title="船公司"
-            :visible.sync="shipVisible"
-            width="50%"
-            append-to-body
-            :destroy-on-close="true"
-            :modal-append-to-body="false"
-            :before-close="shipClose">
+        <el-dialog title="船公司" :visible.sync="shipVisible" width="50%" append-to-body :destroy-on-close="true"
+            :modal-append-to-body="false" :before-close="shipClose">
             <div>
                 <el-form :model="shipForm" ref="shipForm" label-width="120px" class="demo-ruleForm">
                     <el-row>
                         <el-col v-for="(item, index) in shipData.column" :key="index" :span="item.span ? item.span : 12"
-                                :class="{ isShow: item.display }" >
+                            :class="{ isShow: item.display }">
                             <el-form-item :label="item.label" :prop="item.prop" :rules="item.rules">
-                                <el-input type="textarea" v-if="item.type === 'textarea'" v-model.trim="shipForm[item.prop]" size="small"
-                                          autocomplete="off" :disabled="item.disabled" :placeholder="'请输入' + item.label"></el-input>
+                                <el-input type="textarea" v-if="item.type === 'textarea'"
+                                    v-model.trim="shipForm[item.prop]" size="small" autocomplete="off"
+                                    :disabled="item.disabled" :placeholder="'请输入' + item.label"></el-input>
                                 <div v-else-if="item.prop == 'carrierName'">
-                                    <search-query ref="SearchQuery"
-                                                  :datalist="corpData"
-                                                  title="船公司"
-                                                  :filterable="true"
-                                                  :clearable="true"
-                                                  :remote="true"
-                                                  :forParameter="{key:'id',label:'cnName',value:'id'}"
-                                                  @remoteMethod="getBcorpsListfun" @corpChange="corpCorpChange" >
+                                    <search-query ref="SearchQuery" :datalist="corpData" title="船公司" :filterable="true"
+                                        :clearable="true" :remote="true"
+                                        :forParameter="{ key: 'id', label: 'cnName', value: 'id' }"
+                                        @remoteMethod="getBcorpsListfun" @corpChange="corpCorpChange">
                                         <bcorps></bcorps>
                                     </search-query>
                                 </div>
                                 <div v-else-if="item.prop == 'serviceTermCode'">
-                                    <search-query ref="SearchQuery"
-                                                  :datalist="serviceTermCodeData"
-                                                  title="服务条款"
-                                                  :filterable="true"
-                                                  :clearable="true"
-                                                  :remote="true"
-                                                  :forParameter="{key:'id',label:'cnName',value:'cnName'}"
-                                                  @remoteMethod="getBcorpsListfun" @corpChange="serviceTermCodeCorpChange" >
+                                    <search-query ref="SearchQuery" :datalist="serviceTermCodeData" title="服务条款"
+                                        :filterable="true" :clearable="true" :remote="true"
+                                        :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
+                                        @remoteMethod="getBcorpsListfun" @corpChange="serviceTermCodeCorpChange">
                                         <bserviceterms></bserviceterms>
                                     </search-query>
                                 </div>
-                                <el-input v-else type="age" style="width: 100%;" v-model.trim="shipForm[item.prop]" size="small" autocomplete="off"
-                                          :disabled="item.disabled" clearable :placeholder="'请输入' + item.label"></el-input>
+                                <el-input v-else type="age" style="width: 100%;" v-model.trim="shipForm[item.prop]"
+                                    size="small" autocomplete="off" :disabled="item.disabled" clearable
+                                    :placeholder="'请输入' + item.label"></el-input>
                             </el-form-item>
                         </el-col>
                     </el-row>
                 </el-form>
             </div>
             <span slot="footer" class="dialog-footer">
-                    <el-button @click="shipVisible = false;">取 消</el-button>
-                    <el-button type="primary" @click="shipcompanyConfirm">确 定</el-button>
-                </span>
+                <el-button @click="shipVisible = false;">取 消</el-button>
+                <el-button type="primary" @click="shipcompanyConfirm">确 定</el-button>
+            </span>
         </el-dialog>
     </div>
 </template>
 
 <script>
-import {bportsDetail, bportsSubmit} from "@/api/iosBasicData/bports";
+import { bportsDetail, bportsSubmit } from "@/api/iosBasicData/bports";
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
 import bcorps from "@/views/iosBasicData/bcorps/index.vue";
 import bserviceterms from "@/views/iosBasicData/bserviceterms/index.vue";
-import {getBcorpsList} from "@/api/iosBasicData/bcorps";
-import {getBservicetermsList} from "@/api/iosBasicData/bserviceterms";
-    export default {
-        components: {bcorps, SearchQuery,bserviceterms},
-        props:{
-            detailData: {
-                type: Object
-            }
-        },
-        data(){
-            return {
-                pageLoading:false,
-                saveLoading:false,
-                // 船公司弹窗
-                shipVisible:false,
-                // 船公司弹窗绑定的数据
-                shipForm:{},
-                shipIndex:null,
-                // 客户(船公司)数据
-                corpData:[],
-                // 服务条款
-                serviceTermCodeData:[],
-
-                // 获取到的数据
-                form:{
-                    isSeaPort:0,
-                    isAirPort:0,
-                    isInlandPort:0,
-                    status:0,
-                    extendedDataArr:[],
-                    bportsTermsList:[],
-                },
-                // 基础资料数据
-                basicData:{
-                    column:[
-                        {
-                            label: "港口编码",
-                            prop: "code",
-                            rules: [{
-                                required: true,
-                                message: "请输入港口编码",
-                                trigger: "blur"
-                            }]
-                        },
-                        {
-                            label: "国际编码",
-                            prop: "unCode",
-                        },
-                        {
-                            label: "中文名称",
-                            prop: "cnName",
-                            rules: [{
-                                required: true,
-                                message: "请输入中文名称",
-                                trigger: "blur"
-                            }]
-                        },
-                        {
-                            label: "英文名称",
-                            prop: "enName",
-                            rules: [{
-                                required: true,
-                                message: "请输入英文名称",
-                                trigger: "blur"
-                            }]
-                        },
-                        {
-                            label: "国家代码",
-                            prop: "cntyCode",
-                        },
-                        {
-                            label: "国家名称",
-                            prop: "cntyName",
-                        },
-                        {
-                            label: "是否海港",
-                            prop: "isSeaPort",
-                            type:'select',
-                            dicData:[{
-                                label:'否',
-                                value:0
-                            },{
-                                label:'是',
-                                value:1
-                            }],
-                        },
-                        {
-                            label: "是否空港",
-                            prop: "isAirPort",
-                            type:'select',
-                            dicData:[{
-                                label:'否',
-                                value:0
-                            },{
-                                label:'是',
-                                value:1
-                            }],
-                        },
-                        {
-                            label: "是否内陆港",
-                            prop: "isInlandPort",
-                            width:100,
-                            type:'select',
-                            dicData:[{
-                                label:'否',
-                                value:0
-                            },{
-                                label:'是',
-                                value:1
-                            }],
-                        },
-                        {
-                            label: "状态",
-                            prop: "status",
-                            type:'select',
-                            dicData:[{
-                                label:'启用',
-                                value:0
-                            },{
-                                label:'停用',
-                                value:1
-                            }],
-                        },
-                        {
-                            label: "备注",
-                            prop: "remarks",
-                            span:24,
-                            type: 'textarea',
-                            minRows: 3,
-                        },
+import { getBcorpsList } from "@/api/iosBasicData/bcorps";
+import { getBservicetermsList } from "@/api/iosBasicData/bserviceterms";
+export default {
+    components: { bcorps, SearchQuery, bserviceterms },
+    props: {
+        detailData: {
+            type: Object
+        }
+    },
+    data() {
+        return {
+            pageLoading: false,
+            saveLoading: false,
+            // 船公司弹窗
+            shipVisible: false,
+            // 船公司弹窗绑定的数据
+            shipForm: {},
+            shipIndex: null,
+            // 客户(船公司)数据
+            corpData: [],
+            // 服务条款
+            serviceTermCodeData: [],
 
-                    ]
-                },
-                // 传公司数据
-                shipData:{
-                    column:[
-                        {
-                            label: "船公司名称",
-                            prop: "carrierName",
-                            rules: [{
-                                required: true,
-                                message: "请输入传公司名称",
-                                trigger: "blur"
-                            }]
-                        },
-                        {
-                            label: "服务条款",
-                            prop: "serviceTermCode",
-                            rules: [{
-                                required: true,
-                                message: "请输入服务条款",
-                                trigger: "blur"
-                            }]
-                        },
-                        {
-                            label: "船公司特殊要求",
-                            prop: "details",
-                            // rules: [{
-                            //     required: true,
-                            //     message: "请输入船公司特殊要求",
-                            //     trigger: "blur"
-                            // }]
-                        },
-                        {
-                            label: "备注",
-                            prop: "remarks",
-                            span:24,
-                            type: 'textarea',
-                            minRows: 3,
-                        },
-                    ]
-                },
-            }
-        },
-        created() {
-            this.getBcorpsListfun()
-            this.getBservicetermsListfun()
-        },
-        methods:{
-            // 获取客户(船公司)数据
-            getBcorpsListfun(cnName){
-                getBcorpsList(1,10,{cnName}).then(res=>{
-                    this.corpData = res.data.data.records
-                })
-            },
-            // 船公司选中的回调
-            corpCorpChange(value){
-                for(let item of this.corpData) {
-                    if (item.id == value) {
-                        this.$set(this.shipForm,'carrierId',item.id)
-                        this.$set(this.shipForm,'carrierName',item.cnName)
-                    }
-                }
-            },
-            // 服务条款请求的数据
-            getBservicetermsListfun(cnName){
-                getBservicetermsList(1,10,{cnName}).then(res=>{
-                    this.serviceTermCodeData = res.data.data.records
-                })
-            },
-            // 服务条款选择的回调
-            serviceTermCodeCorpChange(value){
-                this.shipForm.serviceTermCode = value
-            },
-            // 获取详情数据
-            bportsDetailfun(id){
-                this.pageLoading = true
-                bportsDetail(id).then(res => {
-                    this.form = res.data.data;
-                    this.form.extendedDataArr.map(item=>{
-                        item.edit = false
-                        return item
-                    })
-                    this.pageLoading = false
-                });
-            },
-            // 编辑按钮更改状态
-            editHandle(){
-                this.detailData.seeDisabled = false;
-            },
-            // 保存按钮
-            editCustomer(){
-                this.$refs.form.validate((valid)=>{
-                    if (valid) {
-                        // 判断是否有id
-                        // if (this.form.id) {
-                        //     this.form.bportsTermsList.map(item=>{
-                        //         item.pid = this.form.id
-                        //     })
-                        // }else {
-                        // }
-                        this.saveLoading = true
-                        this.bportsSubmitfun()
-                    }else {
-                        return false;
-                    }
-                })
-            },
-            // 保存接口
-            bportsSubmitfun(){
-                this.form.extendedData = JSON.stringify(this.form.extendedDataArr)
-                bportsSubmit(this.form).then((res)=>{
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!"
-                    });
-                    this.saveLoading = false
-                    this.bportsDetailfun(res.data.data.id)
-                    this.detailData.seeDisabled = true;
-                })
+            // 获取到的数据
+            form: {
+                isSeaPort: 0,
+                isAirPort: 0,
+                isInlandPort: 0,
+                status: 0,
+                extendedDataArr: [],
+                bportsTermsList: [],
             },
-            // 船公司添加
-            shippingCompanyAdd(){
-                this.shipVisible = true
-            },
-            // 船公司编辑
-            shipCompanyEdit(index,row){
-                this.shipForm = JSON.parse(JSON.stringify(row))
-                this.shipIndex = index
-                this.shipVisible = true
+            // 基础资料数据
+            basicData: {
+                column: [
+                    {
+                        label: "港口编码",
+                        prop: "code",
+                        rules: [{
+                            required: true,
+                            message: "请输入港口编码",
+                            trigger: "blur"
+                        }]
+                    },
+                    {
+                        label: "国际编码",
+                        prop: "unCode",
+                    },
+                    {
+                        label: "中文名称",
+                        prop: "cnName",
+                        rules: [{
+                            required: true,
+                            message: "请输入中文名称",
+                            trigger: "blur"
+                        }]
+                    },
+                    {
+                        label: "英文名称",
+                        prop: "enName",
+                        rules: [{
+                            required: true,
+                            message: "请输入英文名称",
+                            trigger: "blur"
+                        }]
+                    },
+                    {
+                        label: "国家代码",
+                        prop: "cntyCode",
+                    },
+                    {
+                        label: "国家名称",
+                        prop: "cntyName",
+                    },
+                    {
+                        label: "是否海港",
+                        prop: "isSeaPort",
+                        type: 'select',
+                        dicData: [{
+                            label: '否',
+                            value: 0
+                        }, {
+                            label: '是',
+                            value: 1
+                        }],
+                    },
+                    {
+                        label: "是否空港",
+                        prop: "isAirPort",
+                        type: 'select',
+                        dicData: [{
+                            label: '否',
+                            value: 0
+                        }, {
+                            label: '是',
+                            value: 1
+                        }],
+                    },
+                    {
+                        label: "是否内陆港",
+                        prop: "isInlandPort",
+                        width: 100,
+                        type: 'select',
+                        dicData: [{
+                            label: '否',
+                            value: 0
+                        }, {
+                            label: '是',
+                            value: 1
+                        }],
+                    },
+                    {
+                        label: "状态",
+                        prop: "status",
+                        type: 'select',
+                        dicData: [{
+                            label: '启用',
+                            value: 0
+                        }, {
+                            label: '停用',
+                            value: 1
+                        }],
+                    },
+                    {
+                        label: "限重",
+                        prop: "weightLimit",
+                    },
+                    {
+                        label: "特殊要求",
+                        prop: "specalMarks",
+                    },
+                    {
+                        label: "备注",
+                        prop: "remarks",
+                        span: 24,
+                        type: 'textarea',
+                        minRows: 3,
+                    },
+
+                ]
             },
-            // 船公司删除
-            shipCompanyDelete(index,row){
-                this.form.bportsTermsList.splice(index,1)
+            // 传公司数据
+            shipData: {
+                column: [
+                    {
+                        label: "船公司名称",
+                        prop: "carrierName",
+                        rules: [{
+                            required: true,
+                            message: "请输入传公司名称",
+                            trigger: "blur"
+                        }]
+                    },
+                    {
+                        label: "服务条款",
+                        prop: "serviceTermCode",
+                        rules: [{
+                            required: true,
+                            message: "请输入服务条款",
+                            trigger: "blur"
+                        }]
+                    },
+                    {
+                        label: "船公司特殊要求",
+                        prop: "details",
+                        // rules: [{
+                        //     required: true,
+                        //     message: "请输入船公司特殊要求",
+                        //     trigger: "blur"
+                        // }]
+                    },
+                    {
+                        label: "备注",
+                        prop: "remarks",
+                        span: 24,
+                        type: 'textarea',
+                        minRows: 3,
+                    },
+                ]
             },
-            // 船公司确认
-            shipcompanyConfirm(){
-                if (this.shipIndex != null) {
-                    this.form.bportsTermsList.splice(this.shipIndex,1,this.shipForm)
-                }else {
-                    this.form.bportsTermsList.push(this.shipForm)
+        }
+    },
+    created() {
+        this.getBcorpsListfun()
+        this.getBservicetermsListfun()
+    },
+    methods: {
+        // 获取客户(船公司)数据
+        getBcorpsListfun(cnName) {
+            getBcorpsList(1, 10, { cnName }).then(res => {
+                this.corpData = res.data.data.records
+            })
+        },
+        // 船公司选中的回调
+        corpCorpChange(value) {
+            for (let item of this.corpData) {
+                if (item.id == value) {
+                    this.$set(this.shipForm, 'carrierId', item.id)
+                    this.$set(this.shipForm, 'carrierName', item.cnName)
                 }
-                this.shipForm = {}
-                this.shipIndex = null
-                this.shipVisible = false
-            },
-            // 船公司关闭
-            shipClose(done){
-                done();
-                // this.$confirm('确认关闭?')
-                //     .then(_ => {
-                //         done();
-                //     })
-                //     .catch(_ => {});
-            },
-            // 扩展数据添加
-            extendedDataAdd(){
-                this.form.extendedDataArr.map(item=>{
+            }
+        },
+        // 服务条款请求的数据
+        getBservicetermsListfun(cnName) {
+            getBservicetermsList(1, 10, { cnName }).then(res => {
+                this.serviceTermCodeData = res.data.data.records
+            })
+        },
+        // 服务条款选择的回调
+        serviceTermCodeCorpChange(value) {
+            this.shipForm.serviceTermCode = value
+        },
+        // 获取详情数据
+        bportsDetailfun(id) {
+            this.pageLoading = true
+            bportsDetail(id).then(res => {
+                this.form = res.data.data;
+                this.form.extendedDataArr.map(item => {
                     item.edit = false
+                    return item
                 })
-                this.form.extendedDataArr.push({
-                    edit:true
-                })
-            },
-            // 扩展数据编辑
-            extendedDataEdit(index,row) {
-                if (row.edit) {
-                    this.$delete(row, 'edit')
-                    this.$set(row,'edit',false)
-                }else {
-                    this.$delete(row, 'edit')
-                    this.$set(row,'edit',true)
+                this.pageLoading = false
+            });
+        },
+        // 编辑按钮更改状态
+        editHandle() {
+            this.detailData.seeDisabled = false;
+        },
+        // 保存按钮
+        editCustomer() {
+            this.$refs.form.validate((valid) => {
+                if (valid) {
+                    // 判断是否有id
+                    // if (this.form.id) {
+                    //     this.form.bportsTermsList.map(item=>{
+                    //         item.pid = this.form.id
+                    //     })
+                    // }else {
+                    // }
+                    this.saveLoading = true
+                    this.bportsSubmitfun()
+                } else {
+                    return false;
                 }
-            },
-            // 扩展数据删除
-            extendedDataDelete(index,row) {
-                this.form.extendedDataArr.splice(index,1)
-            },
-            //返回列表
-            backToList() {
-                this.$emit('goBack')
-            },
-            // 更改表格颜色
-            headerClassName(tab){
-                //颜色间隔
-                let back = ""
-                if (tab.columnIndex >= 0 && tab.column.level === 1) {
-                    if (tab.columnIndex % 2 === 0) {
-                        back = "back-one"
-                    } else if (tab.columnIndex % 2 === 1) {
-                        back = "back-two"
-                    }
+            })
+        },
+        // 保存接口
+        bportsSubmitfun() {
+            this.form.extendedData = JSON.stringify(this.form.extendedDataArr)
+            bportsSubmit(this.form).then((res) => {
+                this.$message({
+                    type: "success",
+                    message: "操作成功!"
+                });
+                this.saveLoading = false
+                this.bportsDetailfun(res.data.data.id)
+                this.detailData.seeDisabled = true;
+            })
+        },
+        // 船公司添加
+        shippingCompanyAdd() {
+            this.shipVisible = true
+        },
+        // 船公司编辑
+        shipCompanyEdit(index, row) {
+            this.shipForm = JSON.parse(JSON.stringify(row))
+            this.shipIndex = index
+            this.shipVisible = true
+        },
+        // 船公司删除
+        shipCompanyDelete(index, row) {
+            this.form.bportsTermsList.splice(index, 1)
+        },
+        // 船公司确认
+        shipcompanyConfirm() {
+            if (this.shipIndex != null) {
+                this.form.bportsTermsList.splice(this.shipIndex, 1, this.shipForm)
+            } else {
+                this.form.bportsTermsList.push(this.shipForm)
+            }
+            this.shipForm = {}
+            this.shipIndex = null
+            this.shipVisible = false
+        },
+        // 船公司关闭
+        shipClose(done) {
+            done();
+            // this.$confirm('确认关闭?')
+            //     .then(_ => {
+            //         done();
+            //     })
+            //     .catch(_ => {});
+        },
+        // 扩展数据添加
+        extendedDataAdd() {
+            this.form.extendedDataArr.map(item => {
+                item.edit = false
+            })
+            this.form.extendedDataArr.push({
+                edit: true
+            })
+        },
+        // 扩展数据编辑
+        extendedDataEdit(index, row) {
+            if (row.edit) {
+                this.$delete(row, 'edit')
+                this.$set(row, 'edit', false)
+            } else {
+                this.$delete(row, 'edit')
+                this.$set(row, 'edit', true)
+            }
+        },
+        // 扩展数据删除
+        extendedDataDelete(index, row) {
+            this.form.extendedDataArr.splice(index, 1)
+        },
+        //返回列表
+        backToList() {
+            this.$emit('goBack')
+        },
+        // 更改表格颜色
+        headerClassName(tab) {
+            //颜色间隔
+            let back = ""
+            if (tab.columnIndex >= 0 && tab.column.level === 1) {
+                if (tab.columnIndex % 2 === 0) {
+                    back = "back-one"
+                } else if (tab.columnIndex % 2 === 1) {
+                    back = "back-two"
                 }
-                return back;
-            },
-        }
+            }
+            return back;
+        },
     }
+}
 </script>
 
 <style scoped>
 ::v-deep#out-table .back-one {
     background: #ecf5ff !important;
 }
+
 ::v-deep#out-table .back-two {
     background: #ecf5ff !important;
 }
+
 .borderless {
     height: 100%;
     box-sizing: border-box
+}
 
+.customer-main {
+    //margin-top: 20px;
+    //width: calc(100% - 140px);
+    margin-bottom: 15px;
 }
-    .customer-main {
-        //margin-top: 20px;
-        //width: calc(100% - 140px);
-        margin-bottom: 15px;
-    }
-    .margintop {
-        margin-top: 10px;
-    }
+
+.margintop {
+    margin-top: 10px;
+}
+
 ::v-deep.el-form-item {
     margin-bottom: 0;
 }
-    .isShow {
-        display: none;
-    }
+
+.isShow {
+    display: none;
+}
 </style>