pull/4/head
脆皮鸭 1 year ago
parent d76bff73ae
commit bb3fb81962
  1. 144
      src/components/j-navbar/j-navbar.vue
  2. 23
      src/pages.json
  3. 31
      src/pages/index/components/Subject1.vue
  4. 93
      src/pages/index/components/Subject2.vue
  5. 18
      src/pages/index/index.vue
  6. 96
      src/pages/questionBank/baseOperate.vue
  7. 5
      src/pages/questionBank/components/Question.vue
  8. 45
      src/pages/questionBank/examResult.vue
  9. 109
      src/pages/questionBank/exclusiveExercise.vue
  10. 5
      src/pages/questionBank/practiceExams.vue
  11. 7
      src/pages/questionBank/practiceResult.vue
  12. 12
      src/pages/questionBank/questionBank.vue
  13. 27
      src/pages/questionBank/videoDetail.vue
  14. 195
      src/pages/questionBank/wrongQuestion.vue
  15. BIN
      src/static/image/practice/chapter_bg.png
  16. BIN
      src/static/image/practice/error_icon.png
  17. BIN
      src/static/image/practice/errorprone_bg.png
  18. BIN
      src/static/image/practice/neverWrite_icon.png
  19. BIN
      src/static/image/practice/newRules_icon.png

@ -0,0 +1,144 @@
<template>
<view>
<view class="cu-custom" :style="[{ height: customBar + 'px' }]">
<view class="cu-bar u-flex u-row-between" :class="{ fixed: isFixed }" :style="[style]">
<view class="action u-flex" @tap="goBack" v-if="isBack">
<u-icon customStyle="padding: 6rpx;" :name="backIconName" :color="backIconColor" :size="backIconSize"></u-icon>
<view class="u-back-text u-line-1 u-m-l-20" v-if="backText" :style="[backTextStyle]">{{ backText || '' }}</view>
</view>
<slot name="left"></slot>
<view class="content fs32 fwb" :style="[{ top: statusBarHeight + 'px' }]"><slot></slot></view>
<view class="right">
<slot name="right"></slot>
</view>
</view>
</view>
</view>
</template>
<script>
/**
* jtools-navbar -自定义标题栏
* @property {Boolean} isBack = [true] - 是否显示返回按钮
* @property {Booelan} isFixed = [true] - 是否开启定位
*/
//
let systemInfo = uni.getSystemInfoSync();
let menuButtonInfo = {};
// #ifdef MP-WEIXIN || MP-BAIDU || MP-TOUTIAO || MP-QQ
menuButtonInfo = uni.getMenuButtonBoundingClientRect();
// #endif
export default {
name: 'jtools-tabbar',
data() {
return {
statusBarHeight: systemInfo.statusBarHeight
};
},
computed: {
// tabbar
style() {
let statusBarHeight = systemInfo.statusBarHeight;
let style = {};
style.height = `${this.customBar}px`;
style.paddingTop = `${statusBarHeight}px`;
Object.assign(style, this.background);
return style;
},
//
customBar() {
let statusBarHeight = systemInfo.statusBarHeight;
// #ifndef MP
return systemInfo.platform == 'android' ? statusBarHeight + 50 : statusBarHeight + 45;
// #endif
// #ifdef MP-WEIXIN
return menuButtonInfo.bottom + menuButtonInfo.top - statusBarHeight;
// #endif
// #ifdef MP-ALIPAY
return statusBarHeight + systemInfo.titleBarHeight;
// #endif
}
},
props: {
isBack: {
type: Boolean,
default: true
},
isFixed: {
type: Boolean,
default: true
},
background: {
type: Object,
default() {
return {
background: '#fff'
};
}
},
//
backIconColor: {
type: String,
default: '#333'
},
//
backIconName: {
type: String,
default: 'arrow-left'
},
// rpx
backIconSize: {
type: [String, Number],
default: '20'
},
//
backText: {
type: String,
default: ''
},
//
backTextStyle: {
type: Object,
default() {
return {
color: '#000'
};
}
},
backPath: {
type: String,
default: ''
}
},
methods: {
goBack() {
if(this.backPath) {
this.$tools.routerTo(this.backPath)
} else {
uni.navigateBack();
}
}
}
};
</script>
<style lang="scss" scoped>
.cu-custom {
width: 100%;
}
.cu-bar {
width: 100%;
.content {
// width: 350rpx;
display: flex;
flex-direction: row;
flex: 1;
align-items: center;
pointer-events: auto;
justify-content: center;
color: #333;
}
}
</style>

@ -42,6 +42,29 @@
"navigationStyle": "custom", "navigationStyle": "custom",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
},
{
"path": "pages/questionBank/exclusiveExercise",
"style": {
"navigationBarTitleText": "专项练习"
}
},
{
"path": "pages/questionBank/wrongQuestion",
"style": {
"navigationBarTitleText": "错题收藏"
}
},
{
"path": "pages/questionBank/baseOperate",
"style": {
"navigationStyle": "custom"
}
},{
"path": "pages/questionBank/videoDetail",
"style": {
"navigationBarTitleText": "详情"
}
} }
], ],

@ -5,7 +5,7 @@
<view class="center-box flex jc-sb ai-c"> <view class="center-box flex jc-sb ai-c">
<view class="box-item flex ai-c jc-c"> <view class="box-item flex ai-c jc-c">
<view class="btn-item flex ai-c jc-c"> <view class="btn-item flex ai-c jc-c">
<view class="text-center cor-fff" style="line-height: 40rpx;" @tap="toAnswer"> <view class="text-center cor-fff" style="line-height: 40rpx;" @tap="toAnswer('顺序答题')">
<view class="fs16">顺序练习</view> <view class="fs16">顺序练习</view>
<text class="fs14">0/2344</text> <text class="fs14">0/2344</text>
</view> </view>
@ -21,7 +21,7 @@
</view> </view>
</view> </view>
</view> </view>
<view style="padding: 0 28rpx;margin-top: 110rpx;"> <view style="padding: 0 28rpx;margin-top: 60rpx;">
<view class="tabs-box"> <view class="tabs-box">
<view class="wp33 flex ai-c jc-c"> <view class="wp33 flex ai-c jc-c">
<view class="text-center wp100"> <view class="text-center wp100">
@ -31,7 +31,7 @@
<view class="mt5">VIP课程</view> <view class="mt5">VIP课程</view>
</view> </view>
</view> </view>
<view class="wp33 flex ai-c jc-c"> <view class="wp33 flex ai-c jc-c" @tap="toAnswer('精简500题')">
<view class="text-center wp100"> <view class="text-center wp100">
<image style="width: 72rpx;height: 72rpx;margin: 0 auto" <image style="width: 72rpx;height: 72rpx;margin: 0 auto"
src="../../static/image/index/500icon.png"> src="../../static/image/index/500icon.png">
@ -39,7 +39,7 @@
<view class="mt5">精简500题</view> <view class="mt5">精简500题</view>
</view> </view>
</view> </view>
<view class="wp33 flex ai-c jc-c"> <view class="wp33 flex ai-c jc-c" @tap="toExclusive">
<view class="text-center wp100"> <view class="text-center wp100">
<image style="width: 72rpx;height: 72rpx;margin: 0 auto" <image style="width: 72rpx;height: 72rpx;margin: 0 auto"
src="../../static/image/index/zxicon.png"> src="../../static/image/index/zxicon.png">
@ -61,7 +61,7 @@
<view class="mt5">考前密卷</view> <view class="mt5">考前密卷</view>
</view> </view>
</view> </view>
<view class="wp33 flex ai-c jc-c"> <view class="wp33 flex ai-c jc-c" @tap="toWrongList">
<view class="text-center wp100"> <view class="text-center wp100">
<image style="width: 72rpx;height: 72rpx;margin: 0 auto" <image style="width: 72rpx;height: 72rpx;margin: 0 auto"
src="../../static/image/index/worryicon.png"></image> src="../../static/image/index/worryicon.png"></image>
@ -70,7 +70,7 @@
</view> </view>
</view> </view>
</view> </view>
<view style="padding: 0 28rpx;margin-top: 30rpx;"> <view style="padding: 0 28rpx;margin-top: 30rpx;" @tap="toClass">
<view class="video-box"> <view class="video-box">
<view class="flex jc-sb ai-c wp100"> <view class="flex jc-sb ai-c wp100">
<text style="color: #05C341;font-size: 36rpx;">科一精品视频课</text> <text style="color: #05C341;font-size: 36rpx;">科一精品视频课</text>
@ -97,15 +97,30 @@
return {} return {}
}, },
methods: { methods: {
toAnswer() { toClass(){
uni.navigateTo({
url:"/pages/questionBank/baseOperate"
})
},
toAnswer(title) {
uni.navigateTo({ uni.navigateTo({
url:"/pages/questionBank/questionBank" url:"/pages/questionBank/questionBank?navTitle="+title
}) })
}, },
toExams(){ toExams(){
uni.navigateTo({ uni.navigateTo({
url:"/pages/questionBank/practiceExams" url:"/pages/questionBank/practiceExams"
}) })
},
toExclusive(){
uni.navigateTo({
url:"/pages/questionBank/exclusiveExercise"
})
},
toWrongList(){
uni.navigateTo({
url:"/pages/questionBank/wrongQuestion"
})
} }
} }
} }

@ -2,32 +2,65 @@
<view> <view>
<view class="box-nav"> <view class="box-nav">
<image style="width: 100%;" src="../../static/image/index/index_bg.png"></image> <image style="width: 100%;" src="../../static/image/index/index_bg.png"></image>
<view class="center-box flex jc-sb ai-c"> <view style="width: 100%;position: absolute;top: 80px;left: 0;" class="flex jc-c">
<view class="box-item flex ai-c jc-c"> <image style="width: 694rpx;" mode="widthFix" src="../../../static/image/index/vipAds.png"></image>
<view class="btn-item flex ai-c jc-c"> </view>
<view class="text-center cor-fff" style="line-height: 40rpx;">
<view class="fs16">顺序练习</view>
<text class="fs14">0/2344</text>
</view>
</view>
</view>
<view class="box-item flex ai-c jc-c">
<view class="btn2-item flex ai-c jc-c">
<view class="text-center cor-fff" style="line-height: 40rpx;">
<view class="fs16">模拟考试</view>
<text class="fs14">去考试</text>
</view>
</view>
</view>
</view>
</view> </view>
<view class="p14lr" style="margin-top: -20px;">
<view class="video_box">
<view class="flex ai-c jc-sb">
<text class="fs18 cor-000">科二考试项目讲解</text>
<view class="flex ai-c" style="height: 34rpx;line-height: 34rpx;">
<text style="color:#05C341;font-size: 16px;">自动挡</text>
<u-icon name="list" color="#05C341" size="18"></u-icon>
</view>
</view>
<view class="flex ai-c jc-sb mt15">
<view class="tab_iem" :class="videoIndex===item.value?'checked_tab':''" v-for="(item,index) of operateList" :key="index" @tap="checkVideo(item.value)">{{item.label}}</view>
</view>
<view class="mt15">
<video style="width: 100%;height: 362rpx;border-radius: 16rpx;" id="myVideo" src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4"></video>
</view>
</view>
<view class="video_box">
<view class="flex ai-c jc-sb">
<text class="fs18 fw600 cor-000">合肥科三真实考场</text>
<view>
<text class="fs14 cor-666">全部8个考场</text>
<u-icon color="#666" name="arrow-right" size="16"></u-icon>
</view>
</view>
</view>
</view>
</view> </view>
</template> </template>
<script> <script>
export default { export default {
name: "Subject2" name: "Subject2",
data(){
return{
videoIndex:0,
operateList:[{
label:"侧方停车",
value:0,
},{
label:"倒车入库",
value:1
},{
label:"曲线行驶",
value:2
},{
label:"直角转弯",
value:3
}]
}
},
methods:{
checkVideo(val){
this.videoIndex=val
}
}
} }
</script> </script>
@ -42,5 +75,23 @@ export default {
top: 170rpx; top: 170rpx;
padding: 0 28rpx; padding: 0 28rpx;
} }
.video_box{
width: 100%;
background: #FFFFFF;
border-radius: 16rpx;
padding: 14px;
}
.tab_iem{
width: 145rpx;
height: 56rpx;
line-height: 56rpx;
text-align: center;
background: #F5F5F5;
border-radius: 10rpx;
color:#333
}
.checked_tab{
background: linear-gradient(90deg, #11DF20 0%, #01B74F 100%);
color:#fff
}
</style> </style>

@ -1,10 +1,15 @@
<template> <template>
<view> <view>
<u-sticky bgColor="#fff"> <u-sticky bgColor="#fff">
<u-tabs :list="categoryList" :scrollable="false"></u-tabs> <u-tabs :list="categoryList" :scrollable="false" @click="changeCategory"></u-tabs>
</u-sticky> </u-sticky>
<view style="height: 100vh;background-color: rgb(245, 245, 245);"> <view style="height: 100vh;background-color: rgb(245, 245, 245);">
<Subject1 /> <template v-if="tIndex===0 || tIndex===3">
<Subject1 />
</template>
<template v-else>
<subject2 />
</template>
</view> </view>
</view> </view>
</template> </template>
@ -13,10 +18,12 @@
import useQuestionStore from '@/jtools/store/question' //store import useQuestionStore from '@/jtools/store/question' //store
import storage from '@/jtools/storage'; import storage from '@/jtools/storage';
import Subject1 from "./components/Subject1"; import Subject1 from "./components/Subject1";
import Subject2 from "./components/Subject2";
export default { export default {
components: {Subject1}, components: {Subject1,Subject2},
data() { data() {
return { return {
tIndex:0,
searchValue:'', searchValue:'',
cityName:'', cityName:'',
categoryList:[{ categoryList:[{
@ -36,8 +43,9 @@
methods:{ methods:{
...mapActions(useQuestionStore, ['getQuestionList']), //action ...mapActions(useQuestionStore, ['getQuestionList']), //action
// //
changeCategory(){ changeCategory(val){
this.tIndex=val.index
console.log(this.tIndex);
}, },
// //
getAllQuestion(){ getAllQuestion(){

@ -0,0 +1,96 @@
<template>
<view>
<j-navbar>基本操作</j-navbar>
<u-sticky bgColor="#fff">
<u-tabs :list="categoryList" :scrollable="false" @click="changeCategory"></u-tabs>
</u-sticky>
<view class="p14">
<view class="flex ai-c">
<view class="car_item mr10" v-for="(item,index) of carTypeList" :key="index" @tap="chooseCar(item.value)" :class="item.value===tCar?'checked_car':'unchecked_car'">{{item.label}}</view>
</view>
<view class="flex p14 bc-fff mt10" style="border-radius: 16rpx;" v-for="(item,index) of videoList" :key="index" @tap="toDetail">
<image class="pic" src="../../static/image/index/index_bg.png"></image>
<view class="ml10">
<text class="fs16 cor-000 fw600">上车下车的方法</text>
<view class="fs14 mt5 cor-666">上车下车的方法</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data(){
return{
tCar:0,
categoryList:[{
name:'手动挡C1'
},{
name:'自动挡C2'
}],
carTypeList:[{
label:'捷达',
value:0
},{
label:'新桑塔纳',
value:1
},{
label:'爱丽舍',
value:2
}],
videoList:[{
label:"111"
},{
label:'222'
},{
label:'333'
},{
label:'444'
}]
}
},
methods:{
chooseCar(val){
this.tCar=val
},
changeCategory(val){
},
toDetail(){
uni.navigateTo({
url:'/pages/questionBank/videoDetail'
})
}
}
}
</script>
<style scoped>
::v-deep .u-tabs__wrapper__nav__line {
background: linear-gradient(90deg, #11DF20 0%, #00B74F 100%) !important;
bottom: 14rpx !important;
}
.car_item{
font-size: 28rpx;
padding:0 34rpx;
height: 58rpx;
line-height: 58rpx;
border-radius: 29rpx;
}
.checked_car{
background-color: #05C341;
color: #fff;
}
.unchecked_car{
border: 1px solid #DDD;
color: #666;
box-sizing: border-box;
}
.pic{
width: 300rpx;
height: 169rpx;
background: #00B74F;
border-radius: 8rpx;
}
</style>

@ -1,5 +1,5 @@
<template> <template>
<view style="margin-top: 100px;"> <view class="content">
<view class="flex ai-c jc-c"> <view class="flex ai-c jc-c">
<view class="flex type_box jc-sb ai-c"> <view class="flex type_box jc-sb ai-c">
<view class="type_item" v-for="(item,index) of tabsList" :key="index" :class="tCurrent==item.value?'checked':'unchecked'" @tap="sectionChange(item.value)">{{item.label}}</view> <view class="type_item" v-for="(item,index) of tabsList" :key="index" :class="tCurrent==item.value?'checked':'unchecked'" @tap="sectionChange(item.value)">{{item.label}}</view>
@ -763,4 +763,7 @@ export default {
} }
} }
} }
.content{
padding-top: calc(var(--window-top) + 10px);
}
</style> </style>

@ -1,13 +1,14 @@
<template> <template>
<view> <view>
<u-navbar title="本次成绩" @rightClick="rightClick" :autoBack="true"></u-navbar> <!-- <u-navbar title="本次成绩" @rightClick="rightClick" :autoBack="true"></u-navbar> -->
<view style="margin-top: 100px;" class="p14 wp100"> <j-navbar>本次成绩</j-navbar>
<view class="p14 wp100">
<GradesChart color="#FF6E02" titleName="32分" :actualValue="0.32" /> <GradesChart color="#FF6E02" titleName="32分" :actualValue="0.32" />
<view class="top_box flex jc-c" style="flex-direction: column;"> <view class="top_box flex jc-c" style="flex-direction: column;">
<view class="wp100 text-center" style="margin-top: -153rpx;"> <view class="wp100 text-center" style="margin-top: -153rpx;">
<text>太棒了正确率很高了</text> <text>太棒了正确率很高了</text>
<button class="centerBtn">马上提分</button> <button class="centerBtn">马上提分</button>
<view class="flex ai-c jc-c mt10"> <view class="flex ai-c jc-c">
<view class="text-center wp33"> <view class="text-center wp33">
<view>99</view> <view>99</view>
<text>未做题</text> <text>未做题</text>
@ -24,14 +25,19 @@
</view> </view>
</view> </view>
</view> </view>
<view class="p14"> <view class="p14lr">
<view class="bc-fff p14" style="border-radius: 20rpx;"> <view class="bc-fff p14 relative" style="border-radius: 20rpx;">
<view class="flex ai-c jc-sb"> <view class="flex ai-c jc-sb">
<text class="fs18 cor-000 fw600">考试情况</text> <text class="fs18 cor-000 fw600">考试情况</text>
</view> </view>
<view class="charts-box"> <view class="charts-box">
<qiun-data-charts type="line" :opts="opts" :chartData="chartData" /> <qiun-data-charts type="line" :opts="opts" :chartData="chartData" />
</view> </view>
<view class="flex wp100 ai-c" style="position: absolute;top: 70px;left: 24px;font-size: 14px;">
<text style="color: #00B74F;margin-right: 10px;">90</text>
<view class="xian"></view>
<text style="color: #00B74F;position: absolute;right:33px;top:-13px">及格线</text>
</view>
</view> </view>
</view> </view>
</view> </view>
@ -49,15 +55,24 @@
// config-ucharts.js ['line'] opts opts // config-ucharts.js ['line'] opts opts
opts: { opts: {
color: ["#FAC858"], color: ["#FAC858"],
padding: [15, 10, 0, 15], padding: [10, 5 ,5,5],
enableScroll: false, enableScroll: false,
legend: {}, legend: {},
xAxis: { xAxis: {
disabled:true,
disableGrid: true disableGrid: true
}, },
yAxis: { yAxis:{
data:[{
gridType: "dash", gridType: "dash",
dashLength: 2 position: 'left',
dashLength: 2,
max:100,
min:0,
}]
},
legend:{
show:false
}, },
extra: { extra: {
line: { line: {
@ -78,9 +93,10 @@
setTimeout(() => { setTimeout(() => {
// //
let res = { let res = {
categories: [], categories: ["2018","2019","2020","2021","2022","2023"],
series: [{ series: [{
data: [32] name: "",
data: [90]
}, },
] ]
}; };
@ -111,9 +127,14 @@
.charts-box { .charts-box {
width: 100%; width: 100%;
height: 346rpx; height: 400rpx;
background-color: #fdfdfd; background-color: #fdfdfd;
border-radius: 20rpx; border-radius: 20rpx;
ppadding-top: 20rpx; padding-top: 20rpx;
}
.xian{
width: 565rpx;
height: 0rpx;
border-top: 1px dashed #CCCCCC;
} }
</style> </style>

@ -0,0 +1,109 @@
<template>
<view class="p14">
<view class="flex jc-sb">
<view class="relative mr5">
<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>
<text style="color: #04B13B;font-size: 14px;">快速记忆</text>
</view>
</view>
<view class="relative ml5">
<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>
<text style="color: #FF6E02;font-size: 14px;">共5章</text>
</view>
</view>
</view>
<view class="bc-fff pt14" style="border-radius: 20rpx;">
<u-grid :border="false" col="4">
<u-grid-item v-for="(listItem,listIndex) in list" :key="listIndex" @click="toAnswer(listItem.title)">
<view style="width: 84rpx;height: 84rpx;">
<image style="width: 84rpx;" mode="widthFix" :src="listItem.image"></image>
</view>
<text class="grid-text fs14 cor-000">{{listItem.title}}</text>
<text class="grid-text mb10 fs12 cor-999">{{listItem.subTitle}}</text>
</u-grid-item>
</u-grid>
</view>
<view class="mt14 p14 bc-fff" style="border-radius: 20rpx;">
<text class="fs18 cor-000 fw600">常见考点</text>
<view class="flex ai-c wp100 mt10" style="flex-wrap: wrap;">
<view class="wp50 flex ai-c mb10" v-for="(item,index) of testCenterList" :key="index">
<view class="dot_item">{{index+1}}</view>
<text class="ml5">{{item.label}}</text>
</view>
</view>
</view>
</view>
</template>
<script>
import errorIcon from "../../static/image/practice/error_icon.png"
import newRulesIcon from "../../static/image/practice/newRules_icon.png"
import neverWriteIcon from "../../static/image/practice/neverWrite_icon.png"
export default {
data() {
return {
errorIcon,
newRulesIcon,
neverWriteIcon,
list:[{
title:'新规题',
subTitle:'392题',
image:newRulesIcon
},{
title:'易错题',
subTitle:'392题',
image:errorIcon
},{
title:'未做题',
subTitle:'392题',
image:neverWriteIcon
},{
title:'单选题',
subTitle:'392题',
image:newRulesIcon
},{
title:'判断题',
subTitle:'392题',
image:errorIcon
},{
title:'图片题',
subTitle:'392题',
image:neverWriteIcon
}],
testCenterList:[
{label:'驾驶证申请相关'},
{label:'驾驶证申请相关'},
{label:'驾驶证登记处罚'},
{label:'机动车强制报废'},
{label:'其他考点'},
{label:'驾驶证登记处罚'},
{label:'机动车强制报废'},
{label:'其他考点'}]
}
},
methods: {
toAnswer(title) {
uni.navigateTo({
url:"/pages/questionBank/questionBank?navTitle="+title
})
},
}
}
</script>
<style scoped>
.dot_item{
width: 40rpx;
height: 40rpx;
line-height: 40rpx;
color: #fff;
text-align: center;
background: #0BD032;
border-radius: 50%;
}
</style>

@ -1,7 +1,8 @@
<template> <template>
<view> <view>
<u-navbar title="模拟考试" @rightClick="rightClick" :autoBack="true"> <!-- <u-navbar title="模拟考试" @rightClick="rightClick" :autoBack="true">
</u-navbar> </u-navbar> -->
<j-navbar>模拟考试</j-navbar>
<Question :tabsList="tabsList" v-model:isSubmit="isSubmit" type="exam" /> <Question :tabsList="tabsList" v-model:isSubmit="isSubmit" type="exam" />
</view> </view>
</template> </template>

@ -1,10 +1,11 @@
<template> <template>
<view> <view>
<u-navbar title="本次练题结果" @rightClick="rightClick" :autoBack="true"></u-navbar> <!-- <u-navbar title="本次练题结果" @rightClick="rightClick" :autoBack="true"></u-navbar>-->
<view style="margin-top: 100px;" class="p14 wp100"> <j-navbar>本次练题结果</j-navbar>
<view class="p14 wp100">
<GradesChart /> <GradesChart />
<view class="top_box flex jc-c" style="flex-direction: column;"> <view class="top_box flex jc-c" style="flex-direction: column;">
<view class="wp100 text-center" style="margin-top: -153rpx;"> <view class="wp100 text-center" >
<text>太棒了正确率很高了</text> <text>太棒了正确率很高了</text>
<view class="flex ai-c jc-c mt10"> <view class="flex ai-c jc-c mt10">
<view class="text-center wp50"> <view class="text-center wp50">

@ -1,7 +1,8 @@
<template> <template>
<view> <view>
<u-navbar title="顺序答题" @rightClick="rightClick" :autoBack="true"> <!-- <u-navbar :title="navTitle" @rightClick="rightClick" :autoBack="true">
</u-navbar> </u-navbar> -->
<j-navbar>{{navTitle}}</j-navbar>
<Question :tabsList="tabsList" /> <Question :tabsList="tabsList" />
</view> </view>
</template> </template>
@ -19,6 +20,7 @@
}, },
data() { data() {
return { return {
navTitle:'',
tabsList:[{ tabsList:[{
label:"答题", label:"答题",
value:0 value:0
@ -28,8 +30,10 @@
}] }]
} }
}, },
onLoad() { onLoad(op) {
console.log(this.orderQuestionList); if(op&&op.navTitle){
this.navTitle=op.navTitle
}
}, },
computed: { computed: {
...mapState(useQuestionStore, ["orderQuestionList"]) //tagslist ...mapState(useQuestionStore, ["orderQuestionList"]) //tagslist

@ -0,0 +1,27 @@
<template>
<view>
<video style="width: 100%;height: 422rpx;" id="myVideo" src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/2minute-demo.mp4"></video>
<view class="p14 bc-fff">
<view class="flex ai-c jc-sb mt10">
<text class="fs18 fw600 cor-000">C1捷达-基础操作视频讲解</text>
<view class="flex">
<text class="fs14 cor-666">更多</text>
<u-icon color="#666" name="arrow-right" size="18"></u-icon>
</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
}
}
}
</script>
<style>
</style>

@ -0,0 +1,195 @@
<template>
<view>
<u-sticky bgColor="#fff">
<u-tabs :list="categoryList" :scrollable="false" @click="tabChange"></u-tabs>
</u-sticky>
<view class="p14">
<view class="top_box">
<view class="tip_box flex ai-c jc-sb" v-if="tIndex==0">
<view class="flex ai-c">
<u-icon name="error-circle-fill" color="#FF6E02" size="18"></u-icon>
<text class="ml10 fs12" style="color: #FF6E02;">{{title}}</text>
</view>
<u-icon name="close" color="#FF6E02" size="18"></u-icon>
</view>
<view class="p14">
<text class="fs18 cor-000 fw600">{{tIndex==0?'错题':'收藏'}}情况</text>
<view class="total_box mt10">
<view class="flex ai-c jc-sb">
<view class="text-center">
<view style="width: 111rpx;" class="fs30 cor-000">4</view>
</view>
<view style="text-align: right;flex-direction: column;justify-content: right" class="flex ai-c" @tap="toPractice">
<u-icon name="arrow-right" size="18"></u-icon>
</view>
</view>
<view class="flex ai-c jc-sb mt5">
<view class="text-center">
<text class="fs14 cor-666">全部{{tIndex==0?'错题':'收藏'}}</text>
</view>
<view style="text-align: right;flex-direction: column;justify-content: right" class="flex ai-c">
<text v-if="tIndex==0" class="fs14 cor-666">错4/已做100</text>
</view>
</view>
</view>
<view class="yellow_box" v-if="tIndex==0">
<view class="flex jc-sb ai-c">
<view>
<text class="fs24 fw600" style="color: #FF6E02;">32%</text><text class="fs18 cor-000 fw600">错题率</text>
<view class="fs14 cor-000">错题率有点高快去提升吧</view>
</view>
<view style="width: 156rpx;">
<button class="riseBtn">马上提升</button>
</view>
</view>
</view>
<view class="flex jc-sb ai-c mt10" v-if="tIndex==0">
<text>答对后自动移除错题</text>
<u-switch v-model="isMoveWrong" activeColor="#0BD032" ></u-switch>
</view>
</view>
<view style="margin-top: 30rpx;" v-if="tIndex==0">
<view class="video-box">
<view class="flex jc-sb ai-c wp100">
<text style="color: #05C341;font-size: 36rpx;">科一精品视频课</text>
<text class="cor-666 fs12">全部10节课 ></text>
</view>
<view class="flex ai-c mt20">
<image class="contain-box" src="../../static/image/index/index_bg.png"></image>
<view class="ml15 text-center">
<u-button :customStyle="{width:'200rpx',height:'66rpx',borderRadius: '33rpx'}" iconColor="#fff"
text="去看视频" color="linear-gradient(90deg, #11DF20 0%, #00B74F 100%)" icon="play-circle">
</u-button>
<view class="cor-333 fs15 fw600 mt10">科一易错试题</view>
</view>
</view>
</view>
</view>
</view>
<view class="top_box mt15 p14">
<view class="flex jc-sb aic">
<text class="fs18 cor-000 fw600">{{tIndex==0?'错题':'收藏题'}}分类</text>
<u-icon name="arrow-right" size="18"></u-icon>
</view>
<view class="flex ai-c jc-sb" style="flex-wrap: wrap;">
<view v-for="(item,index) of typeList" :key="index" class="category_item p14 flex jc-sb ai-c mb10">
<text class="cor-000">{{item.typeName}}</text>
<text class="cor-666">{{item.typeNum}}</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default{
data(){
return{
tIndex:0,
isMoveWrong:true,
title:'重要提示:所有错题做对,再去考试!',
categoryList:[{
name:'错题本'
},{name:'收藏夹'}],
typeList:[{
typeName:'驾驶证审验注销',
typeNum:1
},{
typeName:'机动车强制报废',
typeNum:2
},{
typeName:'驾驶证审验注销',
typeNum:1
},{
typeName:'机动车强制报废',
typeNum:2
},{
typeName:'驾驶证审验注销',
typeNum:1
},{
typeName:'机动车强制报废',
typeNum:2
}]
}
},
methods:{
tabChange(val){
this.tIndex=val.index
},
toPractice(){
const navTitle=this.tIndex==0?'错题本':'收藏夹'
uni.navigateTo({
url:"/pages/questionBank/questionBank?navTitle="+navTitle
})
}
}
}
</script>
<style scoped>
::v-deep .u-tabs__wrapper__nav__line {
background: linear-gradient(90deg, #11DF20 0%, #00B74F 100%) !important;
bottom: 14rpx !important;
}
.top_box{
width: 100%;
background: #FDFDFD;
border-radius: 20rpx;
}
.tip_box{
width: 100%;
background: #FFE6D4;
border-radius: 20rpx 20rpx 0rpx 0rpx;
padding: 10px 14px;
}
.total_box{
width: 100%;
background: #F5F5F5;
border-radius: 20rpx;
padding: 14px;
}
.yellow_box{
margin-top: 10px;
padding: 14px;
width: 100%;
background: linear-gradient(90deg, #FBF2D4 0%, #F7E4B5 100%);
border-radius: 20rpx;
}
.riseBtn{
width: 156rpx;
height: 56rpx;
text-align: center;
line-height: 56rpx;
font-size: 12px;
background-color: #F7E4B5;
border: 1px solid #FF6E02;
color: #FF6E02;
border-radius: 28rpx;
}
.video-box {
padding: 20rpx;
width: 694rpx;
height: 369rpx;
background: #DEEFE5;
border: 2px solid #47DB87;
border-radius: 16rpx;
}
.contain-box {
width: 406rpx;
height: 228rpx;
background: #00B74F;
border-radius: 16rpx;
}
.category_item{
width: 312rpx;
height: 90rpx;
text-align: center;
line-height: 90rpx;
background: #F5F5F5;
border-radius: 20rpx;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Loading…
Cancel
Save