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