From a20cc4d791acb78db0d7455922c781784d333970 Mon Sep 17 00:00:00 2001 From: 付延余 <f-yanyu@outlook.com> Date: 星期四, 23 三月 2023 08:26:54 +0800 Subject: [PATCH] 称重红外(异常参数添加) --- pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 206 insertions(+), 20 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 060f670..b33e955 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 @@ -2,11 +2,22 @@ <view class="weighingDevice"> <view class="one"> <view class="top"> - <view class="top_left"><text>41.5</text></view> + <view class="top_left"> + <text>{{ realTimeWeigh }}</text> + </view> <view class="top_right"> - <view class="">绉伴噸: <u--text type="success" text="姝e父" size="34"></u--text></view> - <view class="">绾㈠: <u--text type="success" text="姝e父" size="34"></u--text></view> - <view class="">闆疯揪: <u--text type="success" text="姝e父" size="34"></u--text></view> + <view class=""> + 绉伴噸: + <u--text :type="realTimeWeigh == 0 ? 'error' : 'success'" :text="realTimeWeigh == 0 ? '寮傚父' : '姝e父'" size="34"></u--text> + </view> + <view class=""> + 绾㈠: + <u--text :type="infraredStatus ? 'error' : 'success'" :text="infraredStatus ? '寮傚父' : '姝e父'" size="34"></u--text> + </view> + <!-- <view class=""> + 闆疯揪: + <u--text type="success" text="姝e父" size="34"></u--text> + </view> --> </view> </view> <view class="bottom"><text>TIP:褰撳墠鐘舵�佹甯稿彲浠ョО閲�</text></view> @@ -14,34 +25,116 @@ <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="纭畾绉伴噸" + :disabled="realTimeWeigh == 0 || infraredStatus" + :loading="isConfirmWeighLoading" + loadingText="鍔犺浇涓�" + @click="confirmWeigh" + ></u-button> + <u-button type="primary" text="杩斿洖鍔犲噺鍚�" :disabled="addAndSubtractCoalDisabled" v-if="weighList.orderTye == '澶栭攢'" @click="addAndSubtractCoal"></u-button> </view> <view class="four">濡傛偍闇�瑕佽皟鏁磋杞借揣鍝佸惃鏁帮紝璇风偣鍑昏繑鍥炲姞鍑忓惃</view> </view> </template> <script> +let socket = null; +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.weighHouseCode = params.weighHouseCode; }, data() { return { + weighData: { + //纭绉伴噸鎺ュ彛鍙傛暟 + deptId: '', + tmId: '', + sceneId: '', + carNo: '', + gateCameraId: '', + equipmentCode: '', + weigh: 0, + tmCode: '' + }, takeCoalId: null, - weighList: {} + weighHouseCode: '', + isConfirmWeighLoading: false, //纭畾绉伴噸鎸夐挳 + realTimeWeigh: '', + weighList: {}, + webSocket: null, // webSocket瀹炰緥 + // lockReconnect: false, // 閲嶈繛閿侊紝閬垮厤澶氭閲嶈繛 + // maxReconnect: 6, // 鏈�澶ч噸杩炴鏁帮紝 -1 鏍囪瘑鏃犻檺閲嶈繛 + // reconnectTime: 0, // 閲嶈繛灏濊瘯娆℃暟 + // heartbeat: { + // interval: 30 * 1000, // 蹇冭烦闂撮殧鏃堕棿 + // timeout: 10 * 1000, // 鍝嶅簲瓒呮椂鏃堕棿 + // pingTimeoutObj: null, // 寤舵椂鍙戦�佸績璺崇殑瀹氭椂鍣� + // pongTimeoutObj: null, // 鎺ユ敹蹇冭烦鍝嶅簲鐨勫畾鏃跺櫒 + // pingMessage: JSON.stringify({ type: 'ping' }) // 蹇冭烦璇锋眰淇℃伅 + // } + // 涓存椂绉伴噸瀵硅薄 + temporaryWeighObj:{ + skin:0, + hair:0, + clean:0 + }, + infraredStatus:false// 绾㈠鐘舵�� }; + }, + watch:{ + realTimeWeigh(newV,oldV){ + if(this.weighList.orderTye == '澶栭攢'){ + if(this.weighList.skin == 0){ + this.temporaryWeighObj.skin = this.realTimeWeigh + } else { + this.temporaryWeighObj.hair = this.realTimeWeigh + this.temporaryWeighObj.clean = this.temporaryWeighObj.hair - this.weighList.skin + } + } else if(this.weighList.orderTye == '澶栬喘'){ + if(this.weighList.hair == 0){ + this.temporaryWeighObj.hair = this.realTimeWeigh + } else { + this.temporaryWeighObj.skin = this.realTimeWeigh + this.temporaryWeighObj = this.weighList.hair - this.temporaryWeighObj.skin + } + } + } }, onShow() { this.init(); + this.initWebSocket(); + }, + computed: { + token() { + return uni.getStorageSync('token'); + }, + // 鍔犲噺鐓ゆ寜閽鐢ㄤ笌鍚� + addAndSubtractCoalDisabled() { + if (this.weighList.orderTye == '澶栭攢') { + if (this.weighList.skin == 0) { + return true; + } else if (this.weighList.skin != 0) { + return false; + } + } + }, }, methods: { init() { @@ -50,16 +143,109 @@ console.log(res, '鑾峰彇绉伴噸淇℃伅'); if (res.code == 0) { this.weighList = res.data; + this.weighData.deptId = res.data.deptId; + this.weighData.tmId = res.data.id; + this.weighData.carNo = res.data.carNo; + this.weighData.tmCode = res.data.code; } }); }, /** * @纭绉伴噸绛夊緟鍚庣鎻愪緵瀹炴椂绉伴噸鎺ュ彛锛岃幏鍙栫毊閲嶏紝姣涢噸 - */ - confirmWeigh(){ - // this.$reqPost('saveWeigh',{id:this.takeCoalId,skin:'',hair:''}).then(res=>{ - // console.log(res,"纭绉伴噸"); - // }) + */ + confirmWeigh() { + 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 = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`; + socket = uni.connectSocket({ + url: wsUrl, + header: { + CLIENT_TOC: 'Y' + }, + complete: res => { + console.log(res, 'socket缁撴灉'); + } + }); + socket.onOpen(() => { + console.log('onOpen'); + }); + // 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊 + socket.onMessage(res => { + console.log('socketWeigh', res); + let nowWeighObj = JSON.parse(res.data.slice(7)) + if (nowWeighObj.eqCode == this.weighHouseCode) { + 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('webSocketClose'); + this.$u.toast('纾呮埧鎺ュ彛缁堢'); + }); + socket.onError(err => { + console.log('socket鎶ラ敊', err); + this.$u.toast('纾呮埧鎺ュ彛鏆傛椂涓嶈兘浣跨敤锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒'); + }); } } }; @@ -82,16 +268,16 @@ .top_left { flex: 3; font-size: vww(50); - display:flex; + display: flex; align-items: center; justify-content: center; } .top_right { - display:flex; + display: flex; flex-direction: column; justify-content: center; flex: 2; - view{ + view { display: flex; } } -- Gitblit v1.9.1