From f3a018b6953e6c94ba47c72fbe184efa269a098c Mon Sep 17 00:00:00 2001 From: whycq <whycq> Date: 星期二, 15 二月 2022 16:51:21 +0800 Subject: [PATCH] ! --- pages/basics/combPro.vue | 188 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 170 insertions(+), 18 deletions(-) diff --git a/pages/basics/combPro.vue b/pages/basics/combPro.vue index aea4f32..8cdd861 100644 --- a/pages/basics/combPro.vue +++ b/pages/basics/combPro.vue @@ -3,7 +3,7 @@ <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> @@ -11,25 +11,46 @@ </view> </form> <view class="margin-top"> - <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> + <uni-table ref="table" border stripe emptyText="鏆傛棤鏇村鏁版嵁" rowKey=""> <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">浜у搧鍚嶇О</uni-th> + <uni-th align="center" width="90">浜у搧ID</uni-th> + <uni-th align="center" width="200">缁勬墭鏁伴噺</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.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"> + <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> + </uni-td> </uni-tr> </uni-table> - </view> <view> - <button class="cu-btn bg-yellow pda-btn">缁勬墭</button> + <button class="cu-btn bg-yellow pda-btn" @click="comb()">缁勬墭</button> <button class="cu-btn bg-grey pda-btn" @click="reset">閲嶇疆</button> + </view> + <view> + <!-- 鎻愮ず淇℃伅寮圭獥 --> + <uni-popup ref="message" type="message"> + <uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message> + </uni-popup> + </view> + <view> + <!-- 杈撳叆妗嗙ず渚� --> + <uni-popup ref="inputDialog" type="dialog"> + <uni-popup-dialog ref="inputClose" mode="input" title="缁勬墭鏁伴噺" + placeholder="璇疯緭鍏ョ粍鎵樻暟閲�" @confirm="dialogInputConfirm"> + <uni-number-box :min="minCount" :max="maxCount" v-model="value" /> + </uni-popup-dialog> + + </uni-popup> </view> </view> </template> @@ -40,19 +61,150 @@ return { billNo:'', code:'', + matData:[], + type: '', + msgType: '', + messageText: '', + minCount:1, + maxCount:1, + rowNum:'', + value:'', + couChange:true, + + } }, + methods: { reset:function() { - let that =this; - that.billNo = ''; - that.code = ''; + this.billNo = ''; + this.code = ''; + }, + messageToggle(type) { + this.msgType = type + this.messageText = '鎻愬彇澶辫触' + this.$refs.message.open() }, + // 鏍规嵁閫氱煡鍗曞彿鏌ヨ鐗╂枡璇︽儏 + find(){ + let billNo = this.billNo + 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.baseUrl + "/mobile/bill/query/auth", + header: { + 'content-type':'application/x-www-form-urlencoded', + 'token':uni.getStorageSync('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 { + + } + } + } + }) + + }, + 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':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 = '缁勬墭鎴愬姛' + } + } + }) + }, }, onShow() { - // const query = uni.createSelectorQuery() - // console.log(prototype.placeholder) } } </script> -- Gitblit v1.9.1