From 3bdac82e0066f97307fc6a7177cecdf89a5ba7e1 Mon Sep 17 00:00:00 2001 From: whycq <whycq> Date: 星期四, 07 四月 2022 09:23:39 +0800 Subject: [PATCH] # --- pages/basics/stockCheck.vue | 359 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 349 insertions(+), 10 deletions(-) diff --git a/pages/basics/stockCheck.vue b/pages/basics/stockCheck.vue index f45e227..58b8ce5 100644 --- a/pages/basics/stockCheck.vue +++ b/pages/basics/stockCheck.vue @@ -1,18 +1,101 @@ <template> <view> <view class="cu-form-group margin-top"> - <view class="title">鍑哄簱鍙�</view> - <picker @change="PickerChange" :value="index" :range="picker"> - <view class="picker"> - {{index>-1?picker[index]:'璇烽�夋嫨'}} + <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 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 style="height: 200rpx;"> + <!-- 绌虹櫧灞� --> + </view> + <view class="cu-bar foot input" style="height: 130rpx;"> + <view class="flex solid-bottom padding justify-start" > + <button class="cu-btn bg-yellow main-btn margin-xs" style="width: 430rpx;" @click="check">纭� 璁�</button> + <button class="cu-btn bg-grey main-btn margin-xs" @click="reset">閲� 缃�</button> + </view> + </view> + + <scroll-view> + <uni-popup ref="popup" background-color="#fff" style="width: 500rpx;"> + <view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }"> + <view class="cu-form-group margin-top"> + <text>琛ュ厖浜у搧</text> + </view> + <view class="cu-form-group margin-top"> + <text class="title">浜у搧ID</text> + <input type="text" v-model="matNo" placeholder="鎵爜 / 杈撳叆" name="input" autocomplete="off" focus @input="find()"> + </view> + <view class="cu-form-group margin-top"> + <text class="title">浜у搧鍚嶇О</text> + <input type="text" name="input" autocomplete="off" v-model="matName"> + </view> + <view class="cu-form-group margin-top"> + <text class="title">瑙勬牸鍨嬪彿</text> + <input type="text" name="input" autocomplete="off" v-model="size"> + </view> + <view class="cu-form-group margin-top"> + <text class="title">鍗曚綅</text> + <input type="text" name="input" autocomplete="off" v-model="unit"> + </view> + <view class="cu-form-group margin-top"> + <text class="title">鏁伴噺</text> + <uni-number-box :min="0" :max="999" @change="countDom" v-model="count" /> + </view> + <view class="flex solid-bottom padding justify-center"> + <button class="cu-btn bg-yellow pda-btn2" @click="confirm">鎻愬彇</button> + </view> + <view style="height: 200rpx;"> + <!-- 绌虹櫧灞� --> + </view> </view> - </picker> - <button></button> + </uni-popup> + </scroll-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">閲嶇疆</button> + <!-- 杈撳叆妗嗙ず渚� --> + <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> @@ -20,11 +103,267 @@ export default { data() { return { - picker: ['+琛ュ厖', '姹豹姹�', '鍝煎敡鍝煎敡'], + msgType: '', + messageText: '', + matBtn:'', + souceData:[], // 鍒濆鍖栬〃鏍兼暟鎹褰� + locDetlData:[], + matNo:'', + matName:'', + size:'', + unit:'', + count:0, + type: '', + baseIP:'', + basePORT:'', + checkList:[], + sourceList:[], + billNo:'', + matData:[], + rowNum:'', + value:'0', } }, + mounted(){ + // 鑾峰彇IP绔彛 + const UIP = uni.getStorageSync('UIP'); + this.baseIP = UIP; + const UPORT = uni.getStorageSync('UPORT'); + this.basePORT = UPORT; + }, methods: { - + // 鎻愮ず绐楀彛 + 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.basePORT + 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灞炴�� + this.$refs.popup.open(type) + }, + messageToggle(type) { + this.msgType = type + this.messageText = '鎻愬彇澶辫触' + this.$refs.message.open() + }, + countDom(value) { + + }, + // 鏍规嵁浜у搧ID鏌ヨ浜у搧璇︽儏 + find(){ + let that = this + let thatId = that.matNo + if(that.matNo.length===0){ + return; + } + uni.request({ + url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/matCode/auth", + header: { + 'content-type':'application/x-www-form-urlencoded', + 'token':uni.getStorageSync('token') + }, + data: { + id:thatId + }, + method: 'POST', + success(res){ + let data = res.data.data + if(res.data.code === 200){ + if(data != null){ + that.matName = data.matName + 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 = { + matNo:that.matNo, + matName:that.matName, + count:that.count + } + that.addTableData(data) + + }, + // 淇敼鏁伴噺 + 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){ + that.messageToggle('error') + that.messageText = '鎻愬彇澶辫触' + return + } + var toPush = true + 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: that.locDetlData[0] ? that.locDetlData[0].locNo : null, + matNo: data.matNo, + count: data.count, + matName: data.matName + } + 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.basePORT + 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