@@ -16,15 +16,20 @@ include(DEDEDATA.'/mark/inc_photowatermark_config.php'); | |||
<link rel="stylesheet" href="/static/web/css/bootstrap.min.css"> | |||
<link rel="stylesheet" href="/static/web/css/admin.css"> | |||
</head> | |||
<body> | |||
<div id="wrap"> | |||
<div id="topbar"> | |||
<body class="p-3"> | |||
<div class="card shadow-sm mb-3"> | |||
<div id="imgs-topbar" class="card-body"> | |||
<label><input type="checkbox" name="isWater" id="isWater" <?php if ($photo_markup == '1') echo 'checked';?>> 是否水印</label> | |||
<button class="btn btn-success btn-sm addfile">添加图片</button> | |||
<button class="btn btn-success btn-sm removeall">清空图片</button> | |||
<button class="btn btn-success btn-sm upall">全部上传</button> | |||
</div> | |||
<ul id="file_list"></ul> | |||
</div> | |||
<div class="card shadow-sm"> | |||
<div class="card-header">插入多图</div> | |||
<div class="card-body"> | |||
<ul id="imgs-list"></ul> | |||
</div> | |||
</div> | |||
<script> | |||
var axupimgs = {}; | |||
@@ -57,7 +62,7 @@ include(DEDEDATA.'/mark/inc_photowatermark_config.php'); | |||
var upload_base_path = axupimgs.images_upload_base_path; | |||
//为列表添加排序 | |||
function reSort() { | |||
document.querySelectorAll('#file_list li').forEach((el, i) => { | |||
document.querySelectorAll('#imgs-list li').forEach((el, i) => { | |||
el.setAttribute('data-num', i); | |||
}); | |||
} | |||
@@ -81,13 +86,13 @@ include(DEDEDATA.'/mark/inc_photowatermark_config.php'); | |||
li.innerHTML='<div class="picbox"><img src="'+blobUrl+'"></div><div class="namebox"><span>'+file.name+'</span></div><div class="tools"><a class="remove"></a></div>'; | |||
vDom.appendChild(li); | |||
} | |||
document.querySelector('#file_list').appendChild(vDom); | |||
document.querySelector('#imgs-list').appendChild(vDom); | |||
//reSort(); | |||
} | |||
//清空列表 | |||
document.querySelector('#topbar .removeall').addEventListener('click', () => { | |||
document.querySelector('#imgs-topbar .removeall').addEventListener('click', () => { | |||
axupimgs.res=[] | |||
document.querySelectorAll('#file_list li').forEach((el, i) => { | |||
document.querySelectorAll('#imgs-list li').forEach((el, i) => { | |||
el.parentNode.removeChild(el) | |||
}); | |||
}); | |||
@@ -124,7 +129,7 @@ include(DEDEDATA.'/mark/inc_photowatermark_config.php'); | |||
} | |||
}); | |||
//添加文件 | |||
document.querySelector('#topbar .addfile').addEventListener('click', () => { | |||
document.querySelector('#imgs-topbar .addfile').addEventListener('click', () => { | |||
var input = document.createElement('input'); | |||
input.setAttribute('type', 'file'); | |||
input.setAttribute('multiple', 'multiple'); | |||
@@ -141,7 +146,7 @@ include(DEDEDATA.'/mark/inc_photowatermark_config.php'); | |||
file_i = n; | |||
if (len == n) { | |||
file_i=0; | |||
document.querySelector('#topbar .upall').innerText='全部上传'; | |||
document.querySelector('#imgs-topbar .upall').innerText='全部上传'; | |||
//返回 | |||
axupimgs.res.forEach((v, k) => { | |||
let addonHTML = `<img src='${v.url}'>`; | |||
@@ -168,26 +173,26 @@ include(DEDEDATA.'/mark/inc_photowatermark_config.php'); | |||
} | |||
axupimgs.res[file_i].url = url; | |||
filename = url.split('/').pop(); | |||
var li = document.querySelectorAll('#file_list li')[file_i]; | |||
var li = document.querySelectorAll('#imgs-list li')[file_i]; | |||
li.setAttribute('class','up-over'); | |||
li.querySelector('.namebox span').innerText = filename; | |||
n++ | |||
upAllFiles(n); | |||
},function(err) { | |||
document.querySelector('#topbar .upall').innerText='全部上传'; | |||
document.querySelectorAll('#file_list li.up-now').forEach((el,i) => { | |||
document.querySelector('#imgs-topbar .upall').innerText='全部上传'; | |||
document.querySelectorAll('#imgs-list li.up-now').forEach((el,i) => { | |||
el.setAttribute('class','up-no'); | |||
}); | |||
alert(err); | |||
}); | |||
} | |||
} | |||
document.querySelector('#topbar .upall').addEventListener('click', (e) => { | |||
document.querySelector('#imgs-topbar .upall').addEventListener('click', (e) => { | |||
if (e.target.innerText!='全部上传') { | |||
return false; | |||
} | |||
if (axupimgs.res.length > 0) { | |||
document.querySelectorAll('#file_list li.up-no').forEach((el, i) => { | |||
document.querySelectorAll('#imgs-list li.up-no').forEach((el, i) => { | |||
el.classList ? el.classList.add('up-now') : el.className+=' up-now'; | |||
}); | |||
e.target.innerText='上传中'; | |||
@@ -200,7 +205,7 @@ include(DEDEDATA.'/mark/inc_photowatermark_config.php'); | |||
el.querySelector('.remove').addEventListener('click', (e) => { | |||
var li = e.target.parentNode.parentNode; | |||
var n = li.getAttribute('data-num'); | |||
var el = document.querySelectorAll('#file_list li')[n]; | |||
var el = document.querySelectorAll('#imgs-list li')[n]; | |||
el.parentNode.removeChild(el); | |||
axupimgs.res.splice(n, 1); | |||
}); | |||
@@ -208,7 +213,7 @@ include(DEDEDATA.'/mark/inc_photowatermark_config.php'); | |||
} | |||
reSort(); | |||
}); | |||
observ_flist.observe(document.querySelector('#file_list'),{childList:true}); | |||
observ_flist.observe(document.querySelector('#imgs-list'),{childList:true}); | |||
</script> | |||
</body> | |||
</html> |
@@ -20,7 +20,7 @@ | |||
<li class="breadcrumb-item active">模型版本管理</li> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
<div class="card-header d-flex justify-content-between align-items-center">模型版本管理</div> | |||
<div class="card-header">模型版本管理</div> | |||
<div class="card-body"> | |||
<form name="form1" method="post" action="ai_model_edit.php"> | |||
<input type="hidden" name="dopost" value="delall"> | |||
@@ -26,7 +26,7 @@ | |||
<li class="breadcrumb-item active">发布文档</li> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
<div class="card-header d-flex justify-content-between align-items-center">发布文档<?php if($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-header d-flex justify-content-between align-items-center"><span>发布文档</span><?php if ($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-body"> | |||
<form name="form1" action="article_add.php" method="post" enctype="multipart/form-data"> | |||
<input type="hidden" name="channelid" value="<?php echo $channelid?>"> | |||
@@ -26,7 +26,7 @@ | |||
<li class="breadcrumb-item active">修改文档</li> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
<div class="card-header d-flex justify-content-between align-items-center">修改<?php echo $arcRow['title'];?>文档<?php if($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-header d-flex justify-content-between align-items-center"><span>修改<?php echo $arcRow['title'];?>文档</span><?php if ($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-body"> | |||
<form name="form1" action="article_edit.php" method="post" enctype="multipart/form-data"> | |||
<input type="hidden" name="dopost" value="save"> | |||
@@ -19,7 +19,7 @@ | |||
<li class="breadcrumb-item active">添加栏目</li> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
<div class="card-header d-flex justify-content-between align-items-center">添加栏目<?php if($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-header d-flex justify-content-between align-items-center"><span>添加栏目</span><?php if ($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-body"> | |||
<form name="form1" action="catalog_add.php" method="post"> | |||
<input type="hidden" name="dopost" value="save"> | |||
@@ -19,7 +19,7 @@ | |||
<li class="breadcrumb-item active">批量添加栏目</li> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
<div class="card-header d-flex justify-content-between align-items-center">批量添加栏目<?php if($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-header d-flex justify-content-between align-items-center"><span>批量添加栏目</span><?php if ($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-body"> | |||
<form name="form1" action="catalog_add.php" method="post"> | |||
<input type="hidden" name="dopost" value="savequick"> | |||
@@ -19,7 +19,7 @@ | |||
<li class="breadcrumb-item active">修改栏目</li> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
<div class="card-header d-flex justify-content-between align-items-center">修改栏目<?php if($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-header d-flex justify-content-between align-items-center"><span>修改栏目</span><?php if ($cfg_ai_enabled == 'Y'){;?><button type="button" id="btnAI" onclick="showAI();" class="btn btn-success btn-sm">小德AI助手</button><?php };?></div> | |||
<div class="card-body"> | |||
<form name="form1" action="catalog_edit.php" method="post"> | |||
<input type="hidden" name="dopost" value="save"> | |||
@@ -475,30 +475,22 @@ body.menu-show .admin-content { | |||
border-radius:0 var(--b-radius) var(--b-radius) 0; | |||
cursor:pointer | |||
} | |||
#wrap { | |||
padding:1rem | |||
} | |||
#topbar { | |||
margin-bottom:1rem; | |||
border-bottom:1px solid var(--light); | |||
text-align:right | |||
} | |||
#file_list { | |||
#imgs-list { | |||
display:grid; | |||
grid-gap:1rem; | |||
grid-template-columns:repeat(auto-fill,minmax(160px,1fr)) | |||
} | |||
#file_list:empty:after { | |||
#imgs-list:empty:after { | |||
content:'支持拖拽图此处片上传' | |||
} | |||
#file_list li { | |||
#imgs-list li { | |||
position:relative | |||
} | |||
#file_list li .picbox { | |||
#imgs-list li .picbox { | |||
padding-bottom:75%; | |||
position:relative | |||
} | |||
#file_list li .picbox img { | |||
#imgs-list li .picbox img { | |||
position:absolute; | |||
top:0; | |||
left:0; | |||
@@ -506,10 +498,10 @@ body.menu-show .admin-content { | |||
height:100%; | |||
object-fit:cover | |||
} | |||
#file_list li .namebox { | |||
#imgs-list li .namebox { | |||
padding-top:0.5rem | |||
} | |||
#file_list li.up-over .picbox:after { | |||
#imgs-list li.up-over .picbox:after { | |||
position:absolute; | |||
top:0; | |||
left:0; | |||
@@ -519,20 +511,20 @@ body.menu-show .admin-content { | |||
content:'\f058'; | |||
z-index:1991 | |||
} | |||
#file_list li .tools { | |||
#imgs-list li .tools { | |||
display:none; | |||
position:absolute; | |||
bottom:0; | |||
right:0; | |||
z-index:1992 | |||
} | |||
#file_list li:hover .tools { | |||
#imgs-list li:hover .tools { | |||
display:block | |||
} | |||
#file_list li .tools .remove { | |||
#imgs-list li .tools .remove { | |||
cursor:pointer | |||
} | |||
#file_list li .tools .remove:after { | |||
#imgs-list li .tools .remove:after { | |||
font-family:'FontAwesome'; | |||
font-size:14px; | |||
color:var(--danger); | |||