From 36fc4fa64ba5a7fd9f23b33c94c918d4b3ca70e3 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期三, 24 八月 2022 12:17:37 +0800 Subject: [PATCH] Merge branch 'jkwms' of http://47.97.1.152:5880/r/~whycq/wms-app into jkwms --- pages/basics/outPakin.vue | 442 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 298 insertions(+), 144 deletions(-) diff --git a/pages/basics/outPakin.vue b/pages/basics/outPakin.vue index 883b3b8..2b42673 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> @@ -57,6 +58,35 @@ <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> @@ -65,16 +95,24 @@ export default { data() { return { + commonUrl:null, barcode: '', barcodeFocus:true, focus:false, 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, + isNum:false } }, mounted(){ @@ -82,57 +120,44 @@ this.baseIP = UIP; const UPORT = uni.getStorageSync('UPORT'); this.basePORT = UPORT + const PROJ = uni.getStorageSync('UPROJ'); + this.baseUrl = PROJ + this.getUrl() + }, + onLoad() { + // #ifdef APP + setInterval(()=>{ + uni.hideKeyboard() + },20) + // #endif }, methods: { - getListLength() { - this.listLen = this.matList.length + // 鑾峰彇url + getUrl() { + this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl }, - focuss() { - uni.hideKeyboard() - }, - resst() { - this.matList = [] - this.barcode = '' - this.matnr = '' - uni.vibrateShort(); - }, - 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.matList.splice(index,1) - this.listLen = this.matList.length - uni.vibrateShort(); - }, - comb() { - uni.vibrateShort(); - let that = this; - if (that.barcode === '') { - uni.showToast({title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: "none", position: 'top'}); - return; + radioChange(evt) { + for (let i = 0; i < this.origins.length; i++) { + if (this.origins[i].value === evt.detail.value) { + this.current = i; + break; + } } - if (that.matList.length === 0) { - uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'}); - return; + }, + // 纭鍑哄簱鍙� + check() { + let that = this + if (this.current == 0) { + this.origin = 1288 + } else { + this.origin = 5055 } - uni.showLoading(); + this.$refs.checkOrigin.close() uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/comb/auth', + url: that.commonUrl + '/mobile/comb/auth', data: JSON.stringify({ barcode: that.barcode, + origin: that.origin, combMats: that.matList }), method: 'POST', @@ -148,6 +173,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 +190,230 @@ } }); }, - 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 = '' + 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.matnrId = ''; + this.matList = []; + this.barcode = ''; + this.barcodeFocuss(); + }, + removeBarcode() { + this.barcode = '' + this.barcodeFocus = false; + this.$nextTick(function() { + this.barcodeFocus = true; + }); + }, + remove(item,index) { + this.matnrId = '' + this.matList.splice(index,1) + this.listLen = this.matList.length + this.messageToggle('success') + this.messageText = '鍒犻櫎鎴愬姛' + }, + comb() { + let that = this; + if (that.barcode === '') { + uni.showToast({title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: "none", position: 'top'}); + return; + } + if (that.matList.length === 0) { + uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'}); + return; + } + // uni.showLoading(); + that.$refs.checkOrigin.open() + + }, + // 杈撳叆鐨勪笉鏄暟瀛楃殑鎺掗櫎 + checkNum(theObj) { + var reg = /^[0-9]*$/; + if (!reg.test(theObj)) { + this.isNum = false; + return ; + } + var year = theObj.substring(0,2) + //鑾峰彇褰撳墠骞翠唤 + var dt = new Date(); + var thisYear = new Date().getFullYear() + '' + thisYear = thisYear.substring(2,4) + if(year > thisYear) { + this.isNum = false; + return ; + } + this.isNum = true; + }, + // 娣诲姞鎵弿鏃ュ織 + addLog(matCode,userName) { + + let that = this; + uni.request({ + url: that.commonUrl + "/mobile/addLog/auth", + data: { + matcode:matCode, + username:userName + }, + header: { + 'token':uni.getStorageSync('token') + }, + // method:"POST", + success(result) { + var res = result.data + if(res.code === 200) { + // uni.showToast({title: "娣诲姞鎴愬姛", icon: "none",position: 'center'}) + } + } + }) + + }, + // 妫�绱㈠晢鍝� findMat() { let that = this - let str = that.matnr.split('-') - that.matnr = str[0]+'-'+str[1] + let userName = uni.getStorageSync('HCuname') + let matCode = that.matnrId + // 寮�鍚壂鎻忔棩蹇� + that.addLog(matCode,userName) + // that.foucss(); + // return; + if(that.matList.length > 15) { + that.messageToggle('warn'); + that.messageText = '缁勬墭鍟嗗搧鏁伴噺宸茶秴杩�16浠讹紝璇峰畬鎴愬綋鍓嶇粍鎵�'; + that.foucss(); + return; + } + 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]) + // 妫�鏌ュ簭鍒楃爜闀垮害 + if (str[2].length != 11) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧搴忓垪鐮侀暱搴︽湁璇紝璇烽噸璇曪紒'; + that.foucss(); + return; + } + // 妫�鏌ュ勾浠� + var dt = new Date(); + var year = (dt.getFullYear() + '').substring(2,4) + var month = (dt.getMonth()+1) < 10 ? '0'+ (dt.getMonth()+1) : (dt.getMonth()+1); + if (str[2].substring(0,2) > year) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧搴忓垪鐮佸勾浠芥湁璇紝璇烽噸璇曪紒'; + that.foucss(); + return; + } + // 妫�鏌ユ湀浠� + if (str[2].substring(2,4) > 12) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧搴忓垪鐮佹湀浠芥湁璇紝璇烽噸璇曪紒'; + that.foucss(); + return; + } + if (str) + if (that.isNum == false) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧缂栫爜鏈夎锛岃閲嶈瘯锛�'; + that.foucss(); + return; + } + for (let k = 0; k < that.matList.length;k++) { + if (that.matList[k].matnr != matnr) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧绉嶇被涓嶄竴鑷达紝璇烽噸璇曪紒'; + that.foucss(); + return; + } + } + + // return; + // uni.showLoading(); uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth', + url: that.commonUrl + '/barcode/check/auth', data: { - matnr:that.matnr + barcode:that.matnrId }, 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,58 +424,24 @@ 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-22047518494 - 1101842-10000-22047518532 - 1101842-10000-22047515990 - 1101842-10000-22047515997 - 1101842-10000-22047518515 - 1101842-10000-22047515778 - 1101842-10000-22047515938 - 1101842-10000-22047518518 - 1101842-10000-22047518517 - 1101842-10000-22047515967 - 1101842-10000-22047518472 - 1101842-10000-22047518516 - 1101842-10000-22047518511 - 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 +538,7 @@ } .data-list { border-bottom: 1px solid #d8d8d8; - height: 90rpx; + height: 130rpx; margin: 15rpx; border-radius: 20rpx; } @@ -410,17 +560,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