parent
2a033574ad
commit
40ed5f0442
9 changed files with 4321 additions and 3 deletions
@ -0,0 +1,223 @@ |
||||
@charset "utf-8"; |
||||
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,fieldset,input,textarea,blockquote,font{padding: 0px;margin: 0px; font-family:\5FAE\8F6F\96C5\9ED1;} |
||||
input, textarea, keygen, select, button, isindex, meter, progress {-webkit-writing-mode: horizontal-tb;} |
||||
input, textarea, keygen, select, button, isindex { |
||||
margin: 0em; |
||||
font: -webkit-small-control; |
||||
color: initial; |
||||
letter-spacing: normal; |
||||
word-spacing: normal; |
||||
text-transform: none; |
||||
text-indent: 0px; |
||||
text-shadow: none; |
||||
display: inline-block; |
||||
text-align: start; |
||||
} |
||||
h1,h2,h3,h4,h5,h6,b,strong {font-weight:800 } |
||||
table { border-collapse: collapse; border-spacing: 0; table-layout:fixed; } |
||||
fieldset,img{ border:0; } |
||||
select,input,select,label { vertical-align:middle } |
||||
ul,ol{ list-style: none; } |
||||
|
||||
/*link*/ |
||||
a {text-decoration:none; cursor:pointer;} |
||||
a:hover {text-decoration:none;} |
||||
.pointer {cursor:pointer;} |
||||
|
||||
/* 去a虚线框 cdl clear dotted line */ |
||||
|
||||
.cdl, aactive { outline:none; blr:expression(this.onFocus=this.blur()) } |
||||
focus { outline:none } /* for Firefox*/ |
||||
|
||||
/*clear*/ |
||||
.clear {clear:both; margin:0px; padding:0px;} |
||||
|
||||
/* new clearfix */ |
||||
.clearfix:after { |
||||
visibility: hidden; |
||||
display: block; |
||||
font-size: 0; |
||||
content: " "; |
||||
clear: both; |
||||
height: 0; |
||||
} |
||||
* html .clearfix { zoom: 1; } /* IE6 */ |
||||
*:first-child+html .clearfix { zoom: 1; } /* IE7 */ |
||||
|
||||
/*float*/ |
||||
.fl { float:left; display:inline; } /* 左浮动 */ |
||||
.fr { float:right; } /* 右浮动 */ |
||||
|
||||
/* text */ |
||||
.textl {text-align:left;} |
||||
.textr {text-align:right;} |
||||
.textc {text-align:center;} |
||||
.bold {font-weight:800;} |
||||
|
||||
.overflow {overflow:hidden;} |
||||
.fn{ font-style:normal; font-weight:normal;} |
||||
.nowrap{ white-space:nowrap;} |
||||
.indent {text-indent:2em;} |
||||
.ellipsis{-o-text-overflow: ellipsis; text-overflow: ellipsis; |
||||
-icab-text-overflow: ellipsis; |
||||
-khtml-text-overflow: ellipsis; |
||||
-moz-text-overflow: ellipsis; |
||||
-webkit-text-overflow: ellipsis; |
||||
white-space:nowrap; overflow:hidden; } |
||||
|
||||
/* display and position */ |
||||
.disb {display:block;} |
||||
.hide {display:none;} |
||||
.inlineBlock {display:inline-block; *zoom:1; *display:inline; vertical-align:middle;} |
||||
.absolute { position:absolute} |
||||
.relative { position:relative;} |
||||
/*新增相对窗口定位*/ |
||||
.fixed { position:fixed;} |
||||
|
||||
/* margin */ |
||||
.nomp {margin:0px; padding:0px;} |
||||
.nomar{margin:0px;} |
||||
.mar10 {margin:10px;} |
||||
.mt10 {margin-top:10px;} |
||||
.mb10 {margin-bottom:10px;} |
||||
.ml10 {margin-left:10px;} |
||||
.mr10 {margin-right:10px;} |
||||
.mar20 {margin:20px;} |
||||
.mt20 {margin-top:20px;} |
||||
.mb20 {margin-bottom:20px;} |
||||
.ml20 {margin-left:20px;} |
||||
.mr20 {margin-right:20px;} |
||||
.m0a { margin:0 auto; } /*容器内水平居中*/ |
||||
/* padding */ |
||||
.nopad {padding:0px;} |
||||
.pad10 {padding:10px;} |
||||
.pl10 {padding-left:10px;} |
||||
.pr10 {padding-right:10px;} |
||||
.pb10 {padding-bottom:10px;} |
||||
.pt10 {padding-top:10px;} |
||||
.pad20 {padding:20px;} |
||||
.pl20 {padding-left:20px;} |
||||
.pr20 {padding-right:20px;} |
||||
.pb20 {padding-bottom:20px;} |
||||
.pt20 {padding-top:20px;} |
||||
|
||||
/* font */ |
||||
font {font:12px normal;} |
||||
.nofont {font-size:0px;} |
||||
.font12 {font-size:12px;} |
||||
.font14 {font-size:14px;} |
||||
.font16 {font-size:16px;} |
||||
.font18 {font-size:18px;} |
||||
.font15 {font-size:15px;} |
||||
.lh24{line-height:24px;} |
||||
.lh18{line-height:18px;} |
||||
|
||||
/*CSS3.0*/ |
||||
.radius |
||||
{/* border radius *//* (-moz-\-webkit-)border-top-left-radius:; \ -moz-border-radius-topleft:; */ |
||||
-moz-border-radius: 3px; |
||||
-khtml-border-radius: 3px; |
||||
-webkit-border-radius: 3px; |
||||
border-radius: 3px; |
||||
} |
||||
.radius50 |
||||
{/* border radius *//* (-moz-\-webkit-)border-top-left-radius:; \ -moz-border-radius-topleft:; */ |
||||
-moz-border-radius: 50%; |
||||
-khtml-border-radius: 50%; |
||||
-webkit-border-radius: 50%; |
||||
border-radius: 50%; |
||||
} |
||||
.shadow |
||||
{ |
||||
/*box shadow*//*(-moz-\-webkit-)box-shadow:;*/ |
||||
-moz-box-shadow: rgba(0,0,0,0.3) 0 4px 4px; |
||||
-webkit-box-shadow: rgba(0,0,0,0.3) 0 4px 4px; |
||||
-khtml-box-shadow: rgba(0,0,0,0.3) 0 4px 4px; |
||||
box-shadow: rgba(0,0,0,0.3) 0 4px 4px; /*filter:progid:DXImageTransform.Microsoft.Shadow(enabled=Enabled,color=#000,Strength=4,Direction=135);*/ |
||||
} |
||||
|
||||
/*隐藏文字*/ |
||||
.offScreen{ |
||||
left: -9999px; |
||||
position: absolute;} |
||||
|
||||
|
||||
.ofh { overflow:hidden; } /*溢出隐藏 */ |
||||
.tal { text-align:left; } /* 内容左对齐*/ |
||||
.tar { text-align:right; } /* 内容右对齐 */ |
||||
.tac { text-align:center; } /* 内容居中*/ |
||||
|
||||
|
||||
::-webkit-input-placeholder { /* WebKit browsers */ |
||||
color: #999; |
||||
} |
||||
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ |
||||
color: #999; |
||||
} |
||||
::-moz-placeholder { /* Mozilla Firefox 19+ */ |
||||
color: #999; |
||||
} |
||||
:-ms-input-placeholder { /* Internet Explorer 10+ */ |
||||
color: #999; |
||||
} |
||||
/* 输入框隐藏边框 */ |
||||
input,button,select,textarea{ outline:none;} |
||||
textarea{resize:none;} |
||||
|
||||
/*新增*/ |
||||
.b1sd{ border:1px solid #dedede;} |
||||
.w100{ width:100%;} |
||||
.c333{ color:#333;} |
||||
.c666{ color:#666;} |
||||
.c999{ color:#999;} |
||||
.bgfff{ background:#fff;} |
||||
.cf00{ color:#f00;} |
||||
a:visited{color:#333;} |
||||
a:active{color:#004276;} |
||||
a:link{color:#333;} |
||||
a:hover{ color:#ec7443;} |
||||
|
||||
/*pre标签超出换行*/ |
||||
pre{ wite-space:pre-warp; word-wrap:break-word;} |
||||
|
||||
/*拆分字母*/ |
||||
.wordBreak{ table-layout:fixed; word-break:break-all; overflow:hidden;} |
||||
|
||||
/*透明度*/ |
||||
.opacity{ opacity:0; filter:alpha(opacity=0); -moz-opacity:0; -khtml-opacity:0;} |
||||
.opacity50{opacity:0.5; filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity:0.5;} |
||||
|
||||
/*去掉谷歌Input黄色背景*/ |
||||
input{-webkit-box-shadow:0 0 0px 1000px white inset;} |
||||
|
||||
|
||||
|
||||
.zj_offset { |
||||
width: 1px; |
||||
height: 1px; |
||||
display: none; |
||||
} |
||||
.borp{ position: fixed; z-index: 3;} |
||||
ul.project-mana-ul{ |
||||
margin-top: 0; |
||||
width: 735px; |
||||
margin-left: -34px; |
||||
overflow: hidden; |
||||
} |
||||
ul.project-mana-ul li{ |
||||
padding-top: 40px; |
||||
margin: 0 34px; |
||||
} |
||||
ul.ppt-ul li{ |
||||
cursor:pointer; |
||||
} |
||||
.pro-mana-img-all.bgColor { |
||||
border: 2px solid #f00; |
||||
box-sizing: border-box; |
||||
background-position: -2px -2px; |
||||
} |
||||
.pro-mana-img-all.bgColor .added-btn{ |
||||
width: 66px; |
||||
height: 66px; |
||||
border: none; |
||||
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@ |
||||
import pageCommon from '@/common/page-common'; |
||||
import App from './studyGrade'; |
||||
|
||||
pageCommon.createPageInstance({ |
||||
render: h => h(App), |
||||
}); |
@ -0,0 +1,286 @@ |
||||
<template> |
||||
<div class="main-class"> |
||||
<!--头部开始--> |
||||
<div class="head-wrap the-bg"> |
||||
<div class="wid-fixed"> |
||||
<div class="fl marl-20"> |
||||
<div class="logo fl" style="margin-right:20px;"> |
||||
<span></span> |
||||
</div> |
||||
</div> |
||||
<div class="clear"></div> |
||||
</div> |
||||
</div> |
||||
<!--头部结束--> |
||||
<div id="updata_pass"></div> |
||||
|
||||
<div class="bg-f0f1 padlr50 padb20 "> |
||||
<div> |
||||
<div class="fl" style="padding: 26px 0;"> |
||||
<div class="fl col-646 font12 "> |
||||
我的成绩 |
||||
</div> |
||||
<div class="nav-icon fl"></div> |
||||
<div class="fl col-646 font12 ">区块链</div> |
||||
|
||||
</div> |
||||
<div class="fr" style="padding: 16px;"> |
||||
<div class="btn-84-34 the-bg fr marl-10 pointer" @click="closeWindow">返回</div> |
||||
</div> |
||||
<div class="clear"></div> |
||||
</div> |
||||
<div class="hei70 bg-ff bor-radi4 min-wid-1150"> |
||||
<div class="minwid-800 mar-auto hei70" style="width:calc(100% - 200px);"> |
||||
<div class="deta-minwid-name fl"> |
||||
<div class="fl linehei-70 the-col">学生姓名:</div> |
||||
<div class="fl linehei-70 col-878 ellipsis" style="width:110px" :title="userName">{{userName}}</div> |
||||
<div class="clear"></div> |
||||
</div> |
||||
<div class="deta-minwid-class fl"> |
||||
<div class="fl linehei-70 the-col">班级:</div> |
||||
<div class="fl linehei-70 col-878 ellipsis" style="width:120px" :title="className">{{className}}</div> |
||||
<div class="clear"></div> |
||||
</div> |
||||
<div class="deta-minwid-stuid fl"> |
||||
<div class="fl linehei-70 the-col">学号:</div> |
||||
<div class="fl linehei-70 col-878 ellipsis" style="width:90px" :title="stuNo">{{stuNo}}</div> |
||||
<div class="clear"></div> |
||||
</div> |
||||
<div class="deta-minwid-achie fl"> |
||||
<div class="fl linehei-70 the-col">成绩:</div> |
||||
<div class="fl linehei-70 col-f57 ellipsis" style="width:60px" id="totalScore" :title="totalScore"> |
||||
{{totalScore}} 分 |
||||
</div> |
||||
<div class="clear"></div> |
||||
</div> |
||||
<div class="deta-minwid-usetime fl"> |
||||
<div class="fl linehei-70 the-col">用时:</div> |
||||
<div class="fl linehei-70 col-878 ellipsis" style="width:60px" id="useTime" :title="useTime">{{useTime}} |
||||
</div> |
||||
<div class=" clear"></div> |
||||
</div> |
||||
<div class="deta-minwid-date fl"> |
||||
<div class="fl linehei-70 the-col">日期:</div> |
||||
<div class="fl linehei-70 col-878 ellipsis" style="width:90px" id="examDate" title="examDate">{{examDate}} |
||||
</div> |
||||
<div class="clear"></div> |
||||
</div> |
||||
<div class="clear"></div> |
||||
</div> |
||||
|
||||
</div> |
||||
<div> |
||||
|
||||
<h1>成绩解析</h1> |
||||
<div class="box" id="exam_mesaage_details"> |
||||
|
||||
<div> |
||||
<table class="box__table"> |
||||
<thead> |
||||
<tr> |
||||
<th width="50px">序号</th> |
||||
<th>考核点</th> |
||||
<th>得分点</th> |
||||
<th>学生答案</th> |
||||
<th>考核点分值</th> |
||||
<th>得分</th> |
||||
</tr> |
||||
</thead> |
||||
<tbody v-if="assessUserTargetList.length > 0 "> |
||||
<tr v-for="(target, taskKey) in assessUserTargetList "> |
||||
<td>{{ taskKey +1 }}</td> |
||||
<td >{{target.targetName}}</td> |
||||
<td v-if="target.taskOperate==1">>{{target.taskRate}}</td> |
||||
<td v-else-if="target.taskOperate==-1"><{{target.taskRate}}</td> |
||||
<td v-else>={{target.taskRate}}</td> |
||||
|
||||
<td v-if="target.studentRate !=null ">{{target.studentRate}}</td> |
||||
<td v-else>-</td> |
||||
<td>{{target.taskScore}}</td> |
||||
<td v-if="target.answer==0">{{target.taskScore}}</td> |
||||
<td v-else>0</td> |
||||
</tr> |
||||
</tbody> |
||||
<tbody v-else> |
||||
<tr> |
||||
<td>-</td> |
||||
<td>-</td> |
||||
<td>-</td> |
||||
<td>-</td> |
||||
<td>-</td> |
||||
<td>-</td> |
||||
</tr> |
||||
</tbody> |
||||
</table> |
||||
</div> |
||||
|
||||
|
||||
</div> |
||||
</div> |
||||
|
||||
<div class="fr" style="padding-right: 45%;padding-bottom: 20px;" v-if="assessUserIdsList.length > 1"> |
||||
<div class="btn-84-34 the-bg fl pointer" v-if="assessUserIndex == assessUserIdsList.length-1 " |
||||
style="background:grey;cursor:default;">上一次 |
||||
</div> |
||||
<div class="btn-84-34 the-bg fl pointer" v-else style="cursor:default;" @click="go(0)">上一次</div> |
||||
<div class="btn-84-34 the-bg fr marl-10 pointer" v-if="assessUserIndex==0 " |
||||
style="background:grey;cursor:default;">下一次 |
||||
</div> |
||||
<div class="btn-84-34 the-bg fr marl-10 pointer" v-else style="cursor:default;" @click="go(1)">下一次</div> |
||||
</div> |
||||
|
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import {getExamOverview, getExamDetails} from '@/api/yyyf'; |
||||
|
||||
export default { |
||||
name: "studyGrade", |
||||
data() { |
||||
return { |
||||
userName: null, |
||||
className: null, |
||||
stuNo: null, |
||||
totalScore: null, |
||||
useTime: null, |
||||
examDate: null, |
||||
issueId: null, |
||||
userId: null, |
||||
assessUserIdsList: [], |
||||
assessUserIndex: 0, |
||||
reqType: null, |
||||
caseInfo: null, |
||||
isFirst: 0, |
||||
assessUserTargetList: [], |
||||
}; |
||||
}, |
||||
computed: {}, |
||||
methods: { |
||||
parseUrl: function () { |
||||
let params = {}; //定义数组 |
||||
let url = decodeURIComponent(location.href); |
||||
let paramsIndex = url.indexOf('?'); |
||||
if (paramsIndex != -1) { |
||||
paramsIndex = paramsIndex + 1; |
||||
let paramsStr = url.substring(paramsIndex); |
||||
let paramsAttr = paramsStr.split('&'); |
||||
for (let x in paramsAttr) { |
||||
let y = paramsAttr[x].split('='); |
||||
if (y[0] == undefined || y[0] == '') { |
||||
continue; |
||||
} |
||||
if (y[1] != undefined) { |
||||
let value = ''; |
||||
let len = y.length; |
||||
for (let j = 1; j < len; j++) { |
||||
value += |
||||
y[j] == '' && |
||||
paramsAttr[x].charAt(value.length + y[0].length + 1) != '' |
||||
? '=' |
||||
: y[j]; |
||||
} |
||||
params[y[0]] = value; |
||||
} |
||||
} |
||||
} |
||||
return params; |
||||
}, |
||||
init: function () { |
||||
let params = this.parseUrl(); |
||||
this.userId = params.userId; |
||||
this.reqType = params.reqType; |
||||
|
||||
getExamOverview(params).then(res => { |
||||
if (res.data.code === 200) { |
||||
if (this.reqType == 0) { |
||||
this.assessUserIdsList = res.data.data.assessUserIdsList; |
||||
} |
||||
this.useTime = res.data.data.useTime; |
||||
this.examDate = res.data.data.examDate; |
||||
this.userName = res.data.data.userName; |
||||
this.className = res.data.data.className; |
||||
this.totalScore = res.data.data.totalScore; |
||||
this.caseInfo = res.data.data.caseInfo; |
||||
this.stuNo = params.stuNo; |
||||
let examDetailsParams={}; |
||||
examDetailsParams['assessUserId']=res.data.data.assessUserId; |
||||
examDetailsParams['isFirst']=this.isFirst; |
||||
this.isFirst = 1; |
||||
this.getExamDetails(examDetailsParams); |
||||
} else { |
||||
let self=this; |
||||
this.$message.warning({ |
||||
message: res.data.msg, |
||||
onClose: function () { |
||||
self.closeWindow(); |
||||
} |
||||
}); |
||||
} |
||||
}); |
||||
}, |
||||
go: function (type) { |
||||
let params={}; |
||||
|
||||
if (type == 0) { //上一次 |
||||
this.assessUserIndex = this.assessUserIndex + 1; |
||||
} else { |
||||
this.assessUserIndex = this.assessUserIndex - 1; |
||||
} |
||||
params['assessUserId']=this.assessUserIdsList[this.assessUserIndex]; |
||||
params['isFirst']=this.isFirst; |
||||
|
||||
this.getExamDetails(params) |
||||
}, |
||||
getExamDetails: function (params) { |
||||
|
||||
getExamDetails(params).then(res => { |
||||
if (res.data.code === 200) { |
||||
if (res.data.data.isFirst != 0) { |
||||
this.useTime = res.data.data.useTime; |
||||
this.examDate = res.data.data.examDate; |
||||
this.totalScore = res.data.data.totalScore; |
||||
} |
||||
this.assessUserTargetList = res.data.data.assessUserTargetList; |
||||
} else { |
||||
this.$message.warning({ |
||||
message: res.data.msg, |
||||
onClose: function () { |
||||
this.closeWindow(); |
||||
} |
||||
}); |
||||
} |
||||
}); |
||||
}, |
||||
closeWindow: function () { |
||||
let self = this; |
||||
if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Chrome") != -1) { |
||||
window.location.href = "about:blank"; |
||||
window.close(); |
||||
} else { |
||||
window.opener = null; |
||||
window.open("", "_self"); |
||||
window.close(); |
||||
} |
||||
}, |
||||
}, |
||||
mounted() { |
||||
this.init(); |
||||
}, |
||||
//更新钩子事件 |
||||
updated() { |
||||
} |
||||
}; |
||||
$(function () { |
||||
$(".fix-btn").click(function () { |
||||
$(this).siblings('.fix-con').toggle(); |
||||
$(this).toggleClass("active"); |
||||
}) |
||||
}); |
||||
</script> |
||||
<style scoped> |
||||
@import "./css/general.css"; |
||||
@import "./css/layui.css"; |
||||
@import "./css/style.css"; |
||||
</style> |
@ -1,5 +1,5 @@ |
||||
import pageCommon from '@/common/page-common'; |
||||
import App from './yyyfLogin'; |
||||
import App from './yyyflogin'; |
||||
|
||||
pageCommon.createPageInstance({ |
||||
render: h => h(App), |
Loading…
Reference in new issue