<template> 
 | 
    <view> 
 | 
        <view class="list list-font-color" :class="orderDetl.color" v-for="(orderDetl,index) in dataList" :key="index"> 
 | 
            <view class="list-left" style="display: flex;flex-direction: column;"> 
 | 
                <!-- 上 --> 
 | 
                <view> 
 | 
                    <view class="detl-threeCode">{{orderDetl.threeCode}}</view> 
 | 
                    <view class="detl-locNo">{{orderDetl.locNo}}</view> 
 | 
                    <view class="detl-locNo">货架码:{{orderDetl.suppCode}}</view> 
 | 
                </view> 
 | 
                <!-- 中 --> 
 | 
                <view style="display: flex;"> 
 | 
                    <view style="flex: 1;"> 
 | 
                        <view>主单号:{{orderDetl.orderNo}}</view> 
 | 
                        <view>编号:{{orderDetl.matnr}}</view> 
 | 
                        <view>名称:{{orderDetl.maktx}}</view> 
 | 
                        <view>库位状态:{{orderDetl.locSts$}}</view> 
 | 
                        <view>库存数量:{{orderDetl.anfme}}</view> 
 | 
                    </view> 
 | 
                    <view class="out-btn" @click="pakoutPrive(orderDetl)"> 
 | 
                        <view>出库</view> 
 | 
                    </view> 
 | 
                </view> 
 | 
                <!-- 下 --> 
 | 
            </view> 
 | 
            <!-- <view class="list-right" @click="goToLocDetl(orderDetl)"> 
 | 
                <uni-icons type="right" size="25"  color="#fff"></uni-icons> 
 | 
            </view> --> 
 | 
        </view> 
 | 
         
 | 
        <!-- 垫高 --> 
 | 
        <view style="height: 340rpx;text-align: center;color: #b9b9b9;"> 
 | 
            - 已经到底了 - 
 | 
        </view> 
 | 
    </view> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
    export default { 
 | 
        data() { 
 | 
            return { 
 | 
                baseUrl: '', 
 | 
                token: '', 
 | 
                dataList: [], 
 | 
                count: 0, 
 | 
                containerType: '', 
 | 
                isOpen: true, 
 | 
                option: '', 
 | 
                selects: [], 
 | 
                orderId: '' 
 | 
            } 
 | 
        }, 
 | 
        onShow() { 
 | 
            let _this = this 
 | 
            this.baseUrl = uni.getStorageSync('baseUrl'); 
 | 
            this.token = uni.getStorageSync('token'); 
 | 
            // const eventChannel = this.$scope.eventChannel; // 兼容APP-NVUE 
 | 
            const eventChannel = this.getOpenerEventChannel(); 
 | 
            // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 
 | 
            eventChannel.on('item', function(data) { 
 | 
                console.log(data.item); 
 | 
                _this.orderId = data.item.id 
 | 
                _this.getLocDetl(data.item.orderNo,data.item.threeCode,data.item.matnr,data.item.id) 
 | 
            }) 
 | 
        }, 
 | 
        methods: { 
 | 
            getLocDetl(orderNo,threeCode,matnr,id) { 
 | 
                let _this = this 
 | 
                uni.request({ 
 | 
                    url: `${_this.baseUrl}/agvMobile/query/locDetl/v1`, 
 | 
                    header: { 'token': uni.getStorageSync('token') }, 
 | 
                    data: { 
 | 
                        orderNo: orderNo, 
 | 
                        threeCode: threeCode , 
 | 
                        matnr: matnr 
 | 
                    }, 
 | 
                    method: 'POST', 
 | 
                    success(res) { 
 | 
                        res = res.data 
 | 
                        console.log(res); 
 | 
                        if (res.code === 200) { 
 | 
                            for (let k of res.data) { 
 | 
                                if (k.locSts == "F") { 
 | 
                                    k['color'] = 'order-sts-start' 
 | 
                                } else if (k.locSts != "F") { 
 | 
                                    k['color'] = 'order-sts-working' 
 | 
                                } else { 
 | 
                                    k['color'] = 'order-sts-end' 
 | 
                                } 
 | 
                                k['id'] = id 
 | 
                            } 
 | 
                            _this.dataList = res.data 
 | 
                        } else if (res.code == 403) { 
 | 
                            uni.showToast({ title: res.msg, icon: "error", position: 'top' }) 
 | 
                            setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); 
 | 
                        } else { 
 | 
                            uni.showToast({ title: res.msg, icon: "error", position: 'top' }) 
 | 
                        } 
 | 
                    } 
 | 
                }) 
 | 
            }, 
 | 
            pakoutPrive(item) { 
 | 
                let _this = this 
 | 
                if (item.locSts != 'F') { 
 | 
                    uni.showToast({ title: '当前库位不是在库状态!', icon: "error", position: 'top' }) 
 | 
                    return 
 | 
                } 
 | 
                uni.navigateTo({ 
 | 
                    url: "./orderCheck", 
 | 
                    success: function(res) { 
 | 
                        // 通过eventChannel向被打开页面传送数据   向另外一个页面传递值的 
 | 
                        res.eventChannel.emit('mat', { 
 | 
                            mat: item, 
 | 
                        }) 
 | 
                    }, 
 | 
                    events: { 
 | 
                        // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据  另外一个页面传过来的 
 | 
                        acceptDataFromOpenedPage: function(data) { 
 | 
                            // _this.matnr = data.data 
 | 
                        }, 
 | 
                    }, 
 | 
                }); 
 | 
            }, 
 | 
            pakout(item) { 
 | 
                let _this = this 
 | 
                let items = [item] 
 | 
                uni.request({ 
 | 
                    url: `${_this.baseUrl}/out/pakout/auth`, 
 | 
                    header: { 'token': uni.getStorageSync('token') }, 
 | 
                    data: items, 
 | 
                    method: 'POST', 
 | 
                    success(res) { 
 | 
                        res = res.data 
 | 
                        console.log(res); 
 | 
                        if (res.code === 200) { 
 | 
                             
 | 
                        } else if (res.code == 403) { 
 | 
                            uni.showToast({ title: res.msg, icon: "error", position: 'top' }) 
 | 
                            setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); 
 | 
                        } else { 
 | 
                            uni.showToast({ title: res.msg, icon: "error", position: 'top' }) 
 | 
                        } 
 | 
                    } 
 | 
                }) 
 | 
            }, 
 | 
            // 开启 / 关闭下拉框 
 | 
            toggleDropdown() { 
 | 
                this.isOpen = !this.isOpen 
 | 
            }, 
 | 
            // 选择货架类型 
 | 
            selected(option) { 
 | 
                this.containerType = option 
 | 
            }, 
 | 
        } 
 | 
    } 
 | 
</script> 
 | 
  
 | 
<style> 
 | 
    @import url('../../../static/css/common/order.css'); 
 | 
    .list-font-color { 
 | 
        color: #fff; 
 | 
        /* background-color: #33bb44; */ 
 | 
    } 
 | 
    .order-sts-start { 
 | 
        background-color: #3eb689; 
 | 
    } 
 | 
    .order-sts-working { 
 | 
        background-color: #ff9d46; 
 | 
    } 
 | 
    .order-sts-end { 
 | 
        background-color: #ff7356; 
 | 
    } 
 | 
    .detl-threeCode { 
 | 
        font-size: 28px; 
 | 
        font-weight: bold; 
 | 
    } 
 | 
    .detl-locNo { 
 | 
        font-size: 20px; 
 | 
        font-weight: bold; 
 | 
    } 
 | 
    .out-btn { 
 | 
        background-color: #3e82ff; 
 | 
        height: 120rpx; 
 | 
        width: 120rpx; 
 | 
        line-height: 120rpx; 
 | 
        text-align: center; 
 | 
        border-radius: 50%; 
 | 
        margin-left: 20rpx; 
 | 
        margin-right: 20rpx; 
 | 
    } 
 | 
    .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 { 
 | 
        position: relative; 
 | 
        height: 80rpx; 
 | 
        line-height: 80rpx; 
 | 
        display: flex; 
 | 
        align-items: center; 
 | 
        font-size: 14px; 
 | 
    } 
 | 
    .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: #606266; 
 | 
        border-right: 1px solid #DCDFE6; 
 | 
    } 
 | 
    .btn-right { 
 | 
        display: flex; 
 | 
        flex: 1; 
 | 
        justify-content: center; 
 | 
        align-items: center; 
 | 
        color: #409EFF; 
 | 
    } 
 | 
     
 | 
    .dropdown { 
 | 
        position: relative; 
 | 
        display: flex; 
 | 
        width: 93%; 
 | 
        align-items: center; 
 | 
        padding: 0rpx 20rpx; 
 | 
    } 
 | 
    .dropdown-content { 
 | 
        position: absolute; 
 | 
        top: calc(100% + 15rpx); 
 | 
        left: 0; 
 | 
        width: calc(100% - 20rpx); 
 | 
        max-height: 300rpx; 
 | 
        background-color: #fff; 
 | 
        box-shadow: 0 0px 6px rgba(0, 0, 0, 0.3); 
 | 
        border-radius: 8rpx; 
 | 
        z-index: 10; 
 | 
    } 
 | 
    .dropdown-item { 
 | 
        padding: 12rpx; 
 | 
        line-height: 1.2; 
 | 
        font-size: 22px; 
 | 
        color: #3a3a3a; 
 | 
    } 
 | 
</style> 
 |