From 3f2fffcb6e1b4966b36492118409f562d3c7ce28 Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期五, 02 十二月 2022 08:31:41 +0800 Subject: [PATCH] # --- pages.json | 2 pages/basics/stockCheck.vue | 209 +++++++++++------- pages/basics/平库.vue | 409 +++++++++++++++++++++++++++++++++++++ pages/index/index.vue | 2 4 files changed, 542 insertions(+), 80 deletions(-) diff --git a/pages.json b/pages.json index 776de27..6dfd493 100644 --- a/pages.json +++ b/pages.json @@ -30,7 +30,7 @@ "path" : "pages/basics/stockCheck", "style" : { - "navigationBarTitleText": "骞冲簱搴撲綅鐩樼偣", + "navigationBarTitleText": "搴撳瓨鐩樼偣", "enablePullDownRefresh": false } },{ diff --git a/pages/basics/stockCheck.vue b/pages/basics/stockCheck.vue index 2fa1509..390b5b2 100644 --- a/pages/basics/stockCheck.vue +++ b/pages/basics/stockCheck.vue @@ -1,7 +1,7 @@ <template> <view> <scroll-view scroll-y> - <view class="pak-seach-box"> + <!-- <view class="pak-seach-box"> <view class="box-top"> <view class="color-block-blue"></view> <text class="title">閫夋嫨绔欏彴</text> @@ -12,7 +12,7 @@ <uni-combox @input="getCheckDetl" emptyTips="鏆傛棤鏁版嵁" :candidates="staNoList" v-model="staNo" placeholder="璇烽�夋嫨"></uni-combox> </view> </view> - </view> + </view> --> <view class="square-2"> <view class="square-title"> @@ -21,8 +21,24 @@ </view> <view class="square-content"> <view class="content-input"> - <input v-model="barcode" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8"placeholder-style="line-height: 85rpx;"> + <input v-model="barcode" @input="search" type="text" placeholder="鎵爜 / 杈撳叆" maxlength="8"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-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;"> + <uni-icons type="closeempty" size="20" color="#dadada" @click="removeMatnr()"></uni-icons> + </view> + <view class="content-btn"> + <button class="cu-btn bg-blue pda-btn" @click="selectMat()">+鎻愬彇</button> </view> </view> </view> @@ -40,6 +56,7 @@ <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > <view class="data-list-left"> <view class="matnr"><text style="width: 400rpx;">缂栫爜锛歿{item.matnr}}</text></view> + <view><text style="width: 400rpx;">瑙勬牸锛歿{item.specs}}</text></view> <view><text style="width: 400rpx;">鍝佸悕锛歿{item.maktx}}</text></view> <view><text style="width: 400rpx;">鎵瑰彿锛歿{item.batch}}</text></view> <view> @@ -61,22 +78,26 @@ </view> </view> </scroll-view> + <!-- <y-pop v-model="count" title="淇敼" :max="9999999" :show="show"></y-pop> --> <view> <!-- 淇敼鏁伴噺 --> - <uni-popup ref="revise" background-color="#fff" @change="change"> + <uni-popup ref="revise" @change="change"> <view class="revise-box"> <view class="revise-box-top"> <view class="color-block-blue"></view> - <text class="title">缁勬墭鏁伴噺</text> + <text class="title">淇敼</text> </view> - <view class="text-box"> - <text>鍙粍鏁伴噺锛歿{enableQty}}</text> + <view class="change"> + <view class="text-box"> + <text>鏁伴噺锛歿{enableQty}}</text> + </view> + <view class="changeBox"> + <view class="num-box"> + <uni-number-box v-model="count" :min="minCount" :max="99999999" color="#747474" @change="changeValue"/> + </view> + </view> </view> - <view class="changeBox"> - <view class="num-box"> - <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474" @change="changeValue"/> - </view> - </view> + <view class="revise-box-buttom"> <view> <button class="cu-btn bg-blue" @click="confirm()">纭</button> @@ -99,10 +120,13 @@ staNo:'', matnr:'', enableQty:'', - count:'', + count:15, maxCount:'', minCount:0, - rowNum:'' + rowNum:'', + show: false, + focus: false, + } }, mounted(){ @@ -113,25 +137,28 @@ const PROJ = uni.getStorageSync('UPROJ'); this.baseUrl = PROJ this.getUrl() - this.getOutBound(); }, methods: { // 鑾峰彇url getUrl() { this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl }, - getOutBound() { // 鑾峰彇鍑哄簱鍙� + // 鏍规嵁鎵樼洏鐮佹悳绱� + search() { let that = this uni.request({ - url: that.commonUrl + '/available/take/check/site', - method: 'POST', + url: that.commonUrl + '/mobile/checkDetl/auth2', header: { 'token':uni.getStorageSync('token') }, + data: {barcode: that.barcode}, + method:'GET', success(result) { - var res = result.data - if (res.code === 200) { - that.staNoList = res.data + let res = result.data + if(res.code === 200){ + for(var i = 0; i < res.data.length;i++){ + that.matList.push(res.data[i]) + } } else if (res.code == 403) { uni.showToast({title: res.msg, icon: "none", position: 'top'}) setTimeout(() => { @@ -142,56 +169,30 @@ } else { uni.showToast({title: res.msg, icon: "none",position: 'top'}) } - }, - }); - }, // getOutBound - getCheckDetl() { // 鑾峰彇鍑哄簱鍙h揣鐗╀俊鎭� - let that = this - uni.request({ - url: that.commonUrl + '/mobile/checkDetl/auth', - method: 'POST', - data: { - staNo:that.staNo - }, - header: { - 'token':uni.getStorageSync('token') - }, - success(result) { - var res = result.data - console.log(result) - if (res.code === 200) { - console.log(res.data) - } else if (res.code == 403) { - 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'}) - } - }, - }); - }, // getCheckDetl + } + + }) + }, selectMat() { // 閫夋嫨鍟嗗搧 let that = this uni.vibrateShort(); uni.navigateTo({ url: "matSelect", events: { - // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� acceptDataFromOpenedPage: function(data) { that.matnr = data.data that.findMat(that.matnr) + that.matnr = '' }, - }, - success: function(res) { - // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� - res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT }) - } + }, + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + res.eventChannel.emit('commonUrl', {commonUrl:that.commonUrl }) + }, + }); - that.matnr = '' + }, // selectMat findMat() { let that = this @@ -213,7 +214,7 @@ events: { // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� matList: function(data) { - that.matList.push(data.data) + that.checkMat(data.data) }, }, success: function(res) { @@ -226,20 +227,31 @@ } }); }, // findMat + removeMatnr() { + this.matnr = '' + uni.vibrateShort(); + this.focus = false; + this.$nextTick(function() { + this.focus = true; + }); + }, revise(item,index) { - var maxCount = this.matList[index].maxCount - if (maxCount == undefined ) { - this.matList[index]["maxCount"] = item.enableQty - } - this.enableQty = item.enableQty - this.count = this.minCount - this.maxCount = item.maxCount + // var maxCount = this.matList[index].maxCount + // if (maxCount == undefined ) { + // this.matList[index]["maxCount"] = item.enableQty + // } + // this.enableQty = item.enableQty + // this.count = this.minCount + // this.maxCount = item.maxCount + this.count = this.matList[index].anfme this.rowNum = index this.eject() + // this.show = true }, remove(item,index) { - this.matList.splice(index,1) + this.matList[index].anfme = 0 uni.vibrateShort(); + this.$forceUpdate() // 寮哄埗鍒锋柊 }, eject(type) { this.type = type @@ -255,27 +267,49 @@ confirm() { this.matList[this.rowNum].anfme = this.count this.$refs.revise.close() + this.$forceUpdate() // 寮哄埗鍒锋柊 }, resst() { this.matList = [] this.staNo = '' }, + // 娣诲姞鍟嗗搧 + addMat(mat) { + this.matList.unshift(mat) + }, + checkMat(mat) { + var len = this.matList.length + var add = true + for (var i = 0; i < len; i++) { + if (mat.matnr == this.matList[i].matnr) { + this.matList[i].anfme += mat.anfme + this.$forceUpdate() // 寮哄埗鍒锋柊 + add = false + } + } + if (add) { + this.matList.unshift(mat) + } + }, adjust() { let that = this + var combMats = [] + var combParam = {} + combParam['barcode'] = that.barcode + combParam['wrkDetls'] = that.matList uni.request({ - url: that.commonUrl + '/adjust/auth', + url: that.commonUrl + '/mobile/adjustNew/auth', method: 'POST', - data: { - combParam: that.matList - }, + data: JSON.stringify(combParam), header: { 'token':uni.getStorageSync('token') }, success(result) { var res = result.data - console.log(result) if (res.code === 200) { - + that.matList = [] + that.barcode = '' + uni.showToast({title: res.msg, icon: "none", position: 'top'}) } else if (res.code == 403) { uni.showToast({title: res.msg, icon: "none", position: 'top'}) setTimeout(() => { @@ -296,6 +330,25 @@ } // exprot </script> <style> + .revise-box { + width: 500rpx; + height: 300rpx; + display: flex; + flex-direction: column; + border-radius: 20rpx; + background-color: #F1F1F1; + } + .change { + height: 150rpx; + display: flex; + align-items: center; + justify-content: center; + } + .revise-box-buttom { + display: flex; + align-items: center; + justify-content: center; + } .pak-seach-box { background-color: #FFFFFF; margin: 15rpx 15rpx 0rpx 15rpx; @@ -373,7 +426,7 @@ } .data-list { border-bottom: 1px solid #d8d8d8; - height: 180rpx; + height: 230rpx; margin: 15rpx; border-radius: 20rpx; } @@ -397,8 +450,8 @@ display: inline-block; float: right; width: 200rpx; - height: 180rpx; - line-height: 180rpx; + height: 230rpx; + line-height: 230rpx; } .data-list-right label { display: inline-block; diff --git "a/pages/basics/\345\271\263\345\272\223.vue" "b/pages/basics/\345\271\263\345\272\223.vue" new file mode 100644 index 0000000..2fa1509 --- /dev/null +++ "b/pages/basics/\345\271\263\345\272\223.vue" @@ -0,0 +1,409 @@ +<template> + <view> + <scroll-view scroll-y> + <view class="pak-seach-box"> + <view class="box-top"> + <view class="color-block-blue"></view> + <text class="title">閫夋嫨绔欏彴</text> + </view> + <view> + <text class="item">鍑哄簱鍙�</text> + <view class="example-body"> + <uni-combox @input="getCheckDetl" emptyTips="鏆傛棤鏁版嵁" :candidates="staNoList" v-model="staNo" placeholder="璇烽�夋嫨"></uni-combox> + </view> + </view> + </view> + + <view class="square-2"> + <view class="square-title"> + <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="鎵爜 / 杈撳叆" maxlength="8"placeholder-style="line-height: 85rpx;"> + <uni-icons type="closeempty" size="20" color="#dadada" @click="removeBarcode" ></uni-icons> + </view> + </view> + </view> + <view class="pak-data-box"> + <view class="box-top"> + <view class="color-block-blue"></view> + <text class="title">鍟嗗搧鍒楄〃</text> + <!-- <button class="cu-btn bg-blue" @click="selectMat()">+ 娣诲姞</button> --> + </view> + </view> + <view class="pak-data-box" v-show="matList.length === 0"> + <view style="text-align: center;">鏆傛棤鏇村鏁版嵁</view> + </view> + <checkbox-group> + <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" > + <view class="data-list-left"> + <view class="matnr"><text style="width: 400rpx;">缂栫爜锛歿{item.matnr}}</text></view> + <view><text style="width: 400rpx;">鍝佸悕锛歿{item.maktx}}</text></view> + <view><text style="width: 400rpx;">鎵瑰彿锛歿{item.batch}}</text></view> + <view> + <text style="width: 400rpx;">鏁伴噺锛歿{item.anfme}}</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> + </view> + </view> + </checkbox-group> + <view class="footer flex justify-around"> + <view> + <button class="cu-btn lg" @click="resst()">閲嶇疆</button> + </view> + <view> + <button class="cu-btn lg pakin-btn bg-blue" @click="adjust()">纭</button> + </view> + </view> + </scroll-view> + <view> + <!-- 淇敼鏁伴噺 --> + <uni-popup ref="revise" background-color="#fff" @change="change"> + <view class="revise-box"> + <view class="revise-box-top"> + <view class="color-block-blue"></view> + <text class="title">缁勬墭鏁伴噺</text> + </view> + <view class="text-box"> + <text>鍙粍鏁伴噺锛歿{enableQty}}</text> + </view> + <view class="changeBox"> + <view class="num-box"> + <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474" @change="changeValue"/> + </view> + </view> + <view class="revise-box-buttom"> + <view> + <button class="cu-btn bg-blue" @click="confirm()">纭</button> + </view> + </view> + + </view> + </uni-popup> + </view> + </view> +</template> +<script> + export default { + data() { + return { + commonUrl:null, + matList:[], + staNoList:[], + barcode: '', + staNo:'', + matnr:'', + enableQty:'', + count:'', + maxCount:'', + minCount:0, + rowNum:'' + } + }, + mounted(){ + const UIP = uni.getStorageSync('UIP'); + this.baseIP = UIP; + const UPORT = uni.getStorageSync('UPORT'); + this.basePORT = UPORT + const PROJ = uni.getStorageSync('UPROJ'); + this.baseUrl = PROJ + this.getUrl() + this.getOutBound(); + }, + methods: { + // 鑾峰彇url + getUrl() { + this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl + }, + getOutBound() { // 鑾峰彇鍑哄簱鍙� + let that = this + uni.request({ + url: that.commonUrl + '/available/take/check/site', + method: 'POST', + header: { + 'token':uni.getStorageSync('token') + }, + success(result) { + var res = result.data + if (res.code === 200) { + that.staNoList = res.data + } else if (res.code == 403) { + 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'}) + } + }, + }); + }, // getOutBound + getCheckDetl() { // 鑾峰彇鍑哄簱鍙h揣鐗╀俊鎭� + let that = this + uni.request({ + url: that.commonUrl + '/mobile/checkDetl/auth', + method: 'POST', + data: { + staNo:that.staNo + }, + header: { + 'token':uni.getStorageSync('token') + }, + success(result) { + var res = result.data + console.log(result) + if (res.code === 200) { + console.log(res.data) + } else if (res.code == 403) { + 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'}) + } + }, + }); + }, // getCheckDetl + selectMat() { // 閫夋嫨鍟嗗搧 + let that = this + uni.vibrateShort(); + uni.navigateTo({ + url: "matSelect", + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� + acceptDataFromOpenedPage: function(data) { + that.matnr = data.data + that.findMat(that.matnr) + }, + }, + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� + res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT }) + } + }); + that.matnr = '' + }, // selectMat + findMat() { + let that = this + uni.request({ + url: that.commonUrl + '/mat/auth', + data: { + matnr:that.matnr + }, + header: { + 'token':uni.getStorageSync('token') + }, + success(result) { + uni.vibrateShort(); + let res = result.data + if (res.code === 200 && res.data) { + that.matData = res.data + uni.navigateTo({ + url: "matQuery", + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� + matList: function(data) { + that.matList.push(data.data) + }, + }, + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� + res.eventChannel.emit('matData', { data: that.matData }) + } + }); + } + + } + }); + }, // findMat + revise(item,index) { + var maxCount = this.matList[index].maxCount + if (maxCount == undefined ) { + this.matList[index]["maxCount"] = item.enableQty + } + this.enableQty = item.enableQty + this.count = this.minCount + this.maxCount = item.maxCount + this.rowNum = index + this.eject() + }, + remove(item,index) { + this.matList.splice(index,1) + uni.vibrateShort(); + }, + eject(type) { + this.type = type + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� + this.$refs.revise.open(type) + }, + change(e) { + // console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show); + }, + changeValue() { + + }, + confirm() { + this.matList[this.rowNum].anfme = this.count + this.$refs.revise.close() + }, + resst() { + this.matList = [] + this.staNo = '' + }, + adjust() { + let that = this + uni.request({ + url: that.commonUrl + '/adjust/auth', + method: 'POST', + data: { + combParam: that.matList + }, + header: { + 'token':uni.getStorageSync('token') + }, + success(result) { + var res = result.data + console.log(result) + if (res.code === 200) { + + } else if (res.code == 403) { + 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'}) + } + }, + }); + }, + removeBarcode() { + this.barcode = '' + } + } // methods + } // exprot +</script> +<style> + .pak-seach-box { + background-color: #FFFFFF; + margin: 15rpx 15rpx 0rpx 15rpx; + width: 96%; + height: 200rpx; + border-radius: 20rpx; + } + .box-top{ + display: block; + height: 80rpx; + width: 720rpx; + } + .color-block-blue { + background-color: #1E9FFF; + display: inline-block; + float: left; + margin: 30rpx 15rpx 0 15rpx; + width: 12rpx; + height: 40rpx; + border: 5rpx solid #1E9FFF; + border-radius: 20rpx; + } + .title { + display: inline-block; + float: left; + font-size: 34rpx; + font-weight: 700; + height: 50rpx; + line-height: 80rpx; + margin-top: 10rpx; + } + .item { + text-indent: 1em; + font-size: 16px; + display: inline-block; + margin-top: 40rpx; + } + .example-body { + position: fixed; + display: inline-block; + margin-top: 3.5%; + margin-left: 5%; + width: 70%; + z-index: 999; + } + + .pak-data-box { + background-color: #F1F1F1; + margin: 15rpx 15rpx 0rpx 15rpx; + width: 96%; + height: 100rpx; + border-radius: 20rpx; + line-height: 100rpx; + } + .pak-data-box>.box-top { + background-color: #FFFFFF; + height: 100rpx; + border-radius: 20rpx 20rpx 20rpx 20rpx; + } + .pak-data-box button { + background-color: #1E9FFF; + color: #ffffff; + display: inline-block; + float: right; + width: 150rpx; + height: 80rpx; + margin: 10rpx 25rpx 0rpx 0rpx; + line-height: 80rpx; + } + .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: 160rpx; + } + .data-list-left { + display: inline-block; + float: left; + margin-left: 6%; + height: 180rpx; + color: #676767; + } + .matnr { + padding-top: 10rpx; + } + .data-list-right { + display: inline-block; + float: right; + width: 200rpx; + height: 180rpx; + line-height: 180rpx; + } + .data-list-right label { + display: inline-block; + float: left; + width: 100rpx; + height: 180rpx; + } +</style> \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue index 2e53795..0b6a0d6 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -46,7 +46,7 @@ }, { title: '搴撳瓨鐩樼偣', - name: 'stoCheck', + name: 'stockCheck', color: 'blue', cuIcon: 'safe', show: true -- Gitblit v1.9.1