var delFiles = []; //用于删除图片 var filesContainer= {}; //存储最终要上传的图片 var files ; //存储选择图片的数量 var fContainer= {}; //用于传父级传变量,格式 parent.fContainer var depositImg =[];//用于存放弹窗图片 layui.use(['form','layer','laydate','table','laytpl','layedit','upload'],function(){ var form = layui.form, // layer = parent.layer === undefined ? layui.layer : top.layer, layer = layui.layer, $ = layui.jquery, laydate = layui.laydate, laytpl = layui.laytpl, table = layui.table, layedit = layui.layedit ,upload = layui.upload; var tableIds = 'newsList'; //楼盘列表 var tableIns = table.render({ elem: '#'+tableIds, url : '/news/newsform', 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+'' }}, {field: 'house_name', title: '楼盘',width:100, align:'center'}, {field: 'city_name', title: '区域',width:100, align:'center'}, {field: 'news_name', title: '栏目',width:120, align:'center'}, {field: 'clicks', title: '点击数',width:100, edit: 'text',align:'center',clicks: true,templet:"#clicksBox"}, {field: 'true_click', title: '真实点击数',width:120, align:'center',sort: true}, {field: 'create_at', title: '添加时间',width:120, event:'sortData', align:'center',sort: true}, {field: 'state', title: '审核',width:75, event:'housesNews', align:'center',templet:function (d) { if(d.state === 'N'){ return '' } else { return '' } }}, {field: 'author', title: '作者',width:100, align:'center'}, {title: '操作', width:100, templet:'#housesListBar',fixed:"right",align:"center"} ]] }); table.reload('tablerReload'); //重新加载 // 日期 laydate.render({ elem: '#EventDate' }); laydate.render({ elem: '#ModificationDate' }); //表格头部操作菜单 var $ = layui.$, active = { addData: function(){ //获取选中数据 var index = layui.layer.open({ title : "添加资讯", type : 2, area:['80%','100%'], maxmin: true, content : "/news/add", }) layui.layer.full(index); //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作) $(window).on("resize",function(){ layui.layer.full(index); }) }, reload:function () { var form = pfgs_serialize($('form')); var name = ''; var id = ''; var author = ''; if(form.input_house == 'name'){ name = form.input_house_text; } else if(form.input_house == 'id'){ id = form.input_house_text; } else if(form.input_house == 'author'){ author = form.input_house_text; } table.reload('tablerReload',{ where:{ sort:form.input_sort, id:id, name:name, author:author, news:form.input_news, city:form.input_city } }) },batch_sync:function () { var checkStatus = table.checkStatus('tablerReload'); if(typeof checkStatus.data[0] == 'object'){ var nid = ''; $.each(checkStatus.data,function (key,val) { nid += val.id +','; }) var index = layui.layer.open({ title : "批量操作", type : 2, area:['50%','100%'], maxmin: true, content : "/news/batchsync?nid="+nid, }) return false; } layer.msg('请选择需要同步的资讯'); } }; //同步资料 form.on('submit(batch_sync_submit)',function (data) { var index = layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示 $.ajax({ cache : true, type : "post", url : "/news/confirmsync", data : data.field, // 你的formid success : function(data) { if (data.code == 200) { layer.msg(data.msg); parent.layui.table.reload('tablerReload'); TableClose(); } else if(data.code == 300){ layer.msg(data.msg) } } }); return false; }) //监听指定开关 form.on('switch(switchTest)', function(data){ layer.confirm('确定要修改此操作吗?',{btn: ['确定', '取消']},function () { $.post('/house/housesortedit',{id:data.value,examineid:1},function (data) { if(data.code == 200) { layer.msg(data.msg); table.reload('tablerReload'); } else if(data.code == 300 ) { 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; $.post('/news/editclicks',{id:data.id,type:'clicks',clicks:data.clicks},function (data) { if(data.code == 200) { layer.msg(data.msg); // obj.update({ // sort: data.sort // }); // TableClose(); } else if(data.code == 300 ) { layer.msg(data.msg); } }) }) // if(obj.event === 'clicksData'){ // layer.prompt({ // formType: 2 // ,title: '点击数' // ,value: data.clicks // }, function(value, index){ // $.post('/news/editclicks',{id:data.id,type:'clicks',clicks:value},function (data) { // layer.msg(data.msg); // layer.close(index); // table.reload('tablerReload'); // }) // }); // } else //表格右边操作栏目 table.on('tool('+tableIds+')', function(obj){ var data = obj.data; if(obj.event === 'del'){ //删除操作 layer.confirm('确定要删除吗?',{btn: ['确定', '取消']},function () { $.post('/news/newsdel',{id:data.id},function (data) { if(data.code == 200) { layer.msg(data.msg); table.reload('tablerReload'); } else if(data.code == 300 ) { layer.msg(data.msg); } }) }) } else if(obj.event === 'edit'){ //编辑操作 var index = layui.layer.open({ title : "编辑资讯", type : 2, area:['','100%'], maxmin: true, content : "/news/newsedit?id="+data.id }) layui.layer.full(index); //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作) $(window).on("resize",function(){ layui.layer.full(index); }) }else if(obj.event === 'sortData'){ //修改排序 layer.prompt({ formType: 2 ,title: '修改' ,value: data.sort }, function(value, index){ $.post('/house/housesortedit',{id:data.id,sort:value},function (data) { if(data.code == 200) { layer.msg(data.msg); layer.close(index); obj.update({ sort: value }); // TableClose(); } else if(data.code == 300 ) { layer.msg(data.msg); } }) }); } }); //监听指定开关 form.on('switch(switchTest)', function(data){ layer.confirm('确定要修改此操作吗?',{btn: ['确定', '取消']},function () { $.post('/news/newsviewcontrol',{id:data.value},function (data) { if(data.code == 200) { layer.msg(data.msg); table.reload('tablerReload'); } else if(data.code == 300 ) { layer.msg(data.msg); } }) },function (aa) { table.reload('tablerReload'); }) }); //添加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' ,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"); // 删除图片 layer.photos({ photos: '#demo2' ,closeBtn: 1 ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数) }); //添加 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 : "/news/addform", data : formData, // 你的formid // async : false, //async 默认为true异步,修改为false为同步, 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.code == 200) { layer.msg(data.msg); parent.layui.table.reload('tablerReload'); TableClose(); } else if(data.code == 300){ layer.msg(data.msg) layer.msg(ReturnInfo(data.data),{icon:5}); } } }); return false; }) // 大图复选框监听事件 form.on('checkbox(thumb_size)', function(data){ // console.log(data.elem.checked); //是否被选中,true或者false // console.log(data.elem) if(data.elem.checked){ $('.xm_xcxqTc_button[name="thumb_size"]').val('2') }else{ $('.xm_xcxqTc_button[name="thumb_size"]').val('1'); } }); // 水印复选框监听事件 // form.on('checkbox(thumb_watermark)', function(data){ // console.log(data.elem.checked); //是否被选中,true或者false // }); //修改 form.on('submit(edit)',function (data) { var index = layer.msg('数据提交中,请稍候',{icon: 16,time:false,shade:0.8}); //数据提交提示 var formData = new FormData($( "#signupForm" )[0]); // $.each(filesContainer,function (k,v) { // if(v != null){ // formData.append('img[]',v); // } // }) for(i in fContainer){ formData.append('img[]',fContainer[i]); } //需要删除的图片 if(delFiles.length > 0){ $.each(delFiles,function (k,v) { formData.append('delimg[]',v); }) } // 修改大图后把数据提交 formData.append('thumb_size',$('.xm_xcxqTc_button[name="thumb_size"]').val()); $.ajax({ cache : true, type : "post", url : "/news/newseditform", 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.code == 200) { layer.msg(data.msg); parent.layui.table.reload('tablerReload'); TableClose(); } else { layer.msg(data.msg) layer.msg(ReturnInfo(data.data),{icon:5}); } } }); 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(){ var index = 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 : "/news/newsdel", data : formdat, // 你的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.code == 200) { layer.msg(data.msg); table.reload('tablerReload') } else { layer.msg(data.msg); } } }); }) return false; } layer.msg('请选择需要删除的资讯',{icon:5}); return false; }) //检测关键词 form.on('submit(check_words)',function (data) { var content=UE.getEditor('editor_content').getContentTxt(); var centhtml = UE.getEditor('editor_content').getContent(); $.ajax({ //cache : false, type : "post", url : "/sensitivewords/checkword", data:{content:content}, // 你的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){ var index=layer.open({ type: 1, // skin: 'layui-layer-rim', //加上边框 title:'违禁词信息', area: ['420px', '240px'], //宽高 content: '
'+data.data+'
' }); for(var i=0;i"+data.data[i]+""); } UE.getEditor('editor_content').setContent(centhtml); layer.msg(data.msg) }else{ layer.msg(data.msg) } } }); return false; }) }); //删除图片 $('#demo2').on("click","#delimg",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); } $(this).parent().remove(); }) function RestrictImgNum() { var imgNum = $('.layui-w-img').children('img').length; if(imgNum >3 || imgNum== 3){ return false; } } $(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(); }) }