From 7406be32979e90a730b5a2ac8d392892f71835d2 Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期一, 10 四月 2023 14:53:17 +0800 Subject: [PATCH] 修复称重不显示问题,优化信息提示 --- pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue | 217 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 185 insertions(+), 32 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 d27cf67..7363ee3 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 @@ -8,34 +8,57 @@ <view class="top_right"> <view class=""> 绉伴噸: - <u--text type="success" text="姝e父" size="34"></u--text> + <u--text :type="realTimeWeigh == 0 ? 'error' : 'success'" :text="realTimeWeigh == 0 ? '寮傚父' : '姝e父'" size="34"></u--text> </view> <view class=""> 绾㈠: - <u--text type="success" text="姝e父" size="34"></u--text> + <u--text :type="infraredStatus ? 'error' : 'success'" :text="infraredStatus ? '寮傚父' : '姝e父'" size="34"></u--text> </view> - <view class=""> + <!-- <view class=""> 闆疯揪: <u--text type="success" text="姝e父" size="34"></u--text> - </view> + </view> --> </view> </view> - <view class="bottom"><text>TIP:褰撳墠鐘舵�佹甯稿彲浠ョО閲�</text></view> + <view class="bottom"><text>TIP:褰撳墠鐘舵�佷负姝e父鏃跺彲浠ョО閲�</text></view> </view> <view class="two"> <p>璁㈠崟缂栧彿锛歿{ weighList.code || '' }}</p> <p>璁㈠崟绫诲瀷锛歿{ weighList.orderTye || '' }}</p> - <p>璁㈠崟浣欓噺锛歿{ weighList.allowance }}</p> - <p>鐨噸锛歿{ weighList.skin || '' }}</p> - <p>姣涢噸锛歿{ weighList.hair || '' }}</p> - <p>鍑�閲嶏細{{ weighList.clean || '' }}</p> + <p>璁㈠崟浣欓噺锛歿{ weighList.orderSurplus || 0 }}</p> + <p>鐨噸锛歿{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }}</p> + <p>姣涢噸锛歿{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }}</p> + <p>鍑�閲嶏細{{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean }}</p> + <p>鐓ょ鍚嶇О锛歿{ weighList.coalName || '' }}</p> + <p>鍗曚綅鍚嶇О锛歿{ weighList.deptName || '' }}</p> + <p>鐭垮満鍚嶇О锛歿{ weighList.filedName || '' }}</p> </view> <view class="three"> - <!-- 澶栭攢璁㈠崟鎴愮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 --> - <u-button type="primary" text="纭畾绉伴噸" @click="confirmWeigh"></u-button> - <u-button type="primary" text="杩斿洖鍔犲噺鍚�"></u-button> + <!-- 鏀剧┖ --> + <u-button type="primary" text="鏀剧┖" plain @click="evacuation" throttleTime="500" :disabled="isEvacuation"></u-button> + <!-- 澶栭攢璁㈠崟绉扮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 --> + <u-button + type="primary" + text="纭畾绉伴噸" + :disabled="realTimeWeigh == 0 || infraredStatus" + :loading="isConfirmWeighLoading" + loadingText="鍔犺浇涓�" + @click="confirmWeigh" + ></u-button> + <u-button type="primary" text="杩斿洖鍔犲噺鍚�" :disabled="addAndSubtractCoalDisabled" @click="addAndSubtractCoal" class="jiajian"></u-button> </view> - <view class="four">濡傛偍闇�瑕佽皟鏁磋杞借揣鍝佸惃鏁帮紝璇风偣鍑昏繑鍥炲姞鍑忓惃</view> + <view class="four" v-if="weighList.orderTye !== '澶栬喘'">濡傛偍闇�瑕佽皟鏁磋杞借揣鍝佸惃鏁帮紝璇风偣鍑昏繑鍥炲姞鍑忓惃</view> + <!-- 鏀剧┖寮圭獥 --> + <view class="evacuationModal"> + <u-modal + :show="evacuationModalShow" + :title="evacuationTitle" + :content="evacuationContent" + :showCancelButton="true" + @confirm="evacuationConfirm" + @cancel="evacuationCancel" + ></u-modal> + </view> </view> </template> @@ -44,11 +67,12 @@ import { webSocketUrl } from '@/api/request.js'; export default { onLoad(params) { + console.log(params, '绗簩娆℃斁绌哄弬鏁�'); this.takeCoalId = params.takeCoalId; this.weighData.sceneId = params.sceneId; this.weighData.gateCameraId = params.gateCameraId; this.weighData.equipmentCode = params.gateCameraCode; - this.weighCode = params.weighCode; + this.weighHouseCode = params.weighHouseCode; }, data() { return { @@ -60,14 +84,15 @@ carNo: '', gateCameraId: '', equipmentCode: '', - weigh: '', + weigh: 0, tmCode: '' }, takeCoalId: null, - weighCode: '', + weighHouseCode: '', + isConfirmWeighLoading: false, //纭畾绉伴噸鎸夐挳 realTimeWeigh: '', weighList: {}, - webSocket: null // webSocket瀹炰緥 + webSocket: null, // webSocket瀹炰緥 // lockReconnect: false, // 閲嶈繛閿侊紝閬垮厤澶氭閲嶈繛 // maxReconnect: 6, // 鏈�澶ч噸杩炴鏁帮紝 -1 鏍囪瘑鏃犻檺閲嶈繛 // reconnectTime: 0, // 閲嶈繛灏濊瘯娆℃暟 @@ -78,7 +103,41 @@ // pongTimeoutObj: null, // 鎺ユ敹蹇冭烦鍝嶅簲鐨勫畾鏃跺櫒 // pingMessage: JSON.stringify({ type: 'ping' }) // 蹇冭烦璇锋眰淇℃伅 // } + // 涓存椂绉伴噸瀵硅薄 + temporaryWeighObj: { + skin: 0, + hair: 0, + clean: 0 + }, + infraredStatus: false, // 绾㈠鐘舵�侊紝 + // 鏀剧┖鎺у埗 + evacuationModalShow: false, + evacuationTitle: '鏀剧┖纭', + evacuationContent: '鏄惁纭鏀剧┖' }; + }, + watch: { + realTimeWeigh(newV, oldV) { + if (this.weighList.orderTye == '澶栭攢' || this.weighList.orderTye == '鍐呴攢') { + if (this.weighList.skin == 0) { + // this.temporaryWeighObj.skin = this.realTimeWeigh; + this.temporaryWeighObj.skin = newV; + } else { + // this.temporaryWeighObj.hair = this.realTimeWeigh; + this.temporaryWeighObj.hair = newV; + this.temporaryWeighObj.clean = (this.temporaryWeighObj.hair - this.weighList.skin).toFixed(2); + } + } else if (this.weighList.orderTye == '澶栬喘' || this.weighList.orderTye == '杞嚭') { + if (this.weighList.hair == 0) { + // this.temporaryWeighObj.hair = this.realTimeWeigh; + this.temporaryWeighObj.hair = newV; + } else { + // this.temporaryWeighObj.skin = this.realTimeWeigh; + this.temporaryWeighObj.skin = newV; + this.temporaryWeighObj.clean = (this.weighList.hair - this.temporaryWeighObj.skin).toFixed(2); + } + } + } }, onShow() { this.init(); @@ -87,6 +146,24 @@ computed: { token() { return uni.getStorageSync('token'); + }, + // 鍔犲噺鐓ゆ寜閽鐢ㄤ笌鍚� + addAndSubtractCoalDisabled() { + if (this.weighList.orderTye == '澶栭攢' || this.weighList.orderTye == '鍐呴攢' || this.weighList.orderTye == '杞嚭') { + if (this.weighList.hair == 0) { + return true; + } else if (this.weighList.hair != 0) { + return false; + } + } + }, + // 鏄惁鏀剧┖鎸夐挳绂佺敤 + isEvacuation() { + if (this.weighList.hair == this.weighList.skin || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair) { + return false; + } else { + return true; + } } }, methods: { @@ -107,18 +184,65 @@ * @纭绉伴噸绛夊緟鍚庣鎻愪緵瀹炴椂绉伴噸鎺ュ彛锛岃幏鍙栫毊閲嶏紝姣涢噸 */ confirmWeigh() { - console.log('纭绉伴噸', this.weighData); - this.$reqPost('saveWeigh',this.weighData,'json').then(res=>{ - console.log(res,"纭绉伴噸"); - }) + if (this.isConfirmWeighLoading == false) { + this.isConfirmWeighLoading = true; + if (this.weighData.weigh != 0) { + if (this.weighList.orderTye == '澶栭攢') { + if (this.weighList.skin ? (this.weighList.skin < this.realTimeWeigh ? true : false) : true) { + this.saveWeigh(); + } else { + this.$u.toast('姣涢噸涓嶈兘灏忎簬鐨噸'); + this.isConfirmWeighLoading = false; + } + } else { + this.saveWeigh(); + } + } else { + this.$u.toast('鏈兘鑾峰彇鍦扮閲嶉噺'); + this.isConfirmWeighLoading = false; + } + } + }, + // 纭绉伴噸鎺ュ彛 + saveWeigh() { + this.$reqPost('saveWeigh', this.weighData, 'json') + .then(res => { + if (res.code == 0) { + this.$u.toast('绉伴噸鎴愬姛'); + setTimeout(() => { + uni.navigateBack({ + delta: 1 + }); + this.isConfirmWeighLoading = false; + }, 1000); + } + }) + .catch(err => { + this.isConfirmWeighLoading = false; + console.log(err); + }); + }, + // 鍔犲噺鐓� + addAndSubtractCoal() { + this.$reqPost('addAndSubtractCoal', { deptId: this.weighData.deptId, sceneId: this.weighData.sceneId, carNo: this.weighData.carNo }, 'json').then(res => { + if (res.code == 0) { + this.$u.toast('鎿嶄綔鎴愬姛锛屽嵆灏嗚繑鍥炰笂涓�椤�'); + setTimeout(() => { + uni.navigateBack({ + delta: 1 + }); + this.isConfirmWeighLoading = false; + }, 1000); + console.log(res, '鍔犲噺鐓�'); + } + }); }, /** * 鍒濆鍖� weoSocket */ initWebSocket() { - // let wsUrl = `wss://192.168.0.120:9997/wrzs/ws/info?access_token=${this.token}`; let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`; - socket = uni.connectSocket({ + let socket = uni.connectSocket({ url: wsUrl, header: { CLIENT_TOC: 'Y' @@ -130,20 +254,46 @@ socket.onOpen(() => { console.log('onOpen'); }); + // 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊 socket.onMessage(res => { console.log('socketWeigh', res); - let nowWeigh = JSON.parse(res.data.slice(7)).weigh; - // if (nowWeigh.eqCode == this.weighCode) { - // this.weighData.weigh = this.realTimeWeigh = nowWeigh; - // } - this.weighData.weigh = this.realTimeWeigh = nowWeigh; - }); // 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊 + let nowWeighObj = JSON.parse(res.data.slice(7)); + console.log(nowWeighObj); + // 涓�寮�濮嬫槸weighHouseCode + if (nowWeighObj.eqCode == this.weighData.equipmentCode) { + if (nowWeighObj.eqInfraredStatus) { + this.infraredStatus = true; + this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh; + } else { + this.infraredStatus = false; + this.weighData.weigh = this.realTimeWeigh = nowWeighObj.weigh; + } + } + }); socket.onClose(() => { - console.log('close'); + uni.closeSocket(); + console.log('webSocketClose'); + this.$u.toast('纾呮埧宸插叧闂�'); }); socket.onError(err => { console.log('socket鎶ラ敊', err); + this.$u.toast('纾呮埧鏆傛椂涓嶈兘浣跨敤锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒'); }); + }, + // 鏀剧┖ + evacuation() { + this.evacuationModalShow = true; + }, + // 鏀剧┖寮圭獥纭 + evacuationConfirm() { + this.$reqPost('getTwoEvacuation', this.weighData, 'json').then(res => { + console.log(res, '绗簩娆℃斁绌�'); + this.evacuationModalShow = false; + }); + }, + // 鏀剧┖寮圭獥鍙栨秷 + evacuationCancel() { + this.evacuationModalShow = false; } } }; @@ -157,7 +307,7 @@ flex-direction: column; .one { flex: 2; - border: vww(1) solid #dddddd; + border: vww(2) solid #dddddd; margin: vww(20) vww(20) 0 vww(20); border-radius: vww(15); .top { @@ -186,7 +336,7 @@ } .two { flex: 4; - border: vww(1) solid #dddddd; + border: vww(2) solid #dddddd; margin: vww(20); border-radius: vww(10); padding: vww(20); @@ -206,6 +356,9 @@ &:nth-of-type(2) { margin-left: vww(10); } + &:nth-of-type(3) { + margin-left: vww(10); + } } } .four { -- Gitblit v1.9.1