From 166b9c6d7517fbff3a400e07d47d1f33c8634c69 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期六, 05 七月 2025 15:08:47 +0800 Subject: [PATCH] # --- pages/basics/order.vue | 469 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 236 insertions(+), 233 deletions(-) diff --git a/pages/basics/order.vue b/pages/basics/order.vue index 752f385..520902c 100644 --- a/pages/basics/order.vue +++ b/pages/basics/order.vue @@ -8,74 +8,75 @@ </view> <view class="square-content"> <view class="content-input"> - <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="10" - :focus="barcodeFocus" @input="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> </view> + <view class="square-2"> <view class="square-title"> <view class="title-sign"><view class="sign"></view></view> - <view class="title-text"><text>鍗曟嵁缂栧彿</text></view> + <view class="title-text"><text>妫�绱㈠晢鍝�</text></view> </view> <view class="square-content"> <view class="content-input"> - <input v-model="order" type="text" placeholder="鎵爜 / 杈撳叆" @input="findOrder()" - :focus="focus"> - <uni-icons type="closeempty" size="20" color="#dadada" @click="removeOrder()"></uni-icons> + <input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMatInput()" + :focus="focus" placeholder-style="line-height: 85rpx;"> + <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons> </view> + <!-- <view class="content-btn"> + <button class="cu-btn bg-blue pda-btn" @click="selectMat()">+鎻愬彇</button> + </view> --> </view> </view> + <view class="square-1"> <view class="square-title"> <view class="title-sign"><view class="sign"></view></view> <view class="title-text"><text>鍟嗗搧鍒楄〃</text></view> - <view v-show="matList.length != 0" class="lable"> - <label class="label-btn" style="width: 170rpx;line-height: 95rpx;" > - <checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox> - </label> - <label class="label-btn" > - <text @click="reChecked()">鍙嶉��</text> - </label> - <label > - <uni-icons type="trash" size="25" color="#a5a5a5" @click="remove()"></uni-icons> - </label> - </view> + <!-- <label v-show="matList.length != 0" style="float: right;margin-right: 20px;margin-top: 13px;"><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove()"></uni-icons></label> --> </view> - </view> - <view class="square-none" v-show="matList.length === 0"> + + <view class="square-none" v-show="matList.length === 0"> <view class="v-show">鏆傛棤鏇村鏁版嵁...</view> </view> <checkbox-group @change="checkbox"> <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > - <label class="left-check-box"> - <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" /> - </label> <view class="data-list-left"> - <view class="matnr"><text style="width: 700rpx;">缂栫爜锛歿{item.matnr}}</text></view> - <view><text style="width: 700rpx;">鍝佸悕锛歿{item.maktx}}</text></view> - <view><text style="width: 700rpx;">鎵瑰彿锛歿{item.batch}}</text></view> + <!-- <view> + <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" /> + </view> --> + <view ><text style="width: 400rpx;">鍗曟嵁锛歿{item.orderNo}}</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.specs}}</text></view> + <!-- <view><text style="width: 400rpx;">鍨嬪彿锛歿{item.model}}</text></view> --> + <view><text style="width: 400rpx;">鎵规锛歿{item.batch}}</text></view> + <!-- <view><text style="width: 400rpx;">澶囨敞锛歿{item.memo}}</text></view> --> <view> - <text style="width: 700rpx;">鏁伴噺锛歿{item.anfme}}</text> + <text style="width: 400rpx;">涓绘暟閲忥細{{item.anfme}}</text> + </view> + <view> + <text style="width: 400rpx;">杈呮暟閲忥細{{item.anfme2}}</text> </view> </view> <view class="data-list-right"> <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label> - <!-- list涓垹闄ら敭 --> - <!-- <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> --> + <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> </view> </view> </checkbox-group> </scroll-view> + <!-- 搴曢儴鎸夐挳 --> <view class="footer flex justify-around"> - <!-- 搴曢儴鍏ㄩ�� 鍙嶉�夋寜閽� --> <!-- <label class="label-btn" style="width: 170rpx;"> <checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox> </label> @@ -91,32 +92,31 @@ </label> </view> - <view> - <!-- 淇敼鏁伴噺 --> - <uni-popup ref="revise" background-color="#fff" @change="change"> - <view class="revise-box"> - <view class="revise-box-top"> - <view class="color-block-blue"></view> - <text class="title">缁勬墭鏁伴噺</text> - </view> - <view class="text-box"> - <text>鍙粍鏁伴噺锛歿{enableQty}}</text> - </view> - <view class="changeBox flex justify-around"> - <view class="num-box"> - <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474" @change="changeValue"/> - </view> - <button class="cu-btn" @click="changeMax">max</button> - </view> - <view class="revise-box-buttom"> - <view> - <button class="cu-btn bg-blue" @click="confirm()">纭</button> - </view> - </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> - </uni-popup> - </view> + <!-- <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"> + <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"> + <view> + <button class="cu-btn bg-blue" @click="confirm()">纭</button> + </view> + </view> + </view> + </uni-popup> </view> </template> @@ -125,62 +125,77 @@ export default { data() { return { + commonUrl:null, barcode: '', barcodeFocus:true, focus:false, type: 'center', searchBox: 'hide', pick:'hide', - order:null, - orderNo:null, + matnr:'', matList:[], result: '', + enableQty:'', count:'', minCount:0, maxCount:'', rowNum:'', - enableQty:'', check:false, checkText:'鍏ㄩ��', checkedData:[], + batch:'', + timeout: null, } + }, + onShow() { + setTimeout(()=>{ + // this.focuss() + }, 100); + }, mounted(){ const UIP = uni.getStorageSync('UIP'); 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() { - var len = this.barcode.length - if (len != 8) { - uni.showToast({title: '鎵樼洏鐮佹湁璇閲嶈瘯', icon: "none", position: 'top'}); - this.barcodeFocuss() - return; - } - if (len == 8) { + // 涓嶈缃畾鏃跺櫒 浼氬嚭鐜版壂鍏ョ殑瀛楃涓蹭笉鍏� + setTimeout(()=>{ + var len = this.barcode.length + if (len != 8) { + uni.showToast({title: '鎵樼洏鐮佹湁璇閲嶈瘯', icon: "none", position: 'top'}); + this.barcodeFocuss() + return; + } this.focuss() - } + },200) }, // 鎵樼洏鐮佹湁璇噸缃� barcodeFocuss() { - // #ifdef APP let that = this; that.barcodeFocus = false; setTimeout(()=>{ that.barcode = ''; that.barcodeFocus = true; }, 100); - // #endif }, + // 鍟嗗搧鍏夋爣娓呯┖閲嶇疆 focuss() { // #ifdef APP let that = this; that.focus = false; setTimeout(()=>{ - that.matnrId = ''; + that.matnr = ''; that.focus = true; }, 100); // #endif @@ -188,7 +203,6 @@ resst() { this.matList = [] this.barcode = '' - this.order = '' this.barcodeFocuss() uni.vibrateShort(); }, @@ -200,65 +214,18 @@ this.barcodeFocus = true; }); }, - removeOrder() { - this.order = '' + removeMatnr() { + this.matnr = '' uni.vibrateShort(); this.focus = false; this.$nextTick(function() { this.focus = true; }); }, - eject(type) { - this.type = type - // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� - this.$refs.revise.open(type) - }, - initAnfme() { - - for (var i = 0; i < this.matList.length; i++) { - this.matList[i].anfme = 0 - } - uni.hideLoading(); - }, - revise(item,index) { - 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() - }, - changeMax() { - this.count = this.enableQty - }, - changeValue() { - - }, - remove() { - console.log(this.matList.filter(item=> item.checked !== true)) - this.matList = this.matList.filter(item=> item.checked !== true) - - // this.matList.splice(i,1) - - // for (var i = 0; i < this.matList.length; i++) { - // if (this.matList[i].checked == true) { - - // } - // } - this.checkList(); + // 鍒楄〃鍒犻櫎鎸夐挳 + remove(item,index) { + this.matList.splice(index,1) uni.vibrateShort(); - }, - // 鍒楄〃涓垹闄� - // remove(item,index) { - // this.matList.splice(index,1) - // uni.vibrateShort(); - // }, - confirm() { - this.matList[this.rowNum].anfme = this.count - this.$refs.revise.close() }, comb() { uni.vibrateShort(); @@ -267,25 +234,20 @@ uni.showToast({title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: "none", position: 'top'}); return; } - if (that.barcode.length !== 8) { - uni.showToast({title: '鎵樼洏鐮佸繀椤讳负8浣�', icon: "none", position: 'top'}); - return; - } if (that.matList.length === 0) { uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'}); return; } for (var i = 0; i < that.matList.length; i++) { - if (that.matList[i].anfme === 0) { - uni.showToast({title: '鍟嗗搧缁勬墭鏁伴噺涓�0涓嶈兘缁勬墭', icon: "none", position: 'top'}); + 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({ - orderNo: that.orderNo, barcode: that.barcode, combMats: that.matList }), @@ -294,18 +256,15 @@ 'token':uni.getStorageSync('token') }, success(result) { - uni.showLoading(); + uni.hideLoading(); var res = result.data if (res.code === 200) { + that.resst(); uni.showToast({ title: res.msg, position: 'bottom', duration: 1000 }); - that.barcode = '' - that.orderNo = '' - that.order = '' - that.matList = [] } else if (res.code == 403) { uni.showToast({title: res.msg, icon: "none", position: 'top'}) setTimeout(() => { @@ -319,27 +278,62 @@ } }); }, - findOrder() { + selectMat() { + let that = this + uni.vibrateShort(); + uni.navigateTo({ + url: "matSelect", + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� + acceptDataFromOpenedPage: function(data) { + that.matnr = data.data + that.findMat(that.matnr) + }, + }, + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl }) + }, + + }); + that.matnr = '' + }, + findMatInput() { + clearTimeout(this.timeout) + this.timeout = setTimeout(() => { + this.findMat() + },600) + }, + findMat() { let that = this uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/order/search/orderNo/auth', + url: that.commonUrl + '/mobile/mat/search/auth', data: { - orderNo: that.order + matnr:that.matnr }, header: { 'token':uni.getStorageSync('token') }, success(result) { - console.log(result) + uni.vibrateShort(); let res = result.data - if (res.code === 200) { - if(res.data) { - uni.showLoading(); - that.matList = res.data; - that.orderNo = that.order - that.initAnfme() - console.log(that.matList) - } + if (res.code === 200 && res.data) { + that.matData = res.data + that.matnr = '' + uni.navigateTo({ + url: "matQuery", + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� + matList: function(data) { + that.checkMat(data.data) + // that.matList.push(data.data) + }, + }, + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� + res.eventChannel.emit('matData', { data: that.matData }) + }, + }); } else if (res.code == 403) { uni.showToast({title: res.msg, icon: "none", position: 'top'}) setTimeout(() => { @@ -350,18 +344,41 @@ } else { uni.showToast({title: res.msg, icon: "none",position: 'top'}) } + } }); + + }, + + // 娣诲姞鍟嗗搧 + 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].tiaoma){ + // uni.showToast({title: "鏉$爜閲嶅鎵簡", icon: "none", position: 'top'}) + // } + // // if (mat.matnr == this.matList[i].matnr&&mat.batch == this.matList[i].batch&&mat.orderNo == this.matList[i].orderNo) { + // // this.matList[i].anfme += mat.anfme + // // this.$forceUpdate() // 寮哄埗鍒锋柊 + // // add = false + // // } + // } + if (add) { + this.matList.unshift(mat) + } }, change(e) { - // console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show); + 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.matList, values = e.detail.value; @@ -382,6 +399,32 @@ this.checkText = "鍏ㄩ��" } uni.vibrateShort(); + }, + 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.eject() + }, + eject(type) { + this.type = type + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� + this.$refs.revise.open(type) + }, + changeValue(value) { + this.count = value + }, + confirm() { + this.matList[this.rowNum].anfme = this.count + this.matList[this.rowNum].batch = this.batch + this.$refs.revise.close() + this.$forceUpdate() // 寮哄埗鍒锋柊 }, // 鍒楄〃鍙嶉�� reChecked() { @@ -410,6 +453,7 @@ }, // 鍒楄〃鍏ㄩ�� allChecked(e){ + if (this.check == true) { for (var i = 0; i < this.matList.length;i++) { this.$set(this.matList[i],'checked',false) @@ -425,14 +469,6 @@ } uni.vibrateShort(); }, - // 妫�楠屽垪琛ㄩ暱搴� 绛変簬0 鏄剧ず鍏ㄩ�� - checkList() { - if (this.matList.length == 0) { - this.check = false - this.checkText = "鍏ㄩ��" - return; - } - } } } </script> @@ -440,18 +476,26 @@ <style> /* @import "../../colorui/main.css"; @import "../../colorui/icon.css"; */ - .square-1 .lable { - display: inline-block; - float: right; - height: 100%; - width: 400rpx; + .revise-box { + position: relative; + width: 500rpx; + height: 400rpx; + border-radius: 25px; } - .square-1 .lable label { - display: inline-block; - float: left; - height: 100%; - width: 90rpx; - line-height: 100rpx; + .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; @@ -487,7 +531,7 @@ .box-buttom { display: inline-block; background-color: #ededed; - width: 96%; + width: 65%; height: 60rpx; border-radius: 20rpx; margin: 15rpx 15rpx 0rpx 15rpx; @@ -504,12 +548,24 @@ 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: 150rpx; + width: 180rpx; height: 60rpx; margin: 15rpx 15rpx 0rpx 15rpx; line-height: 60rpx; @@ -537,7 +593,7 @@ } .data-list { border-bottom: 1px solid #d8d8d8; - height: 180rpx; + height: 280rpx; margin: 15rpx; border-radius: 20rpx; } @@ -545,7 +601,7 @@ margin-top: 20rpx; } .data-list:last-child { - margin-bottom: 160rpx; + margin-bottom: 120rpx; } /* .data-list-left { display: inline-block; @@ -554,85 +610,32 @@ width: 100rpx; height: 180rpx; line-height: 180rpx; - } */ - .left-check-box { - display: inline-block; - /* background-color: #1E9FFF; */ - float: left; - height: 100%; - width: 100rpx; - text-align: center; - line-height: 170rpx; - } + } */ .data-list-left { - /* background-color: #ffff7f; */ display: inline-block; float: left; + margin-left: 6%; height: 180rpx; - width: 500rpx; color: #676767; } .matnr { padding-top: 10rpx; } .data-list-right { - /* background-color: #55ffff; */ display: inline-block; float: right; - width: 100rpx; height: 180rpx; line-height: 180rpx; } + /* display: inline-block; + float: right; + width: 200rpx; + height: 180rpx; + line-height: 180rpx; */ .data-list-right label { display: inline-block; float: left; - width: 100rpx; + 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> +</style> \ No newline at end of file -- Gitblit v1.9.1