462 lines
15 KiB
HTML
462 lines
15 KiB
HTML
{extend name="foxcms" /}
|
||
|
||
{block name="css"}
|
||
<style>
|
||
.foxui-dialog__wrapper .foxui-dialog__body{
|
||
max-height: 520px;
|
||
overflow-y: auto;
|
||
padding-top: 10px !important;
|
||
padding-bottom: 10px !important;
|
||
}
|
||
</style>
|
||
{/block}
|
||
|
||
{block name="body"}
|
||
<input name="bcid" value="{$bcid}" type="hidden" />
|
||
<input name="tempType" type="hidden"/>
|
||
<input type="hidden" name="path" value="" />
|
||
<input type="hidden" name="file" value="" />
|
||
<input type="hidden" name="activepath" value="{$activepath}" />
|
||
|
||
<div class="foxcms-content-inner">
|
||
<!-- page content -->
|
||
<div class="batch-add-content">
|
||
<div class="section section-panel">
|
||
<div class="section-title">批量新增栏目</div>
|
||
<div class="section-main">
|
||
<div class="section-main-item">
|
||
<div class="foxui-input-group">
|
||
<div class="input-label">
|
||
<label class="foxui-required">内容模型:</label>
|
||
</div>
|
||
<div class="input-box">
|
||
<div class="foxui-select">
|
||
<div class="foxui-select-handle foxui-select-icon">
|
||
<input class="foxui-select-input foxui-size-small" readonly="readonly" placeholder="请选择内容模型" data-id="{$modelRecords[0]['id']}" value="{$modelRecords[0]['title']}" name="column_model">
|
||
<i class="foxui-icon-close-circle" style="display: none;"></i>
|
||
</div>
|
||
<div class="foxui-select-menu">
|
||
<ul class="foxui-select-slide">
|
||
{foreach $modelRecords as $modelRecord }
|
||
<li class="foxui-select-item" data-id="{$modelRecord.id}" onclick="modelChange(event)">{$modelRecord.title}</li>
|
||
{/foreach}
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="section-main-item">
|
||
<div class="foxui-input-group">
|
||
<div class="input-label">
|
||
<label>所属栏目:</label>
|
||
</div>
|
||
<div class="input-box">
|
||
<div class="foxui-select">
|
||
<div class="foxui-select-handle foxui-select-icon">
|
||
<input class="foxui-select-input foxui-size-small" readonly="readonly" placeholder="请选择栏目" value="" name="pid">
|
||
<i class="foxui-icon-close-circle" style="display: none;"></i>
|
||
</div>
|
||
<div class="foxui-select-menu">
|
||
<ul class="foxui-select-slide">
|
||
{foreach $columns as $key=>$vo }
|
||
<li class="foxui-select-item" data-id="{$vo.id}">{$vo.name}</li>
|
||
{/foreach}
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="section-main-item">
|
||
<div class="foxui-input-group">
|
||
<div class="input-label">
|
||
<label class="foxui-required">列表模板:</label>
|
||
</div>
|
||
<div class="input-box">
|
||
<div class="foxui-select">
|
||
<div class="foxui-select-handle foxui-select-icon">
|
||
<input class="foxui-select-input foxui-size-small" readonly="readonly" placeholder="请选择列表模板" value="list_{$modelRecords[0]['id']}.html" name="column_template" onclick="clikTemplate(1)">
|
||
<i class="foxui-icon-close-circle" style="display: none;"></i>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<a class="foxui-link foxui-link-primary" href="/{$adminPath}/template_file/addFile?type=1&columnId={$cid}">新建模板</a>
|
||
</div>
|
||
</div>
|
||
<div class="section-main-item model-template">
|
||
<div class="foxui-input-group">
|
||
<div class="input-label">
|
||
<label class="foxui-required">文档模板:</label>
|
||
</div>
|
||
<div class="input-box">
|
||
<div class="foxui-select">
|
||
<div class="foxui-select-handle foxui-select-icon">
|
||
<input class="foxui-select-input foxui-size-small" readonly="readonly" placeholder="请选择文档模板" value="view_{$modelRecords[0]['id']}.html" name="model_template" onclick="clikTemplate(2)">
|
||
<i class="foxui-icon-close-circle"></i>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<a class="foxui-link foxui-link-primary" href="/{$adminPath}/template_file/addFile?type=1&columnId={$cid}">新建模板</a>
|
||
</div>
|
||
</div>
|
||
<div class="section-main-item">
|
||
<div class="foxui-input-group foxui-align-items-start">
|
||
<div class="input-label">
|
||
<label class="foxui-required">栏目名称:</label>
|
||
</div>
|
||
<div class="block-box">
|
||
<ul class="column-title">
|
||
<li>排序</li>
|
||
<li>顶层栏目名称</li>
|
||
<li class="child-column">
|
||
<span>子栏目名称</span>
|
||
<b>(如"目录名称1,目录名称2..." 多个栏目填写时用英文","分开)</b>
|
||
</li>
|
||
<li>
|
||
<button class="foxui-text-primary delete" id="addColumnBtn">
|
||
<i class="foxui-icon-jiahao-o"></i>
|
||
<span>添加栏目</span>
|
||
</button>
|
||
</li>
|
||
</ul>
|
||
<ul class="foxui-drag foxui-drag-container" id="columnContainer">
|
||
|
||
<li class="foxui-drag-item">
|
||
<div class="foxui-drag-content">
|
||
<div class="column">
|
||
<i class="foxui-drag-handle foxui-icon-liebiao-o"></i>
|
||
</div>
|
||
<div class="column">
|
||
<div class="foxui-input-group">
|
||
<div class="foxui-input-suffix">
|
||
<input class="foxui-size-small" maxlength="10" placeholder="栏目名称" value="">
|
||
<i class="foxui-suffix-icon foxui-suffix-count">2/10</i>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="column">
|
||
<input class="foxui-size-small" placeholder="子栏目名称,多个用英文","分开" value="">
|
||
</div>
|
||
<div class="column">
|
||
<button class="foxui-size-small color-primary delete">
|
||
<i class="foxui-icon-shanchu-o"></i>
|
||
<span>删除</span>
|
||
</button>
|
||
</div>
|
||
</div>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="foxcms-content-footer">
|
||
<button class="is-long foxui-size-small foxui-solid-primary" id="save">保存</button>
|
||
</div>
|
||
{include file="footed-copy"/}
|
||
{/block}
|
||
|
||
{block name="js"}
|
||
|
||
<script>
|
||
// 添加栏目
|
||
$('#addColumnBtn').on('click', function () {
|
||
$('#columnContainer').append(
|
||
[
|
||
'<li class="foxui-drag-item" style="display: none">',
|
||
'<div class="foxui-drag-content">',
|
||
'<div class="column">',
|
||
'<i class="foxui-drag-handle foxui-icon-liebiao-o"></i>',
|
||
'</div>',
|
||
'<div class="column">',
|
||
'<div class="foxui-input-group">',
|
||
'<div class="foxui-input-suffix">',
|
||
'<input class="foxui-size-small" maxlength="10" placeholder="栏目名称" value="" />',
|
||
'<i class="foxui-suffix-icon foxui-suffix-count">0/10</i>',
|
||
'</div>',
|
||
'</div>',
|
||
'</div>',
|
||
'<div class="column">',
|
||
`<input class='foxui-size-small' placeholder='子栏目名称,多个用英文","分开' value='' />`,
|
||
'</div>',
|
||
'<div class="column">',
|
||
'<button class="foxui-size-small color-primary delete">',
|
||
'<i class="foxui-icon-shanchu-o"></i>',
|
||
'<span>删除</span>',
|
||
'</button>',
|
||
'</div>',
|
||
'</div>',
|
||
'</li>',
|
||
].join('')
|
||
);
|
||
$('#columnContainer .foxui-drag-item:last-child').slideDown('fast');
|
||
});
|
||
|
||
// 删除栏目
|
||
$(document).on('click', '#columnContainer .delete', function (event) {
|
||
const currentTarget = event.currentTarget;
|
||
foxui.dialog({
|
||
title: '删除',
|
||
content: '您确定要删除吗',
|
||
cancelText: '取消',
|
||
confirmText: '删除',
|
||
buttonType: 'danger',
|
||
confirm: function (callback) {
|
||
callback();
|
||
// 添加加载层
|
||
foxui.loading();
|
||
// 摸拟后台删除成功后执行
|
||
setTimeout(() => {
|
||
foxui.closeLoading();
|
||
// 删除数据
|
||
$(currentTarget)
|
||
.closest('.foxui-drag-item')
|
||
.slideUp('fast', function () {
|
||
$(this).remove();
|
||
});
|
||
}, 200);
|
||
},
|
||
});
|
||
});
|
||
|
||
//获取对应模型
|
||
function getModelHtml(model){
|
||
$.ajax({
|
||
type: "get",
|
||
url: ADMIN_PATH + '/BatchColumn/getModelHtml?model=' + model,
|
||
dataType:"json",
|
||
async:false,
|
||
success:function(res){
|
||
if(res.code ==1 && res.data){
|
||
let data = res.data;
|
||
if(data.is_view == 1){
|
||
$('input[name="column_template"]').val(data.column_template);
|
||
$('input[name="model_template"]').val(data.model_template);
|
||
$('.model-template').show();
|
||
}else{
|
||
$('input[name="column_template"]').val(data.column_template);
|
||
$('.model-template').hide();
|
||
}
|
||
}else{
|
||
console.log("查询模型失败。。。。");
|
||
}
|
||
},error:function(res){
|
||
console.log("查询模型失败。。。。");
|
||
}
|
||
});
|
||
}
|
||
</script>
|
||
|
||
<script>
|
||
|
||
//模型切换
|
||
function modelChange(event){
|
||
let model = $(event.target).attr("data-id");
|
||
if(model == "single"){
|
||
$('.model-template').hide();
|
||
}else{
|
||
$('.model-template').show();
|
||
}
|
||
getModelHtml(model);
|
||
}
|
||
//点击文件
|
||
function clikFile(obj){
|
||
let path = $(obj).find('span').attr('data-path');
|
||
let file = $(obj).find('span').attr('data-file');
|
||
$('input[name="path"]').val(path);
|
||
let file_path = "";
|
||
if(path == undefined || path == ""){
|
||
file_path = file;
|
||
}else{
|
||
let activepath = $('input[name="activepath"]').val();
|
||
path = path.substr((activepath.length));
|
||
if(path != undefined && path != ""){
|
||
file_path = path + "/" + file;
|
||
}else{
|
||
file_path = file;
|
||
}
|
||
}
|
||
$('input[name="file"]').val(file_path);
|
||
|
||
$(obj).closest(".foxui-table-tr").siblings().css("background-color","");//移除兄弟节点样式
|
||
$(obj).closest(".foxui-table-tr").css("background-color","#dadae9");
|
||
}
|
||
|
||
//点击目录
|
||
function clikDir(obj){
|
||
$(obj).closest('.foxui-dialog__wrapper').find('.foxui-icon-guanbi-o').click();
|
||
let path = $(obj).find('span').attr('data-path');
|
||
selectTemplate(path);
|
||
}
|
||
|
||
//type 1:栏目模板 2:模型模板
|
||
function clikTemplate(tempType){
|
||
$('input[name="tempType"]').val(tempType);
|
||
selectTemplate();
|
||
}
|
||
|
||
function selectTemplate(path){
|
||
let contentHtml = `<div class="foxui-table foxui-table-border-bottom foxui-table-stripe foxui-table-hover">`;
|
||
|
||
contentHtml += ` <ul class="foxui-table-thead">
|
||
<li class="foxui-table-tr">
|
||
<div class="foxui-table-th">文件名</div>
|
||
<div class="foxui-table-th">文件大小</div>
|
||
<div class="foxui-table-th">更新时间</div>
|
||
</li>
|
||
</ul>`;
|
||
|
||
contentHtml += `<ul class="foxui-table-tbody">`
|
||
|
||
let data = {activepath:path};
|
||
$.ajax({
|
||
type: "get",
|
||
url: "{:url('Column/temp')}",
|
||
dataType:"json",
|
||
data:data,
|
||
async:false,
|
||
success:function(res){
|
||
if(res.code ==1 && res.data){
|
||
let data = res.data;
|
||
if(path == undefined){
|
||
path = "";
|
||
}
|
||
data.forEach((item, index)=>{
|
||
if(item.filetype == 'dir' || item.filetype == 'dir2'){
|
||
if(item.filepath != ""){
|
||
contentHtml += `<li class="foxui-table-tr foxui-padding-bottom-8 foxui-padding-top-8" onclick="clikDir(this)" style="cursor: pointer;" >`;
|
||
if(item.filetype == 'dir'){
|
||
contentHtml += '<i class="foxui-icon-mulu-f foxui-margin-right-4 foxui-color-warning" style="font-size:18px"></i><span data-path="'+ item.filepath +'">'+item.filename+'</span>';
|
||
}else {
|
||
contentHtml += '<i class="foxui-icon-wenjianjia-f foxui-margin-right-4 foxui-color-warning" style="font-size:18px"></i><span data-path="'+ item.filepath +'">'
|
||
+ "返回上级" + item.intro
|
||
+'</span>';
|
||
}
|
||
}
|
||
}else{
|
||
contentHtml += `<li class="foxui-table-tr" onclick="clikFile(this)" style="cursor: pointer;">`;
|
||
if(item.filetype == 'htm' || item.filetype == 'html'){
|
||
contentHtml += '<div class="foxui-table-td"><i class="foxui-icon-wenzhang-f foxui-margin-right-4 foxui-color-primary" style="font-size: 18px"></i><span data-path="'+ path +'" data-file="'+ item.filename +'" >'+item.filename +'</span></div>';
|
||
}else{
|
||
contentHtml += `<div class="foxui-table-td"><i class="foxui-icon-wenzhang-f foxui-margin-right-4 foxui-color-primary" style="font-size: 18px"></i><span data-path="${path}">${item.filename}</span></div>`;
|
||
}
|
||
}
|
||
contentHtml += `<div class="foxui-table-td">`+ item.filesize+`</div>`;
|
||
contentHtml += `<div class="foxui-table-td">`+ item.filetime+`</div>`;
|
||
contentHtml += `</li>`;
|
||
})
|
||
|
||
}
|
||
},error:function(res){
|
||
console.log("查询图片失败。。。。");
|
||
}
|
||
});
|
||
contentHtml += `</ul>`;
|
||
contentHtml += `</div>`;
|
||
|
||
foxui.dialog({
|
||
title: '选择模板',
|
||
content: contentHtml,
|
||
cancelText: '取消',
|
||
confirmText: '确定',
|
||
buttonSize: 'small',
|
||
buttonAlign: 'center',
|
||
width: '900px',
|
||
buttonWidth: '300px',
|
||
border: true,
|
||
confirm: function (callback) {
|
||
let tempType = $('input[name="tempType"]').val();
|
||
if(tempType == 1){
|
||
let file = $('input[name="file"]').val();
|
||
$('input[name="column_template"]').val(file);
|
||
}else if(tempType == 2){
|
||
let file = $('input[name="file"]').val();
|
||
$('input[name="model_template"]').val(file);
|
||
}
|
||
callback();
|
||
},
|
||
cancel: function () {
|
||
|
||
},
|
||
});
|
||
|
||
}
|
||
|
||
|
||
/**
|
||
* 获取栏目数据
|
||
* @param li 栏目项对象
|
||
* @returns {{column: (*|Window.jQuery|string), objArr: *[]}}
|
||
*/
|
||
function getColumns(li){
|
||
let inputs =$(li).find('input');
|
||
let colunm = {
|
||
'column_model':$('input[name="column_model"]').attr('data-id'),
|
||
'pid':$('input[name="pid"]').attr('data-id'),
|
||
'column_template':$('input[name="column_template"]').val(),
|
||
'model_template':$('input[name="model_template"]').val()};
|
||
$(inputs).each( (index, item)=>{
|
||
let itval = $(item).val();//栏目值
|
||
if(index == 0){
|
||
colunm.name = itval;
|
||
}else{
|
||
colunm.colunmstr = itval;
|
||
}
|
||
});
|
||
return colunm;
|
||
}
|
||
|
||
//保存
|
||
$('#save').click(function() {
|
||
|
||
let dataArr = [];
|
||
$("#columnContainer>li").each(function (index, item){
|
||
dataArr.push(getColumns(item));
|
||
});
|
||
let pid = $('input[name="pid"]').attr('data-id')??0;
|
||
let data = {'columns': JSON.stringify(dataArr), 'pid':pid};
|
||
foxui.dialog({
|
||
title: '保存',
|
||
content: '您确定要保存吗',
|
||
cancelText: '取消',
|
||
confirmText: '保存',
|
||
confirm: function() {
|
||
ajaxR('save','post',data,{},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
|
||
})
|
||
}
|
||
}, function (res) {
|
||
foxui.message({
|
||
type:'danger',
|
||
text: res.responseJSON.msg
|
||
})
|
||
})
|
||
},
|
||
cancel: function() {
|
||
foxui.message({
|
||
type: 'warning',
|
||
text: '取消操作'
|
||
})
|
||
},
|
||
});
|
||
|
||
})
|
||
</script>
|
||
|
||
{/block}
|