verify.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. {extend name="public/layout" /} {block name="title"}转正审核{/block} {block name="body"}
  2. <style type="text/css">
  3. html,
  4. body {
  5. display: block;
  6. min-width: 1100px;
  7. }
  8. body::-webkit-scrollbar {
  9. /*滚动条整体样式*/
  10. width: 4px;
  11. /*高宽分别对应横竖滚动条的尺寸*/
  12. height: 1px;
  13. }
  14. body::-webkit-scrollbar-thumb {
  15. /*滚动条里面小方块*/
  16. border-radius: 10px;
  17. box-shadow: inset 0 0 5px rgba(97, 184, 179, 0.1);
  18. background: #78b4b4;
  19. }
  20. body::-webkit-scrollbar-track {
  21. /*滚动条里面轨道*/
  22. box-shadow: inset 0 0 5px rgba(87, 175, 187, 0.1);
  23. border-radius: 10px;
  24. background: #ededed;
  25. }
  26. .layui-table thead tr,
  27. .layui-table-header {
  28. background-color: #D8E6F1 !important;
  29. }
  30. .layui-fluid {
  31. display: block;
  32. box-shadow: 0 0 4px 0 #B6CADE;
  33. border-radius: 5px;
  34. margin: 15px;
  35. background-color: #ffffff;
  36. }
  37. .layui-form-label{
  38. width: auto;
  39. }
  40. .layui-tab-title .layui-this {
  41. background-color: #fff !important;
  42. color: #249EFB !important;
  43. }
  44. .layui-tab-title .layui-this:after {
  45. border: none;
  46. border-bottom: 4px solid #28A1FF !important;
  47. width: 60%;
  48. left: 50%;
  49. transform: translateX(-50%);
  50. }
  51. .layui-tab-title li {
  52. background-color: #FFF;
  53. margin: 0px 5px;
  54. }
  55. .layui-btn-xs,.layui-btn-xs:hover {
  56. border: 1px solid #249EFB;
  57. background-color: #fff;
  58. color: #249EFB;
  59. padding: 0px 10px;
  60. }
  61. .layui-btn-danger,.layui-btn-danger:hover{
  62. color: #FF5722;
  63. background-color: #fff;
  64. border: 1px solid #FF5722;
  65. padding: 0px 10px;
  66. }
  67. .flex-row {
  68. display: flex;
  69. justify-content: space-around;
  70. align-items: center;
  71. background-color: #fff;
  72. margin: 15px;
  73. height: 130px;
  74. box-shadow: 0 0 4px 0 #b6cade;
  75. }
  76. .flex-item {
  77. display: flex;
  78. flex-direction: column;
  79. justify-content: center;
  80. align-items: center;
  81. }
  82. .font-weight {
  83. font-weight: 600;
  84. }
  85. .font32 {
  86. font-size: 32px;
  87. }
  88. .mt10 {
  89. margin-top: 10px;
  90. }
  91. .layui-form-item .layui-inline {
  92. margin-bottom: 0px;
  93. margin-right: 0px !important;
  94. }
  95. .layui-tab-title {
  96. border-bottom: 1px solid #f5f5f5;
  97. }
  98. </style>
  99. <body>
  100. <div class="flex-row">
  101. <div class="flex-item">
  102. <span class="font-weight font32">{$data.plan_count}</span>
  103. <span class="mt10">训练计划数</span>
  104. </div>
  105. <div class="flex-item">
  106. <span class="font-weight font32">{$data.person_time}</span>
  107. <span class="mt10">训练人次</span>
  108. </div>
  109. <div class="flex-item">
  110. <span class="font-weight font32">{$data.passed_count}</span>
  111. <span class="mt10">通过训练人数</span>
  112. </div>
  113. <div class="flex-item">
  114. <span class="font-weight font32">{$data.no_passed_count}</span>
  115. <span class="mt10">未通过训练人数</span>
  116. </div>
  117. <div class="flex-item">
  118. <span class="font-weight font32">{$data.reviewed}</span>
  119. <span class="mt10">待审核</span>
  120. </div>
  121. </div>
  122. <div class="layui-fluid">
  123. <div class="layui-card">
  124. <div class="layui-tab">
  125. <ul class="layui-tab-title">
  126. <li>
  127. <a href="{:url('camp/index')}" class="block">训练营管理</a>
  128. </li>
  129. <li>
  130. <a href="{:url('camp/personnel')}" class="block">训练人员管理</a>
  131. </li>
  132. <li class="layui-this">
  133. 转正审核
  134. </li>
  135. </ul>
  136. </div>
  137. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  138. <div class="layui-form-item">
  139. <div style="float:left;" class="flexRow">
  140. <div class="layui-inline">
  141. <div class="layui-input-inline">
  142. <select name="org" id="org" lay-filter="org_select" lay-search>
  143. <option value="">请选择部门</option>
  144. {volist name="org" id="i" }
  145. <option value="{$i.id}">{$i.name}</option>
  146. {/volist}
  147. </select>
  148. </div>
  149. </div>
  150. <div class="layui-inline">
  151. <button class="layui-btn layuiadmin-btn-useradmin searchBtn" lay-submit lay-filter="search">
  152. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  153. </button>
  154. </div>
  155. </div>
  156. </div>
  157. </div>
  158. <div class="layui-card-body">
  159. <table lay-filter="verify-table" id="verify-table"></table>
  160. </div>
  161. </div>
  162. </div>
  163. </body>
  164. {/block} {block name="js"}
  165. <script type="text/html" id="table-verify-action">
  166. <a class="layui-btn layui-btn-xs" lay-event="verify-again">重新考核</a>
  167. <a class="layui-btn layui-btn-xs" lay-event="verify-pass">通过</a>
  168. <!-- <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="verify-leave">离职</a> -->
  169. </script>
  170. <script type="text/html" id="comment">
  171. <a class="layui-table-link" lay-event="commentCount">{{d.commentCount}}</a>
  172. </script>
  173. <script type="text/html" id="imgs">
  174. {{# for(var j in d.imgs) { }}
  175. <img src="{{d.imgs[j]}}" style="text-align: center" width="30px" height="30px"/>
  176. {{# } }}
  177. </script>
  178. <script>
  179. layui.config({
  180. base: '__LAYUI__/',
  181. urlbase: '/sys'
  182. }).extend({
  183. index: 'lib/index'
  184. }).use(['index', 'table', 'layedit', 'element'], function() {
  185. var $ = layui.$,
  186. table = layui.table,
  187. element = layui.element,
  188. form = layui.form;
  189. var field = {};
  190. form.on('submit(search)', function (data) {
  191. var keyword = $('.keyword').val();
  192. field['keyword'] = keyword;
  193. field['org_id'] = $('#org').val();
  194. //执行重载
  195. table.reload('verify-table', {
  196. where: field
  197. ,page: {curr:1}
  198. });
  199. });
  200. //事件
  201. var active = {};
  202. //话术列表
  203. table.render({
  204. elem: '#verify-table',
  205. autoSort: false,
  206. url: "{:url('camp/employee')}?approve=1",
  207. cols: [
  208. [{
  209. type: 'numbers',
  210. field: 'id',
  211. width: 80,
  212. title: '编号',
  213. sort: true
  214. }, {
  215. field: 'name',
  216. title: '申请人员'
  217. },{
  218. field: 'org_name',
  219. title: '所属部门'
  220. }, {
  221. field: 'title',
  222. title: '训练营名称'
  223. }, {
  224. title: '申请时间',
  225. field: 'approve_time',
  226. }, {
  227. title: '操作',
  228. width: 220,
  229. align: 'center',
  230. fixed: 'right',
  231. toolbar: '#table-verify-action'
  232. }]
  233. ],
  234. page: true,
  235. limit: 30,
  236. height: 'full-350',
  237. text: '对不起,加载出现异常!'
  238. });
  239. //监听列表
  240. table.on('tool(verify-table)', function(obj) {
  241. var data = obj.data;
  242. if(obj.event === 'verify-again') {
  243. if (data.approve == 3) {
  244. layer.msg('无法重新开启训练,请指派其他训练', {
  245. anim: 6
  246. , time: 2000
  247. });
  248. // layer.open({
  249. // type: 2,
  250. // title:['重选训练计划', 'color:#333333;background-color:#D8E6F1;'],
  251. // content: "{:url('camp/reselect_train_plan')}",
  252. // resize: false,
  253. // area: ['80%', '80%'],
  254. // btn: ['确定', '取消'],
  255. // yes: function(index, layero) {
  256. // //点击确认触发 iframe 内容中的按钮提交
  257. // var submit = layero.find('iframe').contents().find("#talkskill-submit");
  258. // submit.click();
  259. // }
  260. // });
  261. } else {
  262. layer.confirm('是否重新开启训练?',{title:['信息', 'color:#333333;background-color:#D8E6F1;'],}, function(index) {
  263. $.ajax({
  264. url: "{:url('camp/worker')}",
  265. type: 'post',
  266. data: {
  267. id: data.id,
  268. type: '3'
  269. },
  270. success: function (res) {
  271. if (res.code == 0) {
  272. layui.table.reload('verify-table');
  273. layer.msg('已重新开启训练', {
  274. time: 2000
  275. });
  276. setTimeout(() => {
  277. if (data.pattern == 0) {
  278. setTimeout(() => {
  279. layer.alert('训练人员无法在规定训练周期内完成训练,请重新重新指派训练营',{ title: ['信息', 'color:#333333;background-color:#D8E6F1;'], }, function (index) {
  280. layer.close(index);
  281. });
  282. },2000)
  283. }
  284. })
  285. } else {
  286. layer.msg(res.msg, {
  287. anim: 6
  288. , time: 2000
  289. });
  290. }
  291. }
  292. });
  293. obj.del();
  294. layer.close(index);
  295. });
  296. }
  297. }else if(obj.event === 'verify-leave') {
  298. layer.confirm('确定离职吗?',{title:['信息', 'color:#333333;background-color:#D8E6F1;'],}, function(index) {
  299. $.ajax({
  300. url: "{:url('talkskill/talkskilldel')}?id=" + data.id,
  301. type: 'post'
  302. });
  303. obj.del();
  304. layer.close(index);
  305. });
  306. } else if (obj.event === 'verify-pass') {
  307. layer.confirm('确定通过吗?',{title:['信息', 'color:#333333;background-color:#D8E6F1;'],}, function(index) {
  308. $.ajax({
  309. url: "{:url('camp/worker')}",
  310. type: 'post',
  311. data: {
  312. id: data.id,
  313. type: '1'
  314. },
  315. success: function (res) {
  316. if (res.code == 0) {
  317. layui.table.reload('verify-table');
  318. layer.msg('操作成功', {
  319. anim: 6
  320. , time: 2000
  321. });
  322. } else {
  323. layer.msg(res.msg, {
  324. anim: 6
  325. , time: 2000
  326. });
  327. }
  328. }
  329. });
  330. obj.del();
  331. layer.close(index);
  332. });
  333. }
  334. });
  335. $('.layui-btn.layuiadmin-btn').on('click', function() {
  336. var type = $(this).data('type');
  337. active[type] ? active[type].call(this) : '';
  338. });
  339. });
  340. </script>
  341. {/block}