From 4e4842518007726677c1dd23dc57f3448e7b08b4 Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期二, 30 七月 2024 17:37:35 +0800 Subject: [PATCH] feat:库管首页修改细节 --- pages/loadUnload-page/selectTarget/selectTarget.vue | 402 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 323 insertions(+), 79 deletions(-) diff --git a/pages/loadUnload-page/selectTarget/selectTarget.vue b/pages/loadUnload-page/selectTarget/selectTarget.vue index 495d911..ddc800c 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' @@ -10,6 +10,24 @@ @click="firstClassSelect" ></u-tag> </view> + <!-- 鐐瑰嚮鏌ョ湅鍘熺洂閽欓晛 --> + + <view class="self-deliver"> + <view class="self-deliver_text"> + 鏌ョ湅鍘熺洂閽欓晛缁撴灉 + </view> + <view class="self-deliver_btn"> + <u-button text="鏌ョ湅" + type="primary" + shape="cirle" + @click="todoDetail"></u-button> + </view> + </view> + <view + class="notice-bar"><u-notice-bar :text="messageText" + :fontSize="30" :showIcon = 'true' + :direction='messageObj.carNo ? "row" :"column"' + ></u-notice-bar></view> <!-- <u--form labelPosition="top" labelWidth="20%" :borderBottom="false" @@ -36,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" @@ -50,12 +68,10 @@ :key="i"> <view class="first"> <view class="">{{ item.carNo || '' }}</view> - <view class=""><u-icon name="arrow-right" - color="#999999" - size="40"></u-icon></view> + <view class=""></view> </view> <view class="second"> - <view class="coal-name">{{ item.productName || '' }}</view> + <view class="coal-name">{{ item.productNames || item.productName }}</view> <view class="order-type">{{ item.orderType || '' }}</view> </view> <view class="third"> @@ -63,11 +79,7 @@ <view class="third-line_text">瀹㈡埛鍚嶇О:</view> <view>{{ item.customerName }}</view> </view> - <view class="third-line"> - <view class="third-line_text">浠撳簱:</view> - <view >{{ item.bunkerName }}</view> - </view> - <view class="third-line"> + <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> @@ -92,15 +104,14 @@ <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> <uni-tr> - <uni-th width='140' + <uni-th width='120' 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">鏁伴噺</uni-th> + <uni-th align="center" width='120'>浜у搧</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> --> @@ -108,25 +119,23 @@ <uni-tr v-for="(subItem, index) in item.tmTaskCoalList" :key="index"> <uni-td align="center"> <view class="btnBox"> - <!-- v-if="subItem.flag" --> - <text @click="viewDetail(subItem)">鏌ョ湅</text> - <text @click="enterOk(subItem)">纭瑁呭嵏</text> + <!-- --> + <u-button text='鏌ョ湅' @click="viewDetail(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 class="name">{{ subItem.productName }}</view></uni-td> - <uni-td align="center"> - <view style="width:150rpx">{{ subItem.carNo }}</view></uni-td> + <view>{{ subItem.productName }}</view></uni-td> <uni-td> - <view class="name">{{ subItem.orderType }}</view> + <view>{{ subItem.bunkerName }}</view> </uni-td> <uni-td> - <view class="name">{{ subItem.skin }}</view> + <view class="name" v-if="subItem.skin">{{ Number(subItem.skin).toFixed(2) || '' }}</view> </uni-td> <uni-td> - <view class="name">{{ subItem.hair }}</view> + <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> @@ -161,10 +170,10 @@ 鏄惁纭瑁呭嵏锛� <view v-if="isNumOk || isClean"> <text>浜у搧鍚嶇О锛歿{activeObj.productName}}</text> - <view class="queren"> <text>璇疯緭鍏�</text>锛� <u--input + type='digit' border="bottom" :placeholder="isNumOk ? '鏁伴噺' :'鎶樺惃'" v-model="checkNum" @@ -172,12 +181,44 @@ </u--input> <text> {{isNumOk ? '浠�' : '鍚�' }}</text> </view> + <!-- pvc 骞朵笖鏄ぇ鍖� --> + <view class="pvcBig" v-if="activeObj.productName === 'PVC' && 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" + iconPlacement="right" + style="justify-content: space-evenly" + > + <u-radio + :key="1" + :label="'鏄�'" + :name="'1'" + shape="circle" + iconSize="32" + label-size="32" + size="40" + > + </u-radio> + <u-radio + :key="0" + :label="'鍚�'" + :name="'0'" + shape="circle" + iconSize="32" + label-size="32" + size="40" + > + </u-radio> + </u-radio-group></view> </view> </u-modal> - <!-- 鐓や粨 --> + <!-- 浠撳簱 --> <!-- <u-action-sheet :actions="secondClassActionsList" :show="secondClassShow" cancelText='鍙栨秷' @@ -195,12 +236,42 @@ </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{ + 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: { @@ -210,6 +281,29 @@ }, 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() { @@ -218,20 +312,24 @@ firstClass: "", secondClass: "", orderType: '', - bunkerId:"" + bunkerIds:"" }, + messageObj:{ + carNo:'', + }, + isEmptyCar:null, //鏄惁绌鸿溅鍑哄巶 checkStatusList:[ - '寰呭彇鏍�','宸插彇鏍�','鍚堟牸','涓嶅悎鏍�' + '寰呭彇鏍�','宸插彇鏍�','璐ㄦ涓�','寰呭鏍�','澶嶆牳涓�','寰呭瀹�','瀹″畾涓�','宸插畬鎴�' ], index: '', enterZx:false, typeText:'', // 纭瑁呭嵏涓夌绫诲瀷 isNumOk:false, //璁′欢 isClean:false, // 鎶樺惃 - // 鐓ゅ満鎿嶄綔鑿滃崟 + // 鍦哄湴鎿嶄綔鑿滃崟 firstClassActionsList: [], firstClassShow: false, - // 鐓や粨鎿嶄綔鑿滃崟 + // 浠撳簱鎿嶄綔鑿滃崟 secondClassActionsList: [], secondClassShow: false, coalList: [], @@ -243,6 +341,7 @@ filedId: "", selectedCoal: [], orderTypeShow: false, + pvcWeight:'', orderTypeList: [{ name: '澶栭攢', id: Math.floor(Math.random() * 100) + 1, @@ -254,14 +353,18 @@ ], isOrderType: '璇烽�夋嫨', //纾呮埧绫诲瀷鏄惁閫夋嫨浜� 閫夋嫨浜嗘竻绌� cleanIconClick: true, //淇敼鐐瑰嚮娓呯┖纾呮埧閫夋嫨浼氬嚭鐜� + errorStatusList:[0,1,6,24,27,26] // 涓嶈兘鐐瑰嚮纭瑁呭嵏鐨勭姸鎬� }; }, methods: { + getPVCWeight(){ + + }, 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}` }); }, @@ -271,7 +374,8 @@ this.userInfo.password = null }) }, - // 鑾峰彇鐓ゅ満 + + // 鑾峰彇鍦哄湴 getDeptIdFiled() { uni.showLoading({ title: "鍔犺浇涓�" @@ -281,9 +385,10 @@ if (res.code === 0) { this.firstClassActionsList = res.data; 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; + this.dataForm.bunkerIds = res.data.map(item=>item.id).join(',') + uni.setStorageSync('bunkerIds',res.data.map(item=>item.id).join(',')) + this.firstClassActionsList.unshift({name:'鍏ㄩ儴',id:res.data.map(item=>item.id).join(',')}) + this.dataForm.firstClass = '鍏ㄩ儴' this.getDetailData(); } @@ -304,7 +409,8 @@ 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=>{ item.tmTaskCoalList.map(el=>{ @@ -314,27 +420,33 @@ return item; }); console.log(this.detailData,'detailData') - uni.hideLoading(); + }else if(res.code === 1){ + this.detailData = []; + this.$u.toast(res.msg ? res.msg : '鎿嶄綔澶辫触锛侊紒') } + }).catch(err=>{ + this.detailData = []; + this.$u.toast(res.msg ? res.msg : '鎿嶄綔澶辫触锛侊紒') }) }, 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(){ }, @@ -342,15 +454,57 @@ }, open(){}, - enterOk(item){ - console.log('123',item) + 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) => { + // this.pvcWeight = res.data.data.find(item=>item.label === '5') ? Number(res.data.data.find(item=>item.label == '5').value) : ''; + + // } + // }) + // 璁′欢锛� 0 pvc type + // 鎶樺惃: this.activeObj = item; - if(item.productQuantity){ + if( (parintItem.orderType === '澶栬喘' ||parintItem.orderType === '澶栬喘閫�' ) && item.isWeight === 0){ this.isNumOk = true; - this.isClean = false; - }else if(item.isWeight === 1){ + this.isClean = false; + //鍥炴樉璁℃暟閲� + this.checkNum = item.productQuantity ? item.productQuantity : ''; + }else if( parintItem.orderType ==='澶栬喘' && item.isWeight === 1){ this.isClean = true; this.isNumOk = false; + }else{ + this.isNumOk = false; + this.isClean = false; + } + //pvc + if(parintItem.orderType ==='澶栭攢' && item.productName ==='PVC' && (item.packingType === 3 || item.packingType === 4)){ + this.isNumOk = true; + this.isClean = false; + } + //鐡惰娑叉隘鏉′欢 + //EDC 璐ㄦ瀹屾垚鏂瑰彲纭 + if(item.packingType === 1){ + this.isNumOk = true; + this.isClean = false; + } + // + //pvc澶у寘鑷姩璁$畻鎶樺惃 + if(item.productName === 'PVC' && item.packingType === 5){ + this.isNumOk = true; + this.isClean = false; + } + if(parintItem.orderType === '澶栬喘'){ + this.isEmptyCar = '1'; + }else if(parintItem.orderType === '澶栭攢' || parintItem.orderType === '澶栬喘閫�'){ + this.isEmptyCar = '0'; } this.enterZx = true; @@ -358,33 +512,71 @@ closeModal(){ this.enterZx = false; this.checkNum = ''; + this.isEmptyCar = null; }, cancelModal(){ this.enterZx = false; this.checkNum = ''; + this.isEmptyCar = null; }, confirmModal(){ - this.enterZx = false; - this.$reqPost('confirmLoadAndUnload',{ + uni.showLoading({ + title:'鍔犺浇涓�' + }); + 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(`璇锋鏌ュ綋鍓岴DC璁㈠崟璐ㄦ鐘舵�佸悗鍦ㄧ‘璁よ鍗�!`); + + }else if( this.isEmptyCar === null){ + this.$u.toast(`璇锋鏌�${this.isNumOk ? '璁′欢鏁伴噺' :'鎶樺惃'}锛屼互鍙婃槸鍚︾┖杞﹀嚭鍘傞」!`); + }else{ + this.enterZx = false; + this.$reqPost('confirmLoadAndUnload',{ id: this.activeObj.id, - productQuantity:this.isNumOk ? this.checkNum :this.activeObj.skin, + productQuantity:this.isNumOk ? this.checkNum : '', discount:this.isClean ? this.checkNum : null, + isEmptyCar:this.isEmptyCar, isPretendDischar:this.activeObj.isPretendDischar },'json').then(res=>{ + uni.hideLoading(); console.log(res,'rez') + this.checkNum = ''; + if(res.code === 1){ + console.log('瑙﹀彂') + this.$u.toast(res.msg || '澶辫触'); + uni.hideLoading(); + }else{ this.$u.toast('鎿嶄綔鎴愬姛'); - this.getDetailData(); - + } + setTimeout(() => { + this.getDetailData(); + }, 500); + }).catch((err) => { + this.$u.toast(err.msg || '澶辫触'); + }).finally(() => { + uni.hideLoading(); + }) + } + + }, //鍒ゆ柇鏄惁鏄� 涓夌鐗规畩绫诲瀷瀵瑰簲寮圭獥 judgeTypeFun(name){ - } + }, + //鏌ョ湅鏈�杩戜竴娆$殑鍘熺洂閽欓晛 + todoDetail(){ + console.log() + uni.navigateTo({ + url: `/subPages/checkTestDetails/index` + }) - + } }, onShow(){ @@ -395,24 +587,75 @@ 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() - }) - } + + }); + + + }, } </script> <style lang="scss" scoped> +::-webkit-scrollbar{ + display: none; + } + .table{ + width: 100%; + /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; + text-indent: 20rpx; + top: vww(10); + width: 96%; + height: vww(40); + margin: vww(13) 10rpx; + 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); + border-radius: 20rpx; + @include flex; + align-items: center; + justify-content: space-between; + /deep/.u-button { + width: 100%; + height: 28px !important; + line-height: 40px; + padding: 0 12px; + text-indent: 0!important; + font-size: 28rpx; + font-weight: 300; + color: #ffffff; + background: #497bfb !important; + letter-spacing: 4rpx; + border-radius: 37rpx 37rpx 37rpx 37rpx !important; + box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29); + } + } .queren{ display: flex; justify-content: space-between; @@ -436,7 +679,7 @@ font-size: 12px; } /deep/ .uni-table{ - min-width: 100rpx!important; + min-width: 0rpx!important; // position: sticky !important;; } /deep/ .uni-table-body-wrapper { @@ -467,14 +710,15 @@ position: relative; top: vww(-160); .top-tag{ - width: 33%; + width: 60%; + margin-left: 55%!important; height: 100rpx; - margin-left: 65%; + margin-left: 50%; display: flex; /* margin-top: 40rpx; */ color: #fff; align-items: center; - justify-content: space-between; + } .div-box{ @@ -522,7 +766,7 @@ } } .history-information { - margin-bottom:50rpx; + margin-bottom:30rpx; margin-top: 10rpx; background: #ffffff; border-radius: 20rpx; @@ -571,7 +815,7 @@ .third { width: 96%; - height: 120rpx; + height: auto; font-size: 30rpx; font-weight: 300; color: #515151; -- Gitblit v1.9.1