陶杰
2024-09-12 fb48777cd4c3f086f77b5b26e1d03aebf995f4f5
Merge remote-tracking branch 'origin/master-2.0' into master-2.0

# Conflicts:
# sub_pages/customer/trade/trade.vue
已删除2个文件
已修改14个文件
已添加1个文件
429 ■■■■ 文件已修改
App.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/banner3d/banner3d.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manifest.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/home.vue 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order-detail.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/user/user-customer.scss 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
plugins/http.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/coupon/coupon-bg-user.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/coupon/coupon-out.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/customer/coupon/good-top-bg.png 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/coupon/coupon-self.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/coupon/coupon.scss 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/coupon/good-all.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/coupon/good-self.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/self/member-center.vue 193 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sub_pages/customer/shopping/confirm.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
App.vue
@@ -6,6 +6,12 @@
    export default {
        onLaunch: async function(options) {
            //清除一些缓存
            this.$storage.removeItem('cache_home_show_coupon')
            // #ifdef PUB_PARTNER
            // this.$storage.removeItem('cache_partner_info')
            // #endif
            var query = options.q && decodeURIComponent(options.q) || ''
            var querydto = {}
            if (query) {
@@ -23,7 +29,8 @@
                if (!querydto.partnerUserId) {
                    if (options.query && options.query.scene || options.scene) {
                        //说明是特殊小程序二维码扫码跳转的
                        var keyvalues = decodeURIComponent(options.query&&options.query.scene || options.scene).split("&")
                        var keyvalues = decodeURIComponent(options.query && options.query.scene || options.scene)
                            .split("&")
                        for (var item of keyvalues) {
                            var tarr = item.split("=")
                            querydto[tarr[0]] = tarr[1]
components/banner3d/banner3d.vue
@@ -3,7 +3,7 @@
        <swiper :style="{width: '100vw', height: '410rpx'}" :indicator-dots="swiperConfig.indicatorDots"
            :indicator-color="swiperConfig.indicatorColor" :indicator-active-color="swiperConfig.indicatorActiveColor"
            :autoplay="swiperConfig.autoplay" :interval="swiperConfig.interval" :duration="swiperConfig.duration"
            :circular="swiperConfig.circular" :previous-margin="swiperConfig.previousMargin"
            :circular="swiperConfig.circular" :previous-margin="swiperConfig.previousMargin" v-if="init"
            :next-margin="swiperConfig.nextMargin" @change="swiperChange" @animationfinish="animationfinish">
            
            <swiper-item v-for="(item, i) in bannerList" :key="i">
@@ -19,26 +19,27 @@
                    <image :src="item.bg" class="slide-image">
                    </image>
                    <view v-if="item.currentMsg" class="top-msg" :class="[`v${i+1}`]">
                    <view v-if="item.currentMsg" class="top-msg" :class="[`v${bannerList[i].key|| (i+1)}`]">
                        {{item.currentMsg}}
                    </view>
                    <image :src="item.picture" class="icon-image" :class="[`v${i+1}`]" mode="aspectFit"></image>
                    <view class="container" :class="[`v${i+1}`]">
                    <image :src="item.picture" class="icon-image" :class="[`v${bannerList[i].key||(i+1)}`]"
                        mode="aspectFit"></image>
                    <view class="container" :class="[`v${bannerList[i].key|| (i+1)}`]">
                        <view class="title">{{bannerList[i].title}}</view>
                        <view class="line-component" v-if="bannerList[i].point">
                            <view class="line-bg">
                                <view class="tip"
                                    :style="{'left':(bannerList[i].point.end&&(bannerList[i].point.current/bannerList[i].point.end)||0).toFixed(2)*100+'%'}">
                                    :style="{'left':(bannerList[i].point.current<=bannerList[i].point.endPoint)?((bannerList[i].point.endPoint&&(bannerList[i].point.current/bannerList[i].point.endPoint)||0).toFixed(2)*100+'%'):'100%'}">
                                    {{bannerList[i].point.current || 0}}
                                </view>
                                <view class="tip-loc"
                                    :style="{'left':(bannerList[i].point.end&&(bannerList[i].point.current/bannerList[i].point.end)||0).toFixed(2)*100+'%'}">
                                    :style="{'left':(bannerList[i].point.current<=bannerList[i].point.endPoint)?((bannerList[i].point.endPoint&&(bannerList[i].point.current/bannerList[i].point.endPoint)||0).toFixed(2)*100+'%'):'100%'}">
                                </view>
                            </view>
                            <view class="desc">
                                <span
                                    v-if="bannerList[i].point.end">{{bannerList[i].point.current || 0}}/{{bannerList[i].point.end}},升级还需{{bannerList[i].point.end-bannerList[i].point.current}}成长值</span>
                                    v-if="bannerList[i].point.endPoint&&(bannerList[i].point.current<=bannerList[i].point.endPoint)">{{bannerList[i].point.current || 0}}/{{bannerList[i].point.endPoint}},升级还需{{bannerList[i].point.endPoint - bannerList[i].point.current}}成长值</span>
                                <span v-else>当前成长值:{{bannerList[i].point.current || 0}}</span>
                            </view>
                        </view>
@@ -95,10 +96,17 @@
            return {
                curIndex: 0,
                descIndex: 0,
                isDescAnimating: false
                isDescAnimating: false,
                init: true
            }
        },
        methods: {
            // swiperChangeIndex(index){
            // this.curIndex = index || 0
            // this.init = true
            // this.$forceUpdate()
            // },
            swiperChange(e) {
                const that = this
                this.curIndex = e.mp.detail.current
@@ -107,6 +115,7 @@
                    that.descIndex = e.mp.detail.current
                    clearTimeout(timer)
                }, 150)
                this.$emit('changeIndex',this.curIndex)
            },
            animationfinish(e) {
                this.isDescAnimating = false
manifest.json
@@ -49,7 +49,7 @@
    "quickapp" : {},
    /* 快应用特有相关 */
    "mp-weixin" : {
        "appid" : "wx6d0ecc4e18710458",
        "appid" : "wx1441324401626290",
        "setting" : {
            "urlCheck" : false,
            "es6" : true,
pages/home/home.vue
@@ -75,7 +75,38 @@
        </view>
        <common-footer flg="0"></common-footer>
        <uni-popup ref="coupon_home" type="bottom" border-radius="10px 10px 0 0">底部弹出 Popup 自定义圆角</uni-popup>
        <uni-popup ref="coupon_home" type="center" border-radius="10px 10px 0 0">
            <view class="coupon-container" style="width: 690rpx;">
                <view class="coupont-item all">
                    <view class="flex container img100">
                        <view class="info-price">
                            <view class="price1">
                                {{dto_home_coupon.maxDiscountAmount?(`${dto_home_coupon.maxDiscountAmount}折`):(`¥${dto_home_coupon.couponDiscountValue}`)}}
                            </view>
                            <view class="price2">
                                {{dto_home_coupon.minOrderAmount?(`满¥${dto_home_coupon.minOrderAmount}可用`):'无门槛'}}
                            </view>
                        </view>
                        <view class="info flex1">
                            <view class="title">
                                {{dto_home_coupon.couponName||'-'}}
                            </view>
                            <view class="time" v-if="dto_home_coupon.getEndDate">
                                <!-- 领取后{{dto_home_coupon.usageTimeNum||''}}{{dto_home_coupon.usageTimeTypeName||''}}有效 -->
                                {{dto_home_coupon.getEndDate|| '-'}}前有效
                            </view>
                            <view class="button" @click="getCoupon(dto_home_coupon)">
                                立即领取
                            </view>
                        </view>
                    </view>
                    <view class="tip">
                        <span class="t-red">*</span>此券每人限领1张。仅限用于花满芜鲜花交易平台鲜切花花款满额使用,不可与其他优惠同享、不可叠加使用
                    </view>
                </view>
            </view>
        </uni-popup>
    </view>
@@ -175,7 +206,8 @@
                hide_footer: false,
                noticeList: [],
                currentNoticeIndex: 0,
                currentNotice: {}
                currentNotice: {},
                dto_home_coupon: {}
            };
        },
        onShareAppMessage() {
@@ -211,6 +243,28 @@
            this.init()
        },
        methods: {
            async getCoupon(item) {
                if (!this.currentInfo.id) {
                    await this.$message.confirm('请先前往登录')
                    this.$storage.removeItem('cache_home_show_coupon')
                    return
                }
                this.$message.showLoading()
                const {
                    code,
                    data
                } = await this.$http.request('post', '/api/v2/coupon/app/receive', {
                    data: {
                        couponId: item.id,
                        num: 1
                    }
                })
                if (code == 0) {
                    this.$refs.coupon_home.close()
                    this.$message.showToast('领取成功')
                }
            },
            init_children() {
                this.$refs.home_top_flow && this.$refs.home_top_flow.init && this.$refs.home_top_flow.init()
                this.$refs.home_category && this.$refs.home_category.init && this.$refs.home_category.init()
@@ -357,18 +411,30 @@
                    }
                })
                // let tmp = this
                // //首页优惠券
                // this.$http.request('get', '/api/v2/coupon/app' + `/home/list`).then(res => {
                //     if (res.code == 0) {
                //         var list = res.data || []
                //         var dto = list.length >= 1 ? list[0] : undefined
                //         if (dto) {
                //             // 显示弹窗图片
                //             tmp.$refs.coupon_home.open()
                //         }
                //     }
                // })
                if (tmp.currentInfo.id) {
                    let tmp = this
                    //延迟2秒
                    setTimeout(() => {
                        var value = tmp.$storage.getItem('cache_home_show_coupon')
                        if (!value) {
                            //首页优惠券
                            tmp.$storage.setItem('cache_home_show_coupon', '1')
                            var u = '/api/v2/coupon/home/alert'
                            u = '/api/v2/coupon/app/home/list'
                            tmp.$http.request('get', u).then(res => {
                                if (res.code == 0) {
                                    var list = res.data || []
                                    var dto = list.length >= 1 ? list[0] : undefined
                                    if (dto) {
                                        // 显示弹窗图片
                                        tmp.dto_home_coupon = dto
                                        tmp.$refs.coupon_home.open()
                                    }
                                }
                            })
                        }
                    }, 2000)
                }
            },
            clickBanner(item) {
@@ -427,4 +493,8 @@
<style lang="scss" scoped>
    @import "./home.scss";
    /* #ifdef PUB_CUSTOMER */
    @import "@/sub_pages/customer/coupon/coupon.scss";
    /* #endif */
</style>
pages/order/order-detail.vue
@@ -200,6 +200,7 @@
                                    tmp.$message.hideLoading()
                                    if (code === 0) {
                                        tmp.getDetail()
                                        tmp.$store.dispatch('getCurrentInfo')
                                    }
                                },
                                fail(e) {
@@ -584,11 +585,29 @@
            </view>
        </view>
        <view class="info-container bg-white br-4 m-t-12" v-if="!showSales">
            <view class="form-item">
            <view class="form-item flex">
                <view class="label">订单金额:</view>
                <view class="value">{{ dto.totalAmount || '-' }}</view>
                <view class="value m-l-a m-r-0 text-right">+{{ dto.totalAmount || '0' }}</view>
            </view>
            <view class="form-item">
            <view class="form-item flex">
                <view class="label">运费:</view>
                <view class="value  m-l-a m-r-0 text-right">+{{ dto.transportFee || '0' }}</view>
            </view>
            <view class="form-item flex">
                <view class="label">打包费:</view>
                <view class="value  m-l-a m-r-0 text-right">+{{ dto.packingFee || '0' }}</view>
            </view>
            <view class="form-item flex t-red">
                <view class="label">优惠:</view>
                <view class="value  m-l-a m-r-0 text-right">-{{ dto.memberCouponAmount || '0' }}</view>
            </view>
            <view class="form-item flex t-red">
                <view class="label">实际支付:</view>
                <view class="value  m-l-a m-r-0 text-right">¥{{ dto.paymentAmount || '0' }}</view>
            </view>
            <!--     <view class="form-item">
                <view class="label">支付金额:</view>
                <view class="value">{{ dto.paymentAmount || '-' }}</view>
            </view>
@@ -596,10 +615,7 @@
                <view class="label">商品金额:</view>
                <view class="value">{{ dto.flowerAmount || '-' }}</view>
            </view>
            <view class="form-item">
                <view class="label">运费:</view>
                <view class="value">{{ dto.transportFee || '-' }}</view>
            </view>
            <view class="form-item">
                <view class="label">折扣类型:</view>
                <view class="value">{{ dto.memberDiscountTypeStr || '-' }}</view>
@@ -611,11 +627,11 @@
            <view class="form-item">
                <view class="label">优惠券:</view>
                <view class="value">{{ dto.memberCouponName || '-' }}</view>
            </view>
            <view class="form-item">
            </view> -->
            <!--     <view class="form-item">
                <view class="label">优惠金额:</view>
                <view class="value">{{ dto.memberCouponAmount || '-' }}</view>
            </view>
            </view> -->
        </view>
        <view class="info-container bg-white br-4 m-t-12"
            v-if="!showSales&& dto.pointGoodsList&& dto.pointGoodsList.length>0">
pages/order/order.vue
@@ -155,6 +155,8 @@
                                    tmp.$message.hideLoading()
                                    if (code === 0) {
                                        tmp.refreshList()
                                        //刷新积分
                                        tmp.$store.dispatch('getCurrentInfo')
                                    }
                                },
                                fail(e) {
@@ -284,6 +286,7 @@
                        if (code === 0) {
                            // this.$store.dispatch('sign_add', 'order')
                            this.refreshList()
                        }
                    }
                    break
pages/user/user-customer.scss
@@ -38,7 +38,8 @@
    border-radius: 8rpx;
    // border: 2rpx solid;
    // border-image: linear-gradient(180deg, rgba(238, 217, 173, 1), rgba(219, 182, 105, 1)) 2 2;
    background-image: url('../../static/images/customer/coupon/coupon-bg-user.png');
    // background-image: url('../../static/images/customer/coupon/coupon-bg-user.png');
    background-image: url('https://hmy-flower.oss-cn-shanghai.aliyuncs.com/69/69b8683eb7084e06a9d7645764a92a4ayJwLQzpZIQ5f7c5070054319d93cf972f05d429ad10c.png');
    background-size: 100% 100%;
    .title{
        font-weight: 600;
plugins/http.js
@@ -52,6 +52,7 @@
                dataType: options.dataType ? options.dataType : 'json',
                data: options.data || null,
                header,
                timeout: 30000,
                success: async (res) => {
                    if (!options.ignore) {
                        message.hideLoading()
@@ -219,6 +220,7 @@
                    if (!options.ignore) {
                        message.hideLoading()
                    }
                    message.showToast('网络异常')
                    reject({
                        data: null,
                        code: 9999,
static/images/customer/coupon/coupon-bg-user.png
Binary files differ
static/images/customer/coupon/coupon-out.png
static/images/customer/coupon/good-top-bg.png
Binary files differ
sub_pages/customer/coupon/coupon-self.vue
@@ -30,10 +30,13 @@
                        </view>
                        <view class="time">
                            {{item.effectiveStart&&(item.effectiveStart+' 生效,') || ''}}
                            <!-- {{item.effectiveStart&&(item.effectiveStart+' 生效,') || ''}} -->
                            {{item.effectiveEnd&&('有效期至 '+item.effectiveEnd) || '长久有效'}}
                        </view>
                    </view>
                    <view class="img-out">
                    </view>
                </view>
                <view class="tip">
                    <span
sub_pages/customer/coupon/coupon.scss
@@ -3,8 +3,11 @@
        
        .coupont-item.expired {
            filter: grayscale(100%);
            filter: grayscale(95%);
            .img-has {
                display: unset;
            }
            .img-out {
                display: unset;
            }
        }
@@ -18,10 +21,21 @@
                position: absolute;
                right: -20rpx;
                top: 20rpx;
                background-image: url('../../../static/images/customer/coupon/coupon-has.png');
                background-image: url('@/static/images/customer/coupon/coupon-has.png');
                background-size: 100% 100%;
                width: 264rpx;
                height: 264rpx;
            }
            .img-out {
                display: none;
                position: absolute;
                right: 10rpx;
                top: -20rpx;
                background-image: url('@/static/images/customer/coupon/coupon-out.png');
                background-size: 100% 100%;
                width: 196rpx;
                height: 124rpx;
            }
            .tip {
@@ -40,7 +54,7 @@
            .container {
                z-index: 2;
                background-image: url('../../../static/images/customer/coupon/coupon-bg1.png');
                background-image: url('@/static/images/customer/coupon/coupon-bg1.png');
                // width: 722rpx;
                padding: 16rpx 16rpx 16rpx 0rpx;
                height: 220rpx;
sub_pages/customer/coupon/good-all.vue
@@ -48,7 +48,8 @@
            <view class="good-container p15 flex">
                <view v-for="(item,index) of list" :key="index" class="good-item" @click="toDetail(item)">
                    <image class="cover" :src="item.cover" :lazy-load="true" mode="scaleToFill">
                    <image class="cover" :src="item.cover" :lazy-load="true" mode="scaleToFill"
                        :class="[dto.stock===0?'component-stock-zero':'']">
                    </image>
                    <view class="title">
sub_pages/customer/coupon/good-self.vue
@@ -10,7 +10,7 @@
        <view class="p10">
            <view v-for="(item,index) of list" :key="index" class="good-item" :class="[query.status]">
                <view class="flex container img100">
                <view class="flex container img100" @click="selectItem(item)">
                    <view class="info-price">
                        <image :lazy-load="true" :src="item.cover" class="cover" mode="scaleToFill"></image>
                    </view>
@@ -19,8 +19,8 @@
                            {{item.name||''}}
                            <!-- <radio :checked="isIngood(item)" @click.stop="updateSelectGood(item)" v-if="source==='shopping'" class="select-coupon"></radio> -->
                            
                            <view :style="{ 'margin-right': '20rpx'}" @click.stop="updateSelectGood(item)"
                                  class="component-radio m-l-a" :class="[isIngood(item)?'cur':'']" v-if="source==='shopping'">
                            <view :style="{ 'margin-right': '20rpx'}" class="component-radio m-l-a"
                                :class="[isIngood(item)?'cur':'']" v-if="source==='shopping'">
                            
                            </view>
                            
@@ -28,7 +28,7 @@
                        <view class="time word-e">
                            {{item.description||''}}
                        </view>
                        <view class="button m-l-a m-r-10" @click="getPointGood(item)" v-if="source!=='shopping'">
                        <view class="button m-l-a m-r-10" v-if="source!=='shopping'">
                            查看详情
                        </view>
                <!--         <view class="button" @click="updateSelectGood(item)" v-if="source=='shopping'">
@@ -110,6 +110,15 @@
        },
        methods: {
            selectItem(item) {
                if (this.source === 'shopping') {
                    //选择
                    this.updateSelectGood(item)
                } else {
                    //详情
                    this.getPointGood(item)
                }
            },
            isIngood(item) {
                for (var tmp of this.cache_goods) {
                    if (tmp.id == item.id) {
@@ -186,8 +195,10 @@
            height: unset;
            padding: 20rpx;
            margin-top: 0rpx;
            .container {
                background-color: #fff;
                .info-price {
                    .cover {
                        width: 150rpx;
@@ -198,6 +209,7 @@
                .info {
                    margin-left: 20rpx;
                    position: relative;
                    .title {
                        font-weight: 600;
                        font-size: 36rpx;
@@ -206,6 +218,7 @@
                        text-align: left;
                        position: relative;
                        margin-top: 20rpx;
                        .select-coupon{
                            position: absolute;
                            right: 10rpx;
sub_pages/customer/self/member-center.vue
@@ -3,7 +3,8 @@
        <image src="../../../static/images/customer/coupon/member/member-level-bg.png" mode="aspectFit"
            class="img100 member-level-image"></image>
        <view class="banner">
            <banner3d ref="banner3d" v-if="init" :banner-list="bannerList" :swiper-config="swiperConfig"></banner3d>
            <banner3d @changeIndex="changeIndex" ref="banner3d" v-if="init" :banner-list="bannerList"
                :swiper-config="swiperConfig"></banner3d>
        </view>
        <view class="p20" style="padding-top: 0rpx;">
            <!--     <view class="info bg-white p20">
@@ -15,9 +16,10 @@
                </view>
            </view> -->
            <view class="member-infos info bg-white p20 "
                v-if="currentInfo.customerDTO&&currentInfo.customerDTO.userGrowthRecord
            &&currentInfo.customerDTO.userGrowthRecord.targetMemberInfos&&currentInfo.customerDTO.userGrowthRecord.targetMemberInfos.length>=1">
            <!-- v-if="currentInfo.customerDTO&&currentInfo.customerDTO.userGrowthRecord
            &&currentInfo.customerDTO.userGrowthRecord.targetMemberInfos&&currentInfo.customerDTO.userGrowthRecord.targetMemberInfos.length>=1"
             -->
            <view class="member-infos info bg-white p20 ">
                <view class="text-center w-fit flex m-auto top-title ">
                    <view class="left-line"></view>
                    <view class="title">会员权益</view>
@@ -28,16 +30,52 @@
                        <image class="m-auto icon img100 " mode="scaleToFill"
                            src="../../../static/images/customer/coupon/member/icon-member-info-1.png"></image>
                        <view class="desc">
                            积分达到{{currentInfo.customerDTO.userGrowthRecord.targetMemberInfos[0].targetStartPoint || '-'}}
                            <!-- 积分达到{{currentInfo.customerDTO.userGrowthRecord.currentGrowthValue || '-'}} -->
                            积分达到{{bannerList[curIndex].point.startPoint || '0'}}
                        </view>
                    </view>
                    <view class="m-t-12 flex1">
                        <image class="m-auto icon img100" mode="scaleToFill"
                            src="../../../static/images/customer/coupon/member/icon-member-info-2.png"></image>
                        <!-- createName: "孙凯悦"
createTime: "2024-09-10 14:47:29"
discountAmount: null
discountRatio: 95
discountType: "ratio"
discountTypeStr: "百分比"
downgradeValue: 30
endPoint: 15000
growthValue: 1
id: 34
name: "金卡会员7"
startPoint: 10000
updateTime: "2024-09-12 14:09:19"
 -->
                        <view class="desc">
                            优惠
                            {{currentInfo.customerDTO.userGrowthRecord.targetMemberInfos[0].targetDiscountAmount || '-'}}元/扎
                            <span v-if="bannerList[curIndex].point.discountType=='ratio'">
                                <!-- currentInfo.customerDTO.userGrowthRecord.currentDiscountType=='ratio' -->
                                <!-- {{(currentInfo.customerDTO.userGrowthRecord.currentDiscountRatio) || '-'}}%/扎 -->
                                {{ ((bannerList[curIndex].point.discountRatio)/10).toFixed(1) || '-'}}折/扎
                            </span>
                            <span v-else>
                                {{bannerList[curIndex].point.discountAmount || '0'}}元/扎
                                <!-- {{currentInfo.customerDTO.userGrowthRecord.currentDiscountAmount || '-'}}元/扎 -->
                            </span>
                            <!--     serGrowthRecord: {currentMemberLevel: "银卡会员", currentGrowthValue: 4941, currentDiscountType:
                            "ratio",…}
                            currentDiscountAmount: 0
                            currentDiscountRatio: 5
                            currentDiscountType: "ratio"
                            currentDiscountTypeStr: "百分比"
                            currentGrowthValue: 4941
                            currentMemberLevel: "银卡会员" -->
                            <!-- {{currentInfo.customerDTO.userGrowthRecord.targetMemberInfos[0].targetDiscountAmount || '-'}}元/扎 -->
                        </view>
                    </view>
@@ -57,7 +95,7 @@
                </view>
            </view>
            <view class="protocol" @click="goto('/pages/help/content?id=会员协议',false)">会员协议 <uni-icons type="right"
                    size="16" color="#AD790F"></uni-icons>
                    size="14" color="#AD790F"></uni-icons>
            </view>
        </view>
    </view>
@@ -73,10 +111,39 @@
            uni.stopPullDownRefresh()
        },
        methods: {
            changeIndex(index) {
                console.log('changeIndex', index, this.bannerList)
                this.curIndex = index || 0
                this.$forceUpdate()
            }
        },
        async onLoad() {
            await this.$store.dispatch('getCurrentInfo')
            const {
                code,
                data
            } = await this.$http.request('get', '/api/member/list')
            if (code == 0 && data && data.records) {
                console.log('member-data', data)
                //循环赋值吧。用name包含来兼容
                for (var tmp of this.bannerList) {
                    for (var info of data.records) {
                        if (info.name && info.name.indexOf(tmp.title) >= 0) {
                            // 设置value
                            tmp.point = {
                                ...info,
                                current: this.currentInfo.customerDTO.userGrowthRecord
                                    .currentGrowthValue || 0
                            }
                            break
                        }
                    }
                }
            }
            consumptionAmount: 1
            this.$nextTick(() => {
                if (this.currentInfo.customerDTO && this.currentInfo.customerDTO.userGrowthRecord && this
                    .currentInfo
@@ -97,55 +164,74 @@
                    //         targetStartPoint: 10001
                    //计算下一个等级的差距
                    let name = this.currentInfo.customerDTO.userGrowthRecord.currentMemberLevel
                    var currentindex = -1
                    var j = -1
                    for (var tmp of this.bannerList) {
                        tmp.point = {
                            current: this.currentInfo.customerDTO.userGrowthRecord.currentGrowthValue || 0
                        }
                        j += 1
                        // tmp.point = {
                        //     current: this.currentInfo.customerDTO.userGrowthRecord.currentGrowthValue || 0
                        // }
                        tmp.currentMsg = ''
                        if (tmp.title === name) {
                            //说明是当前等级,其他待定
                            tmp.currentMsg = '当前等级'
                        }
                    }
                    if (this.currentInfo.customerDTO.userGrowthRecord.targetMemberInfos) {
                        var t = -1
                        for (var tmp of this.bannerList) {
                            t += 1
                            for (var k of this.currentInfo.customerDTO.userGrowthRecord.targetMemberInfos) {
                                if (tmp.title === k.targetMemberLevel) {
                                    console.log('eq', k, tmp)
                                    tmp.point = {
                                        current: this.currentInfo.customerDTO.userGrowthRecord
                                            .currentGrowthValue || 0,
                                        end: k.targetStartPoint || 0,
                                    }
                                }
                            }
                        }
                            currentindex = j
                    }
                    this.init = true
                    this.$nextTick(() => {
                        // var name = this.currentInfo.customerDTO.userGrowthRecord.currentMemberLevel
                        var index = -1
                        for (var tmp of this.bannerList) {
                            index += 1
                            if (tmp.title === name) {
                                this.$refs.banner3d.swiperChange({
                                    mp: {
                                        detail: {
                                            current: index
                                        }
                                    }
                                })
                    //重新排序,当前等级第一个
                    var newBannerSort = []
                    for (var i = currentindex; i < 2 * j; i++) {
                        newBannerSort.push(this.bannerList[i % (j + 1)])
                        if (newBannerSort.length >= this.bannerList.length) {
                                break
                            }
                        }
                    })
                    this.bannerList = newBannerSort
                    // if (this.currentInfo.customerDTO.userGrowthRecord.targetMemberInfos) {
                    //     var t = -1
                    //     for (var tmp of this.bannerList) {
                    //         t += 1
                    //         for (var k of this.currentInfo.customerDTO.userGrowthRecord.targetMemberInfos) {
                    //             if (tmp.title === k.targetMemberLevel) {
                    //                 console.log('eq', k, tmp)
                    //                 tmp.point = {
                    //                     current: this.currentInfo.customerDTO.userGrowthRecord
                    //                         .currentGrowthValue || 0,
                    //                     end: k.targetStartPoint || 0,
                    //                 }
                    //             }
                    //         }
                    //     }
                    // }
                    this.init = true
                    // this.$nextTick(() => {
                    //     // var name = this.currentInfo.customerDTO.userGrowthRecord.currentMemberLevel
                    //     var index = -1
                    //     for (var tmp of this.bannerList) {
                    //         index += 1
                    //         if (tmp.title === name) {
                    //             // this.$refs.banner3d.swiperChange({
                    //             //     mp: {
                    //             //         detail: {
                    //             //             current: index
                    //             //         }
                    //             //     }
                    //             // })
                    //             this.$refs.banner3d.swiperChangeIndex(index)
                    //             break
                    //         }
                    //     }
                    // })
                }
            })
        },
        data() {
            return {
@@ -156,26 +242,36 @@
                    title: '普通会员',
                    // description: '一万年太久,就现在,给你爱',
                    path: '',
                    point: undefined,
                    point: {},
                    key: '1',
                }, {
                    bg: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/25/2534864ad275400b9e8db4042b87bfeaBv7NbzOZG0ptc7fca5df83dcd97fd02b4027518cc593.png',
                    picture: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/07/075db9222f7a41e981c5b263d7210ed5Ztljs5yDHKILd37c3399011f84f401b755477bb8a323.png',
                    title: '银卡会员',
                    // description: '花中樱,鱼乃鲷花中樱,鱼乃鲷',
                    path: '',
                    key: '2',
                    point: {},
                    // currentMsg:''
                }, {
                    bg: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/4d/4d8ab63e75ca462fa9e3bb480ff2da68ID5KnLIH9DwM23f9a04d99cc1f3306a8655c1eff34bf.png',
                    picture: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/f1/f192b651606045ddba5c5f04a34a00c2R8MmH6mVsprH81cab47fbe889222f6088f4ca2cf20d5.png',
                    title: '金卡会员',
                    // description: '取材自湘西苗族传统的烟熏文化',
                    path: ''
                    path: '',
                    key: '3',
                    point: {},
                }, {
                    bg: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/db/db6b0cefdbb949cca9c8da824a5ebdebXsPsk2ROfxZu22f9b09e3feece76753b0df971fdc301.png',
                    picture: 'https://hmy-flower.oss-cn-shanghai.aliyuncs.com/c9/c94d8f444af94b899d1e1593cebb933eDyZyhyoyDxTRaf60a4d692f097e5d790cdb88fae9d0c.png',
                    title: '钻石会员',
                    // description: '在自己的小世界里,日日好日,夜夜好清宵',
                    path: ''
                    path: '',
                    key: '4',
                    point: {},
                }],
                swiperConfig: {
                    indicatorDots: true,
@@ -187,7 +283,8 @@
                    circular: true,
                    previousMargin: '58rpx',
                    nextMargin: '58rpx'
                }
                },
                curIndex: 0,
            }
        },
        components: {
@@ -271,7 +368,7 @@
        .protocol {
            font-weight: 400;
            font-size: 24rpx;
            font-size: 28rpx;
            color: #AD790F;
            line-height: 34rpx;
            text-align: center;
sub_pages/customer/shopping/confirm.vue
@@ -232,7 +232,7 @@
                var goodsRecordIds = []
                if (this.dto.goodsRecordIdListStr) {
                    for (var t of this.cache_goods) {
                        t.push(t.id)
                        goodsRecordIds.push(t.id)
                    }
                }
@@ -451,17 +451,20 @@
                    </view>
                </view>
                <view class="form-item  flex  flex-wrap-normal">
                    <view class="label">兑换券</view>
                    <view class="label" style="min-width: 130rpx;">兑换券</view>
                    <view class="m-l-a m-r-0 flex" style="word-break: break-all;"
                        :class="[!dto.goodsRecordIdList||dto.goodsRecordIdList.length==0?'desc-gray':'']"
                        @click="toSelectGood">
                        {{dto.goodsRecordIdListStr|| '请选择'}}
                        <view> {{dto.goodsRecordIdListStr|| '请选择'}}
                        </view>
                        <!-- <view>{{dto.goodsRecordIdListStr|| '请选择'}}</view> -->
                        <view style="min-width: 60rpx;">
                        <u-icon class="m-l-a" name="arrow-right"></u-icon>
                    </view>
                </view>
            </view>
            </view>
        </view>
        <view class="m-t-20 br-4 info-container p10 bg-white">