From 469dc45019c7fdc13a35ee9092181b7405dc6049 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 08 七月 2025 09:24:21 +0800
Subject: [PATCH] 车间订单取消下发接口联调

---
 pages/product/WorkshopOrderCancellationIssued/index.vue         |  366 +++++++++++++++----
 pages.json                                                      |    9 
 pages/product/WorkshopOrderCancellationIssued/comp.vue          |  321 +++++++++++++++++
 pages/product/WorkshopOrderCancellationIssued/WorkOrderList.vue |  305 ++++++++++++++++
 common/http.api.js                                              |   31 +
 5 files changed, 944 insertions(+), 88 deletions(-)

diff --git a/common/http.api.js b/common/http.api.js
index 62bae91..1887d8f 100644
--- a/common/http.api.js
+++ b/common/http.api.js
@@ -510,12 +510,30 @@
 			// 鏌ヨ瀛愪欢
 			manufacturingOrder: (params = {}) => vm.$u.get('/mes/plan/manufacturingOrder/' + params.id),
 			// 妫�鏌ユ牎楠�
-			checkRawPart: (params = {}) => vm.$u.post('/mes/product/checkRawPart/'+ params.operationTaskId,params),
-			
+			// checkRawPart: (params = {}) => vm.$u.post('/mes/product/checkRawPart/' + params.operationTaskId, params),
+			// 妫�楠岄浂浠�
+			checkRawPartPDA: (params = {}) => vm.$u.get('/mes/product/checkRawPartPDA/' +  params.outBatchNo + '/' + params
+				.workstationId+ '/' + params
+				.operationTaskId),
+			// 鎻愪氦
+			feeding: (params = {}) => vm.$u.post('/mes/feeding', params),
+			// 鏌ヨ宸ュ崟
+			getOperationTaskLisByMoId: (params = {}) => vm.$u.get('/mes/operationTask/getOperationTaskLisByMoId',params),
+			// 鏍规嵁宸ュ崟id鏌ヨ鐗╂枡
+			getMoMaterial: (params = {}) => vm.$u.get('/mes/operationTask/getMoMaterial', params),
+			// 鏌ヨ宸ヤ綔鍙�
+			selWorkStation: (params = {}) => vm.$u.post('/mes/operationTask/selWorkStation', params)
 		},
 		// 杞﹂棿璁㈠崟鍙栨秷涓嬪彂
 		WorkshopOrderCancellationIssued: {
-
+			// 鏍¢獙鏄惁涓嬪彂鐨�
+			checkReturnPartPDA: (params = {}) => vm.$u.post('/mes/product/checkReturnPartPDA', params),
+			// 鍙栨秷涓嬪彂
+			cancelDTAOfWorkApplicationPDA: (params = {}) => vm.$u.get('/mes/feeding/getReturnLocations/' + params.workstationId),
+			// 鑾峰彇鍩烘湰淇℃伅
+			getReturnInfo: (params = {}) => vm.$u.post('/mes/feeding/getReturnInfo', params),
+			// 纭鍙栨秷涓嬪彂
+			feeding: (params = {}) => vm.$u.put('/mes/feeding', params),
 		},
 		// 绉诲簱
 		shiftingParking: {
@@ -523,7 +541,12 @@
 			selPartInfoPDA: (params = {}) => vm.$u.get('/mes/stock/selPartInfoPDA/' + params.outBatchNo),
 			// 纭绉诲簱
 			moveHousePDA: (params = {}) => vm.$u.post('/mes/applyPart/moveHousePDA', params),
-
+			
+		},
+		// 鏍哥褰曞叆
+		NuclearScaleEntry: {
+			// 鑾峰彇瀹㈡埛鍚嶇О
+			selClient: (params = {}) => vm.$u.get('/mes/weighingVerification/selClient'),
 		}
 	};
 
diff --git a/pages.json b/pages.json
index d3f3902..9cf2ae7 100644
--- a/pages.json
+++ b/pages.json
@@ -831,6 +831,15 @@
         "navigationBarBackgroundColor": "#3281FF"
       }
     },
+    // 宸ュ崟鍒楄〃
+        {
+      "path": "pages/product/WorkshopOrderIssued/WorkOrderList",
+      "style": {
+        "navigationStyle": "custom",
+        "navigationBarTextStyle": "white",
+        "navigationBarBackgroundColor": "#3281FF"
+      }
+    },
     // 杞﹂棿鍙栨秷涓嬪彂
     {
       "path": "pages/product/WorkshopOrderCancellationIssued/index",
diff --git a/pages/product/WorkshopOrderCancellationIssued/WorkOrderList.vue b/pages/product/WorkshopOrderCancellationIssued/WorkOrderList.vue
new file mode 100644
index 0000000..8cd16a4
--- /dev/null
+++ b/pages/product/WorkshopOrderCancellationIssued/WorkOrderList.vue
@@ -0,0 +1,305 @@
+<template>
+	<view class="page">
+		<view class="finishProductIn-locno-bg" />
+		<u-navbar title="宸ュ崟鍒楄〃" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
+			back-icon-color="#000" />
+		<view class="finishProductIn-locno-search">
+			<u-search v-model="keywords" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false"
+				placeholder="璇疯緭鍏ュ伐鍗曞彿" @clear="search" @custom="search" @search="search" @input="search">
+			</u-search>
+		</view>
+		<view class="wrap">
+			<scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true" @scrolltolower="getmoreList()">
+				<u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false">
+					<view class="content" v-for="(item, index) in list" :key="item.locNo" :index="index"
+						@click="selectNo(item)">
+						<view class="content-header">
+							<view class="content-header-title">{{ item.index }}</view>
+						</view>
+						<view class="content-body">
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-1"> </view>
+									<view class="_label-name">宸ュ崟鍙凤細</view>
+								</view>
+								<view class="_content">
+									{{ item.optaskNo }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-2"> </view>
+									<view class="_label-name">鏁伴噺锛�</view>
+								</view>
+								<view class="_content">
+									{{ item.plannedQuantity }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-2"> </view>
+									<view class="_label-name">寮�濮嬫棩鏈燂細</view>
+								</view>
+								<view class="_content">
+									{{ item.plannedStartDate }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-3"> </view>
+									<view class="_label-name">缁撴潫鏃ユ湡锛�</view>
+								</view>
+								<view class="_content">
+									{{ item.plannedFinishDate }}
+								</view>
+							</view>
+						</view>
+					</view>
+				</u-cell-group>
+				<view class="loadmore" @click="getmoreList()">
+					<u-loadmore :status="status" :load-text="loadText" @loadmore="getmoreList()" />
+				</view>
+			</scroll-view>
+		</view>
+	</view>
+</template>
+<script>
+	import content_bg from "@/static/custom/finishProductIn/locNoBg.png";
+	export default {
+		data() {
+			return {
+				background: {
+					backgroundImage: `url(${content_bg})`,
+					backgroundAttachment: "fixed",
+					backgroundSize: "100% auto",
+					backgroundRepeat: "no-repeat",
+				},
+				keywords: "",
+				list: [],
+				total: 0,
+				pageNum: 1,
+				pageSize: 10,
+				status: "loading",
+				loadText: {
+					loadmore: "鍔犺浇鏇村...",
+					loading: "鍔姏鍔犺浇涓�...",
+					nomore: "娌℃湁鏇村浜�",
+				},
+				id: ''
+			};
+		},
+		onLoad(options) {
+			console.log('22@@', options);
+			this.id = Number(JSON.parse(decodeURIComponent(options.id)))
+			this.getlist();
+			
+		},
+		methods: {
+			getmoreList() {
+				if (this.pageSize >= this.total) {
+					this.status = "nomore";
+					return;
+				}
+				this.status = "loading";
+				setTimeout(() => {
+					this.pageSize += this.pageSize;
+					this.getlist();
+				}, 1000);
+			},
+			getlist() {
+				this.$u.api.WorkshopOrderIssued.getOperationTaskLisByMoId({
+					current: this.pageNum,
+					size: this.pageSize,
+					moId: this.id
+				}).then((res) => {
+					console.log("res", res);
+					this.list = res.data.records;
+					this.total =  res.data.total;
+					if (this.pageSize >= this.total) {
+						this.status = "nomore";
+					} else {
+						this.status = "loadmore";
+					}
+				});
+			},
+			search(value) {
+				console.log("111", value);
+				if (value) {
+					this.list = [];
+					this.pageSize = 10;
+					this.$u.api.WorkshopOrderIssued
+						.getOperationTaskLisByMoId({
+							current: this.pageNum,
+							size: this.pageSize,
+							optaskNo: value,
+								moId: this.id
+						})
+						.then((res) => {
+							console.log("res", res);
+							this.list = res.data.records;
+							this.total = res.data.total;
+							if (this.pageSize >= this.total) {
+								this.status = "nomore";
+							} else {
+								this.status = "loadmore";
+							}
+						});
+				} else {
+					this.getlist();
+				}
+			},
+			selectNo(no) {
+				this.refreshLastPage(no);
+			},
+
+			//鍒锋柊涓婁竴涓〉闈�
+			refreshLastPage(no) {
+				// 鍛婄煡 A.vue 鏇存柊鏁版嵁
+				// 鑾峰彇椤甸潰鏍�
+				let pages = getCurrentPages();
+
+				// 鑾峰彇涓婁竴椤垫爤
+				let prevPage = pages[pages.length - 2];
+
+				// 瑙﹀彂涓婁竴椤� upData 鍑芥暟(骞舵惡甯﹀弬鏁�)
+				prevPage.$vm.workNo(no);
+
+				// 杩斿洖涓婁竴椤�
+				uni.navigateBack({
+					delta: 1,
+				});
+			},
+		},
+	};
+</script>
+<style lang="scss" scoped>
+	.finishProductIn-locno-bg {
+		background-color: #f6f9ff;
+		background-image: url("~@/static/custom/finishProductIn/locNoBg.png");
+		// background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0));
+		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;
+	}
+
+	.finishProductIn-locno-search {
+		padding: 40rpx 30rpx 20rpx 30rpx;
+	}
+
+	.wrap .finishProductIn-locno-scroll-list {
+		height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx);
+		width: 100%;
+	}
+
+	.finishProductIn-locno-scroll-list-group {
+		::v-deep .u-cell-item-box {
+			background-color: rgba(250, 252, 255, 0.36) !important;
+			padding: 0rpx 30rpx;
+		}
+
+		.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 {
+				width: 40rpx;
+				height: 90rpx;
+				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: #333333;
+				}
+			}
+
+			.content-body {
+				flex: 1;
+				background: #f5f9ff;
+				border-radius: 10rpx;
+				padding: 0rpx 23rpx;
+
+				.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-icon-1 {
+						background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png");
+						background-size: 100% auto;
+						background-repeat: no-repeat;
+						height: 26rpx;
+						width: 26rpx;
+					}
+
+					._label-icon-2 {
+						background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png");
+						background-size: 100% auto;
+						background-repeat: no-repeat;
+						height: 26rpx;
+						width: 26rpx;
+					}
+
+					._label-icon-3 {
+						background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png");
+						background-size: 100% auto;
+						background-repeat: no-repeat;
+						height: 26rpx;
+						width: 26rpx;
+					}
+
+					._label-name {
+						width: 80px;
+						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
diff --git a/pages/product/WorkshopOrderCancellationIssued/comp.vue b/pages/product/WorkshopOrderCancellationIssued/comp.vue
new file mode 100644
index 0000000..2df7ab7
--- /dev/null
+++ b/pages/product/WorkshopOrderCancellationIssued/comp.vue
@@ -0,0 +1,321 @@
+<template>
+	<view class="page">
+		<view class="finishProductIn-locno-bg" />
+		<u-navbar title="杞﹂棿璁㈠崟鐗╂枡" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
+			back-icon-color="#000" />
+		<view class="finishProductIn-locno-search">
+			<u-search v-model="keywords" shape="square" bg-color="rgba(250,252,255,0.36)" :show-action="false"
+				placeholder="璇疯緭鍏ラ浂浠跺彿" @clear="search" @custom="search" @search="search" @input="search">
+			</u-search>
+		</view>
+		<view class="wrap">
+			<scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true" @scrolltolower="getmoreList()">
+				<u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false">
+					<view class="content" v-for="(item, index) in list" :key="item.locNo" :index="index"
+						@click="selectNo(item)">
+						<view class="content-header">
+							<view class="content-header-title">{{ item.index }}</view>
+						</view>
+						<view class="content-body">
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-1"> </view>
+									<view class="_label-name">琛屽彿锛�</view>
+								</view>
+								<view class="_content">
+									{{ item.value0 }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-2"> </view>
+									<view class="_label-name">涓嬪彂鑷冲簱浣嶏細</view>
+								</view>
+								<view class="_content">
+									{{ item.value1 }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-1"> </view>
+									<view class="_label-name">闆朵欢鍙凤細</view>
+								</view>
+								<view class="_content">
+									{{ item.partNo }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-3"> </view>
+									<view class="_label-name">闆朵欢鎻忚堪锛�</view>
+								</view>
+								<view class="_content">
+									{{ item.partName }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-2"> </view>
+									<view class="_label-name">闆朵欢涓嬪彂鏁伴噺锛�</view>
+								</view>
+								<view class="_content">
+									{{ item.qpa }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									<view class="_label-icon-3"> </view>
+									<view class="_label-name">鐗╂枡琛岀姸鎬侊細</view>
+								</view>
+								<view class="_content">
+									{{ item.value5 }}
+								</view>
+							</view>
+						</view>
+					</view>
+				</u-cell-group>
+				<view class="loadmore" @click="getmoreList()">
+					<u-loadmore :status="status" :load-text="loadText" @loadmore="getmoreList()" />
+				</view>
+			</scroll-view>
+		</view>
+	</view>
+</template>
+<script>
+	import content_bg from "@/static/custom/finishProductIn/locNoBg.png";
+	export default {
+		data() {
+			return {
+				background: {
+					backgroundImage: `url(${content_bg})`,
+					backgroundAttachment: "fixed",
+					backgroundSize: "100% auto",
+					backgroundRepeat: "no-repeat",
+				},
+				keywords: "",
+				list: [],
+				total: 0,
+				pageNum: 1,
+				pageSize: 10,
+				status: "loading",
+				loadText: {
+					loadmore: "鍔犺浇鏇村...",
+					loading: "鍔姏鍔犺浇涓�...",
+					nomore: "娌℃湁鏇村浜�",
+				},
+				operationTaskId: ''
+			};
+		},
+		onLoad(options) {
+			this.operationTaskId = JSON.parse(decodeURIComponent(options.operationTaskId))
+			this.getlist();
+		},
+		methods: {
+			getmoreList() {
+				if (this.pageSize >= this.total) {
+					this.status = "nomore";
+					return;
+				}
+				this.status = "loading";
+				setTimeout(() => {
+					this.pageSize += this.pageSize;
+					this.getlist();
+				}, 1000);
+			},
+			getlist() {
+				this.$u.api.WorkshopOrderIssued.getMoMaterial({
+					current: this.pageNum,
+					size: this.pageSize,
+					operationTaskId: this.operationTaskId
+				}).then((res) => {
+					console.log("res", res);
+					this.list = res.data;
+					this.total = res.data.length + 1;
+					if (this.pageSize >= this.total) {
+						this.status = "nomore";
+					} else {
+						this.status = "loadmore";
+					}
+				});
+			},
+			search(value) {
+				console.log("111", value);
+				if (value) {
+					this.list = [];
+					this.pageSize = 10;
+					this.$u.api.WorkshopOrderIssued
+						.getMoMaterial({
+							current: this.pageNum,
+							size: this.pageSize,
+							partNo: value,
+							operationTaskId: this.operationTaskId
+						})
+						.then((res) => {
+							console.log("res", res);
+							this.list = res.data;
+							this.total = res.data.total;
+							if (this.pageSize >= this.total) {
+								this.status = "nomore";
+							} else {
+								this.status = "loadmore";
+							}
+						});
+				} else {
+					this.getlist();
+				}
+			},
+			selectNo(no) {
+				this.refreshLastPage(no);
+			},
+
+			//鍒锋柊涓婁竴涓〉闈�
+			refreshLastPage(no) {
+				// 鍛婄煡 A.vue 鏇存柊鏁版嵁
+				// 鑾峰彇椤甸潰鏍�
+				let pages = getCurrentPages();
+
+				// 鑾峰彇涓婁竴椤垫爤
+				let prevPage = pages[pages.length - 2];
+
+				// 瑙﹀彂涓婁竴椤� upData 鍑芥暟(骞舵惡甯﹀弬鏁�)
+				prevPage.$vm.compNo(no);
+
+				// 杩斿洖涓婁竴椤�
+				uni.navigateBack({
+					delta: 1,
+				});
+			},
+		},
+	};
+</script>
+<style lang="scss" scoped>
+	.finishProductIn-locno-bg {
+		background-color: #f6f9ff;
+		background-image: url("~@/static/custom/finishProductIn/locNoBg.png");
+		// background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0));
+		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;
+	}
+
+	.finishProductIn-locno-search {
+		padding: 40rpx 30rpx 20rpx 30rpx;
+	}
+
+	.wrap .finishProductIn-locno-scroll-list {
+		height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx);
+		width: 100%;
+	}
+
+	.finishProductIn-locno-scroll-list-group {
+		::v-deep .u-cell-item-box {
+			background-color: rgba(250, 252, 255, 0.36) !important;
+			padding: 0rpx 30rpx;
+		}
+
+		.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 {
+				width: 40rpx;
+				height: 90rpx;
+				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: #333333;
+				}
+			}
+
+			.content-body {
+				flex: 1;
+				background: #f5f9ff;
+				border-radius: 10rpx;
+				padding: 0rpx 23rpx;
+
+				.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-icon-1 {
+						background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png");
+						background-size: 100% auto;
+						background-repeat: no-repeat;
+						height: 26rpx;
+						width: 26rpx;
+					}
+
+					._label-icon-2 {
+						background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png");
+						background-size: 100% auto;
+						background-repeat: no-repeat;
+						height: 26rpx;
+						width: 26rpx;
+					}
+
+					._label-icon-3 {
+						background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png");
+						background-size: 100% auto;
+						background-repeat: no-repeat;
+						height: 26rpx;
+						width: 26rpx;
+					}
+
+					._label-name {
+						width: 80px;
+						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
diff --git a/pages/product/WorkshopOrderCancellationIssued/index.vue b/pages/product/WorkshopOrderCancellationIssued/index.vue
index 5637244..a576f90 100644
--- a/pages/product/WorkshopOrderCancellationIssued/index.vue
+++ b/pages/product/WorkshopOrderCancellationIssued/index.vue
@@ -1,4 +1,4 @@
-//杞﹂棿璁㈠崟鍙栨秷涓嬪彂
+// 杞﹂棿璁㈠崟鍙栨秷涓嬪彂
 <template>
   <view class="page">
     <view class="packing-registration-bg" />
@@ -17,15 +17,66 @@
             <text class="item-one">璁㈠崟鍙�</text>
           </view>
           <view class="packing-registration-param-item-right">
-            <text class="item-one item-two" @click="seachPersonnelNo()">{{
+            <text class="item-one item-two" @click="searchPersonnelNo()">{{
               registerInfo.moNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.moNo
             }}</text>
             <u-icon
               name="arrow-right"
               color="#687792"
               size="28"
-              @click="seachPersonnelNo()"
+              @click="searchPersonnelNo()"
               v-show="registerInfo.moNo == ''"
+            ></u-icon>
+          </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">
+            <text class="item-one item-two" @click="searchWork()">{{
+              registerInfo.optaskNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.optaskNo
+            }}</text>
+            <u-icon
+              name="arrow-right"
+              color="#687792"
+              size="28"
+              @click="searchWork()"
+              v-show="registerInfo.optaskNo == ''"
+            ></u-icon>
+          </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">
+            <picker
+              class="item-one item-two"
+              style="width: 100%; text-align: right"
+              @change="machineChange($event, machineList)"
+              :value="machineIndex"
+              :range="machineList"
+              range-key="label"
+            >
+              <view>
+                <text
+                  :style="{
+                    color: machineIndex == null ? '#a5abb4' : '#a5abb4',
+                  }"
+                  >{{
+                    machineIndex == null
+                      ? "鐐瑰嚮閫夋嫨"
+                      : machineList[machineIndex].label
+                  }}</text
+                >
+              </view>
+            </picker>
+            <u-icon
+              v-if="machineIndex == null"
+              name="arrow-right"
+              color="#687792"
+              size="28"
             ></u-icon>
           </view>
         </view>
@@ -55,34 +106,18 @@
             <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.moOn }}
+                  {{ item.outBatchNo }}
                 </view>
               </view>
               <view class="row-list">
                 <view class="_label">
-                  <view class="_label-name">闆朵欢鍙凤細</view>
+                  <view class="_label-name">鍙栨秷涓嬪彂鏁伴噺锛�</view>
                 </view>
                 <view class="_content">
-                  {{ item.partNo }}
-                </view>
-              </view>
-              <view class="row-list">
-                <view class="_label">
-                  <view class="_label-name">闆朵欢鎻忚堪锛�</view>
-                </view>
-                <view class="_content">
-                  {{ item.partName }}
-                </view>
-              </view>
-              <view class="row-list">
-                <view class="_label">
-                  <view class="_label-name">鍙栨秷涓嬪彂鏁伴噺</view>
-                </view>
-                <view class="_content">
-                  {{ item.value3 }}
+                  {{ item.suppliedQuantity }}
                 </view>
               </view>
             </view>
@@ -107,23 +142,41 @@
                 <text class="item-one">鎵瑰彿</text>
               </view>
               <view class="packing-registration-param-item-right">
-                <text class="item-one item-two">{{ modalList.moOn }}</text>
+                <text class="item-one item-two">{{
+                  modalList.outBatchNo
+                }}</text>
               </view>
             </view>
             <view class="packing-registration-param-item param-extra">
               <view class="packing-registration-param-item-left">
-                <text class="item-one">闆朵欢鍙�</text>
+                <text class="item-one">搴撲綅</text>
               </view>
               <view class="packing-registration-param-item-right">
-                <text class="item-one item-two">{{ modalList.partNo }}</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">
-                <text class="item-one item-two">{{ modalList.partName }}</text>
+                <picker
+                  class="item-one item-two"
+                  style="width: 100%; text-align: right"
+                  @change="goSearch($event, locationNoList)"
+                  :value="locationIndex"
+                  :range="locationNoList"
+                  range-key="label"
+                >
+                  <view>
+                    <text
+                      :style="{
+                        color: locationIndex == null ? '#a5abb4' : '#a5abb4',
+                      }"
+                      >{{
+                        locationIndex == null ? "鐐瑰嚮閫夋嫨" : locationIndex
+                      }}</text
+                    >
+                  </view>
+                </picker>
+                <u-icon
+                  v-if="locationIndex == null"
+                  name="arrow-right"
+                  color="#687792"
+                  size="28"
+                ></u-icon>
               </view>
             </view>
             <view class="packing-registration-param-item param-extra">
@@ -131,7 +184,10 @@
                 <text class="item-one">鍙栨秷涓嬪彂鏁伴噺</text>
               </view>
               <view class="packing-registration-param-item-right">
-                <u-input class="item-one item-two" v-model="modalList.value3" />
+                <u-input
+                  class="item-one item-two"
+                  v-model="modalList.returnQuantity"
+                />
               </view>
             </view>
           </view>
@@ -147,9 +203,9 @@
   components: {
     scan,
   },
+
   data() {
     return {
-      showModal: false,
       background: {
         backgroundImage: `url(${content_bg})`,
         backgroundAttachment: "fixed",
@@ -160,98 +216,240 @@
         fontSize: "32rpx",
         whiteSpace: "nowrap",
       },
-      //寮圭獥鍒楄〃
+      // 寮圭獥鍒楄〃
       modalList: {
-        partName: "",
-        partNo: "",
-        moNo: "",
-        num: "",
+        // locationNoName: "",
+        // locationNo: "",
+        // suppliedQuantity: "",
+        // outBatchNo: "",
       },
+      //   涓婚〉闈㈠垪琛�
       registerInfo: {
+        operationTaskId: "",
+        id: "",
         moNo: "",
+        optaskNo: "",
+        workstationId: "",
       },
+      //   鍙栨秷涓嬪彂璁板綍鍒楄〃
       hasScanSnList: [],
       codeInfoId: "",
+      showModal: false,
+      machineIndex: null,
+      machineList: [],
+      locationNoList: [],
+      locationIndex: null,
     };
   },
   onShow() {
     let that = this;
-
     uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
-    if (registerInfo.moNO == null) {
-      uni.showToast({
-        icon: "none",
-        title: "璇峰厛閫夋嫨璁㈠崟鍙凤紒",
-        duration: 2 * 1000,
-      });
-      return;
-    }
     uni.$on("scan", function (data) {
       console.log("onscan");
-      //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
-      console.log("鎵爜缁撴灉锛�", data.code);
+      if (that.registerInfo.workstationId == "") {
+        uni.showToast({
+          icon: "none",
+          title: "璇峰厛閫夋嫨鏈哄彴锛�",
+          duration: 2 * 1000,
+        });
+        return;
+      }
       if (data.code) {
+        //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
+        console.log("鎵爜缁撴灉锛�", data.code);
         let codeInfo = JSON.parse(data.code);
-        this.codeInfoId = codeInfo.id;
-        if (codeInfo.moOn) {
+        that.codeInfoId = codeInfo.id;
+        if (codeInfo) {
           // 鎵弿鎶ュ伐鍗曚簩缁寸爜
-          that.scanHandle(data.code);
+          that.scanHandle(codeInfo);
           that.$forceUpdate();
-          that.getHandelList();
         }
       }
     });
   },
   methods: {
-    getHandelList() {
-      this.$u.api.workReporting
-        .getProductMainV1({
-          current: 1,
-          size: -1,
-          id: this.codeInfoId,
-        })
-        .then((res) => {
-          this.hasScanSnList = res.data.productOutputList;
-        });
+    // 搴撲綅閫夋嫨
+    goSearch(e, storage, code) {
+      if (storage.length <= 0) {
+        this.locationIndex = null;
+        return;
+      }
+      this.locationIndex = e.target.label;
+      this.modalList.locationNo = storage[this.locationIndex].label;
+      this.modalList.locationId = storage[this.locationIndex].label;
     },
-    // 鎵爜鍚庢暟鎹洖鏄�
-    scanHandle(val) {
-      let { moNo, partNo, partName } = val;
-      this.modalList.moNo = moNo;
-      this.modalList.partNo = partNo;
-      this.modalList.partName = partName;
-
-      this.showModal = true;
+    //鏌ヨ搴撲綅
+    getHandymanItem(obj) {
+      this.locationNoList = [];
+      this.$u.api.WorkshopOrderCancellationIssued.cancelDTAOfWorkApplicationPDA(
+        {
+          workstationId: this.registerInfo.workstationId,
+        }
+      ).then((res) => {
+        this.locationNoList = [];
+        this.locationIndex = null;
+        this.modalList.locationNo = "";
+        if (res.code === 0 && res.data.length > 0) {
+          res.data.forEach((item) => {
+            const obj = Object.assign({
+              label: item.locName,
+              value: item.id,
+            });
+            this.locationNoList.push(obj);
+          });
+        }
+        this.getReturnInfo(obj);
+      });
     },
-    // 鐐瑰嚮纭鍚庤幏鍙栦笅鍙戣褰�
+    //鏈哄彴
+    machineChange(e, storage, code) {
+      this.hasScanSnList = [];
+      if (storage.length <= 0) {
+        this.machineIndex = null;
+        return;
+      }
+      this.machineIndex = e.target.value;
+      this.registerInfo.workstationId = storage[this.machineIndex].value;
+    },
+    // 鐐瑰嚮纭鍚庤幏鍙栨秷涓嬪彂璁板綍
     confirm() {
+      if (!this.modalList.outBatchNo) {
+        this.$u.toast("璇疯緭鍏ユ壒鍙�");
+        this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵��
+        return;
+      }
+      if (!this.modalList.locationNo) {
+        this.$u.toast("璇疯緭鍏ュ簱浣�");
+        this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵��
+        return;
+      }
+      if (!this.modalList.returnQuantity) {
+        this.$u.toast("璇疯緭鍏ュ彇娑堜笅鍙戞暟閲�");
+        this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵��
+        return;
+      }
       // 澶勭悊纭閫昏緫
-      this.$u.api.workReporting._(this.modalList).then((res) => {
+      this.$u.api.WorkshopOrderCancellationIssued.feeding([
+        this.modalList,
+      ]).then((res) => {
         console.log("res", res);
-        this.showModal = false;
-
-        this.getHandelList();
+        if (res.code === 0) {
+          this.$u.toast("鎻愪氦鎴愬姛");
+          this.showModal = false;
+          const obj = {
+            suppliedQuantity: this.modalList.suppliedQuantity,
+            outBatchNo: this.modalList.returnQuantity,
+          };
+          this.hasScanSnList.push(obj);
+        }
       });
     },
     // 妯℃�佹鍙栨秷
     cancel() {
       this.showModal = false; // 鍏抽棴寮圭獥
     },
+    // 宸ュ崟鍥炴樉
+    workNo(val) {
+      this.machineList = [];
+      this.machineIndex = null;
+      this.registerInfo.workstationId = "";
+      this.$u.api.WorkshopOrderIssued.selWorkStation(val).then((res) => {
+        console.log("111", res);
+        if (res.code === 0 && res.data.length > 0) {
+          res.data.forEach((i) => {
+            const obj = Object.assign({
+              label: i.name,
+              value: i.id,
+            });
+            this.machineList.push(obj);
+          });
+        }
+      });
+      this.registerInfo.optaskNo = val.optaskNo;
+      this.registerInfo.operationTaskId = val.id;
+      this.hasScanSnList = [];
+    },
+    // 璁㈠崟鍙峰洖鏄�
     setNo(val) {
       console.log("11111", val);
-      this.registerInfo.moNo = val.moNo;
+      (this.registerInfo = {
+        operationTaskId: "",
+        id: val.id,
+        moNo: val.moNo,
+        optaskNo: "",
+        workstationId: "",
+      }),
+        (this.machineList = []);
+      this.machineIndex = null;
+      this.hasScanSnList = [];
     },
     //璁㈠崟鍙�
-    seachPersonnelNo() {
+    searchPersonnelNo() {
       console.log("杞﹂棿璁㈠崟鍙�");
       uni.navigateTo({
         url: "/pages/product/report/orderList",
       });
     },
+    //宸ュ崟
+    searchWork() {
+      if (this.registerInfo.moNo == "") {
+        this.$u.toast("璇烽�夋嫨璁㈠崟鍙�");
+        return;
+      }
+      console.log("瀛愪欢");
+      // 浣跨敤uni.navigateTo鏂规硶璺宠浆锛屽苟閫氳繃queryParams浼犻�掑弬鏁�
+      uni.navigateTo({
+        url:
+          "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" +
+          encodeURIComponent(JSON.stringify(this.registerInfo.id)),
+      });
+    },
+    // 鎵爜鍚庢暟鎹洖鏄�
+    scanHandle(val) {
+      const { outBatchNo } = val;
+      const { workstationId, operationTaskId } = this.registerInfo;
+      const obj = {
+        outBatchNo: outBatchNo,
+        feedingWorkstationId: workstationId,
+        operationTaskId: operationTaskId,
+      };
+      this.$u.api.WorkshopOrderCancellationIssued.checkReturnPartPDA(obj).then(
+        (res) => {
+          console.log("res", res);
+          if (res.code === 0) {
+            this.getHandymanItem(obj);
+          }
+        }
+      );
+    },
+    //   鑾峰彇鍩烘湰淇℃伅
+    getReturnInfo(obj) {
+      this.$u.api.WorkshopOrderCancellationIssued.getReturnInfo(obj).then(
+        (res) => {
+          console.log("res1", res);
+          if (res.code === 0) {
+            this.locationIndex = res.data.locationNo;
+            res.data.outBatchNo = res.data.ifsBatchNo;
+            console.log("1", res.data);
+            this.modalList = res.data;
+            this.showModal = true;
+          }
+        }
+      );
+    },
   },
 };
 </script>
 <style lang="scss" scoped>
+.popup-content {
+  width: 600rpx;
+  height: 350rpx;
+  background-color: #fff;
+  border-radius: 8px;
+  z-index: 10;
+  /* 纭繚鍐呭鍦ㄨ挋鐗堜箣涓� */
+}
+
 .packing-registration-bg {
   background-color: #f6f9ff;
   background-image: url("~@/static/custom/packing/backBg.png");
@@ -284,7 +482,7 @@
   }
 
   .packing-registration-param-view {
-    height: 180rpx;
+    height: 450rpx;
     background-color: #fff;
     border-radius: 10rpx;
     padding: 0rpx 23rpx;
@@ -311,7 +509,7 @@
 
         .item-one {
           font-size: 30rpx;
-          color: #333333;
+          color: #060505;
           margin-right: 6rpx;
         }
 
@@ -336,7 +534,7 @@
 }
 
 .wrap .packing-registration-scroll-list {
-  height: calc(100vh - var(--window-top) - var(--window-bottom) - 400rpx);
+  height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx);
   width: 100%;
 }
 

--
Gitblit v1.9.3