From 6c9cbdf482ce1330704dc635c510ec51a1115a9f Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期一, 18 三月 2024 16:52:29 +0800 Subject: [PATCH] # --- pages/basics/pakin.vue | 245 ++++++++++++++++++++++++++----------------------- 1 files changed, 130 insertions(+), 115 deletions(-) diff --git a/pages/basics/pakin.vue b/pages/basics/pakin.vue index 92d886e..4ebbb57 100644 --- a/pages/basics/pakin.vue +++ b/pages/basics/pakin.vue @@ -8,8 +8,8 @@ </view> <view class="square-content"> <view class="content-input"> - <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" placeholder-style="margin-top:10px" maxlength="10" - :focus="barcodeFocus" @confirm="barcodeInput()"> + <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" + :focus="barcodeFocus" @confirm="barcodeInput()" placeholder-style="line-height: 85rpx;"> <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons> </view> </view> @@ -22,14 +22,14 @@ <view class="title-text"><text>妫�绱㈠晢鍝�</text></view> </view> <view class="square-content"> - <view class="content-input"> + <view class="content-input-btn"> <input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()" - :focus="focus" placeholder-style="margin-top:9px"> + :focus="focus" placeholder-style="line-height: 85rpx;"> <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons> </view> - <!-- <view class="content-btn"> + <view class="content-btn"> <button class="cu-btn bg-blue pda-btn" @click="selectMat()">+鎻愬彇</button> - </view> --> + </view> </view> </view> @@ -52,15 +52,15 @@ <!-- <view> <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" /> </view> --> - <view class="matnr"><text style="width: 400rpx;">缂栫爜锛歿{item.matNo}}</text></view> - <view><text style="width: 400rpx;">鍝佸悕锛歿{item.matName}}</text></view> - <view><text style="width: 400rpx;">瑙勬牸锛歿{item.str2}}</text></view> + <view class="matnr"><text style="width: 400rpx;">缂栫爜锛歿{item.matnr}}</text></view> + <view><text style="width: 400rpx;">鍝佸悕锛歿{item.maktx}}</text></view> + <view><text style="width: 400rpx;">鍚堝悓鍙凤細{{item.batch}}</text></view> <view> - <text style="width: 400rpx;">鏁伴噺锛歿{item.count}}</text> + <text style="width: 400rpx;">鏁伴噺锛歿{item.anfme}}</text> </view> </view> <view class="data-list-right"> - <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(index)"></uni-icons></label> + <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> @@ -87,19 +87,20 @@ <!-- 寮圭獥 --> <!-- 淇敼鏁伴噺 --> - <uni-popup ref="revise" background-color="#fff"> - <view class="revise-box"> + <view class="revise-box "> <view class="revise-box-top"> <view class="color-block-blue"></view> - <text class="title">缁勬墭鏁伴噺</text> + <text class="title">淇敼鎵瑰彿/鏁伴噺</text> </view> - <view class="text-box"> - <text>纭缁勬墭鏁伴噺</text> + <view class="" style="position: relative;left: 50px;margin-bottom: 20px;"> + <text style="display: inline-block;float: left;width: 60px;">鍚堝悓鍙凤細</text> + <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="batch"> </view> <view class="changeBox"> <view class="num-box"> - <uni-number-box v-model="counts" :min="0" :max="99999" color="#747474" /> + <text style="display: inline-block;float: left;width: 60px;">鏁伴噺锛�</text> + <uni-number-box :value="count" :max="99999999" color="#747474" @change="changeValue"/> </view> </view> <view class="revise-box-buttom"> @@ -117,6 +118,7 @@ export default { data() { return { + commonUrl:null, barcode: '', barcodeFocus:true, focus:false, @@ -128,13 +130,13 @@ result: '', enableQty:'', count:'', - counts:'', minCount:0, maxCount:'', rowNum:'', check:false, checkText:'鍏ㄩ��', checkedData:[], + batch:'' } }, onShow() { @@ -148,8 +150,15 @@ this.baseIP = UIP; const UPORT = uni.getStorageSync('UPORT'); this.basePORT = UPORT + const PROJ = uni.getStorageSync('UPROJ'); + this.baseUrl = PROJ + this.getUrl() }, methods: { + // 鑾峰彇url + getUrl() { + this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl + }, // barcode input 浜嬩欢 barcodeInput() { // 涓嶈缃畾鏃跺櫒 浼氬嚭鐜版壂鍏ョ殑瀛楃涓蹭笉鍏� @@ -160,22 +169,17 @@ this.barcodeFocuss() return; } - if (len == 8) { - this.focuss() - } - },100) - + this.focuss() + },200) }, // 鎵樼洏鐮佹湁璇噸缃� barcodeFocuss() { - // #ifdef APP let that = this; that.barcodeFocus = false; setTimeout(()=>{ that.barcode = ''; that.barcodeFocus = true; }, 100); - // #endif }, // 鍟嗗搧鍏夋爣娓呯┖閲嶇疆 focuss() { @@ -210,9 +214,9 @@ this.focus = true; }); }, + // 鍒楄〃鍒犻櫎鎸夐挳 remove(item,index) { this.matList.splice(index,1) - this.checkList(); uni.vibrateShort(); }, comb() { @@ -226,9 +230,15 @@ uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'}); return; } + for (var i = 0; i < that.matList.length; i++) { + if (that.matList[i].anfme == 0 || that.matList[i].anfme == '') { + uni.showToast({title: that.matList[i].matnr + '缁勬墭鏁伴噺涓嶈兘涓�0', icon: "none", position: 'top'}); + return; + } + } uni.showLoading(); 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, combMats: that.matList @@ -274,7 +284,7 @@ }, success: function(res) { // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 - res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT }) + res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl }) }, }); @@ -283,9 +293,9 @@ findMat() { let that = this uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/matCode/auth', + url: that.commonUrl + '/mat/auth', data: { - id:that.matnr + matnr:that.matnr }, header: { 'token':uni.getStorageSync('token') @@ -301,7 +311,8 @@ events: { // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� matList: function(data) { - that.matList.push(data.data) + that.checkMat(data.data) + // that.matList.push(data.data) }, }, success: function(res) { @@ -309,6 +320,15 @@ res.eventChannel.emit('matData', { data: that.matData }) }, }); + } 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'}) } } @@ -316,6 +336,24 @@ }, + // 娣诲姞鍟嗗搧 + addMat(mat) { + this.matList.unshift(mat) + }, + checkMat(mat) { + var len = this.matList.length + var add = true + for (var i = 0; i < len; i++) { + if (mat.matnr == this.matList[i].matnr) { + this.matList[i].anfme += mat.anfme + this.$forceUpdate() // 寮哄埗鍒锋柊 + add = false + } + } + if (add) { + this.matList.unshift(mat) + } + }, change(e) { console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show); }, @@ -325,39 +363,51 @@ this.$refs.goodsSearch.open(type) }, checkbox: function (e) { - // var items = this.matList, - // 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(); + var items = this.matList, + 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(); }, - revise(index) { + revise(item,index) { + this.count = this.matList[index].anfme + // 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.$refs.revise.open() - + this.eject() }, - changeCount(e) { - + eject(type) { + this.type = type + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� + this.$refs.revise.open(type) }, - // 纭缁勬墭鏁伴噺 + changeValue(value) { + this.count = value + }, confirm() { - this.matList[this.rowNum].count = this.counts - this.$forceUpdate() // 寮哄埗鍒锋柊 + this.matList[this.rowNum].anfme = this.count + this.matList[this.rowNum].batch = this.batch this.$refs.revise.close() + this.$forceUpdate() // 寮哄埗鍒锋柊 }, // 鍒楄〃鍙嶉�� reChecked() { @@ -402,14 +452,6 @@ } uni.vibrateShort(); }, - // 妫�楠屽垪琛ㄩ暱搴� 绛変簬0 鏄剧ず鍏ㄩ�� - checkList() { - if (this.matList.length == 0) { - this.check = false - this.checkText = "鍏ㄩ��" - return; - } - } } } </script> @@ -417,7 +459,27 @@ <style> /* @import "../../colorui/main.css"; @import "../../colorui/icon.css"; */ - + .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; + } .pak-seach-box { background-color: #FFFFFF; margin: 15rpx 15rpx 0rpx 15rpx; @@ -517,13 +579,12 @@ height: 180rpx; margin: 15rpx; border-radius: 20rpx; - font-size: 12px; } .data-list:first-child { margin-top: 20rpx; } .data-list:last-child { - margin-bottom: 170rpx; + margin-bottom: 120rpx; } /* .data-list-left { display: inline-block; @@ -560,50 +621,4 @@ width: 80rpx; height: 180rpx; } - .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; - /* float: left; */ - } - .changeBox button { - float: left; - } - .revise-box-buttom { - position: absolute; - width: 100%; - height: 100rpx; - line-height: 100rpx; - background-color: #FFFFFF; - bottom: 0; - text-align: center; - } - </style> \ No newline at end of file -- Gitblit v1.9.1