1
0

approve_talkskill.html 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342
  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. .layui-table thead tr,
  9. .layui-table-header {
  10. background-color: #D8E6F1 !important;
  11. }
  12. .layui-fluid {
  13. display: block;
  14. box-shadow: 0 0 4px 0 #B6CADE;
  15. border-radius: 5px;
  16. margin: 15px;
  17. background-color: #ffffff;
  18. }
  19. .layui-form-label{
  20. width: auto;
  21. }
  22. .layui-card .layui-tab-brief .layui-tab-title li.layui-this {
  23. color: #249EFB;
  24. }
  25. .layui-tab-brief>.layui-tab-more li.layui-this:after, .layui-tab-brief>.layui-tab-title .layui-this:after {
  26. border-bottom: 4px solid #249EFB;
  27. }
  28. .layui-tab-title li {
  29. margin: 0px 5px;
  30. }
  31. .layui-btn-xs,.layui-btn-xs:hover {
  32. border: 1px solid #249EFB;
  33. background-color: #fff;
  34. color: #249EFB;
  35. padding: 0px 10px;
  36. }
  37. .layui-tab {
  38. display: flex;
  39. }
  40. .layui-tab-title {
  41. flex:1;
  42. }
  43. .layuiadmin-btn {
  44. margin-right: 20px;
  45. }
  46. </style>
  47. <body>
  48. <div class="layui-fluid">
  49. <div class="layui-card">
  50. <div class="layui-tab layui-tab-brief">
  51. <ul class="layui-tab-title">
  52. <li>
  53. <a href="{:url('talkskill/talkskill_questions')}">话术提问</a>
  54. </li>
  55. <li class="layui-this">
  56. 话术审核
  57. </li>
  58. <li>
  59. <a href="{:url('talkskill/approve_comment')}">回答审核</a>
  60. </li>
  61. </ul>
  62. <button style="" id="hisstyle" class="layui-btn layuiadmin-btn" data-type="hisstyle">审核记录</button>
  63. </div>
  64. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  65. <div class="layui-form-item">
  66. <div class="layui-inline" style="margin-bottom: 0px;">
  67. <div class="layui-input-inline">
  68. <button id="approve" class="layui-btn layuiadmin-btn" data-type="approve">批量审核</button>
  69. </div>
  70. </div>
  71. <div style="float:right;">
  72. <div class="layui-inline">
  73. <div class="layui-input-inline">
  74. <input type="text" name="keyword" placeholder="请输入提交内容" autocomplete="off" class="layui-input keyword">
  75. </div>
  76. </div>
  77. <div class="layui-inline">
  78. <button class="layui-btn layuiadmin-btn-useradmin searchBtn" lay-submit lay-filter="search">
  79. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  80. </button>
  81. </div>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="layui-card-body">
  86. <table lay-filter="talkskill-table" id="talkskill-table"></table>
  87. </div>
  88. </div>
  89. </div>
  90. </body>
  91. {/block} {block name="js"}
  92. <script type="text/html" id="result">
  93. {auth:check name="talkskill/add_talkskill_h"}
  94. <a class="layui-btn layui-btn-xs" lay-event="talkskill-edit">审核</a>
  95. {/auth:check}
  96. </script>
  97. <script type="text/html" id="imgs">
  98. {{# if(d.imgs){ }}
  99. {{# for(var j in d.imgs) { }}
  100. <img src="{{d.imgs[j]}}" style="text-align: center" width="30px" height="30px"/>
  101. {{# } }}
  102. {{# }else{ }}
  103. <span style="color: #cccccc;">无</span>
  104. {{# } }}
  105. </script>
  106. <script type="text/html" id="cate1">
  107. {{# if(d.cate1){ }}
  108. <span>{{d.cate1}}</span>
  109. {{# }else{ }}
  110. <span style="color: #cccccc;">无</span>
  111. {{# } }}
  112. </script>
  113. <script>
  114. layui.config({
  115. base: '__LAYUI__/',
  116. urlbase: '/sys'
  117. }).extend({
  118. index: 'lib/index'
  119. }).use(['index', 'table', 'layedit', 'element'], function() {
  120. var $ = layui.$,
  121. table = layui.table,
  122. element = layui.element,
  123. form = layui.form;
  124. var field = {};
  125. form.on('submit(search)', function (data) {
  126. var keyword = $('.keyword').val();
  127. field['keyword'] = keyword;
  128. //执行重载
  129. table.reload('talkskill-table', {
  130. where: field
  131. });
  132. });
  133. //事件
  134. var active = {
  135. // 批量删除
  136. approve: function() {
  137. var data = layui.table.checkStatus('talkskill-table');
  138. //console.log(checkStatus.data) //获取选中行的数据即 多个行对象
  139. //console.log(checkStatus.data.length) //获取选中行数量,可作为是否有选中行的条件
  140. //console.log(checkStatus.isAll ) //表格是否全选
  141. if (data.data.length==0) {
  142. layer.msg('请选择要审核的话术', {anim: 6,time: 800});
  143. return false;
  144. } else {
  145. var ids = [];
  146. for (var i = 0; i < data.data.length; i++) {
  147. ids.push(data.data[i].id);
  148. }
  149. // console.log(ids);
  150. // return false;
  151. layer.confirm('请选择审核状态!', {
  152. btn : ['通过','驳回'],
  153. btn1:function(){
  154. talkskill_approve(1,ids);
  155. // console.log(ids)
  156. // // ajaxWithdraw(id,'yes');
  157. },
  158. btn2:function(){
  159. talkskill_approve(2,ids);
  160. // console.log(1)
  161. // // ajaxWithdraw(id,'no');
  162. },
  163. // btn3:function(){
  164. // layer.msg('暂未开放使用!');
  165. // return;
  166. // }
  167. });
  168. // layer.confirm('确定要批量审核么?', function() {
  169. // $.ajax({
  170. // url: '{:url("talkskill/talkskill_approve")}',
  171. // type: 'post',
  172. // data: {ids:ids},
  173. // dataType: 'json',
  174. // success: function(res) {
  175. // // console.log(res)
  176. // if(res.code === 0) {
  177. // layer.msg(res.msg, {anim: 0,time: 400});
  178. // //执行重载
  179. // table.reload('talkskill-table');
  180. // } else {
  181. // layer.msg(res.msg, {anim: 6,time: 400});
  182. // }
  183. // }
  184. // });
  185. // });
  186. }
  187. },
  188. //审核记录
  189. hisstyle:function(){
  190. layer.open({
  191. type: 2,
  192. title:['审核记录', 'color:#333333;background-color:#D8E6F1;'],
  193. content: "{:url('talkskill/history')}?type=share",
  194. resize: false,
  195. area: ['80%', '80%']
  196. });
  197. }
  198. };
  199. function talkskill_approve(status,ids){
  200. $.ajax({
  201. url: '{:url("talkskill/talkskill_approve")}',
  202. type: 'post',
  203. data: {ids:ids,status:status},
  204. dataType: 'json',
  205. success: function(res) {
  206. console.log(res)
  207. if(res.code === 0) {
  208. layer.msg(res.msg, {anim: 0,time: 800});
  209. //执行重载
  210. table.reload('talkskill-table');
  211. } else {
  212. layer.msg(res.msg, {anim: 6,time: 800});
  213. }
  214. }
  215. });
  216. }
  217. //话术列表
  218. table.render({
  219. elem: '#talkskill-table',
  220. autoSort: false,
  221. url: "{:url('talkskill/approve_talkskill')}",
  222. cols: [
  223. [{type: 'checkbox',field:'id'},
  224. {
  225. type: 'numbers',
  226. field: 'id',
  227. width: 80,
  228. title: '序号',
  229. sort: true
  230. }, {
  231. field: 'name',
  232. title: '业务员'
  233. }, {
  234. field: 'title',
  235. title: '问题'
  236. }, {
  237. field: 'content',
  238. title: '回答'
  239. }, {
  240. field: 'cate1',
  241. title: '场景',
  242. templet: '#cate1'
  243. },
  244. // {
  245. // title: '相关图片',
  246. // templet: '#imgs'
  247. // },
  248. {
  249. field: 'addtime',
  250. title: '提交时间'
  251. }, {
  252. title: '操作',
  253. fixed: 'right',
  254. width: 120,
  255. toolbar: '#result'
  256. }]
  257. ],
  258. page: true,
  259. limit: 30,
  260. height: 'full-220',
  261. text: '对不起,加载出现异常!'
  262. });
  263. //监听表格复选框选择
  264. table.on('checkbox(talkskill-table)', function(obj){
  265. var data = layui.table.checkStatus('talkskill-table');
  266. // if (data.data.length==0) {
  267. // $('#approve').hide();
  268. // } else {
  269. // $('#approve').show();
  270. // }
  271. });
  272. //监听列表
  273. table.on('tool(talkskill-table)', function(obj) {
  274. var data = obj.data;
  275. if(obj.event === 'talkskill-edit') {
  276. layer.open({
  277. type: 2,
  278. title:['话术审核', 'color:#333333;background-color:#D8E6F1;'],
  279. content: "{:url('talkskill/talkskilldetail')}?id=" + data.id + "&operationType=share",
  280. resize: false,
  281. area: ['80%', '80%'],
  282. btn: ['通过', '驳回'],
  283. yes: function(index, layero) {
  284. layero.find('iframe').contents().find("#state").val('1');
  285. var submit = layero.find('iframe').contents().find("#talkskill-submit");
  286. submit.click();
  287. },
  288. btn2: function(index, layero) {
  289. layer.prompt({
  290. formType: 2,
  291. title: '请填写驳回原因',
  292. area: ['500px', '150px'],
  293. btnAlign: 'c',
  294. yes: function(indexs,layeros){
  295. // 获取文本框输入的值
  296. var value = layeros.find(".layui-layer-input").val();
  297. if (value) {
  298. layer.close(indexs);
  299. layero.find('iframe').contents().find("#state").val('2');
  300. layero.find('iframe').contents().find("#box").val(value);
  301. // layero.layui.form.render();
  302. // console.log(layero.find('iframe').contents().find("#box").val());
  303. var submit = layero.find('iframe').contents().find("#talkskill-submit");
  304. submit.click();
  305. return false;
  306. } else {
  307. layer.msg('请填写驳回原因', {anim: 0,time: 800});
  308. return false;
  309. }
  310. }
  311. });
  312. return false;
  313. }
  314. });
  315. }
  316. });
  317. $('.layui-btn.layuiadmin-btn').on('click', function() {
  318. var type = $(this).data('type');
  319. active[type] ? active[type].call(this) : '';
  320. });
  321. });
  322. </script>
  323. {/block}