group_talkskill_list.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353
  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-fluid {
  9. display: block;
  10. box-shadow: 0 0 4px 0 #B6CADE;
  11. border-radius: 5px;
  12. margin: 15px;
  13. background-color: #ffffff;
  14. }
  15. .layui-table thead tr,
  16. .layui-table-header {
  17. background-color: #D8E6F1 !important;
  18. }
  19. .layui-form-label{
  20. width: auto;
  21. }
  22. .goback {
  23. float: left;
  24. margin-right: 20px;
  25. }
  26. .goback a {
  27. color: #269efb;
  28. }
  29. .goback i {
  30. position: relative !important;
  31. }
  32. .layui-btn-xs,.layui-btn-xs:hover {
  33. border: 1px solid #249EFB;
  34. background-color: #fff;
  35. color: #249EFB;
  36. padding: 0px 10px;
  37. }
  38. .layui-btn-danger,.layui-btn-danger:hover{
  39. color: #FF5722;
  40. background-color: #fff;
  41. border: 1px solid #FF5722;
  42. padding: 0px 10px;
  43. }
  44. .layui-table-view .layui-table{width:100% !important;}
  45. .deletebtn{display:none}
  46. .commentcount{cursor: pointer;color: #249EFB;}
  47. .commentcount img{width:18px;display: inline-block;vertical-align: -13%;margin-right: 2px;}
  48. .layui-form-item .layui-input-inline,.layui-select-title{max-width:160px !important;}
  49. </style>
  50. <body>
  51. <div class="layui-fluid">
  52. <div class="layui-card">
  53. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  54. <div class="layui-form-item">
  55. <div style="float:right;">
  56. <div class="layui-inline">
  57. <label class="layui-form-label">问题</label>
  58. <div class="layui-input-inline">
  59. <input type="text" name="keyword" placeholder="请输入问题" autocomplete="off" class="layui-input keyword">
  60. </div>
  61. </div>
  62. <div class="layui-inline">
  63. <select name="cate">
  64. <option value="">请选择分类</option>
  65. {volist name='cate' id='vo'}
  66. <option value="{$vo.name}">{$vo.name}</option>
  67. {/volist}
  68. </select>
  69. </div>
  70. <div class="layui-inline">
  71. <select name="user_cate">
  72. <option value="">请选择适用部门</option>
  73. {volist name='user_cate' id='vo'}
  74. <option value="{$vo.name}">{$vo.name}</option>
  75. {/volist}
  76. </select>
  77. </div>
  78. <div class="layui-inline">
  79. <select name="house_type">
  80. <option value="">请选择房屋类型</option>
  81. {volist name='house_type' id='vo'}
  82. <option value="{$vo.name}">{$vo.name}</option>
  83. {/volist}
  84. </select>
  85. </div>
  86. <div class="layui-inline">
  87. <button class="layui-btn layuiadmin-btn-useradmin searchBtn" lay-submit lay-filter="customer-search">
  88. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  89. </button>
  90. </div>
  91. </div>
  92. <div class="layui-inline" style="float: left;">
  93. <div class="goback">
  94. <a href="{:url('talkskill/groupTalkskillLabel')}?from={$from}&root_id={$root_id}"><i class="layui-icon layui-icon-return"></i>
  95. <span>返回</span>
  96. </a>
  97. </div>
  98. {eq name="$from" value="add"}
  99. <!-- <button class="layui-btn layuiadmin-btn" data-type="add">添加标准话术</button>-->
  100. <button class="layui-btn layuiadmin-btn deletebtn" data-type="delete">批量删除</button>
  101. {/eq}
  102. </div>
  103. </div>
  104. </div>
  105. <div class="layui-card-body">
  106. <table lay-filter="talkskill-table" id="talkskill-table"></table>
  107. </div>
  108. </div>
  109. </div>
  110. </body>
  111. {/block} {block name="js"}
  112. <script type="text/html" id="table-talkskill-action">
  113. <a class="layui-btn layui-btn-xs" lay-event="talkskill-edit">编辑</a>
  114. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="talkskill-del">删除</a>
  115. </script>
  116. <script type="text/html" id="imgsss">
  117. {{# for(var j in d.imgs) { }}
  118. <img src="{{d.imgs[j]}}" style="text-align: center" width="30px" height="30px"/>
  119. {{# } }}
  120. </script>
  121. <script type="text/html" id="cate2">
  122. {{# if(d.cate2){ }}
  123. <span>{{d.cate2}}</span>
  124. {{# }else{ }}
  125. <span style="color: #cccccc;">无</span>
  126. {{# } }}
  127. </script>
  128. <script type="text/html" id="comment">
  129. <div class="commentcount" lay-event="commentCount">
  130. {{# if(d.imgs){ }}
  131. <img src="__STATIC__/img/viewicos.png" alt="">
  132. {{d.title}}
  133. {{# }else{ }}
  134. {{d.title}}
  135. {{# } }}
  136. </div>
  137. </script>
  138. <script type="text/html" id="user_cate">
  139. {{# if(d.user_cate){ }}
  140. <span>{{d.user_cate}}</span>
  141. {{# }else{ }}
  142. <span style="color: #cccccc;">无</span>
  143. {{# } }}
  144. </script>
  145. <script type="text/html" id="house_type">
  146. {{# if(d.house_type){ }}
  147. <span>{{d.house_type}}</span>
  148. {{# }else{ }}
  149. <span style="color: #cccccc;">无</span>
  150. {{# } }}
  151. </script>
  152. <script>
  153. layui.config({
  154. base: '__LAYUI__/',
  155. urlbase: '/sys'
  156. }).extend({
  157. index: 'lib/index'
  158. }).use(['index', 'table', 'layedit', 'element'], function() {
  159. var $ = layui.$,
  160. table = layui.table,
  161. element = layui.element,
  162. form = layui.form;
  163. var field = {};
  164. form.on('submit(customer-search)', function (data) {
  165. var keyword = $('.keyword').val();
  166. var type = $('#type').val();
  167. var cate = $('select[name="cate"]').val();
  168. var house_type = $('select[name="house_type"]').val();
  169. var user_cate = $('select[name="user_cate"]').val();
  170. field['keyword'] = keyword;
  171. field['type'] = type;
  172. field['cate'] = cate;
  173. field['house_type'] = house_type;
  174. field['user_cate'] = user_cate;
  175. //执行重载
  176. table.reload('talkskill-table', {
  177. where: field
  178. ,page: {curr:1}
  179. });
  180. });
  181. //事件
  182. var active = {
  183. add: function() {
  184. layer.open({
  185. type: 2,
  186. title:['话术添加', 'color:#333333;background-color:#D8E6F1;'],
  187. content: '{:url("talkskill/talkskilladd")}',
  188. resize: false,
  189. area: ['80%', '80%'],
  190. btn: ['确定', '取消'],
  191. yes: function(index, layero) {
  192. //点击确认触发 iframe 内容中的按钮提交
  193. var submit = layero.find('iframe').contents().find("#talkskill-submit");
  194. submit.click();
  195. }
  196. });
  197. },
  198. // 批量删除
  199. delete: function() {
  200. var data = layui.table.checkStatus('talkskill-table');
  201. if (data.data.length==0) {
  202. layer.msg('请选择要删除的话术', {anim: 6,time: 800});
  203. return false;
  204. } else {
  205. var ids = [];
  206. for (var i = 0; i < data.data.length; i++) {
  207. ids.push(data.data[i].id);
  208. }
  209. layer.confirm('确定要删除么?',{title:['信息', 'color:#333333;background-color:#D8E6F1;'],}, function() {
  210. $.ajax({
  211. url: '{:url("talkskill/talkskill_delete")}',
  212. type: 'post',
  213. data: {ids:ids},
  214. dataType: 'json',
  215. success: function(res) {
  216. // console.log(res)
  217. if(res.code === 0) {
  218. layer.msg(res.msg, {anim: 0,time: 800});
  219. //执行重载
  220. table.reload('talkskill-table');
  221. } else {
  222. layer.msg(res.msg, {anim: 6,time: 800});
  223. }
  224. }
  225. });
  226. });
  227. }
  228. }
  229. };
  230. //话术列表
  231. table.render({
  232. elem: '#talkskill-table',
  233. autoSort: false,
  234. url: "{:url('talkskill/groupTalkskillList')}?type="+{$type}+'&root_id='+{$root_id},
  235. cols: [
  236. [
  237. // {type: 'checkbox',field:'id'},
  238. {
  239. type: 'numbers',
  240. field:'id',
  241. width: 80,
  242. title: '序号',
  243. sort: true
  244. }, {
  245. templet: '#comment',
  246. title: '问题'
  247. }, {
  248. field: 'content',
  249. title: '官方回答'
  250. }, {
  251. field: 'cate1',
  252. title: '场景'
  253. }, {
  254. field: 'cate2',
  255. title: '分类',
  256. templet: '#cate2',
  257. }, {
  258. title: '房屋类型',
  259. templet: '#house_type',
  260. }, {
  261. title: '适用部门',
  262. templet: '#user_cate',
  263. }, {
  264. field: 'use_count',
  265. title: '使用量'
  266. }
  267. // ,{
  268. // title: '操作',
  269. // width: 150,
  270. // align: 'center',
  271. // fixed: 'right',
  272. // toolbar: '#table-talkskill-action'
  273. // }
  274. ]
  275. ],
  276. done:function (res, curr, count) {
  277. $(".layui-table-main tr").each(function (index, val) {
  278. $($(".layui-table-fixed .layui-table-body tbody tr")[index]).height($(val).height());
  279. });
  280. var from = '{$from}';
  281. res.data.forEach(function (item, index) {
  282. if (from == 'company') {
  283. // $(".layui-table").find("td[data-field=id]").addClass('layui-hide');
  284. // $(".layui-table").find("td[data-field=6]").addClass('layui-hide');
  285. }
  286. });
  287. },
  288. page: true,
  289. limit: 30,
  290. height: 'full-220',
  291. text: '对不起,加载出现异常!'
  292. });
  293. //监听列表
  294. table.on('tool(talkskill-table)', function(obj) {
  295. var data = obj.data;
  296. if(obj.event === 'talkskill-edit') {
  297. layer.open({
  298. type: 2,
  299. title:['话术编辑', 'color:#333333;background-color:#D8E6F1;'],
  300. content: "{:url('talkskill/talkskilldetail')}?id=" + data.id,
  301. resize: false,
  302. area: ['80%', '80%'],
  303. btn: ['确定', '取消'],
  304. yes: function(index, layero) {
  305. //点击确认触发 iframe 内容中的按钮提交
  306. var submit = layero.find('iframe').contents().find("#talkskill-submit");
  307. submit.click();
  308. }
  309. });
  310. }else if(obj.event === 'talkskill-del') {
  311. layer.confirm('确定删除?',{title:['信息', 'color:#333333;background-color:#D8E6F1;'],}, function(index) {
  312. $.ajax({
  313. url: "{:url('talkskill/talkskilldel')}?id=" + data.id,
  314. type: 'post'
  315. });
  316. obj.del();
  317. layer.close(index);
  318. table.reload('talkskill-table');
  319. });
  320. } if(obj.event === 'commentCount') {
  321. layer.open({
  322. type: 2,
  323. title:['话术详情', 'color:#333333;background-color:#D8E6F1;'],
  324. content: "{:url('talkskill/talkskillview')}?id=" + data.id+'&root_id='+"{$root_id}",
  325. resize: false,
  326. area: ['80%', '80%'],
  327. })
  328. }
  329. });
  330. table.on('checkbox(talkskill-table)', function(obj){
  331. var arrlist = table.checkStatus('talkskill-table').data;
  332. if(arrlist.length>0){
  333. $('.deletebtn').show();
  334. }else{
  335. $('.deletebtn').hide();
  336. }
  337. });
  338. $('.layui-btn.layuiadmin-btn').on('click', function() {
  339. var type = $(this).data('type');
  340. active[type] ? active[type].call(this) : '';
  341. });
  342. });
  343. </script>
  344. {/block}