|
|
|
@ -25,22 +25,25 @@
|
|
|
|
|
<a-tab-pane key="1-1" tab="基础信息">
|
|
|
|
|
<div class="pane-box">
|
|
|
|
|
<!-- 基本信息 -->
|
|
|
|
|
<basicInfo :type="type" :details="bookingDetails" @changeDetail="changeDetailFun"></basicInfo>
|
|
|
|
|
<basicInfo ref="basicInfo" :type="type" :details="bookingDetails" :rules="basicRules" @changeDetail="changeDetailFun"></basicInfo>
|
|
|
|
|
<!-- 收发通信息 -->
|
|
|
|
|
<mailingInfo
|
|
|
|
|
ref="mailingInfo"
|
|
|
|
|
:details="bookingDetails"
|
|
|
|
|
:rules="mailingRules"
|
|
|
|
|
@changeDetail="changeDetailFun"
|
|
|
|
|
@spliceMore="spliceMorefun"
|
|
|
|
|
@pkgsEnCapital="pkgsEnCapitalFun"
|
|
|
|
|
></mailingInfo>
|
|
|
|
|
<!-- 货物信息 -->
|
|
|
|
|
<cargoInfo :details="bookingDetails" :moreStr="moreStr" @changeDetail="changeDetailFun"></cargoInfo>
|
|
|
|
|
<cargoInfo ref="cargoInfo" :details="bookingDetails" :rules="cargoRules" :moreStr="moreStr" @changeDetail="changeDetailFun"></cargoInfo>
|
|
|
|
|
<!-- 签单信息 -->
|
|
|
|
|
<billInfo :details="bookingDetails" @changeDetail="changeDetailFun"></billInfo>
|
|
|
|
|
<billInfo ref="billInfo" :details="bookingDetails" :rules="billRules" @changeDetail="changeDetailFun"></billInfo>
|
|
|
|
|
<!-- 备注信息 -->
|
|
|
|
|
<remarksInfo :details="bookingDetails" @changeDetail="changeDetailFun"></remarksInfo>
|
|
|
|
|
<remarksInfo ref="remarksInfo" :details="bookingDetails" :rules="remarksRules" @changeDetail="changeDetailFun"></remarksInfo>
|
|
|
|
|
<!-- 箱型 -->
|
|
|
|
|
<goodsTable
|
|
|
|
|
ref="goodsTable"
|
|
|
|
|
:details="bookingDetails"
|
|
|
|
|
@changeDetail="changeDetailFun"
|
|
|
|
|
@changeTotal="changeTotalFun"
|
|
|
|
@ -49,7 +52,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
</a-tab-pane>
|
|
|
|
|
<a-tab-pane key="2-2" tab="EDI补充信息">
|
|
|
|
|
<ediMore class="pane-box" :details="bookingDetails" @changeDetail="changeDetailFun"></ediMore>
|
|
|
|
|
<ediMore ref="ediMore" class="pane-box" :details="bookingDetails" :rules="ediRules" @changeDetail="changeDetailFun"></ediMore>
|
|
|
|
|
</a-tab-pane>
|
|
|
|
|
</a-tabs>
|
|
|
|
|
</template>
|
|
|
|
@ -251,7 +254,119 @@ export default {
|
|
|
|
|
historyData: {},
|
|
|
|
|
Showtabs: false,
|
|
|
|
|
inChildLoading: false,
|
|
|
|
|
scrollTop: 0
|
|
|
|
|
scrollTop: 0,
|
|
|
|
|
checkFrom: [],
|
|
|
|
|
basicRules: {
|
|
|
|
|
customername: [ { required: false, message: '请选择客户名', trigger: 'blur' } ],
|
|
|
|
|
mblno: [{ required: false, message: '请输入提单号', trigger: 'blur' }],
|
|
|
|
|
carrierid: [{ required: false, message: '请选择船公司', trigger: 'blur' }],
|
|
|
|
|
forwarder: [{ required: false, message: '请输入订舱代理', trigger: 'blur' }],
|
|
|
|
|
pono: [{ required: false, message: '请输入PO NO', trigger: 'blur' }],
|
|
|
|
|
hblno: [{ required: false, message: '请输入分提单号', trigger: 'blur' }],
|
|
|
|
|
bookingno: [{ required: false, message: '请输入订舱编号', trigger: 'blur' }],
|
|
|
|
|
contractno: [{ required: false, message: '请输入EP号/约号', trigger: 'blur' }],
|
|
|
|
|
vessel: [{ required: false, message: '请输入船名', trigger: 'blur' }],
|
|
|
|
|
lanecode: [{ required: false, message: '请输入航线代码', trigger: 'blur' }],
|
|
|
|
|
voynoinner: [{ required: false, message: '请输入内部航次', trigger: 'blur' }],
|
|
|
|
|
voyno: [{ required: false, message: '请输入海关航次', trigger: 'blur' }],
|
|
|
|
|
etd: [{ required: false, message: '请选择开船日期', trigger: 'blur' }],
|
|
|
|
|
atd: [{ required: false, message: '请选择实际开船日期', trigger: 'blur' }],
|
|
|
|
|
lanename: [{ required: false, message: '请输入航线', trigger: 'blur' }],
|
|
|
|
|
shipagency: [{ required: false, message: '请输入船代', trigger: 'blur' }],
|
|
|
|
|
sale: [{ required: false, message: '请选择销售人员', trigger: 'blur' }],
|
|
|
|
|
op: [{ required: false, message: '请选择操作人员', trigger: 'blur' }],
|
|
|
|
|
doc: [{ required: false, message: '请选择单证人员', trigger: 'blur' }],
|
|
|
|
|
custservice: [{ required: false, message: '请选择客服人员', trigger: 'blur' }]
|
|
|
|
|
},
|
|
|
|
|
mailingRules: {
|
|
|
|
|
shipper: [ { required: false, message: '请输入发货人', trigger: 'blur' } ],
|
|
|
|
|
consignee: [ { required: false, message: '请输入收货人', trigger: 'blur' } ],
|
|
|
|
|
notifyparty: [ { required: false, message: '请输入通知人', trigger: 'blur' } ],
|
|
|
|
|
yard: [ { required: false, message: '请输入场站', trigger: 'blur' } ],
|
|
|
|
|
customser: [ { required: false, message: '请输入报关行', trigger: 'blur' } ],
|
|
|
|
|
trucker: [ { required: false, message: '请输入车队', trigger: 'blur' } ],
|
|
|
|
|
agentid: [ { required: false, message: '请输入国外代理', trigger: 'blur' } ],
|
|
|
|
|
eta: [ { required: false, message: '请选择预抵日期', trigger: 'blur' } ],
|
|
|
|
|
closingdate: [ { required: false, message: '请选择截港时间', trigger: 'blur' } ],
|
|
|
|
|
closedocdate: [ { required: false, message: '请选择截单时间', trigger: 'blur' } ],
|
|
|
|
|
closevgmdate: [ { required: false, message: '请选择VGM时间', trigger: 'blur' } ],
|
|
|
|
|
placereceiptid: [ { required: false, message: '请选择收货代码', trigger: 'blur' } ],
|
|
|
|
|
placereceipt: [ { required: false, message: '请选择收货地', trigger: 'blur' } ],
|
|
|
|
|
portloadid: [ { required: false, message: '请选择装货港代码', trigger: 'blur' } ],
|
|
|
|
|
portload: [ { required: false, message: '请选择装货港', trigger: 'blur' } ],
|
|
|
|
|
transportid: [ { required: false, message: '请选择中转港代码', trigger: 'blur' } ],
|
|
|
|
|
transport: [ { required: false, message: '请选择中转港', trigger: 'blur' } ],
|
|
|
|
|
portdischargeid: [ { required: false, message: '请选择卸货港代码', trigger: 'blur' } ],
|
|
|
|
|
portdischarge: [ { required: false, message: '请选择卸货港', trigger: 'blur' } ],
|
|
|
|
|
destinationid: [ { required: false, message: '请选择目的代码', trigger: 'blur' } ],
|
|
|
|
|
destination: [ { required: false, message: '请选择目的地', trigger: 'blur' } ],
|
|
|
|
|
placedeliveryid: [ { required: false, message: '请选择交货代码', trigger: 'blur' } ],
|
|
|
|
|
placedelivery: [ { required: false, message: '请选择交货地', trigger: 'blur' } ],
|
|
|
|
|
pkgs: [ { required: false, message: '请输入件数', trigger: 'blur' } ],
|
|
|
|
|
kindpkgs: [ { required: false, message: '请输入包装', trigger: 'blur' } ],
|
|
|
|
|
kgs: [ { required: false, message: '请输入毛重', trigger: 'blur' } ],
|
|
|
|
|
cbm: [ { required: false, message: '请输入尺寸', trigger: 'blur' } ],
|
|
|
|
|
},
|
|
|
|
|
cargoRules: {
|
|
|
|
|
marks: [ { required: false, message: '请输入Seal No. Marks & Nos', trigger: 'blur' } ],
|
|
|
|
|
cargoid: [ { required: false, message: '请选择货物标志', trigger: 'blur' } ],
|
|
|
|
|
hscode: [ { required: false, message: '请输入HS编码', trigger: 'blur' } ],
|
|
|
|
|
description: [ { required: false, message: '请输入包装种类与货名', trigger: 'blur' } ]
|
|
|
|
|
},
|
|
|
|
|
billRules: {
|
|
|
|
|
issuetype: [ { required: false, message: '请选择签单方式', trigger: 'blur' } ],
|
|
|
|
|
issuedate: [ { required: false, message: '请选择签单日期', trigger: 'blur' } ],
|
|
|
|
|
issueplace: [ { required: false, message: '请选择签单地点', trigger: 'blur' } ],
|
|
|
|
|
issueplaceid: [ { required: false, message: '请输入签单地代码', trigger: 'blur' } ],
|
|
|
|
|
nobill: [ { required: false, message: '请选择提单份数', trigger: 'blur' } ],
|
|
|
|
|
copynobilll: [ { required: false, message: '请选择副本份数', trigger: 'blur' } ],
|
|
|
|
|
prepardat: [ { required: false, message: '请选择预付地点', trigger: 'blur' } ],
|
|
|
|
|
payableat: [ { required: false, message: '请选择到付地点', trigger: 'blur' } ],
|
|
|
|
|
blfrt: [ { required: false, message: '请选择付费方式', trigger: 'blur' } ],
|
|
|
|
|
thirdpayaddr: [ { required: false, message: '请输入第三付款地', trigger: 'blur' } ],
|
|
|
|
|
service: [ { required: false, message: '请选择运输条款', trigger: 'blur' } ],
|
|
|
|
|
reeferf: [ { required: false, message: '请输入冷藏通风量', trigger: 'blur' } ],
|
|
|
|
|
tempset: [ { required: false, message: '请输入温度', trigger: 'blur' } ],
|
|
|
|
|
tempid: [ { required: false, message: '请选择温度单位', trigger: 'blur' } ],
|
|
|
|
|
tempmin: [ { required: false, message: '请输入最低温度', trigger: 'blur' } ],
|
|
|
|
|
tempmax: [ { required: false, message: '请输入最高温度', trigger: 'blur' } ],
|
|
|
|
|
humidity: [ { required: false, message: '请输入湿度', trigger: 'blur' } ],
|
|
|
|
|
dclass: [ { required: false, message: '请输入危险品等级', trigger: 'blur' } ],
|
|
|
|
|
dunno: [ { required: false, message: '请输入危险品编号', trigger: 'blur' } ],
|
|
|
|
|
dpage: [ { required: false, message: '请输入危险品页号', trigger: 'blur' } ],
|
|
|
|
|
dlabel: [ { required: false, message: '请输入危险品标签', trigger: 'blur' } ],
|
|
|
|
|
linkman: [ { required: false, message: '请输入危险品联系人', trigger: 'blur' } ],
|
|
|
|
|
},
|
|
|
|
|
remarksRules: {
|
|
|
|
|
soremark: [ { required: false, message: '请输入订舱备注', trigger: 'blur' } ],
|
|
|
|
|
siremark: [ { required: false, message: '请输入截单备注', trigger: 'blur' } ],
|
|
|
|
|
},
|
|
|
|
|
ediRules: {
|
|
|
|
|
'bookingEDIExt.sendCode': [ { required: false, message: '请输入发送方EDI代码', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.receiveCode': [ { required: false, message: '请输入接收方EDI代码', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.notifyCdoe': [ { required: false, message: '请输入通知方EDI代码', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.salerCode': [ { required: false, message: '请输入销售EDI代码', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.masterBolIndicator': [ { required: false, message: '请输入Master Bol Indicator', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.emanifestHbl': [ { required: false, message: '请输入EMANIFEST HBL', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.consigneeEdiCode': [ { required: false, message: '请输入收货人EDI代码', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.shipperEdiCode': [ { required: false, message: '请输入发货人EDI代码', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.ediAttn': [ { required: false, message: '请输入EDI联系人名称', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.ediAttnTel': [ { required: false, message: '请输入EDI联系人电话', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.ediAttnMail': [ { required: false, message: '请输入EDI联系人邮箱', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.amsConsignee': [ { required: false, message: '请输入AMS收货人', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.amsNotifyParty': [ { required: false, message: '请输入AMS通知人', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.opEName': [ { required: false, message: '请输入操作英文名称', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.opTel': [ { required: false, message: '请输入操作电话', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.opEmail': [ { required: false, message: '请输入操作邮箱', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.acihbl': [ { required: false, message: '请输入ACI HBL', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.s0CC0C': [ { required: false, message: '请输入S0C C0C', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.goodsName': [ { required: false, message: '请输入商品名称', trigger: 'blur' } ],
|
|
|
|
|
'iscontainersoc': [ { required: false, message: '请输入SOC箱', trigger: 'blur' } ],
|
|
|
|
|
'scaccode': [ { required: false, message: '请输入SCAC代码', trigger: 'blur' } ],
|
|
|
|
|
'itncode': [ { required: false, message: '请输入ITN编号', trigger: 'blur' } ],
|
|
|
|
|
'freightpayer': [ { required: false, message: '请输入付款方', trigger: 'blur' } ],
|
|
|
|
|
'bookingEDIExt.weiTuoFang': [ { required: false, message: '请输入委托方', trigger: 'blur' } ],
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
@ -508,15 +623,48 @@ export default {
|
|
|
|
|
} else {
|
|
|
|
|
this.isAdd = true
|
|
|
|
|
this.bookingDetails.carrierid = this.type
|
|
|
|
|
this.bookingDetails.carrier = this.enmuCarrier(this.type)
|
|
|
|
|
// this.bookingDetails.carrier = this.enmuCarrier(this.type)
|
|
|
|
|
this.bookingDetails.carrier = this.type
|
|
|
|
|
}
|
|
|
|
|
this.getDjyTenantConfig()
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
getDjyTenantConfig () {
|
|
|
|
|
getDjyTenantConfig({
|
|
|
|
|
type: ''
|
|
|
|
|
type: 'customer_config_type'
|
|
|
|
|
})
|
|
|
|
|
.then(res => {
|
|
|
|
|
this.checkFrom = ['customername', 'mblno', 'carrierid', 'forwarder', 'shipper', 'consignee', 'notifyparty', 'yard', 'customser', 'marks', 'cargoid', 'hscode', 'issuetype', 'issuedate', 'issueplace', 'soremark', 'siremark', 'bookingEDIExt.sendCode', 'bookingEDIExt.receiveCode']
|
|
|
|
|
Object.keys(this.basicRules).map((item, index) => {
|
|
|
|
|
if (this.checkFrom.includes(item)) {
|
|
|
|
|
this.basicRules[item][0].required = true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
Object.keys(this.mailingRules).map((item, index) => {
|
|
|
|
|
if (this.checkFrom.includes(item)) {
|
|
|
|
|
this.mailingRules[item][0].required = true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
Object.keys(this.cargoRules).map((item, index) => {
|
|
|
|
|
if (this.checkFrom.includes(item)) {
|
|
|
|
|
this.cargoRules[item][0].required = true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
Object.keys(this.billRules).map((item, index) => {
|
|
|
|
|
if (this.checkFrom.includes(item)) {
|
|
|
|
|
this.billRules[item][0].required = true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
Object.keys(this.remarksRules).map((item, index) => {
|
|
|
|
|
if (this.checkFrom.includes(item)) {
|
|
|
|
|
this.remarksRules[item][0].required = true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
Object.keys(this.ediRules).map((item, index) => {
|
|
|
|
|
if (this.checkFrom.includes(item)) {
|
|
|
|
|
this.ediRules[item][0].required = true
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
})
|
|
|
|
|
.catch(err => {
|
|
|
|
@ -631,6 +779,24 @@ export default {
|
|
|
|
|
this.$message.error('请输入提单号')
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
// 自定义必填项验证 - start
|
|
|
|
|
// const basicFrom = this.$refs.basicInfo.checkbasic()
|
|
|
|
|
// const mailingFrom = this.$refs.mailingInfo.checkbasic()
|
|
|
|
|
// const cargoFrom = this.$refs.cargoInfo.checkbasic()
|
|
|
|
|
// const billFrom = this.$refs.billInfo.checkbasic()
|
|
|
|
|
// const remarksFrom = this.$refs.remarksInfo.checkbasic()
|
|
|
|
|
// if (!basicFrom || !mailingFrom || !cargoFrom || !billFrom || !remarksFrom) {
|
|
|
|
|
// this.$message.error('请填写完整数据')
|
|
|
|
|
// return false
|
|
|
|
|
// }
|
|
|
|
|
// if (this.$refs.ediMore && !this.$refs.ediMore.checkbasic()) {
|
|
|
|
|
// this.$message.error('请填写完整数据')
|
|
|
|
|
// return false
|
|
|
|
|
// } else if (!this.$refs.ediMore) {
|
|
|
|
|
// console.log('== 此处逻辑需要添加 ==')
|
|
|
|
|
// }
|
|
|
|
|
debugger
|
|
|
|
|
// 自定义必填项验证 - end
|
|
|
|
|
const _data = JSON.parse(JSON.stringify(this.bookingDetails))
|
|
|
|
|
delete _data.hbList
|
|
|
|
|
BookingOrderAddOrUpdate(_data)
|
|
|
|
|