From 88a34566f7c3f77d90daa3fd57fb0abca3e1b5e6 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 27 二月 2025 09:12:06 +0800
Subject: [PATCH] ll
---
pda/pages/index/center.vue | 303 +++++++++++++++++++++++++++++++++++++-------------
1 files changed, 225 insertions(+), 78 deletions(-)
diff --git a/pda/pages/index/center.vue b/pda/pages/index/center.vue
index 6d0733b..74990cb 100644
--- a/pda/pages/index/center.vue
+++ b/pda/pages/index/center.vue
@@ -32,14 +32,19 @@
<view class="status" v-if="item.status == 4">鍙彿涓� {{ item.callDateTemp }}</view>
<view class="status scs" v-if="item.status == 5">宸蹭綔涓� {{ item.startDateTemp }}</view>
</view>
- <view class="line" v-if="item.type == 4">
- <text class="label">鍚堝悓鍗曞彿</text>
- <text class="value">{{ item.contractNum }}</text>
+ <view class="line" v-if="item.billCode">
+ <text class="label">杩愯緭鍗曞彿</text>
+ <text class="value">{{ item.billCode }}</text>
+ <text class="primaryColor" @click="handleDetail(item)">杩愬崟璇︽儏</text>
</view>
<view class="line" v-else>
- <text class="label">杩愯緭鍗曞彿</text>
- <text class="value">{{ item.code }}</text>
- <text class="primaryColor" @click="handleDetail(item)">杩愬崟璇︽儏</text>
+ <text class="label">鍚堝悓鍗曞彿</text>
+ <text class="value">{{ item.contractNum }}</text>
+ <text class="primaryColor" @click="subDetail(item)">棰勭害璇︽儏</text>
+ </view>
+ <view class="line line2" v-if="item.billCode && item.wmsContractNum">
+ <text class="label">鍚堝悓鍗曞彿</text>
+ <text class="value">{{ item.wmsContractNum }}</text>
</view>
<view class="line">
<text class="label">椹鹃┒鍛�</text>
@@ -47,9 +52,9 @@
</view>
<view class="line">
<text class="label">鎬昏繍杈撻噺</text>
- <text class="value">{{ item.totalNum }}涓囨敮</text>
+ <text class="value">{{ item.totalNum || item.ioQty}}涓囨敮</text>
</view>
- <view class="line" v-if="item.type != 4">
+ <view class="line" v-if="item.carrierName">
<text class="label">杩愯緭鍏徃</text>
<text class="value">{{ item.carrierName }}</text>
</view>
@@ -81,6 +86,10 @@
<u-icon name="search" class="mr12" size="19" color="#999999" />
<input v-model="platformCallSearch" type="text" placeholder="鎼滅储杞﹁締鐗岀収" placeholder-class="placeholder9"
@confirm="callQuery" />
+ </view>
+ <view v-if="platformCallList.length == 0" class="empty_wrap">
+ <image src="@/static/default_nodata@2x.png" />
+ <text>鏆傛棤鎺掗槦杞﹁締</text>
</view>
<view class="order_list">
<scroll-view scroll-y="true" @scrolltolower="callScrolltolower" class="scroll_view">
@@ -96,14 +105,19 @@
statusMap[item.status]
}}</view>
</view>
- <view class="line" v-if="item.type == 4">
- <text class="label">鍚堝悓鍗曞彿</text>
- <text class="value">{{ item.contractNum }}</text>
- </view>
- <view class="line" v-else>
+ <view class="line" v-if="item.billCode">
<text class="label">杩愯緭鍗曞彿</text>
<text class="value">{{ item.billCode }}</text>
<text class="primaryColor" @click="handleDetail(item)">杩愬崟璇︽儏</text>
+ </view>
+ <view class="line" v-else>
+ <text class="label">鍚堝悓鍗曞彿</text>
+ <text class="value">{{ item.contractNum }}</text>
+ <text class="primaryColor" @click="subDetail(item)">棰勭害璇︽儏</text>
+ </view>
+ <view class="line line2" v-if="item.billCode && item.wmsContractNum">
+ <text class="label">鍚堝悓鍗曞彿</text>
+ <text class="value">{{ item.wmsContractNum }}</text>
</view>
<view class="line">
<text class="label">椹鹃┒鍛�</text>
@@ -111,9 +125,9 @@
</view>
<view class="line">
<text class="label">鎬昏繍杈撻噺</text>
- <text class="value">{{ item.totalNum }}涓囨敮</text>
+ <text class="value">{{ item.totalNum || item.ioQty }}涓囨敮</text>
</view>
- <view class="line" v-if="item.type != 4">
+ <view class="line" v-if="item.carrierName">
<text class="label">杩愯緭鍏徃</text>
<text class="value">{{ item.carrierName }}</text>
</view>
@@ -155,19 +169,20 @@
<view class="value">{{ wmsInfo.carrierName }}</view>
</view>
</view>
- <view class="separate"></view>
- <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
- <view class="title">鍚堝悓鍙凤細{{ item.contractCode }}</view>
- <view class="address">鏀惰揣鍦帮細{{ item.address }}</view>
- <view class="list">
- <view class="item" v-for="line in item.platformWmsDetailList">
- <view class="line">
- <view class="label">鐗╂枡锛�</view>
- <view class="value">{{ line.materialName }}</view>
- </view>
- <view class="line">
- <view class="label">鏁伴噺锛�</view>
- <view class="value">{{ line.ioQty }}涓囨敮</view>
+ <view class="contract_wrap">
+ <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
+ <view class="title">鍚堝悓鍙凤細{{ item.contractCode }}</view>
+ <view class="address">鏀惰揣鍦帮細{{ item.address }}</view>
+ <view class="list">
+ <view class="item" v-for="line in item.platformWmsDetailList">
+ <view class="line">
+ <view class="label">鐗╂枡锛�</view>
+ <view class="value">{{ line.materialName }}</view>
+ </view>
+ <view class="line">
+ <view class="label">鏁伴噺锛�</view>
+ <view class="value">{{ line.ioQty }}涓囨敮</view>
+ </view>
</view>
</view>
</view>
@@ -179,9 +194,8 @@
<view class="TransformModal">
<view class="title">杞Щ鏈堝彴</view>
<view class="transform_list">
- <view class="line" @click="transformPlatClick(item)" v-for="item in activePlatformGroup.platformList"
- :key="item.id">
- <view class="name">{{ item.name }}</view>
+ <view class="line" @click="transformPlatClick(item)" v-for="item in TransferList" :key="item.id">
+ <view class="name">{{ item.name || item.platformName}}</view>
<view class="status" :class="{ green: item.workStatus == 1 }">({{ item.workStatus == 0 ? "绌洪棽" : "浣滀笟涓�" }})
</view>
<image v-if="transformPlatId == item.id" src="@/static/ic_select@2x.png" class="checked" />
@@ -224,7 +238,7 @@
data() {
return {
statusMap,
- windowTop: 44,
+ windowTop: 24,
showPlatformCall: false, // 鏈堝彴鍙彿
showDetail: false,
showTransform: false, // 杞Щ
@@ -243,19 +257,51 @@
transformPlatId: '', // 杞Щ璁板綍鏈堝彴id
transformId: '', // 杞Щ璁板綍浠诲姟id
- wmsInfo: {}
+ TransferList: [],
+ wmsInfo: {},
+ timer: null,
+ timer1: null,
}
},
onLoad() {
this.getPlatformGroup()
- const res = uni.getWindowInfo()
- this.windowTop = res.windowTop
+ },
+ onHide(){
+ if(this.timer1){
+ clearInterval(this.timer1)
+ }
+ if(this.timer){
+ clearInterval(this.timer)
+ }
+ },
+ onUnload(){
+ if(this.timer1){
+ clearInterval(this.timer1)
+ }
+ if(this.timer){
+ clearInterval(this.timer)
+ }
},
methods: {
+ getTransferList() {
+ getPlatformGroupList({
+ queryData: 1,
+ queryType: 1
+ }).then(res => {
+ const platformGroupList = res.data || []
+ if (platformGroupList.length > 0) {
+ const {
+ activePlatformGroup
+ } = this
+ const temp = platformGroupList.find(i => i.id === activePlatformGroup.id)
+ this.TransferList = temp.platformList || []
+ }
+ })
+ },
getPlatformGroup() {
getPlatformGroupList({
queryData: 1,
- queryType: 0
+ queryType: 1
}).then(res => {
this.platformGroupList = res.data || []
if (this.platformGroupList.length > 0) {
@@ -263,38 +309,60 @@
if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
this.activePlatform = this.activePlatformGroup.platformList[0]
this.getPlatformTask()
+ this.timer = setInterval(() => {
+ this.getPlatformTask()
+ }, 120 * 1000)
}
}
})
},
- getPlatformTask() {
+ getPlatformTask() {
+ if(this.timer1){
+ clearInterval(this.timer1)
+ }
getPlatformWorkData({
platformId: this.activePlatform.id
}).then(res => {
- this.platformTaskInfo = res.data
- this.circulInitTaskList()
- setInterval(() => {
- this.circulInitTaskList()
+ this.platformTaskInfo = res.data
+ this.currentDate = new Date(res.data.currentDate).getTime()
+ this.circulInitTaskList()
+ this.currentDate = this.currentDate + 1000
+ this.timer1 = setInterval(() => {
+ this.circulInitTaskList()
+ this.currentDate = this.currentDate + 1000
}, 1000)
- })
+ }, () => {})
},
- circulInitTaskList() {
+ circulInitTaskList() {
+ let time = this.currentDate
if (this.platformTaskInfo && this.platformTaskInfo.platformJobList && this.platformTaskInfo.platformJobList
.length > 0) {
- let time = new Date()
- this.platformTaskInfo.platformJobList.forEach(item => {
- if (item.callDate) {
- let timeNum = time.getTime() - new Date(item.callDate).getTime()
+ this.platformTaskInfo.platformJobList.forEach(item => {
+ if(item.wmsContractNum){
+ item.wmsContractNum = item.wmsContractNum.split(',').join('锛�')
+ }
+ if (item.newCallDate) {
+ let timeNum = 0
+ if(time > new Date(item.newCallDate).getTime()){
+ timeNum = time - new Date(item.newCallDate).getTime()
+ }else{
+ timeNum = 0
+ }
if (timeNum > 3600000) {
item.callDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖绉�')
} else {
item.callDateTemp = dayjs.duration(timeNum).format('m鍒唖绉�')
}
}
- if (item.startDate) {
- let timeNum = time.getTime() - new Date(item.startDate).getTime()
+ if (item.newStartDate) {
+ let timeNum = 0
+ if(time > new Date(item.newStartDate).getTime()){
+ timeNum = time - new Date(item.newStartDate).getTime()
+ }else{
+ timeNum = 0
+ }
if (timeNum > 3600000) {
- item.startDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖s绉�')
+ item.startDateTemp = dayjs.duration(timeNum).format('H灏忔椂m鍒唖绉�')
} else {
item.startDateTemp = dayjs.duration(timeNum).format('m鍒唖绉�')
}
@@ -309,6 +377,10 @@
if (this.activePlatformGroup.platformList && this.activePlatformGroup.platformList.length > 0) {
this.activePlatform = this.activePlatformGroup.platformList[0]
this.getPlatformTask()
+ clearInterval(this.timer)
+ this.timer = setInterval(() => {
+ this.getPlatformTask()
+ }, 60 * 1000)
}
this.showPlatformgroup = false
},
@@ -324,20 +396,29 @@
this.showDetail = true
})
},
+ subDetail(item) {
+ uni.navigateTo({
+ url: `/pages/index/SubDetail?id=${item.bookId}`
+ })
+ },
handleFinish(item) {
finishWork({
jobId: item.id
}).then(res => {
- this.showToast('瀹屾垚浣滀笟')
- this.getPlatformTask()
+ if (res && res.code == 200) {
+ this.showToast('瀹屾垚浣滀笟')
+ this.getPlatformTask()
+ }
})
},
handleWork(item) { // 寮�濮嬩綔涓�
beginWork({
jobId: item.id
}).then(res => {
- this.showToast('宸插紑濮嬩綔涓�')
- this.getPlatformTask()
+ if (res && res.code == 200) {
+ this.showToast('宸插紑濮嬩綔涓�')
+ this.getPlatformTask()
+ }
})
},
handlePass(item) {
@@ -366,20 +447,26 @@
this.platformCallPage = 1
if (callType == 1) { // 鍏ュ洯鍙彿
platformInPark({
- jobId: item.id,
+ jobId: item.id,
platformId: activePlatform.id
- }).then(res => {
- this.showToast('鍙彿鎴愬姛')
- this.getPlatformCallList()
+ }).then(res => {
+ if (res && res.code == 200) {
+ this.showToast('鍙彿鎴愬姛')
+ this.getPlatformCallList()
+ }
+
})
} else { // 鏈堝彴鍙彿
platformCallNumber({
platformId: activePlatform.id,
jobId: item.id
- }).then(res => {
- this.showToast('鍙彿鎴愬姛')
- this.getPlatformCallList()
- this.getPlatformTask()
+ }).then(res => {
+ if (res && res.code == 200) {
+ this.showToast('鍙彿鎴愬姛')
+ this.getPlatformCallList()
+ this.getPlatformTask()
+ }
+
})
}
},
@@ -422,7 +509,12 @@
page: platformCallPage
}).then(res => {
if (res.data && res.data.records) {
- this.platformCallList = [...this.platformCallList, ...res.data.records]
+ this.platformCallList = [...this.platformCallList, ...res.data.records]
+ this.platformCallList.forEach(item => {
+ if(item.wmsContractNum){
+ item.wmsContractNum = item.wmsContractNum.split(',').join('锛�')
+ }
+ })
this.platformCallTotal = res.data.total
}
})
@@ -454,6 +546,7 @@
} = this
this.transformId = item.id
this.transformPlatId = activePlatform.id
+ this.getTransferList()
this.showTransform = true
},
handleErr(item) {
@@ -475,6 +568,10 @@
}
</script>
<style lang="scss">
+ page {
+ background-color: #f1f2f2;
+ }
+
.main_app {
padding: 0rpx;
height: calc(100vh - 44px);
@@ -492,7 +589,7 @@
flex-wrap: wrap;
.item {
- width: 210rpx;
+ width: 220rpx;
height: 80rpx;
line-height: 80rpx;
text-align: center;
@@ -501,8 +598,11 @@
border: 1rpx solid #999999;
font-size: 30rpx;
color: #222222;
- margin-bottom: 20rpx;
- margin-right: 30rpx;
+ margin-bottom: 15rpx;
+ margin-right: 15rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
&:nth-of-type(3n) {
margin-right: 0;
@@ -565,16 +665,22 @@
margin-bottom: 30rpx;
.code {
- display: flex;
font-weight: 600;
height: 60rpx;
- line-height: 60rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
font-size: 32rpx;
color: #111111;
border-radius: 8rpx;
border: 1rpx solid #dfdede;
text {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100%;
+
&:nth-of-type(1) {
background: #e9f5f6;
padding: 0 12rpx;
@@ -605,12 +711,15 @@
margin-bottom: 20rpx;
.label {
- width: 144rpx;
- color: #666666;
+ width: 132rpx;
+ color: #666666;
+ flex-shrink: 0;
}
.value {
- flex: 1;
+ flex: 1;
+ display: flex;
+ flex-wrap: wrap;
}
}
@@ -657,8 +766,9 @@
.btn {
width: 224rpx;
height: 88rpx;
- line-height: 88rpx;
- text-align: center;
+ display: flex;
+ justify-content: center;
+ align-items: center;
background: #ffffff;
border-radius: 44rpx;
color: $uni-color-primary;
@@ -694,7 +804,8 @@
}
.order_list {
- height: calc(100% - 140rpx);
+ height: calc(100% - 160rpx);
+ margin-top: 20rpx;
.scroll_view {
height: 100%;
@@ -703,6 +814,10 @@
.platform_ing {
border-radius: 8rpx;
border: 1rpx solid #dfe2e8;
+
+ &:nth-of-type(1) {
+ margin-top: 0;
+ }
}
}
@@ -745,7 +860,8 @@
.label {
font-size: 28rpx;
color: #666666;
- width: 88rpx;
+ width: 88rpx;
+ flex-shrink: 0;
}
.value {
@@ -855,7 +971,10 @@
}
.detail_modal {
+ height: 100vh;
padding: 36rpx 30rpx;
+ border-radius: 12rpx;
+ box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.5);
.modal_title {
font-weight: 600;
@@ -866,19 +985,43 @@
margin-bottom: 36rpx;
}
+ .contract_wrap {
+ height: calc(100% - 400rpx);
+ overflow-y: auto;
+ }
+
.contract_list {
+ border-top: 1rpx solid #E5E5E5;
+ margin-bottom: 30rpx;
+ padding-top: 30rpx;
+
+ &:nth-last-child(1) {
+ margin-bottom: 0;
+ }
+
.list {
background: #f7f7f7;
border-radius: 8rpx;
padding: 20rpx;
+ .item {
+ border-bottom: 1rpx solid #e5e5e5;
+ padding-bottom: 20rpx;
+ margin-bottom: 20rpx;
+
+ &:nth-last-child(1) {
+ border: none;
+ padding-bottom: 0;
+ margin-bottom: 0;
+ }
+ }
+
.line {
display: flex;
margin-bottom: 20rpx;
- &:nth-of-type(3n) {
- border-top: 1rpx solid #e5e5e5;
- padding-top: 20rpx;
+ &:nth-last-child(1) {
+ margin-bottom: 0rpx;
}
.label {
@@ -960,5 +1103,9 @@
}
}
}
+ }
+ .line2{
+ margin-right: -30rpx;
+ padding-right: 0;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3