official_website/app/admin/view/advertising_space/index.html

395 lines
12 KiB
HTML

{extend name="foxcms" /}
{block name="css"}
{/block}
{block name="body"}
<input name="bcid" value="{$bcid}" type="hidden" />
<input name="columnId" value="{$cid}" type="hidden" />
<div class="foxcms-content-inner">
<div class="slide-adverts-content">
<div class="content-top-operation">
<div class="left">
<button class="foxui-solid-primary foxui-size-small" id="addAdvertGroupBtn">
<i class="foxui-icon-jiahao-o"></i>
<span>添加广告位</span>
</button>
{if sizeof($langs) > 1}
<div class="foxui-select foxui-margin-left-12" style="width: 140px;">
<div class="foxui-select-handle foxui-select-icon">
<input class="foxui-select-input copy-lang" readonly="readonly" placeholder="选择复制语言" value="" style="height: 32px"/>
</div>
<div class="foxui-select-menu">
<ul class="foxui-select-slide">
{foreach $langs as $key=>$vo}
{if $vo.lang != $curlang.lang}
<li class="foxui-select-item" data-id="{$vo.lang}" onclick="copyLangColumn(this)">{$vo.name}</li>
{/if}
{/foreach}
</ul>
</div>
</div>
{/if}
</div>
</div>
<div class="section section-panel margin-top-10">
<div class="collapse-header foxui-display-flex foxui-align-items-center foxui-border-bottom foxui-padding-bottom-8">
<div class="collapse-column foxui-align-center" style="width: 80px">ID</div>
<div class="collapse-column" style="flex: 1">广告位名称</div>
<div class="collapse-column foxui-align-center" style="width: 10%;">显示</div>
<div class="collapse-column foxui-align-center" style="width: 15%;">标识(SID)</div>
<div class="collapse-column" style="width: 400px">操作</div>
</div>
<ul class="foxui-collapse" id="collapseContainer">
{foreach $advertisingSpaceList as $key=>$vo }
<li class="foxui-collapse-item" data-id="{$vo.id}">
<div class="foxui-collapse-head">
<div class="collapse-column" style="width: 80px; padding-left: 10px">{$vo.id}</div>
<div class="collapse-column foxui-display-flex">
<div class="handle-box" style="left: -14px;">
<i class="foxui-collapse-handle foxui-icon-kaishi-f foxui-collapse-icon"></i>
</div>
<div class="foxui-input-group">
<div class="foxui-input-suffix">
<input class="foxui-size-small" maxlength="30" placeholder="请输入栏目名称" value="{$vo.name}" name="name"/>
<i class="foxui-suffix-icon foxui-suffix-count">0/30</i>
</div>
</div>
<button class="foxui-text-primary add-advert-btn foxui-margin-left-16">
<i class="foxui-icon-jiahao-o"></i>
<span>添加广告</span>
</button>
</div>
<div class="collapse-column foxui-align-center" style="width: 10%;">
<div class="adv_status foxui-switch {if $vo->status == 1}is-checked {/if}" id="{$vo.id}" onclick="updateStatus(this)" >
<input type="checkbox" checked="checked" value="" class="foxui-switch-input" />
<span class="foxui-switch-core"></span>
</div>
</div>
<div class="collapse-column foxui-align-center" style="width: 15%;">{$vo.sid}</div>
<div class="collapse-column foxui-display-flex foxui-align-items-center" style="width: 400px">
<button class="foxui-size-mini foxui-color-primary set-btn font-size-14" id="{$vo.id}" edit-type="1">
<i class="foxui-icon-shezhi-o"></i>
<span>设置</span>
</button>
<button class="foxui-size-mini foxui-color-primary delete-btn font-size-14" id="{$vo.id}" del-type="1" title="{$vo.name}">
<i class="foxui-icon-shanchu-o"></i>
<span>删除</span>
</button>
<button class="foxui-size-mini foxui-color-primary call-btn font-size-14" id="{$vo.id}" j-script="{$jscript}{:url('/api/web/ad_show')}?pid={$vo.id}">
<i class="foxui-icon-kejian-o"></i>
<span>调用</span>
</button>
<button class="foxui-size-mini foxui-color-primary add-btn font-size-14" id="{$vo.id}">
<i class="foxui-icon-jiahao-o"></i>
<span>添加字段</span>
</button>
</div>
</div>
<div class="foxui-collapse-content foxui-padding-left-40 foxui-padding-right-40 foxui-margin-top-24">
<div class="foxui-row foxui-gutter-8 adverts-list-container">
{if sizeof($vo->slides) > 0}
{foreach $vo->slides as $keyy=>$voo }
<div class="foxui-col-xs-8 foxui-col-sm-8 foxui-col-xxl-6 foxui-animate-fadeInDown advertising" data-id="{$voo.id}">
<div class="adverts-item">
<div class="foxui-images">
<div class="foxui-images-card">
<ul class="foxui-images-list">
{if $voo.img_url != ""}
<li class="foxui-images-item foxui-animate-fadeInDown">
<div class="content">
<img src="{$voo.img_url}" />
<span class="replace">替换</span>
<i class="foxui-icon-cuowu-f delete"></i>
</div>
</li>
{/if}
<div class="foxui-images-handle">
<div class="foxui-images-handle-inner">
<i class="foxui-icon-jiahao-o"></i>
<span class="text">添加图片</span>
</div>
</div>
</ul>
</div>
</div>
<div class="adverts-text-box">
<div class="foxui-input-group foxui-margin-top-8">
<label>标题:</label>
<div class="foxui-input-suffix">
<input class="foxui-size-small" maxlength="30" placeholder="请输入广告位名称" value="{$voo.title}" name="title"/>
<i class="foxui-suffix-icon foxui-suffix-count">0/30</i>
</div>
</div>
<div class="foxui-input-group foxui-margin-top-12">
<label>链接:</label>
<div class="foxui-input-suffix">
<input class="foxui-size-small" placeholder="请输入跳转地址" value="{$voo.link}" name="link"/>
</div>
</div>
<div class="foxui-input-group foxui-margin-top-12 foxui-padding-bottom-8 foxui-padding-top-8 foxui-justify-content-end">
<button class="foxui-size-mini foxui-color-primary set-btn font-size-14" id="{$voo.id}" edit-type="2">
<i class="foxui-icon-shezhi-o"></i>
<span>设置</span>
</button>
<button class="foxui-size-mini foxui-color-primary delete-btn font-size-14" id="{$voo.id}" del-type="2" title="{$voo.title}">
<i class="foxui-icon-shanchu-o"></i>
<span>删除</span>
</button>
</div>
</div>
</div>
</div>
{/foreach}
{/if}
</div>
</div>
</li>
{/foreach}
</ul>
</div>
</div>
</div>
{include file="footed-copy"/}
<div class="foxcms-content-footer">
<button class="is-long foxui-size-small foxui-solid-primary" id="save">保存</button>
</div>
{/block}
{block name="js"}
<script src="{$staticPath}js/slide_adv.js"></script>
<script>
// 删除 广告位
$(document).on('click', '.foxui-collapse .delete-btn', function () {
// $(this).each(function (index, item){
let delType = $(this).attr('del-type');
let id = $(this).attr('id');
if (!id) {
if (delType == 1) {
//广告位
$(this).closest('li').fadeOut('fast');
return;
} else if (delType == 2) {
$(this).closest('.foxui-animate-fadeInDown').fadeOut('fast');
return;
}
}
let url = SLIDEDELETE_PATH + `?id=${id}`;
let title = $(this).attr('title');
if (delType == 1) {
//广告位
url = "{:url('AdvertisingSpace/delete')}?id=" + id;
title = title + '及下广告';
}
let _this = $(this);
foxui.dialog({
title: '删除',
content: '您确定要删除【' + title + '】吗',
cancelText: '取消',
confirmText: '删除',
buttonType: 'danger',
confirm: function (callback) {
$.ajax({
type: 'get',
url: url,
dataType: 'json',
success: function (res) {
if (res.code == 1) {
foxui.message({
text: res.msg,
type: 'success',
});
if (delType == 1) {
//广告位
$(_this).closest('li').fadeOut('fast');
} else if (delType == 2) {
$(_this).closest('.foxui-animate-fadeInDown').fadeOut('fast');
}
} else {
foxui.message({
text: res.msg,
type: 'warning',
});
}
},
error: function (res) {
foxui.message({
text: res.msg,
type: 'info',
});
},
});
callback();
},
cancel: function () {
foxui.message({
text: '取消删除',
type: 'info',
});
},
});
});
// 设置
$(document).on('click', '.foxui-collapse .set-btn', function () {
let editType = $(this).attr('edit-type');
let id = $(this).attr('id');
let columnId = $("input[name='columnId']").val();
if (editType == 1) {
//广告位
window.location.href = "{:url('AdvertisingSpace/edit')}?type=1&id="+id+"&columnId="+columnId;
} else if (editType == 2) {
//幻灯片
window.location.href = SLIDEEDIT_PATH + `?type=1&id=${id}&columnId=${columnId}`;
}
});
</script>
<script>
function copyLangColumn(obj) {
let lang = $(obj).attr('data-id');
let langtext = $(obj).text();
foxui.dialog({
title: '确认',
content: '您确定要复制'+langtext+'的广告位吗',
confirmText: '确定',
cancelText: '取消',
confirm: function (callback) {
$('#collapseContainer').addClass('loading-container');
ajaxR('copyLangAdv', "post", {lang}, {}, function (res) {
if (res.code == 1) {
foxui.message({
type:'success',
text:res.msg
})
setTimeout('myrefresh()', 100); //指定10秒刷新一次
} else {
foxui.message({
type:'warning',
text:res.msg
})
$('#collapseContainer').removeClass('loading-container');
}
}, function (res) {
foxui.message({
type:'warning',
text: res.responseJSON.msg
})
$('#collapseContainer').removeClass('loading-container');
})
callback();
},
});
}
//改变状态
function updateStatus(obj) {
let id = $(obj).attr("id");
let isCheck = $(obj).is(".is-checked");
let idList = [];
idList.push(id);
ajaxR('updateStatus', "post", {"idList": JSON.stringify(idList),"status": isCheck?0:1}, {}, function (res) {
if (res.code == 1) {
foxui.message({
text: res.msg,
type: 'success',
});
} else {
foxui.message({
text: res.msg,
type: 'warning',
});
}
})
}
/**
* 获取栏目数据
* @param li 获取广告位数据
* @returns {{column: (*|Window.jQuery|string), objArr: *[]}}
*/
function getAdvertising(li){
let id = $(li).attr("data-id");
let name = $(li).find('input[name="name"]').val();
let status = $(li).find(".adv_status").is('.is-checked')?1:0;
let slides = [];
$(li).find(".advertising").each(function (index, item){
let slideId = $(this).attr("data-id");
let title = $(this).find('input[name="title"]').val();
let link = $(this).find('input[name="link"]').val();
let img_url = $(this).find("img").attr("src");
if(img_url == undefined){
img_url = "";
}
slides.push({title, link, img_url, "id":slideId});
});
let data = {id, name, status, slides};
return data;
}
//保存
$('#save').click(function (){
let dataArr = [];
$(".foxui-collapse>li").each(function (index, item){
dataArr.push(getAdvertising(item));
});
let data = {"dataArr": dataArr};
foxui.dialog({
title: '保存',
content: '您确定要保存吗',
cancelText: '取消',
confirmText: '保存',
confirm: function (callback) {
$('#collapseContainer').addClass('loading-container');
ajaxR('{:url("save")}', "post", data, {}, function (res) {
if (res.code == 1) {
foxui.message({
type: 'success',
text: '操作成功'
})
setTimeout('myrefresh()', 1000); //指定10秒刷新一次
} else {
foxui.message({
type: 'warning',
text: res.msg
})
$('#collapseContainer').removeClass('loading-container');
}
}, function (res) {
foxui.message({
type:'warning',
text: "操作失败"
})
$('#collapseContainer').removeClass('loading-container');
})
callback();
},
cancel: function () {
foxui.message({
type: 'warning',
text: '取消操作'
})
},
});
});
</script>
{/block}