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

---
 pages/wareHouse/moveWareHouse/index.vue |  525 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 525 insertions(+), 0 deletions(-)

diff --git a/pages/wareHouse/moveWareHouse/index.vue b/pages/wareHouse/moveWareHouse/index.vue
new file mode 100644
index 0000000..e1d9638
--- /dev/null
+++ b/pages/wareHouse/moveWareHouse/index.vue
@@ -0,0 +1,525 @@
+<template>
+	<view class="page">
+		<view class="movewarehouse-index-bg"/>
+		<u-navbar title="绉诲簱" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" back-icon-color="#000"/>
+		<view class="movewarehouse-index-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">
+			</u-search>-->
+			<view class="movewarehouse-index-search-view">
+				<view class="movewarehouse-index-search-view-item">
+			      <text class="item-one">鑷冲簱浣嶅彿</text>
+				  <text class="item-one-content">{{tolocationNo}}</text>
+			    </view>
+				<view class="movewarehouse-index-search-view-item" @click="seachLocationNo()">
+				   <text class="item-two">璇烽�夋嫨</text>
+			       <u-icon name="arrow-right" color="#2979ff" size="28"></u-icon>
+				</view>
+			</view>
+		</view>
+		 <view class="wrap">
+			<scroll-view class="movewarehouse-index-scroll-list" scroll-y="true">
+				<u-cell-group class="movewarehouse-index-scroll-list-group" :border="false">
+					<view class="content" v-for="(item, index) in list" :key="item.id" :index="index">
+						<view class="content-header">
+							<view class="header-item">
+								<view class="content-header-icon-one"></view>
+								<view class="content-header-title">{{ item.partNo }}</view>
+							</view>
+							<view class="header-item">
+								<view class="content-header-icon-two"></view>
+								<view class="content-header-title">{{ item.partBatchNo }}</view>
+							</view>
+							<view class="header-item-toolbar" @click="deleteHandle(item)">
+								<view class="header-item-toolbar-del-icon">
+									
+								</view>
+								<view class="header-item-toolbar-del-text">
+									鍒犻櫎
+								</view>
+							</view>
+						</view>
+						<!--<view class="row-img" @click="deleteHandle(item)">
+							<u-image width="18px" height="18px" src="@/static/custom/delete.png"></u-image>
+						</view>-->
+						<view class="content-body">
+							<view class="row-list">
+								<view class="_label">
+									闆朵欢鍚嶇О锛�
+								</view>
+								<view class="_content">
+									{{ item.partName }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									浠庡簱浣嶅彿锛�
+								</view>
+								<view class="_content">
+									{{ item.locationNo }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									鑷冲簱浣嶅彿锛�
+								</view>
+								<view class="_content">
+									{{ item.arriveLocationNo }}
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									鍙敤搴撳瓨锛�
+								</view>
+								<view class="_content">
+									<text class="_content-text">{{ item.availableStockQuantity }}</text>
+									 ({{ item.unit }})
+								</view>
+							</view>
+							<view class="row-list">
+								<view class="_label">
+									绉诲簱搴撳瓨锛�
+								</view>
+								<view class="_content _input">
+									<u-input placeholder="璇疯緭鍏ョЩ搴撴暟閲�" v-model="item.moveQty" type="digit"></u-input>
+									<view class="edit_icon"></view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</u-cell-group>
+			</scroll-view>
+			<scan></scan>
+			<view class="new-form-footer" v-if="list.length>0">
+				<u-button class="btn" type="primary" @click="submit">鎻愪氦</u-button>
+			</view>
+		</view>
+    </view>
+</template>
+<script>
+	import scan from "@/components/scan/scan.vue";
+    import content_bg from '@/static/custom/moveWareHouse/locNoBg.png'
+	export default {
+		components: {
+			scan
+		},
+		data() {
+			return {
+				background:{
+					backgroundImage: `url(${content_bg})`,
+					backgroundAttachment: 'fixed',
+					backgroundSize: '100% auto',
+					backgroundRepeat: 'no-repeat',
+				},
+				list: [],
+				tolocationNo: "",
+				keywords:''
+			};
+		},
+		onLoad() {
+			// this.loadList("221206000739N");
+			// let data = '{"part_no":"88.118.1/A0047954","lot_batch_no":"221112000082N","qty_arrived":0.5,"wdr":"221112000082N"}'
+			// let data = '221206000739N'
+			// let sn = ''
+			// if (data.indexOf('{') >= 0) {
+			// 	//澶ф爣绛句簩浣嶇爜
+			// 	sn = JSON.parse(data).lot_batch_no
+			// } else {
+			// 	//灏忔爣绛炬潯鐮�
+			// 	sn = data
+			// }
+			// console.log(sn);
+		},
+		onShow() {
+
+			let that = this
+
+			uni.$off('scan') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+			uni.$on('scan', function(data) {
+				console.log('onscan');
+				//鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
+				console.log('鎵爜缁撴灉锛�', data.code);
+
+				if (data.code != "" && (that.tolocationNo == "")) {
+					uni.showToast({
+						title: '璇烽�夋嫨鑷冲簱浣嶅彿',
+						icon: 'none'
+					})
+					return
+				}
+				
+				let sn = ''
+				if (data.code.indexOf('{') >= 0) {
+					//澶ф爣绛句簩浣嶇爜
+					let snNoIndex=data.code.indexOf('sn_no')
+					if(snNoIndex>-1){
+						sn = JSON.parse(data.code).sn_no
+					}else{
+						sn = JSON.parse(data.code).lot_batch_no
+					}
+				} else {
+					//灏忔爣绛炬潯鐮�
+					sn = data.code
+				}
+
+				//鍒ゆ柇鏁扮粍涓槸鍚﹀瓨鍦�  SN 鏄惁宸茬粡瀛樺湪
+				let initList = that.list.filter(item => item
+					.partBatchNo == sn)
+				if (initList.length > 0) {
+					uni.showToast({
+						title: "SN:" + sn + ",宸插瓨鍦�,璇烽�夋嫨鍙︿竴涓猄N鍙�",
+						icon: "none"
+					});
+					return
+				}
+
+				that.loadList(sn);
+			})
+		},
+		onNavigationBarButtonTap(e) {
+			uni.scanCode({
+				success: res => {
+					try {
+						const result = JSON.parse(res.result)
+
+					} catch (e) {}
+				}
+			});
+		},
+		methods: {
+			//鑷冲簱浣�
+			seachLocationNo() {
+				uni.navigateTo({
+					url: '/pages/wareHouse/moveWareHouse/locNoList'
+				})
+			},
+			loadList(sanCode) {
+				uni.showLoading({
+					mask: true,
+					title: "鍔犺浇涓�",
+				});
+				let that = this
+
+				if (sanCode != "") {
+					let data = {
+						sn: sanCode
+					}
+
+					//鍒ゆ柇鏁扮粍涓槸鍚﹀瓨鍦� 鑷冲簱浣嶅彿 SN 
+					let initList = that.list.filter(item => item.arriveLocationNo == that.tolocationNo).filter(item => item
+						.partBatchNo == sanCode)
+					if (initList.length > 0) {
+						uni.showToast({
+							title: "搴撲綅鍙�:" + that.tolocationNo + ",SN:" + sanCode + ",宸茬粡鎵繃鐮�",
+							icon: "none"
+						});
+						return
+					}
+
+					// 鏌ヨ绉诲簱淇℃伅
+					that.$u.api.pigxWareHouse.list(data).then(res => {
+						let reList = []
+						reList = res.data
+
+						if (reList.length == 0) {
+							uni.showToast({
+								title: "搴撲綅鍙�:" + that.tolocationNo + ",SN:" + sanCode + ",鏈壂鍒扮Щ搴撲俊鎭�",
+								icon: "none"
+							});
+						} else {
+							for (let i = 0; i < reList.length; i++) {
+								if (reList[i].locationNo !== that.tolocationNo) {
+									let item = {
+										id: reList[i].id,
+										partNo: reList[i].partNo,
+										partName: reList[i].partName,
+										partBatchNo: reList[i].partBatchNo,
+										ifsBatchNo: reList[i].ifsBatchNo,
+										unit: reList[i].unit,
+										locationNo: reList[i].locationNo,
+										availableStockQuantity: reList[i].availableStockQuantity,
+										arriveLocationNo: that.tolocationNo,
+										moveQty: 0
+									}
+									that.list.push(item)
+								}
+							}
+						}
+
+						uni.hideLoading();
+					})
+				}
+			},
+			//鑷冲簱浣嶅彿璁剧疆
+			setNo(no) {
+				this.tolocationNo = no
+			},
+			deleteHandle(obj) {
+				let that = this
+				uni.showModal({
+					title: '鎻愮ず',
+					content: '姝ゆ搷浣滃皢鍒犻櫎璇ョЩ搴撲俊鎭�, 鏄惁缁х画?',
+					success: function(res) {
+						if (res.confirm) {
+							that.list.map((item, index) => {
+								if (obj.id == item.id) {
+									that.list.splice(index, 1)
+								}
+							});
+						}
+					}
+				});
+			},
+			submit() {
+				let that = this
+
+				that.list.map((item) => {
+
+
+					if (item.moveQty <= 0) {
+						uni.showToast({
+							title: '璇风Щ搴撴暟閲忓繀椤诲ぇ浜�0',
+							icon: "none"
+						});
+						return
+					}
+
+					if (item.moveQty > item.availableStockQuantity) {
+						uni.showToast({
+							title: '绉诲簱鏁伴噺涓嶈兘澶т簬鍙敤搴撳瓨鏁伴噺',
+							icon: "none"
+						});
+						return
+					}
+				});
+
+
+				let subList = []
+				that.list.map((item) => {
+
+					let sub = {
+						stockId: item.id,
+						arriveLocationNo: item.arriveLocationNo,
+						moveQty: item.moveQty
+					}
+
+					subList.push(sub)
+
+				});
+
+				that.$u.api.pigxWareHouse.addList(subList).then(res => {
+
+					if (res.code == 0) {
+						uni.showModal({
+							title: '鎻愮ず',
+							content: '鎻愪氦鎴愬姛',
+							showCancel: false,
+							success: function() {
+								that.list = []
+								that.tolocationNo = ""
+							}
+						})
+					} else {
+						uni.showModal({
+							title: '鎻愮ず',
+							content: '鎻愪氦澶辫触',
+							showCancel: false,
+							success: function() {
+
+							}
+						})
+					}
+
+				})
+
+
+			},
+		}
+	};
+</script>
+<style lang="scss" scoped>
+	.movewarehouse-index-bg{
+		background-color: #F6F9FF;
+		background-image: url('~@/static/custom/moveWareHouse/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;
+	}
+	.movewarehouse-index-search{
+		padding: 40rpx 30rpx 20rpx 30rpx;
+	}
+	.movewarehouse-index-search-view{
+		height: 66rpx;
+		border: 1px solid #ADC8E4;
+		border-radius: 8rpx;
+		background: rgba(250,252,255,0.36);
+		line-height: 66rpx;
+		padding-left:33rpx;
+		padding-right:10rpx;
+		display:flex;
+		justify-content: space-between;
+		.movewarehouse-index-search-view-item{
+			.item-one{
+				font-size: 30rpx;
+				color: #283E65;
+			}
+			.item-one-content{
+				margin-left: 10rpx;
+				color: #909399;
+				font-size: 26rpx;
+			}
+			.item-two{
+				font-size: 30rpx;
+				color: #A6B4CC;
+			}
+		}
+	}
+	.wrap .movewarehouse-index-scroll-list{
+		height:calc(100vh - var(--window-top) - var(--window-bottom) - 378rpx);
+	    width:100%;
+	}
+	.movewarehouse-index-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;
+			height: 432rpx;
+			padding: 10rpx 20rpx;
+			box-shadow:0rpx 6rpx 12rpx 2rpx rgba(127, 127, 127, 0.1) !important;
+			position:relative;
+			.content-header{
+				.header-item{
+					height: 50rpx;
+					display: flex;
+					align-items:center;
+					.content-header-icon-one{
+						background-image: url('~@/static/custom/moveWareHouse/label-icon-1.png');
+						background-size: 100% auto;
+						background-repeat: no-repeat;
+						height:28rpx;
+						width:28rpx;
+					}
+					.content-header-icon-two{
+						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;
+					}
+			    }
+				.header-item-toolbar{
+					position: absolute;
+					background-image: url('~@/static/custom/moveWareHouse/del-icon.png');
+					background-size: 100% auto;
+					background-repeat: no-repeat;
+					height:60rpx;
+					width:140rpx;
+					right:0;
+					top:0;
+					display: flex;
+					justify-content: flex-end;
+					padding-top: 10rpx;
+					padding-right: 18rpx;
+					.header-item-toolbar-del-icon{
+						background-image: url('~@/static/custom/moveWareHouse/icon_dele.png');
+						background-size: 100% auto;
+						background-repeat: no-repeat;
+						height:25rpx;
+						width:22rpx;
+						margin-top: 5rpx;
+					}
+					.header-item-toolbar-del-text{
+						margin-left:7rpx;
+						height: 23rpx;
+						font-size: 24rpx;
+						color: #FFFFFF;
+					}
+				}
+			}
+			
+			.content-body{
+				height:300rpx;
+				background: #F5F9FF;
+				border-radius: 10rpx;
+				padding: 25rpx 23rpx;
+				.row-list {
+					height: 50rpx;
+					display: flex;
+					flex-direction: row;
+					padding: 0px;
+					align-items: center;
+					justify-content: space-between;
+				}
+				.row-list ._label {
+					display: flex;
+					color: #666666;
+					font-size:26rpx;
+					align-items: center;
+					width: 170rpx;
+				}
+				
+				.row-list ._content {
+					text-align: right;
+					color: #909399;
+					font-size: 24rpx;
+					._content-text{
+						color:#214ded;
+					}
+				}
+				.row-list ._input {
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					border-bottom: 1px solid #4FA0FF;
+					height: 56rpx;
+					.edit_icon{
+						background-image: url('~@/static/custom/finishProductIn/icon_edit.png');
+						background-size: 100% auto;
+						background-repeat: no-repeat;
+						height:26rpx;
+						width:26rpx;
+					}
+					::v-deep .uni-input-input{
+						color:#D35651;
+					}
+				}
+			}
+		}
+	}
+
+    .new-form-footer{
+		display: flex;
+		margin-top: 10rpx;
+		margin-bottom: 10rpx;
+		margin-left: 20rpx;
+		margin-right: 20rpx;
+		padding-bottom: 14rpx;
+		.btn {
+		  flex: 1;
+		  margin: 10rpx;
+		  background: #214DED;
+		  box-shadow: 0rpx 6rpx 8rpx 0rpx rgba(4,49,212,0.3);
+		  font-weight: bold;
+		  color: #FEFEFE;
+		  font-family: PingFang SC;
+		}
+	}
+</style>

--
Gitblit v1.9.3