From 907dd146485aea96dde432901f2cbefda905ee18 Mon Sep 17 00:00:00 2001
From: whycq <123456>
Date: 星期四, 21 四月 2022 09:49:18 +0800
Subject: [PATCH] #

---
 pages/basics/offline.vue  |  460 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pages/basics/Template.vue |    8 +
 2 files changed, 468 insertions(+), 0 deletions(-)

diff --git a/pages/basics/Template.vue b/pages/basics/Template.vue
new file mode 100644
index 0000000..48d48ea
--- /dev/null
+++ b/pages/basics/Template.vue
@@ -0,0 +1,8 @@
+<template>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>
diff --git a/pages/basics/offline.vue b/pages/basics/offline.vue
new file mode 100644
index 0000000..23c8002
--- /dev/null
+++ b/pages/basics/offline.vue
@@ -0,0 +1,460 @@
+<template>
+	<view >
+		<scroll-view scroll-y catch:touchmove="touchmove">
+			<view class="pak-seach-box">
+				<view class="box-top">
+					<view class="color-block-blue"></view>
+					<text class="title">鎵樼洏鏉$爜</text>
+				</view>
+				<view class="box-buttom">
+					<input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆">
+					<view class="search-icon">
+						<uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeBarcode()"></uni-icons>
+					</view>
+				</view>
+			</view>
+			<view class="pak-seach-box">
+				<view class="box-top">
+					<view class="color-block-blue"></view>
+					<text class="title">鐗╂枡鏉$爜</text>
+				</view>
+				<view class="box-buttom">
+					<input v-model="matNo" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()">
+					<view class="search-icon">
+						<uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeMat()"></uni-icons>
+					</view>
+				</view>
+			</view>
+			<view class="pak-data-box">
+				<view class="box-top">
+					<view class="color-block-blue"></view>
+					<text class="title">鍟嗗搧鍒楄〃</text>
+				</view>
+			</view>
+			<view class="pak-data-box"  v-show="matList.length === 0">
+				<view style="text-align: center;">鏆傛棤鏇村鏁版嵁</view>
+			</view>
+			<checkbox-group>
+				<view v-for="(item,index) in matList" :key="index" class="data-list bg-false"  >
+					<view class="data-list-left">
+						<view class="matnr">{{item.barcode}}</view>
+					</view>
+					<view class="data-list-right">
+						<!-- <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label> -->
+						<label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label>
+					</view>
+				</view>
+			</checkbox-group>
+		</scroll-view>
+		<view class="footer flex justify-around">
+			<view>
+				<button class="cu-btn lg" @click="resst()">閲嶇疆</button>
+			</view>
+			<view>
+				<button class="cu-btn lg pakin-btn bg-blue" @click="comb()">缁勬墭</button>
+			</view>
+		</view>
+		<view>
+			<!-- 鎻愮ず淇℃伅寮圭獥 -->
+			<uni-popup ref="message" type="message">
+				<uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message>
+			</uni-popup>
+		</view>
+		<view>
+			<!-- 淇敼鏁伴噺 -->
+			<uni-popup ref="revise" background-color="#fff" @change="change">
+				<view class="revise-box">
+					<view class="revise-box-top">
+						<view class="color-block-blue"></view>
+						<text class="title">缁勬墭鏁伴噺</text>
+					</view>
+					<view class="text-box">
+						<text>鍙粍鏁伴噺锛歿{enableQty}}</text>
+					</view>
+					<view class="changeBox">
+						<view class="num-box">
+							<uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474"  @change="changeValue"/>
+						</view> 
+					</view>
+					<view class="revise-box-buttom">
+						<view>
+							<button class="cu-btn bg-blue" @click="confirm()">纭</button>
+						</view>
+					</view>
+					
+				</view>
+			</uni-popup>
+		</view>
+	</view>
+</template>
+
+<script>
+	import permision from "@/common/permission.js"
+	export default {
+		data() {
+			return {
+				barcode: '',
+				matList:[],
+				matNo:'',
+				mat:null,
+				type: 'center',
+				searchBox: 'hide',
+				pick:'hide',
+				result: '',
+				count:'',
+				minCount:0,
+				maxCount:'',
+				rowNum:'',
+				enableQty:'',
+				msgType: 'success',
+				messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�',
+			}
+		},
+		mounted(){
+			const UIP = uni.getStorageSync('UIP');
+			this.baseIP = UIP;
+			const UPORT = uni.getStorageSync('UPORT');
+			this.basePORT = UPORT
+		},
+		methods: {
+			messageToggle(type) {
+				this.msgType = type
+				this.messageText = `杩欐槸涓�鏉�${type}娑堟伅鎻愮ず`
+				this.$refs.message.open()
+			},
+			resst() {
+				this.matList = []
+				this.barcode = ''
+				this.matNo = ''
+				uni.vibrateShort();
+			},
+			removeBarcode() {
+				this.barcode = ''
+				uni.vibrateShort();
+			},
+			removeMat() {
+				this.matNo = ''
+				uni.vibrateShort();
+			},
+			eject(type) {
+				this.type = type
+				// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
+				this.$refs.revise.open(type)
+			},
+			initAnfme() {
+				for (var i = 0; i < this.matList.length; i++) {
+					this.matList[i].anfme = 1
+					this.matList[i].matnr = this.matList[i].barcode
+				}
+			},
+			changeValue() {
+				
+			},
+			remove(item,index) {
+				this.matList.splice(index,1)
+				uni.vibrateShort();
+			},
+			confirm() {
+				this.matList[this.rowNum].anfme = this.count
+				this.$refs.revise.close()
+			},
+			comb() {
+				uni.vibrateShort();
+				let that = this;
+				if (that.barcode === '') {
+					this.messageToggle('warn')
+					this.messageText = '璇锋壂鎻忔墭鐩樼爜'
+					return;
+				}
+				if (that.barcode.length !== 8) {
+					this.messageToggle('warn')
+					this.messageText = '鎵樼洏鐮佸繀椤讳负8浣�'
+					return;
+				}
+				if (that.matList.length === 0) {
+					uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'});
+					return;
+				}
+				for (var i = 0; i < that.matList.length; i++) {
+					if (that.matList[i].anfme === 0) {
+						uni.showToast({title: '鍟嗗搧缁勬墭鏁伴噺涓�0涓嶈兘缁勬墭', icon: "none", position: 'top'});
+						return;
+					}
+				}
+				uni.showLoading();
+				uni.request({
+				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pack/comb/auth',
+				    data: JSON.stringify({
+						barcode: that.barcode,
+						combMats: that.matList
+					}),
+					method: 'POST',
+				    header: {
+						'token':uni.getStorageSync('token')
+				    },
+					success(result) {
+						uni.showLoading();
+						var res = result.data
+						if (res.code === 200) {
+							uni.showToast({
+								title: res.msg,
+								position: 'bottom',
+								duration: 1000
+							});
+							that.barcode = ''
+							that.orderNo = ''
+							that.order = ''
+							that.matList = []
+						} else if (res.code == 403) {
+							uni.showToast({title: res.msg, icon: "none", position: 'top'})
+							setTimeout(() => {
+								uni.reLaunch({
+									url: '../login/login'
+								});
+							}, 1000);
+						} else {
+							uni.showToast({title: res.msg, icon: "none",position: 'top'})
+						}
+					}
+				});
+			},
+			findMat() {
+				let that = this
+				uni.request({
+				    url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pack/get/auth',
+				    data: {
+						barcode: that.matNo
+				    },
+				    header: {
+						'token':uni.getStorageSync('token')
+				    },
+					success(result) {
+						let res = result.data
+						if (res.code === 200) {
+							if(res.data) {
+								that.mat = res.data
+								that.addMatList(that.mat)
+								that.initAnfme()
+							} else {
+								this.messageToggle('warn')
+								this.messageText = '璇烽噸鏂版壂鐮� \ 杈撳叆'
+							}
+						} else if (res.code == 403) {
+							uni.showToast({title: res.msg, icon: "none", position: 'top'})
+							setTimeout(() => {
+								uni.reLaunch({
+									url: '../login/login'
+								});
+							}, 1000);
+						} else {
+							uni.showToast({title: res.msg, icon: "none",position: 'top'})
+						}
+					}
+				});
+			},
+			addMatList(mat) {
+				let barcode = this.mat.barcode
+				let toUnshift = true
+				for (var i = 0; i < this.matList.length; i++) {
+					if (barcode === this.matList[i].barcode) {
+						this.messageToggle('warn')
+						this.messageText = barcode + '宸茬粡鎵弿锛岃鍕块噸澶嶆壂鎻�'
+						toUnshift = false
+					}
+				}
+				if (toUnshift) {
+					this.matList.unshift(mat)
+				}
+			},
+			change(e) {
+				// console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show);
+			},
+			toggle(type) {
+				this.type = type
+				// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
+				this.$refs.goodsSearch.open(type)
+			},
+		}
+	}
+</script>
+
+<style>
+	/* @import "../../colorui/main.css";
+	@import "../../colorui/icon.css"; */
+	
+	.pak-seach-box {
+		background-color: #FFFFFF;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+		width: 96%;
+		height: 150rpx;
+		border-radius: 20rpx;
+	}
+	.box-top{
+		display: block;
+		height: 60rpx;
+		width: 720rpx;
+	}
+	.color-block-blue {
+		background-color: #1E9FFF;
+		display: inline-block;
+		float: left;
+		margin: 15rpx 15rpx 0 15rpx;
+		width: 12rpx;
+		height: 40rpx;
+		border: 5rpx solid #1E9FFF;
+		border-radius: 20rpx;
+	}
+	.title {
+		display: inline-block;
+		float: left;
+		font-size: 34rpx;
+		font-weight: 700;
+		height: 50rpx;
+		line-height: 50rpx;
+		margin-top: 10rpx;
+	}
+	.box-buttom {
+		display: inline-block;
+		background-color: #ededed;
+		width: 96%;
+		height: 60rpx;
+		border-radius: 20rpx;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+	}
+	.box-buttom input {
+		width: 75%;
+		float: left;
+		margin: 8rpx 10rpx 0rpx 25rpx;
+	}
+	.box-buttom .search-icon{
+		width: 60rpx;
+		height: 60rpx;
+		float: right;
+		margin-top: 5rpx;
+		margin-right: 10rpx;
+	}
+	.pak-seach-box button {
+		background-color: #1E9FFF;
+		color: #ffffff;
+		display: inline-block;
+		float: right;
+		width: 150rpx;
+		height: 60rpx;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+		line-height: 60rpx;
+	}
+	.pakin-btn {
+		background-color: #1E9FFF;
+	}
+	.pak-data-box {
+		background-color: #F1F1F1;
+		margin: 15rpx 15rpx 0rpx 15rpx;
+		width: 96%;
+		height: 70rpx;
+		border-radius: 20rpx;
+	}
+	.pak-data-box .box-top {
+		background-color: #FFFFFF;
+		height: 70rpx;
+		border-radius: 20rpx 20rpx 20rpx 20rpx;
+	}
+	.bg-false {
+		background-color: #FFFFFF;
+	}
+	.bg-true {
+		background-color: #ebebeb;
+	}
+	.data-list {
+		border-bottom: 1px solid #d8d8d8;
+		height: 130rpx;
+		margin: 15rpx;
+		border-radius: 20rpx;
+	}
+	.data-list:first-child {
+		margin-top: 20rpx;
+	}
+	.data-list:last-child {
+		margin-bottom: 160rpx;
+	}
+	/* .data-list-left {
+		display: inline-block;
+		float: left;
+		text-align: center;
+		width: 100rpx;
+		height: 180rpx;
+		line-height: 180rpx;
+	} */
+	.data-list-left {
+		width: 550rpx;
+		/* background-color: #007AFF; */
+		display: inline-block;
+		float: left;
+		margin-left: 4%;
+		height: 130rpx;
+		color: #676767;
+	}
+	.matnr {
+		display: inline-block;
+		width: 100%;
+		font-size: 16px;
+		font-weight: 700;
+		height: 130rpx;
+		line-height: 130rpx;
+	}
+	.data-list-right {
+		/* background-color: #6739B6; */
+		display: inline-block;
+		float: right;
+		width: 100rpx;
+		height: 130rpx;
+		line-height: 130rpx;
+	}
+	.data-list-right label {
+		display: inline-block;
+		float: left;
+		width: 100rpx;
+		height: 130rpx;
+	}
+	.revise-box {
+		width: 500rpx;
+		height: 500rpx;
+	}
+	.revise-box-top {
+		width: 100%;
+		height: 100rpx;
+		background-color: #fff;
+		padding: 10rpx;
+	}
+	.changeBox {
+		width: 100%;
+		height: 100rpx;
+		line-height: 120rpx;
+		text-align: center;
+		background-color: #FFF;
+		margin-top: 20rpx;
+		border-bottom: 1px solid #e3e3e3;
+	}
+	.text-box {
+		width: 100%;
+		height: 100rpx;
+		line-height: 120rpx;
+		text-align: center;
+		/* padding-left: 120rpx; */
+		background-color: #FFF;
+		margin-top: 20rpx;
+		border-bottom: 1px solid #e3e3e3;
+	}
+	.changeBox .num-box {
+		display:  inline-block;
+	}
+	.revise-box-buttom {
+		position: absolute;
+		width: 100%;
+		height: 100rpx;
+		line-height: 100rpx;
+		background-color: #FFFFFF;
+		bottom: 0;
+		text-align: center;
+	}
+	
+</style>

--
Gitblit v1.9.1