From b4416d1e1c0c292875820a3a510a1bc3488cb1f7 Mon Sep 17 00:00:00 2001 From: whycq <123456> Date: 星期四, 10 十一月 2022 12:37:41 +0800 Subject: [PATCH] # --- pages/basics/checkout.vue | 378 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 252 insertions(+), 126 deletions(-) diff --git a/pages/basics/checkout.vue b/pages/basics/checkout.vue index 26730c1..27f32b9 100644 --- a/pages/basics/checkout.vue +++ b/pages/basics/checkout.vue @@ -1,50 +1,52 @@ <template> <view > - <scroll-view scroll-y catch:touchmove="touchmove"> - <view class="pak-seach-box"> - <view class="box-top"> - <view class="color-block-blue"></view> - <text class="title">鎵樼洏鏉$爜</text> + <scroll-view scroll-y class="scroll-Y"> + <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> - <view class="box-buttom"> - <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8" @input="findBarcode()"> - <view class="search-icon"> - <uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeBarcode()"></uni-icons> + <view class="square-content"> + <view class="content-input"> + <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8" + @input="findBarcode()" :focus="barcodeFocus" @focus="focuss" > + <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons> </view> </view> </view> - <view class="pak-seach-box"> - <view class="box-top"> - <view class="color-block-blue"></view> - <text class="title">璐у搧鏉$爜</text> + <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> - <view class="box-buttom"> - <input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()"> - <view class="search-icon"> - <uni-icons type="closeempty" size="20" color="#a5a5a5" @click="removeMatnr()"></uni-icons> + <view class="square-content"> + <view class="content-input-combox" style="width: 94%;"> + <input style="width: 90%;" type="text" v-model="matnr" placeholder="鎵爜 / 杈撳叆" @input="findMat()":focus="focus" + @focus="focuss"> + <!-- @focus="focuss" --> + <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons> </view> </view> - <button class="cu-btn bg-blue" @click="selectMat()">+鎻愬彇</button> </view> - <view class="pak-data-box"> - <view class="box-top"> - <view class="color-block-blue"></view> - <text class="title">鍟嗗搧鍒楄〃</text> + + <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="matCount > 0" style="display: inline-block;float: right;height: 100rpx;line-height: 100rpx;margin-right: 50rpx;">璇锋壂鐮侀�夊彇 {{matCount}} 浠跺晢鍝�</view> </view> </view> - <view class="pak-data-box" v-show="matList.length === 0"> - <view style="text-align: center;">鏆傛棤鏇村鏁版嵁</view> + <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" > <view class="data-list-left"> - <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.anfme}}</text></view> + <view class="matnr" :style="item.color">No:{{listLen-index}}</view> + <view class="matnr" :style="item.color">{{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 +59,12 @@ <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> </template> @@ -65,84 +73,98 @@ export default { data() { return { + commonUrl:null, barcode: '', + barcodeFocus:true, + focus:false, type: 'center', searchBox: 'hide', pick:'hide', matnr:'', + // matList:[{matnr:'1101842-10000',batch:'22047515999',color:{color:'red'}}], matList:[], - result: '' + result: '', + siteList:[], + staNoList:[], + satNo:'', + listLen:0, + msgType: 'success', + messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�', + fontColor:{color:'red'}, + matCount:'', + wrkNo:'', } + }, + onReady() { + setInterval(function(){ + // console.log(this.matList) + // this.getMatListLen() + },1000) }, 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 + }, + huanghang() { + this.matnr = '' + this.focus = false; + this.$nextTick(function() { + this.focus = true; + }); + + }, + messageToggle(type) { + this.msgType = type + this.messageText = `杩欐槸涓�鏉�${type}娑堟伅鎻愮ず` + this.$refs.message.open() + }, + getMatListLen() { + // this.listLen = this.matList.length; + }, + focuss() { + // uni.hideKeyboard() + }, resst() { this.matList = [] this.barcode = '' this.matnr = '' + this.matCount = '' uni.vibrateShort(); }, removeBarcode() { this.barcode = '' - uni.vibrateShort(); + uni.vibrateShort(); + this.barcodeFocus = false; + this.$nextTick(function() { + this.barcodeFocus = true; + }); }, removeMatnr() { this.matnr = '' uni.vibrateShort(); - }, - remove(item,index) { - this.matList.splice(index,1) - 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(); - uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/comb/auth', - data: JSON.stringify({ - barcode: that.barcode, - combMats: that.matList - }), - method: 'POST', - header: { - 'token':uni.getStorageSync('token') - }, - success(result) { - uni.showLoading(); - var res = result.data - if (res.code === 200) { - uni.showToast({ - title: res.msg, - position: 'bottom', - duration: 1000 - }); - } 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'}) - } - } + this.focus = false; + this.$nextTick(function() { + this.focus = true; }); }, + remove(item,index) { + this.matList.splice(index,1); + this.listLen = this.matList.length + this.messageToggle('success') + this.messageText = '鍒犻櫎鎴愬姛' + uni.vibrateShort(); + }, + selectMat() { let that = this uni.vibrateShort(); @@ -163,51 +185,90 @@ }); that.matnr = '' }, + findBarcode() { + let that = this + uni.request({ + url: that.commonUrl + '/mobile/pakout/confirm/barcode/auth', + data: { + barcode:that.barcode + }, + header: { + 'token':uni.getStorageSync('token'), + }, + success(result) { + console.log(result) + let res = result.data; + if (res.code === 200) { + if (res.data.ioType === 101) { + that.matList = res.data.list.concat(that.matList) + that.listLen = that.matList.length; + return; + } + if (res.data.ioType === 103) { + that.matCount = res.data.list.length + that.wrkNo = res.data.list[0].wrkNo + return; + } + // if (res.data) { + // that.matCount = res.data.length + // } + } 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'}) + } + + } + }); + + }, findMat() { let that = this uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth', + url: that.commonUrl + '/mobile/pakout/confirm/pick/auth', data: { + wrkNo:that.wrkNo, matnr:that.matnr }, header: { 'token':uni.getStorageSync('token') }, success(result) { - console.log(result) - - } - }); - }, - findBarcode() { - let that = this - uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/pakout/query/auth', - data: { - barcode:that.barcode - }, - header: { - 'token':uni.getStorageSync('token') - }, - success(result) { - console.log(result) - - } - }); - - }, - getOutBound() { // 鑾峰彇鍑哄簱鍙� - let that = this - uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/available/take/check/site', - method: 'POST', - header: { - 'token':uni.getStorageSync('token') - }, - success(result) { - var res = result.data - if (res.code === 200) { - that.staNoList = res.data + var res = result.data; + if(res.code === 200 ) { + if(res.data) { + if (that.matList.length == 0) { + that.matList.push(res.data) + that.listLen = that.matList.length; + that.huanghang(); + return; + } + for(let i = 0;i<that.matList.length;i++) { + if (that.matList.length < that.matCount){ + if(JSON.stringify(that.matList[i]) === JSON.stringify(res.data)) { + that.messageToggle('warn'); + that.messageText = '璇ュ晢鍝佸凡娣诲姞'; + that.huanghang(); + return; + } else { + that.matList.unshift(res.data); + that.listLen = that.matList.length; + that.huanghang(); + return; + } + } else { + that.messageToggle('warn'); + that.messageText = '宸插嚭鍏ㄩ儴鍟嗗搧锛岃纭鍑哄簱'; + that.huanghang(); + return; + } + } + } } else if (res.code == 403) { uni.showToast({title: res.msg, icon: "none", position: 'top'}) setTimeout(() => { @@ -218,11 +279,66 @@ } else { uni.showToast({title: res.msg, icon: "none",position: 'top'}) } - }, + + } }); - }, // getOutBound + }, + comb() { + let that = this; + if (that.barcode === '') { + this.messageToggle('error') + this.messageText = '璇锋壂鎻忔墭鐩樼爜' + return; + } + if (that.barcode.length !== 8) { + this.messageToggle('error') + this.messageText = '鎵樼洏鐮佸繀椤讳负8浣�' + return; + } + if (that.matList.length === 0) { + this.messageToggle('error') + this.messageText = '璇锋坊鍔犲晢鍝佸垪琛�' + return; + } + + if (that.matList.length < that.matCount) { + var len = that.matCount - that.matList.length + that.messageToggle('error') + that.messageText = '杩樺墿' + len + '浠舵湭鎵弿' + return; + } + uni.showLoading(); + uni.request({ + url: that.commonUrl + '/mobile/pakout/confirm/auth', + data: that.matList, + method: 'POST', + header: { + 'token':uni.getStorageSync('token') + }, + success(result) { + uni.showLoading(); + var res = result.data + if (res.code === 200) { + uni.showToast({ title: res.msg,position: 'bottom',duration: 1000}); + that.resst(); + } 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'}) + } + } + }); + }, + getCheckDetl() { // 鑾峰彇鍑哄簱鍙h揣鐗╀俊鎭� + let that = this + + }, // getCheckDetl change(e) { - console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show); }, toggle(type) { this.type = type @@ -257,7 +373,7 @@ <style> /* @import "../../colorui/main.css"; @import "../../colorui/icon.css"; */ - + .pak-seach-box { background-color: #FFFFFF; margin: 15rpx 15rpx 0rpx 15rpx; @@ -291,7 +407,7 @@ } .box-buttom { display: inline-block; - background-color: #ededed; + background-color: #f0f0f0; width: 65%; height: 60rpx; border-radius: 20rpx; @@ -309,6 +425,7 @@ margin-top: 5rpx; margin-right: 10rpx; } + /* .pak-seach-box input { background-color: #ededed; border: 1rpx solid #d8d8d8; @@ -354,7 +471,7 @@ } .data-list { border-bottom: 1px solid #d8d8d8; - height: 180rpx; + height: 130rpx; margin: 15rpx; border-radius: 20rpx; } @@ -362,7 +479,7 @@ margin-top: 20rpx; } .data-list:last-child { - margin-bottom: 120rpx; + margin-bottom: 200rpx; } /* .data-list-left { display: inline-block; @@ -373,20 +490,29 @@ line-height: 180rpx; } */ .data-list-left { + width: 550rpx; + /* background-color: #007AFF; */ display: inline-block; float: left; - margin-left: 6%; - height: 180rpx; + margin-left: 4%; + height: 130rpx; color: #676767; } .matnr { - padding-top: 10rpx; + display: inline-block; + width: 100%; + font-size: 14px; + font-weight: 700; + padding-top: 15rpx; + /* height: 130rpx; + line-height: 130rpx; */ } .data-list-right { + /* background-color: #6739B6; */ display: inline-block; float: right; - height: 180rpx; - line-height: 180rpx; - margin-right: 10%; + width: 100rpx; + height: 130rpx; + line-height: 130rpx; } </style> \ No newline at end of file -- Gitblit v1.9.1