From 4aa1546dda1adf637a8d612c6dc0a535532294b4 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 17 四月 2023 12:28:56 +0800 Subject: [PATCH] # --- pages/basics/outPakin.vue | 591 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 476 insertions(+), 115 deletions(-) diff --git a/pages/basics/outPakin.vue b/pages/basics/outPakin.vue index dc26559..6ac8342 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,20 @@ </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> + <view class="square-1"> + <view class="square-title" style="display: flex;"> + <view class="title-sign"><view class="sign"></view></view> + <view class="title-text" style="width: 200rpx;"><text>鎷ユ湁鑰�</text></view> + <view style="margin: auto auto;"> + <uni-combox :candidates="ownerList" placeholder="璇烽�夋嫨鎷ユ湁鑰�" v-model="owner"></uni-combox> </view> </view> </view> @@ -40,11 +50,12 @@ <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"> - <view class="matnr">No:{{listLen-index}}</view> + <view class="matnr">No:{{listLen-index}} <text style="margin-left: 4em;font-size: 10px;">{{item.memo}}</text></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> + <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label> + <label style="margin-left: 10%;"><uni-icons type="trash" size="21" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> </view> </view> </checkbox-group> @@ -63,6 +74,50 @@ <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> + + <!-- 寮圭獥 --> + <!-- 淇敼鏁伴噺 --> + <uni-popup ref="revise" background-color="#fff"> + <view class="revise-box "> + <view class="revise-box-top"> + <view class="color-block-blue"></view> + <text class="title">淇敼</text> + </view> + <view class="" style="position: relative;left: 40px;margin-bottom: 20px;"> + <text style="display: inline-block;float: left;width: 45px;line-height: 21px;height: 21px;">缈诲寘锛�</text> + <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;float: left;" v-model="memo"> + </view> + <view class="revise-box-buttom"> + <view> + <button class="cu-btn bg-blue" @click="confirm()">纭</button> + </view> + </view> + </view> + </uni-popup> + </view> </template> @@ -71,18 +126,31 @@ 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, + memo:'', + hide:true, + ownerList: [], + ownerList2: '', + owner: '浜氬拰', + ownerId: 2 + } }, mounted(){ @@ -90,65 +158,78 @@ this.baseIP = UIP; const UPORT = uni.getStorageSync('UPORT'); this.basePORT = UPORT + const PROJ = uni.getStorageSync('UPROJ'); + this.baseUrl = PROJ + this.getUrl() + this.getOwner() + }, + onLoad() { + // #ifdef APP + setInterval(()=>{ + if (this.hide) { + uni.hideKeyboard() + } else { + + } + },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; - } - if (that.matList.length === 0) { - uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'}); - return; - } - uni.showLoading(); + getOwner() { + let that = this uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/comb/auth', + url: that.commonUrl + '/locOwner/list/auth', + header: {'token':uni.getStorageSync('token')}, + success(result) { + for (var i = 0; i < result.data.data.records.length; i++) { + if(result.data.data.records[i].id == 1){ + break + } + that.ownerList.push(result.data.data.records[i].owner) + } + that.ownerList2 = result.data.data.records + } + + }) + setTimeout(()=>{ + + },100) + }, + getOwnerId(owner) { + + for (var key in this.ownerList2) { + if (this.ownerList2[key].owner == owner) { + this.ownerId = this.ownerList2[key].id + } + } + }, + radioChange(evt) { + for (let i = 0; i < this.origins.length; i++) { + if (this.origins[i].value === evt.detail.value) { + this.current = i; + break; + } + } + }, + // 纭鍑哄簱鍙� + check() { + let that = this + if (this.current == 0) { + this.origin = 1288 + } else { + this.origin = 5055 + } + this.$refs.checkOrigin.close() + uni.request({ + url: that.commonUrl + '/mobile/comb/auth', data: JSON.stringify({ barcode: that.barcode, + origin: that.origin, + owner: 2, combMats: that.matList }), method: 'POST', @@ -167,6 +248,8 @@ that.barcode = ''; that.matList = ''; that.matList = []; + that.owner = ''; + that.barcodeFocuss(); } else if (res.code == 403) { uni.showToast({title: res.msg, icon: "none", position: 'top'}) setTimeout(() => { @@ -180,55 +263,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.owner = '' + 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; + } + that.$refs.checkOrigin.open() + this.getOwnerId(that.owner) + }, + // 杈撳叆鐨勪笉鏄暟瀛楃殑鎺掗櫎 + 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 +482,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'}) } } @@ -249,6 +496,30 @@ change(e) { console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show); + }, + revise(item,index) { + this.memo = this.matList[index].memo + // var maxCount = this.matList[index].maxCount + // if (maxCount == undefined ) { + // this.matList[index]["maxCount"] = item.enableQty + // } + // this.enableQty = item.enableQty + // this.count = this.minCount + // this.maxCount = item.maxCount + this.rowNum = index + this.eject() + }, + eject(type) { + this.hide = false + this.type = type + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� + this.$refs.revise.open(type) + }, + confirm() { + this.matList[this.rowNum].memo = this.memo + this.hide = true + this.$refs.revise.close() + this.$forceUpdate() // 寮哄埗鍒锋柊 }, } @@ -261,24 +532,109 @@ /* @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 - */ + */ + .revise-box { + position: relative; + width: 500rpx; + height: 400rpx; + border-radius: 25px; + } + .revise-box-top { + width: 400rpx; + height: 120rpx; + border-radius: 25px; + } + .changeBox { + width: 400rpx; + height: 100rpx; + } + .num-box { + margin-left: 100rpx; + } + .revise-box-buttom{ + margin-left: 190rpx; + margin-top: 200rpx; + } + .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: 65%; + 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 input { + background-color: #ededed; + border: 1rpx solid #d8d8d8; + display: inline-block; + border-radius: 20rpx; + float: left; + width: 70%; + height: 60rpx; + line-height: 60rpx; + margin: 15rpx 15rpx 0rpx 15rpx; + padding-left: 20rpx; + } */ + .pak-seach-box button { + background-color: #1E9FFF; + color: #ffffff; + display: inline-block; + float: right; + width: 180rpx; + height: 60rpx; + margin: 15rpx 15rpx 0rpx 15rpx; + line-height: 60rpx; + } + + .pop-btn { + position: absolute; + width: 100%; + bottom: 20rpx; + } .pak-seach-box { background-color: #FFFFFF; margin: 15rpx 15rpx 0rpx 15rpx; @@ -375,7 +731,7 @@ } .data-list { border-bottom: 1px solid #d8d8d8; - height: 90rpx; + height: 130rpx; margin: 15rpx; border-radius: 20rpx; } @@ -397,18 +753,23 @@ 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; - margin-right: 10%; + height: 130rpx; + line-height: 130rpx; + margin-right: 2%; + width: 20%; } + </style> \ No newline at end of file -- Gitblit v1.9.1