#
zjj
2 天以前 d111b3ab62e3a10053d3f339497e03e62459148e
#
2个文件已修改
331 ■■■■■ 已修改文件
pages/check/checkOrder.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/check/checkOrderItem.vue 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/check/checkOrder.vue
@@ -1,7 +1,7 @@
<template>
    <view class="has-foot">
        <form>
            <view class="cu-form-group" v-show="!isconfirm">
        <form >
            <view class="cu-form-group " v-show="!isconfirm">
                <view class="title">盘点单</view>
                <input placeholder="请扫描盘点单号" v-model="barcode" @input="search()" focus></input>
                <text class='cuIcon-close text-gray margin-right-xs' v-show="barcode!==''" @click="clearCode"></text>
@@ -74,11 +74,6 @@
        <view class="cu-bar btn-group foot" v-show="!isconfirm">
            <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button>
            <button class="cu-btn bg-blue shadow-blur" @click="next">下一步</button>
        </view>
        <view class="cu-bar btn-group foot" v-show="isconfirm">
            <button class="cu-btn text-blue line-blue shadow" @click="prev">上一步</button>
            <button class="cu-btn bg-blue shadow-blur" @click="confirm">提交收货</button>
        </view>
    </view>
pages/check/checkOrderItem.vue
@@ -2,97 +2,168 @@
    <view class="has-foot">
        <form>
            <view class="cu-form-group" v-show="!isconfirm">
                <view class="title">差异单号</view>
                <text class="text-black ">{{check.orderCode}}</text>
                <view class="title">盘点单号:<text class="text-black ">{{check.orderCode}}</text></view>
                <text class='cuIcon-add text-blue' @click="returnPage"></text>
            </view>
            <view class="cu-form-group" v-show="!isconfirm">
                <view class="title">容器号</view>
                <input placeholder="请扫描容器号" v-model="barcode"  focus></input>
                <input placeholder="请扫描容器号" v-model="barcode" focus></input>
                <text class='cuIcon-close text-gray margin-right-xs' v-show="barcode!==''" @click="clearCode"></text>
                <text class='cuIcon-search text-blue' @click="search"></text>
            </view>
            <view class="cu-form-group" v-show="isconfirm">
                <view class="title">物料码</view>
                <input placeholder="请扫描物料码" v-model="matnr" focus></input>
                <text class='cuIcon-close text-gray margin-right-xs' v-show="matnr!==''" @click="clearCode"></text>
                <text class='cuIcon-search text-blue' @click="addMatnr" v-show="matnr!==''"></text>
            </view>
        </form>
        <view class="cu-list det menu sm-border  padding">
            <block  v-for="(item, index) in list">
                <view  class="cu-list det menu  ">
                <view class="cu-bar bg-white solid-bottom margin-top-sm">
                    <view class="action">
                        <view class="index">
                            {{index+1}}
                        </view>
                    </view>
                    <view class="content2">
                        <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-gray">物料编码:<text class="text-black ">{{item.matnrCode}}</text></text>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <text class="text-gray">物料名称:<text class="text-black ">{{item.maktx}}</text></text>
                    </view>
                </view>
                <view class="cu-item" v-if="check.checkType === 0">
                    <view class="content">
                        <text class="text-gray">库存数:<text class="text-black ">{{item.anfme}}</text></text>
                    </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>
                            <uni-number-box style="width: 70%;" :max="max" v-model="item.checkQty"
                                :step='1' ></uni-number-box>
                        </view>
                    </view>
                </view>
                <view class="cu-item">
                    <view class="content">
                        <view class="cu-form-group padding-lr-0">
                            <text class=" text-blue">备注:</text>
                            <input placeholder="请输入备注" v-model="item.memo" ></input>
                        </view>
                    </view>
                </view>
                <view class="cu-item" v-if="item.checkQty !== item.anfme && check.checkType === 0">
                    <view class="content">
                        <view class="cu-form-group padding-lr-0">
                            <view class=" text-blue" >差异原因</view>
                            <view style="width: 80%;">
                                <uni-data-select style="min-width: 90%; max-width: 90%;" v-model="item.reason" :localdata="reasons"
                                    placement="top"></uni-data-select>
            <block v-for="(item, index) in list" v-if="!isconfirm">
                <view class="cu-list det menu  ">
                    <view class="cu-bar bg-white solid-bottom margin-top-sm">
                        <view class="action">
                            <view class="index">
                                {{index+1}}
                            </view>
                        </view>
                    </view>
                        <view class="content2">
                            <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-gray">物料编码:<text class="text-black ">{{item.matnrCode}}</text></text>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-gray">物料名称:<text class="text-black ">{{item.maktx}}</text></text>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-gray">批次:<text class="text-black ">{{item.batch}}</text></text>
                        </view>
                    </view>
                    <view class="cu-item" v-if="check.checkType === 0">
                        <view class="content">
                            <text class="text-gray">库存数:<text class="text-black ">{{item.anfme}}</text></text>
                        </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>
                                <uni-number-box style="width: 70%;" :max="max" v-model="item.checkQty"
                                    :step='1'></uni-number-box>
                            </view>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <view class="cu-form-group padding-lr-0">
                                <text class=" text-blue">备注:</text>
                                <input placeholder="请输入备注" v-model="item.memo"></input>
                            </view>
                        </view>
                    </view>
                    <view class="cu-item" v-if="item.checkQty !== item.anfme && check.checkType === 0">
                        <view class="content">
                            <view class="cu-form-group padding-lr-0">
                                <view class=" text-blue">差异原因</view>
                                <view style="width: 80%;">
                                    <uni-data-select style="min-width: 90%; max-width: 90%;" v-model="item.reason"
                                        :localdata="reasons" placement="top"></uni-data-select>
                                </view>
                            </view>
                        </view>
                    </view>
                </view>
            </block>
            <block v-for="(item, index) in matnrList">
                <view class="cu-list det menu  ">
                    <view class="cu-bar bg-white solid-bottom margin-top-sm">
                        <view class="action">
                            <view class="index">
                                {{index+1}}
                            </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-gray">物料编码:<text class="text-black ">{{item.matnrCode}}</text></text>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <text class="text-gray">物料名称:<text class="text-black ">{{item.maktx}}</text></text>
                        </view>
                    </view>
                    <view class="cu-item" v-if="check.checkType === 0">
                        <view class="content">
                            <text class="text-gray">库存数:<text class="text-black ">{{item.anfme}}</text></text>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <view class="cu-form-group padding-lr-0">
                                <text class=" text-blue">批次:</text>
                                <input placeholder="请输入批次" v-model="item.batch"></input>
                            </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>
                                <uni-number-box style="width: 70%;" :max="max" v-model="item.checkQty"
                                    :step='1'></uni-number-box>
                            </view>
                        </view>
                    </view>
                    <view class="cu-item">
                        <view class="content">
                            <view class="cu-form-group padding-lr-0">
                                <text class=" text-blue">备注:</text>
                                <input placeholder="请输入备注" v-model="item.memo"></input>
                            </view>
                        </view>
                    </view>
                    <view class="cu-item" v-if="item.checkQty !== item.anfme && check.checkType === 0">
                        <view class="content">
                            <view class="cu-form-group padding-lr-0">
                                <view class=" text-blue">差异原因</view>
                                <view style="width: 80%;">
                                    <uni-data-select style="min-width: 90%; max-width: 90%;" v-model="item.reason"
                                        :localdata="reasons" placement="top"></uni-data-select>
                                </view>
                            </view>
                        </view>
                    </view>
                </view>
            </block>
        </view>
        <view class="cu-bar btn-group foot" v-show="!isconfirm">
            <button class="cu-btn text-blue line-blue shadow" @click="clear">清空</button>
            <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">提交</button>
        </view>
        <view class="cu-bar btn-group foot" v-show="isconfirm">
            <button class="cu-btn text-blue line-blue shadow" @click="returnPage">返回</button>
            <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="sureAdd">确定添加</button>
        </view>
    </view>
</template>
@@ -110,19 +181,21 @@
    export default {
        data() {
            return {
                check:'',
                list: [],
                check: '',
                list: [],
                isconfirm: false,
                barcode:'',
                barcode: '',
                max: 99999999,
                repeatClick:false,
                reasons:[]
                repeatClick: false,
                reasons: [],
                matnr: '',
                matnrList:[]
            }
        },
        computed: {
        computed: {
        },
        mounted() {
            this.getReasons()
@@ -130,20 +203,53 @@
        onLoad() {
            let that = this
            const eventChannel = this.getOpenerEventChannel();
            eventChannel.on('checkItem', function(data) {
                that.check = data.data
            })
        },
        methods: {
            sureAdd(){
                if(this.matnrList.length === 0){
                    uni.showToast({
                        title: "请添加物料明细",
                        icon: "none",
                        position: 'top'
                    })
                    return ;
                }
                this.list.push(...this.matnrList)
                this.matnrList = []
                this.isconfirm = !this.isconfirm
            },
            remove(index) {
                this.matnrList.splice(index, 1);
            },
            async addMatnr() {
                const {
                    code,
                    data,
                    msg
                } = await request('/selectAddMatnr', {
                    matnr:this.matnr
                })
                if (code === 200) {
                    this.matnrList.push(data)
                    this.matnr = ''
                }
            },
            returnPage() {
                this.matnrList = []
                this.isconfirm = !this.isconfirm
            },
            async getReasons() {
                const {
                    code,
                    data,
                    msg
                } = await request('/getCheckDiffReasonList', {},'get')
                } = await request('/getCheckDiffReasonList', {}, 'get')
                if (code === 200) {
                    this.reasons = data.map(item => ({
                        value: item.id,
@@ -156,7 +262,8 @@
                this.list = []
            },
            clearCode() {
                this.barcode = ''
                this.barcode = ''
                this.matnr = ''
            },
            async search() {
                this.list = []
@@ -167,67 +274,66 @@
                    code,
                    data,
                    msg
                } = await request('/getCheckTaskItemList',{
                    barcode:this.barcode,
                } = await request('/getCheckTaskItemList', {
                    barcode: this.barcode,
                    checkCode: this.check.orderCode
                }
                )
                if (code === 200) {
                    if (Object.keys(data).length === 0){
                })
                if (code === 200) {
                    if (Object.keys(data).length === 0) {
                        uni.showToast({
                            title: "该标签未查询到数据",
                            icon: "none",
                            position: 'top'
                        })
                    }
                    for(var i=0;i<data.length;i++){
                        data[i].checkQty = data[i].anfme
                    for (var i = 0; i < data.length; i++) {
                        data[i].checkQty = data[i].anfme
                    }
                    this.list=data
                }else if(code == 401){
                    this.list = data
                } else if (code == 401) {
                    setTimeout(() => {
                        uni.removeStorageSync('token');
                        uni.reLaunch({
                            url: "/pages/login/login"
                        });
                    }, 1000);
                }else {
                } else {
                    uni.showToast({
                        title: msg,
                        icon: "none",
                        position: 'top'
                    })
                }
            },
            async complete() {
                let that = this
                if(that.barcode === '' || that.barcode === null){
                if (that.barcode === '' || that.barcode === null) {
                    uni.showToast({
                        title: "容器号为空",
                        icon: "error",
                    })
                    return ;
                    return;
                }
                if(that.list === [] || that.list.length === 0){
                if (that.list === [] || that.list.length === 0) {
                    uni.showToast({
                        title: "任务明细为空",
                        icon: "error",
                    })
                    return ;
                    return;
                }
                this.repeatClick = true
                const {
                    code,
                    data,
                    msg
                } = await request('/saveCheckDiff',{
                    container:that.barcode,
                } = await request('/saveCheckDiff', {
                    container: that.barcode,
                    checkId: that.check.id,
                    checkDiffItems:that.list
                    checkDiffItems: that.list
                })
                if (code === 200) {
                    uni.showToast({
@@ -272,7 +378,8 @@
        min-height: 80upx;
        align-items: center;
    }
    .content2 {
    .content2 {
        /* background-color: coral; */
        width: 100%;
        display: flex;
@@ -282,7 +389,8 @@
        margin-right: 10px;
        color: #0081ff;
    }
    .noMargin{
    .noMargin {
        margin-top: 0px;
        padding: 5px;
    }