dev
张同海 2 years ago
commit 1678ce64f9

@ -26,7 +26,7 @@ export function BookingOrderPage (parameter) {
}
/**
* 获取客户
* 获取分页查询客户
* @params ShortName
*/
export function DjyCustomerpage (parameter) {
@ -324,7 +324,7 @@ export function BookingOrderPage (parameter) {
*/
export function SendXHZ (parameter) {
return axios({
url: '/BookingOrder/SendXHZ',
url: '/BookingOrder/SendXHZ?bookingId=' + parameter,
method: 'post',
data: parameter
})
@ -335,7 +335,7 @@ export function BookingOrderPage (parameter) {
*/
export function VgmSend (parameter) {
return axios({
url: '/BookingOrder/VgmSend',
url: '/BookingOrder/VgmSend?bookingId=' + parameter,
method: 'post',
data: parameter
})
@ -346,7 +346,7 @@ export function BookingOrderPage (parameter) {
*/
export function LetterYard (parameter) {
return axios({
url: '/BookingOrder/LetterYard',
url: '/BookingOrder/LetterYard?bookingId=' + parameter,
method: 'get',
params: parameter
})
@ -368,7 +368,7 @@ export function LetterYard (parameter) {
*/
export function SendLetterYard (parameter) {
return axios({
url: '/BookingLetteryard/SendLetterYard',
url: '/BookingLetteryard/SendLetterYard?bookingId=' + parameter,
method: 'post',
data: parameter
})
@ -379,7 +379,7 @@ export function LetterYard (parameter) {
*/
export function SampleBill (parameter) {
return axios({
url: '/BookingOrder/SampleBill',
url: '/BookingOrder/SampleBill?bookingId=' + parameter,
method: 'get',
params: parameter
})
@ -401,7 +401,7 @@ export function LetterYard (parameter) {
*/
export function VgmLink (parameter) {
return axios({
url: '/BookingOrder/VgmLink',
url: '/BookingOrder/VgmLink?bookingId=' + parameter,
method: 'get',
params: parameter
})
@ -412,7 +412,7 @@ export function LetterYard (parameter) {
*/
export function SampleBillPdf (parameter) {
return axios({
url: '/BookingOrder/SampleBillPdf',
url: '/BookingOrder/SampleBillPdf?bookingId=' + parameter,
method: 'get',
params: parameter
})
@ -423,7 +423,7 @@ export function LetterYard (parameter) {
*/
export function TxxpLink (parameter) {
return axios({
url: '/BookingOrder/TxxpLink',
url: '/BookingOrder/TxxpLink?bookingId=' + parameter,
method: 'get',
params: parameter
})
@ -434,7 +434,19 @@ export function LetterYard (parameter) {
*/
export function ExcuteRulesOceanBooking (parameter) {
return axios({
url: '/RulesEngineClient/ExcuteRulesOceanBooking',
url: '/RulesEngineClient/ExcuteRulesOceanBooking?bookingId=' + parameter,
method: 'get',
params: parameter
})
}
/**
* 付费方式
* @params Name
*/
export function GetForwarderlist (parameter) {
return axios({
url: '/commondb/forwarderlist',
method: 'get',
params: parameter
})

@ -47,23 +47,6 @@ export default {
required: true
}
},
mounted() {
const data = [
{
name: 'TableDemo',
path: '/tableDemo',
hidden: false,
pid: 0,
id: 183183,
meta: {
title: '表格示例',
show: false
},
component: 'TableDemo'
}
]
this.menus.push(...data)
},
methods: {
onSelect(obj) {
this.$emit('menuSelect', obj)

@ -39,7 +39,15 @@
:wrapperCol="wrapperCol"
has-feedback
>
<a-input placeholder="请输入订舱代理!" v-model="details.forwarder" />
<auto-complete
class="customer-input"
v-model="details.forwarder"
:data-source="forwarderDataArr"
placeholder="请输入订舱代理"
@select="forwarderSelect"
@change="forwarderChange"
/>
<!-- <a-input placeholder="请输入订舱代理" v-model="details.forwarder" /> -->
</a-form-item>
</a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
@ -205,7 +213,14 @@
</a-col>
<a-col :xs="12" :sm="12" :md="12" :lg="8" :xl="6">
<a-form-item class="from-label" label="船代" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
<a-input placeholder="请输入船代!" v-model="details.shipagency" />
<auto-complete
class="customer-input"
v-model="details.shipagency"
:data-source="shipagencyDataArr"
placeholder="请输入船代"
@select="shipagencySelect"
@change="shipagencyChange"
/>
</a-form-item>
</a-col>
<template v-if="type === 'ESL'">
@ -333,7 +348,13 @@
import { XCard } from '@/components'
import { AutoComplete } from 'ant-design-vue'
import { DjyCustomerpage, GetCarrierlist, GetVessellist, GetSysUserPage } from '@/api/modular/main/BookingLedger'
import {
DjyCustomerpage,
GetCarrierlist,
GetVessellist,
GetSysUserPage,
GetForwarderlist
} from '@/api/modular/main/BookingLedger'
export default {
name: 'BookingDetail',
@ -377,6 +398,8 @@ export default {
opUserList: [], //
docUserList: [], //
custserviceUserList: [], //
forwarderData: [],
shipagencyData: [],
// / - start
customerType: '',
customerVisible: false,
@ -476,8 +499,8 @@ export default {
if (this.customerData) {
const arr = []
this.customerData.map((item, index) => {
if (!arr.includes(item.fullName) && item.fullName) {
arr.push(item.fullName)
if (!arr.includes(item.shortName) && item.shortName) {
arr.push(item.shortName)
}
})
return arr
@ -591,6 +614,32 @@ export default {
} else {
return []
}
},
forwarderDataArr() {
if (this.forwarderData) {
const arr = []
this.forwarderData.map((item, index) => {
if (!arr.includes(item.shortName)) {
arr.push(item.shortName)
}
})
return arr
} else {
return []
}
},
shipagencyDataArr() {
if (this.shipagencyData) {
const arr = []
this.shipagencyData.map((item, index) => {
if (!arr.includes(item.name)) {
arr.push(item.name)
}
})
return arr
} else {
return []
}
}
},
watch: {
@ -625,13 +674,16 @@ export default {
}
},
// - start
getCustomer(name = '') {
getDjyCustomerpage(name = '', type, key) {
DjyCustomerpage({
ShortName: name
SearchValue: name,
PropString: key
})
.then(res => {
if (res.code === 200) {
this.customerData = res.data.rows
// this.customerData = res.data.rows
this[`${type}Data`] = res.data.rows
console.log(this[`${type}DataArr`])
this.$forceUpdate()
}
})
@ -643,10 +695,20 @@ export default {
this.details.customername = value
},
customerChange(value) {
this.getCustomer(value)
// this.getCustomer(value)
this.getDjyCustomerpage(value, 'customer', 'djy_cust_prop')
},
// - end
// - start
forwarderSelect(value) {
this.details.forwarder = value
},
forwarderChange(value) {
this.getDjyCustomerpage(value, 'forwarder', 'booking_agent')
},
// - end
// - start
getCarrier(name = '') {
GetCarrierlist({
@ -672,6 +734,30 @@ export default {
},
// - end
// - start
getForwarderlist(name = '') {
GetForwarderlist({
Name: name
})
.then(res => {
if (res.code === 200) {
this.shipagencyData = res.data
this.$forceUpdate()
}
})
.catch(err => {
console.log(err)
})
},
shipagencySelect(value) {
// const index = this.shipagencyDataArr.indexOf(value)
this.details.shipagency = value
},
shipagencyChange(value) {
this.getForwarderlist(value)
},
// - end
// - start
getVessel(name = '') {
GetVessellist({

@ -33,7 +33,7 @@
:auto-size="{ minRows: 2, maxRows: 6 }"
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>
</div>
@ -64,7 +64,7 @@
:auto-size="{ minRows: 2, maxRows: 6 }"
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>
</div>
@ -95,7 +95,7 @@
:auto-size="{ minRows: 2, maxRows: 6 }"
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>
</div>
@ -111,8 +111,9 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol"
has-feedback
style="overflow: visible;"
>
<div style="display: flex">
<div class="yard-box" style="display: flex">
<auto-complete
v-model="details.yard"
class="customer-input"
@ -123,6 +124,9 @@
/>
<i class="iconfont icon-touxiang" style="margin: 0 4px"></i>
<i class="iconfont icon-bianji1"></i>
<div class="feeself">
<a-checkbox v-model="details.feeself"> </a-checkbox>
</div>
</div>
</a-form-item>
</a-col>
@ -134,9 +138,13 @@
:wrapperCol="wrapperCol"
has-feedback
>
<a-input
placeholder="请输入报关行"
<auto-complete
v-model="details.customser"
class="customer-input"
:data-source="customserDataArr"
placeholder="请输入报关行"
@select="customserSelect"
@change="customserChange"
/>
</a-form-item>
</a-col>
@ -148,9 +156,13 @@
:wrapperCol="wrapperCol"
has-feedback
>
<a-input
placeholder="请输入车队"
<auto-complete
v-model="details.trucker"
class="customer-input"
:data-source="truckerDataArr"
placeholder="请输入车队"
@select="truckerSelect"
@change="truckerChange"
/>
</a-form-item>
</a-col>
@ -162,9 +174,13 @@
:wrapperCol="wrapperCol"
has-feedback
>
<a-input
placeholder="请输入国外代理"
<auto-complete
v-model="details.agentid"
class="customer-input"
:data-source="agentidDataArr"
placeholder="请输入国外代理"
@select="agentidSelect"
@change="agentidChange"
/>
</a-form-item>
</a-col>
@ -514,7 +530,7 @@
import { XCard } from '@/components'
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 {
components: {
XCard,
@ -554,6 +570,9 @@ export default {
placedeliveryData: [], //
placereceiptData: [], //
kindpkgsData: [],
customserData: [], //
truckerData: [], //
agentidData: [], //
shippername: '',
consigneename: '',
notifypartyname: '',
@ -718,6 +737,45 @@ export default {
} else {
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() {
@ -848,7 +906,7 @@ export default {
})
.then((res) => {
if (res.code === 200) {
this[`${type}Data`] = res.data.splice(0, 500)
this[`${type}Data`] = res.data.splice(0, 50)
this.$forceUpdate()
}
})
@ -917,6 +975,49 @@ export default {
},
// - 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) {
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 {
margin-bottom: 10px;
}

@ -566,9 +566,7 @@ export default {
},
sendXHZ() {
SendXHZ({
bookingId: this.id,
})
SendXHZ(this.id)
.then((res) => {
if (res.success) {
this.$message.success(`下货纸发送成功`)
@ -582,9 +580,7 @@ export default {
},
vgmSend() {
VgmSend({
bookingId: this.id,
})
VgmSend(this.id)
.then((res) => {
if (res.success) {
this.$message.success(`VGM发送成功`)
@ -599,9 +595,7 @@ export default {
//
getLetterYard() {
LetterYard({
bookingId: this.id,
})
LetterYard(this.id)
.then((res) => {
console.log('== 放舱信息 ==', res.data)
if (res.success) {
@ -617,9 +611,7 @@ export default {
//
getSampleBill() {
SampleBill({
bookingId: this.id,
})
SampleBill(this.id)
.then((res) => {
console.log('== 样单信息 ==', res.data)
if (res.success) {
@ -635,9 +627,7 @@ export default {
// VGM
getVgmLink() {
VgmLink({
bookingId: this.id,
})
VgmLink(this.id)
.then((res) => {
console.log('== VGM信息 ==', res.data)
if (res.success) {
@ -652,9 +642,7 @@ export default {
},
sampleBillPdf () {
SampleBillPdf({
bookingId: this.id
})
SampleBillPdf(this.id)
.then((res) => {
if (res.success) {
this.hsaBillPdf = true
@ -774,9 +762,7 @@ export default {
//
sendLetterYard() {
SendLetterYard({
bookingId: this.id
})
SendLetterYard(this.id)
.then((res) => {
if (res.success) {
this.$message.success('发送成功')
@ -790,9 +776,7 @@ export default {
},
TxxpLink() {
TxxpLink({
bookingId: this.id
})
TxxpLink(this.id)
.then((res) => {
if (res.success) {
console.log(res.data)
@ -807,9 +791,7 @@ export default {
},
checkFun () {
ExcuteRulesOceanBooking({
bookingId: this.id
})
ExcuteRulesOceanBooking(this.id)
.then((res) => {
if (res.success) {
this.$emit('rules', res.data.rows)

@ -57,7 +57,7 @@
</div>
</template>
</vxe-toolbar>
<vxe-grid ref="xGrid" v-bind="gridOptions" @page-change="handlePageChange">
<vxe-grid ref="xGrid" v-bind="gridOptions" @page-change="handlePageChange" @cell-dblclick="editColumns">
<template #operate="{ row }">
<vxe-button type="text" icon="vxe-icon-edit" @click="editColumns(row)"></vxe-button>
</template>
@ -67,16 +67,22 @@
</a-col>
</a-row>
<a-modal title="新增船公司" :width="300" :visible="addVisible" @ok="addSubmit" @cancel="addCancel">
<a-modal title="新增船公司" :width="600" :visible="addVisible" @ok="addSubmit" @cancel="addCancel">
<a-radio-group v-model="carrierRadio">
<a-radio :style="radioStyle" value="CMA"> <img class="radio-logo" src="@/assets/logo/CMA.png" /> CMA </a-radio>
<a-radio :style="radioStyle" value="ESL"> <img class="radio-logo" src="@/assets/logo/ESL.jpg"/> ESL </a-radio>
<a-radio :style="radioStyle" value="MSC"> <img class="radio-logo" src="@/assets/logo/MSC.png" /> MSC </a-radio>
<a-radio :style="radioStyle" value="ONE"> <img class="radio-logo" src="@/assets/logo/ONE.jpg" /> ONE </a-radio>
<a-radio :style="radioStyle" value="PIL"> <img class="radio-logo" src="@/assets/logo/PIL.jpg" /> PIL </a-radio>
<a-radio :style="radioStyle" value="TSL"> <img class="radio-logo" src="@/assets/logo/TSL.jpg" /> TSL </a-radio>
<a-radio :style="radioStyle" value="YML"> <img class="radio-logo" src="@/assets/logo/YML.jpg" /> YML </a-radio>
<a-radio :style="radioStyle" value="SINOLINE"> <img class="radio-logo" src="@/assets/logo/waiyun.png" /> 外运 </a-radio>
<div class="group-label">
<div class="label-flex">
<a-radio :style="radioStyle" value="CMA"> <img class="radio-logo" src="@/assets/logo/CMA.png" /> CMA </a-radio>
<a-radio :style="radioStyle" value="ESL"> <img class="radio-logo" src="@/assets/logo/ESL.jpg"/> ESL </a-radio>
<a-radio :style="radioStyle" value="MSC"> <img class="radio-logo" src="@/assets/logo/MSC.png" /> MSC </a-radio>
<a-radio :style="radioStyle" value="ONE"> <img class="radio-logo" src="@/assets/logo/ONE.jpg" /> ONE </a-radio>
</div>
<div class="label-flex">
<a-radio :style="radioStyle" value="PIL"> <img class="radio-logo" src="@/assets/logo/PIL.jpg" /> PIL </a-radio>
<a-radio :style="radioStyle" value="TSL"> <img class="radio-logo" src="@/assets/logo/TSL.jpg" /> TSL </a-radio>
<a-radio :style="radioStyle" value="YML"> <img class="radio-logo" src="@/assets/logo/YML.jpg" /> YML </a-radio>
<a-radio :style="radioStyle" value="SINOLINE"> <img class="radio-logo" src="@/assets/logo/waiyun.png" /> 外运 </a-radio>
</div>
</div>
</a-radio-group>
</a-modal>
@ -555,4 +561,12 @@ export default {
height: 40px;
display: inline-block;
}
.group-label{
width: 500px;
display: flex;
.label-flex{
flex: 1;
}
}
</style>

Loading…
Cancel
Save