special_material.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. {extend name="public/container"}
  2. {block name="content"}
  3. <div class="layui-fluid">
  4. <div class="layui-card">
  5. <div class="layui-card-header">关联专题</div>
  6. <div class="layui-card-body">
  7. <div class="layui-row layui-col-space15">
  8. <div class="layui-col-md12">
  9. <div class="layui-btn-group">
  10. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" data-type="add" onclick="action.open_add('关联专题')">
  11. <i class="layui-icon">&#xe608;</i>关联专题
  12. </button>
  13. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" data-type="refresh" onclick="window.location.reload()">
  14. <i class="layui-icon">&#xe669;</i>刷新
  15. </button>
  16. </div>
  17. <table class="layui-hide" id="List" lay-filter="List"></table>
  18. <input type="hidden" id="check_source_tmp" name="check_source_tmp"/>
  19. <script type="text/html" id="image">
  20. <img style="cursor: pointer;" height="50" lay-event='open_image' src="{{d.image}}">
  21. </script>
  22. <script type="text/html" id="pay_status">
  23. <input type='checkbox' name='pay_status' lay-skin='switch' value="{{d.id}}"
  24. lay-filter='pay_status' lay-text='收费|免费' {{ d.pay_status== 1 ? 'checked' : '' }}>
  25. </script>
  26. <script type="text/html" id="is_light">
  27. {{# if(d.is_light==1){ }}
  28. 轻专题
  29. {{# }else{ }}
  30. 普通专题
  31. {{# }; }}
  32. </script>
  33. <script type="text/html" id="act">
  34. <button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event='delect'>
  35. <i class="layui-icon">&#xe640;</i>删除
  36. </button>
  37. </script>
  38. </div>
  39. </div>
  40. </div>
  41. </div>
  42. </div>
  43. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  44. {/block}
  45. {block name="script"}
  46. <script>
  47. var $ = layui.jquery;
  48. var layer = layui.layer;
  49. var id = "{$id}", special_type = "{$special_type}", order = "{$order}";
  50. //实例化form
  51. layList.form.render();
  52. //加载列表
  53. layList.tableList({o:'List', done:function () {}},"{:Url('get_special_sure_list')}?id=" + id + "&order=" + order,function (){
  54. return [
  55. {field: 'id', title: '编号', width:'6%',align: 'center'},
  56. {field: 'types', title: '类型',align: 'center'},
  57. {field: 'is_light', title: '专题类别',templet:'#is_light',align:'center'},
  58. {field: 'title', title: '专题标题',align: 'center'},
  59. {field: 'image', title: '封面',templet:'#image',align: 'center'},
  60. {field: 'sort', title: '排序',sort: true,event:'sort',edit:'sort',align: 'center',width:'10%'},
  61. {field: 'right', title: '操作',align:'center',toolbar:'#act',width:'10%'},
  62. ];
  63. });
  64. //自定义方法
  65. var action= {
  66. //打开新添加页面
  67. open_add: function (title) {
  68. var url="{:Url('special.special_type/special_task')}?special_id="+id+"&special_type={$special_type}";
  69. layer.open({
  70. type: 2 //Page层类型
  71. ,area: ['80%', '90%']
  72. ,title: '关联专题'
  73. ,shade: 0.6 //遮罩透明度
  74. ,maxmin: true //允许全屏最小化
  75. ,anim: 1 //0-6的动画形式,-1不开启
  76. ,content: url,
  77. btn: '确定',
  78. btnAlign: 'c', //按钮居中
  79. closeBtn:1,
  80. yes: function(){
  81. layer.closeAll();
  82. var source_tmp = $("#check_source_tmp").val();
  83. var source_tmp_list = JSON.parse(source_tmp);
  84. var arr=[];
  85. for(var i=0;i<source_tmp_list.length;i++){
  86. arr.push(source_tmp_list[i].id);
  87. }
  88. var ids=arr.join(',');
  89. layList.baseGet(layList.Url({
  90. a: 'add_source_sure',
  91. q: {id: id, ids: ids, special_type: special_type}
  92. }), function (res) {
  93. layList.msg(res.msg, function () {
  94. location.reload();
  95. });
  96. });
  97. }
  98. });
  99. }
  100. };
  101. //快速编辑
  102. layList.edit(function (obj) {
  103. var special_id=obj.data.id,value=obj.value;
  104. switch (obj.field) {
  105. case 'sort':
  106. if (value < 0) return layList.msg('排序不能小于0');
  107. if (value > 99999) return layList.msg('排序不能大于99999');
  108. layList.baseGet(layList.Url({
  109. a: 'update_source_sure',
  110. q: {id: obj.data.id, value: value, field: 'sort'}
  111. }), function (res) {
  112. layList.msg(res.msg);
  113. });
  114. break;
  115. }
  116. });
  117. layList.switch('pay_status', function (odj, value) {
  118. var is_show_value = 0
  119. if (odj.elem.checked == true) {
  120. var is_show_value = 1
  121. }
  122. layList.baseGet(layList.Url({
  123. a: 'update_source_sure',
  124. q: {id: value, value: is_show_value, field: 'pay_status'}
  125. }), function (res) {
  126. layList.msg(res.msg);
  127. });
  128. });
  129. //监听并执行排序
  130. layList.sort(['id','sort'],true);
  131. //点击事件绑定
  132. layList.tool(function (event,data,obj) {
  133. switch (event) {
  134. case 'delect':
  135. var url = layList.U({a: 'del_source_sure', q: {id: data.id,special_id:data.special_id}});
  136. $eb.$swal('delete', function () {
  137. $eb.axios.get(url).then(function (res) {
  138. if (res.status == 200 && res.data.code == 200) {
  139. $eb.$swal('success', res.data.msg);
  140. location.reload();
  141. } else
  142. return Promise.reject(res.data.msg || '删除失败')
  143. }).catch(function (err) {
  144. $eb.$swal('error', err);
  145. });
  146. });
  147. break;
  148. case 'open_image':
  149. parent.$eb.openImage(data.image);
  150. break;
  151. }
  152. })
  153. </script>
  154. {/block}