From 80e5e05360baedb95e20b8cb11746a7776c85acf Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 11 六月 2025 17:14:10 +0800
Subject: [PATCH] 车间订单下发功能点逻辑编写

---
 pages/product/WorkshopOrderIssued/index.vue |  594 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 269 insertions(+), 325 deletions(-)

diff --git a/pages/product/WorkshopOrderIssued/index.vue b/pages/product/WorkshopOrderIssued/index.vue
index 81349d1..583912a 100644
--- a/pages/product/WorkshopOrderIssued/index.vue
+++ b/pages/product/WorkshopOrderIssued/index.vue
@@ -11,29 +11,31 @@
 						<text class="item-one">璁㈠崟鍙�</text>
 					</view>
 					<view class="packing-registration-param-item-right">
-						<text class="item-one item-two" @click="seachPersonnelNo()">{{ registerInfo.value1 == '' ?
-							"鐐瑰嚮閫夋嫨" : registerInfo.value1 }}</text>
+						<text class="item-one item-two" @click="seachPersonnelNo()">{{
+              registerInfo.moNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.moNo
+            }}</text>
 						<u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()"
-							v-show="registerInfo.value1 == ''"></u-icon>
+							v-show="registerInfo.moNo == ''"></u-icon>
 					</view>
 				</view>
-                <view class="packing-registration-param-item param-extra">
+				<view class="packing-registration-param-item param-extra">
 					<view class="packing-registration-param-item-left">
 						<text class="item-one">瀛愪欢</text>
 					</view>
 					<view class="packing-registration-param-item-right">
-						<text class="item-one item-two" @click="seachComp()">{{ registerInfo.value2 == '' ?
-							"鐐瑰嚮閫夋嫨" : registerInfo.value2 }}</text>
+						<text class="item-one item-two" @click="seachComp()">{{
+              registerInfo.value2 == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.value2
+            }}</text>
 						<u-icon name="arrow-right" color="#687792" size="28" @click="seachComp()"
 							v-show="registerInfo.value2 == ''"></u-icon>
 					</view>
 				</view>
-                <view class="packing-registration-param-item param-extra">
+				<view class="packing-registration-param-item param-extra">
 					<view class="packing-registration-param-item-left">
 						<text class="item-one">闆朵欢鎻忚堪</text>
 					</view>
 					<view class="packing-registration-param-item-right">
-						<text class="item-one item-two">{{ registerInfo.value2 }}</text>
+						<text class="item-one item-two">{{ registerInfo.value3 }}</text>
 					</view>
 				</view>
 				<view class="packing-registration-param-item param-extra">
@@ -54,7 +56,7 @@
 						<view class="content-body">
 							<view class="row-list">
 								<view class="_label">
-									<view class="_label-name">璁㈠崟鍙凤細</view>
+									<view class="_label-name">鎵瑰彿锛�</view>
 								</view>
 								<view class="_content">
 									{{ item.value0 }}
@@ -62,18 +64,10 @@
 							</view>
 							<view class="row-list">
 								<view class="_label">
-									<view class="_label-name">瀛愪欢锛�</view>
+									<view class="_label-name">涓嬪彂鏁伴噺锛�</view>
 								</view>
 								<view class="_content">
 									{{ item.value1 }}
-								</view>
-							</view>
-							<view class="row-list">
-								<view class="_label">
-									<view class="_label-name">闆朵欢鎻忚堪锛�</view>
-								</view>
-								<view class="_content">
-									{{ item.value0 }}
 								</view>
 							</view>
 						</view>
@@ -82,359 +76,309 @@
 			</scroll-view>
 			<scan></scan>
 		</view>
+		<u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm"
+			@cancel="cancel">
+			<view class="popup-content">
+				<view class="packing-registration-param">
+					<view class="packing-registration-param-view">
+						<view class="packing-registration-param-item param-extra">
+							<view class="packing-registration-param-item-left">
+								<text class="item-one">鎵瑰彿</text>
+							</view>
+							<view class="packing-registration-param-item-right">
+								<text class="item-one item-two">{{ modalList.value }}</text>
+							</view>
+						</view>
+						<view class="packing-registration-param-item param-extra">
+							<view class="packing-registration-param-item-left">
+								<text class="item-one">涓嬪彂鏁伴噺</text>
+							</view>
+							<view class="packing-registration-param-item-right">
+								<u-input class="item-one item-two" v-model="modalList.value1" />
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</u-modal>
 	</view>
 </template>
 <script>
-import scan from "@/components/scan/scan.vue";
-import content_bg from '@/static/custom/packing/backBg.png'
-export default {
-	components: {
-		scan,
-	},
-	data() {
-		return {
-			background: {
-				backgroundImage: `url(${content_bg})`,
-				backgroundAttachment: 'fixed',
-				backgroundSize: '100% auto',
-				backgroundRepeat: 'no-repeat',
-			},
-			labelStyle: {
-				fontSize: '32rpx',
-				whiteSpace: 'nowrap'
-			},
-			registerInfo: {
-				value1: '',
-				value2: '',
-			},
-			hasScanSnList: [{
-				value0: '11111111111111111111111',
-				value1: '111',
-				value2: '111',
-				value3: '111',
-			},
-			{
-				value0: '111',
-				value1: '111',
-				value2: '111',
-				value3: '111',
-			},
-			{
-				value0: '111',
-				value1: '111',
-				value2: '111',
-				value3: '111',
-			},
-			{
-				value0: '111',
-				value1: '111',
-				value2: '111',
-				value3: '111',
-			},
-			],
-			delContent: null,
-			staffList: [],
-		};
-	},
-	onLoad(option) { },
-	onShow() {
-
-		let that = this
-
-		uni.$off('scan') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
-		uni.$on('scan', function (data) {
-			console.log('onscan');
-			//鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
-			console.log('鎵爜缁撴灉锛�', data.code);
-			that.scanHandle(data.code)
-			that.$forceUpdate();
-
-		})
-	},
-	onNavigationBarButtonTap() {
-		this.goScan()
-	},
-	onReady() { },
-	methods: {
-		setNo(val) {
-			console.log('11111', val)
-			this.registerInfo.value1 = val.value1
-			this.registerInfo.value2 = val.value2
-
+	import scan from "@/components/scan/scan.vue";
+	import content_bg from "@/static/custom/packing/backBg.png";
+	export default {
+		components: {
+			scan,
 		},
-		//璁㈠崟鍙�
-		seachPersonnelNo() {
-			console.log('杞﹂棿璁㈠崟鍙�')
-			uni.navigateTo({
-			    url: '/pages/product/report/orderList'
-			})
-        },
-        //瀛愪欢
-        seachComp() {
-            if (this.registerInfo.value1 == null || this.registerInfo.value1 == '') {
-				this.$u.toast('璇烽�夋嫨璁㈠崟鍙�')
-				return
+
+		data() {
+			return {
+				background: {
+					backgroundImage: `url(${content_bg})`,
+					backgroundAttachment: "fixed",
+					backgroundSize: "100% auto",
+					backgroundRepeat: "no-repeat",
+				},
+				labelStyle: {
+					fontSize: "32rpx",
+					whiteSpace: "nowrap",
+				},
+				// 寮圭獥鍒楄〃
+				modalList: {
+					value: "",
+					value1: "",
+				},
+				//   涓婚〉闈㈠垪琛�
+				registerInfo: {
+					moNo: "",
+					value2: "",
+					value3: "",
+				},
+				//   涓嬪彂璁板綍鍒楄〃
+				hasScanSnList: [],
+			};
+		},
+		onShow() {
+			let that = this;
+			uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+			if ((registerInfo.moNO = null)) {
+				uni.showToast({
+					icon: "none",
+					title: "璇峰厛閫夋嫨瀛愪欢锛�",
+					duration: 2 * 1000,
+				});
+				return;
 			}
-			console.log('瀛愪欢')
-            uni.navigateTo({
-			    url: '/pages/product/WorkshopOrderIssued/comp'
-			})
-		},
-		goScan() {
-			uni.scanCode({
-				scanType: ['qrCode'],
-				success: res => {
-					try {
-						console.log('鎵爜缁撴灉锛�', res);
-						this.scanHandle(res.result)
-					} catch (e) { }
-				}
+			uni.$on("scan", function(data) {
+				console.log("onscan");
+				//鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
+				console.log("鎵爜缁撴灉锛�", data.code);
+				that.scanHandle(data.code);
+				that.$forceUpdate();
 			});
 		},
-		scanHandle(scanresult) {
-			scanresult = scanresult.replace(/[\r\n]/g, "")
-			if (scanresult.indexOf('{') > -1) {
-				//浜岀淮鐮�
-				const result = JSON.parse(scanresult)
-				//澧炲姞SN鏍¢獙
-				if (result.sn_no && result.sn_no != null && result.sn_no != '') {
-					if (this.hasScanSnList.length > 0) {
-						let hasScanSnIndex = this.hasScanSnList.indexOf(result.sn_no)
-						if (hasScanSnIndex < 0) {
-							this.hasScanSnList.push(result.sn_no)
-						} else {
-							this.$u.toast('璇峰嬁閲嶅鎵弿')
-						}
-					} else {
-						this.hasScanSnList.push(result.sn_no)
-					}
+		methods: {
+			// 鐐瑰嚮纭鍚庤幏鍙栦笅鍙戣褰�
+			confirm() {
+				// 澶勭悊纭閫昏緫
+				this.showModal = false;
+				this.$u.api.workReporting
+				._({}).then((res) => {
+					console.log("res", res);
+					this.hasScanSnList = res.data.records;
+				});
+			},
+			// 妯℃�佹鍙栨秷
+			cancel() {
+				this.showModal = false; // 鍏抽棴寮圭獥
+			},
+			// 瀛愪欢鍥炴樉
+			compNo(val) {
+				this.registerInfo.value2 = val.value2;
+				this.registerInfo.value3 = val.value2;
+			},
+			// 璁㈠崟鍙峰洖鏄�
+			setNo(val) {
+				console.log("11111", val);
+				this.registerInfo.moNo = val.moNo;
+				this.registerInfo.value2 = val.value2;
+			},
+			//璁㈠崟鍙�
+			seachPersonnelNo() {
+				console.log("杞﹂棿璁㈠崟鍙�");
+				uni.navigateTo({
+					url: "/pages/product/report/orderList",
+				});
+			},
+			//瀛愪欢
+			seachComp() {
+				if (this.registerInfo.value1 == null || this.registerInfo.value1 == "") {
+					this.$u.toast("璇烽�夋嫨璁㈠崟鍙�");
+					return;
 				}
-
-			} else {
-				//澧炲姞SN鏍¢獙
-				if (this.hasScanSnList.length > 0) {
-					let hasScanSnIndex = this.hasScanSnList.indexOf(scanresult)
-					if (hasScanSnIndex < 0) {
-						this.hasScanSnList.push(scanresult)
-					} else {
-						this.$u.toast('璇峰嬁閲嶅鎵弿')
-					}
-				} else {
-					this.hasScanSnList.push(scanresult)
-				}
-			}
+				console.log("瀛愪欢");
+				uni.navigateTo({
+					url: "/pages/product/WorkshopOrderIssued/comp",
+				});
+			},
+			// 鎵爜鍚庢暟鎹洖鏄�
+			scanHandle(scanresult) {
+				this.$u.api.workReporting
+				._({}).then((res) => {
+					this.modalList = res.data.records;
+					this.showModal = true;
+				});
+			},
 		},
-		goSubmit() {
-			// if (this.registerInfo.shiftId == null || this.registerInfo.shiftId == '') {
-			// 	this.$u.toast('璇烽�夋嫨鐝')
-			// 	return
-			// }
-			// if (this.registerInfo.value3 == null || this.registerInfo.value3 == '') {
-			// 	this.$u.toast('璇烽�夋嫨鏃ユ湡')
-			// 	return
-			// }
-			// if (this.registerInfo.locNo == null || this.registerInfo.locNo == '') {
-			// 	this.$u.toast('璇烽�夋嫨鍖呰搴撲綅')
-			// 	return
-			// }
-			// if (this.hasScanSnList.length == 0) {
-			// 	this.$u.toast('鏃犲緟鎻愪氦鐨凷N鍙锋槑缁�')
-			// 	return
-			// }
-			// let registrList = []
-			// this.staffList = []
-			// this.staffNameList.forEach((item) => {
-			// 	this.staffList.push({
-			// 		staffId: item.id
-			// 	})
-			// })
-			// this.hasScanSnList.forEach((item) => {
-			// 	registrList.push({
-			// 		shiftId: this.registerInfo.shiftId,
-			// 		value3: this.registerInfo.value3,
-			// 		locNo: this.registerInfo.locNo,
-			// 		partBatchNo: item,
-			// 		staffList: this.staffList
-			// 	})
-			// })
-			// this.$u.api.pigxPacking.addPackageRegister(registrList).then(res => {
-			// 	let resData = res.data
-			// 	this.hasScanSnList = []
-			// 	this.$u.toast('鎻愪氦鎴愬姛')
-			// }).catch((e) => {
-			// })
-
-		},
-	}
-};
+	};
 </script>
 <style lang="scss" scoped>
-.packing-registration-bg {
-	background-color: #F6F9FF;
-	background-image: url('~@/static/custom/packing/backBg.png');
-	padding: 0 20rpx;
-	background-attachment: fixed;
-	background-size: 100% auto;
-	background-repeat: no-repeat;
-	position: fixed;
-	top: 0;
-	bottom: 0;
-	width: 100%;
-	z-index: -1;
-}
-
-.packing-registration-param {
-	padding: 40rpx 30rpx 10rpx 30rpx;
-
-	.packing-registration-param-title {
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		margin-bottom: 30rpx;
-
-		.title-label {
-			margin-left: 14rpx;
-			font-size: 34rpx;
-			font-weight: bold;
-			color: #283E65;
-		}
+	.packing-registration-bg {
+		background-color: #f6f9ff;
+		background-image: url("~@/static/custom/packing/backBg.png");
+		padding: 0 20rpx;
+		background-attachment: fixed;
+		background-size: 100% auto;
+		background-repeat: no-repeat;
+		position: fixed;
+		top: 0;
+		bottom: 0;
+		width: 100%;
+		z-index: -1;
 	}
 
-	.packing-registration-param-view {
-		height: 345rpx;
-		background-color: #fff;
-		border-radius: 10rpx;
-		padding: 0rpx 23rpx;
-		margin-bottom: 30rpx;
+	.packing-registration-param {
+		padding: 40rpx 30rpx 10rpx 30rpx;
 
-		.packing-registration-param-item {
-			height: 90rpx;
-			border: 1px solid #ADC8E4;
-			line-height: 90rpx;
+		.packing-registration-param-title {
 			display: flex;
-			justify-content: space-between;
-			border: none;
+			flex-direction: row;
+			align-items: center;
+			margin-bottom: 30rpx;
 
-			.packing-registration-param-item-left {
-				.item-one {
-					font-size: 30rpx;
-					color: #666666;
-				}
+			.title-label {
+				margin-left: 14rpx;
+				font-size: 34rpx;
+				font-weight: bold;
+				color: #283e65;
 			}
+		}
 
-			.packing-registration-param-item-right {
+		.packing-registration-param-view {
+			height: 345rpx;
+			background-color: #fff;
+			border-radius: 10rpx;
+			padding: 0rpx 23rpx;
+			margin-bottom: 30rpx;
+
+			.packing-registration-param-item {
+				height: 90rpx;
+				border: 1px solid #adc8e4;
+				line-height: 90rpx;
 				display: flex;
 				justify-content: space-between;
+				border: none;
 
-				.item-one {
-					font-size: 30rpx;
-					color: #333333;
-					margin-right: 6rpx;
+				.packing-registration-param-item-left {
+					.item-one {
+						font-size: 30rpx;
+						color: #666666;
+					}
 				}
 
-				.item-two {
-					font-size: 30rpx;
-					color: #A6B4CC;
-					margin-right: 6rpx;
-				}
+				.packing-registration-param-item-right {
+					display: flex;
+					justify-content: space-between;
 
-				.item-three {
-					font-size: 30rpx;
-					color: #214DED;
-					margin-right: 6rpx;
+					.item-one {
+						font-size: 30rpx;
+						color: #333333;
+						margin-right: 6rpx;
+					}
+
+					.item-two {
+						font-size: 30rpx;
+						color: #a6b4cc;
+						margin-right: 6rpx;
+					}
+
+					.item-three {
+						font-size: 30rpx;
+						color: #214ded;
+						margin-right: 6rpx;
+					}
 				}
 			}
-		}
 
-		.param-extra {
-			border-bottom: 1px solid #EDEDED;
+			.param-extra {
+				border-bottom: 1px solid #ededed;
+			}
 		}
 	}
-}
 
-.wrap .packing-registration-scroll-list {
-	height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx);
-	width: 100%;
-}
-
-.packing-registration-scroll-list-group {
-	::v-deep .u-cell-item-box {
-		background-color: rgba(250, 252, 255, 0.36) !important;
-		padding: 0rpx 30rpx;
+	.wrap .packing-registration-scroll-list {
+		height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx);
+		width: 100%;
 	}
 
-	.content {
-		font-size: 12px;
-		background-color: #ffffff;
-		box-sizing: border-box;
-		border-radius: 10rpx;
-		margin: 0rpx 0rpx 16rpx;
-		padding: 20rpx 8rpx;
-		box-shadow: none;
-		display: flex;
-		align-items: center;
+	.packing-registration-scroll-list-group {
+		::v-deep .u-cell-item-box {
+			background-color: rgba(250, 252, 255, 0.36) !important;
+			padding: 0rpx 30rpx;
+		}
 
-		.content-header {
-			width: 40rpx;
-			height: 90rpx;
+		.content {
+			font-size: 12px;
+			background-color: #ffffff;
+			box-sizing: border-box;
+			border-radius: 10rpx;
+			margin: 0rpx 0rpx 16rpx;
+			padding: 20rpx 8rpx;
+			box-shadow: none;
 			display: flex;
 			align-items: center;
 
-			.content-header-icon {
-				background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
-				background-size: 100% auto;
-				background-repeat: no-repeat;
-				height: 28rpx;
-				width: 28rpx;
-			}
-
-			.content-header-title {
-				margin-left: 11rpx;
-				font-size: 26rpx;
-				font-weight: bold;
-				color: #626369;
-			}
-		}
-
-		.content-body {
-			flex: 1;
-			background-color: #ffffff;
-			border-radius: 10rpx;
-			padding: 0rpx 23rpx;
-
-			.row-list {
-				height: 60rpx;
+			.content-header {
+				width: 40rpx;
+				height: 90rpx;
 				display: flex;
-				flex-direction: row;
-				padding: 0px;
-				align-items: center;
-			}
-
-			.row-list ._label {
-				display: flex;
-				flex: 0.8;
-				color: #909399;
 				align-items: center;
 
-				._label-name {
+				.content-header-icon {
+					background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
+					background-size: 100% auto;
+					background-repeat: no-repeat;
+					height: 28rpx;
+					width: 28rpx;
+				}
+
+				.content-header-title {
 					margin-left: 11rpx;
 					font-size: 26rpx;
-					font-weight: 500;
-					color: #666666;
+					font-weight: bold;
+					color: #626369;
 				}
 			}
 
-			.row-list ._content {
-				flex: 1.5;
-				text-align: right;
-				color: #909399;
-				font-size: 24rpx;
-			}
+			.content-body {
+				flex: 1;
+				background-color: #ffffff;
+				border-radius: 10rpx;
+				padding: 0rpx 23rpx;
 
-			.row-list .s1 {
-				color: #d35651;
+				.row-list {
+					height: 60rpx;
+					display: flex;
+					flex-direction: row;
+					padding: 0px;
+					align-items: center;
+				}
+
+				.row-list ._label {
+					display: flex;
+					flex: 0.8;
+					color: #909399;
+					align-items: center;
+
+					._label-name {
+						margin-left: 11rpx;
+						font-size: 26rpx;
+						font-weight: 500;
+						color: #666666;
+					}
+				}
+
+				.row-list ._content {
+					flex: 1.5;
+					text-align: right;
+					color: #909399;
+					font-size: 24rpx;
+				}
+
+				.row-list .s1 {
+					color: #d35651;
+				}
 			}
 		}
 	}
-}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3