Commit fd59ea61 authored by Smile's avatar Smile Committed by wux

app客户端会员等级日志,以及屏蔽会员部分功能

parent 8b460d3b
...@@ -316,6 +316,12 @@ ...@@ -316,6 +316,12 @@
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{
"path": "pages/log/level",
"style": {
"navigationStyle": "custom"
}
},
{ {
"path": "pages/order_mail/order_mail", "path": "pages/order_mail/order_mail",
"style": { "style": {
......
...@@ -32,13 +32,17 @@ ...@@ -32,13 +32,17 @@
<view class="menu-item" @click="toLog(0)" <view class="menu-item" @click="toLog(0)"
>{{ $lang.lang.integral.logPoints }}&ensp;&gt;</view >{{ $lang.lang.integral.logPoints }}&ensp;&gt;</view
> >
<view class="menu-item" @click="toLog(1)" <!--不显示兑换日志-->
<view class="menu-item" @click="toLog(1)" v-if="false"
>{{ $lang.lang.integral.logExchange }}&ensp;&gt;</view >{{ $lang.lang.integral.logExchange }}&ensp;&gt;</view
> >
<view class="menu-item" @click="toLog(2)"
>{{ $lang.lang.integral.logLevel }}&ensp;&gt;</view
>
</view> </view>
</view> </view>
</view> </view>
<view class="main"> <view class="main" v-if="false">
<view class="main-nav"> <view class="main-nav">
<view <view
class="nav-item" class="nav-item"
...@@ -100,7 +104,21 @@ export default { ...@@ -100,7 +104,21 @@ export default {
}, },
methods: { methods: {
toLog(val) { toLog(val) {
const url = val === 1 ? "/pages/log/exchange" : "/pages/log/integral"; let url = "";
switch (val) {
case 0:
url = "/pages/log/exchange";
break;
case 1:
url = "/pages/log/integral";
break;
case 2:
url = "/pages/log/level";
break;
default:
// 可以添加默认处理逻辑
break;
}
uni.navigateTo({ url }); uni.navigateTo({ url });
}, },
// 获取个人信息 // 获取个人信息
......
<template>
<view>
<dHeader :title="$lang.lang.log.logLevel"></dHeader>
<view class="container">
<view class="item" v-for="(item, index) in list" :key="index">
<div class="item-title">
{{ formattedLevelData(item.level)}}
</div>
<div class="item-box">
<div class="box-img">
<image class="imgs" :src="imgArr[item.sourceType]"></image>
</div>
<div class="box-content">
<div class="content-text">
{{ item.remarks }}
</div>
<div class="content-time">{{ formatDate(item.createTime) }}</div>
</div>
<div class="box-right">
<view class="box-right-num" v-if="item.rewardCount">X{{ item.rewardCount }}</view>
<view class="box-right-img" v-if="item.expired">
<image src="../../static/img/overdue.png"></image>
</view>
<view class="box-right-text">{{ formattedOperateData(item.operateType)}}</view>
</div>
</div>
</view>
</view>
</view>
</template>
<script>
import dHeader from '../../components/dHeader/index.vue'
export default {
components: {
dHeader
},
data() {
return {
list: [],
levelData:[],
operateData:[]
}
},
created() {
this.getList()
this.getLevels()
this.getOperateData()
},
computed: {
locale() {
return this.$lang.locale
},
// 图片数组
imgArr() {
return {
1: '../../static/img/log_type1.png',
2: '../../static/img/log_type2.png',
4: '../../static/img/log_type4.png',
5: '../../static/img/log_type5.png',
6: '../../static/img/log_type6.png',
7: '../../static/img/log_type7.png',
8: '../../static/img/log_type8.png'
}
}
},
methods: {
formattedLevelData(value) {
const item=this.levelData.filter(item => value==item.value)[0]
return item[this.$lang.label];
},
formattedOperateData(value) {
const item=this.operateData.filter(item => value==item.value)[0]
return item[this.$lang.label];
},
getLevels () {
this.$request.getConfig('membership_levels').then(res => {
if(res.code==0&&res.data&&res.data.list&&res.data.list.length>0){
this.levelData = res.data.list
}
})
},
getOperateData () {
this.$request.getConfig('member_user_operate_log').then(res => {
if(res.code==0&&res.data&&res.data.list&&res.data.list.length>0){
this.operateData = res.data.list
}
})
},
// 获取列表
async getList() {
try {
const memberId = this.$store.getters.id
const { code, data } = await this.$request.post('/admin-api/member/level-operate-log/page', {
"memberId": memberId
})
if (code == 0 && data) {
this.list = data.list
}
} catch (err) {}
},
// 时间戳转换为YYYY-MM-DD HH:mm:ss
formatDate(time) {
const date = new Date(time)
const Y = date.getFullYear() + '-'
const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
const D = `${date.getDate()}`.padStart(2, '0') + ' '
const h = `${date.getHours()}`.padStart(2, '0') + ':'
const m = `${date.getMinutes()}`.padStart(2, '0') + ':'
const s = `${date.getSeconds()}`.padStart(2, '0')
return Y + M + D + h + m + s
}
}
}
</script>
<style lang="scss">
page {
overflow: auto;
/* height: 100%; */
/* #ifdef H5 */
padding-top: 140upx;
/* #endif */
/* #ifdef APP-PLUS */
padding-top: calc(var(--status-bar-height) + 100upx);
/* #endif */
background-color: #edf2fa;
}
.container {
padding: 20upx;
box-sizing: border-box;
.item {
padding: 20upx 30upx 30upx 30upx;
margin-bottom: 20upx;
width: 100%;
box-sizing: border-box;
border-radius: 16upx;
background: #ffffff;
box-shadow: 0 2upx 12upx 0 rgba(0, 0, 0, 0.1);
}
}
.item-title {
font-size: 24upx;
margin-bottom: 20upx;
}
.item-box {
width: 100%;
display: flex;
box-sizing: border-box;
}
.box-img {
width: 100upx;
height: 120upx;
margin-right: 20upx;
display: flex;
align-items: center;
justify-content: center;
.imgs {
width: 100upx;
height: 100upx;
object-fit: cover;
}
}
.box-content {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
.content-text {
font-size: 24upx;
color: #7f7f7f;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
line-clamp: 2;
overflow: hidden;
}
.content-time {
font-size: 20upx;
color: #7f7f7f;
}
}
.box-right {
margin-left: 10upx;
width: 120upx;
height: 120upx;
display: flex;
align-items: flex-end;
flex-direction: column;
justify-content: space-between;
border-radius: 50%;
font-size: 24upx;
color: #333333;
.box-right-text {
margin-top: auto;
}
}
.box-right-img {
transform: translate(20upx, -60upx);
width: 120upx;
height: 120upx;
image {
width: 100%;
height: 100%;
object-fit: cover;
}
}
</style>
...@@ -6,6 +6,7 @@ export default { ...@@ -6,6 +6,7 @@ export default {
available: 'The available integral is', available: 'The available integral is',
logPoints: 'Points log', logPoints: 'Points log',
logExchange: 'Exchange log', logExchange: 'Exchange log',
logLevel: 'Level log',
redeemGifts: 'Exchange gift', redeemGifts: 'Exchange gift',
pointsCampaign: ' Points promotion', pointsCampaign: ' Points promotion',
pointsRemark: 'Difference Pick up location exchange difference Points', pointsRemark: 'Difference Pick up location exchange difference Points',
......
...@@ -6,6 +6,7 @@ export default { ...@@ -6,6 +6,7 @@ export default {
available: 'Les points disponibles sont', available: 'Les points disponibles sont',
logPoints: 'Journal des points', logPoints: 'Journal des points',
logExchange: 'Journal des échanges', logExchange: 'Journal des échanges',
logLevel: 'Journal de niveau',
redeemGifts: 'Échanger un cadeau', redeemGifts: 'Échanger un cadeau',
pointsCampaign: 'Promotion de points', pointsCampaign: 'Promotion de points',
pointsRemark: 'Différence de points pour lieu de collecte', pointsRemark: 'Différence de points pour lieu de collecte',
......
...@@ -6,6 +6,7 @@ export default { ...@@ -6,6 +6,7 @@ export default {
available: '可用积分为', available: '可用积分为',
logPoints: '积分日志', logPoints: '积分日志',
logExchange: '兑换日志', logExchange: '兑换日志',
logLevel: '等级日志',
redeemGifts: '兑换礼品', redeemGifts: '兑换礼品',
pointsCampaign: '积分活动', pointsCampaign: '积分活动',
pointsRemark: '不同提货点兑换积分不同', pointsRemark: '不同提货点兑换积分不同',
......
export default { export default {
"logPoints": "积分日志", "logPoints": "积分日志",
"logExchange": "兑换日志", "logExchange": "兑换日志",
"logLevel": '等级日志',
"redeemGifts": "礼品兑换" "redeemGifts": "礼品兑换"
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment