From 349bcef9a96391d22522a3409adf5a89e7e70a95 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 24 十月 2023 08:46:11 +0800
Subject: [PATCH] Merge branch 'dev' of http://139.186.142.91:10010/r/productDev/dmMes into dev

---
 minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue |  783 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 606 insertions(+), 177 deletions(-)

diff --git a/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
index a3859e1..bd72004 100644
--- a/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
+++ b/minipro_standard/pages_adjust/pages/workOrderReporting/workOrderReporting.vue
@@ -1,5 +1,6 @@
-<template>
-	<view>
+<template>
+	<page-meta :page-style="(badShow||statistics) ?'overflow: hidden;': ''"/>
+	<view class="content">
 		<view class="tips-label">褰撳墠浠诲姟闇�瑕佽川妫�锛涗骇鍑哄悗锛岃鑰愬績绛夊緟璐ㄦ鍛樻楠岋紝骞舵牴鎹楠岀粨鏋滆皟鏁翠骇鍑烘暟鎹悗鍐嶆姤宸ャ��</view>
 		<workOrderInfo :orederMessage="info" />
 		<!-- <u-tabs :list="tab" lineColor="#305ED5" :activeStyle="{color:'#305ED5'}" lineWidth="50%" :itemStyle="{width: '50%', boxSizing: 'border-box', height: '88rpx'}" @click="click"></u-tabs> -->
@@ -21,7 +22,7 @@
 						<!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt="" /> -->
 						<!-- <img src="@/static/gongdan_ic_shoudong@2x.ong" alt="" /> -->
 						<image src="../../static/gongdan_ic_shoudong@2x.png" class="img28" mode=""></image>
-						<span class="cm">鎵嬪姩褰曞叆</span>
+						<span class="cm">鎵嬪姩鎶曟枡</span>
 					</div>
 				</div>
 
@@ -37,11 +38,11 @@
 											<span> {{ item.materialName || '澧欎綋鐮�' }}{{ item.procedureName ? `&nbsp;|&nbsp;${item.procedureName}` : ''
 							            }}</span>
 											<div class="bg_list_item_num_item_wl_lx">
-												<span class="green" v-if="item.qualityType == 0">鍚堟牸&nbsp;/&nbsp;</span>
-												<span class="orange" v-if="item.qualityType == 1">涓嶈壇&nbsp;/&nbsp;</span>
-												<span class="red" v-if="item.qualityType == 2">鎶ュ簾&nbsp;/&nbsp;</span>
+												<span class="green" v-if="item.qualityType == 0">鍚堟牸<text class="c6" decode>{{split}}</text></span>
+												<span class="orange" v-if="item.qualityType == 1">涓嶈壇<text class="c6" decode>{{split}}</text></span>
+												<span class="red" v-if="item.qualityType == 2">鎶ュ簾<text class="c6" decode>{{split}}</text></span>
 												<span>{{ item.locationName }}</span>
-												<span>{{ item.batch ? `&nbsp;/&nbsp;${item.batch}` : '' }}</span>
+												<span v-if="item.batch"><text class="c6" decode>{{split}}</text>{{ item.batch }}</span>
 											</div>
 										</div>
 										<div class="bg_list_item_num_item_sr">
@@ -124,7 +125,8 @@
 						:style="{ color: form.durationName ? '#333' : '' }">{{ form.durationName ? form.durationName : '璇烽�夋嫨' }}</span>
 					<image src="../../../static/ic_ar@2x.png" class="img_ar" mode=""></image>
 				</div>
-			</div>
+			</div>
+			<!-- form.duration &&  -->
 			<div class="bg_list_item" v-if="arrType && arrType.length > 0">
 				<div class="bg_list_item_top">
 					<div class="bg_list_item_top_left">
@@ -172,35 +174,41 @@
 					</div>
 				</div>
 			</div>
-
 		</div>
 		<div class="details_dj" v-if="typeView === 1">
 
 			<div class="details_dj_list">
-				
-				<u-swipe-action>
-					<u-swipe-action-item v-for="(item, index) in djData" :key="index" :options="options"
-						@click="dele(item.id)">
-						<div class="details_dj_list_item">
-							<span>{{ item.attrName }}锛歿{ item.val }}</span>
-							<span>{{ item.userName }} {{ item.createTime }}</span>
-						</div>
-					</u-swipe-action-item>
+				<u-swipe-action v-for="(item, index) in djData" :key="index">
+					<u-swipe-action-item :options="options" @click="dele(item.id)">
+						<div class="details_dj_list_item">
+							<span>{{ item.attrName }}锛歿{ item.val }}</span>
+							<span>{{ item.userName }} {{ item.createTime }}</span>
+						</div>
+					</u-swipe-action-item>
 				</u-swipe-action>
 			</div>
 		</div>
-		<!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
-		<template>
+		<!-- v-if="info.status === 2 || info.procedureNeedcheck === 1" -->
+		<!-- status 0宸插垱寤恒��1宸插鏂欍��2宸插畬宸ャ��3宸叉楠屻��4宸叉姤宸ャ��5宸插叆搴撱��6宸插彇娑堛��7鐢熶骇涓� -->
+		<!-- procedureNeedcheck 宸ュ簭鏄惁闇�瑕佹楠屾墠鑳芥姤宸� 0鏄� 1鍚� -->
+		<template v-if="typeView == 0 &&( info.status === 2 || info.procedureNeedcheck === 1 )">
 			<div class="bh_zw"></div>
 			<div class="bg_footer bg_f7">
 				<div class="bg_footer_submit bg_m" v-if="typeView == 0" @click="submit">纭鎶ュ伐</div>
 				<!-- proxy.$auth('h5:workorder:processRecord') &&  -->
+				
+			</div>
+		</template>
+		<template v-if="typeView == 1 && info.status !== 4 && info.procedureNeedcheck !== 5 && info.procedureNeedcheck !== 6">
+			<div class="bh_zw"></div>
+			<div class="bg_footer bg_f7">
 				<div class="bg_footer_submit1" @click="jumpdj" v-if="typeView == 1">
 					<image src="../../../static/gongdan_ic_shoudong@2x.png" class="fornt-img" mode=""></image>
 					<span>鏂板鐐规</span>
 				</div>
 			</div>
-		</template>
+		</template>
+		<u-safe-bottom></u-safe-bottom>
 		<u-datetime-picker :show="TimeShow" @cancel="TimeShow=false" @confirm="timeConfirm" v-model="form.time"
 			mode="time"></u-datetime-picker>
 		<u-popup :show="badShow" @close="badShow=false" :round="8" closeable zIndex="20000">
@@ -223,6 +231,39 @@
 					<view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view>
 				</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="statistics = false" v-else-if="!isSubmit">杩斿洖淇敼</div>
+				</div>
+			</div>
 		</u-popup>
 	</view>
 </template>
@@ -249,6 +290,9 @@
 		queryOne,
 		queryList
 	} from '@/util/api/PlanningAPI'
+	import {
+		REGULAR
+	} from '@/util/utils'
 	export default {
 		components: {
 			workOrderInfo
@@ -261,10 +305,11 @@
 					{
 						name: '鐐规'
 					}
-				],
+				],
+				split: '&nbsp;/&nbsp;',
 				form: {
 					time: '',
-					efective: [],
+					defective: [],
 					defectiveName: '',
 					durationName: '0灏忔椂0鍒嗛挓',
 					duration: 0,
@@ -276,37 +321,14 @@
 				typeView: 0,
 				workorderId: '',
 				info: {},
-				feedingData: [
-					// {
-					// 	id: 0,
-					// 	materialName: '澧欎綋鐮�',
-					// 	procedureName: '鍘嬪埗',
-					// 	qualityType: 1,
-					// 	locationName: 'CP-01',
-					// 	batch: '20230713',
-					// 	num: 2,
-					// 	maxNum: 10,
-					// 	unitAttribute: 1,
-					// 	unitName: '鍧�'
-					// },
-				],
+				feedingData: [],
 				options: [{
 					text: '鍒犻櫎',
 					style: {
 						backgroundColor: 'red',
 					}
 				}],
-				arrType: [{
-						name: '璁℃椂',
-						type: 1,
-						salary: 1000,
-					},
-					{
-						name: '璁′欢',
-						type: 0,
-						salary: 100
-					},
-				],
+				arrType: [],
 				// 浜у嚭鍚堟牸/涓嶈壇
 				produceFrom: {
 					qualifiedId: '',
@@ -314,68 +336,76 @@
 					undesirableId: '',
 					undesirable: '' // 涓嶈壇
 				},
-				djData: [{
-					attrName: '鍑烘按鏃堕棿',
-					val: '2022-05-28 16:3',
-					userName: '寮犱笁 ',
-					createTime: '2022-05-28 16:32:'
-				}],
-				cateList: [
-					// {
-					// 	active: false,
-					// 	name: '姣涘埡',
-					// 	num: 0
-					// },
-				],
-				pages: {
-					capacity: 10,
-					page: 1,
-					total: 0
-				}
+				triggered: false,
+				finished: true,
+				djData: [],
+				cateList: [],
+				pages: {
+					capacity: 10,
+					page: 1,
+					total: 0
+				},
+				statisticsData: [],
+				isSubmit: false,
+				statistics: false
 			};
 		},
 		onLoad(obj) {
 			this.workorderId = obj.id
 			this.queryByIds()
 			this.getOrocessRecords()
-			this.getData()
+			this.getData()
+			this.pageDJs()
+			uni.$on('spotAdd', () => {
+				if (this.typeView == 1) {
+					this.pages.page = 1
+					this.pageDJs()
+				}
+			})
+			uni.$on('addMaterial', () => {
+				this.getOrocessRecords()
+			})
 		},
 		computed: {
-			expectedSalary() {
-				if (this.arrType.length === 0) return 0;
+			expectedSalary() {
+				let { qualified, undesirable } = this.produceFrom
+				if (this.arrType.length === 0) return 0;
+				let temp = this.arrType[this.form.index]
 				// 鎸変欢璁$畻
-				if (this.arrType[this.form.index].type == 0) {
-					if (!this.produceFrom.qualified) return 0
-					if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
-						let total = Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)
-						return (total * (this.arrType[this.form.index].salary / 100)).toFixed(2) || 0
+				if (temp.type == 0) {
+					if (!qualified) return 0
+					if (temp.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+						let total = Number(qualified) + Number(undesirable)
+						return (total * (temp.salary / 100)).toFixed(2) || 0
 					} else {
-						return (Number(this.produceFrom.qualified) * (this.arrType[this.form.index].salary / 100)).toFixed(
+						return (Number(qualified) * (temp.salary / 100)).toFixed(
 							2) || 0
 					}
 				} else {
 					if (!this.form.duration) return 0;
 					let h = (this.form.duration / 60 / 60).toFixed(2)
-					return (Number(h) * (this.arrType[this.form.index].salary / 10 / 10)).toFixed(2) || 0
+					return (Number(h) * (temp.salary / 10 / 10)).toFixed(2) || 0
 				}
 			},
 			complianceRate() {
+				let { index, duration } = this.form
+				let { qualified, undesirable } = this.produceFrom
 				if (this.arrType.length === 0) return 0;
-				if (!this.produceFrom.qualified && !this.produceFrom.undesirable) return 0;
-				if (!this.form.duration) return 0;
-				if (!this.arrType[this.form.index].num) return 0;
+				let temp = this.arrType[index]
+				if (!qualified && !undesirable) return 0;
+				if (!duration) return 0;
+				if (!temp.num || !temp.times) return 0;
 				// 鎸変欢璁$畻
 				// if (infoBox.value.type == 0) {
-				if (this.arrType[this.form.index].unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
-					let a = ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) / (this.form
-						.duration / 3600)).toFixed(2)
-					let b = (this.arrType[this.form.index].num / (this.arrType[form.index].times / 3600)).toFixed(2)
+				if (temp.unqualified == 1) { // 鏄惁璁″叆涓嶈壇鍝�
+					let a = ((Number(qualified) + Number(undesirable)) / (Number(duration) / 3600)).toFixed(2)
+					let b = (temp.num / (temp.times / 3600)).toFixed(2)
 					return ((Number(a) / Number(b)) * 100).toFixed(2)
 					// let total = (Number(from.qualified) + Number(from.undesirable)) / ((from.duration * 60 * 60) * infoBox.value.num / )
 					// return total * infoBox.value.salary;
-				} else {
-					let a = (this.produceFrom.qualified / (this.form.duration / 3600)).toFixed(2)
-					let b = (this.arrType[this.form.index].num / (this.arrType[this.form.index].times / 3600)).toFixed(2)
+				} else {
+					let a = (Number(qualified) / (Number(duration) / 3600)).toFixed(2)
+					let b = (temp.num / (temp.times / 3600)).toFixed(2)
 					return ((Number(a) / Number(b)) * 100).toFixed(2)
 					// return Number(from.qualified) * infoBox.value.salary;
 				}
@@ -399,7 +429,8 @@
 										item.id = item.type
 										item.active = index == 0
 									})
-									this.arrType = result.data
+									this.arrType = result.data
+									
 								} else {
 									this.arrType = []
 								}
@@ -436,11 +467,14 @@
 			},
 			clickIten(index) {
 				this.typeView = index
+				if (this.typeView == 1) {
+					this.pages.page = 1
+					this.pageDJs()
+				}
 			},
 			timeConfirm({
 				value
 			}) {
-				console.log(value)
 				let h = Number(value.substring(0, 2))
 				let m = Number(value.substring(3, 5))
 				let s = 0
@@ -461,48 +495,45 @@
 					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:'浜у嚭鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺', duration: 2000, icon:'none' })
+				if (!num) return
+				if ((Number(this.produceFrom.qualified) + Number(this.produceFrom.undesirable)) > this.info.planNum) {
+					uni.showToast({
+						title: '浜у嚭鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺',
+						duration: 2000,
+						icon: 'none'
+					})
 					return
 				}
 				if (num >= 0) {
@@ -520,62 +551,324 @@
 						this.produceFrom.qualified = 0
 					} else {
 						this.produceFrom.undesirable = 0
-					}
-					uni.showToast({ title:'浜у嚭鏁伴噺涓嶈兘灏忎簬', duration: 2000, icon:'none' })
+					}
+					uni.showToast({
+						title: '浜у嚭鏁伴噺涓嶈兘灏忎簬',
+						duration: 2000,
+						icon: 'none'
+					})
 				}
 			},
 			clickPerformanceType(item, index) {
 				this.form.index = index
 				this.form.type = item.type
 			},
-			submit() {},
-			jumpdj() {
-				uni.navigateTo({
-					url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}`
-				})
+			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;
 			},
-			pageDJs() {},
+			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,
+						unQualifiedNum: item.num
+					}
+				})
+				let createWorkorderRecordDTO = {
+					workorderId: this.workorderId,
+					duration: this.form.duration ? this.form.duration : 0,
+					qualifiedNum: this.produceFrom.qualified ? this.produceFrom.qualified : 0,
+					unQualifiedNum: this.produceFrom.undesirable ? this.produceFrom.undesirable : 0
+				}
+				// id: route.query.id
+				comfirmDoneStandard({
+					createUnqualifiedDTOList,
+					createWorkorderRecordDTO
+				}).then(res => {
+					if (res.code === 200) {
+						uni.$u.toast('鎶ュ伐鎴愬姛')
+						setTimeout(() => {
+							uni.navigateBack({
+								data: 2
+							})
+						}, 2000)
+					}
+				})
+			},
+			jumpdj() {
+				uni.navigateTo({
+					url: `/pages_adjust/pages/spotCheck/spotCheck?id=${this.workorderId}`
+				})
+			},
+			getLists() {
+				if (!this.finished) {
+					return
+				}
+				this.finished = false
+				this.pages.page += 1
+				this.pageDJs()
+			},
+			pageDJs() {
+
+				pageDJ({
+						capacity: this.pages.capacity,
+						page: this.pages.page,
+						model: {
+							workorderId: this.workorderId
+						}
+					}).then(res => {
+						let {
+							data
+						} = res
+						if (data.page == 1) {
+							this.djData = []
+						}
+						this.djData.push(...data.records)
+						// loading.value = false
+					}).catch(err => {
+						// loading.value = false
+						// finished.value = true
+					})
+					.finally(() => {
+						this.finished = true
+					})
+			},
 			dele(id) {
-				// deletedj(id)
-				//     .then(res => {
-				//       if (res.code === 200) {
-				//         djData.value = []
-				//         finished.value = false
-				//         page.page = 1
-				//         djData.value = []
-				//         pageDJs()
-				//       }
-				//     })
+				deletedj(id)
+					.then(res => {
+						if (res.code === 200) {
+							this.finished = true
+							this.pages.page = 1
+							this.pageDJs()
+						}
+					})
 			},
 			confirm() {
-				console.log('confirm', this.cateList);
 				let isOpen = false
 				this.cateList.forEach((item, index) => {
 					if (item.active) {
 						isOpen = true
 					}
 				})
-				if (!isOpen) {
-					uni.showToast({ title:'璇烽�夋嫨涓嶈壇椤�', duration: 2000, icon:'none' })
-					return
+				if (!isOpen) {
+					uni.showToast({
+						title: '璇烽�夋嫨涓嶈壇椤�',
+						duration: 2000,
+						icon: 'none'
+					})
+					return
 				}
 				let arr = []
 				let total = 0
 				let name = ''
 				this.cateList.forEach((item, index) => {
 					if (item.active) {
-						if (item.num <= 0) {
-							uni.showToast({ title:'涓嶈壇鏁伴噺蹇呴』澶т簬0', duration: 2000, icon:'none' })
+						if (item.num <= 0) {
+							uni.showToast({
+								title: '涓嶈壇鏁伴噺蹇呴』澶т簬0',
+								duration: 2000,
+								icon: 'none'
+							})
 							return
 						}
-						total = total += item.num
+						total += Number(item.num)
 						arr.push(item)
 						name += item.name + item.num + '锛�'
 					}
-				})
-				if (total != Number(this.produceFrom.undesirable)) {
-					uni.showToast({ title:'涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟', duration: 2000, icon:'none' })
-					return
+				})
+				if (total != Number(this.produceFrom.undesirable)) {
+					uni.showToast({
+						title: '涓嶈壇鏁板繀椤荤瓑浜庝骇鍑轰笉鑹暟',
+						duration: 2000,
+						icon: 'none'
+					})
+					return
 				}
 				this.form.defective = arr
 				this.form.defectiveName = name
@@ -583,12 +876,32 @@
 			},
 			changeChecked(i) {
 				this.cateList[i].active = !this.cateList[i].active
-			},
-			jumpTL() {
-				uni.navigateTo({
-					// url: ''
-					url: `/pages_adjust/pages/manualFeed/manualFeed?id=${this.workorderId}`
-				})
+			},
+			jumpTL() {
+				uni.navigateTo({
+					// url: ''
+					url: `/pages_adjust/pages/manualFeed/manualFeed?id=${this.workorderId}`
+				})
+			},
+			deleItem(id, type) {
+				uni.showModal({
+					title: '鎻愮ず',
+					content: '纭畾鍒犻櫎姝ゆ潯璁板綍鍚楋紵',
+					success: (res) => {
+						if (res.confirm) {
+							deleteCT(id)
+								.then(res => {
+									this.getOrocessRecords()
+									// if (type === 'C') {
+									// 	this.getOrocessRecordCC()
+									// } else if (type === 'T') {
+									// 	this.getOrocessRecords()
+									// }
+								})
+								.catch(err => {})
+						}
+					}
+				})
 			}
 		}
 	}
@@ -625,14 +938,14 @@
 		width: 100%;
 		display: flex;
 		flex-direction: column;
-		margin-top: 30rpx;
+		// margin-top: 30rpx;
 
 		.bg_list_item {
 			display: flex;
 			flex-direction: column;
 			// margin-bottom: 40rpx;
-			border-bottom: 40rpx #f7f7f7 solid;
-
+			// border-bottom: 40rpx #f7f7f7 solid;
+			// 
 			.kong {
 				text-align: center;
 				padding: 30rpx 0;
@@ -647,10 +960,10 @@
 			.bg_list_item_top {
 				display: flex;
 				align-items: center;
-				justify-content: space-between;
-				padding-left: 30rpx;
-				padding-right: 30rpx;
-				margin-bottom: 30rpx;
+				justify-content: space-between;
+				background-color: #f7f7f7;
+				padding: 30rpx;
+				// padding-right: 30rpx;
 
 				.bg_list_item_top_left {
 					display: flex;
@@ -716,27 +1029,25 @@
 				padding: 0 30rpx;
 				box-sizing: border-box;
 				background: white;
-
+				&:last-child {
+					.bg_list_item_num{
+						border: none !important;
+					}
+				}
 				.bg_list_item_num {
 					width: 100%;
 					min-height: 98rpx;
 					background: white;
 					display: flex;
 					justify-content: center;
-					align-items: center;
+					align-items: center;
 					border-bottom: 1rpx solid #E5E5E5;
-
-					&:last-child {
-						border: none !important;
-					}
-
 					.kong {
 						text-align: center;
 						font-size: 25rpx;
 						padding: 30rpx 0;
 						background: #ffffff;
 					}
-
 					.bg_list_item_num_item {
 						width: 100%;
 						height: 100%;
@@ -746,11 +1057,7 @@
 						padding: 15rpx 0;
 						box-sizing: border-box;
 						justify-content: space-between;
-						border-bottom: 1rpx solid #E5E5E5;
-
-						&:last-child {
-							border: none;
-						}
+						
 
 						.bg_list_item_num_item_list {
 							display: flex;
@@ -810,9 +1117,9 @@
 
 						span {
 							flex-shrink: 0;
-							overflow: hidden;
-							text-overflow: ellipsis;
-							white-space: nowrap;
+							// overflow: hidden;
+							// text-overflow: ellipsis;
+							// white-space: nowrap;
 
 							b {
 								font-size: 30rpx;
@@ -877,9 +1184,9 @@
 							.wulll {
 								width: 400rpx;
 								text-align: right;
-								overflow: hidden;
-								white-space: nowrap;
-								text-overflow: ellipsis;
+								// overflow: hidden;
+								// white-space: nowrap;
+								// text-overflow: ellipsis;
 							}
 
 							span {
@@ -895,12 +1202,13 @@
 	}
 
 	.bg_plan {
-		width: 100%;
+		width: 100%;
+		border-top: 20rpx #f7f7f7 solid;
 		// height: 98px;
 		padding: 30rpx;
 		box-sizing: border-box;
 		background: #FFFFFF;
-		margin-bottom: 40rpx;
+		// margin-bottom: 40rpx;
 		display: flex;
 		align-items: center;
 		justify-content: space-between;
@@ -969,6 +1277,7 @@
 		width: 100%;
 		padding: 30rpx 30rpx 60rpx 30rpx;
 		box-sizing: border-box;
+		z-index: 9999;
 
 		.bg_footer_submit1 {
 			width: 690rpx;
@@ -1080,7 +1389,7 @@
 	.bottom-view {
 		left: 40rpx;
 		right: 40rpx;
-		bottom: 0
+		bottom: 20rpx
 	}
 
 	.bl_list {
@@ -1123,8 +1432,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;
@@ -1147,4 +1457,123 @@
 			}
 		}
 	}
+
+	.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;
+		}
+	}
+	.content {
+		height: 100vh;
+		background-color: #f7f7f7;
+	}
 </style>

--
Gitblit v1.9.3