You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1201 lines
38 KiB

<template>
<div>
3 years ago
<!-- <transition name="slide-fade" enter-active-class="animate__animated animate__bounceInLeft" leave-active-class=" animate__animated animate__bounceOutLeft"> -->
3 years ago
<el-container v-show="showIt">
<el-header>
<div class="flex a-center j-between">
<div class="flex a-center" style="width: 28%">
<p>实训项目</p>
3 years ago
<el-select v-model.trim="projectId" placeholder="请选择" class="select" :disabled="projectPermissions != 0" @change="selectProject">
<el-option
v-for="item in topicList"
:key="item.projectId"
:label="item.projectName"
:value="item.projectId"
></el-option>
</el-select>
</div>
<div class="countDownBox">
<div style="margin-left: -40px;">
<div :sendSync="sendSync" :autoStart="autoStart" :defaultVal="defaultVal">
实训{{text}}时间
<span class="timeSpan">{{day}}</span>
<span class="timeSpan">{{hour}}</span>小时
<span class="timeSpan">{{minutes}}</span>
<span class="timeSpan">{{seconds}}</span>
</div>
</div>
</div>
<div class="countDownBox">
<div>
总得分
<span class="gradeSpan">{{grade}}</span>
</div>
</div>
<div>
3 years ago
<el-button style="background: #202020;color: #d0d0d0;font-size:16px;" v-show="projectPermissions == 0"
3 years ago
@click="reload" :disabled="popContainer && (assessmentId!='' && assessmentId!='null' && assessmentId!=null)">
3 years ago
重新开始
</el-button>
<el-button class="submit-btn" style="margin-right:7px" @click="Submit()" :disabled="popContainer || requires.length == 0">提交</el-button>
</div>
</div>
</el-header>
3 years ago
<el-container>
3 years ago
<el-aside width="30%" class="flex flex-col">
<div class="aside-header">
<div class="header_h flex a-center">
<i class="el-icon-s-order"></i>
<p>实验目标</p>
</div>
<div class="font_css">
<div class="experimentalGoal">
3 years ago
<div class="break-all" v-html="projectManage.experimentTarget" style="font-size: 0.875rem;">
</div>
</div>
</div>
</div>
3 years ago
<div class="aside-footer flex-grow">
<div class="header_h flex a-center">
<i class="el-icon-s-management"></i>
<p>实验任务</p>
</div>
<div>
<el-row>
<el-col :span="24">
<el-card shadow="hover">
3 years ago
<el-table :data="requires" height="43.5vh" v-loading="loading" ref='testTable'>
<el-table-column type="index"></el-table-column>
3 years ago
<el-table-column prop="name" label="判分点" align="left">
</el-table-column>
<el-table-column prop="right" label="完成结果" align="center">
<template slot-scope="scope">
<i
v-if="scope.row.right==true"
class="el-icon-check"
3 years ago
style="color:green;"
></i>
<i
v-else-if="scope.row.right==false"
class="el-icon-close"
3 years ago
style="color:red;"
></i>
</template>
</el-table-column>
3 years ago
<el-table-column prop="scores" label="得分" align="center"></el-table-column>
</el-table>
</el-card>
</el-col>
</el-row>
</div>
</div>
</el-aside>
<el-main>
3 years ago
<el-tabs v-model.trim="activeName" type="card">
<el-tab-pane label="案例" name="first">
<div class="break-all" v-html="projectManage.experimentDescription"></div>
</el-tab-pane>
<el-tab-pane label="实验要求" name="second">
3 years ago
<el-collapse :value="activeNames" accordion >
3 years ago
<el-collapse-item v-for="(item,index) in requires" :key="index" :name="item.id">
3 years ago
<template slot="title" style='line-height: 0px;'>
3 years ago
<i class='el-icon-s-ticket'></i>
3 years ago
<span style="margin: 0px 10px;font-size: 1rem;">{{ item.name }}</span>
</template>
3 years ago
<div class="break-all" v-html="item.experimentalRequirements"></div>
</el-collapse-item>
3 years ago
<!-- <p ref="scrollTag" style="font-size:16px;"></p> -->
</el-collapse>
</el-tab-pane>
3 years ago
<el-tab-pane label="实验提示" name="fifth" v-if="hintOpen == 0">
<div class="break-all" v-html="projectManage.experimentHint"></div>
</el-tab-pane>
</el-tabs>
</el-main>
</el-container>
</el-container>
3 years ago
<!-- </transition> -->
<!-- </div> -->
3 years ago
<div class="panel" :class="{active: showIt}">
<div @click="toggleCase">
3 years ago
<img src="../../assets/img/case/left.png" alt v-if="showIt" />
<img src="../../assets/img/case/right.png" alt v-else />
</div>
</div>
3 years ago
<div class='popContainer' v-if='popContainer'></div>
3 years ago
3 years ago
<!-- 遮罩层 -->
<div class="absolute z-50 h-screen bg-transparent inset-0" v-show="showIt"></div>
3 years ago
3 years ago
<el-dialog
title="提示"
:visible.sync="closePaneJudge"
width="30%"
center>
<h4 class="antialiased text-center text-2xl">请选择你将进行的操作</h4>
<span slot="footer" class="dialog-footer">
<el-button @click="closePane()">再试一次</el-button>
3 years ago
<!-- <el-button type="primary" @click="closePane(true)">其他业务</el-button> -->
3 years ago
</span>
</el-dialog>
</div>
3 years ago
</template>
<script>
import Cookie from 'js-cookie'
import util from '@/libs/util'
import Setting from '@/setting'
// 引入封装好的接口
3 years ago
import {getProjectBySystemId,getProjectDetail,submit,getQueryCache,deleteCache,checkTest,checkTest2} from "@/api/http.js";
import { mapMutations } from 'vuex'
export default {
3 years ago
props: {
sendSync: {
type: Boolean,
default: false
},
autoStart: {
type: Boolean,
default: false
},
defaultVal: {
type: Number,
default: null
},
codeId: {
type: Number,
default: 0
},
showIt: {
type: Boolean,
required: true
}
},
data() {
return {
3 years ago
closePaneJudge: false,
lockIt: false,
3 years ago
intervalJudge: {},
systemId: Setting.systemId,
workbench: [],
test: [],
caseVisible: true,
grade: "00",
exampleData: "",
codeid: "",
codeIds: [],
judgmentPointsIds: [],
text: "",
isStart: false,
globalTimer: null, //获取setInterval对象值
millisecond: 0,
countVal: this.defaultVal, //获取初始值
pauseTime: 0,
day: '00',
seconds: '00',
minutes: '00',
hour: '00',
createTime: "", //开始时间
actEndTime: "", //倒计时结束时间
projectId: "", //选中后绑定的对象
value: [
{projectName:'项目1',projectId:1}
],
experimentalGoal: "", //实验目标
caseDescription: "", //案例描述
experimentSuggests: "", //实验提示
judgmentPointsName: "", // 判分点名称
points: [],
3 years ago
// activeNames: [],
tableData: [],
activeName: "first",
schoolId: '',
studentId: "",
courseId: "",
// projectId: "",
assessmentId: "",
3 years ago
classId:'',
projectPermissions: 0, //项目权限(0、练习 1、考核 2、竞赛)
isSubmit: false,
entryTime: util.formatDate('yyyy-MM-dd hh:mm:ss'),
startTime: '',
stopTime: '',
isSelected: false,
userId: '',
3 years ago
hintOpen: 0,
topicList:[],
projectManage:{},
requires:[],
projectName:'',
3 years ago
loading:false,
sss:1,
popContainer:false,
3 years ago
timestamp:'',
}
},
3 years ago
created() {
3 years ago
let assessmentId = this.getQueryVariable('assessmentId')
sessionStorage.setItem('assessmentId',assessmentId)
3 years ago
this.assessmentId = assessmentId
if(assessmentId == '' || assessmentId == null || assessmentId == 'null') {
3 years ago
}else {
this.intervalJudge = setInterval(() => {
3 years ago
const data = {
id: parseInt(sessionStorage.getItem('assessmentId')),
3 years ago
}
3 years ago
checkTest(data).then(data => {
const { data: { data: { status } } } = data
if(status !== 1) {
this.popContainer = true
clearInterval(this.intervalJudge)
3 years ago
this.$alert('考试已结束,已自动为您提交。', '提示', {
confirmButtonText: '确定',
type: 'warning',
center: true
3 years ago
});
3 years ago
// 提交
3 years ago
this.sureSubmit(true)
3 years ago
}else {
}
})
3 years ago
}, 4000)
3 years ago
}
},
watch: {
countVal: {
deep: true,
handler: function(val, oldVal) {
let vm = this;
if (vm.needSendSunc) {
vm.passToParent(val);
}
}
},
needSendSunc: {
deep: true,
handler: function(val) {
let vm = this;
if (val) {
vm.passToParent(vm.countString);
}
}
3 years ago
},
3 years ago
// caseVisible(newVal) {
// if(!newVal) {
// console.log(this.$refs.scrollTag)
// }
// }
},
3 years ago
computed: {
needSendSunc: function() {
return this.sendSync;
},
// 倒计时
second: function() {
return this.num(this.seconds);
},
minute: function() {
return this.num(this.minutes);
3 years ago
},
activeNames() {
// 默认展开所有
return this.requires.map(item => item.id)
},
},
mounted() {
let token = this.getQueryVariable('token')
let cid = this.getQueryVariable('cid')
let systemId = this.getQueryVariable('systemId')
3 years ago
let projectId = this.getQueryVariable('projectId')
3 years ago
let assessmentId = this.getQueryVariable('assessmentId')
let classId = this.getQueryVariable('classId')
3 years ago
let stopTime = this.getQueryVariable('stopTime')
let timestamp = +stopTime;
if (timestamp != null){
}else{
sessionStorage.setItem('timestamp', null)
}
if (token != null){
sessionStorage.setItem('token', token)
sessionStorage.setItem('cid', cid)
sessionStorage.setItem('systemId', systemId)
sessionStorage.setItem('timestamp', timestamp)
3 years ago
sessionStorage.setItem('projectId', projectId)
3 years ago
sessionStorage.setItem('assessmentId', assessmentId)
sessionStorage.setItem('classId', classId)
this.assessmentId = assessmentId
this.classId = classId
}
let tokens = sessionStorage.getItem('token')
3 years ago
if(tokens || token){
this.projectPermissions = this.assessmentId ? 1 : 0
3 years ago
this.assessmentId && this.projectId && this.checkVer()
this.codeId && this.codeIds.push(this.codeId)
if (assessmentId !=null && assessmentId != '' && assessmentId !='null'){
3 years ago
let params = {
"projectId":projectId,
}
this.selectProjects(params)
}else{
this.getData()
}
}
},
methods: {
...mapMutations({
initState: 'system/initState'
}),
3 years ago
clearStore() {
3 years ago
// // 清空缓存
3 years ago
let token = sessionStorage.getItem('token')
let cid = sessionStorage.getItem('cid')
let systemId = sessionStorage.getItem('systemId')
let projectId = sessionStorage.getItem('projectId')
3 years ago
let assessmentId = sessionStorage.getItem('assessmentId')
let classId = sessionStorage.getItem('classId')
let timestamp = sessionStorage.getItem('timestamp')
let startTime = sessionStorage.getItem('startTime')
3 years ago
const storeProjectId = sessionStorage.getItem('storeProjectId')
3 years ago
sessionStorage.clear()
sessionStorage.setItem('token', token)
sessionStorage.setItem('cid', cid)
sessionStorage.setItem('systemId', systemId)
sessionStorage.setItem('projectId', projectId)
3 years ago
if(assessmentId) {
sessionStorage.setItem('assessmentId', assessmentId)
}
if(classId) {
sessionStorage.setItem('classId', classId)
}
if(timestamp) {
sessionStorage.setItem('timestamp', timestamp)
}
if(startTime) {
sessionStorage.setItem('startTime', startTime)
}
3 years ago
if(storeProjectId) {
sessionStorage.setItem('storeProjectId', storeProjectId)
}
3 years ago
3 years ago
// 初始化vuex中的state
this.initState();
},
3 years ago
closePane(judge = false){
3 years ago
this.closePaneJudge = false
3 years ago
// this.lockIt = false
3 years ago
this.reload()
3 years ago
if(judge) {
this.toggleCase()
}
3 years ago
},
3 years ago
getQueryVariable(name) {
var reg = new RegExp('(^|&)'+name+'=([^&]*)(&|$)')
if(window.location.href.split('?')[1]){
var r = window.location.href.split('?')[1].match(reg)
if (r != null){
return (r[2])
}else{
return null
}
}
3 years ago
// if(sessionStorage.getItem(name)) {
// return sessionStorage.getItem(name)
// }else {
// var reg = new RegExp('(^|&)'+name+'=([^&]*)(&|$)')
// if(window.location.href.split('?')[1]){
// var r = window.location.href.split('?')[1].match(reg)
// if (r != null){
// return (r[2])
// }else{
// return null
// }
// }
// }
3 years ago
},
//获取项目列表
getData(){
let params = {
3 years ago
"systemId":sessionStorage.getItem('systemId'),
"cId":sessionStorage.getItem('cid'),
"permissions":0,
}
getProjectBySystemId(params).then((data)=>{
if(data.status == 200){
3 years ago
// this.getQueryCaches()
3 years ago
//获取当前时间
this.getBeginTime()
this.topicList = []
3 years ago
3 years ago
for (var i=0;i<data.data.projects.length;i++){
if (data.data.projects[i].projectId){
this.topicList.push(data.data.projects[i])
3 years ago
3 years ago
}
3 years ago
3 years ago
}
3 years ago
console.log('---this.topicList')
console.log(this.topicList)
3 years ago
if(this.topicList.length > 0){
3 years ago
const storeProjectId = sessionStorage.getItem('storeProjectId')
if(storeProjectId) {
this.selectProjects({
projectId: storeProjectId
})
}else {
this.selectProjects({
projectId: this.topicList[0].projectId
})
}
3 years ago
this.gotuQueryVariable()
// 加的
}
3 years ago
this.getQueryCaches()
}
}).catch((error)=>{
})
},
3 years ago
getBeginTime(){
let dates = new Date().getTime();
let date = new Date(dates)
let y = date.getFullYear();
let MM = date.getMonth() + 1;
MM = MM < 10 ? ('0' + MM) : MM;
let d = date.getDate();
d = d < 10 ? ('0' + d) : d;
let h = date.getHours();
h = h < 10 ? ('0' + h) : h;
let m = date.getMinutes();
m = m < 10 ? ('0' + m) : m;
let s = date.getSeconds();
s = s < 10 ? ('0' + s) : s;
this.startTime = y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
sessionStorage.setItem('startTime', this.startTime)
},
getQueryCaches(){
getQueryCache(params).then((data)=>{
if(data.data.status == 200){
this.$confirm('有项目未做完,是否回到未做完的项目?', '提示', {
3 years ago
center: true,
3 years ago
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
message: '切换成功!'
});
this.projectId=data.data.projectId
let params = {
"projectId":data.data.projectId,
}
sessionStorage.setItem('projectId', data.data.projectId)
this.selectProjects(params)
}).catch(() => {
deleteCache().then((data)=>{
this.$message({
type: 'info',
message: '已取消'
});
}).catch(() => {
})
this.gotuQueryVariable()
});
}else{
this.gotuQueryVariable()
}
}).catch((error)=>{
this.gotuQueryVariable()
})
},
gotuQueryVariable(){
let projectId = this.getQueryVariable('projectId')
if(projectId){
this.projectId = projectId
}else{
3 years ago
const storeProjectId = sessionStorage.getItem('storeProjectId')
if(storeProjectId) {
this.projectId = storeProjectId;
}else {
this.projectId = this.topicList[0].projectId;
}
3 years ago
}
sessionStorage.setItem('projectId', this.projectId)
let params = {
"projectId":this.projectId,
}
this.selectProjects(params)
},
selectProjects(params){
getProjectDetail(params).then((data)=>{
if(data.status == 200){
3 years ago
this.globalTimer = "";
3 years ago
let stopTime = sessionStorage.getItem('timestamp')
let timestamp = +stopTime;
this.countVal = timestamp;
3 years ago
this.sss = 1;
3 years ago
this.hintOpen = data.data.projectManage.hintOpen;
this.countDown(timestamp);
let assessmentId = this.getQueryVariable('assessmentId')
if(assessmentId != null && assessmentId != '' && assessmentId != 'null'){
3 years ago
//获取当前时间
this.getBeginTime()
3 years ago
this.topicList = [data.data.projectManage];
3 years ago
this.projectId = +params.projectId
this.projectName = data.data.projectManage.projectName
3 years ago
this.projectId = data.data.projectManage.projectId;
3 years ago
this.projectManage = data.data.projectManage;
this.requires = data.data.projectJudgmentVos;
}else{
this.projectName = data.data.projectManage.projectName
3 years ago
this.projectId = data.data.projectManage.projectId;
3 years ago
this.projectManage = data.data.projectManage;
this.requires = data.data.projectJudgmentVos;
}
}
}).catch((error)=>{
})
},
//选择好题目
selectProject(){
3 years ago
this.lockIt = false
this.$router.push('/index/list')
3 years ago
3 years ago
this.$nextTick(() => {
this.clearStore()
})
3 years ago
let params = {
"projectId":this.projectId,
}
3 years ago
sessionStorage.setItem('storeProjectId', this.projectId)
3 years ago
let formList = []
sessionStorage.setItem('ruleReqs', JSON.stringify(formList))
sessionStorage.setItem('accountVoucher', JSON.stringify(formList))
sessionStorage.setItem('accountPasswordAll', '')
sessionStorage.setItem('projectId', this.projectId)
getProjectDetail(params).then((data)=>{
if(data.status == 200){
const { systemId, projectId } = data.data.projectManage
// systemId=11 为银行项目,为其他值则是python项目,直接跳python
if (systemId === 11) {
3 years ago
this.popContainer = false;
this.hintOpen = data.data.projectManage.hintOpen;
this.projectName = data.data.projectManage.projectName;
3 years ago
this.projectId = data.data.projectManage.projectId;
this.projectManage = data.data.projectManage;
this.requires = data.data.projectJudgmentVos;
this.$router.push('/index/list')
} else {
const { cid, curriculumName, token, systemId } = this.$route.query
Cookie.set('admin-assessmentId', '', -1)
Cookie.set('admin-startTime', '', -1)
Cookie.set('admin-stopTime', '', -1)
Cookie.set('admin-projectId', projectId)
Cookie.set('admin-token', token)
Cookie.set('admin-courseId', cid)
Cookie.set('admin-curriculumName', escape(curriculumName))
Cookie.set('admin-systemId', systemId)
// 8个python子系统都跳这个地址,子系统会通过cookie里的systemId识别展示哪套系统
location.href = process.env.NODE_ENV === 'development' ?
`http://${location.hostname}:8080/#/` :
location.href.includes('occupationlab.com') ?
'https://www.occupationlab.com/pyTrials' :
`${location.origin}/pyTrials`
}
}
}).catch((error)=>{
})
//获取当前时间
3 years ago
this.getBeginTime()
3 years ago
this.globalTimer = "";
this.countVal = "";
this.day = "00";
this.seconds = "00";
this.minutes = "00";
this.hour = "00";
this.sss = 1
this.startCountFn();
},
//提交
3 years ago
Submit() {
this.$confirm('此操作将视为结束考试, 是否继续?', '提示', {
3 years ago
center: true,
3 years ago
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
3 years ago
3 years ago
this.sureSubmit(true)
}).catch(() => {
this.$message({
type: "info",
message: "已取消提交"
});
3 years ago
});
3 years ago
},
3 years ago
sureSubmit(judge){
// 初始化vuex中的state
// this.initState();
this.actEndTime = new Date().getTime();
let ruleReqs = sessionStorage.getItem('ruleReqs')
let startTime = sessionStorage.getItem('startTime')
let ruleReqsList = JSON.parse(ruleReqs);
let lcld = []
for (var i=0;i<this.requires.length;i++){
3 years ago
lcld.push(this.requires[i].judgmentId)
}
3 years ago
let systemId = sessionStorage.getItem('systemId')
let cid = sessionStorage.getItem('cid')
let params = {
3 years ago
"assessmentId":this.assessmentId,
"classId":this.classId,
"curriculumId":+cid,
"endTime": this.actEndTime,
"lcId": lcld,
"projectId": this.projectId,
"projectName":this.projectName,
"purpose":this.projectManage.experimentTarget,
"ruleReqs": ruleReqsList,
"startTime": startTime,
"submitTime": this.actEndTime,
"systemId": systemId,
}
3 years ago
this.loading = true;
submit(params).then((data)=>{
3 years ago
if(data.status == 200){
3 years ago
this.clearStore()
3 years ago
let firstLoad = null
let firstLoad2 = null
if(sessionStorage.getItem('firstLoad')) {
firstLoad = sessionStorage.getItem('firstLoad')
}
if(sessionStorage.getItem('firstLoad2')) {
firstLoad2 = sessionStorage.getItem('firstLoad2')
}
3 years ago
3 years ago
this.lockIt = true
3 years ago
if(firstLoad) {
sessionStorage.setItem('firstLoad', firstLoad)
}
if(firstLoad2) {
sessionStorage.setItem('firstLoad2', firstLoad2)
}
3 years ago
3 years ago
let datas= data.data.retMap.scoreInfo;
let formList = []
sessionStorage.setItem('ruleReqs', JSON.stringify(formList))
sessionStorage.setItem('accountVoucher', JSON.stringify(formList))
sessionStorage.setItem('accountPasswordAll', '')
let list = this.requires
this.grade = data.data.retMap.totalScore
for (var j=0;j<list.length;j++){
for (var i=0;i<datas.length;i++){
if (datas[i].lcId== list[j].judgmentId){
list[j].flag = datas[i].flag
list[j].scores = datas[i].questionScore
3 years ago
list[j].right = datas[i].calculate
}
}
}
3 years ago
this.sss = 0;
this.popContainer = true;
3 years ago
if(judge) {
this.$message({
type: 'success',
message: '提交成功'
});
}
3 years ago
this.requires.splice(0, this.requires.length, ...list)
}
3 years ago
this.loading = false
}).catch((error)=>{
3 years ago
this.loading = false
})
},
3 years ago
//开始计时
startCountFn() {
if (!this.isStart) {
3 years ago
// this.countVal = this.countVal ? this.countVal : 0;
3 years ago
this.globalTimer = setInterval(() => {
if(this.sss == 0){
this.globalTimer = null;
clearInterval(this.globalTimer);
3 years ago
}else if (this.timestamp){
this.counterFn(this.countVal--);
3 years ago
}else{
this.counterFn(this.countVal++);
}
}, 1000);
this.isStart = true;
}
},
3 years ago
//倒计时
3 years ago
countDown(timestamp){
this.timestamp = timestamp
this.sss = 1;
this.globalTimer = null;
clearInterval(this.globalTimer);
this.startCountFn()
},
counterFn(counterTime) {
3 years ago
if (this.timestamp){
let countDown = (new Date(counterTime).getTime() - new Date().getTime()) / 1000
if (countDown > 0) {
let d = Math.floor(countDown / (60 * 60 * 24));
let h = Math.floor(countDown / (60 * 60));
let m = Math.floor(countDown % (60 * 60) / 60);
let s = Math.floor(countDown % (60 * 60) % 60);
this.day = `${d > 9 ? d : `0${d}`}`;
this.hour = `${h > 9 ? h : `0${h}`}`;
this.minutes = `${m > 9 ? m : `0${m}`}`;
this.seconds = `${s > 9 ? s : `0${s}`}`;
} else {
3 years ago
this.$confirm('此操作将视为结束考试, 是否继续?', '提示', {
3 years ago
center: true,
3 years ago
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.sureSubmit(true)
3 years ago
}).catch(() => {
// this.$message({
// type: "info",
// message: "已取消提交"
// });
});
// this.$alert('考试已结束,已自动为您提交。', '提示', {
// confirmButtonText: '确定',
// type: 'warning',
// center: true
// });
3 years ago
this.sss = 0
3 years ago
this.sureSubmit(true)
3 years ago
this.day = '00';
this.hour = '00';
this.minutes = '00';
this.seconds = '00';
}
}else{
let leave1 = counterTime % (24 * 3600 * 1); //计算天数后剩余的毫秒数
let leave2 = leave1 % (3600 * 1); //计算小时数后剩余的毫秒数
let leave3 = leave2 % (60 * 1); //计算分钟数后剩余的毫秒数
let day = Math.floor(counterTime / (24 * 3600 * 1)); //计算相差天数
let hour = Math.floor(leave1 / (3600 * 1)); //计算相差小时
let minutes = Math.floor(leave2 / (60 * 1)); //计算相差分钟
let seconds = Math.round(leave3 / 1); //计算相差秒
day = day >= 10 ? day : "0" + day;
hour = hour >= 10 ? hour : "0" + hour;
minutes = minutes >= 10 ? minutes : "0" + minutes;
seconds = seconds >= 10 ? seconds : "0" + seconds;
this.day = day;
this.hour = hour;
this.minutes = minutes;
this.seconds = seconds;
}
},
reload() {
3 years ago
this.lockIt = false
3 years ago
this.clearStore()
3 years ago
let token = sessionStorage.getItem('token')
let cid = sessionStorage.getItem('cid')
let systemId = sessionStorage.getItem('systemId')
let projectId = sessionStorage.getItem('projectId')
let formList = []
sessionStorage.setItem('ruleReqs', JSON.stringify(formList))
sessionStorage.setItem('accountVoucher', JSON.stringify(formList))
sessionStorage.setItem('accountPasswordAll', '')
3 years ago
let params = {
"projectId":projectId,
}
this.selectProjects(params)
this.popContainer = false
this.sss = 1
this.startCountFn();
deleteCache().then((data)=>{
}).catch(() => {
})
this.globalTimer = "";
this.countVal = "";
this.day = "00";
this.seconds = "00";
this.minutes = "00";
this.hour = "00";
this.grade = '00'
this.$router.push('/index/list')
this.getBeginTime()
},
3 years ago
checkVer() {
let data = {
userId: this.userId,
id: this.assessmentId
}
this.$get(this.api.qualifications,data).then(res => {
if(res.message == 'false'){
this.isSubmit = true;
}
});
},
// 倒计时
timeFormat(param) {
return param < 10 ? "0" + param : param;
},
toggleCase() {
3 years ago
if(!this.lockIt) {
this.$emit('update:showIt', !this.showIt)
}else {
this.closePaneJudge = true
}
3 years ago
// this.caseVisible = !this.caseVisible
},
collapse(){
},
passToParent(data) {
this.$emit("getDataFromChild", data);
},
getCookie(cookie_name) {
//获取cookie中指定key的value
var allcookies = document.cookie; //索引长度,开始索引的位置
3 years ago
var cookie_pos = allcookies.indexOf(cookie_name); //如果找到了索引,就代表cookie存在,否则不存在
if (cookie_pos != -1) {
3 years ago
//把cookie_pos放在值的开始,只要给值加1即可
//计算取cookie值得开始索引,加的1为“=”
cookie_pos = cookie_pos + cookie_name.length + 1; //计算取cookie值得结束索引
var cookie_end = allcookies.indexOf(";", cookie_pos);
if (cookie_end == -1) {
cookie_end = allcookies.length;
} //得到想要的cookie的值
var value = unescape(allcookies.substring(cookie_pos, cookie_end));
}
return value;
}
}
};
</script>
<style lang="scss" scoped>
3 years ago
$togetherFontSize: 16px;
3 years ago
/deep/ .el-tab-pane {
font-size: 1rem!important;
}
3 years ago
.scrollbar {
z-index: 100000000;
}
3 years ago
.popContainer {
position: absolute;
width:100%; /*宽度设置为100%,这样才能使隐藏背景层覆盖原页面*/
height:100%;
z-index: 1000;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.3);
}
/deep/.el-container {
height: 80%;
&.is-vertical {
position: fixed;
top: 200px;
bottom: 20px;
left: 0;
width: 85%;
height: 70%;
background-color: #f5f5f5;
3 years ago
z-index: 1001;
}
.el-header {
color: #333;
padding: 0 12px 0 20px;
.el-button {
background-color: $main-color;
color: #fff;
border: none;
margin: 5px 0px 5px 5px;
font-size: 16px;
}
.submit-btn {
padding-left: 30px;
padding-right: 30px;
background: $main-color url(../../assets/img/case/btn.png) 0 0/100% 100% no-repeat;
}
}
.el-aside{
3 years ago
font-size: $togetherFontSize;
color: #333;
[class*=" el-icon-"],[class^="el-icon-"]{
line-height: 40px;
font-size: 16px;
3 years ago
font-size: $togetherFontSize;
}
}
.el-main {
width: 60%;
background-color: #fff;
color: #333;
padding: 0;
3 years ago
font-size: $togetherFontSize;
margin: 0px 20px 10px 10px;
white-space: pre-wrap;
background: #fff url(../../assets/img/case/bg.png) top right no-repeat;
}
.aside-header {
margin: 0px 10px 10px 10px;
background-color: #fff;
3 years ago
font-size: .875rem;
}
.aside-footer {
margin: 0px 10px 10px 10px;
background-color: #fff;
}
.header_h {
height: 50px;
background: url(../../assets/img/case/header.png) 0 0/100% 100% no-repeat;
justify-content: center;
i{
color: #fff;
}
p {
line-height: 40px;
font-size: 16px;
color: #fff;
padding-left: 10px;
}
}
.el-card{
border: 0;
border-radius: 0;
.el-card__body {
padding: 0;
}
}
.select{
flex: 1;
input::-webkit-input-placeholder {
color: #333;
}
.el-input__icon {
line-height: 60px;
}
.el-select__caret:before {
content: "\e78f";
font-size: 16px;
padding: 3px;
background-color: $main-color;
border-radius: 50%;
color: #ffffff;
}
.el-input--suffix .el-input__inner {
color: #333;
3 years ago
font-size: $togetherFontSize;
border-radius: 30px;
border: none;
background-color: #fff;
margin-left: 15px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.el-input {
padding: 10px 0;
}
}
.font_css {
margin: 0 10px;
text-indent: 2em;
3 years ago
font-size: $togetherFontSize;
padding: 10px 0;
}
.countDownBox {
3 years ago
font-size: $togetherFontSize;
margin: 0 10px;
padding: 20px 0;
}
.timeSpan {
color: #333333;
padding: 5px 15px;
3 years ago
font-size: $togetherFontSize;
background: #ffffff;
border-radius: 18px;
margin: 0 5px;
text-align: center;
}
.gradeSpan {
color: #878787;
padding: 10px;
3 years ago
font-size: $togetherFontSize;
background: #e0e0e0;
border-radius: 6px;
text-align: center;
}
.el-header /deep/.el-button:hover,
.el-button:focus,
.el-button:active {
background-color: $main-color;
color: #fff;
}
.el-table{
3 years ago
// font-size: $togetherFontSize;
3 years ago
// font-size: .75rem;
overflow: auto;
color: #202020;
.el-table--striped .el-table__body tr.el-table__row--striped td {
background: #eef7ff;
}
.el-table td,.el-table th.is-leaf{
border-bottom: 0;
}
thead{
color: #ffffff;
3 years ago
font-size: togetherFontSize;
3 years ago
font-size: $togetherFontSize;
th{
padding: 5px 0;
}
}
th > .cell{
font-weight: 100;
3 years ago
font-size: .875rem;
}
th,tr{
3 years ago
background-color: #fff;
}
}
3 years ago
3 years ago
.el-table__header-wrapper{
thead{
color: #ffffff;
3 years ago
font-size: .875rem;
3 years ago
font-size: $togetherFontSize;
3 years ago
th{
padding: 5px 0;
}
}
th > .cell{
font-weight: 100;
}
th,tr{
background-color: #badfff;
}
}
.el-table__row--striped {
td{
background-color: #badfff!important;
}
}
3 years ago
/deep/ .el-collapse{
3 years ago
font-size: .875rem;
3 years ago
}
.el-collapse-item__content{
padding-left: 10px;
padding-right: 10px;
3 years ago
font-size: $togetherFontSize;
}
.el-collapse-item__wrap {
border-bottom: none;
}
3 years ago
/deep/.el-collapse-item__header {
font-size: 1rem;
3 years ago
border-bottom: none;
}
.el-tabs__content {
margin: 0 20px;
}
.el-icon-s-ticket:before {
3 years ago
font-size: togetherFontSize;
3 years ago
//padding: 5px;
color: $main-color;
}
.el-collapse-item__arrow {
margin: 0 5px 0 0;
}
.el-icon-arrow-right:before {
font-size: 12px;
3 years ago
font-size: $togetherFontSize;
3 years ago
//padding: 1px;
//margin-left: 10px;
background-color: $main-color;
border-radius: 50%;
color: #ffffff;
}
.el-tabs__item {
font-size: 16px;
}
.el-tabs--card > .el-tabs__header .el-tabs__nav {
border: none;
}
.el-tabs--card > .el-tabs__header .el-tabs__item {
border-left: none;
}
.el-tabs--card > .el-tabs__header {
border-bottom: none;
}
.el-collapse {
border-bottom: none;
border-top: none;
height: 500px;
overflow: hidden;
overflow-y: auto;
3 years ago
}
/deep/.el-collapse-item {
font-size: $togetherFontSize;
background-color: red;
color: red;
}
.el-tabs__item.is-active {
color: #fff;
background-color: $main-color;
}
.el-tabs__header {
padding: 5px 20px;
}
}
.break-all{
3 years ago
font-size: 1rem;
word-break: break-all;
}
.panel{
position: fixed;
3 years ago
z-index: 10010000;
top: 50%;
&.active{
3 years ago
//z-index: 10;
left: 85%;
3 years ago
z-index: 1001;
}
img{
3 years ago
height: 175px;
cursor: pointer;
}
}
</style>