提交细节

version/0412
fanfan 11 months ago
parent 0353e05205
commit 8668b510e5
  1. 2
      pages.json
  2. 10
      pages/activity/charts.vue
  3. 74
      pages/activity/intimate.vue
  4. 6
      pages/activity/newGoods.vue
  5. 4
      pages/activity/newPeople.vue
  6. 22
      pages/activity/newsshop.vue
  7. 23
      pages/activity/presale.vue
  8. 2
      pages/activity/ranking.vue
  9. 4
      pages/index/index.vue
  10. 19
      pages/invite/index.vue
  11. 22
      pages/news/coupon/index.vue
  12. 9
      pages/news/coupon/list.vue

@ -939,7 +939,7 @@
{
"path": "newsshop",
"style": {
"navigationBarTitleText": "新年换新",
"navigationBarTitleText": "活动",
"navigationStyle": "custom",
"enablePullDownRefresh": false
}

@ -293,12 +293,12 @@
.rule {
width: 130rpx;
height: 50rpx;
height: 60rpx;
background-color: rgba(0, 0, 0, 0.3);
font-size: 24rpx;
font-weight: 400;
color: #FFFFFF;
line-height: 50rpx;
line-height: 60rpx;
text-align: center;
position: absolute;
right: 0;
@ -309,16 +309,16 @@
.all {
width: 130rpx;
height: 50rpx;
height: 60rpx;
background-color: rgba(0, 0, 0, 0.3);
font-size: 24rpx;
font-weight: 400;
color: #FFFFFF;
line-height: 50rpx;
line-height: 60rpx;
text-align: center;
position: absolute;
right: 0;
top: 120rpx;
top: 160rpx;
border-radius: 50rpx 0 0 50rpx;
z-index: 22;
}

@ -5,7 +5,9 @@
</view>
<view class="intimate-hd" @click="openPage(1)">
<image :src="storeInfo.imageList?storeInfo.imageList[0]:''"></image>
<view class="a">{{storeInfo.shop_name}}<u-icon style="margin-left: 10rpx;" name="arrow-right"></u-icon></view>
<view class="a">{{storeInfo.shop_name}}
<u-icon style="margin-left: 10rpx;" name="arrow-right"></u-icon>
</view>
<view class="b">{{storeInfo.summary}}</view>
</view>
<!-- <scroll-view scroll-x class="intimate-menu">
@ -17,7 +19,8 @@
<view class="intimate-bd">
<scroll-view scroll-y class="a">
<view class="item" @click="tabItem(-1)" :class="tabIndex==-1?'item-on':''">全部商品</view>
<view class="item" @click="tabItem(i)" v-for="(a,i) in list" :key="i" :class="tabIndex==i?'item-on':''">{{a.name}}</view>
<view class="item" @click="tabItem(i)" v-for="(a,i) in list" :key="i" :class="tabIndex==i?'item-on':''">
{{a.name}}</view>
</scroll-view>
<view class="b">
<view class="t">
@ -89,7 +92,11 @@
* 获取列表
*/
async getList() {
let {status, message, data} = await newFunApi.serverCategoryList({});
let {
status,
message,
data
} = await newFunApi.serverCategoryList({});
if (status == 200) {
this.list = data.list
this.getGoodsList();
@ -99,13 +106,20 @@
* 获取商品列表
*/
async getGoodsList() {
let {status, message, data} = await newFunApi.serverList({
let {
status,
message,
data
} = await newFunApi.serverList({
server_name: "",
category_id: this.tabIndex == -1?"":(this.list.length > 0?this.list[this.tabIndex].category_id:""),
order_field: this.filterIndex == 0?"server_price":this.filterIndex == 1?"line_price":this.filterIndex == 2?"sold":"",
category_id: this.tabIndex == -1 ? "" : (this.list.length > 0 ? this.list[this.tabIndex]
.category_id : ""),
order_field: this.filterIndex == 0 ? "server_price" : this.filterIndex == 1 ?
"line_price" : this.filterIndex == 2 ? "sold" : "",
order_sort: this.filterFlag ? "desc" : "asc"
});
if (status == 200) {
if (data.list.length > 0) {
data.list.map(a => {
a.server_price = Number(a.server_price);
a.line_price = Number(a.line_price)
@ -113,6 +127,7 @@
this.list1 = data.list
this.isShow = data.total == 0 ? true : false
}
}
},
openPage(index, a) {
if (index == 1) {
@ -148,6 +163,7 @@
.intimate {
background: url(https://www.royaum.com.cn/static/news/refund-bg1.png) center top no-repeat;
background-size: 100% auto;
&-hd {
width: 686rpx;
height: 170rpx;
@ -158,6 +174,7 @@
box-sizing: border-box;
margin-top: 30rpx;
position: relative;
image {
position: absolute;
width: 162rpx;
@ -166,11 +183,13 @@
left: 18rpx;
top: -20rpx;
}
.a {
font-size: 32rpx;
color: #212121;
margin-left: 220rpx;
}
.b {
margin-left: 220rpx;
font-size: 28rpx;
@ -178,11 +197,13 @@
margin-top: 10rpx;
}
}
&-menu {
height: 180rpx;
white-space: nowrap;
margin-top: 30rpx;
padding: 0 20rpx;
.item {
width: 150rpx;
height: 180rpx;
@ -194,10 +215,12 @@
text-align: center;
margin-left: 12rpx;
border-radius: 8rpx;
image {
width: 112rpx;
height: 112rpx;
}
.p {
white-space: nowrap;
overflow: hidden;
@ -205,20 +228,24 @@
font-weight: 400;
color: #3F3F3F;
}
&-on {
border: 1px solid #F21A1C;
}
}
}
&-bd {
padding: 30rpx 0 0;
display: flex;
height: calc(100vh - 340rpx);
box-sizing: border-box;
overflow: hidden;
.a {
width: 150rpx;
height: 100%;
.item {
padding: 20rpx 35rpx;
border-left: 3px solid #FFFFFF;
@ -228,16 +255,19 @@
font-weight: 400;
color: #3F3F3F;
box-sizing: border-box;
&-on {
background-color: #FFFFFF;
border-left-color: #F34A40;
}
}
}
.b {
width: 600rpx;
height: 100%;
background-color: #FFFFFF;
.t {
display: flex;
align-items: center;
@ -245,18 +275,22 @@
font-weight: 400;
color: #3F3F3F;
line-height: 100rpx;
.item {
flex: 1;
text-align: center;
&-on {
color: #F34A40;
}
}
}
.l {
height: calc(100% - 120rpx);
box-sizing: border-box;
overflow: hidden;
.item {
width: 270rpx;
height: 389rpx;
@ -269,12 +303,14 @@
float: left;
margin-left: 20rpx;
margin-bottom: 20rpx;
image {
width: 230rpx;
height: 230rpx;
display: block;
margin: 0 auto;
}
.title {
padding: 10rpx 0;
line-height: 40rpx;
@ -285,6 +321,7 @@
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
text {
background-color: #F34A40;
font-size: 20rpx;
@ -299,26 +336,31 @@
display: inline-block;
}
}
.price {
display: flex;
align-items: center;
white-space: nowrap;
.n {
display: flex;
align-items: baseline;
font-size: 11px;
font-weight: 500;
color: #F21A1C;
text {
font-size: 29rpx;
}
}
.o {
font-size: 12px;
color: #949494;
text-decoration: line-through;
}
}
.desc {
font-size: 10px;
font-weight: 400;
@ -330,29 +372,35 @@
}
}
}
&-share {
width: 548rpx;
height: 810rpx;
overflow: hidden;
.l {
width: 548rpx;
background: #FFFFFF;
margin: 0 auto;
overflow: hidden;
position: relative;
.a {
width: 490rpx;
height: 243rpx;
margin: 0 auto;
padding-top: 24rpx;
image {
width: 100%;
height: 100%;
}
}
.b {
padding: 20rpx 20rpx;
overflow: hidden;
.item {
width: 220rpx;
height: 369rpx;
@ -365,12 +413,14 @@
float: left;
margin-left: 20rpx;
margin-bottom: 10rpx;
image {
width: 180rpx;
height: 180rpx;
display: block;
margin: 0 auto;
}
.title {
padding: 10rpx 0;
line-height: 40rpx;
@ -381,6 +431,7 @@
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
text {
background-color: #F34A40;
font-size: 20rpx;
@ -395,44 +446,52 @@
display: inline-block;
}
}
.price {
display: flex;
align-items: center;
white-space: nowrap;
padding: 0 5rpx;
.n {
display: flex;
align-items: baseline;
font-size: 11px;
font-weight: 500;
color: #F21A1C;
text {
font-size: 29rpx;
}
}
.o {
font-size: 12px;
color: #949494;
text-decoration: line-through;
}
}
.desc {
padding: 0 5rpx;
font-size: 10px;
font-weight: 400;
color: #949494;
white-space: nowrap;
margin-top: 10rpx;overflow: hidden;
margin-top: 10rpx;
overflow: hidden;
}
}
}
.c {
background-color: #F1F1F1;
height: 150rpx;
display: flex;
justify-content: flex-end;
align-items: center;
image {
width: 140rpx;
height: 122rpx;
@ -440,6 +499,7 @@
}
}
}
.btn {
width: 640rpx;
line-height: 80rpx;

@ -83,10 +83,12 @@
}
Api.brandList(pamars)
.then(result => {
if (result.data.data.length > 0) {
result.data.data.map(a => {
a.goods_price_min = Number(a.goods_price_min)
})
app.list = result.data.data;
}
})
.finally(() => app.isLoading = false)
},
@ -137,8 +139,10 @@
.topLine {
display: flex;
justify-content: center;
.left {
margin-top: 132rpx;
.goodsName {
height: 58rpx;
font-size: 40rpx;
@ -206,6 +210,7 @@
background-image: url('https://www.royaum.com.cn/static/newGoods/bot.png');
background-repeat: no-repeat;
background-size: 100% 100%;
.goodsItem {
margin-bottom: 32rpx;
}
@ -313,6 +318,7 @@
justify-content: flex-end;
margin-top: 50rpx;
margin-right: 30rpx;
.lowPrice {
height: 50rpx;
font-size: 36rpx;

@ -95,12 +95,14 @@
data
} = await Api.couponList();
if (status == 200) {
if (data.list.length > 0) {
data.list.forEach(item => {
item.reduce_price = Number(item.reduce_price)
item.min_price = Number(item.min_price)
});
this.couList = data.list
}
}
},
//
getListgoodData(categoryId) {
@ -111,11 +113,13 @@
}
Api.chartsGoodsList(pamars)
.then(result => {
if (result.data.data.length > 0) {
result.data.data.map(a => {
a.goods_price_min = Number(a.goods_price_min);
a.line_price_min = Number(a.line_price_min)
})
app.goodList = result.data.data;
}
})
.finally(() => app.isLoading = false)
},

@ -1,5 +1,5 @@
<template>
<view class="newsshop" v-if="shopItem" :style="{backgroundImage:'url('+shopItem.index_icon+')'}">
<view class="newsshop" :style="{backgroundImage:'url('+shopItem.index_icon+')'}">
<view class="newsshop-navbar">
<u-navbar :title="shopItem.title" back-icon-color="#fff" :border-bottom="false" title-color="#fff"
:background="background"></u-navbar>
@ -31,6 +31,7 @@
</view>
</view>
</view>
<u-empty text="暂无活动数据显示哦~" v-else mode="list"></u-empty>
</view>
</template>
@ -41,11 +42,18 @@
return {
current: 0,
shopItem: '',
shopList: []
shopList: [],
type: 2,
}
},
onLoad() {
onLoad(op) {
this.type = op.type ? op.type : 2
if (this.type == 2) {
this.getInfo()
}
if (this.type == 1) {
this.getShopList(op.activeid)
}
},
methods: {
goDetails(goodsId) {
@ -64,7 +72,9 @@
//
getInfo() {
const app = this;
Api.info()
Api.info({
type: 'other-item'
})
.then(result => {
this.shopItem = result.data;
this.getShopList(result.data.id)
@ -79,11 +89,15 @@
}
Api.detail(pamars)
.then(result => {
if (result.data.length>0) {
result.data.col.forEach(item => {
item.sliceIndex = 6;
item.goods_price_min = Number(item.goods_price_min);
});
this.shopList = result.data.col.length > 0 ? result.data.col : [];
}else{
this.shopList=[]
}
})
.finally()
},

@ -1,7 +1,7 @@
<template>
<view class="presale">
<view class="presale-hd">
<view class="rule" @click="openPage()"></view>
<view class="rule" @click="openPage()">规则</view>
</view>
<view class="presale-bd">
<view class="tab">
@ -20,7 +20,8 @@
<view class="info">
<view class="t">{{item.goods_name}}</view>
<view class="d">
<u-count-down :timestamp="item.end_time*1000" format="HH:mm:ss"></u-count-down><text></text>
<u-count-down :timestamp="item.end_time*1000" format="HH:mm:ss"></u-count-down>
<text>后失效</text>
</view>
<view class="p">
<image :src="$picUrl+'/static/news/newPresale-2.png'"></image>
@ -58,7 +59,8 @@
methods: {
goPre(item) {
uni.navigateTo({
url: '/pages/goods/detail?goodsId=' + item.goods_id + '&isPre=' + true+'&pre_id='+this.info.id+'&isBuy='+this.info.end_time
url: '/pages/goods/detail?goodsId=' + item.goods_id + '&isPre=' + true + '&pre_id=' + this.info
.id + '&isBuy=' + this.info.end_time
})
},
openPage() {
@ -73,10 +75,12 @@
}
Api.presaleGoodsList(pamars)
.then(result => {
if (result.data.list.length > 0) {
result.data.list.map(a => {
a.goods_price_min = Number(a.goods_price_min);
})
app.goodList = result.data.list;
}
})
.finally(() => app.isLoading = false)
},
@ -138,12 +142,19 @@
height: 380rpx;
.rule {
right: 0;
top: 74rpx;
z-index: 999;
width: 100rpx;
height: 60rpx;
background-color: rgba(0, 0, 0, 0.3);
font-size: 24rpx;
font-weight: 400;
color: #FFFFFF;
line-height: 60rpx;
text-align: center;
position: absolute;
right: 0;
top: 74rpx;
z-index: 2;
border-radius: 50rpx 0 0 50rpx;
}
}

@ -148,10 +148,12 @@
}
Api.chartsGoodsList(pamars)
.then(result => {
if (result.data.data.length > 0) {
result.data.data.forEach(item => {
item.goods_price_min = Number(item.goods_price_min);
});
app.goodList = result.data.data;
}
})
.finally(() => app.isLoading = false)
},

@ -809,6 +809,10 @@
uni.navigateTo({
url: '/pages/goods/detail?goodsId=' + this.bannerList[index].redirect_url
})
} else {
uni.navigateTo({
url: '/pages/activity/newsshop?activeid=' + this.bannerList[index].id + '&type=1'
})
}
},
goDetails(item) {

@ -31,13 +31,17 @@
<image :src="$picUrl+'/static/news/invite-bg2.png'"></image>
<view class="a">
<view class="l">
可得{{info.integral}}积分<br />{{info.coupon_name}}
可得188积分
<!-- 可得{{info.integral}}积分
<br />{{info.coupon_name}} -->
</view>
<view class="l">
可返现{{info.one_order_rate}}%
可返现3-5%
<!-- 可返现{{info.one_order_rate}}% -->
</view>
<view class="l">
{{info.one_order_rate}}{{info.coupon_name}}
新人首单礼
<!-- {{info.one_order_rate}}{{info.coupon_name}} -->
</view>
</view>
</view>
@ -45,13 +49,16 @@
<image :src="$picUrl+'/static/news/invite-bg3.png'"></image>
<view class="a">
<view class="l">
{{info.one_order_rate}}{{info.coupon_name}}
优惠券
<!-- {{info.one_order_rate}}{{info.coupon_name}} -->
</view>
<view class="l">
{{info.integral}}积分
积分
<!-- {{info.integral}}积分 -->
</view>
<view class="l">
首单返{{info.one_order_rate}}%
长期返现
<!-- 首单返{{info.one_order_rate}}% -->
</view>
</view>
</view>

@ -1,5 +1,6 @@
<template>
<view class="coupon">
<!-- <view class="rule" @click="openPage()">规则</view> -->
<view class="coupon-hd">
<image src="https://www.royaum.com.cn/static/news/coupon-bg.jpg"></image>
</view>
@ -65,6 +66,11 @@
}
},
openPage() {
uni.navigateTo({
url: '/pages/activity/presaleRule?type=6'
})
},
openPage() {
uni.navigateTo({
url: "/pages/news/coupon/list"
@ -99,6 +105,22 @@
overflow: hidden;
min-height: 100vh;
.rule {
right: 0;
top: 74rpx;
z-index: 999;
width: 100rpx;
height: 60rpx;
background-color: rgba(0, 0, 0, 0.3);
font-size: 24rpx;
font-weight: 400;
color: #FFFFFF;
line-height: 60rpx;
text-align: center;
position: absolute;
border-radius: 50rpx 0 0 50rpx;
}
.nolist {
width: 100%;
display: block;

@ -5,7 +5,8 @@
:is-scroll="false" v-model="tabIndex" @change="change"></u-tabs>
</view>
<view class="coupon-bd">
<view class="item" :class="tabIndex == 2?'item-on':''" v-for="(item,index) in couponList" :key="index" @click="choseItem(item)" :style="{'border':item.user_coupon_id==choseId?'2rpx solid red':none}">
<view class="item" :class="tabIndex == 2?'item-on':''" v-for="(item,index) in couponList" :key="index"
@click="choseItem(item)" :style="{'border':item.user_coupon_id==choseId?'2rpx solid red':none}">
<view class="a" v-if="item.coupon_type==10"><text>{{item.reduce_price}}</text></view>
<view class="a" v-if="item.coupon_type==20"><text>{{item.discount}}</text></view>
<view class="b">有效期{{item.end_time}}</view>
@ -75,6 +76,12 @@
}
CouponApi.myCouponList(param)
.then(res => {
if (res.data.list.data.length > 0) {
res.data.list.data.forEach(item => {
item.min_price = Number(item.min_price);
item.reduce_price = Number(item.reduce_price);
});
}
that.couponList = res.data.list.data
})
.finally(() => that.isLoading = false)

Loading…
Cancel
Save