layui按钮点击选择年级学科等信息、模板列表渲染数据、展开与收起、复杂公式转换、全选、初始化数据、批量初始化数据、删除视频、layui表单选择、ajax请求封装方法、加载中动画效果

10 篇文章 0 订阅
8 篇文章 1 订阅

试题审核
用到的知识点: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 == '&lt;') {
						latex = '<';
					}
					if (latex == '&gt;') {
						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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值