#
whycq
2022-10-11 b95f96d36c98cc0249f7758ab78a309a9f08abfd
#
4个文件已修改
1个文件已添加
418 ■■■■■ 已修改文件
pages.json 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/basics/matSelect2.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/basics/matSelect3.vue 391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/basics/pakin.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/index.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json
@@ -42,7 +42,7 @@
            "path" : "pages/basics/stockCheck",
            "style" :                                                                                    
            {
                "navigationBarTitleText": "平库库位盘点",
                "navigationBarTitleText": "库位盘点",
                "enablePullDownRefresh": false
            } 
        },{
@@ -177,6 +177,15 @@
                "enablePullDownRefresh": false
                
            }
        },
        {
            "path" : "pages/basics/matSelect3",
            "style" :
            {
                "navigationBarTitleText": "选择商品",
                "enablePullDownRefresh": false
            }
        }
        
        
pages/basics/matSelect2.vue
@@ -30,7 +30,7 @@
                            <view class="cu-tag bg-cyan ">商品</view>
                        </view>
                        <view class="matnr"><text style="width: 400rpx;">{{item.matnr}}</text></view>
                        <view class="matnr"><text style="width: 400rpx;">{{item.maktx}}</text></view>
                        <view class="matnr"><text style="width: 400rpx;">{{item.specs}}</text></view>
                    </view>
                </label>
            </checkbox-group>
pages/basics/matSelect3.vue
New file
@@ -0,0 +1,391 @@
<template>
    <view>
        <scroll-view scroll-y >
            <view class="search-box">
                <view class="search-area">
                    <view class="search-icon"><uni-icons type="search" size="25" color="#a5a5a5"></uni-icons></view>
                    <input type="text" v-model="condition" placeholder="请输入商品编码 / 名称"/>
                    <view class="close-icon" @click="reset()"><uni-icons type="closeempty" size="25" color="#a5a5a5"></uni-icons></view>
                </view>
                <view class="search-btn"><button @click="search(condition)" class="cu-btn bg-blue">搜索</button></view>
            </view>
            <checkbox-group @change="checkbox">
                <label v-for="(item,index) in tag" :key="index" class="demo-list bg-false"
                    @click="showTag(item.id)">
                    <view class="demo-list-right">
                        <view class="tag">
                            <view class="cu-tag bg-blue ">归类</view>
                        </view>
                        <view class="order-ditel"><text class="orderNo">{{item.name}}</text></view>
                    </view>
                </label>
            </checkbox-group>
            <checkbox-group>
                <label v-for="(item,index) in data" :key="index" class="demo-list bg-false"
                    @click="findBySelect(item.matnr)">
                    <view class="demo-list-right">
                        <view class="tag">
                            <view class="cu-tag bg-cyan ">商品</view>
                        </view>
                        <view class="matnr"><text style="width: 400rpx;">{{item.matnr}}</text></view>
                        <view class="matnr"><text style="width: 400rpx;">{{item.specs}}</text></view>
                    </view>
                </label>
            </checkbox-group>
        </scroll-view>
        <view class="footer flex" style="height: 100rpx;">
            <view class="bottom">
                <view style="display: inline-block;">
                    <button size="mini">上一页</button>
                </view>
                <view style="display: flex;align-items: center;">
                    <text>当前页:</text>
                    <input v-model="limit" type="text" style="width: 50rpx;border: 1px solid #ccc;height: 30rpx;font-size: 14rpx;">
                </view>
                <view style="display: flex;align-items: center;">
                    <text style="font-size: 14rpx;">共{{pages}}页</text>
                </view>
                <view style="display: inline-block;">
                    <button size="mini">下一页</button>
                </view>
            </view>
        </view>
        </view>
</template>
<script>
    export default {
        data() {
            return {
                commonUrl:null,
                condition:null,
                tag: [],
                data: [],
                limit: 1,
                pages: 10
            }
        },
        onLoad() {
            let that = this
            // const eventChannel = this.$scope.eventChannel; // 兼容APP-NVUE
            const eventChannel = this.getOpenerEventChannel();
            // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
            eventChannel.on('commonUrl', function(data) {
                that.commonUrl = data.commonUrl
                that.showTag(1)
            })
        },
        methods: {
            checkbox() {
            },
            reset() {
                this.condition = null
                uni.vibrateShort();
            },
            search(condition) {
                let that = this
                that.tag = null
                that.data = null
                uni.vibrateShort();
                uni.showLoading({
                    title: '搜索中...'
                });
                uni.request({
                    // url: "http://localhost:8081/jkwms/tag/list/pda/auth",
                    url: that.commonUrl + '/mat/search/pda/auth',
                    data: {
                        condition: condition
                    },
                    method:"GET",
                    header: {
                        'token':uni.getStorageSync('token'),
                    },
                    success(result) {
                        uni.hideLoading();
                        var res = result.data
                        if (res.code === 200 ) {
                            that.data = res.data
                        } else if (res.code == 403) {
                            uni.showToast({title: res.msg, icon: "none", position: 'top'})
                            setTimeout(() => {
                                uni.reLaunch({
                                    url: '../login/login'
                                });
                            }, 1000);
                        } else {
                            uni.showToast({title: res.msg, icon: "none",position: 'top'})
                        }
                    }
                });
            },
            showTag(parentId) {
                let that = this
                uni.showLoading();
                uni.request({
                    url: that.commonUrl + '/tag/list/pda/auth',
                    header: {
                        'token':uni.getStorageSync('token'),
                    },
                    data: {
                        curr: 1,
                        limit: 16,
                        parentId: parentId
                    },
                    header: {
                        'token':uni.getStorageSync('token'),
                    },
                    success(result) {
                        uni.hideLoading();
                        that.tag = null
                        that.data = null
                        var res = result.data
                        if (res.code === 200) {
                            if (res.data != null && res.data.length > 0) {
                                that.tag = res.data
                            } else {
                                that.showMat(parentId)
                            }
                        } else if (res.code === 403 ) {
                            uni.showToast({title: res.msg, icon: "none", position: 'top'})
                            setTimeout(() => {
                                uni.reLaunch({
                                    url: '../login/login'
                                });
                            }, 1000);
                        } else {
                            uni.showToast({title: res.msg, icon: "none",position: 'top'})
                        }
                    }
                });
            },
            showMat(tagId) {
                uni.showLoading();
                let that = this
                if (tagId == null || tagId == '' || tagId == undefined) {
                    return;
                }
                uni.request({
                    url: that.commonUrl + '/mat/list/auth2',
                    data: {
                        param: {
                            curr: 1,
                            limit: 16,
                            tag_id:tagId}
                    },
                    method:"GET",
                    header: {
                        'token':uni.getStorageSync('token'),
                    },
                    success(result) {
                        uni.hideLoading();
                        that.tag = null
                        var res = result.data
                        if (res.code === 200) {
                            if (res.data != null && res.data.length > 0) {
                                that.data = res.data
                            } else {
                                // that.tagId = parentId
                            }
                        } else if (res.code === 403 ) {
                            uni.showToast({title: res.msg, icon: "none", position: 'top'})
                            setTimeout(() => {
                                uni.reLaunch({
                                    url: '../login/login'
                                });
                            }, 1000);
                        } else {
                            uni.showToast({title: res.msg, icon: "none",position: 'top'})
                        }
                    }
                });
            },
            findBySelect(matnr) {
                this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: matnr});
                uni.vibrateShort();
                uni.navigateBack({
                })
            }
        }
    }
</script>
<style>
    .bottom {
        height: 100%;
        width: 100%;
        /* background-color: #828282; */
        display: flex;
        justify-content: space-around;
    }
    .matnr {
        margin-left: 60rpx;
        margin-top: 20rpx;
    }
    .matnr:last-child {
        margin-top: 0rpx;
    }
    .tag {
        padding-left: 50rpx;
        padding-top: 10rpx;
        width: 100%;
        border-bottom: 1px solid #ebebeb;
    }
    .search-box {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100rpx;
        background-color: #FFF;
        border-bottom: 1px solid #d8d8d8;
        border-radius: 0 0 20rpx 20rpx;
        z-index: 1;
    }
    /*#ifdef H5 */
    .search-box {
        position: fixed;
        left: 0;
        top: 89rpx;
        width: 100%;
        height: 100rpx;
        background-color: #ffffff;
        border-bottom: 1px solid #d8d8d8;
        border-radius: 0 0 20rpx 20rpx;
        z-index: 1;
    }
    /* #endif */
    .search-area {
        display: inline-block;
        background-color: #F1F1F1;
        width: 75%;
        height: 70%;
        margin: 15rpx;
        border-radius: 15rpx;
    }
    .search-area input {
        display: inline-block;
        height: 70rpx;
        width: 70%;
        line-height: 70rpx;
        font-size: 25rpx;
        font-weight: 400;
    }
    .search-btn {
        display: inline-block;
        float: right;
        margin-right: 30rpx;
        margin-top: 15rpx;
    }
    .search-icon {
        display: inline-block;
        float: left;
        width: 70rpx;
        height: 70rpx;
        text-align: center;
        line-height: 70rpx;
    }
    .close-icon {
        display: inline-block;
        float: right;
        width: 70rpx;
        height: 70rpx;
        text-align: center;
        line-height: 70rpx;
    }
    .bg-false {
        background-color: #FFFFFF;
    }
    .bg-true {
        background-color: #ebebeb;
    }
    .demo-list {
        border-bottom: 1px solid #d8d8d8;
        height: 180rpx;
        margin: 15rpx;
        border-radius: 20rpx;
    }
    .demo-list:first-child {
        margin-top: 120rpx;
    }
    .demo-list:last-child {
        margin-bottom: 120rpx;
    }
    label {
        display: block;
    }
    .demo-list-left {
        display: inline-block;
        float: left;
        text-align: center;
        width: 100rpx;
        height: 180rpx;
        line-height: 180rpx;
    }
    .demo-list-right {
        display: inline-block;
        float: left;
        width: 100%;
        height: 180rpx;
        color: #828282;
    }
    .order-ditel {
        margin-top: 30rpx;
        height: 60rpx;
        width: 600rpx;
        line-height: 60rpx;
    }
    .demo-list-right .index {
        width: 120rpx;
        height: 25rpx;
        line-height: 25rpx;
        font-size: 40rpx;
        border-right: 4rpx solid #6f6f6f;
        padding-left: 0px;
        padding-right: 10rpx;
        color: #3b3b3b;
        /* background-color: #007AFF; */
    }
    .demo-list-right .orderNo {
        padding-left: 30rpx;
        font-size: 35rpx;
        width: 400rpx;
        color: #3b3b3b;
        /* background-color: #0A98D5; */
    }
    .demo-list-right .vertical-bar { // 竖杠
        /* background-color: #6739B6; */
        width: 50rpx;
        font-size: 30rpx;
        text-align: center;
    }
    .demo-list-right text {
        display: inline-block;
        width: 250rpx;
        font-size: 25rpx;
    }
    .color-red {
        width: auto;
        font-weight: 700;
        color: #e74f4f;
    }
    .label-btn {
        width: 150rpx;
    }
    checkbox {
        /* transform:scale(0.7) */
    }
</style>
pages/basics/pakin.vue
@@ -278,7 +278,7 @@
                let that = this
                uni.vibrateShort();
                uni.navigateTo({
                    url: "matSelect",
                    url: "matSelect3",
                    events: {
                        // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据  另外一个页面传过来的
                        acceptDataFromOpenedPage: function(data) {
pages/index/index.vue
@@ -72,12 +72,12 @@
                    //     color: 'blue',
                    //     cuIcon: 'video'
                    // },
                    // {
                    //     title: '库存盘点',
                    //     name: 'stoCheck',
                    //     color: 'blue',
                    //     cuIcon: 'safe'
                    // },
                    {
                        title: '库存盘点',
                        name: 'stockCheck',
                        color: 'blue',
                        cuIcon: 'safe'
                    },
                    // {
                    //     title: '平仓库存盘点',
                    //     name: 'manStoCheck',