任务台

szh-new
lijingjia 4 months ago
parent 054cde9508
commit ed642cac76

@ -5,10 +5,11 @@
--> -->
<template> <template>
<div class="cost-entry-main-info"> <div class="cost-entry-main-info">
<a-form layout="vertical" class="ds-form-detail"> <a-form>
<a-row :gutter="15"> <a-row :gutter="15">
<a-col v-for="(item, index) in list" :span="item.span" :key='item.value + index'> <a-col v-for="(item, index) in list" :span="item.span" :key='item.value + index'>
<a-form-item <a-form-item
:class="{ noBorder: item.field == 'cbm' || item.field == 'dischargePort' || item.field == 'invoiceNo' || item.field == 'note' }"
:label="item.label" :label="item.label"
> >
<div> <div>
@ -27,21 +28,21 @@
{ label: '委托编号', field: 'customerNo', span: 4, value: '' }, { label: '委托编号', field: 'customerNo', span: 4, value: '' },
{ label: '主题单号', field: 'mblno', span: 4, value: '' }, { label: '主题单号', field: 'mblno', span: 4, value: '' },
{ label: '箱型箱量', field: 'packingType', span: 4, value: '' }, { label: '箱型箱量', field: 'packingType', span: 4, value: '' },
{ label: '件数', field: 'pkgs', span: 3, value: '' }, { label: '件数', field: 'pkgs', span: 4, value: '' },
{ label: '毛重', field: 'kgs', span: 3, value: '' }, { label: '毛重', field: 'kgs', span: 4, value: '' },
{ label: '尺码', field: 'cbm', span: 3, value: '' }, { label: '尺码', field: 'cbm', span: 4, value: '' },
{ label: '发票号', field: 'invoiceNo', span: 3, value: '' }, { label: '委托单位', field: 'customerName', span: 8, value: '' },
{ label: '委托单位', field: 'customerName', span: 4, value: '' },
{ label: '卸货港', field: 'dischargePort', span: 4, value: '' },
{ label: '船名', field: 'vessel', span: 4, value: '' }, { label: '船名', field: 'vessel', span: 4, value: '' },
{ label: '航次', field: 'voyno', span: 3, value: '' }, { label: '航次', field: 'voyno', span: 4, value: '' },
{ label: '揽货人', field: 'sale', span: 3, value: '' }, { label: '装货港', field: 'loadPort', span: 4, value: '' },
{ label: 'ETD', field: 'etd', span: 3, value: '' }, { label: '卸货港', field: 'dischargePort', span: 4, value: '' },
{ label: '付费方式', field: 'mblFrt', span: 3, value: '' }, { label: '揽货人', field: 'sale', span: 4, value: '' },
{ label: 'ETD', field: 'etd', span: 4, value: '' },
{ label: '付费方式', field: 'mblFrt', span: 4, value: '' },
{ label: '分提单号', field: 'hblno', span: 4, value: '' }, { label: '分提单号', field: 'hblno', span: 4, value: '' },
{ label: '目的地', field: 'destination', span: 4, value: '' }, { label: '目的地', field: 'destination', span: 4, value: '' },
{ label: '装货港', field: 'loadPort', span: 4, value: '' }, { label: '发票号', field: 'invoiceNo', span: 4, value: '' },
{ label: '备注', field: 'note', span: 12, value: '' }, { label: '备注', field: 'note', span: 24, value: '' },
]) ])
const props = defineProps({ const props = defineProps({
data: { type: [Object, Array] } data: { type: [Object, Array] }
@ -53,6 +54,9 @@
list.value.forEach(item => { list.value.forEach(item => {
for(let key in val) { for(let key in val) {
if (item.field === key) { if (item.field === key) {
if (key == 'etd' && val[key]) {
val[key] = val[key].split(' ')[0]
}
item.value = val[key] item.value = val[key]
} }
} }
@ -62,11 +66,31 @@
) )
</script> </script>
<style> <style lang="less">
.cost-entry-main-info { .cost-entry-main-info {
.ant-form-item-label {
label {
font-size: 12px;
}
}
.ant-form-item-control-input-content {
font-size: 12px;
font-weight: 600;
}
.ant-form-item {
margin-bottom: 4px;
}
.ant-form-item-control {
border-right: 1px solid #CED5D9;
}
background-color: #ffffff; background-color: #ffffff;
padding: 6px 20px 0 20px; padding: 6px 20px 0 20px;
border: 1px solid #E8EBED; border: 1px solid #E8EBED;
border-top: none; border-top: none;
.noBorder {
.ant-form-item-control {
border-right: none;
}
}
} }
</style> </style>

@ -110,7 +110,7 @@
businessType="1" businessType="1"
> >
<a-button v-repeat v-if="taskType > 201" @click="completeTask" type="primary"> <a-button v-repeat v-if="taskType > 201" @click="completeTask" type="primary">
{{ route.query.status == 'WAIT_BC' ? '收到BC' : '完成任务' }} {{ completeText }}
</a-button> </a-button>
</ApproveBtns> </ApproveBtns>
</a-spin> </a-spin>
@ -260,6 +260,17 @@
const height = window.innerHeight const height = window.innerHeight
return 300 return 300
}) })
//
const completeText = computed((v) => {
const status = route.query.status
if (status == 'WAIT_BC') {
return '收到BC'
} else if (status == 'WAIT_CANGDAN') {
return '提单确认'
} else {
return '完成任务'
}
})
watch( watch(
() => bookingDetails.value, () => bookingDetails.value,
(val) => { (val) => {

@ -69,7 +69,7 @@
schemas: formSchema1, schemas: formSchema1,
showActionButtonGroup: false, showActionButtonGroup: false,
}) })
const loading = false const loading = ref(false)
async function handleSave() { async function handleSave() {
let ApiData: any = { let ApiData: any = {
} }
@ -103,8 +103,8 @@
}) })
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.MainBox { .MainBox {
height: 60vh; height: 60vh;
overflow: auto; overflow: auto;
} }
</style> </style>

@ -4,10 +4,21 @@
<span class="iconfont icon-gongdanqueren"></span> <span class="iconfont icon-gongdanqueren"></span>
订舱 订舱
</a-button> </a-button>
<a-button v-if="urlParams.source == 'edit'" type="link" @click="openModel('cutOff')"> <a-button v-if="urlParams.source == 'edit' || taskType == 206" type="link" @click="openModel('cutOff')">
<span class="iconfont icon-lanjie"></span> <span class="iconfont icon-lanjie"></span>
截单 截单
</a-button> </a-button>
<a-popconfirm
title="您当前未选择服务项目,是否继续操作?"
ok-text="是"
cancel-text="否"
@confirm="openModel('vgm')"
>
<a-button v-if="urlParams.source == 'edit'" type="link">
<span class="iconfont icon-xiangzi"></span>
VGM
</a-button>
</a-popconfirm>
<a-button v-if="urlParams.source == 'edit'" type="link" @click="openModel('trace')"> <a-button v-if="urlParams.source == 'edit'" type="link" @click="openModel('trace')">
<span class="iconfont icon-dingwei"></span> <span class="iconfont icon-dingwei"></span>
运踪 运踪
@ -948,7 +959,7 @@
}, },
// //
taskType: { taskType: {
type: [String || Number] type: Number
} }
}) })
// ============= // =============
@ -1169,7 +1180,7 @@
} }
if (['bookingSpace', 'cutOff', 'initCabin', 'ladingBill', 'vgmlink'].includes(type)) { if (['bookingSpace', 'cutOff', 'initCabin', 'ladingBill', 'vgmlink'].includes(type)) {
// //
if (type === 'bookingSpace') { if (type === 'bookingSpace' || type === 'cutOff') {
const id = props.details.forwarderId const id = props.details.forwarderId
// id // id
GetClientParamListById({ id }).then(res => { GetClientParamListById({ id }).then(res => {
@ -1179,8 +1190,14 @@
}) })
if (Email.length) { if (Email.length) {
const ids = [] const ids = []
if (type === 'bookingSpace') {
if (props.details.saleId) ids.push(props.details.saleId) if (props.details.saleId) ids.push(props.details.saleId)
if (props.details.operatorId) ids.push(props.details.operatorId) if (props.details.operatorId) ids.push(props.details.operatorId)
}
if (type === 'cutOff') {
if (props.details.saleId) ids.push(props.details.doc)
if (props.details.operatorId) ids.push(props.details.operatorId)
}
// //
emailModal.value.init(ids, props.details) emailModal.value.init(ids, props.details)
} else { } else {

@ -544,13 +544,13 @@
<style lang="less"> <style lang="less">
.ds-sea-export-table { .ds-sea-export-table {
height: 100%;
.vben-basic-table-header__toolbar { .vben-basic-table-header__toolbar {
justify-content: space-between; justify-content: space-between;
} }
.static-box { .static-box {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
height: 66.5px;
} }
.icon-fuzhi3 { .icon-fuzhi3 {
color: #257afa; color: #257afa;

@ -77,11 +77,11 @@
</template> </template>
</BasicForm> </BasicForm>
</a-tab-pane> </a-tab-pane>
<!-- <a-tab-pane key="1" tab="个人开户信息"> <a-tab-pane key="1" tab="个人开户信息">
<BankInfo <BankInfo
:id="id" :id="id"
></BankInfo> ></BankInfo>
</a-tab-pane> --> </a-tab-pane>
</a-tabs> </a-tabs>
<!--右下角按钮--> <!--右下角按钮-->
<template #footer> <template #footer>
@ -123,6 +123,7 @@
// id // id
const id = ref('') const id = ref('')
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
activeKey.value = '0'
resetFields() resetFields()
setModalProps({ confirmLoading: false, loading: true }) setModalProps({ confirmLoading: false, loading: true })
isUpdate.value = !!data?.isUpdate isUpdate.value = !!data?.isUpdate

@ -54,6 +54,7 @@
const [registerModal, { openModal }] = useModal() const [registerModal, { openModal }] = useModal()
const [registerTable, { reload, getForm, getSelectRows }] = useTable({ const [registerTable, { reload, getForm, getSelectRows }] = useTable({
title: '', title: '',
maxHeight: 460,
rowSelection: { type: 'checkbox' }, rowSelection: { type: 'checkbox' },
clickToRowSelect: false, clickToRowSelect: false,
api: async (p) => { api: async (p) => {
@ -74,7 +75,7 @@
bordered: true, bordered: true,
showIndexColumn: true, showIndexColumn: true,
canResize: true, canResize: true,
immediate: true, immediate: false,
actionColumn: { actionColumn: {
width: 80, width: 80,
title: '操作', title: '操作',

@ -711,10 +711,11 @@ function handleEdit(data) {
case 'WAIT_BOOKING': case 'WAIT_BOOKING':
case 'WAIT_BC': case 'WAIT_BC':
case 'WAIT_SPACE_RELEASE': case 'WAIT_SPACE_RELEASE':
case 'WAIT_CANGDAN':
// //
go({ go({
path: '/taskmanage/booking-approval', path: '/taskmanage/booking-approval',
query: { id: data.ouT_BS_NO, source: data.status, taskId: data.id, status: data.tasK_TYPE } query: { id: data.ouT_BS_NO, source: data.tasK_USER_STATUS, taskId: data.id, status: data.tasK_TYPE }
}); });
break; break;
default: default:

Loading…
Cancel
Save