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.
351 lines
12 KiB
351 lines
12 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">
|
||
|
|
||
|
<!--标准mui.css-->
|
||
|
<link rel="stylesheet" href="../css/mui.min.css">
|
||
|
<!--App自定义的css-->
|
||
|
<link rel="stylesheet" type="text/css" href="../css/app.css" />
|
||
|
<style>
|
||
|
.flex-container {
|
||
|
display: -webkit-box;
|
||
|
display: -webkit-flex;
|
||
|
display: flex;
|
||
|
-webkit-flex-flow: row wrap;
|
||
|
/* justify-content: space-between; */
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
.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;
|
||
|
background-clip: padding-box;
|
||
|
}
|
||
|
|
||
|
.legend span {
|
||
|
font-size: 14px;
|
||
|
}
|
||
|
|
||
|
.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;
|
||
|
border: 1px solid #E73A30;
|
||
|
background-color: #E73A30;
|
||
|
}
|
||
|
</style>
|
||
|
</head>
|
||
|
|
||
|
<body>
|
||
|
|
||
|
<!-- 侧滑导航根容器 -->
|
||
|
<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>
|
||
|
<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>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
<!-- 菜单具体展示内容 -->
|
||
|
<button id="closeMenu" type="button" class="mui-btn mui-btn-danger mui-btn-block"
|
||
|
style="padding: 5px 20px;margin-top: 10px;">关闭</button>
|
||
|
</div>
|
||
|
</div>
|
||
|
</aside>
|
||
|
|
||
|
<!-- 主页面容器 -->
|
||
|
<div class="mui-inner-wrap">
|
||
|
<!-- 主页面标题 -->
|
||
|
<header id="header" class="mui-bar mui-bar-nav">
|
||
|
<h1 class="mui-title">党史党建知识问答</h1>
|
||
|
</header>
|
||
|
<div class="mui-content mui-scroll-wrapper">
|
||
|
<div class="mui-card" id="examinfo"></div>
|
||
|
<script id="myTemplate" type="text/x-jsrender">
|
||
|
<div class="mui-card-header" style="font-size:18px;line-height: 1.8;">{{:order_id}}、<font style="color:#E73A30;">[{{:type_name}}]</font> {{:content}}</div>
|
||
|
<div class="mui-card-content" style="font-size:16px">
|
||
|
<div class="mui-card-content-inner mui-input-group">
|
||
|
{{for xuanxiang}}
|
||
|
<div class="mui-input-row mui-left">
|
||
|
<label style="width:100%;margin-left:10px">{{:key}}. {{:value}}</label>
|
||
|
</div>
|
||
|
{{/for}}
|
||
|
</div>
|
||
|
</div>
|
||
|
<div class="mui-card-footer">
|
||
|
<span>考生答案:A</span><span class="mui-icon mui-icon-closeempty" style="color:red"></span>
|
||
|
<span>正确答案:B</span>
|
||
|
</div>
|
||
|
</script>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
<!-- 遮罩 -->
|
||
|
<div class="mui-off-canvas-backdrop"></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
<script src="../js/jquery.min.js"></script>
|
||
|
<script src="../js/jquery.cookie.min.js"></script>
|
||
|
<script src="../js/mui.min.js"></script>
|
||
|
<script src="../js/jsrender.min.js"></script>
|
||
|
<script>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
$(function () {
|
||
|
|
||
|
var orderId = 1;
|
||
|
if ($.cookie('order_id')) {
|
||
|
orderId = $.cookie('order_id');
|
||
|
} else {
|
||
|
$.cookie('order_id', orderId, { path: '/' });
|
||
|
}
|
||
|
|
||
|
// 获取一共有多少道题
|
||
|
var queCount = getExamInfo();
|
||
|
|
||
|
//获取题的信息
|
||
|
getQuestionInfo(orderId);
|
||
|
|
||
|
//获取答题卡信息
|
||
|
getAnswerSheet();
|
||
|
|
||
|
// 右上角增加提交按钮
|
||
|
var header = document.getElementById("header");
|
||
|
var submitBtn = document.createElement('button');
|
||
|
submitBtn.className = 'mui-btn mui-btn-blue mui-btn-link mui-pull-right';
|
||
|
submitBtn.innerText = '提交';
|
||
|
header.appendChild(submitBtn);
|
||
|
submitBtn.addEventListener('tap', function () {
|
||
|
var btnArray = ['取消', '确认'];
|
||
|
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) {
|
||
|
if (e.index == 1) {
|
||
|
$.ajax({
|
||
|
url: "/FengHuang/exam/jiaoJuan",
|
||
|
type: 'POST',
|
||
|
success: function (res) {
|
||
|
console.log(res);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
})
|
||
|
});
|
||
|
|
||
|
// 侧边栏对象
|
||
|
var offCanvasWrapper = mui('#offCanvasWrapper');
|
||
|
document.getElementById("showMenu").addEventListener("tap", function () {
|
||
|
//获取答题卡信息
|
||
|
getAnswerSheet();
|
||
|
offCanvasWrapper.offCanvas('show');
|
||
|
});
|
||
|
document.getElementById("closeMenu").addEventListener("tap", function () {
|
||
|
offCanvasWrapper.offCanvas('close');
|
||
|
});
|
||
|
// 禁用手势侧滑
|
||
|
var offCanvasInner = offCanvasWrapper[0].querySelector('.mui-inner-wrap');
|
||
|
offCanvasInner.addEventListener('drag', function (event) {
|
||
|
event.stopPropagation();
|
||
|
});
|
||
|
|
||
|
document.getElementById("next").addEventListener("tap", function () {
|
||
|
if (orderId < queCount) {
|
||
|
orderId++;
|
||
|
$.cookie('order_id', orderId, { path: '/' });
|
||
|
getQuestionInfo(orderId);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
document.getElementById("previous").addEventListener("tap", function () {
|
||
|
if (orderId > 1) {
|
||
|
orderId--;
|
||
|
$.cookie('order_id', orderId, { path: '/' });
|
||
|
getQuestionInfo(orderId);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
|
||
|
mui(".mui-content").on("tap", "a", function () {
|
||
|
orderId = this.textContent;
|
||
|
getQuestionInfo(this.textContent);
|
||
|
offCanvasWrapper.offCanvas('close');
|
||
|
})
|
||
|
|
||
|
|
||
|
// 根据题号获取题的信息
|
||
|
function getQuestionInfo(orderId) {
|
||
|
$.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);
|
||
|
|
||
|
|
||
|
//绑定复选框的事件
|
||
|
$('input[type="checkbox"]').on('change', function () {
|
||
|
var reply = "";
|
||
|
$('input[type="checkbox"]').each(function () {
|
||
|
if (this.checked) {
|
||
|
reply += this.value;
|
||
|
}
|
||
|
});
|
||
|
console.log(orderId)
|
||
|
console.log(reply)
|
||
|
saveReply(orderId, reply);
|
||
|
});
|
||
|
|
||
|
|
||
|
//绑定单选框的事件
|
||
|
$('input[type="radio"]').on('change', function () {
|
||
|
// 获取选中的radio元素的值
|
||
|
var reply = $(this).val();
|
||
|
console.log(orderId)
|
||
|
console.log('选中的值为:' + reply);
|
||
|
saveReply(orderId, reply);
|
||
|
});
|
||
|
|
||
|
}
|
||
|
});
|
||
|
};
|
||
|
|
||
|
// 获取答题卡信息
|
||
|
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);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
|
||
|
|
||
|
function getExamInfo() {
|
||
|
var queCount = 0;
|
||
|
$.ajax({
|
||
|
url: "/FengHuang/exam/getExamInfo",
|
||
|
async: false,
|
||
|
type: 'GET',
|
||
|
success: function (res) {
|
||
|
queCount = res.allCount;
|
||
|
}
|
||
|
});
|
||
|
return queCount;
|
||
|
}
|
||
|
|
||
|
function saveReply(orderId, reply) {
|
||
|
$.ajax({
|
||
|
url: "/FengHuang/exam/save",
|
||
|
data: { "order_id": orderId, "reply": reply },
|
||
|
type: 'POST',
|
||
|
success: function (res) {
|
||
|
console.log(res);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</script>
|
||
|
</body>
|
||
|
|
||
|
</html>
|