|
|
@ -95,7 +95,8 @@
|
|
|
|
</a-popconfirm>
|
|
|
|
</a-popconfirm>
|
|
|
|
<div class="nav"><i class="iconfont icon-shishijifei"></i>定时订舱</div>
|
|
|
|
<div class="nav"><i class="iconfont icon-shishijifei"></i>定时订舱</div>
|
|
|
|
<div class="nav" @click="handleRefshYZ">
|
|
|
|
<div class="nav" @click="handleRefshYZ">
|
|
|
|
<a-spin :spinning="refshYZloading"><i class="iconfont icon-shishijifei"></i>刷新运踪</a-spin></div>
|
|
|
|
<a-spin :spinning="refshYZloading"><i class="iconfont icon-shishijifei"></i>刷新运踪</a-spin>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="nav"><i class="iconfont icon-xiaopiaodayin"></i>小票状态</div>
|
|
|
|
<div class="nav"><i class="iconfont icon-xiaopiaodayin"></i>小票状态</div>
|
|
|
|
<div class="nav" @click="openTraceModel"><i class="iconfont icon-yunshu1"></i>运踪订阅</div>
|
|
|
|
<div class="nav" @click="openTraceModel"><i class="iconfont icon-yunshu1"></i>运踪订阅</div>
|
|
|
|
<div class="nav">
|
|
|
|
<div class="nav">
|
|
|
@ -209,10 +210,10 @@
|
|
|
|
<template #ygtETD="{ row }">
|
|
|
|
<template #ygtETD="{ row }">
|
|
|
|
<div class="etd" v-if="row.ygtETD">{{ row.ygtETD.substring(0, 10) }}</div>
|
|
|
|
<div class="etd" v-if="row.ygtETD">{{ row.ygtETD.substring(0, 10) }}</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #atd="{ row }">
|
|
|
|
<template #atd="{ row, rowIndex }">
|
|
|
|
<div class="atd" v-if="row.atd">
|
|
|
|
<div class="atd" v-if="row.atd">
|
|
|
|
<a-spin :spinning="row.atdLoading">
|
|
|
|
<a-spin :spinning="row.atdLoading">
|
|
|
|
<a-icon style="cursor: pointer;" @click="handleRefshAtd(row)" type="reload" />
|
|
|
|
<a-icon style="cursor: pointer;" @click="handleRefshAtd(row, rowIndex)" type="reload" />
|
|
|
|
{{ row.atd.substring(0, 10) }}
|
|
|
|
{{ row.atd.substring(0, 10) }}
|
|
|
|
</a-spin>
|
|
|
|
</a-spin>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -237,18 +238,24 @@
|
|
|
|
<!-- <template #bookstatus="{ row }">
|
|
|
|
<!-- <template #bookstatus="{ row }">
|
|
|
|
<span class="book-btn" v-for="(btn,bindex) in row.bookstatus" :class="btn.staCode" :key="bindex"> {{ enmuBookingBtn(btn.staCode) }}<i>/</i></span>
|
|
|
|
<span class="book-btn" v-for="(btn,bindex) in row.bookstatus" :class="btn.staCode" :key="bindex"> {{ enmuBookingBtn(btn.staCode) }}<i>/</i></span>
|
|
|
|
</template> -->
|
|
|
|
</template> -->
|
|
|
|
<template #bookstatus="{ row, column }">
|
|
|
|
<template #bookstatus="{ row, column, rowIndex }">
|
|
|
|
<div style="display: flex;align-items: center;">
|
|
|
|
<div style="display: flex;align-items: center;">
|
|
|
|
<a-icon style="cursor: pointer;" @click="handleRefshYZOnce(row)" type="reload" />
|
|
|
|
<a-icon style="cursor: pointer;" @click="handleRefshYZOnce(row, rowIndex)" type="reload" />
|
|
|
|
<a-spin :spinning="row.refshYzitemLoad">
|
|
|
|
<a-spin :spinning="row.refshYzitemLoad">
|
|
|
|
<div class="billtrace-box" :class="column.resizeWidth > 240 ? 'normal-box' : 'flex-box'">
|
|
|
|
<div class="billtrace-box" :class="column.resizeWidth > 240 ? 'normal-box' : 'flex-box'">
|
|
|
|
<div class="billtrace-btn" v-for="(btn, bindex) in row.bookstatus" :class="btn.staCode" :key="bindex">
|
|
|
|
<div
|
|
|
|
|
|
|
|
class="billtrace-btn"
|
|
|
|
|
|
|
|
v-for="(btn, bindex) in row.bookstatus"
|
|
|
|
|
|
|
|
:class="btn.staCode"
|
|
|
|
|
|
|
|
:key="bindex">
|
|
|
|
<a-popover placement="topLeft" v-if="btn.staTime">
|
|
|
|
<a-popover placement="topLeft" v-if="btn.staTime">
|
|
|
|
<div slot="content">{{ btn.staTime }}</div>
|
|
|
|
<div slot="content">{{ btn.staTime }}</div>
|
|
|
|
<span :class="{ active: btn.isChecked }">{{ enmuBookingBtn(btn.staCode) }}</span>
|
|
|
|
<span :class="{ active: btn.isChecked }">{{ enmuBookingBtn(btn.staCode) }}</span>
|
|
|
|
</a-popover>
|
|
|
|
</a-popover>
|
|
|
|
<span :class="{ active: btn.isChecked }" v-else>{{ enmuBookingBtn(btn.staCode) }}</span>
|
|
|
|
<span :class="{ active: btn.isChecked }" v-else>{{ enmuBookingBtn(btn.staCode) }}</span>
|
|
|
|
<i class="iconfont icon-xiaoyoujiantou" :class="{ hide: bindex === row.bookstatus.length - 1 }"></i>
|
|
|
|
<i
|
|
|
|
|
|
|
|
class="iconfont icon-xiaoyoujiantou"
|
|
|
|
|
|
|
|
:class="{ hide: bindex === row.bookstatus.length - 1 }"></i>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</a-spin>
|
|
|
|
</a-spin>
|
|
|
@ -256,8 +263,7 @@
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template #statuslogs="{ row, column }">
|
|
|
|
<template #statuslogs="{ row, column }">
|
|
|
|
<div v-if="row.statuslogs1">
|
|
|
|
<div v-if="row.statuslogs1">
|
|
|
|
<div
|
|
|
|
<div v-if="row.statuslogs1.length > 0">
|
|
|
|
v-if="row.statuslogs1.length > 0">
|
|
|
|
|
|
|
|
<div class="billtrace-btn1">
|
|
|
|
<div class="billtrace-btn1">
|
|
|
|
<a-popover placement="topLeft">
|
|
|
|
<a-popover placement="topLeft">
|
|
|
|
<div slot="content">
|
|
|
|
<div slot="content">
|
|
|
@ -934,14 +940,43 @@ export default {
|
|
|
|
handler(nD, oD) {
|
|
|
|
handler(nD, oD) {
|
|
|
|
if (nD.name === 'booking_ledger') {
|
|
|
|
if (nD.name === 'booking_ledger') {
|
|
|
|
if (this.saveNeedNumber !== null) {
|
|
|
|
if (this.saveNeedNumber !== null) {
|
|
|
|
PageDataByBooking({ id: this.saveNeedNumber }).then(res => {
|
|
|
|
|
|
|
|
let index = 0
|
|
|
|
let index = 0
|
|
|
|
const item = res.data.items[0]
|
|
|
|
|
|
|
|
this.gridOptions.data.forEach((ite, inde) => {
|
|
|
|
this.gridOptions.data.forEach((ite, inde) => {
|
|
|
|
if (ite.id === this.saveNeedNumber) {
|
|
|
|
if (ite.id === this.saveNeedNumber) {
|
|
|
|
index = inde
|
|
|
|
index = inde
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
this.getListByone(this.saveNeedNumber, index)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (this.firstFlag && this.saveNeedNumber === null) {
|
|
|
|
|
|
|
|
this.getList(this.searchData)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
created() {
|
|
|
|
|
|
|
|
this.createdInit()
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
mounted() {
|
|
|
|
|
|
|
|
this.onresize()
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
...mapActions(['setBookingList', 'setBookingGridOptions']),
|
|
|
|
|
|
|
|
createdInit() {
|
|
|
|
|
|
|
|
this.showColumns = JSON.parse(JSON.stringify(initData.columns))
|
|
|
|
|
|
|
|
this.formAllData = JSON.parse(JSON.stringify(initData.condAllData))
|
|
|
|
|
|
|
|
this.fromTableAllData = JSON.parse(JSON.stringify(initData.columnsAllData))
|
|
|
|
|
|
|
|
this.tableHeight = document.body.clientHeight - 230
|
|
|
|
|
|
|
|
this.getConfigUser(true)
|
|
|
|
|
|
|
|
this.getCarrier()
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
bcClose() {
|
|
|
|
|
|
|
|
this.bcObj = {}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
getListByone(listId, listIndex) {
|
|
|
|
|
|
|
|
PageDataByBooking({ id: listId }).then(res => {
|
|
|
|
|
|
|
|
const item = res.data.items[0]
|
|
|
|
const bookstatus = [
|
|
|
|
const bookstatus = [
|
|
|
|
{ staCode: 'sta_cangdan', isChecked: false },
|
|
|
|
{ staCode: 'sta_cangdan', isChecked: false },
|
|
|
|
{ staCode: 'sta_haifang', isChecked: false },
|
|
|
|
{ staCode: 'sta_haifang', isChecked: false },
|
|
|
@ -988,35 +1023,9 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
item.hasGoods = hasGoods
|
|
|
|
item.hasGoods = hasGoods
|
|
|
|
this.$set(this.gridOptions.data, index, item)
|
|
|
|
this.$set(this.gridOptions.data, listIndex, item)
|
|
|
|
this.$refs.xGrid.reloadData(this.gridOptions.data)
|
|
|
|
this.$refs.xGrid.reloadData(this.gridOptions.data)
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
if (this.firstFlag && this.saveNeedNumber === null) {
|
|
|
|
|
|
|
|
this.getList(this.searchData)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
created() {
|
|
|
|
|
|
|
|
this.createdInit()
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
mounted() {
|
|
|
|
|
|
|
|
this.onresize()
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
...mapActions(['setBookingList', 'setBookingGridOptions']),
|
|
|
|
|
|
|
|
createdInit() {
|
|
|
|
|
|
|
|
this.showColumns = JSON.parse(JSON.stringify(initData.columns))
|
|
|
|
|
|
|
|
this.formAllData = JSON.parse(JSON.stringify(initData.condAllData))
|
|
|
|
|
|
|
|
this.fromTableAllData = JSON.parse(JSON.stringify(initData.columnsAllData))
|
|
|
|
|
|
|
|
this.tableHeight = document.body.clientHeight - 230
|
|
|
|
|
|
|
|
this.getConfigUser(true)
|
|
|
|
|
|
|
|
this.getCarrier()
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
bcClose() {
|
|
|
|
|
|
|
|
this.bcObj = {}
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleSubmitCopyMore(e) {
|
|
|
|
handleSubmitCopyMore(e) {
|
|
|
|
e.preventDefault();
|
|
|
|
e.preventDefault();
|
|
|
@ -1036,7 +1045,6 @@ export default {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
const pkIdArr = select.map((item, index) => {
|
|
|
|
return item.id
|
|
|
|
return item.id
|
|
|
|
})
|
|
|
|
})
|
|
|
|
console.log(pkIdArr)
|
|
|
|
|
|
|
|
const formData = new FormData()
|
|
|
|
const formData = new FormData()
|
|
|
|
formData.append('file', file)
|
|
|
|
formData.append('file', file)
|
|
|
|
formData.append('bookingOrderId', pkIdArr[0])
|
|
|
|
formData.append('bookingOrderId', pkIdArr[0])
|
|
|
@ -1346,20 +1354,39 @@ export default {
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleRefshYZOnce(row) {
|
|
|
|
handleRefshYZOnce(row, rowIndex) {
|
|
|
|
const data = {
|
|
|
|
const data = {
|
|
|
|
ids: row.id
|
|
|
|
ids: row.id
|
|
|
|
}
|
|
|
|
}
|
|
|
|
row.refshYzitemLoad = true
|
|
|
|
row.refshYzitemLoad = true
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
|
|
|
RefreshBillTrace(data).then(res => {
|
|
|
|
RefreshBillTrace(data).then(res => {
|
|
|
|
if (res.success) {
|
|
|
|
if (res.success) {
|
|
|
|
|
|
|
|
PageDataByBooking({ id: row.id }).then(ress => {
|
|
|
|
|
|
|
|
const item = ress.data.items[0]
|
|
|
|
row.refshYzitemLoad = false
|
|
|
|
row.refshYzitemLoad = false
|
|
|
|
this.$forceUpdate()
|
|
|
|
const bookstatus = [
|
|
|
|
|
|
|
|
{ staCode: 'sta_cangdan', isChecked: false },
|
|
|
|
|
|
|
|
{ staCode: 'sta_haifang', isChecked: false },
|
|
|
|
|
|
|
|
{ staCode: 'sta_zhuangzai', isChecked: false },
|
|
|
|
|
|
|
|
{ staCode: 'sta_mafang', isChecked: false },
|
|
|
|
|
|
|
|
{ staCode: 'sta_zhuangchuan', isChecked: false },
|
|
|
|
|
|
|
|
{ staCode: 'sta_atd', isChecked: false }
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
if (item.bookstatus.length > 0) {
|
|
|
|
|
|
|
|
bookstatus.map((book, bindex) => {
|
|
|
|
|
|
|
|
item.bookstatus.map((ite, index) => {
|
|
|
|
|
|
|
|
if (ite.staCode === book.staCode) {
|
|
|
|
|
|
|
|
bookstatus[bindex] = ite
|
|
|
|
|
|
|
|
bookstatus[bindex].isChecked = true
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
row.bookstatus = bookstatus
|
|
|
|
this.$message.success('操作成功')
|
|
|
|
this.$message.success('操作成功')
|
|
|
|
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
row.refshYzitemLoad = false
|
|
|
|
row.refshYzitemLoad = false
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
|
|
|
this.$message.error(res.message)
|
|
|
|
this.$message.error(res.message)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
@ -1538,6 +1565,18 @@ export default {
|
|
|
|
if (item.label === 'ETA') {
|
|
|
|
if (item.label === 'ETA') {
|
|
|
|
item.title = '目的港ETA'
|
|
|
|
item.title = '目的港ETA'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (item.label === 'isVGM') {
|
|
|
|
|
|
|
|
item.title = 'VGM'
|
|
|
|
|
|
|
|
item.width = 60
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (item.label === 'IsZZFX') {
|
|
|
|
|
|
|
|
item.title = '装载'
|
|
|
|
|
|
|
|
item.width = 50
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (item.label === 'IsCanDan') {
|
|
|
|
|
|
|
|
item.title = '舱单'
|
|
|
|
|
|
|
|
item.width = 50
|
|
|
|
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
const nowTableArr = this.formTableData.map((item, index) => {
|
|
|
|
const nowTableArr = this.formTableData.map((item, index) => {
|
|
|
|
if (item.field === 'operate') {
|
|
|
|
if (item.field === 'operate') {
|
|
|
@ -1764,12 +1803,12 @@ export default {
|
|
|
|
this.init()
|
|
|
|
this.init()
|
|
|
|
})
|
|
|
|
})
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleRefshAtd(row) {
|
|
|
|
handleRefshAtd(row, index) {
|
|
|
|
row.atdLoading = true
|
|
|
|
row.atdLoading = true
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
|
|
|
refreshSailingDate({ id: row.id }).then(res => {
|
|
|
|
refreshSailingDate({ id: row.id }).then(res => {
|
|
|
|
if (res.success) {
|
|
|
|
if (res.success) {
|
|
|
|
row.atdLoading = false
|
|
|
|
row.atdLoading = false
|
|
|
|
|
|
|
|
row.atd = res.data.atd
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
this.$message.error(res.message)
|
|
|
|
this.$message.error(res.message)
|
|
|
|
row.atdLoading = false
|
|
|
|
row.atdLoading = false
|
|
|
@ -2409,16 +2448,24 @@ export default {
|
|
|
|
ExcuteShippingOrderCompareBatch(arr)
|
|
|
|
ExcuteShippingOrderCompareBatch(arr)
|
|
|
|
.then((res) => {
|
|
|
|
.then((res) => {
|
|
|
|
if (res.success) {
|
|
|
|
if (res.success) {
|
|
|
|
this.spinning = false
|
|
|
|
|
|
|
|
if (!res.data.succ) {
|
|
|
|
if (!res.data.succ) {
|
|
|
|
|
|
|
|
this.spinning = false
|
|
|
|
this.$message.success(res.data.msg)
|
|
|
|
this.$message.success(res.data.msg)
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (res.data.extra) {
|
|
|
|
if (res.data.extra) {
|
|
|
|
this.TaskShippingOrderCompareData = res.data.extra
|
|
|
|
this.TaskShippingOrderCompareData = res.data.extra
|
|
|
|
this.TaskShippingOrderCompareData.total = res.data.total
|
|
|
|
this.TaskShippingOrderCompareData.total = res.data.total
|
|
|
|
this.TaskShippingOrderCompareVisible = true
|
|
|
|
this.TaskShippingOrderCompareVisible = true
|
|
|
|
|
|
|
|
PageDataByBooking({ id: data.id }).then(ress => {
|
|
|
|
|
|
|
|
const itme = ress.data.items[0]
|
|
|
|
|
|
|
|
this.spinning = false
|
|
|
|
|
|
|
|
data.lstShipOrderCompareRlt = itme.lstShipOrderCompareRlt
|
|
|
|
|
|
|
|
data.lstShipOrderCompareMode = itme.lstShipOrderCompareMode
|
|
|
|
|
|
|
|
data.lstShipOrderCompareDate = itme.lstShipOrderCompareDate
|
|
|
|
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
this.$message.success(res.data.msg)
|
|
|
|
this.$message.success(res.data.msg)
|
|
|
|
|
|
|
|
this.spinning = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -2909,6 +2956,7 @@ export default {
|
|
|
|
text-align: center;
|
|
|
|
text-align: center;
|
|
|
|
justify-content: center;
|
|
|
|
justify-content: center;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.billtrace-btn {
|
|
|
|
.billtrace-btn {
|
|
|
|
font-size: 12px;
|
|
|
|
font-size: 12px;
|
|
|
|
height: 16px;
|
|
|
|
height: 16px;
|
|
|
@ -2945,8 +2993,10 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.billtrace-btn1 {
|
|
|
|
.billtrace-btn1 {
|
|
|
|
font-size: 12px;
|
|
|
|
font-size: 12px;
|
|
|
|
|
|
|
|
|
|
|
|
.active {
|
|
|
|
.active {
|
|
|
|
cursor: pointer;
|
|
|
|
cursor: pointer;
|
|
|
|
// color: @primary-color;
|
|
|
|
// color: @primary-color;
|
|
|
@ -3421,10 +3471,12 @@ export default {
|
|
|
|
justify-content: space-between;
|
|
|
|
justify-content: space-between;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.txfcSpan {
|
|
|
|
.txfcSpan {
|
|
|
|
width: 140px;
|
|
|
|
width: 140px;
|
|
|
|
display: inline-block;
|
|
|
|
display: inline-block;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.flag-icon {
|
|
|
|
.flag-icon {
|
|
|
|
color: #1d8aff;
|
|
|
|
color: #1d8aff;
|
|
|
|
cursor: pointer;
|
|
|
|
cursor: pointer;
|
|
|
|