|
|
|
|
@ -45,7 +45,8 @@
|
|
|
|
|
<view v-if="cell.expanded" class="address-list">
|
|
|
|
|
|
|
|
|
|
<!-- 托盘明细 -->
|
|
|
|
|
<view v-if="cell.deliveryList" v-for="pallet in cell.deliveryList" :key="pallet.palletNo" class="pallet-items" @click="openPalletDetail(pallet)">
|
|
|
|
|
<!-- <view v-if="cell.deliveryList" v-for="pallet in cell.deliveryList" :key="pallet.palletNo"
|
|
|
|
|
class="pallet-items" @click="openPalletDetail(pallet)">
|
|
|
|
|
<view class="pallet-info">
|
|
|
|
|
<text class="pallet-id">{{ pallet.palletNo }}</text>
|
|
|
|
|
<text class="pallet-status" :class="getStatusClass(pallet.status)">
|
|
|
|
|
@ -54,6 +55,37 @@
|
|
|
|
|
<text class="pallet-num">存放天数({{ pallet.stayDays ? pallet.stayDays : 0 }})</text>
|
|
|
|
|
</view>
|
|
|
|
|
<uni-icons type="forward" size="14" color="#ccc"></uni-icons>
|
|
|
|
|
</view>-->
|
|
|
|
|
<view v-if="cell.deliveryList" class="address-item" v-for="(element,index3) in cell.deliveryList" :key="'dp3_'+index3">
|
|
|
|
|
|
|
|
|
|
<view class="address-header" @click="element.expanded=!element.expanded">
|
|
|
|
|
<view class="header-info">
|
|
|
|
|
<uni-icons :type="element.expanded ? 'arrowdown' : 'arrowright'" size="14"
|
|
|
|
|
color="#999"></uni-icons>
|
|
|
|
|
<text class="address-name">{{ element.workshop }}+{{element.location}}</text>
|
|
|
|
|
<text class="address-count">
|
|
|
|
|
(共{{ element.total||0 }}个托盘)
|
|
|
|
|
</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view v-if="element.expanded" class="pallet-list">
|
|
|
|
|
|
|
|
|
|
<!-- 托盘明细 -->
|
|
|
|
|
<view v-for="pallet in element.pallets" :key="pallet.palletNo" class="pallet-item"
|
|
|
|
|
@click="openPalletDetail(pallet)">
|
|
|
|
|
<view class="pallet-info">
|
|
|
|
|
<text class="pallet-id">{{ pallet.palletNo }}</text>
|
|
|
|
|
<text class="pallet-status" :class="getStatusClass(pallet.status)">
|
|
|
|
|
{{ retType(pallet.status, 1) }}
|
|
|
|
|
</text>
|
|
|
|
|
<text class="pallet-num">存放天数({{ pallet.stayDays ? pallet.stayDays : 0 }})</text>
|
|
|
|
|
</view>
|
|
|
|
|
<uni-icons type="forward" size="14" color="#ccc"></uni-icons>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<!-- 地址 -->
|
|
|
|
|
@ -61,16 +93,20 @@
|
|
|
|
|
|
|
|
|
|
<view class="address-header" @click="toggle3(index1,index2,index3)">
|
|
|
|
|
<view class="header-info">
|
|
|
|
|
<uni-icons :type="element.expanded ? 'arrowdown' : 'arrowright'" size="14" color="#999"></uni-icons>
|
|
|
|
|
<uni-icons :type="element.expanded ? 'arrowdown' : 'arrowright'" size="14"
|
|
|
|
|
color="#999"></uni-icons>
|
|
|
|
|
<text class="address-name">{{ element.address }}</text>
|
|
|
|
|
<text class="address-count">(共{{getThird(index1,index2,index3)?element.total:0}}个托盘)</text>
|
|
|
|
|
<text class="address-count">
|
|
|
|
|
(共{{ getThird(index1, index2, index3) ? element.total : 0 }}个托盘)
|
|
|
|
|
</text>
|
|
|
|
|
</view>
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
<view v-if="element.expanded" class="pallet-list">
|
|
|
|
|
|
|
|
|
|
<!-- 托盘明细 -->
|
|
|
|
|
<view v-for="pallet in element.pallets" :key="pallet.palletNo" class="pallet-item" @click="openPalletDetail(pallet)">
|
|
|
|
|
<view v-for="pallet in element.pallets" :key="pallet.palletNo" class="pallet-item"
|
|
|
|
|
@click="openPalletDetail(pallet)">
|
|
|
|
|
<view class="pallet-info">
|
|
|
|
|
<text class="pallet-id">{{ pallet.palletNo }}</text>
|
|
|
|
|
<text class="pallet-status" :class="getStatusClass(pallet.status)">
|
|
|
|
|
@ -151,7 +187,8 @@
|
|
|
|
|
<u-toast ref="uToast"/>
|
|
|
|
|
|
|
|
|
|
<!-- 配送单详情 -->
|
|
|
|
|
<u-popup v-model="show" @close="close" mode="center" :mask="true" :closeable="true" :border-radius="20" close-icon-pos="top-right">
|
|
|
|
|
<u-popup v-model="show" @close="close" mode="center" :mask="true" :closeable="true" :border-radius="20"
|
|
|
|
|
close-icon-pos="top-right">
|
|
|
|
|
<view class="ppcon">
|
|
|
|
|
<psDetail :palletAll="palletAll"></psDetail>
|
|
|
|
|
</view>
|
|
|
|
|
@ -163,6 +200,7 @@
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import psDetail from "@/components/psDetail.vue";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
components: {
|
|
|
|
|
psDetail
|
|
|
|
|
@ -214,46 +252,186 @@
|
|
|
|
|
dept1: {
|
|
|
|
|
region1: {
|
|
|
|
|
addr1: [
|
|
|
|
|
{ id: 'TPL-001', status: 'in-use', department: '生产一部', region: '装配区', address: 'A区生产线', lastUpdate: '2023-10-15 14:30' },
|
|
|
|
|
{ id: 'TPL-002', status: 'idle', department: '生产一部', region: '装配区', address: 'A区生产线', lastUpdate: '2023-10-15 15:20' },
|
|
|
|
|
{ id: 'TPL-003', status: 'maintenance', department: '生产一部', region: '装配区', address: 'A区生产线', lastUpdate: '2023-10-15 16:10' },
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-001',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '装配区',
|
|
|
|
|
address: 'A区生产线',
|
|
|
|
|
lastUpdate: '2023-10-15 14:30'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-002',
|
|
|
|
|
status: 'idle',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '装配区',
|
|
|
|
|
address: 'A区生产线',
|
|
|
|
|
lastUpdate: '2023-10-15 15:20'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-003',
|
|
|
|
|
status: 'maintenance',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '装配区',
|
|
|
|
|
address: 'A区生产线',
|
|
|
|
|
lastUpdate: '2023-10-15 16:10'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
addr2: [
|
|
|
|
|
{ id: 'TPL-004', status: 'in-use', department: '生产一部', region: '装配区', address: 'B区仓库', lastUpdate: '2023-10-15 13:45' },
|
|
|
|
|
{ id: 'TPL-005', status: 'idle', department: '生产一部', region: '装配区', address: 'B区仓库', lastUpdate: '2023-10-15 12:30' },
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-004',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '装配区',
|
|
|
|
|
address: 'B区仓库',
|
|
|
|
|
lastUpdate: '2023-10-15 13:45'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-005',
|
|
|
|
|
status: 'idle',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '装配区',
|
|
|
|
|
address: 'B区仓库',
|
|
|
|
|
lastUpdate: '2023-10-15 12:30'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
region2: {
|
|
|
|
|
addr1: [
|
|
|
|
|
{ id: 'TPL-006', status: 'in-use', department: '生产一部', region: '包装区', address: 'C区包装线', lastUpdate: '2023-10-15 11:20' },
|
|
|
|
|
{ id: 'TPL-007', status: 'idle', department: '生产一部', region: '包装区', address: 'C区包装线', lastUpdate: '2023-10-15 10:15' },
|
|
|
|
|
{ id: 'TPL-008', status: 'in-use', department: '生产一部', region: '包装区', address: 'C区包装线', lastUpdate: '2023-10-15 09:45' },
|
|
|
|
|
{ id: 'TPL-009', status: 'idle', department: '生产一部', region: '包装区', address: 'C区包装线', lastUpdate: '2023-10-15 08:30' },
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-006',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '包装区',
|
|
|
|
|
address: 'C区包装线',
|
|
|
|
|
lastUpdate: '2023-10-15 11:20'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-007',
|
|
|
|
|
status: 'idle',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '包装区',
|
|
|
|
|
address: 'C区包装线',
|
|
|
|
|
lastUpdate: '2023-10-15 10:15'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-008',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '包装区',
|
|
|
|
|
address: 'C区包装线',
|
|
|
|
|
lastUpdate: '2023-10-15 09:45'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-009',
|
|
|
|
|
status: 'idle',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '包装区',
|
|
|
|
|
address: 'C区包装线',
|
|
|
|
|
lastUpdate: '2023-10-15 08:30'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
addr2: [
|
|
|
|
|
{ id: 'TPL-010', status: 'in-use', department: '生产一部', region: '包装区', address: 'D区成品库', lastUpdate: '2023-10-15 14:10' },
|
|
|
|
|
{ id: 'TPL-011', status: 'idle', department: '生产一部', region: '包装区', address: 'D区成品库', lastUpdate: '2023-10-15 13:25' },
|
|
|
|
|
{ id: 'TPL-012', status: 'maintenance', department: '生产一部', region: '包装区', address: 'D区成品库', lastUpdate: '2023-10-15 12:40' },
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-010',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '包装区',
|
|
|
|
|
address: 'D区成品库',
|
|
|
|
|
lastUpdate: '2023-10-15 14:10'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-011',
|
|
|
|
|
status: 'idle',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '包装区',
|
|
|
|
|
address: 'D区成品库',
|
|
|
|
|
lastUpdate: '2023-10-15 13:25'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-012',
|
|
|
|
|
status: 'maintenance',
|
|
|
|
|
department: '生产一部',
|
|
|
|
|
region: '包装区',
|
|
|
|
|
address: 'D区成品库',
|
|
|
|
|
lastUpdate: '2023-10-15 12:40'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
dept2: {
|
|
|
|
|
region1: {
|
|
|
|
|
addr1: [
|
|
|
|
|
{ id: 'TPL-013', status: 'in-use', department: '物流二部', region: '仓储区', address: 'E区原料仓', lastUpdate: '2023-10-15 15:00' },
|
|
|
|
|
{ id: 'TPL-014', status: 'idle', department: '物流二部', region: '仓储区', address: 'E区原料仓', lastUpdate: '2023-10-15 14:15' },
|
|
|
|
|
{ id: 'TPL-015', status: 'in-use', department: '物流二部', region: '仓储区', address: 'E区原料仓', lastUpdate: '2023-10-15 13:30' },
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-013',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '物流二部',
|
|
|
|
|
region: '仓储区',
|
|
|
|
|
address: 'E区原料仓',
|
|
|
|
|
lastUpdate: '2023-10-15 15:00'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-014',
|
|
|
|
|
status: 'idle',
|
|
|
|
|
department: '物流二部',
|
|
|
|
|
region: '仓储区',
|
|
|
|
|
address: 'E区原料仓',
|
|
|
|
|
lastUpdate: '2023-10-15 14:15'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-015',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '物流二部',
|
|
|
|
|
region: '仓储区',
|
|
|
|
|
address: 'E区原料仓',
|
|
|
|
|
lastUpdate: '2023-10-15 13:30'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
addr2: [
|
|
|
|
|
{ id: 'TPL-016', status: 'idle', department: '物流二部', region: '仓储区', address: 'F区成品仓', lastUpdate: '2023-10-15 12:45' },
|
|
|
|
|
{ id: 'TPL-017', status: 'in-use', department: '物流二部', region: '仓储区', address: 'F区成品仓', lastUpdate: '2023-10-15 11:50' },
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-016',
|
|
|
|
|
status: 'idle',
|
|
|
|
|
department: '物流二部',
|
|
|
|
|
region: '仓储区',
|
|
|
|
|
address: 'F区成品仓',
|
|
|
|
|
lastUpdate: '2023-10-15 12:45'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-017',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '物流二部',
|
|
|
|
|
region: '仓储区',
|
|
|
|
|
address: 'F区成品仓',
|
|
|
|
|
lastUpdate: '2023-10-15 11:50'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
region2: {
|
|
|
|
|
addr1: [
|
|
|
|
|
{ id: 'TPL-018', status: 'in-use', department: '物流二部', region: '配送区', address: 'G区配送站', lastUpdate: '2023-10-15 10:30' },
|
|
|
|
|
{ id: 'TPL-019', status: 'idle', department: '物流二部', region: '配送区', address: 'G区配送站', lastUpdate: '2023-10-15 09:45' },
|
|
|
|
|
{ id: 'TPL-020', status: 'in-use', department: '物流二部', region: '配送区', address: 'G区配送站', lastUpdate: '2023-10-15 08:50' },
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-018',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '物流二部',
|
|
|
|
|
region: '配送区',
|
|
|
|
|
address: 'G区配送站',
|
|
|
|
|
lastUpdate: '2023-10-15 10:30'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-019',
|
|
|
|
|
status: 'idle',
|
|
|
|
|
department: '物流二部',
|
|
|
|
|
region: '配送区',
|
|
|
|
|
address: 'G区配送站',
|
|
|
|
|
lastUpdate: '2023-10-15 09:45'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
id: 'TPL-020',
|
|
|
|
|
status: 'in-use',
|
|
|
|
|
department: '物流二部',
|
|
|
|
|
region: '配送区',
|
|
|
|
|
address: 'G区配送站',
|
|
|
|
|
lastUpdate: '2023-10-15 08:50'
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
@ -273,7 +451,8 @@
|
|
|
|
|
|
|
|
|
|
// this.handleSearch();
|
|
|
|
|
},
|
|
|
|
|
onShow(){},
|
|
|
|
|
onShow() {
|
|
|
|
|
},
|
|
|
|
|
methods: {
|
|
|
|
|
close() {
|
|
|
|
|
this.show = false;
|
|
|
|
|
@ -312,8 +491,7 @@
|
|
|
|
|
console.log(this.status);
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.users = [];
|
|
|
|
|
this.dicts = [];
|
|
|
|
|
this.depts = [];
|
|
|
|
|
@ -330,8 +508,7 @@
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
else if(str==2){
|
|
|
|
|
} else if (str == 2) {
|
|
|
|
|
// 部门
|
|
|
|
|
this.depts.forEach((cell, idx) => {
|
|
|
|
|
if (type == cell.departCode) {
|
|
|
|
|
@ -339,8 +516,7 @@
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
else if(str==3){
|
|
|
|
|
} else if (str == 3) {
|
|
|
|
|
// 使用状态
|
|
|
|
|
this.palletStatus.forEach((cell, idx) => {
|
|
|
|
|
if (type == cell.bm) {
|
|
|
|
|
@ -364,24 +540,6 @@
|
|
|
|
|
if (res.data && res.data.length > 0) {
|
|
|
|
|
// 初始化一级
|
|
|
|
|
res.data.forEach((cell, index) => {
|
|
|
|
|
// var children=[];
|
|
|
|
|
// console.log(this.address)
|
|
|
|
|
// this.address.forEach((adr,ii)=>{
|
|
|
|
|
// // 初始化二级
|
|
|
|
|
// if(cell.departCode==adr.departCode&&cell.workshop==adr.workshop){
|
|
|
|
|
|
|
|
|
|
// var second={
|
|
|
|
|
// departCode: cell.departCode,
|
|
|
|
|
// workshop: cell.workshop,
|
|
|
|
|
// location:adr.location,
|
|
|
|
|
// total: null,
|
|
|
|
|
// expanded: false,
|
|
|
|
|
// ifload: false,// 是否加载数量
|
|
|
|
|
// children:[]
|
|
|
|
|
// }
|
|
|
|
|
// children.push(second)
|
|
|
|
|
// }
|
|
|
|
|
// });
|
|
|
|
|
this.list.push({
|
|
|
|
|
departCode: cell.departCode,
|
|
|
|
|
workshop: cell.workshop,
|
|
|
|
|
@ -401,11 +559,26 @@
|
|
|
|
|
if (this.list[one].ifload) {
|
|
|
|
|
// 已经加载过了
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
// 未加载
|
|
|
|
|
// 转运加载
|
|
|
|
|
if (this.list[one].deliveryList && this.list[one].deliveryList.length > 0) {
|
|
|
|
|
const _deliveryList=this.list[one].deliveryList
|
|
|
|
|
const groupBy=this.groupBy(_deliveryList,(item)=>{
|
|
|
|
|
return {workshop:item.workshop,location:item.location}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const deliveryList=[]
|
|
|
|
|
Object.keys(groupBy).forEach(key=>{
|
|
|
|
|
const _key=JSON.parse(key);
|
|
|
|
|
deliveryList.push({
|
|
|
|
|
departCode: this.list[one].departCode,
|
|
|
|
|
..._key,
|
|
|
|
|
pallets:groupBy[key],
|
|
|
|
|
total:groupBy[key].length,
|
|
|
|
|
expanded:false,
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
this.list[one].children.push({
|
|
|
|
|
departCode: this.list[one].departCode,
|
|
|
|
|
workshop: this.list[one].workshop,
|
|
|
|
|
@ -413,7 +586,36 @@
|
|
|
|
|
total: this.list[one].deliveryList.length,
|
|
|
|
|
expanded: false,
|
|
|
|
|
ifload: true,// 是否加载数量
|
|
|
|
|
deliveryList: this.list[one].deliveryList,
|
|
|
|
|
deliveryList: deliveryList,
|
|
|
|
|
children: []
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (this.list[one].xpList && this.list[one].xpList.length > 0) {
|
|
|
|
|
const _xpList=this.list[one].xpList
|
|
|
|
|
const groupBy=this.groupBy(_xpList,(item)=>{
|
|
|
|
|
return {workshop:item.workshop,location:item.location}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const xpList=[]
|
|
|
|
|
Object.keys(groupBy).forEach(key=>{
|
|
|
|
|
const _key=JSON.parse(key);
|
|
|
|
|
xpList.push({
|
|
|
|
|
departCode: this.list[one].departCode,
|
|
|
|
|
..._key,
|
|
|
|
|
pallets:groupBy[key],
|
|
|
|
|
total:groupBy[key].length,
|
|
|
|
|
expanded:false,
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
this.list[one].children.push({
|
|
|
|
|
departCode: this.list[one].departCode,
|
|
|
|
|
workshop: this.list[one].workshop,
|
|
|
|
|
location: "卸盘",
|
|
|
|
|
total: this.list[one].deliveryList.length,
|
|
|
|
|
expanded: false,
|
|
|
|
|
ifload: true,// 是否加载数量
|
|
|
|
|
xpList: xpList,
|
|
|
|
|
children: []
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
@ -447,8 +649,7 @@
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
console.log(this.list[one]);
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.list[one].total = 0;
|
|
|
|
|
this.list[one].children = [];
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
@ -456,8 +657,7 @@
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.list[one].total = 0;
|
|
|
|
|
this.list[one].children = [];
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
@ -471,8 +671,7 @@
|
|
|
|
|
if (this.list[one].children[two].ifload) {
|
|
|
|
|
// 已经加载过了
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
// 未加载
|
|
|
|
|
this.list[one].children[two].ifload = true;
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
@ -515,15 +714,13 @@
|
|
|
|
|
this.list[one].children[two].children = children;
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.list[one].children[two].total = 0;
|
|
|
|
|
this.list[one].children[two].children = [];
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.list[one].children[two].total = 0;
|
|
|
|
|
this.list[one].children[two].children = [];
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
@ -535,8 +732,7 @@
|
|
|
|
|
if (this.list[one].children[two].children[third].ifload) {
|
|
|
|
|
// 已经加载过了
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
// 未加载
|
|
|
|
|
this.list[one].children[two].children[third].ifload = true;
|
|
|
|
|
// 加载三级地址列表数量
|
|
|
|
|
@ -563,15 +759,13 @@
|
|
|
|
|
this.list[one].children[two].children[third].pallets = pallets;
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.list[one].children[two].children[third].total = 0;
|
|
|
|
|
this.list[one].children[two].children[third].pallets = [];
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.list[one].children[two].children[third].total = 0;
|
|
|
|
|
this.list[one].children[two].children[third].pallets = [];
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
@ -583,8 +777,7 @@
|
|
|
|
|
if (this.list[one].ifload) {
|
|
|
|
|
this.list[one].expanded = !this.list[one].expanded;
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.getFirst(one);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
@ -593,8 +786,10 @@
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
},
|
|
|
|
|
toggle3(one, two, third) {
|
|
|
|
|
try {
|
|
|
|
|
this.list[one].children[two].children[third].expanded = !this.list[one].children[two].children[third].expanded;
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
}catch (e){}
|
|
|
|
|
},
|
|
|
|
|
// 显示托盘详情
|
|
|
|
|
async openPalletDetail(pallet) {
|
|
|
|
|
@ -607,23 +802,20 @@
|
|
|
|
|
type: '20'
|
|
|
|
|
});
|
|
|
|
|
if (res.success) {
|
|
|
|
|
if(res.data)
|
|
|
|
|
{
|
|
|
|
|
if (res.data) {
|
|
|
|
|
this.palletAll = res.data;
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
// 打开托盘详情弹框
|
|
|
|
|
this.open();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.$refs.uToast.show({
|
|
|
|
|
title: "暂无托盘详情信息!",
|
|
|
|
|
type: "warning",
|
|
|
|
|
duration: 3000,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
} else {
|
|
|
|
|
this.$refs.uToast.show({
|
|
|
|
|
title: "托盘详情查询失败!",
|
|
|
|
|
type: "warning",
|
|
|
|
|
@ -631,39 +823,6 @@
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 处理搜索
|
|
|
|
|
handleSearch() {
|
|
|
|
|
if (!this.searchKeyword) {
|
|
|
|
|
this.searchResults = [];
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
// 模拟搜索逻辑
|
|
|
|
|
const allPallets = [
|
|
|
|
|
...palletsData.dept1.region1.addr1,
|
|
|
|
|
...palletsData.dept1.region1.addr2,
|
|
|
|
|
...palletsData.dept1.region2.addr1,
|
|
|
|
|
...palletsData.dept1.region2.addr2,
|
|
|
|
|
...palletsData.dept2.region1.addr1,
|
|
|
|
|
...palletsData.dept2.region1.addr2,
|
|
|
|
|
...palletsData.dept2.region2.addr1,
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
this.searchResults = allPallets.filter(pallet =>
|
|
|
|
|
pallet.id.toLowerCase().includes(this.searchKeyword.toLowerCase())
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
// 切换部门展开状态
|
|
|
|
|
toggleDepartment(deptId) {
|
|
|
|
|
this.expandedDepartments[deptId] = !this.expandedDepartments[deptId];
|
|
|
|
|
},
|
|
|
|
|
// 切换区域展开状态
|
|
|
|
|
toggleRegion(regionId) {
|
|
|
|
|
this.expandedRegions[regionId] = !this.expandedRegions[regionId];
|
|
|
|
|
},
|
|
|
|
|
// 切换地址展开状态
|
|
|
|
|
toggleAddress(addrId) {
|
|
|
|
|
this.expandedAddresses[addrId] = !this.expandedAddresses[addrId];
|
|
|
|
|
},
|
|
|
|
|
// 获取状态文本
|
|
|
|
|
getStatusText(status) {
|
|
|
|
|
switch (status) {
|
|
|
|
|
@ -706,6 +865,15 @@
|
|
|
|
|
this.showDetailModal = false;
|
|
|
|
|
this.currentPallet = null;
|
|
|
|
|
},
|
|
|
|
|
groupBy(list, fn){
|
|
|
|
|
const groups = {};
|
|
|
|
|
list.forEach(function (o) {
|
|
|
|
|
const group = JSON.stringify(fn(o));
|
|
|
|
|
groups[group] = groups[group] || [];
|
|
|
|
|
groups[group].push(o);
|
|
|
|
|
});
|
|
|
|
|
return groups;
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
@ -720,9 +888,11 @@
|
|
|
|
|
/* #endif */
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.wrapnob {
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.container {
|
|
|
|
|
height: 100%;
|
|
|
|
|
display: flex;
|
|
|
|
|
|