From 1bbb2a5f47e8f03955154106cf5542cb8bcf13e1 Mon Sep 17 00:00:00 2001 From: whycq <you@example.com> Date: 星期一, 30 一月 2023 20:49:59 +0800 Subject: [PATCH] # --- pages/basics/pakin.vue | 295 +++++++++++++++++++++++++++++++------------------ pages/basics/matQuery.vue | 7 + 2 files changed, 193 insertions(+), 109 deletions(-) diff --git a/pages/basics/matQuery.vue b/pages/basics/matQuery.vue index d81e0bd..b53ee02 100644 --- a/pages/basics/matQuery.vue +++ b/pages/basics/matQuery.vue @@ -19,10 +19,14 @@ <view class="text-title"><input type="text" v-model="matData.batch"></view> </view> <view class="text-box"> + <view class="text-title"><text>鍗曚綅</text></view> + <view class="text-title"><input type="text" v-model="matData.unit"></view> + </view> + <view class="text-box"> <view class="text-title"><text>鏁伴噺</text></view> <view class="text-title"> <view> - <uni-number-box :value="matData.anfme" :max="9999" color="#747474" @change="changeValue"/> + <uni-number-box :value="matData.anfme" :max="999999999" color="#747474" @change="changeValue"/> </view> </view> </view> @@ -45,6 +49,7 @@ maktx: null, batch: null, anfme: null, + unit: null, }, baseIP:'', basePORT:'', diff --git a/pages/basics/pakin.vue b/pages/basics/pakin.vue index 3bc1c81..82d299c 100644 --- a/pages/basics/pakin.vue +++ b/pages/basics/pakin.vue @@ -1,30 +1,34 @@ <template> - <view > + <view> <scroll-view scroll-y catch:touchmove="touchmove"> <view class="square-2"> <view class="square-title"> - <view class="title-sign"><view class="sign"></view></view> + <view class="title-sign"> + <view class="sign"></view> + </view> <view class="title-text"><text>鎵樼洏鏉$爜</text></view> </view> <view class="square-content"> <view class="content-input"> - <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" - :focus="barcodeFocus" @confirm="barcodeInput()" placeholder-style="line-height: 85rpx;"> + <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" :focus="barcodeFocus" + @confirm="barcodeInput()" placeholder-style="line-height: 85rpx;"> <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode()"></uni-icons> </view> </view> </view> - - + + <view class="square-2"> <view class="square-title"> - <view class="title-sign"><view class="sign"></view></view> + <view class="title-sign"> + <view class="sign"></view> + </view> <view class="title-text"><text>妫�绱㈠晢鍝�</text></view> </view> <view class="square-content"> <view class="content-input-btn"> - <input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()" - :focus="focus" placeholder-style="line-height: 85rpx;"> + <input v-model="matnr" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()" :focus="focus" + placeholder-style="line-height: 85rpx;"> <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons> </view> <view class="content-btn"> @@ -32,22 +36,25 @@ </view> </view> </view> - - + + <view class="square-1"> <view class="square-title"> - <view class="title-sign"><view class="sign"></view></view> + <view class="title-sign"> + <view class="sign"></view> + </view> <view class="title-text"><text>鍟嗗搧鍒楄〃</text></view> <!-- <label v-show="matList.length != 0" style="float: right;margin-right: 20px;margin-top: 13px;"><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove()"></uni-icons></label> --> </view> </view> - - <view class="square-none" v-show="matList.length === 0"> + + <view class="square-none" v-show="matList.length === 0"> <view class="v-show">鏆傛棤鏇村鏁版嵁...</view> </view> - + <checkbox-group @change="checkbox"> - <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > + <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" + :class="'bg-'+item.checked"> <view class="data-list-left"> <!-- <view> <checkbox :value="item.id+''" :checked="item.checked" style="display: block;" /> @@ -57,17 +64,22 @@ <view><text style="width: 400rpx;">鎵瑰彿锛歿{item.batch}}</text></view> <view> <text style="width: 400rpx;">鏁伴噺锛歿{item.anfme}}</text> + <text style="margin-left: 100rpx;">鍗曚綅锛歿{item.unit}}</text> </view> </view> <view class="data-list-right"> - <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label> - <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> + <label> + <uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons> + </label> + <label> + <uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons> + </label> </view> </view> </checkbox-group> </scroll-view> - - + + <!-- 搴曢儴鎸夐挳 --> <view class="footer flex justify-around"> <!-- <label class="label-btn" style="width: 170rpx;"> @@ -76,7 +88,7 @@ <label class="label-btn" style="width: 100rpx;"> <text @click="reChecked()">鍙嶉��</text> </label> --> - + <label class="label-btn" style="width: 150rpx;"> <button class="cu-btn" @click="resst()">閲嶇疆</button> </label> @@ -84,10 +96,10 @@ <button class="cu-btn bg-blue " @click="comb()">缁勬墭</button> </label> </view> - + <!-- 寮圭獥 --> <!-- 淇敼鏁伴噺 --> - <uni-popup ref="revise" background-color="#fff"> + <uni-popup ref="revise"> <view class="revise-box "> <view class="revise-box-top"> <view class="color-block-blue"></view> @@ -97,11 +109,15 @@ <text style="display: inline-block;float: left;width: 50px;">鎵瑰彿锛�</text> <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="batch"> </view> + <view class="" style="position: relative;left: 50px;margin-bottom: 20px;"> + <text style="display: inline-block;float: left;width: 50px;">鍗曚綅锛�</text> + <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;" v-model="unit"> + </view> <view class="changeBox"> <view class="num-box"> - <text style="display: inline-block;float: left;width: 50px;">鎵瑰彿锛�</text> - <uni-number-box :value="count" :max="9999" color="#747474" @change="changeValue"/> - </view> + <text style="display: inline-block;float: left;width: 50px;">鏁伴噺锛�</text> + <uni-number-box :value="count" :max="999999999" color="#747474" @change="changeValue" /> + </view> </view> <view class="revise-box-buttom"> <view> @@ -118,34 +134,35 @@ export default { data() { return { - commonUrl:null, + commonUrl: null, barcode: '', - barcodeFocus:true, - focus:false, + barcodeFocus: true, + focus: false, type: 'center', searchBox: 'hide', - pick:'hide', - matnr:'', - matList:[], + pick: 'hide', + matnr: '', + matList: [], result: '', - enableQty:'', - count:'', - minCount:0, - maxCount:'', - rowNum:'', - check:false, - checkText:'鍏ㄩ��', - checkedData:[], - batch:'' + enableQty: '', + count: '', + minCount: 0, + maxCount: '', + rowNum: '', + check: false, + checkText: '鍏ㄩ��', + checkedData: [], + batch: '', + unit: '' } }, onShow() { - setTimeout(()=>{ + setTimeout(() => { // this.focuss() }, 100); - + }, - mounted(){ + mounted() { const UIP = uni.getStorageSync('UIP'); this.baseIP = UIP; const UPORT = uni.getStorageSync('UPORT'); @@ -157,26 +174,30 @@ methods: { // 鑾峰彇url getUrl() { - this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl + this.commonUrl = this.baseHttp + this.baseIP + ':' + this.basePORT + "/" + this.baseUrl }, // barcode input 浜嬩欢 barcodeInput() { // 涓嶈缃畾鏃跺櫒 浼氬嚭鐜版壂鍏ョ殑瀛楃涓蹭笉鍏� - setTimeout(()=>{ + setTimeout(() => { var len = this.barcode.length if (len != 8) { - uni.showToast({title: '鎵樼洏鐮佹湁璇閲嶈瘯', icon: "none", position: 'top'}); + uni.showToast({ + title: '鎵樼洏鐮佹湁璇閲嶈瘯', + icon: "none", + position: 'top' + }); this.barcodeFocuss() return; } this.focuss() - },200) + }, 200) }, // 鎵樼洏鐮佹湁璇噸缃� barcodeFocuss() { let that = this; that.barcodeFocus = false; - setTimeout(()=>{ + setTimeout(() => { that.barcode = ''; that.barcodeFocus = true; }, 100); @@ -186,7 +207,7 @@ // #ifdef APP let that = this; that.focus = false; - setTimeout(()=>{ + setTimeout(() => { that.matnr = ''; that.focus = true; }, 100); @@ -215,39 +236,52 @@ }); }, // 鍒楄〃鍒犻櫎鎸夐挳 - remove(item,index) { - this.matList.splice(index,1) + remove(item, index) { + this.matList.splice(index, 1) uni.vibrateShort(); }, comb() { uni.vibrateShort(); let that = this; if (that.barcode === '') { - uni.showToast({title: '璇锋壂鎻忔墭鐩樻潯鐮�', icon: "none", position: 'top'}); + uni.showToast({ + title: '璇锋壂鎻忔墭鐩樻潯鐮�', + icon: "none", + position: 'top' + }); return; } if (that.matList.length === 0) { - uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'}); + uni.showToast({ + title: '璇锋坊鍔犲晢鍝佸垪琛�', + icon: "none", + position: 'top' + }); return; } for (var i = 0; i < that.matList.length; i++) { if (that.matList[i].anfme == 0 || that.matList[i].anfme == '') { - uni.showToast({title: that.matList[i].matnr + '缁勬墭鏁伴噺涓嶈兘涓�0', icon: "none", position: 'top'}); + uni.showToast({ + title: that.matList[i].matnr + '缁勬墭鏁伴噺涓嶈兘涓�0', + icon: "none", + position: 'top' + }); return; } } uni.showLoading(); uni.request({ - url: that.commonUrl + '/mobile/comb/auth', - data: JSON.stringify({ + url: that.commonUrl + '/mobile/comb/auth', + data: JSON.stringify({ barcode: that.barcode, combMats: that.matList }), method: 'POST', - header: { - 'token':uni.getStorageSync('token') - }, + header: { + 'token': uni.getStorageSync('token') + }, success(result) { + console.log(that.matList); uni.hideLoading(); var res = result.data if (res.code === 200) { @@ -258,14 +292,22 @@ duration: 1000 }); } else if (res.code == 403) { - uni.showToast({title: res.msg, icon: "none", position: 'top'}) + uni.showToast({ + title: res.msg, + icon: "none", + position: 'top' + }) setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); } else { - uni.showToast({title: res.msg, icon: "none",position: 'top'}) + uni.showToast({ + title: res.msg, + icon: "none", + position: 'top' + }) } } }); @@ -276,30 +318,32 @@ uni.navigateTo({ url: "matSelect", events: { - // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� - acceptDataFromOpenedPage: function(data) { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� + acceptDataFromOpenedPage: function(data) { that.matnr = data.data that.findMat(that.matnr) - }, + }, }, success: function(res) { - // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 - res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl }) + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + res.eventChannel.emit('commonUrl', { + commonUrl: that.commonUrl + }) }, - + }); that.matnr = '' }, findMat() { let that = this uni.request({ - url: that.commonUrl + '/mat/auth', - data: { - matnr:that.matnr - }, - header: { - 'token':uni.getStorageSync('token') - }, + url: that.commonUrl + '/mat/auth', + data: { + matnr: that.matnr + }, + header: { + 'token': uni.getStorageSync('token') + }, success(result) { uni.vibrateShort(); let res = result.data @@ -309,33 +353,43 @@ uni.navigateTo({ url: "matQuery", events: { - // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� - matList: function(data) { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� + matList: function(data) { that.checkMat(data.data) // that.matList.push(data.data) }, }, success: function(res) { // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� - res.eventChannel.emit('matData', { data: that.matData }) + res.eventChannel.emit('matData', { + data: that.matData + }) }, }); } else if (res.code == 403) { - uni.showToast({title: res.msg, icon: "none", position: 'top'}) + uni.showToast({ + title: res.msg, + icon: "none", + position: 'top' + }) setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); } else { - uni.showToast({title: res.msg, icon: "none",position: 'top'}) + uni.showToast({ + title: res.msg, + icon: "none", + position: 'top' + }) } - + } }); - + }, - + // 娣诲姞鍟嗗搧 addMat(mat) { this.matList.unshift(mat) @@ -346,7 +400,7 @@ for (var i = 0; i < len; i++) { if (mat.batch == this.matList[i].batch) { if (mat.matnr == this.matList[i].matnr) { - this.matList[i].anfme += mat.anfme + this.matList[i].anfme += mat.anfme this.$forceUpdate() // 寮哄埗鍒锋柊 add = false } @@ -365,16 +419,16 @@ // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� this.$refs.goodsSearch.open(type) }, - checkbox: function (e) { + checkbox: function(e) { var items = this.matList, values = e.detail.value; for (var i = 0, lenI = items.length; i < lenI; ++i) { const item = items[i] item.id = item.id + '' - if(values.indexOf(item.id) >= 0){ - this.$set(item,'checked',true) - }else{ - this.$set(item,'checked',false) + if (values.indexOf(item.id) >= 0) { + this.$set(item, 'checked', true) + } else { + this.$set(item, 'checked', false) } } if (values.length == items.length) { @@ -386,7 +440,7 @@ } uni.vibrateShort(); }, - revise(item,index) { + revise(item, index) { this.count = this.matList[index].anfme // var maxCount = this.matList[index].maxCount // if (maxCount == undefined ) { @@ -413,19 +467,19 @@ this.$forceUpdate() // 寮哄埗鍒锋柊 }, // 鍒楄〃鍙嶉�� - reChecked() { + reChecked() { if (this.matList.length == 0) { return; } var checkArr = [] - for (var i = 0; i < this.matList.length;i++) { + for (var i = 0; i < this.matList.length; i++) { if (this.matList[i].checked == true) { - this.$set(this.matList[i],'checked',false) - }else{ - this.$set(this.matList[i],'checked',true) + this.$set(this.matList[i], 'checked', false) + } else { + this.$set(this.matList[i], 'checked', true) } if (this.matList[i].checked == true) { - checkArr.push(this.matList[i].checked) + checkArr.push(this.matList[i].checked) } } if (checkArr.length == this.matList.length) { @@ -438,17 +492,17 @@ uni.vibrateShort(); }, // 鍒楄〃鍏ㄩ�� - allChecked(e){ - + allChecked(e) { + if (this.check == true) { - for (var i = 0; i < this.matList.length;i++) { - this.$set(this.matList[i],'checked',false) + for (var i = 0; i < this.matList.length; i++) { + this.$set(this.matList[i], 'checked', false) } this.check = false this.checkText = "鍏ㄩ��" } else { - for (var i = 0; i < this.matList.length;i++) { - this.$set(this.matList[i],'checked',true) + for (var i = 0; i < this.matList.length; i++) { + this.$set(this.matList[i], 'checked', true) } this.check = true this.checkText = "鍙栨秷鍏ㄩ��" @@ -465,24 +519,30 @@ .revise-box { position: relative; width: 500rpx; - height: 400rpx; - border-radius: 25px; + height: 470rpx; + border-radius: 15px; + background-color: #FFFFFF; } + .revise-box-top { width: 400rpx; height: 120rpx; border-radius: 25px; } + .changeBox { width: 400rpx; height: 100rpx; } + .num-box { margin-left: 100rpx; } - .revise-box-buttom{ + + .revise-box-buttom { margin-left: 190rpx; } + .pak-seach-box { background-color: #FFFFFF; margin: 15rpx 15rpx 0rpx 15rpx; @@ -490,11 +550,13 @@ height: 150rpx; border-radius: 20rpx; } - .box-top{ + + .box-top { display: block; height: 60rpx; width: 720rpx; } + .color-block-blue { background-color: #1E9FFF; display: inline-block; @@ -505,6 +567,7 @@ border: 5rpx solid #1E9FFF; border-radius: 20rpx; } + .title { display: inline-block; float: left; @@ -514,6 +577,7 @@ line-height: 50rpx; margin-top: 10rpx; } + .box-buttom { display: inline-block; background-color: #ededed; @@ -522,18 +586,21 @@ border-radius: 20rpx; margin: 15rpx 15rpx 0rpx 15rpx; } + .box-buttom input { width: 75%; float: left; margin: 8rpx 10rpx 0rpx 25rpx; } - .box-buttom .search-icon{ + + .box-buttom .search-icon { width: 60rpx; height: 60rpx; float: right; margin-top: 5rpx; margin-right: 10rpx; } + /* .pak-seach-box input { background-color: #ededed; border: 1rpx solid #d8d8d8; @@ -556,9 +623,11 @@ margin: 15rpx 15rpx 0rpx 15rpx; line-height: 60rpx; } + .pakin-btn { background-color: #1E9FFF; } + .pak-data-box { background-color: #F1F1F1; margin: 15rpx 15rpx 0rpx 15rpx; @@ -566,29 +635,36 @@ height: 70rpx; border-radius: 20rpx; } + .pak-data-box .box-top { background-color: #FFFFFF; height: 70rpx; border-radius: 20rpx 20rpx 20rpx 20rpx; } + .bg-false { background-color: #FFFFFF; } + .bg-true { background-color: #ebebeb; } + .data-list { border-bottom: 1px solid #d8d8d8; height: 180rpx; margin: 15rpx; border-radius: 20rpx; } + .data-list:first-child { margin-top: 20rpx; } + .data-list:last-child { margin-bottom: 120rpx; } + /* .data-list-left { display: inline-block; float: left; @@ -604,15 +680,18 @@ height: 180rpx; color: #676767; } + .matnr { padding-top: 10rpx; } + .data-list-right { display: inline-block; float: right; height: 180rpx; line-height: 180rpx; } + /* display: inline-block; float: right; width: 200rpx; @@ -624,4 +703,4 @@ width: 80rpx; height: 180rpx; } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.1