#
whycq
2023-04-27 d1637ba45da765197505b704ff4625a8b2ffdef6
#
1个文件已修改
203 ■■■■■ 已修改文件
pages/pakin/orderPakin.vue 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/pakin/orderPakin.vue
@@ -11,15 +11,15 @@
                <input type="text" placeholder=" 扫码 / 输入" v-model="barcode" :focus="barcodeFocus"
                    @confirm="barcodeInput()">
            </view>
            <!-- <view class="item">
            <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>
                    <!-- <text style="text-align: right;color: #409EFF;" @click="selectMat()">提取+</text> -->
                    <!-- <uni-icons type="right" color="#c1c1c1"></uni-icons> -->
                </view>
            </view> -->
            </view>
        </view>
        <view class="mat-list-title">
            商品列表
@@ -126,6 +126,12 @@
                    @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>
</template>
@@ -159,6 +165,10 @@
            this.token = uni.getStorageSync('token');
        },
        methods: {
            messageToggle(type) {
                this.msgType1 = type
                this.$refs.message.open()
            },
            orderInput() {
                let that = this
                var order =  that.order.split(";")
@@ -167,6 +177,175 @@
                setTimeout(() => {
                    that.orderFocus = true
                }, 200)
                uni.request({
                    url: that.baseUrl + '/ManPakOut/list/auth',
                    data: {
                        matnr: that.matnr
                    },
                    header: {
                        'token': uni.getStorageSync('token')
                    },
                    success(res) {
                        console.log(res);
                    }
                })
            },
            // 搜索物料
            findMat() {
                let that = this
                var matnr =  that.matnr.split(";")
                if (that.order != '') {
                    if (that.order != matnr[0]) {
                        this.messageText = "当前物料不在订单内,请重新选择!!"
                        this.messageToggle('error')
                        setTimeout(()=> {
                            that.matnr = ''
                            that.matFocus = true
                        },1000)
                        return
                    }
                }
                that.order = matnr[0]
                that.matnr = matnr[1]
                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)
                                    },
                                },
                            });
                        } 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'
                            })
                        }
                    }
                });
            },
            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)
                }
            },
            combConfirm() {
                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/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')
                        } 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')
                        }
                    }
                });
            },
        }
    }
@@ -174,6 +353,20 @@
<style>
    @import url('../../static/css/wms.css/wms.css');
    .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;
@@ -216,7 +409,7 @@
        width: 100%;
        background-color: white;
        position: fixed;
        margin-top: 200rpx;
        margin-top: 300rpx;
        z-index: 9;
        /* border-top: 1px solid #DCDFE6; */
        text-align: center;