live_goods.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. {extend name="public/container"}
  2. {block name="content"}
  3. <div class="layui-fluid" style="background: #fff">
  4. <div class="layui-row layui-col-space15" id="app">
  5. <div class="layui-col-md12">
  6. <div class="layui-card">
  7. <div class="layui-card-body">
  8. <form class="layui-form layui-form-pane" action="">
  9. <div class="layui-form-item">
  10. <div class="layui-inline">
  11. <label class="layui-form-label">专题名称</label>
  12. <div class="layui-input-block">
  13. <input type="text" name="store_name" class="layui-input" placeholder="请输入专题名称,关键字,编号">
  14. </div>
  15. </div>
  16. <div class="layui-inline">
  17. <label class="layui-form-label">是否显示</label>
  18. <div class="layui-input-block">
  19. <select name="is_show">
  20. <option value="">全部</option>
  21. <option value="1">显示</option>
  22. <option value="0">隐藏</option>
  23. </select>
  24. </div>
  25. </div>
  26. <div class="layui-inline">
  27. <div class="layui-input-inline">
  28. <button class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="search" lay-filter="search">
  29. <i class="layui-icon layui-icon-search"></i>搜索</button>
  30. </div>
  31. </div>
  32. </div>
  33. </form>
  34. </div>
  35. </div>
  36. </div>
  37. <!--产品列表-->
  38. <div class="layui-col-md12">
  39. <div class="layui-card">
  40. <div class="layui-card-body">
  41. <div class="alert alert-info" role="alert">
  42. 列表[排序]可进行快速修改,双击或者单击进入编辑模式,失去焦点可进行自动保存
  43. <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  44. </div>
  45. <div class="layui-btn-container">
  46. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" data-type="add" onclick="action.open_special_add('关联专题')">
  47. <i class="layui-icon">&#xe608;</i>关联专题
  48. </button>
  49. <button class="layui-btn layui-btn-normal layui-btn-sm" onclick="window.location.reload()"><i class="layui-icon layui-icon-refresh"></i> 刷新</button>
  50. </div>
  51. <table class="layui-hide" id="List" lay-filter="List"></table>
  52. <input type="hidden" id="check_source_tmp" name="check_source_tmp"/>
  53. <script type="text/html" id="is_pink">
  54. {{# if(d.is_pink){ }}
  55. <span class="layui-badge layui-bg-green">拼团开启</span>
  56. {{# }else{ }}
  57. <span class="layui-badge">拼团关闭</span>
  58. {{# } }}
  59. </script>
  60. <script type="text/html" id="gis_show">
  61. <input type='checkbox' name='live_goods_id' lay-skin='switch' value="{{d.live_goods_id}}" lay-filter='gis_show' lay-text='显示|隐藏' {{ d.gis_show == 1 ? 'checked' : '' }}>
  62. </script>
  63. <script type="text/html" id="image">
  64. <img style="cursor: pointer;width: 80px;height: 40px;" lay-event='open_image' src="{{d.image}}">
  65. </script>
  66. <script type="text/html" id="act">
  67. <button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event='delect'><i class="fa fa-trash"></i> 移除</button>
  68. </script>
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. </div>
  74. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  75. {/block}
  76. {block name="script"}
  77. <script>
  78. //实例化form
  79. layList.form.render();
  80. layList.date({elem:'#start_time',type:'datetime'});
  81. layList.date({elem:'#end_time',type:'datetime'});
  82. var special_id="{$special_id}";
  83. //加载列表
  84. layList.tableList({o:'List', done:function () {}},"{:Url('live_goods_list',['live_id'=>$live_id])}",function (){
  85. return [
  86. {field: 'live_goods_id', title: '编号', sort: true,event:'live_goods_id',width:'8%',align: 'center'},
  87. {field: 'title', title: '专题名称',align: 'center'},
  88. {field: 'subject_name', title: '所属分类',align: 'center'},
  89. {field: 'image', title: '封面图',templet:'#image',align: 'center'},
  90. {field: 'gsort', title: '排序',sort: true,event:'gsort',edit:'gsort',align: 'center'},
  91. {field: 'gis_show', title: '是否显示',templet:'#gis_show',align: 'center'},
  92. {field: 'right', title: '操作',align:'center',toolbar:'#act',width:'10%'},
  93. ];
  94. });
  95. //下拉框
  96. $(document).click(function (e) {
  97. $('.layui-nav-child').hide();
  98. })
  99. function dropdown(that){
  100. var oEvent = arguments.callee.caller.arguments[0] || event;
  101. oEvent.stopPropagation();
  102. var offset = $(that).offset();
  103. var top=offset.top-$(window).scrollTop();
  104. var index = $(that).parents('tr').data('index');
  105. $('.layui-nav-child').each(function (key) {
  106. if (key != index) {
  107. $(this).hide();
  108. }
  109. })
  110. if($(document).height() < top+$(that).next('ul').height()){
  111. $(that).next('ul').css({
  112. 'padding': 10,
  113. 'top': - ($(that).parent('td').height() / 2 + $(that).height() + $(that).next('ul').height()/2),
  114. 'min-width': 'inherit',
  115. 'position': 'absolute'
  116. }).toggle();
  117. }else{
  118. $(that).next('ul').css({
  119. 'padding': 10,
  120. 'top':$(that).parent('td').height() / 2 + $(that).height(),
  121. 'min-width': 'inherit',
  122. 'position': 'absolute'
  123. }).toggle();
  124. }
  125. }
  126. //自定义方法
  127. var action= {
  128. set_value: function (field, id, value, model_type) {
  129. layList.baseGet(layList.Url({
  130. c:'special.special_type',
  131. a: 'set_value',
  132. q: {field: field, id: id, value: value, model_type:model_type}
  133. }), function (res) {
  134. layList.msg(res.msg);
  135. });
  136. },
  137. //打开新添加页面
  138. open_add: function (url,title) {
  139. layer.open({
  140. type: 2 //Page层类型
  141. ,area: ['100%', '100%']
  142. ,title: title
  143. ,shade: 0.6 //遮罩透明度
  144. ,maxmin: true //允许全屏最小化
  145. ,anim: 1 //0-6的动画形式,-1不开启
  146. ,content: url
  147. ,end:function() {
  148. location.reload();
  149. }
  150. });
  151. },
  152. //打开新添加页面
  153. open_special_add: function (title) {
  154. var url="{:Url('special.special_type/special_task')}?special_id="+"{$special_id}"+"&special_type=4";
  155. layer.open({
  156. type: 2 //Page层类型
  157. ,area: ['80%', '90%']
  158. ,title: '关联专题'
  159. ,shade: 0.6 //遮罩透明度
  160. ,maxmin: true //允许全屏最小化
  161. ,anim: 1 //0-6的动画形式,-1不开启
  162. ,content: url,
  163. btn: '确定',
  164. btnAlign: 'c', //按钮居中
  165. closeBtn:1,
  166. yes: function(){
  167. layer.closeAll();
  168. var source_tmp = $("#check_source_tmp").val();
  169. var source_tmp_list = JSON.parse(source_tmp);
  170. var arr=[];
  171. for(var i=0;i<source_tmp_list.length;i++){
  172. arr.push(source_tmp_list[i].id);
  173. }
  174. var ids=arr.join(',');
  175. layList.baseGet(layList.Url({
  176. a: 'add_live_special',
  177. q: {special_id: special_id, ids: ids, type: 0}
  178. }), function (res) {
  179. layList.msg(res.msg, function () {
  180. location.reload();
  181. });
  182. });
  183. }
  184. });
  185. }
  186. };
  187. //查询
  188. layList.search('search',function(where){
  189. layList.reload(where,true);
  190. });
  191. layList.switch('gis_show',function (odj,value) {
  192. var is_show_value = 0
  193. if(odj.elem.checked==true){
  194. var is_show_value = 1
  195. }
  196. action.set_value('is_show',value,is_show_value,'live_goods');
  197. });
  198. //快速编辑
  199. layList.edit(function (obj) {
  200. var id=obj.data.live_goods_id,value=obj.value;
  201. switch (obj.field) {
  202. case 'gsort':
  203. if(value < 0) return layList.msg('排序不能小于0');
  204. action.set_value('sort',id,value,'live_goods');
  205. break;
  206. case 'gfake_sales':
  207. action.set_value('fake_sales',id,value,'live_goods');
  208. break;
  209. }
  210. });
  211. //监听并执行排序
  212. layList.sort(['live_goods_id','gsort'],true);
  213. //点击事件绑定
  214. layList.tool(function (event,data,obj) {
  215. switch (event) {
  216. case 'delect':
  217. var url=layList.U({c:'special.special_type',a:'set_value',q:{id:data.live_goods_id, field:'is_delete',value:1,model_type:'live_goods'}});
  218. $eb.$swal('delete',function(){
  219. $eb.axios.get(url).then(function(res){
  220. if(res.status == 200 && res.data.code == 200) {
  221. $eb.$swal('success',res.data.msg);
  222. obj.del();
  223. }else
  224. return Promise.reject(res.data.msg || '删除失败')
  225. }).catch(function(err){
  226. $eb.$swal('error',err);
  227. });
  228. })
  229. break;
  230. case 'open_image':
  231. $eb.openImage(data.image);
  232. break;
  233. }
  234. })
  235. </script>
  236. {/block}