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

1751 lines
69 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
*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);
}