From cbfc1953c7e7333dbcb1e43fff15433ed24fc543 Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期日, 08 十月 2023 17:28:32 +0800 Subject: [PATCH] 修正打印入门证接口错误 增加装卸员页面详情信息 --- pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue | 477 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 441 insertions(+), 36 deletions(-) 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 509e646..f7db267 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 @@ -2,6 +2,9 @@ <view class="bill-of-lading-details"> <view class="top-banner" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/loadingbanner.png') no-repeat;background-size: cover;"> + <u-notice-bar :text="originInfoNotice" + v-if="originInfoVisible" + fontSize='36'></u-notice-bar> <view class="top-information"> <view class="cutomer-name" v-if="orderType == '杞叆' || orderType == '杞嚭'">鐓ゅ満:{{ coalDetailsData.toFiledName || '' }}</view> @@ -22,7 +25,7 @@ <view class="status-button" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/statusbutton.png') no-repeat; background-size: cover;"> - {{ coalStatus[coalDetailsData.status] || '' }} + {{coalStatus[correctStatus]||''}} </view> </view> <view class="time"> @@ -57,7 +60,92 @@ </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" + :rules="rules" + 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 +172,7 @@ plain @click="rcsqClick" shape="circle" - :disabled="coalDetailsData.status >= 3"></u-button> + :disabled="correctStatus>= 3"></u-button> </view> <view class="bottom-button"> <u-button text="鏀剧┖" @@ -128,7 +216,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" @@ -154,23 +243,65 @@ :show="servieceShow" cancelText="鍙栨秷"></u-action-sheet> </view> + <!-- 纾呮埧蹇欑鎻愮ず寮圭獥 --> + <view class=""> + <u-modal :show="wsgShow" + title="鎻愮ず" + :content="wsgContent" + @confirm="wsgContentConfirm"></u-modal> + </view> </view> </template> <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') export default { + components: { + combinedTitle + }, + onPullDownRefresh() { + this.getTakeCoal(); //鑾峰彇鎻愮叅鍗曡鎯� + uni.stopPullDownRefresh(); + }, 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 = [] + this.changeglobalIsFirstWeighing(1) + if (this.globalIsFirstWeighing === 1) { + console.log('鑾峰彇璇︽儏 onload'); + this.getTakeCoal(); //鑾峰彇鎻愮叅鍗曡鎯� + } + this.init(); //鑾峰彇鏃ュ織 + this.getgetService(); //鑾峰彇瀹㈡湇 }, onShow() { - this.init(); + this.coalDayPage(); //鑾峰彇鏃ュ織 瀹氭椂浠诲姟 + if (this.globalIsFirstWeighing === 2) { + console.log('鑾峰彇璇︽儏 onShow'); + this.getTakeCoal(); //鑾峰彇鎻愮叅鍗曡鎯� + } + }, + onHide() { + clearInterval(this.interval); + }, + onReady() { + if (this.originInfoVisible) { + this.$refs.originInfoRef.setRules(this.rules); + } + }, + beforeDestroy() { + clearInterval(this.interval); }, data() { return { @@ -205,7 +336,7 @@ serviecePhone: '' }, coalStatus: ['棰嗗彇', '棰勭害', '绛惧埌', '鍏ュ満', '绉扮毊', '绉版瘺', '绂诲満', '鍏ョ鎴�', '鍑虹鎴�', '鍏ョ叅浠�', '鍑虹叅浠�', '鏀剧┖', '浣滃簾', '鍏ュ満鐢宠', - '杩涘叆鍦洪櫌', '寮傚父瀹℃牳涓�' + '杩涘叆鍦洪櫌', '寮傚父瀹℃牳涓�', '杩斿洖鍔犲噺鍚�', '瓒呮椂', '鎵撳嵃涓�', '鎵撳嵃涓�' ], // 鐘舵�� weighHouseCode: '', // 鏀剧┖寮圭獥鎺у埗鍙橀噺 @@ -243,16 +374,40 @@ 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: {}, + timeout: '0', + wsgShow: false, + timeLineStatus: null, + originInfoNotice: '濉啓鍘熷彂淇℃伅鍚庡彲涓婄璁¢噺' }; }, - onHide() { - clearInterval(this.interval); - }, - beforeDestroy() { - clearInterval(this.interval); + watch: { + '$store.state.wsgVisiable': { + deep: true, + handler: function(val) { + this.wsgShow = val + } + } }, computed: { - ...mapState(['globalweigh', 'globalinfraredStatus']), + ...mapState(['globalweigh', 'globalinfraredStatus', 'wsgVisiable', 'wsgContent', 'globalIsFirstWeighing']), name() { return uni.getStorageSync('name'); }, @@ -274,14 +429,34 @@ return this.coalDetailsData.hair !== 0 || this.coalDetailsData.skin !== 0; }, isapproach() { - return this.currentPageCoalStatus !== 3; + return this.correctStatus !== 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 + }, + correctStatus() { + return this.currentPageCoalStatus === this.timeLineStatus ? this.currentPageCoalStatus : this + .timeLineStatus } }, methods: { + ...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.timeLineStatus = res.data[0].taskStatus this.dayRZ = res.data.map(v => { let slicedate = v.taskStatusDes.slice(0, 10); if (slicedate == this.currentDate) { @@ -295,9 +470,6 @@ }); } }); - this.coalDayPage(); //鑾峰彇鏃ュ織 - this.getTakeCoal(); //鑾峰彇鎻愮叅鍗曡鎯� - }, // 鑾峰彇瀹㈡湇openid getgetService() { @@ -313,7 +485,7 @@ uni.setStorageSync('customeropenId', this.serviceInfoObj.openId); uni.setStorageSync('customerName', this.serviceInfoObj.openName); } - }); + }) }, // 鑾峰彇鎻愮叅鍗曡鎯� getTakeCoal() { @@ -352,7 +524,25 @@ this.primaryClean = this.coalDetailsData.cleanTwo; // 鍏ラ棬璇� 鍜� 鍑洪棬璇� 鏄惁鏄剧ず this.ablePrintInduction = this.coalDetailsData.hair || this.coalDetailsData.skin - this.ablePrintOut = 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.coalDetailsData.status > 3 + this.originInfoForm.coalContactSkin = this.coalDetailsData.skinTwo; + this.originInfoForm.coalContactHair = this.coalDetailsData.hairTwo; + this.originInfoForm.contactPicture = this.coalDetailsData.contactPicture + if (this.coalDetailsData.contactPicture) { + this.fileList1 = this.coalDetailsData.contactPicture.split(',').map(v => { + return { + url: BaseUrl + v + } + }) + } else { + this.fileList1 = [] + } + } else { this.$u.toast('鍔犺浇澶辫触'); } @@ -373,15 +563,24 @@ } } }).then(() => { - this.getgetService(); //鑾峰彇瀹㈡湇 + // 鍒ゆ柇褰撳墠鏃堕棿鏄惁瓒呭嚭棰勭害鏃堕棿 + setTimeout(() => { + 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' + } + }, 1000) }) }, // 鏃ュ織鏌ヨ 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.timeLineStatus = res.data[0].taskStatus this.dayRZ = res.data.map(v => { let slicedate = v.taskStatusDes.slice(0, 10); if (slicedate == this.currentDate) { @@ -482,6 +681,7 @@ }, // 绉伴噸 cengZhongClick() { + this.changeglobalIsFirstWeighing(2) this.$reqGet('getWeighHouse', this.getWeightHouseObj).then(res => { console.log(res, '鑾峰彇纾呮埧'); if (res.code == 0) { @@ -489,16 +689,23 @@ this.weighData.gateCameraId = res.data.lastEquipmentId; this.weighData.equipmentCode = res.data.lastEquipmentCode; this.weighData.sceneInOut = res.data.sceneInOut; + let form = { + sceneId: this.weighData.sceneId, + gateCameraId: this.weighData.gateCameraId, + equipmentCode: this.weighData.equipmentCode, + sceneInOut: this.weighData.sceneInOut, + } + uni.setStorageSync('WeighHouseForm', JSON.stringify(form)) this.weighHouseCode = res.data.code; uni.navigateTo({ url: `/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice?takeCoalId=${this.orderPlanId}&sceneId=${ 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('鏈湪纾呮埧锛岃鍓嶅線纾呮埧鍚庡啀璇曪紒锛�'); + this.$u.toast(res.msg ? res.msg : '鏈湪纾呮埧锛岃鍓嶅線纾呮埧鍚庡啀璇曪紒锛�'); } }); }, @@ -545,24 +752,41 @@ title: '姝e湪鎵撳嵃涓�,璇风◢鍚�' }) this.enterLoading = true - this.$reqGet('printer', { type: 2, tmId: this.coalDetailsData.id }).then(res => { - uni.hideLoading() - this.enterLoading = false - console.log(res); - if (res.code === 0) { - this.$u.toast('鎵撳嵃鎴愬姛') - } else { - this.$u.toast(res.msg ? res.msg : '鎵撳嵃澶辫触') - } - }) + let form = { + deptId: this.getWeightHouseObj.deptId, + tmId: this.getWeightHouseObj.tmId, + carNo: uni.getStorageSync('carNo'), + type: 2, + weighingNumber: 1 + } + this.$reqPost('printer', Object.assign(form, JSON.parse(uni.getStorageSync('WeighHouseForm'))), + 'json').then( + res => { + uni.hideLoading() + this.enterLoading = false + console.log(res); + if (res.code === 0) { + this.$u.toast('鎵撳嵃鎴愬姛') + } else { + this.$u.toast(res.msg ? res.msg : '鎵撳嵃澶辫触') + } + }) }, // 鎵撳嵃鍑洪棬璇� printExitPermit() { uni.showLoading({ title: '姝e湪鎵撳嵃涓�,璇风◢鍚�' }) + let form = { + deptId: this.getWeightHouseObj.deptId, + tmId: this.getWeightHouseObj.tmId, + carNo: uni.getStorageSync('carNo'), + type: 3, + weighingNumber: 2 + } this.outLoading = true - this.$reqGet('printer', { type: 3, tmId: this.coalDetailsData.id }).then(res => { + this.$reqPost('printer', Object.assign(form, JSON.parse(uni.getStorageSync('WeighHouseForm'))), + 'json').then(res => { uni.hideLoading() this.outLoading = false if (res.code === 0) { @@ -572,6 +796,107 @@ } }) }, + 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, + } + if (this.originInfoForm.coalContactSkin && this.originInfoForm.coalContactHair && this + .originInfoForm + .contactPicture) { + this.$reqPost('appSaveContact', form, 'json').then(res => { + if (res.code === 0) { + this.$u.toast('鎻愪氦鎴愬姛') + } else { + this.isModifyoriginInfo = true + this.$u.toast(res.msg ? res.msg : '鎻愪氦澶辫触') + + } + }).then(() => { + setTimeout(() => { + this.getTakeCoal() + }, 1000) + }) + } else { + uni.$u.toast('璇峰~鍐欏畬鏁村師鍙戜俊鎭�') + } + } } }; </script> @@ -758,6 +1083,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); -- Gitblit v1.9.1