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('
');
});
}
});
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();
})
}