|
|
|
@ -1,240 +1,15 @@
|
|
|
|
|
<template>
|
|
|
|
|
<div class="ds-sea-export-table">
|
|
|
|
|
<BasicTable class="ds-table" @register="registerTable" @row-dbClick="handledbclick">
|
|
|
|
|
<template #tableTitle>
|
|
|
|
|
<div>
|
|
|
|
|
<TableActionBar :selectRow="getSelectRows" :reload="reload">
|
|
|
|
|
<tableActionBarRight :selectRow="getSelectRows" :reload="reload"></tableActionBarRight>
|
|
|
|
|
<Divider type="vertical" style="margin-top: 11px; background-color: #CED5D9;" />
|
|
|
|
|
</TableActionBar>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-slot:bodyCell="{ column, record }">
|
|
|
|
|
<!-- 订单状态 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'businessStatusName'">
|
|
|
|
|
<span v-if="record.businessStatusName == '已提交'" class="TIJIAO">{{ record.businessStatusName }}</span>
|
|
|
|
|
<span v-else-if="record.businessStatusName == '已审单'" class="YSDAN">{{ record.businessStatusName }}</span>
|
|
|
|
|
<span v-else-if="record.businessStatusName == '已放单'" class="YFD">{{ record.businessStatusName }}</span>
|
|
|
|
|
<span v-else-if="record.businessStatusName == '已放舱'" class="YFC">{{ record.businessStatusName }}</span>
|
|
|
|
|
<span v-else-if="record.businessStatusName == '已收到BC'" class="YSDBC">{{ record.businessStatusName }}</span>
|
|
|
|
|
<span v-else-if="record.businessStatusName == '已订舱'" class="YDC">{{ record.businessStatusName }}</span>
|
|
|
|
|
<span v-else class="WTJ">{{ record.businessStatusName || '未提交' }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 委托编号 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'customerNo'">
|
|
|
|
|
<div class="customerNo">
|
|
|
|
|
<span v-if="record.customerNo" @click="FnCopy(record.customerNo)" class="iconfont icon-fuzhi3"></span>
|
|
|
|
|
<span>{{ record.customerNo }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 应收费用 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'arFeeStatus'">
|
|
|
|
|
<span v-if="record.arFeeStatus == 0" class="ds-green-tag">
|
|
|
|
|
{{ record.arFeeStatusName }}</span>
|
|
|
|
|
<span v-else-if="record.arFeeStatus == 1" class="ds-blue-tag">{{
|
|
|
|
|
record.arFeeStatusName
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else-if="/^2|3|4|5|6$/.test(record.arFeeStatus)" class="ds-orange-tag">{{
|
|
|
|
|
record.arFeeStatusName
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else-if="/^7|8$/.test(record.arFeeStatus)" class="ds-red-tag">{{
|
|
|
|
|
record.arFeeStatusName
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else class="ds-purple-tag">{{ record.arFeeStatusName }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 应付费用 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'apFeeStatus'">
|
|
|
|
|
<span v-if="record.apFeeStatus == 0" class="ds-green-tag">{{
|
|
|
|
|
record.apFeeStatusName
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else-if="record.apFeeStatus == 1" class="ds-blue-tag">{{
|
|
|
|
|
record.apFeeStatusName
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else-if="/^2|3|4|5|6$/.test(record.apFeeStatus)" class="ds-orange-tag">{{
|
|
|
|
|
record.apFeeStatusName
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else-if="/^7|8$/.test(record.apFeeStatus)" class="ds-red-tag">{{
|
|
|
|
|
record.apFeeStatusName
|
|
|
|
|
}}</span>
|
|
|
|
|
<span v-else class="ds-purple-tag">{{ record.apFeeStatusName }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 主题单号 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'mblno'">
|
|
|
|
|
<div class="mblno">
|
|
|
|
|
<span v-if="record.mblno" @click="FnCopy(record.mblno)" class="iconfont icon-fuzhi3"></span>
|
|
|
|
|
<!-- <span @click="editColumns(record.mblno)">{{ record.mblno }}</span> -->
|
|
|
|
|
<span>{{ record.mblno }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 应收开票 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'arInvoiceStatus'">
|
|
|
|
|
<a-tooltip>
|
|
|
|
|
<template #title>{{ record.arInvoiceStatusName }}</template>
|
|
|
|
|
<i v-if="record.arInvoiceStatus == 2" class="iconfont icon-bingtu3"></i>
|
|
|
|
|
<i v-else-if="record.arInvoiceStatus == 1" class="iconfont icon-duihao1"></i>
|
|
|
|
|
<i v-else class="iconfont icon-chahao"></i>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 应付开票 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'apInvoiceStatus'">
|
|
|
|
|
<a-tooltip>
|
|
|
|
|
<template #title>{{ record.apInvoiceStatusName }}</template>
|
|
|
|
|
<i v-if="record.apInvoiceStatus == 2" class="iconfont icon-bingtu3"></i>
|
|
|
|
|
<i v-else-if="record.apInvoiceStatus == 1" class="iconfont icon-duihao1"></i>
|
|
|
|
|
<i v-else class="iconfont icon-chahao"></i>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 应收对账 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'arCheckStatus'">
|
|
|
|
|
<a-tooltip>
|
|
|
|
|
<template #title>{{ record.arCheckStatusName }}</template>
|
|
|
|
|
<i v-if="record.arCheckStatus == 2" class="iconfont icon-bingtu3"></i>
|
|
|
|
|
<i v-else-if="record.arCheckStatus == 1" class="iconfont icon-duihao1"></i>
|
|
|
|
|
<i v-else class="iconfont icon-chahao"></i>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 业务锁定 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'isBusinessLocking'">
|
|
|
|
|
<span v-if="record.isBusinessLocking">
|
|
|
|
|
<i class="iconfont icon-locksuo"></i>
|
|
|
|
|
</span>
|
|
|
|
|
<span v-else> <i class="iconfont icon-a-jiesuo1_jiesuo"></i> </span>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 费用锁定 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'isFeeLocking'">
|
|
|
|
|
<span v-if="record.isFeeLocking">
|
|
|
|
|
<i class="iconfont icon-locksuo"></i>
|
|
|
|
|
</span>
|
|
|
|
|
<span v-else> <i class="iconfont icon-a-jiesuo1_jiesuo"></i> </span>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 运踪 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'bookStatus'">
|
|
|
|
|
<div>
|
|
|
|
|
<span @click="checkBookStatus(record.id)" style="cursor: pointer; color: rgb(7, 231, 56);" class="iconfont icon-refresh-1-copy"></span>
|
|
|
|
|
<span v-for="(item, index) in record.bookingStatus" :key="item.id">
|
|
|
|
|
<a-tooltip placement="top" v-if="item.statusTime">
|
|
|
|
|
<template #title>{{ item.statusTime }}</template>
|
|
|
|
|
<span @click="handleGetWebDataYZ(record, item.statusCode)" :class="{ yzActive: item.isChecked }">
|
|
|
|
|
{{ item.statusName }}
|
|
|
|
|
</span>
|
|
|
|
|
</a-tooltip>
|
|
|
|
|
<span style="cursor: pointer" @click="handleGetWebDataYZ(record, record.statusCode)"
|
|
|
|
|
:class="{ active: item.isChecked }" v-else>{{ item.statusName }}</span>
|
|
|
|
|
<span v-if="index != record.bookingStatus?.length - 1">-</span>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 提箱返场 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'statusLog'">
|
|
|
|
|
<div v-if="record.statusLog" class="txfc">
|
|
|
|
|
<div v-if="record.statusLog.length > 0">
|
|
|
|
|
<div class="billtrace-btn1 txfc" style="display: flex; align-items: center">
|
|
|
|
|
<i style="cursor: pointer; color: rgb(7, 231, 56); margin-right: 5px" @click="handleRefshYard(record.id)"
|
|
|
|
|
class="iconfont icon-refresh-1-copy"></i>
|
|
|
|
|
<a-popover trigger="click">
|
|
|
|
|
<template #content>
|
|
|
|
|
<div>
|
|
|
|
|
<span class="txfcSpan" style="width: 120px">箱号</span>
|
|
|
|
|
<span @click="handleGetWebData(record, 'YARD')" class="txfcSpan">提箱</span>
|
|
|
|
|
<span @click="handleGetWebData(record, 'YARD')" class="txfcSpan">返场</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-for="(item, index) in record.statusLog" :key="index">
|
|
|
|
|
<span class="txfcSpan" style="width: 120px">{{ item.cntrno }}</span>
|
|
|
|
|
<span class="txfcSpan">{{ item.txOpTime }}</span>
|
|
|
|
|
<span class="txfcSpan">{{ item.fcOpTime }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<span @click="handleGetWebData(record, 'YARD')" :class="{ active: record.statusLog[0].txOpTime }">
|
|
|
|
|
提箱
|
|
|
|
|
</span>
|
|
|
|
|
<span @click="handleGetWebData(record, 'YARD')" :class="{ active: record.statusLog[0].fcOpTime }">
|
|
|
|
|
返场
|
|
|
|
|
</span>
|
|
|
|
|
</a-popover>
|
|
|
|
|
<span style="margin-left: 5px">未提:{{ record.txOpNumber }}/{{ record.statusLog.length }}</span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 格式单比对 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'lstDraftCompareRlt'">
|
|
|
|
|
<div class="goods-status">
|
|
|
|
|
<a-popover>
|
|
|
|
|
<template #content>
|
|
|
|
|
<p>
|
|
|
|
|
比对时间: <span>{{ record.lstDraftCompareDate }}</span>
|
|
|
|
|
</p>
|
|
|
|
|
</template>
|
|
|
|
|
<div>
|
|
|
|
|
<div v-if="record.lstDraftCompareRlt == 'DIFF'">
|
|
|
|
|
<i class="icon-shibai iconfont compareIcon" style="color: red;"></i>
|
|
|
|
|
</div>
|
|
|
|
|
<div v-else-if="record.lstDraftCompareRlt == 'NO DIFF'">
|
|
|
|
|
<i class="icon-chenggong iconfont compareIcon" style="color: green;"></i>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</a-popover>
|
|
|
|
|
<i v-if="record.lstDraftCompareRlt" title="查看比对结果" style="margin-left: 10px"
|
|
|
|
|
@click="handleFormatContrast(record)" class="icon-shiyongwendang iconfont compareIcon"></i>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<!-- 下货纸比对 -->
|
|
|
|
|
<template v-if="column.dataIndex == 'lstShipOrderCompareRlt'">
|
|
|
|
|
<div class="goods-status">
|
|
|
|
|
<RedoOutlined style="margin-left: 10px" @click="excuteShippingOrderCompareBatch(record)" />
|
|
|
|
|
<a-popover>
|
|
|
|
|
<template #content>
|
|
|
|
|
<p>
|
|
|
|
|
比对方式:
|
|
|
|
|
<span>{{
|
|
|
|
|
record.lstShipOrderCompareMode
|
|
|
|
|
? record.lstShipOrderCompareMode == 'MANUAL'
|
|
|
|
|
? '手动'
|
|
|
|
|
: '自动'
|
|
|
|
|
: ''
|
|
|
|
|
}}</span>
|
|
|
|
|
<span>-{{ record.lstShipOrderCompareRltName }}</span>
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
比对时间: <span>{{ record.lstShipOrderCompareDate }}</span>
|
|
|
|
|
</p>
|
|
|
|
|
</template>
|
|
|
|
|
<div style="cursor: pointer" @click="handleOpenResult(record)">
|
|
|
|
|
<div v-if="record.lstShipOrderCompareRlt == 'DIFF'">
|
|
|
|
|
<CloseCircleFilled :style="{ color: 'red' }" />
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="record.lstShipOrderCompareRlt == 'NO_DIFF'">
|
|
|
|
|
<CheckCircleFilled :style="{ color: '#54bc25' }" />
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="record.lstShipOrderCompareRlt == 'BEFORE_EQUAL'">
|
|
|
|
|
<CheckCircleFilled :style="{ color: 'rgb(187,37,155)' }" />
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="record.lstShipOrderCompareRlt == 'BEFORE_DIFF'">
|
|
|
|
|
<CloseCircleFilled :style="{ color: 'red' }" />
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="record.lstShipOrderCompareRlt == 'NO_DIFF_U'">
|
|
|
|
|
<CheckCircleFilled :style="{ color: '#54bc25' }" />
|
|
|
|
|
</div>
|
|
|
|
|
<div v-if="record.lstShipOrderCompareRlt == 'DIFF_U'">
|
|
|
|
|
<CloseCircleFilled :style="{ color: 'red' }" />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</a-popover>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<template v-if="column.key === 'action'">
|
|
|
|
|
<TableAction :actions="[
|
|
|
|
|
{
|
|
|
|
|
icon: 'clarity:note-edit-line',
|
|
|
|
|
tooltip: '编辑',
|
|
|
|
|
onClick: () => {
|
|
|
|
|
handledbclick(record)
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
]" />
|
|
|
|
|
</template>
|
|
|
|
|
</template>
|
|
|
|
|
</BasicTable>
|
|
|
|
|
<vxe-table
|
|
|
|
|
:data="tableData">
|
|
|
|
|
<vxe-column
|
|
|
|
|
v-for="item in columns"
|
|
|
|
|
:key="item.dataIndex"
|
|
|
|
|
:width="item.width"
|
|
|
|
|
:type="item.dataIndex"
|
|
|
|
|
>
|
|
|
|
|
</vxe-column>
|
|
|
|
|
</vxe-table>
|
|
|
|
|
<!-- 合计 -->
|
|
|
|
|
<div class="static-box">
|
|
|
|
|
<h5 v-if="calcData.length" style="position: absolute; bottom: 68px; left: 22px">合计</h5>
|
|
|
|
|