Merge branch 'main' of https://git.nuttyreading.com/zm/taimed-international-app
This commit is contained in:
@@ -496,7 +496,9 @@
|
|||||||
"valueAddedServices": "Value-added services",
|
"valueAddedServices": "Value-added services",
|
||||||
"readAgree": "I have read and agreed",
|
"readAgree": "I have read and agreed",
|
||||||
"readAgreeServices": "Please read and agree to the value-added services first",
|
"readAgreeServices": "Please read and agree to the value-added services first",
|
||||||
"orderDetails": "Order Details"
|
"orderDetails": "Order Details",
|
||||||
|
"pointsRecord": "Points consumption record",
|
||||||
|
"unusable": "The billing service cannot be used on the device"
|
||||||
},
|
},
|
||||||
"vip": {
|
"vip": {
|
||||||
"courseVip": "Course VIP",
|
"courseVip": "Course VIP",
|
||||||
|
|||||||
@@ -497,7 +497,8 @@
|
|||||||
"readAgree": "我已阅读并同意",
|
"readAgree": "我已阅读并同意",
|
||||||
"readAgreeServices": "请先阅读并同意增值服务",
|
"readAgreeServices": "请先阅读并同意增值服务",
|
||||||
"orderDetails": "订单详情",
|
"orderDetails": "订单详情",
|
||||||
"pointsRecord": "积分消费记录"
|
"pointsRecord": "积分消费记录",
|
||||||
|
"unusable": "设备上无法使用计费服务"
|
||||||
},
|
},
|
||||||
"vip": {
|
"vip": {
|
||||||
"courseVip": "课程VIP",
|
"courseVip": "课程VIP",
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<z-paging ref="paging" v-model="bookList" auto-show-back-to-top class="my-book-page" @query="pointsList" :default-page-size="10">
|
<z-paging ref="paging" v-model="bookList" auto-show-back-to-top class="my-book-page" @query="pointsList"
|
||||||
|
:default-page-size="10">
|
||||||
<template #top>
|
<template #top>
|
||||||
<!-- 自定义导航栏 -->
|
<!-- 自定义导航栏 -->
|
||||||
<nav-bar :title="$t('user.consumptionRecord')"></nav-bar>
|
<nav-bar :title="$t('user.consumptionRecord')"></nav-bar>
|
||||||
@@ -7,13 +8,16 @@
|
|||||||
<view class="recharge-record" v-if="(bookList && bookList.length > 0)">
|
<view class="recharge-record" v-if="(bookList && bookList.length > 0)">
|
||||||
<view class="go-gecharge" @click="goRecharge">
|
<view class="go-gecharge" @click="goRecharge">
|
||||||
<view>{{$t('order.recharge')}}</view>
|
<view>{{$t('order.recharge')}}</view>
|
||||||
<view><wd-icon name="arrow-right" size="16px" color="#fff"/></view>
|
<view><wd-icon name="arrow-right" size="16px" color="#fff" /></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="title">{{$t('order.pointsRecord')}}</view>
|
<view class="title">{{$t('order.pointsRecord')}}</view>
|
||||||
<view class="recharge-record-block" v-for="(item, index) in bookList" :key="index">
|
<view class="recharge-record-block" v-for="(item, index) in bookList" :key="index">
|
||||||
<view class="recharge-record-block-row">{{item.remark.slice(0, (item.remark.indexOf(',')))}}<text :class="item.actType === 1 ? 'text1' : 'text2'" >{{item.actType === 1 ? '' : '+'}}{{item.changeAmount}}</text></view>
|
<view class="recharge-record-block-row">{{item.remark.slice(0, (item.remark.indexOf(':')))}}<text
|
||||||
|
:class="item.actType === 1 ? 'text1' : 'text2'">{{item.actType === 1 ? '' : '+'}}{{item.changeAmount}}</text>
|
||||||
|
</view>
|
||||||
<view class="time">{{item.createTime}}</view>
|
<view class="time">{{item.createTime}}</view>
|
||||||
<view style="font-size: 20rpx;">{{item.remark.slice((item.remark.indexOf(','))+1)}}</view>
|
<view style="font-size: 24rpx;">{{item.remark.slice((item.remark.indexOf(','))+1)}}<wd-icon name="file-copy"
|
||||||
|
size="14px" color="#65A1FA" style="margin-left: 10rpx;" @click="copyToClipboard()"></wd-icon></view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</z-paging>
|
</z-paging>
|
||||||
@@ -24,6 +28,7 @@
|
|||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { useUserStore } from '@/stores/user'
|
import { useUserStore } from '@/stores/user'
|
||||||
import { getPointsData } from '@/api/modules/user'
|
import { getPointsData } from '@/api/modules/user'
|
||||||
|
import { copyToClipboard } from '@/utils/index'
|
||||||
|
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const paging = ref<any>()
|
const paging = ref<any>()
|
||||||
@@ -74,7 +79,7 @@
|
|||||||
// padding: 20rpx;
|
// padding: 20rpx;
|
||||||
margin: 20rpx;
|
margin: 20rpx;
|
||||||
|
|
||||||
.go-gecharge{
|
.go-gecharge {
|
||||||
//height: 100rpx;
|
//height: 100rpx;
|
||||||
background: linear-gradient(to right, #007bff, #17a2b8);
|
background: linear-gradient(to right, #007bff, #17a2b8);
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
@@ -82,12 +87,14 @@
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
padding: 20rpx;
|
padding: 20rpx;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
display: flex;justify-content:space-between;align-items:center
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
padding-left:20rpx;
|
padding-left: 20rpx;
|
||||||
margin-bottom: 30rpx;
|
margin-bottom: 30rpx;
|
||||||
color: #007bff;
|
color: #007bff;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@@ -97,8 +104,8 @@
|
|||||||
border-bottom: 1px solid #e0e0e0;
|
border-bottom: 1px solid #e0e0e0;
|
||||||
padding: 20rpx;
|
padding: 20rpx;
|
||||||
|
|
||||||
.time{
|
.time {
|
||||||
font-size: 20rpx;
|
font-size: 24rpx;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -106,35 +113,36 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
|
font-weight: 700;
|
||||||
.text1{
|
.text1 {
|
||||||
color: #ff0000;
|
color: #ff0000;
|
||||||
}
|
}
|
||||||
.text2{
|
|
||||||
|
.text2 {
|
||||||
color: #228B22;
|
color: #228B22;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.empty-state {
|
.empty-state {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding-top: 200rpx;
|
padding-top: 200rpx;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width: 400rpx;
|
width: 400rpx;
|
||||||
height: 300rpx;
|
height: 300rpx;
|
||||||
margin-bottom: 40rpx;
|
margin-bottom: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.empty-text {
|
.empty-text {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #999;
|
color: #999;
|
||||||
margin-bottom: 50rpx;
|
margin-bottom: 50rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -224,6 +224,10 @@
|
|||||||
// 初始化成功
|
// 初始化成功
|
||||||
} else {
|
} else {
|
||||||
console.log('init失败了');
|
console.log('init失败了');
|
||||||
|
uni.showToast({
|
||||||
|
title: '设备上无法使用计费服务',
|
||||||
|
icon: 'fail'
|
||||||
|
})
|
||||||
// 初始化失败
|
// 初始化失败
|
||||||
isConnected.value = false;
|
isConnected.value = false;
|
||||||
}
|
}
|
||||||
@@ -424,13 +428,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.recharge-button {
|
.recharge-button {
|
||||||
width: 100%;
|
width: 60%;
|
||||||
height: 50rpx;
|
height: 50rpx;
|
||||||
line-height: 50rpx;
|
line-height: 50rpx;
|
||||||
background-color: #007bff;
|
background-color: #007bff;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
font-size: 18rpx;
|
font-size: 30rpx;
|
||||||
border-radius: 25rpx;
|
border-radius: 30rpx;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -460,7 +464,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.cha_fangsh {
|
.cha_fangsh {
|
||||||
padding: 20rpx 20rpx 60rpx 20rpx;
|
padding: 20rpx;
|
||||||
|
|
||||||
.cf_title {
|
.cf_title {
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
@@ -506,7 +510,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
padding: 20rpx 20rpx 160rpx 20rpx;
|
padding: 20rpx 20rpx 160rpx 20rpx;
|
||||||
color: #aaa;
|
color: #aaa;
|
||||||
font-size: 18rpx;
|
font-size: 26rpx;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.highlight {
|
.highlight {
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
<!-- 自定义导航栏 -->
|
<!-- 自定义导航栏 -->
|
||||||
<nav-bar :title="$t('user.consumptionRecord')"></nav-bar>
|
<nav-bar :title="$t('user.consumptionRecord')"></nav-bar>
|
||||||
</template>
|
</template>
|
||||||
|
<view style="padding: 20rpx;background-color:#FFF3CD">
|
||||||
|
<text style="font-size: 26rpx; color: #FFA500;">{{goBuyTitle}}</text>
|
||||||
|
</view>
|
||||||
<view class="recharge-record" v-if="(bookList && bookList.length > 0)">
|
<view class="recharge-record" v-if="(bookList && bookList.length > 0)">
|
||||||
<view class="go-gecharge" @click="goRecharge">
|
<view class="go-gecharge" @click="goRecharge">
|
||||||
<view>{{$t('order.recharge')}}</view>
|
<view>{{$t('order.recharge')}}</view>
|
||||||
@@ -16,7 +19,9 @@
|
|||||||
:class="item.orderType !== '充值' ? 'text1' : 'text2'">{{item.orderType !== '充值' ? '' : '+'}}{{item.changeAmount}}</text>
|
:class="item.orderType !== '充值' ? 'text1' : 'text2'">{{item.orderType !== '充值' ? '' : '+'}}{{item.changeAmount}}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="recharge-record-block-row_">{{item.productName}}</view>
|
<view class="recharge-record-block-row_">{{item.productName}}</view>
|
||||||
<view class="recharge-record-block-row_">{{$t('user.orderSn')}}:{{item.payNo}}</view>
|
<view class="recharge-record-block-row_">{{$t('user.orderSn')}}:{{item.payNo}}<wd-icon name="file-copy"
|
||||||
|
size="14px" color="#65A1FA" style="margin-left: 10rpx;" @click="copyToClipboard()"></wd-icon>
|
||||||
|
</view>
|
||||||
<view class="time">{{item.createTime}}</view>
|
<view class="time">{{item.createTime}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -28,6 +33,7 @@
|
|||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import { useUserStore } from '@/stores/user'
|
import { useUserStore } from '@/stores/user'
|
||||||
import { getTransactionDetailsList } from '@/api/modules/user'
|
import { getTransactionDetailsList } from '@/api/modules/user'
|
||||||
|
import { copyToClipboard } from '@/utils/index'
|
||||||
|
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const paging = ref<any>()
|
const paging = ref<any>()
|
||||||
@@ -37,6 +43,7 @@
|
|||||||
const bookList = ref([])
|
const bookList = ref([])
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const firstLoad = ref(true)
|
const firstLoad = ref(true)
|
||||||
|
const goBuyTitle = ref('【天医币】仅为我平台支付使用币种,仅为了方便用户支付使用。【天医币】可以用于在我平台支付书籍或课程使用。【天医币】这个名称是为适应我们平台的定位属性,所起名称。与区块链虚拟货币无任何关系。')
|
||||||
|
|
||||||
// 充值记录列表
|
// 充值记录列表
|
||||||
async function rechargeList(pageNo : number, pageSize : number) {
|
async function rechargeList(pageNo : number, pageSize : number) {
|
||||||
@@ -109,14 +116,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.time {
|
.time {
|
||||||
font-size: 20rpx;
|
font-size: 22rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.recharge-record-block-row {
|
.recharge-record-block-row {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
|
font-weight: 700;
|
||||||
.text1 {
|
.text1 {
|
||||||
color: #ff0000;
|
color: #ff0000;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user