discuss_check.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>商品折扣</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport"
  9. content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  10. <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
  11. <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
  12. </head>
  13. <body>
  14. <div class="layui-fluid">
  15. <div class="layui-col-md12">
  16. <div class="layui-card">
  17. <form id='fm' class="layui-form" action="" lay-filter="component-form-element">
  18. <button class="layui-btn" id="id_save" lay-submit lay-filter="component-form-element"
  19. style="display: none">保存
  20. </button>
  21. </form>
  22. </div>
  23. <div class="layui-card">
  24. <div class="layui-card-body">
  25. <div id="tableRes" class="table-overlay">
  26. <table id="dataTable" lay-filter="dataTable" class="layui-hide"></table>
  27. </div>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. <script src="../../layuiadmin/layui/layui.js"></script>
  33. <script>
  34. layui.config({
  35. base: '../../../layuiadmin/' //静态资源所在路径
  36. }).extend({
  37. index: 'lib/index' //主入口模块
  38. }).use(['index', 'table', 'layer', 'form',], function () {
  39. var $ = layui.$
  40. , admin = layui.admin
  41. , form = layui.form
  42. , table = layui.table
  43. , layer = layui.layer;
  44. var id = layui.view.getParameterByName('id');
  45. var editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
  46. var tbWidth = $("#tableRes").width();
  47. var layTableId = "layTable";
  48. var tableIns = table.render({
  49. elem: '#dataTable',
  50. id: layTableId,
  51. data: [],
  52. width: tbWidth,
  53. page: false,
  54. limit: 100,
  55. loading: true,
  56. even: true, //不开启隔行背景
  57. cols: [[
  58. {title: '序号', type: 'numbers'},
  59. {field: 'question', title: '问题', width: '20%',},
  60. {field: 'answer', title: '标准答案', width: '20%',},
  61. {field: 'discuss_answer', title: '学员答案', width: '20%',},
  62. {field: 'discuss_scores', title: '该题分数', width: '10%',},
  63. {field: 'user_scores', title: '学员得分', edit: 'text', width: '10%',},
  64. ]],
  65. });
  66. admin.req({
  67. url: '/admin/exam/examlog/' + id + '/get_discuss/',
  68. done: function (res) {
  69. var rows = res.data;
  70. var oldData = table.cache[layTableId];
  71. for (var k in rows) {
  72. oldData.push(
  73. {
  74. id: rows[k].id,
  75. question: rows[k].question,
  76. answer: rows[k].answer,
  77. discuss_answer: rows[k].discuss_answer,
  78. discuss_scores: rows[k].discuss_scores,
  79. user_scores: rows[k].user_scores,
  80. }
  81. )
  82. }
  83. tableIns.reload({
  84. data: oldData
  85. });
  86. }
  87. });
  88. //保存
  89. form.on('submit(component-form-element)', function (data) {
  90. var rows = table.cache[layTableId];
  91. var items = [];
  92. for (var k in rows) {
  93. if (isNaN(parseFloat(rows[k].user_scores))){
  94. layer.msg('第' + (parseInt(k) + 1) + '行,学员分数格式填写错误!', {icon: 2});
  95. return false;
  96. }
  97. if (rows[k].user_scores > rows[k].discuss_scores || rows[k].user_scores < 0){
  98. layer.msg('第' + (parseInt(k) + 1) + '行,学员分数填写错误!', {icon: 2});
  99. return false;
  100. }
  101. var item = {
  102. id: rows[k].id,
  103. user_scores: rows[k].user_scores,
  104. };
  105. items.push(item);
  106. }
  107. if (items.length === 0) {
  108. layer.msg('请填写学员分数!', {icon: 2});
  109. return false;
  110. }
  111. admin.req({
  112. url: '/admin/exam/examlog/' + id + '/discuss_check/'
  113. , data: {items:JSON.stringify(items)}
  114. //, contentType: false
  115. //, processData: false
  116. , type: 'post'
  117. , done: function (res) {
  118. parent.layui.onSubmitChild(res);
  119. }
  120. });
  121. return false;
  122. });
  123. parent.layui.submitChild = function () {
  124. $("#id_save").click();
  125. };
  126. });
  127. </script>
  128. </body>
  129. </html>