Files
SMANAGE/backup/GERP old/write/docs.html
T

161 lines
7.1 KiB
HTML

<resource-share type="script" src="/assets/js/formConfigs/DocForm.js"></resource-share>
<div class="layui-fluid">
<div class="layui-row layui-col-space15">
<div class="layui-col-md12">
<div class="layui-card">
<table class="layui-hide" id="ID-treeTable"></table>
<script type="text/html" id="TPL-treeTable">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-warm layui-btn-sm" lay-event="NewDoc">新建文章</button>
<button class="layui-btn layui-btn-sm" lay-event="FullChecked">展开全部</button>
<button class="layui-btn layui-btn-sm" lay-event="FullOutChecked">收起全部</button>
<button class="layui-btn layui-btn-sm" lay-event="Refresh">刷新</button>
</div>
</script>
<script type="text/html" id="TPL-treeTable-tools">
<div class="layui-btn-container">
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-warm layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-xs" lay-event="more">更多 <i class="layui-icon layui-icon-down"></i></a>
</div>
</script>
</div>
</div>
</div>
</div>
<script>
layui.use(['treeTable', 'layer', 'dropdown', 'form', 'formEngine'], function() {
const treeTable = layui.treeTable;
const layer = layui.layer;
const dropdown = layui.dropdown;
const form = layui.form;
const formEngine = layui.formEngine;
// 渲染树形表格
const tableInst = treeTable.render({
elem: '#ID-treeTable',
id: 'ID-treeTable',
url: '/API/doc/doc/GetDocs?DocSerieUUID=' + ARGS.DocSerieUUID,
tree: {
view: {
iconLeaf: '<i class="layui-icon layui-icon-username"></i>'
}
},
toolbar: '#TPL-treeTable',
cols: [[
{ type: 'checkbox', fixed: 'left' },
{ field: 'DocUUID', title: '文章编号', width: 270 },
{ field: 'DocTitle', title: '文章名称', minWidth: 300 },
{ field: 'DocCreateTime', title: '文章创建时间', width: 300 },
{ field: 'DocPermission', title: '文章所需权限', width: 170 },
{ field: 'DocPwdDesc', title: '文章密码提示', width: 200 },
{
fixed: 'right',
title: '操作',
width: 200,
align: 'center',
toolbar: '#TPL-treeTable-tools'
}
]],
page: false
});
// 表头工具栏事件
treeTable.on('toolbar(ID-treeTable)', function(obj) {
const tableId = obj.config.id;
switch (obj.event) {
case 'FullChecked':
layer.msg('成功展开全部', {icon: 1});
treeTable.expandAll(tableId, true);
break;
case 'FullOutChecked':
layer.msg('成功收起全部', {icon: 1});
treeTable.expandAll(tableId, false);
break;
case 'Refresh':
tableInst.reload();
layer.msg('已刷新', {icon: 1});
break;
case 'NewDoc':
formEngine.openRegisteredForm('Doc-add', {
confirm: function(data, close) {
data.DocSerieUUID = DocSerieUUID;
$.post('/API/doc/doc/AddDoc', data, function(res) {
if (res.code == 0) {
layer.msg('成功添加文章', {icon: 1});
tableInst.reload();
close();
} else {
layer.msg(`添加失败:${res.msg}`, {icon: 5});
}
}).fail(() => layer.msg('网络错误', {icon: 5}));
}
});
break;
}
});
// 单元格工具事件
treeTable.on(`tool(${tableInst.config.id})`, function(obj) {
const { event: layEvent, data: trData, tr: trElem, config: { id: tableId } } = obj;
if (layEvent === 'detail') {
gerp.addTab(
`文章 - 视图 [${trData.DocTitle}]`,
`/write/write.html?DocUUID=${trData.DocUUID}`
);
}
else if (layEvent === 'edit') {
// 打开已注册的编辑文章表单
formEngine.openRegisteredForm('Doc-edit', {
data: trData,
confirm: function(data, close) {
data.DocUUID = trData.DocUUID;
$.post('/API/doc/doc/ModifyDocSettings', data, function(res) {
if (res.code == 0) {
layer.msg('成功修改文章信息', {icon: 1});
tableInst.reload();
close();
} else {
layer.msg(`修改失败:${res.msg}`, {icon: 5});
}
}).fail(() => layer.msg('网络错误', {icon: 5}));
}
});
}
else if (layEvent === 'more') {
dropdown.render({
elem: this,
show: true,
align: 'right',
data: [{ title: '删除', id: 'del' }],
click: function(menudata) {
if (menudata.id === 'del') {
Toast.warning('文章变更操作', '注销文章应由组织决定!', 3000);
Toast.warning('文章变更操作', '验权在后端实现,前端未作限制!', 3000);
Toast.warning('文章变更操作', '请考虑后果!', 3000);
layer.confirm("确定要删除此文章吗?删除后不可恢复!", {
title: '删除确认',
icon: 3
}, function(index) {
$.post("/API/doc/doc/DeleteDoc", {
DocUUID: trData.DocUUID
}, function(data) {
if (data.code == 0) {
layer.msg('删除成功', {icon: 1});
obj.del();
tableInst.reload();
} else {
layer.msg(`删除失败:${data.msg}`, {icon: 5});
}
}).fail(() => layer.msg('网络错误', {icon: 5}));
layer.close(index);
});
}
}
});
}
});
});
</script>