From c311ab706cfc3934e03c875211a41082acff575a Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期一, 02 九月 2024 08:14:23 +0800 Subject: [PATCH] feat:PVC流程提交 --- pages/loadUnload-page/selectTarget/selectTarget.vue | 301 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 209 insertions(+), 92 deletions(-) diff --git a/pages/loadUnload-page/selectTarget/selectTarget.vue b/pages/loadUnload-page/selectTarget/selectTarget.vue index 2621ffa..987a188 100644 --- a/pages/loadUnload-page/selectTarget/selectTarget.vue +++ b/pages/loadUnload-page/selectTarget/selectTarget.vue @@ -2,7 +2,7 @@ <view class="main"> <!-- 褰撳墠閫夋嫨浠撳簱 --> <view class="top-tag"> - <text>鐐瑰嚮鍒囨崲/閫夋嫨浠撳簱</text> + <text style="margin-right:20rpx">鐐瑰嚮鍒囨崲/閫夋嫨浠撳簱</text> <u-tag size='large' icon='map' @@ -11,6 +11,7 @@ ></u-tag> </view> <!-- 鐐瑰嚮鏌ョ湅鍘熺洂閽欓晛 --> + <view class="self-deliver"> <view class="self-deliver_text"> 鏌ョ湅鍘熺洂閽欓晛缁撴灉 @@ -22,6 +23,11 @@ @click="todoDetail"></u-button> </view> </view> + <view + v-if="messageObj.carNo" + class="notice-bar"><u-notice-bar :text="messageText" + :fontSize="30" :showIcon = 'true' + ></u-notice-bar></view> <!-- <u--form labelPosition="top" labelWidth="20%" :borderBottom="false" @@ -48,7 +54,7 @@ text="鏌ョ湅璇ヤ粨搴撴敹鍙戝崟" @click.stop="formHandle"></u-button> </view> --> - <!-- 鐓ゅ満 --> + <!-- 鍦哄湴 --> <view class='div-box'> <u-empty mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png" @@ -73,7 +79,11 @@ <view class="third-line_text">瀹㈡埛鍚嶇О:</view> <view>{{ item.customerName }}</view> </view> - <view class="third-line" v-if="item.productName === 'EDC'"> + <view class="third-line" v-if="/鑱氭隘涔欑儻鏍戣剛/.test(item.productName)"> + <view class="third-line_text">鍖呰绫诲瀷:</view> + <view>{{ proType[item.packingType] }}</view> + </view> + <view class="third-line" v-if="item.productName === '浜屾隘涔欑兎(EDC)'"> <view class="third-line_text">璐ㄦ鐘舵��:</view> <view> <u-tag :text="checkStatusList[item.checkStatus]" plain > </u-tag></view> </view> @@ -81,7 +91,7 @@ <view class="fourth"> <view class="fourth-icon"> <view - style="width: 24rpx;height: 24rpx;line-height: 24rpx;background: url('https://mx.jzeg.cn:9096/appimg/image/banner/clock.png') no-repeat;background-size: cover"> + style="width: 24rpx;height: 24rpx;line-height: 24rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/clock.png') no-repeat;background-size: cover"> </view> </view> <view class="senddate">{{ item.sendDate }}</view> @@ -89,7 +99,7 @@ <view class="fourth"> <view class="fourth-icon"> <view - style="width: 26rpx;height: 26rpx;line-height: 26rpx;background: url('https://mx.jzeg.cn:9096/appimg/image/banner/carnNUm.png') no-repeat;background-size: cover;"> + style="width: 26rpx;height: 26rpx;line-height: 26rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/carnNUm.png') no-repeat;background-size: cover;"> </view> </view> <view class="senddate">{{ item.orderCode }}</view> @@ -98,16 +108,17 @@ <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> <uni-tr> - <uni-th width='140' + <uni-th width='120' align="center">鎿嶄綔</uni-th> - <uni-th align="center" width='120'>浜у搧</uni-th> - <uni-th align="center">浠撳簱</uni-th> - <uni-th align="center">鐨噸</uni-th> - <uni-th align="center">姣涢噸</uni-th> - <uni-th align="center">鍑�閲�</uni-th> - <uni-th align="center">鏁伴噺</uni-th> - <!-- <uni-th align="center">浠撳簱</uni-th> --> - <!-- <uni-th align="center">鐘舵��</uni-th> --> + <uni-th align="center" width='200'>浜у搧</uni-th> + <uni-th align="center" width='200'>鍖呰绫诲瀷</uni-th> + <uni-th align="center" width='200'>浠撳簱</uni-th> + <uni-th align="center" width='100'>鐨噸</uni-th> + <uni-th align="center" width='100'>姣涢噸</uni-th> + <uni-th align="center" width='100'>鍑�閲�</uni-th> + <uni-th align="center" width='100'>鏁伴噺</uni-th> + <uni-th align="center">璁″垝閲�</uni-th> + <uni-th align="center">瀹為檯閲�</uni-th> </uni-tr> <uni-tr v-for="(subItem, index) in item.tmTaskCoalList" :key="index"> @@ -115,24 +126,33 @@ <view class="btnBox"> <!-- --> <u-button text='鏌ョ湅' @click="viewDetail(subItem)"></u-button> - <u-button type='primary' text='纭瑁呭嵏' v-if="subItem.flag" @click="enterOk(item,subItem)"></u-button> + <u-button type='primary' text='纭瑁呭嵏' v-if="subItem.flag && isBtnShow(item)" @click="enterOk(item,subItem)"></u-button> </view></uni-td> <uni-td align="center"> <view>{{ subItem.productName }}</view></uni-td> - <uni-td> - <view class="name">{{ subItem.bunkerName }}</view> + <uni-td> + <view>{{ proType[item.packingType] }}</view> </uni-td> <uni-td> - <view class="name">{{ subItem.skin }}</view> + <view>{{ subItem.bunkerName }}</view> </uni-td> <uni-td> - <view class="name">{{ subItem.hair }}</view> + <view class="name" v-if="subItem.skin">{{ Number(subItem.skin).toFixed(2) || '' }}</view> + </uni-td> + <uni-td> + <view class="name" v-if="subItem.hair"> {{ Number(subItem.hair).toFixed(2) || '' }}</view> </uni-td> <uni-td> - <view class="name">{{ subItem.clean }}</view> + <view class="name" v-if="(subItem.clean || (subItem.clean && subItem.clean === 0))">{{ Number(subItem.clean).toFixed(2) || ''}}</view> </uni-td> <uni-td> <view class="name">{{ subItem.productQuantity }}</view> + </uni-td> + <uni-td> + <view class="name">{{ subItem.planMeasure }}</view> + </uni-td> + <uni-td> + <view class="name">{{ subItem.realityMeasure }}</view> </uni-td> <!-- 聽 <uni-td align="center"> @@ -162,27 +182,27 @@ :showCancelButton="true"> <view class="slot-content"> 鏄惁纭瑁呭嵏锛� - <view v-if="isNumOk || isClean"> + <view v-if="isNumOk || isClean||isFlagNum"> <text>浜у搧鍚嶇О锛歿{activeObj.productName}}</text> - <view class="queren"> <text>璇疯緭鍏�</text>锛� <u--input type='digit' border="bottom" - :disabled="activeObj.productName === 'PVC' && activeObj.packingType === 5" - :placeholder="isNumOk ? '鏁伴噺' :'鎶樺惃'" + :placeholder="/鑱氭隘涔欑儻鏍戣剛/.test(activeObj.productName) ? '瀹為檯鍚ㄦ暟' : isNumOk ? '鏁伴噺' :'鎶樺惃'" v-model="checkNum" > </u--input> <text> {{isNumOk ? '浠�' : '鍚�' }}</text> </view> - <!-- pvc 骞朵笖鏄ぇ鍖� --> - <view class="pvcBig" v-if="activeObj.productName === 'PVC' && activeObj.packingType === 5"> + <!-- 鑱氭隘涔欑儻鏍戣剛 骞朵笖鏄ぇ鍖� --> + <view class="pvcBig" v-if="activeObj.productName === '鑱氭隘涔欑儻鏍戣剛' && activeObj.packingType === 5"> </view> <view v-if="isNumOk && activeObj.productQuantity">褰撳墠鏁伴噺锛歿{activeObj.productQuantity}}浠�</view> <view v-if="activeObj.containerNumber"><span>闆嗚绠卞彿锛�</span>{{activeObj.containerNumber}}</view> + + </view> <view>鏄惁绌鸿溅鍑哄巶: <u-radio-group v-model="isEmptyCar" placement="row" @@ -210,11 +230,9 @@ > </u-radio> </u-radio-group></view> - </view> - </view> </u-modal> - <!-- 鐓や粨 --> + <!-- 浠撳簱 --> <!-- <u-action-sheet :actions="secondClassActionsList" :show="secondClassShow" cancelText='鍙栨秷' @@ -232,13 +250,43 @@ </template> <script> - import { BaseUrl } from '@/api/publicInterface.js' + import { mapState, mapMutations, mapGetters } from 'vuex'; export default { props: { loadUnloadData: { type: Object, default: {} } + }, + computed:{ + isBtnShow(){ + return function(item){ + console.log(item,'itemssss') + if(!item){ + return false + }else{ + if(this.errorStatusList.includes(item.status)){ + return false + }else if (item.productName ==='浜屾隘涔欑兎(EDC)' && item.checkStatus !== 7){ + return false; + }else{ + return true; + } + } + + } + + }, + messageText(){ + if(this.messageObj.carNo){ + return `鏃堕棿:${this.messageObj.now}锛�${this.messageObj.carNo}锛屼骇鍝�${this.messageObj.productNames}鍦�${this.messageObj.bunkerName}鍏ュ満浜嗭紝璇峰強鏃舵鏌ワ紒` + }else{ + return '鏆傛棤娑堟伅' + } + + }, + ...mapGetters(['websocketData']) + }, watch: { loadUnloadData: { @@ -248,15 +296,42 @@ }, deep: true, immediate: true + }, + //鐩戝惉娑堟伅 + 'websocketData': { + handler(v) { + console.log(v, '鎺ュ彈鐨剋s鏁版嵁'); + if(v) { + if (v.startsWith('kgTipHead')) { + console.log('vvvvv',v.slice(11)) + let nowWeighObj = JSON.parse(v.slice(11)); + console.log(nowWeighObj,'nowWeight'); + this.messageObj = nowWeighObj; + // this.messageList = JSON.parse(v.slice(5)); + // this.messageList = { + // ...this.messageList, + // title: this.messageList.title.slice(0, 8) + '...', + // content: removeTags(this.messageList.content).trim().slice(0, 8) + '...' + // } + // this.messagePushShow = true; + } + } + }, + deep: true, + immediate: true } }, data() { return { + proType:['鏁h','娑叉埃鐡惰','缃愯','PVC25','PVC80','PVC1150','PVc1200'], dataForm: { firstClass: "", secondClass: "", orderType: '', - bunkerId:"" + bunkerIds:"" + }, + messageObj:{ + carNo:'', }, isEmptyCar:null, //鏄惁绌鸿溅鍑哄巶 checkStatusList:[ @@ -267,10 +342,11 @@ typeText:'', // 纭瑁呭嵏涓夌绫诲瀷 isNumOk:false, //璁′欢 isClean:false, // 鎶樺惃 - // 鐓ゅ満鎿嶄綔鑿滃崟 + isFlagNum:false,// PVCV + // 鍦哄湴鎿嶄綔鑿滃崟 firstClassActionsList: [], firstClassShow: false, - // 鐓や粨鎿嶄綔鑿滃崟 + // 浠撳簱鎿嶄綔鑿滃崟 secondClassActionsList: [], secondClassShow: false, coalList: [], @@ -294,6 +370,7 @@ ], isOrderType: '璇烽�夋嫨', //纾呮埧绫诲瀷鏄惁閫夋嫨浜� 閫夋嫨浜嗘竻绌� cleanIconClick: true, //淇敼鐐瑰嚮娓呯┖纾呮埧閫夋嫨浼氬嚭鐜� + errorStatusList:[0,1,6,24,27,26] // 涓嶈兘鐐瑰嚮纭瑁呭嵏鐨勭姸鎬� }; }, @@ -304,7 +381,7 @@ viewDetail(item){ //鏌ョ湅鏀跺彂鍗曡鎯� uni.navigateTo({ - url: `/pages/loadUnload-page/loadUnlaodPageDetail/detail?id=${item.id}&checkId=${item.checkId}` + url: `/subPages/loadUnlaodPageDetail/detail?id=${item.id}&checkId=${item.checkId}` }); }, @@ -315,7 +392,7 @@ }) }, - // 鑾峰彇鐓ゅ満 + // 鑾峰彇鍦哄湴 getDeptIdFiled() { uni.showLoading({ title: "鍔犺浇涓�" @@ -324,10 +401,18 @@ uni.hideLoading() if (res.code === 0) { this.firstClassActionsList = res.data; + this.firstClassActionsList.unshift({name:'鍏ㄩ儴',id:res.data.map(item=>item.id).join(',')}) if(res.data.length){ - this.dataForm.bunkerId = res.data[0].id; - uni.setStorageSync('bunkerId',res.data[0].id) - this.dataForm.firstClass = res.data[0].name; + if(!uni.getStorageSync('bunkerIds')){ + this.dataForm.firstClass = '鍏ㄩ儴' + this.dataForm.bunkerIds = res.data.map(item=>item.id).join(',') + uni.setStorageSync('bunkerIds',res.data.map(item=>item.id).join(',')) + }else{ + this.dataForm.bunkerIds = uni.getStorageSync('bunkerIds'); + uni.setStorageSync('bunkerIds',this.dataForm.bunkerIds) + } + + this.getDetailData(); } @@ -335,7 +420,7 @@ this.$u.toast('鍔犺浇澶辫触') } }).then(() => { - this.getUserInfo() + }) }, firstClassSelect() { @@ -348,7 +433,7 @@ uni.showLoading({ title:'鍔犺浇涓�' }) - this.$reqGet('getTaskCoalListByBunkerId', { bunkerId:this.dataForm.bunkerId }).then(res => { + this.$reqGet('getTaskCoalListByBunkerId', { bunkerIds:this.dataForm.bunkerIds }).then(res => { uni.hideLoading(); if (res.code === 0) { this.detailData = res.data.map(item=>{ @@ -371,68 +456,81 @@ }, firstClassSelectClick(val) { this.dataForm.firstClass = val.name; - this.dataForm.bunkerId= val.id; - uni.setStorageSync('bunkerId', val.id); + this.dataForm.bunkerIds= val.id; + uni.removeStorageSync('bunkerIds') + uni.setStorageSync('bunkerIds', val.id); this.getDetailData(); this.filedId = val.id }, - formHandle() { - if (!this.dataForm.firstClass) return this.$u.toast('璇烽�夋嫨鐓ゅ満鎴栬�呯叅浠�'); - this.$nextTick(()=>{ - uni.navigateTo({ - url: `/pages/loadUnload-page/loadUnload-detail/loadUnload-detail?bunkerId=${this.dataForm.bunkerId}` - }) - }) + // formHandle() { + // if (!this.dataForm.firstClass) return this.$u.toast('璇烽�夋嫨鍦哄湴鎴栬�呬粨搴�'); + // this.$nextTick(()=>{ + // uni.navigateTo({ + // url: `/pages/loadUnload-page/loadUnload-detail/loadUnload-detail?bunkerId=${this.dataForm.bunkerId}` + // }) + // }) - }, + // }, change(){ }, close(){ }, - - - - open(){}, enterOk(parintItem,item){ console.log(parintItem,'priintItem') - uni.request({ - url: `${BaseUrl}/admin/dict/type/tray_weight`, - method: 'GET', - header: { - Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'), - clientToc: 'Y', - 'CLIENT_TOC': 'Y', - }, - success: (res) => { - console.log(res, '缁戝畾缁撴灉'); - this.pvcWeight = res.data.data[0].value ? Number(res.data.data[0].value) : ''; + // uni.request({ + // url: `${BaseUrl}/admin/dict/type/tray_weight`, + // method: 'GET', + // header: { + // Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'), + // clientToc: 'Y', + // 'CLIENT_TOC': 'Y', + // }, + // success: (res) => { + // this.pvcWeight = res.data.data.find(item=>item.label === '5') ? Number(res.data.data.find(item=>item.label == '5').value) : ''; - } - }) + // } + // }) + // 璁′欢锛� 0 鑱氭隘涔欑儻鏍戣剛 type + // 鎶樺惃: this.activeObj = item; if( (parintItem.orderType === '澶栬喘' ||parintItem.orderType === '澶栬喘閫�' ) && item.isWeight === 0){ this.isNumOk = true; this.isClean = false; + this.isFlagNum = false; //鍥炴樉璁℃暟閲� this.checkNum = item.productQuantity ? item.productQuantity : ''; }else if( parintItem.orderType ==='澶栬喘' && item.isWeight === 1){ this.isClean = true; this.isNumOk = false; - }else if(parintItem.orderType ==='澶栭攢' && item.productName ==='PVC' && (item.packingType === 3 || item.packingType === 4)){ - this.isNumOk = true; - this.isClean = false; - } - else{ + this.isFlagNum = false; + }else{ this.isNumOk = false; this.isClean = false; + this.isFlagNum = false; } + //鑱氭隘涔欑儻鏍戣剛 + if(parintItem.orderType ==='澶栭攢' && (/鑱氭隘涔欑儻鏍戣剛/.test(item.productName) || item.productName === 'PVC') && (item.packingType === 3 || item.packingType === 4)){ + this.isNumOk = false; + this.isClean = false; + this.isFlagNum = true;; + this.checkNum = item.planMeasure; + } + //鐡惰娑叉隘鏉′欢 + //EDC 璐ㄦ瀹屾垚鏂瑰彲纭 + if(item.packingType === 1){ + this.isNumOk = true; + this.isClean = false; + this.isFlagNum = false; + } + // //pvc澶у寘鑷姩璁$畻鎶樺惃 - if(parintItem.productName === 'PVC' && item.packingType === 5){ - this.checkNum = (Number(item.productQuantity) * this.pvcWeight) - + if((/鑱氭隘涔欑儻鏍戣剛/.test(item.productName) || item.productName === 'PVC') && item.packingType === 5){ + this.isNumOk = true; + this.isClean = false; + this.isFlagNum = false; } if(parintItem.orderType === '澶栬喘'){ this.isEmptyCar = '1'; @@ -456,9 +554,14 @@ uni.showLoading({ title:'鍔犺浇涓�' }); - if(!this.checkNum || this.isEmptyCar === null){ + console.log(this.activeObj,this.activeObj.productName ==='浜屾隘涔欑兎(EDC)' && this.activeObj.checkStatus !== 7,'12313') + if(this.activeObj.productName ==='浜屾隘涔欑兎(EDC)' && this.activeObj.checkStatus !== 7){ + console.log('瑙﹀彂锛屸��13131') + this.enterZx = false; + this.$u.toast(`璇锋鏌ュ綋鍓嶄簩姘箼鐑�(EDC)DC璁㈠崟璐ㄦ鐘舵�佸悗鍦ㄧ‘璁よ鍗�!`); + + }else if( this.isEmptyCar === null){ this.$u.toast(`璇锋鏌�${this.isNumOk ? '璁′欢鏁伴噺' :'鎶樺惃'}锛屼互鍙婃槸鍚︾┖杞﹀嚭鍘傞」!`); - return }else{ this.enterZx = false; this.$reqPost('confirmLoadAndUnload',{ @@ -466,7 +569,9 @@ productQuantity:this.isNumOk ? this.checkNum : '', discount:this.isClean ? this.checkNum : null, isEmptyCar:this.isEmptyCar, - isPretendDischar:this.activeObj.isPretendDischar + isPretendDischar:this.activeObj.isPretendDischar, + realityMeasure:this.isFlagNum ? this.checkNum : null, + productId:this.isFlagNum ? this.activeObj.productId : null, },'json').then(res=>{ uni.hideLoading(); console.log(res,'rez') @@ -490,6 +595,7 @@ }) } + }, //鍒ゆ柇鏄惁鏄� 涓夌鐗规畩绫诲瀷瀵瑰簲寮圭獥 judgeTypeFun(name){ @@ -500,7 +606,7 @@ todoDetail(){ console.log() uni.navigateTo({ - url: `/pages/loadUnload-page/checkTestDetails/index` + url: `/subPages/checkTestDetails/index` }) } @@ -514,18 +620,12 @@ uni.hideLoading() if (res.code === 0) { this.firstClassActionsList = res.data; - if(res.data.length === 1){ - this.dataForm.bunkerId = res.data[0].id; - uni.setStorageSync('bunkerId', res.data[0].id) - this.dataForm.firstClass = res.data[0].name; - } } else { this.$u.toast('鍔犺浇澶辫触') } }).then(() => { - this.getUserInfo() }); @@ -543,16 +643,31 @@ /deep/ .uni-table{ min-width: 0!important; margin-left: 20rpx; + width: auto; } } +.notice-bar{ + margin-left: vww(10); + margin-bottom: 20rpx; + margin-top: 20rpx; + + width: 98%; + .u-notice-bar{ + border-radius: 20rpx; + margin-top: 20rpx; + height: 40rpx; + } +} // 鑷富閰嶉�� .self-deliver { - position: relative; + position: relative; + text-indent: 20rpx; top: vww(10); width: 95%; height: vww(40); - margin: vww(8) 10rpx; + margin: vww(13) 10rpx; + margin-left: 20rpx; padding: 0 vww(8); background: #ffffff; box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); @@ -565,6 +680,7 @@ height: 28px !important; line-height: 40px; padding: 0 12px; + text-indent: 0!important; font-size: 28rpx; font-weight: 300; color: #ffffff; @@ -614,7 +730,7 @@ } .btnBox{ - min-width: 130rpx; + min-width: 100rpx; display: flex; justify-content: space-around; text{ @@ -628,14 +744,15 @@ position: relative; top: vww(-160); .top-tag{ - width: 33%; + width: 60%; + margin-left: 55%; height: 100rpx; - margin-left: 65%; + margin-left: 50%; display: flex; /* margin-top: 40rpx; */ color: #fff; align-items: center; - justify-content: space-between; + } .div-box{ @@ -683,7 +800,7 @@ } } .history-information { - margin-bottom:50rpx; + margin-bottom:30rpx; margin-top: 10rpx; background: #ffffff; border-radius: 20rpx; -- Gitblit v1.9.1