pages.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/home/home.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/tzsk/AGV/AGVPakin.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/tzsk/order/orderPutOn.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pages/tzsk/pakin/pakin.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
static/css/wms.css/wms.css | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
pages.json
@@ -85,6 +85,18 @@ } }, { "path": "pages/tzsk/pakin/pakin", "style": { "navigationBarTitleText": "组托入库" } }, { "path": "pages/tzsk/order/orderPutOn", "style": { "navigationBarTitleText": "组托上架" } }, { "path": "pages/order/orderPakin", "style": { "navigationBarTitleText": "订单入库" pages/home/home.vue
@@ -24,18 +24,25 @@ icon: '', elements: [], elements2: [ // { // title: '组托入库', // name: 'pakin', // color: 'cyan', // cuIcon: 'pullup', // url: '/pakin/pakin' // }, { title: '组托入库', name: 'pakin', color: 'cyan', cuIcon: 'pullup', url: '/tzsk/pakin/pakin' }, { title: '组托上架', name: 'pakin', color: 'cyan', cuIcon: 'pullup', url: '/tzsk/order/orderPutOn' }, { title: '临时入库', name: 'pakin', color: 'cyan', cuIcon: 'pullup', url: '/pakin/pakin2' }, { pages/tzsk/AGV/AGVPakin.vue
@@ -177,6 +177,8 @@ // 根据订单号返回商品详情 findOrder() { let that = this that.tempOrderInfo.csocode = '' that.tempOrderInfo.isoseq = '' uni.request({ url: that.baseUrl + '/mobile/order/search/orderNo/auth', header: {'token': uni.getStorageSync('token')}, @@ -186,12 +188,12 @@ success(res) { res = res.data if (res.code === 200) { if(res.data) { for (var i = 0; i < res.data[0].combMats.length; i++) { if(res.data && res.data[0].combMats) { for (let i = 0; i < res.data[0].combMats.length; i++) { that.checkMat(res.data[0].combMats[i]) } that.tempOrderInfo.csocode = res.data[0].combMats.csocode ? res.data[0].combMats.csocode : '' that.tempOrderInfo.isoseq = res.data[0].combMats.isoseq ? res.data[0].combMats.isoseq : '' // that.tempOrderInfo.csocode = res.data[0].combMats.csocode ? res.data[0].combMats.csocode : '' // that.tempOrderInfo.isoseq = res.data[0].combMats.isoseq ? res.data[0].combMats.isoseq : '' } else { uni.showToast({ title: that.orderNo + '请检查订单号是否正确', @@ -446,6 +448,11 @@ this.messageToggle('error') return; } if (that.dataList.length > 1) { this.messageText = "只能添加一种物料" this.messageToggle('error') return; } for (var i = 0; i < that.dataList.length; i++) { if (that.dataList[i].anfme == 0 || that.dataList[i].anfme == '') { this.messageText = that.dataList[i].matnr + '组托数量不能为0' @@ -453,6 +460,7 @@ return; } } console.log(that.dataList); uni.request({ url: that.baseUrl + '/agvMobile/comb/auth', data: JSON.stringify({ pages/tzsk/order/orderPutOn.vue
New file @@ -0,0 +1,493 @@ <template> <view> <view class="code"> <view class="item"> <view class="code-decs">托盘码:</view> <input type="text" placeholder=" 扫码 / 输入" v-model="barcode" :focus="barcodeFocus" @input="recommendLoc()"> <view class="item-right"> <button></button> </view> </view> <view class="item"> <view class="code-decs">库位号:</view> <input type="text" placeholder=" 扫码 / 输入" v-model="locNo" :focus="locNoFocus"> <button v-show="recommendLocs.length" size="mini" type="primary" @click="toggle('right')">推荐</button> </view> </view> <view class="mat-list-title"> 商品列表 </view> <scroll-view> <view class="list" v-for="(item,i) in dataList" :key="i"> <view class="list-left"> <view class="list-left-item"> <view class="desc">No:</view> <view class="left-item">{{i + 1}}</view> </view> <view class="list-left-item"> <view class="desc">订单号:</view> <view class="left-item"> <uni-tag :text="item.orderNo" type="primary"></uni-tag> </view> </view> <view class="list-left-item"> <view class="desc">料号:</view> <view class="left-item"> <uni-tag :text="item.matnr" type="primary"></uni-tag> </view> </view> <view class="list-left-item"> <view class="desc">名称:</view> <view class="left-item">{{item.maktx}}</view> </view> <view class="list-left-item"> <view class="desc">规格:</view> <view class="left-item">{{item.specs}}</view> </view> <view class="list-left-item"> <view class="desc">批号:</view> <view class="left-item"> <uni-tag :text="item.batch" type="warning"></uni-tag> </view> </view> <view class="list-left-item"> <view class="desc">重量:</view> <view class="left-item"> <uni-tag :text="item.weight" type="warning"></uni-tag> </view> </view> <view class="list-left-item"> <view class="desc">数量:</view> <view class="left-item">{{item.anfme}}</view> </view> </view> <view class="list-right"> <uni-icons type="compose" color="#9add8b" size="24" @click="revise(item,i)"></uni-icons> <uni-icons type="trash" color="#f58a8a" size="24" @click="remove(item,i,'warn')"></uni-icons> </view> </view> </scroll-view> <!-- 底部操作按钮 --> <view class="buttom"> <button size="mini" @click="reset('warn')">重置</button> <button size="mini" type="primary" @click="combConfirm('warn')">上架</button> </view> <!-- 弹窗 --> <!-- 修改数量 --> <view> <uni-popup ref="revise" type="dialog"> <view class="popup"> <!-- 标题 --> <view class="title">修改</view> <view class="popup-item"> <view class="popup-item-left">料号:</view> <view class="popup-item-right"> <input type="text" v-model="matnr1" disabled="true" style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;"> </view> </view> <!-- <view class="popup-item"> <view class="popup-item-left">批号:</view> <view class="popup-item-right"><input type="text" v-model="batch"></view> </view> --> <view class="popup-item"> <view class="popup-item-left">重量:</view> <view class="popup-item-right"><input type="text" v-model="weight"></view> </view> <view class="popup-item"> <view class="popup-item-left">数量:</view> <view class="popup-item-right" style="border: none;justify-content: center;"> <uni-number-box :value="count" :step='0.01' :max="9999999" color="#747474" @change="changeValue" /> </view> </view> <view class="btn"> <view class="btn-left" @click="reviseClose">取消</view> <view class="btn-right" @click="reviseConfirm()">修改</view> </view> </view> </uni-popup> </view> <!-- 移除确认 --> <view> <!-- 提示窗示例 --> <uni-popup ref="alertDialog" type="dialog"> <uni-popup-dialog :type="msgType" confirmText="移除" :title="title" :content="content" @confirm="removeConfirm" @close="removeClose"></uni-popup-dialog> </uni-popup> </view> <view> <!-- 提示信息弹窗 --> <uni-popup ref="message" type="message"> <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message> </uni-popup> </view> <!-- 确认上架 --> <view> <uni-popup ref="combConfirm" type="dialog"> <uni-popup-dialog :type="msgType" cancelText="取消" confirmText="确认" :title="title" :content="content" @confirm="comb" @close="combClose"></uni-popup-dialog> </uni-popup> </view> <!-- 确认重置 --> <view> <uni-popup ref="resetConfirm" type="dialog"> <uni-popup-dialog :type="msgType" cancelText="取消" confirmText="确认" :title="title" :content="content" @confirm="resetConfirm" @close="resetClose"></uni-popup-dialog> </uni-popup> </view> <view> <!-- 提示信息弹窗 --> <uni-popup ref="message" type="message"> <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message> </uni-popup> </view> <view> <!-- 普通弹窗 --> <uni-popup ref="popup" background-color="#fff"> <scroll-view scroll-y="true" class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }"> <view class="recommend" v-for="item in recommendLocs" @click="chose(item)"> {{ item }}</view> </scroll-view> </uni-popup> </view> </view> </template> <script> export default { data () { return { baseUrl: '', token: '', order: '', barcode: '', locNo: '', barcodeFocus: '', dataList: [], count: 0, rowNum: '', matnr: '', matnr1: '', batch: '', weight: '', msgType1: 'success', msgType: 'success', messageText: '', title: '', content: '', barcodeFocus: false, locNoFocus: true, matData: '', removeNum: 0, type: 'center', recommendLocs: [] } }, onShow() { this.baseUrl = uni.getStorageSync('baseUrl'); this.token = uni.getStorageSync('token'); }, methods: { chose(item) { this.locNo = item this.$refs.popup.close() }, toggle(type) { this.type = type // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性 this.$refs.popup.open(type) }, messageToggle(type) { this.msgType1 = type this.$refs.message.open() }, matnrInput() { setTimeout(() => { this.focuss() }, 200) }, // 托盘码有误重置 barcodeFocuss() { let that = this; that.barcodeFocus = false; setTimeout(() => { that.barcode = ''; that.barcodeFocus = true; }, 100); }, // 商品光标清空重置 focuss() { setTimeout(() => { this.matnr = ''; this.matFocus = true; }, 100); }, // 推荐库位 recommendLoc() { let that = this that.recommendLocs = [] uni.request({ url: that.baseUrl + '/mobile/node/recommend/loc', data: {barcode: that.barcode}, header: {'token': uni.getStorageSync('token')}, method: 'POST', success(res) { res = res.data console.log(res); that.recommendLocs.push('DT-C-010202') return if (res.code == 200 && res.data) { that.recommendLocs = res.data } } }) }, checkMat(mat) { mat['orderNo'] = this.order var len = this.dataList.length var add = true ,sameItem = false for (var i = 0; i < len; i++) { if (mat.orderNo != this.dataList[i].orderNo) { add = true break; } else { if (mat.matnr == this.dataList[i].matnr) { for (var j = 0; j < len; j++) { if (mat.batch == this.dataList[j].batch) { sameItem = true } } // 相同物料 不同批号 新加列表 if (mat.batch != this.dataList[i].batch) { this.$forceUpdate() // 强制刷新 if (sameItem) { add = false } else { add = true } } else { // 相同物料相同批号 数量累加 this.dataList[i].anfme += mat.anfme this.$forceUpdate() // 强制刷新 add = false } } } } if (add) { this.dataList.unshift(mat) } }, combConfirm(type) { this.msgType = type this.title = '警告' this.content = '是否现在上架!' this.$refs.combConfirm.open() }, comb() { uni.vibrateShort(); let that = this; if (that.barcode === '') { this.messageText = "请添加库位码" this.messageToggle('error') return; } // if (that.dataList.length === 0) { // this.messageText = "请添加商品列表" // this.messageToggle('error') // return; // } // for (var i = 0; i < that.dataList.length; i++) { // if (that.dataList[i].anfme == 0 || that.dataList[i].anfme == '') { // this.messageText = that.dataList[i].matnr + '上架数量不能为0' // this.messageToggle('error') // return; // } // } uni.request({ url: that.baseUrl + '/mobile/node/puttway', data: JSON.stringify({ locNo: that.locNo, zpallet: that.barcode }), method: 'POST', header: { 'token': uni.getStorageSync('token') }, success(result) { var res = result.data if (res.code === 200) { that.resst(); that.messageText = "上架成功" that.messageToggle('success') } else if (res.code == 403) { that.messageText = res.msg that.messageToggle('error') setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); } else { that.messageText = res.msg that.messageToggle('error') } } }); }, reset(type) { this.msgType = type this.title = '警告' this.content = '是否重置!' this.$refs.resetConfirm.open() }, // 确认重置 resetConfirm() { this.dataList = [] this.order = '' this.barcode = '' this.messageText = "重置完成" this.messageToggle('success') }, // 取消重置 resetClose() { }, // 修改批号 revise(item, i) { this.matnr1 = this.dataList[i].matnr this.count = this.dataList[i].anfme this.batch = this.dataList[i].batch this.weight = this.dataList[i].weight this.rowNum = i this.eject() }, eject(type) { this.type = type this.$refs.revise.open(type) }, // 列表移除按钮 remove(item, i, type) { this.removeNum = i this.msgType = type this.title = '警告' this.content = '是否移除当前商品!' this.$refs.alertDialog.open(i) }, // 确认移除 removeConfirm(i) { this.messageText = "移除成功" this.messageToggle('success') this.dataList.splice(this.removeNum, 1) }, reviseConfirm() { this.dataList[this.rowNum].anfme = this.count this.dataList[this.rowNum].batch = this.batch this.dataList[this.rowNum].weight = this.weight this.messageText = "修改成功" this.messageToggle('success') this.$refs.revise.close() this.$forceUpdate() // 强制刷新 }, reviseClose() { this.$refs.revise.close() }, changeValue(value) { this.count = value }, // 清空 resst() { this.dataList = [] this.barcode = '' this.recommendLocs = [] this.barcodeFocuss() }, combClose() { this.$refs.combConfirm.close() }, // 取消移除 removeClose() { this.$refs.alertDialog.close() }, } } </script> <style> @import url('../../../static/css/wms.css/wms.css'); .popup-content { /* height: 90vh; */ height: 90vh; width: 200px; } .recommend { width: 300rpx; height: 100rpx; text-align: center; line-height: 100rpx; } .list { display: flex; min-height: 80rpx; background-color: #FFF; margin: auto 20rpx; border-radius: 20rpx; box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.2); } .list:first-child { margin-top: 410rpx; } .list:last-child { margin-bottom: 120rpx; } .code { width: 100%; position: fixed; min-height: 200rpx; background-color: #FFF; z-index: 10; } .item { display: flex; align-items: center; height: 100rpx; margin-left: 20rpx; border-bottom: 1px solid #DCDFE6; } .item input { height: 50rpx; line-height: 50rpx; /* font-family: PingFang SC; uniapp 默认字体不居中 */ font-size: 36upx; font-family: PingFang SC; width: 55vw; } .code-decs { width: 20vw; font-size: 18px; color: #303133; } .item-right { margin-left: auto; margin-right: 20rpx; } .mat-list-title { height: 80rpx; line-height: 80rpx; width: 100%; background-color: white; position: fixed; margin-top: 200rpx; z-index: 9; /* border-top: 1px solid #DCDFE6; */ text-align: center; box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.5); } </style> pages/tzsk/pakin/pakin.vue
New file @@ -0,0 +1,583 @@ <template> <view> <view class="code"> <view class="item"> <view class="code-decs">订单号:</view> <input type="text" placeholder=" 扫码 / 输入" v-model="orderNo" :focus="orderNoFocus" @input="findOrder()"> </view> <view class="item"> <view class="code-decs">托盘码:</view> <input type="text" placeholder=" 扫码 / 输入" v-model="barcode" :focus="barcodeFocus" @input="barcodeInput()"> </view> <view class="item"> <view class="code-decs">物料码:</view> <input type="text" placeholder=" 扫码 / 输入" v-model="matnr" :focus="matFocus" @input="findMat()"> <view class="item-right"> <button></button> <text style="text-align: right;color: #409EFF;" @click="selectMat()">提取+</text> <uni-icons type="right" color="#c1c1c1"></uni-icons> </view> </view> </view> <view class="mat-list-title"> 商品列表 </view> <scroll-view> <view class="list" v-for="(item,i) in dataList" :key="i"> <view class="list-left"> <view class="list-left-item"> <view class="desc">No:</view> <view class="left-item">{{i + 1}}</view> </view> <view class="list-left-item"> <view class="desc">箱码:</view> <view class="left-item"> <input type="text" v-model="item.containerCode"> <!-- <uni-tag :text="item.containerCode" type="primary"></uni-tag> --> </view> </view> <view class="list-left-item"> <view class="desc">销售单号:</view> <view class="left-item"> <input type="text" v-model="item.csocode"> <!-- <uni-tag :text="item.containerCode" type="primary"></uni-tag> --> </view> </view> <view class="list-left-item"> <view class="desc">订单行号:</view> <view class="left-item"> <input type="text" v-model="item.isoseq"> <!-- <uni-tag :text="item.containerCode" type="primary"></uni-tag> --> </view> </view> <view class="list-left-item"> <view class="desc">编码:</view> <view class="left-item"> <uni-tag :text="item.matnr" type="primary"></uni-tag> </view> </view> <view class="list-left-item"> <view class="desc">品名:</view> <view class="left-item">{{item.maktx}}</view> </view> <view class="list-left-item"> <view class="desc">规格:</view> <view class="left-item">{{item.specs}}</view> </view> <view class="list-left-item"> <view class="desc">批号:</view> <view class="left-item"> <uni-tag :text="item.batch" type="warning"></uni-tag> </view> </view> <!-- <view class="list-left-item"> <view class="desc">重量:</view> <view class="left-item"> <uni-tag :text="item.weight" type="warning"></uni-tag> </view> </view> --> <view class="list-left-item"> <view class="desc">数量:</view> <view class="left-item">{{item.anfme}}</view> </view> </view> <view class="list-right"> <uni-icons type="compose" color="#9add8b" size="24" @click="revise(item,i)"></uni-icons> <uni-icons type="trash" color="#f58a8a" size="24" @click="remove(item,i,'warn')"></uni-icons> </view> </view> </scroll-view> <!-- 底部操作按钮 --> <view class="buttom"> <button size="mini" @click="reset('warn')">重置</button> <button size="mini" type="primary" @click="combConfirm('warn')">组托</button> </view> <!-- 弹窗 --> <!-- 修改数量 --> <view> <uni-popup ref="revise" type="dialog"> <view class="popup"> <!-- 标题 --> <view class="title">修改</view> <view class="popup-item"> <view class="popup-item-left">编码:</view> <view class="popup-item-right"> <input type="text" v-model="matnr" disabled="true" style="background-color: #f7f7f7;padding: 0;color: #d5d5d5;"> </view> </view> <!-- <view class="popup-item"> <view class="popup-item-left">批号:</view> <view class="popup-item-right"><input type="text" v-model="batch"></view> </view> --> <!-- <view class="popup-item"> <view class="popup-item-left">重量:</view> <view class="popup-item-right"><input type="text" v-model="weight"></view> </view> --> <view class="popup-item"> <view class="popup-item-left">数量:</view> <view class="popup-item-right" style="border: none;justify-content: center;"> <uni-number-box :value="count" :step='0.01' :max="9999999" color="#747474" @change="changeValue" /> </view> </view> <view class="btn"> <view class="btn-left" @click="reviseClose">取消</view> <view class="btn-right" @click="reviseConfirm()">修改</view> </view> </view> </uni-popup> </view> <!-- 移除确认 --> <view> <!-- 提示窗示例 --> <uni-popup ref="alertDialog" type="dialog"> <uni-popup-dialog :type="msgType" confirmText="移除" :title="title" :content="content" @confirm="removeConfirm()" @close="removeClose"></uni-popup-dialog> </uni-popup> </view> <view> <!-- 提示信息弹窗 --> <uni-popup ref="message" type="message"> <uni-popup-message :type="msgType1" :message="messageText" :duration="2000"></uni-popup-message> </uni-popup> </view> <!-- 确认组托 --> <view> <uni-popup ref="combConfirm" type="dialog"> <uni-popup-dialog :type="msgType" cancelText="取消" confirmText="确认" :title="title" :content="content" @confirm="comb" @close="combClose"></uni-popup-dialog> </uni-popup> </view> <!-- 确认重置 --> <view> <uni-popup ref="resetConfirm" type="dialog"> <uni-popup-dialog :type="msgType" cancelText="取消" confirmText="确认" :title="title" :content="content" @confirm="resetConfirm" @close="resetClose"></uni-popup-dialog> </uni-popup> </view> </view> </template> <script> export default { data() { return { baseUrl: '', token: '', barcode: '', orderNo: '', dataList: [], count: 0, rowNum: '', matnr: '', batch: '', weight: '', msgType1: 'success', msgType: 'success', messageText: '', title: '', content: '', barcodeFocus: false, orderNoFocus: true, matFocus: false, matData: '', removeNum: 0, tempOrderInfo: {csocode: '',isoseq: ''} } }, onLoad() { }, onShow() { this.baseUrl = uni.getStorageSync('baseUrl'); this.token = uni.getStorageSync('token'); }, methods: { // 根据订单号返回商品详情 findOrder() { let that = this that.tempOrderInfo.csocode = '' that.tempOrderInfo.isoseq = '' uni.request({ url: that.baseUrl + '/mobile/order/search/orderNo/auth', header: {'token': uni.getStorageSync('token')}, data: { orderNo: that.orderNo }, success(res) { res = res.data if (res.code === 200) { if(res.data && res.data[0].combMats) { for (let i = 0; i < res.data[0].combMats.length; i++) { that.checkMat(res.data[0].combMats[i]) } // that.tempOrderInfo.csocode = res.data[0].combMats.csocode ? res.data[0].combMats.csocode : '' // that.tempOrderInfo.isoseq = res.data[0].combMats.isoseq ? res.data[0].combMats.isoseq : '' } else { uni.showToast({ title: that.orderNo + '请检查订单号是否正确', icon: "none", position: 'top' }) } } 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' }) } } }) }, messageToggle(type) { this.msgType1 = type this.$refs.message.open() }, // barcode input 事件 barcodeInput() { // 不设置定时器 会出现扫入的字符串不全 setTimeout(() => { var len = this.barcode.length if (len != 8) { uni.showToast({ title: '托盘码有误请重试', icon: "none", position: 'top' }); this.barcodeFocuss() return; } this.focuss() }, 200) }, // 托盘码有误重置 barcodeFocuss() { let that = this; that.barcodeFocus = false; setTimeout(() => { that.barcode = ''; that.barcodeFocus = true; }, 100); }, // 商品光标清空重置 focuss() { this.focus = false; setTimeout(() => { this.matnr = ''; this.matFocus = true; }, 100); }, // 搜索物料 findMat() { let that = this uni.request({ url: that.baseUrl + '/mat/auth', data: { matnr: that.matnr }, header: { 'token': uni.getStorageSync('token') }, success(result) { result = result.data if (result.code === 200 && result.data) { that.matData = result.data that.matnr = '' that.matData['batch'] = '' uni.navigateTo({ url: "../mat/matSelected", // 通过eventChannel向被打开页面传送数据 success: function(res) { res.eventChannel.emit('mat', { data: result.data }) }, // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 events: { matList: function(data) { that.checkMat(data.data) that.focuss() }, }, }); } else if (result.code == 403) { uni.showToast({ title: result.msg, icon: "none", position: 'top' }) setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); } else { uni.showToast({ title: result.msg, icon: "none", position: 'top' }) } } }); }, selectMat() { let that = this uni.navigateTo({ url: "../mat/matQuery", success: function(res) { // 通过eventChannel向被打开页面传送数据 向另外一个页面传递值的 res.eventChannel.emit('commonUrl', { commonUrl: '' }) }, events: { // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据 另外一个页面传过来的 acceptDataFromOpenedPage: function(data) { that.matnr = data.data that.findMat(that.matnr) }, }, }); that.matnr = '' }, checkMat(mat) { var len = this.dataList.length var add = true ,sameItem = false for (var i = 0; i < len; i++) { if (mat.matnr == this.dataList[i].matnr) { for (var j = 0; j < len; j++) { if (mat.batch == this.dataList[j].batch) { sameItem = true } } // 相同物料 不同批号 新加列表 if (mat.batch != this.dataList[i].batch) { this.$forceUpdate() // 强制刷新 if (sameItem) { add = false } else { add = true } } else { // 相同物料相同批号 数量累加 this.dataList[i].anfme += mat.anfme this.$forceUpdate() // 强制刷新 add = false } } } if (add) { this.dataList.unshift(mat) } }, // 修改批号 revise(item, i) { this.matnr = this.dataList[i].matnr this.count = this.dataList[i].anfme this.batch = this.dataList[i].batch this.weight = this.dataList[i].weight this.rowNum = i this.eject() }, eject(type) { this.type = type this.$refs.revise.open(type) }, // 列表移除按钮 remove(item, i, type) { this.removeNum = i this.msgType = type this.title = '警告' this.content = '是否移除当前商品!' this.$refs.alertDialog.open(i) }, // 确认移除 removeConfirm() { this.messageText = "移除成功" this.messageToggle('success') this.dataList.splice(this.removeNum, 1) }, // 取消移除 removeClose() { this.$refs.alertDialog.close() }, reviseConfirm() { this.dataList[this.rowNum].anfme = this.count this.dataList[this.rowNum].batch = this.batch this.dataList[this.rowNum].weight = this.weight this.matnr = '' this.messageText = "修改成功" this.messageToggle('success') this.$refs.revise.close() }, reviseClose() { this.$refs.revise.close() }, changeValue(value) { this.count = value }, combConfirm(type) { this.msgType = type this.title = '警告' this.content = '是否现在组托!' this.$refs.combConfirm.open() }, combClose() { this.$refs.combConfirm.close() }, comb() { uni.vibrateShort(); let that = this; if (that.barcode === '') { this.messageText = "请扫描托盘条码" this.messageToggle('error') return; } if (that.dataList.length === 0) { this.messageText = "请添加商品列表" this.messageToggle('error') return; } for (var i = 0; i < that.dataList.length; i++) { if (that.dataList[i].anfme == 0 || that.dataList[i].anfme == '') { this.messageText = that.dataList[i].matnr + '组托数量不能为0' this.messageToggle('error') return; } } uni.request({ url: that.baseUrl + '/mobile/comb/auth', data: JSON.stringify({ barcode: that.barcode, combMats: that.dataList }), method: 'POST', header: { 'token': uni.getStorageSync('token') }, success(result) { var res = result.data if (res.code === 200) { that.resst(); that.messageText = "组托成功" that.messageToggle('success') const innerAudioContext = uni.createInnerAudioContext(); innerAudioContext.src = '/static/music/pakinOk.mp3'; innerAudioContext.play() } else if (res.code == 403) { that.messageText = res.msg that.messageToggle('error') setTimeout(() => { uni.reLaunch({ url: '../login/login' }); }, 1000); } else { that.messageText = res.msg that.messageToggle('error') } } }); }, reset(type) { this.msgType = type this.title = '警告' this.content = '是否重置!' this.$refs.resetConfirm.open() }, // 确认重置 resetConfirm() { this.dataList = [] this.barcode = '' this.messageText = "重置完成" this.messageToggle('success') }, // 取消重置 resetClose() { }, // 清空 resst() { this.dataList = [] this.barcode = '' this.orderNo = '' this.barcodeFocuss() }, } } </script> <style> @import url('../../../static/css/wms.css/wms.css'); .code { width: 100%; position: fixed; min-height: 210rpx; background-color: #FFF; z-index: 10; } .item { display: flex; align-items: center; height: 70rpx; margin-left: 20rpx; border-bottom: 1px solid #DCDFE6; } .item input { height: 50rpx; line-height: 50rpx; /* font-family: PingFang SC; uniapp 默认字体不居中 */ font-size: 36upx; font-family: PingFang SC; width: 55vw; } .code-decs { width: 20vw; font-size: 18px; color: #303133; } .item-right { margin-left: auto; margin-right: 20rpx; } .mat-list-title { height: 80rpx; line-height: 80rpx; width: 100%; background-color: white; position: fixed; margin-top: 200rpx; z-index: 9; /* border-top: 1px solid #DCDFE6; */ text-align: center; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2); } </style> static/css/wms.css/wms.css
@@ -36,6 +36,9 @@ margin: 1px 1px 1px 1px; /* color: #409EFF; */ } .left-item input { border-bottom: 1px solid #cecece; } .list-right { display: flex; width: 20vw;