first commit
This commit is contained in:
@@ -0,0 +1,255 @@
|
||||
{extend name="../../base/view/common/base" /}
|
||||
{block name="style"}
|
||||
<style>
|
||||
.layui-tree-set .layui-tree-txt.on,.layui-tree-set .layui-tree-txt.on:hover{font-weight:800; color:#1E9FFF}
|
||||
.layui-tree-txt{display:inline-block; width:132px; overflow:hidden;}
|
||||
.layui-tree-iconClick{margin-right:3px;}
|
||||
.tree-left{width:268px; float:left; height:calc(100% - 22px); overflow-y: scroll; overflow-x: hidden; border-right:1px solid #e5ecf0; background-color:#fff; padding:12px 10px 10px 5px;}
|
||||
.tree-left h3{font-size:16px; height:30px; padding-left:10px; font-weight:800}
|
||||
.editormd-code-toolbar select{display:inline;}
|
||||
.editormd{margin-bottom:0}
|
||||
.layui-table td{border-color:#e5ecf0}
|
||||
.editormd li{list-style: inherit;}
|
||||
</style>
|
||||
{/block}
|
||||
{block name="breadcrumb"}
|
||||
<span class="layui-breadcrumb">
|
||||
<a href="http://www.meteteme.com/" target="_blank">江苏美天科技</a>
|
||||
<a href="/knowledge/index/index">知识库</a>
|
||||
<a><cite>编辑知识</cite></a>
|
||||
</span>
|
||||
{/block}
|
||||
<!-- 主体 -->
|
||||
{block name="body"}
|
||||
<div class="table-content" style="height:100%">
|
||||
<div class="tree-left">
|
||||
<h3>知识库目录</h3>
|
||||
<div id="tree"></div>
|
||||
</div>
|
||||
<div class="body-table pt-3 pr-3" style="margin-left:296px;">
|
||||
<form class="layui-form">
|
||||
<table class="layui-table" style="margin-bottom:0;">
|
||||
<tr>
|
||||
<td class="layui-td-gray">标题 <span style="color: red">*</span></td>
|
||||
<td><input type="text" value="{$detail.title}" name="title" lay-verify="required" lay-reqText="请输入标题" autocomplete="off" placeholder="请输入标题" class="layui-input"></td>
|
||||
<td class="layui-td-gray">上级目录<span style="color: red">*</span></td>
|
||||
<td>
|
||||
<select name="pid">
|
||||
<option value="0">请选择顶级目录</option>
|
||||
{volist name=":set_recursion(knowledge_doc($detail.knowledge_id))" id="v"}
|
||||
<option value="{$v.id}" {eq name="$v.id" value="$detail.pid"} selected{/eq}>{$v.title}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</td>
|
||||
<td class="layui-td-gray">排序<span style="color: red">*</span></td>
|
||||
<td style="width:80px; text-align:center"><input type="text" name="sort" value="{$detail.sort}" placeholder="请输入排序,数字" autocomplete="off" class="layui-input"></td>
|
||||
</tr>
|
||||
{eq name="$detail.type" value="3"}
|
||||
<tr>
|
||||
<td class="layui-td-gray">跳转链接 <span style="color: red">*</span></td>
|
||||
<td colspan="5">
|
||||
<input type="text" value="{$detail.link}" name="link" lay-verify="required" lay-reqText="请输入标题" autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
</td>
|
||||
</tr>
|
||||
{/eq}
|
||||
</table>
|
||||
{eq name="$detail.type" value="1"}
|
||||
<h5 class="my-3">文档内容</h5>
|
||||
<div>
|
||||
<!-- <textarea id="mdContent" style="display:none;">{$detail.md_content|raw}</textarea> -->
|
||||
<!-- <div id="docContent"></div> -->
|
||||
<textarea class="layui-textarea" id="container"></textarea>
|
||||
</div>
|
||||
{/eq}
|
||||
<div class="mt-4">
|
||||
<input type="hidden" name="id" value="{$id}">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交保存</button>
|
||||
<button lay-event="back" class="layui-btn layui-btn-primary">返回目录</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
<!-- 脚本 -->
|
||||
{block name="script"}
|
||||
<script>
|
||||
const moduleInit = ['tool','tinymce'];
|
||||
function gouguInit() {
|
||||
var form = layui.form,table = layui.table,tool = layui.tool,tree = layui.tree,layer = layui.layer,editor = layui.tinymce;
|
||||
var doc_id = '{$detail.id}';
|
||||
var knowledge_id = '{$detail.knowledge_id}';
|
||||
var content = `{$detail.content|raw}`; // 使用模板字符串来处理内容
|
||||
|
||||
// if($('#docContent').length>0){
|
||||
// var edit = editor.render({
|
||||
// selector: '#docContent',
|
||||
// height: window.innerHeight - 240
|
||||
// });
|
||||
// }
|
||||
var edit = editor.render({
|
||||
selector: "#container",
|
||||
height: window.innerHeight - 240,
|
||||
setup: function (editor) {
|
||||
editor.on('init', function () {
|
||||
editor.setContent(content);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
var treeRender = function(res){
|
||||
//仅节点左侧图标控制收缩
|
||||
tree.render({
|
||||
elem: '#tree',
|
||||
data: res.trees,
|
||||
spread: true,
|
||||
id: 'book',
|
||||
edit: ['add', 'del'], //操作节点的图标
|
||||
onlyIconControl: true, //是否仅允许节点左侧图标控制展开收缩
|
||||
click: function(obj){
|
||||
//layer.msg(JSON.stringify(obj.data));
|
||||
window.location.href='/knowledge/index/doc_add?id='+obj.data.id;
|
||||
},
|
||||
operate: function(obj){
|
||||
let type = obj.type; //得到操作类型:add、edit、del
|
||||
let data = obj.data; //得到当前节点的数据
|
||||
let elem = obj.elem; //得到当前节点元素
|
||||
if(type === 'add'){ //增加节点
|
||||
add(obj.data.id);
|
||||
} else if(type === 'update'){ //修改节点
|
||||
// console.log(elem.find('.layui-tree-txt').html()); //得到修改后的内容
|
||||
} else if(type === 'del'){ //删除节点
|
||||
let deletecallback = function (e) {
|
||||
layer.msg(e.msg);
|
||||
setTimeout(function(){
|
||||
$('#tree').find('.layui-tree-txt').eq(0).click();
|
||||
},1000)
|
||||
}
|
||||
tool.delete("/knowledge/index/doc_delete",{ id: obj.data.id },deletecallback);
|
||||
};
|
||||
}
|
||||
});
|
||||
setTimeout(function(){
|
||||
$('[data-id="'+doc_id+'"]').find('.layui-tree-txt').eq(0).addClass('on');
|
||||
},100)
|
||||
}
|
||||
tool.get("/api/index/get_doc_list",{kid:knowledge_id,tree:1},treeRender);
|
||||
|
||||
//监听提交
|
||||
form.on('submit(webform)', function (data) {
|
||||
|
||||
data.field['docContent-html-code'] = tinymce.get('container').getContent();
|
||||
|
||||
let callback = function(e){
|
||||
layer.msg(e.msg);
|
||||
if(e.code == 0){
|
||||
setTimeout(function(){
|
||||
window.location.href='/knowledge/index/?kid='+knowledge_id;
|
||||
},1000)
|
||||
}
|
||||
}
|
||||
tool.post('/knowledge/index/doc_add',data.field,callback);
|
||||
return false;
|
||||
});
|
||||
//监听返回
|
||||
$('.body-table').on('click', '[lay-event="back"]', function () {
|
||||
window.location.href='/knowledge/index/?kid='+knowledge_id;
|
||||
return false;
|
||||
});
|
||||
|
||||
//添加
|
||||
var selectTable=null;
|
||||
function add(pid) {
|
||||
var type=[{'id':1,'title':'新建文档'},{'id':2,'title':'新建目录'},{'id':3,'title':'新建链接'}];
|
||||
layer.open({
|
||||
title:'选择节点类型',
|
||||
type:1,
|
||||
area:['360px','300px'],
|
||||
content:'<div style="width:328px; padding:15px 15px 0"><div id="selectType"></div></div>',
|
||||
success:function(){
|
||||
selectTable=table.render({
|
||||
elem: '#selectType',
|
||||
cols: [[ //标题栏
|
||||
{type:'radio',title: '选择'},
|
||||
{field: 'title', title: '节点类型'}
|
||||
]],
|
||||
data: type
|
||||
});
|
||||
},
|
||||
btn:['确定'],
|
||||
btnAlign:'c',
|
||||
yes: function(idx){
|
||||
let checkStatus = table.checkStatus(selectTable.config.id);
|
||||
let data = checkStatus.data;
|
||||
if(data.length>0){
|
||||
if(data[0].id==1 || data[0].id==2){
|
||||
layer.prompt({title: '标题', formType: 3,value :''}, function(text, index){
|
||||
if(text == ''){
|
||||
layer.msg('输入标题');
|
||||
return false;
|
||||
}
|
||||
let postData = {knowledge_id:knowledge_id,pid:pid,type:data[0].id,title:text}
|
||||
let callback = function(e){
|
||||
layer.msg(e.msg);
|
||||
if(e.code == 0){
|
||||
setTimeout(function(){
|
||||
window.location.href='/knowledge/index/doc_add/id/'+e.data;
|
||||
},1000)
|
||||
}
|
||||
}
|
||||
tool.post('/knowledge/index/doc_add',postData,callback);
|
||||
})
|
||||
}else if(data[0].id==3){
|
||||
var content='<div style="padding:0 15px;"><table class="layui-table">\
|
||||
<tr>\
|
||||
<td class="layui-td-gray">链接标题 <span style="color: red">*</span></td>\
|
||||
<td><input name="title" id="docTitle" class="layui-input" value="" placeholder="请输入标题"></td>\
|
||||
</tr>\
|
||||
<tr>\
|
||||
<td class="layui-td-gray">URL链接 <span style="color: red">*</span></td>\
|
||||
<td><input name="link" id="docLink" class="layui-input" value="" placeholder="请输入链接"></td>\
|
||||
</tr>\
|
||||
</table></div>';
|
||||
layer.open({
|
||||
type:1,
|
||||
title:'新建链接',
|
||||
area:['480px','300px'],
|
||||
content:content,
|
||||
btn: ['确定提交'],
|
||||
btnAlign:'c',
|
||||
yes: function(idx){
|
||||
let docTitle = $('#docTitle').val();
|
||||
let docLink = $('#docLink').val();
|
||||
if(docTitle==''){
|
||||
layer.msg('请输入标题');
|
||||
return;
|
||||
}
|
||||
if(docLink==''){
|
||||
layer.msg('请输入链接');
|
||||
return;
|
||||
}
|
||||
let postData = {knowledge_id:knowledge_id,pid:pid,type:data[0].id,title:docTitle,link:docLink}
|
||||
let callback = function(e){
|
||||
layer.msg(e.msg);
|
||||
if(e.code == 0){
|
||||
setTimeout(function(){
|
||||
window.location.href='/knowledge/index/doc_add/id/'+e.data;
|
||||
},1000)
|
||||
}
|
||||
}
|
||||
tool.post('/knowledge/index/doc_add',postData,callback);
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
else{
|
||||
layer.msg('请选择节点类型');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
<!-- /脚本 -->
|
||||
Reference in New Issue
Block a user