From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 28 五月 2025 16:48:52 +0800
Subject: [PATCH] 初始化项目

---
 pages/product/outputRegister/productInList.vue |  293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 293 insertions(+), 0 deletions(-)

diff --git a/pages/product/outputRegister/productInList.vue b/pages/product/outputRegister/productInList.vue
new file mode 100644
index 0000000..0aeab44
--- /dev/null
+++ b/pages/product/outputRegister/productInList.vue
@@ -0,0 +1,293 @@
+<template>
+	<view class="wrap">
+		<scroll-view class="scroll-list proudct-in-list" scroll-y="true">
+			<u-cell-group class="list proudct-in-list-cell" :border="false">
+				<u-card :title="item.partNo" :sub-title="item.partNo" v-for="(item, index) in list" :key="item.id"
+					:index="item.id" :showHead="showCardHead">
+					<view slot="body">
+						<view class="item u-border-bottom">
+							<view>
+								<view style="text-align: right;">
+									<u-button v-show="item.id==null" type="success" text="淇濆瓨" size="mini"
+										@click.stop="saveProductIn(item)">淇濆瓨</u-button>
+									<u-button v-show="item.id!=null" type="primary" text="鏇存柊" size="mini"
+										@click.stop="updateProductIn(item)">鏇存柊</u-button>
+									<u-button type="error" text="鍒犻櫎" size="mini" :customStyle="{marginLeft:'20rpx'}"
+										@click.stop="deleteProductIn(index,item)">鍒犻櫎</u-button>
+								</view>
+							</view>
+							<view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">鎶ュ伐鍗曞彿</span>
+										</u-col>
+										<u-col span="8">
+											<view>
+												<span>{{item.productNo}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">SN鍙�</span>
+										</u-col>
+										<u-col span="8">
+											<view>
+												<span>{{item.partBatchNo}}</span>
+
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">闆朵欢缂栧彿</span>
+										</u-col>
+										<u-col span="8">
+											<view>
+												<span>{{item.partNo}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">闆朵欢鍚嶇О</span>
+										</u-col>
+										<u-col span="8">
+											<view>
+												<span>{{item.partName}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">IFS鎵规鍙�</span>
+										</u-col>
+										<u-col span="8">
+											<view>
+												<span>{{item.ifsBatchNo}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">鎶曞叆鏁伴噺</span>
+										</u-col>
+										<u-col span="8">
+											<view>
+												<u-input class="custom-edit-input" v-model="item.inputQuantity"
+													type="text" :clearable=false height="50">
+												</u-input>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+								<view class="row-list">
+									<u-row justify="space-between">
+										<u-col span="4">
+											<span class="span-lable">鍗曚綅</span>
+										</u-col>
+										<u-col span="8">
+											<view>
+
+												<span>{{item.unit}}</span>
+											</view>
+										</u-col>
+									</u-row>
+								</view>
+							</view>
+						</view>
+					</view>
+
+				</u-card>
+			</u-cell-group>
+		</scroll-view>
+		<view class="view-fixed-two" style="width: 750rpx;text-align: center;">
+			<u-button type="success" text="鎶曞叆" size="medium" :customStyle="{borderRadius:'0rpx'}" @click="openFeed()">鎶曞叆
+			</u-button>
+		</view>
+	</view>
+</template>
+<script>
+	export default {
+		data() {
+			return {
+				showCardHead: false,
+				list: [],
+				currId: null,
+				workstationId: null,
+				productMainId: null,
+				productNo: null
+			};
+		},
+		onLoad(params) {
+			if (params && params.id !== "undefined") {
+				this.currId = params.id
+				this.workstationId = params.workstationId
+				this.productMainId = params.productMainId
+				this.productNo = params.productNo
+				this.loadList();
+			}
+		},
+		onShow() {
+
+		},
+		methods: {
+			updateProductIn(item) {
+				if (item.inputQuantity != null && item.inputQuantity.trim != '') {
+					let updateParam = {
+						id: item.id,
+						inputQuantity: item.inputQuantity
+					}
+
+					this.$u.api.outputRegister.updateProductInput(updateParam).then(res => {
+						let _code = res.code
+						let _data = res.data
+						let _msg = res.msg
+						if (_code === 0) {
+							this.$u.toast(`鏇存柊鎶曞叆鎴愬姛`);
+							this.search('')
+						} else {
+							this.$u.toast('鏇存柊鎶曞叆澶辫触');
+						}
+
+					});
+				} else {
+					this.$u.toast('鎶曞叆涓嶈兘涓虹┖');
+				}
+			},
+			deleteProductIn(index, item) {
+				if (item.id != null) {
+					// 鍒欓渶璋冪敤鍚庡彴鍒犻櫎骞跺垹闄ゅ墠绔姇鍏�
+					let delParam = {
+						id: item.id
+					}
+					this.$u.api.outputRegister.deleteProductInputById(delParam).then(res => {
+						let _code = res.code
+						let _data = res.data
+						let _msg = res.msg
+						if (_code === 0) {
+							this.list.splice(index, 1)
+							this.$u.toast('鍒犻櫎鎶曞叆鎴愬姛');
+							this.search('')
+						} else {
+							this.$u.toast('鍒犻櫎鎶曞叆澶辫触');
+						}
+					});
+				} else {
+					// 鍒犻櫎鍓嶇鎶曞叆
+					this.list.splice(index, 1)
+					this.$message.success('鍒犻櫎鎶曞叆鎴愬姛')
+				}
+			},
+			openFeed() {
+				uni.navigateTo({
+					url: '/pages/product/outputRegister/workstationFeedList?workstationId=' + this.workstationId,
+				})
+			},
+			selectWorkstationFeed(selectedFeedList) {
+				if (selectedFeedList != null && selectedFeedList.length > 0) {
+					for (let i = 0; i < selectedFeedList.length; i++) {
+						this.addProductIn(selectedFeedList[i])
+					}
+				}
+			},
+			addProductIn(inPartInfo) {
+				let productInput = {}
+				productInput.id = null
+				productInput.stockId = inPartInfo.id
+				productInput.inputQuantity = null
+				productInput.productMainId = this.productMainId
+				productInput.productNo = this.productNo
+				productInput.partNo = inPartInfo.partNo
+				productInput.partName = inPartInfo.partName
+				productInput.partDescription = null
+				productInput.unit = inPartInfo.unit
+				productInput.partBatchNo = inPartInfo.partBatchNo
+				productInput.ifsBatchNo = inPartInfo.ifsBatchNo
+				this.list.push(productInput)
+			},
+			saveProductIn(item) {
+				if (item.inputQuantity != null && item.inputQuantity.trim != '') {
+					let saveParam = {
+						stockId: item.stockId,
+						productMainId: item.productMainId,
+						inputQuantity: item.inputQuantity
+					}
+					this.$u.api.outputRegister.saveProductInput(saveParam).then(res => {
+						let _code = res.code
+						let _data = res.data
+						let _msg = res.msg
+						//淇濆瓨鏄庣粏鎴愬姛鏃�
+						if (_code === 0) {
+							this.$u.toast('娣诲姞鎶曞叆鎴愬姛');
+							item.id = _data
+							this.search('')
+						} else {
+							this.$u.toast('娣诲姞鎶曞叆澶辫触');
+						}
+					});
+				} else {
+					this.$u.toast('鎶曞叆涓嶈兘涓虹┖');
+				}
+			},
+			loadList() {
+				let queryParam = {
+					id: this.currId
+				}
+				this.$u.api.outputRegister.queryProductMainDetail(queryParam).then(res => {
+					let _code = res.code
+					let _data = res.data
+					let _msg = res.msg
+					if (_code === 0) {
+						this.list = _data.productInputList
+					} else {
+						this.list = []
+					}
+				});
+			},
+			search(value) {
+				this.list = [];
+				this.$nextTick(() => {
+					this.loadList();
+				})
+			}
+		}
+	};
+</script>
+<style lang="scss">
+	.custom-edit-input {
+		border-bottom: 2rpx solid #F8F8F8;
+	}
+
+	.list .content {
+		font-size: 12px;
+		background-color: #efefef;
+		box-sizing: border-box;
+		border-radius: 14rpx;
+		margin: 8px;
+		padding: 5px 10px;
+		box-shadow: none;
+	}
+
+	.proudct-in-list {
+		background-color: #F8F8F8;
+	}
+
+	.proudct-in-list-cell {
+		::v-deep .u-cell-item-box {
+			background-color: #F8F8F8;
+		}
+	}
+</style>

--
Gitblit v1.9.3