var delFiles = []; //用于删除图片 var filesContainer = {}; //存储最终要上传的图片 var files; //存储选择图片的数量 var fContainer = {}; //用于传父级传变量,格式 parent.fContainer var depositImg = [];//用于存放弹窗图片 var hideImg = []; //用于存放从正文图片路径 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: 'city_name', title: '区域', width: 100, align: 'center'}, {field: 'news_name', title: '栏目', width: 120, align: 'center'}, // {field: 'house_name', title: '楼盘', width: 170, align: 'center'}, // { // field: 'hstate', // title: '推送楼盘', // width: 100, // event: 'housesNews', // align: 'center', // templet: function (d) { // if (d.hstate == 2) { // return '' // } else { // return '' // } // } // }, { field: 'clicks', title: '点击数', width: 100, edit: 'text', align: 'center', clicks: true, templet: "#clicksBox" }, {field: 'true_click', title: '真实点击数', width: 120, align: 'center', sort: true}, {field: 'sort', title: '排序', width: 100, edit: 'text', align: 'center', sort: true, templet: "#sortBox"}, { field: 'top', title: '置顶', width: 75, event: 'housesNews', align: 'center', templet: function (d) { if (d.top == 2) { return '' } else { return '' } } }, {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 '' } } }, {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 = ''; if (form.input_house == 'name') { name = form.input_house_text; } else if (form.input_house == 'id') { id = form.input_house_text; } table.reload('tablerReload', { where: { sort: form.input_sort, id: id, name: name, 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('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; if (obj.field === 'clicks') { $.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); } }) } else if (obj.field === 'sort') { $.post('/news/editclicks', {id: data.id, type: 'sort', sort: data.sort}, 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 + '&house_name=' + data.house_name, }) 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'); }) }); //监听指定开关 form.on('switch(switchTop)', function (data) { layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () { $.post('/news/topnews', {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'); }) }); //监听指定开关 form.on('switch(switchHid)', function (data) { layer.confirm('确定要修改此操作吗?', {btn: ['确定', '取消']}, function () { $.post('/news/newhouse', {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参数) }); $('.The_house').focus(function () { // $('form').append(''); indexOpen = parent.layui.layer.open({ type: 2, title: '选择需要添加的楼盘', area: ['', '100%'], content: '/publicuse/housename', success: function (layero, index) { }, end: function () { } }); parent.layui.layer.full(indexOpen); //改变窗口大小时,重置弹窗的宽高,防止超出可视区域(如F12调出debug的操作) $(window).on("resize", function () { parent.layui.layer.full(indexOpen); }) }) // 正文上传事件 $('#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'); var _furl = "pc/" + _fsrc.split("//")[2] for (i in depositImg) { if (depositImg[i] == _fsrc) { depositImg.splice(i, 1); //取消选择时,从数组中删除 } if (hideImg[i] == _furl) { parent.hideImg.splice(i, 1); } } } else { $(this).parent().attr('data-id', 'pitch') var _fsrc = $(this).parents('.layui-upload-img').find('img.pitch_img').attr('src'); var _furl = "pc/" + _fsrc.split("//")[2] depositImg.push(_fsrc); //选中的图片,把src地址存入数组 parent.hideImg.push(_furl); //选中的图片,把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]); } //从正文上传文件图片 if (hideImg.length > 0) { $.each(hideImg, function (k, v) { formData.append('mainImg[]', v); }) } $.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('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); }) } //从正文上传文件图片 if (hideImg.length > 0) { $.each(hideImg, function (k, v) { formData.append('mainImg[]', v); }) } $.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(check_words)', function (data) { var index = layer.msg('数据提交中,请稍候', {icon: 16, time: false, shade: 0.8}); //数据提交提示 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.length; i++) { centhtml = centhtml.replace(data.data[i], "" + data.data[i] + ""); } UE.getEditor('editor_content').setContent(centhtml); layer.msg(data.msg) } else { 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 () { 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(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; // }) }); //删除图片 $('#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'); //编辑器 // 2018 ue.addListener("keyup", function () { var arr = (UE.getEditor('editor_content').getContentTxt()); console.log(arr) }) } // 选择封面图弹窗选择项卡 $('.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(); }) // 监听短标题输入的字符数 $('.w-slug').on('input', function () { var count = $(this).val().length; $('.w-count').html(count) }); }