#
whycq
2024-04-15 f995772f300ffe07b0b567ed36ddf33edd893c2f
#
2个文件已修改
160 ■■■■■ 已修改文件
pages/phyz/checkLocDetl/locDetlList.vue 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/mat/matSelected.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/checkLocDetl/locDetlList.vue
@@ -1,24 +1,51 @@
<template>
    <view>
        <view>当前库位号:{{locNo}}</view>
        <view>当前货架码:{{barcode}}</view>
        <view class="list list-font-color" :class="locDetl.color" v-for="(locDetl,index) in dataList" :key="index">
            <view class="list-left">
                <view>销售订单号:{{locDetl.threeCode}}</view>
                <view>主订单号:{{locDetl.orderNo}}</view>
                <view>商品编码:{{locDetl.matnr}}</view>
                <view>商品名称:{{locDetl.maktx}}</view>
                <view>库存:{{locDetl.anfme}}</view>
                <view>调整库存为:{{locDetl.barcode}}</view>
                <view>库存:{{locDetl.count}}</view>
            </view>
            <view class="list-right" @click="goToLocDetl(locDetl)">
            <view class="list-right" @click="chageDetl(index)">
                <uni-icons type="right" size="25"  color="#fff"></uni-icons>
            </view>
        </view>
        <view style="height: 100rpx;display: flex;align-items: center;justify-content: center;" @click="add()">
            <uni-icons type="folder-add" size="25"  color="#000" style="padding-right: 20rpx;"></uni-icons> 添加物料
        </view>
        <!-- 弹窗 -->
        <view>
            <uni-popup ref="chageDetl" type="dialog">
                <view class="popup">
                    <!-- 标题 -->
                    <view class="title">商品信息</view>
                    <view class="popup-item">
                        <view>订单号</view>
                        <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text"> </view>
                    </view>
                    <view class="popup-item">
                        <view>销售单号</view>
                        <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text"> </view>
                    </view>
                    <view class="popup-item">
                        <uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" />
                    </view>
                    <view class="btn">
                        <view class="btn-left" @click="remove()">移除</view>
                        <view class="btn-right" @click="changeCount()">修改</view>
                    </view>
                </view>
            </uni-popup>
        </view>
        <!-- 底部操作按钮 -->
        <view class="buttom">
            <button size="mini" type="primary" @click="agvStart('warn')">添加物料</button>
            <button size="mini" type="primary" @click="adjust('warn')">调整库存</button>
        </view>
    </view>
</template>
@@ -29,8 +56,11 @@
            return {
                baseUrl: '',
                token: '',
                dataList: []
                dataList: [],
                count: '',
                index: 0,
                locNo: '',
                barcode: ''
            }
        },
        onShow() {
@@ -42,6 +72,11 @@
            // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
            eventChannel.on('item', function(data) {
                console.log(data);
                _this.locNo = data.item.locNo
                _this.barcode = data.item.barcode
                for (let k of data.item.data) {
                    k['count'] = k.anfme
                }
                _this.dataList = data.item.data
            })
        },
@@ -73,6 +108,7 @@
                    },
                    events: {
                        matList: function(data) {
                            data.data.barcode = _this.barcode
                            _this.checkMat(data.data)
                        },
                    },
@@ -108,6 +144,44 @@
                if (add) {
                    this.dataList.unshift(mat)
                }
                this.$forceUpdate() // 强制刷新
            },
            chageDetl(index) {
                this.index = index
                this.count = this.dataList[index].anfme
                this.$refs.chageDetl.open()
            },
            // 修改数量
            changeCount() {
                if (this.count > this.orderCarList[this.index].anfme) {
                    uni.showToast({ title: '数量不合法!', icon: "none", position: 'top' })
                    return
                }
                this.orderCarList[this.index].pakinQty = this.count
                this.$forceUpdate() // 强制刷新
                this.$refs.chageDetl.close()
            },
            // 移除物料
            remove() {
                this.orderCarList.splice(this.index, 1)
                this.$refs.chageDetl.close()
            },
            adjust() {
                let _this = this
                let param = {
                    locNo: _this.locNo,
                    list: _this.dataList
                }
                uni.request({
                    url: `${_this.baseUrl}/agv/locDdetl/adjust/start`,
                    header: {'token': uni.getStorageSync('token')},
                    data: param,
                    method: 'POST',
                    success(res) {
                        res = res.data
                        console.log(res);
                    }
                })
            }
        }
    }
@@ -115,4 +189,68 @@
<style>
    @import url('../../../static/css/common/order.css');
    .popup {
        width: 80vw;
        min-height: 100rpx;
        background-color: #FFF;
        border-radius: 25rpx;
        position: relative;
    }
    .title {
        height: 100rpx;
        line-height: 100rpx;
        width: 100%;
        color: #606266;
        text-align: center;
        font-size: 16px;
    }
    .popup-item {
        height: 80rpx;
        line-height: 80rpx;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .popup-item-left {
        width: 16vw;
        padding-right: 20rpx;
        text-align: right;
        color: #606266;
    }
    .popup-item-right {
        display: flex;
        align-items: center;
        width: 50vw;
        height: 50rpx;
        padding: 2px 5px;
        border: 1px solid #E4E7ED;
        border-radius: 5rpx;
    }
    .popup-item-right input{
        color: #606266;
    }
    .btn {
        display: flex;
        height: 90rpx;
        margin-top: 20rpx;
        border-top: 1px solid #DCDFE6;
        justify-content: center;
        align-items: center;
    }
    .btn-left {
        display: flex;
        flex: 1;
        height: 100%;
        justify-content: center;
        align-items: center;
        color: #e2231a;
        border-right: 1px solid #DCDFE6;
    }
    .btn-right {
        display: flex;
        flex: 1;
        justify-content: center;
        align-items: center;
        color: #409EFF;
    }
</style>
pages/phyz/mat/matSelected.vue
@@ -32,7 +32,7 @@
            <view class="form-item">
                <view class="form-item-desc"><text>数量</text></view>
                <view class="form-item-content">
                    <uni-number-box :value="mat.anfme" :max="99999999" :step='1' color="#747474" @change="changeValue" />
                    <uni-number-box :value="mat.count" :max="99999999" :step='1' color="#747474" @change="changeValue" />
                </view>
            </view>
        </view>
@@ -56,7 +56,7 @@
                    maktx: null,
                    specs: null,
                    batch: null,
                    anfme: 0,
                    count: 0,
                },
                baseIP:'',
                basePORT:'',
@@ -77,7 +77,7 @@
            eventChannel.on('item', function(data) {
                console.log(data);
                that.mat = data.item
                that.mat.anfme = 0
                that.mat['count'] = 0
            })
            // #ifdef APP
            setInterval(()=>{
@@ -109,10 +109,10 @@
                
            },
            changeValue(value) {
                this.mat.anfme = value
                this.mat.count = value
            },
            back() {
                if (this.mat.anfme === 0) {
                if (this.mat.count === 0) {
                    uni.showToast({title: '请输入数量', icon: "none", position: 'top'});
                    return;
                }