Commit 2bb0f0fc authored by dragondean@qq.com's avatar dragondean@qq.com

Merge branch 'release'

# Conflicts:
#	src/views/ecw/box/shippingSea/nodePage/cabinet/splitOrder.vue
#	src/views/ecw/financial/creatCollection.vue
#	src/views/ecw/order/splitApply.vue
parents 08b6cfdb 7338569c
...@@ -46,11 +46,20 @@ export default { ...@@ -46,11 +46,20 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.flex-between{
display: flex;
justify-content: space-between;
}
.empty-placeholder{ .empty-placeholder{
padding: 50px; padding: 50px;
text-align: center; text-align: center;
} }
$sizes: 0, 10,20,30,50,100,150,200,300,500,800,1000; /*给el-input-number一个紧凑的样式*/
.el-input-number.is-controls-right.tight .el-input__inner{
padding-right: 30px;
padding-left: 5px;
}
$sizes: 0, 10,20,30,50,75,100,150,200,300,500,800,1000;
@for $i from 1 through length($sizes){ @for $i from 1 through length($sizes){
$item: nth($sizes, $i); $item: nth($sizes, $i);
.ml-#{$item}{ .ml-#{$item}{
......
...@@ -343,3 +343,10 @@ export function updateUrl(data) { ...@@ -343,3 +343,10 @@ export function updateUrl(data) {
data, data,
}); });
} }
export function dealCustomsSplitNotify(notifyId){
return request({
url: `/shipment/box/dealCustomsSplitNotify?notifyId=${notifyId}`,
method: "get",
})
}
...@@ -48,7 +48,9 @@ export function getCustomerPage(query) { ...@@ -48,7 +48,9 @@ export function getCustomerPage(query) {
return request({ return request({
url: '/ecw/customer/page', url: '/ecw/customer/page',
method: 'get', method: 'get',
params: query params: query,
timeout: 60000
}) })
} }
/** /**
......
...@@ -25,7 +25,8 @@ export function getCustomerPage(query) { ...@@ -25,7 +25,8 @@ export function getCustomerPage(query) {
return request({ return request({
url: '/ecw/indirect-customer/page', url: '/ecw/indirect-customer/page',
method: 'get', method: 'get',
params: query params: query,
timeout: 30000
}) })
} }
...@@ -53,4 +54,4 @@ export function deleteIndirectCustomer(id) { ...@@ -53,4 +54,4 @@ export function deleteIndirectCustomer(id) {
url: '/ecw/indirect-customer/delete?id=' + id, url: '/ecw/indirect-customer/delete?id=' + id,
method: 'delete' method: 'delete'
}) })
} }
\ No newline at end of file
...@@ -52,6 +52,8 @@ export default { ...@@ -52,6 +52,8 @@ export default {
this.list.unshift(res.data) this.list.unshift(res.data)
this.index = 0 this.index = 0
}) })
}else{
this.index = index
} }
}, },
remoteMethod(keyword){ remoteMethod(keyword){
...@@ -61,6 +63,9 @@ export default { ...@@ -61,6 +63,9 @@ export default {
getCustomerSelect(params) getCustomerSelect(params)
.then(res => this.list = res.data.list) .then(res => this.list = res.data.list)
.finally(() => this.loading = false) .finally(() => this.loading = false)
},
reset(){
this.index=null
} }
} }
} }
......
...@@ -79,7 +79,9 @@ export default { ...@@ -79,7 +79,9 @@ export default {
if(index < 0){ if(index < 0){
getProduct(this.value).then(res => { getProduct(this.value).then(res => {
this.list.unshift(res.data) this.list.unshift(res.data)
this.index = 0 this.$nextTick(() => {
this.index = 0
})
}) })
}else this.index = index }else this.index = index
}, },
......
...@@ -142,7 +142,8 @@ export default { ...@@ -142,7 +142,8 @@ export default {
if (f.selected) result.push({ if (f.selected) result.push({
orderId: this.orderId, orderId: this.orderId,
wareId: f.pid, wareId: f.pid,
areaId: f.id areaId: f.id,
locationName: f.code
}) })
else { else {
f.positionList?.forEach(g => { f.positionList?.forEach(g => {
...@@ -151,7 +152,8 @@ export default { ...@@ -151,7 +152,8 @@ export default {
orderId: this.orderId, orderId: this.orderId,
wareId: g.domainId, wareId: g.domainId,
areaId: g.areaId, areaId: g.areaId,
locationId: g.id locationId: g.id,
locationName: f.code + g.code
}) })
else g.children?.forEach(k => { else g.children?.forEach(k => {
// 子位置 // 子位置
...@@ -159,7 +161,8 @@ export default { ...@@ -159,7 +161,8 @@ export default {
orderId: this.orderId, orderId: this.orderId,
wareId: k.domainId, wareId: k.domainId,
areaId: k.areaId, areaId: k.areaId,
locationId: k.id locationId: k.id,
locationName: f.code + k.code
}) })
}) })
}) })
...@@ -285,7 +288,10 @@ export default { ...@@ -285,7 +288,10 @@ export default {
}, },
// 用于储位回显选中 // 用于储位回显选中
isSelected(warehouse, area, position = 0){ isSelected(warehouse, area, position = 0){
return !!this.value.find(e => warehouse === e.wareId && area === e.areaId && (position === e.locationId || undefined === e.locationId)) return !!this.value.find(e => {
// 最后一个条件不能用!e.locationId来判断,会导致选择了没有locationId的全部被选中,上次改这里忘记什么原因了,下次复现再来调整
return warehouse === e.wareId && area === e.areaId && (position === e.locationId || e.locationId == undefined)
})
}, },
} }
} }
......
...@@ -94,10 +94,14 @@ export default { ...@@ -94,10 +94,14 @@ export default {
} }
}, },
created() { created() {
// 未避免频繁内存溢出,减少请求记录感染,开发的时候不轮询消息
if(process.env.NODE_ENV != 'development'){
setInterval(() => {
this.updateMessage()
}, 10000)
}
this.updateMessage() this.updateMessage()
setInterval(() => {
this.updateMessage()
}, 10000)
}, },
components: { components: {
Breadcrumb, Breadcrumb,
......
...@@ -281,6 +281,11 @@ export default { ...@@ -281,6 +281,11 @@ export default {
component: "BoxSplitDetail", component: "BoxSplitDetail",
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
}, },
// 退场拆单,跟出货装柜拆单一样
exit_split: {
component: "BoxSplitDetail",
id: this.processInstance.businessKey,
},
merge_detail: { merge_detail: {
component: "MergeDetail", component: "MergeDetail",
id: this.processInstance.businessKey, id: this.processInstance.businessKey,
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('流程编号')" prop="processId"> <el-form-item :label="$t('流程编号')" prop="instanceId">
<el-input v-model="queryParams.instanceId" :placeholder="$t('请输入流程编号')" clearable/> <el-input v-model="queryParams.instanceId" :placeholder="$t('请输入流程编号')" clearable/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('流程名称')" prop="processName"> <el-form-item :label="$t('流程名称')" prop="processName">
<el-input v-model="queryParams.processName" :placeholder="$t('请输入任务名称')" clearable/> <el-input v-model="queryParams.processName" :placeholder="$t('请输入任务名称')" clearable/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('流程分类')" prop="processName"> <el-form-item :label="$t('流程分类')" prop="categoryId">
<el-select v-model="queryParams.categoryId" :placeholder="$t('请选择流程分类')" clearable> <el-select v-model="queryParams.categoryId" :placeholder="$t('请选择流程分类')" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)" <el-option v-for="dict in this.getDictDatas(DICT_TYPE.BPM_MODEL_CATEGORY)"
:key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/> :key="dict.value" :label="$l(dict, 'label')" :value="dict.value"/>
......
...@@ -198,7 +198,7 @@ import { ...@@ -198,7 +198,7 @@ import {
getbox, getbox,
getboxPage, getboxPage,
exportboxExcel, exportboxExcel,
getNoticeList, getNoticeList, dealCustomsSplitNotify,
} from "@/api/ecw/box"; } from "@/api/ecw/box";
import { import {
downloadFile, downloadFile,
...@@ -426,7 +426,7 @@ export default { ...@@ -426,7 +426,7 @@ export default {
} }
}, },
/** 查看按钮操作 */ /** 查看按钮操作 */
handleCommand(row, command) { async handleCommand(row, command) {
this.$set(this.dialogCfg, "fullscreen", false); this.$set(this.dialogCfg, "fullscreen", false);
switch (command) { switch (command) {
...@@ -513,6 +513,9 @@ export default { ...@@ -513,6 +513,9 @@ export default {
if ([5, 6, 7].includes(noticeType)) { if ([5, 6, 7].includes(noticeType)) {
this.$router.push("/boxSea/query/" + row.id); this.$router.push("/boxSea/query/" + row.id);
} }
if([9].includes(noticeType)){
await dealCustomsSplitNotify(row.notifyId)
}
this.closeDialog(); this.closeDialog();
break; break;
} }
......
...@@ -264,6 +264,7 @@ export default { ...@@ -264,6 +264,7 @@ export default {
}, },
methods: { methods: {
getCustomsOrderList(dcCustomsType) { getCustomsOrderList(dcCustomsType) {
if(dcCustomsType) dcCustomsType = ''
customsOrderList({ customsOrderList({
shipmentId: this.shipmentObj.id, shipmentId: this.shipmentObj.id,
customsTypes: dcCustomsType === "3" ? "2,3" : dcCustomsType, customsTypes: dcCustomsType === "3" ? "2,3" : dcCustomsType,
......
...@@ -796,7 +796,7 @@ export default { ...@@ -796,7 +796,7 @@ export default {
}, },
/* 获取参数 */ /* 获取参数 */
getParams() { getParams() {
const { rucangtime = [] } = this.queryParams; let rucangtime = this.queryParams.rucangtime?this.queryParams.rucangtime:[]
return { return {
...this.queryParams, ...this.queryParams,
...this.$attrs.params, ...this.$attrs.params,
......
...@@ -178,7 +178,7 @@ export default { ...@@ -178,7 +178,7 @@ export default {
list.push({ list.push({
...oItem, ...oItem,
warehouseInInfo, warehouseInInfo,
multiSpecification: item.multiSpecification, multiSpecification: oItem.multiSpecification,
positionNo: oItem.positionNo, positionNo: oItem.positionNo,
tallyStatus: item.tallyStatus, tallyStatus: item.tallyStatus,
tallyTime: item.tallyTime, tallyTime: item.tallyTime,
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
> >
<span style="margin-right:20px"><span style="color: #ff4949;">*</span>{{$t('客户')}}</span> <span style="margin-right:20px"><span style="color: #ff4949;">*</span>{{$t('客户')}}</span>
<customer-selector <customer-selector
ref="customer"
v-model="form.customerId" v-model="form.customerId"
@change="customerChange" @change="customerChange"
/> />
...@@ -762,6 +763,7 @@ export default { ...@@ -762,6 +763,7 @@ export default {
codePage: { codePage: {
pageNo: 1, pageNo: 1,
pageSize: 100 pageSize: 100
}, },
pages:1 pages:1
}; };
...@@ -772,10 +774,11 @@ export default { ...@@ -772,10 +774,11 @@ export default {
this.id = this.$route.query.id; this.id = this.$route.query.id;
this.getReceivableData() this.getReceivableData()
} }
console.log(this.$route.query.receiptId) if (this.$route.query.receiptId && this.$route.query.receiptId != 0) {
if (this.$route.query.receiptId && this.$route.query.receiptId !== '0') {
this.receiptId = this.$route.query.receiptId; this.receiptId = this.$route.query.receiptId;
this.getReceivableInfo() this.getReceivableInfo()
}else{
this.removeData()
} }
}, },
directives: { directives: {
...@@ -907,8 +910,8 @@ export default { ...@@ -907,8 +910,8 @@ export default {
setTimeout(() => { setTimeout(() => {
getBankAccountPage(this.codePage).then(res => { getBankAccountPage(this.codePage).then(res => {
this.codeLoading = false this.codeLoading = false
this.pages = res.data.pages
this.bankData = this.bankData.concat(res.data.list) this.bankData = this.bankData.concat(res.data.list)
this.pages = (res.data.total/this.codePage.pageSize)+1
}) })
}, 200) }, 200)
}, },
...@@ -1223,7 +1226,7 @@ export default { ...@@ -1223,7 +1226,7 @@ export default {
return NP.divide(this.currencyList.find(v => v.titleEn === 'NGN').huilv, 100).toFixed(6) return NP.divide(this.currencyList.find(v => v.titleEn === 'NGN').huilv, 100).toFixed(6)
}, },
customerChange(value) { customerChange(value) {
if (this.flag) { if (this.flag||!value) {
this.flag = false this.flag = false
return return
} }
...@@ -1492,6 +1495,19 @@ export default { ...@@ -1492,6 +1495,19 @@ export default {
this.queryParams.page = 1; this.queryParams.page = 1;
this.getList() this.getList()
}, },
//清空数据
removeData(){
console.log(this.form)
this.$refs.customer.reset()
this.list = []
for(var i in this.form){
if(i=='receiptAccountList'){
this.$set(this.form,i,[])
}else{
this.$set(this.form,i,'')
}
}
}
}, },
}; };
</script> </script>
......
...@@ -46,35 +46,51 @@ ...@@ -46,35 +46,51 @@
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" /> <dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('体积')"> <el-table-column :label="$t('入仓体积')">
<template slot-scope="{row}">{{row.volume}}</template> <template slot-scope="{row}">{{row.volume}}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('重量')"> <el-table-column :label="$t('收费体积')">
<template slot-scope="{row}">{{row.chargeVolume}}</template>
</el-table-column>
<el-table-column :label="$t('入仓重量')">
<template slot-scope="{row}">{{row.weight}}kg</template> <template slot-scope="{row}">{{row.weight}}kg</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('收费重量')">
<template slot-scope="{row}">{{row.chargeWeight}}kg</template>
</el-table-column>
<el-table-column :label="$t('箱数')"> <el-table-column :label="$t('箱数')">
<template slot-scope="{row}">{{row.num}}</template> <template slot-scope="{row}">
<el-button type="text" @click="showWarehouseRecord(row)">{{row.num}}</el-button>
</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('数量')"> <el-table-column :label="$t('数量')">
<template slot-scope="{row}">{{row.quantity}}</template> <template slot-scope="{row}">{{row.quantity}}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('货值')">
<template slot-scope="{row}">{{row.worth}}{{$t('')}}</template>
</el-table-column>
</el-table> </el-table>
</template> </template>
<warehouse-record v-if="currentWarehouseRecord" :list="currentWarehouseRecord" append-to-body @close="currentWarehouseRecord=null"></warehouse-record>
</div> </div>
</template> </template>
<script> <script>
import {getOrder} from '@/api/ecw/order' import {getOrder} from '@/api/ecw/order'
import {getBoxApproval} from '@/api/ecw/box' import {getBoxApproval} from '@/api/ecw/box'
import {getChannel} from '@/api/ecw/channel' import {getChannel} from '@/api/ecw/channel'
import WarehouseRecord from "@/views/ecw/order/splitApply/components/WarehouseRecord";
export default { export default {
props:{ components: {WarehouseRecord},
props:{
id: [String, Number] id: [String, Number]
}, },
data(){ data(){
return { return {
detail: null, detail: null,
order: null, order: null,
channel: null channel: null,
// 查看入仓记录的条目
currentWarehouseRecord: null
} }
}, },
watch:{ watch:{
...@@ -110,6 +126,12 @@ export default { ...@@ -110,6 +126,12 @@ export default {
getChannel(this.order.channelId).then(res => { getChannel(this.order.channelId).then(res => {
this.channel = res.data this.channel = res.data
}) })
},
showWarehouseRecord(row){
if(!row.specsRecordVOList){
return this.$message.info(this.$t('暂无入仓记录'))
}
this.currentWarehouseRecord = row.specsRecordVOList
} }
} }
} }
...@@ -122,4 +144,4 @@ export default { ...@@ -122,4 +144,4 @@ export default {
font-weight: bold; font-weight: bold;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -46,31 +46,45 @@ ...@@ -46,31 +46,45 @@
<dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.feeType" /> <dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.feeType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('体积')"> <el-table-column :label="$t('入仓体积')">
<template slot-scope="{row}">{{row.volume}}</template> <template slot-scope="{row}">{{row.volume}}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('重量')"> <el-table-column :label="$t('收费体积')">
<template slot-scope="{row}">{{row.weight}}kg</template> <template slot-scope="{row}">{{row.chargeVolume}}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('箱数')"> <el-table-column :label="$t('入仓重量')">
<template slot-scope="{row}">{{row.num}}</template> <template slot-scope="{row}">{{row.weight}}kg</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('数量')"> <el-table-column :label="$t('收费重量')">
<template slot-scope="{row}">{{row.quantity}}</template> <template slot-scope="{row}">{{row.chargeWeight}}kg</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('备注')"> <el-table-column :label="$t('箱数')">
<template slot-scope="{row}">{{row.remark}}</template> <template slot-scope="{row}">
</el-table-column> <el-button type="text" @click="showWarehouseRecord(row)">{{row.num}}</el-button>
</template>
</el-table-column>
<el-table-column :label="$t('数量')">
<template slot-scope="{row}">{{row.quantity}}</template>
</el-table-column>
<el-table-column :label="$t('货值')">
<template slot-scope="{row}">{{row.worth}}{{$t('')}}</template>
</el-table-column>
<el-table-column :label="$t('备注')">
<template slot-scope="{row}">{{row.remark}}</template>
</el-table-column>
</el-table> </el-table>
</template> </template>
<warehouse-record v-if="currentWarehouseRecord" :list="currentWarehouseRecord" append-to-body @close="currentWarehouseRecord=null"></warehouse-record>
</div> </div>
</template> </template>
<script> <script>
import {getApproval, getOrder} from '@/api/ecw/order' import {getApproval, getOrder} from '@/api/ecw/order'
import {getChannel} from '@/api/ecw/channel' import {getChannel} from '@/api/ecw/channel'
import {getSplitList} from '@/api/ecw/orderHandle' import {getSplitList} from '@/api/ecw/orderHandle'
import WarehouseRecord from "@/views/ecw/order/splitApply/components/WarehouseRecord";
export default { export default {
props:{ components: {WarehouseRecord},
props:{
id: [String, Number] id: [String, Number]
}, },
data(){ data(){
...@@ -78,7 +92,9 @@ export default { ...@@ -78,7 +92,9 @@ export default {
detail: null, detail: null,
order: null, order: null,
channel: null, channel: null,
orderSplitBackVOList: [] // orderSplitBackVOList: [],
// 查看入仓记录的条目
currentWarehouseRecord: null
} }
}, },
watch:{ watch:{
...@@ -86,7 +102,7 @@ export default { ...@@ -86,7 +102,7 @@ export default {
this.getData() this.getData()
}, },
detail(){ detail(){
this.getSplit() // this.getSplit()
this.getOrder() this.getOrder()
}, },
order(){ order(){
...@@ -95,6 +111,11 @@ export default { ...@@ -95,6 +111,11 @@ export default {
} }
} }
}, },
computed:{
orderSplitBackVOList(){
return this.detail ? this.detail.orderSplitBackVOList : []
}
},
created(){ created(){
if(this.id){ if(this.id){
this.getData() this.getData()
...@@ -106,12 +127,12 @@ export default { ...@@ -106,12 +127,12 @@ export default {
this.detail = JSON.parse(res.data.details) this.detail = JSON.parse(res.data.details)
}) })
}, },
getSplit(){ /*getSplit(){
getSplitList({orderId: this.detail.orderId, lang: this.$i18n.locale.toLowerCase().indexOf('zh') > -1 ? 0 : 1 }).then(res => { getSplitList({orderId: this.detail.orderId, lang: this.$i18n.locale.toLowerCase().indexOf('zh') > -1 ? 0 : 1 }).then(res => {
console.log('getSplitList', res) console.log('getSplitList', res)
this.orderSplitBackVOList = res.data.orderSplitBackVOList this.orderSplitBackVOList = res.data.orderSplitBackVOList
}) })
}, },*/
getOrder(){ getOrder(){
getOrder(this.detail.orderId).then(res => { getOrder(this.detail.orderId).then(res => {
this.order = res.data this.order = res.data
...@@ -121,7 +142,13 @@ export default { ...@@ -121,7 +142,13 @@ export default {
getChannel(this.order.channelId).then(res => { getChannel(this.order.channelId).then(res => {
this.channel = res.data this.channel = res.data
}) })
},
showWarehouseRecord(row){
if(!row.specsRecordVOList){
return this.$message.info(this.$t('暂无入仓记录'))
} }
this.currentWarehouseRecord = row.specsRecordVOList
}
} }
} }
</script> </script>
...@@ -133,4 +160,4 @@ export default { ...@@ -133,4 +160,4 @@ export default {
font-weight: bold; font-weight: bold;
} }
} }
</style> </style>
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div> <div>
<el-descriptions class="margin-top" border :column="4"> <el-descriptions class="margin-top" border :column="4">
<el-descriptions-item :label="$t('唛头')">{{details.marks}}</el-descriptions-item> <el-descriptions-item :label="$t('唛头')">{{details.marks}}</el-descriptions-item>
<el-descriptions-item label="已到箱数/总箱数">{{details.sumNum || 0}}/{{details.costVO ? details.costVO.totalNum : 0}}</el-descriptions-item> <el-descriptions-item label="已到箱数/总箱数">{{details.sumNum || 0}}/{{details.sumNum || 0 }}</el-descriptions-item>
<el-descriptions-item :label="$t('订单状态')"> <el-descriptions-item :label="$t('订单状态')">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="details.status" /> <dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="details.status" />
</el-descriptions-item> </el-descriptions-item>
......
...@@ -29,7 +29,8 @@ ...@@ -29,7 +29,8 @@
<el-table-column <el-table-column
:label="$t('入仓统计')"> :label="$t('入仓统计')">
<template v-slot="{row}"> <template v-slot="{row}">
<div>总箱数:{{row.totalNum}}</div>
<div>总箱数:{{row.sumNum}}</div>
<div>体积:{{row.sumVolume}}CBM </div> <div>体积:{{row.sumVolume}}CBM </div>
<div>重量:{{row.sumWeight}}kg</div> <div>重量:{{row.sumWeight}}kg</div>
</template> </template>
......
This diff is collapsed.
<template>
<!-- 拆单入仓记录 -->
<el-dialog :title="$t('入仓记录')" :visible="show" :before-close="closeDialog" :close-on-click-modal="false" width="1000px" :append-to-body="appendToBody">
<el-table :data="list">
<el-table-column type="index" :label="$t('序号')" />
<el-table-column :label="$t('箱数')" prop="num" />
<el-table-column :label="$t('入仓类型')" prop="specificationType">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE" :value="row.specificationType" />
</template>
</el-table-column>
<el-table-column :label="$t('包装类型')" prop="unit">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="row.unit" />
</template>
</el-table-column>
<el-table-column :label="$t('长')" prop="boxGauge">
<template slot-scope="{row}">
{{row.boxGauge.split('*')[0]}}
</template>
</el-table-column>
<el-table-column :label="$t('宽')" prop="boxGauge" >
<template slot-scope="{row}">
{{row.boxGauge.split('*')[1]}}
</template>
</el-table-column>
<el-table-column :label="$t('高')" prop="boxGauge" >
<template slot-scope="{row}">
{{row.boxGauge.split('*')[2]}}
</template>
</el-table-column>
<el-table-column :label="$t('体积') + '(m³)'" prop="volume" />
<el-table-column :label="$t('重量') + '(kg)'" prop="weight" />
<el-table-column :label="$t('数量(个)')" prop="quantity" />
<el-table-column :label="$t('入仓快递单号')" prop="expressNo" />
<el-table-column :label="$t('首次入仓时间')" prop="inTime" >
<template slot-scope="{row}">{{row.inTime|parseTime}}</template>
</el-table-column>
<el-table-column :label="$t('储位')" prop="orderLocationBackVOList" >
<template slot-scope="{row}">
<!--{{getLocationName(row.orderLocationList)}}-->
<warehouse-area-select
v-model="row.orderLocationList"
readonly
:warehouse-id="warehouseId"
></warehouse-area-select>
</template>
</el-table-column>
</el-table>
</el-dialog>
</template>
<script>
import WarehouseAreaSelect from "@/components/WarehouseAreaSelect/index.vue";
import {parseTime} from "@/utils/ruoyi";
export default {
name: "WarehouseRecord",
components: {WarehouseAreaSelect},
filters: {parseTime},
props:{
list:{
type: Array,
default: []
},
warehouseId: Number,
appendToBody: Boolean
},
data(){
return {
show: false
}
},
mounted() {
this.show = true
},
methods:{
parseTime,
// 获取储位名称
getLocationName(locationArr){
if(!locationArr || !locationArr.length) return ''
let arr = []
locationArr.forEach(item => {
arr.push(`${item.areaName}${item.locationName || ''}`)
})
return Array.from(new Set(arr)).join(",")
},
closeDialog(){
this.show = false
this.$emit('close');
},
}
}
</script>
<style scoped>
</style>
...@@ -18,7 +18,12 @@ ...@@ -18,7 +18,12 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('填单货物属性')"> <el-table-column :label="$t('填单货物属性')">
<template v-slot="{row}"> <template v-slot="{row}">
<div>{{$t('品牌')}}:无</div><div>{{$t('箱数')}}{{row.num}}</div><div>{{$t('体积')}}{{ row.volume }}</div><div>{{$t('重量')}}{{row.weight}}Kg</div> <div>{{$t('品牌')}}{{(brandList.find(item => item.id == row.brand) || {}).titleZh}} <span v-if="!row.brand">
{{$t('')}}
</span> </div>
<div>{{$t('箱数')}}{{row.num}}</div>
<div>{{$t('体积')}}{{ row.volume }}m³</div>
<div>{{$t('重量')}}{{row.weight}}Kg</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('入库货物属性')"> <el-table-column :label="$t('入库货物属性')">
...@@ -26,13 +31,18 @@ ...@@ -26,13 +31,18 @@
<div v-for="(item,index) in row.orderWarehouseInBackItemDoList" :key="index"> <div v-for="(item,index) in row.orderWarehouseInBackItemDoList" :key="index">
<div>{{$t('规格')}}{{item.boxGauge.split('*').map(item =>`${item}cm`).join('*')}}</div> <div>{{$t('规格')}}{{item.boxGauge.split('*').map(item =>`${item}cm`).join('*')}}</div>
<div> <div>
<div>{{$t('品牌')}}{{(brandList.find(item => item.id == row.brand) || {}).titleZh}}
<div>{{$t('品牌')}}{{(brandList.find(item => item.id == row.brand) || {}).titleZh}}</div> <span v-if="!row.brand">
{{$t('')}}
</span></div>
<div>{{$t('箱数')}}{{item.cartonsNum}}</div> <div>{{$t('箱数')}}{{item.cartonsNum}}</div>
<div>{{$t('体积')}}{{item.volume}} CMB</div> <div>{{$t('体积')}}{{item.volume}} CMB</div>
<div>{{$t('重量')}}{{item.weight}}KG</div> <div>{{$t('重量')}}{{item.weight}}KG</div>
</div> </div>
</div> </div>
<p v-if="row.orderWarehouseInBackItemDoList.length === 0">
{{$t('暂无货物入库信息')}}
</p>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('最后操作时间')"> <el-table-column :label="$t('最后操作时间')">
...@@ -42,7 +52,7 @@ ...@@ -42,7 +52,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('状态')"> <el-table-column :label="$t('状态')">
<template v-slot="{row}"> <template v-slot="{row}">
{{calculationStatus(row.cartonsNumDiff)}} {{calculationStatus(row)}}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -265,13 +275,19 @@ export default { ...@@ -265,13 +275,19 @@ export default {
}, },
calculationStatus(){ calculationStatus(){
return (val)=>{ return (val)=>{
if(val > 0){ let des = ''
return `${this.$t('多')}${val}${this.$t('箱')}` switch (val.diffType) {
}else if(val < 0){ case 2 :
return `${this.$t('少')}${Math.abs(val)}${this.$t('箱')}` des = `${this.$t('多了')}${val.cartonsNumDiff}${this.$t('箱')}`
}else { break
return this.$t('准确到齐') case 3 :
} des = `${this.$t('少了')}${val.cartonsNumDiff}${this.$t('箱')}`
break
case 4 :
des = this.$t('准确到齐')
break
}
return des
} }
} }
}, },
...@@ -373,11 +389,13 @@ export default { ...@@ -373,11 +389,13 @@ export default {
volume += Number(i.volume) volume += Number(i.volume)
num += Number(i.num) num += Number(i.num)
weight += Number(i.weight) weight += Number(i.weight)
i.orderWarehouseInBackItemDoList.forEach(m => { if(i.orderWarehouseInBackItemDoList){
Wvolume += Number(m.volume || 0) i.orderWarehouseInBackItemDoList.forEach(m => {
Wnum += Number(m.cartonsNum || 0) Wvolume += Number(m.volume || 0)
Wweight += Number(m.weight || 0) Wnum += Number(m.cartonsNum || 0)
}) Wweight += Number(m.weight || 0)
})
}
}) })
let text = `${this.$t('下单统计')}:${num}${this.$t('箱')} ${volume.toFixed(2)}m³ ${weight.toFixed(2)}Kg` let text = `${this.$t('下单统计')}:${num}${this.$t('箱')} ${volume.toFixed(2)}m³ ${weight.toFixed(2)}Kg`
let text2 =` ${this.$t('入仓统计')}:${Wnum}${this.$t('箱')} ${Wvolume.toFixed(2)}m³ ${Wweight.toFixed(2)}Kg` let text2 =` ${this.$t('入仓统计')}:${Wnum}${this.$t('箱')} ${Wvolume.toFixed(2)}m³ ${Wweight.toFixed(2)}Kg`
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment