chaoyu/public/static/manager/js/ocms.js

1751 lines
69 KiB
JavaScript
Raw Normal View History

/**
*ZMP
*加载之外的扩展
*/
var _token = $('#token').attr('content');
layui.config({
base: '/static/manager/extend/'
}).extend({
iconPicker: 'iconPicker'
});
layui.use(['element','form','carousel','layer','laydate'], function(){
var element = layui.element,//导航的hover效果、二级菜单等功能需要依赖element模块
form = layui.form,iconPicker = layui.iconPicker,layer=layui.layer,laydate=layui.laydate,carousel = layui.carousel;
element.render();
form.render();
/**
* ZMP
* @desc 权限列表的全选与不全选
*/
$('.perm-read-only').each(function(){
$(this).prop("checked", true);
form.render();
})
form.on('checkbox(parents)', function(data){
if($(this).hasClass('perm-read-only')){
data.elem.checked=true;
}
var a = data.elem.checked,
$childCheck=$(this).parents(".rules-group").children(".layui-card-body").find('input[type="checkbox"]'); //所有子复选框
if (a) {
$($childCheck).prop("checked", true);
} else {
$($childCheck).each(function(){
if(!$(this).hasClass('perm-read-only')){
$(this).prop("checked", false);
}
})
}
form.render('checkbox');
});
form.on('checkbox(childrens)', function (data) {
var $parentCheck = $(this).parents(".rules-group").find(".layui-card-header").find('input[type="checkbox"]'), //所属父复选框
$brotherCheck = $(this).parent(".layui-card-body").find('input[type="checkbox"]');//同级子复选框
var status = true;
if($(this).hasClass('perm-read-only')){
$(this).prop("checked", true);
}
//只要存在一个子选项被选中则复选项状态修改为选中
$brotherCheck.each(function () {
if (this.checked && !$(this).hasClass('perm-read-only')) {
status = true;
}
});
if (status) {
$($parentCheck).prop('checked', true);
} else {
$($parentCheck).prop('checked', false);
}
form.render('checkbox');
});
// layui-table 全选操作(默认选中的用perm-read-only类标识,默认禁选用disabled="disabled"标识)
form.on('checkbox(select_all)', function(data){
var parentTableCheck = $(this).parents(".layui-table").find('input[lay-filter="select_all"]'); //所属全选复选框
var childrenCheck = $(this).parents(".layui-table").find('input[lay-filter="select_item"]'); //所属子同复选框
if(data.elem.checked) {
$(childrenCheck).each(function(){
if (!$(this).prop('disabled')) {
$(this).prop("checked", true);
}
});
} else {
$(childrenCheck).each(function(){
if(!$(this).hasClass('perm-read-only')){
$(this).prop("checked", false);
}
});
}
form.render('checkbox');
});
// layui-table 单个选择操作
form.on('checkbox(select_item)', function(data){
var parentTableCheck = $(this).parents(".layui-table").find('input[lay-filter="select_all"]'); //所属全选复选框
var brotherCheck = $(this).parents(".layui-table").find('input[lay-filter="select_item"]'); //所属同级复选框
var allChecked = true;
if($(this).hasClass('perm-read-only')){
$(this).prop("checked", true);
}
brotherCheck.each(function () {
if (!$(this).prop("disabled") && !$(this).hasClass('perm-read-only')) {
if (!$(this).prop("checked")) {
allChecked = false;
}
}
});
if(allChecked) {
parentTableCheck.prop('checked', true);
} else {
parentTableCheck.prop('checked', false);
}
form.render('checkbox');
});
//栏目分类 编辑页面 模型修改事件
form.on('select(cate-model)', function (data) {
//获取原始选中value
var select_value = $('.cate-model').data('selected');
// 获取文本
// console.log($(data.elem).find("option:selected").text());
//当前选中value
var curr_value = data.value;
if (select_value != curr_value) { // 斗笔layui.form 实现一个onchange都这么麻烦
//提示
layer.alert('更改栏目类型提交后,将清空旧有栏目下所有数据,请谨慎操作', {
skin: 'layui-layer-molv'
,closeBtn: 0
});
}
});
var answerCount = $('#answer-count').data('count');
$('.add-answer').click(function () {
var html = '<div class="layui-form-item">';
html += '<label class="layui-form-label"></label>';
html += '<div class="layui-col-md8">';
html += '<div class="layui-col-md8">';
html += '<textarea class="layui-textarea" name="answer['+ answerCount +'][content]" rows="5"></textarea>';
html += '</div>';
html += '<div class="layui-col-md2">';
html += '<input type="checkbox" name="answer['+ answerCount +'][right]" title="正确答案" lay-skin="primary">';
html += '</div>';
html += '<div class="layui-col-md2">';
html += '<a class="close-answer" href="javascript:;"><i class="layui-icon">&#x1006;</i></a>';
html += '</div></div></div>';
$('.add-answer-btn').before(html);
answerCount ++;
form.render('checkbox');
});
$('body').on('click', '.close-answer', function () {
$(this).parent().parent().remove();
});
/**
* ZMP
* @desc 表格复选框操作(每个页面仅限一个input[lay-filter="childrens-table"]表格表单)
*/
var values=[];
form.on('checkbox(parents-table)', function(data){
var a = data.elem.checked,
$childCheck=$(this).parents(".layui-table").find('input[lay-filter="childrens-table"]');//所有子复选框
values = [];
if($(this).hasClass('perm-read-only')){
$(this).prop("checked", true);
}
if (a) {
$($childCheck).each(function(){
if (!$(this).prop('disabled')) {
$(this).prop("checked", true);
values.push($(this).val());
}
})
} else {
$($childCheck).each(function(){
if($(this).hasClass('perm-read-only')) {
$(this).prop("checked", true);
values.push($(this).val());
} else {
$(this).prop("checked", false);
}
})
values=[];
}
form.render('checkbox');
});
form.on('checkbox(childrens-table)', function (data) {
var $parentCheck = $(this).parents(".layui-table").find('input[lay-filter="parents-table"]'), //所属父复选框
$brotherCheck = $(this).parents(".layui-table").find('input[lay-filter="childrens-table"]');//同级子复选框
if($(this).hasClass('perm-read-only')){
$(this).prop("checked", true);
}
var status = false;
if(data.elem.checked){
values.push(data.value)
}else{
var index = values.indexOf(data.value);
values.splice(index, 1);
}
$brotherCheck.each(function () {
if (!this.checked) {
status = true;
}
});
if($($parentCheck).hasClass('perm-read-only')) {
$($parentCheck).prop('checked', true);
} else if (status) {
$($parentCheck).prop('checked', false);
} else {
$($parentCheck).prop('checked', true);
}
form.render('checkbox');
});
// 角色分配权限
form.on('checkbox(parent-rule)', function(data){
var a = data.elem.checked,
$childCheck=$(this).parents(".layui-table").find('input[lay-filter="children-rule"]');//所有子集
if($(this).hasClass('perm-read-only')){
$(this).prop("checked", true);
}
if (a) {
$($childCheck).each(function(){
if (!$(this).prop('disabled')) {
$(this).prop("checked", true);
}
})
} else {
$($childCheck).each(function(){
if($(this).hasClass('perm-read-only')) {
$(this).prop("checked", true);
} else {
$(this).prop("checked", false);
}
})
}
form.render('checkbox');
});
form.on('checkbox(children-rule)', function (data) {
var $parentCheck = $(this).parents(".layui-table").find('input[lay-filter="parent-rule"]'), // 父级
$brotherCheck = $(this).parents(".layui-table").find('input[lay-filter="children-rule"]');// 子级
if($(this).hasClass('perm-read-only')){
$(this).prop("checked", true);
}
var allChecked = false;
$brotherCheck.each(function () {
var isShow = $(this).data('show');
var name = $(this).data('name');
var nameSplit = name.split('/');
if (this.checked && ((parseInt(isShow) > 0 || (nameSplit.length > 0 && nameSplit[nameSplit.length - 1] == 'index')) || $($parentCheck).prop('checked'))) {
allChecked = true;
}
});
if($($parentCheck).hasClass('perm-read-only')) {
$($parentCheck).prop('checked', true);
} else if (allChecked) {
$($parentCheck).prop('checked', true);
} else {
$($parentCheck).prop('checked', false);
}
form.render('checkbox');
});
// 批量删除(单页仅限一个input[lay-filter="parents-table"] 表格表单)
if($('.delAll').length > 0){
$('.delAll').click(function(){
if (values.length > 0){
var url = $(this).data('url');
layerConfirm('primary','确定删除?',url,{"ids":values})
} else {
layer.msg('请选择需要操作的数据')
}
});
}
// 批量设置(单页仅限一个checkTable设置类表格表单)
if($('.setAll').length > 0){
$('.setAll').click(function(){
var result = [];
var setCheck = $(".checkTable").find('input[lay-filter="childrens-table"]');
setCheck.each(function () {
if ($(this).prop('checked')) {
result.push($(this).val());
}
});
if (result.length > 0){
var url = $(this).data('url');
layerConfirm('primary','确定需要对选中的数据进行设置吗?',url,{"ids":result})
} else {
layer.msg('请选择需要操作的数据')
}
});
}
// 文章批量操作
if($('.batch_all').length > 0){
$('.batch_all').click(function(){
if (values.length > 0){
var url = $(this).data('url');
var title = $(this).attr('title')
batch_box_show(url,values,'','','',title);
} else {
layer.msg('请选择需要操作的数据')
}
})
}
// 单文章属性批量操作
if($('.batch_btn').length > 0){
$('.batch_btn').click(function(){
var url = $(this).data('url');
var id = $(this).data('id');
var top = $(this).data('top');
var hot = $(this).data('hot');
var recommend = $(this).data('recommend');
var title = $(this).attr('title')
batch_box_show(url,id,top,hot,recommend,title);
})
}
// 耗时操作
if($('.btn-long-time').length > 0) {
$('.btn-long-time').click(function () {
layer.msg('这是一个耗时操作!请耐心等待...', {time: 1500});
var loading = layer.load(2, {shade: false});
var url = $(this).data('url');
var refresh = parseInt($(this).data('refresh'));
$.ajax({
url: url,
data: {_token:_token},
type: 'POST',
dataType: 'json',
timeout: 10000,
success: function(data){
layer.close(loading);
if (data.code == 0){
if($('.operate-result').length > 0) {
$('.operate-result').text(data.msg);
}
layer.msg('操作成功!', {time: 1500});
if (refresh > 0) {
setTimeout(function () {
location.reload();
}, 3000);
}
} else {
layer.msg(data.msg);
}
},
error:function(xhr,type,errorThrown){
layer.close(loading);
layer.msg('操作失败!', {time: 1500});
}
});
});
}
// 文件批量删除(按路径)
if($('.file-del').length > 0) {
$('.file-del').click(function () {
var vals = new Array();
var tableId = $(this).data('filter');
var url = $(this).data('url');
$('#'+tableId).find('.select_item').each(function () {
if($(this).prop('checked')) {
vals.push($(this).val());
}
});
if (vals.length > 0){
layerConfirm('primary','确定删除?',url,{"paths":vals})
} else {
layer.msg('请选择需要操作的数据')
}
});
}
//获取hash来切换选项卡假设当前地址的hash为lay-id对应的值
var layid = location.hash.replace(/^#site=/, '');
element.tabChange('site', layid); //假设当前地址为http://a.com#site=222那么选项卡会自动切换到“发送消息”这一项
//监听Tab切换以改变地址hash值
element.on('tab(site)', function(){
location.hash = 'site='+ this.getAttribute('lay-id');
});
form.on('submit(submitAll)', function(data){
var url=$(data.elem).parents('form').data('action')
if(typeof(editor)!=='undefined'){
//data.field.content=editor.getData()
}
formSubmit(url,data.field)
return false
});
form.verify({
require: function(value, item){ //value表单的值、item表单的DOM对象
if(!value){
var masg= $(item).attr('placeholder');
return masg;
}
}
});
});
//属性功能
function batch_box_show(url,values,top,hot,recommend,title){
var html = '<div class="batch_box" style="overflow: hidden;"><div class="between-center layui-col-md12 layui-form" style="padding:30px 20px 15px;">'+
'<div class="layui-form-item">'+
'<label class="layui-form-label" style="width: auto;">置顶:</label>'+
'<div class="layui-input-block" style="margin-left: 45px;">'+
'<select name="top" class="layui-select">'
if(top != undefined && top != '' || title != '批量属性'){
if(top == 'top'){
html += '<option value="1" selected>是</option>'
html += '<option value="2">否</option>'
}else{
html += '<option value="1">是</option>'
html += '<option value="2" selected>否</option>'
}
}else{
html += '<option value="0">请选择</option>'
html += '<option value="1">是</option>'
html += '<option value="2">否</option>'
}
html += '</select>'+
'</div>'+
'</div>'+
'<div class="layui-form-item" style="margin-left:10px;">'+
'<label class="layui-form-label" style="width: auto;">热门:</label>'+
'<div class="layui-input-block" style="margin-left: 45px;">'+
'<select name="hot" class="layui-select">'
if(hot != undefined && hot != '' || title != '批量属性'){
if(hot == 'hot'){
html += '<option value="1" selected>是</option>'
html += '<option value="2">否</option>'
}else{
html += '<option value="1">是</option>'
html += '<option value="2" selected>否</option>'
}
}else{
html += '<option value="0">请选择</option>'
html += '<option value="1">是</option>'
html += '<option value="2">否</option>'
}
html += '</select>'+
'</div>'+
'</div>'+
'<div class="layui-form-item" style="margin-left:10px;">'+
'<label class="layui-form-label" style="width: auto;">推荐:</label>'+
'<div class="layui-input-block" style="margin-left: 45px;">'+
'<select name="recommend" class="layui-select">'
if(recommend != undefined && recommend != '' || title != '批量属性'){
if(recommend == 'recommend'){
html += '<option value="1" selected>是</option>'
html += '<option value="2">否</option>'
}else{
html += '<option value="1">是</option>'
html += '<option value="2" selected>否</option>'
}
}else{
html += '<option value="0">请选择</option>'
html += '<option value="1">是</option>'
html += '<option value="2">否</option>'
}
html += '</select>'+
'</div>'+
'</div>'+
'</div>'+
'<div class="layui-clear"></div>'+
'<hr style="margin: 0 0 30px;">'+
'<div class="layui-form-item" style="margin:0 0 30px;">'+
'<div class="text-center">'+
'<button type="button" class="layui-btn layui-btn-normal" data-url="'+url+'" data-id="'+values+'" onclick="betch_form(this)">保存</button>'+
'</div>'+
'</div></div>';
layer.open({
type: 1,
title: title,
shadeClose: true,
area: ['480px',''], //宽高
move: false,
content: html,
success:function(layero, index) {
alertRender()
}
});
}
function betch_form(obj){
var id = $(obj).attr('data-id');
var url = $(obj).attr('data-url');
var top = $(".batch_box select[name='top']").val();
var hot = $(".batch_box select[name='hot']").val();
var recommend = $(".batch_box select[name='recommend']").val();
var arr = new Array();
$.each(id.split(','),function(i,item){
arr.push(item)
})
$.ajax(url,{
data:{
id:arr,
top:top,
hot:hot,
recommend:recommend,
_token:_token
},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒
success:function(data){
if (data.code == 0){
layer.msg('操作成功!');
location.reload();
} else {
layer.msg(data.msg);
}
},
error:function(xhr,type,errorThrown){
}
});
}
/**
* 推荐置顶热门操作
*/
if ($('.recommend').length > 0) {
$('.recommend').click(function () {
var id = $(this).data('id');
var param = $(this).data('param');
var url = $(this).data('url');
$.post(url,{id:id,param:param,_token:_token},function(data){
if(data.code == 0){
layer.msg('操作成功', {time:1000}, function (index) {
layer.close(index);
location.reload();
});
}else{
layer.msg(data.msg, {time:1500});
}
});
});
}
/**
* 删除操作
*/
if($('.del').length > 0){
$('.del').click(function(){
var that = $(this);
var tip = '';
if(that.data('tip') != '' && that.data('tip') != undefined){
tip = that.data('tip')
}
layerConfirm('primary','确定删除'+tip+'',that.data('url'),{id:that.data('id')})
});
}
/**
* 日期插件
* milo
* 2018-01-30
*/
if($('.layui-date').length) {
$('.layui-date').each(function(){
id = '#' + $(this).attr('id');
layui.use('laydate',function(){
var laydate = layui.laydate;
laydate.render({
elem: id
});
});
});
}
//排序操作
if($('.sort').length > 0){
$('.sort').click(function(){
var url = $(this).data('url');
var id = $(this).data('id');
var sort = $(this).data('sort');
$.post(url,{id:id,sort:sort,_token:_token},function(data){
if(data.code == 0){
layer.msg('排序成功', {time:1000}, function (index) {
location.reload();
});
}else{
layer.msg(data.msg, {time:1500});
}
});
});
var timeout;
$(".sort").mousedown(function() {
var title = '信息';
var id = $(this).attr('data-id');
var url = $(this).data('url');
var sort = $(this).attr('data-sort');
if($(this).attr('data-sort') == 'up'){
title = '向上'
}
if($(this).attr('data-sort') == 'down'){
title = '向下'
}
timeout = setTimeout(function() {
layer.prompt({
formType: 0,
value: '',
placeholder:'请输入位数',
title: title
}, function(value, index, elem){
$.ajax(url,{
data:{
id:id,
sort:sort,
num:value,
_token:_token
},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒
success:function(data){
if(data.code == 0){
layer.msg('排序成功');
location.reload();
}else{
layer.msg(data.msg)
}
},
error:function(xhr,type,errorThrown){
}
});
layer.close(index);
});
}, 1000);
});
$(".sort").mouseup(function() {
clearTimeout(timeout);
});
$(".sort").mouseout(function() {
clearTimeout(timeout);
});
}
//图片点击放大
layer.photos({
photos: '.layer-photos'
,anim: 5 //0-6的选择指定弹出图片动画类型默认随机请注意3.0之前的版本用shift参数
});
//视频弹出
$('.layer-video').click(function(){
var that = $(this);
var videoUrl = that.find('video').attr('src');
layer.open({
type:2,
title:false,
area:['640px','340px'],
shade:0.8,
closeBtn:0,
shadeClose:true,
content:videoUrl
})
})
/**
* 弹出层调用方法
* 20158-1-6 赵虹
*/
// if (!$('.modleOpen').size()) {
$('.modleOpen').click(function(event) {
var content = $(this).data('href');//需要弹出的层的名字
var title = $(this).data('title');//需要显示的title名称
modleOpen(content,title);
});
// }
/**
* 弹出层调用方法
* 20158-1-6 赵虹
* @param {[type]} title [需要弹出的层的名字]
* @return {[type]} [需要显示的title名称]
*/
function modleOpen(content,title){
// console.log($('.' + content).html());
layer.open({
type: 1,
skin: 'layui-layer-demo', //样式类名
anim: 5,
area: ['500px', 'auto'],
shadeClose: true, //开启遮罩关闭
title: title,
content: $('.' + content).html()
});
}
/**
* 侧边栏折叠效果
* ZMP
* @param {isMenufold} 判断导航栏是否打开
*
*/
var _isMenufold=false,_t;
$('.layui-side').on('click','li',function(){
$('#tip-menu').remove()
var str='<div id="tip-menu" style="top:'+$(this).offset().top+'px;">'+
'<ul class="layui-nav layui-nav-tree">'+$(this).find('ul').first().html()+'</ul></div>'
if(_isMenufold){
$(this).removeClass('layui-nav-itemed')
$('body').append(str)
layui.element.render('nav');
time(3000)
}
})
function time(tim){
_t= setTimeout(function(){
if($('#tip-menu').length > 0) {
$('#tip-menu').remove()
}
},tim)
}
$('html').on('mouseenter mouseleave','#tip-menu',function(e){
if(e.type=='mouseenter' ){
clearTimeout(_t)
}else{
time(200)
}
})
$('#menu-fold').click(function(){
_isMenufold=!_isMenufold
if(_isMenufold){
$('body').attr('id','menu-salce')
$('.layui-nav-tree .layui-this,.layui-nav .layui-nav-item').removeClass('layui-nav-itemed')
$(this).css('left','0px')
}else{
$("body").removeAttr("id");
$(this).css('left','180px')
$('.layui-side li.layui-this').addClass('layui-nav-itemed')
$('li.layui-this').parents('li .layui-nav-item').addClass('layui-nav-itemed')
}
})
$('.layui-lv2').find('a.one .layui-nav-more').click(function(){
// $('.layui-nav-item.layui-lv2').removeClass('layui-nav-itemed')
// if($(this).attr('class') != 'layui-nav-item layui-lv2 layui-nav-itemed'){
// $(this).addClass('layui-nav-itemed')
// }else{
// $(this).removeClass('layui-nav-itemed')
// }
if($(this).parent().attr('class') != 'one active'){
$(this).parent().addClass('active')
$(this).parent().parent().addClass('layui-nav-itemed')
$(this).parent().parent().find('.layui-nav-child').eq(0).show()
}else{
$(this).parent().removeClass('active')
$(this).parent().parent().removeClass('layui-nav-itemed')
$(this).parent().parent().find('.layui-nav-child').eq(0).hide()
}
return false;
})
/**
*高亮rgba(0,150,136,.2)
*ZMP
*/
$('.layui-side li.layui-this').addClass('layui-nav-itemed layui-this')
$('li.layui-this').parents('li .layui-nav-item').addClass('layui-nav-itemed layui-this')
$('#refresh').click(function(){
window.location.reload()
})
var leftMenu=$('.layui-nav-tree .layui-this'),opticy=4;
// function LightColor(menu,num){
// let that=this;
// menu.find('a:first').css('background-color','rgba(0,150,136,.'+num+')')
// menu.each(function(){
// if($(this).children('ul').length>0){
// let child=$(this).find('li.layui-this')
// num=num-1
// LightColor(child,num)
// }else{
// $(this).find('a:first').css('background-color','rgba(0,150,136,.'+num+')')
// }
// })
// }
// LightColor(leftMenu,opticy)
// 弹窗表单刷新
//编辑或者添加按钮
$('a.layui-btn').click(function() {
var text=$(this).attr('title')
var $href=$(this).data('href')
var width=$(this).data('width')
var state=$(this).data('state')
var that = $(this)
if($href && text){
layerAlert('get',text,$href,'',width,state,that)
}
})
/**
* 弹窗重新渲染的内容
* @param filter lay-filter
* @param iconName 图标名称自动识别fontClass/unicode
*/
function alertRender(){
layui.use(['form','iconPicker'], function(){
var form=layui.form,iconPicker=layui.iconPicker
form.render();
iconPicker.render({
// 选择器推荐使用input
elem: '#iconPicker',
// 数据类型fontClass/unicode推荐使用fontClass
type: 'fontClass',
// 是否开启搜索true/false
search: true,
// 是否开启分页
page: true,
// 每页显示数量默认12
limit: 12,
// 点击回调
click: function (data) {
},
// 渲染成功后的回调
success: function(d) {
$('#iconPicker').val('iconpicker');
}
});
var iconStr = $('#iconPicker').val();
if (iconStr) {
iconPicker.checkIcon('iconPicker', iconStr);
} else {
iconPicker.checkIcon('iconPicker', 'layui-icon-star-fill');
}
})
setTimeout(function(){
$(window).trigger("resize");
},100)
}
// alert弹窗方法
function layerAlert(type,text,href,parms,width,state,that){
if(width == undefined || width == ''){
width = 900
}
var load = layer.load(2);
$.ajax({
type: type,
url: href,
data: {_token:_token},
success: function(data){
if (data.code !== undefined && !isNaN(data.code) && data.code != 0) {
layer.close(load);
layer.msg(data.msg, {time: 2000})
} else {
layer.open({
type: 1,
title: text,
shadeClose: true,
area: ''+width+'px', //宽高
maxmin: true,
move: false,
content: data,
success:function(layero, index) {
layer.close(load);
alertRender()
editor();
codeEditor()
layui_select_show();
//判断弹框内容高度
if($(window).height()-180 < $('.layui-layer-content .layui-card-body').height()){
layer.style(index,{
height:$(window).height() - 80,
top:40
})
$('.layui-layer-content').height($(window).height()-123)
$('.layui-layer-content').css('max-height','85vh');
$('.eject-layuiBox').height($(window).height()-123)
$('.eject-layuiBox').css('max-height','85vh');
}else{
$('.layui-layer-content').css('max-height','79vh');
$('.eject-layuiBox').css('max-height','79vh');
}
if(state == 'edit'){
var syg = 0;
var xyg = 0;
if(that.attr('class') == 'layui-btn layui-btn-warm layui-btn-xs' || that.attr('class') == 'layui-btn layui-btn-title'){
syg = that.closest('tr').index()-1;
xyg = that.closest('tr').index()+1;
}else{
syg = parseInt(that.attr('data-xyg'))-1;
xyg = parseInt(that.attr('data-xyg'))+1;
}
var sygurl;
var xygurl;
if(syg >= 0){
$('table tbody tr').eq(syg).find('.layui-btn').each(function(i){
if($(this).attr('data-state') == 'edit'){
sygurl = $(this).attr('data-href')
}
})
}
$('table tbody tr').eq(xyg).find('.layui-btn').each(function(i){
if($(this).attr('data-state') == 'edit'){
xygurl = $(this).attr('data-href')
}
})
$('body').append('<div class="layui-edit-btn center-center" style="z-index:'+$('.layui-layer-shade').css("z-index")+'"><div class="between-center" style="width:'+(parseInt(width)+300)+'px">'+
'<div class="prev" title="编辑" data-xyg="'+syg+'" data-href="'+sygurl+'" data-state="edit" onclick="edit_page(this)"></div>'+
'<div class="next" title="编辑" data-xyg="'+xyg+'" data-href="'+xygurl+'" data-state="edit" onclick="edit_page(this)"></div>'+
'</div></div>');
if(syg < 0){
$('.layui-edit-btn .between-center .prev').css({'opacity':'0','pointer-events':'none'})
}
if(xyg == $('table tbody tr').length){
$('.layui-edit-btn .between-center .next').css({'opacity':'0','pointer-events':'none'})
}
}
},
end:function(){
if(state == 'edit'){
$('.layui-edit-btn').remove();
}
}
});
}
}
});
// $.get(href,parms,function(data){
// console.log(data)
// });
}
//编辑左右翻页
function edit_page(obj){
layer.closeAll();
var text=$(obj).attr('title')
var $href=$(obj).data('href')
var width=$(obj).data('width')
var state=$(obj).data('state')
var that = $(obj)
if($href && text){
layerAlert('get',text,$href,'',width,state,that)
}
}
//ajax确认弹窗方法
/**
* type {table,primary} 使用在layuitable里面还是外面
* title 弹窗标题
* url ajax链接
*/
function layerConfirm(type,title,url,usedata) {
layer.confirm(title, {
btn: ['确定','取消'] //按钮
}, function(){
usedata._token=_token;
$.post(url,usedata,function(data){
if (data.code == 0){
layer.msg('操作成功!');
if(type=='table'){
location.reload();
}else{
location.reload();
}
} else {
layer.msg(data.msg);
}
})
}, function(){
layer.msg('已取消!');
});
}
//表单ajax提交
function formSubmit(url,fromdata) {
if(fromdata._token != ''){
fromdata._token = _token;
}
$.post(url,fromdata,function(data) {
if(data.code==0){
layer.msg('提交成功!')
setTimeout(function(){
//var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
//parent.layer.close(index); //再执行关闭
parent.layer.closeAll();
parent.location.reload()
},500)
}else {
layer.msg(data.msg)
}
})
}
$('.upload-single').on('change',function(e){
var files=e.currentTarget.files;
var fileName = files[0].name;
if(fileName.split('.')[1].toLowerCase()!=='zip'){
layer.msg('文件格式错误请上传ZIP格式文件', {icon: 5})
}else{
$(this).parents('.layui-form-item').find('.layui-form-mid').html(fileName)
}
})
$('button[form-submit]').on('click',function(e) {
var required=$(this).parents('form').find('[lay-verify="required"]'),isSubmit=true
required.each(function(index,item){
var name=$(item).parents('.layui-form-item').find('label').html()
if(!$(item).val()){
isSubmit=false
layer.msg(name+'不能为空!', {icon: 5})
return false
}
})
if(isSubmit){
$(this).parents('form').submit()
// var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
// parent.layer.close(index); //再执行关闭
// parent.location.reload()
}
})
$('.three-list li').each(function(index,item){
if($(item).find('ul').length>0){
$(item).children('a').addClass('has-c')
}
})
$('.three-list li a').click(function(){
if($(this).find('ul').eq(0).length>0){
if($(this).hasClass('active')){
$(this).removeClass('active')
}else{
$(this).addClass('active')
}
}
})
//图片删除
$('.upload.more').on('click','.multi_del',function(){
var that=this;
layer.confirm('是否删除?', {
btn: ['确认','取消'] //按钮
}, function(){
$(that).parents('div.img-item').remove();
layer.msg('删除成功');
}, function(){
layer.msg('已取消')
});
});
// 向前后调序
$('.upload.more').on('click','.operate a',function(e){
var curBtnClass=e.currentTarget.classList.value
var img=$(this).parents('.img-item').find('.item-src'),
curInput=$(this).parents('.img-item').find('input,textarea'), //当前所有inuput
$currentImg=img.attr('src'),
$curphoto=img.attr('photo-src'),
input=''//所有上一个或者下一个input
if(curBtnClass=='multi_up'){
var $prevDom=$(this).parents('.img-item').prev() //上一个图组
if($prevDom.length==0){
layer.msg('已到第一个了')
return false
}
var prevImg=$prevDom.find('.item-src'),//获取上一个
prev1=prevImg .attr('src'),
prevp=prevImg.attr('photo-src')
input=$prevDom.find('input,textarea') //上一个所有的input
img.attr({'src':prev1, //当前
'photo-src':prevp
})
prevImg.attr({'src':$currentImg, //上一张图
'photo-src':$curphoto
})
}else if(curBtnClass=='multi_down'){
var $nextDom=$(this).parents('.img-item').next()
if($nextDom.length==0){
layer.msg('已到最后一个了')
return false
}
var nextImg=$nextDom.find('.item-src')
next=nextImg .attr('src'), //获取下一个
nextp=nextImg.attr('photo-src')
input=$nextDom.find('input,textarea')
img.attr({'src':next, //当前
'photo-src':nextp
})
nextImg.attr({'src':$currentImg, //下一张图
'photo-src':$curphoto
})
}
curInput.each(function(index1,item1) {
var temp=$(item1).val();
$(item1).val($(input[index1]).val())
$(input[index1]).val(temp)
})
})
//富文本编辑器ckeditor单页面可以添加多个需要使用不同的ID
function editor(){
if($('.editor').length){
$.each($('.editor'),function(i){
var E = window.wangEditor;
var id = $(this).attr('id');
var wang = new E(this);
var $text1 = $(this).parent().find('textarea');
wang.customConfig.onchange = function (html) {
// 监控变化,同步更新到 textarea
$text1.val(html)
}
wang.customConfig.menus = [
'head', // 标题
'bold', // 粗体
'fontSize', // 字号
'fontName', // 字体
'italic', // 斜体
'underline', // 下划线
'strikeThrough', // 删除线
'foreColor', // 文字颜色
'backColor', // 背景颜色
'link', // 插入链接
'list', // 列表
'justify', // 对齐方式
'quote', // 引用
'emoticon', // 表情
'image', // 插入图片
'table', // 表格
'video', // 插入视频
'code', // 插入代码
'undo', // 撤销
'redo', // 重复
]
// 隐藏“网络图片”tab
wang.customConfig.showLinkImg = true
wang.customConfig.uploadFileName = 'wang_img[]'
wang.customConfig.showLinkVideo = true
wang.customConfig.uploadImgHooks = {
before: function (xhr, editor, files) {
// 图片上传之前触发
// xhr 是 XMLHttpRequst 对象editor 是编辑器对象files 是选择的图片文件
// 如果返回的结果是 {prevent: true, msg: 'xxxx'} 则表示用户放弃上传
},
success: function (xhr, editor, result) {
// 图片上传并返回结果,图片插入成功之后触发
// xhr 是 XMLHttpRequst 对象editor 是编辑器对象result 是服务器端返回的结果
},
fail: function (xhr, editor, result) {
// 图片上传并返回结果,但图片插入错误时触发
// xhr 是 XMLHttpRequst 对象editor 是编辑器对象result 是服务器端返回的结果
},
error: function (xhr, editor) {
// 图片上传出错时触发
// xhr 是 XMLHttpRequst 对象editor 是编辑器对象
},
timeout: function (xhr, editor) {
// 图片上传超时时触发
// xhr 是 XMLHttpRequst 对象editor 是编辑器对象
},
// 如果服务器端返回的不是 {errno:0, data: [...]} 这种格式,可使用该配置
// (但是,服务器端返回的必须是一个 JSON 格式字符串!!!否则会报错)
customInsert: function (insertImg, result, editor) {
// 图片上传并返回结果,自定义插入图片的事件(而不是编辑器自动插入图片!!!)
// insertImg 是插入图片的函数editor 是编辑器对象result 是服务器端返回的结果
console.log(result);
if(result.errno == 0) {
if(result.data.length > 0) {
$.each(result.data,function(i,val){
insertImg(val);
})
}
} else {
// 错误提示
layer.msg(result.data[0])
}
}
}
wang.customConfig.uploadImgParams = {_token:_token}
wang.customConfig.uploadVideoParams = {_token:_token}
//上传视频
wang.customConfig.uploadVideoServer = "/manager/upload/video.html"
wang.customConfig.uploadVideoHooks = {
customInsert: function (insertImg, result, editor) {
var url =result.data.src;//获取后台返回的url
insertImg(url);
}
};
wang.customConfig.uploadImgServer = '/manager/upload/wangImage.html'
wang.customConfig.customAlert = function (info) {
// info 是需要提示的内容
layer.msg(info)
}
wang.create();
wang.txt.html($text1.val())
$text1.val(wang.txt.html())
editorSelector = '.editor';
$(editorSelector + " .w-e-toolbar").eq(i).append('<div class="w-e-menu"><a class="_wangEditor_btn_fullscreen" onclick="window.wangEditor.fullscreen.toggleFullscreen(this)">全屏</a></div>');
window.wangEditor.fullscreen = {
// editor create之后调用
toggleFullscreen: function(editorSelector){
$(editorSelector).closest('.editor-text').toggleClass('fullscreen-editor')
if($(editorSelector).text() == '全屏'){
$(editorSelector).text('退出全屏');
}else{
$(editorSelector).text('全屏');
}
},
charu:function(obj){
insertHtmlAtCaret('<img src="'+$(obj).attr('src')+'">',$(obj).closest('.editor').find('.w-e-text'))
$(obj).closest('.editor').find('.w-e-panel-container').remove();
}
};
$(editorSelector + " .w-e-toolbar").eq(i).append('<div class="w-e-menu"><a class="_wangEditor_btn_viewsource'+i+'" data-id="'+i+'" onclick="window.wangEditor.viewsource.toggleViewsource(this)">源码</a></div>');
window.wangEditor.viewsource = {
toggleViewsource: function(editorSelector) {
$('.editor').each(function(i){
if($(editorSelector).attr('data-id') == i){
if($(editorSelector).text() == '源码'){
$(editorSelector).text('返回');
$(this).addClass('active')
$(this).parent().find('textarea.layui-textarea').removeClass('layui-hide')
}else{
$(editorSelector).text('源码');
$(this).removeClass('active')
$(this).parent().find('textarea.layui-textarea').addClass('layui-hide')
}
}
})
},recovery:function(editorSelector){
$('.editor').each(function(i){
if($(editorSelector).text() == '返回'){
editorHtml = $(editorSelector).closest('.editor').find('.w-e-text').html().replace(/&lt;/ig, "<").replace(/&gt;/ig, ">").replace(/&nbsp;/ig, " ");
$(editorSelector).text('源码');
$(editorSelector).closest('.editor').find('.w-e-text').html(editorHtml);
$(editorSelector).closest('.editor').parent().find('textarea').val(editorHtml)
}
})
}
};
$(editorSelector + " .w-e-toolbar").eq(i).append('<div class="w-e-menu"><a class="_wangEditor_btn_eliminate'+i+'" data-id="'+i+'" onclick="window.wangEditor.eliminate.toggleViewsource(this)">清除格式</a></div>');
window.wangEditor.eliminate = {
toggleViewsource: function(editorSelector) {
$('.editor').each(function(i){
if($(editorSelector).attr('data-id') == i){
var str = $(editorSelector).closest('.editor').find('.w-e-text').html();
str = str.replace(/<xml>[\s\S]*?<\/xml>/ig, '');
str = str.replace(/<style>[\s\S]*?<\/style>/ig, '');
str = str.replace(/<\/?[^>]*>/g, '');
str = str.replace(/[ | ]*\n/g, '\n');
str = str.replace(/&nbsp;/ig, '');
$(editorSelector).closest('.editor').find('.w-e-text').html(str);
}
})
}
};
var that = $(this)
that.removeClass('active');
that.parent().find('textarea').addClass('layui-hide')
that.parent().find('textarea').on('input propertychange', function () {
that.find('.w-e-text').html($(this).val())
})
});
}
getblur();
}
//页面加载时,根据需要加载富文本编辑器
if($('.editor').length){
editor();
}
if($('.codeEditor').length){
codeEditor();
}
//代码编辑器
function codeEditor(){
$('.codeEditor').each(function(){
var myTextarea = $(this);
if($(this).parent().find('.CodeMirror').length == 0){
var CodeMirrorEditor = CodeMirror.fromTextArea(myTextarea[0], {
lineNumbers: true,
mode: "text/html",
matchBrackets: true
});
$('form.layui-form').find('button.layui-btn').hover(function(){
myTextarea.val(CodeMirrorEditor.getValue())
})
}
})
//弹框内容改变时自动居中
$(window).trigger("resize");
}
//自定义筛选功能
function layui_select_show(){
$('.layui-select.newStyle.eject').each(function(a){
var arr = new Array();
var html = ''
var that = $(this);
$.each(that.find('input.parameter').val().split(','),function(i,item){
if(item != ''){
html = '<span>'+item+'<i data-id="'+i+'" onclick="layui_select_del(this)"></i></span>'
that.find('.top_box').append(html)
arr.push(item);
that.find('.lower_box ul li').each(function(a){
if($(this).text() == item){
$(this).addClass('active')
}
});
}
})
that.hover(function(i){
that.find('.top_box span').each(function(i){
var that2 = $(this);
$(this).find('i').attr('data-id',i)
})
that.find('.top_box').attr('data-arr',that.find('input.parameter').val());
if(that.find('.top_box').attr('data-arr').split(',').length > 0){
arr.splice(0)
$.each(that.find('.top_box').attr('data-arr').split(','),function(i,item){
if(item != ''){
arr.push(item)
}
})
}
})
that.find('.lower_box ul li').click(function(b){
if($(this).attr('class') != 'active'){
$(this).addClass('active');
arr.push($(this).text())
$(this).closest('.layui-select.newStyle').find('input.parameter').val(arr);
html = '<span>'+$(this).text()+'<i data-id="" onclick="layui_select_del(this)"></i></span>'
$(this).closest('.layui-select.newStyle').find('.top_box').attr('data-arr',arr)
$(this).closest('.layui-select.newStyle').find('.top_box').append(html)
that.find('.top_box span').each(function(i){
$(this).find('i').attr('data-id',i)
})
if(that.find('.checkbox_list').length > 0){
that.find('.checkbox_list input').eq($(this).index()).val($(this).attr('data-checkbox'));
}
}else{
$(this).removeClass('active');
var cs = $(this).attr('data-val');
$.each(arr,function(i,item){
if(cs == item){
arr.splice(i,1);
that.find('.top_box span').eq(i).remove();
}
})
$(this).closest('.layui-select.newStyle').find('input.parameter').val(arr);
if(that.find('.checkbox_list').length > 0){
that.find('.checkbox_list input').eq($(this).index()).val('');
}
}
})
if(that.find('.checkbox_list').length > 0){
that.find('.checkbox_list input').each(function(){
var that2 = $(this);
if($(this).val() != ''){
html = '<span>'+$(this).attr('data-val')+'<i data-id="'+$(this).index()+'" onclick="layui_select_del(this)"></i></span>'
$(this).closest('.layui-select.newStyle').find('.top_box').append(html)
arr.push($(this).attr('data-val'));
that.find('.lower_box ul li').each(function(a){
if($(this).attr('data-val') == that2.attr('data-val')){
$(this).addClass('active')
}
});
}
})
that.find('input.parameter').val(arr);
}
})
}
$('.layui-select.newStyle').each(function(a){
var arr = new Array();
var html = ''
var that = $(this);
$.each(that.find('input.parameter').val().split(','),function(i,item){
if(item != ''){
html = '<span>'+item+'<i data-id="'+i+'" onclick="layui_select_del(this)"></i></span>'
that.find('.top_box').append(html)
arr.push(item);
that.find('.lower_box ul li').each(function(a){
if($(this).text() == item){
$(this).addClass('active')
}
});
}
})
that.hover(function(i){
that.find('.top_box span').each(function(i){
var that2 = $(this);
$(this).find('i').attr('data-id',i)
})
that.find('.top_box').attr('data-arr',that.find('input.parameter').val());
if(that.find('.top_box').attr('data-arr').split(',').length > 0){
arr.splice(0)
$.each(that.find('.top_box').attr('data-arr').split(','),function(i,item){
if(item != ''){
arr.push(item)
}
})
}
})
that.find('.lower_box ul li').click(function(b){
console.log($(this).attr('class'))
if($(this).attr('class') != 'active'){
$(this).addClass('active');
arr.push($(this).text())
$(this).closest('.layui-select.newStyle').find('input.parameter').val(arr);
html = '<span>'+$(this).text()+'<i data-id="" onclick="layui_select_del(this)"></i></span>'
$(this).closest('.layui-select.newStyle').find('.top_box').attr('data-arr',arr)
$(this).closest('.layui-select.newStyle').find('.top_box').append(html)
that.find('.top_box span').each(function(i){
$(this).find('i').attr('data-id',i)
})
if(that.find('.checkbox_list').length > 0){
that.find('.checkbox_list input').eq($(this).index()).val($(this).attr('data-checkbox'));
}
}else{
$(this).removeClass('active');
var cs = $(this).attr('data-val');
$.each(arr,function(i,item){
if(cs == item){
arr.splice(i,1);
that.find('.top_box span').eq(i).remove();
}
})
$(this).closest('.layui-select.newStyle').find('input.parameter').val(arr);
if(that.find('.checkbox_list').length > 0){
that.find('.checkbox_list input').eq($(this).index()).val('');
}
}
})
if(that.find('.checkbox_list').length > 0){
that.find('.checkbox_list input').each(function(){
var that2 = $(this);
if($(this).val() != ''){
html = '<span>'+$(this).attr('data-val')+'<i data-id="'+$(this).index()+'" onclick="layui_select_del(this)"></i></span>'
$(this).closest('.layui-select.newStyle').find('.top_box').append(html)
arr.push($(this).attr('data-val'));
that.find('.lower_box ul li').each(function(a){
if($(this).attr('data-val') == that2.attr('data-val')){
$(this).addClass('active')
}
});
}
})
that.find('input.parameter').val(arr);
}
})
function layui_select_del(obj){
var arr = new Array();
$.each($(obj).closest('.layui-select.newStyle').find('.top_box').attr('data-arr').split(','),function(i,item){
arr.push(item)
})
var cs = $(obj).parent().text();
arr.splice($(obj).attr('data-id'),1);
var string;
$.each(arr,function(i,item){
if(i == 0){
string = item
}else{
string += ','+item
}
})
$(obj).closest('.layui-select.newStyle').find('input.parameter').val(string);
$(obj).closest('.layui-select.newStyle').find('.lower_box ul li').each(function(i){
if($(this).text() == cs){
$(this).removeClass('active');
if($(obj).closest('.layui-select.newStyle').find('.checkbox_list').length > 0){
$(obj).closest('.layui-select.newStyle').find('.checkbox_list input').eq(i).val('');
}
}
});
$(obj).parent().remove();
}
//导航选中样式
$('.layui-lv2').each(function(){
if($(this).attr('class') == 'layui-nav-item layui-lv2 layui-this layui-nav-itemed'){
$(this).closest('.layui-lv1').removeClass('layui-this')
}
})
$('.layui-lv3').each(function(){
if($(this).attr('class') == 'layui-nav-item layui-lv3 layui-this layui-nav-itemed'){
$(this).closest('.layui-lv2').find('a.one').eq(0).addClass('active');
$(this).closest('.layui-lv1').removeClass('layui-this')
$(this).closest('.layui-lv2').removeClass('layui-this')
}
})
$('.layui-lv4').each(function(){
if($(this).attr('class') == 'layui-nav-item layui-lv4 layui-this layui-nav-itemed'){
$(this).closest('.layui-lv2').find('a.one').eq(0).addClass('active');
$(this).closest('.layui-lv3').find('a.one').eq(0).addClass('active');
$(this).closest('.layui-lv1').removeClass('layui-this')
$(this).closest('.layui-lv2').removeClass('layui-this')
$(this).closest('.layui-lv3').removeClass('layui-this')
}
})
$('.layui-lv5').each(function(){
if($(this).attr('class') == 'layui-nav-item layui-lv5 layui-this layui-nav-itemed'){
$(this).closest('.layui-lv2').find('a.one').eq(0).addClass('active');
$(this).closest('.layui-lv3').find('a.one').eq(0).addClass('active');
$(this).closest('.layui-lv4').find('a.one').eq(0).addClass('active');
$(this).closest('.layui-lv1').removeClass('layui-this');
$(this).closest('.layui-lv2').removeClass('layui-this');
$(this).closest('.layui-lv3').removeClass('layui-this');
$(this).closest('.layui-lv4').removeClass('layui-this');
}
})
// 表格拖动功能
var curIndex = 0;
var newIndex = 0;
var sort;
$("table").sortable({
cursor: "move",
items: ".table-lv1", //只是li可以拖动
opacity: 0.6, //拖动时透明度为0.6
revert: true, //释放时,增加动画
cancel:'.editor,a.layui-btn,input,.CodeMirror,textarea',
start: function(e,ui) {
curIndex = ui.item.index();
},
update: function(event, ui) { //更新排序之后
newIndex = ui.item.index();
if(curIndex > newIndex){
sort = 'up';
newIndex = curIndex - newIndex;
}else{
sort = 'down';
newIndex = newIndex - curIndex;
}
$.ajax(ui.item[0].dataset.url,{
data:{
id:ui.item[0].dataset.id,
sort:sort,
num:newIndex,
_token:_token
},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒
success:function(data){
if(data.code == 0){
layer.msg('排序成功');
}else{
layer.msg(data.msg)
}
},
error:function(xhr,type,errorThrown){
}
});
}
});
$("tbody.table-lv1").sortable({
cursor: "move",
items: ".table-lv2", //只是li可以拖动
opacity: 0.6, //拖动时透明度为0.6
revert: true, //释放时,增加动画
cancel:'.editor,a.layui-btn,input,.CodeMirror,textarea',
start: function(e,ui) {
curIndex = ui.item.index();
},
update: function(event, ui) { //更新排序之后
newIndex = ui.item.index();
if(curIndex > newIndex){
sort = 'up';
newIndex = curIndex - newIndex;
}else{
sort = 'down';
newIndex = newIndex - curIndex;
}
$.ajax(ui.item[0].dataset.url,{
data:{
id:ui.item[0].dataset.id,
sort:sort,
num:newIndex,
_token:_token
},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒
success:function(data){
if(data.code == 0){
layer.msg('排序成功');
}else{
layer.msg(data.msg)
}
},
error:function(xhr,type,errorThrown){
}
});
}
});
$("tbody.table-lv2").sortable({
cursor: "move",
items: ".table-lv3", //只是li可以拖动
opacity: 0.6, //拖动时透明度为0.6
revert: true, //释放时,增加动画
cancel:'.editor,a.layui-btn,input,.CodeMirror,textarea',
start: function(e,ui) {
curIndex = ui.item.index();
},
update: function(event, ui) { //更新排序之后
newIndex = ui.item.index();
if(curIndex > newIndex){
sort = 'up';
newIndex = curIndex - newIndex;
}else{
sort = 'down';
newIndex = newIndex - curIndex;
}
$.ajax(ui.item[0].dataset.url,{
data:{
id:ui.item[0].dataset.id,
sort:sort,
num:newIndex,
_token:_token
},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒
success:function(data){
if(data.code == 0){
layer.msg('排序成功');
}else{
layer.msg(data.msg)
}
},
error:function(xhr,type,errorThrown){
}
});
}
});
var fwqpage = 2;
function getImgList(id){
var html = '';
var pageBtn = '';
fwqpage = 1;
$.ajax('/manager/file/list',{
data:{
type:'img',
page:fwqpage,
size:20,
_token:_token
},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒
success:function(data){
if(data.code == 0){
if(data.data.length > 0){
$.each(data.data,function(i,item){
html += '<span><img src="'+item.src+'" onclick="window.wangEditor.fullscreen.charu(this)"></span>'
})
$('#'+id).closest('.editor').find('.w-e-serverImgs .top-box').append(html)
if(data.data.length >= 20){
pageBtn = '<a href="javascript:;" data-id="'+id+'" onclick="getImgMore(this)">加载更多</a>';
$('#'+id).closest('.editor').find('.w-e-serverImgs .lower-box').append(pageBtn)
}
}else{
layer.msg(data.msg)
}
}
},
error:function(xhr,type,errorThrown){
}
});
}
function getImgMore(obj){
var html = '';
var pageBtn = '';
var id = $(obj).attr('data-id');
$.ajax('/manager/file/list',{
data:{
type:'img',
page:fwqpage,
size:20,
_token:_token
},
dataType:'json',//服务器返回json格式数据
type:'post',//HTTP请求类型
timeout:10000,//超时时间设置为10秒
success:function(data){
if(data.code == 0){
if(data.data.length > 0){
$.each(data.data,function(i,item){
html += '<span><img src="'+item.src+'" onclick="window.wangEditor.fullscreen.charu(this)"></span>'
})
$('#'+id).closest('.editor').find('.w-e-serverImgs .top-box').append(html)
if(data.data.length < 20){
pageBtn = '没有了';
$('#'+id).closest('.editor').find('.w-e-serverImgs .lower-box').html(pageBtn)
}else{
fwqpage++
}
}else{
layer.msg(data.msg)
}
}
},
error:function(xhr,type,errorThrown){
}
});
}
var sel,range;
var textContent;
function getblur(){
$('.editor .w-e-text').click(function(){
sel = window.getSelection();
range = sel.getRangeAt(0);
//range.deleteContents();
})
}
function insertHtmlAtCaret(html,obj){
if (window.getSelection) {
// IE9 and non-IE
if(sel != undefined){
if (sel.getRangeAt && sel.rangeCount) {
var el = document.createElement("div");
el.innerHTML = html;
var frag = document.createDocumentFragment(), node, lastNode;
while ((node = el.firstChild)) {
lastNode = frag.appendChild(node);
}
range.insertNode(frag);
// Preserve the selection
if (lastNode) {
range = range.cloneRange();
range.setStartAfter(lastNode);
range.collapse(true);
sel.removeAllRanges();
sel.addRange(range);
}
}
}else{
$(obj).append(html)
}
} else if (document.selection && document.selection.type != "Control") {
// IE < 9
document.selection.createRange().pasteHTML(html);
}
textContent=$(obj).html();//这个也很重要。因为如果不写可能就会覆盖了原来内容替换成你添加的。或者是干脆不显示了。textContent是全局变量是你输入的内容。
$(obj).closest('.editor').parent().find('textarea').val(textContent)
}
function limitContentLength(elm, len)
{
var newString = $(elm).val().slice(0, len);
$(elm).val(newString);
}