|
|
@@ -4,25 +4,25 @@
|
|
|
<div class="page-container mockExamPage" v-if="pageType === 1">
|
|
|
<p class="pageTitle">模拟考试</p>
|
|
|
<div class="top-max-button-box scrollbar-x-box">
|
|
|
- <p :class="topCheckId == item.id?'check-button':''"
|
|
|
- @click="topCheckButton(item.id)"
|
|
|
- v-for="(item,index) in topDataList" :key="index">{{item.label}} {{item.num}}</p>
|
|
|
+ <p :class="examTypeId == item.examTypeId?'check-button':''"
|
|
|
+ @click="topCheckButton(item.examTypeId)"
|
|
|
+ v-for="(item,index) in topDataList" :key="index">{{item.examTypeName}} {{item.examTypeCount}}</p>
|
|
|
</div>
|
|
|
<div class="page-form-title-box">
|
|
|
<el-form :model="queryParams" class="form-box" ref="queryForm"
|
|
|
:inline="true" style="width:100%;">
|
|
|
<div class="table-top-button-box">
|
|
|
<div>
|
|
|
- <p :class="shareStatus === ''?'check-table-button':''" @click="tableTypeButton('')">全部</p>
|
|
|
- <p :class="shareStatus === 1?'check-table-button':''" @click="tableTypeButton(1)">未开始</p>
|
|
|
- <p :class="shareStatus === 2?'check-table-button':''" @click="tableTypeButton(2)">进行中</p>
|
|
|
- <p :class="shareStatus === 3?'check-table-button':''" @click="tableTypeButton(3)">已完成</p>
|
|
|
+ <p :class="examStatus === ''?'check-table-button':''" @click="tableTypeButton('')">全部</p>
|
|
|
+ <p :class="examStatus === 0?'check-table-button':''" @click="tableTypeButton(0)">未开始</p>
|
|
|
+ <p :class="examStatus === 1?'check-table-button':''" @click="tableTypeButton(1)">进行中</p>
|
|
|
+ <p :class="examStatus === 2?'check-table-button':''" @click="tableTypeButton(2)">已完成</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-form-item label="" prop="queryParamsData1">
|
|
|
+ <el-form-item label="" prop="searchValue">
|
|
|
<el-input
|
|
|
maxLength="30"
|
|
|
- v-model="queryParams.queryParamsData1"
|
|
|
+ v-model="queryParams.searchValue"
|
|
|
placeholder="搜索名称"
|
|
|
style="width: 200px"
|
|
|
/>
|
|
|
@@ -48,15 +48,16 @@
|
|
|
<div class="for-max-big-box scrollbar-box">
|
|
|
<div class="for-big-box" v-for="(item,index) in dataList" :key="index">
|
|
|
<div class="top-box">
|
|
|
- <p class="title-p">{{item.data1}}</p>
|
|
|
- <p class="text-p" v-if="item.data5">满足前置条件后可参加考试</p>
|
|
|
+ <p class="title-p">{{item.examTypeName}}</p>
|
|
|
+ <p class="text-p" v-if="item.conditionType != 4">满足前置条件后可参加考试</p>
|
|
|
+ <p class="text-p" v-else>已满足前置条件,可参加考试</p>
|
|
|
</div>
|
|
|
<div class="bottom-box">
|
|
|
- <p class="text-big-p">{{item.data2}}</p>
|
|
|
- <p class="text-p">{{item.data3}} 至 {{item.data4}}</p>
|
|
|
- <p class="time-p">时长:{{item.data6}}分钟 丨 总分:{{item.data7}}分 丨 及格分:{{item.data8}}分 丨 可考试次数:{{item.data9}}次</p>
|
|
|
+ <p class="text-big-p">{{item.examName}}</p>
|
|
|
+ <p class="text-p">{{parseTime(item.startTime,"{y}-{m}-{d} {h}:{i}")}} 至 {{parseTime(item.endTime,"{y}-{m}-{d} {h}:{i}")}}</p>
|
|
|
+ <p class="time-p">时长:{{item.answerDuration}}分钟 丨 总分:{{item.totalScore}}分 丨 及格分:{{item.passScore}}分 丨 可考试次数:{{item.attemptLimit==0?'无限':item.attemptLimit}}次</p>
|
|
|
</div>
|
|
|
- <p class="position-p-1" v-if="item.data5" @click="tableButton(1)">完成模拟考试练习后解锁</p>
|
|
|
+ <p class="position-p-1" @click="tableButton(1)">{{item.conditionType!=4?'完成模拟考试练习后解锁':'开始模拟考试'}}</p>
|
|
|
<p class="position-p-2" v-if="item.data10" @click="tableButton(2)">历史错题</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -79,6 +80,7 @@
|
|
|
//import { getInfo } from "@/api/basicsModules/index";
|
|
|
//import addPage from "./addPage.vue";
|
|
|
import historyOfIncorrectQuestions from "@/views/safetyEducationExaminationNew/components/historyOfIncorrectQuestions.vue";
|
|
|
+ import { examUserExamMockList,examUserExamTypeSelectExamType, } from "@/api/safetyEducationExaminationNew/index";
|
|
|
export default {
|
|
|
name: 'index',
|
|
|
components: {
|
|
|
@@ -90,45 +92,40 @@
|
|
|
//页面状态
|
|
|
pageType: 1,
|
|
|
//横向列表
|
|
|
- topDataList:[
|
|
|
- {label:'全部',id:'1',num:'10'},{label:'全部',id:'2',num:'10'},{label:'全部',id:'3',num:'10'},
|
|
|
- {label:'全部',id:'4',num:'10'},{label:'全部',id:'5',num:'10'},{label:'全部',id:'6',num:'10'},
|
|
|
- {label:'全部',id:'1',num:'10'},{label:'全部',id:'2',num:'10'},{label:'全部',id:'3',num:'10'},
|
|
|
- {label:'全部',id:'4',num:'10'},{label:'全部',id:'5',num:'10'},{label:'全部',id:'6',num:'10'},
|
|
|
- ],
|
|
|
+ topDataList:[],
|
|
|
//查询条件
|
|
|
- topCheckId:'1',
|
|
|
- shareStatus:'',
|
|
|
+ examTypeId:'',
|
|
|
+ examStatus:'',
|
|
|
queryParams: {
|
|
|
page: 1,
|
|
|
pageSize: 20,
|
|
|
- queryParamsData1: '',
|
|
|
+ searchValue: '',
|
|
|
},
|
|
|
//时间数据
|
|
|
dateRange: [],
|
|
|
//列表数据
|
|
|
dataList: [
|
|
|
- { data1:'新生入学考试', data2:'模拟考试名称考试名称考试',
|
|
|
- data3:'2026-09-01', data4:'2026-09-30', data5:true,
|
|
|
- data6:'30',data7:'100',data8:'60',data9:'10',data10:true,},
|
|
|
- { data1:'新生入学考试', data2:'模拟考试名称考试名称考试',
|
|
|
- data3:'2026-09-01', data4:'2026-09-30', data5:false,
|
|
|
- data6:'30',data7:'100',data8:'60',data9:'10',data10:true,},
|
|
|
- { data1:'新生入学考试', data2:'模拟考试名称考试名称考试',
|
|
|
- data3:'2026-09-01', data4:'2026-09-30', data5:true,
|
|
|
- data6:'30',data7:'100',data8:'60',data9:'10',data10:false,},
|
|
|
- { data1:'新生入学考试', data2:'模拟考试名称考试名称考试',
|
|
|
- data3:'2026-09-01', data4:'2026-09-30', data5:true,
|
|
|
- data6:'30',data7:'100',data8:'60',data9:'10',data10:true,},
|
|
|
- { data1:'新生入学考试', data2:'模拟考试名称考试名称考试',
|
|
|
- data3:'2026-09-01', data4:'2026-09-30', data5:true,
|
|
|
- data6:'30',data7:'100',data8:'60',data9:'10',data10:false,},
|
|
|
- { data1:'新生入学考试', data2:'模拟考试名称考试名称考试',
|
|
|
- data3:'2026-09-01', data4:'2026-09-30', data5:false,
|
|
|
- data6:'30',data7:'100',data8:'60',data9:'10',data10:true,},
|
|
|
- { data1:'新生入学考试', data2:'模拟考试名称考试名称考试',
|
|
|
- data3:'2026-09-01', data4:'2026-09-30', data5:true,
|
|
|
- data6:'30',data7:'100',data8:'60',data9:'10',data10:false,},
|
|
|
+ { examTypeName:'新生入学考试', examName:'模拟考试名称考试名称考试',
|
|
|
+ startTime:'2026-09-01', endTime:'2026-09-30', data5:true,
|
|
|
+ answerDuration:'30',totalScore:'100',passScore:'60',attemptLimit:'10',data10:true,},
|
|
|
+ { examTypeName:'新生入学考试', examName:'模拟考试名称考试名称考试',
|
|
|
+ startTime:'2026-09-01', endTime:'2026-09-30', data5:false,
|
|
|
+ answerDuration:'30',totalScore:'100',passScore:'60',attemptLimit:'10',data10:true,},
|
|
|
+ { examTypeName:'新生入学考试', examName:'模拟考试名称考试名称考试',
|
|
|
+ startTime:'2026-09-01', endTime:'2026-09-30', data5:true,
|
|
|
+ answerDuration:'30',totalScore:'100',passScore:'60',attemptLimit:'10',data10:false,},
|
|
|
+ { examTypeName:'新生入学考试', examName:'模拟考试名称考试名称考试',
|
|
|
+ startTime:'2026-09-01', endTime:'2026-09-30', data5:true,
|
|
|
+ answerDuration:'30',totalScore:'100',passScore:'60',attemptLimit:'10',data10:true,},
|
|
|
+ { examTypeName:'新生入学考试', examName:'模拟考试名称考试名称考试',
|
|
|
+ startTime:'2026-09-01', endTime:'2026-09-30', data5:true,
|
|
|
+ answerDuration:'30',totalScore:'100',passScore:'60',attemptLimit:'10',data10:false,},
|
|
|
+ { examTypeName:'新生入学考试', examName:'模拟考试名称考试名称考试',
|
|
|
+ startTime:'2026-09-01', endTime:'2026-09-30', data5:false,
|
|
|
+ answerDuration:'30',totalScore:'100',passScore:'60',attemptLimit:'10',data10:true,},
|
|
|
+ { examTypeName:'新生入学考试', examName:'模拟考试名称考试名称考试',
|
|
|
+ startTime:'2026-09-01', endTime:'2026-09-30', data5:true,
|
|
|
+ answerDuration:'30',totalScore:'100',passScore:'60',attemptLimit:'10',data10:false,},
|
|
|
],
|
|
|
//数据数量
|
|
|
total: 0,
|
|
|
@@ -140,18 +137,19 @@
|
|
|
|
|
|
},
|
|
|
mounted() {
|
|
|
- //this.getList();
|
|
|
+ this.examUserExamTypeSelectExamType();
|
|
|
},
|
|
|
methods: {
|
|
|
- topCheckButton(id){
|
|
|
- if(this.topCheckId != id){
|
|
|
- this.$set(this,'topCheckId',id);
|
|
|
+ topCheckButton(examTypeId){
|
|
|
+ if(this.examTypeId != examTypeId){
|
|
|
+ this.$set(this,'examTypeId',examTypeId);
|
|
|
+ this.handleQuery()
|
|
|
}
|
|
|
},
|
|
|
//切换按钮
|
|
|
tableTypeButton(val){
|
|
|
- if(this.shareStatus != val){
|
|
|
- this.$set(this,'shareStatus',val);
|
|
|
+ if(this.examStatus !== val){
|
|
|
+ this.$set(this,'examStatus',val);
|
|
|
this.handleQuery();
|
|
|
}
|
|
|
},
|
|
|
@@ -166,13 +164,15 @@
|
|
|
this.$set(this, 'queryParams', {
|
|
|
page: 1,
|
|
|
pageSize: 20,
|
|
|
- queryParamsData1: '',
|
|
|
+ searchValue: '',
|
|
|
})
|
|
|
this.getList()
|
|
|
},
|
|
|
//获取数据列表
|
|
|
getList() {
|
|
|
let obj = JSON.parse(JSON.stringify(this.queryParams))
|
|
|
+ obj.examTypeId = this.examTypeId;
|
|
|
+ obj.examStatus = this.examStatus;
|
|
|
if (this.dateRange[0]) {
|
|
|
obj.startTime = this.dateRange[0] + 'T00:00:00'
|
|
|
obj.endTime = this.dateRange[1] + 'T23:59:59'
|
|
|
@@ -180,7 +180,7 @@
|
|
|
obj.startTime = ''
|
|
|
obj.endTime = ''
|
|
|
}
|
|
|
- getListFunction(obj).then(response => {
|
|
|
+ examUserExamMockList(obj).then(response => {
|
|
|
this.$set(this, 'dataList', response.data.records)
|
|
|
this.$set(this, 'total', response.data.total)
|
|
|
})
|
|
|
@@ -200,7 +200,31 @@
|
|
|
this.$set(this, 'pageType', 1)
|
|
|
this.getList()
|
|
|
}
|
|
|
- }
|
|
|
+ },
|
|
|
+ examUserExamTypeSelectExamType(){
|
|
|
+ let self = this;
|
|
|
+ examUserExamTypeSelectExamType({examType:2}).then(response => {
|
|
|
+ let num = 0;
|
|
|
+ for(let i=0;i<response.data.length;i++){
|
|
|
+ num = self.accAdd(num,response.data[i].examTypeCount);
|
|
|
+ }
|
|
|
+ let list = [{
|
|
|
+ examTypeId:'',
|
|
|
+ examTypeName:'全部',
|
|
|
+ examTypeCount:num
|
|
|
+ }];
|
|
|
+ this.$set(this,'topDataList',[...list,...response.data])
|
|
|
+ this.getList();
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //加法
|
|
|
+ accAdd(arg1,arg2){
|
|
|
+ var r1,r2,m;
|
|
|
+ try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
|
|
|
+ try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
|
|
|
+ m=Math.pow(10,Math.max(r1,r2))
|
|
|
+ return ((arg1*m+arg2*m)/m).toFixed(0);
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -259,7 +283,6 @@
|
|
|
}
|
|
|
p:nth-child(2){
|
|
|
border-left:none;
|
|
|
- border-right:none;
|
|
|
}
|
|
|
p:nth-child(3){
|
|
|
border-left:none;
|