更新任务

szh-new
sunzehua 4 months ago
parent e7b2ae21a6
commit 6380e082d4

@ -10,6 +10,12 @@ export const searchFormSchema: FormSchema[] = [
component: 'Input', component: 'Input',
colProps: { span: 4 }, colProps: { span: 4 },
}, },
{
field: 'taskNo',
label: '任务流水号',
component: 'Input',
colProps: { span: 4 },
},
{ {
field: 'goodsCode', field: 'goodsCode',
label: '接收人', label: '接收人',
@ -41,30 +47,18 @@ export const searchFormSchema: FormSchema[] = [
{ {
field: 'taskType', field: 'taskType',
label: '任务类型', label: '任务类型',
component: 'ApiSelect', component: 'Select',
required: false, required: false,
dynamicDisabled: false, dynamicDisabled: false,
colProps: { span: 4 }, colProps: { span: 4 },
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
api: () => { options: typeData.value,
return new Promise((resolve) => { fieldNames: {
GetTaskPlatEnumDict().then((res) => { label: 'name',
let arr = [] value: 'code'
res.data.forEach((item) => {
if(item.type==='TASK_TYPE'){
arr = item.data
}
})
res.selectData = arr
resolve(res)
})
})
}, },
labelField: 'name', showSearch: true,
valueField: 'code',
immediate:false,
resultField: 'selectData',
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, },
@ -74,30 +68,18 @@ export const searchFormSchema: FormSchema[] = [
{ {
field: 'taskSource', field: 'taskSource',
label: '任务来源', label: '任务来源',
component: 'ApiSelect', component: 'Select',
required: false, required: false,
dynamicDisabled: false, dynamicDisabled: false,
colProps: { span: 4 }, colProps: { span: 4 },
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
api: () => { options: sourceData.value,
return new Promise((resolve) => { fieldNames: {
GetTaskPlatEnumDict().then((res) => { label: 'name',
let arr = [] value: 'code'
res.data.forEach((item) => {
if(item.type==='SOURCE'){
arr = item.data
}
})
res.selectData = arr
resolve(res)
})
})
}, },
labelField: 'name', showSearch: true,
valueField: 'code',
immediate:false,
resultField: 'selectData',
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, },
@ -107,30 +89,18 @@ export const searchFormSchema: FormSchema[] = [
{ {
field: 'taskCategory', field: 'taskCategory',
label: '任务分类', label: '任务分类',
component: 'ApiSelect', component: 'Select',
required: false, required: false,
dynamicDisabled: false, dynamicDisabled: false,
colProps: { span: 4 }, colProps: { span: 4 },
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
api: () => { options: categoryData.value,
return new Promise((resolve) => { fieldNames: {
GetTaskPlatEnumDict().then((res) => { label: 'name',
let arr = [] value: 'code'
res.data.forEach((item) => {
if(item.type==='CATEGORY'){
arr = item.data
}
})
res.selectData = arr
resolve(res)
})
})
}, },
labelField: 'name', showSearch: true,
valueField: 'code',
immediate:false,
resultField: 'selectData',
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, },
@ -140,30 +110,18 @@ export const searchFormSchema: FormSchema[] = [
{ {
field: 'status', field: 'status',
label: '任务状态', label: '任务状态',
component: 'ApiSelect', component: 'Select',
required: false, required: false,
dynamicDisabled: false, dynamicDisabled: false,
colProps: { span: 4 }, colProps: { span: 4 },
componentProps: ({ formModel }) => { componentProps: ({ formModel }) => {
return { return {
api: () => { options: statusData.value,
return new Promise((resolve) => { fieldNames: {
GetTaskPlatEnumDict().then((res) => { label: 'name',
let arr = [] value: 'code'
res.data.forEach((item) => {
if(item.type==='STATUS'){
arr = item.data
}
})
res.selectData = arr
resolve(res)
})
})
}, },
labelField: 'name', showSearch: true,
valueField: 'code',
immediate:false,
resultField: 'selectData',
filterOption: (input: string, option: any) => { filterOption: (input: string, option: any) => {
return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0 return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
}, },
@ -287,7 +245,30 @@ export const columns: BasicColumn[] = [
ellipsis: true ellipsis: true
} }
] ]
export const typeData = ref([]) as any
export const statusData = ref([]) as any
export const sourceData = ref([]) as any
export const categoryData = ref([]) as any
function init() {
GetTaskPlatEnumDict().then((res) => {
res.data.forEach((item) => {
if (item.type === 'TASK_TYPE') {
typeData.value = item.data
}
if (item.type === 'STATUS') {
statusData.value = item.data
}
if (item.type === 'CATEGORY') {
categoryData.value = item.data
}
if (item.type === 'SOURCE') {
sourceData.value = item.data
}
})
console.log(typeData.value)
})
}
init()

@ -11,49 +11,85 @@
<p>时间{{ taskData.createTime }}</p> <p>时间{{ taskData.createTime }}</p>
</div> </div>
<div class="main-box" v-for="(item, index) in taskData.fromToList" :key="index"> <div class="main-box" v-for="(item, index) in taskData.fromToList" :key="index">
<div class="box"> <div class="box-item">
<div class="box-title"> <div class="box-title">
原船 原船
</div> </div>
<div class="content"> <div class="content">
<div class="row"> <div class="row">
<i class="icon-chuanfanguanli-chuanfanshenqing iconfont"></i>
船名/航次{{ item.fromShip.vessel }} / 船名/航次{{ item.fromShip.vessel }} /
{{ item.fromShip.voyNo }} {{ item.fromShip.voyNo }}
</div> </div>
<div class="row"> <div class="row">
{{ item.fromShip.port }}ETD{{ item.fromShip.etd }} <i class="icon-shijian1 iconfont"></i>
{{ item.fromShip.port }} <i class="icon-calendar iconfont"></i> ETD{{ item.fromShip.etd
}}
</div> </div>
<div class="row"> <div class="row">
<i class="icon-biaoqian iconfont"></i>
{{ item.fromShip.terminal }} {{ item.fromShip.terminal }}
</div> </div>
</div> </div>
</div> </div>
<div class="middle">换船</div> <div class="middle">
<div> <i class="icon-qiehuan iconfont"></i> </div>
换船
</div>
<div v-for="(toData, index1) in item.toShipList" :key="index1" <div v-for="(toData, index1) in item.toShipList" :key="index1"
style="display: flex;align-items: center;"> style="display: flex;align-items: center;">
<div class="middleOr" v-if="index1 !== 0"></div> <div class="middleOr" v-if="index1 !== 0">or</div>
<div class="box"> <div class="box-item new-box">
<div class="box-title"> <div class="box-title">
新船{{ index1 + 1 }} 新船{{ index1 + 1 }}
VslCode:{{ toData.vslCode }} String:{{ toData.shipString }} VslCode:{{ toData.vslCode }} String:{{ toData.shipString }}
</div> </div>
<div class="content"> <div class="content">
<div class="row"> <div class="row">
<i class="icon-chuanfanguanli-chuanfanshenqing iconfont"></i>
船名/航次{{ toData.vessel }} / {{ 船名/航次{{ toData.vessel }} / {{
toData.voyNo }} toData.voyNo }}
</div> </div>
<div class="row"> <div class="row">
{{ toData.port }} <i class="icon-shijian1 iconfont"></i>
{{ toData.port }}<i class="icon-calendar iconfont" style="margin-left: 5px;"></i>
ETD{{ ETD{{
toData.etd ? toData.etd : '-' }} toData.etd ? toData.etd : '-' }}
</div> </div>
<div class="row"> <div class="row">
<i class="icon-biaoqian iconfont"></i>
{{ toData.terminal }} {{ toData.terminal }}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="LeftHead">
<p>
Rolling Plan
<span style="margin-left: 10px;font-weight: 400;">Before {{ taskData.confirmDeadLine }}</span>
</p>
</div>
<div class="plan">
<div v-for="(item, index) in taskData.rollingPlanList" :key="index" style="margin-bottom: 5px;">
{{ item }}
</div>
{{ taskData.rollingTouchDoubleRollRemark ? taskData.rollingTouchDoubleRollRemark : '' }}
</div>
</div>
<div class="box">
<div class="LeftHead">
<p>
预甩明细
<a-button style="margin-left: 20px;" type="link" @click="handleSendNotice"
size="small"> <i class="icon-zhuanfa iconfont" ></i> 发送通知</a-button>
<a-button style="margin-left: 20px;" type="link" @click="handleRefsh"
size="small"><i class="icon-refresh-1-copy iconfont" ></i>刷新订舱对应</a-button>
<a-button style="margin-left: 20px;" type="link" @click="handleRefshPage"
size="small"><i class="icon-refresh-1-copy iconfont" ></i>刷新</a-button>
</p>
</div>
</div> </div>
</a-spin> </a-spin>
@ -205,23 +241,65 @@ function loadingStop() {
.main-box { .main-box {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 15px;
font-size: 12px; font-size: 12px;
.box { .box-item {
border-radius: 2px; border-radius: 2px;
.iconfont {
color: rgba(37, 122, 250, 1);
}
.box-title { .box-title {
background: rgba(37, 122, 250, 1); background: rgba(37, 122, 250, 1);
font-weight: 700;
color: white; color: white;
height: 26px; height: 26px;
line-height: 26px; line-height: 26px;
padding-left: 16px; padding-left: 16px;
} }
.content{
.content {
background: rgba(245, 249, 252, 1); background: rgba(245, 249, 252, 1);
padding-left: 16px; padding: 10px 16px;
}
.row {
margin: 5px 0;
}
&.new-box {
.iconfont {
color: rgba(23, 166, 163, 1);
}
.box-title {
background: rgba(23, 166, 163, 1);
}
} }
} }
} }
.middle {
color: rgba(37, 122, 250, 1);
margin: 0 25px;
text-align: center;
.iconfont {
font-size: 17px
}
}
.middleOr {
width: 24px;
height: 24px;
border-radius: 50%;
background: rgba(23, 166, 163, 1);
text-align: center;
line-height: 24px;
color: white;
font-size: 14px;
margin: 0 25px;
}
</style> </style>

@ -1,7 +1,7 @@
.LeftHead { .LeftHead {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-top: 15px;
.title { .title {
font-size: 12px; font-size: 12px;
font-weight: 700; font-weight: 700;

Loading…
Cancel
Save