Current Path : /www/wwwroot/jsnz.xshop.geekdanceshop.com/app/shop/view/album/
Upload File :
Current File : /www/wwwroot/jsnz.xshop.geekdanceshop.com/app/shop/view/album/lists.html

<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;}
    .fourstage-nav.layui-tab{margin-top: 0;}
    .fourstage-nav.layui-tab .layui-tab-title > li{margin-left: 0;}
</style>

<!-- 清理网站缓存 -->
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, no-store">
<meta http-equiv="expires" content="0">

<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="{:href_url('shop/album/lists', ['type' => $k])}">{$v}</a></li>
		{/foreach}
	</ul>
</div>

<!-- 搜索框 -->
<div class="single-filter-box">
	{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>

<!-- 分组列表 -->
<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-album="{{ d[key].child ? d[key].child.toString() : 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-album="{{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="submitVideoLimit()"  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></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 (flag_add_group) return false;
				flag_add_group = 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);
						repeat_flag = false;

						if (res.code == 0) {
							listenerHash(); // 刷新页面
							layer.closeAll();
						}
					}
				})

				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,
						},
						exts:'jpg|jpeg|png|gif|webp|bmp|tif',
						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 submitVideoLimit(){
		$("#chooseVideoAction").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', '430px'],
					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: false,
							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();
									}
								});
							},
							before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
								$("#modifyFileAction").removeClass("bg-color").addClass("layui-btn-disabled").attr("disabled","disabled");
							},
							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);

								}
							},
							allDone: function(obj){ //当文件全部被提交后,才触发
								$("#modifyFileAction").addClass("bg-color").removeClass("layui-btn-disabled").removeAttr("disabled");
							}
						});

					}
				})
			});
		}else{
			modifyVideoFile(data);
		}

	}

	function modifyVideoFile(data) {
		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/modifyVideoFile"),
						data: {
							album_id: album_id,
							pic_id: $(data).attr('data-id')
						},
						multiple: false,
						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: $('.album-list .layui-tree-txt.selected').attr('data-album'),
				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() {
        $.ajax({
			url: ns.url("shop/Album/getAlbumListTree"),
			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].child ? albumList[0].child[0] : 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) {
						listenerHash(); // 刷新页面
						layer.closeAll();
					}
				}
			})
		})
	}

	/**
	 * 更新分组图片数量
	 */
	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(index) {
			if (flag_delete_group) return;
			flag_delete_group = true;
			layer.close(index);
			$.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) {
						listenerHash(); // 刷新页面
					}
				}
			});
		}, 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 = [];

		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 (index) {
			layer.close(index);
			$.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) {
						listenerHash(); // 刷新页面
					}
				}
			});
		}, 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(index) {
			if (flag_delete_img) return;
			flag_delete_img = true;
			layer.close(index);
			$.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').off('mouseenter','.upload-image-curtain').on('mouseenter','.upload-image-curtain',function(){
		$(this).siblings(".tips").show();
	});

	$('body').off('mouseleave','.upload-image-curtain').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').off('click', '.album-img-box li .album-pic').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>
金穗农资
captcha