Browse Source

Merge branch 'master' of ssh://8.134.10.79:222/Leadfyy.co/ec.uniapp-master

master
Shuixiang 4 years ago
parent
commit
d8acd98bcb
  1. 14
      common/styles/iconfont.css
  2. 4
      components/index-banner/index-banner.vue
  3. 9
      components/lf-payPassword/lf-payPassword.vue
  4. 1
      pages/address/add/add.vue
  5. 44
      pages/article/details.vue
  6. 6
      pages/coupon/index/index.vue
  7. 6
      pages/index/category/category.vue
  8. 32
      pages/index/index/index.vue
  9. 127
      pages/index/list/monthlyList.vue
  10. 7
      pages/order/cashier/cashier.vue
  11. 39
      pages/order/confirm/confirm.vue
  12. 10
      pages/order/newdetail/newdetail.vue
  13. 30
      pages/shop/goodsdetail.vue
  14. 23
      pages/shop/shopdetail.vue
  15. 18
      pages/store/cart/cart.vue
  16. 2
      pages/user/member/service.vue
  17. 2
      pages/user/my/myEventRegistrationList.vue

14
common/styles/iconfont.css

@ -1,8 +1,8 @@
@font-face {
font-family: "lf-iconfont"; /* Project id 2779107 */
src: url('//at.alicdn.com/t/font_2779107_6h2ufg0uxnx.woff2?t=1632991726658') format('woff2'),
url('//at.alicdn.com/t/font_2779107_6h2ufg0uxnx.woff?t=1632991726658') format('woff'),
url('//at.alicdn.com/t/font_2779107_6h2ufg0uxnx.ttf?t=1632991726658') format('truetype');
src: url('//at.alicdn.com/t/font_2779107_d2jv9auseui.woff2?t=1633937660899') format('woff2'),
url('//at.alicdn.com/t/font_2779107_d2jv9auseui.woff?t=1633937660899') format('woff'),
url('//at.alicdn.com/t/font_2779107_d2jv9auseui.ttf?t=1633937660899') format('truetype');
}
.lf-iconfont {
@ -13,6 +13,14 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-xiangshang_shouqi:before {
content: "\e797";
}
.icon-xiangxia_shousuo:before {
content: "\e798";
}
.icon-kefufenxiermaikefu:before {
content: "\e889";
}

4
components/index-banner/index-banner.vue

@ -14,7 +14,7 @@
:style="
'height: ' +
imgHeight +
'px; padding-left: ' +
'rpx; padding-left: ' +
meta.padding_left +
'px; padding-right: ' +
meta.padding_right +
@ -41,7 +41,7 @@ export default {
// data
data() {
return {
imgHeight: '450'
imgHeight: 900
};
},
options: {

9
components/lf-payPassword/lf-payPassword.vue

@ -50,7 +50,8 @@
data(){
return {
code: '', //
time: new Date('2021/09/8 14:15:00').getTime() - new Date('2021/09/8 14:10:00').getTime()
time: new Date('2021/09/8 14:15:00').getTime() - new Date('2021/09/8 14:10:00').getTime(),
is_auto: false
}
},
created(){
@ -64,12 +65,18 @@
this.code = event;
if(this.code.length >= 6){
this.comfirm();
this.is_auto = true;
}else{
this.is_auto = false;
}
},
comfirm(){
if(this.code.length < 6){
return this.$msg('请输入完整支付密码');
}
if(this.is_auto){
return;
}
this.$emit('comfirm', this.code);
}
}

1
pages/address/add/add.vue

@ -44,6 +44,7 @@
</view>
</picker>
</view>
<text class="lf-iconfont icon-xiangyou lf-font-24"></text>
</view>
<!-- #endif -->

44
pages/article/details.vue

@ -1,22 +1,22 @@
<template>
<view>
<view v-if="$isRight(title_content)">
<lf-nav :spreadOut="true" :showIcon="true" bgColor="#F8F8F8" title="文章详情"></lf-nav>
<view style="height: 30rpx;"></view>
<view class="lf-m-l-32 lf-m-r-32">
<view>
<view class="lf-font-36 lf-color-222 lf-m-b-20 lf-font-bold">
苦等一年阳澄湖大闸蟹又肥了让你安心吃螃蟹的文章也来了
{{title_content.article.title}}
</view>
<view class="lf-flex lf-m-b-24">
<view class="lf-font-28" style="color: #2D6361;">
金诚优选线上商城
{{title_content.article.author}}
</view>
<view class="lf-color-777 lf-font-28 lf-m-l-25">
2021.09.01 16:28:22
{{title_content.article.created_at}}
</view>
</view>
</view>
<rich-text :nodes="content" v-if="content"></rich-text>
<rich-text :nodes="formatRichText(content)" v-if="content"></rich-text>
<!-- <lf-nocontent v-else></lf-nocontent> -->
<!-- 回到顶部 -->
<u-back-top :scroll-top="pageScrollTop" :custom-style="{background: 'rgba(51, 51 51, 0.3)'}"></u-back-top>
@ -36,15 +36,39 @@
onLoad(e){
this.notice_id = e.notice_id;
if(this.notice_id) {
// this.getData();
this.getData();
}
},
methods: {
//
formatRichText(richText){
if(richText != null){
let newRichText= richText.replace(/<img[^>]*>/gi, function(match, capture){
match = match.replace(/style="[^"]+"/gi, '').replace(/style='[^']+'/gi, '');
match = match.replace(/width="[^"]+"/gi, '').replace(/width='[^']+'/gi, '');
match = match.replace(/height="[^"]+"/gi, '').replace(/height='[^']+'/gi, '');
return match;
});
newRichText = newRichText.replace(/style="[^"]+"/gi,function(match, capture){
match = match.replace(/width:[^;]+;/gi, 'width:100%;').replace(/width:[^;]+;/gi, 'width:100%;');
return match;
});
newRichText = newRichText.replace(/<br[^>]*\/>/gi, '');
newRichText = newRichText.replace(/\<img/gi, '<img style="width:100%;height:auto;display:block;margin:10px 0;"');
return newRichText;
}else{
return null;
}
},
getData(){
this.$http(this.API.API_NOTICEDETAILS,{id:this.notice_id}).then(res => {
this.content = res.data?.content;
this.title_content = res.data
})
this.$http.get({
api: '/api/article/detail/'+this.notice_id
}).then(res => {
this.content = res.data.data?.article.article_detail;
this.title_content = res.data.data
console.log(res.data)
});
}
}
}

6
pages/coupon/index/index.vue

@ -250,10 +250,12 @@
align-items: flex-start;
display: flex;
flex-direction: column;
margin-left: 84rpx;
margin-left: 54rpx;
width: 380rpx;
}
.coupon-left {
margin-left: 20rpx;
// margin-left: 20rpx;
width: 182rpx;
display: flex;
flex-direction: column;
justify-content: center;

6
pages/index/category/category.vue

@ -70,7 +70,8 @@
</view>
</view>
</view>
<lf-nocontent src="/static/images/empty.png" v-if="brand_list.length <= 0"></lf-nocontent>
<view style="height: 40rpx;" v-if="brand_list.length > 0"></view>
<lf-nocontent src="/static/images/empty.png" v-else></lf-nocontent>
</scroll-view>
<!-- 锚点定位 -->
<view class="fixed-point" v-if="point_list.length">
@ -637,6 +638,9 @@
margin-top: 30rpx;
}
}
.brand-item:last-child{
margin-bottom: 0rpx;
}
.img{
width: 150rpx;
height: 150rpx;

32
pages/index/index/index.vue

@ -74,7 +74,7 @@
</view>
<!-- 悬浮购物车入口 -->
<view class="fixed-right">
<view class="fixed-cart fixed-live" hover-class="lf-opacity" @click="goLive()">
<view class="fixed-cart fixed-live" hover-class="lf-opacity" @click="goLive()" v-if="live_roomid">
<text class="lf-iconfont icon-zhibo icon-text"></text>
<text class="tips">直播间</text>
</view>
@ -152,7 +152,8 @@
show_ad: false, // ad广
ad_modal_list: [], // ad广
nav_bg_color: 'rgba(255,255,255,0)' ,//
car_num: 0
car_num: 0,
live_roomid: 0
};
},
//
@ -189,14 +190,14 @@
}
},
onShow(e) {
this.getLiveRoom();
this.isLogin=!!this.$cookieStorage.get('user_token')
let toekn = this.$cookieStorage.get('user_token');
if (toekn) {
this.getUserInfo();
this.getcarNum()
this.getcarNum();
}
@ -266,15 +267,28 @@
onPullDownRefresh(){
wx.showLoading();
this.queryMicroData();
this.getLiveRoom();
},
//
methods: {
goLive() {
this.$msg('敬请期待!');
return
// wx.navigateTo({
// url: `plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=1`
// })
// this.$msg('!');
// return
wx.navigateTo({
url: `plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=`+this.live_roomid
})
},
//
getLiveRoom(){
this.$http.get({
api: '/api/live'
}).then(res => {
console.log('=======',res.data.data)
if(res.data.data != null) {
this.live_roomid = res.data.data.number;
}
uni.stopPullDownRefresh();
});
},
getAlertAd(){
this.$http.get({

127
pages/index/list/monthlyList.vue

@ -2,31 +2,39 @@
<view>
<lf-nav :showIcon="true" bgColor="transparent" :spreadOut="false"></lf-nav>
<view class="head">
<image class="img" mode="widthFix" src="https://picsum.photos/200/300?grayscale"></image>
<view class="title">热销榜单</view>
<image class="img" mode="aspectFill" :src="activity_content.topic.image"></image>
<view class="title">{{activity_content.topic.name}}</view>
</view>
<view class="content">
<view class="card" v-for="(item, index) in 7" :key="index" @click="$url('/pages/shop/goodsdetail?id='+ item.id)">
<view class="goods-img">
<image class="img" src="https://picsum.photos/200/300"></image>
<view class="ranking">
<view class="top">{{ item+1 }}</view>
<view class="down"></view>
</view>
</view>
<view class="goods-info">
<view>
<view class="lf-line-2 title">SK-II秋日宠粉体验套装</view>
<view class="desc">月销量324</view>
</view>
<view class="lf-row-between">
<view class="price">
<text>¥888</text>
<scroll-view :style="{height: autoHeight}" :scroll-y="true" :refresher-enabled="true"
:refresher-triggered="isRefresher" @scrolltolower="onScrolltolower" @refresherrefresh="onRefresherrefresh">
<view class="content">
<view class="card" v-for="(item, index) in list" :key="index" @click="$url('/pages/shop/goodsdetail?id='+ item.goods.id)">
<view class="goods-img">
<image class="img" :src="item.goods.img"></image>
<!-- <view class="ranking">
<view class="top">{{ item+1 }}</view>
<view class="down"></view>
</view> -->
</view>
<view class="goods-info">
<view>
<view class="lf-line-2 title">{{item.goods.name}}</view>
<view class="desc">月销量{{item.goods.sale_count}}</view>
</view>
<view class="lf-row-between">
<view class="price">
<text>¥{{item.goods.sell_price}}</text>
</view>
</view>
</view>
</view>
<!-- 空数据的情况 -->
<view class="loading-more">
<text v-if="list.length != 0" :class="{'loading-more-text': loadingClass}">{{ loadingText }}</text>
<lf-nocontent src="/static/images/empty.png" v-else></lf-nocontent>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</template>
@ -34,14 +42,83 @@
export default {
data(){
return {
page: 1,
topic_id: 1,
activity_content: '',
list: [],
isPage: true,
loadingClass: true,
loadingText: '正在加载中',
scrollH: 0,
nav_height: 0,
isRefresher: true,
}
},
onLoad(){
let info = uni.getSystemInfoSync();
this.scrollH = info.screenHeight;
this.getActivityList();
},
computed: {
autoHeight() {
return `calc(${this.scrollH}px - ${this.nav_height}px - 430rpx)`;
}
},
methods: {
//
onScrolltolower() {
if (this.isPage) {
this.page = this.page + 1;
this.getActivityList();
}
},
//
refreshFn(options) {
this.page = 1;
this.isPage = true;
this.loadingClass = true;
this.list = []
this.loadingText = '正在加载中';
this.getActivityList(options);
},
// scroll-view
onRefresherrefresh() {
this.isRefresher = true;
this.refreshFn({
type: 'scrollRefresh'
});
},
getActivityList(options = {}){
this.$http.get({
api: 'api/topic/list',
data: {
topic_id: this.topic_id,
page: this.page
},
header: {
Authorization: this.$cookieStorage.get('user_token')
}
}).then(res => {
this.activity_content = res.data.data
console.log('====',res.data.data)
let isPage = this.page < res.data.data.goods.total ? true : false;
this.isPage = isPage;
if (!isPage) {
this.loadingClass = false;
this.loadingText = '没有更多数据啦~';
}
if (options.type == 'pageRefresh') {
uni.stopPullDownRefresh();
} else if (options.type == 'scrollRefresh') {
this.isRefresher = false;
}
if (this.page == 1) {
this.list = res.data.data.goods.data;
} else {
this.list.push(...res.data.data.goods.data);
}
})
},
}
}
</script>
@ -69,7 +146,7 @@
display: flex;
justify-content: center;
align-items: center;
font-size: 100rpx;
font-size: 60rpx;
color: #FFFFFF;
font-weight: bold;
font-family: '楷体';

7
pages/order/cashier/cashier.vue

@ -129,7 +129,7 @@
this.confirm();
},
//
confirm() {
confirm(event) {
if (this.clickContinue == true) {
this.clickContinue = false;
if (this.is_date_finish) return this.$msg('订单超时未支付');
@ -143,6 +143,9 @@
this.show_pw = true;
return;
}
uni.showLoading({
title: '正在支付,请稍后'
})
this.getOpenid().then(res => {
var data = {
@ -164,6 +167,7 @@
Authorization: this.token
}
}).then(res => {
uni.hideLoading()
res = res.data;
if (res.status) {
// this.formId = e.detail.formId || '';
@ -184,6 +188,7 @@
this.setData({
loading: false
});
uni.hideLoading()
wx.showModal({
content: '支付失败',
showCancel: false

39
pages/order/confirm/confirm.vue

@ -83,10 +83,10 @@
<view class="lf-font-28 lf-color-777">运费</view>
<view class="lf-font-26" style="color: #F63434;">+¥{{ order_detail.order.payable_freight_yuan || 0 }}</view>
</view>
<view class="lf-row-between lf-m-t-20">
<!-- <view class="lf-row-between lf-m-t-20">
<view class="lf-font-28 lf-color-777">优惠</view>
<view class="lf-font-26" style="color: #F63434;">-¥{{ fullMinus(order_detail.discounts) }}</view>
</view>
</view> -->
</view>
<view class="spread-out"></view>
<view class="fixed-bottom">
@ -107,11 +107,11 @@
<!-- 选择优惠券弹出层 -->
<u-popup v-model="show_coupon" mode="bottom" :round="true" borderRadius="20">
<view class="popup-content">
<view class="lf-row-between" v-for="(item, index) in order_detail.coupons" :key="index">
<label class="lf-row-between" v-for="(item, index) in order_detail.coupons" :key="index">
<radio-group @change="couponChange">
<radio :value="index" :checked="coupon_index == index"></radio>
</radio-group>
<view class="coupon-card lf-m-b-30" :class="{'invalid-bg': item.ifpast == true}">
<view class="coupon-card lf-m-b-30" >
<view class="coupon-circle-top">
<view class="coupon-circle1"></view>
</view>
@ -129,15 +129,6 @@
<text class="lf-font-70 lf-font-bold">{{item.discount.action_type.value}}</text>
<text>%</text>
</view>
<view class="coupon-tag" v-if="item.used_at != ''">
已使用
</view>
<view class="coupon-tag" v-if="item.ifpast">
已过期
</view>
<view class="coupon-tag" v-if="!item.ifpast && item.used_at == ''">
待使用
</view>
</view>
<view class="coupon-right">
<view class="lf-font-32 lf-font-bold lf-color-white">{{item.discount.title}}</view>
@ -145,14 +136,15 @@
</view>
</view>
</view>
</view>
</label>
<!-- 不使用优惠券 -->
<view class="lf-flex">
<label class="lf-flex">
<radio-group @change="couponChange">
<radio value="null" :checked="coupon_index == null"></radio>
</radio-group>
<view>不使用优惠券</view>
</view>
</label>
<view style="height: 40rpx;"></view>
</view>
</u-popup>
</block>
@ -338,8 +330,6 @@
address_id: this.address.id,
note: this.value,
}
// TODO id
if(this.coupon_index != null){
par.coupon_id = this.order_detail.coupons[this.coupon_index].id;
}
@ -472,8 +462,8 @@
height: max-content;
background-color: #FFFFFF;
border-top: 1rpx solid #e5e5e5;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
// padding-bottom: constant(safe-area-inset-bottom);
// padding-bottom: env(safe-area-inset-bottom);
.fixed-content{
width: 100%;
height: 118rpx;
@ -500,9 +490,10 @@
width: 750rpx;
height: max-content;
max-height: 70vh;
overflow-y: scroll;
// overflow-y: scroll;
padding: 40rpx 32rpx;
background: #FFFFFF;
padding-bottom: 0rpx;
}
.coupon-circle1 {
width: 40rpx;
@ -544,10 +535,12 @@
align-items: flex-start;
display: flex;
flex-direction: column;
margin-left: 90rpx;
margin-left: 54rpx;
width: 380rpx;
}
.coupon-left {
margin-left: 30rpx;
// margin-left: 30rpx;
width: 182rpx;
display: flex;
flex-direction: column;
justify-content: center;

10
pages/order/newdetail/newdetail.vue

@ -291,9 +291,13 @@
Authorization: this.$cookieStorage.get('user_token')
}
}).then(res => {
this.$msg(res.data.message).then(() => {
this.getOrderDetails();
})
if(res.data.status){
this.$msg('确认收货成功', {icon: 'success'}).then(() => {
this.getOrderDetails();
})
}else{
this.$msg(res.data.message || '确认收货失败');
}
})
},
searchLogistics() {

30
pages/shop/goodsdetail.vue

@ -1,5 +1,5 @@
<template>
<view>
<view style="overflow-x: hidden;">
<lf-nav title="商品详情" titleColor="#fff" :spreadOut="false" :showIcon="true" bgColor="transparent"></lf-nav>
<skeleton :loading="skeletonLoading" :row="12" :showAvatar="false" :showTitle="true">
<block>
@ -63,15 +63,15 @@
<view class="cu-bar padding-lr">
<view class="lf-flex">
<text class="lf-color-777 lf-font-28">优惠</text>
<view style="width: 580rpx;">
<view class="lf-color-222 lf-font-26 lf-m-l-30"
v-for="(item, index) in coupons" :key="index">{{ item.title }}
</view>
<view style="width: 580rpx; padding-left: 20rpx;">
<text class="lf-color-222 lf-font-26"
v-for="(item, index) in coupons" :key="index">{{ item.title }};
</text>
</view>
</view>
<view>
<!-- <view>
<text class="lf-font-24 lf-color-777 lf-iconfont icon-xiangyou"></text>
</view>
</view> -->
</view>
</view>
</block>
@ -169,7 +169,7 @@
<!-- 商品详情 -->
<view class="goods-detail">
<view class="lf-font-32 lf-font-bold lf-m-b-20">商品详情</view>
<rich-text :nodes="formatRichText(goods_detail.content)"></rich-text>
<rich-text :nodes="goods_content"></rich-text>
<!-- <image class="goods-img" :src="item" v-for="(item, index) in goods_detail.content" :key="index" v-if="goods_detail.content_type == 'img'"></image> -->
</view>
<!-- 修饰专用 -->
@ -293,7 +293,8 @@
coupons: [], //
goods_num: 1,
is_date_finish: false,
car_num: 0
car_num: 0,
goods_content: ''
}
},
computed: {
@ -358,16 +359,9 @@
}else {
this.car_num = res.data.data;
}
} else {
wx.showModal({
content: '请下拉页面刷新重试',
showCancel: false
});
}
})
.catch(() => {
wx.stopPullDownRefresh();
wx.hideLoading();
wx.showModal({
content: '请求失败',
showCancel: false
@ -542,6 +536,7 @@
}).then(res => {
if(res.data.code == 200){
this.$msg('加入购物车成功', {icon: 'success'})
this.getcarNum()
}else{
this.$msg('加入购物车失败', {icon: 'error'})
}
@ -635,6 +630,7 @@
this.goods_detail = goods_detail;
this.pictures = [res.data.data.img];
this.is_collect = Boolean(res.data.data.is_collect) || false;
this.goods_content = this.formatRichText(goods_detail.content);
let type = 'mail';
if(this.$isRight(goods_detail.is_largess)){
type = 'point';
@ -1005,6 +1001,7 @@
padding: 0;
width: 88rpx;
position: relative;
color: #555555;
&:first-child{
padding-left: 0;
}
@ -1013,6 +1010,7 @@
width: 50rpx;
font-size: 40rpx;
line-height: 1;
color: #555555;
}
}
.btn1{

23
pages/shop/shopdetail.vue

@ -79,8 +79,12 @@
<u-icon name="search" class="search-icon"></u-icon>
<input class="rom-search" v-model="search_val" @confirm="search" type="text" placeholder="请输入商品名称" />
</view>
<view class="special_tab">
<view class="special_tab" style="position: relative;">
<u-tabs :list="tab_list" active-color="#15716E" inactive-color='#777777' :is-scroll="true" :current="current" @change="tabChange"></u-tabs>
<view style="position: absolute;right: 30rpx;top: 20rpx;display: flex;flex-direction: column;z-index: 9999;" @click="changeSort()">
<u-icon name="arrow-up" style="font-size: 20rpx;" :class="sort=='desc'?'':'lf-special-green'"></u-icon>
<u-icon name="arrow-down" style="font-size: 20rpx;" :class="sort=='desc'?'lf-special-green':''"></u-icon>
</view>
</view>
<swiper :style="{height: '800rpx', width: '750rpx'}" :current="current" @change="swiperChange">
<swiper-item v-for="(tabItem, tabIndex) in tab_list" :key="tabIndex">
@ -119,7 +123,8 @@
brand_id: 0,
detail: {},
search_val: '',
is_collect: false
is_collect: false,
sort: 'desc'
}
},
onLoad(options){
@ -127,6 +132,14 @@
this.getShopDetail();
},
methods: {
changeSort(sort) {
if(this.sort == 'desc') {
this.sort = 'asc';
}else {
this.sort = 'desc';
}
this.getData();
},
//
switchCollect(){
let userInfo = this.$cookieStorage.get('user_token') || {};
@ -212,7 +225,8 @@
},
getData() {
let par = {
brand_id: this.brand_id
brand_id: this.brand_id,
sort: this.sort
}
let orderBy = ['','sale_count','updated_at','sell_price'][this.current];
if(orderBy){
@ -308,6 +322,9 @@
</style>
<style lang="scss" scoped>
.lf-special-green {
color: #15716E!important;
}
.search-icon {
position: relative;
bottom: 0;

18
pages/store/cart/cart.vue

@ -103,7 +103,8 @@
backgroundColor: '#15716E'
}
}],
show: false
show: false,
show_count: 0
}
},
watch: {
@ -130,6 +131,15 @@
this.token = this.$cookieStorage.get('user_token');
this.getCartList();
},
onShow(){
this.show_count++;
if(this.show_count > 1){
this.allChecked = false;
this.total_price = '';
this.total_count = '';
this.getCartList();
}
},
methods: {
//
changeNum(type, parentIndex, childIndex){
@ -166,6 +176,9 @@
})
},
getCartList(){
uni.showLoading({
title: '正在查询购物车'
})
this.$http.get({
api: 'api/cart',
header: {
@ -173,6 +186,7 @@
}
}).then(res => {
console.log("===", res);
uni.hideLoading();
let data = res.data.data;
let list = [];
for(let i in data){
@ -188,7 +202,7 @@
})
}
this.list = list;
})
}).catch(err => uni.hideLoading())
},
//
goodsCheckChange(event, parentIndex, childIndex) {

2
pages/user/member/service.vue

@ -106,7 +106,7 @@
.img{
width: 200rpx;
height: 200rpx;
background-color: #D8D8D8;
// background-color: #D8D8D8;
border-radius: 20rpx;
}
.title{

2
pages/user/my/myEventRegistrationList.vue

@ -13,7 +13,7 @@
<view class="cover">
<image class="img" :src="item.activity.image"></image>
<view class="label" :class="'theme-'+ (index+1)" v-if="item.activity.is_expired==false && item.state =='待使用'">待使用</view>
<view class="label" :class="'theme-'+ (index+1)" v-if="item.activity.is_expired==true">已过期</view>
<view class="label lf-bg-gray" :class="'theme-'+ (index+1)" v-if="item.activity.is_expired==true">已过期</view>
<view class="label" :class="'theme-'+ (index+1)" v-if="item.activity.is_expired==false">{{item.state}}</view>
</view>
<view class="info">

Loading…
Cancel
Save