From 1a8ac8e42a0ee286f1f67de3fbf8fa5f422d7dd4 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期三, 11 九月 2024 18:02:25 +0800 Subject: [PATCH] update登录过期的 --- sub_pages/customer/coupon/good-self.vue | 140 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 121 insertions(+), 19 deletions(-) diff --git a/sub_pages/customer/coupon/good-self.vue b/sub_pages/customer/coupon/good-self.vue index 2c981b9..1318fb2 100644 --- a/sub_pages/customer/coupon/good-self.vue +++ b/sub_pages/customer/coupon/good-self.vue @@ -1,14 +1,15 @@ <template> <view class="coupon-container"> - <view class="p10"> + <view class="p10" v-if="source!=='shopping'"> <top-tabs :tabs="tabs" :flg="flg" @change="changeTab" type="coupon"> </top-tabs> </view> - <view class=""> - <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data> + <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data> + + <view class="p10"> - <view v-for="(item,index) of list" :key="index" class="coupont-item" :class="[query.status]"> + <view v-for="(item,index) of list" :key="index" class="good-item" :class="[query.status]"> <view class="flex container img100"> <view class="info-price"> <image :lazy-load="true" :src="item.cover" class="cover" mode="scaleToFill"></image> @@ -16,27 +17,45 @@ <view class="info flex1"> <view class="title"> {{item.name||''}} + <radio :checked="isIngood(item)" @click.stop="updateSelectGood(item)" v-if="source==='shopping'" class="select-coupon"></radio> + </view> <view class="time word-e"> {{item.description||''}} </view> - <view class="button" @click="getPointGood(item)"> + <view class="button m-l-a m-r-10" @click="getPointGood(item)" v-if="source!=='shopping'"> 查看详情 </view> + <!-- <view class="button" @click="updateSelectGood(item)" v-if="source=='shopping'"> + {{isIngood(item)?'移除':'添加'}} + </view> --> </view> </view> - <view class="tip"> + <!-- <view class="tip"> <span class="t-red">*</span>此券每人限领1张。仅限用于花满芜鲜花交易平台鲜切花花款满额使用,不可与其他优惠同享、不可叠加使用 - </view> + </view> --> </view> </view> - <view style="min-height: 130rpx;"></view> - <view class="bottom-button" @click="toGoodAll">前往兑换</view> + <view style="min-height: 140rpx;" v-if="source=='shopping'"></view> + <view class="bottom-button" @click="backpage()" v-if="source=='shopping'">返回订单结算</view> + + <!-- <view class="bottom-button" @click="toGoodAll">前往兑换</view> --> </view> </template> <script> + import { + mapState + } from 'vuex' export default { + computed: { + ...mapState({ + cache_goods: state => { + return state.cache.goods || [] + }, + }), + }, + data() { return { flg: 0, @@ -62,16 +81,68 @@ query: { status: 'A' }, - list: [] + list: [], + source: '' + } }, - async onLoad() { - this.listApi = '/api/customer/point/goods/exchange/list' + onReachBottom() { + this.getMore() + }, + async onLoad(options) { + if (options.source) { + this.source = options.source || '' + } + if (this.source === 'shopping') { + //只展示可用的 + this.page.size = 100 + this.listApi = '/api/customer/point/goods/exchange/list' + } else { + this.listApi = '/api/customer/point/goods/exchange/list' + } this.getList() }, methods: { + isIngood(item) { + for (var tmp of this.cache_goods) { + if (tmp.id == item.id) { + return true + } + } + + return false + }, + async updateSelectGood(item) { + var has = false + for (var tmp of this.cache_goods) { + if (tmp.id == item.id) { + has = true + break + } + } + var arr = [] + + if (has) { + //移除 + var arr = [] + for (var tmp of this.cache_goods) { + if (tmp.id == item.id) {} else { + arr.push(tmp) + } + } + } else { + //添加 + for (var tmp of this.cache_goods) { + arr.push(tmp) + } + arr.push(item) + } + await this.$store.dispatch('cache_goods_select', arr) + this.$forceUpdate() + + }, changeTab(flg) { this.flg = '' + flg this.query.status = this.tabs[flg].status @@ -79,7 +150,7 @@ }, getPointGood(item) { uni.navigateTo({ - url: `/sub_pages/customer/coupon/good-detail?id=${item.id}` + url: `/sub_pages/customer/coupon/good-detail?id=${item.goodsId}` }) }, toGoodAll() { @@ -106,10 +177,12 @@ @import './coupon.scss'; .coupon-container { - .coupont-item { + .good-item { + height: unset; + padding: 20rpx; + margin-top: 0rpx; .container { - background-image: unset; - + background-color: #fff; .info-price { .cover { width: 150rpx; @@ -118,9 +191,34 @@ } .info { - .time { - margin-top: 0rpx; + margin-left: 20rpx; + position: relative; + .title { + font-weight: 600; + font-size: 36rpx; + color: #333333; + line-height: 50rpx; + text-align: left; + position: relative; + margin-top: 20rpx; + .select-coupon{ + position: absolute; + right: 10rpx; + top: -6rpx; + } } + + .time { + font-weight: 400; + font-size: 28rpx; + color: #666666; + line-height: 40rpx; + text-align: left; + margin-top: 10rpx; + word-break: break-all; + } + + .button { width: 150rpx; @@ -133,7 +231,10 @@ color: rgba(68, 119, 90, 1); line-height: 46rpx; text-align: center; - margin-top: 10rpx; + // margin-top: 10rpx; + position: absolute; + right: 10rpx; + bottom: 20rpx; } } } @@ -155,6 +256,7 @@ color: #20613D; text-align: center; line-height: 90rpx; + background-color: #fff; } } </style> \ No newline at end of file -- Gitblit v1.9.3