MrDoc/template/app_doc/manage/manage_project_options.html

388 lines
18 KiB
HTML
Raw Normal View History

2020-11-16 21:32:08 +08:00
{% extends 'app_doc/user/user_base.html' %}
2020-10-18 08:05:41 +08:00
{% load static %}
{% block title %}文集设置{% endblock %}
2020-11-16 21:32:08 +08:00
{% block custom_element %}
<link href="{% static 'tagsInput/tagsinput.css' %}" rel="stylesheet" type="text/css"/>
{% endblock %}
{% block content %}
2020-11-16 21:32:08 +08:00
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-row" style="padding-left:15px;">
<span class="layui-breadcrumb" lay-separator=">">
<a href="{% url 'manage_project' %}">文集管理</a>
<a><cite>文集设置</cite></a>
</span>
</div>
2020-11-16 21:32:08 +08:00
</div>
</div>
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-card-header" style="margin-bottom: 10px;">
<div class="layui-row">
<span style="font-size:18px;">文集:{{pro.name}}
</span>
</div>
2020-11-16 21:32:08 +08:00
</div>
2020-10-18 08:05:41 +08:00
<div class="layui-tab">
<ul class="layui-tab-title">
<li class="layui-this">基础信息</li>
<li>权限配置</li>
<li>下载配置</li>
<li>管理控制</li>
</ul>
<div class="layui-tab-content">
<!-- 文集基础信息配置 -->
<div class="layui-tab-item layui-show">
<div>
<div class="layui-form-item">
<label class="layui-form-label">文集名称</label>
<div class="layui-input-block">
<input class="layui-input" type="text" id="pname" style="margin-bottom:10px;" placeholder="输入文集名" required lay-verify="required" value="{{pro.name}}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">文集简介</label>
<div class="layui-input-block">
<textarea name="desc" id="desc" placeholder="输入文集简介" class="layui-textarea">{{pro.intro}}</textarea>
</div>
</div>
<div class="layui-form-item" style="margin-top: 10px;">
<div class="layui-input-block">
2020-10-18 08:05:41 +08:00
<button class="layui-btn layui-btn-primary layui-btn-sm" id="modify-project-btn"><i class="layui-icon layui-icon-edit"></i>立即修改</button>
</div>
</div>
</div>
</div>
2020-10-18 08:05:41 +08:00
<!-- 文集权限配置 -->
<div class="layui-tab-item">
<div class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label">浏览权限</label>
<div class="layui-input-block">
<input type="radio" name="role" value="0" title="公开" {% if pro.role == 0 %} checked {%endif%} lay-filter="role">
<input type="radio" name="role" value="1" title="私密" {% if pro.role == 1 %} checked {%endif%} lay-filter="role">
<input type="radio" name="role" value="2" title="指定用户可见" {% if pro.role == 2 %} checked {%endif%} lay-filter="role">
<input type="radio" name="role" value="3" title="访问码可见" {% if pro.role == 3 %} checked {%endif%} lay-filter="role">
</div>
</div>
<div class="layui-form-item" style="{% if pro.role == 3 %}{% else %}display:none;{% endif %}" id="role-pwd">
<label class="layui-form-label">访问码</label>
<div class="layui-input-inline">
2020-10-18 08:05:41 +08:00
<input type="text" name="viewcode" id="viewcode" placeholder="请输入访问码" autocomplete="off" class="layui-input" value="{% if pro.role_value != None %}{{pro.role_value}}{% endif %}">
</div>
<div class="layui-form-mid layui-word-aux">不少于4位数</div>
</div>
<div class="layui-form-item" style="{% if pro.role == 2 %}{% else %}display:none;{% endif %}" id="role-user">
<label class="layui-form-label">允许用户</label>
<div class="layui-input-block">
<div class="tagsinput-primary form-group">
<input name="tagsinput" id="tagsinputval" class="tagsinput" data-role="tagsinput" value="{% if pro.role_value != None %}{{pro.role_value}}{% endif %}" placeholder="请输入用户名,回车输入多个用户">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
2020-10-18 08:05:41 +08:00
<button class="layui-btn layui-btn-primary layui-btn-sm" id="modify-project-role">修改权限</button>
</div>
</div>
2020-10-18 08:05:41 +08:00
</div>
</div>
2020-10-18 08:05:41 +08:00
<!-- 下载和导出 -->
<div class="layui-tab-item">
<div class="layui-form">
{% load project_filter %}
<div class="layui-form-item">
<blockquote class="layui-elem-quote">注意开启某类型文件下载后请先点击“生成或更新XXX文件”文集文档中如果包含公式、流程图、时序图、脑图等内容将会延长生成时间请耐心等待</blockquote>
</div>
<div class="layui-form-item">
<label class="layui-form-label">EPUB下载</label>
<div class="layui-input-block">
<input type="checkbox" name="download_epub"
2020-10-18 08:05:41 +08:00
{% if pro.id|report_status_epub == 1 %} checked {% endif %}
lay-skin="switch" lay-text="允许|禁止">
<!-- 判断后台是否开启导出,如果开启,则显示 -->
{% if enable_project_report %}
2020-10-18 08:05:41 +08:00
<a href="javascript:void(0);" onclick="reportFile('{{pro.id}}','epub')"><i class="layui-icon layui-icon-refresh"></i><u>生成或更新EPUB文件</u></a>
{% if project_files %}
{% for file in project_files %}
{% if file.file_type == 'epub' %}
| <a href="{{file.file_path}}" target="_blank"><i class="layui-icon layui-icon-download-circle"></i><u>下载文集EPUB文件</u></a>
{% else %}
{% endif %}
{% endfor %}
{% else %}
| <span style="color: #ff213b;">未生成文集导出文件</span>
{% endif %}
{% endif %}
</div>
</div>
2020-10-26 20:51:28 +08:00
<hr>
<div class="layui-form-item">
<label class="layui-form-label">PDF下载</label>
<div class="layui-input-block">
<input type="checkbox" name="download_pdf"
{% if pro.id|report_status_pdf == 1 %} checked {%endif%}
lay-skin="switch" lay-text="允许|禁止">
<!-- 判断后台是否开启导出,如果开启,则显示 -->
{% if enable_project_report %}
<a href="javascript:void(0);" onclick="reportFile('{{pro.id}}','pdf')" style=""><i class="layui-icon layui-icon-refresh"></i><u>生成或更新PDF文件</u></a>
{% if project_files %}
{% for file in project_files %}
{% if file.file_type == 'pdf' %}
| <a href="{{file.file_path}}" target="_blank"><i class="layui-icon layui-icon-download-circle"></i><u>下载文集PDF文件</u></a>
{% else %}
{% endif %}
{% endfor %}
{% else %}
| <span style="color: #ff213b;">未生成文集导出文件</span>
{% endif %}
{% endif %}
</div>
</div>
2020-10-26 20:51:28 +08:00
<hr>
<div class="layui-form-item">
<div class="layui-input-block">
2020-10-18 08:05:41 +08:00
<button class="layui-btn layui-btn-primary layui-btn-sm" id="modify-project-download">保存文集导出配置</button>
</div>
</div>
2020-10-18 08:05:41 +08:00
</div>
</div>
2020-10-18 08:05:41 +08:00
<!-- 文集删除和转让 -->
<div class="layui-tab-item">
<div class="layui-row">
<div style="float: left;">
<strong>导出文集</strong>
<p>将文集内的文档以Markdown.md的形式导出为zip压缩文件</p>
</div>
<button class="layui-btn layui-btn-primary" style="float: right;" id="export-project">导出文集</button>
</div>
<hr>
<div class="layui-row">
<div style="float: left;">
<strong>转让文集</strong>
<p>将文集的管理权限和文集下自己创建的文档转让给站点的其他用户</p>
</div>
<a class="layui-btn layui-btn-primary" style="float: right;" id="transfer-project" href="{% url 'manage_pro_transfer' pro.id %}">转让文集</a>
</div>
<hr>
<div class="layui-row">
<div style="float: left;">
<strong>删除文集</strong>
<p>删除文集及文集下的所有文档</p>
</div>
<button class="layui-btn layui-btn-warm" style="float: right;" id="delete-project">删除文集</button>
</div>
</div>
2020-10-18 08:05:41 +08:00
</div>
</div>
2020-11-16 21:32:08 +08:00
</div>
</div>
{% endblock %}
{% block custom_script %}
2020-11-16 21:32:08 +08:00
<script src="{% static 'jquery/3.1.1/jquery.min.js' %}"></script>
<script src="{% static 'layui/layui.all.js' %}"></script>
<script src="{% static '/tagsInput/tagsinput.js' %}" type="text/javascript" charset="utf-8"></script>
<script>
$.ajaxSetup({
2020-11-16 21:32:08 +08:00
data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
});
var form = layui.form;
//监听单选事件
form.on('radio(role)', function(data){
2020-11-16 21:32:08 +08:00
console.log(data.elem); //得到radio原始DOM对象
console.log(data.value); //被点击的radio的value值
if(data.value in [0,1]){
$("#role-pwd").css("display","none");
$("#role-user").css("display","none");
2020-11-16 21:32:08 +08:00
}else if(data.value == 2){
$("#role-user").css("display","block");
$("#role-pwd").css("display","none");
2020-11-16 21:32:08 +08:00
}else if(data.value == 3){
$("#role-user").css("display","none");
$("#role-pwd").css("display","block");
2020-11-16 21:32:08 +08:00
}
});
2020-10-18 08:05:41 +08:00
//修改文集基础信息
modifyProject = function(pro_id,pro_name,pro_intro){
layer.load(1);
var project_data = {
'pro_id':'{{pro.id}}',
'name':$("#pname").val(),
'desc':$("#desc").val(),
}
$.post("{% url 'modify_project' %}",project_data,function(r){
layer.closeAll('loading'); //关闭loading
if(r.status){
//修改成功
//window.location.reload();
layer.msg("修改成功")
}else{
//修改失败,提示
// console.log(r)
layer.msg(r.data)
}
})
};
$("#modify-project-btn").click(function(){
modifyProject();
});
// 修改文集权限
modifyProjectRole = function(){
layer.load(1);
var role_data = {
'role':$("input[name='role']:checked").val(),
'tagsinput':$("#tagsinputval").val(),
'viewcode':$("#viewcode").val(),
}
$.post("{% url 'modify_pro_role' pro.id %}",role_data,function(r){
layer.closeAll('loading'); //关闭loading
if(r.status){
//修改成功
//window.location.reload();
layer.msg("修改成功")
}else{
//修改失败,提示
// console.log(r)
layer.msg(r.data)
}
})
};
$('#modify-project-role').click(function(){
modifyProjectRole();
});
// 修改文集导出配置
modifyProjectDownload = function(){
layer.load(1);
var download_data = {
'download_epub':$("input[name='download_epub']:checked").val(),
'download_pdf':$("input[name='download_pdf']:checked").val(),
}
$.post("{% url 'modify_pro_download' pro.id %}",download_data,function(r){
layer.closeAll('loading'); //关闭loading
if(r.status){
//修改成功
layer.msg("修改成功")
}else{
//修改失败,提示
// console.log(r)
layer.msg(r.data)
}
})
};
$('#modify-project-download').click(function(){
modifyProjectDownload();
});
// 生成文集文件
reportFile = function(pro_id,types){
layer.load(1)
var data = {'pro_id':pro_id,'types':types};
$.post("{% url 'genera_project_file' %}",data,function(r){
layer.closeAll('loading');
if(r.status){
layer.msg("生成完成")
window.location.reload();
}else{
layer.msg("生成出错,请稍后重试")
}
})
}
// 删除文集
delProject = function(pro_id){
layer.open({
type:1,
title:'删除文集',
area:'300px;',
id:'delPro',//配置ID
content:'<div style="margin-left:10px;">警告:此操作将删除文集及文集下所有文档!</div>',
btn:['确定','取消'], //添加按钮
btnAlign:'c', //按钮居中
yes:function (index,layero) {
layer.load(1);
data = {
'pro_id':pro_id,
}
$.post("{% url 'del_project' %}",data,function(r){
layer.closeAll('loading'); //关闭loading
if(r.status){
//删除成功
layer.msg('删除成功,即将返回文集列表……',function(){
window.location.href = "{% url 'manage_project' %}"
})
//layer.close(index)
}else{
//删除失败,提示
console.log(r)
layer.msg(r.data)
}
})
},
});
};
$('#delete-project').click(function(){
delProject('{{pro.id}}')
})
//导出MD
reportMd = function(pro_id){
layer.open({
type:1,
title:"导出文集",
area:"300px",
id:"reportMd",
content:'<div style="margin-left:10px;">将此文集下所有文档导出为MD文件并打包</div>',
btn:['确定','取消'], //添加按钮
btnAlign:'c', //按钮居中
yes:function (index,layero) {
var load = layer.load()
data = {
'project_id':pro_id,
}
$.post("{% url 'report_md' %}",data,function(r){
layer.closeAll('loading'); //关闭loading
if(r.status){
//导出成功
//文件下载提示
downloadMd(r.data)
}else{
//导出失败,提示
// console.log(r)
layer.msg(r.data)
}
layer.close(load)
})
},
})
};
$("#export-project").click(function(){
reportMd('{{pro.id}}');
});
//下载文件弹出框
downloadMd = function(download_link){
layer.open({
type:1,
title:"下载导出文档",
area:"300px",
id:"downloadMd",
content:'<p style="text-align:center;color:red;">请尽快下载,避免失效!</p><br><a class="layui-btn layui-btn-fluid download-md-link" href="'+ download_link + '" download="mrdoc_report_md.zip" >点击下载文件(zip)</a>',
//btn:['确定','取消'], //添加按钮
//btnAlign:'c', //按钮居中
success: function (layero, index) {
$(layero).find('.download-md-link').click(function () {
layer.closeAll();
})
}
})
};
2020-11-16 21:32:08 +08:00
</script>
{% endblock %}