special.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. layui.use([ 'laypage', 'layer', 'laydate', 'table', 'element','form','upload'], function(){
  2. var laypage = layui.laypage //分页
  3. ,$ = layui.jquery
  4. ,layer = layui.layer //弹层
  5. ,laydate = layui.laydate
  6. ,table = layui.table //表格
  7. ,form = layui.form
  8. ,upload = layui.upload;
  9. var tableIds = 'videolist'; //表格ID
  10. //第一个实例
  11. table.render({
  12. elem: '#'+tableIds
  13. ,url: '/special/indexform' //数据接口
  14. ,where:{token:csrfToken}
  15. ,method:'post'
  16. ,page: true //开启分页
  17. ,height:600
  18. ,text:'数据加载中'
  19. ,id:'tablerReload'
  20. ,cols: [[ //表头
  21. {type:'numbers',title:'序号',width:50},
  22. {field: 'title', title: '标题', align:'center'},
  23. {field: 'url', title: '地址', align:'center'},
  24. {field: 'img', title: '图片',width:200, align:'center',templet:function(d){
  25. return '<img class="layui_magnify" src="'+d.img+'"/>'
  26. }}
  27. // {field: 'sort', title: '排序',width:100, event:'sortData', align:'center',sort: true,templet:"#sortBox"}
  28. ,{field: 'create_at', title: '添加时间',width:150, align:'center'}
  29. ,{field: 'is_show', title: '审核',align:'center',width:100, templet:function (d) {
  30. if(d.is_show == 2){
  31. return '<input type="checkbox" value="'+d.id+'" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="|">'
  32. } else {
  33. return '<input type="checkbox" checked value="'+d.id+'" name="open" lay-skin="switch" lay-filter="switchTest" lay-text="|">'
  34. }
  35. }}
  36. ,{fixed: 'right',title:'操作', width: 165, align:'center', toolbar: '#operate'}
  37. ]]
  38. });
  39. // 列表点击放大图片
  40. $('.layui-table-main').on('click','.layui_magnify', function(){
  41. var _src = $(this).attr('src');
  42. layui.layer.open({
  43. type: 1,
  44. title: false, //是否显示标题
  45. area: ['95%', '55%'],
  46. shade: 0.6, //透明度
  47. closeBtn: 1, //按钮 1有,0无
  48. shadeClose: true,
  49. content: '<img style="width:100%;height:100%" src="'+_src+'">',
  50. });
  51. });
  52. //监听指定开关
  53. form.on('switch(switchTest)', function(data){
  54. layer.confirm('确定要修改此操作吗?',{btn: ['确定', '取消']},function () {
  55. $.post('/special/indexdelandsow',{id:data.value,type:'show'},function (data) {
  56. layer.msg(data.msg);
  57. table.reload('tablerReload');
  58. })
  59. },function (aa) {
  60. table.reload('tablerReload'); //重新加载
  61. })
  62. });
  63. //列表操作
  64. table.on('tool('+tableIds+')', function(obj){
  65. var layEvent = obj.event,
  66. data = obj.data;
  67. if(layEvent === 'sortData'){ //修改排序
  68. layer.prompt({
  69. formType: 2
  70. ,title: '排序特色类型:<span style="color:red">'+data.name+'</span>'
  71. ,value: data.sort
  72. }, function(value, index){
  73. $.post('/special/indexdelshow',{id:data.id,type:'sort',sort:value},function (data) {
  74. layer.msg(data.msg);
  75. table.reload('tablerReload');
  76. })
  77. });
  78. }else if(layEvent === 'del') {
  79. layer.confirm('您确定要删除吗?',{ btn: ['确定', '取消']},function () {
  80. $.post('/special/indexdelandsow',{id:data.id,type:'del'},function (data) {
  81. layer.msg(data.msg);
  82. table.reload('tablerReload');
  83. })
  84. })
  85. } else if(layEvent === 'edit'){
  86. var index = layer.open({
  87. type: 2,
  88. title: '修改',
  89. area:['800px','500px'],
  90. content: '/special/indexedit?id='+data.id,
  91. end:function () {
  92. table.reload('tablerReload'); //重新加载
  93. }
  94. });
  95. }
  96. });
  97. //添加图片上传
  98. upload.render({
  99. elem: '#test1'
  100. ,url: '/house/createimg'
  101. ,data:{token:csrfToken}
  102. ,field:'img'
  103. ,size:1500 //限制上传图片的大小,单位为KB
  104. ,exts: 'png|jpg|jpeg' //只允许上传压缩文件
  105. ,auto:false
  106. ,bindAction:'#addcity'
  107. ,choose: function(obj){
  108. obj.preview(function(index, file, result){
  109. $('#breviary_img').attr('src', result); //图片链接(base64)
  110. });
  111. }
  112. });
  113. // 图片放大浏览
  114. $('.layui_magnify').click(function(){
  115. var _src = $(this).attr('src');
  116. layui.layer.open({
  117. type: 1,
  118. title: false, //是否显示标题
  119. area: ['60%', '80%'],
  120. shade: 0.6, //透明度
  121. closeBtn: 1, //按钮 1有,0无
  122. shadeClose: true,
  123. content: '<img style="width:100%;height:100%" src="'+_src+'">',
  124. });
  125. })
  126. // 新增
  127. var $ = layui.$, active = {
  128. addData: function(){ //获取选中数据
  129. var index = layui.layer.open({
  130. type: 2,
  131. title: '添加',
  132. closeBtn: 1, //不显示关闭按钮
  133. area: ['900px','600px'],
  134. content: '/special/indexadd' //iframe的url,no代表不显示滚动条
  135. ,success:function (layero, index) {
  136. },
  137. end:function () {
  138. table.reload('tablerReload');
  139. }
  140. });
  141. },
  142. reload:function(){//搜索
  143. var form = pfgs_serialize($('form'));
  144. var name = '';
  145. var house_name = '';
  146. if(form.input_house == 'name'){
  147. name = form.input_house_text;
  148. } else if(form.input_house == 'house_name'){
  149. house_name = form.input_house_text;
  150. }
  151. table.reload('tablerReload',{
  152. where:{
  153. title:name,
  154. house_name:house_name,
  155. city:form.input_city,
  156. type_name:form.type_name
  157. }
  158. })
  159. },
  160. };
  161. $('.demoTable .layui-btn').on('click', function(){
  162. var type = $(this).data('type');
  163. active[type] ? active[type].call(this) : '';
  164. });
  165. //
  166. // $('.The_house').focus(function(){
  167. // indexOpen = parent.layui.layer.open({
  168. // type: 2,
  169. // title: '选择需要添加的楼盘特色类型',
  170. // area: ['','100%'],
  171. // content: '/publicuse/ctype',
  172. // success:function (layero, index) {
  173. // },
  174. // end:function(){
  175. // }
  176. // });
  177. // parent.layui.layer.full(indexOpen);
  178. // //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作)
  179. // $(window).on("resize",function(){
  180. // parent.layui.layer.full(indexOpen);
  181. // })
  182. // })
  183. // 日期
  184. laydate.render({
  185. elem: '#s_date'
  186. });
  187. //添加页面提交数据
  188. form.on('submit(add)', function(data){
  189. var formData = new FormData($('form')[0]);
  190. layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示
  191. $.ajax({
  192. type : "post",
  193. url : "/special/indexaddform",
  194. data : formData,
  195. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  196. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  197. error : function(request) {
  198. layer.close(index);
  199. layer.msg("请联系管理员");
  200. },
  201. success : function(data) {
  202. if(data.data != null){
  203. layer.msg(ReturnInfo(data.data),{icon:5});
  204. return ;
  205. }
  206. layer.msg(data.msg);
  207. parent.layer.close(oindex); //再执行关闭
  208. }
  209. });
  210. return false;
  211. });
  212. form.on('submit(edit)', function(data){
  213. var index = layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示
  214. var formData = new FormData($('form')[0]);
  215. $.ajax({
  216. type : "post",
  217. url : "/special/indexeditform",
  218. data : formData,
  219. contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件
  220. processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data
  221. error : function(request) {
  222. layer.close(index);
  223. layer.msg("请联系管理员");
  224. },
  225. success : function(data) {
  226. if(data.data != null){
  227. layer.msg(ReturnInfo(data.data),{icon:5});
  228. return ;
  229. }
  230. layer.msg(data.msg);
  231. parent.layer.close(oindex); //再执行关闭
  232. }
  233. });
  234. return false;
  235. });
  236. })