From 4aa1546dda1adf637a8d612c6dc0a535532294b4 Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 17 四月 2023 12:28:56 +0800 Subject: [PATCH] # --- pages/basics/outPakin.vue | 463 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 408 insertions(+), 55 deletions(-) diff --git a/pages/basics/outPakin.vue b/pages/basics/outPakin.vue index 3efc5b4..6ac8342 100644 --- a/pages/basics/outPakin.vue +++ b/pages/basics/outPakin.vue @@ -22,10 +22,19 @@ <view class="square-content"> <view class="content-input"> <input v-model="matnrId" type="text" placeholder="鎵爜 / 杈撳叆" @input="findMat()" - :focus="focus"> + :focus="focus"@focus="empty()"> <!-- :focus="focus" @blur="clear "> --> <!-- @focus="focuss" --> <uni-icons type="closeempty" size="20" color="#dadada" @click="foucss()"></uni-icons> + </view> + </view> + </view> + <view class="square-1"> + <view class="square-title" style="display: flex;"> + <view class="title-sign"><view class="sign"></view></view> + <view class="title-text" style="width: 200rpx;"><text>鎷ユ湁鑰�</text></view> + <view style="margin: auto auto;"> + <uni-combox :candidates="ownerList" placeholder="璇烽�夋嫨鎷ユ湁鑰�" v-model="owner"></uni-combox> </view> </view> </view> @@ -41,11 +50,12 @@ <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">No:{{listLen-index}}</view> + <view class="matnr">No:{{listLen-index}} <text style="margin-left: 4em;font-size: 10px;">{{item.memo}}</text></view> <view class="matnr">{{item.matnr}}-{{item.batch}}</view> </view> <view class="data-list-right"> - <uni-icons type="trash" size="20" color="#a5a5a5" @click="remove(item,index)"></uni-icons> + <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label> + <label style="margin-left: 10%;"><uni-icons type="trash" size="21" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label> </view> </view> </checkbox-group> @@ -64,6 +74,50 @@ <uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message> </uni-popup> </view> + <!-- 纭浠撳簱寮圭獥 --> + <view> + <uni-popup ref="checkOrigin" type="center" backgroundColor="#fff"> + <view class="origin-box"> + <view class="square-title"> + <view class="title-sign"><view class="sign"></view></view> + <view class="title-text"><text>纭浠撳簱</text></view> + </view> + + <view style="width: 100%;"> + <radio-group @change="radioChange" style="display: block;"> + <label class="radio" v-for="(origin, index) in origins" :key="origins.value"> + <radio style="transform:scale(0.7)" :value="origin.value" :checked="index === current" />{{origin.value}} + </label> + </radio-group> + </view> + + <view class="pop-btn flex justify-around"> + <button class="cu-btn bg-blue lg" @click="check()">纭</button> + </view> + </view> + </uni-popup> + </view> + + <!-- 寮圭獥 --> + <!-- 淇敼鏁伴噺 --> + <uni-popup ref="revise" background-color="#fff"> + <view class="revise-box "> + <view class="revise-box-top"> + <view class="color-block-blue"></view> + <text class="title">淇敼</text> + </view> + <view class="" style="position: relative;left: 40px;margin-bottom: 20px;"> + <text style="display: inline-block;float: left;width: 45px;line-height: 21px;height: 21px;">缈诲寘锛�</text> + <input type="text" style="width: 100px;border-bottom: 1px solid #9e9e9e;float: left;" v-model="memo"> + </view> + <view class="revise-box-buttom"> + <view> + <button class="cu-btn bg-blue" @click="confirm()">纭</button> + </view> + </view> + </view> + </uni-popup> + </view> </template> @@ -72,6 +126,7 @@ export default { data() { return { + commonUrl:null, barcode: '', barcodeFocus:true, focus:false, @@ -85,6 +140,17 @@ listLen:0, msgType: 'success', messageText: '杩欐槸涓�鏉℃垚鍔熸彁绀�', + origins: [{value:'1288'},{value:'5055'}], + origin: null, // 浠撳簱 + current: 0, + isNum:false, + memo:'', + hide:true, + ownerList: [], + ownerList2: '', + owner: '浜氬拰', + ownerId: 2 + } }, mounted(){ @@ -92,33 +158,139 @@ this.baseIP = UIP; const UPORT = uni.getStorageSync('UPORT'); this.basePORT = UPORT + const PROJ = uni.getStorageSync('UPROJ'); + this.baseUrl = PROJ + this.getUrl() + this.getOwner() }, onLoad() { + // #ifdef APP setInterval(()=>{ - uni.hideKeyboard() + if (this.hide) { + uni.hideKeyboard() + } else { + + } },20) + // #endif }, methods: { + // 鑾峰彇url + getUrl() { + this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl + }, + getOwner() { + let that = this + uni.request({ + url: that.commonUrl + '/locOwner/list/auth', + header: {'token':uni.getStorageSync('token')}, + success(result) { + for (var i = 0; i < result.data.data.records.length; i++) { + if(result.data.data.records[i].id == 1){ + break + } + that.ownerList.push(result.data.data.records[i].owner) + } + that.ownerList2 = result.data.data.records + } + + }) + setTimeout(()=>{ + + },100) + }, + getOwnerId(owner) { + + for (var key in this.ownerList2) { + if (this.ownerList2[key].owner == owner) { + this.ownerId = this.ownerList2[key].id + } + } + }, + radioChange(evt) { + for (let i = 0; i < this.origins.length; i++) { + if (this.origins[i].value === evt.detail.value) { + this.current = i; + break; + } + } + }, + // 纭鍑哄簱鍙� + check() { + let that = this + if (this.current == 0) { + this.origin = 1288 + } else { + this.origin = 5055 + } + this.$refs.checkOrigin.close() + uni.request({ + url: that.commonUrl + '/mobile/comb/auth', + data: JSON.stringify({ + barcode: that.barcode, + origin: that.origin, + owner: 2, + combMats: that.matList + }), + method: 'POST', + header: { + 'token':uni.getStorageSync('token') + }, + success(result) { + uni.showLoading(); + var res = result.data + if (res.code === 200) { + uni.showToast({ + title: res.msg, + position: 'bottom', + duration: 1000 + }); + that.barcode = ''; + that.matList = ''; + that.matList = []; + that.owner = ''; + that.barcodeFocuss(); + } 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'}) + } + } + }); + }, nextInput() { if (this.barcode.length == 8) { this.foucss() } }, + empty() { + return this.inputValue=''; + }, barcodeFocuss() { + // #ifdef APP let that = this; that.barcodeFocus = false; setTimeout(()=>{ that.matnrId = ''; that.barcodeFocus = true; }, 100); + // #endif + }, foucss() { + // #ifdef APP let that = this; that.focus = false; setTimeout(()=>{ that.matnrId = ''; that.focus = true; }, 100); + // #endif }, clear() { this.matnrId = '' @@ -132,6 +304,7 @@ this.matnrId = ''; this.matList = []; this.barcode = ''; + this.owner = '' this.barcodeFocuss(); }, removeBarcode() { @@ -158,52 +331,121 @@ uni.showToast({title: '璇锋坊鍔犲晢鍝佸垪琛�', icon: "none", position: 'top'}); return; } - uni.showLoading(); + that.$refs.checkOrigin.open() + this.getOwnerId(that.owner) + }, + // 杈撳叆鐨勪笉鏄暟瀛楃殑鎺掗櫎 + checkNum(theObj) { + var reg = /^[0-9]*$/; + if (!reg.test(theObj)) { + this.isNum = false; + return ; + } + var year = theObj.substring(0,2) + //鑾峰彇褰撳墠骞翠唤 + var dt = new Date(); + var thisYear = new Date().getFullYear() + '' + thisYear = thisYear.substring(2,4) + if(year > thisYear) { + this.isNum = false; + return ; + } + this.isNum = true; + }, + // 娣诲姞鎵弿鏃ュ織 + addLog(matCode,userName) { + + let that = this; uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mobile/comb/auth', - data: JSON.stringify({ - barcode: that.barcode, - combMats: that.matList - }), - method: 'POST', - header: { + url: that.commonUrl + "/mobile/addLog/auth", + data: { + matcode:matCode, + username:userName + }, + header: { 'token':uni.getStorageSync('token') - }, + }, + // method:"POST", success(result) { - uni.showLoading(); var res = result.data - if (res.code === 200) { - uni.showToast({ - title: res.msg, - position: 'bottom', - duration: 1000 - }); - that.barcode = ''; - that.matList = ''; - that.matList = []; - that.barcodeFocuss(); - } 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'}) + if(res.code === 200) { + // uni.showToast({title: "娣诲姞鎴愬姛", icon: "none",position: 'center'}) } } - }); + }) + }, + // 妫�绱㈠晢鍝� findMat() { let that = this + let userName = uni.getStorageSync('HCuname') + let matCode = that.matnrId + // 寮�鍚壂鎻忔棩蹇� + that.addLog(matCode,userName) + // that.foucss(); + // return; + if(that.matList.length > 15) { + that.messageToggle('warn'); + that.messageText = '缁勬墭鍟嗗搧鏁伴噺宸茶秴杩�16浠讹紝璇峰畬鎴愬綋鍓嶇粍鎵�'; + that.foucss(); + return; + } + if (that.matnrId.length > 25){ + that.messageToggle('warn'); + that.messageText = '鍟嗗搧缂栫爜瓒呴暱锛岃閲嶈瘯'; + that.foucss(); + return; + } let str = that.matnrId.split('-') let matnr = str[0] + '-' + str[1] - uni.showLoading(); + // 妫�鏌ユ潯鐮佷腑闈炴暟瀛� + that.checkNum(str[2]) + // 妫�鏌ュ簭鍒楃爜闀垮害 + if (str[2].length != 11) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧搴忓垪鐮侀暱搴︽湁璇紝璇烽噸璇曪紒'; + that.foucss(); + return; + } + // 妫�鏌ュ勾浠� + var dt = new Date(); + var year = (dt.getFullYear() + '').substring(2,4) + var month = (dt.getMonth()+1) < 10 ? '0'+ (dt.getMonth()+1) : (dt.getMonth()+1); + if (str[2].substring(0,2) > year) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧搴忓垪鐮佸勾浠芥湁璇紝璇烽噸璇曪紒'; + that.foucss(); + return; + } + // 妫�鏌ユ湀浠� + if (str[2].substring(2,4) > 12) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧搴忓垪鐮佹湀浠芥湁璇紝璇烽噸璇曪紒'; + that.foucss(); + return; + } + if (str) + if (that.isNum == false) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧缂栫爜鏈夎锛岃閲嶈瘯锛�'; + that.foucss(); + return; + } + for (let k = 0; k < that.matList.length;k++) { + if (that.matList[k].matnr != matnr) { + that.messageToggle('warn'); + that.messageText = '鍟嗗搧绉嶇被涓嶄竴鑷达紝璇烽噸璇曪紒'; + that.foucss(); + return; + } + } + + // return; + // uni.showLoading(); uni.request({ - url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + '/mat/auth', + url: that.commonUrl + '/barcode/check/auth', data: { - matnr:matnr + barcode:that.matnrId }, header: { 'token':uni.getStorageSync('token') @@ -255,6 +497,30 @@ change(e) { console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show); }, + revise(item,index) { + this.memo = this.matList[index].memo + // 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() + }, + eject(type) { + this.hide = false + this.type = type + // open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴�� + this.$refs.revise.open(type) + }, + confirm() { + this.matList[this.rowNum].memo = this.memo + this.hide = true + this.$refs.revise.close() + this.$forceUpdate() // 寮哄埗鍒锋柊 + }, } } @@ -266,24 +532,109 @@ /* @import "../../colorui/main.css"; @import "../../colorui/icon.css"; */ /* - 1101842-10000-22047515999 - 1101842-10000-22047518494 - 1101842-10000-22047518532 - 1101842-10000-22047515990 - 1101842-10000-22047515997 - 1101842-10000-22047518515 - 1101842-10000-22047515778 - 1101842-10000-22047515938 - 1101842-10000-22047518518 - 1101842-10000-22047518517 - 1101842-10000-22047515967 - 1101842-10000-22047518472 - 1101842-10000-22047518516 - 1101842-10000-22047518511 - 1101842-10000-22047515864 - 1101842-10000-22047515889 - */ + */ + .revise-box { + position: relative; + width: 500rpx; + height: 400rpx; + border-radius: 25px; + } + .revise-box-top { + width: 400rpx; + height: 120rpx; + border-radius: 25px; + } + .changeBox { + width: 400rpx; + height: 100rpx; + } + .num-box { + margin-left: 100rpx; + } + .revise-box-buttom{ + margin-left: 190rpx; + margin-top: 200rpx; + } + .pak-seach-box { + background-color: #FFFFFF; + margin: 15rpx 15rpx 0rpx 15rpx; + width: 96%; + height: 150rpx; + border-radius: 20rpx; + } + .box-top{ + display: block; + height: 60rpx; + width: 720rpx; + } + .color-block-blue { + background-color: #1E9FFF; + display: inline-block; + float: left; + margin: 15rpx 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: 50rpx; + margin-top: 10rpx; + } + .box-buttom { + display: inline-block; + background-color: #ededed; + width: 65%; + height: 60rpx; + border-radius: 20rpx; + margin: 15rpx 15rpx 0rpx 15rpx; + } + .box-buttom input { + width: 75%; + float: left; + margin: 8rpx 10rpx 0rpx 25rpx; + } + .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; + display: inline-block; + border-radius: 20rpx; + float: left; + width: 70%; + height: 60rpx; + line-height: 60rpx; + margin: 15rpx 15rpx 0rpx 15rpx; + padding-left: 20rpx; + } */ + .pak-seach-box button { + background-color: #1E9FFF; + color: #ffffff; + display: inline-block; + float: right; + width: 180rpx; + height: 60rpx; + margin: 15rpx 15rpx 0rpx 15rpx; + line-height: 60rpx; + } + + .pop-btn { + position: absolute; + width: 100%; + bottom: 20rpx; + } .pak-seach-box { background-color: #FFFFFF; margin: 15rpx 15rpx 0rpx 15rpx; @@ -417,6 +768,8 @@ float: right; height: 130rpx; line-height: 130rpx; - margin-right: 10%; + margin-right: 2%; + width: 20%; } + </style> \ No newline at end of file -- Gitblit v1.9.1