From 11e363728bb259b59384cb5be382c45e32a2f421 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期一, 25 九月 2023 16:10:50 +0800
Subject: [PATCH] 提交上次遗漏文件

---
 pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue |  404 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 384 insertions(+), 20 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..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"
@@ -154,23 +239,59 @@
 				:show="servieceShow"
 				cancelText="鍙栨秷"></u-action-sheet>
 		</view>
+		<!-- 纾呮埧蹇欑鎻愮ず寮圭獥 -->
+		<view class="">
+			<u-modal :show="wsgVisiable"
+				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')
+	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 {
@@ -243,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']),
+			...mapState(['globalweigh', 'globalinfraredStatus', 'wsgVisiable', 'wsgContent', 'globalIsFirstWeighing']),
 			name() {
 				return uni.getStorageSync('name');
 			},
@@ -275,11 +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', '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 => {
@@ -295,9 +465,6 @@
 						});
 					}
 				});
-				this.coalDayPage(); //鑾峰彇鏃ュ織
-				this.getTakeCoal(); //鑾峰彇鎻愮叅鍗曡鎯�
-
 			},
 			// 鑾峰彇瀹㈡湇openid
 			getgetService() {
@@ -350,9 +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.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('鍔犺浇澶辫触');
 					}
@@ -379,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) {
@@ -482,6 +673,7 @@
 			},
 			// 绉伴噸
 			cengZhongClick() {
+				this.changeglobalIsFirstWeighing(2)
 				this.$reqGet('getWeighHouse', this.getWeightHouseObj).then(res => {
 					console.log(res, '鑾峰彇纾呮埧');
 					if (res.code == 0) {
@@ -495,10 +687,10 @@
 							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 : '鏈湪纾呮埧锛岃鍓嶅線纾呮埧鍚庡啀璇曪紒锛�');
 					}
 				});
 			},
@@ -572,6 +764,98 @@
 					}
 				})
 			},
+			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('璇峰~鍐欏畬鏁村師鍙戜俊鎭�')
+				})
+			}
 		}
 	};
 </script>
@@ -758,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);

--
Gitblit v1.9.1