From 009851b4daec9895cfe6bcb895dce5fed2cf59b0 Mon Sep 17 00:00:00 2001 From: whycq <whycq> Date: 星期五, 04 三月 2022 08:09:04 +0800 Subject: [PATCH] # 增加搜素功能 --- pages/basics/combPro.vue | 471 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 327 insertions(+), 144 deletions(-) diff --git a/pages/basics/combPro.vue b/pages/basics/combPro.vue index f39638e..d0de175 100644 --- a/pages/basics/combPro.vue +++ b/pages/basics/combPro.vue @@ -10,32 +10,56 @@ <input v-model="code" placeholder="鎵爜 / 杈撳叆" name="input"> </view> </form> + <view class="margin-top"> - <uni-table ref="table" border stripe emptyText="鏆傛棤鏇村鏁版嵁" rowKey=""> + <view class="cu-bar search bg-white"> + <view class="search-form round"> + <text class="cuIcon-search"></text> + <input :adjust-position="false" type="text" placeholder="浜у搧浠e彿" confirm-type="search" v-model="size" @input="searchSize()"></input> + </view> + </view> + <uni-table ref="table" border stripe emptyText="鏆傛棤鏇村鏁版嵁" type="selection" @selection-change="selectionChange"> <uni-tr> - <uni-th align="center" width="90">搴忓彿</uni-th> <uni-th align="center" width="90">鏁伴噺</uni-th> + <uni-th align="center" width="90">缁勬墭鏁伴噺</uni-th> + <uni-th align="center" width="90">浜у搧浠e彿</uni-th> + <uni-th align="center" width="90">浜у搧缂栫爜</uni-th> <uni-th align="center" width="90">浜у搧鍚嶇О</uni-th> - <uni-th align="center" width="90">浜у搧ID</uni-th> - <uni-th align="center" width="200">缁勬墭鏁伴噺</uni-th> + <uni-th align="center" width="90">搴忓彿</uni-th> + <uni-th align="center" width="90">鎵瑰彿</uni-th> + </uni-tr> <uni-tr v-for="(item, index) in matData" :key="index"> - <uni-td align="center">{{item.seqNo}}</uni-td> - <uni-td align="center">{{item.count}}</uni-td> - <uni-td align="center">{{item.matName}}</uni-td> - <uni-td align="center">{{item.matNo}}</uni-td> + <uni-td align="center">{{item.qty}}</uni-td> <uni-td align="center"> - <button class="uni-button" size="mini" type="primary" @click="confirm(index,item)">淇敼</button> - <button class="uni-button" size="mini" type="warn" @click="remove(index,item)">鍒犻櫎</button> + <button class ="cu-btn bg-orange margin-xs" @click="confirm(index,item)">{{item.count}}</button> + <!-- <button class="uni-button" size="mini" type="warn" @click="remove(index,item)">鍒犻櫎</button> --> </uni-td> + <uni-td align="center">{{item.size}}</uni-td> + <uni-td align="center">{{item.matNo}}</uni-td> + <uni-td align="center">{{item.matName}}</uni-td> + <uni-td align="center">{{item.seqNo}}</uni-td> + <uni-td align="center">{{item.itemBatch}}</uni-td> + </uni-tr> </uni-table> </view> - <view> - <button class="cu-btn bg-yellow pda-btn" @click="comb()">缁勬墭</button> - <button class="cu-btn bg-grey pda-btn" @click="reset">閲嶇疆</button> + <view class="flex solid-bottom padding justify-start"> + <button class ="cu-btn bg-red margin-xs" @click="delTable">鎵归噺鍒犻櫎</button> + <button class ="cu-btn bg-cyan margin-xs" @click="clearSel">娓呯┖閫夋嫨</button> + <button class ="cu-btn bg-olive margin-xs" @click="reSelection">鍙嶉��</button> </view> + <view style="height: 200rpx;"> + <!-- 绌虹櫧灞� --> + </view> + <view class="cu-bar foot input"> + <view class="flex solid-bottom padding justify-start"> + <button class="cu-btn bg-yellow lg margin-xs" style="width: 250rpx;" @click="comb()">缁� 鎵�</button> + <button class="cu-btn bg-grey lg margin-xs" @click="reset">閲� 缃�</button> + </view> + </view> + <view> <!-- 鎻愮ず淇℃伅寮圭獥 --> <uni-popup ref="message" type="message"> @@ -45,11 +69,16 @@ <view> <!-- 杈撳叆妗嗙ず渚� --> <uni-popup ref="inputDialog" type="dialog"> - <uni-popup-dialog ref="inputClose" mode="input" title="缁勬墭鏁伴噺" - placeholder="璇疯緭鍏ョ粍鎵樻暟閲�" @confirm="dialogInputConfirm"> + <uni-popup-dialog ref="inputClose" mode="input" title="缁勬墭鏁伴噺" @confirm="dialogInputConfirm"> <uni-number-box :min="minCount" :max="maxCount" v-model="value" /> </uni-popup-dialog> - + </uni-popup> + </view> + <view> + <!-- 鎻愮ず绐楃ず渚� --> + <uni-popup ref="alertDialog" type="dialog"> + <uni-popup-dialog :type="msgType" title="璀﹀憡" :content="message" @confirm="dialogConfirm" + @close="dialogClose"></uni-popup-dialog> </uni-popup> </view> </view> @@ -61,157 +90,311 @@ return { billNo:'', code:'', - matData:[], + matData:[], // 涓昏鏁版嵁琛� type: '', msgType: '', messageText: '', - minCount:1, + minCount:0, maxCount:1, rowNum:'', value:'', couChange:true, - + baseIP:'', + basePORT:'', + selectArr : [], + selectedIndexs:[], + size:'', + message:'123' } }, - + mounted(){ + const UIP = uni.getStorageSync('UIP'); + this.baseIP = UIP; + const UPORT = uni.getStorageSync('UPORT'); + this.basePORT = UPORT + }, methods: { - reset:function() { - this.billNo = ''; - this.code = ''; - }, - messageToggle(type) { - this.msgType = type - this.messageText = '鎻愬彇澶辫触' - this.$refs.message.open() - }, + // 澶氶�� + selectionChange(e) { + // 鑾峰彇閫変腑鐘舵�� + this.selectedIndexs = e.detail.index + this.selectedIndexs.sort(function(a,b){ + return a-b + });// 閲嶆柊鎺掑簭锛堝崌搴忥級 + }, + + // 鍏ㄩ�� + // 鎵归噺鍒犻櫎鐨勬柟娉� + toggleSelection(rows) { + if (rows) { + this.$refs["table"].toggleAllSelection(rows); + } else { + this.$refs["table"].clearSelection(); + } + }, + //鎵归噺鍒犻櫎 + delTable() { + // 瀹炵幇鍏ㄩ�夊垹闄ゅ拰澶氶�夊垹闄� + let len = this.selectedIndexs.length + for (let i = len-1; i >= 0; i--) { + this.matData.splice(this.selectedIndexs[i],1) // splice鍒犻櫎鏁扮粍浼氭敼鍙樺師鏁扮粍锛屾墍浠ラ渶瑕侀�嗗悜鍒犻櫎 + } + this.$refs["table"].clearSelection(); // 娓呯┖閫夋嫨 - // 鏍规嵁閫氱煡鍗曞彿鏌ヨ鐗╂枡璇︽儏 - find(){ - let billNo = this.billNo - let that = this - if(this.billNo.length === 0){ + }, + // 鍙嶉�� + reSelection(){ + this.toggleSelection(this.selectedIndexs) + }, + // 娓呯┖ + clearSel() { + this.toggleSelection() + }, + // 鎼滅储浜у搧浠e彿 + searchSize() { + let billNo = this.billNo + let size = this.size; + let that = this + uni.request({ + url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query/auth", + header: { + 'content-type':'application/x-www-form-urlencoded', + 'token':uni.getStorageSync('token')}, + data: { + billNo: billNo, + size:size + }, + method: 'POST', + success(res){ + if(res.data.code === 200){ + if(res.data.data != null){ + that.addTableData(res.data.data) + }else if(res.data.code === 403){ + + }else { + + } + } + } + }) + // var str = '' + // var tempData = [] + // str = val.detail.value; + // tempData = this.tableData + // for (var i = 0; i < tempData.length; i++) { + // var size = tempData[i].size + // if (str != '') { + // if (str === size) { + // tempData =[] + // tempData.push(this.matData[i]) + // break + // } + // } + // } + // this.tableData = tempData + // this.matData = tempData + }, //SA290475 SH3102081 + // 閲嶇疆 + reset:function() { + this.billNo = ''; + this.code = ''; + this.matData = []; + + this.size = ''; + this.toggleSelection() + }, + messageToggle(type) { + this.msgType = type + this.messageText = '鎻愬彇澶辫触' + this.$refs.message.open() + }, + + // 鏍规嵁閫氱煡鍗曞彿鏌ヨ鐗╂枡璇︽儏 + find(){ + let billNo = this.billNo + let size = this.size + let that = this + if(this.billNo.length === 0){ + return + } + if(billNo.indexOf('=')>-1){ + billNo = billNo.split(",")[0].split("=")[1]; + } + if(billNo.length===0){ + return + } + this.matData = [] + uni.request({ + url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/bill/query/auth", + header: { + 'content-type':'application/x-www-form-urlencoded', + 'token':uni.getStorageSync('token')}, + data: { + billNo: billNo, + size:size + }, + method: 'POST', + success(res){ + console.log(res) + if(res.data.code === 200){ + if(res.data.data != null){ + that.addTableData(res.data.data) + }else if(res.data.code === 403){ + + }else { + + } + } + } + }) + + }, + addTableData(data){ + this.matData=[]; + + for(var i=0;i<data.length;i++){ + var toPush = true; + for(var j=0;j<this.matData.length;j++){ + if(data[i].matNo ===this.matData[j].matNo ){ + this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count); + toPush = false; + } + } + if(toPush) { + this.matData.push(data[i]); + + } + } + }, + + // 淇敼鏁伴噺 + confirm(index,item){ + this.couChange=false + this.$refs.inputDialog.open() + this.maxCount = item.qty + this.rowNum = index + this.value = this.minCount + }, + // 淇敼鏁伴噺寮圭獥 + dialogInputConfirm() { + this.matData[this.rowNum].count = this.value + this.messageToggle('success') + this.messageText = '淇敼鎴愬姛' + }, + // 鍒犻櫎 + remove(index,item){ + this.matData.splice(index,1) + this.messageToggle('success') + this.messageText = '鍒犻櫎鎴愬姛' + }, + // 缁勬墭 + comb(){ + let that = this + let barcode = that.code + let billNo = this.billNo + if(billNo.length === 0){ + that.messageToggle('error') + that.messageText = '鍏ュ簱鍗曞彿涓虹┖' + return; + } + if(barcode.length === 0){ + that.messageToggle('error') + that.messageText = '璇疯緭鍏ユ墭鐩樼爜' + return; + } + if (barcode.length !== 8) { + that.messageToggle('error') + that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�' + return; + } + if(that.couChange){ + that.messageToggle('error') + that.messageText = '璇峰厛纭鍏ュ簱鏁伴噺' + return; + } + + for (var i = 0; i < that.matData.length; i++) { + console.log(that.value) + console.log(that.matData[i].qty) + var sad = that.matData[i].qty - that.value + console.log(sad) + if (sad <= 5 && sad > 0) { + this.$refs.alertDialog.open() + that.message = '浜у搧浠e彿' + that.matData[i].size + '鍓╀綑寰呯粍鎵樻暟閲忓皯浜�5锛屾槸鍚︾户缁粍鎵�' return - } - if(billNo.indexOf('=')>-1){ - billNo = billNo.split(",")[0].split("=")[1]; - console.log(billNo) - } - if(billNo.length===0){ - return - } - this.matData = [] - uni.request({ - url:that.baseUrl+ "/mobile/bill/query/auth", - header: { - 'content-type':'application/x-www-form-urlencoded', - 'token': localStorage.getItem('token')}, - data: { - billNo: billNo - }, - method: 'POST', - success(res){ - if(res.data.code === 200){ - if(res.data.data != null){ - that.addTableData(res.data.data) - }else if(res.data.code === 403){ - - }else { - + } else { + uni.request({ + url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/comb/auth", + header: {'token':uni.getStorageSync('token')}, + data:{ + barcode:barcode, + combMats:that.matData, + billNo: billNo, + }, + method:'POST', + success(res) { + + if(res.data.code === 200){ + that.reset() + that.matData = [] + that.messageToggle('success') + that.messageText = '缁勬墭鎴愬姛' } } - } - }) - - }, - addTableData(data){ - for(var i=0;i<data.length;i++){ - var toPush = true; - for(var j=0;j<this.matData.length;j++){ - if(data[i].matNo ===this.matData[j].matNo ){ - this.matData[j].count = Number(this.matData[j].count) + Number(data[i].count); - toPush = false; - } - } - if(toPush) { - this.matData.push(data[i]); - } + }) } - - }, + } - // 淇敼鏁伴噺 - confirm(index,item){ - this.couChange=false - this.$refs.inputDialog.open() - this.maxCount = item.count - this.rowNum = index - this.value = this.maxCount - }, - // 淇敼鏁伴噺寮圭獥 - dialogInputConfirm() { - this.matData[this.rowNum].count = this.value - this.messageToggle('success') - this.messageText = '淇敼鎴愬姛' - }, - // 鍒犻櫎 - remove(index,item){ - this.matData.splice(index,1) - this.messageToggle('success') - this.messageText = '鍒犻櫎鎴愬姛' - }, - comb(){ - let that = this - let barcode = that.code - let billNo = this.billNo - if(billNo.length === 0){ - that.messageToggle('error') - that.messageText = '鍏ュ簱鍗曞彿涓虹┖' - return; - } - if(barcode.length === 0){ - that.messageToggle('error') - that.messageText = '璇疯緭鍏ユ墭鐩樼爜' - return; - } - if (barcode.length !== 8) { - that.messageToggle('error') - that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�' - return; - } - if(that.couChange){ - that.messageToggle('error') - that.messageText = '璇峰厛纭鍏ュ簱鏁伴噺' - return; - } - uni.request({ - url:that.baseUrl+ "/mobile/comb/auth", - header: {'token': localStorage.getItem('token')}, - data:{ - barcode:barcode, - combMats:that.matData, - billNo: billNo, - }, - method:'POST', - success(res) { - - if(res.data.code === 200){ - that.reset() - that.matData = [] - that.messageToggle('success') - that.messageText = '缁勬墭鎴愬姛' - } + }, + // 纭畾缁勬墭 + dialogConfirm() { + console.log(1) + let that = this + let barcode = that.code + let billNo = this.billNo + console.log(that.matData) + for (var i = 0; i < that.matData.length; i++) { + that.matData[i].oveFlag = 1 + } + console.log(that.matData) + uni.request({ + url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/comb/auth", + header: {'token':uni.getStorageSync('token')}, + data:{ + barcode:barcode, + combMats:that.matData, + billNo: billNo, + }, + method:'POST', + success(res) { + + if(res.data.code === 200){ + that.reset() + that.matData = [] + that.messageToggle('success') + that.messageText = '缁勬墭鎴愬姛' } - }) - }, + } + }) + }, + // 鍙栨秷缁勬墭 + dialogClose() { + console.log('鍙栨秷缁勬墭浜�') + } }, onShow() { - // const query = uni.createSelectorQuery() - // console.log(prototype.placeholder) } } </script> <style> - + .delTable { + margin-left:0; + margin-right: auto; + width: 200rpx; + height: 80rpx; + font-size: 30upx; + font-weight: bold; + } </style> -- Gitblit v1.9.1