任务管理,vgm对比等

dev
lilu 2 years ago
parent bfa6c8fb44
commit 70e899e639

@ -95,7 +95,7 @@
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %>
<link rel="stylesheet" href="<%= htmlWebpackPlugin.options.cdn.css[i] %>" />
<% } %>
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_3756681_4vmbyasfc5t.css" />
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_3756681_rc3wnbt258b.css" />
<!-- 1.8K仔百度收录 -->
<meta name="baidu-site-verification" content="code-QVfBYJ5laQ" />
</head>

@ -93,9 +93,8 @@ export function LaraPaperCalc (parameter) {
*/
export function LaraPaperRegist (parameter) {
return axios({
url: '/TaskManage/LaraPaperRegist',
method: 'post',
data: parameter
url: '/TaskManage/LaraPaperRegist?PKIds=' + parameter,
method: 'post'
})
}
@ -146,11 +145,11 @@ export function GetBookingOrderInfo (parameter) {
/**
* lara 记录 -- 有问题
*/
export function LaraPaperRegistPost (parameter) {
export function LaraPaperRegistPost (id, data) {
return axios({
url: '/TaskManage/LaraPaperRegistPost',
url: '/TaskManage/LaraPaperRegistPost?taskPKId=' + id,
method: 'post',
data: parameter
data: data
})
}
@ -177,8 +176,23 @@ export function SaveBookingSI (parameter) {
return axios({
url: '/TaskManage/SaveBookingSI',
method: 'post',
data: parameter
data: parameter
})
}
export function LaraPaperRecordExport (parameter) {
return axios({
url: '/TaskManage/LaraPaperRecordExport',
method: 'get',
params: parameter
})
}
export function GetVGMCompareResult (parameter) {
return axios({
url: '/TaskManage/GetVGMCompareResult',
method: 'get',
params: parameter
})
}

@ -31,7 +31,8 @@ const constantRouterComponents = {
CustomerInformationManagementEdit: () => import('@/views/main/Customer/editForm'),
TaskmanageDetail: () => import('@/views/main/Taskmanage/TaskmanageDetail'),
TaskLaraRecord: () => import('@/views/main/Taskmanage/TaskLaraRecord'),
TaskLaraRegist: () => import('@/views/main/Taskmanage/TaskLaraRegist')
TaskLaraRegist: () => import('@/views/main/Taskmanage/TaskLaraRegist'),
TaskVgmContrast: () => import('@/views/main/Taskmanage/TaskVgmContrast'),
}
// 前端未找到页面路由(固定不用改)、原来为 /404
@ -177,7 +178,18 @@ const userAccount = [
show: false
},
component: 'TaskLaraRegist'
}
},
{
name: 'TaskVgmContrast',
path: '/commontaskmanage/TaskVgmContrast',
pid: 0,
id: 183186,
meta: {
title: 'VGM比对',
show: false
},
component: 'TaskVgmContrast'
},
]
// 订舱

@ -1,27 +1,213 @@
<template>
<div class="lara-regist">
<div class="btn-list">
<a-button>导出</a-button>
</div>
<div class="table-box">
<!-- <a-table :columns="boxColumns" :data-source="taskDetail.contaList">
<span slot="seq" slot-scope="seq">{{ Number(seq) + 1 }}</span>
</a-table> -->
<div class="btn-list">
<a-button type="primary" @click="laraRecordFun"></a-button>
</div>
<vxe-grid
ref="xGrid"
v-bind="gridOptions"
row-class-name="line-box"
@page-change="handlePageChange"
style="margin-top: 6px"
>
</vxe-grid>
</div>
</div>
</template>
<script>
import { XCard } from '@/components'
<script>
import { LaraPaperRecordExport } from '@/api/modular/main/TaskmanageList'
import draggable from 'vuedraggable'
export default {
components: {
XCard,
draggable
},
data() {
return {}
return {
taskPKId: this.$route.query.taskPKId,
gridOptions: {
border: false,
resizable: true,
showOverflow: true,
loading: true,
round: true,
autoResize: true,
align: 'center',
columnConfig: { resizable: true },
importConfig: {},
exportConfig: {},
pagerConfig: {
total: 0,
currentPage: 1,
pageSize: 10,
pageSizes: [10, 20, 50, 100, 200, 500]
},
columns: [
{
dataIndex: 'date',
key: 'sort',
title: '打印日期',
},
{
dataIndex: 'mblNo',
key: 'mblNo',
title: '提单号',
},
{
dataIndex: 'pageFrom',
key: 'pageFrom',
title: 'Page Number From',
},
{
dataIndex: 'pageTo',
key: 'pageTo',
title: 'Paper Number To',
},
{
dataIndex: 'sum',
key: 'sum',
title: 'Sum',
},
{
dataIndex: 'issueType',
key: 'issueType',
title: '签单方式',
},
{
dataIndex: 'time',
key: 'time',
title: 'LARA登记时间',
},
{
dataIndex: 'name',
key: 'name',
title: '登记人',
},
],
data: []
},
}
},
created() {
this.getLaraPaperRecordExport()
},
methods: {
// LARA
getLaraPaperRecordExport() {
const { currentPage, pageSize } = this.gridOptions.pagerConfig
LaraPaperRecordExport({
pageNo: currentPage,
pageSize: pageSize
// PKIds: [this.taskPKId],
})
.then((res) => {
if (res.success) {
debugger
const _data = res.data.items.map((item, index) => {
item.row_id = (currentPage - 1) * pageSize + index
return item
})
this.$set(this.gridOptions.pagerConfig, 'total', res.data.totalCount)
this.$set(this.gridOptions, 'data', JSON.parse(JSON.stringify(_data)))
this.$set(this.gridOptions, 'loading', false)
} else {
this.$message.error(res.message)
}
})
.catch((err) => {
console.log(err)
})
},
handlePageChange({ currentPage, pageSize }) {
console.log('pagesize变化', currentPage, pageSize)
// if (this.gridOptions.pagerConfig.pageSize !== pageSize) {
// this.editPageSizeSave(pageSize)
// }
// this.gridOptions.pagerConfig.currentPage = currentPage
// this.gridOptions.pagerConfig.pageSize = pageSize
// this.getList(this.formRes)
},
laraRecordFun (data) {
//
},
},
methods: {},
}
</script>
<style lang="less" scoped>
<style lang="less" scoped>
.table-box {
width: 100%;
background: #fff;
padding: 20px;
min-height: 100px;
margin-top: 20px;
.btn-list{
text-align: left;
margin-bottom: 10px;
}
.table{
width: 100%;
height: auto;
border: 1px solid #eee;
.table-title{
height: 40px;
line-height: 40px;
font-size: 14px;
display: flex;
border-bottom: 1px solid #eee;
// background: #e8eaec;
background: #f8f8fa;
.label{
flex: 1;
display: block;
text-align: center;
// border-right: 1px solid #eee;
position: relative;
color: #666;
font-weight: 600;
&::after{
content: '';
position: absolute;
top: 11px;
right: 0;
width: 1px;
transform: scaleX(0.5);
height: 50%;
background-color: #d9dddf;
}
&:nth-last-of-type(1){
border-right: 0;
&::after{
display: none;
}
}
}
}
.table-line{
height: 40px;
line-height: 40px;
font-size: 14px;
display: flex;
border-bottom: 1px solid #eee;
&:nth-of-type(2n){
// background: @primary-color;
background: #f8f8fa;
}
.line-label{
flex: 1;
display: block;
text-align: center;
// border-right: 1px solid #eee;
&:nth-last-of-type(1){
border-right: 0;
}
}
}
}
}
.paper-box{
margin-top: 10px;
padding: 0 20px;
}
</style>

@ -1,31 +1,71 @@
<template>
<div class="lara-regist">
<div class="btn-list">
<a-button type="primary" @click="laraRecordFun"></a-button>
</div>
<div class="table-box">
<a-table :columns="columns" :data-source="laraData"></a-table>
<div class="btn-list">
<a-button type="primary" @click="laraRecordFun"></a-button>
</div>
<div class="table">
<div class="table-title">
<span class="label" v-for="(label, lIndex) in columns" :key="lIndex">
{{ label.title }}
</span>
</div>
<draggable
v-model="laraData"
animation="300"
v-bind="{
group: 'table',
sort: true,
animation: 300,
handle: '.table-btn'
}"
@start="onStart"
@end="emitFromChange">
<transition-group>
<div class="table-line" v-for="(item, index) in laraData" :key="index">
<span class="line-label table-btn"><i class="iconfont icon-tuodong"></i></span>
<span class="line-label">{{ item.mblNo }}</span>
<span class="line-label">{{ item.b }}</span>
<span class="line-label">{{ item.c }}</span>
<span class="line-label">{{ item.d }}</span>
<span class="line-label">{{ item.s }}</span>
</div>
</transition-group>
</draggable>
</div>
<!-- <div class="paper-box">
<vxe-pager
:current-page.sync="page.currentPage"
:page-size.sync="page.pageSize"
:total="page.totalResult"
:layouts="['PrevJump', 'PrevPage', 'Number', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
@page-change="handlePageChange">
</vxe-pager>
</div> -->
</div>
</div>
</template>
<script>
import { LaraPaperRegist, LaraPaperRegistPost } from '@/api/modular/main/TaskmanageList'
import draggable from 'vuedraggable'
export default {
components: {
draggable
},
data() {
return {
taskPKId: this.$route.query.taskPKId,
laraData: [],
// columns
columns: [
{
dataIndex: 'seq',
key: 'seq',
dataIndex: 'sort',
key: 'sort',
title: '排序',
scopedSlots: { customRender: 'seq' },
scopedSlots: { customRender: 'sort' },
},
{
dataIndex: 'a',
key: 'a',
dataIndex: 'mblNo',
key: 'mblNo',
title: '提单号',
},
{
@ -49,6 +89,11 @@ export default {
title: 'Sum',
},
],
page: {
currentPage: 1,
pageSize: 10,
totalResult: 300
},
}
},
created() {
@ -57,14 +102,10 @@ export default {
methods: {
// LARA
laraPaperRegistFun() {
LaraPaperRegist({
PKIds: [this.taskPKId],
})
LaraPaperRegist(this.taskPKId)
.then((res) => {
if (res.success) {
debugger
//
// this.laraData = res.data
this.laraData = res.data.detailList
} else {
this.$message.error(res.message)
}
@ -75,11 +116,8 @@ export default {
},
// LARA
laraRecordFun() {
LaraPaperRegistPost({
taskPKId: this.taskPKId
})
LaraPaperRegistPost(this.taskPKId, this.laraData[0])
.then((res) => {
debugger
//
if (res.success) {
this.$message.success('提单登记成功')
@ -91,6 +129,10 @@ export default {
console.log(err)
})
},
emitFromChange() {
console.log('拖动结束', this.laraData)
},
onStart() {},
},
}
</script>
@ -101,5 +143,73 @@ export default {
padding: 20px;
min-height: 100px;
margin-top: 20px;
.btn-list{
text-align: left;
margin-bottom: 10px;
}
.table{
width: 100%;
height: auto;
border: 1px solid #eee;
.table-title{
height: 40px;
line-height: 40px;
font-size: 14px;
display: flex;
border-bottom: 1px solid #eee;
// background: #e8eaec;
background: #f8f8fa;
.label{
flex: 1;
display: block;
text-align: center;
// border-right: 1px solid #eee;
position: relative;
color: #666;
font-weight: 600;
&::after{
content: '';
position: absolute;
top: 11px;
right: 0;
width: 1px;
transform: scaleX(0.5);
height: 50%;
background-color: #d9dddf;
}
&:nth-last-of-type(1){
border-right: 0;
&::after{
display: none;
}
}
}
}
.table-line{
height: 40px;
line-height: 40px;
font-size: 14px;
display: flex;
border-bottom: 1px solid #eee;
&:nth-of-type(2n){
// background: @primary-color;
background: #f8f8fa;
}
.line-label{
flex: 1;
display: block;
text-align: center;
// border-right: 1px solid #eee;
&:nth-last-of-type(1){
border-right: 0;
}
}
}
}
}
.paper-box{
margin-top: 10px;
padding: 0 20px;
}
</style>

@ -0,0 +1,136 @@
<template>
<div class="task-vgm-contrast">
<div class="nav-btn-box">
<a-button class="nav-btn" type="primary" @click="overTaskFun"></a-button>
<a-button class="nav-btn" type="primary" @click="updateTaskFun"></a-button>
</div>
<div class="vgm-compare">
<a-row :gutter="10">
<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
<div class="booking-vgm old">
<div class="title">原订舱箱信息</div>
<ul class="vgm-table">
<li class="top">
<span class="label" v-for="(label,index) in columns" :key="index">{{ label.title }}</span>
</li>
<li v-for="(lastItem, oindex) in vgmLastTableData" :key="oindex">
<span class="label" v-for="(lastlabel,lindex) in columns" :key="lindex">{{ lastItem[lastlabel.key] }}</span>
</li>
</ul>
</div>
</a-col>
<a-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
<div class="booking-vgm new">
<div class="title">客户提交信息</div>
<ul class="vgm-table">
<li class="top">
<span class="label" v-for="(label,index) in columns" :key="index">{{ label.title }}</span>
</li>
<li v-for="(submitItem, zindex) in vgmSubmitTableData" :key="zindex">
<span class="label" v-for="(slabel,sindex) in columns" :key="sindex">{{ submitItem[slabel.key] }}</span>
</li>
</ul>
</div>
</a-col>
</a-row>
</div>
</div>
</template>
<script>
import { GetVGMCompareResult } from '@/api/modular/main/TaskmanageList'
export default {
data() {
return {
taskPKId: this.$route.query.taskPKId,
vgmLastTableData: [],
vgmSubmitTableData: [],
tableData: [{
box: '40HC'
},{
box: '40HC'
}],
columns: [
{ dataIndex: 'box', key: 'box', title: '箱型' },
{ dataIndex: 'box', key: 'box', title: '箱号' },
{ dataIndex: 'box', key: 'box', title: '封号' },
{ dataIndex: 'box', key: 'box', title: '毛重' },
{ dataIndex: 'box', key: 'box', title: '皮重' },
{ dataIndex: 'box', key: 'box', title: '称重重量' },
{ dataIndex: 'box', key: 'box', title: '称重方式' }
],
}
},
created() {
},
methods: {
getVGMCompareResult () {
GetVGMCompareResult({
taskPKId: this.taskPKId
}).then((res) => {
if (res.success) {
debugger
} else {
this.$message.error(res.message)
}
}).catch((err) => {
console.log(err)
})
},
overTaskFun() {
},
updateTaskFun() {
}
},
}
</script>
<style lang="less" scoped>
.nav-btn-box{
margin-bottom: 20px;
.nav-btn{
margin-right: 10px;
}
}
ul, li {
list-style: none;
}
.vgm-compare{
padding: 20px;
background: #fff;
.booking-vgm{
padding:0 20px;
.title{
height: 30px;
line-height: 30px;
font-size: 16px;
color: #666;
border-bottom: 1px solid #eee;
margin-bottom: 10px;
}
.vgm-table{
border: 1px solid #eee;
padding:0;
li{
height: 40px;
border-bottom: 1px solid #eee;
line-height: 40px;
display: flex;
span{
display: block;
flex: 1;
text-align: center;
font-size: 14px;
border-right: 1px solid #eee;
&:nth-last-of-type(1){
border-right: none;
}
}
&.top{
background: #f8f8fa;
}
}
}
}
}
</style>

@ -4,9 +4,11 @@
<a-button class="nav-btn" type="primary" @click="saveFun"></a-button>
<a-button class="nav-btn" type="primary" @click="cutOffFun">SI</a-button>
<a-button class="nav-btn" @click="completeTaskFun"></a-button>
<a-button class="nav-btn">提单确认</a-button>
<!-- <a-button class="nav-btn">提单确认</a-button> -->
<a-button class="nav-btn" @click="cancelTaskFun"></a-button>
<!-- <a-button class="nav-btn">对比</a-button> -->
<a-button class="nav-btn" @click="compareOrder">
{{ openCompareOrder ? '取消对比' : '对比' }}
</a-button>
<!-- 对比需要请求接口后高亮提示暂无接口 -->
</div>
@ -542,7 +544,7 @@
<a-form-model-item has-feedback prop="shipper" class="sender-label">
<div class="sender">
<div class="top">
<div class="name"><span class="iconfont icon-bianji"></span>发货人</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('SHIPPER') && openCompareOrder}"><span class="iconfont icon-bianji"></span>发货人</div>
<div class="right-btn" @click="reloadFun('shipper')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<div class="bottom">
@ -567,7 +569,7 @@
<a-form-model-item has-feedback prop="consignee" class="sender-label">
<div class="consignee">
<div class="top">
<div class="name"><span class="iconfont icon-bianji"></span>收货人</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('CONSIGNE') && openCompareOrder}"><span class="iconfont icon-bianji"></span>收货人</div>
<div class="right-btn" @click="reloadFun('consigne')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<div class="bottom">
@ -592,7 +594,7 @@
<a-form-model-item has-feedback prop="notifyParty" class="sender-label">
<div class="notifier">
<div class="top">
<div class="name"><span class="iconfont icon-bianji"></span>通知人</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('NOTIFYPARTY') && openCompareOrder}"><span class="iconfont icon-bianji"></span>通知人</div>
<div class="right-btn" @click="reloadFun('notifyParty')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<div class="bottom">
@ -626,7 +628,7 @@
prop="portLoadId"
>
<div slot="label" class="label-tit">
<div class="name">装货港代码</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('PORTLOADID') && openCompareOrder}">装货港代码</div>
<div class="right-btn" @click="reloadFun('portLoadId')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled v-model="taskSiDetail.portLoadId"></a-input>
@ -652,7 +654,7 @@
prop="portLoad"
>
<div slot="label" class="label-tit">
<div class="name">装货港</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('PORTLOAD') && openCompareOrder}">装货港</div>
<div class="right-btn" @click="reloadFun('portLoad')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled :allowClear="true" v-model="taskSiDetail.portLoad" />
@ -667,7 +669,7 @@
prop="transportId"
>
<div slot="label" class="label-tit">
<div class="name">中转港代码</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('TRANSPORTID') && openCompareOrder}">中转港代码</div>
<div class="right-btn" @click="reloadFun('transportId')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled v-model="taskSiDetail.transportId"></a-input>
@ -693,7 +695,7 @@
prop="transport"
>
<div slot="label" class="label-tit">
<div class="name">中转港</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('TRANSPORT') && openCompareOrder}">中转港</div>
<div class="right-btn" @click="reloadFun('transport')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled :allowClear="true" v-model="taskSiDetail.transport" />
@ -708,7 +710,7 @@
prop="portDischargeId"
>
<div slot="label" class="label-tit">
<div class="name">卸货港代码</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('PORTDISCHARGEID') && openCompareOrder}">卸货港代码</div>
<div class="right-btn" @click="reloadFun('portDischargeId')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled v-model="taskSiDetail.portDischargeId"></a-input>
@ -734,7 +736,7 @@
prop="portDischarge"
>
<div slot="label" class="label-tit">
<div class="name">卸货港</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('PORTDISCHARGE') && openCompareOrder}">卸货港</div>
<div class="right-btn" @click="reloadFun('portDischarge')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled :allowClear="true" v-model="taskSiDetail.portDischarge" />
@ -749,7 +751,7 @@
prop="destinationId"
>
<div slot="label" class="label-tit">
<div class="name">目的代码</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('DESTINATIONID') && openCompareOrder}">目的代码</div>
<div class="right-btn" @click="reloadFun('destinationId')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled v-model="taskSiDetail.destinationId"></a-input>
@ -775,7 +777,7 @@
prop="destination"
>
<div slot="label" class="label-tit">
<div class="name">目的地</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('DESTINATION') && openCompareOrder}">目的地</div>
<div class="right-btn" @click="reloadFun('destination')"><i class="iconfont icon-zhuanhuan" ></i>更新</div>
</div>
<a-input disabled :allowClear="true" v-model="taskSiDetail.destination" />
@ -790,7 +792,7 @@
prop="pkGs"
>
<div slot="label" class="label-tit">
<div class="name">件数</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('PKGS') && openCompareOrder}">件数</div>
<div class="right-btn" @click="reloadFun('pkGs')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled :allowClear="true" v-model="taskSiDetail.pkGs" type="number"/>
@ -805,7 +807,7 @@
prop="kindPKGs"
>
<div slot="label" class="label-tit">
<div class="name">包装</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('KINDPKGS') && openCompareOrder}">包装</div>
<div class="right-btn" @click="reloadFun('kindPKGs')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled v-model="taskSiDetail.kindPKGs"></a-input>
@ -831,7 +833,7 @@
prop="kGs"
>
<div slot="label" class="label-tit">
<div class="name">毛重</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('KGS') && openCompareOrder}">毛重</div>
<div class="right-btn" @click="reloadFun('kGs')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<div class="line-box">
@ -848,7 +850,7 @@
prop="cbm"
>
<div slot="label" class="label-tit">
<div class="name">尺寸</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('CBM') && openCompareOrder}">尺寸</div>
<div class="right-btn" @click="reloadFun('cbm')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<div class="line-box">
@ -862,7 +864,7 @@
:labelCol="labelCol"
:wrapperCol="wrapperCol">
<div slot="label" class="label-tit">
<div class="name">截单备注</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('SIREMARK') && openCompareOrder}">截单备注</div>
<div class="right-btn" @click="reloadFun('siRemark')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<!-- <div class="tit"><span class="iconfont icon-bianji"></span>截单备注</div> -->
@ -887,7 +889,7 @@
<a-row :gutter="20">
<a-col :span="8">
<div class="tit label-tit">
<div class="name">唛头</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('MARKS') && openCompareOrder}">唛头</div>
<div class="right-btn" @click="reloadFun('marks')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-form-model-item has-feedback prop="marks" class="textarea-label" label="" style="margin-bottom:0;">
@ -899,7 +901,7 @@
<a-col :span="16">
<div class="line">
<div class="left label-tit">
<div class="name">货物描述</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('DESCRIPTION') && openCompareOrder}">货物描述</div>
<div class="right-btn" @click="reloadFun('description')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
</div>
@ -938,7 +940,7 @@
prop="issueType"
>
<div slot="label" class="label-tit">
<div class="name">签单方式</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('ISSUETYPE') && openCompareOrder}">签单方式</div>
<div class="right-btn" @click="reloadFun('issueType')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled v-model="taskSiDetail.issueType"></a-input>
@ -965,10 +967,10 @@
prop="blfrt"
>
<div slot="label" class="label-tit">
<div class="name">付费方式</div>
<div class="right-btn" @click="reloadFun('issueType')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('BLFRT') && openCompareOrder}">付费方式</div>
<div class="right-btn" @click="reloadFun('blfrt')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled v-model="taskSiDetail.issueType"></a-input>
<a-input disabled v-model="taskSiDetail.blfrt"></a-input>
<!-- <auto-complete
:allowClear="true"
v-model="taskSiDetail.blfrt"
@ -990,7 +992,7 @@
prop="thirdPayAddr"
>
<div slot="label" class="label-tit">
<div class="name">第三付款地</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('thirdPayAddr') && openCompareOrder}">第三付款地</div>
<div class="right-btn" @click="reloadFun('thirdPayAddr')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled :allowClear="true" v-model="taskSiDetail.thirdPayAddr" />
@ -1005,7 +1007,7 @@
prop="service"
>
<div slot="label" class="label-tit">
<div class="name">运输条款</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('SERVICE') && openCompareOrder}">运输条款</div>
<div class="right-btn" @click="reloadFun('service')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled v-model="taskSiDetail.service"></a-input>
@ -1030,7 +1032,7 @@
prop="closeDocDate"
>
<div slot="label" class="label-tit">
<div class="name">截单时间</div>
<div class="name" :class="{'compare-order': siCompareOrderKeyList.includes('CLOSEDOCDATE') && openCompareOrder}">截单时间</div>
<div class="right-btn" @click="reloadFun('closeDocDate')"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</div>
<a-input disabled v-model="taskSiDetail.closeDocDate"></a-input>
@ -1050,12 +1052,12 @@
</a-collapse-panel>
</a-collapse>
<div class="base-tit-box">
<div class="base-tit"><i class="iconfont icon-electronic-signature"></i>箱信息</div>
<div class="base-tit" :class="{'compare-order': siCompareOrderKeyList.includes('CONTALIST') && openCompareOrder}"><i class="iconfont icon-electronic-signature"></i>箱信息</div>
</div>
<div class="box-table">
<a-table :columns="boxSiColumns" :data-source="taskSiDetail.contaList">
<span slot="seq" slot-scope="seq">{{ Number(seq) + 1 }}</span>
<div class="right-btn" slot="operate" slot-scope="seq"><i class="iconfont icon-zhuanhuan" @click="reloadboxFun('contaList', seq)"></i>更新</div>
<div class="right-btn" slot="operate" slot-scope="text, record" @click="reloadboxFun('contaList', record.seq)"><i class="iconfont icon-zhuanhuan"></i>更新</div>
</a-table>
</div>
</div>
@ -1306,6 +1308,8 @@ export default {
height: '30px',
lineHeight: '30px'
},
siCompareOrderKeyList: [],
openCompareOrder: false
}
},
computed: {
@ -1435,7 +1439,7 @@ export default {
item.seq = index
})
this.taskDetail = res.data
console.log(res)
console.log('基础信息', res)
} else {
this.$message.error(res.message)
}
@ -1449,11 +1453,13 @@ export default {
}).then(res => {
//
if (res.success) {
res.data.contaList.map((item, index) => {
let _data = { ...res.data.bookingOrder, ...res.data.busiInfo }
_data.contaList.map((item, index) => {
item.seq = index
})
this.taskSiDetail = res.data
console.log(res)
this.taskSiDetail = _data
console.log('si信息', res)
this.siCompareOrderKeyList = res.data.siCompareOrderKeyList
} else {
this.$message.error(res.message)
}
@ -1718,13 +1724,39 @@ export default {
reloadFun (type) {
console.log('type = ', type)
this.taskDetail[type] = this.taskSiDetail[type]
this.siCompareOrderKeyList.splice(this.siCompareOrderKeyList.indexOf(type.toUpperCase()), 1)
this.$forceUpdate()
},
reloadboxFun (type, index) {
this.taskDetail[type][index] = this.taskSiDetail[type][index]
console.log(index)
let data = this.taskDetail[type]
data[index] = this.taskSiDetail[type][index]
data.map((item, index) => {
item.seq = index
})
this.$set(this.taskDetail, type, [])
setTimeout(() => {
this.$set(this.taskDetail, type, data)
},300)
// this.taskDetail[type][index] = {}
// this.taskDetail[type][index] = this.taskSiDetail[type][index]
console.log(this.taskDetail[type])
this.$forceUpdate()
},
reloadSiAll () {
this.taskDetail = JSON.parse(JSON.stringify(this.taskSiDetail))
const arr = ['shipper', 'consigne', 'notifyParty', 'portLoadId', 'portLoad', 'transportId', 'transport', 'portDischargeId', 'portDischarge', 'destinationId', 'destination', 'pkGs', 'kindPKGs', 'kGs', 'cbm', 'siRemark', 'marks', 'description', 'issueType', 'blfrt', 'thirdPayAddr', 'service', 'closeDocDate']
arr.map((item, index) => {
this.reloadFun(item)
})
const data = this.taskSiDetail['contaList']
data.map((item, index) => {
item.seq = index
})
this.$set(this.taskDetail, 'contaList', [])
setTimeout(() => {
this.$set(this.taskDetail, 'contaList', data)
}, 300)
// this.taskDetail = JSON.parse(JSON.stringify(this.taskSiDetail))
},
//
completeTaskFun () {
@ -1865,6 +1897,8 @@ export default {
},
saveFun () {
debugger
// id
SaveBookingSI(this.taskDetail).then((res) => {
if (res.success) {
this.$message.success('保存成功')
@ -1874,6 +1908,10 @@ export default {
}).catch((err) => {
console.log(err)
})
},
compareOrder () {
this.openCompareOrder = !this.openCompareOrder
}
},
}
@ -2291,4 +2329,30 @@ export default {
}
.compare-order{
position: relative;
padding-left: 26px;
&::before{
position: absolute;
content: '!';
background: #FF6633;
width: 18px;
height: 18px;
border-radius: 50%;
top: 9px;left: 0;
color: #fff;
line-height: 18px;
text-align: center;
font-size: 14px;
font-weight: 600;
}
}
.cargo-info{
.compare-order{
&::before{
top:2px;
}
}
}
</style>

@ -286,6 +286,9 @@
<template #status="{ row }">
<span>{{ selectStatus(row.status) }}</span>
</template>
<template #taskType="{ row }">
<span>{{ filterType(row.taskType) }}</span>
</template>
<template #taskTitle="{ row }">
<span class="task-tit" @click="changePage(row)">{{ row.taskTitle }}</span>
</template>
@ -388,10 +391,9 @@ import {
LaraPaperCalc,
PrintBatch,
DownloadAttach,
DownloadOriginalTask,
LaraPaperRegist,
LaraPaperRegistPost
DownloadOriginalTask
} from '@/api/modular/main/TaskmanageList'
import { filterEmpty } from '@/components/_util/util'
export default {
name: 'TaskmanageList',
components: {
@ -607,6 +609,15 @@ export default {
},
getCurrentTotalStat() {
this.levelreLoading = true
this.levelLoading = true
this.levelTop = []
this.activeTopKey = ''
this.levelNextAll = []
this.levelNext = []
this.activeNextKey = ''
this.levelTreeAll = []
this.levelTree = []
this.activeTreeKey = ['0-0-0']
GetCurrentTotalStat({
isReCalc: false
})
@ -622,6 +633,8 @@ export default {
this.levelTreeAll = res.data.levelTree
this.levelTree = this.selectTreeLevel(this.levelTreeAll, this.activeNextKey, this.activeTopKey)
this.activeTreeKey = []
this.form.resetFields()
this.taskType = ''
this.init()
} else {
this.$message.error(res.message)
@ -749,7 +762,41 @@ export default {
changePage (data) {
//
console.log('跳转页面', data)
this.$router.push({ name: 'TaskmanageDetail', query: { taskPKId: data.pkId } })
debugger
if (data.taskType === 'VGM_COMPARE') {
// VGM
this.$router.push({ name: 'TaskVgmContrast', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'INVOICE_BILL_MAIL') {
//
this.$router.push({ name: 'VoyageBill', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'PER_BILL') {
//
this.$router.push({ name: 'singleTicket', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'CHANGE_SHIP') {
//
console.log('换船通知查看')
} else if (data.taskType === 'ABORT_CHANGE_SHIP') {
//
console.log('取消换船通知查看')
} else if (data.taskType === 'ORIGINAL_LOST') {
//
console.log('正本缺失查看')
} else if (data.taskType === 'SHIPPING_ORDER') {
//
this.$router.push({ name: 'BookingDetails', query: { taskPKId: data.pkId } })
} else if (data.taskType === 'SI_FEEDBACK') {
//
this.$router.push({ name: 'TaskmanageDetail', query: { taskPKId: data.pkId } })
} else {
//
this.$router.push({ name: 'BookingDetails', query: { taskPKId: data.pkId } })
}
},
filterType(val) {
const res = this.taskTypeList.filter((item, index) => {
return item.code === val
})
return res[0].name
},
cancelFun () {

@ -1,7 +1,7 @@
export default {
columns: [
{ type: 'checkbox', width: 60, noDraggable: true },
{ field: 'taskType', width: 150, title: '任务类型', showHeaderOverflow: true, sortable: true },
{ field: 'taskType', width: 150, title: '任务类型', showHeaderOverflow: true, sortable: true, slots: { default: 'taskType' } },
{ field: 'taskSource', width: 150, title: '任务来源', showHeaderOverflow: true, sortable: true },
{ field: 'status', width: 150, title: '任务状态', showHeaderOverflow: true, sortable: true, slots: { default: 'status' } },
{ field: 'taskTitle', width: 300, title: '任务标题', showHeaderOverflow: true, sortable: true, slots: { default: 'taskTitle' } },

Loading…
Cancel
Save