#
whycq
2024-05-30 873e64746e0f64889392a34dbe62dc8913d9ecf3
#
5个文件已修改
313 ■■■■ 已修改文件
pages/home/wrkMastManage.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/orderOut/bcpOrderOutSelect.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/orderOut/orderOutSelect.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/stationManage/stationDetl.vue 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/phyz/wrkMast/DBList.vue 214 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/wrkMastManage.vue
@@ -32,6 +32,13 @@
                        // cuIcon: 'pullup',
                        url: `/phyz/wrkMast/wrkMast`
                    },
                    {
                        title: '调拨任务管理',
                        name: 'wrkMast-DB',
                        color: 'blue',
                        // cuIcon: 'pullup',
                        url: `/phyz/wrkMast/DBList`
                    },
                    // {
                    //     title: '工作历史档维护',
                    //     name: 'wrkMastLog',
pages/phyz/orderOut/bcpOrderOutSelect.vue
@@ -197,6 +197,10 @@
                },300)
            },
            goToLocDetl(item) {
                if (item.qty >= item.anfme) {
                    uni.showToast({ title: '已完成订单作业数量', icon: "error", position: 'top' })
                    return
                }
                let _this = this
                uni.navigateTo({
                    url: './orderList',
pages/phyz/orderOut/orderOutSelect.vue
@@ -197,6 +197,10 @@
                },300)
            },
            goToLocDetl(item) {
                if (item.qty >= item.anfme) {
                    uni.showToast({ title: '已完成订单作业数量', icon: "error", position: 'top' })
                    return
                }
                let _this = this
                uni.navigateTo({
                    url: './orderList',
pages/phyz/stationManage/stationDetl.vue
@@ -190,6 +190,23 @@
            </uni-popup>
        </view>
        
        <!-- 弹窗 -->
        <view>
            <uni-popup ref="empIn" 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">
                        <view class="btn-left" @click="empInClose">取消</view>
                        <view class="btn-right" @click="empInConfirm()">确认进场</view>
                    </view>
                </view>
            </uni-popup>
        </view>
        
        
        <!-- 底部操作按钮 -->
@@ -206,6 +223,8 @@
            <button size="mini" type="primary" @click="startPakin()" v-if="btnType == 'start'">启动入库</button>
            <button size="mini" type="primary" @click="allocationOut()" v-if="btnType == 'allocationOut'">调拨离场</button>
            <button size="mini" type="primary" @click="allocationIn()" v-if="btnType == 'allocationIn'">调拨进场</button>
            <button size="mini" type="primary" @click="empOut()" v-if="btnType == 'empOut'">空架离场</button>
            <button size="mini" type="primary" @click="empIn()" v-if="btnType == 'allocationIn'">空架进场</button>
        </view>
    </view>
</template>
@@ -476,6 +495,9 @@
                                } else if (wrkMast.ioType == 112) {
                                    wrkMast['ioTitle'] = '调拨入库'
                                    _this.btnType = 'null'
                                } else if (wrkMast.ioType == 113) {
                                    wrkMast['ioTitle'] = '货架回流'
                                    _this.btnType = 'empOut'
                                }
                                if (wrkMast.barcode == barcode) {
                                    mast = wrkMast
@@ -721,6 +743,34 @@
                    }
                });
            },
            // 空架离场
            empOut() {
                let that = this
                let params = []
                let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
                params.push(param)
                uni.request({
                    url: that.baseUrl + '/agvMobile/hand/control/empOut',
                    header: {'token': uni.getStorageSync('token')},
                    data: {devNo: that.station.devNo},
                    method: 'POST',
                    success(result) {
                        var res = result.data
                        if (res.code === 200) {
                            setTimeout(()=> {
                                that.barcode = ''
                                that.reloadStation()
                            },1000)
                            uni.showToast({ title: '离场成功', icon: "success", position: 'top' })
                        } 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' })
                        }
                    }
                });
            },
            allocationIn() {
                this.$refs.allocationIn.open()
            },
@@ -755,6 +805,40 @@
                    }
                });
            },
            empIn() {
                this.$refs.empIn.open()
            },
            empInClose() {
                this.$refs.empIn.close()
            },
            empInConfirm() {
                let that = this
                let params = []
                let param = { devNo: this.station.devNo, containerCode: this.station.barcode, }
                params.push(param)
                uni.request({
                    url: that.baseUrl + '/agvMobile/hand/control/empIn',
                    header: {'token': uni.getStorageSync('token')},
                    data: {devNo: that.station.devNo, barcode: that.barcode},
                    method: 'POST',
                    success(result) {
                        var res = result.data
                        if (res.code === 200) {
                            that.$refs.empIn.close()
                            setTimeout(()=> {
                                that.barcode = ''
                                that.reloadStation()
                            },1000)
                            uni.showToast({ title: '进场成功', icon: "success", position: 'top' })
                        } 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' })
                        }
                    }
                });
            },
            doBack() {
                this.$refs.doBack.open()
            },
pages/phyz/wrkMast/DBList.vue
@@ -1,9 +1,9 @@
<template>
    <view class="container">
        <view class="code">
            <uni-search-bar :focus="searchValueFocus" v-model="searchValue"
            <!-- <uni-search-bar :focus="searchValueFocus" v-model="searchValue"
                maxlength="500" ancel="cancel" @confirm="searchValueInput2()" @clear="clear" placeholder="输入 / 扫描 订单号">
            </uni-search-bar>
            </uni-search-bar> -->
            <view class="code-title">
                <view></view>
                <view style="width: 100%;text-align: center;margin: 16rpx 0;">{{searchValue}} 总数量:- {{total}} -</view>
@@ -14,14 +14,16 @@
        <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.wrkNo}}</view>
                <view>工作类型:{{orderDetl.ioType$}}</view>
                <view>工作时间:{{orderDetl.ioTime$}}</view>
                <view>调拨类型:{{orderDetl.ioType$}}</view>
                <view>工作状况:{{orderDetl.wrkSts$}}</view>
                <view>源库位:{{orderDetl.sourceLocNo}}</view>
                <view>目标库位:{{orderDetl.locNo}}</view>
                <view>目标楼层:{{orderDetl.crnNo}}</view>
                <view>货架码:{{orderDetl.barcode}}</view>
            </view>
            <view class="list-right" @click="addItem(index)">
                <uni-icons type="folder-add" size="25"  color="#fff"></uni-icons>
            <view class="list-right" @click="opt(orderDetl)">
                <uni-icons type="bars" size="25"  color="#fff"></uni-icons>
            </view>
        </view>
        
@@ -54,37 +56,66 @@
                    <view class="title">筛选</view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>销售订单:</view>
                            <input type="text" v-model="searchValue">
                            <view>工作号:</view>
                            <input type="text" v-model="wrk_no">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>主订单号:</view>
                            <input type="text" v-model="orderNo">
                            <view>工作类型:</view>
                            <input type="text" v-model="io_type">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>商品编号:</view>
                            <input type="text" v-model="matnr">
                            <view>工作状态:</view>
                            <input type="text" v-model="wrk_sts">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>商品名称:</view>
                            <input type="text" v-model="maktx">
                            <view>源库位:</view>
                            <input type="text" v-model="source_loc_no">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>商品种类:</view>
                            <input type="text" v-model="brand">
                            <view>目标库位:</view>
                            <input type="text" v-model="loc_no">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>货架码:</view>
                            <input type="text" v-model="barcode">
                        </view>
                    </view>
                    <view class="popup-item" style="background-color: #dfdfdf;">
                        <view class="item-cl">
                            <view>目标楼层:</view>
                            <input type="text" v-model="crn_no">
                        </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>
            <uni-popup ref="option" type="dialog">
                <view class="filter-popup" style="height: 50vh;">
                    <!-- 标题 -->
                    <view class="title">操作</view>
                    <view style="display: flex;flex-wrap: wrap;">
                        <button size="mini" type="primary" @click="handControlWrkMast('1')" v-show="complete" >完成</button>
                        <button size="mini" type="warn" @click="handControlWrkMast('2')">取消(AGV)</button>
                        <button size="mini" @click="handControlWrkMast('5')">取消</button>
                    </view>
                    <view style="display: flex;" v-show="tranType != 'N'">
                        <button size="mini" @click="changeType()">{{tranType}}</button>
                    </view>
                </view>
            </uni-popup>
@@ -100,25 +131,34 @@
                token: '',
                searchValueFocus: true,
                searchValue: '',
                orderNo: '',
                matnr: '',
                maktx: '',
                brand: '',
                wrk_no: '',
                barcode: '',
                wrk_sts: '',
                crn_no: '',
                source_loc_no: '',
                loc_no: '',
                io_type: '',
                total: '',
                dataList: [],
                orderCarList: [],
                data: {
                    curr: 1,
                    limit: 100,
                    three_code: '',
                    matnr: '',
                    maktx: '',
                    order_no: '',
                    brand: ''
                    wrk_no: '',
                    barcode: '',
                    wrk_sts: '',
                    crn_no: '',
                    source_loc_no: '',
                    loc_no: '',
                    io_type: ''
                },
                index: 0,
                count: 0,
                mask: false
                mask: false,
                wrkNo: '',
                tranType: '转手动',
                complete: true,
                
            }
        },
@@ -143,10 +183,12 @@
        methods: {
            getOrderDetlList(threeCode,limit) {
                uni.showLoading({})
                if (limit == 1) {
                    this.dataList = []
                    this.data.curr = 1
                }
                let _this = this
                _this.mask = true
                _this.data.three_code = threeCode
                _this.data.limit = limit
                _this.data.limit = 10
                uni.request({
                    url: `${_this.baseUrl}/agv/wrkMast/list/auth/dbList`,
                    header: {'token': uni.getStorageSync('token')},
@@ -157,12 +199,12 @@
                        res = res.data
                        if (res.code === 200) {
                            for (let k of res.data.records) {
                                if (k.anfme > k.qty && k.qty == 0) {
                                if ([21, 22, 201].includes(k.wrkSts)) {
                                    k['color'] = 'order-sts-start'
                                } else if (k.anfme > k.qty && k.qty != 0) {
                                    k['color'] = 'order-sts-working'
                                } else {
                                } else if ([205,206].includes(k.wrkSts)) {
                                    k['color'] = 'order-sts-end'
                                } else {
                                    k['color'] = 'order-sts-working'
                                }
                            }
                            let list = res.data.records
@@ -198,20 +240,21 @@
                    this.getOrderDetlList(this.searchValue,10)
                },300)
            },
            // 添加入库商品至 待组托列表
            addItem(index) {
                // 判断添加的商品是否和已经添加的重复
                let dataList = this.dataList
                for (let k of this.orderCarList) {
                    if (k.orderNo == dataList[index].orderNo
                        && k.threeCode == dataList[index].threeCode
                        && k.matnr == dataList[index].matnr) {
                            uni.showToast({ title: '请勿重复添加商品!', icon: "none", position: 'top' })
                            return
            // 操作
            opt(orderDetl) {
                this.wrkNo = orderDetl.wrkNo
                if (orderDetl.wrkSts != 22) {
                    this.tranType = 'N'
                } else {
                    if (orderDetl.ioType == 108) {
                        this.tranType = '转手动'
                    } else {
                        this.tranType = '转自动'
                    }
                }
                this.index = index
                this.$refs.addItem.open()
                this.$refs.option.open('bottom')
            },
            addClose() {
                this.$refs.addItem.close()
@@ -264,22 +307,81 @@
            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.searchValue,10)
                this.data.wrk_no = this.wrk_no
                this.data.barcode = this.barcode
                this.data.wrk_sts = this.wrk_sts
                this.data.crn_no = this.crn_no
                this.data.source_loc_no = this.source_loc_no
                this.data.loc_no = this.loc_no
                this.data.io_type = this.io_type
                this.getOrderDetlList(this.data.wrk_no,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.data.wrk_no = ''
                this.data.barcode = ''
                this.data.wrk_sts = ''
                this.data.crn_no = ''
                this.data.source_loc_no = ''
                this.data.loc_no = ''
                this.data.io_type = ''
                this.getOrderDetlList(this.searchValue,10)
                this.$refs.filter.close()
            },
            handControlWrkMast(type) {
                let _this = this
                let param = {workNo: _this.wrkNo,type: type}
                uni.request({
                    url: `${_this.baseUrl}/agv/hand/control/wrkMast`,
                    header: {
                        'token': uni.getStorageSync('token'),
                        'content-type': 'application/x-www-form-urlencoded'
                    },
                    data: param,
                    method: 'POST',
                    success(res) {
                        res = res.data
                        if (res.code === 200) {
                            _this.$refs.option.close()
                            setTimeout(()=>{
                                _this.getOrderDetlList('',1)
                            },100)
                        } 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' })
                        }
                    }
                })
            },
            changeType() {
                let _this = this
                let param = {workNo: _this.wrkNo}
                uni.request({
                    url: `${_this.baseUrl}/agv/hand/control/wrkMast/changeType`,
                    header: {
                        'token': uni.getStorageSync('token'),
                        'content-type': 'application/x-www-form-urlencoded'
                    },
                    data: param,
                    method: 'POST',
                    success(res) {
                        res = res.data
                        if (res.code === 200) {
                            _this.$refs.option.close()
                            setTimeout(()=>{
                                _this.getOrderDetlList('',1)
                            },100)
                        } 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' })
                        }
                    }
                })
            }
            
        }
@@ -415,6 +517,10 @@
        position: relative;
        border-radius: 30rpx 30rpx 0rpx 0rpx;
    }
    .filter-popup button {
        flex: 1;
        margin: 16rpx;
    }
    .filter-popup-item {
        height: 100%;
        width: 100%;