From 75ea1362b54946c8a8b6aa8260c2f4e5843154ab Mon Sep 17 00:00:00 2001
From: whycq <whycq>
Date: 星期一, 28 二月 2022 16:58:28 +0800
Subject: [PATCH] #

---
 pages/basics/stockCheck.vue |  281 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 213 insertions(+), 68 deletions(-)

diff --git a/pages/basics/stockCheck.vue b/pages/basics/stockCheck.vue
index fcc97bc..944db2b 100644
--- a/pages/basics/stockCheck.vue
+++ b/pages/basics/stockCheck.vue
@@ -1,38 +1,37 @@
 <template>
 	<view>
 		<view class="cu-form-group margin-top">
-			<view>
-				鍑哄簱鍙�
-			</view>
-			<view class="uni-list-cell-db">
-				<picker @change="bindPickerChange" :value="index" :range="array" range-key="name">
-					<view class="uni-input">{{array[index]}}</view>
-				</picker>
-			</view>
-			<view>
-				<button v-model="matBtn" class="cu-btn bg-yellow" @click="toggle('right')"><text>+琛ュ厖</text></button>
-			</view>
+			<view class="title">鎵樼洏鐮�</view>
+			<input v-model="billNo" placeholder="鎵爜 / 杈撳叆" name="input" @input="findCode()" focus>
+			<button v-model="matBtn" class="cu-btn bg-yellow" @click="toggle('right')"><text>+琛ュ厖</text></button>
+			
 		</view>
 		<view class="margin-top">
 			<uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁">
 				<uni-tr>
-					<uni-th width="50">鏁伴噺</uni-th>
-					<uni-th width="100">浜у搧ID</uni-th>
-					<uni-th width="100">浜у搧鍚嶇О</uni-th>
-					<uni-th width="100">搴撲綅</uni-th>
+					<uni-th align="center" width="80">鏁伴噺</uni-th>
+					<uni-th align="center" width="100">浜у搧缂栫爜</uni-th>
+					<uni-th align="center" width="100">浜у搧鍚嶇О</uni-th>
+					<uni-th align="center" width="100">浜у搧鎵瑰彿</uni-th>
+					<uni-th align="center" width="100">搴撲綅</uni-th>
+					<uni-th align="center" width="150">纭鏁伴噺</uni-th>
 				</uni-tr>
 				<uni-tr v-for="(item, index) in locDetlData" :key="index">
 					<uni-td>{{item.count}}</uni-td>
 					<uni-td>{{item.matNo}}</uni-td>
 					<uni-td>{{item.matName}}</uni-td>
+					<uni-td>{{item.itemBatch}}</uni-td>
 					<uni-td>{{item.locNo}}</uni-td>
+					<uni-td align="center">
+						<button class ="cu-btn bg-orange margin-xs" @click="conf(index,item)">淇敼</button>
+						<button class ="cu-btn bg-red margin-xs" @click="remove(index,item)">鍒犻櫎</button>
+					</uni-td>
 				</uni-tr>
 			</uni-table>
-			
 		</view>
-		<view>
-			<button class="cu-btn bg-yellow pda-btn">纭</button>
-			<button class="cu-btn bg-grey pda-btn">閲嶇疆</button>
+		<view class="flex solid-bottom padding justify-around">
+			<button class="cu-btn bg-yellow lg" @click="check">纭� 璁�</button>
+			<button class="cu-btn bg-grey lg" @click="reset">閲� 缃�</button>
 		</view>
 		<view>
 			<uni-popup ref="popup" background-color="#fff" style="width: 500rpx;">
@@ -50,7 +49,7 @@
 						</view>
 						<view class="cu-form-group margin-top">
 							<text class="title">瑙勬牸鍨嬪彿</text>
-							<input type="text" name="input" autocomplete="off" v-model="specs">
+							<input type="text" name="input" autocomplete="off" v-model="size">
 						</view>
 						<view class="cu-form-group margin-top">
 							<text class="title">鍗曚綅</text>
@@ -58,9 +57,11 @@
 						</view>
 						<view class="cu-form-group margin-top">
 							<text class="title">鏁伴噺</text>
-							<uni-number-box @change="countDom" v-model="count" />
+							<uni-number-box :min="0" :max="999" @change="countDom" v-model="count" />
 						</view>
-						<button class="cu-btn bg-yellow pda-btn2" @click="confirm">琛ュ厖</button>
+						<view class="flex solid-bottom padding justify-center">
+							<button class="cu-btn bg-yellow pda-btn2" @click="confirm">鎻愬彇</button>
+						</view>
 						
 				</view>
 			</uni-popup>
@@ -71,6 +72,22 @@
 				<uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message>
 			</uni-popup>
 		</view>
+		<view>
+			<!-- 杈撳叆妗嗙ず渚� -->
+			<uni-popup ref="inputDialog" type="dialog">
+				<uni-popup-dialog ref="inputClose" mode="input" title="浜у搧鏁伴噺" 
+					placeholder="璇疯緭鍏ョ粍鎵樻暟閲�" @confirm="dialogInputConfirm">
+						<uni-number-box :min="0" :max="999" v-model="value" />
+				</uni-popup-dialog>	
+			</uni-popup>
+		</view>
+		<!-- <view>
+			<view class="uni-padding-wrap uni-common-mt">
+				<view class="uni-btn-v">
+					<button type="default" @tap="noTitlemodalTap">鏃犳爣棰樼殑modal</button>
+				</view>
+			</view>
+		</view> -->
 	</view>
 </template>
 
@@ -78,42 +95,77 @@
 	export default {
 		data() {
 			return {
-				index: 0,
-				array: [],
+				msgType: '',
+				messageText: '',
 				matBtn:'',
 				souceData:[], // 鍒濆鍖栬〃鏍兼暟鎹褰�
 				locDetlData:[],
 				matNo:'',
 				matName:'',
-				specs:'',
+				size:'',
 				unit:'',
-				count:'0',
+				count:0,
 				type: '',
-				msgType:'',
-				messageText:'',
+				baseIP:'',
+				checkList:[],
+				sourceList:[],
+				billNo:'',
+				matData:[],
+				rowNum:'',
+				value:'0',
 			}
 		},
-		onLoad(){
-			let that = this
-			uni.request({
-				url: that.baseUrl + "/available/take/check/site",
-				header: {
-					'token':uni.getStorageSync('token')
-				},
-				method: 'POST',
-				async: false,
-				success(res){
-					if(res.data.code === 200){
-						that.array = res.data.data
-					}
-				}
-			})
+		mounted(){
+			// 鑾峰彇IP绔彛
+			const UIP = uni.getStorageSync('UIP');
+			this.baseIP = UIP
 		},
 		methods: {
-			bindPickerChange: function(e) {
-				this.index = e.detail.value
+			// 鎻愮ず绐楀彛
+			messageToggle(type) {
+				this.msgType = type
+				this.messageText = '鎻愬彇澶辫触'
+				this.$refs.message.open()
 			},
-			// 鎻愬彇
+			// 鏍规嵁鎵樼洏鐮佹煡璇�
+			findCode() {
+				let that = this
+				if (that.billNo.length === 0 || that.billNo.length !== 8) {
+					return
+				}
+				let barCode = that.billNo
+				// 璧嬪�煎墠娓呯┖琛ㄦ牸
+				that.locDetlData = []
+				uni.request({
+					url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/check/queryMatFromBarCode?barCode=" + barCode,
+					header: {
+						'content-type':'application/x-www-form-urlencoded',
+						'token':uni.getStorageSync('token')
+					},
+					data: {
+						barCode: barCode
+					},
+					method:'GET',
+					success(res) {
+						if (res.data.code === 200) {
+							that.locDetlData = res.data.data
+							if (res.data.data && res.data.data.length > 0) {
+								res.data.data.map(function(item){
+									that.souceData.push(item)
+								})
+							}
+						} else if (res.data.code === 403) {
+							uni.navigateBack({
+							    delta: 1
+							})
+						} else {
+							that.messageToggle('error')
+							that.messageText = res.data.msg
+						}
+					}
+				})
+			},
+			// 鐐瑰嚮琛ュ厖鐨勫脊绐�
 			toggle(type) {
 				this.type = type
 				// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
@@ -127,6 +179,7 @@
 			countDom(value) {
 				
 			},
+			// 鏍规嵁浜у搧ID鏌ヨ浜у搧璇︽儏
 			find(){
 				let that = this
 				let thatId = that.matNo
@@ -134,7 +187,7 @@
 					return;
 				}
 				uni.request({
-					url: that.baseUrl + "/matCode/auth",
+					url: that.baseHttp + that.baseIP + that.baseUrl + "/matCode/auth",
 					header: {
 						'content-type':'application/x-www-form-urlencoded',
 						'token':uni.getStorageSync('token')
@@ -145,21 +198,24 @@
 					method: 'POST',
 					success(res){
 						let data = res.data.data
-							
 						if(res.data.code === 200){
 							if(data != null){
 								that.matName = data.matName
-								that.specs = data.specs
+								that.size = data.size
 								that.unit = data.unit
 							}
 						} else if (res.data.code ===403 ){
-							// 寰呭畾
+							uni.navigateBack({
+							    delta: 1
+							})
 						} else {
-							// 寰呭畾
+							this.messageToggle('error')
+							this.messageText = res.data.msg
 						}
 					}
 				})
 			},
+			// 寮圭獥 纭琛ュ厖
 			confirm(){
 				let that = this
 				let data = {
@@ -170,19 +226,27 @@
 				that.addTableData(data)
 				
 			},
-			initTableData(data){
-				for(var i=0;i<data.length;i++){
-					var toPush =true
-					for(var j = 0; j<this.locDetlDate.length;j++){
-						if (data[i].matNo === this.locDetlData[j].matNo && data[i].locNo === this.locDetlData[j].locNo) {
-							toPush = false;
-						}
-					}
-					if(toPush){
-						this.locDetlDate.push(data[i])
-					}
+			// 淇敼鏁伴噺
+			conf(index,item){
+				this.$refs.inputDialog.open()
+				this.rowNum = index
+				if (item.count === undefined ) {
+					this.value = 0
 				}
 			},
+			// 淇敼鏁伴噺寮圭獥
+			dialogInputConfirm(value) {
+			    this.locDetlData[this.rowNum].count = this.value
+			    this.messageToggle('success')
+			    this.messageText = '淇敼鎴愬姛'    
+			},
+			// 绉婚櫎鐗╂枡
+			remove(index,item){
+				this.locDetlData.splice(index,1)
+				this.messageToggle('success')
+				this.messageText = '鍒犻櫎鎴愬姛'
+			},
+			// 琛ㄦ牸娓叉煋
 			addTableData(data){
 				let that = this
 				if(data.matNo.length === 0){
@@ -190,24 +254,105 @@
 					that.messageText = '鎻愬彇澶辫触'
 					return
 				}
-				this.$refs.popup.close()
 				var toPush = true
-				for (var j = 0; j < this.locDetlData.length; j++) {
-					if (data.matNo === this.locDetlData[j].matNo && data.locNo === this.locDetlData[j].locNo) {
+				for (var j = 0; j < that.locDetlData.length; j++) {
+					if (data.matNo === that.locDetlData[j].matNo && data.locNo === that.locDetlData[j].locNo) {
 						toPush = false;
 				    }
 				}
 				if (toPush) {
 					var pushData = {
-						locNo: this.locDetlData[0] ? this.locDetlData[0].locNo : null,
+						locNo: that.locDetlData[0] ? that.locDetlData[0].locNo : null,
 						matNo: data.matNo,
 						count: data.count,
 						matName: data.matName
 				    }
-				    locDetlData.push(pushData);
+				    that.locDetlData.push(pushData);
 				}
-				
+				that.$refs.popup.close()
 			},
+			// 閲嶇疆
+			reset(){
+				this.billNo = ''
+				this.locDetlData = []
+			},
+			check(){
+				let that = this
+				if(that.billNo.length === 0) {
+					that.messageToggle('error')
+					that.messageText = '璇� 鎵爜 / 杈撳叆 鎵樼洏鐮�'
+					return
+				}
+				if(that.billNo.length < 8) {
+					that.messageToggle('error')
+					that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�'
+					return
+				}
+				if(that.locDetlData.length > 0) {
+					for(var i = 0; i < that.locDetlData.length; i++){
+						if (that.locDetlData[i].count === null || that.locDetlData[i].count === 0 || 
+						that.locDetlData[i].count === undefined) {
+							that.messageToggle('error')
+							that.messageText = that.locDetlData[i].matNo + '鍟嗗搧鏁伴噺閿欒'
+							return
+						}
+					}
+				}
+				if (that.locDetlData.length > 0) {
+				    that.locDetlData.map(function (item) {
+				        that.checkList.push({
+				            locNo: item.locNo,
+				            matNo: item.matNo,
+				            checkQty: item.count,
+							itemBatch: item.itemBatch
+				        });
+				    });
+				}
+				if (that.souceData.length > 0) {
+				    that.souceData.map(function (item) {
+				        that.sourceList.push({
+				            locNo: item.locNo,
+				            matNo: item.matNo,
+				            count: item.count,
+							itemBatch: item.itemBatch
+				        });
+				    });
+				}
+				// this.noTitlemodalTap()
+				uni.request({
+					url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/stock/check",
+					header: {
+						'token':uni.getStorageSync('token')
+					},
+					data: JSON.stringify({
+						checkList: that.checkList
+					}),
+					method:'POST',
+					async:false,
+					success(res){
+						if(res.data.code === 200){
+							that.reset();
+							that.messageToggle('success')
+							that.messageText = '鐩樼偣鎴愬姛'
+						} else if (res.data.code === 403) {
+							uni.navigateBack({
+							    delta: 1
+							})
+						} else {
+							that.messageToggle('error')
+							that.messageText = res.data.msg
+						}
+					} 
+				})
+			},
+			noTitlemodalTap: function (e) {
+				uni.showModal({
+					content: "鏄惁纭鐩樼偣",
+					confirmText: "鏄�",
+					cancelText: "鍚�"
+				})
+				
+			}
 		}
 	}
 </script>

--
Gitblit v1.9.1