examine.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. {extend name="public/container"}
  2. {block name="content"}
  3. <div class="layui-fluid">
  4. <div class="layui-row layui-col-space15">
  5. <div class="layui-col-md12">
  6. <div class="layui-card">
  7. <div class="layui-card-header">荣誉证书列表</div>
  8. <div class="layui-card-body">
  9. <div class="layui-row layui-col-space15">
  10. <div class="layui-col-md12">
  11. <form class="layui-form layui-form-pane" action="">
  12. <div class="layui-form-item">
  13. <div class="layui-inline">
  14. <label class="layui-form-label">证书搜索</label>
  15. <div class="layui-input-inline">
  16. <input type="text" name="title" class="layui-input" placeholder="证书标题">
  17. </div>
  18. </div>
  19. <div class="layui-inline">
  20. <label class="layui-form-label">讲师</label>
  21. <div class="layui-input-inline">
  22. <select name="mer_id" lay-search="">
  23. <option value="">全部</option>
  24. {volist name='mer_list' id='vc'}
  25. <option value="{$vc.id}">{$vc.mer_name}</option>
  26. {/volist}
  27. </select>
  28. </div>
  29. </div>
  30. <div class="layui-inline">
  31. <label class="layui-form-label">获取方式</label>
  32. <div class="layui-input-inline">
  33. <select name="obtain" lay-search="">
  34. <option value="0">全部</option>
  35. <option value="1">课程</option>
  36. <option value="2">考试</option>
  37. </select>
  38. </div>
  39. </div>
  40. <div class="layui-inline">
  41. <div class="layui-input-inline">
  42. <div class="layui-btn-group">
  43. <button type="button" class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="search" lay-filter="search">
  44. <i class="layui-icon">&#xe615;</i>搜索
  45. </button>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. </form>
  51. </div>
  52. <div class="layui-col-md12">
  53. <div class="layui-btn-group">
  54. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" data-type="refresh" onclick="window.location.reload()">
  55. <i class="layui-icon">&#xe669;</i>刷新
  56. </button>
  57. </div>
  58. <table class="layui-hide" id="List" lay-filter="List"></table>
  59. <script type="text/html" id="status">
  60. {{# if(d.status==0){ }}
  61. <button lay-event='fail' class="layui-btn layui-btn-danger layui-btn-xs zsff-fail" type="button"><i class="layui-icon">&#x1006;</i>不通过</button>
  62. <button lay-event='succ' class="layui-btn layui-btn-normal layui-btn-xs zsff-success" type="button"><i class="layui-icon">&#xe605;</i>通过</button>
  63. {{# }else if(d.status==-1){ }}
  64. <button class="layui-btn layui-btn-danger layui-btn-xs zsff-fail" type="button"><i class="layui-icon">&#x1006;</i>不通过</button>
  65. <br>
  66. 原因:{{d.fail_message}}
  67. <br>
  68. 时间:{{d.fail_time}}
  69. {{# } }}
  70. </script>
  71. <script type="text/html" id="background">
  72. <img style="cursor: pointer;" width="35" height="50" lay-event='open_image_background' src="{{d.background}}">
  73. </script>
  74. <script type="text/html" id="qr_code">
  75. <img style="cursor: pointer;" width="50" height="50" lay-event='open_image_qr_code' src="{{d.qr_code}}">
  76. </script>
  77. <script type="text/html" id="act">
  78. {{# if (d.status) { }}
  79. <a class="layui-btn layui-btn-xs layui-btn-disabled">审核</a>
  80. {{# } else { }}
  81. <a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="detail">审核</a>
  82. {{# } }}
  83. </script>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  92. {/block}
  93. {block name="script"}
  94. <script>
  95. var $ = layui.jquery;
  96. var layer = layui.layer;
  97. //实例化form
  98. layList.form.render();
  99. layList.date({elem: '#datetime', type: 'datetime', range: '~'});
  100. //加载列表
  101. layList.tableList({o:'List', done:function () {}},"{:Url('get_certificate_examine_list')}",function (){
  102. return [
  103. {field: 'id', title: '编号', width: '8%', align: 'center'},
  104. {field: 'mer_name', title: '讲师',align: 'center',width:'6%'},
  105. {field: 'title', title: '证书标题', align: 'center'},
  106. {field: 'background', title: '证书背景', templet: '#background',align: 'center', width: '10%'},
  107. {field: 'qr_code', title: '二维码', templet: '#qr_code',align: 'center', width: '10%'},
  108. {field: 'obtains', title: '获取方式', align: 'center', width: '10%'},
  109. {field: 'status', title: '状态',templet:'#status',align: 'center',width:'18%'},
  110. {field: 'right', title: '操作', align: 'center', toolbar: '#act', width: '12%'}
  111. ];
  112. });
  113. //自定义方法
  114. var action= {
  115. set_value: function (field, id, value) {
  116. layList.baseGet(layList.Url({
  117. a: 'set_value',
  118. q: {field: field, id: id, value: value}
  119. }), function (res) {
  120. layList.msg(res.msg);
  121. });
  122. },
  123. //打开新添加页面
  124. open_add: function (url,title) {
  125. layer.open({
  126. type: 2 //Page层类型
  127. ,area: ['90%', '90%']
  128. ,title: title
  129. ,shade: 0.6 //遮罩透明度
  130. ,maxmin: true //允许全屏最小化
  131. ,anim: 1 //0-6的动画形式,-1不开启
  132. ,content: url
  133. ,end:function() {
  134. location.reload();
  135. }
  136. });
  137. }
  138. };
  139. //查询
  140. layList.search('search',function(where){
  141. layList.reload({
  142. obtain: where.obtain,
  143. mer_id: where.mer_id,
  144. title: where.title
  145. },true);
  146. });
  147. //快速编辑
  148. layList.edit(function (obj) {
  149. var id=obj.data.id,value=obj.value;
  150. switch (obj.field) {
  151. case 'sort':
  152. if (value.trim()) {
  153. if (isNaN(value.trim())) {
  154. layList.msg('请输入正确的数字');
  155. } else {
  156. if (value.trim() < 0) {
  157. layList.msg('排序不能小于0');
  158. } else if (value.trim() > 9999) {
  159. layList.msg('排序不能大于9999');
  160. } else if (parseInt(value.trim()) != value.trim()) {
  161. layList.msg('排序不能为小数');
  162. } else {
  163. action.set_value('sort', id, value.trim());
  164. }
  165. }
  166. } else {
  167. layList.msg('排序不能为空');
  168. }
  169. break;
  170. }
  171. });
  172. //监听并执行排序
  173. layList.sort(['id','sort'],true);
  174. //点击事件绑定
  175. layList.tool(function (event,data,obj) {
  176. switch (event) {
  177. case 'delect':
  178. var url=layList.U({a:'delete',q:{id:data.id}});
  179. $eb.$swal('delete',function(){
  180. $eb.axios.get(url).then(function(res){
  181. if(res.status == 200 && res.data.code == 200) {
  182. $eb.$swal('success',res.data.msg);
  183. obj.del();
  184. }else
  185. return Promise.reject(res.data.msg || '删除失败')
  186. }).catch(function(err){
  187. $eb.$swal('error',err);
  188. });
  189. });
  190. break;
  191. case 'open_image_background':
  192. $eb.openImage(data.background);
  193. break;
  194. case 'open_image_qr_code':
  195. $eb.openImage(data.qr_code);
  196. break;
  197. case 'succ':
  198. var url=layList.U({a:'succ',q:{id:data.id}});
  199. $eb.$swal('delete',function(){
  200. $eb.axios.get(url).then(function(res){
  201. if(res.status == 200 && res.data.code == 200) {
  202. window.location.reload();
  203. $eb.$swal('success',res.data.msg);
  204. }else
  205. return Promise.reject(res.data.msg || '删除失败')
  206. }).catch(function(err){
  207. $eb.$swal('error',err);
  208. });
  209. },{
  210. title:'确定审核通过?',
  211. text:'通过后无法撤销,请谨慎操作!',
  212. confirm:'审核通过'
  213. });
  214. break;
  215. case 'fail':
  216. var url=layList.U({a:'fail',q:{id:data.id}});
  217. $eb.$alert('textarea',{
  218. title:'请输入未通过愿意',
  219. value:'输入信息不完整或有误!',
  220. },function(value){
  221. $eb.axios.post(url,{message:value}).then(function(res){
  222. if(res.data.code == 200) {
  223. window.location.reload();
  224. $eb.$swal('success', res.data.msg);
  225. }else
  226. $eb.$swal('error',res.data.msg||'操作失败!');
  227. });
  228. });
  229. break;
  230. case 'detail':
  231. action.open_add('{:Url('examineDetails')}?id=' + data.id, '审核');
  232. break;
  233. }
  234. })
  235. </script>
  236. {/block}