parent
26542f2f31
commit
815337acc7
@ -1,160 +1,187 @@ |
||||
<template> |
||||
<view> |
||||
|
||||
<view v-if="recordInfo == '' " class="mart60 fotct font14 fcor666"> |
||||
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image> |
||||
</view> |
||||
|
||||
<view class="width90" v-for="recod in recordInfo" :key="recod.id"> |
||||
<view class="width100 font15 height20 mart10"> |
||||
<view class="flleft width50 fcor666"> |
||||
积分充值 |
||||
</view> |
||||
<view class="flright width50 fotrt fcorred" v-if="typeId == 1"> |
||||
+{{recod.gold}} |
||||
</view> |
||||
<view class="flright width50 fotrt fcorred" v-else> |
||||
-{{recod.gold}} |
||||
</view> |
||||
</view> |
||||
<view class="width100 fcor999 font14 mart5"> |
||||
{{recod.createTime | formatDate('-')}} |
||||
</view> |
||||
<view class="line1f2 mart15"></view> |
||||
</view> |
||||
<view class="loading-text">{{ loadingText }}</view> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import { |
||||
getUserGoldRecList |
||||
} from '../../../Utils/Api.js'; |
||||
let app = getApp(); |
||||
export default { |
||||
data() { |
||||
return { |
||||
typeId: '', |
||||
recordInfo: [], |
||||
imagewxUrl: app.globalData.imageWxImg, |
||||
imgadres:'noorder.png', |
||||
pageNum: 1, |
||||
pageSize: 10, |
||||
isNoMoreData: false, |
||||
loadingText: '' |
||||
} |
||||
}, |
||||
onLoad(option) { |
||||
this.typeId = option.id; |
||||
if (this.typeId == 1) { |
||||
uni.setNavigationBarTitle({ |
||||
title: '充值记录' |
||||
}) |
||||
} else { |
||||
uni.setNavigationBarTitle({ |
||||
title: '消费记录' |
||||
}) |
||||
} |
||||
this.getUserGoldRecLists(); |
||||
}, |
||||
filters: { |
||||
//过滤器 用于格式化时间 |
||||
formatDate: function(value, spe = '/') { |
||||
let data = new Date(value); |
||||
let year = data.getFullYear(); |
||||
let month = data.getMonth() + 1; |
||||
let day = data.getDate(); |
||||
let h = data.getHours(); |
||||
let mm = data.getMinutes(); |
||||
let s = data.getSeconds(); |
||||
month = month >= 10 ? month : "0" + month; |
||||
day = day >= 10 ? day : "0" + day; |
||||
h = h >= 10 ? h : "0" + h; |
||||
mm = mm >= 10 ? mm : "0" + mm; |
||||
s = s >= 10 ? s : "0" + s; |
||||
return `${year}${spe}${month}${spe}${day} ${h}:${mm}:${s}`; |
||||
} |
||||
}, |
||||
onReachBottom() { |
||||
this.getUserGoldRecLists(); |
||||
}, |
||||
methods: { |
||||
getUserGoldRecLists() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
if (this.isNoMoreData) { |
||||
uni.hideLoading() |
||||
this.loadingText = '到底了'; |
||||
return false; |
||||
} |
||||
let pagenum = this.pageNum; |
||||
let params = { |
||||
pageNum: pagenum, |
||||
goldType: this.typeId, |
||||
pageSize: this.pageSize |
||||
} |
||||
getUserGoldRecList(params).then(res => { |
||||
if (res.return_code == '000000') { |
||||
uni.hideLoading(); |
||||
this.isNoMoreData = res.return_data.list.length == this.pageSize ? false : true; |
||||
if(res.return_data.total == (this.pageNum * this.pageSize)){ |
||||
this.isNoMoreData = true; |
||||
} |
||||
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum; |
||||
this.recordInfo = this.recordInfo.concat(res.return_data.list); |
||||
} else { |
||||
this.recordInfo = []; |
||||
uni.hideLoading() |
||||
} |
||||
}) |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
page { |
||||
background-color: #f8f8f9; |
||||
} |
||||
|
||||
.loading-text { |
||||
width: 100%; |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
height: 60upx; |
||||
color: #979797; |
||||
font-size: 24upx; |
||||
} |
||||
|
||||
.bordr { |
||||
border-top: 1px solid #fcfcfc; |
||||
} |
||||
|
||||
.height60 { |
||||
height: 60px; |
||||
line-height: 60px; |
||||
} |
||||
|
||||
.pictime { |
||||
margin-left: 20px; |
||||
} |
||||
|
||||
.arrow { |
||||
width: 8px; |
||||
height: 8px; |
||||
border-top: 2px solid #999; |
||||
border-right: 2px solid #999; |
||||
position: absolute; |
||||
left: 30%; |
||||
top: 22px; |
||||
transform: rotate(135deg); |
||||
} |
||||
|
||||
.line1f2 { |
||||
width: 100%; |
||||
height: 1px; |
||||
background-color: #f2f2f2; |
||||
} |
||||
<template> |
||||
<view> |
||||
|
||||
<!-- <view v-if="recordInfo == '' " class="mart60 fotct font14 fcor666"> |
||||
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image> |
||||
</view> |
||||
--> |
||||
<view class="width94 backcorfff mart20" style="border-radius: 8px;"> |
||||
<view class="width94 alijus fotct font16 fcor333 paddtop20"> |
||||
<view class="width50" @click="changestu(1)">积分收支明细</view> |
||||
<view class="width50" @click="changestu(2)">7天即将过期积分</view> |
||||
</view> |
||||
<view class="width94 paddtop15"> |
||||
<view class="width50 flleft fotct" v-if="typeId == 1"> |
||||
<view class="width40w" style="height: 2px;background-color: red;"></view> |
||||
</view> |
||||
<view class="width50 flright fotct" v-if="typeId == 2"> |
||||
<view class="width40w" style="height: 2px;background-color: red;"></view> |
||||
</view> |
||||
</view> |
||||
<view class="width100 line1 marb20"></view> |
||||
<view v-if="recordInfo == null " class="mart60 fotct font14 fcor666"> |
||||
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image> |
||||
</view> |
||||
<view class="width100" v-for="recod in recordInfo" :key="recod.id"> |
||||
<view class="width94 font16 mart10 alijusstart"> |
||||
<view class="width70"> |
||||
<view class="fcor666" v-if="recod.remark"> |
||||
{{recod.remark}} |
||||
</view> |
||||
<view class="fcor666" v-else> |
||||
暂无 |
||||
</view> |
||||
<view class="fcor999 font13 mart10"> |
||||
{{recod.createTime | formatDate('-')}} |
||||
</view> |
||||
</view> |
||||
<view class="width30"> |
||||
<view class="font20 fotrt fcorred" v-if="recod.goldType == 1"> |
||||
+{{recod.gold}} |
||||
</view> |
||||
<view class=" font20 fotrt fcor41c" v-else> |
||||
-{{recod.gold}} |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="line1f2 mart10"></view> |
||||
</view> |
||||
</view> |
||||
<view class="height60"></view> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import { |
||||
getUserGoldRecList, |
||||
selectByExpiringSoon |
||||
} from '../../../Utils/Api.js'; |
||||
let app = getApp(); |
||||
export default { |
||||
data() { |
||||
return { |
||||
typeId: 1, |
||||
recordInfo: [], |
||||
imagewxUrl: app.globalData.imageWxImg, |
||||
imgadres: 'noorder.png', |
||||
pageNum: 1, |
||||
pageSize: 10, |
||||
isNoMoreData: false, |
||||
} |
||||
}, |
||||
onLoad(option) { |
||||
|
||||
this.getUserGoldRecLists(); |
||||
}, |
||||
filters: { |
||||
//过滤器 用于格式化时间 |
||||
formatDate: function(value, spe = '/') { |
||||
let data = new Date(value); |
||||
let year = data.getFullYear(); |
||||
let month = data.getMonth() + 1; |
||||
let day = data.getDate(); |
||||
let h = data.getHours(); |
||||
let mm = data.getMinutes(); |
||||
let s = data.getSeconds(); |
||||
month = month >= 10 ? month : "0" + month; |
||||
day = day >= 10 ? day : "0" + day; |
||||
h = h >= 10 ? h : "0" + h; |
||||
mm = mm >= 10 ? mm : "0" + mm; |
||||
s = s >= 10 ? s : "0" + s; |
||||
return `${year}${spe}${month}${spe}${day} ${h}:${mm}:${s}`; |
||||
} |
||||
}, |
||||
onReachBottom() { |
||||
this.getUserGoldRecLists(); |
||||
}, |
||||
methods: { |
||||
//切换状态 |
||||
changestu(item) { |
||||
this.typeId = item; |
||||
if (item == 1) { |
||||
this.isNoMoreData = false; |
||||
this.pageNum = 1; |
||||
this.recordInfo = []; |
||||
this.getUserGoldRecLists(); |
||||
} else { |
||||
this.recordInfo = []; |
||||
this.selectByExpiringSoon(); |
||||
} |
||||
}, |
||||
//查询积分情况 |
||||
getUserGoldRecLists() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
if (this.isNoMoreData) { |
||||
uni.hideLoading() |
||||
return false; |
||||
} |
||||
let pagenum = this.pageNum; |
||||
let params = { |
||||
pageNum: pagenum, |
||||
pageSize: this.pageSize |
||||
} |
||||
getUserGoldRecList(params).then(res => { |
||||
if (res.return_code == '000000') { |
||||
uni.hideLoading(); |
||||
this.isNoMoreData = res.return_data.list.length == this.pageSize ? false : true; |
||||
if (res.return_data.total == (this.pageNum * this.pageSize)) { |
||||
this.isNoMoreData = true; |
||||
} |
||||
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum; |
||||
this.recordInfo = this.recordInfo.concat(res.return_data.list); |
||||
} else { |
||||
this.recordInfo = []; |
||||
uni.hideLoading() |
||||
} |
||||
}) |
||||
}, |
||||
//查询积分情况 |
||||
selectByExpiringSoon() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
selectByExpiringSoon().then(res => { |
||||
uni.hideLoading(); |
||||
if (res.return_code == '000000') { |
||||
this.recordInfo = res.return_data.list; |
||||
} else { |
||||
this.recordInfo = []; |
||||
} |
||||
}) |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
page { |
||||
background-color: #f6f6f6; |
||||
} |
||||
|
||||
.bordr { |
||||
border-top: 1px solid #fcfcfc; |
||||
} |
||||
|
||||
.pictime { |
||||
margin-left: 20px; |
||||
} |
||||
|
||||
.arrow { |
||||
width: 8px; |
||||
height: 8px; |
||||
border-top: 2px solid #999; |
||||
border-right: 2px solid #999; |
||||
position: absolute; |
||||
left: 30%; |
||||
top: 22px; |
||||
transform: rotate(135deg); |
||||
} |
||||
|
||||
.line1f2 { |
||||
width: 100%; |
||||
height: 1px; |
||||
background-color: #f2f2f2; |
||||
} |
||||
</style> |
||||
|
@ -0,0 +1,43 @@ |
||||
<template> |
||||
<view> |
||||
<image :src="imgs" mode="widthFix" class="width90 mart15"></image> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import { |
||||
promotionalPosters |
||||
} from '../../../Utils/Api.js'; |
||||
export default { |
||||
data() { |
||||
return { |
||||
imgs: '' |
||||
} |
||||
}, |
||||
onLoad() { |
||||
this.promotionalPosters(); |
||||
}, |
||||
methods: { |
||||
promotionalPosters() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
promotionalPosters().then(res => { |
||||
uni.hideLoading(); |
||||
if (res.return_code == '000000') { |
||||
this.imgs = res.return_data; |
||||
// uni.showToast({ |
||||
// title: "请截图保存至手机相册", |
||||
// icon: "none", |
||||
// duration: 3000 |
||||
// }); |
||||
} |
||||
}) |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
|
||||
</style> |
@ -0,0 +1,291 @@ |
||||
<template> |
||||
<view> |
||||
<image src="../../../static/img/user/1.png" class="width100 images"></image> |
||||
<view class="width100 font16 fcorfff title fotct paddtop15">今日积分收入</view> |
||||
<view class="width100 font48 fcorfff title fotct paddtop15"> |
||||
{{ !distribution.toDayIntegralNum ? 0 : distribution.toDayIntegralNum}} |
||||
</view> |
||||
<view class="title paddtop15 alijus fcorfff fotct"> |
||||
<view class="width30w "> |
||||
<view class="width100 font14">邀请人数</view> |
||||
<view class="width100 font18 paddtop5"> |
||||
{{ !distribution.inviteeNum ? 0 : distribution.inviteeNum}} |
||||
</view> |
||||
</view> |
||||
<view class="backcorfff" style="width: 1px;height: 50px;"></view> |
||||
<view class="width30w"> |
||||
<view class="width100 font14">积分收入</view> |
||||
<view class="width100 font18 paddtop5"> |
||||
{{ !distribution.integralIncome ? 0 : distribution.integralIncome}} |
||||
</view> |
||||
</view> |
||||
<view class="backcorfff" style="width: 1px;height: 50px;"></view> |
||||
<view class="width30w"> |
||||
<view class="width100 font14">积分笔数</view> |
||||
<view class="width100 font18 paddtop5">{{ !distribution.orderCount ? 0 : distribution.orderCount}} |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="font14 width20w fcorfff title fotct mart10" |
||||
style="padding: 3px 5px;border-radius: 15px;border: 1px solid;" @click="jumpmypro()">我的邀请码</view> |
||||
|
||||
<view class="width90 mart40 alijus "> |
||||
<view class="font14 fcor666 paddtop5 paddbotm5 margle20 marRight20" v-for="(item,index) in cateTypeList" |
||||
@click="switchid(item)" :class="[goodtyid == item.id ? 'fon62ac borbtom fontwig6 font16' : '']" |
||||
:key="index"> |
||||
{{item.title}} |
||||
</view> |
||||
</view> |
||||
|
||||
<view class="alijus width90 fotct mart20 font14 fcor666" v-if="goodtyid == 1"> |
||||
<view class="width30w fotlt"> |
||||
名称 |
||||
</view> |
||||
<view class="width30w"> |
||||
电话 |
||||
</view> |
||||
<view class="width30w"> |
||||
邀请时间 |
||||
</view> |
||||
</view> |
||||
<view class="width100" v-if="goodtyid == 1"> |
||||
<view v-if="dataslist == '' " class="mart60 fotct font14 fcor666"> |
||||
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image> |
||||
</view> |
||||
<view class="alijus width90 fotct mart15 font14 fcor999" v-for="(item,index) in dataslist" :key="index"> |
||||
<view class="width30w fotlt"> |
||||
{{item.userName}} |
||||
</view> |
||||
<view class="width30w fotlt"> |
||||
{{item.phone}} |
||||
</view> |
||||
<view class="width30w"> |
||||
{{item.createTime | timeFormat('yyyy-mm-dd hh:mm:ss')}} |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<view class="width100" v-if="goodtyid == 2"> |
||||
<view v-if="integralList == '' " class="mart60 fotct font14 fcor666"> |
||||
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image> |
||||
</view> |
||||
<view class="alijus width94 mart15 font14 fcor999" v-for="(item,index) in integralList" :key="index"> |
||||
<image :src="imageUrl+item.ext1" class="icon40" mode="widthFix"></image> |
||||
<view class="width85 bor-botm1"> |
||||
<view class="width100 alijusstart"> |
||||
<view class="width70 fcor333 paddleft10">{{item.title}}</view> |
||||
<view class="width30 fcor333 fontwig6 font20 fotrt">+{{item.integralNum}}</view> |
||||
</view> |
||||
<view class="width100 fcor999 font13 paddleft10 paddbotm5"> |
||||
{{item.ext3}} | {{item.userName}} |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<view class="width100" v-if="goodtyid == 3"> |
||||
<view v-if="distrOrderList == '' " class="mart60 fotct font14 fcor666"> |
||||
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image> |
||||
</view> |
||||
<view class="alijus width100 mart15 font14 fcor999" v-for="(item,index) in distrOrderList" :key="index"> |
||||
<view class="width100 bor-botm1 paddleft5 paddtright10"> |
||||
<view class="width100 alijusstart"> |
||||
<view class="width70 fcor333 paddleft10">{{item.goodsTypeName}}</view> |
||||
<view class="width30 fcor333 fontwig6 font20 fotrt">¥{{item.totalPrice}}</view> |
||||
</view> |
||||
<view class="width100 fcor999 font13 paddleft10 paddbotm5"> |
||||
{{item.time}} | {{item.memName}} |
||||
</view> |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
<view class="height45"></view> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
import { |
||||
userDistributionStatistics, |
||||
distributionInviteList, |
||||
distributionOrderList, |
||||
promoteOrderList |
||||
} from '../../../Utils/Api.js' |
||||
let app = getApp(); |
||||
export default { |
||||
data() { |
||||
return { |
||||
imagewxUrl: app.globalData.imageWxImg, |
||||
imageUrl:app.globalData.imgUrl, |
||||
imgadres: 'noorder.png', |
||||
cateTypeList: [{ |
||||
id: 1, |
||||
title: '邀请列表' |
||||
}, |
||||
{ |
||||
id: 2, |
||||
title: '积分记录' |
||||
}, { |
||||
id: 3, |
||||
title: '推广记录' |
||||
}, |
||||
], |
||||
goodtyid: 1, //区分类型 |
||||
dataslist: [], //邀请列表 |
||||
distrOrderList: [], //订单列表 |
||||
distribution: '', //统计 |
||||
integralList: [], //积分数据 |
||||
pageNum: 1, |
||||
pageSize: 10, |
||||
isNoMoreData: false, |
||||
} |
||||
}, |
||||
onLoad() { |
||||
this.userDistributionStatistics(); |
||||
this.distributionInviteList(); |
||||
}, |
||||
methods: { |
||||
//跳转到生成海报 |
||||
jumpmypro() { |
||||
uni.navigateTo({ |
||||
url: '/pages/user/generatePoster/generatePoster' |
||||
}) |
||||
}, |
||||
//切换id |
||||
switchid(item) { |
||||
this.goodtyid = item.id; |
||||
if (item.id == 1) { |
||||
this.pageNum = 1; |
||||
this.dataslist = []; |
||||
this.isNoMoreData = false; |
||||
this.distributionInviteList(); |
||||
} else if (item.id == 2) { |
||||
this.pageNum = 1; |
||||
this.integralList = []; |
||||
this.isNoMoreData = false; |
||||
this.distributionOrderList(); |
||||
} else if (item.id == 3) { |
||||
this.pageNum = 1; |
||||
this.distrOrderList = []; |
||||
this.isNoMoreData = false; |
||||
this.promoteOrderList(); |
||||
} |
||||
}, |
||||
//分销统计 |
||||
userDistributionStatistics() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
userDistributionStatistics().then(res => { |
||||
if (res.return_code == '000000') { |
||||
this.distribution = res.return_data; |
||||
uni.hideLoading(); |
||||
} |
||||
}) |
||||
}, |
||||
//邀请列表 |
||||
distributionInviteList() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
if (this.isNoMoreData) { |
||||
uni.hideLoading(); |
||||
return false; |
||||
} |
||||
let pagenum = this.pageNum; |
||||
let params = { |
||||
pageNum: pagenum, |
||||
pageSize: this.pageSize, |
||||
} |
||||
distributionInviteList(params).then(res => { |
||||
uni.hideLoading(); |
||||
if (res.return_code == '000000') { |
||||
this.isNoMoreData = res.return_data.list.length == this.pageSize ? false : true; |
||||
this.dataslist = this.dataslist.concat(res.return_data.list); |
||||
if (res.return_data.total == (this.pageNum * this.pageSize)) { |
||||
this.isNoMoreData = true; |
||||
} |
||||
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum; |
||||
} else { |
||||
this.dataslist = []; |
||||
} |
||||
}) |
||||
}, |
||||
// 分销用户积分 |
||||
distributionOrderList() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
if (this.isNoMoreData) { |
||||
uni.hideLoading() |
||||
return false; |
||||
} |
||||
let pagenum = this.pageNum; |
||||
let params = { |
||||
pageNum: pagenum, |
||||
pageSize: this.pageSize, |
||||
} |
||||
distributionOrderList(params).then(res => { |
||||
uni.hideLoading(); |
||||
if (res.return_code == '000000') { |
||||
this.isNoMoreData = res.return_data.list.length == this.pageSize ? false : true; |
||||
this.integralList = this.integralList.concat(res.return_data.list); |
||||
if (res.return_data.total == (this.pageNum * this.pageSize)) { |
||||
this.isNoMoreData = true; |
||||
} |
||||
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum; |
||||
} else { |
||||
this.integralList = []; |
||||
} |
||||
}) |
||||
}, |
||||
//分销用户订单列表 |
||||
promoteOrderList() { |
||||
uni.showLoading({ |
||||
title: '加载中...' |
||||
}) |
||||
if (this.isNoMoreData) { |
||||
uni.hideLoading() |
||||
return false; |
||||
} |
||||
let pagenum = this.pageNum; |
||||
let params = { |
||||
pageNum: pagenum, |
||||
pageSize: this.pageSize, |
||||
} |
||||
promoteOrderList(params).then(res => { |
||||
uni.hideLoading(); |
||||
if (res.return_code == '000000') { |
||||
this.isNoMoreData = res.return_data.list.length == this.pageSize ? false : true; |
||||
this.distrOrderList = this.distrOrderList.concat(res.return_data.list); |
||||
if (res.return_data.total == (this.pageNum * this.pageSize)) { |
||||
this.isNoMoreData = true; |
||||
} |
||||
this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum; |
||||
} else { |
||||
this.distrOrderList = []; |
||||
} |
||||
}) |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
.images { |
||||
position: absolute; |
||||
height: 235px; |
||||
} |
||||
|
||||
.title { |
||||
position: relative; |
||||
} |
||||
|
||||
.borbtom { |
||||
border-bottom: 3px solid #62ac4e; |
||||
} |
||||
|
||||
.fon62ac { |
||||
color: #62ac4e; |
||||
} |
||||
</style> |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.5 KiB |
Loading…
Reference in new issue