Commit 41659768 authored by 332784038@qq.com's avatar 332784038@qq.com

feature: 理货装柜增加字段&新增混箱明细页面

parent 51be9569
......@@ -204,6 +204,8 @@
"移出当前出货单": "Transfer out the current shipment order",
"未选择储位信息": "No storage location information is selected",
"件数": "number",
"混箱商品明细": "Details of mixed products",
"长/宽/高": "length/wide/height",
"待理货货柜列表": "Container list to be tally",
"数量(个)": "Quantity",
"包装类型": "Packaging type",
......@@ -490,6 +492,7 @@
",是否需要一起移出?": "Do you need to remove them together?",
"国家": "country",
"预装关联单": "Pre installed related documents",
"关联单": "Rrelated documents",
"仅当前订单": "Only current orders",
"请扫描合包箱号、标签": "Please scan the package number and label",
"合包箱号": "Package number",
......
......@@ -45,11 +45,25 @@
</view>
<view>
<view class="flex text-center padding-sm" :id="'order-' + order.orderNo" :class="'order-' + order.orderNo == heightLightId ? 'bg-yellow' : 'bg-white'" v-for="(order, key) in v.sectionOrderList" :key="key">
<view class="flex-sub text-blue" @tap="showOrderDetail(true, order.orderId)">
<view>{{ order.orderNo }}</view>
<view class="flex-sub text-blue">
<view @tap="showOrderDetail(true, order.orderId)">{{ order.orderNo }}</view>
<view style="color:blue;fontWeight:bold;">
{{ order.isExternalWarehouse === 1 ? ('('+$t('外部仓')+')') : ''}}
</view>
<!-- 报关方式 -->
<view style="color: red;fontWeight:bold;" v-if="order.customsType !== 1">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" style="color:red;fontWeight:bold;" />
</view>
<!-- 包装类型 -->
<view style="color:red;fontWeight:bold;">
<text v-for="(prod, index) in order.goodsList" :key="prod.orderItemId">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="prod.unit" />{{ index!== order.goodsList.length-1 ? ',':'' }}
</text>
</view>
<!-- 关联单 -->
<view v-if="order.guanLianOrderStatusVOList&&order.guanLianOrderStatusVOList.length>0" style="color:red;fontWeight:bold;">{{$t('关联单')}}</view>
<!-- 混箱 -->
<view v-if="order.goodsList&&order.goodsList.length>1" style="color:red;fontWeight:bold;" @tap="showWarehouseLogs(order)">{{$t('混箱')}}</view>
</view>
<view class="flex-sub">{{ order.volume | toFixed }}</view>
<view class="flex-sub">{{ order.weight | toFixed }} kg</view>
......@@ -230,6 +244,8 @@
</view>
</view> -->
<warehouse-list ref="warehouseList" />
<!-- 未装弹窗 -->
<view class="cu-modal" :class="unloadModal ? 'show' : ''" style="z-index: 900;">
<view class="cu-dialog">
......@@ -431,6 +447,7 @@ import {
} from "./api";
import splitCom from "./components/split-com.vue";
import OrderDetailModal from "@/components/order-detail-modal/index.vue"
import WarehouseList from "@/pages/tally/warehouseList.vue";
import { updateImg } from "@/api/system";
import dayjs from "dayjs";
......@@ -438,7 +455,8 @@ export default {
name: "loading-detail",
components: {
splitCom,
OrderDetailModal
OrderDetailModal,
WarehouseList
},
mixins: [mixins],
data() {
......@@ -781,6 +799,11 @@ export default {
this.unloadSubNumberBegin = "";
this.unloadSubNumberEnd = "";
},
// 显示入仓记录
showWarehouseLogs(row) {
this.orderId = row.orderId;
this.$refs.warehouseList.showDetail(row);
},
/* 显示订单详情 */
showOrderDetail(show, id) {
this.orderDetailModal = show;
......
......@@ -77,17 +77,15 @@
<!-- 报关方式 -->
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="item.customsType" style="color:red;fontWeight:bold;margin: 0 3px;" />
<!-- 包装类型 -->
<text v-for="prod in item.orderItemDOS" :key="prod.orderItemId" style="color:red;fontWeight:bold;margin: 0 3px;">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="prod.unit" />
<text v-for="(prod, index) in item.orderItemDOS" :key="prod.orderItemId" style="color:red;fontWeight:bold;margin: 0 3px;">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="prod.unit" />{{ index!== order.orderItemDOS.length-1 ? ',':'' }}
</text>
<!-- 混箱 -->
<text v-if="item.orderItemDOS&&item.orderItemDOS.orderWarehouseInCreateReqVO&&item.orderItemDOS.orderWarehouseInCreateReqVO.orderWarehouseInItemDoList&&item.orderItemDOS.orderWarehouseInCreateReqVO.orderWarehouseInItemDoList.orderWarehouseInDetailsVOList&&item.orderItemDOS.orderWarehouseInCreateReqVO.orderWarehouseInItemDoList.orderWarehouseInDetailsVOList.length>0" style="color:red;fontWeight:bold;margin: 0 3px;">{{$t('混箱')}}</text>
<!-- 有牌 -->
<text v-if="item.orderItemDOS.some(ele => [$t('无牌'), $t('有牌'), $t('中性')][ele.brandType] !== $t('无牌'))" style="color:red;fontWeight:bold;margin: 0 3px;">{{ $t('有牌') }}</text>
<!-- 带电 -->
<text v-for="prod in item.orderItemDOS" :key="prod.orderItemId" style="color:red;fontWeight:bold;margin: 0 3px;">
{{ prod.electrifiedFreightPrice > 0 ? $t('带电') : ''}}
</text>
<text v-if="item.orderItemDOS.some(ele => ele.electrifiedFreightPrice > 0)" style="color:red;fontWeight:bold;margin: 0 3px;">{{ $t('带电') }}</text>
</view>
</view>
</view>
......
......@@ -39,7 +39,20 @@
<view style="color:sandybrown;fontWeight:bold;">
{{ order.adjustToDestWarehouseId > 0 ? ('('+$t('调仓')+')') : ''}}
</view>
<view style="color: red"><dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" /></view>
<!-- 报关方式 -->
<view v-if="order.customsType !== 1">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" style="color:red;fontWeight:bold;" />
</view>
<!-- 包装类型 -->
<view style="color:red;fontWeight:bold;">
<text v-for="(prod, index) in order.goodsList" :key="prod.orderItemId">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="prod.unit" />{{ index!== order.goodsList.length-1 ? ',':'' }}
</text>
</view>
<!-- 关联单 -->
<view v-if="order.guanLianOrderStatusVOList&&order.guanLianOrderStatusVOList.length>0" style="color:red;fontWeight:bold;">{{$t('关联单')}}</view>
<!-- 混箱 -->
<view v-if="order.goodsList&&order.goodsList.length>1" style="color:red;fontWeight:bold;" @tap="showWarehouseList(order)">{{$t('混箱')}}</view>
</view>
<view style="width:15%;">{{ order.volume | toFixed }}</view>
<view style="width:15%;">{{ order.weight | toFixed }} kg</view>
......@@ -216,6 +229,7 @@
</view>
<warehouse-detail ref="warehouseDetail" :orderId="orderId" :orderItemId="showWarehouseInItemId" />
<warehouse-list ref="warehouseList" />
<uni-popup ref="popup" class="add-popup">
<view class="popup-content">
......@@ -246,11 +260,12 @@ import {
} from "./api";
import { getOrderDetail, getLoadingDetail } from "../loading/api";
import WarehouseDetail from "./warehouseDetail.vue";
import WarehouseList from "@/pages/tally/warehouseList.vue";
import OrderDetailModal from "@/components/order-detail-modal/index.vue"
export default {
name: "tally-detail",
components: { WarehouseDetail,OrderDetailModal },
components: { WarehouseDetail,OrderDetailModal, WarehouseList },
mixins: [mixins],
data() {
return {
......@@ -311,15 +326,20 @@ export default {
},
},
methods: {
// 从warehouseInInfo中提取储位信息
showLocationName(locationList){
if(!locationList || !locationList.length) return ''
let locations = new Set()
locationList.forEach(item => {
locations.add((item.areaName || '') + (item.locationName || ''))
})
return Array.from(new Set(locations)).join(',')
},
// 从warehouseInInfo中提取储位信息
showLocationName(locationList){
if(!locationList || !locationList.length) return ''
let locations = new Set()
locationList.forEach(item => {
locations.add((item.areaName || '') + (item.locationName || ''))
})
return Array.from(new Set(locations)).join(',')
},
// 显示入仓列表
showWarehouseList(row) {
this.orderId = row.orderId;
this.$refs.warehouseList.showDetail(row);
},
// 显示入仓记录
showWarehouseLogs(row) {
this.orderId = row.orderId;
......
<template>
<view class="cu-modal" :class="show ? 'show' : ''" style="z-index: 901;">
<view class="cu-dialog">
<view class="cu-bar bg-white justify-end bottom-line">
<view class="content title-bolder" style="width:100%;">{{ $t('混箱商品明细') }}</view>
</view>
<scroll-view scroll-y="true" style="height: 400px;">
<view>
<view class="productsList">
<view class="flex text-center text-black bg-white text-bold padding-sm">
<view class="flex-sub">{{$t('箱数')}}</view>
<view class="flex-sub">{{$t('包装类型')}}</view>
<view class="flex-sub">{{$t('入仓类型')}}</view>
<view class="flex-sub">{{$t('长/宽/高')}}</view>
<view class="flex-sub">{{$t('体积') + "(m³)"}}</view>
<view class="flex-sub">{{$t("重量") + "(kg)"}}</view>
<view class="flex-sub">{{$t("首次入仓时间")}}</view>
</view>
<view v-for="(order, index) in warehouseList" :key="'order-' + index">
<view class="flex text-center padding-sm" v-for="(v, index) in order.orderWarehouseInBackItemDoList" :key="'goods-' + index">
<view class="flex-sub">{{ v.cartonsNum }}</view>
<view class="flex-sub"><dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="v.unit" /></view>
<view class="flex-sub"><dict-tag :type="DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE" :value="v.specificationType" /></view>
<view class="flex-sub">{{ v.boxGauge }}</view>
<view class="flex-sub">{{ v.volume }}</view>
<view class="flex-sub">{{ v.weight }}</view>
<view class="flex-sub">{{ v.inTime ? dayjs(v.inTime).format("YYYY-MM-DD HH:mm:ss") : v.inTime }}</view>
</view>
</view>
</view>
</view>
</scroll-view>
<view class="cu-bar bg-white justify-end top-line">
<view class="action"><button class="cu-btn bg-grey" @tap="closeDialog">{{$t('关闭')}}</button></view>
</view>
</view>
</view>
</template>
<script>
import { getOrder, getOrderWarehouseIn } from "./api";
export default {
props: {
orderId: Number,
orderItemId: Number,
locationModifiable: Boolean ,// 是否可以修改储位
warehouseId: Number, // 当前仓库ID,如果是调拨则是调拨入仓的ID,否则就是始发仓ID
},
data() {
return {
show: false,
orderDetail: null,
warehouseList: null,
locale: this.$lang.locale,
};
},
methods: {
// 从warehouseInInfo中提取储位信息
showLocationName(orderLocationBackVOList){
if(!orderLocationBackVOList) return ''
let locations = []
orderLocationBackVOList.forEach(item => {
locations.push(item.areaName + (item.locationName || ''))
})
return locations.join(',')
},
showDetail(row) {
this.show = true;
if (row.orderId) {
getOrder(row.orderId).then((res) => {
this.orderDetail = res;
this.getOrderWarehouseIn();
});
}
},
closeDialog() {
this.show = false;
},
getOrderWarehouseIn() {
getOrderWarehouseIn(this.orderDetail.orderId).then((res) => {
this.warehouseList = res;
});
},
},
};
</script>
<style lang="scss" scoped>
.scroll {
margin-top: -8px;
border-top-left-radius: 8px;
border-top-right-radius: 8px;
padding: 8px;
background: #fff;
::v-deep .uni-card {
margin: 12px 0 0 !important;
padding: 0 !important;
}
.img-wrap {
width: calc(100% - 68px);
::v-deep .uni-grid-item {
background: #fbf8fb;
}
.grid-item-box-add {
height: 100%;
display: flex;
flex-flow: column;
font-size: 10px;
padding: 16px 0;
text-align: center;
justify-content: center;
}
}
}
.cu-dialog {
background-color: #fff;
.content {
&.title-bolder {
color: #333333;
font-weight: bolder;
}
}
.item-content {
text-align: left;
padding: 10px 20px 0px 20px;
&.noPadding {
padding: 0;
}
> view {
display: flex;
padding: 4px 0;
> view {
flex: 1;
word-break: break-all;
padding-left: 4px;
}
}
.flex{
display: flex;
align-items: center;
justify-content: space-between;
.left{
flex: 1;
}
}
.btn{
background-color: rgb(47, 77, 174);
color: #fff;
border-radius: 5rpx;
padding: 5rpx 10rpx;
margin-left: 10px;
}
}
}
</style>
......@@ -51,7 +51,20 @@
<view style="color:sandybrown;fontWeight:bold;">
{{ order.adjustToDestWarehouseId > 0 ? ('('+$t('调仓')+')') : ''}}
</view>
<view style="color: red"><dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" /></view>
<!-- 报关方式 -->
<view v-if="order.customsType !== 1">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" style="color:red;fontWeight:bold;" />
</view>
<!-- 包装类型 -->
<view style="color:red;fontWeight:bold;">
<text v-for="(prod, index) in order.goodsList" :key="prod.orderItemId">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="prod.unit" />{{ index!== order.goodsList.length-1 ? ',':'' }}
</text>
</view>
<!-- 关联单 -->
<view v-if="order.guanLianOrderStatusVOList&&order.guanLianOrderStatusVOList.length>0" style="color:red;fontWeight:bold;">{{$t('关联单')}}</view>
<!-- 混箱 -->
<view v-if="order.goodsList&&order.goodsList.length>1" style="color:red;fontWeight:bold;" @tap="showWarehouseList(order)">{{$t('混箱')}}</view>
</view>
<view style="width:15%;">{{ order.volume | toFixed }}</view>
<view style="width:15%;">{{ order.weight | toFixed }} kg</view>
......@@ -258,6 +271,7 @@
</view>
</view>
<warehouse-detail ref="warehouseDetail" :orderId="orderId" :orderItemId="showWarehouseInItemId" />
<warehouse-list ref="warehouseList" />
<uni-popup ref="popup" class="add-popup">
<view class="popup-content">
......@@ -398,13 +412,14 @@ import {
} from "./api";
import { getOrderDetail, getLoadingDetail,getOrderDetailByBoxNo } from "../loading/api";
import WarehouseDetail from "./warehouseDetail.vue";
import WarehouseList from "@/pages/tally/warehouseList.vue";
import Exception from "./components/exception.vue";
import OrderDetailModal from "@/components/order-detail-modal/index.vue"
import util from "../../util/util.js";
export default {
name: "tally-detail",
components: { Exception, WarehouseDetail, OrderDetailModal },
components: { Exception, WarehouseDetail, OrderDetailModal, WarehouseList },
mixins: [mixins],
data() {
return {
......@@ -523,15 +538,20 @@ export default {
this.scanNumber = "";
this.batchModal = show;
},
// 从warehouseInInfo中提取储位信息
showLocationName(locationList){
if(!locationList || !locationList.length) return ''
let locations = new Set()
locationList.forEach(item => {
locations.add((item.areaName || '') + (item.locationName || ''))
})
return Array.from(new Set(locations)).join(',')
},
// 从warehouseInInfo中提取储位信息
showLocationName(locationList){
if(!locationList || !locationList.length) return ''
let locations = new Set()
locationList.forEach(item => {
locations.add((item.areaName || '') + (item.locationName || ''))
})
return Array.from(new Set(locations)).join(',')
},
// 显示入仓列表
showWarehouseList(row) {
this.orderId = row.orderId;
this.$refs.warehouseList.showDetail(row);
},
// 显示入仓记录
showWarehouseLogs(row) {
this.orderId = row.orderId;
......
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