From 2b436e49057b75acc35a87d54de65e31b0f797b1 Mon Sep 17 00:00:00 2001 From: whycq <whycq> Date: 星期四, 07 七月 2022 16:49:11 +0800 Subject: [PATCH] # --- pages/basics/outPakin.vue | 294 +++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 187 insertions(+), 107 deletions(-) diff --git a/pages/basics/outPakin.vue b/pages/basics/outPakin.vue index 883b3b8..3d3103d 100644 --- a/pages/basics/outPakin.vue +++ b/pages/basics/outPakin.vue @@ -8,8 +8,8 @@ </view> <view class="square-content"> <view class="content-input"> - <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8" - :focus="barcodeFocus" @focus="focuss"> + <input readonly="value" v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8" + :focus="barcodeFocus" @input="nextInput"> <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons> </view> </view> @@ -21,10 +21,11 @@ </view> <view class="square-content"> <view class="content-input"> - <input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()" - :focus="focus" @focus="focuss" > + <input v-model="matnrId" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()" + :focus="focus"@focus="empty()"> + <!-- :focus="focus" @blur="clear "> --> <!-- @focus="focuss" --> - <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons> + <uni-icons type="closeempty" size="20" color="#dadada" @click="foucss()"></uni-icons> </view> </view> </view> @@ -37,14 +38,14 @@ <view class="square-none" v-show="matList.length === 0"> <view class="v-show">鏆傛棤鏇村鏁版嵁...</view> </view> - <checkbox-group @change="checkbox"> + <checkbox-group > <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > <view class="data-list-left"> - <text>No:{{listLen-index}}</text> + <view class="matnr">No:{{listLen-index}}</view> <view class="matnr">{{item.matnr}}-{{item.batch}}</view> </view> <view class="data-list-right"> - <uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons> + <uni-icons type="trash" size="20" color="#a5a5a5" @click="remove(item,index)"></uni-icons> </view> </view> </checkbox-group> @@ -56,6 +57,35 @@ <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="checkOrigin" type="center" backgroundColor="#fff"> + <view class="origin-box"> + <view class="square-title"> + <view class="title-sign"><view class="sign"></view></view> + <view class="title-text"><text>纭浠撳簱</text></view> + </view> + + <view style="width: 100%;"> + <radio-group @change="radioChange" style="display: block;"> + <label class="radio" v-for="(origin, index) in origins" :key="origins.value"> + <radio style="transform:scale(0.7)" :value="origin.value" :checked="index === current" />{{origin.value}} + </label> + </radio-group> + </view> + + <view class="pop-btn flex justify-around"> + <button class="cu-btn bg-blue lg" @click="check()">纭</button> + </view> + </view> + </uni-popup> </view> </view> </template> @@ -71,10 +101,16 @@ type: 'center', searchBox: 'hide', pick:'hide', - matnr:'', + matnrId:'', + // matList:[{matnr:'1101842-10000',batch:'22047515999'}], matList:[], result: '', - listLen:0 + listLen:0, + msgType: 'success', + messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�', + origins: [{value:'1288'},{value:'5055'}], + origin: null, // 浠撳簱 + current: 0 } }, mounted(){ @@ -83,42 +119,88 @@ const UPORT = uni.getStorageSync('UPORT'); this.basePORT = UPORT }, - methods: { - getListLength() { - this.listLen = this.matList.length - }, - focuss() { + onLoad() { + // #ifdef APP + setInterval(()=>{ uni.hideKeyboard() + },20) + // #endif + }, + methods: { + radioChange(evt) { + for (let i = 0; i < this.origins.length; i++) { + if (this.origins[i].value === evt.detail.value) { + this.current = i; + break; + } + } + }, + check() { + if (this.current == 0) { + this.origin = 1288 + } else { + this.origin = 5055 + } + this.$refs.checkOrigin.close() + }, + nextInput() { + if (this.barcode.length == 8) { + this.foucss() + } + }, + empty() { + return this.inputValue=''; + }, + barcodeFocuss() { + // #ifdef APP + let that = this; + that.barcodeFocus = false; + setTimeout(()=>{ + that.matnrId = ''; + that.barcodeFocus = true; + }, 100); + // #endif + + }, + foucss() { + // #ifdef APP + let that = this; + that.focus = false; + setTimeout(()=>{ + that.matnrId = ''; + that.focus = true; + }, 100); + // #endif + }, + clear() { + this.matnrId = '' + }, + messageToggle(type) { + this.msgType = type + this.messageText = `杩欐槸涓�鏉�${type}娑堟伅鎻愮ず` + this.$refs.message.open() }, resst() { - this.matList = [] - this.barcode = '' - this.matnr = '' - uni.vibrateShort(); + this.matnrId = ''; + this.matList = []; + this.barcode = ''; + this.barcodeFocuss(); }, removeBarcode() { this.barcode = '' - uni.vibrateShort(); this.barcodeFocus = false; this.$nextTick(function() { this.barcodeFocus = true; }); }, - removeMatnr() { - this.matnr = '' - uni.vibrateShort(); - this.focus = false; - this.$nextTick(function() { - this.focus = true; - }); - }, remove(item,index) { + this.matnrId = '' this.matList.splice(index,1) this.listLen = this.matList.length - uni.vibrateShort(); + this.messageToggle('success') + this.messageText = '鍒犻櫎鎴愬姛' }, comb() { - uni.vibrateShort(); let that = this; if (that.barcode === '') { uni.showToast({title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: "none", position: 'top'}); @@ -128,11 +210,14 @@ uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'}); return; } - uni.showLoading(); + // uni.showLoading(); + that.$refs.checkOrigin.open() + // return; uni.request({ url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/comb/auth', data: JSON.stringify({ barcode: that.barcode, + origin: that.origin, combMats: that.matList }), method: 'POST', @@ -148,6 +233,10 @@ position: 'bottom', duration: 1000 }); + that.barcode = ''; + that.matList = ''; + that.matList = []; + that.barcodeFocuss(); } else if (res.code == 403) { uni.showToast({title: res.msg, icon: "none", position: 'top'}) setTimeout(() => { @@ -161,75 +250,80 @@ } }); }, - selectMat() { - let that = this - uni.vibrateShort(); - uni.showLoading(); - uni.navigateTo({ - url: "matSelect", - events: { - // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� - acceptDataFromOpenedPage: function(data) { - that.matnr = data.data - that.findMat(that.matnr) - }, - }, - success: function(res) { - // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� - res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT }) - } - }); - that.matnr = '' + checkNum(theObj) { + var reg = /^[0-9]*$/; + if (!reg.test(theObj)) { + this.messageToggle('warn'); + this.messageText = '鍟嗗搧缂栫爜鏈夎锛岃閲嶈瘯'; + this.foucss(); + return; + } }, findMat() { let that = this - let str = that.matnr.split('-') - that.matnr = str[0]+'-'+str[1] + if (that.matnrId.length > 25){ + that.messageToggle('warn'); + that.messageText = '鍟嗗搧缂栫爜瓒呴暱锛岃閲嶈瘯'; + that.foucss(); + return; + } + let str = that.matnrId.split('-') + let matnr = str[0] + '-' + str[1] + that.checkNum(str[2]) + for (let k = 0; k < that.matList.length;k++) { + if (that.matList[k].matnr != matnr) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧绉嶇被涓嶄竴鑷达紝璇烽噸璇曪紒'; + that.foucss(); + return; + } + } + uni.showLoading(); uni.request({ url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth', data: { - matnr:that.matnr + matnr:matnr }, header: { 'token':uni.getStorageSync('token') }, success(result) { - uni.vibrateShort(); + uni.hideLoading(); + // uni.vibrateShort(); let res = result.data if (res.code === 200 && res.data) { - that.matnr = '' let add = true; - if(res.data) { - let mat = res.data; - mat['batch'] = str[2]; - mat['anfme'] = 1 - for(let i = 0;i < that.matList.length;i++) { - if(that.matList[i].batch == str[2]) { - add = false; - break; - } + let mat = res.data; + mat['batch'] = str[2]; + mat['anfme'] = 1 + for(let i = 0;i < that.matList.length;i++) { + if(that.matList[i].batch == str[2]) { + that.messageToggle('warn'); + that.messageText = '閲嶅鎵弿'; + that.foucss(); + add = false; } } if(add) { + that.messageToggle('success'); + that.messageText = '妫�绱㈡垚鍔�'; that.matList.unshift(res.data) - } - that.focus = false; - that.$nextTick(function() { - that.focus = true; - }); - uni.hideKeyboard(); - that.listLen = that.matList.length + that.foucss(); + } + that.listLen = that.matList.length; } else if (res.code == 403) { - that.messageToggle('warn') + that.messageToggle('error') that.messageText = res.msg setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); + uni.hideLoading(); } else { - that.messageToggle('warn') + that.messageToggle('error') that.messageText = res.msg + uni.hideLoading(); // uni.showToast({title: res.msg, icon: "none",position: 'top'}) } } @@ -240,44 +334,22 @@ change(e) { console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show); }, - toggle(type) { - this.type = type - // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� - this.$refs.goodsSearch.open(type) - }, - checkbox: function (e) { - var items = this.data, - values = e.detail.value; - for (var i = 0, lenI = items.length; i < lenI; ++i) { - const item = items[i] - item.id = item.id + '' - if(values.indexOf(item.id) >= 0){ - this.$set(item,'checked',true) - }else{ - this.$set(item,'checked',false) - } - } - if (values.length == items.length) { - this.check = true - this.checkText = "鍙栨秷鍏ㄩ��" - } else { - this.check = false - this.checkText = "鍏ㄩ��" - } - uni.vibrateShort(); - }, + } } </script> + + <style> /* @import "../../colorui/main.css"; @import "../../colorui/icon.css"; */ /* - 1101842-10000-22047515999 + 1101842-10000-220475159999 1101842-10000-22047518494 1101842-10000-22047518532 - 1101842-10000-22047515990 + 1101842-10000-2204751599A + 1101842-12345-22047515990 1101842-10000-22047515997 1101842-10000-22047518515 1101842-10000-22047515778 @@ -291,7 +363,11 @@ 1101842-10000-22047515864 1101842-10000-22047515889 */ - + .pop-btn { + position: absolute; + width: 100%; + bottom: 20rpx; + } .pak-seach-box { background-color: #FFFFFF; margin: 15rpx 15rpx 0rpx 15rpx; @@ -388,7 +464,7 @@ } .data-list { border-bottom: 1px solid #d8d8d8; - height: 90rpx; + height: 130rpx; margin: 15rpx; border-radius: 20rpx; } @@ -410,17 +486,21 @@ display: inline-block; float: left; margin-left: 6%; - height: 90rpx; + height: 130rpx; + /* line-height: 100rpx; */ color: #676767; } .matnr { - padding-top: 10rpx; + font-size: 14px; + font-weight: 700; + /* padding-top: 15rpx; */ + padding-top: 15rpx; } .data-list-right { display: inline-block; float: right; - height: 90rpx; - line-height: 90rpx; + height: 130rpx; + line-height: 130rpx; margin-right: 10%; } </style> \ No newline at end of file -- Gitblit v1.9.1