试题审核
用到的知识点:layui、复杂公式、template模板。
功能:layui按钮点击选择年级学科等信息、模板列表渲染数据、展开与收起、复杂公式转换、全选、初始化数据、批量初始化数据、删除视频、layui表单选择、ajax请求封装方法、加载中动画效果
<?php $version = '66'; ?>
<!DOCTYPE html>
<html lang="zh-en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<link rel="stylesheet" href="/static/v4shared/layui/css/layui.css">
<link rel="stylesheet" href="/static/mobile/css/admin.css?v=<?php echo $version; ?>">
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript" src="/static/v4shared/layui/layui.js"></script>
<script src="/static/shared/art-template/template-web.js"></script>
<link href="https://cdn.bootcss.com/KaTeX/0.10.2/katex.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/KaTeX/0.10.2/katex.min.js"></script>
<script src="https://cdn.bootcss.com/KaTeX/0.10.2/contrib/auto-render.min.js"></script>
<title>试题审核</title>
</head>
<body>
<div class="container">
<!-- 选项 -->
<div class="filterbox filterbox_h">
<div class="filter studysectionWrap"></div>
<div class="filter diffcultyWrap"></div>
<div class="filter questiontypeWrap"></div>
<div class="filter subjectWrap"></div>
<div class="filter questionstatusWrap"></div>
<div class="filter awardWrap"></div>
</div>
<div data-role="close" class="position_r">展开</div>
<!-- 选项 -->
<!-- 试题 -->
<div class="testlist"></div>
<!-- 试题 -->
<!-- menu -->
<div class="menubox">
<div class="allcheck">全选</div>
<div class="mulcancel">批量初始化试题</div>
<div id="pages"></div>
</div>
<!-- menu -->
<!-- 试题详情弹窗 -->
<div class="testdetailbox" style="display: none;">
<div class="testdetail"></div>
<div class="hasList">
<!-- 视频 -->
<div class="videoReview">
<div class="videoReviewinfo">
<img /><span class="username"></span>(录制 <span class="recnum"></span> ,通过 <span class="passnum"></span>)
</div>
<div class="videoPlayWrap"><video></video></div>
<div>待审核列表(<span class="auditNum">-</span>)</div>
<div class="waitVideo"></div>
<div class="pageBar" id="pageBar"></div>
</div>
<!-- 视频 -->
<!-- 审核条件 -->
<div class="reviewbox">
<form class="layui-form passForm" lay-filter="example">
<div style="display:flex;align-items: center;">
<label>审核</label>
<input type="radio" name="pass" value="10" title="通过" lay-filter="pass">
<input type="radio" name="pass" value="20" title="不通过" lay-filter="pass" checked>
</div>
<div class="starout">
<div style="display:flex;align-items: center;">
<label>评分</label>
<input type="radio" name="score" value="5" lay-filter="score" title="优秀">
<input type="radio" name="score" value="4" lay-filter="score" title="良好" checked>
<input type="radio" name="score" value="3" lay-filter="score" title="一般">
</div>
<div style="padding-left: 26px;margin:1rem 0;">(审核通过将奖励<span class="username username1"></span><span class="awardmoney"></span>,<span
class="awardvip"></span>)</div>
</div>
<div class="auditForm"><textarea placeholder="请输入审核意见" class="layui-textarea auditcontent"></textarea></div>
<button type="button" class="layui-btn btnWrap auditSubmit" style="width: 100%;margin-bottom: 1rem;">提交</button>
</form>
</div>
<!-- 审核条件 -->
</div>
<!-- 没有列表 -->
<div class="notList">暂时没有审核视频</div>
<form class="layui-form">
<div style="padding:0 1rem 3rem"><button type="button" class="layui-btn layui-btn-primary" style="width: 100%;"
data-role="testdetailbox">取消</button></div>
</form>
</div>
<!-- 试题详情弹窗 -->
</div>
</body>
<!-- 查询条件模板 -->
<script type="text/template" id="btntpl">
<div class="title">{{@ str}}</div>
<div class="list">
<span data-value="" class="active">全部</span>
{{each arr}}
<span data-value="{{$value.id}}">{{$value.item}}</span>
{{/each}}
</div>
</script>
<!-- 查询条件模板 -->
<!-- 试题列表模板 -->
<script type="text/template" id="libtpl">
{{if arr.length > 0}}
{{each arr}}
<div class="testlistbox" data-role="{{$value.tlid}}">
<div class="clickWrap" data-tlid="{{$value.tlid}}">
<div class="title">
{{if $value.source}}
【{{$value.source}}】
{{/if}}
{{@ $value.questionstem | formatFill}}
</div>
{{if ($value.questiontype == '10')}}
<div class="itemOption">
{{each $value.choiceoptinfo $val $inx}}
<div>{{options[$inx]}}、{{@ $val | formatFill}}</div>
{{/each}}
</div>
{{/if}}
</div>
<div class="itemInfo">
<form class="layui-form" action="" lay-filter="example">
<input type="checkbox" name="lib" lay-skin="primary" value="{{$value.tlid}}">
难度:{{$value.difficultynum}}
<!-- 录制状态 -->
{{if $value.questionastatus == '90'}}
<span>未录制</span>
{{/if}}
{{if $value.questionastatus == '20'}}
<span class="orange">等待录制</span>
{{/if}}
{{if $value.questionastatus == '30'}}
<span class="green">录制中</span>
<div class="div">锁定:
<a href="/shared/ucenter/index/{{$value.lockuserid}}">{{$value.lockusername}}</a>{{$value.locktime}}
</div>
{{/if}}
{{if $value.questionastatus == '40'}}
<span class="red">待审核</span>
<div class="div">提交:
<a href="/shared/ucenter/index/{{$value.resuserid}}">{{$value.resusername}}</a> - {{$value.restime}}
</div>
{{/if}}
{{if $value.questionastatus == '10'}}
<span class="deepgreen">已录制</span>
<div class="div">录制:
<a href="/shared/ucenter/index/{{$value.resuserid}}">{{$value.resusername}}</a> - {{$value.restime}}
</div>
{{/if}}
<!-- 录制状态 -->
</form>
<div class="div">
{{$value.grade}}{{$value.subject}}·{{$value.version}}{{$value.booklet}} - {{$value.knowledgename}}
</div>
<div class="div div1">
{{if $value.setmoney == '10'}}
金额:{{$value.money}}
{{/if}}
{{if $value.setvip == '10'}}
<span data-role="setvip{{$value.tlid}}">会员天数:{{$value.vipday}}</span>
{{else}}
<span data-role="setvip{{$value.tlid}}"></span>
{{/if}}
<span class="red cancel" data-role="cancel" data-tlid="{{$value.tlid}}">初始化试题</span>
{{if $value.questionastatus == '10'}}
<span class="removeVideo" data-tlid="{{$value.tlid}}">删除视频</span>
{{/if}}
</div>
</div>
</div>
{{/each}}
{{/if}}
{{if arr.length <= 0}}
<div style="text-align: center;padding:2rem 0">暂无试题列表</div>
{{/if}}
</script>
<!-- 试题列表模板 -->
<!-- 试题详情模板 -->
<script type="text/template" id="detailtpl">
<!-- 试题列表 -->
<div class="testlistbox">
<div class="title">
{{if source}}
【{{source}}】
{{/if}}
{{@ questionstem | formatFill}}</div>
<div class="itemOption">
{{each choiceoptinfo}}
<div>{{options[$index]}}、{{@ $value | formatFill}}</div>
{{/each}}
</div>
<div class="itemInfo">难度:{{difficultynum}} ({{schterm}}-{{grade}}-{{subject}}-{{version}}-{{booklet}})</div>
</div>
<!-- 试题列表 -->
<!-- 解析 -->
<div class="analysisWrap">
<div>【考点】:
{{each knowledgenames $item $key}}
{{if knowledgenames.length > $key+1}}
<span>{{$item}}、</span>
{{else}}
<span>{{$item}}</span>
{{/if}}
{{/each}}
</div>
<div>【分析】:{{@ analysis | formatFill}}</div>
<div>【解答】:{{@ resolve | formatFill}}</div>
{{if (questiontype == '10')}}
<div>【答案】:{{@ choiceanswer}}</div>
{{/if}}
{{if (questiontype == '40')}}
<div>【答案】:
{{each fillanswer}}
{{@ $value | formatFill}}
{{/each}}
</div>
{{/if}}
</div>
<!-- 解析 -->
</script>
<!-- 试题详情模板 -->
<!-- 试题详情审核模板 -->
<script type="text/template" id="divtpl">
{{each arr}}
{{if $index == 0}}
<div class="auditbox">
{{if $value.auditstatus == 10}}
<div class="current audit pass"><div class="title">审核通过</div><div class="message" title="[{{$value.audittime}}-{{$value.auditusername}}]{{$value.auditcontent}}">{{$value.auditcontent}}</div></div>
{{/if}}
{{if $value.auditstatus == 20}}
<div class="current audit nopass"><div class="title">审核不通过</div><div class="message" title="[{{$value.audittime}}-{{$value.auditusername}}]{{$value.auditcontent}}">{{$value.auditcontent}}</div></div>
{{/if}}
{{if $value.auditstatus != 10 && $value.auditstatus != 20}}
<div class="current audit"></div>
{{/if}}
<img src="{{$value.thumsmall}}" data-aid="{{$value.aid}}" data-resid="{{$value.resid}}" data-userid="{{$value.userid}}">
</div>
{{/if}}
{{if $index > 0}}
<div class="auditbox">
{{if $value.auditstatus == 10}}
<div class="audit pass"><div class="title">审核通过</div><div class="message" title="[{{$value.audittime}}-{{$value.auditusername}}]{{$value.auditcontent}}">{{$value.auditcontent}}</div></div>
{{/if}}
{{if $value.auditstatus == 20}}
<div class="audit nopass"><div class="title">审核不通过</div><div class="message" title="[{{$value.audittime}}-{{$value.auditusername}}]{{$value.auditcontent}}">{{$value.auditcontent}}</div></div>
{{/if}}
{{if $value.auditstatus != 10 && $value.auditstatus != 20}}
<div class="audit"></div>
{{/if}}
<img src="{{$value.thumsmall}}" data-aid="{{$value.aid}}" data-resid="{{$value.resid}}" data-userid="{{$value.userid}}">
</div>
{{/if}}
{{/each}}
</script>
<!-- 试题详情审核模板 -->
<script type="text/javascript">
// 全局变量
var gdata = {
studysectionList: [],
subjectList: [],
diffcultyArr: [{
id: '10',
item: '易'
}, {
id: '20',
item: '较易'
}, {
id: '30',
item: '中档'
}, {
id: '40',
item: '较难'
}, {
id: '50',
item: '难'
}],
questiontypeArr: [{
id: '10',
item: '单选'
}, {
id: '40',
item: '填空'
}, {
id: '50',
item: '解答'
}],
questionstatusArr: [{
id: '20',
item: '等待录制'
}, {
id: '30',
item: '录制中'
}, {
id: '40',
item: '待审核'
}, {
id: '10',
item: '已录制'
}],
awardArr: [{
id: '10',
item: '未设置会员奖励'
}, {
id: '20',
item: '会员奖励'
}, {
id: '30',
item: '未设置金额奖励'
}, {
id: '40',
item: '金额奖励'
}],
studysection: '',
subject: '',
difficulty: '',
questiontype: '',
questionstatus: '',
libs: [],
options: ['A', 'B', 'C', 'D', 'E', 'F', 'G'],
total: 0,
pagesize: '',
page: 1,
setvip: '',
setmoney: '',
tlid: '',
resid: '',
aid: '',
temp_money: 0,
videoList: [],
auditstatus: '20',
pagedetail: 1,
pagedetailsize: '',
totaldetail: 0,
auditcontent: '',
}
layui.use(['element', 'form', 'laypage'], function() {
var laypage = layui.laypage,
form = layui.form,
element = layui.element;
// 获取查询学段年级学科等字段
function getSubject() {
myloading(true);
$_request({
url: '/system/auditquestions/getsubjectarr'
}, function(res) {
myloading(false);
gdata.studysectionList = res.data.schterm;
gdata.subjectList = res.data.subject;
gdata.studysectionList = gdata.studysectionList.map(function(v, i) {
return {
id: v,
item: v
}
})
gdata.subjectList = gdata.subjectList.map(function(v, i) {
return {
id: v,
item: v
}
})
randerBtn('.studysectionWrap', gdata.studysectionList, '学段');
randerBtn('.subjectWrap', gdata.subjectList, '学科');
randerBtn('.diffcultyWrap', gdata.diffcultyArr, '难度');
randerBtn('.questiontypeWrap', gdata.questiontypeArr, '题型');
randerBtn('.questionstatusWrap', gdata.questionstatusArr, '录制状态');
randerBtn('.awardWrap', gdata.awardArr, '录制奖励');
$('.questionstatusWrap [data-value="40"]').click();
})
}
// 搜索的button
function randerBtn(selector, arr, str) {
var html = template('btntpl', {
arr: arr,
str: str
});
$(selector).html(html);
}
//点击查询
$('.studysectionWrap').on('click', 'span', function(e) {
e.stopPropagation();
gdata.studysection = $(this).attr('data-value');
$(this).addClass('active').siblings().removeClass('active');
getLibs();
$('.testlist').html('');
toggles();
})
$('.subjectWrap').on('click', 'span', function(e) {
e.stopPropagation();
gdata.subject = $(this).attr('data-value');
$(this).addClass('active').siblings().removeClass('active');
getLibs();
$('.testlist').html('');
toggles();
})
$('.diffcultyWrap').on('click', 'span', function(e) {
e.stopPropagation();
gdata.difficulty = $(this).attr('data-value');
$(this).addClass('active').siblings().removeClass('active');
getLibs();
$('.testlist').html('');
toggles();
})
$('.questiontypeWrap').on('click', 'span', function(e) {
e.stopPropagation();
gdata.questiontype = $(this).attr('data-value');
$(this).addClass('active').siblings().removeClass('active');
getLibs();
$('.testlist').html('');
toggles();
})
$('.questionstatusWrap').on('click', 'span', function(e) {
e.stopPropagation();
gdata.questionstatus = $(this).attr('data-value');
$(this).addClass('active').siblings().removeClass('active');
getLibs();
$('.testlist').html('');
toggles();
})
$('.awardWrap').on('click', 'span', function(e) {
e.stopPropagation();
var temptype = $(this).attr("data-value");
switch (temptype) {
case '10':
gdata.setvip = '90';
gdata.setmoney = '';
break;
case '20':
gdata.setvip = '10';
gdata.setmoney = '';
break;
case '30':
gdata.setvip = '';
gdata.setmoney = '90';
break;
case '40':
gdata.setvip = '';
gdata.setmoney = '10';
break;
default:
gdata.setvip = '';
gdata.setmoney = '';
}
$(this).addClass('active').siblings().removeClass('active');
getLibs();
$('.testlist').html('');
toggles();
})
//展开与收起
$('[data-role="close"]').click(function(){
var _txt = $('[data-role="close"]').text();
if(_txt == '展开'){
$('.filterbox').removeClass('filterbox_h');
$(this).html('收起');
}else{
$('.filterbox').addClass('filterbox_h');
$(this).html('展开');
}
});
function toggles(){
$('.filterbox').addClass('filterbox_h');
$('[data-role="close"]').html('展开');
}
// 试题列表
function getLibs(page) {
if (!page) page = 1;
var data = {
'page': page || '1'
}
if (gdata.studysection) data.schterm = gdata.studysection || '';
if (gdata.grade) data.grade = gdata.grade || '';
if (gdata.subject) data.subject = gdata.subject || '';
if (gdata.difficulty) data.difficulty = gdata.difficulty || '';
if (gdata.questiontype) data.questiontype = gdata.questiontype || '';
if (gdata.questionstatus) data.questionstatus = gdata.questionstatus || '';
if (gdata.setvip) data.setvip = gdata.setvip || '';
if (gdata.setmoney) data.setmoney = gdata.setmoney || '';
myloading(true);
$_request({
url: '/system/auditquestions/getquestionlist',
data: data
}, function(res) {
randerLib(res.data);
gdata.libs = res.data;
gdata.total = res.totoal;
gdata.pagesize = res.pagesize;
gdata.page = page;
myloading(false);
renderPages(page);
})
}
// 复杂公式转换
function formatMath(html) {
var reg1 = /<img[^>]*?src="[^"]*?"[^>]*?data-latex[^>]*?\/>/i;
var reg2 = /data-latex\b\s*=\s*[\'\"]?([^\'\"]*)[\'\"]?/i;
var reg3 = /\\hfill/gi;
while (reg1.test(html)) {
var latex = reg2.exec(html)[1];
latex = latex.replace(reg3, '');
if (latex == '<') {
latex = '<';
}
if (latex == '>') {
latex = '>';
}
html = html.replace(reg1, '$' + latex + '$');
}
// 去掉controls
var reg4 = /controls=""/gi;
var reg5 = /\$\$/gi;
html = html.replace(reg4, '');
html = html.replace(reg5, '');
return html
};
// 公式渲染
function doSubmit() {
renderMathInElement($('.testlist')[0], {
delimiters: [{
left: "$$",
right: "$$",
display: true
},
{
left: "$",
right: "$",
display: false
}
]
});
}
function doSubmit1() {
renderMathInElement($('.testdetail')[0], {
delimiters: [{
left: "$$",
right: "$$",
display: true
},
{
left: "$",
right: "$",
display: false
}
]
});
}
// 渲染试题列表
function randerLib(arr) {
$.each(arr, function(i, v) {
if (v.questiontype == '10') {
v.choiceoptinfo = JSON.parse(v.choiceoptinfo);
}
if (v.questiontype == '40') {
v.fillanswer = JSON.parse(v.fillanswer);
}
})
var html = template('libtpl', {
arr: arr,
options: gdata.options
});
$('.testlist').html(html);
doSubmit();
form.render();
}
// 试题列表翻页
function renderPages(page) {
laypage.render({
elem: 'pages',
count: gdata.total, //数据总数,从服务端得到
curr: page,
limit: gdata.pagesize,
layout: ['count', 'prev', 'next'],
jump: function(obj, first) {
if (!first) {
getLibs(obj.curr)
}
}
});
}
//公式模板
template.defaults.imports.formatFill = function(html) {
console.log('原'+html);
var reg = /\{\*{3,}\}/g;
html = html.replace(reg, '______');
html = formatMath(html);
console.log(html);
return html
}
//全选
$('.allcheck').on('click', function() {
var alllibelems = $('[name="lib"]');
var libelems = $('[name="lib"]:checked');
if (libelems.length < alllibelems.length) {
$('[name="lib"]').prop('checked', true);
} else {
$('[name="lib"]').prop('checked', false);
}
form.render();
})
//批量初始化试题
$('.mulcancel').on('click', function() {
var libelems = $('[name="lib"]:checked');
var arr = [];
if (libelems.length <= 0) {
layer.msg('请选择要初始化的试题', {
time: 2000,
icon: 5
});
} else {
$.each(libelems, function(i, v) {
arr.push($(v).val());
})
layer.confirm('确认初始化(' + libelems.length + '条)试题吗?将试题初始化至未录制状态,已录制试题初始化无效', {
btn: ['确定', '取消'] //可以无限个按钮
},
function(index) {
canceltestlib(arr);
},
function(index) {});
}
})
//初始化试题
$(document).on('click', '.cancel', function() {
var tlid = $(this).attr('data-tlid');
console.log(tlid);
var arr = [];
if (tlid) {
arr.push(tlid);
layer.confirm('确认初始化试题吗?将试题初始化至未录制状态,已录制试题初始化无效', {
btn: ['确定', '取消'] //可以无限个按钮
},
function(index) {
canceltestlib(arr);
},
function(index) {});
}
});
//初始化试题,完成录制的试题无法初始化
function canceltestlib(arr) {
$_request({
url: '/system/auditquestions/canceltestlib',
data: {
tlids: arr
}
}, function(res) {
if (res.success) {
layer.msg(res.message, {
time: 2000,
icon: 6
})
getLibs(gdata.page);
$.each(arr, function(i, v) {
$('[data-role="' + v + '"]').remove();
})
}
})
}
//删除视频
$(document).on('click', '.removeVideo', function() {
var tlid = $(this).attr('data-tlid');
var arr = [];
if (tlid) {
arr.push(tlid);
layer.confirm('删除视频后,试题将恢复成未录制状态。确认删除吗?', {
btn: ['确定', '取消'] //可以无限个按钮
},
function(index) {
removeVideo(arr);
},
function(index) {});
}
});
// 移除视频
function removeVideo(arr) {
$_request({
url: '/system/knowledgenode/removetestlibvideo',
data: {
tlids: arr
}
}, function(res) {
if (res.success) {
layer.msg('操作成功', {
time: 2000,
icon: 6
})
getLibs(gdata.page);
$.each(arr, function(i, v) {
var tmprspan = $('[data-role="' + v + '"] .itemInfo .recordedstatus');
var tmpispan = $('[data-role="' + v + '"] .itemInfo .recordedinfo');
tmprspan.html("未录制");
tmpispan.html("");
});
}
})
}
getSubject(); //查询条件
//****************试题审核详情***********************
$('.testlist').on('click', '.clickWrap', function() {
gdata.tlid = $(this).attr('data-tlid');
$('.testdetailbox').show();
getLibDetails(gdata.tlid) //试题详情
getVideoList(gdata.pagedetail);
});
// 获取试题详情
function getLibDetails(tlid) {
myloading(true);
$_request({
url: '/system/auditquestions/getdetail',
data: {
tlid: tlid
}
}, function(res) {
if (res.data.questiontype == '10') {
res.data.choiceoptinfo = JSON.parse(res.data.choiceoptinfo);
}
if (res.data.questiontype == '40') {
res.data.fillanswer = JSON.parse(res.data.fillanswer);
}
res.data.options = gdata.options;
myloading(false);
renderLib(res.data)
})
}
// 渲染试题详情模板
function renderLib(data) {
var html = template('detailtpl', data);
$('.testdetail').html(html);
doSubmit1();
}
function getVideoList(pagedetail) {
var para = {
tlid: gdata.tlid,
page: pagedetail
}
gdata.pagedetail = pagedetail;
myloading(true);
$_request({
url: '/system/auditquestions/getauditvideolist',
data: para
}, function(res) {
myloading(false);
gdata.videoList = res.data;
gdata.totaldetail = res.totoal;
gdata.pagedetailsize = res.pagesize;
if (gdata.totaldetail > 0) {
$('.hasList').show();
$('.notList').hide();
$('.auditNum').html(gdata.totaldetail);
renderInfo(res.data[0]);
renderVideoList(gdata.videoList);
renderdetailPages(gdata.pagedetail);
} else {
$('.hasList').hide();
$('.notList').show();
}
})
}
function renderInfo(data) {
$('.videoReviewinfo img').attr('src', data.userhead);
$('.username').html(data.usernmae);
$('.recnum').html(data.recnum);
$('.passnum').html(data.passnum);
$('.videoPlayWrap video').prop({
'src': data.uri,
poster: data.thumlarge,
controls: true
});
$('.awardmoney').html('现金<i>' + data.money + '</i>元');
$('.awardvip').html('会员<i>' + data.vipday + '</i>天');
if (data.auditstatus != '90') {
$('.passForm').hide();
$('.auditForm').hide();
$('.btnWrap').hide();
} else {
$('.passForm').show();
$('.auditForm').show();
$('.btnWrap').show();
}
gdata.resid = data.resid;
gdata.aid = data.aid;
gdata.temp_money = data.money;
}
//视频列表模板
function renderVideoList(arr) {
var html = template('divtpl', {
arr: arr
});
$('.waitVideo').html(html);
}
//视频列表审核分页
function renderdetailPages(pagedetail) {
if (gdata.totaldetail > 5) {
laypage.render({
elem: 'pageBar',
count: gdata.totaldetail, //数据总数,从服务端得到
curr: pagedetail,
limit: gdata.pagedetailsize,
layout: ['count', 'prev', 'next'],
jump: function(obj, first) {
if (!first) {
getVideoList(obj.curr)
}
}
});
}
}
form.on("radio(pass)", function(data) {
gdata.auditstatus = data.value;
if (data.value == '10') {
$('.starout').show();
} else {
$('.starout').hide();
}
});
form.on('radio(score)', function(data) {
var score = data.value;
gdata.auditscore = score;
switch (score) {
case '5':
$('.awardmoney').html('现金<i>' + parseFloat(gdata.temp_money * 1.2).toFixed(2) + '</i>元');
break;
case '4':
$('.awardmoney').html('现金<i>' + parseFloat(gdata.temp_money).toFixed(2) + '</i>元');
break;
case '3':
$('.awardmoney').html('现金<i>' + parseFloat(gdata.temp_money * 0.8).toFixed(2) + '</i>元');
break;
}
});
//提交
$('.auditSubmit').on('click', function() {
gdata.auditcontent = $('.auditcontent').val();
submitaudit();
})
//取消
$('[data-role="testdetailbox"]').on('click', function() {
form.render();
$('.testdetailbox').hide();
$('.auditcontent').val('');
})
function submitaudit() {
var para = {
tlid: gdata.tlid,
resid: gdata.resid,
aid: gdata.aid,
auditstatus: gdata.auditstatus,
auditcontent: gdata.auditcontent,
auditscore: gdata.auditscore,
}
if (para.auditstatus == '20') {
if (!gdata.auditcontent) {
return layer.msg('请输入审核不通过原因', {
icon: 5,
time: 2000
})
}
}
myloading(true);
$_request({
url: '/system/auditquestions/setauditstatus',
data: para
}, function(res) {
myloading(false);
if (res.success) {
var auditcontent = $('.auditcontent').val();
if (para.auditstatus == '10') {
$('.current').addClass("pass").html('<div class="title" title="' + auditcontent +
'">审核通过</div><div class="message">' + auditcontent + '</div>');
}
if (para.auditstatus == '20') {
$('.current').addClass("nopass").html('<div class="title" title="' + auditcontent +
'">审核不通过</div><div class="message">' + auditcontent + '</div>');
}
layer.msg(res.message, {
icon: 6,
time: 2000
})
$('.testdetailbox').hide();
$('.auditcontent').val('');
$('.passForm').hide();
$('.auditForm').hide();
$('.btnWrap').hide();
} else {
layer.msg(res.message, {
icon: 5,
time: 2000
})
}
})
}
$('.testdetailbox').on('click', '.waitVideo .audit', function() {
if ($(this).hasClass('current')) {
return
}
$('.auditcontent').val('');
$(this).addClass('current').parent().siblings('div').find('.audit').removeClass('current');
gdata.resid = $(this).siblings('img').attr('data-resid');
gdata.aid = $(this).siblings('img').attr('data-aid');
var userid = $(this).siblings('img').attr('data-userid');
console.log(gdata.resid);
$.each(gdata.videoList, function(i, v) {
if (v.resid == gdata.resid && v.userid == userid) {
renderInfo(v);
}
})
})
});
function $_request(para, callback) {
para.data = para.data ? para.data : '';
$.ajax({
url: para.url,
type: para.type || 'POST',
dataType: para.dataType || 'JSON',
data: para.data,
success: function(res) {
callback(res);
},
error: function(res) {
window.location.href = "/mobile/index/newlogin";
}
});
}
// 加载动画指令
function myloading(boolean) {
// 指令第一次绑定到元素身上时执行
let len = $('body .loadingWrap').length;
if (len <= 0) {
let loadingWrap = document.createElement('div')
loadingWrap.className = 'loadingWrap'
loadingWrap.innerHTML =
`
<div class="trianglebox">
<div class="la-ball-triangle-path la-2x">
<div></div>
<div></div>
<div></div>
</div>
<p class="text">加载中</p>
</div>
`
$('body').append(loadingWrap);
}
if (boolean) {
$('body').find('.loadingWrap').show()
} else {
$('body').find('.loadingWrap').hide()
}
}
</script>
</html>