|
|
@ -33,7 +33,7 @@
|
|
|
|
:auto-size="{ minRows: 2, maxRows: 6 }"
|
|
|
|
:auto-size="{ minRows: 2, maxRows: 6 }"
|
|
|
|
style="height: 130px"
|
|
|
|
style="height: 130px"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<div class="line-count" v-if="Object.keys(details).length > 1 && details.shipper.length > 0">
|
|
|
|
<div class="line-count" v-if="Object.keys(details).length > 1 && details.shipper.length > 1">
|
|
|
|
<div v-for="(num, index) in details.shipper.split('\n')" :key="index">{{ num.length }}</div>
|
|
|
|
<div v-for="(num, index) in details.shipper.split('\n')" :key="index">{{ num.length }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -64,7 +64,7 @@
|
|
|
|
:auto-size="{ minRows: 2, maxRows: 6 }"
|
|
|
|
:auto-size="{ minRows: 2, maxRows: 6 }"
|
|
|
|
style="height: 130px"
|
|
|
|
style="height: 130px"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<div class="line-count" v-if="Object.keys(details).length > 1 && details.consignee.length > 0">
|
|
|
|
<div class="line-count" v-if="Object.keys(details).length > 1 && details.consignee.length > 1">
|
|
|
|
<div v-for="(num, index) in details.consignee.split('\n')" :key="index">{{ num.length }}</div>
|
|
|
|
<div v-for="(num, index) in details.consignee.split('\n')" :key="index">{{ num.length }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -95,7 +95,7 @@
|
|
|
|
:auto-size="{ minRows: 2, maxRows: 6 }"
|
|
|
|
:auto-size="{ minRows: 2, maxRows: 6 }"
|
|
|
|
style="height: 130px"
|
|
|
|
style="height: 130px"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<div class="line-count" v-if="Object.keys(details).length > 1 && details.notifyparty.length > 0">
|
|
|
|
<div class="line-count" v-if="Object.keys(details).length > 1 && details.notifyparty.length > 1">
|
|
|
|
<div v-for="(num, index) in details.notifyparty.split('\n')" :key="index">{{ num.length }}</div>
|
|
|
|
<div v-for="(num, index) in details.notifyparty.split('\n')" :key="index">{{ num.length }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -111,8 +111,9 @@
|
|
|
|
:labelCol="labelCol"
|
|
|
|
:labelCol="labelCol"
|
|
|
|
:wrapperCol="wrapperCol"
|
|
|
|
:wrapperCol="wrapperCol"
|
|
|
|
has-feedback
|
|
|
|
has-feedback
|
|
|
|
|
|
|
|
style="overflow: visible;"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<div style="display: flex">
|
|
|
|
<div class="yard-box" style="display: flex">
|
|
|
|
<auto-complete
|
|
|
|
<auto-complete
|
|
|
|
v-model="details.yard"
|
|
|
|
v-model="details.yard"
|
|
|
|
class="customer-input"
|
|
|
|
class="customer-input"
|
|
|
@ -123,6 +124,9 @@
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<i class="iconfont icon-touxiang" style="margin: 0 4px"></i>
|
|
|
|
<i class="iconfont icon-touxiang" style="margin: 0 4px"></i>
|
|
|
|
<i class="iconfont icon-bianji1"></i>
|
|
|
|
<i class="iconfont icon-bianji1"></i>
|
|
|
|
|
|
|
|
<div class="feeself">
|
|
|
|
|
|
|
|
<a-checkbox v-model="details.feeself"> 自结 </a-checkbox>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
</a-col>
|
|
|
|
</a-col>
|
|
|
@ -134,9 +138,13 @@
|
|
|
|
:wrapperCol="wrapperCol"
|
|
|
|
:wrapperCol="wrapperCol"
|
|
|
|
has-feedback
|
|
|
|
has-feedback
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<a-input
|
|
|
|
<auto-complete
|
|
|
|
placeholder="请输入报关行"
|
|
|
|
|
|
|
|
v-model="details.customser"
|
|
|
|
v-model="details.customser"
|
|
|
|
|
|
|
|
class="customer-input"
|
|
|
|
|
|
|
|
:data-source="customserDataArr"
|
|
|
|
|
|
|
|
placeholder="请输入报关行"
|
|
|
|
|
|
|
|
@select="customserSelect"
|
|
|
|
|
|
|
|
@change="customserChange"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
</a-col>
|
|
|
|
</a-col>
|
|
|
@ -148,9 +156,13 @@
|
|
|
|
:wrapperCol="wrapperCol"
|
|
|
|
:wrapperCol="wrapperCol"
|
|
|
|
has-feedback
|
|
|
|
has-feedback
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<a-input
|
|
|
|
<auto-complete
|
|
|
|
placeholder="请输入车队"
|
|
|
|
|
|
|
|
v-model="details.trucker"
|
|
|
|
v-model="details.trucker"
|
|
|
|
|
|
|
|
class="customer-input"
|
|
|
|
|
|
|
|
:data-source="truckerDataArr"
|
|
|
|
|
|
|
|
placeholder="请输入车队"
|
|
|
|
|
|
|
|
@select="truckerSelect"
|
|
|
|
|
|
|
|
@change="truckerChange"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
</a-col>
|
|
|
|
</a-col>
|
|
|
@ -162,9 +174,13 @@
|
|
|
|
:wrapperCol="wrapperCol"
|
|
|
|
:wrapperCol="wrapperCol"
|
|
|
|
has-feedback
|
|
|
|
has-feedback
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<a-input
|
|
|
|
<auto-complete
|
|
|
|
placeholder="请输入国外代理"
|
|
|
|
|
|
|
|
v-model="details.agentid"
|
|
|
|
v-model="details.agentid"
|
|
|
|
|
|
|
|
class="customer-input"
|
|
|
|
|
|
|
|
:data-source="agentidDataArr"
|
|
|
|
|
|
|
|
placeholder="请输入国外代理"
|
|
|
|
|
|
|
|
@select="agentidSelect"
|
|
|
|
|
|
|
|
@change="agentidChange"
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
</a-form-item>
|
|
|
|
</a-form-item>
|
|
|
|
</a-col>
|
|
|
|
</a-col>
|
|
|
@ -514,7 +530,7 @@
|
|
|
|
import { XCard } from '@/components'
|
|
|
|
import { XCard } from '@/components'
|
|
|
|
import { AutoComplete } from 'ant-design-vue'
|
|
|
|
import { AutoComplete } from 'ant-design-vue'
|
|
|
|
|
|
|
|
|
|
|
|
import { BookingTemplate, GetYardlist, GetPortloadlist, GetPortlist, GetPackage, BookingTemplateAdd } from '@/api/modular/main/BookingLedger'
|
|
|
|
import { BookingTemplate, GetYardlist, GetPortloadlist, GetPortlist, GetPackage, BookingTemplateAdd, DjyCustomerpage } from '@/api/modular/main/BookingLedger'
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
|
components: {
|
|
|
|
components: {
|
|
|
|
XCard,
|
|
|
|
XCard,
|
|
|
@ -554,6 +570,9 @@ export default {
|
|
|
|
placedeliveryData: [], // 交货地
|
|
|
|
placedeliveryData: [], // 交货地
|
|
|
|
placereceiptData: [], // 收货地
|
|
|
|
placereceiptData: [], // 收货地
|
|
|
|
kindpkgsData: [],
|
|
|
|
kindpkgsData: [],
|
|
|
|
|
|
|
|
customserData: [], // 报关行
|
|
|
|
|
|
|
|
truckerData: [], // 车队
|
|
|
|
|
|
|
|
agentidData: [], // 国外代理
|
|
|
|
shippername: '',
|
|
|
|
shippername: '',
|
|
|
|
consigneename: '',
|
|
|
|
consigneename: '',
|
|
|
|
notifypartyname: '',
|
|
|
|
notifypartyname: '',
|
|
|
@ -718,6 +737,45 @@ export default {
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
return []
|
|
|
|
return []
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
customserDataArr () {
|
|
|
|
|
|
|
|
if (this.customserData) {
|
|
|
|
|
|
|
|
const arr = []
|
|
|
|
|
|
|
|
this.customserData.map((item, index) => {
|
|
|
|
|
|
|
|
if (!arr.includes(item.shortName)) {
|
|
|
|
|
|
|
|
arr.push(item.shortName)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
return arr
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return []
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
truckerDataArr () {
|
|
|
|
|
|
|
|
if (this.truckerData) {
|
|
|
|
|
|
|
|
const arr = []
|
|
|
|
|
|
|
|
this.truckerData.map((item, index) => {
|
|
|
|
|
|
|
|
if (!arr.includes(item.shortName)) {
|
|
|
|
|
|
|
|
arr.push(item.shortName)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
return arr
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return []
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
agentidDataArr () {
|
|
|
|
|
|
|
|
if (this.agentidData) {
|
|
|
|
|
|
|
|
const arr = []
|
|
|
|
|
|
|
|
this.agentidData.map((item, index) => {
|
|
|
|
|
|
|
|
if (!arr.includes(item.shortName)) {
|
|
|
|
|
|
|
|
arr.push(item.shortName)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
return arr
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
return []
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
created() {
|
|
|
|
created() {
|
|
|
@ -848,7 +906,7 @@ export default {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
.then((res) => {
|
|
|
|
.then((res) => {
|
|
|
|
if (res.code === 200) {
|
|
|
|
if (res.code === 200) {
|
|
|
|
this[`${type}Data`] = res.data.splice(0, 500)
|
|
|
|
this[`${type}Data`] = res.data.splice(0, 50)
|
|
|
|
this.$forceUpdate()
|
|
|
|
this.$forceUpdate()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -917,6 +975,49 @@ export default {
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 包装 - end
|
|
|
|
// 包装 - end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 报关行 - start
|
|
|
|
|
|
|
|
getDjyCustomerpage (name = '', type, key) {
|
|
|
|
|
|
|
|
DjyCustomerpage({
|
|
|
|
|
|
|
|
SearchValue: name,
|
|
|
|
|
|
|
|
PropString: key
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
.then((res) => {
|
|
|
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
|
|
|
this[`${type}Data`] = res.data.rows
|
|
|
|
|
|
|
|
console.log(this[`${type}DataArr`])
|
|
|
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
|
|
|
console.log(err)
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
customserSelect (value) {
|
|
|
|
|
|
|
|
this.details.customser = value
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
customserChange(value) {
|
|
|
|
|
|
|
|
this.getDjyCustomerpage(value, 'customser', 'customs_broker')
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
// 报关行 - end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 车队 - start
|
|
|
|
|
|
|
|
truckerSelect (value) {
|
|
|
|
|
|
|
|
this.details.trucker = value
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
truckerChange(value) {
|
|
|
|
|
|
|
|
this.getDjyCustomerpage(value, 'trucker', 'fleet')
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
// 车队 - end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 国外代理 - start
|
|
|
|
|
|
|
|
agentidSelect (value) {
|
|
|
|
|
|
|
|
this.details.agentid = value
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
agentidChange(value) {
|
|
|
|
|
|
|
|
this.getDjyCustomerpage(value, 'agentid', 'out_agent')
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
// 国外代理 - end
|
|
|
|
|
|
|
|
|
|
|
|
// 保存模板
|
|
|
|
// 保存模板
|
|
|
|
saveModel (type) {
|
|
|
|
saveModel (type) {
|
|
|
|
this.modelVisible = true
|
|
|
|
this.modelVisible = true
|
|
|
@ -1138,6 +1239,15 @@ ${newStr.slice(split)}`
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.yard-box{
|
|
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.feeself{
|
|
|
|
|
|
|
|
position: absolute;
|
|
|
|
|
|
|
|
top: -1px;
|
|
|
|
|
|
|
|
right: -63px;
|
|
|
|
|
|
|
|
transform: scale(.8);
|
|
|
|
|
|
|
|
}
|
|
|
|
.from-label {
|
|
|
|
.from-label {
|
|
|
|
margin-bottom: 10px;
|
|
|
|
margin-bottom: 10px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|