zjj
2025-04-18 138f4305197217769ba59c8008c87d933e585eee
Merge branch 'devlop' of http://47.97.1.152:5880/r/pda-master into devlop
7个文件已修改
648 ■■■■■ 已修改文件
pages/home/index.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/inspect/bad.vue 224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/inspect/check.vue 213 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/listing/disc.vue 175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/listing/labour.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/listing/untie.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/listing/upper.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/index.vue
@@ -43,13 +43,13 @@
                </navigator>
            </view>
            <view class="cu-item">
            <!--             <view class="cu-item">
                <navigator hover-class='none' url="/pages/listing/untie" navigateTo>
                    <view class="cuIcon-cardboardforbid text-blue">
                    </view>
                    <text>解绑</text>
                </navigator>
            </view>
            </view> -->
            <view class="cu-item">
                <navigator hover-class='none' url="/pages/inspect/report" navigateTo>
@@ -67,13 +67,13 @@
                </navigator>
            </view>
            <!--     <view class="cu-item">
            <view class="cu-item">
                <navigator hover-class='none' url="/pages/inspect/bad" navigateTo>
                    <view class="cuIcon-appreciate text-blue">
                    </view>
                    <text>货物标记</text>
                    <text>不良标记</text>
                </navigator>
            </view> -->
            </view>
            <view class="cu-item">
@@ -93,17 +93,6 @@
            </view>
        </view>
        <!-- <view class="cu-list menu card-menu margin-top-xl margin-bottom-xl shadow-lg radius">
            <view class="cu-item arrow">
                <navigator class="content" url="/pages/userinfo/userinfo" hover-class="none">
                    <text class="cuIcon-profile text-blue"></text>
                    <text class="text-grey">个人信息</text>
                </navigator>
            </view>
        </view> -->
        <view class="padding flex flex-direction">
            <view class="cu-btn bg-red margin-tb-sm lg round" @click="equit">退出登录</view>
pages/inspect/bad.vue
@@ -1,8 +1,218 @@
<template>
</template>
<script>
</script>
<style>
<template>
    <view class="has-foot">
        <form>
            <view class="cu-form-group margin-top">
                <view class="title">托盘码</view>
                <input placeholder="请扫描托盘码" v-model="container" focus></input>
                <text class='cuIcon-search text-blue' </text>
            </view>
            <view class="cu-form-group ">
                <view class="title">物料标签</view>
                <input placeholder="请扫描物料标签" v-model="barcode"></input>
                <text class='cuIcon-search text-blue' @click="search"></text>
            </view>
        </form>
        <view class="cu-list det menu sm-border  padding">
            <block v-for="(item, index) in list" :key="index">
                <view class="cu-bar bg-white solid-bottom margin-top-sm">
                    <view class="action">
                        <!-- <view class="index">
                            {{index+1}}
                        </view> -->
                        <view class="text-blue">
                            {{`${item.maktx}`}}
                        </view>
                    </view>
                    <view class="action">
                        <view class='cu-tag radius bg-red'>不合格</view>
                    </view>
                    <!--     <view class="action" v-if="!isconfirm">
                        <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
                    </view> -->
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">物料编码:</text>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.maktxCode}}</text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">单号:</text>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.asnCode}}</text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">供应商批次:</text>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.splrBatch}}</text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">库存单位:</text>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.stockUnit}}</text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <view class="cu-form-group padding-lr-0">
                            <view class="title text-blue">数量:</view>
                            <input class="text-right" type="number" placeholder="请输入数量" v-model="item.receiptQty"
                                focus></input>
                        </view>
                    </view>
                </view>
                <view class="margin-top-sm flex">
                    <uni-data-checkbox mode="tag" v-model="item.status" :localdata="types"></uni-data-checkbox>
                </view>
            </block>
        </view>
        <view class="cu-bar btn-group foot">
            <button class="cu-btn bg-blue shadow-blur" @click="confirm">提交</button>
        </view>
    </view>
</template>
<script>
    import {
        request
    } from '../../common/request.js'
    export default {
        data() {
            return {
                barcode: '',
                container: '',
                list: [],
                range: [],
                isconfirm: false,
                types: [{
                        text: '待返修',
                        value: 1
                    },
                    {
                        text: '待报废',
                        value: 2
                    },
                    {
                        text: '降级使用',
                        value: 3
                    },
                    {
                        text: '待定',
                        value: 4
                    },
                ],
            }
        },
        computed: {
        },
        mounted() {},
        methods: {
            async search() {
                // const {
                //     code,
                //     data,
                //     msg
                // } = await request('/asnOrderItem/trackCode/' + this.barcode, {}, "get")
                // if (code === 200) {
                //     const find = this.list.find(el => el.id === data.id);
                //     !find && this.list.push(data)
                // } else {
                //     uni.showToast({
                //         title: msg,
                //         icon: "none",
                //         position: 'top'
                //     })
                // }
                this.list = [{
                    id: 1,
                    maktx: '拉杆箱',
                    maktxCode: '312312312',
                    asnCode: 'asn123412',
                    splrBatch: '3123123',
                    stockUnit: '个',
                    receiptQty: null
                }]
            },
            async confirm() {
                // const {
                //     code,
                //     data,
                //     msg
                // } = await request('/waitPakin/unbind', {
                //     items: this.list,
                //     barcode: this.container
                // })
                // if (code === 200) {
                //     uni.showToast({
                //         title: '提交成功'
                //     })
                //     this.list = []
                //     this.barcode = ''
                //     this.isconfirm = false
                // } else {
                //     uni.showToast({
                //         title: msg,
                //         icon: "none",
                //         position: 'top'
                //     })
                // }
            },
        }
    }
</script>
<style>
    .index {
        border: 1px solid #e54d42;
        color: #e54d42;
        border-radius: 50%;
        display: block;
        width: 50rpx;
        height: 50rpx;
        line-height: 48rpx;
        text-align: center;
        margin-right: 20rpx;
        font-size: 30rpx;
    }
    .text-blue {
        color: #0081ff !important;
    }
    .item {
        position: relative;
        display: flex;
        min-height: 80upx;
        align-items: center;
    }
</style>
pages/inspect/check.vue
@@ -4,116 +4,115 @@
            <view class="cu-form-group margin-top">
                <view class="title">质检单</view>
                <input placeholder="请扫描质检单" v-model="isptCode" focus></input>
                <text class='cuIcon-search text-blue' @click="search"></text>
            </view>
            <view class="cu-form-group ">
                <view class="title">物料码</view>
                <input placeholder="请扫描物料码" v-model="barcode"></input>
                <text class='cuIcon-search text-blue' @click="search"></text>
                <text class='cuIcon-search text-blue' @click="scrollTo"></text>
            </view>
        </form>
        <view class="cu-list det menu sm-border  padding">
        <view class="padding-lr margin-top-sm">
            <block v-for="(item, index) in list" :key="index">
                <view class="cu-bar bg-white solid-bottom margin-top-sm">
                    <view class="action">
                        <!--     <view class="index">
                            {{index+1}}
                        </view> -->
                        <view class="text-blue">
                            {{`${item.maktx}`}}
                <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.matnrCode===barcode&&'act']"
                    :ref="item.matnrCode+'ref'">
                    <view class="cu-bar bg-white solid-bottom ">
                        <view class="action">
                            <view class="index">
                                {{index+1}}
                            </view>
                            <view class="text-blue">
                                {{`${item.maktx}`}}
                            </view>
                        </view>
                        <view class="action">
                            <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
                        </view>
                    </view>
                    <!--     <view class="action" >
                        <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
                    </view> -->
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">ASN:</text>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.asnCode}}</text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">供应商:</text>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.splrName}}</text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">供应商批次:</text>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.splrBatch}}</text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">收货数量: <text class="text-grey ">{{item.rcptQty}}</text></text>
                    </view>
                    <view class="content">
                        <text class="text-black">送货数量: <text class="text-grey ">{{item.dlyQty}}</text></text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <view class="cu-form-group padding-lr-0">
                            <view class="title text-blue">合格数量:</view>
                            <input type="number" placeholder="请输入合格数量" v-model="item.safeQty"></input>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">ASN:</text>
                        </view>
                        <view class="action">
                            <text class="text-grey ">{{item.asnCode}}</text>
                        </view>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <view class="cu-form-group padding-lr-0">
                            <view class="title text-blue">不合格数量:</view>
                            <input type="number" placeholder="请输入不合格数量" v-model="item.disQty"></input>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">供应商:</text>
                        </view>
                        <view class="action">
                            <text class="text-grey ">{{item.splrName}}</text>
                        </view>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <view class="cu-form-group padding-lr-0">
                            <view class="title text-blue">质检结论:</view>
                            <uni-data-select placement='top' v-model="item.isptResult" :localdata="range"
                                placeholder="请输入质检结论"></uni-data-select>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">供应商批次:</text>
                        </view>
                        <view class="action">
                            <text class="text-grey ">{{item.splrBatch}}</text>
                        </view>
                    </view>
                </view>
                <view class="cu-form-group align-start">
                    <view class="title text-blue">备注</view>
                    <textarea v-model="item.memo" placeholder="请输入备注"></textarea>
                </view>
                <!--     <view class="cu-form-group">
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">收货数量: <text class="text-grey ">{{item.rcptQty}}</text></text>
                        </view>
                        <view class="content">
                            <text class="text-black">送货数量: <text class="text-grey ">{{item.dlyQty}}</text></text>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <view class="cu-form-group padding-lr-0">
                                <view class="title text-blue">合格数量:</view>
                                <input type="number" placeholder="请输入合格数量" v-model="item.safeQty"></input>
                            </view>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <view class="cu-form-group padding-lr-0">
                                <view class="title text-blue">不合格数量:</view>
                                <input type="number" placeholder="请输入不合格数量" v-model="item.disQty"></input>
                            </view>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <view class="cu-form-group padding-lr-0">
                                <view class="title text-blue">质检结论:</view>
                                <uni-data-select placement='top' v-model="item.isptResult" :localdata="range"
                                    placeholder="请输入质检结论"></uni-data-select>
                            </view>
                        </view>
                    </view>
                    <view class="cu-form-group align-start">
                        <view class="title text-blue">备注</view>
                        <textarea v-model="item.memo" placeholder="请输入备注"></textarea>
                    </view>
                    <!--     <view class="cu-form-group">
                    <uni-file-picker limit="9" title="照片"></uni-file-picker>
                </view> -->
                </view>
            </block>
        </view>
        <view class="cu-bar btn-group foot">
            <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button>
            <button class="cu-btn bg-blue shadow-blur" @click="confirm">提交</button>
@@ -165,10 +164,9 @@
                    msg
                } = await request('/inspect/query', {
                    isptCode: this.isptCode,
                    matnrCode: this.barcode
                })
                if (code === 200) {
                    this.list = [data]
                    this.list = data
                } else {
                    uni.showToast({
                        title: msg,
@@ -186,33 +184,32 @@
                this.list = []
                this.barcode = ''
            },
            scrollTo() {
                const ref = this.$refs[`${this.barcode}ref`][0];
                uni.pageScrollTo({
                    scrollTop: ref.$el.offsetTop,
                    duration: 300
                })
            },
            async confirm() {
                const row = this.list[0]
                if (row.safeQty > 0 || row.disQty > 0) {
                    const {
                        code,
                        data,
                        msg
                    } = await request('/inspect/check/update', row)
                    if (code === 200) {
                        uni.showToast({
                            title: '质检成功'
                        })
                        this.list = []
                        this.barcode = ''
                    } else {
                        uni.showToast({
                            title: msg,
                            icon: "none",
                        })
                    }
                const {
                    code,
                    data,
                    msg
                } = await request('/inspect/check/update', this.list)
                if (code === 200) {
                    uni.showToast({
                        title: '质检成功'
                    })
                    this.list = []
                    this.barcode = ''
                } else {
                    uni.showToast({
                        title: '请填写数量',
                        title: msg,
                        icon: "none",
                    })
                }
            },
@@ -240,6 +237,10 @@
    }
    .act {
        border: 1px solid #e54d42;
    }
    .item {
        position: relative;
        display: flex;
pages/listing/disc.vue
@@ -4,6 +4,7 @@
            <view class="cu-form-group margin-top">
                <view class="title">容器号</view>
                <input placeholder="请扫描容器号" v-model="container" focus></input>
                <text class='cuIcon-search text-blue' @click="getList"></text>
            </view>
            <view class="cu-form-group ">
@@ -15,85 +16,98 @@
        <view class="flex solid-bottom padding-sm justify-between">
            <view class="text-blue">物料总类:{{list.length}}</view>
            <view class="text-blue">物料总数:{{allCount}}</view>
            <view class="text-blue">组盘总数:{{allCount}}</view>
        </view>
        <view class="cu-list det menu sm-border  padding">
        <view class="padding-lr margin-top-sm">
            <block v-for="(item, index) in list" :key="index">
                <view class="cu-bar bg-white solid-bottom margin-top-sm">
                    <view class="action">
                        <view class="index">
                            {{index+1}}
                <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.trackCode===barcode&&'act']"
                    :ref="item.trackCode+'ref'">
                    <view class="cu-bar bg-white solid-bottom ">
                        <view class="action">
                            <view class="index">
                                {{index+1}}
                            </view>
                            <view class="text-blue">
                                {{`${item.maktx}`}}
                            </view>
                        </view>
                        <view class="text-blue">
                            {{`${item.maktx}`}}
                        <view class="action" v-if="!isconfirm">
                            <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
                        </view>
                    </view>
                    <view class="action" v-if="!isconfirm">
                        <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">ASN:</text>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">ASN:</text>
                        </view>
                        <view class="action">
                            <text class="text-grey ">{{item.asnCode}}</text>
                        </view>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.asnCode}}</text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">供应商批次:</text>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">物料条码:</text>
                        </view>
                        <view class="action">
                            <text class="text-grey ">{{item.trackCode}}</text>
                        </view>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.splrBatch}}</text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">库存批次:</text>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">供应商批次:</text>
                        </view>
                        <view class="action">
                            <text class="text-grey ">{{item.splrBatch}}</text>
                        </view>
                    </view>
                    <view class="action">
                        <text class="text-grey ">{{item.batch}}</text>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">库存批次:</text>
                        </view>
                        <view class="action">
                            <text class="text-grey ">{{item.batch}}</text>
                        </view>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">平台行号: <text class="text-grey ">{{item.platformId}}</text></text>
                    </view>
                    <view class="content">
                        <text class="text-black">质检结果: <text class="text-grey ">{{item.inspect}}</text></text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-black">库存单位: <text class="text-grey ">{{item.stockUnit}}</text></text>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">平台行号: <text class="text-grey ">{{item.platformId}}</text></text>
                        </view>
                        <view class="content">
                            <text class="text-black">质检结果: <text class="text-grey ">{{item.inspect}}</text></text>
                        </view>
                    </view>
                    <!-- <view class="content">
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-black">库存单位: <text class="text-grey ">{{item.stockUnit}}</text></text>
                        </view>
                        <!-- <view class="content">
                        <text class="text-black">计划收货数: <text class="text-grey ">{{item.anfme}}</text></text>
                    </view> -->
                </view>
                    </view>
                <view class="cu-item">
                    <view class="content">
                        <view class="cu-form-group padding-lr-0">
                            <view class="title text-blue"><text class="text-red text-xl vertical-middle">*</text>组盘数量:
                    <view class="cu-item">
                        <view class="content">
                            <view class="cu-form-group padding-lr-0">
                                <view class="title text-blue"><text
                                        class="text-red text-xl vertical-middle">*</text>组盘数量:
                                </view>
                                <input type="number" placeholder="请输入组盘数量" v-model="item.anfme"></input>
                            </view>
                            <input type="number" placeholder="请输入组盘数量" v-model="item.receiptQty"></input>
                        </view>
                    </view>
                </view>
            </block>
        </view>
@@ -128,20 +142,24 @@
        computed: {
            ...mapState('user', ['dynamicFields']),
            allCount() {
                return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) || 0
                return this.list.reduce((acc, row) => +row.anfme + acc, 0) || 0
            }
        },
        mounted() {},
        methods: {
            async search() {
                const find = this.list.find(el => el.trackCode === this.barcode);
                find ? this.scrollTo() : this.getDet();
            },
            async getDet() {
                const {
                    code,
                    data,
                    msg
                } = await request('/asnOrderItem/trackCode/' + this.barcode, {}, "get")
                if (code === 200) {
                    const find = this.list.find(el => el.id === data.id);
                    !find && this.list.push(data)
                    data && this.list.push(data);
                } else {
                    uni.showToast({
                        title: msg,
@@ -149,8 +167,31 @@
                        position: 'top'
                    })
                }
            },
            async getList() {
                const {
                    code,
                    data,
                    msg
                } = await request('/asnOrderItem/container', {
                    barcode: this.container
                })
                if (code === 200) {
                    this.list = data
                } else {
                    uni.showToast({
                        title: msg,
                        icon: "none",
                        position: 'top'
                    })
                }
            },
            scrollTo() {
                const ref = this.$refs[`${this.barcode}ref`][0];
                uni.pageScrollTo({
                    scrollTop: ref.$el.offsetTop,
                    duration: 300
                })
            },
            remove(index) {
                this.list.splice(index, 1);
@@ -173,12 +214,20 @@
                this.isconfirm = false
            },
            async confirm() {
                const newArr = this.list.map(item => {
                    return {
                        ...item,
                        anfme: item.anfme === null ? 0 : +item.anfme
                        // receiptQty: item.receiptQty === null ? 0 : +item.receiptQty
                    };
                });
                const {
                    code,
                    data,
                    msg
                } = await request('/waitPakin/merge', {
                    items: this.list,
                    items: newArr,
                    barcode: this.container
                })
                if (code === 200) {
@@ -187,6 +236,7 @@
                    })
                    this.list = []
                    this.barcode = ''
                    this.container = ''
                    this.isconfirm = false
                } else {
                    uni.showToast({
@@ -195,10 +245,7 @@
                        position: 'top'
                    })
                }
            },
        }
    }
</script>
@@ -222,6 +269,10 @@
    }
    .act {
        border: 1px solid #e54d42;
    }
    .item {
        position: relative;
        display: flex;
pages/listing/labour.vue
@@ -31,9 +31,9 @@
                            {{`${item.maktx}`}}
                        </view>
                    </view>
                    <!--     <view class="action" >
                    <view class="action">
                        <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
                    </view> -->
                    </view>
                </view>
                <view class="cu-item">
pages/listing/untie.vue
@@ -4,6 +4,7 @@
            <view class="cu-form-group margin-top">
                <view class="title">容器号</view>
                <input placeholder="请扫描容器号" v-model="container" focus></input>
                <text class='cuIcon-search text-blue' </text>
            </view>
            <view class="cu-form-group ">
@@ -142,8 +143,13 @@
                        position: 'top'
                    })
                }
            },
            scrollTo() {
                const ref = this.$refs[`${this.barcode}ref`][0];
                uni.pageScrollTo({
                    scrollTop: ref.$el.offsetTop,
                    duration: 300
                })
            },
            remove(index) {
                this.list.splice(index, 1);
pages/listing/upper.vue
@@ -153,6 +153,7 @@
                    })
                }
            },
            remove(index) {
                this.list.splice(index, 1);
            },