Browse Source

上传

master
前端-胡立永 6 months ago
parent
commit
4082e311d5
23 changed files with 635 additions and 108 deletions
  1. +6
    -0
      App.vue
  2. +14
    -0
      api/api.js
  3. +6
    -0
      api/model/order.js
  4. +4
    -1
      components/list/dynamic/dynamicItem.vue
  5. +16
    -1
      components/list/statisticalDataInfo.vue
  6. +25
    -4
      components/user/callPhone.vue
  7. +9
    -3
      components/user/productList.vue
  8. +75
    -4
      components/user/sharePopup.vue
  9. +0
    -1
      mixins/product.js
  10. +3
    -0
      pages.json
  11. +68
    -7
      pages/index/center.vue
  12. +4
    -1
      pages/index/index.vue
  13. +2
    -1
      pages/index/product.vue
  14. +160
    -0
      pages_order/components/list/gourmet/goodList.vue
  15. +10
    -2
      pages_order/components/list/workList/workItem.vue
  16. +156
    -67
      pages_order/gourmet/gourmetDetail.vue
  17. +1
    -1
      pages_order/mine/runningWater.vue
  18. +33
    -0
      pages_order/notice/noticeDetail.vue
  19. +0
    -11
      pages_order/post/postDetail.vue
  20. +21
    -2
      pages_order/product/productDetail.vue
  21. +13
    -1
      pages_order/renting/rentingDetail.vue
  22. +0
    -1
      pages_order/renting/rentingList.vue
  23. +9
    -0
      store/store.js

+ 6
- 0
App.vue View File

@ -5,6 +5,10 @@
onShow: function() {
this.$store.commit('initConfig')
this.$store.commit('getCityList')
if(uni.getStorageSync('token')){
this.$store.commit('getMemberInfo')
}
},
onHide: function() {
}
@ -29,6 +33,8 @@
}
}
.uv-drop-down{
background: transparent !important;
border: none !important;


+ 14
- 0
api/api.js View File

@ -335,6 +335,20 @@ const config = {
auth : true,
showLoading : true,
},
// 点击查看联系方式 类型 0帖子 1租房 2工作 3门店
checkGivePhone : {
url: '/token/checkGivePhone',
method: 'POST',
auth : true,
showLoading : true,
},
// 查询店铺中的商品、美食
getGoodsList : {
url: '/token/getGoodsList',
method: 'GET',
auth : true,
},
}
const models = ['order']


+ 6
- 0
api/model/order.js View File

@ -42,6 +42,12 @@ const api = {
auth : true,
showLoading : true,
},
// 查询当前开通会员以及过期时间
getMemberInfo : {
url: '/order/getMemberInfo',
method: 'GET',
auth : true,
},
}
export default api

+ 4
- 1
components/list/dynamic/dynamicItem.vue View File

@ -5,7 +5,10 @@
<daynamicInfo :item="item" />
<statisticalDataInfo :item="item"/>
<statisticalDataInfo
:item="item"
type="0"
/>
</view>
</template>


+ 16
- 1
components/list/statisticalDataInfo.vue View File

@ -28,7 +28,13 @@
<uv-icon name="attach"></uv-icon>
</view>
</view>
<callPhone :phone="item.phone" :sexName="item.sex" />
<callPhone
:phone="item.phone"
:type="type"
:phoneTitle="title"
:pid="item.id"
:sexName="item.sex" />
</view>
</template>
@ -39,8 +45,17 @@
}
},
computed : {
title(){
let key = {
0 : 'userName',
}
return this.item[key[this.type]]
},
},
props: {
item: {},
type : {},
},
methods: {


+ 25
- 4
components/user/callPhone.vue View File

@ -1,7 +1,7 @@
<template>
<view class="phone" v-if="phone" @click.stop="callPhone">
<image src="/static/image/home/phone.png" mode="widthFix"></image>
联系{{ title || ta[sexName] }}
{{ title || '联系' + ta[sexName] }}
</view>
</template>
@ -9,7 +9,7 @@
import mixinsSex from '@/mixins/sex.js'
export default {
mixins: [mixinsSex],
props: ['phone', 'title', 'sexName'],
props: ['phone', 'title', 'sexName', 'type', 'phoneTitle', 'pid'],
data() {
return {
@ -17,8 +17,28 @@
},
methods: {
callPhone(){
uni.makePhoneCall({
phoneNumber: this.phone
let data = {
title : this.phoneTitle,
type : this.type,
id : this.pid
}
console.log(data);
if(!data.id || !data.title){
return uni.showToast({
title: '缺少参数',
icon: 'none'
})
}
this.$api('checkGivePhone', data, res => {
if(res.code == 200){
uni.makePhoneCall({
phoneNumber: this.phone
})
}
})
},
}
@ -32,6 +52,7 @@
padding: 8rpx 16rpx;
border-radius: 10rpx;
margin-left: auto;
font-size: 26rpx;
image {
width: 20rpx;


+ 9
- 3
components/user/productList.vue View File

@ -23,10 +23,12 @@
</view>
</view> -->
<view class="price">
<view class="price"
v-if="isProductPrice(item)">
现价<text>{{ item.price }}</text>
</view>
<view class="del">
<view class="del"
v-if="isProductPrice(item)">
原价{{ item.oldPrice }}
</view>
<!-- <view class="favorable" v-if="item.oldPrice">
@ -37,7 +39,9 @@
{{ item.oldPrice }}
</view>
</view> -->
<view class="favorable" v-if="item.points">
<view class="favorable"
v-if="item.points
&& isProductPoint(item)">
<view class="t">
积分兑换
</view>
@ -63,7 +67,9 @@
</template>
<script>
import productMixins from '@/mixins/product.js'
export default {
mixins : [productMixins],
name:"productList",
props : ['productList'],
data() {


+ 75
- 4
components/user/sharePopup.vue View File

@ -19,23 +19,44 @@
<view class="vipList">
<view
@click="vipKeyName = item"
@click="selectVip(item)"
:class="{vip : true, act : item == vipKeyName}"
:key="index"
v-for="(item, index) in vipList">
<view class="title">
{{ headInfo[item].keyName }}
<view :class="vipStatus.class"
v-if="vipList.indexOf(item) + 1 == vipLog.type">
{{ vipStatus.title }}
</view>
</view>
<view class="price">
{{ headInfo[item].keyValue }}
</view>
<view class="end_time"
v-if="vipList.indexOf(item) + 1 == vipLog.type">
{{ vipLog.endTime }}到期
</view>
<uv-parse :content="headInfo[item].keyDetails"></uv-parse>
<view class="">
</view>
</view>
</view>
<view class="uni-color-btn"
@click="submit">
开通{{ headInfo[vipKeyName].keyValue }}/每月
<text v-if="vipStatus.success
&& vipLog.type != vipList.indexOf(vipKeyName) + 1">
升级会员{{ headInfo[vipKeyName].keyValue }}/每月
</text>
<text v-else>
{{ vipStatus.submit }}{{ headInfo[vipKeyName].keyValue }}/每月
</text>
</view>
</view>
@ -52,20 +73,56 @@
}
},
computed : {
...mapState(['headInfo']),
...mapState(['headInfo', 'vipLogList']),
vipLog(){
return this.vipLogList.length ? this.vipLogList[0] : {}
},
vipStatus(){
if(!this.vipLog.endTime){
return {
title : '',
class : 'status',
submit : '开通',
}
}
let endTime = new Date(this.vipLog.endTime).getTime()
let time = new Date().getTime()
if(endTime > time){
return {
title : '进行中',
class : 'status',
submit : '续费',
success : true,//
}
}else{
return {
title : '过期',
class : 'status end',
submit : '续费',
}
}
}
},
methods: {
selectVip(item){
this.vipKeyName = item
},
open() {
this.$refs.popup.open('bottom')
this.$store.commit('getMemberInfo')
},
submit(){
this.$api('openMember', {
type : this.vipList.indexOf(this.vipKeyName),
type : this.vipList.indexOf(this.vipKeyName) + 1,
}, res => {
if(res.code == 200){
uni.requestPaymentWxPay(res)
.then(res => {
this.$refs.popup.close()
this.$store.commit('getMemberInfo')
uni.showToast({
title: '会员开通成功',
icon: 'none'
@ -94,6 +151,20 @@
font-size: 24rpx;
.title{
font-weight: 900;
display: flex;
align-items: center;
.status{
font-size: 20rpx;
font-weight: 500;
padding: 2rpx 10rpx;
border-radius: 10rpx;
background-color: #5ac725;
color: #fff;
margin-left: auto;
}
.status.end{
background-color: #909399;
}
}
.price{
font-weight: 900;


+ 0
- 1
mixins/product.js View File

@ -8,7 +8,6 @@ export default {
},
methods : {
isProductPoint(detail){
console.log(detail);
return [2].includes(detail.className)
},
isProductPrice(detail){


+ 3
- 0
pages.json View File

@ -172,6 +172,9 @@
},
{
"path": "car/addCar"
},
{
"path": "notice/noticeDetail"
}
]
}],


+ 68
- 7
pages/index/center.vue View File

@ -1,16 +1,34 @@
<template>
<view class="page">
<view class="beijin">
<view class=" profile">
<view class="profile">
<view class="o">
<view class="headImage">
<!-- <img src="https://k.sinaimg.cn/n/sinakd20117/0/w800h800/20240127/889b-4c8a7876ebe98e4d619cdaf43fceea7c.jpg/w700d1q75cms.jpg"
alt="" /> -->
<image
:src="userInfo.headImage"
mode="aspectFill"></image>
<view class="vip_info"
v-if="userInfo.isPay">
<view class="title">
{{ headInfo[vipList[userInfo.isPay - 1]].keyName }}
</view>
<!-- <view class="time">
2024-6-6到期
</view> -->
</view>
</view>
<!-- <view class="vip_info">
<view class="title">
普通会员
</view>
<view class="time">
2024-6-6到期
</view>
</view> -->
<view class="setUp"
@click="$utils.navigateTo('/pages_order/mine/setting')">
@ -138,7 +156,7 @@
dynamicItemEdit,
},
computed: {
...mapState(['userInfo']),
...mapState(['userInfo', 'headInfo']),
},
data() {
return {
@ -156,6 +174,7 @@
name: '店铺',
},
],
vipList : ['vip', 'vipBig'],
mixinsListApi : 'getMyPostPage',
auth : ['审核中', '个人认证', '店铺认证'],
type : 0,
@ -265,14 +284,56 @@
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 60rpx;
.headImage {
position: relative;
height: 100px;
width: 100px;
border-radius: 50%;
image {
height: 100px;
width: 100px;
height: 100%;
width: 100%;
border-radius: 50%;
}
.vip_info{
--lg1Color : #ffb700;
--lg2Color : #ff3300;
display: flex;
justify-content: center;
background: linear-gradient(var(--lg1Color), var(--lg2Color));
color: #fff;
font-size: 20rpx;
padding: 15rpx 0;
border-radius: 20rpx;
margin-top: auto;
margin-right: auto;
position: absolute;
bottom: -30rpx;
left: 50%;
width: 160rpx;
transform: translate(-50%);
}
}
// .vip_info{
// // display: flex;
// // justify-content: center;
// background-color: #2800ee;
// color: #fff;
// font-size: 20rpx;
// padding: 15rpx 30rpx;
// line-height: 50rpx;
// border-radius: 20rpx;
// margin-right: auto;
// margin-left: 20rpx;
// .title{
// font-size: 26rpx;
// }
// .time{
// // margin-left: 20rpx;
// }
// }
.setUp {
}


+ 4
- 1
pages/index/index.vue View File

@ -311,7 +311,10 @@
<style scoped lang="scss">
.page{
position: relative;
/deep/ .uv-tabs__wrapper__scroll-view::-webkit-scrollbar{
width: 0 !important;
height: 0 !important;
}
}
image{
width: 100%;


+ 2
- 1
pages/index/product.vue View File

@ -22,7 +22,8 @@
<view class="notice">
<uv-notice-bar
fontSize="28rpx"
:text="headInfo.notice"></uv-notice-bar>
@click="$utils.navigateTo('/pages_order/notice/noticeDetail')"
:text="headInfo.notice.keyName"></uv-notice-bar>
</view>
<!-- 分类 -->


+ 160
- 0
pages_order/components/list/gourmet/goodList.vue View File

@ -0,0 +1,160 @@
<template>
<view class="list">
<view class="item"
v-for="(item, index) in productList"
@click="$utils.navigateTo('/pages_order/product/productDetail?id=' + item.id)"
:key="index">
<image
class="image"
:src="item.image ? item.image.split(',')[0] : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg'" mode="aspectFill"></image>
<view class="info">
<view class="title text-ellipsis">
{{ item.name }}
</view>
<!-- <view class="price">
<text>{{ item.originalPrice }}</text>/
</view>
<view class="favorable" v-if="item.goodsSku">
<view class="t">
限时优惠
</view>
<view class="p">
{{ item.goodsSku.price }}
</view>
</view> -->
<view class="price"
v-if="isProductPrice(item)">
现价<text>{{ item.price }}</text>
</view>
<view class="del"
v-if="isProductPrice(item)">
原价{{ item.oldPrice }}
</view>
<!-- <view class="favorable" v-if="item.oldPrice">
<view class="t">
原价
</view>
<view class="p">
{{ item.oldPrice }}
</view>
</view> -->
<view class="favorable"
v-if="item.points
&& isProductPoint(item)">
<view class="t">
积分兑换
</view>
<view class="p">
{{ item.points }}
</view>
</view>
<view class="num">
{{ item.shopId }}
</view>
<!-- <view class="num">
已售卖{{ item.soldNum || 0 }}+
</view> -->
</view>
<view class="btn">
<uv-icon name="shopping-cart"
color="#fff"></uv-icon>
</view>
</view>
</view>
</template>
<script>
import productMixins from '@/mixins/product.js'
export default {
mixins : [productMixins],
name:"productList",
props : ['productList'],
data() {
return {
};
},
methods : {
},
}
</script>
<style scoped lang="scss">
.list{
display: flex;
flex-wrap: wrap;
.item{
position: relative;
width: 300rpx;
padding: 20rpx;
background-color: #fff;
border-radius: 20rpx;
margin-top: 20rpx;
&:nth-child(odd){
margin-right: 20rpx;
}
.image{
width: 300rpx;
height: 250rpx;
border-radius: 20rpx;
}
.info{
font-size: 26rpx;
.title{
font-size: 28rpx;
}
.price{
color: $uni-price-color;
margin-top: 6rpx;
text{
font-size: 30rpx;
font-weight: 900;
}
}
.del{
font-size: 22rpx;
color: #888;
font-weight: 500;
text-decoration : line-through;
}
.favorable{
display: flex;
// background-image: url(/static/image/product/favorable.png);
background-size: 100% 100%;
width: fit-content;
font-size: 20rpx;
margin-top: 6rpx;
border-radius: 10rpx;
overflow: hidden;
background-color: #ff000011;
.t{
padding: 5rpx 10rpx;
}
.p{
padding: 5rpx 10rpx;
color: #fff;
background-color: #F03F25;
height: 100%;
}
}
.num{
margin-top: 6rpx;
font-size: 22rpx;
color: #888;
}
}
.btn{
position: absolute;
right: 20rpx;
bottom: 20rpx;
padding: 10rpx;
border-radius: 50%;
background-color: $uni-color;
}
}
}
</style>

+ 10
- 2
pages_order/components/list/workList/workItem.vue View File

@ -62,10 +62,18 @@
<!-- 节假日福利 -->
{{ item.iconTitle }}
</view>
<view class="Apply"
<!-- <view class="Apply"
@click.stop="callPhone">
应聘
</view>
</view> -->
<callPhone
style="margin-left: auto;"
:phone="item.userPhone"
type="2"
:phoneTitle="item.title"
:pid="item.id"
title="应聘"/>
</view>
</view>


+ 156
- 67
pages_order/gourmet/gourmetDetail.vue View File

@ -23,15 +23,7 @@
</view>
</view>
</view>
<!-- <view class="dynamics" v-html="$utils.stringFormatHtml(detail.title)">
</view> -->
<view class="Artworkimages">
<view class="wrokimg" @click.stop="previewImage(detail.detailsImage, i)" :key="i"
v-for="(img, i) in detail.detailsImage">
<image :src="img" mode="aspectFill"></image>
</view>
</view>
<addressSpot
:address="detail.address"
@ -46,12 +38,69 @@
<view class="browse">
{{ detail.isComment }}条评论
</view>
</view>
</view>
<!-- 分类 -->
<view class="LabelOptions">
<uv-tabs :list="category"
:activeStyle="{color : '#000', fontWeight : 900}"
lineColor="#5baaff"
lineHeight="8rpx"
lineWidth="50rpx"
:scrollable="false"
@click="tabsClick"></uv-tabs>
</view>
<!-- 商城美食 -->
<view class="goodList"
v-if="tagIndex == 0">
<goodList :productList="list"/>
</view>
<!-- 店铺介绍 -->
<view class="goodInfo"
v-if="tagIndex == 1">
<view class="box" :style="{'--sexcolor' : sex[detail.sex].color}">
<view class="headPortraitimg"
v-if="detail.shopImage">
<image :src="detail.shopImage"
@click.stop="previewImage([item.shopImage])"
mode="aspectFill"></image>
</view>
<view class="YaoduUniversalWall">
<view class="heide"
v-if="detail.shopName">
<view class="username text-ellipsis">
{{ detail.shopName }}
</view>
</view>
<callPhone
:phone="detail.shopPhone"
type="3"
:phoneTitle="detail.title"
:pid="detail.id"
title="联系店家" />
</view>
</view>
<view class="dynamics"
v-html="$utils.stringFormatHtml(detail.title)">
</view>
<view class="Artworkimages">
<view class="wrokimg" @click.stop="previewImage(detail.detailsImage, i)" :key="i"
v-for="(img, i) in detail.detailsImage">
<image :src="img" mode="aspectFill"></image>
</view>
</view>
</view>
<!-- 评论组件 -->
<commentList
v-if="tagIndex == 2"
@getData="getData"
:list="list"
:params="params"
@ -65,31 +114,51 @@
import mixinsSex from '@/mixins/sex.js'
import mixinsList from '@/mixins/list.js'
import commentList from '../components/list/comment/commentList.vue'
import goodList from '../components/list/gourmet/goodList.vue'
export default {
mixins: [mixinsSex, mixinsList],
components: {
commentList
commentList,
goodList,
},
data() {
return {
category : [
{
name : '美食商城',
value : 0,
},
{
name : '店铺介绍',
value : 1,
},
{
name : '店铺评论',
value : 2,
},
],
detail: {},
mixinsListApi : 'getCommentPage',
// mixinsListApi : 'getCommentPage',//
mixinsListApi : 'getGoodsList',//
params : {
type : '4',
orderId : '',
name : '',
},
id : 0,
tagIndex : 0,
}
},
onLoad(options) {
// this.$route.query
console.log(options)
this.id = options.id
this.queryParams.type = this.params.type
this.queryParams.orderId = options.id
this.params.orderId = options.id
this.queryParams.shopId = options.id
},
onShareAppMessage(res) {
return {
@ -111,6 +180,19 @@
// }
},
methods: {
tabsClick(item) {
this.tagIndex = item.value
if(this.tagIndex == 0){
this.list = []
this.mixinsListApi = 'getGoodsList'
}else if(this.tagIndex == 2){
this.list = []
this.mixinsListApi = 'getCommentPage'
}
this.getData()
},
getDetail() {
this.$api('getStoreDetail', {
id: this.id
@ -145,43 +227,42 @@
<style lang="scss" scoped>
.postDetail {
padding-bottom: env(safe-area-inset-bottom);
.works {
background-color: #fff;
padding: 40rpx;
border-radius: 20rpx;
.box {
display: flex;
align-items: center;
.headPortraitimg {
width: 100rpx;
height: 100rpx;
border-radius: 15rpx;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
.box {
display: flex;
align-items: center;
.headPortraitimg {
width: 100rpx;
height: 100rpx;
border-radius: 15rpx;
overflow: hidden;
image {
width: 100%;
height: 100%;
}
.YaoduUniversalWall {
padding: 0rpx 10rpx;
.Times {
display: flex;
padding: 5rpx 0rpx;
font-size: 20rpx;
margin-top: 10rpx;
.Month {
margin: 0rpx 15rpx;
}
}
.YaoduUniversalWall {
padding: 0rpx 10rpx;
.Times {
display: flex;
padding: 5rpx 0rpx;
font-size: 20rpx;
margin-top: 10rpx;
.Month {
margin: 0rpx 15rpx;
}
}
}
}
.works {
background-color: #fff;
padding: 40rpx;
border-radius: 20rpx;
.personalInformation {
display: flex;
@ -196,29 +277,8 @@
}
}
.dynamics {
margin-top: 20rpx;
font-size: 28rpx;
// font-weight: bold;
// line-height: 35rpx;
letter-spacing: 3rpx;
}
.Artworkimages {
display: flex;
flex-wrap: wrap;
.wrokimg {
margin: 10rpx;
image {
height: 190rpx;
width: 190rpx;
border-radius: 20rpx;
}
}
}
.bottom {
display: flex;
margin-top: 20rpx;
@ -237,5 +297,34 @@
}
}
.goodList{
padding: 0 20rpx;
}
.goodInfo{
margin: 20rpx;
padding: 20rpx;
background-color: #fff;
border-radius: 30rpx;
.dynamics {
margin-top: 20rpx;
font-size: 28rpx;
letter-spacing: 3rpx;
}
.Artworkimages {
display: flex;
flex-wrap: wrap;
.wrokimg {
margin: 10rpx;
image {
height: 190rpx;
width: 190rpx;
border-radius: 20rpx;
}
}
}
}
}
</style>

+ 1
- 1
pages_order/mine/runningWater.vue View File

@ -57,7 +57,7 @@
},
]
},
x : ['+', '-' , '-' , '+'],
x : ['-' , '+'],
status : 0,
}
},


+ 33
- 0
pages_order/notice/noticeDetail.vue View File

@ -0,0 +1,33 @@
<template>
<view class="page">
<navbar title="公告" leftClick @leftClick="$utils.navigateBack" />
<view class="content">
<uv-parse :content="headInfo.notice.keyDetails"></uv-parse>
</view>
</view>
</template>
<script>
import { mapState } from 'vuex'
export default {
data() {
return {
}
},
computed: {
...mapState(['city', 'userInfo', 'headInfo']),
},
methods: {
}
}
</script>
<style scoped lang="scss">
.page{
.content{
padding: 20rpx;
}
}
</style>

+ 0
- 11
pages_order/post/postDetail.vue View File

@ -90,17 +90,6 @@
}
})
},
callPhone(){
uni.makePhoneCall({
phoneNumber: this.detail.phone,
success() {
console.log('安卓拨打成功');
},
fail() {
console.log('安卓拨打失败');
}
})
},
}
}
</script>


+ 21
- 2
pages_order/product/productDetail.vue View File

@ -17,19 +17,29 @@
{{ detail.nameSub }}
</view>
<view class="info-line">
<view class="price">
<view class="price"
v-if="isProductPrice(detail)">
现价<text>
{{
detail.price
}}
</text>
</view>
<view class="oldPrice"
v-if="isProductPrice(detail)">
原价<text>
{{
detail.oldPrice
}}
</text>
</view>
<!-- <view class="num">
已售{{ detail.soldNum || 0 }}+
<image src="../static/product/like.png" mode=""></image>
</view> -->
</view>
<view class="favorable" v-if="detail.points">
<view class="favorable" v-if="detail.points
&& isProductPoint(detail)">
<view class="t">
积分兑换
</view>
@ -90,7 +100,9 @@
<script>
import submit from '../components/product/submit.vue'
import submitUnitSelect from '../components/product/submitUnitSelect.vue'
import productMixins from '@/mixins/product.js'
export default {
mixins : [productMixins],
components : {
submit,
submitUnitSelect,
@ -181,6 +193,13 @@
font-size: 34rpx;
}
}
.oldPrice{
margin: 0 auto 0 10rpx;
font-size: 24rpx;
color: #888;
font-weight: 500;
text-decoration : line-through;
}
.num{
font-size: 24rpx;
image{


+ 13
- 1
pages_order/renting/rentingDetail.vue View File

@ -94,11 +94,23 @@
</view>
<view
<!-- <view
style="margin-left: auto;"
class="d-btn" @click="clickService">
<span>打电话</span>
</view> -->
<view style="width: 160rpx;font-size: 26rpx;
margin-left: auto;
height: 50rpx;">
<callPhone
:phone="detail.phone"
type="1"
:phoneTitle="detail.title"
:pid="detail.id"
title="联系房东"/>
</view>
</view>
</view>


+ 0
- 1
pages_order/renting/rentingList.vue View File

@ -26,7 +26,6 @@
import mixinsList from '@/mixins/list.js'
import screenSearch from '../components/screen/screenSearch.vue'
import rentingItem from '../components/list/renting/rentingItem.vue'
export default {
mixins: [mixinsList],
components: {


+ 9
- 0
store/store.js View File

@ -15,6 +15,7 @@ const store = new Vuex.Store({
cityList : [],//城市列表
category : [],//动态分类
headInfo : [],//首页配置
vipLogList : [],//当前用户vip开通记录,用于计算结束时间
},
getters: {
// 角色 true为水洗店 false为酒店
@ -135,6 +136,14 @@ const store = new Vuex.Store({
}
})
},
// 查询当前开通会员以及过期时间
getMemberInfo(state){
api('getMemberInfo', res =>{
if(res.code == 200){
state.vipLogList = res.result
}
})
},
},
actions: {},
})


Loading…
Cancel
Save