From d4bffaa2419bc3e3d6b1af4a6314065c67a8cbc0 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期一, 03 七月 2023 16:57:13 +0800
Subject: [PATCH] ws增加报错关闭重连功能
---
pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue | 395 +++++++++++++++++++++++++++++--------------------------
1 files changed, 207 insertions(+), 188 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 ffe5e41..4510c28 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"
@@ -124,7 +47,7 @@
<view class="main-information"
v-if="weighList.orderType!=='杞叆'||weighList.orderType!=='杞嚭'">
<view class="prefix">瀹㈡埛:</view>
- <view class="suffix">{{ weighList.customerName }}</view>
+ <view class="suffix">{{ weighList.customerName|| '' }}</view>
</view>
<view class="main-information"
v-if="weighList.orderType!=='杞叆'||weighList.orderType!=='杞嚭'">
@@ -141,18 +64,25 @@
<view class="suffix">{{ weighList.coalName || '' }}</view>
</view>
<view class="main-information">
+ <view class="prefix">璁㈠崟绫诲瀷:</view>
+ <view class="suffix">{{ weighList.orderType || '' }}</view>
+ </view>
+ <view class="main-information">
<view class="prefix">鐨噸:</view>
- <view class="suffix">{{ temporaryWeighObj.skin == 0 ? weighList.skin : temporaryWeighObj.skin }}
+ <view class="suffix">
+ {{currentSkin}}
</view>
</view>
<view class="main-information">
<view class="prefix">姣涢噸:</view>
- <view class="suffix">{{ temporaryWeighObj.hair == 0 ? weighList.hair : temporaryWeighObj.hair }}
+ <view class="suffix">
+ {{currentHair}}
</view>
</view>
<view class="main-information">
<view class="prefix">鍑�閲�:</view>
- <view class="suffix">{{ temporaryWeighObj.clean == 0 ? weighList.clean : temporaryWeighObj.clean }}
+ <view class="suffix">
+ {{ currentClean}}
</view>
</view>
<view class="main-information">
@@ -161,6 +91,8 @@
</view>
</view>
</view>
+ <!-- 绉伴噸鍘嗗彶-->
+ <weigh-item :list="weighHistory"></weigh-item>
<view class="three">
<!-- 鏀剧┖ -->
<u-button type="primary"
@@ -172,7 +104,7 @@
<!-- 澶栭攢璁㈠崟绉扮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 -->
<u-button type="primary"
text="纭畾绉伴噸"
- :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh || !isInputOrigin"
+ :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh "
:loading="isConfirmWeighLoading"
loadingText="纭"
@click="confirmWeigh"></u-button>
@@ -182,8 +114,14 @@
@click="addAndSubtractCoal"
class="jiajian"
v-if="outBuy"></u-button>
+ <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"
@@ -198,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;
@@ -216,9 +155,11 @@
this.weighData.overTmWaixiao = 1
}
this.changeweighHouseCode(params.weighHouseCode);
+ this.changeWeigh(0)
},
components: {
- combinedTitle
+ combinedTitle,
+ weighItem
},
data() {
return {
@@ -233,9 +174,9 @@
weigh: 0,
tmCode: '',
sceneInOut: '',
- coalContactClean: 0,
- coalContactHair: 0,
- coalContactSkin: 0
+ // coalContactClean: 0,
+ // coalContactHair: 0,
+ // coalContactSkin: 0
},
// 鏄惁濉啓鍘熷彂淇℃伅
isInputOrigin: false,
@@ -248,9 +189,9 @@
weighList: {},
// 涓存椂绉伴噸瀵硅薄
temporaryWeighObj: {
- skin: 0,
- hair: 0,
- clean: 0
+ skin: null,
+ hair: null,
+ clean: null
},
infraredStatus: false, // 绾㈠鐘舵�侊紝
// 鏀剧┖鎺у埗
@@ -270,79 +211,58 @@
// 鑱氱劍鏃舵敼鍙樻牱寮�
isfocus1: false,
isfocus2: false,
- // 澶栬喘绗竴娆$О姣涢噸涓嶉渶瑕佸姞鍑忓惃
- outBuy: true
+ // 澶栬喘绫诲瀷
+ outBuy: true,
+ // 缁х画鍗歌揣鎸夐挳
+ canUnload: false,
+ UnloadingAgainLoading: false,
+ onlineurl,
};
},
watch: {
realTimeWeigh(newV, oldV) {
if (this.weighList.orderType == '澶栭攢' || this.weighList.orderType == '鍐呴攢' || this.weighList.orderType ==
'杞嚭') {
- if (this.weighList.skin == 0) {
- // this.temporaryWeighObj.skin = this.realTimeWeigh;
+ if (!this.showWeigh.skin) {
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 || 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) {
- // this.temporaryWeighObj.hair = this.realTimeWeigh;
+ if (!this.showWeigh.hair) {
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 || this.temporaryWeighObj
- .clean < 0;
+ this.isweigh = Number(this.currentClean) < 0 || this.showWeigh.skin < newV && this.showWeigh
+ .skin > 0;
}
}
},
// 鐩戝惉閲嶉噺鍙樺寲
- // globalweigh: {
- // handler(v) {
- // this.weighData.weigh = this.realTimeWeigh = v;
- // console.log(this.realTimeWeigh, '鐪熷疄閲嶉噺鏀瑰彉浜�');
- // },
- // deep: true
- // },
- 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
- },
- onHide() {
-
+ // this.realTimeWeigh = 0
},
computed: {
...mapState(['globalweigh', 'globalinfraredStatus']),
- coalContactClean() {
- return (Number(this.weighData.coalContactHair) - Number(this.weighData.coalContactSkin)).toFixed(2);
- },
token() {
return uni.getStorageSync('token');
},
// 鍔犲噺鐓ゆ寜閽鐢ㄤ笌鍚�
addAndSubtractCoalDisabled() {
return this.realTimeWeigh == 0;
- // if (this.weighList.orderType == '澶栭攢' || this.weighList.orderType == '鍐呴攢' || this.weighList.orderType == '杞嚭') {
- // if (this.weighList.hair == 0) {
- // return true;
- // } else if (this.weighList.hair != 0) {
- // return false;
- // }
- // }
},
// 鏄惁鏀剧┖鎸夐挳绂佺敤
isEvacuation() {
@@ -350,27 +270,44 @@
'杞嚭') {
return (this.weighList.skin === 0 ? this.temporaryWeighObj.skin : this.weighList.skin) == this
.temporaryWeighObj.hair;
- // 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 === 0 ? this.temporaryWeighObj.skin : this.weighList.hair) == this
.temporaryWeighObj.hair;
- // return this.weighList.hair == this.temporaryWeighObj.skin || this.temporaryWeighObj.skin == this
- // .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: '鍔犺浇涓�'
+ })
// 鑾峰彇绉伴噸淇℃伅
this.$reqGet('weighList', { id: this.takeCoalId }).then(res => {
console.log(res, '鑾峰彇绉伴噸淇℃伅');
+ uni.hideLoading()
if (res.code == 0) {
this.weighList = res.data;
this.weighData.deptId = res.data.deptId;
@@ -378,20 +315,9 @@
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;
- if (this.weighList.orderType == '澶栬喘') {
- this.firstHairCustomernameShow = true;
- if (this.weighList.hair > 0) {
- this.haveInputOrigin = true;
- this.isInputOrigin = true;
- }
- if (this.weighList.hair == 0) {
- this.outBuy = false;
- }
- } else {
- this.isInputOrigin = true;
- }
+ this.outBuy = (this.weighList.orderType.indexOf('閿�') !== -1) && this.showWeigh.skin > 0;
+ // 缁х画鍗歌揣鍙湁澶栬喘绫诲瀷绗簩娆′細鏈�
+ this.canUnload = this.weighList.orderType === '澶栬喘' && this.showWeigh.hair > 0;
}
});
},
@@ -420,7 +346,7 @@
},
// 纭绉伴噸鎺ュ彛
saveWeigh() {
- this.weighData.coalContactClean = this.coalContactClean;
+ // this.weighData.coalContactClean = this.coalContactClean;
this.$reqPost('saveWeigh', this.weighData, 'json')
.then(res => {
console.log(res, '绉伴噸鎺ュ彛');
@@ -446,7 +372,15 @@
this.$reqPost('addAndSubtractCoal', {
deptId: this.weighData.deptId,
sceneId: this.weighData.sceneId,
- carNo: this.weighData.carNo
+ carNo: this.weighData.carNo,
+ tmId: this.weighData.tmId,
+ filedId: this.weighData.filedId,
+ tmId: this.weighData.tmId,
+ gateCameraId: this.weighData.gateCameraId,
+ equipmentCode: this.weighData.equipmentCode,
+ tmCode: this.weighData.tmCode,
+ sceneInOut: this.weighData.sceneInOut,
+ weigh: this.realTimeWeigh
}, 'json').then(res => {
if (res.code == 0) {
this.$u.toast('鎿嶄綔鎴愬姛锛屽嵆灏嗚繑鍥炰笂涓�椤�');
@@ -457,8 +391,39 @@
this.isConfirmWeighLoading = false;
}, 1000);
console.log(res, '鍔犲噺鐓�');
+ } else {
+ this.$u.toast('鎿嶄綔澶辫触锛岃绋嶅�欓噸璇�');
}
});
+ },
+ // 缁х画鍗歌揣
+ UnloadingAgainHandle() {
+ this.UnloadingAgainLoading = true
+ this.$reqPost('continueWeigh', {
+ deptId: this.weighData.deptId,
+ sceneId: this.weighData.sceneId,
+ carNo: this.weighData.carNo,
+ tmId: this.weighData.tmId,
+ filedId: this.weighData.filedId,
+ tmId: this.weighData.tmId,
+ gateCameraId: this.weighData.gateCameraId,
+ equipmentCode: this.weighData.equipmentCode,
+ tmCode: this.weighData.tmCode,
+ sceneInOut: this.weighData.sceneInOut,
+ weigh: this.realTimeWeigh
+ }, 'json').then(res => {
+ this.UnloadingAgainLoading = false
+ if (res.code == 0) {
+ this.$u.toast('鎿嶄綔鎴愬姛锛屽嵆灏嗚繑鍥炰笂涓�椤�');
+ setTimeout(() => {
+ uni.navigateBack({
+ delta: 1
+ });
+ }, 1000);
+ } else {
+ this.$u.toast('鎿嶄綔澶辫触锛岃绋嶅�欓噸璇�');
+ }
+ })
},
// 鏀剧┖
evacuation() {
@@ -481,24 +446,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>
@@ -511,16 +458,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 {
@@ -673,7 +695,7 @@
width: calc(100% - 60rpx);
box-sizing: border-box;
height: 630rpx;
- margin: 0 vww(15) vww(45) 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;
@@ -715,19 +737,16 @@
}
.three {
- margin: 0 auto vww(20);
- flex: 0.7;
- display: flex;
+ margin: 0 auto vww(5);
+ width: 96%;
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
+ justify-content: center;
+ gap: vww(10);
color: #939393;
.u-button {
- &:nth-of-type(2) {
- margin-left: vww(10);
- }
-
- &:nth-of-type(3) {
- margin-left: vww(10);
- }
+ width: vww(90);
}
}
--
Gitblit v1.9.1