xuxy
2024-07-10 98f4b7ec4164ec1c6798c8c4188b93f4ce48ec46
update收获地址
已删除1个文件
已修改11个文件
已添加6个文件
2420 ■■■■ 文件已修改
common/self.scss 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/footer/customer-footer.vue 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/footer/main.scss 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-banner-imgs.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-category.vue 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-price.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-top-flow.vue 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/components/home-zones.vue 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.scss 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.vue 276 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/address/address.vue 398 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/bussincess-user.vue 144 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/supplier-user.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/user-customer.scss 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/user.scss 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shopping/shopping.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/trade/trade.vue 603 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
common/self.scss
@@ -177,7 +177,13 @@
.m-l-40 {
    margin-left: 80rpx;
}
.m-l-5{
    margin-left: 10rpx;
}
.m-l-12{
    margin-left: 24rpx;
}
.m-r-a {
    margin-right: auto;
}
@@ -195,7 +201,9 @@
    margin-right: 4rpx;
}
.m-r-5{
    margin-right: 10rpx;
}
.m-r-10 {
    margin-right: 20rpx;
components/footer/customer-footer.vue
@@ -1,25 +1,25 @@
<template>
    <view class="footer flex customer-footer" style="">
    <view class="footer flex customer-footer flex-wrap-normal" style="">
        <view v-for="(item,index) in tabBar" :key="index" class="footer-item">
            <view class="item flex" :class="flg==index?'cur':''" @click="go(index,item)">
            <view class="item" :class="flg==index?'cur':''" @click="go(index,item)">
                <view v-if="index==0">
                    <image src="../../static/images/customer/footer/footer-home-1.png" class="footer-icon" v-if="flg==0"></image>
                    <image src="../../static/images/customer/footer/footer-home-0.png" class="footer-icon" v-if="flg!=0"></image>
                </view>
                <view v-if="index==1">
                    <image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon" v-if="flg==0"></image>
                    <image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon" v-if="flg!=0"></image>
                    <image src="../../static/images/customer/footer/footer-trade-1.png" class="footer-icon" v-if="flg==1"></image>
                    <image src="../../static/images/customer/footer/footer-trade-0.png" class="footer-icon" v-if="flg!=1"></image>
                </view>
                <view v-if="index==2">
                    <image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon" v-if="flg==0">
                    <image src="../../static/images/customer/footer/footer-shopping-1.png" class="footer-icon" v-if="flg==2">
                    </image>
                    <image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon" v-if="flg!=0">
                    <image src="../../static/images/customer/footer/footer-shopping-0.png" class="footer-icon" v-if="flg!=2">
                    </image>
                </view>
                <view v-if="index==3">
                    <image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon" v-if="flg==1"></image>
                    <image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon" v-if="flg!=1"></image>
                    <image src="../../static/images/customer/footer/footer-self-1.png" class="footer-icon" v-if="flg==3"></image>
                    <image src="../../static/images/customer/footer/footer-self-0.png" class="footer-icon" v-if="flg!=3"></image>
                </view>
                <view>
@@ -38,18 +38,22 @@
            return {
                tabBar: [{
                        "text": "首页"
                        "text": "首页",
                        "pagePath":'/pages/home/home'
                    },
                    {
                        "text": "交易大厅"
                        "text": "交易大厅",
                        "pagePath":'/sub_pages/customer/trade/trade'
                    },
                    {
                        "text": "购物车"
                        "text": "购物车",
                        "pagePath":'/sub_pages/customer/shopping/shopping'
                    },
                    {
                        "text": "我的"
                        "text": "我的",
                        "pagePath":'/pages/user/supplier-user'
                    }
                ]
            }
components/footer/main.scss
@@ -109,4 +109,62 @@
        border-radius: 50rpx;
        color: var(--topicolor);
    }
}
}
.footer.customer-footer{
    background-color: #fff;
    bottom: 0rpx;
    left:0rpx;
    right: 0rpx;
    width: 750rpx;
    .footer-item{
        flex: 1;
        border-radius: 50rpx;
        padding: 8rpx;
        .item {
            font-family: PingFangSC-Regular, PingFang SC;
            font-weight: 400;
            // color: #A1A6B3;
            color: var(--topicgray);
            flex-direction: column;
            align-items: center;
            text-align: center;
            min-width: 100rpx;
            font-size: 24rpx;
            color: #000000;
            line-height: 34rpx;
            color: #20613D;
            min-height: 40rpx;
            // .footer-bottom-brand-icon{
            //     width: 90rpx;
            //     height:70rpx;
            // }
            // .footer-icon{
            //     width: 50rpx;
            //     height: 50rpx;
            //     margin-top: 20rpx;
            // }
            .footer-icon.0 {
              width: 37rpx;
              height: 43rpx;
            }
            .footer-icon.1 {
                width: 38rpx;
                height: 39rpx;
            }
            .footer-icon.2 {
                width: 39rpx;
                height: 38rpx;
            }
            .footer-icon.3 {
                width: 31rpx;
                height: 38rpx
            }
        }
    }
}
pages.json
@@ -4,6 +4,7 @@
        "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
    },
    "pages": [
        // #ifdef PUB_CUSTOMER 
        {
            "path": "pages/home/home",
@@ -66,6 +67,14 @@
                "navigationBarTitleText": "修改密码",
                "enablePullDownRefresh": false
            }
        },
        {
            "path" : "pages/user/address/address",
            "style" :
            {
                "navigationBarTitleText" : "收货地址",
                "enablePullDownRefresh" : false
            }
        }
    ],
pages/home/components/home-banner-imgs.vue
对比新文件
@@ -0,0 +1,42 @@
<template>
    <view class="flex home-banner-imgs">
        <view class="flex1 m-r-5">
            <image class="p1 img100" src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/b1/b1e7dc929b53412bbea72c9ca3f9aa25%E4%BD%8D%E5%9B%BE@2x%20(1).png" ></image>
        </view>
        <view class="flex1 m-l-5">
            <image class="p2 img100" src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/86/86605e258843479f828ce6749010d791%E4%BD%8D%E5%9B%BE@2x%20(2).png"></image>
            <image class="p3 img100" src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/76/76532c632d28449a9f93a4228a7b851e%E4%BD%8D%E5%9B%BE@2x%20(3).png"></image>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            };
        }
    }
</script>
<style lang="scss">
.home-banner-imgs{
    .p1{
        // width: 334rpx;
        height: 308rpx;
        width: 100%;
    }
    .p2{
        // width: 334rpx;
        width: 100%;
        height: 142rpx;
    }
    .p3{
        width: 100%;
        margin-top: 18rpx;
        // width: 334rpx;
        height: 142rpx;
    }
}
</style>
pages/home/components/home-category.vue
对比新文件
@@ -0,0 +1,69 @@
<template>
    <view class="home-category">
        <view class="flex">
            <view class="t1">06-03(今日)第一场交易中</view>
            <view class="t2">当前在售123435扎</view>
        </view>
        <view class="m-t-12 flex">
            <view class="item" v-for="(item,index) of list" :key="index">
                <image class="icon img100" :src="item.url"></image>
                <view>{{item.name || '-'}}</view>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        beforeMount() {
            for (var i = 0; i < 10; i++) {
                this.list.push({
                    'url': 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/e2/e2ee2fa7cdef458ba748261305edc57435549b9113807b6fbbfd4bfa456334d.png',
                    'name': '玫瑰'
                })
            }
        },
        data() {
            return {
                list: [],
            };
        }
    }
</script>
<style lang="scss">
    .home-category {
        .item {
            text-align: center;
            font-weight: 400;
            font-size: 28rpx;
            color: #000000;
            line-height: 40rpx;
            min-width: 20%;
            margin-bottom: 28rpx;
            .icon {
                width: 94rpx;
                height: 94rpx;
                border-radius: 50%;
            }
        }
        .t1 {
            font-size: 28rpx;
            color: #333333;
            line-height: 50rpx;
            font-weight: 600;
        }
        .t2 {
            margin-left: auto;
            padding: 8rpx;
            font-size: 24rpx;
            color: #5B8C71;
            line-height: 34rpx;
            background: #E1F0E7;
            border-radius: 4rpx;
        }
    }
</style>
pages/home/components/home-price.vue
对比新文件
@@ -0,0 +1,147 @@
<template>
    <view class="home-price">
        <view class="flex t1">
            <view>2024-06-03 09:20:19 花满芜成交均价</view>
            <uni-icons class="m-l-a m-r-0" type="right"></uni-icons>
        </view>
        <view class="items" style="border-top: 2rpx solid #EEEEEE;">
            <view class="flex" style="border-bottom: 2rpx solid #EEEEEE;padding-top: 24rpx;">
                <view class="item flex1">
                    <view class="title">单头玫瑰</view>
                    <view class="price">
                        19.66
                    </view>
                    <view class="flex desc">
                        <view class="m-l-a m-r-a">+0.76</view>
                        <view class="m-l-a m-r-a text-right">+4.02%</view>
                    </view>
                </view>
                <view class="line"></view>
                <view class="item flex1">
                    <view class="title">单头玫瑰</view>
                    <view class="price">
                        19.66
                    </view>
                    <view class="flex desc">
                        <view class="m-l-a m-r-a">+0.76</view>
                        <view class="m-l-a m-r-a text-right">+4.02%</view>
                    </view>
                </view>
                <view class="line"></view>
                <view class="item flex1">
                    <view class="title">单头玫瑰</view>
                    <view class="price">
                        19.66
                    </view>
                    <view class="flex desc">
                        <view class="m-l-a m-r-a">+0.76</view>
                        <view class="m-l-a m-r-a text-right">+4.02%</view>
                    </view>
                </view>
            </view>
            <!-- <u-divider></u-divider> -->
            <view class="flex" style="padding-top: 24rpx;">
                <view class="item flex1">
                    <view class="title">单头玫瑰</view>
                    <view class="price">
                        19.66
                    </view>
                    <view class="flex desc">
                        <view class="m-l-a m-r-a">+0.76</view>
                        <view class="m-l-a m-r-a text-right">+4.02%</view>
                    </view>
                </view>
                <view class="line"></view>
                <view class="item flex1">
                    <view class="title">单头玫瑰</view>
                    <view class="price">
                        19.66
                    </view>
                    <view class="flex desc">
                        <view class="m-l-a m-r-a">+0.76</view>
                        <view class="m-l-a m-r-a text-right">+4.02%</view>
                    </view>
                </view>
                <view class="line"></view>
                <view class="item flex1">
                    <view class="title">单头玫瑰</view>
                    <view class="price">
                        19.66
                    </view>
                    <view class="flex desc">
                        <view class="m-l-a m-r-a">+0.76</view>
                        <view class="m-l-a m-r-a text-right">+4.02%</view>
                    </view>
                </view>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            };
        }
    }
</script>
<style lang="scss">
    .home-price {
        margin-top: 20rpx;
        height: 414rpx;
        background: #FFFFFF;
        border-radius: 8rpx;
        padding: 20rpx;
        .items {
            .line {
                height: 104rpx;
                background-color: #EEEEEE;
                width: 2rpx;
            }
            .item {
                padding: 24rpx 14rpx;
                .title {
                    text-align: center;
                    font-weight: 600;
                    font-size: 24rpx;
                    color: #000000;
                    line-height: 34rpx;
                }
                .price {
                    font-weight: 600;
                    font-size: 32rpx;
                    color: #BF0000;
                    line-height: 44rpx;
                    text-align: center;
                }
                .desc {
                    font-weight: 400;
                    font-size: 24rpx;
                    color: #666666;
                    line-height: 34rpx;
                }
            }
        }
        .t1 {
            font-weight: 400;
            font-size: 24rpx;
            color: #000000;
            line-height: 34rpx;
            padding-bottom: 18rpx;
        }
    }
</style>
pages/home/components/home-top-flow.vue
对比新文件
@@ -0,0 +1,149 @@
<template>
    <view class="home-top-flow">
        <view class="item flex" v-for="(item,index) of list" :key="index">
            <view class="img">
                <image class="img img100"
                    src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/ff/fff3027bd0a146478fd1f0aae816a028%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20240710224139.png">
                </image>
                <view class="level">
                    A级
                </view>
            </view>
            <view class="m-l-12 info-container flex1">
                <view class="title">
                    橙色芭比
                    <view class="price">
                        ¥6.60/扎
                    </view>
                </view>
                <view class="tags">
                    <view class="tag red">限时抢购</view>
                    <view class="tag green">品质严选</view>
                </view>
                <view class="shop-name">
                    小石头花卉
                </view>
                <view class="other-info flex">
                    <view class="m-r-15">
                        已售:7
                    </view>
                    <view class="m-r-15">
                        剩余:13
                    </view>
                    <view class="m-r-15">
                        1支/扎
                    </view>
                </view>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                list: [{}, {}, {}, {}]
            };
        }
    }
</script>
<style lang="scss">
    .home-top-flow {
        .item {
            margin-top: 20rpx;
            background: #FFFFFF;
            border-radius: 8rpx;
            padding: 10rpx;
            .info-container {
                .other-info {
                    margin-top: 6rpx;
                    font-size: 24rpx;
                    color: #666666;
                    line-height: 34rpx;
                    text-align: left;
                }
                .shop-name {
                    margin-top: 14rpx;
                    font-size: 24rpx;
                    color: #666666;
                    line-height: 34rpx;
                }
                .tags {
                    margin-top: 12rpx;
                    display: flex;
                    .tag {
                        min-width: 80rpx;
                        padding-left: 20rpx;
                        padding-right: 20rpx;
                        line-height: 36rpx;
                        background: #FEE6E6;
                        border-radius: 21rpx;
                        font-size: 24rpx;
                        color: #CD1212;
                        margin-right: 12rpx;
                    }
                    .tag.green {
                        color: rgba(110, 159, 102, 1);
                        background: rgba(202, 229, 214, 1);
                        border-radius: 21rpx;
                        // opacity: 0.57;
                    }
                }
                .title {
                    font-weight: 600;
                    font-size: 32rpx;
                    color: #000000;
                    line-height: 44rpx;
                    margin-top: 8rpx;
                    position: relative;
                    .price {
                        position: absolute;
                        font-weight: 400;
                        font-size: 28rpx;
                        color: #CF0000;
                        line-height: 40rpx;
                        top: 0;
                        right: 0;
                    }
                }
            }
            .img {
                width: 206rpx;
                height: 206rpx;
                border-radius: 8rpx;
                position: relative;
                .level {
                    position: absolute;
                    width: 66rpx;
                    height: 44rpx;
                    background: #20613D;
                    left: 0;
                    top: 0;
                    border-top-left-radius: 8rpx;
                    border-bottom-right-radius: 8rpx;
                    color: #FFFFFF;
                    line-height: 44rpx;
                    font-size: 24rpx;
                    text-align: center;
                }
            }
        }
    }
</style>
pages/home/components/home-zones.vue
对比新文件
@@ -0,0 +1,191 @@
<template>
    <view class="home-zones">
        <view class="c">
            <image class="p1 img100" :lazy-load="true" mode="aspectFit"
                src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/eb/eba404b98a224edc82897fe9647902e7%E4%BD%8D%E5%9B%BE@2x%20(4).png">
            </image>
            <view class="c-txt-1">
                <view class="title">婚礼酒店专区</view>
                <view class="flex">
                    <view class="desc">查看详情</view>
                    <view class="right m-l-5">
                        <uni-icons class="icon" type="right" color="#C3B8A0" size="12"></uni-icons>
                    </view>
                </view>
            </view>
        </view>
        <view class="c">
            <image class="p2 img100 m-t-12" :lazy-load="true" mode="aspectFit"
                src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/52/52deec39e6ff47efb4855cda8766f29e%E8%B7%AF%E5%BE%84%204@2x.png">
            </image>
            <view class="c-txt-1" style="top: 60rpx;">
                <view class="title">特惠专区</view>
                <view class="flex">
                    <view class="desc">查看详情</view>
                    <view class="right m-l-5">
                        <uni-icons class="icon" type="right" color="#C3B8A0" size="12"></uni-icons>
                    </view>
                </view>
            </view>
        </view>
        <view class="flex m-t-12">
            <view class="flex1 c m-r-5">
                <image class="p3  img100" :lazy-load="true" mode="aspectFit"
                    src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/87/8787940a92524d7a9805a9184946cfaf%E4%BD%8D%E5%9B%BE@2x%20(5).png">
                </image>
                <view class="c-txt-2">
                    <view class="title">品质专区</view>
                    <view class="flex">
                        <view class="desc">查看详情</view>
                        <view class="right m-l-5">
                            <uni-icons class="icon" type="right" color="#ffffff" size="9"></uni-icons>
                        </view>
                    </view>
                </view>
            </view>
            <view class="flex1 c m-l-5">
                <image class="p4  img100" :lazy-load="true" mode="aspectFit"
                    src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/0e/0eb0917d31e64c849f250b6e0a825b25%E4%BD%8D%E5%9B%BE@2x%20(6).png">
                </image>
                <view class="c-txt-2 red">
                    <view class="title">秒杀专区</view>
                    <view class="flex">
                        <view class="desc">查看详情</view>
                        <view class="right m-l-5">
                            <uni-icons class="icon" type="right" color="#ffffff" size="9"></uni-icons>
                        </view>
                    </view>
                </view>
            </view>
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
            };
        }
    }
</script>
<style lang="scss">
    .home-zones {
        margin-top: 20rpx;
        .c {
            position: relative;
            .c-txt-1 {
                position: absolute;
                left: 38rpx;
                top: 40rpx;
                .title {
                    font-weight: 600;
                    font-size: 36rpx;
                    color: #FFFFFF;
                    line-height: 50rpx;
                    margin-bottom: 8rpx;
                }
                .desc {
                    font-weight: 400;
                    font-size: 28rpx;
                    color: #FFFFFF;
                    line-height: 40rpx;
                }
                .right {
                    background: #FFFFFF;
                    border-radius: 50%;
                    width: 28rpx;
                    height: 28rpx;
                    margin-top: 6rpx;
                    position: relative;
                    .icon {
                        position: absolute;
                        top: -10rpx;
                        left: 2rpx;
                    }
                }
            }
            .c-txt-2 {
                position: absolute;
                left: 22rpx;
                top: 50rpx;
                .title {
                    font-weight: 600;
                    font-size: 28rpx;
                    color: #535FCA;
                    line-height: 40rpx;
                    margin-bottom: 2rpx;
                }
                .desc {
                    font-weight: 400;
                    font-size: 24rpx;
                    color: #535FCA;
                    line-height: 34rpx;
                }
                .right {
                    background: #535FCA;
                    border-radius: 50%;
                    width: 24rpx;
                    height: 24rpx;
                    margin-top: 6rpx;
                    position: relative;
                    .icon {
                        position: absolute;
                        top: -14rpx;
                        left: 4rpx;
                    }
                }
            }
            .c-txt-2.red {
                .title {
                    color: #892E2E;
                }
                .desc {
                    color: #892E2E;
                }
                .right{
                    background: #892E2E;
                }
            }
        }
        .p1 {
            width: 100%;
            height: 176rpx;
        }
        .p2 {
            width: 100%;
            height: 176rpx;
        }
        .p3 {
            width: 100%;
            height: 176rpx;
        }
        .p4 {
            width: 100%;
            height: 176rpx;
        }
    }
</style>
pages/home/home.scss
@@ -14,78 +14,69 @@
    .home-banner-image{
        width: 750rpx;
        background-size: 100% 100%;
        height: 472rpx;
        height: 306rpx;
        
    }
    swiper {
        height: 472rpx;
        height: 306rpx;
    }
    .swiper-box{
        position: relative;
        swiper-item{
            background-color: #fff;
            border-radius: 8rpx;
        }
    }
    .home-shop-top{
        position: relative;
        // width: 690rpx;
        height: 488rpx - 36rpx;
        padding: 18rpx;
        padding-top: 36rpx;
        padding-bottom: 0rpx;
        background: linear-gradient(360deg, #DDECE4 0%, #B8D9C6 100%) #AEDCC7;
        border-radius: 20rpx;
        // padding: 1;
        .title{
            width: 164rpx;
            height: 42rpx;
            margin-bottom: 16rpx;
        }
        .icon{
            position: absolute;
            width: 114rpx;
            height: 110rpx;
            right: 48rpx;
            top: 20rpx;
            z-index: 1;
        }
        .card-list-item{
            z-index: 2;
        }
    }
    .home-travel-top{
        position: relative;
        // width: 690rpx;
        min-height: 490rpx - 36rpx - 16rpx;
        background: #A9DAEB;
        border-radius: 20rpx;
        padding: 18rpx;
        padding-bottom: 16rpx;
        padding-top: 36rpx;
        .title{
            width: 126rpx;
            height: 40rpx;
            margin-bottom: 16rpx;
        }
        .icon{
            position: absolute;
            width: 314rpx;
            right: 60rpx;
            top: 26rpx;
            height:98rpx;
            z-index: 0;
        }
        /deep/ .card-list-item{
            position: relative;
            z-index: 2;
        }
    }
}
.main-container.user-home{
    min-height: 99vh;
    padding: 30rpx;
    background: #F7F7F7;
    position: relative;
    .bg-top-green{
        height: 197px;
        background: #CAE5D6;
        position: absolute;
        left: 0rpx;
        right: 0rpx;
        top: 0rpx;
        z-index: 0;
    }
    .school{
        position: relative;
        z-index: 1;
    }
    .search-container {
        display: flex;
        margin: 12rpx 0rpx 20rpx 0rpx;
        position: relative;
        z-index: 1;
        .input {
            // flex: 1;
            // max-width: 400rpx;
            background-color: #fff !important;
            // line-height: 58rpx;
            // height: 58rpx;
            border-radius: 8rpx;
        }
        .button {
            min-width: 120rpx;
            max-width: 120rpx;
            margin-left: auto;
            margin-right: 0rpx;
            text-align: right;
            line-height: 70rpx !important;
            // height: 58rpx !important;
            // display: flex;
        }
    }
}
.main-container.home{
    background-image: url('https://hmy-flower.oss-cn-shanghai.aliyuncs.com/2a/2aa62e6bd1f74456b005d3f57daa54adbg.png');
    min-height: 99vh;
pages/home/home.vue
@@ -1,23 +1,25 @@
<template>
    <view class="main-container home">
    <view class="main-container user-home">
        <view class="bg-top-green"></view>
        <!-- 顶部,可能 -->
        <view class="school" :style="{'background-color': color,'padding-top':(StatusBar)+'px'
        <view class="school" :style="{'padding-top':(StatusBar)+'px'
        ,height:CustomBar+'rpx','line-height':CustomBar+'rpx' }">
            <view class="home-logo"></view>
            <picker @change="PickerChangeSchool" :value="schoolIndex" :range="schools" range-key="name">
            <picker @change="PickerChangeSchool" :value="areaIndex" :range="schools" range-key="name">
                <view class="picker flex">
                    <!-- <text class="cuIcon-locationfill"></text> -->
                    <uni-icons type="location" class="m-l-15 m-r-5" size="18"></uni-icons>
                    <uni-icons type="location" class="m-r-5" size="18"></uni-icons>
                    <view>
                        {{ schoolIndex>=0&&schools[schoolIndex].name ? schools[schoolIndex].name : '选择校区' }}
                        {{ areaIndex>=0&&schools[areaIndex].name ? schools[areaIndex].name : '选择位置' }}
                    </view>
                    <!-- <text class="cuIcon-unfold margin-left-xs"></text> -->
                </view>
            </picker>
        </view>
        <!-- <view :style="{'background-color': color,'padding-top':(StatusBar)+'px',height:CustomBar+'px'}"></view> -->
        <view class="search-container m-t-12 flex">
            <view class="flex1 input">
                <u--input placeholder="请输入花名" v-model="search_flow" @confirm="buttonSearchFlow" suffixIcon="search"
                    :suffixIconStyle="{'font-size':'24px','color': '#20613D'}" >
                </u--input>
            </view>
        </view>
        <!-- banner -->
        <uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="currentBanner"
@@ -31,84 +33,35 @@
                        </image>
                    </view>
                </swiper-item>
                <animation-words :words="words" v-if="words&&words.length>0"></animation-words>
            </swiper>
            <swiper class="swiper-box" @change="changeBanner" :current="0" v-if="!banners||banners.length==0">
                <swiper-item v-for="(item, index) in 1" :key="index">
                    <view class="swiper-item" :class="'swiper-item' + index">
                        <image class="home-banner-image" mode="scaleToFill"
                            src="https://xy-go.oss-cn-beijing.aliyuncs.com/51/51abd2f29d104a78a5d6dcc27078716a位图@2x (4).png">
                            src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/62/62ddac6297104e369aba646be704064dbanner@2x.png">
                        </image>
                    </view>
                </swiper-item>
                <animation-words :words="words" v-if="words&&words.length>0"></animation-words>
            </swiper>
        </uni-swiper-dot>
        <!-- tip -->
        <view class="p10">
            <uni-notice-bar @click="getNoticeMore" v-if="currentNotice&&currentNotice.id" class="notice-bar"
                color="#333" background-color="#fff" show-get-more show-icon :scrollable="scrollable"
                :text="currentNotice.title" :key="currentNotice.id" />
        <view class="m-t-12" @click="getNoticeMore">
            <uni-notice-bar class="notice-bar" color="#333" background-color="#fff" show-get-more show-icon
                :scrollable="scrollable" :text="currentNotice.title" :key="currentNotice.id" />
            <span v-if="!currentNotice||!currentNotice.id">&nbsp;</span>
        </view>
        <!-- 当前分类 -->
        <home-category></home-category>
        <!-- 特别的几个公告图片 -->
        <home-banner-imgs></home-banner-imgs>
        <!-- 均价情况 -->
        <home-price></home-price>
        <!-- 几个专区 -->
        <home-zones></home-zones>
        <!-- 置顶的花列表 -->
        <home-top-flow></home-top-flow>
        <!-- 各种按钮 -->
        <home-buttons></home-buttons>
        <!-- 推荐的成团的 -->
        <view class="p15" style="padding-top: 0rpx;" v-if="tuangouList&&tuangouList.length>0">
            <view class="home-shop-top">
                <!-- <view>即将成团</view> -->
                <image src="../../static/imgs/home/home-shop-top-txt.png" mode="aspectFit" class="title"></image>
                <image src="../../static/imgs/home/home-shop-top-icon.png" mode="aspectFit" class="icon"></image>
                <card-list-item type='shop' :dto="tuangouList[0]" @pop="pop"></card-list-item>
            </view>
        </view>
        <!-- 出去玩的 -->
        <view class="p15" style="padding-top: 0rpx;padding-bottom: 0rpx;" v-if="tripList&&tripList.length>0">
            <view class="home-travel-top">
                <!-- <view>粗去玩</view> -->
                <image src="../../static/imgs/home/home-travel-top-txt.png" mode="aspectFit" class="title"></image>
                <image src="../../static/imgs/home/home-travel-top-icon.png" mode="aspectFit" class="icon"></image>
                <card-list-item type='travel' :dto="tripList[0]"></card-list-item>
            </view>
        </view>
        <!-- 3个tab选项 -->
        <view class="p15" style="padding-bottom: 10rpx;">
            <!-- @change="changeTab" -->
            <top-tabs :tabs="tabs" :flg.sync="tabIndex"></top-tabs>
        </view>
        <!-- 根据不同的 -->
        <view class="" style="padding-left: 30rpx;padding-right: 30rpx;">
            <view v-show="tabIndex==0" style="min-height: 400rpx;">
                <!-- 加载推荐位置的? -->
                <no-data v-if="!tuangouList||tuangouList.length==0" style="width: 100%;"></no-data>
                <view class="m-b-24" v-for="item of tuangouList">
                    <card-list-item type='shop' :dto="item" @pop="pop"></card-list-item>
                </view>
            </view>
            <view v-show="tabIndex==1" style="min-height: 400rpx;">
                <!-- 加载推荐位置的? -->
                <no-data v-if="!tripList||tripList.length==0" style="width: 100%;"></no-data>
                <view class="m-b-24" v-for="item of tripList">
                    <card-list-item type='travel' :dto="item" class="m-b-24"></card-list-item>
                </view>
            </view>
        </view>
        <view v-show="tabIndex==2" style="margin-top: -10rpx;">
            <home-goods ref="homegoods"></home-goods>
        </view>
        <view style="padding-bottom:200rpx">
        <view style="min-height:200rpx">
        </view>
        <common-footer flg="0"></common-footer>
@@ -116,40 +69,32 @@
</template>
<script>
    import homeButtons from './components/home-buttons.vue'
    import homeGoods from './components/home-goods.vue'
    import animationWords from '@/components/animation-words'
    import homePrice from './components/home-price.vue'
    import homeBannerImgs from './components/home-banner-imgs.vue'
    import homeZones from './components/home-zones.vue'
    import homeTopFlow from './components/home-top-flow.vue'
    import homeCategory from './components/home-category.vue'
    export default {
        components: {
            homeButtons,
            homeGoods,
            animationWords
            homeCategory,
            homePrice,
            homeBannerImgs,
            homeZones,
            homeTopFlow
        },
        data() {
            return {
                search_flow: '',
                CustomBar: uni.getStorageSync('CustomBar'),
                StatusBar: uni.getStorageSync('StatusBar'),
                // StatusBar:0,
                color: '#fff',
                schools: [],
                schoolIndex: -1,
                areaIndex: -1,
                scrollable: false,
                tabs: [{
                        name: '团购',
                        id: 'shop'
                    },
                    {
                        name: '粗去玩',
                        id: 'travel'
                    },
                    {
                        name: '挖宝商品',
                        id: 'good'
                    },
                ],
                tabIndex: 2,
                info: [{
                        colorClass: 'uni-bg-red',
                        url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
@@ -193,7 +138,6 @@
                tripList: [],
                tuangouList: [],
                hide_footer: false,
                words: [], //弹幕
                noticeList: [],
                currentNoticeIndex: 0,
                currentNotice: {
@@ -201,16 +145,16 @@
                }
            };
        },
        onShareAppMessage() {
            // let that = this;
            // var url =
            //     `/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`; //你的转发页面路径拼接参数
            // return {
            //     title: "校购GO小狗狗",
            //     path: url,
            // }
        },
        onShareTimeline() {
        // onShareAppMessage() {
        // let that = this;
        // var url =
        //     `/pages/home/home?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${this.currentInfo&&this.currentInfo.nickName||''}`; //你的转发页面路径拼接参数
        // return {
        //     title: "校购GO小狗狗",
        //     path: url,
        // }
        // },
        // onShareTimeline() {
        //     let that = this;
        //     var url = "/pages/home/home" //你的分享页面路径
        //     return {
@@ -224,13 +168,13 @@
        onLoad() {
            // console.log('home created')
            //这里进行一次初始化即可
            this.$http.request('get', '/api/school/area/list', {
            // this.$http.request('get', '/api/school/area/list', {
            }).then(res => {
                if (res.code == 0) {
                    this.schools = res.data || []
                }
            })
            // }).then(res => {
            //     if (res.code == 0) {
            //         this.schools = res.data || []
            //     }
            // })
            //获取banner图
            this.$http.request('get', '/api/ua/banner/list', {
@@ -239,34 +183,16 @@
                    this.banners = res.data.records || []
                }
            })
            // uni.setStorageSync('schoolId', this.school[parseInt(e.detail.value)].id);
            // uni.setStorageSync('schoolIndex', parseInt(e.detail.value));
            var schoolIndex = uni.getStorageSync('schoolIndex')
            if (!schoolIndex && schoolIndex !== 0) {
            var areaIndex = uni.getStorageSync('areaIndex')
            if (!areaIndex && areaIndex !== 0) {
            } else {
                this.schoolIndex = schoolIndex
                this.areaIndex = areaIndex
            }
            this.changeTab(this.tabIndex)
            this.changeTab(0)
            this.changeTab(1)
            this.$http.request('get', '/api/brand/wish/list', {
                params: {
                    size: 10,
                    show: true,
                    status: 'A'
                }
            }).then(res => {
                if (res.code == 0) {
                    this.words = (res.data && res.data.records || []).map(item => {
                        return {
                            ...item,
                            randomnum: Math.floor(Math.random() * 10) + Math.floor(Math.random() * 30)
                        }
                    })
                }
            })
            //公告
            this.$http.request('get', '/api/ua/announcement/list', {
                params: {
@@ -311,89 +237,33 @@
        },
        methods: {
            buttonSearchFlow() {
                console.log('buttonSearchFlow')
            },
            pop(status) {
                this.hide_footer = !!status
            },
            changeBanner(e) {
                this.currentBanner = e.detail.current
            },
            changeTab(e) {
                // this.tabIndex
                if (e == 2) {
                    this.$nextTick(() => {
                        this.$refs.homegoods.updateGoods()
                    })
                }
                if (e == 0) {
                    //团购
                    // tripList:[],
                    // :[],
                    //可能没必要重复了先,todo
                    this.$http.request('get', '/api/buy/customer/group/list', {
                        params: {
                            size: 4,
                            status: 'A'
                        }
                    }).then(res => {
                        if (res.code == 0) {
                            this.tuangouList = res.data.records || []
                        }
                    })
                }
                if (e == 1) {
                    this.$http.request('get', '/api/trip/customer/list', {
                        params: {
                            size: 3,
                            status: 'J'
                        }
                    }).then(res => {
                        if (res.code == 0) {
                            this.tripList = res.data.records || []
                        }
                    })
                }
                // console.log('changeTab',e)
                // updateGoods
                //
            },
            getNoticeMore() {
                if (this.currentNotice.id) {
                    // uni.navigateTo({
                    //     url: '/pages/notice/notice?id=' + this.currentNotice.id
                    // })
                }
                uni.navigateTo({
                    url: '/pages/notice/list?id=' + this.currentNotice.id
                })
            },
            PickerChangeSchool(e) {
                if (e.detail.value == '-1') {
                    this.$message.showToast('未选择校区')
                    this.$message.showToast('未选择位置')
                    return
                }
                console.log(' this.schools', this.schools, parseInt(e.detail.value), e);
                // this.setData({
                //     index: e.detail.value,
                //     schoolInfo: this.school[parseInt(e.detail.value)],
                //     s_id: this.school[parseInt(e.detail.value)].s_id,
                //     current: 0
                // });
                this.schoolIndex = parseInt(e.detail.value)
                uni.setStorageSync('schoolId', this.schools[parseInt(e.detail.value)].id);
                uni.setStorageSync('schoolIndex', parseInt(e.detail.value));
                // if (uni.getStorageSync('token')) {
                //     this.userChangeSchool(this.school[parseInt(e.detail.value)].s_id)
                // }
                // this.getSchoolInfo(this.school[parseInt(e.detail.value)].s_id);
                // this.getSysparment(); //全局加载变量设置为真,信息圈的列表需要重新加载
                // // this.getOrderData();
                // // this.getHistoryList();
                // this.getRank();
                // this.setData({
                //     dataList: []
                // });
                this.areaIndex = parseInt(e.detail.value)
                uni.setStorageSync('areaId', this.schools[parseInt(e.detail.value)].id);
                uni.setStorageSync('areaIndex', parseInt(e.detail.value));
            },
        }
pages/user/address/address.vue
对比新文件
@@ -0,0 +1,398 @@
<template>
    <!-- 收获地址列表 -->
    <view class="p15 container-address">
        <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
        <!-- 循环 -->
        <view v-for="(item,index) of list" :key="index" class="location-each">
            <view class="flex">
                <view class="container-info">
                    <view class="flex">
                        <view class="name">{{item.name || '-'}}</view>
                        <view class="tel">{{item.tel||'-'}}</view>
                    </view>
                    <view class="address">
                        {{item.address}}
                    </view>
                </view>
                <!-- <view class="h-line"></view> -->
                <view class="edit" @click="()=>{
                    this.submitForm = {
                        ...item
                    }
                    openAddressForm()
                }">
                    <uni-icons type="compose" class="icon" color="#666666"></uni-icons>
                </view>
            </view>
            <view class="v-line"></view>
            <view class="flex">
                <view class="flex" @click="changeDefaultAddress(item,index)">
                    <!-- <label class="radio flex" > -->
                    <!--         <radio value="r1" :checked="item.defaulted" disabled
                            style="transform:scale(0.6)" v-if="item.defaulted" />
                        <radio value="r1"
                            style="transform:scale(0.6)" :checked="item.defaulted" v-if="!item.defaulted"  @change="changeDefaultAddress(item,index)"/>
                             -->
                    <!-- </label> -->
                    <view class="radio m-t-2 m-r-10" :class="[item.defaulted?'select':'']">
                    </view>
                    <span class="desc">{{item.defaulted?'默认地址:':'当前地址:'}}{{item.schoolAreaStr||''}}
                        {{item.blockStr||''}}
                        {{item.room||''}}</span>
                    <!-- 当前地址/默认地址勾选 -->
                </view>
                <view class="desc del t-red" @click="deleteAddress(item)">
                    删除
                </view>
                <view class="desc del t-green m-l-10" v-if="source==='select'" @click="selectAddress(item)">
                    选择此地址
                </view>
            </view>
        </view>
        <view style="height: 92rpx;width: 690rpx;">
            &nbsp;
        </view>
        <view class="button-green button-fixed-bottom" style="width: 690rpx;line-height: 92rpx;height: 92rpx;" @click=" ()=>{
                delete this.submitForm.id
                this.submitForm['name'] = ''
                this.submitForm['tel'] = ''
                this.submitForm['tel'] = ''
                this.submitForm['area'] = ''
                openAddressForm()
            }">添加收货地址</view>
        <uni-popup ref="popup_form" type="top" :mask-click="false">
            <view class="popup-address-form">
                <view class="close-parent">
                    {{submitForm.id?'新增':'编辑'}}收货地址
                    <uni-icons class="close" type="closeempty" @click="closeAddressForm"></uni-icons>
                </view>
                <!--收货人、手机号、校区、详细地址 -->
                <view class="submit form">
                    <view class="form-item">
                        <view class="form-item-label require">
                            收货人
                        </view>
                        <view class="form-item-value">
                            <input v-model="submitForm.name" placeholder="请输入收货人" class="form-input"></input>
                        </view>
                    </view>
                    <view class="form-item">
                        <view class="form-item-label require">
                            请选择收获地址
                        </view>
                        <view class="form-item-value">
                            <input v-model="submitForm.room" placeholder="请选择收获地址" disabled class="form-input"></input>
                            <!-- todo 点击定位 -->
                        </view>
                    </view>
                    <view class="form-item">
                        <view class="form-item-label require">
                            详细地址
                        </view>
                        <view class="form-item-value">
                            <input v-model="submitForm.address" placeholder="请输入详细地址" class="form-input"></input>
                        </view>
                    </view>
                    <view class="form-item">
                        <view class="form-item-label">
                            是否默认
                        </view>
                        <view class="form-item-value">
                            <radio value="r1" :checked="submitForm.defaulted"
                                @click="submitForm.defaulted=!submitForm.defaulted"
                                style="transform:scale(0.6);margin-top: -8rpx;" />
                        </view>
                    </view>
                </view>
                <view class="button-green m-t-15" @click="saveOrUpdateAddress">保存</view>
            </view>
        </uni-popup>
    </view>
</template>
<script>
    export default {
        async onPullDownRefresh() {
            this.page.current = 0
            await this.getList()
            uni.stopPullDownRefresh()
        },
        async onLoad(options) {
            // this.list = [{}, {}]
            this.source = options.source || ''
            this.listApi = '/api/address/customer/list'
            await this.getList()
        },
        data() {
            return {
                source: '',
                submitForm: {
                    name: '',
                    tel: '',
                    address: '',
                    schoolArea: '',
                    block: '',
                    room: '',
                    defaulted: false
                },
            };
        },
        methods: {
            async changeDefaultAddress(item, index) {
                if (item.defaulted) {
                    return
                }
                this.$nextTick(() => {
                    // item.defaulted = false
                    // this.$set(item,'defaulted',false)
                    this.$message.confirm('确定设置此地址为默认地址吗').then(async res => {
                        this.$message.showLoading()
                        var {
                            code
                        } = await this.$http.request('post', '/api/address/customer/default/' +
                            item.id, {})
                        this.$message.hideLoading()
                        if (code == 0) {
                            for (var dto of this.list) {
                                dto.defaulted = false
                            }
                            this.$message.showToast('设置成功')
                            item.defaulted = true
                            this.$store.commit('setDefaultAddress', {
                                ...item
                            })
                        }
                    }, err => {
                        this.$nextTick(() => {
                            this.list[index].defaulted = false
                            this.$forceUpdate()
                            console.log('err', err, this.list[index])
                        })
                    })
                })
            },
            async selectAddress(item) {
                await this.$message.confirm('确定选择此地址作为收获地址吗')
                //携带,然后返回
                this.$store.commit('setDefaultAddress', {
                    ...item
                })
                this.backpage()
            },
            async deleteAddress(item) {
                await this.$message.confirm('确定删除此地址吗')
                this.$message.showLoading()
                var {
                    code
                } = await this.$http.request('get', '/api/address/customer/delete/' + item.id, {})
                this.$message.hideLoading()
                if (code == 0) {
                    this.$message.showToast('删除成功')
                    setTimeout(() => {
                        this.page.current = 1
                        this.getList()
                    }, 500)
                }
            },
            async openAddressForm() {
                if (this.submitForm.id) {
                    this.$message.showLoading()
                    var {
                        data
                    } = await this.$http.request('get', '/api/address/customer/get/' + this.submitForm.id, {})
                    if (data) {
                        this.submitForm = {
                            ...this.submitForm,
                            ...data
                        }
                        this.blockIndex = -1
                        this.schoolIndex = -1
                    }
                    this.$message.hideLoading()
                } else {
                    this.submitForm = {
                        name: this.currentInfo && this.currentInfo.nickName || '',
                        tel: this.currentInfo && this.currentInfo.tel || '',
                        address: '',
                        schoolArea: '',
                        block: '',
                        room: '',
                        defaulted: false
                    }
                    this.schoolIndex = -1
                    this.blockIndex = -1
                    this.blocks = []
                }
                this.$refs.popup_form.open()
            },
            closeAddressForm() {
                this.$refs.popup_form.close()
            },
            async saveOrUpdateAddress() {
                if (!this.checkFormValues(this.submitForm, ['tel', 'name', 'address'])) {
                    this.$message.showToast('字段未填写完整')
                    return
                }
                this.$message.showLoading()
                const {
                    code
                } = await this.$http.request('post', '/api/address/customer/' + (this.submitForm.id ? 'edit' :
                    'new'), {
                    data: this.submitForm
                })
                this.$message.hideLoading()
                if (code == 0) {
                    this.$refs.popup_form.close()
                    this.$message.showToast(this.submitForm.id ? '修改成功' : '新增成功')
                    setTimeout(() => {
                        this.page.current = 1
                        this.getList()
                    }, 300)
                }
            },
        }
    }
</script>
<style lang="scss" scoped>
    .container-address {
        .popup-address-form {
            background: #FFFFFF;
            border-radius: 16rpx;
            // width: 690rpx;
            height: 882rpx;
            margin-top: 120rpx;
            margin-left: 30rpx;
            margin-right: 30rpx;
            padding: 24rpx 36rpx;
            .submit {
                margin-top: 30rpx;
                .form-input {
                    height: 36rpx;
                    line-height: 36rpx;
                }
            }
        }
        .location-each {
            background: #FFFFFF;
            border-radius: 16rpx;
            margin-bottom: 24rpx;
            padding: 36rpx;
            .name {
                font-size: 32rpx;
                color: #000000;
                line-height: 44rpx;
                text-align: left;
                font-style: normal;
            }
            .tel {
                font-size: 28rpx;
                color: #666666;
                line-height: 40rpx;
                text-align: left;
                font-style: normal;
                padding-top: 4rpx;
                margin-left: 20rpx;
            }
            .address {
                font-size: 24rpx;
                color: #000000;
                line-height: 34rpx;
                text-align: left;
                font-style: normal;
            }
            .desc {
                font-size: 24rpx;
                color: #666666;
                line-height: 34rpx;
                text-align: left;
                font-style: normal;
            }
            .del {
                // vertical-align: baseline;
                margin-left: auto;
                margin-right: 6rpx;
                margin-top: 4rpx;
            }
            .container-info {
                max-width: 540rpx;
            }
            .h-line {
                width: 2rpx;
                height: 46rpx;
                background-color: #EEEEEE;
                margin-left: 28rpx;
                margin-right: 24rpx;
            }
            .v-line {
                width: 638rpx;
                height: 2rpx;
                // border: 2rpx solid #EEEEEE;
                background-color: #EEEEEE;
                margin-top: 24rpx;
                margin-bottom: 24rpx;
            }
            .edit {
                // min-width: 80rpx;
                width: fit-content;
                margin-left: auto;
                margin-right: 0rpx;
                display: flex;
                position: relative;
                .icon {
                    // margin: 0 auto;
                    // mar
                    margin-left: auto;
                    margin-right: auto;
                    margin-top: 20rpx;
                    display: block;
                }
            }
            .edit::before {
                content: " ";
                width: 2rpx;
                height: 46rpx;
                background-color: #EEEEEE;
                position: absolute;
                left: -24rpx;
                top: 20rpx;
            }
        }
    }
</style>
pages/user/bussincess-user.vue
文件已删除
pages/user/supplier-user.vue
@@ -10,33 +10,59 @@
                mode="scaleToFill" />
            <view class="title" style="position: relative;">
                我的
                个人中心
            </view>
            <view class="flex user-info" v-if="currentInfo&&(currentInfo.id)">
            <!-- v-if="currentInfo&&(currentInfo.id)" -->
            <view class="flex user-info">
                <!-- 头像 -->
                <image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png"
                    mode="aspectFit"></image>
                <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image>
                <view class="name">
                    <view class="t1">
                <view class="name" v-if="currentInfo.id">
                    <view class="t1" >
                        {{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}}<span
                            v-if="currentInfo.supplierDTO&&currentInfo.supplierDTO.status!=='P'">
                            ({{currentInfo.supplierDTO?currentInfo.supplierDTO.statusStr:''}})</span>
                    </view>
                    <view class="t2">{{currentInfo.tel || '暂无电话'}}</view>
                </view>
                <view class="name" v-if="!currentInfo.id" open-type="getUserInfo" @click.stop="getUserProfile" style="font-size: 48rpx;margin-top: 16rpx;">
                    {{'点击登陆'}}
                </view>
                <image class="icon-setting" src="../../static/common/icon-setting.png" mode="aspectFit"></image>
            </view>
            <!-- #ifdef PUB_CUSTOMER -->
            <view class="customer-info-records">
                <view class="item">
                    <view class="num">59</view>
                    <view class="name">我的收藏</view>
                </view>
                <view class="line"></view>
                <view class="item">
                    <view class="num">5</view>
                    <view class="name">关注店铺</view>
                </view>
                <view class="line"></view>
                <view class="item">
                    <view class="num">87</view>
                    <view class="name">浏览记录</view>
                </view>
            </view>
            <!-- #endif -->
        </view>
        <!-- #ifdef PUB_CUSTOMER -->
        <view class="user-utils m-20" v-if="selftype==='customer'">
            <view class="user-util m-t-12 user-customer-order-infos">
        <view class="user-utils m-20 user-customer-order-infos" v-if="selftype==='customer'||!selftype">
            <view class="user-util m-t-12">
                <view class="title flex">
                    <view>我的订单</view>
                    <view class="m-r-a m-r-0 more">全部订单<uni-icons type="right"></uni-icons></view>
                    <view class="flex1">我的订单</view>
                    <view class="m-r-a m-r-0 more">全部订单<uni-icons class="" type="right"
                            size="12"></uni-icons></view>
                </view>
                <view class="flex order-icons-container">
                    <view class="order-icons">
@@ -62,7 +88,7 @@
                </view>
            </view>
        </view>
        <view class="user-utils m-20" v-if="selftype==='customer'">
        <view class="user-utils m-20" v-if="selftype==='customer'||!selftype">
            <view class="user-util m-t-12 user-customer-service-infos">
                <view class="title flex">
                    <view>我的服务</view>
@@ -77,27 +103,31 @@
                        <image src="../../static/images/customer/service/service-icon-2.png" class="service-icon ">
                        </image>
                        <view>我的收藏</view>
                    </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-3.png" class="service-icon ">
                        </image>
                        <view>地址管理</view>
                    </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-4.png" class="service-icon ">
                        </image>
                        <view>售后规则</view>
                    </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-5.png" class="t2 service-icon ">
                        </image>
                        <view>新手帮助</view>
                    </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-6.png" class="t2 service-icon ">
                        </image>
                        <view>运费详查</view>
                    </view>
                    <view class="service-icons" @click="goto('/pages/user/address/address',true)">
                        <image src="../../static/images/customer/service/service-icon-3.png" class="service-icon ">
                        </image>
                        <view>地址管理</view>
                    </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-4.png" class="service-icon ">
                        </image>
                        <view>售后规则</view>
                    </view>
                </view>
                <view class="flex service-icons-container">
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-5.png" class="t2 service-icon ">
                        </image>
                        <view>新手帮助</view>
                    </view>
                    <view class="service-icons">
                        <image src="../../static/images/customer/service/service-icon-6.png" class="t2 service-icon ">
                        </image>
                        <view>运费详查</view>
                    </view>
                    <view class="service-icons"></view>
                    <view class="service-icons"></view>
                </view>
            </view>
        </view>
@@ -122,7 +152,8 @@
                    <uni-icons type="right"></uni-icons>
                </view>
            </view>
            <view class="user-util m-t-12 " @click="callTel" v-if="selftype==='supplier'||selftype==='customer'">
            <view class="user-util m-t-12 " @click="callTel"
                v-if="selftype==='supplier'||selftype==='customer' || !selftype">
                <view class="title">我的客服</view>
                <view class="flex">
                    <image class="icon-clock m-r-6 m-t-2" src="../../static/common/icon-call.png"></image>
@@ -142,22 +173,22 @@
        </view>
        <!-- #ifdef PUB_CUSTOMER -->
        <view style="padding-bottom:200rpx">
        </view>
        <common-footer flg="4"></common-footer>
        <!-- #endif -->
        <!-- #ifndef PUB_CUSTOMER -->
        <!-- #ifdef PUB_CUSTOMER -->
        <view style="padding-bottom:200rpx">
        </view>
        <common-footer flg="3"></common-footer>
        <!-- #endif -->
        <!-- #ifndef PUB_CUSTOMER -->
        <view class="button-login-out topic-gray" @click="clearlogout">
            退出登录
        </view>
        <view style="padding-bottom:200rpx">
        </view>
        <common-footer flg="1"></common-footer>
        </view>
        <common-footer flg="1"></common-footer>
        <!-- #endif -->
    </view>
pages/user/user-customer.scss
@@ -1,4 +1,5 @@
.user-customer-order-infos{
    padding-top: 0rpx;
    .more{
        font-weight: 400;
        font-size: 24rpx;
@@ -24,12 +25,12 @@
            .order-icon.dsh{
                width: 48rpx;
                height: 46rpx;
                margin-top: 3rpx;
                margin-top: 6rpx;
            }
            .order-icon.sh{
                width: 48rpx;
                height: 46rpx;
                margin-top: 3rpx;
                margin-top: 6rpx;
            }
        }
        .order-icons:last-child{
@@ -53,11 +54,14 @@
            margin: 0 auto;
            margin-top: 24rpx;
            text-align: center;
            .service-icons{
            font-size: 24rpx;
            color: #000000;
            line-height: 34rpx;
            .service-icon{
                height: 52rpx;
                width: 52rpx;
            }
            .service-icons.t2{
            .service-icon.t2{
                height: 52rpx;
                width: 56rpx;
            }
@@ -66,3 +70,32 @@
    }
}
.customer-info-records{
    background-color: rgba(255, 255, 255, 0.46);
    border-radius: 12rpx;
    padding: 22rpx;
    display: flex;
    margin-top: 54rpx;
    .item{
        flex: 1;
        text-align: center;
        .num{
            font-weight: 600;
            font-size: 40rpx;
            color: #20613D;
            line-height: 56rpx;
        }
        .name{
            font-weight: 400;
            font-size: 24rpx;
            font-weight: 600;
            color: #000000;
            line-height: 34rpx;
        }
    }
    .line{
        width: 2rpx;
        height: 64rpx;
        background-color:  #BBCCC2;
    }
}
pages/user/user.scss
@@ -78,7 +78,7 @@
        .icon-setting{
            position: absolute;
            right: 0rpx;
            top: -30rpx;
            top: 50rpx;
            height: 54rpx;
            width: 54rpx;
        }
@@ -130,28 +130,6 @@
                // display: inline-block;
                // margin-left: auto;
                // margin-right: auto;
            }
            .order-icon.tg{
                margin-top: -8rpx;
                width: 64rpx;
                height: 64rpx;
            }
            .order-icon.cqw{
                // margin-top: 16rpx;
                margin-top: -2rpx;
                width: 54rpx;
                height: 58rpx;
            }
            .order-icon.syst{
                // margin-top: 12rpx;
                // margin-top: 0rpx;
                width: 58rpx;
                height: 56rpx;
            }
            .order-icon.wbsp{
                margin-top: -10rpx;
                width: 70rpx;
                height: 66rpx;
            }
        }
    }
@@ -220,4 +198,6 @@
            
        }
    }
}
}
sub_pages/customer/shopping/shopping.vue
@@ -1,6 +1,9 @@
<template>
    <view>
        
        <view style="min-height:200rpx">
        </view>
        <common-footer flg="2"></common-footer>
    </view>
</template>
sub_pages/customer/trade/trade.vue
@@ -1,22 +1,613 @@
<template>
    <view>
    <view class="container-canteen" style="min-height: calc(100vh - 20rpx );">
        <view class="canteen-items" style="min-height: calc(100vh - 360rpx);">
            <view v-if="(!list||list.length==0)&&true" style="width: 100%;min-height: 200rpx;">
                &nbsp;
            </view>
            <no-data v-if="(!list||list.length==0)&&true" style="width: 100%;margin-top: 220rpx;"></no-data>
            <view class="" style="display: flex;flex-wrap: inherit;" v-else>
                <view class="type-list">
                    <view v-for="(item,index) of types" @click="changeType(item)"
                        :class="[query.typeId==item.id?'current':'']" :key="index" class="p10 flex type-item">
                        {{item.name || '-'}}
                    </view>
                </view>
                <view class="canteen-item-container">
                    <view v-for="(item,index) of listFilter" :key="item.id" class="p10 canteen-item list"
                        style="display: flex;flex-wrap: inherit;">
                        <view class="m-r-10">
                            <image :src="item.cover" mode="scaleToFill" class="cover" @click="previewImg(item.cover)">
                            </image>
                        </view>
                        <view class="cateen_infos list">
                            <view class="title">{{item.name}}</view>
                            <view class="desc">月售:{{item.monthSale || '0'}}</view>
                            <view class="flex bottom-buttons flex">
                                <view class="price flex">
                                    <view class="icon">¥</view>
                                    <view class='num'>{{item.price || '-'}}</view>
                                </view>
                                <view class="icons flex">
                                    <uni-icons v-if="item.shopnum&&item.shopnum>=1" type="minus" size="32"
                                        @click="mulnum(item)"></uni-icons>
                                    <view class="curnums" v-if="item.shopnum&&item.shopnum>=1">{{item.shopnum}}</view>
                                    <uni-icons type="plus-filled" size="32" @click="addnum(item)"></uni-icons>
                                </view>
                            </view>
                        </view>
                        <view style="padding-bottom:100rpx">
                        </view>
                    </view>
                    <footer-msg v-if="query.block&&query.schoolArea"
                        :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
                </view>
            </view>
        </view>
        <view style="min-height:200rpx">
        </view>
        <common-footer flg="1"></common-footer>
    </view>
</template>
<script>
    import {
        mapState
    } from 'vuex'
    export default {
        data() {
            return {
                list: [],
                showpop: false,
                query: {
                    name: '',
                    // status:'',
                    schoolArea: '',
                    schoolAreaStr: '',
                    block: '',
                    blockStr: '',
                    typeId: '',
                },
                types: [{
                    name: '全部',
                    id: ''
                }],
                schools: [],
                schoolIndex: -1,
                blockIndex: -1,
                blocks: [],
                shoptotal: 0,
                cal: 0,
            }
        },
        async onLoad() {
            // this.list = [{
            //     'shopnum': 0
            // }, {
            //     'shopnum': 1
            // }]
            //加载分类
            this.$http.request('get', '/api/canteen/goods/type/list', {
                params: {
                    size: 100
                }
            }).then(async res => {
                if (res.code == 0) {
                    this.types = res.data && res.data.records || []
                    this.types.unshift({
                        name: '全部',
                        id: ''
                    });
                }
            })
            this.listApi = '/api/canteen/customer/goods/list'
            // this.getList()
            //加载校区、楼栋
            this.$http.request('get', '/api/school/area/list', {
            }).then(async res => {
                if (res.code == 0) {
                    this.schools = res.data || []
                    // this.schools = [{
                    //     'name': '全部',
                    //     'id': '',
                    // }]
                    // for (var item of arr) {
                    //     this.schools.push(item)
                    // }
                }
                console.log('schools', this.schools)
                var schoolIndex = uni.getStorageSync('schoolIndex')
                if (!schoolIndex && schoolIndex !== 0) {
                    // await this.getList()
                    // this.list.forEach(item => {
                    //     if (!item.shopnum) {
                    //         item.shopnum = 0
                    //     }
                    // })
                } else {
                    this.schoolIndex = schoolIndex
                    if (this.schoolIndex >= 0) {
                        this.PickerChangeSchool({
                            detail: {
                                value: this.schoolIndex
                            }
                        })
                        // await this.getList()
                        // this.list.forEach(item => {
                        //     if (!item.shopnum) {
                        //         item.shopnum = 0
                        //     }
                        // })
                    }
                }
            })
        },
        methods: {
            changeType(item) {
                this.query.typeId = item.id || ''
            },
            async PickerChangeSchool(e) {
                if (e.detail.value == '-1') {
                    this.$message.showToast('未选择校区')
                    return
                }
                this.schoolIndex = parseInt(e.detail.value)
                this.query.schoolArea = this.schools[this.schoolIndex].id
                this.blockIndex = -1
                this.$message.showLoading()
                var {
                    data
                } = await this.$http.request('get', '/api/school/block/list', {
                    params: {
                        schoolArea: this.query.schoolArea,
                        size: 200
                    }
                })
                this.blocks = data && data.records || []
                // var arr = data.records || []
                // this.blocks = [{
                //     'name': '全部',
                //     'id': '',
                // }]
                // for (var item of arr) {
                //     this.blocks.push(item)
                // }
                this.$message.hideLoading()
                if (this.blocks.length >= 1) {
                    this.query.block = this.blocks[0].id
                    this.query.blockStr = this.blocks[0].name
                    this.page.current = 1
                    this.blockIndex = 0
                    this.list = []
                    this.getList()
                } else {
                    this.page.current = 1
                    this.list = []
                }
            },
            async PickerChangeBlock(e) {
                if (e.detail.value == '-1') {
                    this.$message.showToast('未选择楼栋')
                    return
                }
                this.blockIndex = parseInt(e.detail.value)
                this.query.block = this.blocks[this.blockIndex].id
                this.page.current = 1
                // this.list = []
                this.list = []
                // this.getList()
                await this.getList()
                this.list.forEach(item => {
                    if (!item.shopnum) {
                        item.shopnum = 0
                    }
                })
            },
            mulnum(item) {
                if (item.shopnum > 0) {
                    item.shopnum -= 1
                }
                this.shoptotal -= 1
                this.cal += 1
                this.$forceUpdate()
            },
            addnum(item) {
                // console.log('addnum', item)
                if (item.shopnum) {
                    item.shopnum += 1
                } else {
                    item.shopnum = 1
                }
                this.shoptotal += 1
                this.cal += 1
                this.$forceUpdate()
            },
            openShopDetail() {
                // this.showpop = false
                // this.$forceUpdate()
                this.cal += 1
                this.$refs.popup_shop_detail.open()
                this.$nextTick(() => {
                    this.$refs.addressselect && this.$refs.addressselect.init()
                })
            },
            closeShopDetail() {
                // this.showpop = true
                this.$refs.popup_shop_detail.close()
            },
            async submitGood() {
                var values = []
                for (var item of this.list) {
                    if (item.shopnum > 0) {
                        values.push({
                            id: item.id,
                            num: item.shopnum
                        })
                    }
                }
                //购买
                if (!this.address.id) {
                    this.$message.showToast('请先选择收获地址')
                    return
                }
                await this.$message.confirm('确定购买吗?')
                this.$message.showLoading()
                const {
                    code,
                    data
                } = await this.$http.request('post', '/api/canteen/customer/order', {
                    data: {
                        customerAddress: (this.address.schoolAreaStr || '') + (this.address.blockStr || '') + (
                            this
                            .address.room || '') + (this.address.address || ''),
                        customerTel: this.address.tel,
                        customer: this.address.name,
                        goodsList: values, //规格
                    }
                })
                this.$message.hideLoading()
                if (code == 0) {
                    this.list.forEach(item => {
                        item.shopnum = 0
                    })
                    this.shoptotal = 0
                    this.cal += 1
                    this.$refs.popup_shop_detail.close()
                    this.$forceUpdate()
                    //todo,预支付
                    //深夜食堂的逻辑不太一样
                    if (true) {
                        const orderInfo = await this.$http.request('get', '/api/canteen/customer/payment/' + data
                            .orderId, {})
                        //支付准备
                        var info = orderInfo.data
                        let that = this
                        wx.requestPayment({
                            ...info,
                            success(res) {
                                console.log('pay success', res)
                                uni.navigateTo({
                                    url: '/pages/canteen/canteen-success/canteen-success'
                                })
                            },
                            fail(err) {
                                console.error('pay fail', err)
                                that.$message.showToast('支付失败')
                            }
                        })
                    } else {
                        uni.navigateTo({
                            url: '/pages/canteen/canteen-success/canteen-success'
                        })
                    }
                }
            }
        },
        computed: {
            ...mapState({
                address: state => {
                    return state.defaultaddress || {}
                },
            }),
            selectprices() {
                var arr = 0
                for (var item of this.list) {
                    if (item.shopnum > 0) {
                        // arr.push(item)
                        arr += (item.price >= 0 ? item.price : 0) * item.shopnum
                    }
                }
                if (this.cal > 0) {
                    return arr
                }
                return 0
            },
            selectgoods() {
                var arr = []
                for (var item of this.list) {
                    if (item.shopnum > 0) {
                        arr.push(item)
                    }
                }
                if (this.cal > 0) {
                    return arr
                }
                return arr
            },
            listFilter() {
                if (this.query.typeId) {
                    var arr = []
                    if (this.list && this.list.length > 0) {
                        for (var item of this.list) {
                            if (item.typeId === this.query.typeId || item.type === this.query.typeId) {
                                arr.push(item)
                            }
                        }
                    }
                    return arr
                } else {
                    return this.list
                }
            },
            // shoptotal() {
            //     var a = 0
            //     for (var item of this.list) {
            //         a += item.shopnum || 0
            //     }
            //     console.log('shoptotal',a,this.list)
            //     return a
            // }
        }
    }
</script>
<style>
<style lang="scss" scoped>
    .container-canteen {
        background-color: #FFFFFF;
</style>
        .type-list {
            max-width: 178rpx;
            width: 178rpx;
            min-width: 178rpx;
            background: #EEF7F5;
            border-radius: 8rpx;
            min-height: calc(100vh - 300rpx);
            max-height: calc(100vh - 300rpx);
            overflow-y: scroll;
            margin-left: 30rpx;
            .type-item {
                text-align: center;
                font-weight: 400;
                font-size: 28rpx;
                color: #000000;
                line-height: 88rpx;
                // padding-left: 30rpx;
                // padding-right: 30rpx;
            }
            .type-item.current {
                font-weight: 600;
                font-size: 28rpx;
                color: #04BA97;
            }
        }
        .title-before-blue.green {
            padding-left: 30rpx;
            padding-bottom: 0rpx;
        }
        .title-before-blue:before {
            color: #04BA97;
            font-weight: 600;
            min-width: 14rpx;
            background: #04BA97;
            border-radius: 8rpx;
            display: inline-block;
        }
        .popup_shop_detail {
            background: #FFFFFF;
            // padding: 30rpx 0rpx;
            padding-bottom: 30rpx;
            .footer-shop {
                margin: 0 auto;
                margin-top: 46rpx;
            }
            .common-address-select {
                margin-left: 20rpx;
                margin-right: 20rpx;
            }
            .close-parent {
                margin-right: 20rpx;
            }
            .canteen-items {
                .canteen-item {
                    margin-left: 20rpx;
                    margin-right: 0rpx;
                    .cateen_infos {
                        width: 440rpx;
                    }
                    .cateen_infos.list {
                        max-width: 30 0rpx;
                        min-width: 200rpx;
                    }
                }
            }
        }
        .canteen-items {
            // margin-left: 30rpx;
            .canteen-item {
                margin-left: 30rpx;
                margin-right: 30rpx;
                // width: 690rpx;
                // max-width: 690rpx;
                height: 206rpx;
                background: #FFFFFF;
                border-radius: 16rpx;
                display: flex;
                margin-bottom: 24rpx;
                .cover {
                    width: 202rpx;
                    height: 202rpx;
                }
                .title {
                    font-weight: 600;
                    font-size: 32rpx;
                    color: #000000;
                    line-height: 44rpx;
                }
                .desc {
                    font-weight: 400;
                    font-size: 24rpx;
                    color: #666666;
                    line-height: 34rpx;
                }
                .price {
                    font-size: 24rpx;
                    .icon {
                        line-height: 60rpx;
                    }
                    .num {
                        font-weight: 600;
                        font-size: 36rpx;
                        color: #000000;
                        // line-height: 50rpx;
                    }
                }
                .cateen_infos {
                    width: 400rpx;
                    position: relative;
                }
                .cateen_infos.list {
                    max-width: 300rpx;
                    min-width: 200rpx;
                }
                .bottom-buttons {
                    // width: 400rpx;
                    position: absolute;
                    bottom: 0rpx;
                    left: 0;
                    right: 0;
                    .icons {
                        margin-left: auto;
                        margin-right: 0;
                        .curnums {
                            line-height: 60rpx;
                        }
                    }
                }
            }
            .canteen-item-container {
                width: 100%;
                min-height: 300rpx;
                max-height: calc(100vh - 300rpx);
                overflow-y: scroll;
            }
            .canteen-item.list {
                margin-right: 0rpx;
                flex: 1;
                margin-bottom: 0rpx;
                .cover {
                    width: 158rpx;
                    height: 158rpx;
                }
            }
        }
        .canteen-footer-shop {
            position: absolute;
            position: fixed;
            left: 30rpx;
            bottom: 30rpx;
        }
        .area-select {
            .area {
                margin-right: 0rpx;
                .t {
                    font-weight: 400;
                    font-size: 32rpx;
                    color: #000000;
                    line-height: 44rpx;
                }
                .i {}
            }
            .area-1 {
                margin-left: auto;
            }
            .area-2 {
                margin-left: 84rpx;
            }
        }
        .canteen-banner {
            width: 750rpx;
            min-height: 360rpx;
        }
    }
</style>