oil-station/gasStation-uni/pagesHome/PointsMall/PointsMall.vue
2023-11-30 09:06:08 +08:00

382 lines
7.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="content">
<view class="container">
<view class="my-header">
<view class="my-icons" @click="goback"> <uni-icons type="left" color="#ffffff" size="16"></uni-icons>
</view>
<view class="my-text">积分商城</view>
<view class="my-icons"></view>
</view>
<!-- 顶部区域 -->
<view class="top-lanmu">
<view style="width: 90%;margin: 0 auto;">
<view class="title-bai">0</view>
<view class="size-bai">
<uni-icons type="location" color="#ffffff" size="16"></uni-icons>
<text>蓝鲸加油站总站</text>
<uni-icons type="right" color="#ffffff" size="16"></uni-icons>
</view>
</view>
<view class="box-bai">
<view class="box-box" @click="gojg(1)">
<view class="img-jg">
<uni-icons type="calendar-filled" color="#ffffff" size="40"></uni-icons>
</view>
<view class="">积分签到</view>
</view>
<view class="box-box" @click="gojg(2)">
<view class="img-jg" style="background: #fa801c;">
<u-icon name="coupon-fill" color="#ffffff" size="40"></u-icon>
</view>
<view class="">积分明细</view>
</view>
<view class="box-box" @click="gojg(3)">
<view class="img-jg" style="background: #1fcabc;">
<u-icon name="info-circle-fill" color="#ffffff" size="40"></u-icon>
</view>
<view class="">积分规则</view>
</view>
<view class="box-box" @click="gojg(4)">
<view class="img-jg" style="background: #f76b17;">
<u-icon name="file-text-fill" color="#ffffff" size="40"></u-icon>
</view>
<view class="">我的订单</view>
</view>
</view>
</view>
<view class="bai-center">
<scroll-view scroll-x="true" class="tap-top">
<view class="sz" v-for="(item,index) in categoryList" :key="index" @click="transferIndex(index) ">
<view class="box" :class="{'xztap': qhindex == index}">{{item.categoryName}}</view>
<view class="gang" v-if="qhindex == index"></view>
</view>
</scroll-view>
<view class="wrap-box">
<view class="box-goods" v-for="(item,index) in integralGiftList" :key="index" @click="godetails()">
<view class="goods-img">
<image :src="baseUrl+'/static/uploadImages/20231106/75bfd9e936974f7a94c2c04e17df1d1b.png'" mode=""></image>
</view>
<view class="goods-title">
{{item.goodsName}}
</view>
<view class="good-red">
<view style="display: flex;align-items: center;">
<view class="bi">
<image src="../../static/imgs/jb.png" mode=""></image>
</view>
<view style="color: #FC1708;font-weight: bold;">1992</view>
</view>
<view class="hui-time">库存190</view>
</view>
<view class="anniux">
<text>立即兑换</text>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import config from '@/config'
import request from '../../utils/request'
export default {
data() {
return {
categoryList:{},
integralGiftList:{},
title: '',
qhindex: 0,
baseUrl: config.baseUrl,
query: {
categoryId: '',
giftName: '',
deliveryMethod:'',
page: 1,
pageSize: 10000
}
}
},
components: {
},
onLoad() {
this.getCategoryList();
this.getIntegralGiftList();
},
methods: {
transferIndex(index) {
this.qhindex = index
},
// 获取积分商城分类
getCategoryList() {
request({
url: 'business/integral/integralGiftCategory/queryByPage',
method: 'get',
// params:{}
}).then((res)=>{
if(res.code == 200){
this.categoryList = res.data.records
console.log("hello world",res)
}
})
},
// 获取积分商城列表
getIntegralGiftList() {
// let
request({
url: 'business/integral/integralGift/queryByPage',
method: 'get',
// params:data
}).then((res)=>{
if(res.code == 200){
this.integralGiftList = res.data.records
console.log("hello world",res)
}
})
},
// 获取个人积分信息
gojg(nmb) {
if (nmb == 1) {
uni.navigateTo({
url: '/pagesMy/integral/integral'
})
}
if (nmb == 2) {
uni.navigateTo({
url: '/pagesHome/PointsMing/PointsMing'
})
}
if (nmb == 3) {
uni.navigateTo({
url: '/pagesHome/Pointsdetail/Pointsdetail'
})
}
if (nmb == 4) {
uni.navigateTo({
url: '/pagesHome/myPointsOrder/myPointsOrder'
})
}
},
godetails() {
uni.navigateTo({
url: '/pagesHome/goodsDetails/goodsDetails'
})
},
goback() {
uni.navigateBack()
}
}
}
</script>
<style scoped lang="scss">
.content {
background: #f4f5f6;
}
.container {
width: 100%;
box-sizing: border-box;
padding-top: 88px;
background: #f4f5f6;
padding-bottom: 40px;
}
.my-header {
width: 100%;
height: 88px;
background: #1678ff;
display: flex;
align-items: center;
justify-content: space-between;
color: #fff;
box-sizing: border-box;
padding: 0px 15px;
padding-top: 40px;
z-index: 9999;
.my-icons {
width: 20px;
}
position: fixed;
top: 0px;
}
.top-lanmu {
width: 100%;
height: 100px;
background: linear-gradient(180deg, #1678ff 0%, #3e8dfd 57%, #f4f5f6 100%);
box-sizing: border-box;
padding-top: 1px;
}
.box-bai {
width: 90%;
margin: 10px auto;
background-color: #ffffff;
border-radius: 8px;
box-sizing: border-box;
padding: 10px;
display: flex;
align-items: center;
justify-content: space-around;
font-size: 14px;
}
.size-bai {
color: #ffffff;
font-size: 14px;
}
.title-bai {
font-size: 28px;
font-weight: bold;
color: #ffffff;
}
.box-box {
width: 25%;
text-align: center;
}
.img-jg {
width: 50px;
height: 50px;
background-color: #1678ff;
border-radius: 12px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 5px;
}
.bai-center {
width: 90%;
border-radius: 8px;
background-color: #ffffff;
margin: 0 auto;
box-sizing: border-box;
padding: 10px;
margin-top: 75px;
}
.tap-top {
margin-top: 20rpx;
width: 100%;
// padding-bottom: 22rpx;
box-sizing: border-box;
// border-bottom: 1px solid #EEEEEE;
white-space: nowrap;
.sz {
display: inline-block;
}
.box {
// margin: 0 auto;
text-align: center;
font-size: 32rpx;
margin-right: 50rpx;
line-height: 32rpx;
text-align: center;
// font-weight: bold;
color: #666666;
margin-bottom: 22rpx;
}
}
.xztap {
color: #333333 !important;
font-weight: bold !important;
}
.gang {
width: 128rpx;
height: 8rpx;
background: #1678ff;
border-radius: 14rpx;
}
.wrap-box {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin: 10px auto;
}
.box-goods {
width: 49%;
margin-bottom: 15px;
}
.goods-img {
width: 100%;
height: 150px;
image {
width: 100%;
height: 100%;
}
}
.anniux {
background-color: #ecf5ff;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8px;
box-sizing: border-box;
padding: 10px;
width: 100%;
margin: 10px auto;
color: #1678ff;
font-weight: bold;
}
.goods-title {
font-size: 16px;
font-weight: bold;
color: #000000;
margin: 5px 0px;
}
.good-red {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.hui-time {
font-size: 14px;
color: #8895AB;
}
.bi {
width: 18px;
height: 18px;
margin-right: 2px;
image {
width: 100%;
height: 100%;
}
}
</style>