修改问题

master
sunzehua 1 year ago
parent d2ce094d0e
commit 6cc1af301d

@ -1159,3 +1159,11 @@ export function ReadAutoYardImport (parameter) {
params: parameter
})
}
export function GetDraftCompareResultInfo (parameter) {
return axios({
url: '/TaskDraftCompare/GetDraftCompareResultInfo',
method: 'post',
params: parameter
})
}

@ -1819,7 +1819,7 @@ export default {
const data = JSON.parse(res.data)
const addTable = []
const cntrnoArr = []
const kindpkgsOld = ''
const kindpkgsOld = this.tableData[0] ? this.tableData[0].kindpkgs : ''
this.tableData = []
const lastNum = this.tableData.length > 0 ? Number(this.tableData[this.tableData.length - 1].rowKey) + 1 : 0
data.map((item, index) => {

@ -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;
}

@ -428,6 +428,14 @@ export default {
showHeaderOverflow: true,
slots: { default: 'lstShipOrderCompareRlt' }
},
{
field: 'gsd',
label: 'gsd',
minWidth: 92,
title: '格式单比对',
showHeaderOverflow: true,
slots: { default: 'gsd' }
},
{
field: 'zhanCangFlag',
label: 'ZHANCANGFLAG',

Loading…
Cancel
Save