修改bug

master
sunzehua 6 months ago
parent b37e3d0cde
commit e66d702523

@ -1617,4 +1617,12 @@ export function ImportBookingCurst(parameter) {
method: 'post',
data: parameter
})
}
export function GetTraceFlowInfo(parameter) {
return axios({
url: '/EmbedTraceProduct/GetTraceFlowInfo',
method: 'post',
data: parameter
})
}

@ -5,7 +5,11 @@ import { message, Modal, notification } from 'ant-design-vue' /// es/notificatio
import { VueAxios } from './axios'
import { ACCESS_TOKEN, X_ACCESS_TOKEN } from '@/store/mutation-types'
const iframArr = ['/EmbedProjectGoodsStatus/GetServiceProjectList', '/EmbedProjectGoodsStatus/GetServiceStatusList',
'/EmbedProjectGoodsStatus/CancelServiceProject', '/EmbedProjectGoodsStatus/SaveServiceProject', '/EmbedProjectGoodsStatus/SaveServiceStatus', '/EmbedProjectGoodsStatus/CancelServiceStatus']
'/EmbedProjectGoodsStatus/CancelServiceProject', '/EmbedTraceProduct/GetTraceFlowInfo',
'/EmbedProjectGoodsStatus/SaveServiceProject',
'/EmbedProjectGoodsStatus/SaveServiceStatus',
'/EmbedProjectGoodsStatus/CancelServiceStatus'
]
// 创建 axios 实例ACCESS_TOKEN
const service = axios.create({
// baseURL: '/api', // api base_url

@ -1,6 +1,6 @@
<template>
<div>
<a-card :bodyStyle="tstyle" :bordered="false">
<div class="service">
<!-- <a-card :bodyStyle="tstyle" :bordered="false">
<div class="title"><i class="iconfont icon-fuwu"></i><span>服务项目</span></div>
<a-spin :spinning="seriveLoading">
<div class="content">
@ -32,24 +32,115 @@
<p v-if="serive.actRemark">{{ serive.actRemark }}</p>
<p v-if="serive.actVal">{{ serive.actVal }}</p>
</template>
<div v-if="!serive.isBr" class="goods-box">
<div class="goods-content" :class="{ active: serive.isYield }" @click="saveGoodsStatus(serive)">
<a-icon v-if="serive.isYield" class="serve-icon" type="check-circle" theme="filled" />
<div v-else class="round"></div>
<div class="showName">{{ serive.showName }}</div>
</div>
<div class="box-line" v-if="changeGoods && !serive.isEnd" :class="{ active: serive.isYield }"></div>
<div class="box-edit" @click.stop="FnOpenEdit(serive)"><a-icon type="edit" /></div>
</div>
</a-tooltip>
<div v-if="!serive.isBr" class="goods-box">
<div class="goods-content" :class="{ active: serive.isYield }" @click="saveGoodsStatus(serive)">
<a-icon v-if="serive.isYield" class="serve-icon" type="check-circle" theme="filled" />
<div v-else class="round"></div>
<div class="showName">{{ serive.showName }}</div>
</div>
<div class="box-line" v-if="changeGoods && !serive.isEnd" :class="{ active: serive.isYield }"></div>
<div class="box-edit" @click.stop="FnOpenEdit(serive)"><a-icon type="edit" /></div>
</div>
</a-tooltip>
</div>
</div>
</div>
</a-spin>
</a-card> -->
<a-spin :spinning="flowLoad">
<div class="list-box">
<div class="list-box-title">
<span>提单号{{ flowData.blNo }}</span>
<span style="display: flex;align-items: center;">
<img src="./u1041.svg" alt=""> 起运港:{{ flowData.routingInfoList ? flowData.routingInfoList[0].loading : '-' }}
<a-icon style="margin: 0 15px;" type="swap-right" />
<img src="./u1041.svg" alt=""> 目的港{{ flowData.routingInfoList ? flowData.routingInfoList[0].discharging : '-' }}</span>
<span style="cursor: pointer;color: blue;" @click="handleDetail"><a-icon
type="appstore"
theme="filled" /></span>
</div>
<div class="list-box-content">
<div class="content-left">
<div>{{ flowData.carrier }}</div>
<div>订阅港区CNTAO</div>
<div>船名{{ flowData.vslNameEn }}</div>
<div>航次{{ flowData.voy }}</div>
</div>
<div class="content-right">
<div
class="conent-item"
:class="{ 'active': item.active, 'isEnd': item.isEnd }"
v-for="(item, index) in timeData"
:key="index">
<div class="line" v-if="index !== 0"></div>
<div class="cont-box">
<div class="item-top">{{ item.name }}</div>
<a-icon class="icon" type="check-circle" theme="filled" />
<div class="item-bottom">{{ item.text }}</div>
<div class="item-time">{{ item.time }}</div>
</div>
</div>
</div>
</div>
</a-spin>
</a-card>
<div>
</div>
</div>
<div class="main-box" v-if="showFlag">
<div class="box-left">
<div
class="box-tab"
@click="handleClick(index)"
:class="{ 'isActive': item.isActive }"
v-for="(item, index) in flowData.containerInfoList"
:key="index">
<div style="font-size: 15px;font-weight: bold;color: black">{{ item.containerNo }}</div>
<div style="font-size: 12px;color: #666;margin: 5px 0;">{{ item.size }}</div>
<div style="font-size: 12px;color: green;">开船:{{ item.currentNodeTime }}</div>
</div>
</div>
<div class="box-right">
<div>
<!-- <a-row>
<a-col :span="6">铅封号M/CN50000001</a-col>
<a-col :span="6">VGMM/CN50000001</a-col>
<a-col :span="6">VGM接收时间-</a-col>
<a-col :span="6">配载Y</a-col>
</a-row>
<a-table
style="margin: 15px 0;margin-bottom: 30px;"
:pagination="false"
bordered
size="small"
:data-source="data">
<a-table-column key="name" title="报关单号" data-index="name"></a-table-column>
<a-table-column key="name1" title="件数" data-index="name1"></a-table-column>
<a-table-column key="name2" title="毛重" data-index="name2"></a-table-column>
<a-table-column key="name3" title="体积" data-index="name3"></a-table-column>
<a-table-column key="name4" title="船公司操作" data-index="name4"></a-table-column>
</a-table> -->
</div>
<div class="box-right-title">
<span style="width: 150px">动态</span>
<span style="width: 200px">时间</span>
<span style="width: 200px;margin-right: 30px;">地点</span>
<span style="width: 200px">船名航次</span>
</div>
<div class="box-item" :class="{ 'isActive': item.isActive }" v-for="(item, index) in timeList" :key="index">
<div class="box-time">
<div class="time-line" :style="{ background: index == 0 ? 'none' : '' }"></div>
<div class="time-circular"></div>
<div class="time-line" :style="{ background: index == timeList.length - 1 ? 'none' : '' }"></div>
</div>
<div style="display: flex;align-items: center;padding: 15px 0;">
<div style="width: 150px;">{{ item.statusDescription }}</div>
<div style="width: 200px;">{{ item.statusTime }} <span class="tag"></span> </div>
<div style="width: 200px;word-wrap: break-word;margin-right: 30px;">{{ item.statusPlace }}</div>
<div style="width: 200px;">{{ item.voy ? item.voy : '-' }}/{{ item.vslName ? item.vslName : '-' }}</div>
</div>
</div>
</div>
</div>
</a-spin>
<a-modal v-model="GoodsStatusVisible" width="600px" title="编辑" @ok="GoodsStatusHandleOk">
<a-spin :spinning="goodStatusLoading">
<a-form :form="StatusVisibleForm">
@ -88,7 +179,8 @@ import {
CancelServiceProjectIfram,
SaveServiceProjectIfram,
SaveServiceStatusIfram,
CancelServiceStatusIfram
CancelServiceStatusIfram,
GetTraceFlowInfo
} from '@/api/modular/main/BookingLedger'
export default {
data() {
@ -96,12 +188,48 @@ export default {
seriveLoading: false,
bookingServiceItem: [],
changeGoods: true,
flowLoad: true,
showFlag: false,
flowData: {},
GoodsStatusVisible: false,
GoodsStatusEditData: {},
StatusVisibleForm: this.$form.createForm(this),
goodStatusLoading: false,
booGoodsStatusItem: [],
delayTime: 500,
timeData: [
],
boxList: [
{
name: 'SLEU0000001',
type: '20GP',
text: '开航,2024-02-20 14:00',
isActive: true
},
{
name: 'SLEU0000002',
type: '20GP',
text: '开航,2024-02-20 14:00',
isActive: false
},
{
name: 'SLEU0000003',
type: '20GP',
text: '开航,2024-02-20 14:00',
isActive: false
}
],
timeList: [
],
data: [{
name: '测试111',
name1: '测试111',
name2: '测试111',
name3: '测试111',
name4: '测试111'
}],
time: null,
labelCol: {
xs: { span: 24 },
@ -128,9 +256,10 @@ export default {
},
created() {
// console.log(this.$route)
// this.USER_KEY = this.$route.query.USER_KEY
// this.businessId = this.$route.query.businessId
// this.USER_SECRET = this.$route.query.USER_SECRET
this.USER_KEY = this.$route.query.USER_KEY
this.businessId = this.$route.query.businessId
this.USER_SECRET = this.$route.query.USER_SECRET
this.getFlowInfo()
// this.getServiceItemList(1)
// this.getStatusServiceList(1)
},
@ -142,8 +271,8 @@ export default {
this.USER_KEY = this.$route.query.USER_KEY
this.businessId = this.$route.query.businessId
this.USER_SECRET = this.$route.query.USER_SECRET
this.getServiceItemList(1)
this.getStatusServiceList(1)
// this.getServiceItemList(1)
// this.getStatusServiceList(1)
}
}
}
@ -204,6 +333,38 @@ export default {
})
}
},
handleDetail() {
this.showFlag = true
this.timeList = this.flowData.containerInfoList[0].containerStatusInfoList
this.$$forceUpdate()
},
handleClick(index) {
this.boxList.forEach(item => {
item.isActive = false
})
this.boxList[index].isActive = true
this.timeList = this.flowData.containerInfoList[index].containerStatusInfoList
this.$$forceUpdate()
},
getFlowInfo() {
const data = {
billNo: '237065744',
carrier: 'MSK',
ctnNo: '',
isAllCtn: true,
USER_KEY: '731e2d42af0f4209a8edccfcae20d7c4',
USER_SECRET: 'c513dff9ac617fd064ada5f3ccdbd6a1bde59e7c7ffe29e9dc225c49a0904a1535f7bf3d97bc2ff4'
}
this.flowLoad = true
GetTraceFlowInfo(data).then(res => {
if (res.success) {
this.flowData = res.data.resultData
} else {
this.$message.error(res.message)
}
this.flowLoad = false
})
},
GoodsStatusHandleOk() {
const {
StatusVisibleForm: { validateFields }
@ -490,3 +651,232 @@ export default {
border: 1px dashed #d5cbcb;
}
</style>
<style lang="less" scoped>
.tag{
display: inline-block;
margin-left: 10px;
color: rgb(26, 184, 26);
text-align: center;
line-height: 20px;
background: rgb(227,252,248);
font-size: 12px;
height: 20px;
width: 20px;
}
.service {
background: rgb(234, 242, 255);
padding-top: 50px;
min-height: 100vh;
}
.list-box {
background: white;
width: 1300px;
margin: 0 auto;
color: #17181a;
font-weight: 400;
.list-box-title {
padding: 10px;
font-size: 13px;
border-bottom: 1px solid rgb(168, 177, 192);
display: flex;
align-items: center;
justify-content: space-between;
img {
margin-right: 5px;
}
}
.list-box-content {
padding: 10px;
display: flex;
align-items: center;
padding-bottom: 70px;
.content-left {
margin-right: 70px;
}
.content-right {
display: flex;
align-content: center;
.cont-box {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.conent-item {
display: flex;
align-items: center;
position: relative;
&.active {
.item-top {
font-weight: bold;
color: black;
}
.icon {
color: rgb(66, 102, 246);
}
.item-bottom {
color: black;
}
.line {
background: rgb(66, 102, 246);
}
}
&.isEnd {
.item-top {
font-weight: bold;
color: rgb(255, 141, 26);
}
.item-time {
color: rgb(255, 141, 26);
}
.icon {
color: rgb(255, 141, 26);
}
.item-bottom {
font-weight: bold;
color: rgb(255, 141, 26);
}
.line {
color: rgb(66, 102, 246);
}
}
.item-time {
word-wrap: break-word;
width: 80px;
position: absolute;
bottom: -48px;
text-align: center;
}
.item-top {
color: #c0bebe;
margin-bottom: 10px;
}
.icon {
height: 20px;
width: 20px;
color: #c0bebe;
}
.item-bottom {
color: #c0bebe;
margin-top: 10px;
font-size: 12px;
}
.line {
width: 50px;
height: 2px;
background: #c0bebe;
}
}
}
}
}
.main-box {
background: white;
width: 1300px;
margin: 0 auto;
margin-top: 50px;
display: flex;
.box-left {
width: 20%;
}
.box-tab {
background: rgb(217, 222, 252);
border-left: 2px solid rgb(255, 87, 51);
margin-bottom: 3px;
padding: 15px 0;
padding-left: 10px;
cursor: pointer;
&.isActive {
background: white;
}
}
.box-right {
padding-top: 20px;
margin-left: 70px;
width: 80%;
padding-right: 150px;
color: #17181a;
font-weight: 400;
padding-bottom: 30px;
.box-right-title {
text-align: left;
padding-left: 25px;
padding-bottom: 8px;
border-bottom: 1px solid rgb(235, 238, 245);
span {
display: inline-block;
}
}
.box-item {
border-bottom: 1px solid rgb(235, 238, 245);
display: flex;
color: #737780;
font-weight: 400;
&.isActive {
color: #17181a;
font-weight: 400;
.time-line {
background: rgb(66, 102, 246);
}
.time-circular {
border: 3px solid rgb(66, 102, 246);
}
}
}
.box-time {
width: 20px;
display: flex;
margin-right: 5px;
flex-direction: column;
align-items: center;
}
.time-line {
width: 2px;
height: calc(50% - 5px);
background: rgb(201, 203, 209);
}
.time-circular {
width: 10px;
height: 10px;
border: 3px solid rgb(201, 203, 209);
border-radius: 50%;
}
}
}
</style>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<svg version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" width="14px" height="14px" xmlns="http://www.w3.org/2000/svg">
<g transform="matrix(1 0 0 1 -8 -10 )">
<path d="M 7.351562499999999 2.372747747747747 C 7.450520833333334 2.272897897897897 7.500000000000002 2.154654654654654 7.5 2.018018018018018 C 7.500000000000002 1.8813813813813798 7.450520833333334 1.7631381381381366 7.351562499999999 1.663288288288288 C 7.252604166666667 1.5634384384384379 7.135416666666667 1.5135135135135136 7 1.5135135135135136 C 6.864583333333334 1.5135135135135136 6.747395833333334 1.5634384384384379 6.6484375 1.663288288288288 C 6.549479166666667 1.7631381381381366 6.5 1.8813813813813798 6.5 2.018018018018018 C 6.5 2.154654654654654 6.549479166666667 2.272897897897897 6.6484375 2.372747747747747 C 6.747395833333334 2.472597597597596 6.864583333333334 2.5225225225225234 7 2.5225225225225234 C 7.135416666666667 2.5225225225225234 7.252604166666667 2.472597597597596 7.351562499999999 2.372747747747747 Z M 13.9296875 9.152027027027028 C 13.9765625 9.199324324324323 14 9.25975975975976 14 9.333333333333334 L 14 12.108108108108109 C 14 12.223723723723724 13.947916666666668 12.302552552552552 13.84375 12.344594594594595 C 13.802083333333336 12.355105105105105 13.770833333333336 12.36036036036036 13.75 12.36036036036036 C 13.6875 12.36036036036036 13.627604166666668 12.336711711711711 13.5703125 12.289414414414415 L 12.84375 11.556306306306308 C 12.223958333333334 12.307807807807807 11.39453125 12.902965465465465 10.35546875 13.34177927927928 C 9.31640625 13.780593093093094 8.197916666666668 14 7 14 C 5.802083333333334 14 4.68359375 13.780593093093094 3.64453125 13.34177927927928 C 2.60546875 12.902965465465465 1.776041666666667 12.307807807807807 1.15625 11.556306306306308 L 0.4296875 12.289414414414415 C 0.3828125 12.336711711711711 0.3229166666666667 12.36036036036036 0.25 12.36036036036036 C 0.22916666666666669 12.36036036036036 0.19791666666666669 12.355105105105105 0.15625 12.344594594594595 C 0.05208333333333333 12.302552552552552 0 12.223723723723724 0 12.108108108108109 L 0 9.333333333333334 C 0 9.25975975975976 0.0234375 9.199324324324323 0.0703125 9.152027027027028 C 0.11718750000000003 9.10472972972973 0.17708333333333334 9.08108108108108 0.25 9.08108108108108 L 3 9.08108108108108 C 3.1145833333333335 9.08108108108108 3.1927083333333335 9.133633633633634 3.234375 9.23873873873874 C 3.276041666666667 9.338588588588587 3.2578125 9.430555555555555 3.1796875 9.51463963963964 L 2.3984375 10.302927927927929 C 2.7473958333333335 10.781156156156158 3.240885416666667 11.184496996996996 3.87890625 11.51295045045045 C 4.516927083333334 11.841403903903904 5.223958333333334 12.058183183183182 6 12.163288288288289 L 6 7.063063063063062 L 4.5 7.063063063063062 C 4.364583333333334 7.063063063063062 4.247395833333334 7.013138138138138 4.1484375 6.913288288288288 C 4.049479166666667 6.813438438438438 4 6.695195195195195 4 6.558558558558558 L 4 5.549549549549549 C 4 5.412912912912911 4.049479166666667 5.294669669669668 4.1484375 5.194819819819819 C 4.247395833333334 5.094969969969969 4.364583333333334 5.045045045045045 4.5 5.045045045045045 L 6 5.045045045045045 L 6 3.760135135135134 C 5.697916666666667 3.5814564564564555 5.455729166666667 3.3384009009009006 5.2734375 3.030968468468469 C 5.091145833333334 2.7235360360360366 5 2.3858858858858856 5 2.018018018018018 C 5 1.460960960960961 5.1953125 0.98536036036036 5.5859375 0.591216216216216 C 5.9765625 0.197072072072072 6.447916666666667 0 7 0 C 7.552083333333334 0 8.0234375 0.197072072072072 8.4140625 0.591216216216216 C 8.8046875 0.98536036036036 9 1.460960960960961 9 2.018018018018018 C 9 2.3858858858858856 8.908854166666668 2.7235360360360366 8.7265625 3.030968468468469 C 8.544270833333334 3.3384009009009006 8.302083333333334 3.5814564564564555 8 3.760135135135134 L 8 5.045045045045045 L 9.5 5.045045045045045 C 9.635416666666668 5.045045045045045 9.752604166666668 5.094969969969969 9.8515625 5.194819819819819 C 9.950520833333334 5.294669669669668 10 5.412912912912911 10 5.549549549549549 L 10 6.558558558558558 C 10 6.695195195195195 9.950520833333334 6.813438438438438 9.8515625 6.913288288288288 C 9.752604166666668 7.013138138138138 9.635416666666668 7.063063063063062 9.5 7.063063063063062 L 8 7.063063063063062 L 8 12.163288288288289 C 8.776041666666668 12.058183183183182 9.483072916666668 11.841403903903904 10.12109375 11.51295045045045 C 10.759114583333334 11.184496996996996 11.252604166666668 10.781156156156158 11.6015625 10.302927927927929 L 10.8203125 9.51463963963964 C 10.7421875 9.430555555555555 10.723958333333334 9.338588588588587 10.765625 9.23873873873874 C 10.807291666666668 9.133633633633634 10.885416666666668 9.08108108108108 11 9.08108108108108 L 13.75 9.08108108108108 C 13.822916666666668 9.08108108108108 13.8828125 9.10472972972973 13.9296875 9.152027027027028 Z " fill-rule="nonzero" fill="#02a7f0" stroke="none" transform="matrix(1 0 0 1 8 10 )" />
</g>
</svg>

@ -128,6 +128,7 @@
<template #bsstatusname="{ row }">
<span @click="handleOpenStatus(row)" v-if="row.bsstatus == ''" style="cursor: pointer;font-weight:bold;color: orange" > {{ row.bsstatus }}</span>
<span @click="handleOpenStatus(row)" v-if="row.bsstatus == ''" style="cursor: pointer;font-weight:bold;color: green" > {{ row.bsstatus }}</span>
<span @click="handleOpenStatus(row)" v-if="row.bsstatus == ''" style="cursor: pointer;font-weight:bold;color: red" > {{ row.bsstatus }}</span>
</template>
<template #vessel="{ row }">
<div class="vessel">{{ row.vessel }}</div>

@ -443,6 +443,7 @@ export default {
}
},
getSelectFirst(e, canClick = true) {
console.log(e)
if (canClick) {
this.$refs.selectView.$refs.vcSelect.$refs.arrow.click()
} else {
@ -503,8 +504,6 @@ export default {
if (this.searchApi === 'RelaPortLoadForwarderList' && !this.value) {
this.selectList = []
}
if (e === undefined) {
console.log('首次搜索内容', e, this.type, this.bookingInitData)
if (this.type === 'forwarder') {
this.inLoading = true
this.selectList = []
@ -576,7 +575,6 @@ export default {
}
this.inLoading = false
})
}
},
handleSearch(e) {

@ -194,37 +194,19 @@
resizable
round
ref="table"
border
:span-method="spanMethod"
:columns="columns"
:loading="loading"
@cell-dblclick="handledbclick"
@sort-change="tableSortChange"
@resizable-change="resizableChange"
:expand-config="{visibleMethod: expandVisibleMethod}"
@checkbox-change="checkboxChangeEvent"
:height="tableHeight"
empty-text="没有更多数据了!">
<template #vessel="{ row }">
<span>{{ row.vessel }}/{{ row.voyno }}</span>
</template>
<template #sloT_BOOKING_NO="{ row }">
<span>{{ row.sloT_BOOKING_NO }}</span>
</template>
<template #slotcontent="{ row, rowIndex }">
<vxe-table
align="center"
border
size="small"
style="margin-left: 100px;"
:data="row.bookingSlotSaleInfoList">
<vxe-column width="100" field="customername" title="委托单位" ></vxe-column>
<vxe-column width="100" field="custservice" title="客服" ></vxe-column>
<vxe-column width="100" field="sale" title="销售" ></vxe-column>
<vxe-column width="100" field="shipper" title="SHIPPER" ></vxe-column>
<vxe-column width="100" field="goodsname" title="品名" ></vxe-column>
<vxe-column width="100" field="sellinG_PRICE" title="卖价" ></vxe-column>
<vxe-column width="100" field="salE_TIME" title="销售日期" ></vxe-column>
</vxe-table>
</template>
<template #caozuo="{ row }">
<a-icon type="form" style="cursor: pointer;" @click="handleEdit(row.id)" :style="{ color: '#13c2c2' }" />
<a-popconfirm
@ -305,7 +287,7 @@ export default {
TypeData: [],
// /
advanced: false,
tableHeight:0,
tableHeight: 0,
expandConfig: {
labelField: 'sloT_BOOKING_NO'
},
@ -356,9 +338,7 @@ export default {
title: '订舱编号',
align: 'center',
width: '160',
type: 'expand',
field: 'sloT_BOOKING_NO',
slots: { default: 'sloT_BOOKING_NO', content: 'slotcontent' }
field: 'sloT_BOOKING_NO'
},
{
title: '船名/航次',
@ -414,6 +394,48 @@ export default {
field: 'iS_CANCELLATION',
slots: { default: 'iS_CANCELLATION' }
},
{
title: '委托单位',
align: 'center',
width: '100',
field: 'customername'
},
{
title: '客服',
align: 'center',
width: '100',
field: 'custservice'
},
{
title: '销售',
align: 'center',
width: '100',
field: 'sale'
},
{
title: 'SHIPPER',
align: 'center',
width: '100',
field: 'shipper'
},
{
title: '品名',
align: 'center',
width: '100',
field: 'goodsname'
},
{
title: '卖价',
align: 'center',
width: '100',
field: 'sellinG_PRICE'
},
{
title: '销售日期',
align: 'center',
width: '100',
field: 'salE_TIME'
},
{
title: '装货地',
align: 'center',
@ -602,9 +624,7 @@ export default {
title: '订舱编号',
align: 'center',
width: '160',
type: 'expand',
field: 'sloT_BOOKING_NO',
slots: { default: 'sloT_BOOKING_NO', content: 'slotcontent' }
field: 'sloT_BOOKING_NO'
},
{
title: '船名/航次',
@ -915,6 +935,26 @@ export default {
}
})
},
spanMethod({ row, _rowIndex, column, visibleData }) {
const arr = ['salE_TIME', 'sellinG_PRICE', 'goodsname', 'shipper', 'sale', 'custservice', 'customername']
const fields = [];
const cellValue = row[column.property];
if ((cellValue && !arr.includes(column.property)) || column.type === 'checkbox') {
const prevRow = visibleData[_rowIndex - 1];
let nextRow = visibleData[_rowIndex + 1];
if (prevRow && prevRow.id === row.id) {
return { rowspan: 0, colspan: 0 };
} else {
let countRowspan = 1;
while (nextRow && nextRow.id === row.id) {
nextRow = visibleData[++countRowspan + _rowIndex];
}
if (countRowspan > 1) {
return { rowspan: countRowspan, colspan: 1 };
}
}
}
},
handleOpenSlot(row) {
this.$refs.generation.init(row)
},
@ -959,7 +999,23 @@ export default {
}
BookingSlotPage(this.form).then(res => {
if (res.success) {
this.loadData = res.data.rows
const arr = res.data.rows
for (let i = arr.length - 1; i >= 0; i--) {
if (arr[i].bookingSlotSaleInfoList && arr[i].bookingSlotSaleInfoList.length > 0) {
console.log(arr[i])
arr[i].bookingSlotSaleInfoList.forEach(ite => {
const data = JSON.parse(JSON.stringify(arr[i]))
delete data.bookingSlotSaleInfoList
arr.push({
...ite, ...data
})
})
arr.splice(i, 1)
}
}
this.loadData = arr
console.log(arr)
this.queryParam.PageNo = res.data.pageNo
this.queryParam.pageSize = res.data.pageSize
this.queryParam.totalCount = res.data.totalRows

@ -100,13 +100,11 @@
<a-row>
<a-col :span="8">
<a-form-model-item class="strong" label="起运时间">
<a-input-number
<a-input
placeholder="当前加几天"
style="width: 100%"
:min="0"
size="small"
v-model="form.startDay"
:precision="0" />
v-model="form.startDay" />
</a-form-model-item>
</a-col>
<a-col :span="8">

Loading…
Cancel
Save