From 75ea1362b54946c8a8b6aa8260c2f4e5843154ab Mon Sep 17 00:00:00 2001 From: whycq <whycq> Date: 星期一, 28 二月 2022 16:58:28 +0800 Subject: [PATCH] # --- pages/basics/stockCheck.vue | 281 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 213 insertions(+), 68 deletions(-) diff --git a/pages/basics/stockCheck.vue b/pages/basics/stockCheck.vue index fcc97bc..944db2b 100644 --- a/pages/basics/stockCheck.vue +++ b/pages/basics/stockCheck.vue @@ -1,38 +1,37 @@ <template> <view> <view class="cu-form-group margin-top"> - <view> - 鍑哄簱鍙� - </view> - <view class="uni-list-cell-db"> - <picker @change="bindPickerChange" :value="index" :range="array" range-key="name"> - <view class="uni-input">{{array[index]}}</view> - </picker> - </view> - <view> - <button v-model="matBtn" class="cu-btn bg-yellow" @click="toggle('right')"><text>+琛ュ厖</text></button> - </view> + <view class="title">鎵樼洏鐮�</view> + <input v-model="billNo" placeholder="鎵爜 / 杈撳叆" name="input" @input="findCode()" focus> + <button v-model="matBtn" class="cu-btn bg-yellow" @click="toggle('right')"><text>+琛ュ厖</text></button> + </view> <view class="margin-top"> <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁"> <uni-tr> - <uni-th width="50">鏁伴噺</uni-th> - <uni-th width="100">浜у搧ID</uni-th> - <uni-th width="100">浜у搧鍚嶇О</uni-th> - <uni-th width="100">搴撲綅</uni-th> + <uni-th align="center" width="80">鏁伴噺</uni-th> + <uni-th align="center" width="100">浜у搧缂栫爜</uni-th> + <uni-th align="center" width="100">浜у搧鍚嶇О</uni-th> + <uni-th align="center" width="100">浜у搧鎵瑰彿</uni-th> + <uni-th align="center" width="100">搴撲綅</uni-th> + <uni-th align="center" width="150">纭鏁伴噺</uni-th> </uni-tr> <uni-tr v-for="(item, index) in locDetlData" :key="index"> <uni-td>{{item.count}}</uni-td> <uni-td>{{item.matNo}}</uni-td> <uni-td>{{item.matName}}</uni-td> + <uni-td>{{item.itemBatch}}</uni-td> <uni-td>{{item.locNo}}</uni-td> + <uni-td align="center"> + <button class ="cu-btn bg-orange margin-xs" @click="conf(index,item)">淇敼</button> + <button class ="cu-btn bg-red margin-xs" @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-grey pda-btn">閲嶇疆</button> + <view class="flex solid-bottom padding justify-around"> + <button class="cu-btn bg-yellow lg" @click="check">纭� 璁�</button> + <button class="cu-btn bg-grey lg" @click="reset">閲� 缃�</button> </view> <view> <uni-popup ref="popup" background-color="#fff" style="width: 500rpx;"> @@ -50,7 +49,7 @@ </view> <view class="cu-form-group margin-top"> <text class="title">瑙勬牸鍨嬪彿</text> - <input type="text" name="input" autocomplete="off" v-model="specs"> + <input type="text" name="input" autocomplete="off" v-model="size"> </view> <view class="cu-form-group margin-top"> <text class="title">鍗曚綅</text> @@ -58,9 +57,11 @@ </view> <view class="cu-form-group margin-top"> <text class="title">鏁伴噺</text> - <uni-number-box @change="countDom" v-model="count" /> + <uni-number-box :min="0" :max="999" @change="countDom" v-model="count" /> </view> - <button class="cu-btn bg-yellow pda-btn2" @click="confirm">琛ュ厖</button> + <view class="flex solid-bottom padding justify-center"> + <button class="cu-btn bg-yellow pda-btn2" @click="confirm">鎻愬彇</button> + </view> </view> </uni-popup> @@ -71,6 +72,22 @@ <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="0" :max="999" v-model="value" /> + </uni-popup-dialog> + </uni-popup> + </view> + <!-- <view> + <view class="uni-padding-wrap uni-common-mt"> + <view class="uni-btn-v"> + <button type="default" @tap="noTitlemodalTap">鏃犳爣棰樼殑modal</button> + </view> + </view> + </view> --> </view> </template> @@ -78,42 +95,77 @@ export default { data() { return { - index: 0, - array: [], + msgType: '', + messageText: '', matBtn:'', souceData:[], // 鍒濆鍖栬〃鏍兼暟鎹褰� locDetlData:[], matNo:'', matName:'', - specs:'', + size:'', unit:'', - count:'0', + count:0, type: '', - msgType:'', - messageText:'', + baseIP:'', + checkList:[], + sourceList:[], + billNo:'', + matData:[], + rowNum:'', + value:'0', } }, - onLoad(){ - let that = this - uni.request({ - url: that.baseUrl + "/available/take/check/site", - header: { - 'token':uni.getStorageSync('token') - }, - method: 'POST', - async: false, - success(res){ - if(res.data.code === 200){ - that.array = res.data.data - } - } - }) + mounted(){ + // 鑾峰彇IP绔彛 + const UIP = uni.getStorageSync('UIP'); + this.baseIP = UIP }, methods: { - bindPickerChange: function(e) { - this.index = e.detail.value + // 鎻愮ず绐楀彛 + messageToggle(type) { + this.msgType = type + this.messageText = '鎻愬彇澶辫触' + this.$refs.message.open() }, - // 鎻愬彇 + // 鏍规嵁鎵樼洏鐮佹煡璇� + findCode() { + let that = this + if (that.billNo.length === 0 || that.billNo.length !== 8) { + return + } + let barCode = that.billNo + // 璧嬪�煎墠娓呯┖琛ㄦ牸 + that.locDetlData = [] + uni.request({ + url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/check/queryMatFromBarCode?barCode=" + barCode, + header: { + 'content-type':'application/x-www-form-urlencoded', + 'token':uni.getStorageSync('token') + }, + data: { + barCode: barCode + }, + method:'GET', + success(res) { + if (res.data.code === 200) { + that.locDetlData = res.data.data + if (res.data.data && res.data.data.length > 0) { + res.data.data.map(function(item){ + that.souceData.push(item) + }) + } + } else if (res.data.code === 403) { + uni.navigateBack({ + delta: 1 + }) + } else { + that.messageToggle('error') + that.messageText = res.data.msg + } + } + }) + }, + // 鐐瑰嚮琛ュ厖鐨勫脊绐� toggle(type) { this.type = type // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� @@ -127,6 +179,7 @@ countDom(value) { }, + // 鏍规嵁浜у搧ID鏌ヨ浜у搧璇︽儏 find(){ let that = this let thatId = that.matNo @@ -134,7 +187,7 @@ return; } uni.request({ - url: that.baseUrl + "/matCode/auth", + url: that.baseHttp + that.baseIP + that.baseUrl + "/matCode/auth", header: { 'content-type':'application/x-www-form-urlencoded', 'token':uni.getStorageSync('token') @@ -145,21 +198,24 @@ method: 'POST', success(res){ let data = res.data.data - if(res.data.code === 200){ if(data != null){ that.matName = data.matName - that.specs = data.specs + that.size = data.size that.unit = data.unit } } else if (res.data.code ===403 ){ - // 寰呭畾 + uni.navigateBack({ + delta: 1 + }) } else { - // 寰呭畾 + this.messageToggle('error') + this.messageText = res.data.msg } } }) }, + // 寮圭獥 纭琛ュ厖 confirm(){ let that = this let data = { @@ -170,19 +226,27 @@ that.addTableData(data) }, - initTableData(data){ - for(var i=0;i<data.length;i++){ - var toPush =true - for(var j = 0; j<this.locDetlDate.length;j++){ - if (data[i].matNo === this.locDetlData[j].matNo && data[i].locNo === this.locDetlData[j].locNo) { - toPush = false; - } - } - if(toPush){ - this.locDetlDate.push(data[i]) - } + // 淇敼鏁伴噺 + conf(index,item){ + this.$refs.inputDialog.open() + this.rowNum = index + if (item.count === undefined ) { + this.value = 0 } }, + // 淇敼鏁伴噺寮圭獥 + dialogInputConfirm(value) { + this.locDetlData[this.rowNum].count = this.value + this.messageToggle('success') + this.messageText = '淇敼鎴愬姛' + }, + // 绉婚櫎鐗╂枡 + remove(index,item){ + this.locDetlData.splice(index,1) + this.messageToggle('success') + this.messageText = '鍒犻櫎鎴愬姛' + }, + // 琛ㄦ牸娓叉煋 addTableData(data){ let that = this if(data.matNo.length === 0){ @@ -190,24 +254,105 @@ that.messageText = '鎻愬彇澶辫触' return } - this.$refs.popup.close() var toPush = true - for (var j = 0; j < this.locDetlData.length; j++) { - if (data.matNo === this.locDetlData[j].matNo && data.locNo === this.locDetlData[j].locNo) { + for (var j = 0; j < that.locDetlData.length; j++) { + if (data.matNo === that.locDetlData[j].matNo && data.locNo === that.locDetlData[j].locNo) { toPush = false; } } if (toPush) { var pushData = { - locNo: this.locDetlData[0] ? this.locDetlData[0].locNo : null, + locNo: that.locDetlData[0] ? that.locDetlData[0].locNo : null, matNo: data.matNo, count: data.count, matName: data.matName } - locDetlData.push(pushData); + that.locDetlData.push(pushData); } - + that.$refs.popup.close() }, + // 閲嶇疆 + reset(){ + this.billNo = '' + this.locDetlData = [] + }, + check(){ + let that = this + if(that.billNo.length === 0) { + that.messageToggle('error') + that.messageText = '璇� 鎵爜 / 杈撳叆 鎵樼洏鐮�' + return + } + if(that.billNo.length < 8) { + that.messageToggle('error') + that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�' + return + } + if(that.locDetlData.length > 0) { + for(var i = 0; i < that.locDetlData.length; i++){ + if (that.locDetlData[i].count === null || that.locDetlData[i].count === 0 || + that.locDetlData[i].count === undefined) { + that.messageToggle('error') + that.messageText = that.locDetlData[i].matNo + '鍟嗗搧鏁伴噺閿欒' + return + } + } + } + if (that.locDetlData.length > 0) { + that.locDetlData.map(function (item) { + that.checkList.push({ + locNo: item.locNo, + matNo: item.matNo, + checkQty: item.count, + itemBatch: item.itemBatch + }); + }); + } + if (that.souceData.length > 0) { + that.souceData.map(function (item) { + that.sourceList.push({ + locNo: item.locNo, + matNo: item.matNo, + count: item.count, + itemBatch: item.itemBatch + }); + }); + } + // this.noTitlemodalTap() + uni.request({ + url: that.baseHttp + that.baseIP + that.baseUrl + "/mobile/stock/check", + header: { + 'token':uni.getStorageSync('token') + }, + data: JSON.stringify({ + checkList: that.checkList + }), + method:'POST', + async:false, + success(res){ + if(res.data.code === 200){ + that.reset(); + that.messageToggle('success') + that.messageText = '鐩樼偣鎴愬姛' + } else if (res.data.code === 403) { + uni.navigateBack({ + delta: 1 + }) + } else { + that.messageToggle('error') + that.messageText = res.data.msg + } + } + }) + }, + noTitlemodalTap: function (e) { + uni.showModal({ + content: "鏄惁纭鐩樼偣", + confirmText: "鏄�", + cancelText: "鍚�" + }) + + } } } </script> -- Gitblit v1.9.1