| | |
| | | </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> |
| | | <view class="square-1"> |
| | | <view class="square-title"> |
| | | <view class="title-sign"><view class="sign"></view></view> |
| | | <view class="title-text"><text>商品列表</text></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">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> |
| | |
| | | </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> |
| | | |
| | |
| | | messageText: '这是一条成功提示', |
| | | origins: [{value:'1288'},{value:'5055'}], |
| | | origin: null, // 仓库 |
| | | current: 0 |
| | | current: 0, |
| | | isNum:false, |
| | | memo:'', |
| | | hide:true, |
| | | ownerList: [], |
| | | ownerList2: '', |
| | | owner: '亚和', |
| | | ownerId: 2 |
| | | |
| | | } |
| | | }, |
| | | mounted(){ |
| | |
| | | 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 |
| | | 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++) { |
| | |
| | | data: JSON.stringify({ |
| | | barcode: that.barcode, |
| | | origin: that.origin, |
| | | owner: 2, |
| | | combMats: that.matList |
| | | }), |
| | | method: 'POST', |
| | |
| | | that.barcode = ''; |
| | | that.matList = ''; |
| | | that.matList = []; |
| | | that.owner = ''; |
| | | that.barcodeFocuss(); |
| | | } else if (res.code == 403) { |
| | | uni.showToast({title: res.msg, icon: "none", position: 'top'}) |
| | |
| | | this.matnrId = ''; |
| | | this.matList = []; |
| | | this.barcode = ''; |
| | | this.owner = '' |
| | | this.barcodeFocuss(); |
| | | }, |
| | | removeBarcode() { |
| | |
| | | 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.messageToggle('warn'); |
| | | this.messageText = '商品编码有误,请重试'; |
| | | this.foucss(); |
| | | return; |
| | | 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.commonUrl + "/mobile/addLog/auth", |
| | |
| | | }, |
| | | // method:"POST", |
| | | success(result) { |
| | | var res = result.data |
| | | 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 = '商品编码超长,请重试'; |
| | |
| | | let matnr = str[0] + '-' + str[1] |
| | | // 检查条码中非数字 |
| | | 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'); |
| | |
| | | return; |
| | | } |
| | | } |
| | | let userName = uni.getStorageSync('HCuname') |
| | | let matCode = that.matnrId |
| | | // 开启扫描日志 |
| | | that.addLog(matCode,userName) |
| | | |
| | | // return; |
| | | // uni.showLoading(); |
| | | uni.request({ |
| | | url: that.commonUrl + '/mat/auth', |
| | | url: that.commonUrl + '/barcode/check/auth', |
| | | data: { |
| | | matnr:matnr |
| | | barcode:that.matnrId |
| | | }, |
| | | header: { |
| | | 'token':uni.getStorageSync('token') |
| | |
| | | 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() // 强制刷新 |
| | | }, |
| | | |
| | | } |
| | | } |
| | |
| | | /* |
| | | |
| | | */ |
| | | .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%; |
| | |
| | | float: right; |
| | | height: 130rpx; |
| | | line-height: 130rpx; |
| | | margin-right: 10%; |
| | | margin-right: 2%; |
| | | width: 20%; |
| | | } |
| | | |
| | | </style> |