content.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376
  1. {extend name="public/layout" /} {block name="title"}{$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-tab-brief {
  23. display: flex;
  24. justify-content: space-between;
  25. }
  26. .layui-card .layui-tab-brief .layui-tab-title li.layui-this {
  27. color: #249EFB;
  28. }
  29. .layui-tab-brief>.layui-tab-more li.layui-this:after,
  30. .layui-tab-brief>.layui-tab-title .layui-this:after {
  31. border-bottom: 4px solid #249EFB;
  32. }
  33. .layui-tab-title li {
  34. margin: 0px 5px;
  35. }
  36. .layui-btn-xs,
  37. .layui-btn-xs:hover {
  38. border: 1px solid #249EFB;
  39. background-color: #fff;
  40. color: #249EFB;
  41. padding: 0px 10px;
  42. }
  43. .layui-tab {
  44. display: flex;
  45. }
  46. .layui-tab-title {
  47. flex: 1;
  48. height: 42px;
  49. border-bottom-color: #f6f6f6;
  50. max-width: 1000px;
  51. overflow-x: auto;
  52. overflow-y: hidden;
  53. }
  54. .layui-tab-title::-webkit-scrollbar {
  55. /*滚动条整体样式*/
  56. /*高宽分别对应横竖滚动条的尺寸*/
  57. height: 5px;
  58. }
  59. .layui-tab-title::-webkit-scrollbar-thumb {
  60. /*滚动条里面小方块*/
  61. background: #333333;
  62. }
  63. .layui-tab-title::-webkit-scrollbar-track {
  64. /*滚动条里面轨道*/
  65. background: #fff;
  66. }
  67. .layuiadmin-btn {
  68. margin-right: 20px;
  69. }
  70. .layui-btn-primary {
  71. color: #249EFB;
  72. border: 1px solid #249EFB;
  73. }
  74. </style>
  75. <body>
  76. <div class="layui-fluid">
  77. <div class="layui-card">
  78. <div class="layui-tab layui-tab-brief" style="padding-right: 15px;">
  79. <ul class="layui-tab-title">
  80. {volist name="types" id="vo" key="k"}
  81. <li data-case="{$vo.is_case}" class="switchTab {if condition='$k eq 1'} layui-this {/if}" data-index="{$k}" data-id="{$vo.id}">
  82. {$vo.title}
  83. </li>
  84. {/volist}
  85. </ul>
  86. <button id="hisstyle" class="layui-btn layui-btn-primary hisstyless" data-type="hisstyle">新建分类</button>
  87. </div>
  88. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  89. <div class="layui-form-item">
  90. <div class="layui-inline" style="margin-bottom: 0px;">
  91. <div class="layui-input-inline">
  92. <button id="approves" class="layui-btn layui-btn-primary" data-type="approve">分类管理</button>
  93. {notempty name='types'}
  94. <button id="addMaterial" class="layui-btn layui-btn-primary" data-type="addMaterial">添加素材</button>
  95. {else/}
  96. <button id="" class="layui-btn layui-btn-primary hisstyless" data-type="hisstyless">添加素材</button>
  97. {/notempty}
  98. </div>
  99. </div>
  100. <div style="float:right;">
  101. <div class="layui-inline">
  102. </div>
  103. <div class="layui-inline">
  104. <div class="layui-input-inline">
  105. <input type="text" name="keyword" placeholder="请输入关键词" autocomplete="off"
  106. class="layui-input keyword">
  107. </div>
  108. </div>
  109. <div class="layui-inline" style="margin-right:0;">
  110. <button class="layui-btn layuiadmin-btn-useradmin searchBtn submitbtn" lay-submit lay-filter="search">
  111. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  112. </button>
  113. </div>
  114. </div>
  115. </div>
  116. </div>
  117. <div class="layui-card-body">
  118. <table lay-filter="talkskill-table" id="talkskill-table"></table>
  119. </div>
  120. </div>
  121. </div>
  122. </body>
  123. {/block} {block name="js"}
  124. <script type="text/html" id="table-evidence-action">
  125. <a class="layui-btn layui-btn-xs" lay-event="evi-details">编辑</a>
  126. <a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="evidence-delete">删除</a>
  127. </script>
  128. <script type="text/html" id="employee_name">
  129. {{# if(d.e_name){ }}
  130. <span>{{d.e_name}}</span>
  131. {{# }else{ }}
  132. <span style="color: #cccccc;">无</span>
  133. {{# } }}
  134. </script>
  135. <script type="text/html" id="cover">
  136. {{# if(d.covers != ''){ }}
  137. <img src="{{d.covers}}" style="width: 30px;height: 30px;"/>
  138. {{# }else{ }}
  139. <span style="color: #cccccc;">无</span>
  140. {{# } }}
  141. </script>
  142. <script type="text/html" id="cate3_name">
  143. {{# if(d.cate3_name){ }}
  144. <span>{{d.cate3_name}}</span>
  145. {{# }else{ }}
  146. <span style="color: #cccccc;">无</span>
  147. {{# } }}
  148. </script>
  149. <script type="text/html" id="cate2_name">
  150. {{# if(d.cate2_name){ }}
  151. <span>{{d.cate2_name}}</span>
  152. {{# }else{ }}
  153. <span style="color: #cccccc;">无</span>
  154. {{# } }}
  155. </script>
  156. <script>
  157. layui.config({
  158. base: '__LAYUI__/',
  159. urlbase: '/sys'
  160. }).extend({
  161. index: 'lib/index'
  162. }).use(['index', 'table', 'layedit', 'element'], function () {
  163. var $ = layui.$,
  164. table = layui.table,
  165. element = layui.element,
  166. form = layui.form;
  167. //默认标签
  168. var default_label = '{$default_type}';
  169. var url = "{:url('smartScreen/list')}?pid="+default_label;
  170. // tab切换
  171. $('.switchTab').click((e) => {
  172. active.getTable(e.target.dataset)
  173. })
  174. //搜索
  175. $('.searchBtn').click(function(){
  176. var keyword = $('.keyword').val();
  177. table.reload('talkskill-table', {where:{label:default_label,keyword:keyword}});
  178. });
  179. //事件
  180. var active = {
  181. getTable: function (info) {
  182. default_label = info.id;
  183. table.reload('talkskill-table', {where:{label:default_label}});
  184. },
  185. saveLabel: function () {
  186. }
  187. };
  188. document.onkeydown=function(event){
  189. var e = event || window.event || arguments.callee.caller.arguments[0];
  190. if(e && e.keyCode==13){
  191. $(".submitbtn").trigger("click");
  192. }
  193. };
  194. //新建标签
  195. $('.hisstyless').click(function () {
  196. layer.open({
  197. type: 2,
  198. title: '新建标签',
  199. content: "{:url('smartScreen/cate1')}?type=" + '{$type}',
  200. area: ['40%', '40%'],
  201. btn: ['确定', '取消'],
  202. yes: function (index, layero) {
  203. var title = layero.find('iframe').contents().find("#title");
  204. var title_val = title.val();
  205. var res = 1;
  206. if(title_val == '') {
  207. layer.msg('请输入标签名称', {anim: 6,time:1000});
  208. res = 0;
  209. }
  210. if(title_val.length > 20) {
  211. layer.msg('标签名称超长', {anim: 0,time: 1000});
  212. res = 0;
  213. }
  214. if (res==1) {
  215. //点击确认触发 iframe 内容中的按钮提交
  216. var submit = layero.find('iframe').contents().find("#spellgroup-submit");
  217. submit.click();
  218. }
  219. },
  220. end:function(){
  221. location.reload();
  222. }
  223. });
  224. })
  225. window.reloadPageFunc = function() {
  226. location.reload();
  227. }
  228. window.addnewtagfunc = function() {
  229. layer.open({
  230. type: 2,
  231. title: '新建标签',
  232. content: "{:url('smartScreen/cate1')}?type=" + '{$type}',
  233. area: ['40%', '40%'],
  234. btn: ['确定', '取消'],
  235. yes: function (index, layero) {
  236. var title = layero.find('iframe').contents().find("#title");
  237. var title_val = title.val();
  238. var res = 1;
  239. if (title_val == '') {
  240. layer.msg('请输入标签名称', { anim: 6, time: 1000 });
  241. res = 0;
  242. }
  243. if (title_val.length > 20) {
  244. layer.msg('标签名称超长', { anim: 0, time: 1000 });
  245. res = 0;
  246. }
  247. if (res == 1) {
  248. //点击确认触发 iframe 内容中的按钮提交
  249. var submit = layero.find('iframe').contents().find("#spellgroup-submit");
  250. submit.click();
  251. }
  252. },
  253. end:function(){
  254. location.reload();
  255. }
  256. });
  257. }
  258. $('#approves').click(function () {
  259. layer.open({
  260. type: 2,
  261. title: '分类管理',
  262. content: "{:url('smartScreen/cate2')}?pid=" + default_label+'&type='+ '{$type}',
  263. area: ['75%', '75%'],
  264. // btn: ['确定', '取消'],
  265. yes: function (index, layero) {
  266. //点击确认触发 iframe 内容中的按钮提交
  267. var submit = layero.find('iframe').contents().find("#spellgroup-submit");
  268. submit.click();
  269. setTimeout(() => {
  270. location.reload();
  271. },1000)
  272. }
  273. });
  274. })
  275. //添加素材
  276. $('#addMaterial').click(function () {
  277. layer.open({
  278. type: 2,
  279. title: '添加素材',
  280. content: "{:url('smartScreen/addMaterial')}?pid=" + default_label+'&type='+ '{$type}',
  281. area: ['75%', '75%'],
  282. // btn: ['确定', '取消'],
  283. yes: function (index, layero) {
  284. //点击确认触发 iframe 内容中的按钮提交
  285. var submit = layero.find('iframe').contents().find("#spellgroup-submit");
  286. submit.click();
  287. },
  288. end: function() {
  289. table.reload('talkskill-table', {where:{label:default_label}});
  290. }
  291. });
  292. })
  293. //表格
  294. //活动列表
  295. table.render({
  296. elem: '#talkskill-table',
  297. url: url,
  298. height: 'full-160',
  299. cols: [
  300. [
  301. { align: 'center', field: 'title', title: '标题', templet: '#titletpl' },
  302. { align: 'center', field: 'cate2_name', title: '分类', templet: '#cate2_name' },
  303. { align: 'center', field: 'cate3_name', title: '标签', templet: '#cate3_name' },
  304. { align: 'center', field: 'type', title: '类别', templet: '#', },
  305. { align: 'center', field: 'leixing', title: '类型', templet: '#', },
  306. { align: 'center', field: 'cover', templet: '#cover', title: '封面图',},
  307. { align: 'center', field: 'e_name', templet: '#employee_name', title: '上传人', },
  308. { align: 'center', field: 'addtime', title: '添加时间', templet: '#start_datetpl', },
  309. { align: 'center', title: '操作', width: '20%', align: 'center', toolbar: '#table-evidence-action', fixed: 'right' }
  310. ]
  311. ],
  312. page: true,
  313. limit: 10,
  314. text: '对不起,加载出现异常!'
  315. });
  316. //监听列表
  317. table.on('tool(talkskill-table)', function (obj) {
  318. var data = obj.data;
  319. if (obj.event === 'evidence-delete') {
  320. layer.confirm('确定要删除此数据么?', { title: ['信息', 'color:#333333;background-color:#D8E6F1;'], }, function () {
  321. $.get("{:url('smartScreen/del')}?id=" + data.id, function (res) {
  322. if (res.code === 0) {
  323. layer.msg(res.msg, { anim: 0, time: 400 }, function () {
  324. table.reload('talkskill-table', {where:{label:default_label}});
  325. });
  326. } else {
  327. layer.msg(res.msg, { anim: 6, time: 400 });
  328. }
  329. });
  330. });
  331. } else if (obj.event === 'evi-details') {
  332. layer.open({
  333. type: 2,
  334. title: ['详情编辑', 'color:#333333;background-color:#D8E6F1;'],
  335. content: "{:url('smartScreen/edit')}?id=" + data.id+'&pid='+default_label,
  336. resize: false,
  337. area: ['80%', '80%'],
  338. end: function() {
  339. scrollPostion(scrollTopNum);
  340. setTimeout(() => {
  341. $('.layui-table-main').scroll(function (e) {
  342. scrollTopNum = $(this).scrollTop();
  343. console.log(scrollTopNum, '<<<记录位置');
  344. })
  345. }, 800)
  346. }
  347. });
  348. }
  349. });
  350. });
  351. </script>
  352. {/block}