approve_comment.html 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  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>
  56. <a href="{:url('talkskill/approve_talkskill')}">话术审核</a>
  57. </li>
  58. <li class="layui-this">
  59. 回答审核
  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="approves" 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>
  74. <div class="layui-inline">
  75. <div class="layui-input-inline">
  76. <input type="text" name="keyword" placeholder="请输入回答内容" autocomplete="off" class="layui-input keyword">
  77. </div>
  78. </div>
  79. <div class="layui-inline">
  80. <button class="layui-btn layuiadmin-btn-useradmin searchBtn" lay-submit lay-filter="search">
  81. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  82. </button>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. <div class="layui-card-body">
  88. <table lay-filter="talkskill-table" id="talkskill-table"></table>
  89. </div>
  90. </div>
  91. </div>
  92. </body>
  93. {/block} {block name="js"}
  94. <script type="text/html" id="approve">
  95. {auth:check name="talkskill/comment"}
  96. <a class="layui-btn layui-btn-xs" lay-event="talkskill-edit">审核</a>
  97. {/auth:check}
  98. </script>
  99. <script type="text/html" id="content">
  100. {{# if(d.content){ }}
  101. <span>{{d.content}}</span>
  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=comment",
  194. resize: false,
  195. area: ['80%', '80%']
  196. });
  197. }
  198. };
  199. function talkskill_approve(status,ids){
  200. $.ajax({
  201. url: '{:url("talkskill/all_approve_comment")}',
  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_comment')}",
  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: 'title',
  232. title: '问题'
  233. }, {
  234. field: 'content',
  235. title: '官方回答',
  236. templet: '#content'
  237. }, {
  238. field: 'cate1',
  239. title: '场景',
  240. templet: '#cate1'
  241. }, {
  242. field: 'name',
  243. title: '业务员'
  244. }, {
  245. field: 'comments',
  246. title: '业务员回答'
  247. }, {
  248. field: 'addtime',
  249. title: '提交时间'
  250. }, {
  251. title: '审核',
  252. fixed: 'right',
  253. width: 120,
  254. toolbar: '#approve'
  255. }]
  256. ],
  257. page: true,
  258. limit: 30,
  259. height: 'full-220',
  260. text: '对不起,加载出现异常!'
  261. });
  262. //监听表格复选框选择
  263. table.on('checkbox(talkskill-table)', function(obj){
  264. var data = layui.table.checkStatus('talkskill-table');
  265. // if (data.data.length==0) {
  266. // $('#approves').hide();
  267. // } else {
  268. // $('#approves').show();
  269. // }
  270. });
  271. //监听列表
  272. table.on('tool(talkskill-table)', function(obj) {
  273. var data = obj.data;
  274. if(obj.event === 'talkskill-edit') {
  275. layer.open({
  276. type: 2,
  277. title:['回答审核', 'color:#333333;background-color:#D8E6F1;'],
  278. content: "{:url('talkskill/comment_detail')}?id=" + data.id,
  279. resize: false,
  280. area: ['80%', '80%'],
  281. btn: ['通过', '驳回'],
  282. yes: function(index, layero) {
  283. //点击确认触发 iframe 内容中的按钮提交
  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. //点击驳回触发 iframe 内容中的按钮提交
  290. layer.prompt({
  291. formType: 2,
  292. title: '请填写驳回原因',
  293. area: ['500px', '150px'],
  294. btnAlign: 'c',
  295. yes: function(indexs,layeros){
  296. // 获取文本框输入的值
  297. var value = layeros.find(".layui-layer-input").val();
  298. if (value) {
  299. layer.close(indexs);
  300. layero.find('iframe').contents().find("#state").val('2');
  301. layero.find('iframe').contents().find("#box").val(value);
  302. // layero.layui.form.render();
  303. // console.log(layero.find('iframe').contents().find("#box").val());
  304. var submit = layero.find('iframe').contents().find("#talkskill-submit");
  305. submit.click();
  306. return false;
  307. } else {
  308. layer.msg('请填写驳回原因', {anim: 0,time: 800});
  309. return false;
  310. }
  311. }
  312. });
  313. return false;
  314. }
  315. });
  316. }
  317. });
  318. $('.layui-btn.layuiadmin-btn').on('click', function() {
  319. var type = $(this).data('type');
  320. active[type] ? active[type].call(this) : '';
  321. });
  322. });
  323. </script>
  324. {/block}