#
whycq
2024-06-12 2dbb3a82f3e10218a7743a8dc318882dc888eef4
#
1个文件已添加
5个文件已修改
447 ■■■■■ 已修改文件
pages.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/orderManage.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/checkLocDetl/checkLocDetl.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/processOrder/processOrder.vue 366 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/stationManage/stationDetl.vue 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/stationManage/stationManage.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -736,6 +736,13 @@
            {
                "navigationBarTitleText" : "调拨任务管理"
            }
        },
        {
            "path" : "pages/phyz/processOrder/processOrder",
            "style" :
            {
                "navigationBarTitleText" : "半成品加工单"
            }
        }
    ],
    "globalStyle": {
pages/home/orderManage.vue
@@ -74,6 +74,13 @@
                        // cuIcon: 'pullup',
                        url: `/phyz/orderOut/bcpOrderOutSelect`
                    },
                    {
                        title: '半成品加工单',
                        name: 'processOrder',
                        color: 'blue',
                        // cuIcon: 'pullup',
                        url: `/phyz/orderOut/bcpOrderOutSelect`
                    },
                    
                ],
                colorList: ['cyan','blue','purple','mauve','pink','brown','red','orange','yellow','olive','olive','grey' ]
pages/phyz/checkLocDetl/checkLocDetl.vue
@@ -1,9 +1,9 @@
<template>
    <view>
        <view class="code">
            <uni-search-bar  v-model="searchValue1"
            <!-- <uni-search-bar  v-model="searchValue1"
                maxlength="500" ancel="cancel" @confirm="searchValueInput1()" @clear="clearVal" placeholder="输入 / 扫描 货架码">
            </uni-search-bar>
            </uni-search-bar> -->
            <view style="display: flex;padding: 10rpx 20rpx;">
                <view class="dropdown">
                    <input type="text" style="flex: 1;" v-model="row1"  placeholder="请输入排" @confirm="getLocMastList('')">
@@ -79,9 +79,9 @@
            this.baseUrl = uni.getStorageSync('baseUrl');
            this.token = uni.getStorageSync('token');
            if (uni.getStorageSync('lev1')) {
                this.lev1 = uni.getStorageSync('lev1');
                // this.lev1 = uni.getStorageSync('lev1');
            } else {
                this.lev1 = 2
                this.lev1 = ''
            }
            
            this.getLocMastList()
@@ -124,7 +124,7 @@
            },
            getLocMastList(barcode) {
                let _this = this
                uni.setStorageSync('lev1', this.lev1);
                // uni.setStorageSync('lev1', this.lev1);
                uni.request({
                    url: `${_this.baseUrl}/agv/locMast/list/auth`,
                    header: {'token': uni.getStorageSync('token')},
pages/phyz/processOrder/processOrder.vue
New file
@@ -0,0 +1,366 @@
<template>
    <view>
        <view class="code">
            <uni-search-bar  v-model="searchValue1"
                maxlength="500" ancel="cancel" @confirm="searchValueInput1()" @clear="clear" placeholder="输入 / 扫描 订单号">
            </uni-search-bar>
            <view class="code-title">
                <view></view>
                <view style="width: 100%;text-align: center;margin: 16rpx 0;">{{searchValue1}} 总数量:- {{total}} -</view>
                <view style="width: 100rpx;margin: 16rpx 0;" @click="filter()">筛选</view>
            </view>
        </view>
        <view class="list list-font-color" :class="orderDetl.color" v-for="(orderDetl,index) in dataList" :key="index">
            <view class="list-left">
                <view class="detl-threeCode">{{orderDetl.threeCode}}</view>
                <view>主单号:{{orderDetl.orderNo}}</view>
                <view>编号:{{orderDetl.matnr}}</view>
                <view>名称:{{orderDetl.maktx}}</view>
                <view>类型:{{orderDetl.brand}}</view>
                <view>订单数量:{{orderDetl.anfme}}</view>
                <view>待加工:{{orderDetl.stock}}</view>
                <view>已加工:{{orderDetl.qty}}</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 class="buttom">
            <view style="width: 150rpx;text-align: center;padding-left: 12rpx;">
                名称
            </view>
            <uni-search-bar v-model="searchValue2" style="width: 100%;"
                maxlength="500" ancel="cancel" @confirm="searchValueInput2()" @clear="clear2" placeholder="输入 / 扫描 订单号">
            </uni-search-bar>
        </view> -->
        <!-- 筛选弹窗 -->
        <view>
            <uni-popup ref="filter" type="dialog">
                <view class="filter-popup">
                    <!-- 标题 -->
                    <view class="title">筛选</view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>销售订单:</view>
                            <input type="text" v-model="searchValue1">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>主订单号:</view>
                            <input type="text" v-model="orderNo">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>商品编号:</view>
                            <input type="text" v-model="matnr">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>商品名称:</view>
                            <input type="text" v-model="maktx">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>商品种类:</view>
                            <input type="text" v-model="brand">
                        </view>
                    </view>
                    <view class="btn filter-btn">
                        <view class="btn-left" @click="filterClose">重置</view>
                        <view class="btn-right" @click="filterConfirm()">确认</view>
                    </view>
                </view>
            </uni-popup>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                baseUrl: '',
                token: '',
                searchValue1: '',
                searchValue2: '',
                orderNo: '',
                matnr: '',
                maktx: '',
                brand: '',
                total: '',
                dataList: [],
                orderCarList: [],
                data: {
                    curr: 1,
                    limit: 100,
                    three_code: '',
                    matnr: '',
                    maktx: '',
                    order_no: '',
                    brand: ''
                },
            }
        },
        onReachBottom() {
            this.status = 'more';
            this.getOrderDetlList(this.searchValue1,10);
        },
        onShow() {
            this.baseUrl = uni.getStorageSync('baseUrl');
            this.token = uni.getStorageSync('token');
            this.searchValue1 = uni.getStorageSync('processCode1');
            this.searchValue2 = uni.getStorageSync('processCode2');
            this.getOrderDetlList(this.searchValue1,10)
        },
        methods: {
            getOrderDetlList(threeCode,limit) {
                uni.showLoading({})
                let _this = this
                _this.mask = true
                _this.data.three_code = threeCode
                _this.data.limit = limit
                uni.request({
                    url: `${_this.baseUrl}/orderDetl/pakout/list/authV5`,
                    header: {'token': uni.getStorageSync('token')},
                    data: _this.data,
                    method: 'GET',
                    success(res) {
                        uni.hideLoading({})
                        res = res.data
                        if (res.code === 200) {
                            for (let k of res.data.records) {
                                if (k.anfme > k.qty && k.qty == 0) {
                                    k['color'] = 'order-sts-start'
                                } else if (k.anfme > k.qty && k.qty != 0) {
                                    k['color'] = 'order-sts-working'
                                } else {
                                    k['color'] = 'order-sts-end'
                                }
                            }
                            let list = res.data.records
                            _this.dataList =  _this.dataList.concat(list);
                            _this.data.curr = _this.data.curr + 1
                            _this.total = res.data.total
                            _this.mask = false
                        } 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' })
                        }
                    }
                })
            },
            searchValueInput1() {
                this.dataList = []
                this.data.curr = 1
                uni.setStorageSync('processCode1', this.searchValue1);
                uni.setStorageSync('processCode2', this.searchValue2);
                if (this.searchValue1.length == 0) {
                    this.getOrderDetlList(this.searchValue1,10)
                } else {
                    this.getOrderDetlList(this.searchValue1,10)
                }
            },
            searchValueInput2() {
                uni.setStorageSync('processCode1', this.searchValue1);
                uni.setStorageSync('processCode2', this.searchValue2);
                if (this.searchValue1.length == 0) {
                    this.getOrderDetlList(this.searchValue1,10)
                } else {
                    this.getOrderDetlList(this.searchValue1,10)
                }
            },
            clear() {
                this.dataList = []
                this.data.curr = 1
                setTimeout(()=> {
                    this.getOrderDetlList(this.searchValue,10)
                },300)
            },
            clear2() {
                setTimeout(()=> {
                    this.searchValue2 = ''
                    this.getOrderDetlList(this.searchValue1,10)
                },300)
            },
            goToLocDetl(item) {
                if (item.qty >= item.anfme) {
                    uni.showToast({ title: '已完成订单作业数量', icon: "error", position: 'top' })
                    return
                }
                let _this = this
                uni.navigateTo({
                    url: './orderList',
                    success(res) {
                        res.eventChannel.emit('item', {
                            item: item
                        })
                    },
                    events: {
                        acceptDataFromOpenedPage: function(data) {
                            _this.getOrderDetlList(this.searchValue1,10)
                        }
                    }
                })
            },
            // 筛选
            filter() {
                this.$refs.filter.open('bottom')
            },
            filterConfirm() {
                this.dataList = []
                this.data.curr = 1
                this.data.maktx = this.maktx
                this.data.matnr = this.matnr
                this.data.order_no = this.order_no
                this.data.brand = this.brand
                this.getOrderDetlList(this.searchValue1,10)
                this.$refs.filter.close()
            },
            filterClose() {
                this.dataList = []
                this.data.curr = 1
                this.data.maktx = ''
                this.data.matnr = ''
                this.data.order_no = ''
                this.data.brand = ''
                this.getOrderDetlList(this.searchValue1,10)
                this.$refs.filter.close()
            }
        }
    }
</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;
    }
    .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: #606266;
        border-right: 1px solid #DCDFE6;
    }
    .btn-right {
        display: flex;
        flex: 1;
        justify-content: center;
        align-items: center;
        color: #409EFF;
    }
    .filter-popup {
        width: 100%;
        height: 80vh;
        background-color: #FFF;
        position: relative;
        border-radius: 30rpx 30rpx 0rpx 0rpx;
    }
    .filter-popup-item {
        height: 100%;
        width: 100%;
        background-color: #c9cdd5;
    }
    .filter-popup-item-left {
        width: 30%;
        height: 100%;
        background-color: #DCDFE6;
    }
    .item-btn {
        width: 100%;
        height: 80rpx;
        line-height: 80rpx;
        background-color: #c9cdd5;
        text-align: center;
    }
    .item-btn:checked {
        background-color: #606266;
    }
    .filter-btn {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        background-color: #FFF;
    }
    .item-cl {
        display: flex;align-items: center;
    }
    .item-cl input {
        border-bottom: 1px solid #b9b9b9;
    }
</style>
pages/phyz/stationManage/stationDetl.vue
@@ -73,7 +73,7 @@
                    </view>
                    <view class="btn">
                        <button class="btn-left" @click="emptyPakinClose">取消</button>
                        <button class="btn-right" @click="emptyPakinConfirm()" :disabled="emptyPakinDis">入库</button>
                        <button class="btn-right" @click="emptyPakinConfirm()" :disabled="emptyPakinDis">空架入库</button>
                    </view>
                </view>
            </uni-popup>
@@ -203,7 +203,7 @@
                    </view>
                    <view class="btn">
                        <view class="btn-left" @click="allocationOutClose">取消</view>
                        <view class="btn-right" @click="allocationOutConfirm()">确认进场</view>
                        <view class="btn-right" @click="allocationOutConfirm()" :disabled="allocationOutDis">确认离场</view>
                    </view>
                </view>
            </uni-popup>
@@ -222,6 +222,24 @@
                    <view class="btn">
                        <button class="btn-left" @click="empInClose">取消</button>
                        <button class="btn-right" @click="empInConfirm()" :disabled="empInDis">确认进场</button>
                    </view>
                </view>
            </uni-popup>
        </view>
        <!-- 弹窗 -->
        <view>
            <uni-popup ref="empOut" 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="barcode"></view>
                    </view>
                    <view class="btn">
                        <button class="btn-left" @click="empOutClose">取消</button>
                        <button class="btn-right" @click="empOutConfirm()" :disabled="empOutDis">确认离场</button>
                    </view>
                </view>
            </uni-popup>
@@ -277,7 +295,9 @@
                pickInDis: false,
                emptyOutDis: false,
                allocationInDis: false,
                allocationOutDis:false,
                empInDis: false,
                empOutDis: false,
                doBackDis: false
            }
        },
@@ -391,11 +411,13 @@
            },
            emptyPakinClose() {
                this.$refs.emptyPakin.close()
                this.emptyPakinDis = false
            },
            emptyPakinConfirm() {
                let _this = this;
                _this.emptyPakinDis = true
                if (this.barcode.length != 6) {
                    _this.emptyPakinDis = false
                    uni.showToast({ title: '货架条码异常', icon: "error", position: 'top' })
                    return
                }
@@ -423,6 +445,9 @@
                        } else {
                            uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                        }
                        setTimeout(()=> {
                        },100)
                    },
                    fail(res) {
                        _this.emptyPakinDis = false
@@ -775,22 +800,26 @@
                });
            },
            allocationOut() {
                this.$refs.allocationOut.open()
            },
            allocationOutClose() {
                this.$refs.allocationOut.close()
            },
            // 调拨离场
            allocationOut() {
            allocationOutConfirm() {
                let that = this
                let params = []
                let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
                let param = { devNo: this.station.devNo, barcode: this.barcode, }
                params.push(param)
                uni.request({
                    url: that.baseUrl + '/agvMobile/hand/control/allocationOut',
                    header: {'token': uni.getStorageSync('token')},
                    data: {devNo: that.station.devNo},
                    data: param,
                    method: 'POST',
                    success(result) {
                        var res = result.data
                        if (res.code === 200) {
                            that.$refs.allocationOut.close()
                            setTimeout(()=> {
                                that.barcode = ''
                                that.reloadStation()
@@ -807,6 +836,13 @@
            },
            // 空架离场
            empOut() {
                this.$refs.empOut.open()
            },
            empOutClose() {
                this.$refs.empOut.close()
            },
            empOutConfirm() {
                this.empOutDis = true
                let that = this
                let params = []
                let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
@@ -814,10 +850,12 @@
                uni.request({
                    url: that.baseUrl + '/agvMobile/hand/control/empOut',
                    header: {'token': uni.getStorageSync('token')},
                    data: {devNo: that.station.devNo},
                    data: {devNo: that.station.devNo,barcode: that.barcode},
                    method: 'POST',
                    success(result) {
                        var res = result.data
                        that.$refs.empOut.close()
                        that.empOutDis = false
                        if (res.code === 200) {
                            setTimeout(()=> {
                                that.barcode = ''
@@ -830,6 +868,9 @@
                        } else {
                            uni.showToast({ title: res.msg, icon: "error", position: 'top' })
                        }
                    },
                    fail(res) {
                        that.empOutDis = false
                    }
                });
            },
pages/phyz/stationManage/stationManage.vue
@@ -130,7 +130,7 @@
                    this.stations = []
                    this.wrkMast = ''
                    this.wrkDetls = []
                } else {
                } else if (this.searchValue.length == 7) {
                    this.getBasDevp('one')
                }
            },