230 lines
9.5 KiB
HTML
230 lines
9.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
|
|
<link href="/jscss/style.css" rel="stylesheet" type="text/css" />
|
|
<script type="text/javascript" charset="utf-8" src="/jscss/theme.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container">
|
|
<form class="search" onsubmit="table.search(this,'btn');return false;">
|
|
<ul></ul>
|
|
<div>
|
|
<div class="sinps"></div>
|
|
<div class="sbtns">
|
|
<button class="lang btn" type="submit">查询</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
<div class="topbtn">
|
|
<a class="lang btn" onclick="edit(0)">添加</a>
|
|
<a class="lang btn" onclick="multiin()">导入</a>
|
|
<a class="lang btn" onclick="exportxls()">导出</a>
|
|
</div>
|
|
<div class="table">
|
|
<div class="loading col-24">Loading...</div>
|
|
<div class="list"></div>
|
|
<div>
|
|
<div class="btmbtn">
|
|
<a class="lang btn def" onclick="ciyfn.select_all(table)">全选</a>
|
|
<a class="lang btn def" onclick="ciyfn.select_diff(table)">反选</a>
|
|
|
|
|
<a class="lang btn dag" onclick="ciyfn.select_callfunc(table, this, 'del','已选{n}条,是否批量删除?', {},function(json){table.delline(json)})">批量删除</a>
|
|
</div>
|
|
<div class="page"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="alert_multiin" style="display:none;">
|
|
<div style="display:flex;">
|
|
<div>
|
|
<ciy-upload com="file" />
|
|
</div>
|
|
<div style="margin-left:0.3em;">
|
|
<a class="lang btn btn-sm def" href="/ud/inpl/ap_art_post.xlsx" target="_blank">下载导入模板</a><br />
|
|
<div class="lang">每次导入建议不超过1000条</div>
|
|
<div class="lang">导入更新,首列为导出的行码</div>
|
|
<div class="lang">请按模版列填写</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="alert_edit" style="display:none;">
|
|
<div class="char4 row">
|
|
<div class="ciy-form col-24 col-sm-18">
|
|
<label class="lang imp">推荐排序</label>
|
|
<div>
|
|
<ciy-radio com="artsort" />
|
|
</div>
|
|
</div>
|
|
<div class="ciy-form col-24 col-sm-6">
|
|
<label class="lang">阅读数</label>
|
|
<div>
|
|
<input type="text" name="readcnt" style="width:100%;" />
|
|
</div>
|
|
</div>
|
|
<div class="ciy-form col-24 col-sm-24">
|
|
<label class="lang imp">文章标题</label>
|
|
<div>
|
|
<input type="text" name="name" style="width:100%;" />
|
|
</div>
|
|
</div>
|
|
<div class="ciy-form col-24 col-sm-12">
|
|
<label class="lang">来源</label>
|
|
<div>
|
|
<input type="text" name="source" style="width:100%;" />
|
|
</div>
|
|
</div>
|
|
<div class="ciy-form col-24 col-sm-12">
|
|
<label class="lang">作者</label>
|
|
<div>
|
|
<input type="text" name="author" style="width:100%;" />
|
|
</div>
|
|
</div>
|
|
<div class="ciy-form col-24 col-sm-6 top">
|
|
<label class="lang">音视频</label>
|
|
<div>
|
|
<ciy-upload com="avmp" num="1" type="mp3,mp4,wav,ogg" />
|
|
</div>
|
|
</div>
|
|
<div class="ciy-form col-24 col-sm-18 top">
|
|
<label class="lang">缩略图</label>
|
|
<div>
|
|
<ciy-upload com="img" num="1" type="jpg,png,webp" />
|
|
</div>
|
|
</div>
|
|
<div class="ciy-form col-24 col-sm-24 top">
|
|
<label class="lang">摘要</label>
|
|
<div>
|
|
<ciy-textarea com="descs" total="{line}行,{word}字" />
|
|
</div>
|
|
</div>
|
|
<div class="ciy-form col-24 col-sm-24 top">
|
|
<div>
|
|
<ciy-markdown com="content" imgwidth="1200" zipjpg="60" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript" src="/jscss/ciy.js"></script>
|
|
<script type="text/javascript" src="/jscss/ciycmp.js"></script>
|
|
<script type="text/javascript" src="/jscss/ciycmp2.js"></script>
|
|
<script type="text/javascript" src="/jscss/ciytable.js"></script>
|
|
<script type="text/javascript" src="../common.js"></script>
|
|
<script type="text/javascript">
|
|
'use strict';
|
|
var table;
|
|
var Glob = {};
|
|
ciyfn.pageload(function () {
|
|
//Glob.urlp = ciyfn.urlparam();
|
|
table = new ciyclass.table({
|
|
dom: '.table'
|
|
, url: 'list'
|
|
, pagecount: 10
|
|
, fn_beforedata: function (json) {
|
|
ciyfn.fillsearch({
|
|
searchdom: '.search'
|
|
, data: json
|
|
, liall: '全部'
|
|
, lidata: 'artstatus'
|
|
, liclick: function (dom) {
|
|
table.search(dom, 'li');
|
|
}
|
|
});
|
|
return json;
|
|
}
|
|
, fn_tdcontent: function (key, datashow, field, data) {
|
|
if (key == '_btn') {
|
|
var html = '';
|
|
html += `<a class="lang btn" onclick="menubtn(this, 'edit')">修改</a>`;
|
|
return html;
|
|
}
|
|
}
|
|
, fn_done: function (json) {
|
|
// table.mergecol('auditstatus');
|
|
// table.mergefix('总计', 'center', 6, 0, 8, 1);
|
|
// table.footertotal();
|
|
}
|
|
});
|
|
table.callpage(1);
|
|
});
|
|
function menubtn(dom, btn) {
|
|
var id = $5(dom).parent('tr').attr('data-id');
|
|
if (btn == 'edit') {
|
|
edit(id);
|
|
}
|
|
if (btn == 'sub') {
|
|
ciyfn.sendsignal(window.top, 'manage_ifropen', {
|
|
url: 'xxx.html?_xxxid=' + id
|
|
, name: '版块文章<code>' + table.data[id].name + '</code>'
|
|
});
|
|
}
|
|
}
|
|
|
|
function getdata(id, act, cb) {
|
|
ciyfn.callfunc('getdata', { id: id, act: act }, function (json) {
|
|
cb(json);
|
|
});
|
|
// cb({ data: id == 0 ? {} : table.data[id] });
|
|
}
|
|
|
|
function edit(id) {
|
|
getdata(id, 'edit', function (jsndat) {
|
|
ciyfn.alert({
|
|
title: id == 0 ? '新建' : '修改'
|
|
, width: 'pc'
|
|
, content: document.getElementById("alert_edit").innerHTML
|
|
//, noparent:true
|
|
, fn_showed: function (doc, dom) {
|
|
var dat = jsndat.data;
|
|
var path = ciyfn.makeuploadpath('art', ciyfn.getstorage(ciy_vars.tokenfield));
|
|
ciycmp({ dom: $5('[com=artsort]', dom), value: dat.artsort, range: 'artsort' });
|
|
$5('[name=name]', dom).val(dat.name);
|
|
$5('[name=source]', dom).val(dat.source);
|
|
$5('[name=author]', dom).val(dat.author);
|
|
$5('[name=readcnt]', dom).val(dat.readcnt);
|
|
ciycmp({ dom: $5('[com=avmp]', dom), value: dat.avmp, path: path });
|
|
ciycmp({ dom: $5('[com=img]', dom), value: dat.img, path: path });
|
|
ciycmp({ dom: $5('[com=descs]', dom), value: dat.descs });
|
|
ciycmp({ dom: $5('[com=content]', dom), value: dat.content, path: path });
|
|
}
|
|
, cb: function (opn) {
|
|
if (opn.btn == "关闭")
|
|
return opn.close();
|
|
opn.inputs.id = id;
|
|
opn.inputs.btn = opn.btn;
|
|
if (ciyfn.throttle(opn.dombtn)) return;
|
|
ciyfn.callfunc('update', opn.inputs, function (json) {
|
|
table.updateline(json);
|
|
opn.close();
|
|
ciyfn.toast('提交成功');
|
|
});
|
|
},
|
|
btns: ["#保存草稿(Ctrl+S)", "审核发布", "*关闭"],
|
|
});
|
|
});
|
|
}
|
|
function multiin() {
|
|
ciyfn.table_multiin('importxls', document.getElementById("alert_multiin").innerHTML, function (json) {
|
|
ciyfn.toast('导入成功');
|
|
table.cachecount = -1;
|
|
table.callpage();
|
|
});
|
|
}
|
|
|
|
function exportxls() {
|
|
ciyfn.table_exportxls('exportxls', table, function (json) {
|
|
ciyfn.alert({
|
|
content: '<div style="text-align:center;"><span class="lang">导出数据已生成</span><br/><br/><a class="lang btn lg" href="' + json.url + '" target="_blank">下载数据</a></div>'
|
|
, btns: null
|
|
});
|
|
});
|
|
}
|
|
</script>
|
|
</body>
|
|
|
|
</html> |