| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- {extend name="app/shop/view/base.html"/}
- {block name="resources"}
- <link rel="stylesheet" type="text/css" href="GIFTCARD_CSS/media_manager.css" />
- <style>
- body{background-color: #fff;}
- #iframeIcon{border: none;width: 100%;height: 449px;}
- .media-box .media-list-box{height: 380px;margin-right: 20px;display: flex;flex-direction: column;}
- .media-box .media-list-box .media-list {flex: 1;height: 0;overflow-y: scroll}
- .media-box .media-list-box .media-list::-webkit-scrollbar{display: none;}
- .media-box .media-img{max-height: 336px;}
- .media-box .media-img li{width: 185px;height: auto; margin: 0 7px 15px;}
- .media-box .media-img li div{height: 119.7px;line-height: 119.7px;background-size: cover;background-repeat: no-repeat;background-position: center;cursor: pointer;}
- .media-box .media-img li:nth-child(5n){margin-right: 0;}
- .layui-tab-content{padding: 0;height: 449px;}
- .layui-tab{margin: 5px 0 0;}
- .layui-tab .layui-tab-item{height: 449px;}
- .layui-laypage{margin: 10px 0 0;}
- .layui-tab-title {margin: 0 20px}
- #media {padding: 20px 20px 0;}
- .page {text-align: right}
- </style>
- {/block}
- {block name='body'}
- <div class="layui-tab layui-tab-brief media-tab">
- <ul class="layui-tab-title layui-hide">
- <li class="layui-this">选择图片</li>
- </ul>
- <div class="layui-tab-content">
- <div id="media" class="layui-tab-item">
- <div class="media-box">
- <div class="media-content">
- <ul class="media-img"></ul>
- <div id="paged" class="page"></div>
- </div>
- </div>
- </div>
- <div class="layui-tab-item">
- <iframe id="iframeIcon" src=""></iframe>
- </div>
- <input type="hidden" name="media_ids" value="{$media_ids}" />
- </div>
- </div>
- <!-- 图片展示 -->
- <script type="text/html" id="mediaList">
- {{# layui.each(d.list,function(index,item){ }}
- <li data-media-id="{{item.media_id}}" data-json_data='{{JSON.stringify(item)}}' class="media-list-item">
- <div class="bg-color-gray" style="background-image:url({{ ns.img(item.media_path) }})">
- {{# if( getActiveArrayIndex(item.media_id) != "-1"){ }}
- <div class="image-box-active border-color"><i class="active-index">{{ getActiveArrayIndex(item.media_id) }}</i></div>
- {{# } }}
- </div>
- </li>
- {{# }) }}
- {{# if(d.list.length === 0){ }}
- <div class="empty-data">暂无数据</div>
- {{# } }}
- </script>
- <script>
- var form, laytpl, laypage, upload,element,
- limit = 10,
- active_array = [],
- repeat_flag = false;
- layui.use(['form', 'laytpl', 'laypage', 'upload', 'element'], function() {
- form = layui.form;
- laytpl = layui.laytpl;
- laypage = layui.laypage;
- element = layui.element;
- upload = layui.upload;
- form.render();
- //初始化数据
- init();
- //监听搜索事件
- form.on('submit(search)', function() {
- mediaImgList(1, limit);
- });
- });
- /**
- * 素材图片加载
- * @param page
- * @param limit
- */
- function mediaImgList(page, limit) {
- $.ajax({
- url: ns.url("giftcard://shop/media/media"),
- type: "POST",
- dataType: "JSON",
- async: false,
- data: {
- limit,
- page,
- media_name: $(".media-img-sreach").val(),
- app_module:ns_url.appModule,
- site_id:ns_url.siteId
- },
- success: function(res) {
- laytpl($("#mediaList").html()).render(res.data, function(data) {
- $(".media-img").html(data);
- });
- laypage.render({
- elem: 'paged',
- count: res.data.count,
- limit,
- curr: page,
- jump: function(obj, first) {
- if (!first) {
- mediaImgList(obj.curr, obj.limit);
- }
- }
- })
- }
- })
- }
- /**
- * 选择个体
- */
- function checkItem() {
- $("#media").unbind('click').on("click", ".media-list-item", function() {
- var json_data = $(this).data("json_data");
- json_data.id = parseInt(json_data.media_id);
- if ($(this).find(".image-box-active").length > 0) {
- var active_index = getDelateActiveArrayIndex(json_data.id);
- sortActiveArrayIndex(active_index);
- $(this).find(".image-box-active").remove();
- } else {
- json_data.index = active_array.length + 1;
- if (json_data.index > imgNum) {
- $(".media-box .media-img li").each((index,item) => {
- if(active_array.length > 0 && $(item).attr("data-media-id") == active_array[0].media_id)
- $(item).find(".image-box-active").remove();
- });
- var active_index = active_array.length > 0 ? getDelateActiveArrayIndex(active_array[0].media_id) : 0;
- sortActiveArrayIndex(active_index);
- --json_data.index;
- }
- active_array.push(json_data);
- var active_html = '<div class="image-box-active border-color"><i class="active-index">' + active_array.length +
- '</i></div>';
- $(this).find("div").append(active_html);
- }
- });
- }
- //获取选择图片信息
- function getCheckItem(callback) {
- if (typeof callback != "function") return false;
- if($(".layui-tab-content .layui-tab-item").eq(0).hasClass("layui-show")){
- callback(active_array);
- }else{
- var currIcon = document.getElementById('iframeIcon').contentWindow.currIcon;
- callback(currIcon);
- }
- }
- //获取选中
- function getActiveArrayIndex(id) {
- var delete_index = -1;
- $.each(active_array, function(i, item) {
- if (item.media_id == id) {
- delete_index = item.index;
- return false;
- }
- });
- return delete_index;
- }
- //删除选中
- function getDelateActiveArrayIndex(id) {
- var delete_index;
- $.each(active_array, function(i, item) {
- if (item.id == id) {
- delete_index = item.index;
- active_array.splice(i, 1);
- return false;
- }
- });
- return delete_index;
- }
- //重新排序
- function sortActiveArrayIndex(index) {
- $.each(active_array, function(i, item) {
- var item_index = item.index;
- if (item_index > index) {
- active_array[i]["index"] = item_index - 1;
- if ($("#media").find(".media-list-item[data-media-id = '" + item["id"] + "']").length > 0) {
- $("#media").find(".media-list-item[data-media-id = '" + item["id"] + "']").find(".image-box-active i ").text(item["index"]);
- }
- }
- })
- }
- /**
- * 初始化数据
- */
- function init() {
- mediaImgList(1, limit); //分组图像
- checkItem(); //选择个体
- $(".layui-tab-content .layui-tab-item").eq(0).addClass('layui-show').siblings().removeClass('layui-show');
- }
- var search = window.location.search,
- imgNum = parseInt(getSearchString('imgNum', search));
- function getSearchString(key, Url) {
- var str = Url;
- str = str.substring(1, str.length); // 获取URL中?之后的字符(去掉第一位的问号)
- // 以&分隔字符串,获得类似name=xiaoli这样的元素数组
- var arr = str.split("&");
- var obj = new Object();
- // 将每一个数组元素以=分隔并赋给obj对象
- for (var i = 0; i < arr.length; i++) {
- var tmp_arr = arr[i].split("=");
- obj[decodeURIComponent(tmp_arr[0])] = decodeURIComponent(tmp_arr[1]);
- }
- return obj[key];
- }
- </script>
- {/block}
|