admin/app/shop/view/album/lists.html

1210 lines
36 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{extend name="base"/}
{block name="resources"}
<link rel="stylesheet" type="text/css" href="SHOP_CSS/picture_manager.css" />
<style>
.layui-layout-admin.admin-style-1 .type-tab{ margin-left: -15px!important;width: calc(100% - 253px)!important;}
</style>
{/block}
{block name="main"}
<!-- 清理网站缓存 start -->
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, no-store">
<meta http-equiv="expires" content="0">
<!-- 清理网站缓存 end -->
<div class="fourstage-nav layui-tab layui-tab-brief type-tab" lay-filter="edit_user_tab">
<ul class="layui-tab-title">
{foreach $type_list as $k => $v}
<li class="{$k == $type ? 'layui-this' : ''}" lay-id="{$k}"><a href="{:url('shop/album/lists', ['type' => $k])}">{$v}</a></li>
{/foreach}
</ul>
</div>
<!-- 搜索框 -->
<div class="single-filter-box top">
{if $type == 'img'}
<button class="layui-btn" onclick="uploadImg()">上传{$type_list[$type]}</button>
{else if $type == 'video'}
<button class="layui-btn" onclick="uploadVideo()">上传{$type_list[$type]}</button>
{/if}
<button class="layui-btn layui-btn-primary text-color border-color" onclick="addGrouping()">添加分组</button>
<div class="layui-form">
<div class="layui-input-inline">
<input type="text" name="search_keys" placeholder="请输入{$type_list[$type]}名称" autocomplete="off" class="layui-input album-img-sreach">
<button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
<i class="layui-icon">&#xe615;</i>
</button>
</div>
</div>
</div>
<div class="album-box">
<div class="album-list">
<ul class="bg-color-light-gray layui-nav layui-nav-tree layui-inline" lay-filter="albumList">
<div id="albumList" class="demo-tree-more"></div>
</ul>
</div>
<div class="album-content">
<div class="album-content-title">
<span id="album_name">默认分组</span>
<span>|</span>
<a href="javascript:;" class="text-color edit" data-status="0">编辑</a>
<a href="javascript:;" class="text-color album-action layui-hide" onclick="modifyGrouping()">编辑分组</a>
<a href="javascript:;" onclick="deleteGrouping()" class="text-color album-action layui-hide">删除分组</a>
</div>
<ul class="album-img-box"></ul>
<div class="album-foot-operation ">
<div class="album-content-bar layui-form bg-color-light-gray album-action layui-hide" >
<input type="checkbox" name="album-select" lay-filter="allChoose" lay-skin="primary" title="全选">
</div>
<button class="layui-btn album-action layui-hide" onclick="modifyImgGroup()">修改分组</button>
<!-- <button class="layui-btn" onclick="thumbBatch()">生成缩略图</button> -->
<button class="layui-btn album-action layui-hide" onclick="deleteImg()">删除</button>
<div id="paged" class="page"></div>
</div>
</div>
<!-- 存储图片路径 -->
<input type="hidden" id="hidden_image_path">
</div>
{/block}
{block name="script"}
<!-- 分组列表 -->
<script type="text/html" id="album_list">
<div class="layui-tree">
{{# for(let key in d){ }}
<div class="layui-tree-set layui-tree-checkedFirst layui-tree-setHide ">
<div class="layui-tree-entry">
<div class="layui-tree-main">
{{# if(d[key].child_list && d[key].child_list.length > 0){ }}
<span class="layui-tree-iconClick" onclick="childSwitch(this)"><i class="layui-tree-iconArrow"></i></span>
{{# }else{ }}
<span class="layui-tree-iconClick"><i class="layui-tree-iconArrow layui-hide"></i></span>
{{# } }}
<div class="layui-tree-txt {{key == 0 ? 'selected text-color' : ''}}" onclick="switchGroup(this)" data-id="{{d[key].album_id}}" data-name="{{d[key].album_name}}">
<span>{{d[key].album_name}}</span>
<span class="num">{{d[key].num}}</span>
</div>
</div>
</div>
{{# if(d[key].child_list && d[key].child_list.length > 0){ }}
<div class="layui-tree-pack layui-tree-child">
{{# for(let i in d[key].child_list){ }}
<div class="layui-tree-set">
<div class="layui-tree-entry">
<div class="layui-tree-main">
<span class="layui-tree-iconClick"><i class="layui-tree-iconArrow layui-hide"></i></span>
<div class="layui-tree-txt" onclick="switchGroup(this)" data-id="{{d[key].child_list[i]['album_id']}}" data-name="{{d[key].child_list[i]['album_name']}}">
<span>{{d[key].child_list[i]['album_name']}}</span>
<span class="num">{{d[key].child_list[i]['num']}}</span>
</div>
</div>
</div>
</div>
{{# } }}
</div>
{{# } }}
</div>
{{# } }}
</div>
</script>
<!-- 多图上传 -->
<script type="text/html" id="multuple_html">
<div class="layui-form multuple-list-box">
<div class="layui-form-item">
<label class="layui-form-label sm">本地图片</label>
<ul class="layui-input-block multuple-list">
<li class="multuple-list-img" id="ImgUpload">
<span class="bg-color">+</span>
<span>点击添加图片</span>
</li>
</ul>
</div>
<div class="form-row sm">
<button class="layui-btn layui-btn-disabled" disabled="disabled" onclick="submitOne()" id="chooseListAction">提交</button>
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
</div>
</div>
</script>
<!-- 视频上传 -->
<script type="text/html" id="video_html">
<div class="layui-form multuple-list-box">
<div class="layui-form-item">
<label class="layui-form-label sm">视频</label>
<ul class="layui-input-block multuple-list">
<li class="multuple-list-img" id="VideoUpload">
<span class="bg-color">+</span>
<span>点击添加</span>
</li>
</ul>
</div>
<div class="form-row sm">
<button class="layui-btn layui-btn-disabled" disabled="disabled" onclick="submitOne()" id="chooseVideoAction">提交</button>
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
</div>
</div>
</script>
<!-- 替换图片 -->
<script type="text/html" id="modify_file_html">
<div class="layui-form multuple-list-box">
<div class="layui-form-item">
<label class="layui-form-label sm">本地图片</label>
<ul class="layui-input-block multuple-list">
<li class="multuple-list-img" id="modifyFile">
<span class="bg-color">+</span>
<span>点击添加图片</span>
</li>
</ul>
</div>
<div class="form-row sm">
<button class="layui-btn layui-btn-disabled" disabled="disabled" id="modifyFileAction">提交</button>
<button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
</div>
</div>
</script>
<!-- 相册展示 -->
<script type="text/html" id="list_html">
{{# layui.each(d.list,function(index, item){ }}
<li class="{$type}">
<div class="album-pic">
{if $type == 'img'}
{{# if(item.is_thumb == 0){ }}
<img layer-src="" src="{{ ns.img(item.pic_path + '?time=' + parseInt(new Date().getTime()/1000)) }}" alt="{{item.pic_name}}">
{{# }else{ }}
<img layer-src="{{ ns.img(item.pic_path + '?time=' + parseInt(new Date().getTime()/1000), 'big') }}" src="{{ ns.img(item.pic_path + '?time=' + parseInt(new Date().getTime()/1000), 'small') }}" alt="{{item.pic_name}}">
{{# } }}
{else if($type == 'video')}
<video src="{{ ns.img(item.pic_path) }}" controls alt="{{item.pic_name}}"></video>
{/if}
</div>
<div class="layui-form album-img-select">
<div class="pic-name">{{item.pic_name ? item.pic_name : '未命名'}}</div>
<div class="pic-spec">{{item.pic_spec}}</div>
</div>
<div class="album-img-operation {{ d.status == 0 ? 'layui-hide' : ''}}">
<a href="javascript:;" class="text-color" data-pic-name="{{item.pic_name}}" data-id="{{item.pic_id}}" onclick="modifyImgName(this)">改名</a>|
<a href="javascript:;" class="text-color" data-path="{{ns.img(item.pic_path)}}" onclick="copyLink(this)">链接</a>|
<a href="javascript:;" class="text-color" data-id="{{item.pic_id}}" onclick="modifyImgGroup(this)">分组</a>|
<a href="javascript:;" class="text-color" data-id="{{item.pic_id}}" onclick="modifyFile(this)">替换</a>|
<a href="javascript:;" class="text-color delete-pic" data-id="{{item.pic_id}}" onclick="deleteImg(this)">删除</a>
</div>
<i class="iconfont iconxuanzhong"></i>
</li>
{{# }) }}
</script>
<!-- 图片分组 -->
<script type="text/html" id="pic_group">
<div class="layui-form img-group">
{foreach $album_list_tree as $album_list_k => $album_list_v}
{if !isset($album_list_v['child_list'])}
<div class="layui-input-block one-group">
{{# if(d.album_id == {$album_list_v.album_id} ){ }}
<input type="radio" name="group" checked value="{$album_list_v.album_id}" title="{$album_list_v.album_name}">
{{# }else{ }}
<input type="radio" name="group" value="{$album_list_v.album_id}" title="{$album_list_v.album_name}">
{{# } }}
</div>
{else /}
<input type="radio" name="group" value="{$album_list_v.album_id}" title="{$album_list_v.album_name}">
<!-- <div class="layui-input-block one-group">{$album_list_v['album_name']}</div>-->
{foreach $album_list_v['child_list'] as $k => $v}
<div class="layui-input-block two-group">
{{# if(d.album_id == {$v.album_id} ){ }}
<input type="radio" name="group" checked value="{$v.album_id}" title="{$v.album_name}">
{{# }else{ }}
<input type="radio" name="group" value="{$v.album_id}" title="{$v.album_name}">
{{# } }}
</div>
{/foreach}
{/if}
{/foreach}
</div>
</script>
<!-- 复制链接 -->
<script type="text/html" id="copy_path">
<div class="layui-form">
<div class="layui-input-block">
<input type="text" class="len-long layui-input link-input" name="" id="path_file" value="{{d}}" readonly >
<button class="layui-btn layui-btn-primary" onclick="JScopy()">复制</button>
</div>
</div>
</script>
<!-- 添加分组 -->
<script type="text/html" id="addGroup">
<div class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label mid">上级分组</label>
<div class="layui-input-block len-mid">
<select name="pid">
<option value="0">顶级分组</option>
{foreach $album_list as $k => $v}
{if $v['level'] == 1 && $v['type'] == $type}
<option value="{$v['album_id']}" >{$v['album_name']}</option>
{/if}
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label mid"><span class="required">*</span></label>
<div class="layui-input-block">
<input name="album_name" type="text" placeholder="请输入分组名称" lay-verify="required" class="layui-input len-mid">
</div>
</div>
<div class="form-row mid">
<button class="layui-btn" lay-submit lay-filter="add_group">保存</button>
<button class="layui-btn layui-btn-primary" onclick="closeLayer()">返回</button>
</div>
</div>
</script>
<script>
var form, upload, laytpl, layer, laypage, layer_one,element,tree,
picture_arr = [],
uploadListIns,
initIdent= true;
limit = 14,
album_list_count = 0,
album_id = 0;
var repeat_flag = false;
$(function() {
layui.use(['form', 'laytpl', 'laypage', 'layer', 'upload','element','tree'], function() {
form = layui.form;
laytpl = layui.laytpl;
laypage = layui.laypage;
element = layui.element;
layer = layui.layer;
upload = layui.upload;
tree = layui.tree;
init(); //初始化数据
form.render();
element.init();
//监听图片搜索
form.on('submit(search)', function() {
getFileAlbumList(1, limit); //图片加载
});
/**
* 全选
*/
form.on("checkbox(allChoose)", function(data) {
if (data.elem.checked) {
$('.album-img-box li').addClass('selected');
} else {
$('.album-img-box li').removeClass('selected');
}
});
/**
* 添加分组
*/
form.on('submit(add_group)', function(data) {
if (repeat_flag) return false;
repeat_flag = true;
data.field.type = "{$type}";
$.ajax({
url: ns.url("shop/Album/addAlbum"),
data: data.field,
type: "POST",
dataType: "JSON",
success: function(res) {
layer.msg(res.message);
flag_add_group = false;
if (res.code == 0) {
location.reload();
}
}
})
return false;
});
element.on('event(albumList)', function (data){
console.log(data)
});
});
});
/**
* 初始化数据
*/
function init() {
albumList(); //相册分组
// getFileAlbumList(1, limit); //图片加载
}
/**
* 多图上传
*/
function uploadImg() {
var imageArray=1;
laytpl($("#multuple_html").html()).render({}, function(html) {
layer_one = layer.open({
type: 1,
area: ['580px', '430px'],
title: '本地上传',
content: html,
cancel: function() {
$("#chooseListAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled", "disabled");
},
success: function(res) {
//上传图片
upload.render({
elem: '#ImgUpload',
url: ns.url("shop/upload/album"),
data: {
album_id: album_id,
is_thumb:1,
},
multiple: true,
auto: false,
bindAction: '#chooseListAction',
choose: function(obj) {
imageArray=1;
//将每次选择的文件追加到文件队列
var files = this.files = obj.pushFile();
//预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
obj.preview(function(index, file, result) {
this.num=index;
//追加预览图片
var html = '';
html += '<li class="multuple-list-img upload-wrap" index="' + index + '">';
html += '<img layer-src class="multuple-list-image" src="' + result + '" alt="' + file.name + '">';
html += '<span class="upload-close-modal" id="upload_img_' + index + '">×</span>';
html += '<div class="upload-image-curtain">50%</div>';
html += '<div class="tips"></div>';
html += '</li>';
$(".multuple-list").prepend(html);
//删除预览图片
$("#upload_img_" + index).bind("click", function() {
delete files[index];
delete picture_arr[index]; //删除所选队列
$(this).parent('.upload-wrap').remove();
// uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
//禁止点击
if ($(".multuple-list li").length <= 1) {
$("#chooseListAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled", "disabled");
}
});
//开启点击
if ($(".multuple-list li").length > 1) {
$("#chooseListAction").addClass("bg-color").removeClass("layui-btn-disabled").removeAttr("disabled");
}
loadImgMagnify();
});
},
done: function(res,index) {
let data=$('.multuple-list-image');
// 禁止点击
picture_arr.push(res.data);
var image_box = $(".upload-wrap[index='" + index + "']").parent().find(".upload-image-curtain");
var image_tips = $(".upload-wrap[index='" + index + "']").parent().find(".tips");
image_box.text("上传汇总");
image_box.text("50%");
image_box.show();
if (res.code >= 0) {
setTimeout(function() {
image_box.text("100%");
}, 500);
setTimeout(function() {
getFileAlbumList(1, limit);
updateAlbumNum(album_id);
layer.close(layer_one)
}, 1000);
return delete this.files[index]; //删除文件队列已经上传成功的文件
} else {
setTimeout(function() {
image_box.text("上传失败");
image_tips.text(res.message);
layer.msg(res.message);
}, 500);
}
if(imageArray==data.length){
$("#chooseListAction").addClass("bg-color").removeClass("layui-btn-disabled").removeAttr("disabled");
imageArray=1;
return false
}
imageArray++
}
});
}
})
});
}
/**
* 视频上传
*/
function uploadVideo() {
var imageArray = 1;
laytpl($("#video_html").html()).render({}, function (html) {
layer_one = layer.open({
type: 1,
area: ['580px', '430px'],
title: '本地上传',
content: html,
cancel: function () {
$("#chooseVideoAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled", "disabled");
},
success: function (res) {
//上传视频
upload.render({
elem: '#VideoUpload',
url: ns.url("shop/upload/videoToAlbum"),
data: {
album_id: album_id,
is_thumb: 1,
},
multiple: true,
auto: false,
accept: 'video',
size: 50 * 1024,
bindAction: '#chooseVideoAction',
choose: function (obj) {
imageArray = 1;
//将每次选择的文件追加到文件队列
var files = this.files = obj.pushFile();
//预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
obj.preview(function (index, file, result) {
this.num = index;
//追加预览图片
var html = '';
html += '<li class="multuple-list-img upload-wrap" index="' + index + '">';
html += '<video class="multuple-list-image" src="' + result + '" alt="' + file.name + '"></video>';
html += '<span class="upload-close-modal" id="upload_img_' + index + '">×</span>';
html += '<div class="upload-image-curtain">50%</div>';
html += '<div class="tips"></div>';
html += '</li>';
$(".multuple-list").prepend(html);
//删除预览图片
$("#upload_img_" + index).bind("click", function () {
delete files[index];
delete picture_arr[index]; //删除所选队列
$(this).parent('.upload-wrap').remove();
// uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
//禁止点击
if ($(".multuple-list li").length <= 1) {
$("#chooseListAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled", "disabled");
}
});
//开启点击
if ($(".multuple-list li").length > 1) {
$("#chooseVideoAction").addClass("bg-color").removeClass("layui-btn-disabled").removeAttr("disabled");
}
});
},
done: function (res, index) {
let data = $('.multuple-list-image');
// 禁止点击
picture_arr.push(res.data);
var image_box = $(".upload-wrap[index='" + index + "']").parent().find(".upload-image-curtain");
var image_tips = $(".upload-wrap[index='" + index + "']").parent().find(".tips");
image_box.text("上传汇总");
image_box.text("50%");
image_box.show();
if (res.code >= 0) {
setTimeout(function () {
image_box.text("100%");
}, 500);
setTimeout(function () {
getFileAlbumList(1, limit);
updateAlbumNum(album_id);
layer.close(layer_one)
}, 1000);
return delete this.files[index]; //删除文件队列已经上传成功的文件
} else {
setTimeout(function () {
image_box.text("上传失败");
image_tips.text(res.message);
layer.msg(res.message);
}, 500);
}
if (imageArray == data.length) {
$("#chooseVideoAction").addClass("bg-color").removeClass("layui-btn-disabled").removeAttr("disabled");
imageArray = 1;
return false
}
imageArray++
}
});
}
})
});
}
// 上传图片是禁止操作
function submitOne(){
$("#chooseListAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled","disabled");
$(".upload-image-curtain").css('display','block').text('等待中')
// var image_box = $(".upload-wrap").parent().find(".upload-image-curtain");
}
function modifyFile(data) {
if('{$type}' == 'img'){
laytpl($("#modify_file_html").html()).render({}, function(html) {
layer_one = layer.open({
type: 1,
area: ['580px', '500px'],
title: '替换照片',
content: html,
cancel: function() {
$("#modifyFileAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled", "disabled");
},
success: function(res) {
//上传图片
upload.render({
elem: '#modifyFile',
url: ns.url("shop/upload/modifyFile"),
data: {
album_id: album_id,
pic_id: $(data).attr('data-id')
},
multiple: true,
auto: false,
bindAction: '#modifyFileAction',
choose: function(obj) {
//将每次选择的文件追加到文件队列
var files = this.files = obj.pushFile();
//预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
obj.preview(function(index, file, result) {
//追加预览图片
var html = '';
html += '<li class="multuple-list-img upload-wrap" index="' + index + '">';
html += '<img src="' + result + '" alt="' + file.name + '">';
html += '<span class="upload-close-modal" id="upload_img_' + index + '">×</span>';
html += '<div class="upload-image-curtain">50%</div>';
html += '<div class="tips"></div>';
html += '</li>';
$(".multuple-list").prepend(html);
//删除预览图片
$("#upload_img_" + index).bind("click", function() {
delete files[index];
delete picture_arr[index]; //删除所选队列
$(this).parent('.upload-wrap').remove();
// uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
//禁止点击
if ($(".multuple-list li").length <= 1) {
$("#modifyFileAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled", "disabled");
//未选择图片时,显示添加按钮
$("#modifyFile").show();
}
});
//禁止点击
if ($(".multuple-list li").length > 1) {
$("#modifyFileAction").addClass("bg-color").removeClass("layui-btn-disabled").removeAttr("disabled");
//隐藏添加按钮,仅替换一张图片
$("#modifyFile").hide();
}
});
},
done: function(res, index) {
picture_arr.push(res.data);
var image_box = $(".upload-wrap[index='" + index + "']").parent().find(".upload-image-curtain");
var image_tips = $(".upload-wrap[index='" + index + "']").parent().find(".tips");
image_box.text("50%");
image_box.show();
if (res.code >= 0) {
setTimeout(function() {
image_box.text("100%");
}, 500);
setTimeout(function() {
getFileAlbumList(1, limit);
layer.close(layer_one);
}, 1000);
return delete this.files[index]; //删除文件队列已经上传成功的文件
} else {
setTimeout(function() {
image_box.text("上传失败");
image_tips.text(res.message);
layer.close(layer_one);
}, 500);
}
}
});
}
})
});
}else{
modifyVideoFile(data);
}
}
function modifyVideoFile(data) {
laytpl($("#video_html").html()).render({}, function(html) {
layer_one = layer.open({
type: 1,
area: ['580px', '500px'],
title: '替换视频',
content: html,
cancel: function() {
$("#chooseVideoAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled", "disabled");
},
success: function(res) {
//上传图片
upload.render({
elem: '#VideoUpload',
url: ns.url("shop/upload/modifyVideoFile"),
data: {
album_id: album_id,
pic_id: $(data).attr('data-id')
},
multiple: true,
auto: false,
accept: 'video',
size: 50 * 1024,
bindAction: '#chooseVideoAction',
choose: function(obj) {
//将每次选择的文件追加到文件队列
var files = this.files = obj.pushFile();
//预读本地文件,如果是多文件,则会遍历。(不支持ie8/9)
obj.preview(function(index, file, result) {
//追加预览图片
var html = '';
html += '<li class="multuple-list-img upload-wrap" index="' + index + '">';
html += '<video class="multuple-list-image" src="' + result + '" alt="' + file.name + '"></video>';
html += '<span class="upload-close-modal" id="upload_img_' + index + '">×</span>';
html += '<div class="upload-image-curtain">50%</div>';
html += '<div class="tips"></div>';
html += '</li>';
$(".multuple-list").prepend(html);
//删除预览图片
$("#upload_img_" + index).bind("click", function() {
delete files[index];
delete picture_arr[index]; //删除所选队列
$(this).parent('.upload-wrap').remove();
// uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
//禁止点击
if ($(".multuple-list li").length <= 1) {
$("#chooseVideoAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled", "disabled");
//未选择图片时,显示添加按钮
$("#modifyFile").show();
}
});
//禁止点击
if ($(".multuple-list li").length > 1) {
$("#chooseVideoAction").addClass("bg-color").removeClass("layui-btn-disabled").removeAttr("disabled");
//隐藏添加按钮,仅替换一张图片
$("#modifyFile").hide();
}
});
},
done: function(res, index) {
picture_arr.push(res.data);
var image_box = $(".upload-wrap[index='" + index + "']").parent().find(".upload-image-curtain");
var image_tips = $(".upload-wrap[index='" + index + "']").parent().find(".tips");
image_box.text("50%");
image_box.show();
if (res.code >= 0) {
setTimeout(function() {
image_box.text("100%");
}, 500);
setTimeout(function() {
getFileAlbumList(1, limit);
layer.close(layer_one);
}, 1000);
return delete this.files[index]; //删除文件队列已经上传成功的文件
} else {
setTimeout(function() {
image_box.text("上传失败");
image_tips.text(res.message);
layer.close(layer_one);
}, 500);
}
}
});
}
})
});
}
/**
* 图片加载
*/
function getFileAlbumList(page, limit) {
$.ajax({
url: ns.url("shop/Album/lists"),
type: "POST",
dataType: "JSON",
async: false,
data: {
album_id,
pic_name: $(".album-img-sreach").val(),
limit,
page
},
success: function(res) {
res.data.status = $('.album-content-title .edit').attr('data-status');
laytpl($("#list_html").html()).render(res.data, function(html) {
$(".album-img-box").html(html);
loadImgMagnify();
});
if(initIdent){
album_list_count = res.data.list.length;
$(".default-group .num").text(album_list_count);
initIdent = false;
}
$("#paged").empty();
if (res.data.count > 0) {
//调用分页
laypage.render({
elem: "paged",
count: res.data.count,
curr: page, //当前页
limit: limit,
jump: function(obj, first) {
if (!first) {
getFileAlbumList(obj.curr, obj.limit);
}
form.render('checkbox');
}
})
}
}
})
}
function switchGroup(obj){
$('.album-list .selected').removeClass('selected text-color');
$(obj).addClass('selected text-color');
album_id = $(obj).data('id');
album_name = $(obj).data('name');
$("#album_name").empty().html(album_name);
getFileAlbumList(1, limit);
}
/**
* 相册分组
*/
function albumList(num = '') {
$.ajax({
url: ns.url("shop/Album/getAlbumList"),
type: 'POST',
async: false,
dataType: 'JSON',
data:{'type' : "{$type}"},
success: function(res) {
var albumList = res.data;
laytpl($("#album_list").html()).render(albumList, function(html) {
$(".album-list ul").html(html);
});
if(albumList.length) {
album_id = albumList[0]['album_id'];
album_name = albumList[0]['album_name'];
getFileAlbumList(1, limit); //图片加载
}
}
});
}
/**
* 添加分组
*/
var flag_add_group = false;
function addGrouping() {
if (flag_add_group) return;
flag_add_group = true;
var add_attr = $("#addGroup").html();
laytpl(add_attr).render({}, function(html) {
add_attr_index = layer.open({
title: '添加分组',
skin: 'layer-tips-class add-group',
type: 1,
area: ['500px', '250px'],
content: html,
success: function () {
flag_add_group = false;
form.render();
},
error: function () {
flag_add_group = false;
}
});
});
}
function closeLayer() {
layer.closeAll();
}
/**
* 修改分组
*/
var flag_modify_group = false;
function modifyGrouping() {
layer.prompt({
formType: 3,
title: '修改分组名称',
area: ["350px"]
}, function(value) {
if (flag_modify_group) return;
flag_modify_group = true;
$.ajax({
url: ns.url("shop/Album/editAlbum"),
data: {
"album_name": value,
album_id
},
type: "POST",
dataType: "JSON",
success: function(res) {
layer.msg(res.message);
flag_modify_group = false;
if (res.code == 0) {
location.reload();
}
}
})
})
}
/**
* 更新分组图片数量
*/
function updateAlbumNum(album_id){
$.ajax({
type: "POST",
async: true,
url: ns.url("shop/Album/albumInfo"),
data: {
album_id
},
dataType: "JSON",
success: function(res) {
if (res.code == 0 && res.data) {
$('[data-id="'+album_id+'"]').find('.num').text(res.data.num);
}
}
});
}
/**
* 删除分组
*/
var flag_delete_group = false;
function deleteGrouping() {
layer.confirm('仅删除分组,不删除图片,组内图片将自动归入默认分组', {
btn: ['确定', '取消']
}, function() {
if (flag_delete_group) return;
flag_delete_group = true;
$.ajax({
type: "POST",
async: true,
url: ns.url("shop/Album/deleteAlbum"),
data: {
album_id
},
dataType: "JSON",
success: function(data) {
flag_delete_group = false;
layer.msg(data.message);
if (data.code == 0) {
location.reload();
}
}
});
}, function() {
layer.close();
});
}
/**
* 修改图片名字
*/
var flag_modify_pic;
function modifyImgName(data) {
var type = '{$type}' == 'img' ? '图片' : '视频';
layer.prompt({
formType: 3,
title: '修改' + type + '名称',
area: ["640px"],
value: $(data).attr('data-pic-name'),
}, function(value) {
if (flag_modify_pic) return;
flag_modify_pic = true;
$.ajax({
url: ns.url("shop/Album/modifyPicName"),
data: {
pic_name: value,
pic_id: $(data).attr('data-id'),
album_id,
},
type: "POST",
dataType: "JSON",
success: function(res) {
layer.msg(res.message);
flag_modify_pic = false;
if (res.code == 0) {
getFileAlbumList(1, limit);
layer.closeAll('page');
}
}
})
})
}
/**
* 生成缩略图
*/
function thumbBatch(data){
var pic_ids = [],
url = '';
if (!data) {
$("input[data-is_thumb='0'][name='check[]']:checked").each(function(index, item) {
pic_ids.push($(item).val());
});
}else{
pic_ids.push($(data).attr("data-id"));
}
pic_ids = pic_ids.toString();
if(pic_ids==''){
layer.msg("请选择未裁剪图片再进行操作");
return false;
}
layer.confirm('是否需要生成缩略图', {
btn: ['确定', '取消']
},function () {
$.ajax({
url:ns.url("shop/Album/thumbBatch"),
data:{
pic_id: pic_ids,
},
type:"POST",
dataType: "JSON",
success: function(data) {
flag_delete_group = false;
layer.msg(data.message);
if (data.code == 0) {
location.reload();
}
}
});
}, function() {
layer.close();
});
}
/**
* 修改图片分组
*/
function modifyImgGroup(data) {
var pic_ids = [],
url = '',
type = '{$type}' == 'img' ? '图片' : '视频';
if (!data) {
$('.album-img-box li.selected').each(function () {
pic_ids.push($(this).find('.delete-pic').attr("data-id"));
})
}else{
pic_ids.push($(data).attr("data-id"));
}
url = ns.url("shop/Album/modifyFileAlbum");
if(pic_ids==''){
layer.msg("请选择"+ type +"再进行操作");
return false;
}
laytpl($("#pic_group").html()).render({album_id}, function(html) {
layer.open({
type: 1,
title: '修改'+ type +'分组',
area: ["350px"],
btn: ['保存', '取消'],
content: html,
yes: function(index, layero) {
$.ajax({
url: url,
type: 'POST',
async: false,
dataType: 'JSON',
data: {
pic_id: pic_ids.toString(),
album_id: $(".img-group input[name='group']:checked").val(),
},
success: function(res) {
layer.msg(res.message);
if (res.code == 0) {
getFileAlbumList(1, limit);
updateAlbumNum(album_id);
updateAlbumNum($(".img-group input[name='group']:checked").val());
layer.closeAll('page');
}
}
})
}
});
form.render();
})
}
/**
* 删除图片
*/
var flag_delete_img = false;
function deleteImg(data) {
var pic_ids = [],
url = '',
type = '{$type}' == 'img' ? '图片' : '视频';
if (!data) {
$('.album-img-box li.selected').each(function () {
pic_ids.push($(this).find('.delete-pic').attr("data-id"));
})
}else{
pic_ids.push($(data).attr("data-id"));
}
pic_ids = pic_ids.toString();
url = ns.url("shop/Album/deleteFile");
if(pic_ids==''){
layer.msg("请选择"+ type +"再进行操作");
return false;
}
layer.confirm('删除'+ type +'会连本地存储或云存储的'+ type +'也删掉,请谨慎操作!', {
btn: ['确定', '取消']
}, function() {
if (flag_delete_img) return;
flag_delete_img = true;
$.ajax({
type: "POST",
async: true,
url,
data: {
pic_id: pic_ids,
album_id: album_id
},
dataType: "JSON",
success: function(data) {
flag_delete_img = false;
layer.msg(data.message);
if (data.code == 0) {
getFileAlbumList(1, limit);
updateAlbumNum(album_id);
layer.closeAll('page');
}
}
});
}, function() {
layer.close();
});
}
/**
* 链接
*/
function copyLink(data) {
laytpl($("#copy_path").html()).render($(data).attr("data-path"), function(html) {
layer.open({
type: 1,
area: ["800px"],
title: '复制链接',
content: html,
})
})
}
$('body').on(' mouseenter','.upload-image-curtain',function(){
$(this).siblings(".tips").show();
});
$('body').on(' mouseleave','.upload-image-curtain',function(){
$(this).siblings(".tips").hide();
});
function JScopy() {
ns.copy("path_file", function(res) {
$("#hidden_image_path").val(res.url);
});
}
$('body').on('click', '.album-img-box li .album-pic', function () {
if ($('.album-content-title .edit').attr('data-status') == 0) return;
if ($(this).parents('li').hasClass('selected')) {
$(this).parents('li').removeClass('selected')
} else {
$(this).parents('li').addClass('selected')
}
});
$('.album-content-title .edit').click(function () {
if ($(this).attr('data-status') == 1) {
$(this).attr('data-status', 0);
$(this).text('编辑');
$('.album-img-operation,.album-action').addClass('layui-hide');
$('.album-img-box li').removeClass('selected')
} else {
$(this).attr('data-status', 1);
$(this).text('完成');
$('.album-img-operation,.album-action').removeClass('layui-hide')
}
});
function childSwitch(obj){
$(obj).parents('.layui-tree-checkedFirst').find('.layui-tree-child').toggle(0,'linear',function (res){
if($(obj).parents('.layui-tree-checkedFirst').hasClass('layui-tree-spread')){
$(obj).parents('.layui-tree-checkedFirst').removeClass('layui-tree-spread');
}else{
$(obj).parents('.layui-tree-checkedFirst').addClass('layui-tree-spread');
}
});
}
</script>
{/block}