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 | 382 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 360 insertions(+), 22 deletions(-) diff --git a/pages/basics/combPro.vue b/pages/basics/combPro.vue index aea4f32..d0de175 100644 --- a/pages/basics/combPro.vue +++ b/pages/basics/combPro.vue @@ -3,33 +3,83 @@ <form> <view class="cu-form-group margin-top"> <view class="title">鍗曞彿</view> - <input v-model="billNo" placeholder="鎵爜 / 杈撳叆" name="input" autocomplete="off"> + <input v-model="billNo" placeholder="鎵爜 / 杈撳叆" name="input" autocomplete="off" focus @input="find()"> </view> <view class="cu-form-group margin-top"> <view class="title">鎵樼洏鐮�</view> <input v-model="code" placeholder="鎵爜 / 杈撳叆" name="input"> </view> </form> + <view class="margin-top"> - <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> + <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>鐗╂枡缂栫爜</uni-th> - <uni-th>鐢熶骇鍗曞彿</uni-th> - <uni-th>鏁伴噺</uni-th> - <uni-th>鐗╂枡鍚嶇О</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">搴忓彿</uni-th> + <uni-th align="center" width="90">鎵瑰彿</uni-th> + + </uni-tr> - <uni-tr> - <uni-td>1121</uni-td> - <uni-td>1121</uni-td> - <uni-td>1121</uni-td> - <uni-td>1121</uni-td> + <uni-tr v-for="(item, index) in matData" :key="index"> + <uni-td align="center">{{item.qty}}</uni-td> + <uni-td align="center"> + <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 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"> + <uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message> + </uni-popup> </view> <view> - <button class="cu-btn bg-yellow pda-btn">缁勬墭</button> - <button class="cu-btn bg-grey pda-btn" @click="reset">閲嶇疆</button> + <!-- 杈撳叆妗嗙ず渚� --> + <uni-popup ref="inputDialog" type="dialog"> + <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> </template> @@ -40,23 +90,311 @@ return { billNo:'', code:'', + matData:[], // 涓昏鏁版嵁琛� + type: '', + msgType: '', + messageText: '', + 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() { - let that =this; - that.billNo = ''; - that.code = ''; - }, + // 澶氶�� + 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(); // 娓呯┖閫夋嫨 + }, + // 鍙嶉�� + 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 + } 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 = '缁勬墭鎴愬姛' + } + } + }) + } + } + + }, + // 纭畾缁勬墭 + 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