#
whycq
2023-10-13 12d5e958374114425dae7e530656a034e0c38b1a
#
1个文件已添加
4个文件已修改
470 ■■■■■ 已修改文件
components/z-input/z-input.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/component/demo.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/project/ps/home/home.vue 372 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/project/ps/pakin/pakin.vue 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/z-input/z-input.vue
@@ -7,7 +7,7 @@
                    type="text" 
                    :placeholder="placeholder" 
                    v-model="data" 
                    :focus="focusData">
                    :focus="focusData" @input="inputVal">
                    
                <uni-icons class="p-icon" 
                    type="closeempty" 
@@ -34,7 +34,15 @@
            };
        },
        props: {
            index: {
                type: Number,
                default: 0
            },
            desc: {
                type: String,
                default: ''
            },
            name: {
                type: String,
                default: ''
            },
@@ -48,7 +56,7 @@
            },
            placeholder: {
                type: String,
                default: '请输入'
                default: '扫码 / 录入'
            },
            value: {
                type: [String,Number],
@@ -78,8 +86,10 @@
                    this.$emit('input',val)
                }
            },
            value(val) {
                this.data = val
            },
            focus(f) {
                console.log(f);
                this.focusData = !f
                setTimeout(()=>{
                    this.focusData = f
@@ -96,6 +106,9 @@
            },
            clickBtn() {
                this.$emit('clickBtn');
            },
            inputVal() {
                this.$emit('inputVal',[this.data,this.name]);
            }
        }
    }
@@ -107,6 +120,7 @@
        align-items: center;
        min-height: 35px;
        background-color: #FFF;
        margin: 8px;
        /* border-bottom: 1px solid darkgray; */
    }
    .put {
pages.json
@@ -50,18 +50,27 @@
            }
        },
        {
            "path": "pages/project/demo/home/home",
            "style": {
                "navigationBarTitleText": "Demo Home"
            }
        },
        {
            "path": "pages/project/ps/home/home",
            "style": {
                "navigationBarTitleText": "主页"
            }
        },
        {
            "path": "pages/project/demo/home/home",
            "style": {
                "navigationBarTitleText": "Demo Home"
            }
        }
    ],
        {
            "path" : "pages/project/ps/pakin/pakin",
            "style" :
            {
                "navigationBarTitleText": "组托",
                "enablePullDownRefresh": false
            }
        }
    ],
    "globalStyle": {
        "navigationBarTextStyle": "black",
        "navigationBarTitleText": "uni-app",
pages/component/demo.vue
@@ -2,7 +2,7 @@
    <view>
        <z-input v-for="it in zInputList" 
            :desc="it.desc" :btn="it.btn" :btn-name="it.btnName" v-model="it.val" 
            :lenCheck="it.lenCheck" :focus="it.focus" @clickBtn='entry(it.name)'>
            :lenCheck="it.lenCheck" :focus="it.focus" @clickBtn='entry(it.name)' @input='input'>
        </z-input>
        <view>输入框1</view>
        <view>{{zInputList[0].val}}</view>
@@ -103,6 +103,9 @@
        methods: {
            entry(e) {
            },
            input(val) {
                console.log(val);
            },
            ccc() {
            },
            async add() {
pages/project/ps/home/home.vue
@@ -1,13 +1,379 @@
<template>
    <view>
        <scroll-view scroll-y class="page">
            <view class="nav-list">
                <navigator hover-class='none' :url="'/pages/project' + item.url" class="nav-li" navigateTo
                    :class="'bg-'+item.color" :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]"
                    v-for="(item,index) in elements" :key="index">
                    <view class="nav-title">{{item.title}}</view>
                    <view class="nav-name">{{item.name}}</view>
                    <text :class="'cuIcon-' + item.cuIcon"></text>
                </navigator>
            </view>
            <view class="cu-tabbar-height"></view>
        </scroll-view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                baseUrl: '',
                token: '',
                icon: '',
                elements: [],
                elements2: [
                    {
                        title: '组托入库',
                        name: 'pakin',
                        color: 'cyan',
                        cuIcon: 'pullup',
                        url: '/ps/pakin/pakin'
                    },
                    {
                        title: '托盘解绑',
                        name: 'untie',
                        color: 'cyan',
                        cuIcon: 'pullup',
                        url: '/tzsk/pakin/untie'
                    },
                    {
                        title: '组托上架',
                        name: 'pakin',
                        color: 'cyan',
                        cuIcon: 'pullup',
                        url: '/tzsk/order/orderPutOn'
                    },
                    {
                        title: '订单拣货',
                        name: 'pakin',
                        color: 'cyan',
                        cuIcon: 'pullup',
                        url: '/tzsk/order/orderPick'
                    },
                    {
                        title: '临时入库',
                        name: 'pakin',
                        color: 'cyan',
                        cuIcon: 'pullup',
                        url: '/pakin/pakin2'
                    },
                    {
                        title: 'AGV盘点/拣料',
                        name: 'AGVPick',
                        color: 'cyan',
                        cuIcon: 'pullup',
                        url: '/tzsk/AGV/AGVPick'
                    },
                    {
                        title: '再次拣料',
                        name: 'changePallet',
                        color: 'green',
                        cuIcon: 'order',
                        url: '/pakin/pickAgain'
                    },
                    {
                        title: 'AGV组托',
                        name: 'AGVPakin',
                        color: 'blue',
                        cuIcon: 'pullup',
                        url: '/tzsk/AGV/AGVPakin'
                    },
                    {
                        title: 'AGV上架绑定',
                        name: 'AGVPakinBing',
                        color: 'mauve',
                        // cuIcon: 'pullup',
                        url: '/tzsk/AGV/AGVPakinBing'
                    },
                    {
                        title: 'AGV启动入库',
                        name: 'AGVStart',
                        color: 'pink',
                        // cuIcon: 'pullup',
                        url: '/tzsk/AGV/AGVStart'
                    },
                    {
                        title: 'AGV上架组托',
                        name: 'AGVPakinOn',
                        color: 'brown',
                        // cuIcon: 'pullup',
                        url: '/tzsk/AGV/AGVPakinOn'
                    },
                    {
                        title: 'AGV容器离场',
                        name: 'pakin',
                        color: 'cyan',
                        cuIcon: 'pullup',
                        url: '/tzsk/AGV/AGVContainerMove'
                    },
                    {
                        title: '订单入库',
                        name: 'orderPakin',
                        color: 'red',
                        cuIcon: 'pullup',
                        url: '/order/orderPakin'
                    },
                    {
                        title: '组托上架',
                        name: 'putOn',
                        color: 'orange',
                        cuIcon: 'pullup',
                        url: '/pakin/putOn'
                    },
                    {
                        title: '打印',
                        name: 'print',
                        color: 'purple',
                        cuIcon: 'text',
                        url: '/print/print'
                    },
                    {
                        title: '订单上架',
                        name: 'orderPutOn',
                        color: 'yellow',
                        cuIcon: 'pullup',
                        url: '/order/orderPutOn'
                    },
                    {
                        title: '订单下架',
                        name: 'orderPutDown',
                        color: 'olive',
                        cuIcon: 'pulldown',
                        url: '/order/orderPutDown'
                    },
                    {
                        title: '库存查询',
                        name: 'stockQuery',
                        color: 'green',
                        cuIcon: 'check',
                        url: '/stock/stockQuery'
                    },
                    {
                        title: '盘点',
                        name: 'stockCheck',
                        color: 'red',
                        cuIcon: 'post',
                        url: '/stock/stockCheck'
                    },
                    {
                        title: '商品打印',
                        name: 'matList',
                        color: 'orange',
                        cuIcon: 'post',
                        url: '/mat/matList'
                    },
                    {
                        title: '补货',
                        name: 'restock',
                        color: 'yellow',
                        cuIcon: 'punch',
                        url: '/stock/restock'
                    },
                    {
                        title: '转全板',
                        name: 'piking',
                        color: 'olive',
                        cuIcon: 'order',
                        url: '/pakin/piking'
                    },
                    {
                        title: '换板绑定',
                        name: 'changePallet',
                        color: 'green',
                        cuIcon: 'order',
                        url: '/stock/changePallet'
                    },
                    {
                        title: '退出登录',
                        name: 'logOut',
                        color: 'grey',
                        cuIcon: 'exit',
                        url: '/login/logOut'
                    },
                ],
                colorList: ['cyan','blue','mauve','pink','brown','red','orange','yellow','olive','olive','green','grey' ]
            };
        },
        onShow() {
            this.baseUrl = uni.getStorageSync('baseUrl');
            this.token = uni.getStorageSync('token');
            this.getAuth()
            this.backGroundRepeat()
        },
        methods: {
            backGroundRepeat() {
                let len = this.colorList.length
                let i = 0
                for (let k in this.elements2) {
                    if (i == len) {
                        i = 0
                    }
                    this.elements2[k].color = this.colorList[i]
                    i++
                }
            },
            getAuth() {
                let that = this
                uni.request({
                    url: that.baseUrl + '/menu/pda/auth',
                    data: {},
                    header: { 'token': uni.getStorageSync('token') },
                    method: 'POST',
                    success(res) {
                        console.log(res);
                        if (res.statusCode === 404) {
                            that.elements = that.elements2
                            return
                        }
                         res = res.data
                        that.elements = []
                        if (res.code === 200) {
                            if (res.data == undefined || res.data == null || res.data == "") {
                                that.elements = that.elements2
                                return
                            }
                            for (var i = 0; i < res.data.length; i++) {
                                if (res.data.length < 0) {
                                    break;
                                }
                                that.getIcon(res.data[i].title)
                                that.elements.unshift({
                                    title: res.data[i].name,
                                    name: res.data[i].title,
                                    color: that.colorList[i],
                                    cuIcon: that.icon,
                                    url: res.data[i].action
                                })
                            }
                            that.elements.push({
                                title: '退出登录',
                                name: 'logOut',
                                color: 'grey',
                                cuIcon: 'exit',
                                url: '/login/logOut'
                            })
                        } else if (res.code === 403) {
                            uni.showToast({
                                title: res.msg,
                                icon: "none",
                                position: 'top'
                            })
                            setTimeout(() => {
                                uni.reLaunch({
                                    url: '../login/login'
                                });
                            }, 1000);
                        } else if(res.status === 404) {
                            that.elements = that.elements2
                            // uni.showToast({
                            //     title: '默认主页',
                            //     icon: "none",
                            //     position: 'top'
                            // })
                        } else {
                            uni.showToast({
                                title: res.msg,
                                icon: "none",
                                position: 'top'
                            })
                        }
                    },
                    fail(err) {
                        console.log(err);
                        that.elements = that.elements2
                    }
                })
            },
            getIcon(e) {
                const ways = ['pakin','orderPakin','orderPutOn']
                if (ways.includes(e)) {
                    this.icon = 'pullup'
                }
            }
        }
    }
</script>
<style>
    .page {
        height: 100vh;
    }
    .bg-red {
        background-color: #e54d42;
        color: #ffffff;
    }
    .bg-orange {
        background-color: #f37b1d;
        color: #ffffff;
    }
    .bg-yellow {
        background-color: #fbbd08;
        color: #333333;
    }
    .bg-olive {
        background-color: #8dc63f;
        color: #ffffff;
    }
    .bg-green {
        background-color: #39b54a;
        color: #ffffff;
    }
    .bg-cyan {
        background-color: #1cbbb4;
        color: #ffffff;
    }
    .bg-blue {
        background-color: #0081ff;
        color: #ffffff;
    }
    .bg-purple {
        background-color: #6739b6;
        color: #ffffff;
    }
    .bg-mauve {
        background-color: #9c26b0;
        color: #ffffff;
    }
    .bg-pink {
        background-color: #e03997;
        color: #ffffff;
    }
    .bg-brown {
        background-color: #a5673f;
        color: #ffffff;
    }
    .bg-grey {
        background-color: #8799a3;
        color: #ffffff;
    }
    .bg-gray {
        background-color: #f0f0f0;
        color: #333333;
    }
    .bg-black {
        background-color: #333333;
        color: #ffffff;
    }
    .bg-white {
        background-color: #ffffff;
        color: #666666;
    }
</style>
pages/project/ps/pakin/pakin.vue
New file
@@ -0,0 +1,50 @@
<template>
    <view>
        <view>
            <z-input v-for="it in zInputList"
                :desc="it.desc"
                :name="it.name"
                :btn="it.btn"
                :btn-name="it.btnName"
                v-model="it.val"
                :index="it.id"
                :lenCheck="it.lenCheck"
                :focus="it.focus"
                @clickBtn='entry(it.name)'
                @inputVal='input2'>
            </z-input>
        </view>
        <view style="text-align: center;">商品列表</view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                zInputList: [
                    {id:0,name: 'orderNo',desc: '订单号',val: '',focus: true},
                    {id:1,name: 'barcode',desc: '托盘码',val: '2',lenCheck: 8,focus: false},
                    {id:2,name: 'matnr',desc: '物料码',val: '',btn: true,btnName: '提取',placeholder: '',focus: false}
                ],
            }
        },
        methods: {
            entry(e) {
            },
            input2(arr) {
                if(arr[1] == 'matnr') {
                    this.getMat(arr[0])
                }
            },
            getMat(matnr) {
                console.log(matnr);
            }
        }
    }
</script>
<style>
</style>