whycq
2023-12-01 6196d5efa014fc9d16227d5c77f20758c802715f
优化pakin
3个文件已添加
5个文件已修改
188 ■■■■ 已修改文件
components/z-input/z-input.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/api/addMat.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/api/common/common.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/api/pakin/pakin.js 补丁 | 查看 | 原始文档 | blame | 历史
pages/common/mat/matPick.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/project/pakin/pakin.vue 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/util.js 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/z-input/z-input.vue
@@ -85,10 +85,11 @@
                    return
                }
                if (val.length != this.lenCheck) {
                    console.log(val);
                    setTimeout(()=>{
                        this.data = ''
                        this.$emit('input','')
                    },0)
                    },10)
                } else {
                    this.$emit('input',val)
                }
@@ -115,17 +116,15 @@
                this.$emit('clickBtn');
            },
            inputVal() {
                this.$emit('inputVal',[this.data,this.name]);
                this.$emit('inputVal',{title:this.name,value:this.data});
            },
            scanCode() {
                let _this = this
                uni.scanCode({
                    onlyFromCamera: true,
                    success(res) {
                        _this.$parent.scanCode(res.result)
                        _this.data = res.result
                        console.log('扫到了');
                        console.log(res);
                        _this.$emit('inputVal',{title:_this.name,value:_this.data})
                    }
                })
            }
pages.json
@@ -105,6 +105,14 @@
            }
            
            
        },
        {
            "path" : "pages/common/mat/matPick",
            "style" :
            {
                "navigationBarTitleText" : "提取物料",
                "enablePullDownRefresh" : false
            }
        }
    ],
    "globalStyle": {
pages/api/addMat.js
@@ -10,16 +10,7 @@
        header: {'token': uni.getStorageSync('token')},
        data: {matnr: matnr},
    }).then((result)=> {
        let mat = result.data.data
        item = mat
        console.log(mat);
        // item['detl'] = [
        //     {key: '商品码',value: mat.matnr},
        //     {key: '商品名称',value: mat.maktx},
        //     {key: '规格',value: mat.specs},
        //     {key: '批号',value: '',type: 'input'},
        //     {key: '数量',value: 0,type: 'number-box',valText: 'val-num'},
        // ]
        item = result.data
    },(res)=>{
        console.log(res);
    })
pages/api/common/common.js
@@ -16,6 +16,7 @@
            password: md5.hex_md5(user.password)
        },
    }).then((result) => {
        console.log(result);
        result = result.data
        if (result.code === 200 && result.data.token) {
            uni.setStorageSync('token', result.data.token);
pages/api/pakin/pakin.js
pages/common/mat/matPick.vue
New file
@@ -0,0 +1,22 @@
<template>
    <view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            }
        },
        methods: {
        }
    }
</script>
<style>
</style>
pages/project/pakin/pakin.vue
@@ -8,24 +8,20 @@
                v-model="barcode" 
                :index="input1.id" 
                :lenCheck="input1.lenCheck" 
                :focus="input1.focus"
                @inputVal='input3'
                :focus="barcodeFocus"
                @inputVal='barcodeInput'
            />
            <z-input
            :desc="input2.title"
            <z-input :desc="input2.title"
            :name="input2.name" 
            :btn="input2.btn" 
            :btn-name="input2.btnName" 
            v-model="matnr" 
            :index="input2.id" 
            :lenCheck="input2.lenCheck" 
            :focus="input2.focus"
            @inputVal='input3'
                :focus="matnrFocus"
                @inputVal='matnrInput'
            />
        </view>
        <!-- 基本属性绑定 -->
        <!-- 光标复位 -->
        <!-- 长度判断 -->
        
        
        <u-sticky  >
@@ -35,12 +31,6 @@
                <view class="flex1"></view>
            </view>
        </u-sticky>
        <view>barcode:{{barcode}}</view>
        <!-- <zzz v-model="barcode" @change1='change' @input="inputz"></zzz> -->
        <view>matnr:{{matnr}}</view>
        <!-- <zzz v-model="matnr" @change1='change' @input="inputz"></zzz> -->
        
        <z-data-list class="data-list"
            v-for="(it,i) in zDataList" 
@@ -51,10 +41,10 @@
            @goDetail='goDetail(it,i)' 
        ></z-data-list>
        <!-- 垫高 -->
        <view style="height: 100rpx;"></view>
        <view style="height: 100rpx;" />
        
        <view class="z-floor">
            <view class="z-default">重置</view>
            <view class="z-default" @click="clean">重置</view>
            <view class="z-primary" @click="comb">组托</view>
        </view>
        
@@ -64,13 +54,16 @@
<script>
    import { mapState } from 'vuex'
    import addMat from '@/pages/api/addMat.js'
    import util from '@/static/js/util.js'
    export default {
        data() {
            return {
                zDataList: [ ],
                barcode: '80009991',
                barcode: '',
                matnr: '',
                inputCode: '托盘码',
                barcodeFocus: true,
                matnrFocus: false
            }
        },
        onShow() {
@@ -83,28 +76,16 @@
            lable: state => state.project.menu[0].page.lable
        }),
        methods: {
            inputz() {
                // console.log(this.barcode);
                console.log(this.matnr);
            barcodeInput(arr) {
                this.barcodeFocus = false
                setTimeout(()=>{
                    this.matnrFocus = true
                },10)
            },
            change() {
                // console.log(this.barcode);
                // console.log(this.matnr);
            },
            scanCode(data) {
                // console.log(data);
            },
            input3(arr) {
                if(arr[1] == 'matnr') {
                    this.getMat(arr[0])
            matnrInput(arr) {
                if(arr.title == 'matnr') {
                    this.getMat(arr.value)
                }
            },
            async getMat(matnr) {
                let mat = await addMat.addMat(matnr)
                mat['count'] = 0
                this.zDataList.push(mat)
            },
            goDetail(param,index) {
                let _this = this
@@ -128,10 +109,58 @@
                    },
                })
            },
            // 获取物料
            async getMat(matnr) {
                let res = await addMat.addMat(matnr)
                if (res.code === 200 && res.data) {
                    res.data['count'] = 1
                    this.zDataList =  util.matCheck(res.data,this.zDataList)
                    this.matnr = ''
                } else if (res.code === 200 && !res.data) {
                    let msg = `${this.matnr} 物料异常,请重试`
                    uni.showToast({ title: msg, icon: "none", position: 'top' })
                } else if (res.code == 403) {
                    uni.showToast({ title: res.msg, icon: "none", position: 'top' })
                    setTimeout(() => {
                        uni.reLaunch({
                            url: '../../LoginDemo/LoginDemo'
                        });
                    }, 1000);
                } else {
                    uni.showToast({ title: res.msg, icon: "none", position: 'top' })
                }
            },
            // 跳转物料提取页面
            matPick() {
                uni.navigateTo({
                    url: '/pages/common/data-list/dataDetail',
                    // 传
                    success: function(data) {
                        data.eventChannel.emit('param', {
                            param: param,
                            index: index
                        })
                    },
                    // 接
                    events: {
                        dataList: function(data) {
                            console.log(data);
                        },
                        del: function(data) {
                            _this.zDataList.splice(data.data,1)
                        }
                    },
                })
            },
            // 组托
            comb() {
                console.log(this.barcode);
                console.log(this.matnr);
                console.log(this.zDataList);
            },
            clean() {
            }
        }
    }
</script>
static/js/util.js
New file
@@ -0,0 +1,30 @@
/*
*    添加物料
*     mat -- 物料详情
*     matList -- 已添加物料
*
*/
function matCheck(mat, matList) {
    let newMatList = [],
        add = true;
    if (matList.length > 0) {
        for (let item of matList) {
            if (item.matnr == mat.matnr) {
                if (item.batch == mat.batch) {
                    add = false
                    item.count = item.count + mat.count
                } else {
                }
            }
        }
    }
    if (add) {
        matList.unshift(mat)
    }
    return matList
}
module.exports = {
    matCheck: matCheck,
}