From 041c81a20c93a6b8238e810fe9a1adfee9c9d86f Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期二, 12 九月 2023 19:45:30 +0800
Subject: [PATCH] 小程序

---
 minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue |  419 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 392 insertions(+), 27 deletions(-)

diff --git a/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
index 7f7965e..1cbbb33 100644
--- a/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
+++ b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
@@ -125,7 +125,7 @@
 					<image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
 				</div>
 			</div>
-			<div class="bg_list_item" v-if="arrType && arrType.length > 0">
+			<div class="bg_list_item" v-if="form.duration && arrType && arrType.length > 0">
 				<div class="bg_list_item_top">
 					<div class="bg_list_item_top_left">
 						<div class="bg_list_item_top_left_x bg_m"></div>
@@ -223,6 +223,39 @@
 				</view>
 			</view>
 		</u-popup>
+		<u-popup :show="statistics" @close="statistics=false" :round="8" closeable zIndex="20000">
+			<div class="tg">
+				<div class="tg_header">璇风‘璁ゆ姤宸ヤ俊鎭�</div>
+				<div class="tg_table">
+					<div class="tg_table_header">
+						<div class="tg_table_header_item">绫诲瀷</div>
+						<div class="tg_table_header_item">鐗╂枡鍚嶇О</div>
+						<!-- <div class="tg_table_header_item">宸ヨ鏁伴噺</div> -->
+						<div class="tg_table_header_item">鐗╂枡鏁伴噺</div>
+					</div>
+					<div class="nr" v-if="statisticsData.length > 0">
+						<div class="tg_table_nr" v-for="(item, index) in statisticsData" :key="index">
+							<div class="tg_table_nr_item">{{ item.name }}</div>
+							<div class="tg_table_nr_item">{{ item.materialName }}</div>
+							<!-- <div class="tg_table_nr_item">{{item.gznum}}</div> -->
+							<div class="tg_table_nr_item" :style="item.name === '宸ュ崟鏈姇鏂�' ? 'color: #DE5243' : ''">
+								{{ item.num }}
+							</div>
+						</div>
+					</div>
+					<div class="nr" v-else>
+						<div class="tg_table_nr">
+							<div class="tg_table_nr_item1">鏆傛棤鏁版嵁</div>
+						</div>
+					</div>
+				</div>
+				<div class="tg_footer">
+					<!-- proxy.$auth('h5:workorderoutput:confirm') &&  -->
+					<button class="tg_footer_qr" @click="submitBG" v-if="isSubmit">纭鎶ュ伐</button>
+					<div class="tg_footer_fh" @click="gofh" v-else-if="!isSubmit">杩斿洖淇敼</div>
+				</div>
+			</div>
+		</u-popup>
 	</view>
 </template>
 
@@ -301,7 +334,10 @@
 					capacity: 10,
 					page: 1,
 					total: 0
-				}
+				},
+				statisticsData: [],
+				isSubmit: false,
+				statistics: false
 			};
 		},
 		onLoad(obj) {
@@ -444,46 +480,39 @@
 					if (unitAttribute == 0 && num != '') {
 						if (!REGULAR.positiveInteger.test(num)) {
 							obj.num = obj.ynum
-							Toast({
-								message: '鍙兘杈撳叆姝f暣鏁�'
-							})
+							uni.$u.toast('鍙兘杈撳叆姝f暣鏁�')
 							return
 						}
 					}
 					if (unitAttribute == 1 && num != '') {
 						if (!REGULAR.number.test(num)) {
-							Toast({
-								message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級'
-							})
+							uni.$u.toast('鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級')
 							obj.num = obj.ynum
 							return
 						}
 					}
 					if (num > maxNum) {
 						obj.num = obj.ynum
-						Toast.fail({
-							message: '瓒呭嚭宸ヨ鎬绘暟'
-						})
+						uni.$u.toast('瓒呭嚭宸ヨ鎬绘暟')
 						return
 					}
 				} else if (type === 'C' && num > info.value.planNum) {
 					obj.num = obj.ynum
-					Toast.fail({
-						message: '浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺'
-					})
+					uni.$u.toast('浜у嚭鏁伴噺涓嶈兘瓒呰繃璁″垝鏁伴噺')
 					return
 				}
-				// updateById({ id, num }).then(res => {
-				//   if (res.code === 200 && type === 'T') {
-				//     getOrocessRecords()
-				//   } else if (res.code === 200 && type === 'C') {
-				//     // getOrocessRecordCC()
-				//   }
-				// })
+				updateById({
+						id,
+						num
+					})
+					.then(res => {
+						if (res.code === 200 && type === 'T') {
+							this.getOrocessRecords()
+						}
+					})
 			},
 			changeCC(downType, num, recordId) {
 				if (!num) return
-				console.log(Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable))
 				if ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) > this.info.planNum) {
 					uni.showToast({
 						title: '浜у嚭鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺',
@@ -519,7 +548,197 @@
 				this.form.index = index
 				this.form.type = item.type
 			},
+			getGroupNum(arr) {
+				let newArry = {};
+				for (let i = 0; i < arr.length; i++) {
+					if (newArry[arr[i].materialName]) {
+						newArry[arr[i].materialName].push(arr[i])
+					} else {
+						newArry[arr[i].materialName] = [arr[i]]
+					}
+				}
+				return newArry;
+			},
 			submit() {
+				let res = this.getGroupNum(this.feedingData)
+				if (this.info.bomType === 1) { // 鎷夊紡
+					console.log('鎷夊紡')
+					this.statisticsData = []
+					if (this.produceFrom.qualified <= 0 && this.produceFrom.undesirable <= 0) {
+						uni.$u.toast('浜у嚭鏄庣粏涓嶈兘涓虹┖')
+						return
+					}
+					if (this.info.hasBom === 0) {
+						console.log('鏃燽om')
+						let arr = []
+						let tl = 0
+						for (let i in res) {
+							let num = 0
+							res[i].forEach(item => {
+								num += Number(item.num)
+							})
+							arr.push({
+								name: '宸ュ崟鎶曟枡',
+								materialName: i + res[i][0].procedureName,
+								num: num
+							})
+						}
+						this.feedingData.forEach(item => {
+							tl += Number(item.num)
+						})
+						this.statisticsData = [...this.statisticsData, ...arr]
+						this.statisticsData.push({
+							name: '宸ュ崟鍚堟牸浜у嚭',
+							materialName: this.info.mmodel.name + '-' + this.info.procedureName,
+							num: this.produceFrom.qualified
+						})
+						this.infostatisticsData.push({
+							name: '宸ュ崟涓嶈壇浜у嚭',
+							materialName: this.info.mmodel.name + '-' + this.info.procedureName,
+							num: this.produceFrom.undesirable
+						})
+						this.statisticsData.push({
+							name: '宸ュ崟鏈姇鏂�',
+							materialName: '',
+							num: this.info.planNum - Number(this.produceFrom.qualified) - Number(this.produceFrom
+								.undesirable)
+						})
+						let total = this.info.planNum - (Number(this.produceFrom.qualified) + Number(this.produceFrom
+							.undesirable))
+						if (total === 0) {
+							this.isSubmit = true
+						} else {
+							this.isSubmit = false
+						}
+					} else if (this.info.hasBom === 1) { // 鏈塨om鎯呭喌
+						console.log('鏈塨om')
+						let arr = []
+						let tl = 0
+						// let res = getGroupNum(feedingData)
+						for (let i in res) {
+							let num = 0
+							res[i].forEach(item => {
+								num += Number(item.num)
+							})
+							arr.push({
+								name: '宸ュ崟鎶曟枡',
+								materialName: i,
+								num: num
+							})
+						}
+						this.feedingData.forEach(item => {
+							tl += Number(item.num)
+						})
+						this.statisticsData = [...this.statisticsData, ...arr]
+						this.statisticsData.push({
+							name: '宸ュ崟鍚堟牸浜у嚭',
+							materialName: this.info.mmodel.name + '-' + this.info.procedureName,
+							num: this.produceFrom.qualified
+						})
+						this.statisticsData.push({
+							name: '宸ュ崟涓嶈壇浜у嚭',
+							materialName: this.info.mmodel.name + '-' + this.info.procedureName,
+							num: this.produceFrom.undesirable
+						})
+						this.isSubmit = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable) <= this
+							.info.planNum;
+					}
+				} else {
+					console.log('鎺ㄥ紡')
+					if (this.feedingData.length === 0) {
+						uni.$u.toast('鎶曟枡鏄庣粏涓嶈兘涓虹┖')
+
+						return
+					}
+					if (this.produceFrom.qualified <= 0 && this.produceFrom.undesirable <= 0) {
+						uni.$u.toast('浜у嚭鏄庣粏涓嶈兘涓虹┖')
+
+						return
+					}
+					this.statisticsData = []
+					if (this.info.hasBom === 0) {
+						console.log('鏃燽om')
+						let arr = []
+						let tl = 0
+						for (let i in res) {
+							let num = 0
+							res[i].forEach(item => {
+								num += Number(item.num)
+							})
+							arr.push({
+								name: '宸ュ崟鎶曟枡',
+								materialName: i + '-' + res[i][0].procedureName,
+								num: num
+							})
+						}
+						this.feedingData.forEach(item => {
+							tl += Number(item.num)
+						})
+						this.statisticsData = [...this.statisticsData, ...arr]
+						this.statisticsData.push({
+							name: '宸ュ崟鍚堟牸浜у嚭',
+							materialName: this.info.mmodel.name + '-' + this.info.procedureName,
+							num: this.produceFrom.qualified
+						})
+						this.statisticsData.push({
+							name: '宸ュ崟涓嶈壇浜у嚭',
+							materialName: this.info.mmodel.name + '-' + this.info.procedureName,
+							num: this.produceFrom.undesirable
+						})
+						if (Number(tl) <= this.info.planNum) {
+							let total = Number(tl) - Number(this.produceFrom.qualified) - Number(this.produceFrom
+								.undesirable) // 鏄惁鏈変綑
+							this.statisticsData.push({
+								name: '宸ュ崟鏈姇鏂�',
+								materialName: '',
+								num: (Number(tl) - Number(this.produceFrom.qualified) - Number(this.produceFrom
+										.undesirable))
+									.toFixed(2)
+							})
+							if (total === 0) {
+								this.isSubmit = true
+							} else {
+								this.isSubmit = false
+							}
+						} else {
+							this.isSubmit = false
+						}
+					} else if (this.info.hasBom === 1) { // 鏈塨om鎯呭喌
+						console.log('鏈塨om')
+						let arr = []
+						let tl = 0
+						for (let i in res) {
+							let num = 0
+							res[i].forEach(item => {
+								num += Number(item.num)
+							})
+							arr.push({
+								name: '宸ュ崟鎶曟枡',
+								materialName: i,
+								num: num
+							})
+						}
+						this.feedingData.forEach(item => {
+							tl += Number(item.num)
+						})
+						this.statisticsData = [...this.statisticsData, ...arr]
+						this.statisticsData.push({
+							name: '宸ュ崟鍚堟牸浜у嚭',
+							materialName: this.info.mmodel.name + '-' + this.info.procedureName,
+							num: this.produceFrom.qualified
+						})
+						this.statisticsData.push({
+							name: '宸ュ崟涓嶈壇浜у嚭',
+							materialName: this.info.mmodel.name + '-' + this.info.procedureName,
+							num: this.produceFrom.undesirable
+						})
+						// isSubmit.value = produceFrom.qualified + produceFrom.undesirable <= info.value.planNum;
+						this.isSubmit = true
+					}
+				}
+				this.statistics = true
+			},
+			submitBG() {
 				let createUnqualifiedDTOList = this.form.defective.map((item) => {
 					return {
 						categoryId: item.id,
@@ -547,6 +766,36 @@
 					}
 				})
 			},
+			// => {
+			//   // if (!from.duration || from.duration <= 0) {
+			//   //     return Toast('鎶ュ伐鏃堕暱涓嶈兘涓虹┖')
+			//   // }
+			//   let createUnqualifiedDTOList = from.defective.map(item => {
+			//     return {
+			//       categoryId: item.id,
+			//       unQualifiedNum: item.num
+			//     }
+			//   })
+			//   let createWorkorderRecordDTO = {
+			//     workorderId: route.query.id,
+			//     duration: from.duration ? from.duration : 0,
+			//     qualifiedNum: produceFrom.qualified ? produceFrom.qualified : 0,
+			//     unQualifiedNum: produceFrom.undesirable ? produceFrom.undesirable : 0
+			//   }
+			//   // id: route.query.id
+			//   comfirmDoneStandard({
+			//     createUnqualifiedDTOList,
+			//     createWorkorderRecordDTO
+			//   }).then(res => {
+			//     if (res.code === 200) {
+			//       Toast.success({ message: '鎶ュ伐鎴愬姛', forbidClick: true, duration: 2000 })
+			//       setTimeout(() => {
+			//         router.go(-2)
+			//       }, 2000)
+			//     }
+			//   })
+			// }
+
 			jumpdj() {
 				uni.navigateTo({
 					url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}`
@@ -655,16 +904,15 @@
 					content: '纭畾鍒犻櫎姝ゆ潯璁板綍鍚楋紵',
 					success: (res) => {
 						if (res.confirm) {
-							console.log('鐢ㄦ埛鐐瑰嚮纭畾');
 							deleteCT(id)
-								.then(res => {
+								.then(res => {
 									this.getOrocessRecords()
 									// if (type === 'C') {
 									// 	this.getOrocessRecordCC()
 									// } else if (type === 'T') {
 									// 	this.getOrocessRecords()
 									// }
-								})
+								})
 								.catch(err => {})
 						}
 					}
@@ -1049,6 +1297,7 @@
 		width: 100%;
 		padding: 30rpx 30rpx 60rpx 30rpx;
 		box-sizing: border-box;
+		z-index: 9999;
 
 		.bg_footer_submit1 {
 			width: 690rpx;
@@ -1203,8 +1452,9 @@
 			.bl_list_item_right {
 				flex: 1;
 				height: 50rpx;
-				text-align: right;
-
+				text-align: right;
+				display: flex;
+				justify-content: flex-end;
 				input {
 					padding-left: 5rpx;
 					width: 160rpx;
@@ -1227,4 +1477,119 @@
 			}
 		}
 	}
+
+	.tg {
+		width: 100%;
+		height: 800rpx;
+		padding: 30rpx;
+		box-sizing: border-box;
+
+		.tg_header {
+			width: 100%;
+			height: 45rpx;
+			text-align: center;
+			line-height: 45rpx;
+			font-size: 30rpx;
+			font-weight: 500;
+			color: #222222;
+		}
+
+		.tg_table {
+			width: 100%;
+			margin-top: 40rpx;
+
+			.tg_table_header {
+				width: 100%;
+				height: 72rpx;
+				background: #EFF2FC;
+				display: flex;
+				align-items: center;
+
+				.tg_table_header_item {
+					flex: 1;
+					font-size: 26rpx;
+					font-weight: 500;
+					color: #333333;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+				}
+			}
+		}
+
+		.nr {
+			width: 100%;
+			max-height: calc(100% - 133rpx);
+			overflow-x: scroll;
+
+			.tg_table_nr {
+				width: 100%;
+				padding: 24rpx 10rpx;
+				box-sizing: border-box;
+				display: flex;
+				align-items: center;
+				background: white;
+				box-shadow: inset 0px -2rpx 0px 0px #E5E5E5;
+
+				.tg_table_nr_item {
+					flex: 1;
+					font-size: 26rpx;
+					font-weight: 500;
+					color: #333333;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+				}
+
+				.tg_table_nr_item1 {
+					flex: 1;
+					font-size: 26rpx;
+					font-weight: 500;
+					color: #333333;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+				}
+			}
+		}
+	}
+
+	.tg_footer {
+		width: calc(100% - 60rpx);
+		position: fixed;
+		bottom: 0;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		box-sizing: border-box;
+		padding-bottom: 40rpx;
+
+		.tg_footer_fh {
+			width: 100%;
+			height: 88rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			background: rgba(66, 117, 252, 0.05);
+			border-radius: 8rpx;
+			border: 1rPX solid #4275FC;
+			font-size: 32rpx;
+			font-weight: 500;
+			color: $nav-color;
+		}
+
+		.tg_footer_qr {
+			width: 100%;
+			height: 88rpx;
+			border: none;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			background: $nav-color;
+			border-radius: 8rpx;
+			font-size: 32rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+		}
+	}
 </style>

--
Gitblit v1.9.3