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.

506 lines
19 KiB

2 years ago
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
2 years ago
<title>知识答题</title>
2 years ago
<!--标准mui.css-->
<link rel="stylesheet" href="../css/mui.min.css">
2 years ago
<link rel="stylesheet" type="text/css" href="../css/icons-extra.css" />
2 years ago
<!--App自定义的css-->
<link rel="stylesheet" type="text/css" href="../css/app.css" />
<style>
2 years ago
.mui-card-header::after {
display: none !important;
}
.mui-input-row.mui-radio.mui-left::after {
display: none !important;
}
.mui-input-row.mui-checkbox.mui-left::after {
display: none !important;
}
2 years ago
.flex-container {
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-flex-flow: row wrap;
2 years ago
/* justify-content: space-between; */
2 years ago
text-align: center;
}
.mui-content-padded {
padding: 10px;
}
.mui-content-padded a {
margin: 10px;
width: 35px;
height: 35px;
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 25px;
background-clip: padding-box;
}
2 years ago
.legend {
display: flex;
justify-content: space-around;
align-items: center;
}
.legend a {
margin: 10px;
width: 20px;
height: 20px;
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
border: 1px solid #ddd;
border-radius: 25px;
2 years ago
background-clip: padding-box;
2 years ago
}
.legend span {
font-size: 14px;
}
2 years ago
.mui-content-padded a .mui-icon {
margin-top: 12px;
}
.mui-spinner,
.mui-spinner-white {
margin-top: 12px
}
.active .mui-spinner-indicator {
background: #007AFF;
}
.mui-content a {
color: #8F8F94;
}
.mui-content a.already {
color: #fff;
2 years ago
border: 1px solid #DD524D;
background-color: #DD524D;
}
.star {
position: absolute;
top: 3px;
left: 50%;
transform: translate(-50%, -50%);
width: 40px;
height: 40px;
}
.num {
position: absolute;
top: 3px;
left: 50%;
transform: translate(-50%, -50%);
color: #FFF5E1;
font-weight: bolder;
font-size: 16px;
}
.button {
background-image: url('../images/submit.svg');
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
padding: 5px 20px;
color: #FFF5E1;
text-shadow: 1px 1px 1px gray;
/*给文字添加阴影*/
border: none;
/*去掉按钮边框*/
border-radius: 5px;
}
.mui-checkbox input[type=checkbox]:checked:before,
.mui-radio input[type=radio]:checked:before {
color: #DD524D;
2 years ago
}
</style>
</head>
<body>
2 years ago
2 years ago
<!-- 侧滑导航根容器 -->
<div id="offCanvasWrapper" class="mui-off-canvas-wrap mui-draggable">
<!-- 菜单容器 -->
<aside class="mui-off-canvas-left">
<div class="mui-scroll-wrapper">
<div class="mui-scroll">
<div class="mui-content">
<div class="mui-content-padded">
<p style="text-align: center;">答题卡</p>
2 years ago
<div class="flex-container" id="answers"></div>
<script id="answersTemplate" type="text/x-jsrender">
{{if flag == 1}}
<a class="already">{{:order_id}}</a>
{{else}}
<a>{{:order_id}}</a>
{{/if}}
</script>
</div>
<div class="legend">
<div class="legend"><a class="already"></a><span>已做</span></div>
<div class="legend"><a></a><span>未做</span></div>
2 years ago
</div>
</div>
<!-- 菜单具体展示内容 -->
2 years ago
<button id="closeMenu" type="button" class="mui-btn mui-btn-danger mui-btn-block"
2 years ago
style="padding: 5px 20px;margin-top: 10px;">关闭</button>
2 years ago
</div>
</div>
</aside>
<!-- 主页面容器 -->
<div class="mui-inner-wrap">
2 years ago
<div class="mui-content mui-scroll-wrapper"
style="background-image: url('../images/bg_img.png');padding-top: 20px;">
<div style="margin-left: 10px;"><span style="color: #FDE6AA;"
2 years ago
class="mui-icon-extra mui-icon-extra-outline"></span><span
2 years ago
style="margin-left: 3px;color: #FDE6AA;">考试剩余时间:</span><span id="time"
style="color: #B70318;font-weight: bold;"></span>
2 years ago
2 years ago
<span style="float: right;margin-right: 10px;"><button id="submit" type="button" class="button">
2 years ago
提 交
</button></span>
</div>
2 years ago
2 years ago
<div class="mui-card" id="examinfo"
style="margin-top: 20px;background-color: #FFF5E1;position: relative;"></div>
2 years ago
<script id="myTemplate" type="text/x-jsrender">
2 years ago
<img class="star" style="filter: drop-shadow(0px 1px 2px #576574)" src="../images/tihao.svg">
<div class="num">{{:order_id}}</div>
<div class="mui-card-header" style="font-size:18px;line-height: 1.8;padding-top: 25px;"><font style="color:#DD524D;">[{{:type_name}}]</font>&nbsp{{:content}}</div>
<div class="mui-card-content" style="font-size:16px;color:#576574">
<div class="mui-card-content-inner mui-input-group" style="background-color: #FFF5E1;padding-bottom: 15px;">
2 years ago
{{if type_id == 2}}
2 years ago
{{for xuanxiang}}
<div class="mui-input-row mui-checkbox mui-left">
<label>{{:key}}. {{:value}}</label>
{{if checked}}
<input name="options" value="{{:key}}" type="checkbox" checked>
{{else}}
<input name="options" value="{{:key}}" type="checkbox">
{{/if}}
</div>
{{/for}}
{{else}}
{{for xuanxiang}}
<div class="mui-input-row mui-radio mui-left">
<label>{{:key}}. {{:value}}</label>
{{if checked}}
<input name="options" value="{{:key}}" type="radio" checked>
{{else}}
<input name="options" value="{{:key}}" type="radio">
{{/if}}
</div>
{{/for}}
{{/if}}
2 years ago
</div>
2 years ago
</div>
2 years ago
</script>
2 years ago
</div>
<nav class="mui-bar mui-bar-tab">
2 years ago
<a class="mui-tab-item" href="#" id="showMenu" style="color:#DD524D">
2 years ago
<span class="mui-icon mui-icon-bars"></span>
2 years ago
<span class="mui-tab-label">答题卡</span>
2 years ago
</a>
2 years ago
<a class="mui-tab-item" href="#" id="previous" style="color:#DD524D">
2 years ago
<span class="mui-icon mui-icon-arrowthinleft"></span>
<span class="mui-tab-label">上一题</span>
</a>
2 years ago
<a class="mui-tab-item" href="#" id="next" style="color:#DD524D">
2 years ago
<span class="mui-icon mui-icon-arrowthinright"></span>
<span class="mui-tab-label">下一题</span>
</a>
</nav>
<!-- 遮罩 -->
<div class="mui-off-canvas-backdrop"></div>
</div>
</div>
2 years ago
<script src="../js/jquery.min.js"></script>
2 years ago
<script src="../js/jquery.cookie.min.js"></script>
2 years ago
<script src="../js/mui.min.js"></script>
2 years ago
<script src="../js/jsrender.min.js"></script>
2 years ago
<script src="../js/easytimer.min.js"></script>
2 years ago
<script>
2 years ago
$(function () {
2 years ago
2 years ago
$.ajax({
url: "/FengHuang/exam/getRemainSecond",
async: false,
type: 'GET',
success: function (res) {
var remainSecond = res.remainSecond;
2 years ago
2 years ago
if (remainSecond > 0) {
var timer = new easytimer.Timer();
timer.start({ countdown: true, startValues: { seconds: remainSecond } });
2 years ago
2 years ago
$('#time').html(timer.getTimeValues().toString());
2 years ago
2 years ago
timer.addEventListener('secondsUpdated', function (e) {
$('#time').html(timer.getTimeValues().toString());
});
timer.addEventListener('targetAchieved', function (e) {
2 years ago
$.ajax({
url: "/FengHuang/exam/jiaoJuan",
type: 'POST',
success: function (res) {
mui.alert('考试结束时间已到,系统已自动交卷!', '提示', function () {
2 years ago
window.location = "./result.html";
2 years ago
});
}
2 years ago
});
2 years ago
2 years ago
});
} else if (remainSecond == 0) {
2 years ago
mui.alert('考试结束时间已到,系统已自动交卷!', '提示', function () {
2 years ago
$.ajax({
url: "/FengHuang/exam/jiaoJuan",
type: 'POST',
success: function (res) {
window.location = "./result.html";
}
});
});
} else if (remainSecond == -1) {
mui.alert('您的考试已完成,无需重复考试!', '提示', function () {
window.location = "./result.html";
});
} else if (remainSecond == -2) {
window.location = "./login.html";
}
}
});
2 years ago
2 years ago
2 years ago
if (!$.cookie('order_id')) {
$.cookie('order_id', 1, { path: '/' });
2 years ago
}
2 years ago
2 years ago
// 获取一共有多少道题
var queCount = getExamInfo();
2 years ago
2 years ago
//获取题的信息
2 years ago
getQuestionInfo();
2 years ago
2 years ago
//获取答题卡信息
getAnswerSheet();
2 years ago
// 右上角增加提交按钮
2 years ago
var submitBtn = document.getElementById("submit");
// var submitBtn = document.createElement('button');
// submitBtn.className = 'mui-btn mui-btn-red mui-pull-right';
// submitBtn.innerText = '交卷';
// header.appendChild(submitBtn);
2 years ago
submitBtn.addEventListener('tap', function () {
2 years ago
var btnArray = ['取消', '确认'];
2 years ago
var message = "是否确认交卷?";
$.ajax({
url: "/FengHuang/exam/getPersonUnFinishCount",
async: false,
type: 'GET',
success: function (res) {
if (res.count > 0) {
message = "您还有 " + res.count + " 道题未做,是否确认交卷?"
}
}
});
mui.confirm(message, '确认交卷', btnArray, function (e) {
2 years ago
if (e.index == 1) {
2 years ago
$.ajax({
2 years ago
url: "/FengHuang/exam/jiaoJuan",
2 years ago
type: 'POST',
success: function (res) {
2 years ago
window.location = "./result.html";
2 years ago
}
});
2 years ago
}
2 years ago
});
2 years ago
});
// 侧边栏对象
var offCanvasWrapper = mui('#offCanvasWrapper');
2 years ago
document.getElementById("showMenu").addEventListener("tap", function () {
2 years ago
//获取答题卡信息
getAnswerSheet();
2 years ago
offCanvasWrapper.offCanvas('show');
});
2 years ago
document.getElementById("closeMenu").addEventListener("tap", function () {
2 years ago
offCanvasWrapper.offCanvas('close');
});
2 years ago
// 禁用手势侧滑
var offCanvasInner = offCanvasWrapper[0].querySelector('.mui-inner-wrap');
offCanvasInner.addEventListener('drag', function (event) {
event.stopPropagation();
});
2 years ago
2 years ago
document.getElementById("next").addEventListener("tap", function () {
2 years ago
var orderId = $.cookie('order_id');
2 years ago
if (orderId < queCount) {
orderId++;
2 years ago
$.cookie('order_id', orderId, { path: '/' });
2 years ago
getQuestionInfo();
2 years ago
} else {
mui.alert('已到最后一题', '提示');
2 years ago
}
});
2 years ago
document.getElementById("previous").addEventListener("tap", function () {
2 years ago
var orderId = $.cookie('order_id');
2 years ago
if (orderId > 1) {
orderId--;
2 years ago
$.cookie('order_id', orderId, { path: '/' });
2 years ago
getQuestionInfo();
2 years ago
} else {
mui.alert('已到第一题', '提示');
2 years ago
}
});
2 years ago
2 years ago
2 years ago
mui(".mui-content").on("tap", "a", function () {
2 years ago
$.cookie('order_id', this.textContent, { path: '/' });
getQuestionInfo();
2 years ago
offCanvasWrapper.offCanvas('close');
2 years ago
});
2 years ago
2 years ago
// 根据题号获取题的信息
2 years ago
function getQuestionInfo() {
var orderId = 0;
if ($.cookie('order_id')) {
orderId = $.cookie('order_id');
} else {
orderId = 1;
}
2 years ago
$.ajax({
url: "/FengHuang/exam/getQuestion?order_id=" + orderId,
async: false,
type: 'GET',
success: function (res) {
var template = $.templates('#myTemplate');
var htmlOutput = template.render(res);
$('#examinfo').html(htmlOutput);
2 years ago
//绑定复选框的事件
$('input[type="checkbox"]').on('change', function () {
var reply = "";
$('input[type="checkbox"]').each(function () {
if (this.checked) {
reply += this.value;
}
});
saveReply(orderId, reply);
});
//绑定单选框的事件
$('input[type="radio"]').on('change', function () {
// 获取选中的radio元素的值
2 years ago
var reply = $(this).val();
2 years ago
saveReply(orderId, reply);
2 years ago
if (orderId < queCount) {
setTimeout(function () {
orderId++;
console.log(orderId);
$.cookie('order_id', orderId, { path: '/' });
getQuestionInfo(orderId);
}, 500);
} else {
mui.alert('已到最后一题', '提示');
}
2 years ago
2 years ago
});
2 years ago
}
});
2 years ago
};
2 years ago
2 years ago
// 获取答题卡信息
function getAnswerSheet() {
$.ajax({
url: "/FengHuang/exam/getPersonAllInfo",
async: false,
type: 'GET',
success: function (res) {
var template = $.templates('#answersTemplate');
var htmlOutput = template.render(res);
$('#answers').html(htmlOutput);
}
});
}
2 years ago
function getExamInfo() {
var queCount = 0;
$.ajax({
url: "/FengHuang/exam/getExamInfo",
async: false,
type: 'GET',
success: function (res) {
queCount = res.allCount;
}
});
return queCount;
2 years ago
}
2 years ago
function saveReply(orderId, reply) {
$.ajax({
url: "/FengHuang/exam/save",
data: { "order_id": orderId, "reply": reply },
type: 'POST',
success: function (res) {
console.log(res);
}
});
}
2 years ago
2 years ago
});
</script>
</body>
</html>