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