添加文档模板管理页面

This commit is contained in:
yangjian 2019-07-23 13:05:27 +08:00
parent 94a548bf8c
commit 7758b13465
5 changed files with 130 additions and 133 deletions

View File

@ -19,6 +19,7 @@ urlpatterns = [
path('create_doctemp/',views.create_doctemp,name="create_doctemp"), # 创建文档模板
path('get_doctemp/',views.get_doctemp,name='get_doctemp'), # 获取某一个文档模板内容
path('del_doctemp/',views.del_doctemp,name="del_doctemp"), # 删除某一个文档模板
path('modify_doctemp/<int:doctemp_id>/',views.modify_doctemp,name="modify_doctemp"), # 修改文档模板
################其他功能相关
path('upload_doc_img/',util_upload_img.upload_img,name="upload_doc_img"), # 上传图片
]

View File

@ -189,7 +189,7 @@ def modify_doctemp(request,doctemp_id):
if request.method == 'GET':
doctemp = DocTemp.objects.get(id=doctemp_id)
if request.user.id == doctemp.create_user.id:
return render(request,'app_doc/midify_doctemp.html',locals())
return render(request,'app_doc/modify_doctemp.html',locals())
else:
return HttpResponse('非法请求')
elif request.method == 'POST':
@ -217,8 +217,7 @@ def manage_doctemp(request):
if request.method == 'GET':
doctemp_list = DocTemp.objects.filter(create_user=request.user)
return render(request,'app_doc/doctemp_list.html',locals())
# if request.method == 'POST':
# doctemp_list = DocTemp.objects.filter(create_user=request.user)
# 获取指定文档模板
@login_required()

View File

@ -1,135 +1,49 @@
{% extends 'app_doc/manage_base.html' %}
{% load staticfiles %}
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>管理文档模板 - MrDoc</title>
<link href="{% static 'layui/css/layui.css' %}" rel="stylesheet">
<link rel="stylesheet" href="{% static 'editor.md/css/editormd.css' %}" />
<link href="{% static 'style.css' %}" rel="stylesheet">
</head>
<body class="layui-layout-body">
<div class="layui-header">
<div class="layui-main">
<a class="logo" href="{% url 'pro_list' %}">
<img src="/media/logo.png" />
</a>
<div class="component">
{% block title %}文档模板管理{% endblock %}
{% block content %}
<div class="layui-card-header" style="margin-bottom: 10px;">
<div class="layui-row">
<span style="font-size:18px;">文档模板管理
</span>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-input-inline">
<input class="layui-input" placeholder="搜索文集"/>
<input type="text" name="username" id="username" required lay-verify="required" placeholder="输入文档模板内容" autocomplete="off" class="layui-input">
</div>
<button class="layui-btn layui-btn-normal">搜索</button>
<button class="layui-btn layui-btn-normal" onclick="createTemp()">新建文档模板</button>
</div>
<ul class="layui-nav layui-layout-right">
{% if request.user.is_authenticated %}
<li class="layui-nav-item">
<a href="javascript:void(0);">
<i class="layui-icon layui-icon-username"></i> {{request.user.username}}
</a>
<dl class="layui-nav-child">
<!-- <dd><a href="">基本资料</a></dd> -->
<dd><a href="javascript:void(0);">修改密码</a></dd>
<dd><a href="{% url 'logout' %}">退出登录</a></dd>
</dl>
</li>
{% else %}
<li class="layui-nav-item">
<a href="javascript:void(0);">
<i class="layui-icon layui-icon-username"></i> 游客
</a>
<dl class="layui-nav-child">
<!-- <dd><a href="">基本资料</a></dd> -->
<dd><a href="javascript:void(0);">注册</a></dd>
<dd><a href="{% url 'login' %}">登录</a></dd>
</dl>
</li>
{% endif %}
</ul>
</div>
</div>
<div class="layui-main">
<div class="">
<h1>管理文档模板</h1>
<div class="layui-row" lay-skin="line">
<table class="layui-table" id="doctemp-list" lay-skin="line">
<colgroup>
<col width="200">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>模板名称</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{% for temp in doctemp_list %}
<tr>
<td>{{ temp.name }}</td>
<td>{{ temp.create_time }}</td>
<td>
{# <a href="javascript:void(0);" onclick="insertTemp('{{temp.id}}');">查看</a>#}
<a href="{% url 'modify_doctemp' doctemp_id=temp.id %}" target="_blank">修改</a>
<a href="javascript:void(0);" onclick="delTemp();">删除</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div id="editor-md">
<textarea style="display:none;"></textarea>
<textarea class="editormd-html-textarea" name="$id-html-code"></textarea>
</div>
</div>
<script src="https://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script src="{% static 'layui/layui.all.js' %}"></script>
<script src="{% static 'editor.md/editormd.min.js' %}"></script>
{% block custom_script %}
<script>
layui.config({
base: "/static/layui/module/"
}).extend({
treeSelect: "treeSelect/treeSelect"
});
$.ajaxSetup({
data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});
//初始化editormd
var editor = editormd("editor-md", {
width : "100%",
height : "1000px;",
placeholder:"开始使用Markdown书写……",
path : "/static/editor.md/lib/",
saveHTMLToTextarea : true,
tex:true,//开启科学公式
tocm:true,//开启下拉目录
taskList:true,//开启任务列表
tocTitle:'文章导读',
tocContainer:'',
tocDropdown:false,
emoji:true,
});
//粘贴上传图片
$("#editor-md").on('paste', function (ev) {
var data = ev.clipboardData;
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
for (var index in items) {
var item = items[index];
if (item.kind === 'file') {
var blob = item.getAsFile();
var reader = new FileReader();
reader.onload = function (event) {
var base64 = event.target.result;
//ajax上传图片
$.post("{% url 'upload_doc_img' %}",{base:base64}, function (ret) {
layer.msg(ret.message);
if (ret.success === 1) {
//新一行的图片显示
editor.insertValue("\n![](" + ret.url + ")");
}
});
}; // data url!
var url = reader.readAsDataURL(blob);
}
}
});
var layer = layui.layer;
var form = layui.form;
//保存文档模板
createDocTemp = function(){
var data = {
'name':$("#doctemp-name").val(),
'content':editor.getMarkdown(),
}
$.post("{% url 'create_doctemp' %}",data,function(r){
if(r.status){
//创建成功
layer.msg('保存成功',function(){
window.location.href = "{% url 'pro_list' %}";
});
}else{
//创建失败
layer.msg('保存失败');
}
});
};
</script>
{% endblock %}
</body>
</html>
{% endblock %}

View File

@ -0,0 +1,83 @@
{# 文档、文集、文档模板管理基础HTML模板 #}
{% load staticfiles %}
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="UTF-8">
<title>{% block title %}{% endblock %} - MrDoc</title>
<link href="{% static 'layui/css/layui.css' %}" rel="stylesheet">
<style>
.logo img{
height: 30px;
}
</style>
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
<div class="layui-header">
<div class="layui-logo">
<a class="logo" href="{% url 'pro_list' %}">
<img src="/media/logo-white.png" />
</a>
</div>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item">
<a href="javascript:;">
<i class="layui-icon layui-icon-username"></i> {{request.user.username}}
</a>
<dl class="layui-nav-child">
<!-- <dd><a href="">基本资料</a></dd> -->
<dd><a href="{% url 'logout' %}">退出登录</a></dd>
</dl>
</li>
</ul>
</div>
<div class="layui-side layui-bg-black">
<div class="layui-side-scroll">
<!-- 左侧导航区域可配合layui已有的垂直导航 -->
<ul class="layui-nav layui-nav-tree" lay-filter="test">
<li class="layui-nav-item layui-nav-itemed">
<a href="/manage_project/"><i class="layui-icon layui-icon-list"></i> 文集管理</a>
</li>
<li class="layui-nav-item layui-nav-itemed">
<a href="/manage_doc/"><i class="layui-icon layui-icon-file-b"></i> 文档管理</a>
</li>
<li class="layui-nav-item layui-nav-itemed">
<a href="{% url 'manage_doctemp' %}"><i class="layui-icon layui-icon-template"></i> 文档模板管理</a>
</li>
</ul>
</div>
</div>
<div class="layui-body">
<!-- 内容主体区域 -->
<div style="padding: 15px;">{% block content %}{% endblock %}</div>
</div>
<div class="layui-footer" style="text-align:center;">
<!-- 底部固定区域 -->
© <a href="">MrDoc</a>
</div>
</div>
<script src="https://cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script src="{% static 'layui/layui.all.js' %}"></script>
<script>
//为当前页面的目录链接添加样式
$("li a").each(function (i) {
var $me = $(this);
var lochref = $.trim(window.location.href);
var mehref = $.trim($me.get(0).href);
if (lochref.indexOf(mehref) != -1) {
//console.log($me,lochref,mehref)
$me.parent().addClass("layui-this");
} else {
//console.log(lochref,mehref)
$me.parent().removeClass("layui-this");
}
});
</script>
{% block custom_script %}
{% endblock %}
</body>
</html>

View File

@ -142,7 +142,7 @@
var lochref = $.trim(window.location.href);
var mehref = $.trim($me.get(0).href);
if (lochref.indexOf(mehref) != -1) {
//console.log($me)
//console.log($me,lochref,mehref)
$me.parent().addClass("active");
} else {
//console.log(lochref,mehref)