Compare commits
2 Commits
bbf7cc3692
...
bb3fb81962
| Author | SHA1 | Date | |
|---|---|---|---|
| bb3fb81962 | |||
| d76bff73ae |
144
src/components/j-navbar/j-navbar.vue
Normal file
144
src/components/j-navbar/j-navbar.vue
Normal file
@@ -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>
|
||||
@@ -35,6 +35,36 @@
|
||||
"navigationStyle": "custom",
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/questionBank/examResult",
|
||||
"style": {
|
||||
"navigationStyle": "custom",
|
||||
"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="box-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>
|
||||
<text class="fs14">0/2344</text>
|
||||
</view>
|
||||
@@ -21,7 +21,7 @@
|
||||
</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="wp33 flex ai-c jc-c">
|
||||
<view class="text-center wp100">
|
||||
@@ -31,7 +31,7 @@
|
||||
<view class="mt5">VIP课程</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">
|
||||
<image style="width: 72rpx;height: 72rpx;margin: 0 auto"
|
||||
src="../../static/image/index/500icon.png">
|
||||
@@ -39,7 +39,7 @@
|
||||
<view class="mt5">精简500题</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">
|
||||
<image style="width: 72rpx;height: 72rpx;margin: 0 auto"
|
||||
src="../../static/image/index/zxicon.png">
|
||||
@@ -61,7 +61,7 @@
|
||||
<view class="mt5">考前密卷</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">
|
||||
<image style="width: 72rpx;height: 72rpx;margin: 0 auto"
|
||||
src="../../static/image/index/worryicon.png"></image>
|
||||
@@ -70,7 +70,7 @@
|
||||
</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="flex jc-sb ai-c wp100">
|
||||
<text style="color: #05C341;font-size: 36rpx;">科一精品视频课</text>
|
||||
@@ -97,15 +97,30 @@
|
||||
return {}
|
||||
},
|
||||
methods: {
|
||||
toAnswer() {
|
||||
toClass(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/questionBank"
|
||||
url:"/pages/questionBank/baseOperate"
|
||||
})
|
||||
},
|
||||
toAnswer(title) {
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/questionBank?navTitle="+title
|
||||
})
|
||||
},
|
||||
toExams(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/practiceExams"
|
||||
})
|
||||
},
|
||||
toExclusive(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/exclusiveExercise"
|
||||
})
|
||||
},
|
||||
toWrongList(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/wrongQuestion"
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,32 +2,65 @@
|
||||
<view>
|
||||
<view class="box-nav">
|
||||
<image style="width: 100%;" src="../../static/image/index/index_bg.png"></image>
|
||||
<view class="center-box flex jc-sb ai-c">
|
||||
<view class="box-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;">
|
||||
<view class="fs16">顺序练习</view>
|
||||
<text class="fs14">0/2344</text>
|
||||
<view style="width: 100%;position: absolute;top: 80px;left: 0;" class="flex jc-c">
|
||||
<image style="width: 694rpx;" mode="widthFix" src="../../../static/image/index/vipAds.png"></image>
|
||||
</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 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 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>
|
||||
|
||||
<script>
|
||||
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>
|
||||
|
||||
@@ -42,5 +75,23 @@ export default {
|
||||
top: 170rpx;
|
||||
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>
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
<template>
|
||||
<view>
|
||||
<u-sticky bgColor="#fff">
|
||||
<u-tabs :list="categoryList" :scrollable="false"></u-tabs>
|
||||
<u-tabs :list="categoryList" :scrollable="false" @click="changeCategory"></u-tabs>
|
||||
</u-sticky>
|
||||
<view style="height: 100vh;background-color: rgb(245, 245, 245);">
|
||||
<template v-if="tIndex===0 || tIndex===3">
|
||||
<Subject1 />
|
||||
</template>
|
||||
<template v-else>
|
||||
<subject2 />
|
||||
</template>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@@ -13,10 +18,12 @@
|
||||
import useQuestionStore from '@/jtools/store/question' //引入store
|
||||
import storage from '@/jtools/storage';
|
||||
import Subject1 from "./components/Subject1";
|
||||
import Subject2 from "./components/Subject2";
|
||||
export default {
|
||||
components: {Subject1},
|
||||
components: {Subject1,Subject2},
|
||||
data() {
|
||||
return {
|
||||
tIndex:0,
|
||||
searchValue:'',
|
||||
cityName:'',
|
||||
categoryList:[{
|
||||
@@ -36,8 +43,9 @@
|
||||
methods:{
|
||||
...mapActions(useQuestionStore, ['getQuestionList']), //映射action
|
||||
//切换科目
|
||||
changeCategory(){
|
||||
|
||||
changeCategory(val){
|
||||
this.tIndex=val.index
|
||||
console.log(this.tIndex);
|
||||
},
|
||||
//获取全部题库
|
||||
getAllQuestion(){
|
||||
|
||||
96
src/pages/questionBank/baseOperate.vue
Normal file
96
src/pages/questionBank/baseOperate.vue
Normal file
@@ -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>
|
||||
@@ -10,22 +10,40 @@
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props:{
|
||||
color:{
|
||||
type:String,
|
||||
default:'#05C341'
|
||||
},
|
||||
titleName:{
|
||||
type:String,
|
||||
default:'80%'
|
||||
},
|
||||
actualValue:{
|
||||
type:Number,
|
||||
default:0.8
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
chartData: {},
|
||||
//您可以通过修改 config-ucharts.js 文件中下标为 ['arcbar'] 的节点来配置全局默认参数,如都是默认参数,此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。
|
||||
opts: {
|
||||
opts: {}
|
||||
};
|
||||
},
|
||||
onReady() {
|
||||
this.opts={
|
||||
color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],
|
||||
padding: undefined,
|
||||
title: {
|
||||
name: "80%",
|
||||
name: this.titleName,
|
||||
fontSize: 35,
|
||||
color: "#05C341"
|
||||
color: this.color
|
||||
},
|
||||
subtitle: {
|
||||
name: "",
|
||||
fontSize: 25,
|
||||
color: "#05C341"
|
||||
color: this.color
|
||||
},
|
||||
extra: {
|
||||
arcbar: {
|
||||
@@ -38,9 +56,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
onReady() {
|
||||
console.log(this.opts);
|
||||
this.getServerData();
|
||||
},
|
||||
methods: {
|
||||
@@ -52,8 +68,8 @@ export default {
|
||||
series: [
|
||||
{
|
||||
name: "正确率",
|
||||
color: "#05C341",
|
||||
data: 0.8
|
||||
color: this.color,
|
||||
data: this.actualValue
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<view style="margin-top: 100px;">
|
||||
<view class="content">
|
||||
<view class="flex ai-c jc-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>
|
||||
@@ -42,8 +42,8 @@
|
||||
<view class="wp100 flex jc-sb ai-c p14 bc-fff" 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;">
|
||||
<u-count-down :time="1 * 60 * 60 * 1000" format="HH:mm:ss"></u-count-down>
|
||||
<view v-else class="btn" style="text-align: center;" @tap="submitPaper">
|
||||
<u-count-down ref="countDown_1" :time="1 * 60 * 60 * 1000" format="HH:mm:ss"></u-count-down>
|
||||
<text>交卷</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -80,14 +80,41 @@
|
||||
<u-button :customStyle="{width:'100%',height:'68rpx',borderRadius:'34rpx',color:'#fff',backgroundColor:'#05C341'}" @click="toResult">查看练题结果</u-button>
|
||||
</view>
|
||||
</template>
|
||||
</u-modal>
|
||||
<u-modal :show="isSubmit">
|
||||
<view class="wp100">
|
||||
<view class="text-center">
|
||||
<text>确认交卷</text>
|
||||
<view class="mt20 flex ai-c jc-sb">
|
||||
<view class="text-center">
|
||||
<text style="color:#FF6E02">99</text>
|
||||
<view class="cor-333">未答题数</view>
|
||||
</view>
|
||||
<view class="text-center">
|
||||
<u-count-down ref="countDown_3" class="balckColor" :time="1 * 60 * 60 * 1000" format="HH:mm:ss"></u-count-down>
|
||||
<view>剩余时间</view>
|
||||
</view>
|
||||
<view class="text-center">
|
||||
<text style="color:#333">9</text>
|
||||
<view class="cor-333">考试得分</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<template #confirmButton>
|
||||
<view class="p10" >
|
||||
<u-button :customStyle="{width:'45%',marginRight:'10px',height:'68rpx',lineHeight:'68rpx',borderRadius:'34rpx',color:'#666',border:'1px solid #666',display:'inline-block'}" @click="continueExam">继续考试</u-button>
|
||||
<u-button :customStyle="{width:'45%',marginLeft:'10px',height:'68rpx',lineHeight:'68rpx',borderRadius:'34rpx',color:'#fff',backgroundColor:'#05C341',display:'inline-block'}" @click="toSubmit">现在交卷</u-button>
|
||||
</view>
|
||||
</template>
|
||||
</u-modal>
|
||||
<u-popup :show="popupShow" mode="bottom" :closeOnClickOverlay="true" @close="popupShow=false">
|
||||
<view>
|
||||
<view class="wp100 flex jc-sb p14 bc-fff">
|
||||
<view style="width: 220rpx;">
|
||||
<button v-if="type==='practice'" class="btn">四步学科一</button>
|
||||
<view v-else class="btn" style="text-align: center;">
|
||||
<u-count-down :time="1 * 60 * 60 * 1000" format="HH:mm:ss"></u-count-down>
|
||||
<view v-else class="btn" style="text-align: center;" @tap="submitPaper">
|
||||
<u-count-down ref="countDown_2" :time="1 * 60 * 60 * 1000" format="HH:mm:ss"></u-count-down>
|
||||
<text>交卷</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -134,6 +161,10 @@ export default {
|
||||
type:{
|
||||
type:String,
|
||||
default:'practice'
|
||||
},
|
||||
isSubmit:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@@ -160,11 +191,29 @@ export default {
|
||||
this.renderSwiper(0)
|
||||
},
|
||||
methods: {
|
||||
submitPaper(){
|
||||
this.$refs.countDown_1.pause();
|
||||
this.$refs.countDown_2.pause();
|
||||
this.$refs.countDown_3.pause();
|
||||
this.$emit('update:isSubmit',true)
|
||||
},
|
||||
continueExam(){
|
||||
this.$refs.countDown_1.start();
|
||||
this.$refs.countDown_2.start();
|
||||
this.$refs.countDown_3.start();
|
||||
this.$emit('update:isSubmit',false)
|
||||
},
|
||||
//切换题目
|
||||
chooseQueston(index){
|
||||
this.popupShow=false
|
||||
this.pickerTopic(index)
|
||||
},
|
||||
//交卷
|
||||
toSubmit(){
|
||||
uni.navigateTo({
|
||||
url:"/pages/questionBank/examResult"
|
||||
})
|
||||
},
|
||||
//查看考试结果
|
||||
toResult(){
|
||||
uni.navigateTo({
|
||||
@@ -714,4 +763,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
.content{
|
||||
padding-top: calc(var(--window-top) + 10px);
|
||||
}
|
||||
</style>
|
||||
|
||||
140
src/pages/questionBank/examResult.vue
Normal file
140
src/pages/questionBank/examResult.vue
Normal file
@@ -0,0 +1,140 @@
|
||||
<template>
|
||||
<view>
|
||||
<!-- <u-navbar title="本次成绩" @rightClick="rightClick" :autoBack="true"></u-navbar> -->
|
||||
<j-navbar>本次成绩</j-navbar>
|
||||
<view class="p14 wp100">
|
||||
<GradesChart color="#FF6E02" titleName="32分" :actualValue="0.32" />
|
||||
<view class="top_box flex jc-c" style="flex-direction: column;">
|
||||
<view class="wp100 text-center" style="margin-top: -153rpx;">
|
||||
<text>太棒了!正确率很高了!</text>
|
||||
<button class="centerBtn">马上提分</button>
|
||||
<view class="flex ai-c jc-c">
|
||||
<view class="text-center wp33">
|
||||
<view>99</view>
|
||||
<text>未做题</text>
|
||||
</view>
|
||||
<view class="text-center wp33">
|
||||
<view>12</view>
|
||||
<text>看错题</text>
|
||||
</view>
|
||||
<view class="text-center wp33 flex jc-c ai-c" style="flex-direction: column;">
|
||||
<u-icon name="edit-pen" size="28"></u-icon>
|
||||
<text>重新考试</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="p14lr">
|
||||
<view class="bc-fff p14 relative" style="border-radius: 20rpx;">
|
||||
<view class="flex ai-c jc-sb">
|
||||
<text class="fs18 cor-000 fw600">考试情况</text>
|
||||
</view>
|
||||
<view class="charts-box">
|
||||
<qiun-data-charts type="line" :opts="opts" :chartData="chartData" />
|
||||
</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>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import GradesChart from "./components/GradesChart.vue"
|
||||
export default {
|
||||
components: {
|
||||
GradesChart
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
chartData: {},
|
||||
//您可以通过修改 config-ucharts.js 文件中下标为 ['line'] 的节点来配置全局默认参数,如都是默认参数,此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。
|
||||
opts: {
|
||||
color: ["#FAC858"],
|
||||
padding: [10, 5 ,5,5],
|
||||
enableScroll: false,
|
||||
legend: {},
|
||||
xAxis: {
|
||||
disabled:true,
|
||||
disableGrid: true
|
||||
},
|
||||
yAxis:{
|
||||
data:[{
|
||||
gridType: "dash",
|
||||
position: 'left',
|
||||
dashLength: 2,
|
||||
max:100,
|
||||
min:0,
|
||||
}]
|
||||
},
|
||||
legend:{
|
||||
show:false
|
||||
},
|
||||
extra: {
|
||||
line: {
|
||||
type: "straight",
|
||||
width: 2,
|
||||
activeType: "hollow"
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
onReady() {
|
||||
this.getServerData();
|
||||
},
|
||||
methods: {
|
||||
getServerData() {
|
||||
//模拟从服务器获取数据时的延时
|
||||
setTimeout(() => {
|
||||
//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
|
||||
let res = {
|
||||
categories: ["2018","2019","2020","2021","2022","2023"],
|
||||
series: [{
|
||||
name: "",
|
||||
data: [90]
|
||||
},
|
||||
]
|
||||
};
|
||||
this.chartData = JSON.parse(JSON.stringify(res));
|
||||
}, 500);
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.top_box {
|
||||
padding: 15px;
|
||||
background-color: #fdfdfd;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
|
||||
.centerBtn {
|
||||
width: 349rpx;
|
||||
height: 76rpx;
|
||||
background: #DEEFE5;
|
||||
border-radius: 38rpx;
|
||||
line-height: 76rpx;
|
||||
text-align: center;
|
||||
color: #00B74F;
|
||||
margin-top: 10px
|
||||
}
|
||||
|
||||
.charts-box {
|
||||
width: 100%;
|
||||
height: 400rpx;
|
||||
background-color: #fdfdfd;
|
||||
border-radius: 20rpx;
|
||||
padding-top: 20rpx;
|
||||
}
|
||||
.xian{
|
||||
width: 565rpx;
|
||||
height: 0rpx;
|
||||
border-top: 1px dashed #CCCCCC;
|
||||
}
|
||||
</style>
|
||||
109
src/pages/questionBank/exclusiveExercise.vue
Normal file
109
src/pages/questionBank/exclusiveExercise.vue
Normal file
@@ -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,8 +1,9 @@
|
||||
<template>
|
||||
<view>
|
||||
<u-navbar title="模拟考试" @rightClick="rightClick" :autoBack="true">
|
||||
</u-navbar>
|
||||
<Question :tabsList="tabsList" type="exam" />
|
||||
<!-- <u-navbar title="模拟考试" @rightClick="rightClick" :autoBack="true">
|
||||
</u-navbar> -->
|
||||
<j-navbar>模拟考试</j-navbar>
|
||||
<Question :tabsList="tabsList" v-model:isSubmit="isSubmit" type="exam" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -19,6 +20,7 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isSubmit:false,
|
||||
tabsList:[{
|
||||
label:"模拟考试",
|
||||
value:0
|
||||
@@ -52,4 +54,8 @@
|
||||
font-size: 28rpx;
|
||||
color:#fff !important;
|
||||
}
|
||||
::v-deep .balckColor .u-count-down__text{
|
||||
font-size: 28rpx;
|
||||
color:#333 !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<template>
|
||||
<view>
|
||||
<u-navbar title="本次练题结果" @rightClick="rightClick" :autoBack="true"></u-navbar>
|
||||
<view style="margin-top: 100px;" class="p14 wp100">
|
||||
<!-- <u-navbar title="本次练题结果" @rightClick="rightClick" :autoBack="true"></u-navbar>-->
|
||||
<j-navbar>本次练题结果</j-navbar>
|
||||
<view class="p14 wp100">
|
||||
<GradesChart />
|
||||
<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>
|
||||
<view class="flex ai-c jc-c mt10">
|
||||
<view class="text-center wp50">
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
<template>
|
||||
<view>
|
||||
<u-navbar title="顺序答题" @rightClick="rightClick" :autoBack="true">
|
||||
</u-navbar>
|
||||
<!-- <u-navbar :title="navTitle" @rightClick="rightClick" :autoBack="true">
|
||||
</u-navbar> -->
|
||||
<j-navbar>{{navTitle}}</j-navbar>
|
||||
<Question :tabsList="tabsList" />
|
||||
</view>
|
||||
</template>
|
||||
@@ -19,6 +20,7 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
navTitle:'',
|
||||
tabsList:[{
|
||||
label:"答题",
|
||||
value:0
|
||||
@@ -28,8 +30,10 @@
|
||||
}]
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
console.log(this.orderQuestionList);
|
||||
onLoad(op) {
|
||||
if(op&&op.navTitle){
|
||||
this.navTitle=op.navTitle
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(useQuestionStore, ["orderQuestionList"]) //映射函数,取出tagslist
|
||||
|
||||
27
src/pages/questionBank/videoDetail.vue
Normal file
27
src/pages/questionBank/videoDetail.vue
Normal file
@@ -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>
|
||||
195
src/pages/questionBank/wrongQuestion.vue
Normal file
195
src/pages/questionBank/wrongQuestion.vue
Normal file
@@ -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>
|
||||
BIN
src/static/image/practice/chapter_bg.png
Normal file
BIN
src/static/image/practice/chapter_bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 167 KiB |
BIN
src/static/image/practice/error_icon.png
Normal file
BIN
src/static/image/practice/error_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
BIN
src/static/image/practice/errorprone_bg.png
Normal file
BIN
src/static/image/practice/errorprone_bg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 161 KiB |
BIN
src/static/image/practice/neverWrite_icon.png
Normal file
BIN
src/static/image/practice/neverWrite_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
BIN
src/static/image/practice/newRules_icon.png
Normal file
BIN
src/static/image/practice/newRules_icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 20 KiB |
Reference in New Issue
Block a user