Compare commits
5 Commits
ae7e2bc17f
...
129b9808fb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
129b9808fb | ||
| d74abad722 | |||
| 90ffd2e4ff | |||
| b9d7228a90 | |||
| 1f6080aa01 |
@@ -1,7 +1,12 @@
|
||||
<script>
|
||||
import useUserStore from '@/jtools/store/user'
|
||||
export default {
|
||||
onLaunch: function () {
|
||||
console.log('App Launch')
|
||||
useUserStore().queryVipList()
|
||||
if(useUserStore().isLogin) {
|
||||
useUserStore().getUserInfo()
|
||||
useUserStore().searchUserVip()
|
||||
}
|
||||
},
|
||||
onShow: function () {
|
||||
console.log('App Show')
|
||||
|
||||
@@ -23,4 +23,11 @@ export function logout() {
|
||||
url: 'driver-api/tdSysUser/loginOut',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
export function getInfo() {
|
||||
return request({
|
||||
url: 'driver-api/tdSysUser/info',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
@@ -6,4 +6,12 @@ export function queryVip(data) {
|
||||
method: 'POST',
|
||||
data,
|
||||
});
|
||||
}
|
||||
|
||||
export function getVipList(data) {
|
||||
return request({
|
||||
url: 'driver-api/tdMember/queryMember',
|
||||
method: 'POST',
|
||||
data,
|
||||
});
|
||||
}
|
||||
@@ -16,7 +16,7 @@ function service(options = {}) {
|
||||
});
|
||||
} else {
|
||||
options.header = {
|
||||
Authorization: `Bearer ${token}`
|
||||
Authorization: `${token}`
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -34,7 +34,7 @@ function service(options = {}) {
|
||||
resolved(res.data);
|
||||
} else if(res.data.code != '0000') {
|
||||
uni.showToast({
|
||||
title: resp.message,
|
||||
title: res.data.message,
|
||||
icon: 'none'
|
||||
})
|
||||
resolved(res.data)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { defineStore } from 'pinia';
|
||||
import { login,logout } from '@/jtools/api/login';
|
||||
import { login,logout,getInfo } from '@/jtools/api/login';
|
||||
import { queryVip,getVipList } from '@/jtools/api/vip'
|
||||
import constants from '@/jtools/constants';
|
||||
import storage from '@/jtools/storage';
|
||||
|
||||
@@ -9,11 +10,13 @@ const useUserStore = defineStore({
|
||||
token: storage.get('token'),
|
||||
isLogin: storage.get('isLogin'), // 是否登陆
|
||||
userInfo: storage.get('userInfo'), // 用户信息
|
||||
currentCartype: storage.get('carType') || '1001',
|
||||
vipOnList: [],
|
||||
vipAllList: []
|
||||
}),
|
||||
|
||||
actions: {
|
||||
login(params) {
|
||||
// commit('isLogin', true);
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const resp = await login(params);
|
||||
if (resp.code === '0000') {
|
||||
@@ -40,13 +43,39 @@ const useUserStore = defineStore({
|
||||
resolve();
|
||||
})
|
||||
},
|
||||
// 获取用户信息
|
||||
getUserInfo() {
|
||||
getInfo().then(resp => {
|
||||
if(resp.code == '0000') {
|
||||
this.userInfo = resp.data
|
||||
storage.set('userInfo', resp.data)
|
||||
}
|
||||
})
|
||||
},
|
||||
resetUserData() {
|
||||
this.isLogin = false;
|
||||
this.token = '';
|
||||
this.userInfo = {}
|
||||
this.vipOnList = []
|
||||
storage.remove('isLogin')
|
||||
storage.remove('token')
|
||||
storage.remove('userInfo')
|
||||
},
|
||||
// 查询当前用户的vip开通情况
|
||||
searchUserVip() {
|
||||
queryVip({ carTypeId: this.currentCartype,memberId: null, subject:'' }).then(resp => {
|
||||
if(resp.code == '0000') {
|
||||
this.vipOnList = resp.data
|
||||
}
|
||||
})
|
||||
},
|
||||
// 查询所有的vip
|
||||
queryVipList() {
|
||||
getVipList({ carTypeId: this.currentCartype,memberId: null, subject:'' }).then(resp => {
|
||||
if(resp.code == '0000') {
|
||||
this.vipAllList = resp.data
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
@@ -110,7 +110,21 @@
|
||||
"navigationBarTitleText": "登录",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/index/iconSkill",
|
||||
"style": {
|
||||
"navigationBarTitleText": "图标技巧",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/questionBank/chapterExercise",
|
||||
"style": {
|
||||
"navigationBarTitleText": "章节练习",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
"globalStyle": {
|
||||
|
||||
18
src/pages/index/iconSkill.vue
Normal file
18
src/pages/index/iconSkill.vue
Normal file
@@ -0,0 +1,18 @@
|
||||
<template>
|
||||
<view>
|
||||
<web-view :src="webviewPath"></web-view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return{
|
||||
webviewPath:'https://jtbz.ahduima.com/index'
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -104,6 +104,7 @@
|
||||
width: 218rpx;
|
||||
border-radius: 0 0 16rpx 12rpx;
|
||||
background-color: #FF6E02;
|
||||
color:#fff
|
||||
}
|
||||
.tag{
|
||||
width: 122rpx;
|
||||
|
||||
@@ -57,19 +57,19 @@
|
||||
getCode({
|
||||
phone: this.login.phone
|
||||
}).then(resp => {
|
||||
if (resp.code == '0000') {
|
||||
// if (resp.code == '0000') {
|
||||
uni.showToast({
|
||||
title: '发送成功!',
|
||||
icon: 'none'
|
||||
})
|
||||
this.countDown = 60
|
||||
this.js = setInterval(() => {
|
||||
this.countDown;
|
||||
this.countDown--;
|
||||
if (this.countDown == 0) {
|
||||
this.clear()
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
// }
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<view class="ml12">
|
||||
<view class="flex ai-c fs18 cor-333 fwb">
|
||||
<text class="mr10">{{ user.userName }}{{user.userId}}</text>
|
||||
<image src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;"></image>
|
||||
<image v-if="vipOn.length" src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;"></image>
|
||||
</view>
|
||||
<view class="mt5 fs14 cor-666">陪您学车 第{{ user.count }}天</view>
|
||||
</view>
|
||||
@@ -26,47 +26,52 @@
|
||||
<view class="p15lr" style="transform: translateY(-90px);">
|
||||
<view class="relative mb10" @tap="handleVip">
|
||||
<image src="/static/image/mine/vip_bg.png" mode="widthFix" style="width: 100%;"></image>
|
||||
<view class="absolute p15lr p10tb flex ai-c jc-sb" style="left: 0;top: 0;right: 0;height: 40px;">
|
||||
<view class="absolute p15lr p10tb flex ai-c jc-sb" style="left: 0;top: 0;right: 0;height: 40px;">
|
||||
<view class="flex ai-c">
|
||||
<view class="p3 br-p50" style="background-color: #873E1D;">
|
||||
<image src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;height: 15px;"></image>
|
||||
</view>
|
||||
<text class="ml5 fs16 fwb" style="color: #7E4012FF;">VIP会员</text>
|
||||
</view>
|
||||
<text class="fs12" style="color: #7E4012FF;">2024-12-12到期</text>
|
||||
<text v-if="vipOn.length" class="fs12" style="color: #7E4012FF;">{{expireTime}}到期</text>
|
||||
</view>
|
||||
<view class="absolute flex ai-c jc-c" style="left: 0;top: 40px;right: 0;bottom: 0;">
|
||||
<view class="text-center">
|
||||
<view class="fs18 fwb" style="color: #7E4012FF;">尊享科目一二三四全部付费权益</view>
|
||||
<view v-if="vipOn.length" class="fs18 fwb" style="color: #7E4012FF;">{{vipText}}</view>
|
||||
<view class="study fs16 text-center" style="margin: 25px auto 0;color: #F6E99FFF;">
|
||||
马上学习
|
||||
{{ vipOn.length?'马上学习':'开通会员'}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="br8 bc-fff p15 z-index2">
|
||||
<text class="fs16 cor-333">我的驾校</text>
|
||||
<div class="mt12 flex ai-c jc-sb">
|
||||
<text class="fs18 cor-000 fwb">合肥八一驾校</text>
|
||||
<u-button text="切换驾校" shape="circle" @click="handleChangeSchool"></u-button>
|
||||
</div>
|
||||
<u-line margin="14px 0 18px 0"></u-line>
|
||||
<view class="flex ai-c" @tap="handleCallPhone">
|
||||
<view class="flex ai-c jc-c phone">
|
||||
<img src="/static/image/mine/phone.png" style="width: 12px;height: 12px;">
|
||||
<text class="ml2 fs12 cor-fff">客服热线</text>
|
||||
<view v-if="user.schoolId">
|
||||
<div class="mt12 flex ai-c jc-sb">
|
||||
<text class="fs18 cor-000 fwb">{{user.schoolName}}</text>
|
||||
<u-button text="切换驾校" shape="circle" @click="handleChangeSchool"></u-button>
|
||||
</div>
|
||||
<u-line margin="14px 0 18px 0"></u-line>
|
||||
<view class="flex ai-c" @tap="handleCallPhone">
|
||||
<view class="flex ai-c jc-c phone">
|
||||
<img src="/static/image/mine/phone.png" style="width: 12px;height: 12px;">
|
||||
<text class="ml2 fs12 cor-fff">客服热线</text>
|
||||
</view>
|
||||
<text class="ml5 fs26 cor-333 fwb" style="line-height: 26px;">{{user.schoolPhone}}</text>
|
||||
</view>
|
||||
<text class="ml5 fs26 cor-333 fwb" style="line-height: 26px;">0551-12345678</text>
|
||||
</view>
|
||||
<view v-else class="pt30 pb15">
|
||||
<u-button text="绑定驾校" shape="circle" @click="handleChangeSchool"></u-button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mt12 bc-fff br8">
|
||||
<u-cell-group>
|
||||
<u-cell size="large" title="我的资料" value="修改" isLink @tap="handleInfo">
|
||||
<u-cell size="large" title="我的资料" isLink @tap="handleInfo">
|
||||
<template #icon>
|
||||
<img src="/static/image/mine/wdzl.png" style="width: 24px;height: 24px;">
|
||||
</template>
|
||||
</u-cell>
|
||||
<u-cell size="large" title="我的体检" value="查看报告" isLink @tap="handleTJ">
|
||||
<u-cell size="large" title="我的体检" isLink @tap="handleTJ">
|
||||
<template #icon>
|
||||
<img src="/static/image/mine/wdtj.png" style="width: 24px;height: 24px;">
|
||||
</template>
|
||||
@@ -78,7 +83,7 @@
|
||||
</u-cell>
|
||||
</u-cell-group>
|
||||
</view>
|
||||
<view class="flex ai-c jc-c mt12 br8 bc-fff" style="height: 50px;" @tap="handleLogout">
|
||||
<view v-if="isLogin" class="flex ai-c jc-c mt12 br8 bc-fff" style="height: 50px;" @tap="handleLogout">
|
||||
<text class="fs16" style="color: #A09F9F;">退出登录</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -86,7 +91,6 @@
|
||||
</template>
|
||||
<script>
|
||||
import useUserStore from '@/jtools/store/user'
|
||||
import { queryVip } from '@/jtools/api/vip'
|
||||
export default {
|
||||
components: {},
|
||||
computed: {
|
||||
@@ -94,7 +98,36 @@ export default {
|
||||
return useUserStore().isLogin
|
||||
},
|
||||
user() {
|
||||
return useUserStore().userInfo
|
||||
let userInfo = useUserStore().userInfo
|
||||
return { ...userInfo, count: this.dateDiff(userInfo.createTime) }
|
||||
},
|
||||
vipOn() {
|
||||
return useUserStore().vipOnList
|
||||
},
|
||||
expireTime() {
|
||||
if(this.vipOn.length) {
|
||||
const t = this.vipOn.reduce((pre, cur) => {
|
||||
if(Date.parse(pre) > Date.parse(cur.endDate)) {
|
||||
return cur.endDate
|
||||
}
|
||||
return pre
|
||||
}, '2099-12-31')
|
||||
return t.split(' ')[0]
|
||||
}else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
vipText() {
|
||||
if(this.vipOn.length) {
|
||||
const t = this.vipOn.reduce((pre, cur) => {
|
||||
return [...pre, ...cur.subjects.split(',').map(it =>['','一','二','三','四'][it])]
|
||||
}, [])
|
||||
let val = Array.from(new Set(t))
|
||||
val = val.length == 4 ? val.join('')+'全部':val.join('')
|
||||
return `尊享科目${val}付费权益`
|
||||
}else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@@ -102,30 +135,36 @@ export default {
|
||||
};
|
||||
},
|
||||
onShow() {
|
||||
this.searchVip()
|
||||
},
|
||||
methods: {
|
||||
searchVip() {
|
||||
queryVip().then(resp => {
|
||||
if(resp.code == '0000') {
|
||||
debugger
|
||||
}
|
||||
})
|
||||
},
|
||||
handleVip() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/me/vip'
|
||||
})
|
||||
if(this.isLogin) {
|
||||
if(this.vipOn.length) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/me/vip'
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/videoVip'
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.toLogin()
|
||||
}
|
||||
},
|
||||
handleCallPhone() {
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: '17318531354'
|
||||
phoneNumber: this.user.schoolPhone
|
||||
})
|
||||
},
|
||||
handleChangeSchool() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/me/school'
|
||||
})
|
||||
if(this.isLogin) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/me/school'
|
||||
})
|
||||
} else {
|
||||
this.toLogin()
|
||||
}
|
||||
},
|
||||
handleInfo() {
|
||||
if(this.isLogin) {
|
||||
@@ -152,7 +191,20 @@ export default {
|
||||
},
|
||||
handleLogout() {
|
||||
useUserStore().logout()
|
||||
}
|
||||
},
|
||||
dateDiff(end){
|
||||
if(!end) {
|
||||
return 1
|
||||
}
|
||||
today = new Date();
|
||||
end = new Date(end);
|
||||
if(end > today){
|
||||
days = parseInt(Math.abs(end - today) / 1000 / 60 / 60 / 24);
|
||||
}else{
|
||||
days = parseInt(Math.abs(end - today) / 1000 / 60 / 60 / 24); // 如果不限制对比时间和当前时间大小可以不用if
|
||||
}
|
||||
return days + 1;
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
42
src/pages/questionBank/chapterExercise.vue
Normal file
42
src/pages/questionBank/chapterExercise.vue
Normal file
@@ -0,0 +1,42 @@
|
||||
<template>
|
||||
<view>
|
||||
<view class="chapter_item p14" v-for="(item,index) of chapterList" :key="index" @tap="toQuestion">
|
||||
{{item.label}}
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
chapterList:[
|
||||
{label:'驾驶证申请相关'},
|
||||
{label:'驾驶证申请相关'},
|
||||
{label:'驾驶证登记处罚'},
|
||||
{label:'机动车强制报废'},
|
||||
{label:'其他考点'},
|
||||
{label:'驾驶证登记处罚'},
|
||||
{label:'机动车强制报废'},
|
||||
{label:'其他考点'}]
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
toQuestion(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/questionBank?navTitle="+章节技巧
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.chapter_item{
|
||||
border-bottom: 1px solid rgb(210,209,214);
|
||||
background-color: #fff;
|
||||
}
|
||||
.chapter_item:hover{
|
||||
background-color: rgb(210,209,214);
|
||||
}
|
||||
</style>
|
||||
@@ -39,7 +39,7 @@
|
||||
</scroll-view>
|
||||
</swiper-item>
|
||||
</swiper>
|
||||
<view class="wp100 flex jc-sb ai-c p14 bc-fff" style="position: fixed;bottom: 0;left: 0;">
|
||||
<view class="wp100 flex jc-sb ai-c p14 bc-fff" v-if="isShowAll" style="position: fixed;bottom: 0;left: 0;">
|
||||
<view style="width: 220rpx;">
|
||||
<button v-if="type==='practice'" class="btn">四步学科一</button>
|
||||
<view v-else class="btn" style="text-align: center;" @tap="submitPaper">
|
||||
@@ -65,6 +65,9 @@
|
||||
<text class="cor-666">题板</text>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else class="wp100 p14" style="position: fixed;bottom: 30rpx;left: 0;">
|
||||
<button class="vip_btn" @click="toVip">立即查看全部题目</button>
|
||||
</view>
|
||||
<u-modal :show="tipShow">
|
||||
<view class="relative wp100">
|
||||
<view class="text-center">
|
||||
@@ -149,10 +152,41 @@
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
<u-popup :show="showVip" mode="bottom" :closeOnClickOverlay="true" :round="16" @close="showVip=false">
|
||||
<view class="p14" style="z-index: 9;">
|
||||
<view class="wp100 flex ai-c jc-sb">
|
||||
<text class="fs30 fw600 cor-000">VIP题库</text>
|
||||
<u-icon name="close" color="#c2c2c2" size="20" @tap="showVip=false"></u-icon>
|
||||
</view>
|
||||
<text class="fs16 cor-666">精准刷题,更高效</text>
|
||||
<view style="width:100%;height: 110rpx;background-image: url(../../static/image/practice/vip_question.png);background-size: 100% 100%;" class="mt15 relative">
|
||||
<view style="position: absolute;left:0,top:0;height: 110rpx;" class="wp100 flex jc-c ai-c">
|
||||
<text class="fs16" style="color: #994800;">科一+科四精简500题</text>
|
||||
</view>
|
||||
<image style="width: 65rpx;height: 65rpx; position: absolute;right: 20px;top: -5px;" src="../../static/image/practice/vip_include.png"></image>
|
||||
</view>
|
||||
<view style="width:100%;height: 110rpx;background-image: url(../../static/image/practice/vip_test.png);background-size: 100% 100%;z-index: 9;" class="mt15 relative">
|
||||
<view style="position: absolute;left:0,top:0;height: 110rpx;" class="wp100 flex jc-c ai-c">
|
||||
<text class="fs16" style="color: #994800;">科一+科四考前密卷2套</text>
|
||||
</view>
|
||||
<image style="width: 65rpx;height: 65rpx; position: absolute;right: 20px;top: -5px;" src="../../static/image/practice/vip_include.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 528rpx;width: 100%;background-image: url(../../static/image/practice/vip_bg.png);background-size: 100% 100%;margin-top: -65px;position: relative;">
|
||||
<text style="position: absolute;top: 138px;left:100px;rotate: 16deg;" class="fs25 cor-fff">VIP题库</text>
|
||||
</view>
|
||||
<view class="wp100 p14" style="position: absolute;left: 0;bottom:20px">
|
||||
<view class="sub_btn flex ai-c jc-sb">
|
||||
<text class="cor-fff fs14">¥<text class="fs24 cor-fff">{{nowPrice}}</text></text>
|
||||
<image style="width: 276rpx;height: 88rpx;margin-top: -5px;" src="../../static/image/index/buy.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</u-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import storage from '@/jtools/storage';
|
||||
export default {
|
||||
props:{
|
||||
tabsList:{
|
||||
@@ -165,10 +199,16 @@ export default {
|
||||
isSubmit:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
},
|
||||
isShowAll:{
|
||||
type:Boolean,
|
||||
default:true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
nowPrice:68,
|
||||
showVip:false,
|
||||
popupShow:false,
|
||||
content:'太棒啦,已答完最后一题~',
|
||||
tipShow:false,
|
||||
@@ -178,6 +218,7 @@ export default {
|
||||
qIndex:0,
|
||||
rightList:[],
|
||||
wrongList:[],
|
||||
collectList:storage.get('collectList') || [],
|
||||
questionList: [],//数据源
|
||||
swiperList: [], // 轮播图数据列表
|
||||
swiperIndex: 0, // 轮播图当前位置
|
||||
@@ -191,6 +232,10 @@ export default {
|
||||
this.renderSwiper(0)
|
||||
},
|
||||
methods: {
|
||||
//开通VIP
|
||||
toVip(){
|
||||
this.showVip=true
|
||||
},
|
||||
submitPaper(){
|
||||
this.$refs.countDown_1.pause();
|
||||
this.$refs.countDown_2.pause();
|
||||
@@ -222,18 +267,24 @@ export default {
|
||||
},
|
||||
toCollect(){
|
||||
if(this.questionList[this.topicIndex].isCollect){
|
||||
if(this.collectList.includes(this.questionList[this.topicIndex].questionId)){
|
||||
const idx=this.collectList.indexOf(this.questionList[this.topicIndex].questionId)
|
||||
this.collectList.splice(idx,1)
|
||||
}
|
||||
this.questionList[this.topicIndex].isCollect=false
|
||||
uni.showToast({
|
||||
title:"取消收藏",
|
||||
icon:'none'
|
||||
})
|
||||
}else{
|
||||
this.collectList.push(this.questionList[this.topicIndex].questionId)
|
||||
this.questionList[this.topicIndex].isCollect=true
|
||||
uni.showToast({
|
||||
title:"已收藏",
|
||||
icon:'none'
|
||||
})
|
||||
}
|
||||
storage.set('collectList',this.collectList)
|
||||
},
|
||||
cancel(){
|
||||
this.tipShow=false
|
||||
@@ -292,8 +343,13 @@ export default {
|
||||
// 轮播图动画结束
|
||||
onAnimationfinish(e) {
|
||||
if(this.index>=this.questionList.length){
|
||||
this.tipShow=true
|
||||
if(this.isShowAll){
|
||||
this.tipShow=true
|
||||
}else{
|
||||
this.showVip=true
|
||||
}
|
||||
}else{
|
||||
this.showVip=false
|
||||
this.tipShow=false
|
||||
}
|
||||
if (!this.isChange) return;
|
||||
@@ -321,7 +377,7 @@ export default {
|
||||
}
|
||||
console.log(this.rightList);
|
||||
if(this.wrongList.includes(this.questionList[this.topicIndex].questionId)){
|
||||
const wIndex=this.wrongList.findIndex(this.questionList[this.topicIndex].questionId)
|
||||
const wIndex=this.wrongList.indexOf(this.questionList[this.topicIndex].questionId)
|
||||
this.wrongList.splice(wIndex,1)
|
||||
}
|
||||
if(this.topicIndex<this.questionList.length-1){
|
||||
@@ -766,4 +822,23 @@ export default {
|
||||
.content{
|
||||
padding-top: calc(var(--window-top) + 10px);
|
||||
}
|
||||
.vip_btn{
|
||||
width:100%;
|
||||
height: 100rpx;
|
||||
line-height: 100rpx;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
color:#fff;
|
||||
background: linear-gradient(90deg, #FF9804 0%, #E95B0E 100%);
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
.sub_btn{
|
||||
width:100%;
|
||||
height: 110rpx;
|
||||
border: 4px solid #F59B26;
|
||||
background: linear-gradient(0deg, #E66501 0%, #F8A42C 100%);
|
||||
box-shadow: 0rpx 16rpx 20rpx 1rpx rgba(245,155,38,0.78);
|
||||
border-radius: 55rpx;
|
||||
padding: 14rpx;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<template>
|
||||
<view class="p14">
|
||||
<view class="flex jc-sb">
|
||||
<view class="relative mr5">
|
||||
<view class="relative mr5" @tap="toIconSkill">
|
||||
<image style="width: 336rpx;height: 152rpx;" src="../../static/image/practice/errorprone_bg.png">
|
||||
</image>
|
||||
<view style="position: absolute;left: 0;top: 0;" class="p10">
|
||||
<view style="color: #04B13B;font-size: 18px;">图表技巧</view>
|
||||
<view style="color: #04B13B;font-size: 18px;">图标技巧</view>
|
||||
<text style="color: #04B13B;font-size: 14px;">快速记忆</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative ml5">
|
||||
<view class="relative ml5" @tap="toChapterSkill">
|
||||
<image style="width: 363rpx;height: 170rpx;" src="../../static/image/practice/chapter_bg.png"></image>
|
||||
<view style="position: absolute;left: 0;top: 0;" class="p10">
|
||||
<view style="color: #FF6E02;font-size: 18px;">章节练习</view>
|
||||
@@ -92,6 +92,16 @@
|
||||
url:"/pages/questionBank/questionBank?navTitle="+title
|
||||
})
|
||||
},
|
||||
toIconSkill(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/index/iconSkill"
|
||||
})
|
||||
},
|
||||
toChapterSkill(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/chapterExercise"
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
<!-- <u-navbar :title="navTitle" @rightClick="rightClick" :autoBack="true">
|
||||
</u-navbar> -->
|
||||
<j-navbar>{{navTitle}}</j-navbar>
|
||||
<Question :tabsList="tabsList" />
|
||||
</view>
|
||||
</template>
|
||||
<Question :tabsList="tabsList" :isShowAll="true" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
@@ -41,11 +41,11 @@
|
||||
methods: {
|
||||
rightClick() {
|
||||
console.log('返回');
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
||||
BIN
src/static/image/practice/vip_bg.png
Normal file
BIN
src/static/image/practice/vip_bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
BIN
src/static/image/practice/vip_include.png
Normal file
BIN
src/static/image/practice/vip_include.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
BIN
src/static/image/practice/vip_question.png
Normal file
BIN
src/static/image/practice/vip_question.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 51 KiB |
BIN
src/static/image/practice/vip_test.png
Normal file
BIN
src/static/image/practice/vip_test.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 53 KiB |
Reference in New Issue
Block a user