|
|
|
@ -335,6 +335,11 @@
|
|
|
|
|
type="redo" />
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template #gsd="{ row }">
|
|
|
|
|
<div class="goods-status">
|
|
|
|
|
<a-icon class="TablelstShipOrderCompareRltRedo" @click="handleFormatContrast(row)" type="redo" />
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template #goodsStatusList="{ row }">
|
|
|
|
|
<div class="goods-status">
|
|
|
|
|
<div class="goods-status-left">
|
|
|
|
@ -569,6 +574,94 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</a-modal>
|
|
|
|
|
<a-modal
|
|
|
|
|
:title="formatSheet.isExistsDiff ? '格式单比对(有差异)' : '格式单比对(正常)'"
|
|
|
|
|
@cancel="formatSheetVisible = false"
|
|
|
|
|
:visible="formatSheetVisible"
|
|
|
|
|
width="90%">
|
|
|
|
|
<template slot="footer">
|
|
|
|
|
<a-button key="back" @click="formatSheetVisible = false"> 关闭 </a-button>
|
|
|
|
|
</template>
|
|
|
|
|
<div style="display: flex;">
|
|
|
|
|
<div :style="{width:formatSheet.total>0 ? '55%' : '25%'}">
|
|
|
|
|
<div v-if="formatSheet.total>0">
|
|
|
|
|
<p class="TaskShippingOrderCompareP">
|
|
|
|
|
{{ formatSheet.compareTime }}
|
|
|
|
|
<span v-if="formatSheet.isExistsDiff">
|
|
|
|
|
比对异常 合计
|
|
|
|
|
<span class="TaskShippingOrderCompareSpan">{{ formatSheet.total }}</span>
|
|
|
|
|
条
|
|
|
|
|
</span>
|
|
|
|
|
</p>
|
|
|
|
|
<div class="TaskShippingOrderCompareMainBox" style="height: 600px;">
|
|
|
|
|
<div class="TaskShippingOrderCompareMain">
|
|
|
|
|
<div class="TaskShippingOrderCompareMainHeader">
|
|
|
|
|
<div>
|
|
|
|
|
<p>提单号:(本地数据)</p>
|
|
|
|
|
<div style="width: 100%;height: 1px;border-bottom: 1px dashed;margin: 5px 0;"></div>
|
|
|
|
|
<p>{{ formatSheet.mBlNo }}</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
v-for="(item, index) in formatSheet.showDetailList"
|
|
|
|
|
:key="index"
|
|
|
|
|
style="display: flex;margin-top: 15px;"
|
|
|
|
|
v-show="item.pCode != 'ContaList'">
|
|
|
|
|
<p style="padding-top: 4px;" v-if="item.msg">
|
|
|
|
|
<a-icon style="color: rgb(194,5,5);font-size: 18px;margin-right: 35px;" type="close-circle" theme="filled" />
|
|
|
|
|
</p>
|
|
|
|
|
<p v-if="item.isDiff" style="width: 100px;margin-right: 40px;">{{ item.fieldName }}:</p>
|
|
|
|
|
<div v-if="item.isDiff" style="width:60%">
|
|
|
|
|
<p style="margin-bottom: 15px;">{{ item.reqVal }}
|
|
|
|
|
<span style="margin-left: 10px;font-weight: bold;">(本地)</span>
|
|
|
|
|
</p>
|
|
|
|
|
<span v-html="item.mergeHtml"></span>
|
|
|
|
|
<span style="margin-left: 10px;font-weight: bold;">(格式单)</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="TaskShippingOrderCompareMain">
|
|
|
|
|
<div>
|
|
|
|
|
<div>
|
|
|
|
|
<p>箱信息:(本地数据)</p>
|
|
|
|
|
<div style="width: 100%;height: 1px;border-bottom: 1px dashed;margin: 5px 0;"></div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div
|
|
|
|
|
v-for="(item, index) in formatSheet.showDetailList"
|
|
|
|
|
:key="index"
|
|
|
|
|
v-show="item.pCode == 'ContaList'"
|
|
|
|
|
style="display: flex;margin-top: 15px;align-items: flex-start;"
|
|
|
|
|
>
|
|
|
|
|
<p style="padding-top: 4px;" v-if="item.msg">
|
|
|
|
|
<a-icon style="color: rgb(194,5,5);font-size: 18px;margin-right: 35px;" type="close-circle" theme="filled" />
|
|
|
|
|
</p>
|
|
|
|
|
<p v-if="item.isDiff" style="width: 100px;margin-right: 40px;">{{ item.fieldName }}:</p>
|
|
|
|
|
<div v-if="item.isDiff" style="width:60%">
|
|
|
|
|
<p style="margin-bottom: 15px;">{{ item.reqVal }}
|
|
|
|
|
<span style="margin-left: 10px;font-weight: bold;">(本地)</span>
|
|
|
|
|
</p>
|
|
|
|
|
<span v-html="item.mergeHtml"></span>
|
|
|
|
|
<span style="margin-left: 10px;font-weight: bold;">(格式单)</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else style="display: flex;align-items: flex-start;">
|
|
|
|
|
<a-icon style="color: rgb(82,196,26);font-size: 50px;margin-top: 5px;" type="check-circle" theme="filled" />
|
|
|
|
|
<div style="margin-left: 20px;">
|
|
|
|
|
<div style="font-weight: bold;font-size: 22px;">格式单比对(正常)</div>
|
|
|
|
|
<div style="font-weight: bold;">提单号:{{ formatSheet.mBlNo }}</div>
|
|
|
|
|
<div style="font-weight: bold;">{{ formatSheet.compareTime }}</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<a-spin class="padUrl" style="width: 100%;min-height: 600px;" :spinning="pdfLoading">
|
|
|
|
|
<iframe style="width: 100%;height: 100%;" :src="formatPdf" frameborder="0"></iframe>
|
|
|
|
|
</a-spin>
|
|
|
|
|
</div>
|
|
|
|
|
</a-modal>
|
|
|
|
|
<a-modal :maskClosable="false" :width="1700" :visible="addVisible" @ok="addSubmit" @cancel="addCancel">
|
|
|
|
|
<a-radio-group class="group-label-box" v-model="carrierRadio">
|
|
|
|
|
<p v-if="RecentlyCarrierData.length" class="Awrapper">最近使用 <span class="line"></span></p>
|
|
|
|
@ -604,12 +697,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
</a-modal>
|
|
|
|
|
|
|
|
|
|
<a-modal
|
|
|
|
|
title="小票状态查询"
|
|
|
|
|
:width="600"
|
|
|
|
|
:visible="txxpFlag"
|
|
|
|
|
:footer="null"
|
|
|
|
|
@cancel="txxpFlag = false">
|
|
|
|
|
<a-modal title="小票状态查询" :width="600" :visible="txxpFlag" :footer="null" @cancel="txxpFlag = false">
|
|
|
|
|
<div>
|
|
|
|
|
<p>提箱小票未申请:{{ txxpForm.noApply }}</p>
|
|
|
|
|
<p>提箱小票已申请未打印:{{ txxpForm.applyNoPrint }}</p>
|
|
|
|
@ -932,7 +1020,9 @@ import {
|
|
|
|
|
refreshSailingDate,
|
|
|
|
|
RefreshBillTrace,
|
|
|
|
|
SaveDataInList,
|
|
|
|
|
SaveBookingTxxp
|
|
|
|
|
SaveBookingTxxp,
|
|
|
|
|
GetDraftCompareResultInfo,
|
|
|
|
|
BookingOrderDownload
|
|
|
|
|
} from '@/api/modular/main/BookingLedger'
|
|
|
|
|
|
|
|
|
|
import initData from './modules/initData'
|
|
|
|
@ -962,6 +1052,7 @@ export default {
|
|
|
|
|
spinning: false,
|
|
|
|
|
isUpload: false,
|
|
|
|
|
markFlag: false,
|
|
|
|
|
pdfLoading: false,
|
|
|
|
|
marktitle: '',
|
|
|
|
|
refshYZloading: false,
|
|
|
|
|
nowFirst: false,
|
|
|
|
@ -973,6 +1064,10 @@ export default {
|
|
|
|
|
TaskShippingOrderCompareData: {
|
|
|
|
|
showDetailList: ''
|
|
|
|
|
},
|
|
|
|
|
formatSheet: {
|
|
|
|
|
showDetailList: ''
|
|
|
|
|
},
|
|
|
|
|
formatSheetVisible: false,
|
|
|
|
|
txxpForm: {},
|
|
|
|
|
ResetType: true,
|
|
|
|
|
tstyle: { 'padding-bottom': '0px', 'margin-bottom': '10px' },
|
|
|
|
@ -1056,7 +1151,8 @@ export default {
|
|
|
|
|
bcFileFlag: false,
|
|
|
|
|
bcObj: {},
|
|
|
|
|
txxpLoading: false,
|
|
|
|
|
txxpFlag: false
|
|
|
|
|
txxpFlag: false,
|
|
|
|
|
formatPdf: ''
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
computed: {
|
|
|
|
@ -2352,6 +2448,38 @@ export default {
|
|
|
|
|
moreNumCancel() {
|
|
|
|
|
this.moreNumVisible = false
|
|
|
|
|
},
|
|
|
|
|
handleFormatContrast(row) {
|
|
|
|
|
this.spinning = true
|
|
|
|
|
this.pdfUrl = ''
|
|
|
|
|
GetDraftCompareResultInfo({ bookingid: row.id }).then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
if (!res.data.succ) {
|
|
|
|
|
this.spinning = false
|
|
|
|
|
this.$message.success(res.data.msg)
|
|
|
|
|
} else {
|
|
|
|
|
if (res.data.extra) {
|
|
|
|
|
this.formatSheet = res.data.extra
|
|
|
|
|
this.formatSheet.total = res.data.total
|
|
|
|
|
this.formatSheetVisible = true
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.success(res.data.msg)
|
|
|
|
|
}
|
|
|
|
|
this.spinning = false
|
|
|
|
|
if (res.data.extra3) {
|
|
|
|
|
this.pdfLoading = true
|
|
|
|
|
BookingOrderDownload({ id: res.data.extra3 }).then(res => {
|
|
|
|
|
this.pdfUrl = window.URL.createObjectURL(new Blob([res], { type: 'application/pdf;charset=utf-8' }))
|
|
|
|
|
this.formatPdf = this.pdfUrl
|
|
|
|
|
this.pdfLoading = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
this.spinning = false
|
|
|
|
|
this.$message.error(res.data.msg)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
tableSortChange(e) {
|
|
|
|
|
const { property, order } = e
|
|
|
|
|
this.tableOrderLabel = property || ''
|
|
|
|
@ -3611,7 +3739,9 @@ export default {
|
|
|
|
|
font-size: 100px;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/deep/ .padUrl .ant-spin-container{
|
|
|
|
|
height: 100%;
|
|
|
|
|
}
|
|
|
|
|
/deep/ .content-table .vxe-body--column .vxe-cell div {
|
|
|
|
|
color: #000;
|
|
|
|
|
}
|
|
|
|
|