From bb52e0d4baffe8e0486c951e525b6614bd4aaa28 Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期一, 24 四月 2023 14:08:56 +0800 Subject: [PATCH] 修改样式,修复已知bug --- pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue | 391 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 324 insertions(+), 67 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 8dee72c..56c8f25 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,50 +8,147 @@ <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="globalinfraredStatus ? 'error' : 'success'" :text="globalinfraredStatus ? '寮傚父' : '姝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" v-if="weighList.orderType == '鍐呰喘' || weighList.orderType == '杞叆'"> + <view> + <view style="font-weight: 600;">鍘熷彂淇℃伅</view> + + <text>姣涢噸:{{ primaryHair || '' }}鐨噸:{{ primarySkin || '' }}鍑�閲�:{{ primaryClean || '' }}</text> + </view> + </view> + <view class="bottom" v-else-if="weighList.orderType == '澶栬喘' && weighList.hair == 0"> + <text> + 姣涢噸:{{ coalContactHair || '' }}鐨噸:{{ coalContactSkin || '' }}鍑�閲�:{{ (Number(this.coalContactHair) - Number(this.coalContactSkin)).toFixed(2) || '' }} + </text> + </view> + <view class="bottom"><text>TIP:褰撳墠鐘舵�佷负姝e父鏃跺彲浠ョО閲�</text></view> </view> <view class="two"> - <p>璁㈠崟缂栧彿锛歿{ weighList.code || '' }}</p> - <p>璁㈠崟绫诲瀷锛歿{ weighList.orderTye || '' }}</p> + <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> + <uni-tr> + <uni-th align="left">璁㈠崟缂栧彿</uni-th> + <uni-td align="right">{{ weighList.code || '' }}</uni-td> + </uni-tr> + <uni-tr> + <uni-th align="left">璁㈠崟绫诲瀷</uni-th> + <uni-td align="right">{{ weighList.orderType || '' }}</uni-td> + </uni-tr> + <uni-tr> + <uni-th align="left">璁㈠崟浣欓噺</uni-th> + <uni-td align="right">{{ weighList.orderSurplus || 0 }}</uni-td> + </uni-tr> + <uni-tr> + <uni-th align="left">姣涢噸</uni-th> + <uni-td align="right">{{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }}</uni-td> + </uni-tr> + <uni-tr> + <uni-th align="left">鐨噸</uni-th> + <uni-td align="right">{{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }}</uni-td> + </uni-tr> + <uni-tr> + <uni-th align="left">鍑�閲�</uni-th> + <uni-td align="right">{{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean }}</uni-td> + </uni-tr> + <uni-tr> + <uni-th align="left">鐓ょ鍚嶇О</uni-th> + <uni-td align="right">{{ weighList.coalName || '' }}</uni-td> + </uni-tr> + <uni-tr> + <uni-th align="left">鐭垮満鍚嶇О</uni-th> + <uni-td align="right">{{ weighList.deptName || '' }}</uni-td> + </uni-tr> + <uni-tr> + <uni-th align="left">鐓ゅ満鍚嶇О</uni-th> + <uni-td align="right">{{ weighList.filedName || '' }}</uni-td> + </uni-tr> + </uni-table> + <!-- <p>璁㈠崟缂栧彿锛歿{ weighList.code || '' }}</p> + <p>璁㈠崟绫诲瀷锛歿{ weighList.orderType || '' }}</p> <p>璁㈠崟浣欓噺锛歿{ weighList.orderSurplus || 0 }}</p> - <p>鐨噸锛歿{ weighList.skin || 0 }}</p> - <p>姣涢噸锛歿{ weighList.hair || 0 }}</p> - <p>鍑�閲嶏細{{ weighList.skin == 0 && weighList.hair == 0 ? weighList.clean : weighList.skin != 0 ? realTimeWeigh - weighList.skin : weighList.hair - realTimeWeigh }}</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> + <p>鐭垮満鍚嶇О锛歿{ weighList.filedName || '' }}</p> --> </view> <view class="three"> - <!-- 澶栭攢璁㈠崟鎴愮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 --> - <u-button type="primary" text="纭畾绉伴噸" :loading="isConfirmWeighLoading" loadingText="鍔犺浇涓�" @click="confirmWeigh"></u-button> - <u-button type="primary" text="杩斿洖鍔犲噺鍚�" :disabled="addAndSubtractCoalDisabled" v-if="weighList.orderTye == '澶栭攢'" @click="addAndSubtractCoal"></u-button> + <!-- 鏀剧┖ --> + <u-button type="primary" text="鏀剧┖" plain @click="evacuation" throttleTime="500" :disabled="!isEvacuation"></u-button> + <!-- 澶栭攢璁㈠崟绉扮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 --> + <u-button + type="primary" + text="纭畾绉伴噸" + :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh" + :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.orderType !== '澶栬喘'">濡傛偍闇�瑕佽皟鏁磋杞借揣鍝佸惃鏁帮紝璇风偣鍑昏繑鍥炲姞鍑忓惃</view> + <!-- 鏀剧┖寮圭獥 --> + <view class="evacuationModal"> + <u-modal + :show="evacuationModalShow" + :title="evacuationTitle" + :content="evacuationContent" + :showCancelButton="true" + @confirm="evacuationConfirm" + @cancel="evacuationCancel" + ></u-modal> + </view> + <!-- 澶栬喘绫诲瀷鎵嬪姩杈撳叆寮圭獥 --> + <view class=""> + <u-modal :show="firstHairCustomernameShow" title="濉啓鍘熷彂閲嶉噺" @confirm="OutsourcingConfirm"> + <view class=""> + <text>姣涢噸:</text> + <view class=""><u--input placeholder="璇疯緭鍏ユ瘺閲�" v-model="coalContactHair" type="digit"></u--input></view> + <text>鐨噸:</text> + <view class=""><u--input placeholder="璇疯緭鍏ョ毊閲�" v-model="coalContactSkin" type="digit"></u--input></view> + </view> + </u-modal> + </view> + <!-- 鎵嬪姩杈撳叆涔嬪悗鐨勪簩娆″脊绐� --> + <view class="secondary-confirmation"> + <u-modal :show="secondConfirmShow" title="璇风‘璁ゅ師鍙戦噸閲�" :showCancelButton="true" @confirm="secondConfirm" @cancel="secondCancel"> + <view class="secondary-confirmation__main"> + <view class="secondary-child">姣涢噸:{{ coalContactHair }}</view> + <view class="secondary-child">鐨噸:{{ coalContactSkin }}</view> + <view class="secondary-child">鍑�閲�:{{ (Number(this.coalContactHair) - Number(this.coalContactSkin)).toFixed(2) }}</view> + </view> + </u-modal> + </view> </view> </template> <script> let socket = null; import { webSocketUrl } from '@/api/request.js'; +import { mapState, mapMutations } from 'vuex'; export default { onLoad(params) { this.takeCoalId = params.takeCoalId; this.weighData.sceneId = params.sceneId; this.weighData.gateCameraId = params.gateCameraId; this.weighData.equipmentCode = params.gateCameraCode; + this.weighData.sceneInOut = params.sceneInOut; this.weighHouseCode = params.weighHouseCode; + this.primarySkin = params.primarySkin; + this.primaryHair = params.primaryHair; + this.primaryClean = params.primaryClean; + this.changeweighHouseCode(params.weighHouseCode); }, data() { return { @@ -64,45 +161,110 @@ gateCameraId: '', equipmentCode: '', weigh: 0, - tmCode: '' + tmCode: '', + sceneInOut: '', + coalContactClean: 0, + coalContactHair: 0, + coalContactSkin: 0 }, takeCoalId: null, weighHouseCode: '', isConfirmWeighLoading: false, //纭畾绉伴噸鎸夐挳 - realTimeWeigh: '', + realTimeWeigh: 0, 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, // 绾㈠鐘舵�侊紝 + // 鏀剧┖鎺у埗 + evacuationModalShow: false, + evacuationTitle: '鏀剧┖纭', + evacuationContent: '鏄惁纭鏀剧┖', + // 鑾峰彇鍘熷彂淇℃伅 + primarySkin: null, + primaryHair: null, + primaryClean: null, + // 鍒ゆ柇绉伴噸鎸夐挳鏄惁鍙敤 + isweigh: false, + // 澶栬喘绫诲瀷绉伴噸鍑虹幇寮圭獥濉啓姣涳紝鐨紝 + firstHairCustomernameShow: false, + coalContactHair: '', + coalContactSkin: '', + // 浜屾纭 + secondConfirmShow: false }; + }, + watch: { + realTimeWeigh(newV, oldV) { + if (this.weighList.orderType == '澶栭攢' || this.weighList.orderType == '鍐呴攢' || this.weighList.orderType == '杞嚭') { + if (this.weighList.skin == 0) { + // this.temporaryWeighObj.skin = this.realTimeWeigh; + this.temporaryWeighObj.skin = newV; + this.isweigh = this.temporaryWeighObj.skin > this.weighList.orderSurplus; + } else { + // this.temporaryWeighObj.hair = this.realTimeWeigh; + this.temporaryWeighObj.hair = newV; + this.temporaryWeighObj.clean = (this.temporaryWeighObj.hair - this.weighList.skin).toFixed(2); + this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus; + } + } else if (this.weighList.orderType == '澶栬喘' || this.weighList.orderType == '鍐呰喘' || this.weighList.orderType == '杞叆') { + if (this.weighList.hair == 0) { + // this.temporaryWeighObj.hair = this.realTimeWeigh; + this.temporaryWeighObj.hair = newV; + this.isweigh = this.temporaryWeighObj.hair > this.weighList.orderSurplus; + } else { + // this.temporaryWeighObj.skin = this.realTimeWeigh; + this.temporaryWeighObj.skin = newV; + this.temporaryWeighObj.clean = (this.weighList.hair - this.temporaryWeighObj.skin).toFixed(2); + this.isweigh = this.temporaryWeighObj.clean > this.weighList.orderSurplus; + } + } + }, + // 鐩戝惉閲嶉噺鍙樺寲 + globalweigh: { + handler(v) { + this.weighData.weigh = this.realTimeWeigh = v; + console.log(this.realTimeWeigh, '鐪熷疄閲嶉噺鏀瑰彉浜�'); + }, + deep: true, + immediate: true + } }, onShow() { this.init(); - this.initWebSocket(); + this.realTimeWeigh = 0; + // this.initWebSocket(); }, computed: { + ...mapState(['globalweigh', 'globalinfraredStatus']), token() { return uni.getStorageSync('token'); }, + // 鍔犲噺鐓ゆ寜閽鐢ㄤ笌鍚� addAndSubtractCoalDisabled() { - if (this.weighList.orderTye == '澶栭攢') { - if (this.weighList.skin == 0) { + if (this.weighList.orderType == '澶栭攢' || this.weighList.orderType == '鍐呴攢' || this.weighList.orderType == '杞嚭') { + if (this.weighList.hair == 0) { return true; - } else if (this.weighList.skin != 0) { + } else if (this.weighList.hair != 0) { return false; } + } + }, + // 鏄惁鏀剧┖鎸夐挳绂佺敤 + isEvacuation() { + if (this.weighList.orderType == '澶栭攢' || this.weighList.orderType == '鍐呴攢' || this.weighList.orderType == '杞嚭') { + return this.weighList.skin == this.temporaryWeighObj.hair || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair; + } + if (this.weighList.orderType == '澶栬喘' || this.weighList.orderType == '鍐呰喘' || this.weighList.orderType == '杞叆') { + return this.weighList.hair == this.temporaryWeighObj.skin || this.temporaryWeighObj.skin == this.temporaryWeighObj.hair; } } }, methods: { + ...mapMutations(['changeweighHouseCode']), init() { // 鑾峰彇绉伴噸淇℃伅 this.$reqGet('weighList', { id: this.takeCoalId }).then(res => { @@ -113,8 +275,31 @@ this.weighData.tmId = res.data.id; this.weighData.carNo = res.data.carNo; this.weighData.tmCode = res.data.code; + if (this.weighList.orderType == '澶栬喘' && this.weighList.hair == 0) { + this.firstHairCustomernameShow = true; + } } }); + }, + // 澶栬喘绫诲瀷杈撳叆鐐瑰嚮纭涔嬪悗浜屾纭 + OutsourcingConfirm() { + this.weighData.coalContactSkin = Number(this.coalContactSkin); + this.weighData.coalContactHair = Number(this.coalContactHair); + this.weighData.coalContactClean = Number((Number(this.coalContactHair) - Number(this.coalContactSkin)).toFixed(2)); + if (Number(this.coalContactSkin) == 0 || Number(this.coalContactHair) == 0) { + this.$u.toast('閲嶉噺涓嶈兘涓�0,璇烽噸鏂板~鍐�'); + } else { + this.secondConfirmShow = true; + } + }, + // 浜屾纭寮圭獥 鐐瑰嚮纭畾 + secondConfirm() { + this.secondConfirmShow = false; + this.firstHairCustomernameShow = false; + }, + // 浜屾寮圭獥鐐瑰嚮鍙栨秷 + secondCancel() { + this.secondConfirmShow = false; }, /** * @纭绉伴噸绛夊緟鍚庣鎻愪緵瀹炴椂绉伴噸鎺ュ彛锛岃幏鍙栫毊閲嶏紝姣涢噸 @@ -123,7 +308,7 @@ if (this.isConfirmWeighLoading == false) { this.isConfirmWeighLoading = true; if (this.weighData.weigh != 0) { - if (this.weighList.orderTye == '澶栭攢') { + if (this.weighList.orderType == '澶栭攢') { if (this.weighList.skin ? (this.weighList.skin < this.realTimeWeigh ? true : false) : true) { this.saveWeigh(); } else { @@ -143,6 +328,7 @@ saveWeigh() { this.$reqPost('saveWeigh', this.weighData, 'json') .then(res => { + console.log(res, '绉伴噸鎺ュ彛'); if (res.code == 0) { this.$u.toast('绉伴噸鎴愬姛'); setTimeout(() => { @@ -151,6 +337,8 @@ }); this.isConfirmWeighLoading = false; }, 1000); + } else { + this.$u.toast('绉伴噸澶辫触锛岃绋嶅悗閲嶈瘯'); } }) .catch(err => { @@ -176,38 +364,64 @@ /** * 鍒濆鍖� 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({ - url: wsUrl, - header: { - CLIENT_TOC: 'Y' - }, - complete: res => { - console.log(res, 'socket缁撴灉'); + // initWebSocket() { + // let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`; + // let 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(() => { + // 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, '绗簩娆℃斁绌�'); + if (res.code == 0) { + this.$u.toast('鎿嶄綔鎴愬姛'); + this.evacuationModalShow = false; + } else { + this.$u.toast(res.msg ? res.msg : '鎿嶄綔澶辫触'); + this.evacuationModalShow = true; } }); - socket.onOpen(() => { - console.log('onOpen'); - }); - socket.onMessage(res => { - // 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊 - console.log('socketWeigh', res); - let nowWeigh = JSON.parse(res.data.slice(7)).weigh; - let nowWeighHouseCode = JSON.parse(res.data.slice(7)).eqCode; - if (nowWeighHouseCode == this.weighHouseCode) { - this.weighData.weigh = this.realTimeWeigh = nowWeigh; - } - }); - socket.onClose(() => { - console.log('webSocketClose'); - this.$u.toast('纾呮埧鎺ュ彛缁堢'); - }); - socket.onError(err => { - console.log('socket鎶ラ敊', err); - this.$u.toast('纾呮埧鎺ュ彛鏆傛椂涓嶈兘浣跨敤锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒'); - }); + }, + // 鏀剧┖寮圭獥鍙栨秷 + evacuationCancel() { + this.evacuationModalShow = false; } } }; @@ -220,12 +434,12 @@ display: flex; flex-direction: column; .one { - flex: 2; - border: vww(1) solid #dddddd; + flex: 3; + border: vww(2) solid #dddddd; margin: vww(20) vww(20) 0 vww(20); border-radius: vww(15); .top { - height: 80%; + height: 75%; display: flex; .top_left { flex: 3; @@ -246,14 +460,44 @@ } .bottom { text-align: center; + height: 25%; + display: flex; + justify-content: space-between; + align-items: center; + flex-direction: column; + // position: relative; + // top: vww(-10); } } .two { flex: 4; - border: vww(1) solid #dddddd; + border: vww(2) solid #dddddd; margin: vww(20); border-radius: vww(10); padding: vww(20); + .uni-table { + .uni-table-tr { + padding: 0; + border: vww(1) solid #c6c6c6; + .uni-table-th { + font-size: vww(14); + height: vww(30); + line-height: vww(30); + padding: vww(5) vww(10); + color: #111111; + font-weight: 500; + background: #e2e2e2; + } + .uni-table-td { + font-size: vww(14); + font-weight: 400; + height: vww(30); + line-height: vww(30); + padding: vww(5) vww(10); + color: #111111; + } + } + } p { text-align: center; font-size: vww(20); @@ -270,6 +514,9 @@ &:nth-of-type(2) { margin-left: vww(10); } + &:nth-of-type(3) { + margin-left: vww(10); + } } } .four { @@ -277,4 +524,14 @@ flex: 0.5; } } +.secondary-confirmation__main { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: center; + .secondary-child { + display: flex; + justify-content: space-between; + } +} </style> -- Gitblit v1.9.1