From 837c21ced9ed0aafe17a7c0c16975a1b6731eb9d Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期五, 07 七月 2023 11:30:37 +0800 Subject: [PATCH] 验质功能修改,websocket优化 --- pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue | 278 +++++++++++++++++++++++++++---------------------------- 1 files changed, 135 insertions(+), 143 deletions(-) diff --git a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue index ba94a84..214e8f2 100644 --- a/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue +++ b/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue @@ -1,12 +1,11 @@ <template> <view class="weighingDevice"> <view class="one" - style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/weighbanner.png') no-repeat; - background-size: cover;"> + :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/weighbanner.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }"> <view class="top"> <view class="top_left"> - <text>{{ realTimeWeigh }}</text> - <!-- <text>{{ globalweigh }}</text> --> + <!-- <text>{{ realTimeWeigh }}</text> --> + <text>{{ globalweigh }}</text> </view> <view class="top_right"> <view class=""> @@ -25,82 +24,6 @@ </view> <view class="bottom"><text>TIP:褰撳墠鐘舵�佷负姝e父鏃跺彲浠ョО閲�</text></view> </view> - <!-- <view class="middle-block" - v-if="firstHairCustomernameShow || sideline"> - <view class="block-main" - v-if="firstHairCustomernameShow"> - <view class="first-line"><combined-title title="鍘熷彂淇℃伅"></combined-title></view> - <view class="second-line"> - <view class="label-text" - :class="{ focusClass: isfocus1 }">鐨噸</view> - <view class="input-container" - :class="{ inputClass: isfocus1, disabledClass: haveInputOrigin }"> - <u--input placeholder="璇疯緭鍏ョ毊閲�" - border="surround" - v-model="weighData.coalContactSkin" - @focus="inputFocus(1)" - @blur="inputBlur" - @change="inputChange" - :disabled="haveInputOrigin"></u--input> - </view> - <view class="unit" - :class="{ focusClass: isfocus1 }">鍚�</view> - </view> - <view class="second-line"> - <view class="label-text" - :class="{ focusClass: isfocus2 }">姣涢噸</view> - <view class="input-container" - :class="{ inputClass: isfocus2, disabledClass: haveInputOrigin }"> - <u--input placeholder="璇疯緭鍏ユ瘺閲�" - border="surround" - v-model="weighData.coalContactHair" - @focus="inputFocus(2)" - @blur="inputBlur" - @change="inputChange" - :disabled="haveInputOrigin"></u--input> - </view> - <view class="unit" - :class="{ focusClass: isfocus2 }">鍚�</view> - </view> - <view class="second-line"> - <view class="label-text">鍑�閲�</view> - <view class="input-container" - :class="{ disabledClass: haveInputOrigin }"> - <u--input placeholder="鍑�閲�" - border="surround" - v-model="coalContactClean" - :disabled="haveInputOrigin"></u--input> - </view> - <view class="unit">鍚�</view> - </view> - </view> - <view class="block-sideline" - v-if="sideline"> - <view class="first-line"><combined-title title="鍘熷彂淇℃伅"></combined-title></view> - <view class="weigh-item"> - <view class="item"> - <view class="concrete" - style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/skin.png') no-repeat;background-size: cover;"> - 鐨�</view> - <view class="num">{{ weighList.skinTwo }}</view> - </view> - <view class="item"> - <view class="concrete" - style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/hair.png') no-repeat;background-size: cover;"> - 姣�</view> - <view class="num">{{ weighList.hairTwo }}</view> - </view> - <view class="item"> - <view class="concrete" - style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/clean.png') no-repeat;background-size: cover;"> - 鍑�</view> - <view class="num">{{ weighList.cleanTwo }}</view> - </view> - </view> - </view> - </view> - <view v-else - style="width: 100%;height: 40rpx;"></view> --> <view class="bottom-block"> <view class="block-main"> <view class="main-information" @@ -146,17 +69,20 @@ </view> <view class="main-information"> <view class="prefix">鐨噸:</view> - <view class="suffix">{{ showWeigh.skin||"" }} + <view class="suffix"> + {{currentSkin}} </view> </view> <view class="main-information"> <view class="prefix">姣涢噸:</view> - <view class="suffix">{{showWeigh.hair||""}} + <view class="suffix"> + {{currentHair}} </view> </view> <view class="main-information"> <view class="prefix">鍑�閲�:</view> - <view class="suffix">{{ showWeigh.clean||"" }} + <view class="suffix"> + {{ currentClean}} </view> </view> <view class="main-information"> @@ -165,6 +91,8 @@ </view> </view> </view> + <!-- 绉伴噸鍘嗗彶--> + <weigh-item :list="weighHistory"></weigh-item> <view class="three"> <!-- 鏀剧┖ --> <u-button type="primary" @@ -189,9 +117,11 @@ <u-button type="primary" text="缁х画鍗歌揣" @click="UnloadingAgainHandle" + :loading="UnloadingAgainLoading" + loadingText="纭" + :disabled="isweigh||realTimeWeigh == 0" v-if='canUnload'></u-button> </view> - <!-- <view class="four" v-if="weighList.orderType !== '澶栬喘'">濡傛偍闇�瑕佽皟鏁磋杞借揣鍝佸惃鏁帮紝璇风偣鍑昏繑鍥炲姞鍑忓惃</view> --> <!-- 鏀剧┖寮圭獥 --> <view class="evacuationModal"> <u-modal :show="evacuationModalShow" @@ -206,9 +136,10 @@ <script> let socket = null; - import { webSocketUrl } from '@/api/request.js'; + import { webSocketUrl, onlineurl } from '@/api/request.js'; import { mapState, mapMutations } from 'vuex'; import combinedTitle from '@/components/combined-title/combined-title.vue'; + import weighItem from '@/components/weighItem.vue' export default { onLoad(params) { this.takeCoalId = params.takeCoalId; @@ -224,9 +155,11 @@ this.weighData.overTmWaixiao = 1 } this.changeweighHouseCode(params.weighHouseCode); + this.changeWeigh(0) }, components: { - combinedTitle + combinedTitle, + weighItem }, data() { return { @@ -256,9 +189,9 @@ weighList: {}, // 涓存椂绉伴噸瀵硅薄 temporaryWeighObj: { - skin: 0, - hair: 0, - clean: 0 + skin: null, + hair: null, + clean: null }, infraredStatus: false, // 绾㈠鐘舵�侊紝 // 鏀剧┖鎺у埗 @@ -281,49 +214,48 @@ // 澶栬喘绫诲瀷 outBuy: true, // 缁х画鍗歌揣鎸夐挳 - canUnload: false + canUnload: false, + UnloadingAgainLoading: false, + onlineurl, }; }, watch: { realTimeWeigh(newV, oldV) { if (this.weighList.orderType == '澶栭攢' || this.weighList.orderType == '鍐呴攢' || this.weighList.orderType == '杞嚭') { - if (this.weighList.skin == 0) { + if (!this.showWeigh.skin) { this.temporaryWeighObj.skin = newV; } else { this.temporaryWeighObj.hair = newV; - this.temporaryWeighObj.clean = (this.temporaryWeighObj.hair - this.weighList.skin).toFixed(2); - this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus || this.temporaryWeighObj - .clean < 0; + this.isweigh = Number(this.currentClean) > this.weighList.orderSurplus || Number(this + .currentClean) < 0; } } else if (this.weighList.orderType == '澶栬喘' || this.weighList.orderType == '鍐呰喘' || this.weighList .orderType == '杞叆') { - if (this.weighList.hair == 0) { + if (!this.showWeigh.hair) { this.temporaryWeighObj.hair = newV; } else { this.temporaryWeighObj.skin = newV; - this.temporaryWeighObj.clean = (this.weighList.hair - this.temporaryWeighObj.skin).toFixed(2); - this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus || this.temporaryWeighObj - .clean < 0; + this.isweigh = Number(this.currentClean) < 0 || this.showWeigh.skin < newV && this.showWeigh + .skin > 0; } } }, // 鐩戝惉閲嶉噺鍙樺寲 - globalweigh(newV) { - this.weighData.weigh = this.realTimeWeigh = newV; - console.log(this.realTimeWeigh, '鐪熷疄閲嶉噺鏀瑰彉浜�'); + globalweigh: { + handler: function(newV) { + this.weighData.weigh = this.realTimeWeigh = newV; + console.log(this.realTimeWeigh, '鐪熷疄閲嶉噺鏀瑰彉浜�'); + }, + deep: true } }, onShow() { this.init(); - this.changeisLogin(true) - this.realTimeWeigh = 0 + // this.realTimeWeigh = 0 }, computed: { ...mapState(['globalweigh', 'globalinfraredStatus']), - // coalContactClean() { - // return (Number(this.weighData.coalContactHair) - Number(this.weighData.coalContactSkin)).toFixed(2); - // }, token() { return uni.getStorageSync('token'); }, @@ -344,16 +276,29 @@ .temporaryWeighObj.hair; } }, - sideline() { - return this.weighList.orderType == '鍐呰喘' || this.weighList.orderType == '杞叆'; - }, + showWeigh() { return this.weighList.tmTaskCoalItems ? (this.weighList.tmTaskCoalItems[0] ? this .weighList.tmTaskCoalItems[0] : {}) : {} + }, + // 绉伴噸鍘嗗彶 + weighHistory() { + return this.weighList.tmTaskCoalItems ? this.weighList.tmTaskCoalItems : [] + }, + currentHair() { + return this.temporaryWeighObj.hair ? this.temporaryWeighObj.hair : this.showWeigh.skin ? (this.showWeigh + .skin || '') : (this.showWeigh.hair || '') + }, + currentSkin() { + return this.temporaryWeighObj.skin || '' + }, + currentClean() { + if (!this.currentSkin) return '' + return (this.currentHair - this.currentSkin).toFixed(2) } }, methods: { - ...mapMutations(['changeweighHouseCode', 'changeisLogin']), + ...mapMutations(['changeweighHouseCode', 'changeisLogin', 'changeWeigh']), init() { uni.showLoading({ title: '鍔犺浇涓�' @@ -369,8 +314,6 @@ this.weighData.carNo = res.data.carNo; this.weighData.tmCode = res.data.code; this.weighData.filedId = res.data.filedId; - this.weighData.coalContactHair = res.data.hairTwo ? res.data.hairTwo : 0; - this.weighData.coalContactSkin = res.data.skinTwo ? res.data.skinTwo : 0; this.outBuy = (this.weighList.orderType.indexOf('閿�') !== -1) && this.showWeigh.skin > 0; // 缁х画鍗歌揣鍙湁澶栬喘绫诲瀷绗簩娆′細鏈� this.canUnload = this.weighList.orderType === '澶栬喘' && this.showWeigh.hair > 0; @@ -454,6 +397,7 @@ }, // 缁х画鍗歌揣 UnloadingAgainHandle() { + this.UnloadingAgainLoading = true this.$reqPost('continueWeigh', { deptId: this.weighData.deptId, sceneId: this.weighData.sceneId, @@ -467,6 +411,7 @@ sceneInOut: this.weighData.sceneInOut, weigh: this.realTimeWeigh }, 'json').then(res => { + this.UnloadingAgainLoading = false if (res.code == 0) { this.$u.toast('鎿嶄綔鎴愬姛锛屽嵆灏嗚繑鍥炰笂涓�椤�'); setTimeout(() => { @@ -500,24 +445,6 @@ evacuationCancel() { this.evacuationModalShow = false; }, - // input鑱氱劍 - inputFocus(v) { - if (v == 1) { - this.isfocus1 = true; - } else { - this.isfocus2 = true; - } - }, - // input澶辩劍 - inputBlur() { - this.isfocus1 = false; - this.isfocus2 = false; - }, - inputChange() { - if (this.weighData.coalContactHair > 0 && this.weighData.coalContactSkin > 0) { - this.isInputOrigin = true; - } - } } }; </script> @@ -530,16 +457,91 @@ align-items: center; } + // 绉伴噸鍘嗗彶 + .weighHistory-enter-active, + .weighHistory-leave-active { + transition: opacity 0.5s ease; + } + + .weighHistory-enter-from, + .weighHistory-leave-to { + opacity: 0; + } + + .weigh-history { + width: 690rpx; + height: 100%; + min-height: 420rpx; + margin: vww(10) auto vww(20); + background: #ffffff; + box-shadow: 4rpx 6rpx 51rpx 0rpx rgba(73, 120, 240, 0.11); + border-radius: 20rpx; + position: relative; + font-size: 30rpx; + font-weight: 300; + color: #303030; + overflow: hidden; + + .block-main { + display: grid; + grid-template-columns: auto; + grid-template-rows: repeat(auto-fit, minmax(40rpx, 1fr)); + width: 94%; + height: 100%; + min-height: 380rpx; + margin: vww(18) vww(7) vww(11) vww(17); + gap: 10rpx 20rpx; + + .weigh-item { + width: 100%; + height: vww(80); + @include flex; + flex-direction: column; + justify-content: space-around; + align-items: flex-start; + + .item-block { + width: 100%; + height: vww(36); + @include flex; + justify-content: space-around; + + .item { + min-width: vww(50); + height: vww(45); + font-size: 21rpx; + font-weight: 400; + color: #ffffff; + text-align: center; + line-height: vww(30); + @include flex; + + .concrete { + width: vww(36); + height: vww(36); + } + + .num { + font-size: 40rpx; + font-weight: 300; + color: #303030; + } + } + } + } + } + } + ::v-deep.weighingDevice { width: 100%; - height: 100vh; + height: 100%; display: flex; flex-direction: column; .one { // flex: 3; height: 290rpx; - margin: vww(20) vww(20) 0 vww(20); + margin: vww(20); border-radius: vww(15); .top { @@ -692,7 +694,7 @@ width: calc(100% - 60rpx); box-sizing: border-box; height: 630rpx; - margin: 0 vww(15) vww(25) vww(15); + margin: 0 vww(15) vww(15) vww(15); 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; @@ -745,16 +747,6 @@ .u-button { width: vww(90); } - - // .u-button { - // &:nth-of-type(2) { - // margin-left: vww(10); - // } - - // &:nth-of-type(3) { - // margin-left: vww(10); - // } - // } } .four { -- Gitblit v1.9.1