From ea87c908fb6cdfc3e227a584a53e6730efb8262a Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 26 十月 2023 13:41:12 +0800
Subject: [PATCH] 小程序代码

---
 minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue |  173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 162 insertions(+), 11 deletions(-)

diff --git a/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
index f08f604..418c60b 100644
--- a/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
+++ b/minipro_standard/pages_adjust/pages/manualFeed/manualFeed.vue
@@ -1,11 +1,12 @@
 <template>
 	<view class="tl">
-		<workOrderInfo :orederMessage="{proUserList:[]}" />
+		<workOrderInfo :orederMessage="info" />
 		<div class="tl_title">
 			<div class="tl_title_left">
 				<div class="tl_title_left_x"></div>
 				<span>鎶曟枡淇℃伅</span>
-				<span>{{total == 0 ? '' : total}}{{formList[formList.length - 1].dw ? formList[formList.length - 1].dw : ''}}</span>
+				<!-- <span>{{total == 0 ? '' : total}}{{formList[formList.length - 1].dw ? formList[formList.length - 1].dw : ''}}</span> -->
+				<!-- <span>{{total == 0 ? '' : total}}{{formList[formList.length - 1].dw ? formList[formList.length - 1].dw : ''}}</span> -->
 			</div>
 			<div class="tl_title_right" @click="add">
 				<image src="../../static/gongdan_ic_shoudong@2x.png" class="add-img" mode=""></image>
@@ -19,7 +20,7 @@
 					<div class="tl_list_item" @click="open1(index)">
 						<div class="tl_list_item_label">閫夋嫨鐗╂枡</div>
 						<div class="tl_list_item_go" v-if="!item.materialName">
-							<span>鐐瑰嚮璺宠浆鍒扮墿鏂欏垪琛�</span>
+							<span>鐐瑰嚮璺宠浆鍒扮墿鏂欏垪琛�</span>
 							<u-icon name="arrow-right"></u-icon>
 						</div>
 						<div class="tl_list_item_wl" v-else>
@@ -47,23 +48,62 @@
 				</div>
 			</u-swipe-action-item>
 		</u-swipe-action>
+		<view class="" style="height: 88rpx;"></view>
+		<u-safe-bottom></u-safe-bottom>
+		<div class="tl_footer">
+			<button class="tl_footer_submit" v-preventReClick @click="submit">鎻愪氦</button>
+		</div>
+		<SelectMaterial ref="selectMaterial" @selectAction="getValue" />
+		<!-- <SelectMultipleMaterial ref="selectMultipleMaterial" @selected="getMaterails"/> -->
 	</view>
 </template>
 
 <script>
 	import workOrderInfo from '@/components/workOrderInfo.vue'
+	import SelectMaterial from '@/components/selectMaterial.vue'
+	// import SelectMultipleMaterial from '@/components/SelectMultipleMaterial.vue'
+	import {
+		queryById,
+		createMaterial,
+		createMaterialStandard
+	} from '@/util/api/WorkOrderAPI'
+	import {
+		positiveInteger,
+		number
+	} from '@/common/config'
 	export default {
 		components: {
-			workOrderInfo
+			workOrderInfo,
+			SelectMaterial,
+			// SelectMultipleMaterial
 		},
 		data() {
 			return {
-				total: 3,
-				formList: [{
-					dw: 'dasda' 
-				}],
+				deviceId: '',
+				workorderId: '',
+				// formList: [{
+				// 	id: Date.now(),
+				// 	toolingTypeId: '', // 宸ヨ绫诲瀷
+				// 	toolingTypeName: '', // 宸ヨ绫诲瀷鍚嶇О
+				// 	workClothesId: '', // 宸ヨ
+				// 	workClothesName: '', // 宸ヨ鍚嶇О
+				// 	num: '', // 鏁伴噺
+				// 	attribute: '', // 宸ヨ灞炴��
+				// 	attributeType: '', // 宸ヨ灞炴�х被鍨�
+				// 	dw: '', // 鐗╂枡鍗曚綅
+				// 	unitAttribute: ''
+				// }],
+				info: {},
 				materialList: [{
-
+					id: '',
+					materialName: '',
+					materialCode: '',
+					qualityType: '',
+					procedureName: '',
+					locationName: '',
+					batch: '',
+					num: '',
+					unitAttribute: ''
 				}],
 				options: [{
 					text: '鍒犻櫎',
@@ -73,13 +113,123 @@
 				}],
 			};
 		},
+		onLoad(obj) {
+			this.workorderId = obj.id
+			queryById(this.workorderId)
+				.then(res => {
+					if (res.code === 200) {
+						this.info = res.data
+						this.deviceId = res.data.pgmodel.id
+					}
+				})
+		},
 		methods: {
+			open1(index) {
+				// this.$refs.selectMaterial.open({})
+				this.index = index
+				this.$refs.selectMaterial.open({
+					workorderId: this.workorderId,
+					deviceId: this.deviceId
+				})
+			},
 			deleItem(index) {
 				if (this.materialList.length === 1) {
 					uni.$u.toast('鑷冲皯淇濈暀涓�鏉℃姇鏂欎俊鎭�')
 					return
 				}
 				this.materialList.splice(index, 1)
+			},
+			add() {
+				this.total += 1
+				this.materialList.unshift({
+					id: '',
+					materialName: '',
+					materialCode: '',
+					qualityType: '',
+					procedureName: '',
+					locationName: '',
+					batch: '',
+					num: '',
+					unitAttribute: ''
+				})
+			},
+			changeNumber(num, index, unitAttribute) {
+				if (unitAttribute === 0 && num !== '') {
+					if (!positiveInteger.test(num)) {
+						uni.$u.toast({
+							message: '鍙兘杈撳叆姝f暣鏁�'
+						})
+						this.materialList[index].num = ''
+					}
+				} else if (unitAttribute === 1 && num !== '') {
+					if (!number.test(num)) {
+						uni.$u.toast({
+							message: '鍙兘杈撳叆姝f暣鏁版垨灏忔暟锛堟渶澶氬洓浣嶏級'
+						})
+						this.materialList[index].num = ''
+					}
+				}
+				if (num <= 0) {
+					uni.$u.toast({
+						message: '鎶曟枡鏁伴噺涓嶈兘灏忎簬绛変簬0'
+					})
+					this.materialList[index].num = ''
+				}
+			},
+			getValue(item) {
+				for (let i = 0; i < this.materialList.length; i++) {
+					if (item.id === this.materialList[i].id) {
+						uni.$u.toast({
+							message: '涓嶈兘閲嶅閫夋嫨鐩稿悓鐗╂枡'
+						})
+						return
+					}
+				}
+				this.materialList[this.index].id = item.id
+				this.materialList[this.index].materialName = item.materialName
+				this.materialList[this.index].num = item.num
+				this.materialList[this.index].batch = item.batch
+				this.materialList[this.index].locationName = item.locationName
+				this.materialList[this.index].materialCode = item.materialCode
+				this.materialList[this.index].procedureName = item.procedureName
+				this.materialList[this.index].qualityType = item.qualityType
+				this.materialList[this.index].unitAttribute = item.unitAttribute
+			},
+			submit() {
+				let temp = this.materialList.findIndex(item => !item.id || !item.num)
+				if (temp != -1) {
+					uni.$u.toast(`璇峰厛瀹屽杽绗�${temp + 1}鏉℃姇鏂欎俊鎭痐)
+					return
+				}
+				let total = this.materialList.reduce((accumulator, currentValue) => accumulator + Number(currentValue.num),
+					0)
+				console.log(total);
+				if (this.info.bomType != 1 && this.info.hasBom != 1) {
+					if (total > this.info.planNum) {
+						uni.$u.toast(`鎶曟枡鏁伴噺涓嶈兘澶т簬璁″垝鏁伴噺`)
+						return
+					}
+				}
+				let recordList = this.materialList.map(item => {
+					return {
+						wstockId: item.id,
+						num: item.num
+					}
+				})
+				createMaterialStandard({
+					id: this.workorderId,
+					recordList
+				}).then(res => {
+					if (res.code === 200) {
+						// Toast.success({ message: '鎶曟枡鎴愬姛', duration: 2000, forbidClick: true })
+						// setTimeout(() => {
+						//   router.go(-1)
+						// }, 2000)
+						uni.$u.toast(`鎶曟枡鎴愬姛`)
+						uni.$emit('addMaterial')
+						uni.navigateBack()
+					}
+				})
 			}
 		}
 	}
@@ -229,9 +379,10 @@
 			width: 100%;
 			position: fixed;
 			bottom: 0;
-			left: 0;
-			padding: 0 30rpx 68rpx 30rpx;
+			padding: 0 30rpx calc(env(safe-area-inset-bottom) + 20rpx);
 			box-sizing: border-box;
+			z-index: 999;
+			background-color: #fff;
 
 			.tl_footer_submit {
 				width: 690rpx;

--
Gitblit v1.9.3