Commit 3b178498ec94ba940ce195608ff09ed1bfec94ca
1 parent
c8fa5bc0
1、完成布置练习保存数据的拼接
Showing
3 changed files
with
358 additions
and
384 deletions
WebRoot/WEB-INF/jsp/sunvote/homework/homework_edit2.jsp
... | ... | @@ -41,18 +41,18 @@ |
41 | 41 | <table id="table_report" class="table"> |
42 | 42 | <tr> |
43 | 43 | <td style="width:95px;text-align: right;padding-top: 13px;">练习标题</td> |
44 | - <td><input type="text" name="TITLE" class="form-control" id="CODE" value="${pd.CODE}" maxlength="255" placeholder="输入练习标题,不超过20个汉字" title="作业代码" /></td> | |
44 | + <td><input type="text" name="NAME" class="form-control" id="NAME" value="${pd.CODE}" maxlength="255" placeholder="输入练习标题,不超过20个汉字" title="作业代码" /></td> | |
45 | 45 | </tr> |
46 | 46 | <tr> |
47 | 47 | <td style="width:95px;text-align: right;padding-top: 13px;">练习说明</td> |
48 | - <td><input type="text" name="NAME" class="form-control" id="NAME" value="${pd.NAME}" maxlength="255" placeholder="输入题目说明,如教材第12页1-5题,教辅第5页1-3题,尽量精简,不超过100个汉字" title="作业名称" /></td> | |
48 | + <td><input type="text" name=HOMEWORK_DESC class="form-control" id="HOMEWORK_DESC" value="${pd.NAME}" maxlength="255" placeholder="输入题目说明,如教材第12页1-5题,教辅第5页1-3题,尽量精简,不超过100个汉字" title="作业名称" /></td> | |
49 | 49 | </tr> |
50 | 50 | <tr> |
51 | 51 | <td style="width:95px;text-align: right;padding-top: 13px;">指定班级完成时间</td> |
52 | 52 | <td> |
53 | 53 | <div class="classBox"> |
54 | 54 | <ul> |
55 | - <li> | |
55 | + <!-- <li> | |
56 | 56 | |
57 | 57 | <input type="checkbox" id="class1" name="className" value="1" /> |
58 | 58 | <label for="class1"></label> |
... | ... | @@ -91,7 +91,7 @@ |
91 | 91 | <label for="class6"></label> |
92 | 92 | <span>6班</span> |
93 | 93 | <input class="date-picker" type="text" class="form-control" style="width:200px;text-align:center;" placeholder="完成日期" name="lastStart" id="lastStart" data-date-format="yyyy-mm-dd" readonly="readonly" value=""/> |
94 | - </li> | |
94 | + </li> --> | |
95 | 95 | </ul> |
96 | 96 | </div> |
97 | 97 | |
... | ... | @@ -191,387 +191,37 @@ |
191 | 191 | <script src="static/ace/js/date-time/bootstrap-datepicker.js"></script> |
192 | 192 | <!--提示框--> |
193 | 193 | <script type="text/javascript" src="static/js/jquery.tips.js"></script> |
194 | - <script type="text/javascript"> | |
195 | - var saveData={ | |
196 | - "NAME": "", | |
197 | - "SUBJECT_ID": "", | |
198 | - "ALL_SCORE": "", | |
199 | - "TEACHER_ID":"", | |
200 | - "HOMEWORK_DESC": "", | |
201 | - "CLASSLIST": [ | |
202 | - { | |
203 | - "CLASS_ID": "", | |
204 | - "COMPLETE_DATE": "" | |
205 | - }, | |
206 | - { | |
207 | - "CLASS_ID": "", | |
208 | - "COMPLETE_DATE": "" | |
209 | - } | |
210 | - ], | |
211 | - "QUESTION_COUNT": "", | |
212 | - "QUESTIONS": [ | |
213 | - { | |
214 | - "RANK": "", | |
215 | - "NAME": "", | |
216 | - "OPTION_NUM": "", | |
217 | - "SCORE": "", | |
218 | - "RIGHT_ANSWER": "", | |
219 | - "TYPE": "" | |
220 | - }, | |
221 | - { | |
222 | - "RANK": "", | |
223 | - "NAME": "", | |
224 | - "OPTION_NUM": "", | |
225 | - "SCORE": "", | |
226 | - "RIGHT_ANSWER": "", | |
227 | - "TYPE": "" | |
228 | - } | |
229 | - ] | |
230 | - }; | |
231 | - $(document).on('click',"input[type='checkbox']",function(){ | |
232 | - console.log($(this).attr("checked")); | |
233 | - if($(this).prop('checked')){ | |
234 | - $(this).closest("li").attr("class","checked"); | |
235 | - }else{ | |
236 | - $(this).closest("li").removeClass("checked"); | |
237 | - } | |
238 | - | |
194 | + <!--页面交互--> | |
195 | + <script src="static/js/control_homework.js"></script> | |
196 | + <script> | |
197 | + $(function() { | |
198 | + window.top.loading.remove(); | |
199 | + //日期框 | |
200 | + $(document).on("focus",".date-picker",function(){ | |
201 | + $(this).datepicker({ | |
202 | + autoclose: true, | |
203 | + todayHighlight: true | |
204 | + }); | |
239 | 205 | }); |
240 | - var work={ //保存标题框中的数字框的值 | |
241 | - que_num:0, | |
242 | - ans_num:4, | |
243 | - score:0 | |
244 | - } | |
245 | - //点击+执行操作 | |
246 | - function creat_work(_id,index,num){//index:开始序号,num:目标序号 | |
247 | - | |
248 | - if(_id=="que_num"){ //新增题目 | |
249 | - for(j=index;j<=num;j++){ | |
250 | - $(".subject_body_tbody").append('<tr><td class="first">'+j+'</td><td class="middle"><div class="question question'+j+'"><ul></ul></div></td><td class="middle"><span>选项个数</span><span class="add">+</span><input type="number" class="w_100 ans_num" value="'+$("#ans_num").val()+'"/><span class="redu">-</span></td><td class="middle"><span>分值</span><span class="add">+</span><input type="number" class="w_100 score" value="1"/><span class="redu">-</span></td><td class="last"><a class="remove"><img src="static/images/remove.png" /></a></td></tr>'); | |
251 | - for(i=0;i<work.ans_num;i++){ | |
252 | - $(".question"+j+" ul").append('<li class="btn btn-default">'+String.fromCharCode(0x41 + i)+'</li>') | |
253 | - } | |
254 | - } | |
255 | - } | |
256 | - else if(_id=="ans_num"){//新增选项 | |
257 | - for(j=1;j<=work.que_num;j++){ //轮询每道题目 | |
258 | - var now_length=$(".question"+j+" ul").find(".btn").length; //获取当前题目选项个数 | |
259 | - if(now_length<work.ans_num){ //当前题目选项个数小于数字框中个数,则把选项个数增加到数字框中的个数 | |
260 | - for(i=now_length;i<work.ans_num;i++){ | |
261 | - console.log("index:"+index+"-"+"num:"+num+"i:"+i); | |
262 | - $(".question"+j+" ul").append('<li class="btn btn-default">'+String.fromCharCode(0x41 + i)+'</li>') | |
263 | - } | |
264 | - } | |
265 | - if(now_length>work.ans_num){//当前题目选项个数大于数字框中个数,则把选项个数减少到数字框中的个数 | |
266 | - for(i=now_length;i>=work.ans_num;i--){ | |
267 | - $(".question"+j+" ul").find(".btn").eq(work.ans_num).remove(); | |
268 | - } | |
269 | - } | |
270 | - | |
271 | - } | |
272 | - | |
273 | - }else{ | |
274 | - if(_id.siblings(".w_100").attr("class").indexOf("ans_num")>-1){ //没有id,但是class中含有ans_num,则为单个题目中的选项设置框 | |
275 | - var _index=_id.closest("tr").index()+1; | |
276 | - for(i=index;i<=num;i++){ | |
277 | - $(".question"+_index+" ul").append('<li class="btn btn-default">'+String.fromCharCode(0x41 + i-1)+'</li>') | |
278 | - } | |
279 | - } | |
280 | - } | |
281 | - } | |
282 | - //点击-执行操作 | |
283 | - function remove_work(_id,index,num){ | |
284 | - | |
285 | - if(_id=="que_num"){ //减少题目 | |
286 | - for(i=index;i<=num;i++){ | |
287 | - $(".subject_body_tbody tr").eq(index).remove(); | |
288 | - } | |
289 | - } | |
290 | - if(_id=="ans_num"){ //减少选项 | |
291 | - for(j=1;j<=work.que_num;j++){ //轮询每道题目 | |
292 | - var now_length=$(".question"+j+" ul").find(".btn").length; //获取当前题目中的选项个数 | |
293 | - if(now_length>work.ans_num){ //如果当前选项个数大于数字框中的值,则减少选项个数到数字框中的个数 | |
294 | - for(i=now_length;i>=work.ans_num;i--){ | |
295 | - $(".question"+j+" ul").find(".btn").eq(work.ans_num).remove(); | |
296 | - } | |
297 | - } | |
298 | - if(now_length<work.ans_num){ //如果当前选项个数小于数字框中的值,则增加选项个数到数字框中的个数 | |
299 | - for(i=now_length;i<work.ans_num;i++){ | |
300 | - $(".question"+j+" ul").append('<li class="btn btn-default">'+String.fromCharCode(0x41 + i)+'</li>') | |
301 | - } | |
302 | - } | |
303 | - | |
304 | - } | |
305 | - }else{ | |
306 | - if(_id.siblings(".w_100").attr("class").indexOf("ans_num")>-1){ //没有id值,但是类名中含有ans_num,则判断为单个题目中的选项设置框 | |
307 | - var _index=_id.closest("tr").index()+1; | |
308 | - for(i=index;i<=num;i++){ | |
309 | - $(".question"+_index+" ul").find(".btn").eq(index).remove(); | |
310 | - } | |
311 | - } | |
312 | - } | |
313 | - | |
314 | - } | |
315 | - //点击+按钮 | |
316 | - $(document).on("click",".add",function(){ | |
317 | - var _that=$(this); | |
318 | - var temp_num=0; | |
319 | - //获取当前按钮旁边数字框的值 | |
320 | - temp_num=parseInt(_that.siblings(".w_100").val()); | |
321 | - temp_num+=1; | |
322 | - //点击+号,数字框中的数字+1 | |
323 | - _that.siblings(".w_100").val(temp_num); | |
324 | - //如果数字框有id,则是标题栏上面的数字框 | |
325 | - if(_that.siblings(".w_100").attr("id")){ | |
326 | - //将下面的数字框的值设置成标题栏数字框的值 | |
327 | - var _class=_that.siblings(".w_100").attr("id"); | |
328 | - $("."+_class).val(temp_num); | |
329 | - //题目数 | |
330 | - if(_class=="que_num"){ | |
331 | - work.que_num=temp_num; | |
332 | - creat_work(_class,work.que_num,work.que_num); | |
333 | - } | |
334 | - //选项数 | |
335 | - if(_class=="ans_num"){ | |
336 | - work.ans_num=temp_num; | |
337 | - creat_work(_class,work.ans_num,work.ans_num); | |
338 | - } | |
339 | - } | |
340 | - else{ | |
341 | - if(_that.siblings(".w_100").attr("class").indexOf("ans_num")>-1){ | |
342 | - creat_work(_that,temp_num,temp_num); | |
343 | - } | |
344 | - } | |
345 | - | |
346 | - }) | |
347 | - //点击-按钮 | |
348 | - $(document).on("click",".redu",function(){ | |
349 | - var _that=$(this); | |
350 | - var temp_num=0; | |
351 | - | |
352 | - temp_num=parseInt(_that.siblings(".w_100").val()); | |
353 | - temp_num-=1; | |
354 | - if(temp_num<0){ | |
355 | - temp_num=0; | |
356 | - return; | |
357 | - } | |
358 | - | |
359 | - _that.siblings(".w_100").val(temp_num); | |
360 | - | |
361 | - if(_that.siblings(".w_100").attr("id")){ | |
362 | - var _class=$(this).siblings(".w_100").attr("id"); | |
363 | - $("."+_class).val(temp_num); | |
364 | - | |
365 | - if(_class=="que_num"){ | |
366 | - work.que_num=temp_num; | |
367 | - remove_work(_class,work.que_num,work.que_num); | |
368 | - } | |
369 | - if(_class=="ans_num"){ | |
370 | - work.ans_num=temp_num; | |
371 | - remove_work(_class,work.ans_num,work.ans_num); | |
372 | - } | |
373 | - }else{ | |
374 | - if(_that.siblings(".w_100").attr("class").indexOf("ans_num")>-1){ | |
375 | - remove_work(_that,temp_num,temp_num); | |
206 | + | |
207 | + $.ajax({ //获取该名教师下的班级信息 | |
208 | + url:'<%=basePath%>/coursemanagement/teacherClass', | |
209 | + type:"get", | |
210 | + data:{teacher_id:"08b418184e5044c7b419caa830b834a7"}, | |
211 | + success:function(res){ | |
212 | + console.log(res); | |
213 | + if(res.data.length>0){ | |
214 | + var _html=""; | |
215 | + $.each(res.data,function(k,v){ | |
216 | + _html+='<li><input type="checkbox" id="class'+k+'" name="className" value="'+v.ID+'"><label for="class'+k+'"></label><span>'+v.CLASS_NAME+'</span><input class="date-picker" type="text" style="width:150px;text-align:center;" placeholder="完成日期" name="lastStart" id="lastStart" data-date-format="yyyy-mm-dd" readonly="readonly" value=""></li>'; | |
217 | + | |
218 | + }); | |
219 | + $(".classBox ul").html(_html); | |
376 | 220 | } |
377 | 221 | } |
378 | - | |
379 | - }) | |
380 | - $(document).on("click",".remove",function(){ | |
381 | - var _that=$(this); | |
382 | - _that.closest("tr").remove(); | |
383 | - work.que_num=$(".first").length; | |
384 | - $("#que_num").val(work.que_num); | |
385 | - for(i=0;i<$(".first").length;i++){ | |
386 | - //console.log($(".first").closest("tr").index()); | |
387 | - $(".first").eq(i).text(i+1); | |
388 | - $(".question").eq(i).attr("class","question question"+(i+1)); | |
389 | - } | |
390 | 222 | }); |
391 | - $(document).on("click","li.btn ",function(){ | |
392 | - if($(this).attr("class").indexOf("on")>-1) | |
393 | - $(this).removeClass("on"); | |
394 | - else | |
395 | - $(this).addClass("on"); | |
396 | - }); | |
397 | - $("#que_num").change(function(){ | |
398 | - var now_num=parseInt($("#que_num").val()); | |
399 | - var old_num=parseInt(work.que_num); | |
400 | - var _temp=now_num-old_num; | |
401 | - | |
402 | - if(_temp>0){ | |
403 | - creat_work($(this).attr("id"),(old_num+1),now_num); | |
404 | - }else{ | |
405 | - remove_work($(this).attr("id"),now_num,old_num); | |
406 | - } | |
407 | - | |
408 | - work.que_num=now_num; | |
409 | - | |
410 | - }) | |
411 | - $("#ans_num").change(function(){ | |
412 | - var now_num=parseInt($("#ans_num").val()); | |
413 | - var old_num=parseInt(work.ans_num); | |
414 | - var _temp=now_num-old_num; | |
415 | - | |
416 | - $(".ans_num").val(now_num); | |
417 | - work.ans_num=now_num; | |
418 | - | |
419 | - if(_temp>0){ | |
420 | - creat_work($(this).attr("id"),(old_num+1),now_num); | |
421 | - }else{ | |
422 | - remove_work($(this).attr("id"),now_num,old_num); | |
423 | - } | |
424 | - | |
425 | - | |
426 | - }); | |
427 | - | |
428 | - | |
429 | - | |
430 | - function save(){ | |
431 | - if($("#CODE").val()==""){ | |
432 | - $("#CODE").tips({ | |
433 | - side:3, | |
434 | - msg:'请输入作业代码', | |
435 | - bg:'#AE81FF', | |
436 | - time:2 | |
437 | - }); | |
438 | - $("#CODE").focus(); | |
439 | - return false; | |
440 | - } | |
441 | - if($("#NAME").val()==""){ | |
442 | - $("#NAME").tips({ | |
443 | - side:3, | |
444 | - msg:'请输入作业名称', | |
445 | - bg:'#AE81FF', | |
446 | - time:2 | |
447 | - }); | |
448 | - $("#NAME").focus(); | |
449 | - return false; | |
450 | - } | |
451 | - if($("#SUBJECT_ID").val()==""){ | |
452 | - $("#SUBJECT_ID").tips({ | |
453 | - side:3, | |
454 | - msg:'请输入科目ID', | |
455 | - bg:'#AE81FF', | |
456 | - time:2 | |
457 | - }); | |
458 | - $("#SUBJECT_ID").focus(); | |
459 | - return false; | |
460 | - } | |
461 | - if($("#CLASS_ID").val()==""){ | |
462 | - $("#CLASS_ID").tips({ | |
463 | - side:3, | |
464 | - msg:'请输入班级ID', | |
465 | - bg:'#AE81FF', | |
466 | - time:2 | |
467 | - }); | |
468 | - $("#CLASS_ID").focus(); | |
469 | - return false; | |
470 | - } | |
471 | - if($("#GRADE_ID").val()==""){ | |
472 | - $("#GRADE_ID").tips({ | |
473 | - side:3, | |
474 | - msg:'请输入年级ID', | |
475 | - bg:'#AE81FF', | |
476 | - time:2 | |
477 | - }); | |
478 | - $("#GRADE_ID").focus(); | |
479 | - return false; | |
480 | - } | |
481 | - if($("#SCHOOL_ID").val()==""){ | |
482 | - $("#SCHOOL_ID").tips({ | |
483 | - side:3, | |
484 | - msg:'请输入学校ID', | |
485 | - bg:'#AE81FF', | |
486 | - time:2 | |
487 | - }); | |
488 | - $("#SCHOOL_ID").focus(); | |
489 | - return false; | |
490 | - } | |
491 | - if($("#COMPLETE_DATE").val()==""){ | |
492 | - $("#COMPLETE_DATE").tips({ | |
493 | - side:3, | |
494 | - msg:'请输入需要完成时间', | |
495 | - bg:'#AE81FF', | |
496 | - time:2 | |
497 | - }); | |
498 | - $("#COMPLETE_DATE").focus(); | |
499 | - return false; | |
500 | - } | |
501 | - if($("#CREATE_DATE").val()==""){ | |
502 | - $("#CREATE_DATE").tips({ | |
503 | - side:3, | |
504 | - msg:'请输入创建时间', | |
505 | - bg:'#AE81FF', | |
506 | - time:2 | |
507 | - }); | |
508 | - $("#CREATE_DATE").focus(); | |
509 | - return false; | |
510 | - } | |
511 | - if($("#MODIFY_DATE").val()==""){ | |
512 | - $("#MODIFY_DATE").tips({ | |
513 | - side:3, | |
514 | - msg:'请输入修改时间', | |
515 | - bg:'#AE81FF', | |
516 | - time:2 | |
517 | - }); | |
518 | - $("#MODIFY_DATE").focus(); | |
519 | - return false; | |
520 | - } | |
521 | - if($("#COMPLETE_COUNT").val()==""){ | |
522 | - $("#COMPLETE_COUNT").tips({ | |
523 | - side:3, | |
524 | - msg:'请输入完成次数', | |
525 | - bg:'#AE81FF', | |
526 | - time:2 | |
527 | - }); | |
528 | - $("#COMPLETE_COUNT").focus(); | |
529 | - return false; | |
530 | - } | |
531 | - if($("#ALL_SCORE").val()==""){ | |
532 | - $("#ALL_SCORE").tips({ | |
533 | - side:3, | |
534 | - msg:'请输入总分', | |
535 | - bg:'#AE81FF', | |
536 | - time:2 | |
537 | - }); | |
538 | - $("#ALL_SCORE").focus(); | |
539 | - return false; | |
540 | - } | |
541 | - $("#Form").submit(); | |
542 | - $("#zhongxin").hide(); | |
543 | - $("#zhongxin2").show(); | |
544 | - } | |
545 | 223 | |
546 | - $(function() { | |
547 | - window.top.loading.remove(); | |
548 | - //日期框 | |
549 | - | |
550 | - $(document).on("focus",".date-picker",function(){ | |
551 | - $(this).datepicker({ | |
552 | - autoclose: true, | |
553 | - todayHighlight: true | |
554 | - }); | |
555 | - }); | |
556 | - | |
557 | - $.ajax({ | |
558 | - url:'<%=basePath%>/coursemanagement/teacherClass', | |
559 | - type:"post", | |
560 | - data:{teacher_id:"08b418184e5044c7b419caa830b834a7"}, | |
561 | - success:function(res){ | |
562 | - console.log(res); | |
563 | - if(res.data.length>0){ | |
564 | - var _html=""; | |
565 | - $.each(res.data,function(k,v){ | |
566 | - _html+='<li><input type="checkbox" id="class'+k+'" name="className" value="'+v.ID+'"><label for="class'+k+'"></label><span>'+v.CLASS_NAME+'</span><input class="date-picker" type="text" style="width:150px;text-align:center;" placeholder="完成日期" name="lastStart" id="lastStart" data-date-format="yyyy-mm-dd" readonly="readonly" value=""></li>'; | |
567 | - | |
568 | - }); | |
569 | - $(".classBox ul").html(_html); | |
570 | - } | |
571 | - } | |
572 | - }); | |
573 | - | |
574 | - }); | |
575 | - </script> | |
224 | + }); | |
225 | + </script> | |
576 | 226 | </body> |
577 | 227 | </html> |
578 | 228 | \ No newline at end of file | ... | ... |
WebRoot/WEB-INF/jsp/sunvote/teacher/teacher_main.jsp
... | ... | @@ -100,10 +100,10 @@ |
100 | 100 | |
101 | 101 | <ul class="menu_1"> |
102 | 102 | <li> |
103 | - <p id="practice_manage" onclick="event.stopPropagation();homeWork('${SCHOOL_ID}')">练习列表</p> | |
103 | + <p id="practice_manage" onclick="event.stopPropagation();homeWorkList('${SCHOOL_ID}')">练习列表</p> | |
104 | 104 | </li> |
105 | 105 | <li> |
106 | - <p id="practice_do" >布置练习</p> | |
106 | + <p id="practice_do" onclick="event.stopPropagation();homeWork('${SCHOOL_ID}')">布置练习</p> | |
107 | 107 | </li> |
108 | 108 | <li> |
109 | 109 | <p id="practice_report">练习报表</p> |
... | ... | @@ -176,7 +176,7 @@ |
176 | 176 | window.top.loading.show(); |
177 | 177 | } |
178 | 178 | } |
179 | - function homeWork(schoolId){ | |
179 | + function homeWorkList(schoolId){ | |
180 | 180 | //var path = "../school/goEdit2.do?ID=" + schoolId ; |
181 | 181 | |
182 | 182 | var path = '<%=basePath%>homework/list.do?teacher_id=${pd.TEACHER.ID}&ID=' + schoolId ; |
... | ... | @@ -184,6 +184,14 @@ |
184 | 184 | $("#mainFrame").attr('src',path); |
185 | 185 | window.top.loading.show(); |
186 | 186 | } |
187 | + function homeWork(schoolId){ | |
188 | + //var path = "../school/goEdit2.do?ID=" + schoolId ; | |
189 | + | |
190 | + var path = '<%=basePath%>homework/goEdit2.do?teacher_id=${pd.TEACHER.ID}&ID=' + schoolId ; | |
191 | + | |
192 | + $("#mainFrame").attr('src',path); | |
193 | + window.top.loading.show(); | |
194 | + } | |
187 | 195 | |
188 | 196 | function report(classId){ |
189 | 197 | //window.open('<%=basePath%>report/report.do?classid=' + classId); | ... | ... |
WebRoot/static/js/control_homework.js
0 → 100644
1 | +var saveData={} //声明保存数据 | |
2 | + | |
3 | + $(document).on('click',"input[type='checkbox']",function(){ //选择班级 | |
4 | + console.log($(this).prop("checked")); | |
5 | + if($(this).prop('checked')){ | |
6 | + $(this).closest("li").attr("class","checked"); | |
7 | + }else{ | |
8 | + $(this).closest("li").removeClass("checked"); | |
9 | + } | |
10 | + | |
11 | + }); | |
12 | + var work={ //保存标题框中的数字框的值 | |
13 | + que_num:0, | |
14 | + ans_num:4, | |
15 | + score:0 | |
16 | + } | |
17 | + //点击+执行操作 | |
18 | + function creat_work(_id,index,num){//index:开始序号,num:目标序号 | |
19 | + | |
20 | + if(_id=="que_num"){ //新增题目 | |
21 | + for(j=index;j<=num;j++){ | |
22 | + $(".subject_body_tbody").append('<tr><td class="first">'+j+'</td><td class="middle"><div class="question question'+j+'"><ul></ul></div></td><td class="middle"><span>选项个数</span><span class="add">+</span><input type="number" class="w_100 ans_num" value="'+$("#ans_num").val()+'"/><span class="redu">-</span></td><td class="middle"><span>分值</span><span class="add">+</span><input type="number" class="w_100 score" value="1"/><span class="redu">-</span></td><td class="last"><a class="remove"><img src="static/images/remove.png" /></a></td></tr>'); | |
23 | + for(i=0;i<work.ans_num;i++){ | |
24 | + $(".question"+j+" ul").append('<li class="btn btn-default">'+String.fromCharCode(0x41 + i)+'</li>') | |
25 | + } | |
26 | + } | |
27 | + } | |
28 | + else if(_id=="ans_num"){//新增选项 | |
29 | + for(j=1;j<=work.que_num;j++){ //轮询每道题目 | |
30 | + var now_length=$(".question"+j+" ul").find(".btn").length; //获取当前题目选项个数 | |
31 | + if(now_length<work.ans_num){ //当前题目选项个数小于数字框中个数,则把选项个数增加到数字框中的个数 | |
32 | + for(i=now_length;i<work.ans_num;i++){ | |
33 | + console.log("index:"+index+"-"+"num:"+num+"i:"+i); | |
34 | + $(".question"+j+" ul").append('<li class="btn btn-default">'+String.fromCharCode(0x41 + i)+'</li>') | |
35 | + } | |
36 | + } | |
37 | + if(now_length>work.ans_num){//当前题目选项个数大于数字框中个数,则把选项个数减少到数字框中的个数 | |
38 | + for(i=now_length;i>=work.ans_num;i--){ | |
39 | + $(".question"+j+" ul").find(".btn").eq(work.ans_num).remove(); | |
40 | + } | |
41 | + } | |
42 | + | |
43 | + } | |
44 | + | |
45 | + }else{ | |
46 | + if(_id.siblings(".w_100").attr("class").indexOf("ans_num")>-1){ //没有id,但是class中含有ans_num,则为单个题目中的选项设置框 | |
47 | + var _index=_id.closest("tr").index()+1; | |
48 | + for(i=index;i<=num;i++){ | |
49 | + $(".question"+_index+" ul").append('<li class="btn btn-default">'+String.fromCharCode(0x41 + i-1)+'</li>') | |
50 | + } | |
51 | + } | |
52 | + } | |
53 | + } | |
54 | + //点击-执行操作 | |
55 | + function remove_work(_id,index,num){ | |
56 | + | |
57 | + if(_id=="que_num"){ //减少题目 | |
58 | + for(i=index;i<=num;i++){ | |
59 | + $(".subject_body_tbody tr").eq(index).remove(); | |
60 | + } | |
61 | + } | |
62 | + if(_id=="ans_num"){ //减少选项 | |
63 | + for(j=1;j<=work.que_num;j++){ //轮询每道题目 | |
64 | + var now_length=$(".question"+j+" ul").find(".btn").length; //获取当前题目中的选项个数 | |
65 | + if(now_length>work.ans_num){ //如果当前选项个数大于数字框中的值,则减少选项个数到数字框中的个数 | |
66 | + for(i=now_length;i>=work.ans_num;i--){ | |
67 | + $(".question"+j+" ul").find(".btn").eq(work.ans_num).remove(); | |
68 | + } | |
69 | + } | |
70 | + if(now_length<work.ans_num){ //如果当前选项个数小于数字框中的值,则增加选项个数到数字框中的个数 | |
71 | + for(i=now_length;i<work.ans_num;i++){ | |
72 | + $(".question"+j+" ul").append('<li class="btn btn-default">'+String.fromCharCode(0x41 + i)+'</li>') | |
73 | + } | |
74 | + } | |
75 | + | |
76 | + } | |
77 | + }else{ | |
78 | + if(_id.siblings(".w_100").attr("class").indexOf("ans_num")>-1){ //没有id值,但是类名中含有ans_num,则判断为单个题目中的选项设置框 | |
79 | + var _index=_id.closest("tr").index()+1; | |
80 | + for(i=index;i<=num;i++){ | |
81 | + $(".question"+_index+" ul").find(".btn").eq(index).remove(); | |
82 | + } | |
83 | + } | |
84 | + } | |
85 | + | |
86 | + } | |
87 | + //点击+按钮 | |
88 | + $(document).on("click",".add",function(){ | |
89 | + var _that=$(this); | |
90 | + var temp_num=0; | |
91 | + //获取当前按钮旁边数字框的值 | |
92 | + temp_num=parseInt(_that.siblings(".w_100").val()); | |
93 | + temp_num+=1; | |
94 | + //点击+号,数字框中的数字+1 | |
95 | + _that.siblings(".w_100").val(temp_num); | |
96 | + //如果数字框有id,则是标题栏上面的数字框 | |
97 | + if(_that.siblings(".w_100").attr("id")){ | |
98 | + //将下面的数字框的值设置成标题栏数字框的值 | |
99 | + var _class=_that.siblings(".w_100").attr("id"); | |
100 | + $("."+_class).val(temp_num); | |
101 | + //题目数 | |
102 | + if(_class=="que_num"){ | |
103 | + work.que_num=temp_num; | |
104 | + creat_work(_class,work.que_num,work.que_num); | |
105 | + } | |
106 | + //选项数 | |
107 | + if(_class=="ans_num"){ | |
108 | + work.ans_num=temp_num; | |
109 | + creat_work(_class,work.ans_num,work.ans_num); | |
110 | + } | |
111 | + } | |
112 | + else{ | |
113 | + if(_that.siblings(".w_100").attr("class").indexOf("ans_num")>-1){ | |
114 | + creat_work(_that,temp_num,temp_num); | |
115 | + } | |
116 | + } | |
117 | + | |
118 | + }) | |
119 | + //点击-按钮 | |
120 | + $(document).on("click",".redu",function(){ | |
121 | + var _that=$(this); | |
122 | + var temp_num=0; | |
123 | + | |
124 | + temp_num=parseInt(_that.siblings(".w_100").val()); | |
125 | + temp_num-=1; | |
126 | + if(temp_num<0){ | |
127 | + temp_num=0; | |
128 | + return; | |
129 | + } | |
130 | + | |
131 | + _that.siblings(".w_100").val(temp_num); | |
132 | + | |
133 | + if(_that.siblings(".w_100").attr("id")){ | |
134 | + var _class=$(this).siblings(".w_100").attr("id"); | |
135 | + $("."+_class).val(temp_num); | |
136 | + | |
137 | + if(_class=="que_num"){ | |
138 | + work.que_num=temp_num; | |
139 | + remove_work(_class,work.que_num,work.que_num); | |
140 | + } | |
141 | + if(_class=="ans_num"){ | |
142 | + work.ans_num=temp_num; | |
143 | + remove_work(_class,work.ans_num,work.ans_num); | |
144 | + } | |
145 | + }else{ | |
146 | + if(_that.siblings(".w_100").attr("class").indexOf("ans_num")>-1){ | |
147 | + remove_work(_that,temp_num,temp_num); | |
148 | + } | |
149 | + } | |
150 | + | |
151 | + }) | |
152 | + $(document).on("click",".remove",function(){ | |
153 | + var _that=$(this); | |
154 | + _that.closest("tr").remove(); | |
155 | + work.que_num=$(".first").length; | |
156 | + $("#que_num").val(work.que_num); | |
157 | + for(i=0;i<$(".first").length;i++){ | |
158 | + //console.log($(".first").closest("tr").index()); | |
159 | + $(".first").eq(i).text(i+1); | |
160 | + $(".question").eq(i).attr("class","question question"+(i+1)); | |
161 | + } | |
162 | + }); | |
163 | + $(document).on("click","li.btn ",function(){ | |
164 | + if($(this).attr("class").indexOf("on")>-1) | |
165 | + $(this).removeClass("on"); | |
166 | + else | |
167 | + $(this).addClass("on"); | |
168 | + }); | |
169 | + $("#que_num").change(function(){ | |
170 | + var now_num=parseInt($("#que_num").val()); | |
171 | + var old_num=parseInt(work.que_num); | |
172 | + var _temp=now_num-old_num; | |
173 | + | |
174 | + if(_temp>0){ | |
175 | + creat_work($(this).attr("id"),(old_num+1),now_num); | |
176 | + }else{ | |
177 | + remove_work($(this).attr("id"),now_num,old_num); | |
178 | + } | |
179 | + | |
180 | + work.que_num=now_num; | |
181 | + | |
182 | + }) | |
183 | + $("#ans_num").change(function(){ | |
184 | + var now_num=parseInt($("#ans_num").val()); | |
185 | + var old_num=parseInt(work.ans_num); | |
186 | + var _temp=now_num-old_num; | |
187 | + | |
188 | + $(".ans_num").val(now_num); | |
189 | + work.ans_num=now_num; | |
190 | + | |
191 | + if(_temp>0){ | |
192 | + creat_work($(this).attr("id"),(old_num+1),now_num); | |
193 | + }else{ | |
194 | + remove_work($(this).attr("id"),now_num,old_num); | |
195 | + } | |
196 | + | |
197 | + | |
198 | + }); | |
199 | + | |
200 | + | |
201 | + | |
202 | + function save(){ | |
203 | + if($("#NAME").val()==""){ | |
204 | + $("#NAME").tips({ | |
205 | + side:3, | |
206 | + msg:'请输入练习标题', | |
207 | + bg:'#AE81FF', | |
208 | + time:2 | |
209 | + }); | |
210 | + $("#NAME").focus(); | |
211 | + return false; | |
212 | + } | |
213 | + if($("#HOMEWORK_DESC").val()==""){ | |
214 | + $("#HOMEWORK_DESC").tips({ | |
215 | + side:3, | |
216 | + msg:'请输入练习说明', | |
217 | + bg:'#AE81FF', | |
218 | + time:2 | |
219 | + }); | |
220 | + $("#HOMEWORK_DESC").focus(); | |
221 | + return false; | |
222 | + } | |
223 | + var all_score=0; | |
224 | + for(var i=0;i<work.que_num;i++){ | |
225 | + all_score+=parseInt($(".score").eq(i+1).val()); | |
226 | + } | |
227 | + var CLASSLIST=[]; | |
228 | + if($(".checked").length>0){ | |
229 | + for(var j=0;j<$(".checked").length;j++){ | |
230 | + var _index=$(".checked").eq(j).index(); | |
231 | + console.log($(".date-picker").eq(_index).val()); | |
232 | + if($(".date-picker").eq(_index).val()==''){ | |
233 | + $(".date-picker").eq(_index).tips({ | |
234 | + side:3, | |
235 | + msg:'请指定时间', | |
236 | + bg:'#AE81FF', | |
237 | + time:2 | |
238 | + }); | |
239 | + return false; | |
240 | + } | |
241 | + | |
242 | + CLASSLIST[j]={ | |
243 | + CLASS_ID:$("#class"+_index).val(), | |
244 | + COMPLETE_DATE:$(".date-picker").eq(_index).val() | |
245 | + }; | |
246 | + | |
247 | + } | |
248 | + }else{ | |
249 | + $(".classBox").tips({ | |
250 | + side:3, | |
251 | + msg:'请选择班级和指定时间', | |
252 | + bg:'#AE81FF', | |
253 | + time:2 | |
254 | + }); | |
255 | + return false; | |
256 | + } | |
257 | + | |
258 | + if(work.que_num<=0){ | |
259 | + $('.subject').tips({ | |
260 | + side:3, | |
261 | + msg:'请添加题目', | |
262 | + bg:'#AE81FF', | |
263 | + time:2 | |
264 | + }); | |
265 | + return false; | |
266 | + } | |
267 | + var QUESTIONS=[]; | |
268 | + for(var k=0;k<work.que_num;k++){ | |
269 | + QUESTIONS[k]={ | |
270 | + RANK:$(".first").eq(k).text(), | |
271 | + NAME:$(".first").eq(k).text(), | |
272 | + OPTION_NUM:$(".ans_num").eq(k+1).val(), | |
273 | + SCORE:$(".score").eq(k+1).val(), | |
274 | + RIGHT_ANSWER:"", | |
275 | + TYPE:"" | |
276 | + } | |
277 | + | |
278 | + var type=0,right_ans=''; | |
279 | + var a_num=$('.question'+(k+1)).find('.on').length; | |
280 | + if(a_num<=0){ | |
281 | + //alert("题目"+(k+1)+"请选择正确答案"); | |
282 | + $('.question'+(k+1)).tips({ | |
283 | + side:3, | |
284 | + msg:'请指定正确答案', | |
285 | + bg:'#AE81FF', | |
286 | + time:2 | |
287 | + }); | |
288 | + return false; | |
289 | + } | |
290 | + for(var x=0;x<a_num;x++){ | |
291 | + right_ans+=$('.question'+(k+1)).find('.on').eq(x).text(); | |
292 | + } | |
293 | + if(a_num>1){ | |
294 | + type=2; | |
295 | + }else{ | |
296 | + type=1; | |
297 | + } | |
298 | + | |
299 | + QUESTIONS[k].RIGHT_ANSWER=right_ans; | |
300 | + QUESTIONS[k].TYPE=type; | |
301 | + } | |
302 | + | |
303 | + | |
304 | + saveData.TEACHER_ID=$("#TEACHER_ID").val(); | |
305 | + saveData.NAME=$("#NAME").val(); | |
306 | + saveData.HOMEWORK_DESC=$("#HOMEWORK_DESC").val(); | |
307 | + saveData.ALL_SCORE=all_score; | |
308 | + saveData.CLASSLIST=CLASSLIST; | |
309 | + saveData.QUESTION_COUNT=work.que_num; | |
310 | + saveData.QUESTIONS=QUESTIONS; | |
311 | + | |
312 | + console.log(saveData); | |
313 | + | |
314 | + } | |
315 | + | |
316 | + | |
0 | 317 | \ No newline at end of file | ... | ... |