复制项+真题单号+预配订舱

master
sunzehua 8 months ago
parent 2860badd7d
commit 6de7e44cf7

12
.env

@ -1,9 +1,9 @@
NODE_ENV=production NODE_ENV=production
VUE_APP_PREVIEW=true VUE_APP_PREVIEW=true
# VUE_APP_TYPE = 'customer' # VUE_APP_TYPE = 'customer'
# VUE_APP_TYPE = 'hechuan' VUE_APP_TYPE = 'hechuan'
# VUE_APP_TYPE = 'yunyingduan' # VUE_APP_TYPE = 'yunyingduan'
VUE_APP_TYPE = 'gangjie' # VUE_APP_TYPE = 'gangjie'
# 打包部署的三个端 客户端customer 和川端hechuan 运营端djy # 打包部署的三个端 客户端customer 和川端hechuan 运营端djy
# 和川大简云正式 # 和川大简云正式
@ -11,8 +11,8 @@ VUE_APP_TYPE = 'gangjie'
# VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345 # VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345
# 和川大简云测试 # 和川大简云测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:35100 VUE_APP_API_BASE_URL=http://60.209.125.238:35100
# VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100 VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:35100
# 客户端测试 # 客户端测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:30813 # VUE_APP_API_BASE_URL=http://60.209.125.238:30813
@ -23,8 +23,8 @@ VUE_APP_TYPE = 'gangjie'
# VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30814 # VUE_APP_SOCKET_BASE_URL=http://60.209.125.238:30814
# 港捷 # 港捷
VUE_APP_API_BASE_URL=http://118.190.144.189:5001 # VUE_APP_API_BASE_URL=http://118.190.144.189:5001
VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001 # VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001
# 客户端正式 # 客户端正式
# VUE_APP_API_BASE_URL=http://118.190.144.189:6001 # VUE_APP_API_BASE_URL=http://118.190.144.189:6001

@ -1,14 +1,14 @@
NODE_ENV=development NODE_ENV=development
VUE_APP_PREVIEW=true VUE_APP_PREVIEW=true
# VUE_APP_TYPE = 'customer' # VUE_APP_TYPE = 'customer'
# VUE_APP_TYPE = 'hechuan' VUE_APP_TYPE = 'hechuan'
# VUE_APP_TYPE = 'yunyingduan' # VUE_APP_TYPE = 'yunyingduan'
VUE_APP_TYPE = 'gangjie' # VUE_APP_TYPE = 'gangjie'
# 打包部署的三个端 客户端customer 和川端hechuan 运营端yunyingduan # 打包部署的三个端 客户端customer 和川端hechuan 运营端yunyingduan
# 和川大简云正式 # 和川大简云正式
# VUE_APP_API_BASE_URL=http://47.104.85.216:12345/api VUE_APP_API_BASE_URL=http://47.104.85.216:12345/api
# VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345 VUE_APP_SOCKET_BASE_URL=http://47.104.85.216:12345
# 和川大简云测试 # 和川大简云测试
# VUE_APP_API_BASE_URL=http://60.209.125.238:35100 # VUE_APP_API_BASE_URL=http://60.209.125.238:35100
@ -26,8 +26,8 @@ VUE_APP_TYPE = 'gangjie'
# VUE_APP_SOCKET_BASE_URL=http://192.168.0.80:7373/ # VUE_APP_SOCKET_BASE_URL=http://192.168.0.80:7373/
# 港捷 # 港捷
VUE_APP_API_BASE_URL=http://118.190.144.189:5001 # VUE_APP_API_BASE_URL=http://118.190.144.189:5001
VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001 # VUE_APP_SOCKET_BASE_URL=http://118.190.144.189:5001
# 运营端正式 # 运营端正式
# VUE_APP_API_BASE_URL=http://118.190.144.189:6002 # VUE_APP_API_BASE_URL=http://118.190.144.189:6002

@ -626,7 +626,7 @@ export default {
} }
}) })
}, },
init(id) { init(id, type) {
this.getContractnoList() this.getContractnoList()
this.shipData = [] this.shipData = []
if (!id) { if (!id) {

@ -35,9 +35,8 @@ const constantRouterComponents = {
'403': () => import('@/views/system/exception/403'), '403': () => import('@/views/system/exception/403'),
'404': () => import('@/views/system/exception/404'), '404': () => import('@/views/system/exception/404'),
'500': () => import('@/views/system/exception/500'), '500': () => import('@/views/system/exception/500'),
// 各种详情页以及独立页面
Workplace: () => import('@/views/system/dashboard/Workplace'), Workplace: () => import('@/views/system/dashboard/Workplace'),
// account
AccountCenter: () => import('@/views/system/account/center/Index'), AccountCenter: () => import('@/views/system/account/center/Index'),
AccountSettings: () => import('@/views/system/account/settings/Index'), AccountSettings: () => import('@/views/system/account/settings/Index'),
BaseSettings: () => import('@/views/system/account/settings/BaseSetting'), BaseSettings: () => import('@/views/system/account/settings/BaseSetting'),
@ -47,7 +46,6 @@ const constantRouterComponents = {
NotificationSettings: () => import('@/views/system/account/settings/Notification'), NotificationSettings: () => import('@/views/system/account/settings/Notification'),
TableDemo: () => import('@/views/tableDemo/index'), TableDemo: () => import('@/views/tableDemo/index'),
OrderList: () => import('@/views/Booking/OrderList/index'), OrderList: () => import('@/views/Booking/OrderList/index'),
// 默认首页
Console: () => import('@/views/system/index/welcome'), Console: () => import('@/views/system/index/welcome'),
BookingDetail: () => import('@/views/main/BookingLedger/detail'), BookingDetail: () => import('@/views/main/BookingLedger/detail'),
BookingDetailDjy: () => import('@/views/main/BookingDjyLedger/detail'), BookingDetailDjy: () => import('@/views/main/BookingDjyLedger/detail'),
@ -59,7 +57,6 @@ const constantRouterComponents = {
CustomerInformationManagementAdd: () => import('@/views/main/Customer/addForm'), CustomerInformationManagementAdd: () => import('@/views/main/Customer/addForm'),
CustomerInformationManagementEdit: () => import('@/views/main/Customer/editForm'), CustomerInformationManagementEdit: () => import('@/views/main/Customer/editForm'),
SendCarAdd: () => import('@/views/main/SendCar/addForm'), SendCarAdd: () => import('@/views/main/SendCar/addForm'),
// 任务模块
TaskmanageDetail: () => import('@/views/main/Taskmanage/TaskmanageDetail'), TaskmanageDetail: () => import('@/views/main/Taskmanage/TaskmanageDetail'),
TaskLaraRecord: () => import('@/views/main/Taskmanage/TaskLaraRecord'), TaskLaraRecord: () => import('@/views/main/Taskmanage/TaskLaraRecord'),
TaskLaraRegist: () => import('@/views/main/Taskmanage/TaskLaraRegist'), TaskLaraRegist: () => import('@/views/main/Taskmanage/TaskLaraRegist'),

@ -0,0 +1,20 @@
<template>
<div>
</div>
</template>
<script>
export default {
data() {
return {
};
},
methods: {
}
}
</script>
<style scoped lang="less">
</style>

@ -884,7 +884,6 @@ export default {
if (arr.includes('ctnall')) { if (arr.includes('ctnall')) {
copyData.ctnInputs = $data.bookingDetails.ctnInputs copyData.ctnInputs = $data.bookingDetails.ctnInputs
} }
console.log($data)
this.bookingDetails = { ...JSON.parse(JSON.stringify(initDetail)), ...copyData } this.bookingDetails = { ...JSON.parse(JSON.stringify(initDetail)), ...copyData }
this.oldBookingDetails = JSON.parse(JSON.stringify(this.bookingDetails)) this.oldBookingDetails = JSON.parse(JSON.stringify(this.bookingDetails))
} else { } else {

@ -865,21 +865,20 @@ export default {
}) })
} }
if (this.isCopy && !$data.isCopy) { if (this.isCopy && !$data.isCopy) {
const arr = localStorage.getItem('booking_form_copy') ? JSON.parse(localStorage.getItem('booking_form_copy')) : []
const copyData = { const copyData = {
customername: $data.bookingDetails.customername, bookingEDIExt: {}
portloadid: $data.bookingDetails.portloadid, }
carrierid: $data.bookingDetails.carrierid, arr.forEach(item => {
carrier: $data.bookingDetails.carrier, if (item.includes('bookingEDIExt')) {
portload: $data.bookingDetails.portload, const str = item.replace('bookingEDIExt.', '')
issueplace: $data.bookingDetails.issueplace, copyData.bookingEDIExt[str] = $data.bookingDetails.bookingEDIExt[str]
prepardat: $data.bookingDetails.prepardat, } else {
route: $data.bookingDetails.route, copyData[item] = $data.bookingDetails[item]
shippingMethod: $data.bookingDetails.shippingMethod, }
shipper: $data.bookingDetails.shipper, })
consignee: $data.bookingDetails.consignee, if (arr.includes('ctnall')) {
notifyparty: $data.bookingDetails.notifyparty, copyData.ctnInputs = $data.bookingDetails.ctnInputs
goodsStatus: $data.bookingDetails.goodsStatus,
sale: $data.bookingDetails.sale
} }
this.bookingDetails = { ...JSON.parse(JSON.stringify(initDetail)), ...copyData } this.bookingDetails = { ...JSON.parse(JSON.stringify(initDetail)), ...copyData }
this.oldBookingDetails = JSON.parse(JSON.stringify(this.bookingDetails)) this.oldBookingDetails = JSON.parse(JSON.stringify(this.bookingDetails))
@ -1329,18 +1328,20 @@ export default {
let newData = res.data let newData = res.data
if (this.$route.query.isCopy && !overSet) { if (this.$route.query.isCopy && !overSet) {
delete res.data.id delete res.data.id
const arr = localStorage.getItem('booking_form_copy') ? JSON.parse(localStorage.getItem('booking_form_copy')) : []
const copyData = { const copyData = {
customername: res.data.customername, bookingEDIExt: {}
portloadid: res.data.portloadid, }
portload: res.data.portload, arr.forEach(item => {
issueplace: res.data.issueplace, if (item.includes('bookingEDIExt')) {
prepardat: res.data.prepardat, const str = item.replace('bookingEDIExt.', '')
route: res.data.route, copyData.bookingEDIExt[str] = res.data.bookingEDIExt[str]
shippingMethod: res.data.shippingMethod, } else {
shipper: res.data.shipper, copyData[item] = res.data[item]
consignee: res.data.consignee, }
notifyparty: res.data.notifyparty, })
sale: res.data.sale if (arr.includes('ctnall')) {
copyData.ctnInputs = res.data.ctnInputs
} }
newData = { ...JSON.parse(JSON.stringify(initDetail)), ...copyData } newData = { ...JSON.parse(JSON.stringify(initDetail)), ...copyData }
} }

@ -277,7 +277,7 @@
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
</template> </template>
<template v-if="['VOLTA', 'WHL', 'CSL', 'MSC', 'VOL','MSCFD','REL','FCS'].includes(details.carrierid)"> <template v-if="['VOLTA', 'WHL', 'CSL', 'MSC', 'VOL','MSCFD','REL','FCS','YML'].includes(details.carrierid)">
<a-col :xs="12" :sm="12" :md="12" :lg="{ span: '4-8' }" :xl="{ span: '4-8' }"> <a-col :xs="12" :sm="12" :md="12" :lg="{ span: '4-8' }" :xl="{ span: '4-8' }">
<a-form-model-item <a-form-model-item
class="from-label" class="from-label"

@ -1823,16 +1823,16 @@ export default {
handleSubmitTelex() { handleSubmitTelex() {
this.telxLoad = true this.telxLoad = true
SubmitTelex([this.$route.query.id]).then(res => { SubmitTelex([this.$route.query.id]).then(res => {
if (res.success) { if (res.success) {
if (res.data[0].isSuccess) { if (res.data[0].isSuccess) {
this.$message.success('提交成功') this.$message.success('提交成功')
} else { } else {
this.$message.warning(res.data[0].failReason) this.$message.warning(res.data[0].failReason)
} }
} else { } else {
this.$message.error(res.message) this.$message.error(res.message)
} }
this.telxLoad = false this.telxLoad = false
}) })
}, },
handleOpentear(row, index) { handleOpentear(row, index) {
@ -2210,7 +2210,7 @@ export default {
if (!this.$route.query.id) { if (!this.$route.query.id) {
this.$emit('handleSaveCtnListCover', newArr, cabArr) this.$emit('handleSaveCtnListCover', newArr, cabArr)
} else { } else {
let that = this const that = this
this.$confirm({ this.$confirm({
content: '已有记录是否覆盖', content: '已有记录是否覆盖',
onOk() { onOk() {
@ -2605,7 +2605,23 @@ export default {
.then(res => { .then(res => {
hide() hide()
if (res.success) { if (res.success) {
this.$message.success(`VGM发送成功`) if (res.data && res.data.length > 0) {
this.$notification.open({
message: 'VGM',
description: (<div>
{res.data.map(item => {
if (item.isSuccess) {
return <div>{item.cntrno} 成功 </div>
} else {
return <div style={{ color: 'red' }} >{item.cntrno} 失败 {item.failReason}</div>
}
})}
</div>),
duration: 5
});
} else {
this.$message.success(`VGM发送成功`)
}
} else { } else {
this.$message.error(res.message) this.$message.error(res.message)
} }

@ -1675,7 +1675,7 @@ export default {
notifypartyname: '', notifypartyname: '',
notifypartyaddR1: '', notifypartyaddR1: '',
notifypartycountry: '', notifypartycountry: '',
voyno: $details.voynoinner, voyno: $details.voyno,
notifypartycountryName: '', notifypartycountryName: '',
notifypartytel: '', notifypartytel: '',
portload: $details.portload || 'QINGDAO,CHINA', portload: $details.portload || 'QINGDAO,CHINA',
@ -1912,7 +1912,7 @@ export default {
notifypartyname: '', notifypartyname: '',
notifypartyaddR1: '', notifypartyaddR1: '',
notifypartycountry: '', notifypartycountry: '',
voyno: $details.voynoinner, voyno: $details.voyno,
notifypartycountryName: '', notifypartycountryName: '',
notifypartytel: '', notifypartytel: '',
portload: $details.portload || 'QINGDAO,CHINA', portload: $details.portload || 'QINGDAO,CHINA',

@ -125,18 +125,18 @@
<a-menu-item> <a-menu-item>
<a @click="handleImportBcMore" href="javascript:;">多票BC引入</a> <a @click="handleImportBcMore" href="javascript:;">多票BC引入</a>
</a-menu-item> </a-menu-item>
<!-- <a-menu-item> <a-menu-item>
<a @click="handleDownMsk" href="javascript:;">MSK正本下载</a> <a @click="handleDownMsk" href="javascript:;">MSK正本下载</a>
</a-menu-item> --> </a-menu-item>
</a-menu> </a-menu>
</a-dropdown> </a-dropdown>
</div> </div>
<div class="nav" @click="GoExpress"><i class="iconfont icon-goods"></i>快递</div> <div class="nav" @click="GoExpress"><i class="iconfont icon-goods"></i>快递</div>
<!-- <div class="nav" @click="handleSubmitTelex"> <div class="nav" @click="handleSubmitTelex">
<a-spin :spinning="telxLoad"> <a-spin :spinning="telxLoad">
<i class="iconfont icon-dengjizongshu"></i>船公司电放 <i class="iconfont icon-dengjizongshu"></i>船公司电放
</a-spin> </a-spin>
</div> --> </div>
</div> </div>
</template> </template>
<template #tools> <template #tools>

@ -903,6 +903,7 @@ export default {
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import url('../BookingLedger/detail/style/rightContent.less');
.table-operator { .table-operator {
margin-bottom: 18px; margin-bottom: 18px;
} }

@ -178,6 +178,9 @@
<template #vessel="{ row }"> <template #vessel="{ row }">
<span>{{ row.vessel }} / {{ row.voyno }}</span> <span>{{ row.vessel }} / {{ row.voyno }}</span>
</template> </template>
<template #etd="{ row }">
<span>{{ row.etd ? row.etd.substring(0, 10) : '' }}</span>
</template>
<template #isRecvBC="{ row }"> <template #isRecvBC="{ row }">
<a-icon <a-icon
type="bulb" type="bulb"
@ -221,6 +224,7 @@
</a-form-item> </a-form-item>
<a-form-item :wrapper-col="{ span: 12, offset: 5 }"> <a-form-item :wrapper-col="{ span: 12, offset: 5 }">
<a-button :loading="copyLoad" type="primary" html-type="submit">确定</a-button> <a-button :loading="copyLoad" type="primary" html-type="submit">确定</a-button>
<a-button type="primary" style="margin-left: 20px;" @click="handleChange"></a-button>
</a-form-item> </a-form-item>
</a-form> </a-form>
</a-modal> </a-modal>
@ -302,7 +306,8 @@ export default {
title: 'ETD', title: 'ETD',
align: 'center', align: 'center',
width: '100', width: '100',
field: 'etd' field: 'etd',
slots: { default: 'etd' }
}, },
{ {
title: '总重KGS', title: '总重KGS',
@ -324,7 +329,7 @@ export default {
slots: { default: 'isRecvBC' } slots: { default: 'isRecvBC' }
}, },
{ {
title: 'BookingCancellation', title: 'Cancellation',
align: 'center', align: 'center',
width: '200', width: '200',
field: 'isRecvBKCancel', field: 'isRecvBKCancel',
@ -337,7 +342,7 @@ export default {
field: 'status' field: 'status'
}, },
{ {
title: 'soc', title: 'SOC',
align: 'center', align: 'center',
width: '50', width: '50',
field: 'isShipperOwned', field: 'isShipperOwned',
@ -400,7 +405,8 @@ export default {
title: 'ETD', title: 'ETD',
align: 'center', align: 'center',
width: '100', width: '100',
field: 'etd' field: 'etd',
slots: { default: 'etd' }
}, },
{ {
title: '总重KGS', title: '总重KGS',
@ -422,7 +428,7 @@ export default {
slots: { default: 'isRecvBC' } slots: { default: 'isRecvBC' }
}, },
{ {
title: 'BookingCancellation', title: 'Cancellation',
align: 'center', align: 'center',
width: '200', width: '200',
field: 'isRecvBKCancel', field: 'isRecvBKCancel',
@ -435,7 +441,7 @@ export default {
field: 'status' field: 'status'
}, },
{ {
title: 'soc', title: 'SOC',
align: 'center', align: 'center',
width: '50', width: '50',
field: 'isShipperOwned', field: 'isShipperOwned',
@ -474,8 +480,12 @@ export default {
toggleAdvanced() { toggleAdvanced() {
this.advanced = !this.advanced this.advanced = !this.advanced
}, },
onSelectChange(selectedRowKeys) { handleChange() {
this.selectedRowKeys = selectedRowKeys; const select = this.$refs.table.getCheckboxRecords()
const pkIdArr = select.map((item, index) => {
return item.id
})
this.$refs.mskBookingOrder.init(pkIdArr[0])
}, },
handleSendAll() { handleSendAll() {
const select = this.$refs.table.getCheckboxRecords() const select = this.$refs.table.getCheckboxRecords()

Loading…
Cancel
Save