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 | 388 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 277 insertions(+), 111 deletions(-) diff --git a/pages/basics/outPakin.vue b/pages/basics/outPakin.vue index dc26559..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> @@ -44,7 +45,7 @@ <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> @@ -63,6 +64,29 @@ <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,18 +95,24 @@ export default { data() { return { + commonUrl:null, barcode: '', barcodeFocus:true, focus:false, type: 'center', searchBox: 'hide', pick:'hide', - matnr:'', - matList:[{matnr:'1101842-10000',batch:'22047515999'}], + matnrId:'', + // matList:[{matnr:'1101842-10000',batch:'22047515999'}], + matList:[], result: '', listLen:0, msgType: 'success', messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�', + origins: [{value:'1288'},{value:'5055'}], + origin: null, // 浠撳簱 + current: 0, + isNum:false } }, mounted(){ @@ -90,65 +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: { - messageToggle(type) { - this.msgType = type - this.messageText = `杩欐槸涓�鏉�${type}娑堟伅鎻愮ず` - this.$refs.message.open() + // 鑾峰彇url + getUrl() { + this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl }, - focuss() { - // setInterval(function(){ - // uni.hideKeyboard() - // },20) - // 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.focus = false; - this.$nextTick(function() { - this.focus = true; - }); - this.matnr = '' - uni.vibrateShort(); - }, - remove(item,index) { - this.matList.splice(index,1) - this.listLen = this.matList.length - this.messageToggle('success') - this.messageText = '鍒犻櫎鎴愬姛' - 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', @@ -167,6 +176,7 @@ that.barcode = ''; that.matList = ''; that.matList = []; + that.barcodeFocuss(); } else if (res.code == 403) { uni.showToast({title: res.msg, icon: "none", position: 'top'}) setTimeout(() => { @@ -180,55 +190,217 @@ } }); }, - + 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] - uni.showLoading(); + 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) { 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]) { - that.messageToggle('warn'); - that.messageText = '閲嶅鎵弿'; - that.focus = false; - that.$nextTick(function() { - that.focus = true; - }); - 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.focus = false; - that.$nextTick(function() { - that.focus = true; - }); - // uni.hideKeyboard(); that.matList.unshift(res.data) - } - that.matnr = '' + that.foucss(); + } that.listLen = that.matList.length; - uni.hideLoading(); } else if (res.code == 403) { that.messageToggle('error') that.messageText = res.msg @@ -237,9 +409,11 @@ url: '../login/login' }); }, 1000); + uni.hideLoading(); } else { that.messageToggle('error') that.messageText = res.msg + uni.hideLoading(); // uni.showToast({title: res.msg, icon: "none",position: 'top'}) } } @@ -261,24 +435,13 @@ /* @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; @@ -375,7 +538,7 @@ } .data-list { border-bottom: 1px solid #d8d8d8; - height: 90rpx; + height: 130rpx; margin: 15rpx; border-radius: 20rpx; } @@ -397,18 +560,21 @@ display: inline-block; float: left; margin-left: 6%; - height: 100rpx; + height: 130rpx; /* line-height: 100rpx; */ color: #676767; } .matnr { - padding-top: 8rpx; + font-size: 14px; + font-weight: 700; + /* padding-top: 15rpx; */ + padding-top: 15rpx; } .data-list-right { display: inline-block; float: right; - height: 100rpx; - line-height: 100rpx; + height: 130rpx; + line-height: 130rpx; margin-right: 10%; } </style> \ No newline at end of file -- Gitblit v1.9.1