From f46eb243908e145da448f65bffb8ba17197d9164 Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期一, 25 九月 2023 16:10:12 +0800 Subject: [PATCH] 增加详情原发信息 增加装卸员下拉刷新 修改诸多问题 优化websocket --- pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice.vue | 106 +++------ pages/driver-page/appointment/appointment.vue | 18 + api/globalApi.js | 7 package-lock.json | 11 + pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock.vue | 8 package.json | 1 pages/tabbar-page/index-tabbar/index-tabbar.vue | 102 +------- pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue | 390 +++++++++++++++++++++++++++++++++- App.vue | 2 pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue | 4 pages/driver-page/driver-index/driver-index.vue | 3 store/index.js | 6 12 files changed, 474 insertions(+), 184 deletions(-) diff --git a/App.vue b/App.vue index e7e6c3c..5db64ef 100644 --- a/App.vue +++ b/App.vue @@ -13,7 +13,7 @@ if (!this.globalisconnect && !this.globalisUploadimg && this.globalisLogin) { if (!this.is_open_socket) { this.$store.dispatch('websocketInit') - this.changeisconnect(false); + this.changeisconnect(true); console.log('appvue鐨剋s'); } } diff --git a/api/globalApi.js b/api/globalApi.js index 18f1c8d..64b4925 100644 --- a/api/globalApi.js +++ b/api/globalApi.js @@ -442,5 +442,12 @@ getFiledIdCoalBunker: { url: '/wrzs/jccoalbunker/getFiledIdCoalBunker', method: 'GET' + }, + /** + * @description 鏂板澶栬喘鍘熷彂纾呭崟琛� + */ + appSaveContact: { + url: '/wrzs/tmtaskcoalcontact/appSave', + method: 'POST' } } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 2e569ec..fde353c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "@amap/amap-jsapi-loader": "^1.0.1", "bignumber.js": "^9.1.1", "crypto-js": "^3.1.9-1", + "dayjs": "^1.11.10", "qs": "^6.9.7", "vue-i18n": "^8.20.0" } @@ -41,6 +42,11 @@ "version": "3.3.0", "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-3.3.0.tgz", "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==" + }, + "node_modules/dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" }, "node_modules/function-bind": { "version": "1.1.1", @@ -133,6 +139,11 @@ "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-3.3.0.tgz", "integrity": "sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==" }, + "dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", diff --git a/package.json b/package.json index 056bfd4..945f8bc 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "@amap/amap-jsapi-loader": "^1.0.1", "bignumber.js": "^9.1.1", "crypto-js": "^3.1.9-1", + "dayjs": "^1.11.10", "qs": "^6.9.7", "vue-i18n": "^8.20.0" } diff --git a/pages/driver-page/appointment/appointment.vue b/pages/driver-page/appointment/appointment.vue index 81aaec2..4837339 100644 --- a/pages/driver-page/appointment/appointment.vue +++ b/pages/driver-page/appointment/appointment.vue @@ -59,7 +59,6 @@ }; }, onLoad(params) { - console.log('appointment,params', params); if (params.type == '鍏ュ満鐢宠') { this.isRCSQ = true; this.rcsqData.originalYyId = params.yyId; @@ -102,11 +101,13 @@ // 棰勭害 yuYueClick(id) { this.yuYuePostParams.yuYueId = id; - this.$reqPost('yuYue', { takeCoalId: this.yuYuePostParams.takeCoalId, yuYueId: this.yuYuePostParams - .yuYueId }, 'params').then(res => { + this.$reqPost('yuYue', { + takeCoalId: this.yuYuePostParams.takeCoalId, + yuYueId: this.yuYuePostParams.yuYueId + }, 'params').then(res => { if (res.code == 0) { - this.$u.toast('棰勭害鎴愬姛锛�'); - + this.yuYueList(); + this.$u.toast('棰勭害鎴愬姛'); let timer = setTimeout(() => { uni.navigateBack({ delta: 1 @@ -115,8 +116,6 @@ } else { this.$u.toast(res.msg ? res.msg : '棰勭害澶辫触'); } - }).then(() => { - this.yuYueList(); }) }, // 鍏ュ満鐢宠 @@ -127,6 +126,11 @@ this.$reqPost('saveRCSQ', this.rcsqData, 'json').then(res => { if (res.code == 0) { this.$u.toast('鍏ュ満鐢宠鎴愬姛'); + let timer = setTimeout(() => { + uni.navigateBack({ + delta: 1 + }); + }, 500); } else { this.$u.toast(res.msg ? res.msg : '鍏ュ満鐢宠澶辫触锛岃绋嶅悗閲嶈瘯'); } diff --git a/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue b/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue index 96da3d1..8a1686f 100644 --- a/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue +++ b/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue @@ -57,7 +57,91 @@ </view> </view> </view> - + <view class="origin-info" + v-if="originInfoVisible"> + <view class="origin-info_wrapper"> + <view class="origin-info_content"> + <view class="first-line"><combined-title title="鍘熷彂淇℃伅"></combined-title></view> + <u-form :model="originInfoForm" + label-position="top" + label-width="160" + :label-style="{'marginLeft':'9px'}" + ref="originInfoRef"> + <u-form-item prop="coalContactSkin"> + <view class="second-line"> + <view class="label-text" + :class="{ focusClass: isfocus1 }"><text style="color: #f56c6c;">*</text>鐨噸</view> + <view class="input-container" + :class="{ inputClass: isfocus1, disabledClass: isModifyoriginInfo }"> + <u--input placeholder="璇疯緭鍏ョ毊閲�" + border="surround" + v-model="originInfoForm.coalContactSkin" + @focus="inputFocus(1)" + @blur="inputBlur" + @change="inputChange" + :disabled="isModifyoriginInfo"></u--input> + </view> + <view class="unit" + :class="{ focusClass: isfocus1 }">鍚�</view> + </view> + </u-form-item> + <u-form-item prop="coalContactHair"> + <view class="second-line"> + <view class="label-text" + :class="{ focusClass: isfocus2 }"><text style="color: #f56c6c;">*</text>姣涢噸</view> + <view class="input-container" + :class="{ inputClass: isfocus2, disabledClass: isModifyoriginInfo }"> + <u--input placeholder="璇疯緭鍏ユ瘺閲�" + border="surround" + v-model="originInfoForm.coalContactHair" + @focus="inputFocus(2)" + @blur="inputBlur" + @change="inputChange" + :disabled="isModifyoriginInfo"></u--input> + </view> + <view class="unit" + :class="{ focusClass: isfocus2 }">鍚�</view> + </view> + </u-form-item> + <u-form-item> + <view class="second-line"> + <view class="label-text"><text style="color: #f56c6c;">*</text>鍑�閲�</view> + <view class="input-container" + :class="{ disabledClass: isModifyoriginInfo }"> + <u--input placeholder="鍑�閲�" + border="surround" + v-model="coalContactClean" + :disabled="isModifyoriginInfo"></u--input> + </view> + <view class="unit">鍚�</view> + </view> + </u-form-item> + <u-form-item prop='contactPicture'> + <view class="label-text"> + <text style="color: #f56c6c;">*</text>鍘熷彂纾呭崟 + </view> + <u-upload :fileList="fileList1" + @afterRead="afterRead" + @delete="deletePic" + name="1" + multiple + :maxCount="2" + width="250" + height="150" + :previewFullImage="true" + :disabled="isModifyoriginInfo" + :deletable='!deletable'></u-upload> + </u-form-item> + </u-form> + <view class="submit-button"> + <u-button text="鎻愪氦" + type="primary" + @click.stop="submitOriginInfo" + :disabled="isModifyoriginInfo"></u-button> + </view> + </view> + </view> + </view> <view class="timeLine"> <u-steps :current="dayRZ.length - 1" direction="column" @@ -84,7 +168,7 @@ plain @click="rcsqClick" shape="circle" - :disabled="coalDetailsData.status >= 3"></u-button> + :disabled="coalDetailsData.status === 3"></u-button> </view> <view class="bottom-button"> <u-button text="鏀剧┖" @@ -128,7 +212,8 @@ <view class="weigh-button"><u-button text="涓婄璁¢噺" @click="cengZhongClick" type="primary" - shape="circle"></u-button></view> + shape="circle" + :disabled="haveInputOrigin"></u-button></view> </view> <view class="evacuationModal"> <u-modal :show="evacuationModalShow" @@ -166,18 +251,47 @@ <script> import { webSocketUrl } from '@/api/request.js'; + import { BaseUrl } from '@/api/publicInterface.js'; import { mapState, mapMutations } from 'vuex'; + import combinedTitle from '@/components/combined-title/combined-title.vue'; + import BigNumber from "bignumber.js" + const dayjs = require('dayjs') + import isBetween from 'dayjs/plugin/isBetween' export default { + components: { + combinedTitle + }, onLoad(value) { this.orderPlanId = value.orderPlanId; this.yyId = value.yyId; + this.originInfoVisible = value.orderType === '澶栬喘' if (value.overTmWaixiao) { this.overTmWaixiao = value.overTmWaixiao this.getWeightHouseObj.overTmWaixiao = value.overTmWaixiao } + this.fileList1 = [] + dayjs.extend(isBetween) + if (this.globalIsFirstWeighing === 1) { + this.getTakeCoal(); //鑾峰彇鎻愮叅鍗曡鎯� + } + this.init(); //鑾峰彇鏃ュ織 }, onShow() { - this.init(); + this.coalDayPage(); //鑾峰彇鏃ュ織 瀹氭椂浠诲姟 + if (this.globalIsFirstWeighing === 2) { + this.getTakeCoal(); //鑾峰彇鎻愮叅鍗曡鎯� + } + }, + onHide() { + clearInterval(this.interval); + }, + onReady() { + if (this.originInfoVisible) { + this.$refs.originInfoRef.setRules(this.rules); + } + }, + beforeDestroy() { + clearInterval(this.interval); }, data() { return { @@ -250,16 +364,49 @@ ablePrintOut: false, //鍑洪棬璇佹槸鍚︽樉绀� enterLoading: false, //鍏ラ棬鎸夐挳loading outLoading: false, //鍑洪棬鎸夐挳loading + // 鏄惁濉啓鍘熷彂淇℃伅 + isInputOrigin: false, + haveInputOrigin: false, + isModifyoriginInfo: false, + // 鑱氱劍鏃舵敼鍙樻牱寮� + isfocus1: false, + isfocus2: false, + // 杈撳叆鐨勫師鍙戜俊鎭� + originInfoForm: { + coalContactSkin: '', + coalContactHair: '', + coalContactClean: 0, + contactPicture: '' + }, + originInfoVisible: false, + fileList1: [], //鍥剧墖鍒楄〃 + deletable: true, + rules: { + contactPicture: { + type: 'string', + required: true, + message: '璇蜂笂浼犲師鍙戠鍗曞浘鐗�', + trigger: ['blur', 'change'] + }, + coalContactHair: { + type: 'string', + required: true, + message: '璇疯緭鍏ユ瘺閲�', + trigger: ['blur', 'change'] + }, + coalContactSkin: { + type: 'string', + required: true, + message: '璇疯緭鍏ョ毊閲�', + trigger: ['blur', 'change'] + } + }, + timeout: '0', + }; }, - onHide() { - clearInterval(this.interval); - }, - beforeDestroy() { - clearInterval(this.interval); - }, computed: { - ...mapState(['globalweigh', 'globalinfraredStatus', 'wsgVisiable', 'wsgContent']), + ...mapState(['globalweigh', 'globalinfraredStatus', 'wsgVisiable', 'wsgContent', 'globalIsFirstWeighing']), name() { return uni.getStorageSync('name'); }, @@ -282,12 +429,27 @@ }, isapproach() { return this.currentPageCoalStatus !== 3; + }, + coalContactClean() { + let xx = BigNumber(this.originInfoForm.coalContactHair ? this.originInfoForm.coalContactHair : 0) + let yy = BigNumber(this.originInfoForm.coalContactSkin ? this.originInfoForm.coalContactSkin : 0) + return xx.minus(yy).toNumber().toFixed(2) || '' + }, + currentTime() { + let currentDate = new Date(); + let year = currentDate.getFullYear(); + let month = ("0" + (currentDate.getMonth() + 1)).slice(-2); + let date = ("0" + currentDate.getDate()).slice(-2); + let hours = ("0" + currentDate.getHours()).slice(-2); + let minutes = ("0" + currentDate.getMinutes()).slice(-2); + let formattedDate = year + "-" + month + "-" + date + " " + hours + ":" + minutes; + return formattedDate } }, methods: { - ...mapMutations(['changewsgVisiable']), + ...mapMutations(['changewsgVisiable', 'changeisUploadimg', 'changeglobalIsFirstWeighing']), init() { - this.$reqGet('coalDayPage', { id: this.orderPlanId }).then(res => { + this.$reqGet('coalDayPage', { id: this.orderPlanId, timeout: this.timeout }).then(res => { if (res.code == 0) { // this.dayRZ = res.data; this.dayRZ = res.data.map(v => { @@ -303,9 +465,6 @@ }); } }); - this.coalDayPage(); //鑾峰彇鏃ュ織 - this.getTakeCoal(); //鑾峰彇鎻愮叅鍗曡鎯� - }, // 鑾峰彇瀹㈡湇openid getgetService() { @@ -358,10 +517,34 @@ this.primarySkin = this.coalDetailsData.skinTwo; this.primaryHair = this.coalDetailsData.hairTwo; this.primaryClean = this.coalDetailsData.cleanTwo; + // 鍒ゆ柇褰撳墠鏃堕棿鏄惁瓒呭嚭棰勭害鏃堕棿 + let endTime = this.coalDetailsData.yuYueSection.slice(0, 10) + ' ' + this.coalDetailsData + .yuYueSection.slice(-5); + if (dayjs(this.currentTime).isAfter(endTime) && this.coalDetailsData.status <= 1) { + this.$u.toast('宸茶秴鍑洪绾︽椂闂�,鍙偣鍑诲叆鍦虹敵璇烽噸鏂板叆鍦�') + this.timeout = '1' + } // 鍏ラ棬璇� 鍜� 鍑洪棬璇� 鏄惁鏄剧ず this.ablePrintInduction = this.coalDetailsData.hair || this.coalDetailsData.skin this.ablePrintOut = this.coalDetailsData.hair && this.coalDetailsData.skin || this .coalDetailsData.status === 6 + // 鍘熷彂淇℃伅鍥炴樉浠ュ強鎺у埗鏄惁鍙慨鏀� + + this.haveInputOrigin = !this.coalDetailsData.skinTwo && this.coalDetailsData.orderType === + '澶栬喘' + this.deletable = this.isModifyoriginInfo = this.coalDetailsData.status > 3 + this.originInfoForm.coalContactSkin = this.coalDetailsData.skinTwo; + this.originInfoForm.coalContactHair = this.coalDetailsData.hairTwo; + if (this.coalDetailsData.contactPicture) { + this.fileList1 = this.coalDetailsData.contactPicture.split(',').map(v => { + return { + url: BaseUrl + v + } + }) + } else { + this.fileList1 = [] + } + } else { this.$u.toast('鍔犺浇澶辫触'); } @@ -388,9 +571,8 @@ // 鏃ュ織鏌ヨ coalDayPage() { this.interval = setInterval(() => { - this.$reqGet('coalDayPage', { id: this.orderPlanId }).then(res => { + this.$reqGet('coalDayPage', { id: this.orderPlanId, timeout: this.timeout }).then(res => { if (res.code == 0) { - // this.dayRZ = res.data; this.dayRZ = res.data.map(v => { let slicedate = v.taskStatusDes.slice(0, 10); if (slicedate == this.currentDate) { @@ -491,6 +673,7 @@ }, // 绉伴噸 cengZhongClick() { + this.changeglobalIsFirstWeighing(2) this.$reqGet('getWeighHouse', this.getWeightHouseObj).then(res => { console.log(res, '鑾峰彇纾呮埧'); if (res.code == 0) { @@ -504,7 +687,7 @@ res.data.id }&gateCameraId=${res.data.lastEquipmentId}&gateCameraCode=${res.data.lastEquipmentCode}&weighHouseCode=${res.data.code}&primarySkin=${ this.primarySkin - }&primaryHair=${this.primaryHair}&psrimaryClean=${this.primaryClean}&sceneInOut=${res.data.sceneInOut}&overTmWaixiao=${this.overTmWaixiao}` + }&primaryHair=${this.primaryHair}&primaryClean=${this.primaryClean}&sceneInOut=${res.data.sceneInOut}&overTmWaixiao=${this.overTmWaixiao}` }); } else { this.$u.toast(res.msg ? res.msg : '鏈湪纾呮埧锛岃鍓嶅線纾呮埧鍚庡啀璇曪紒锛�'); @@ -583,6 +766,95 @@ }, wsgContentConfirm() { this.changewsgVisiable(false) + }, + // input鑱氱劍 + inputFocus(v) { + if (v == 1) { + this.isfocus1 = true; + } else { + this.isfocus2 = true; + } + }, + // input澶辩劍 + inputBlur() { + this.isfocus1 = false; + this.isfocus2 = false; + }, + inputChange() { + if (Number(this.originInfoForm.coalContactHair) > 0 && Number(this.originInfoForm.coalContactSkin > 0)) { + this.isInputOrigin = true; + } + }, + deletePic(event) { + this.changeisUploadimg(true); + this[`fileList${event.name}`].splice(event.index, 1); + }, + async afterRead(event) { + // 褰撹缃� mutiple 涓� true 鏃�, file 涓烘暟缁勬牸寮忥紝鍚﹀垯涓哄璞℃牸寮� + let lists = [].concat(event.file); + let fileListLen = this[`fileList${event.name}`].length; + lists.map(item => { + this[`fileList${event.name}`].push({ + ...item, + status: 'uploading', + message: '涓婁紶涓�' + }); + }); + for (let i = 0; i < lists.length; i++) { + const result = await this.uploadFilePromise(lists[i].url, event.name); + let item = this[`fileList${event.name}`][fileListLen]; + this[`fileList${event.name}`].splice( + fileListLen, + 1, + Object.assign(item, { + status: 'success', + message: '涓婁紶鎴愬姛', + url: result + }) + ); + fileListLen++; + } + }, + uploadFilePromise(url, num) { + return new Promise((resolve, reject) => { + let a = uni.uploadFile({ + url: BaseUrl + '/admin/sys-file/uploadUnToken', + filePath: url, + name: 'file', + success: res => { + if (num == 1) { + this.originInfoForm.contactPicture = JSON.parse(res.data).data.url; + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + } + } + }); + }); + }, + submitOriginInfo() { + let form = { + skin: Number(this.originInfoForm.coalContactSkin), + hair: Number(this.originInfoForm.coalContactHair), + clean: Number(this.coalContactClean), + tmId: this.getWeightHouseObj.tmId, + contactPicture: this.originInfoForm.contactPicture, + deptId: this.coalDetailsData.deptId, + filedId: this.coalDetailsData.filedId, + coalName: this.coalDetailsData.coalName, + taskCoalCode: this.coalDetailsData.code, + carNo: this.coalDetailsData.carNo, + } + this.$refs.originInfoRef.validate().then(res => { + this.$reqPost('appSaveContact', form, 'json').then(res => { + if (res.code === 0) { + this.$u.toast('鎻愪氦鎴愬姛') + this.getTakeCoal() + } else { + this.$u.toast(res.msg ? res.msg : '鎻愪氦澶辫触') + } + }) + }).catch(errors => { + uni.$u.toast('璇峰~鍐欏畬鏁村師鍙戜俊鎭�') + }) } } }; @@ -770,6 +1042,86 @@ } } + .origin-info { + width: 690rpx; + height: 600rpx; + margin: vww(20) vww(15) vww(13); + 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; + @include flex; + justify-content: center; + overflow: hidden; + position: relative; + top: vww(120); + + &_wrapper { + width: 650rpx; + height: 600rpx; + @include flex; + flex-direction: column; + margin-bottom: vww(20); + position: relative; + + .origin-info_content { + width: 100%; + height: 100%; + overflow-y: scroll; + + .first-line, + .second-line { + width: 90%; + height: vww(44); + + .focusClass { + color: #5b95fd; + } + + .inputClass { + border: 1px solid rgba(73, 95, 252, 0.6) !important; + box-shadow: 0rpx 5rpx 13rpx 0rpx rgba(73, 95, 252, 0.6) !important; + border-radius: 12rpx !important; + } + + .isInputOrigin { + background-color: #f4f4fc; + } + + .input-container { + border: 2px solid #c5c5c5; + box-shadow: 0rpx 5rpx 13rpx 0rpx #c5c5c5; + border-radius: 12rpx; + } + } + + .first-line { + @include flex; + position: relative; + top: vww(8); + } + + .second-line { + @include flex; + } + + .submit-button { + width: 180rpx; + margin: vww(8) auto; + + .u-button { + font-size: 28rpx; + font-weight: 300; + color: #ffffff; + background: #497bfb; + letter-spacing: 4rpx; + border-radius: 37rpx 37rpx 37rpx 37rpx; + box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29); + } + } + } + } + } + .timeLine { height: 300rpx; margin: vww(20); diff --git a/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock.vue b/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock.vue index d5a45e6..1e34c21 100644 --- a/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock.vue +++ b/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock.vue @@ -21,10 +21,6 @@ <script> import { todayDate } from '@/utils/util.js'; export default { - onLoad(params) { - this.punchTheClockObj.tmcoa = params.tmId.toString(); - this.coalStatus = params.coalStatus; - }, data() { return { nowTime: '', @@ -36,7 +32,9 @@ } }; }, - onLoad() { + onLoad(params) { + this.punchTheClockObj.tmcoa = params.tmId; + this.coalStatus = params.coalStatus; this.getSetting(); //鑾峰彇鎺堟潈 this.getFuzzyLocation(); //鑾峰彇浣嶇疆 this.todayDate(); //褰撳墠鏃堕棿 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 696260a..b3b9105 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 @@ -5,7 +5,6 @@ background-size: cover;"> <view class="top"> <view class="top_left"> - <!-- <text>{{ realTimeWeigh }}</text> --> <text>{{ globalweigh }}</text> </view> <view class="top_right"> @@ -26,56 +25,8 @@ <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"> + v-if="sideline"> + <view class="block-sideline"> <view class="first-line"><combined-title title="鍘熷彂淇℃伅"></combined-title></view> <view class="weigh-item"> <view class="item"> @@ -243,7 +194,7 @@ <!-- 澶栭攢璁㈠崟绉扮毊鏃讹紝杩斿洖鍔犲噺鍚ㄦ寜閽疆鐏般�傜О姣涙椂鍙敤.澶栬喘璁㈠崟锛屼笉鍑虹幇杩斿洖鍔犲噺鍚ㄧ殑鎸夐挳 --> <u-button type="primary" text="纭畾绉伴噸" - :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh || !isInputOrigin||!mergeState" + :disabled="realTimeWeigh == 0 || globalinfraredStatus || isweigh ||!mergeState||isExceedOrigin" :loading="isConfirmWeighLoading" loadingText="纭" @click="confirmWeigh" @@ -254,6 +205,14 @@ @click="addAndSubtractCoal" class="jiajian" v-if="outBuy"></u-button> + </view> + <view class="four"> + <u-button type="primary" + text="鍒锋柊" + @click.stop="RefreshHandle" + icon="reload" + throttle-time="800" + :loading="refreshLoading"></u-button> </view> <!-- 鏀剧┖寮圭獥 --> <view class="evacuationModal"> @@ -339,10 +298,6 @@ coalContactSkin: 0, isMerge: 0 //1鏄� 0涓嶆槸 榛樿0 鏄惁鍚堝崱 }, - // 鏄惁濉啓鍘熷彂淇℃伅 - isInputOrigin: false, - haveInputOrigin: false, - takeCoalId: null, weighHouseCode: '', isConfirmWeighLoading: false, //纭畾绉伴噸鎸夐挳 @@ -368,11 +323,6 @@ orderSurplusLess: false, // 澶栬喘绫诲瀷绉伴噸濉啓姣涳紝鐨紝 firstHairCustomernameShow: false, - coalContactHair: '', - coalContactSkin: '', - // 鑱氱劍鏃舵敼鍙樻牱寮� - isfocus1: false, - isfocus2: false, // 澶栬喘绗竴娆$О姣涢噸涓嶉渶瑕佸姞鍑忓惃 outBuy: true, // 鐨噸寮傚父鐩稿叧 @@ -408,7 +358,9 @@ }, mergeState: true, //鍚堝崱鐘舵�� mergeStateShow: false, //鍚堝崱寮圭獥 - checkboxValue1: [] + checkboxValue1: [], + isExceedOrigin: false, //鏄惁瓒呭嚭鍘熷彂姣涢噸 + refreshLoading: false }; }, watch: { @@ -443,6 +395,14 @@ if (this.weighList.hair == 0) { this.isSkinWeigh = false; this.temporaryWeighObj.hair = newV; + if (this.weighList.orderType == '澶栬喘') { + let xx = new BigNumber(newV) + let yy = new BigNumber(this.weighList.hairTwo) + if (xx.minus(yy) > 0.3) { + this.$u.toast('瓒呭嚭鍘熷彂淇℃伅姣涢噸,璇风瓑寰呯鐞嗕汉鍛樺鐞�') + this.isExceedOrigin = true + } + } } else { this.isSkinWeigh = true; this.temporaryWeighObj.skin = newV; @@ -463,7 +423,9 @@ } }, computed: { - ...mapState(['globalweigh', 'globalinfraredStatus']), + ...mapState(['globalweigh', 'globalinfraredStatus', 'globalisconnect', 'globalisUploadimg', 'globalisLogin', + 'is_open_socket' + ]), coalContactClean() { let xx = BigNumber(this.weighData.coalContactHair) let yy = BigNumber(this.weighData.coalContactSkin) @@ -491,8 +453,21 @@ return this.weighList.orderType == '鍐呰喘' || this.weighList.orderType == '杞叆'; } }, + methods: { ...mapMutations(['changeweighHouseCode', 'changeisLogin', 'changeWeigh']), + RefreshHandle() { + if (this.globalisconnect) return this.$u.toast('宸茶繛鎺ワ紝鏃犻渶鍒锋柊') + this.refreshLoading = true + if (!this.globalisconnect && !this.globalisUploadimg && this.globalisLogin) { + if (!this.is_open_socket) { + this.$store.dispatch('websocketInit') + this.changeisconnect(true); + this.refreshLoading = false + this.$u.toast('鍒锋柊鎴愬姛') + } + } + }, init() { uni.showLoading({ title: "鍔犺浇涓�" @@ -995,9 +970,8 @@ } .four { - width: 100%; - margin-top: vww(5); - text-align: center; + width: vww(80); + margin: 0 auto; } .slide-fade-enter-active { diff --git a/pages/driver-page/driver-index/driver-index.vue b/pages/driver-page/driver-index/driver-index.vue index 5ce8255..95d9614 100644 --- a/pages/driver-page/driver-index/driver-index.vue +++ b/pages/driver-page/driver-index/driver-index.vue @@ -316,6 +316,7 @@ }, init() { this.qiangDanList(); + this.getLogOn() }, // 鍙告満棣栭〉鍒楄〃 qiangDanList() { @@ -373,7 +374,7 @@ }, list3CardIconClick(value) { uni.navigateTo({ - url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${value.id}&yyId=${value.yyId}` + url: `/pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details?orderPlanId=${value.id}&yyId=${value.yyId}&orderType=${value.orderType}` }); }, // 鎻愮叅鍗曡鎯� diff --git a/pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue b/pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue index ae5b74f..7ccbef4 100644 --- a/pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue +++ b/pages/loadUnload-page/loadUnload-detail/loadUnload-detail.vue @@ -86,6 +86,10 @@ this.init() }, methods: { + onPullDownRefresh() { + this.init() + uni.stopPullDownRefresh(); + }, init() { uni.showLoading({ title: "鍔犺浇涓�" diff --git a/pages/tabbar-page/index-tabbar/index-tabbar.vue b/pages/tabbar-page/index-tabbar/index-tabbar.vue index eba8902..859715a 100644 --- a/pages/tabbar-page/index-tabbar/index-tabbar.vue +++ b/pages/tabbar-page/index-tabbar/index-tabbar.vue @@ -115,7 +115,22 @@ }); } }, + onHide() { + console.log('椤甸潰闅愯棌') + }, + onUnload() { + console.log('椤甸潰鍗歌浇'); + this.$store.dispatch('websocketOnClose') + clearInterval(this.globalIntervalId); + this.changeisconnect(false) + }, onLoad() { + this.init(); + this.$store.dispatch('websocketInit') + this.$store.commit('changeisLogin', true) + console.log(this.globalisconnect, 'index鐨剋s鏁版嵁'); + this.userAuthorization(); + this.messageReq(); // 寮�鍚弻浜洪�氳瘽 wx.setEnable1v1Chat({ enable: true, @@ -155,13 +170,9 @@ if (v.startsWith('weigh')) { let nowWeighObj = JSON.parse(v.slice(7)); if (this.globalweighHouseCode && nowWeighObj.eqCode == this.globalweighHouseCode) { - if (nowWeighObj.eqInfraredStatus) { - this.changeinfraredStatus(true); - this.changeWeigh(nowWeighObj.weigh); - } else { - this.changeinfraredStatus(false); - this.changeWeigh(nowWeighObj.weigh); - } + this.changeWeigh(nowWeighObj.weigh); + this.changeinfraredStatus(!!nowWeighObj.eqInfraredStatus); + console.log(!!nowWeighObj.eqInfraredStatus, '绾㈠鐘舵��'); } } else if (v.startsWith('msg')) { function removeTags(str) { @@ -184,26 +195,6 @@ } } } - }, - onShow() { - this.init(); - if (this.globalisconnect) { - this.$store.dispatch('websocketInit') - this.changeisconnect(false) - this.$store.commit('changeisLogin', true) - console.log(this.globalisconnect, 'index鐨剋s鏁版嵁'); - } - this.userAuthorization(); - this.messageReq(); - }, - onHide() { - console.log('椤甸潰闅愯棌') - }, - onUnload() { - console.log('椤甸潰鍗歌浇'); - this.$store.dispatch('websocketOnClose') - clearInterval(this.globalIntervalId); - this.changeisconnect(true) }, methods: { ...mapMutations(['pushMessage', 'changeWeigh', 'changeinfraredStatus', 'changeisconnect', 'websocketInit', @@ -277,63 +268,6 @@ fail() { console.log('鑾峰彇澶辫触'); }, - }); - }, - // 鍒濆鍖杦ebsocket - initWebsocket() { - let wsUrl = `${webSocketUrl}?access_token=${uni.getStorageSync('token')}`; - socket = uni.connectSocket({ - url: wsUrl, - header: { - CLIENT_TOC: 'Y' - }, - complete: res => { - console.log(res, 'socket缁撴灉'); - if (res.errMsg == 'connectSocket:ok') { - this.changeisconnect(true); - this.isconnect = true; - } - } - }); - socket.onOpen(() => { - console.log('onOpen'); - this.intervalId = setInterval(() => { - socket.send({ - data: JSON.stringify({ type: 'ping' }), - success(e) { - console.log(e, '鍙戦�佸績璺虫垚鍔�'); - } - }); - }, 30000); - }); - - // 鑾峰彇鏈嶅姟鍣ㄤ紶鏉ョ殑鏁版嵁锛屽仛鐩稿簲澶勭悊 - socket.onMessage(res => { - console.log('message', res); - if (res.data.startsWith('weigh')) { - let nowWeighObj = JSON.parse(res.data.slice(7)); - if (this.globalweighHouseCode && nowWeighObj.eqCode == this.globalweighHouseCode) { - if (nowWeighObj.eqInfraredStatus) { - this.changeinfraredStatus(true); - this.changeWeigh(nowWeighObj.weigh); - } else { - this.changeinfraredStatus(false); - this.changeWeigh(nowWeighObj.weigh); - } - } - } else if (res.data.startsWith('msg')) { - this.messageList = JSON.parse(res.data.slice(5)); - this.messagePushShow = true; - } else {} - }); - socket.onClose(e => { - console.log('webSocketClose', e); - this.isconnect = false; - this.changeisconnect(false); - }); - socket.onError(err => { - console.log('socket鎶ラ敊', err); - this.$u.toast('鍑虹幇閿欒锛岃閲嶆柊杩涘叆璇ラ〉闈紝閲嶈瘯锛侊紒'); }); }, messageconfirm() { diff --git a/store/index.js b/store/index.js index 3a3d5eb..6f0ddfe 100644 --- a/store/index.js +++ b/store/index.js @@ -144,7 +144,8 @@ 'https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj44.jpg', ], wsgVisiable: false, //纾呮埧蹇欑寮圭獥鎺у埗 - wsgContent: '' + wsgContent: '', + globalIsFirstWeighing: 1 //鏄惁鏄涓�娆′笂纾� }, mutations: { lengthchange(state, payload) { @@ -225,6 +226,9 @@ }, changewsgContent(state, payload) { state.wsgContent = payload + }, + changeglobalIsFirstWeighing(state, payload) { + state.globalIsFirstWeighing = payload } }, actions: { -- Gitblit v1.9.1