var delFiles = []; //用于删除图片 var filesContainer= {}; //存储最终要上传的图片 var files ; //存储选择图片的数量 var fContainer= {}; //用于传父级传变量,格式 parent.fContainer var depositImg =[];//用于存放弹窗图片 layui.use(['form','layer','laydate','table','upload'],function(){ var form = layui.form, layer = layui.layer, $ = layui.jquery, table = layui.table, upload = layui.upload; var tableIds = 'newsList'; //楼盘列表 var tableIns = table.render({ elem: '#'+tableIds, url : '/newsknowledge/homeform', cellMinWidth : 95, method:'post', page : true, height : 600, limit : 20, id:'tablerReload', cols : [[ {type: "checkbox", width:50}, {type:'numbers'}, {field: 'id', title: 'ID', width:80, align:"center",sort: true}, {field: 'subject', title: '标题',align:'center',templet:function(d){ // return ''+d.subject+'' return ''+d.subject+'' }}, {field: 'name', title: '栏目',width:120, align:'center'}, {field: 'clicks', title: '点击数',width:100, edit: 'text',align:'center',clicks: true,templet:"#clicksBox"}, {field: 'sort', title: '排序',width:100, edit: 'text',align:'center',clicks: true,templet:"#sortBox"}, {field: 'true_click', title: '真实点击数',width:120, align:'center',sort: true}, {field: 'create_at', title: '添加时间',width:120, event:'sortData', align:'center',sort: true}, {field: 'is_show', title: '审核',width:75, event:'housesNews', align:'center',templet:function (d) { if(d.is_show == 2){ return '' } else { return '' } }}, {title: '操作', width:100, templet:'#housesListBar',fixed:"right",align:"center"} ]] }); table.reload('tablerReload'); //重新加载 //加载省数据 function loadProvince() { $.ajax({ url : '/dictionarynews/pidlist', type : 'post', data : {'pid':0},//这里使用json对象 success : function(data){ var areaData = data.data; var proHtml = ''; $.each(areaData,function (k,v) { proHtml += ''; }) //初始化省数据 $('select[name=province]').append(proHtml); form.render(); }, fail:function(){ } }); } loadProvince(); form.on('select(province)',function (data) { $.post('/dictionarynews/pidlist',{'pid':data.value},function (data) { $('select[name=label_id]').html(''); var proHtml = ''; if(data.code == 200){ var areaData = data.data; for (var i = 0; i < areaData.length; i++) { proHtml += ''; } //初始化省数据 $('select[name=label_id]').append(proHtml); } form.render(); }) }) //表格头部操作菜单 var $ = layui.$, active = { addData: function(){ //获取选中数据 var index = layui.layer.open({ title : "添加资讯", type : 2, area:['80%','100%'], maxmin: true, content : "/newsknowledge/create", end:function () { table.reload('tablerReload'); } }) layui.layer.full(index); }, reload:function () { var form = pfgs_serialize($('form')); console.log(form); var name = ''; var id = ''; if(form.input_house == 'name'){ name = form.input_house_text; } else if(form.input_house == 'id'){ id = form.input_house_text; } var city = ''; if(form.province != ''){ city = form.province; } if(form.label_id != '' && typeof form.label_id != 'undefined'){ //父类存在 子类不存在的情况 city = form.label_id; } table.reload('tablerReload',{ where:{ id:id, name:name, city:city }, page:{ curr:1 } }) } }; //监听指定开关 form.on('switch(switchTest)', function(data){ var state = ''; if(data.elem.name == 1){ state = 2; }else if(data.elem.name == 2){ state = 1; } layer.confirm('确定要修改此操作吗?',{btn: ['确定', '取消']},function () { $.post('/newsknowledge/editfrom',{id:data.value,is_show:state},function (data) { if(data.data != null){ layer.msg(ReturnInfo(data.data),{icon:5}); return false; } layer.msg(data.msg); }) },function (aa) { table.reload('tablerReload'); //重新加载 }) }); $('.demoTable .layui-btn').on('click', function(){ var type = $(this).data('type'); active[type] ? active[type].call(this) : ''; }); /* 列表操作 edit 修改后执行 2018.7.24*/ table.on('edit('+tableIds+')', function(obj){ var data = obj.data; var event = obj.field; switch (event){ case 'clicks': $.post("/newsknowledge/editfrom",{id:data.id,clicks:obj.value,},function (data) { if(data.data != null){ layer.msg(ReturnInfo(data.data),{icon:5}); return false; } layer.msg(data.msg) }) break; case 'sort': $.post("/newsknowledge/editfrom",{id:data.id,sort:obj.value,},function (data) { if(data.data != null){ layer.msg(ReturnInfo(data.data),{icon:5}); return false; } layer.msg(data.msg) }) break; } }) //表格右边操作栏目 table.on('tool('+tableIds+')', function(obj){ var data = obj.data; if(obj.event === 'edit'){ //编辑操作 var index = layui.layer.open({ title : "编辑资讯", type : 2, area:['','100%'], maxmin: true, content : "/newsknowledge/edit?id="+data.id }) layui.layer.full(index); } }); //添加and修改图片 upload.render({ elem: '#upload_edit', url: '/news/newseditform' ,data:{token:csrfToken} ,multiple: true ,number:3 ,auto:false ,size:1000 //限制上传图片的大小,单位为KB ,exts: 'png|jpg|jpeg' //只允许上传压缩文件 ,bindAction:'#addcity' ,choose: function(obj){ //将每次选择的文件追加到文件队列 files = obj.pushFile(); //预读本地文件,如果是多文件,则会遍历。(不支持ie8/9) obj.preview(function(index, file, result){ depositImg.push({src:result,data:file}); filesContainer[index] = file; $('#popup_1_imgBox').append('
'+ file.name +'
'); }); } }); layer.photos({ photos: '#demo2', closeBtn: 1 ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数) }); // 正文上传事件 $('#popup_2').on('click','.layui-upload-img',function(){ // 处理选中与取消 $(this).find('.layui_w_triangle').toggle('30',function(){ $(this).parent().attr('data-id','pitch') if($(this).is(":hidden")){ $(this).parent().removeAttr('data-id'); var _fsrc = $(this).parents('.layui-upload-img').find('img.pitch_img').attr('src'); for(i in depositImg){ if(depositImg[i] == _fsrc){ depositImg.splice(i, 1); //取消选择时,从数组中删除 } } }else{ $(this).parent().attr('data-id','pitch') var _fsrc = $(this).parents('.layui-upload-img').find('img.pitch_img').attr('src'); depositImg.push(_fsrc); //选中的图片,把src地址存入数组 } }); }) // 封面图功能 $('.upload_box').on('click',function(){ var txtData = UE.getEditor('editor_content').getContent(); var imgReg = /|\/>)/gi; //匹配图片(g表示匹配所有结果i表示区分大小写) var srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i; //匹配src属性 var txtImg = txtData.match(imgReg); var index = layer.open({ type: 2, title:'选择封面', skin: 'layui-layer-rim', //加上边框 area: ['650px', '500px'], //宽高 content : "/news/popup", success: function(layero, index){ var poupBody = layer.getChildFrame('body', index); //获取当前弹窗的doc for(i in txtImg){ var _src = txtImg[i].match(srcReg)[0]; poupBody.find('#popup_2').append('
'); } } }) }) $('#layui_confirm').on('click',function(){ var doc = $('#demo2', window.parent.document); //JQ获取弹窗父层doc var index = parent.layer.getFrameIndex(window.name); //获取窗口索引 if(depositImg.length > 3){ layer.msg('封面图只能选择3张!!',{time:1000,shade:0.5}) return false; } var _leng = doc.find('.layui-upload-img').length; if(_leng < 3){ for(i in depositImg){ if(typeof depositImg[i] == "object"){ doc.append('
'); parent.fContainer[i]=depositImg[i].data }else{ doc.append('
') parent.fContainer[i]=depositImg[i]; } } }else if(_leng >3){ layer.msg('封面图只能选择3张!!',{time:1000,shade:0.5}) } parent.layer.close(index); //关闭iframe页面 }) delImg("popup_1_imgBox","delimg"); // 删除图片 //添加 form.on('submit(tijiao)',function (data) { var index = layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示 var formData = new FormData($( "#signupForm" )[0]); for(i in fContainer){ formData.append('img[]',fContainer[i]); } $.ajax({ cache : true, type : "post", url : "/newsknowledge/createform", data : formData, // 你的formid contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件 processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data error : function(request) { layer.close(index); layer.alert("网络超时"); }, success : function(data) { if(data.data != null){ layer.msg(ReturnInfo(data.data),{icon:5}); return false; } layer.msg(data.msg) } }); return false; }) //修改 form.on('submit(edit)',function (data) { layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示 var formData = new FormData($( "#signupForm" )[0]); for(i in fContainer){ formData.append('img[]',fContainer[i]); } //需要删除的图片 if(delFiles.length > 0){ $.each(delFiles,function (k,v) { formData.append('delimg[]',v); }) } $.ajax({ cache : true, type : "post", url : "/newsknowledge/editfrom", data : formData, // 你的formid contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件 processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data error : function(request) { layer.alert("网络超时"); }, success : function(data) { if(data.data != null){ layer.msg(ReturnInfo(data.data),{icon:5}); return false; } layer.msg(data.msg) } }); return false; }) //批量删除 form.on('submit(del_alls_news)',function (data) { var checkStatus = table.checkStatus('tablerReload'); if(typeof checkStatus.data[0] == 'object'){ layer.confirm('您确定要删除吗?',{btn:['确认','取消']},function(){ layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示 var formdat = new FormData(); $.each(checkStatus.data,function (key,val) { formdat.append('id[]',val.id); }) $.ajax({ cache : true, type : "post", url : "/newsknowledge/dels", data : formdat, // 你的formid contentType: false, //jax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件 processData: false, //当设置为true的时候,jquery ajax 提交的时候不会序列化 data,而是直接使用data error : function(request) { layer.msg("请联系管理员"); }, success : function(data) { layer.msg(data.msg); table.reload('tablerReload'); } }); }) return false; } layer.msg('请选择需要删除的内容',{icon:5}); return false; }) }); //删除图片 $('#demo2').on("click","#delimg",function () { var name = $(this).next().attr("imgname"); console.log(name); var delIdentification = $(this).next().attr("delIdentification"); if(typeof(delIdentification) != 'undefined'){ delete filesContainer[delIdentification]; delete files[delIdentification] ; } if(typeof(name) != 'undefined'){ delFiles.push(name); } $(this).parent().remove(); }) $(function(){ // 动态添加批量删除按钮 var _btn = '
' + '批量删除' + '
' $('.layui-form').append(_btn) }) //判断是否需要编辑,需要才加载 var verdict = $('#editor_content').html(); if(typeof verdict == "string"){ var ue = UE.getEditor('editor_content'); //编辑器 } // 选择封面图弹窗选择项卡 $('.layui-tab-title .site-demo-active').on('click', function(){ $(this).addClass('layui-this').siblings().removeClass('layui-this'); var lay_id = $(this).attr('lay-id'); $('.layui-tab-item').removeClass('layui-show') $('.layui-tab-content #'+lay_id).addClass('layui-show') }); // 弹窗本地选择图片删除功能 function delImg (oid,delId){ $('#' +oid).on("click","#"+delId,function () { var name = $(this).next().attr("imgname"); var delIdentification = $(this).next().attr("delIdentification"); if(typeof(delIdentification) != 'undefined'){ delete filesContainer[delIdentification]; delete files[delIdentification] ; } if(typeof(name) != 'undefined'){ delFiles.push(name); } var _ksrc = $(this).parents('.layui-upload-img').find('img').attr('src'); for(i in depositImg){ if(typeof depositImg[i] == "object"){ if(depositImg[i].src == _ksrc){ depositImg.splice(i, 1); //取消选择时,从数组中删除 } }else if(depositImg[i] == _ksrc){ depositImg.splice(i, 1); //取消选择时,从数组中删除 } } $(this).parent().remove(); }) } //获取标题 $("#keywords").blur(function(){ var title=$(this).val(); var keyword=''; $.ajax({ url:"/newsknowledge/participle", type:"POST", data:{title:title}, dataType:"json", success:function(data){ $.each(data.data, function (i, data) { keyword+=data.word+'、'; $('input[name="keywords"]').val(keyword); }) } }); //$('input[name="keywords"]').val(tex); });