新增文集图标配置功能
This commit is contained in:
parent
5bac21f545
commit
2a468fa468
23
app_doc/migrations/0035_auto_20201221_2042.py
Normal file
23
app_doc/migrations/0035_auto_20201221_2042.py
Normal file
@ -0,0 +1,23 @@
|
||||
# Generated by Django 2.2.12 on 2020-12-21 20:42
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('app_doc', '0034_doc_show_children'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='project',
|
||||
name='icon',
|
||||
field=models.CharField(blank=True, default=None, max_length=50, null=True, verbose_name='文集图标'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='project',
|
||||
name='name',
|
||||
field=models.CharField(max_length=50, verbose_name='文集名称'),
|
||||
),
|
||||
]
|
||||
@ -4,7 +4,8 @@ from django.contrib.auth.models import User
|
||||
|
||||
# 文集模型
|
||||
class Project(models.Model):
|
||||
name = models.CharField(verbose_name="文档名称",max_length=50)
|
||||
name = models.CharField(verbose_name="文集名称",max_length=50)
|
||||
icon= models.CharField(verbose_name="文集图标",max_length=50,blank=True,null=True,default=None)
|
||||
intro = models.TextField(verbose_name="介绍")
|
||||
# 文集权限说明:0表示公开,1表示私密,2表示指定用户可见,3表示访问码可见 默认公开
|
||||
role = models.IntegerField(choices=((0,0),(1,1),(2,2),(3,3)), default=0,verbose_name="文集权限")
|
||||
|
||||
@ -14,7 +14,7 @@ def get_doc_count(value):
|
||||
# 获取文集下最新的文档及其修改时间
|
||||
@register.filter(name='get_new_doc')
|
||||
def get_new_doc(value):
|
||||
new_doc = Doc.objects.filter(top_doc=int(value),status=1).order_by('-modify_time').first()
|
||||
new_doc = Doc.objects.filter(top_doc=int(value),status=1).order_by('-modify_time')[:2]
|
||||
if new_doc is None:
|
||||
new_doc = '它还没有文档……'
|
||||
return new_doc
|
||||
|
||||
@ -282,12 +282,14 @@ def create_project(request):
|
||||
try:
|
||||
name = request.POST.get('pname','')
|
||||
name = validateTitle(name)
|
||||
icon = request.POST.get('picon',None)
|
||||
desc = request.POST.get('desc','')
|
||||
role = request.POST.get('role',0)
|
||||
role_list = ['0','1','2','3',0,1,2,3]
|
||||
if name != '':
|
||||
project = Project.objects.create(
|
||||
name=validateTitle(name),
|
||||
icon = icon,
|
||||
intro=desc[:100],
|
||||
create_user=request.user,
|
||||
role = int(role) if role in role_list else 0
|
||||
@ -388,9 +390,11 @@ def modify_project(request):
|
||||
# 验证用户有权限修改文集
|
||||
if (request.user == project.create_user) or request.user.is_superuser:
|
||||
name = request.POST.get('name',None)
|
||||
icon = request.POST.get('picon', None)
|
||||
content = request.POST.get('desc',None)
|
||||
project.name = validateTitle(name)
|
||||
project.intro = content
|
||||
project.icon = icon
|
||||
project.save()
|
||||
return JsonResponse({'status':True,'data':'修改成功'})
|
||||
else:
|
||||
|
||||
539
static/iconFont/demo.css
Normal file
539
static/iconFont/demo.css
Normal file
@ -0,0 +1,539 @@
|
||||
/* Logo 字体 */
|
||||
@font-face {
|
||||
font-family: "iconfont logo";
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
|
||||
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
|
||||
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
|
||||
}
|
||||
|
||||
.logo {
|
||||
font-family: "iconfont logo";
|
||||
font-size: 160px;
|
||||
font-style: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* tabs */
|
||||
.nav-tabs {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#tabs {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
#tabs li {
|
||||
cursor: pointer;
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
border-bottom: 2px solid transparent;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin-bottom: -1px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
|
||||
#tabs .active {
|
||||
border-bottom-color: #f00;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
.tab-container .content {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 页面布局 */
|
||||
.main {
|
||||
padding: 30px 100px;
|
||||
width: 960px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.main .logo {
|
||||
color: #333;
|
||||
text-align: left;
|
||||
margin-bottom: 30px;
|
||||
line-height: 1;
|
||||
height: 110px;
|
||||
margin-top: -50px;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.main .logo a {
|
||||
font-size: 160px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.helps {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
.helps pre {
|
||||
padding: 20px;
|
||||
margin: 10px 0;
|
||||
border: solid 1px #e7e1cd;
|
||||
background-color: #fffdef;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.icon_lists {
|
||||
width: 100% !important;
|
||||
overflow: hidden;
|
||||
*zoom: 1;
|
||||
}
|
||||
|
||||
.icon_lists li {
|
||||
width: 100px;
|
||||
margin-bottom: 10px;
|
||||
margin-right: 20px;
|
||||
text-align: center;
|
||||
list-style: none !important;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.icon_lists li .code-name {
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.icon_lists .icon {
|
||||
display: block;
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
font-size: 42px;
|
||||
margin: 10px auto;
|
||||
color: #333;
|
||||
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
-moz-transition: font-size 0.25s linear, width 0.25s linear;
|
||||
transition: font-size 0.25s linear, width 0.25s linear;
|
||||
}
|
||||
|
||||
.icon_lists .icon:hover {
|
||||
font-size: 100px;
|
||||
}
|
||||
|
||||
.icon_lists .svg-icon {
|
||||
/* 通过设置 font-size 来改变图标大小 */
|
||||
width: 1em;
|
||||
/* 图标和文字相邻时,垂直对齐 */
|
||||
vertical-align: -0.15em;
|
||||
/* 通过设置 color 来改变 SVG 的颜色/fill */
|
||||
fill: currentColor;
|
||||
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
|
||||
normalize.css 中也包含这行 */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.icon_lists li .name,
|
||||
.icon_lists li .code-name {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* markdown 样式 */
|
||||
.markdown {
|
||||
color: #666;
|
||||
font-size: 14px;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.markdown img {
|
||||
vertical-align: middle;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
color: #404040;
|
||||
font-weight: 500;
|
||||
line-height: 40px;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown h2,
|
||||
.markdown h3,
|
||||
.markdown h4,
|
||||
.markdown h5,
|
||||
.markdown h6 {
|
||||
color: #404040;
|
||||
margin: 1.6em 0 0.6em 0;
|
||||
font-weight: 500;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
font-size: 28px;
|
||||
}
|
||||
|
||||
.markdown h2 {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.markdown h3 {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.markdown h4 {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.markdown h5 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown h6 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.markdown hr {
|
||||
height: 1px;
|
||||
border: 0;
|
||||
background: #e9e9e9;
|
||||
margin: 16px 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.markdown p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown>p,
|
||||
.markdown>blockquote,
|
||||
.markdown>.highlight,
|
||||
.markdown>ol,
|
||||
.markdown>ul {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.markdown ul>li {
|
||||
list-style: circle;
|
||||
}
|
||||
|
||||
.markdown>ul li,
|
||||
.markdown blockquote ul>li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown>ul li p,
|
||||
.markdown>ol li p {
|
||||
margin: 0.6em 0;
|
||||
}
|
||||
|
||||
.markdown ol>li {
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
.markdown>ol li,
|
||||
.markdown blockquote ol>li {
|
||||
margin-left: 20px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.markdown code {
|
||||
margin: 0 3px;
|
||||
padding: 0 5px;
|
||||
background: #eee;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.markdown strong,
|
||||
.markdown b {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown>table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0px;
|
||||
empty-cells: show;
|
||||
border: 1px solid #e9e9e9;
|
||||
width: 95%;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.markdown>table th {
|
||||
white-space: nowrap;
|
||||
color: #333;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown>table th,
|
||||
.markdown>table td {
|
||||
border: 1px solid #e9e9e9;
|
||||
padding: 8px 16px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.markdown>table th {
|
||||
background: #F7F7F7;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
font-size: 90%;
|
||||
color: #999;
|
||||
border-left: 4px solid #e9e9e9;
|
||||
padding-left: 0.8em;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.markdown blockquote p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.markdown .anchor {
|
||||
opacity: 0;
|
||||
transition: opacity 0.3s ease;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.markdown .waiting {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.markdown h1:hover .anchor,
|
||||
.markdown h2:hover .anchor,
|
||||
.markdown h3:hover .anchor,
|
||||
.markdown h4:hover .anchor,
|
||||
.markdown h5:hover .anchor,
|
||||
.markdown h6:hover .anchor {
|
||||
opacity: 1;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.markdown>br,
|
||||
.markdown>p>br {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
|
||||
.hljs {
|
||||
display: block;
|
||||
background: white;
|
||||
padding: 0.5em;
|
||||
color: #333333;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.hljs-comment,
|
||||
.hljs-meta {
|
||||
color: #969896;
|
||||
}
|
||||
|
||||
.hljs-string,
|
||||
.hljs-variable,
|
||||
.hljs-template-variable,
|
||||
.hljs-strong,
|
||||
.hljs-emphasis,
|
||||
.hljs-quote {
|
||||
color: #df5000;
|
||||
}
|
||||
|
||||
.hljs-keyword,
|
||||
.hljs-selector-tag,
|
||||
.hljs-type {
|
||||
color: #a71d5d;
|
||||
}
|
||||
|
||||
.hljs-literal,
|
||||
.hljs-symbol,
|
||||
.hljs-bullet,
|
||||
.hljs-attribute {
|
||||
color: #0086b3;
|
||||
}
|
||||
|
||||
.hljs-section,
|
||||
.hljs-name {
|
||||
color: #63a35c;
|
||||
}
|
||||
|
||||
.hljs-tag {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.hljs-title,
|
||||
.hljs-attr,
|
||||
.hljs-selector-id,
|
||||
.hljs-selector-class,
|
||||
.hljs-selector-attr,
|
||||
.hljs-selector-pseudo {
|
||||
color: #795da3;
|
||||
}
|
||||
|
||||
.hljs-addition {
|
||||
color: #55a532;
|
||||
background-color: #eaffea;
|
||||
}
|
||||
|
||||
.hljs-deletion {
|
||||
color: #bd2c00;
|
||||
background-color: #ffecec;
|
||||
}
|
||||
|
||||
.hljs-link {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* 代码高亮 */
|
||||
/* PrismJS 1.15.0
|
||||
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
|
||||
/**
|
||||
* prism.js default theme for JavaScript, CSS and HTML
|
||||
* Based on dabblet (http://dabblet.com)
|
||||
* @author Lea Verou
|
||||
*/
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
color: black;
|
||||
background: none;
|
||||
text-shadow: 0 1px white;
|
||||
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
text-align: left;
|
||||
white-space: pre;
|
||||
word-spacing: normal;
|
||||
word-break: normal;
|
||||
word-wrap: normal;
|
||||
line-height: 1.5;
|
||||
|
||||
-moz-tab-size: 4;
|
||||
-o-tab-size: 4;
|
||||
tab-size: 4;
|
||||
|
||||
-webkit-hyphens: none;
|
||||
-moz-hyphens: none;
|
||||
-ms-hyphens: none;
|
||||
hyphens: none;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::-moz-selection,
|
||||
pre[class*="language-"] ::-moz-selection,
|
||||
code[class*="language-"]::-moz-selection,
|
||||
code[class*="language-"] ::-moz-selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
pre[class*="language-"]::selection,
|
||||
pre[class*="language-"] ::selection,
|
||||
code[class*="language-"]::selection,
|
||||
code[class*="language-"] ::selection {
|
||||
text-shadow: none;
|
||||
background: #b3d4fc;
|
||||
}
|
||||
|
||||
@media print {
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
text-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Code blocks */
|
||||
pre[class*="language-"] {
|
||||
padding: 1em;
|
||||
margin: .5em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
:not(pre)>code[class*="language-"],
|
||||
pre[class*="language-"] {
|
||||
background: #f5f2f0;
|
||||
}
|
||||
|
||||
/* Inline code */
|
||||
:not(pre)>code[class*="language-"] {
|
||||
padding: .1em;
|
||||
border-radius: .3em;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.token.comment,
|
||||
.token.prolog,
|
||||
.token.doctype,
|
||||
.token.cdata {
|
||||
color: slategray;
|
||||
}
|
||||
|
||||
.token.punctuation {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.namespace {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.token.property,
|
||||
.token.tag,
|
||||
.token.boolean,
|
||||
.token.number,
|
||||
.token.constant,
|
||||
.token.symbol,
|
||||
.token.deleted {
|
||||
color: #905;
|
||||
}
|
||||
|
||||
.token.selector,
|
||||
.token.attr-name,
|
||||
.token.string,
|
||||
.token.char,
|
||||
.token.builtin,
|
||||
.token.inserted {
|
||||
color: #690;
|
||||
}
|
||||
|
||||
.token.operator,
|
||||
.token.entity,
|
||||
.token.url,
|
||||
.language-css .token.string,
|
||||
.style .token.string {
|
||||
color: #9a6e3a;
|
||||
background: hsla(0, 0%, 100%, .5);
|
||||
}
|
||||
|
||||
.token.atrule,
|
||||
.token.attr-value,
|
||||
.token.keyword {
|
||||
color: #07a;
|
||||
}
|
||||
|
||||
.token.function,
|
||||
.token.class-name {
|
||||
color: #DD4A68;
|
||||
}
|
||||
|
||||
.token.regex,
|
||||
.token.important,
|
||||
.token.variable {
|
||||
color: #e90;
|
||||
}
|
||||
|
||||
.token.important,
|
||||
.token.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.token.italic {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.token.entity {
|
||||
cursor: help;
|
||||
}
|
||||
1182
static/iconFont/demo_index.html
Normal file
1182
static/iconFont/demo_index.html
Normal file
File diff suppressed because it is too large
Load Diff
193
static/iconFont/iconfont.css
Normal file
193
static/iconFont/iconfont.css
Normal file
File diff suppressed because one or more lines are too long
BIN
static/iconFont/iconfont.eot
Normal file
BIN
static/iconFont/iconfont.eot
Normal file
Binary file not shown.
1
static/iconFont/iconfont.js
Normal file
1
static/iconFont/iconfont.js
Normal file
File diff suppressed because one or more lines are too long
317
static/iconFont/iconfont.json
Normal file
317
static/iconFont/iconfont.json
Normal file
@ -0,0 +1,317 @@
|
||||
{
|
||||
"id": "2281207",
|
||||
"name": "觅道文档图标",
|
||||
"font_family": "iconfont",
|
||||
"css_prefix_text": "mrdoc-icon-",
|
||||
"description": "用于觅道文档的文集文档图标",
|
||||
"glyphs": [
|
||||
{
|
||||
"icon_id": "2353251",
|
||||
"name": "鸟瞰logo",
|
||||
"font_class": "pro-44",
|
||||
"unicode": "e603",
|
||||
"unicode_decimal": 58883
|
||||
},
|
||||
{
|
||||
"icon_id": "4077657",
|
||||
"name": "金",
|
||||
"font_class": "pro-43",
|
||||
"unicode": "e607",
|
||||
"unicode_decimal": 58887
|
||||
},
|
||||
{
|
||||
"icon_id": "4767599",
|
||||
"name": "风车",
|
||||
"font_class": "pro-42",
|
||||
"unicode": "e61e",
|
||||
"unicode_decimal": 58910
|
||||
},
|
||||
{
|
||||
"icon_id": "7107786",
|
||||
"name": "水",
|
||||
"font_class": "pro-41",
|
||||
"unicode": "e600",
|
||||
"unicode_decimal": 58880
|
||||
},
|
||||
{
|
||||
"icon_id": "9181931",
|
||||
"name": "月亮",
|
||||
"font_class": "pro-40",
|
||||
"unicode": "e652",
|
||||
"unicode_decimal": 58962
|
||||
},
|
||||
{
|
||||
"icon_id": "9255920",
|
||||
"name": "龙",
|
||||
"font_class": "pro-39",
|
||||
"unicode": "e6a3",
|
||||
"unicode_decimal": 59043
|
||||
},
|
||||
{
|
||||
"icon_id": "10425576",
|
||||
"name": "土壤",
|
||||
"font_class": "pro-38",
|
||||
"unicode": "e624",
|
||||
"unicode_decimal": 58916
|
||||
},
|
||||
{
|
||||
"icon_id": "10768035",
|
||||
"name": "树",
|
||||
"font_class": "pro-37",
|
||||
"unicode": "e602",
|
||||
"unicode_decimal": 58882
|
||||
},
|
||||
{
|
||||
"icon_id": "11054404",
|
||||
"name": "木工",
|
||||
"font_class": "pro-36",
|
||||
"unicode": "e657",
|
||||
"unicode_decimal": 58967
|
||||
},
|
||||
{
|
||||
"icon_id": "11217722",
|
||||
"name": "火 (1)",
|
||||
"font_class": "pro-35",
|
||||
"unicode": "e63c",
|
||||
"unicode_decimal": 58940
|
||||
},
|
||||
{
|
||||
"icon_id": "12519675",
|
||||
"name": "鱼",
|
||||
"font_class": "pro-34",
|
||||
"unicode": "e601",
|
||||
"unicode_decimal": 58881
|
||||
},
|
||||
{
|
||||
"icon_id": "13673407",
|
||||
"name": "新",
|
||||
"font_class": "pro-33",
|
||||
"unicode": "e625",
|
||||
"unicode_decimal": 58917
|
||||
},
|
||||
{
|
||||
"icon_id": "13784708",
|
||||
"name": "猫",
|
||||
"font_class": "pro-32",
|
||||
"unicode": "e62f",
|
||||
"unicode_decimal": 58927
|
||||
},
|
||||
{
|
||||
"icon_id": "14689313",
|
||||
"name": "凤凰云logo带色",
|
||||
"font_class": "pro-31",
|
||||
"unicode": "e666",
|
||||
"unicode_decimal": 58982
|
||||
},
|
||||
{
|
||||
"icon_id": "17875944",
|
||||
"name": "密 + 椭圆形 蒙版",
|
||||
"font_class": "pro-3",
|
||||
"unicode": "e609",
|
||||
"unicode_decimal": 58889
|
||||
},
|
||||
{
|
||||
"icon_id": "18922192",
|
||||
"name": "pro-2",
|
||||
"font_class": "pro-2",
|
||||
"unicode": "e614",
|
||||
"unicode_decimal": 58900
|
||||
},
|
||||
{
|
||||
"icon_id": "18922195",
|
||||
"name": "pro-1",
|
||||
"font_class": "pro-1",
|
||||
"unicode": "e617",
|
||||
"unicode_decimal": 58903
|
||||
},
|
||||
{
|
||||
"icon_id": "18922198",
|
||||
"name": "pro-8",
|
||||
"font_class": "pro-8",
|
||||
"unicode": "e61a",
|
||||
"unicode_decimal": 58906
|
||||
},
|
||||
{
|
||||
"icon_id": "18922199",
|
||||
"name": "pro-9",
|
||||
"font_class": "pro-9",
|
||||
"unicode": "e61b",
|
||||
"unicode_decimal": 58907
|
||||
},
|
||||
{
|
||||
"icon_id": "18922200",
|
||||
"name": "pro-11",
|
||||
"font_class": "pro-11",
|
||||
"unicode": "e61c",
|
||||
"unicode_decimal": 58908
|
||||
},
|
||||
{
|
||||
"icon_id": "18922201",
|
||||
"name": "pro-7",
|
||||
"font_class": "pro-7",
|
||||
"unicode": "e61d",
|
||||
"unicode_decimal": 58909
|
||||
},
|
||||
{
|
||||
"icon_id": "18922203",
|
||||
"name": "pro-12",
|
||||
"font_class": "pro-12",
|
||||
"unicode": "e61f",
|
||||
"unicode_decimal": 58911
|
||||
},
|
||||
{
|
||||
"icon_id": "18922204",
|
||||
"name": "pro-10",
|
||||
"font_class": "pro-10",
|
||||
"unicode": "e620",
|
||||
"unicode_decimal": 58912
|
||||
},
|
||||
{
|
||||
"icon_id": "18922205",
|
||||
"name": "pro-16",
|
||||
"font_class": "pro-16",
|
||||
"unicode": "e621",
|
||||
"unicode_decimal": 58913
|
||||
},
|
||||
{
|
||||
"icon_id": "18922206",
|
||||
"name": "pro-15",
|
||||
"font_class": "pro-15",
|
||||
"unicode": "e622",
|
||||
"unicode_decimal": 58914
|
||||
},
|
||||
{
|
||||
"icon_id": "18922207",
|
||||
"name": "pro-17",
|
||||
"font_class": "pro-17",
|
||||
"unicode": "e623",
|
||||
"unicode_decimal": 58915
|
||||
},
|
||||
{
|
||||
"icon_id": "18922210",
|
||||
"name": "pro-18",
|
||||
"font_class": "pro-18",
|
||||
"unicode": "e626",
|
||||
"unicode_decimal": 58918
|
||||
},
|
||||
{
|
||||
"icon_id": "18922213",
|
||||
"name": "pro-26",
|
||||
"font_class": "pro-26",
|
||||
"unicode": "e629",
|
||||
"unicode_decimal": 58921
|
||||
},
|
||||
{
|
||||
"icon_id": "18922216",
|
||||
"name": "pro-24",
|
||||
"font_class": "pro-24",
|
||||
"unicode": "e62c",
|
||||
"unicode_decimal": 58924
|
||||
},
|
||||
{
|
||||
"icon_id": "18922218",
|
||||
"name": "pro-27",
|
||||
"font_class": "pro-27",
|
||||
"unicode": "e62e",
|
||||
"unicode_decimal": 58926
|
||||
},
|
||||
{
|
||||
"icon_id": "18922220",
|
||||
"name": "pro-32",
|
||||
"font_class": "pro-30",
|
||||
"unicode": "e630",
|
||||
"unicode_decimal": 58928
|
||||
},
|
||||
{
|
||||
"icon_id": "18922221",
|
||||
"name": "pro-33",
|
||||
"font_class": "pro-29",
|
||||
"unicode": "e631",
|
||||
"unicode_decimal": 58929
|
||||
},
|
||||
{
|
||||
"icon_id": "18922222",
|
||||
"name": "pro-29",
|
||||
"font_class": "pro-28",
|
||||
"unicode": "e632",
|
||||
"unicode_decimal": 58930
|
||||
},
|
||||
{
|
||||
"icon_id": "18922223",
|
||||
"name": "pro-30",
|
||||
"font_class": "pro-25",
|
||||
"unicode": "e633",
|
||||
"unicode_decimal": 58931
|
||||
},
|
||||
{
|
||||
"icon_id": "18922224",
|
||||
"name": "pro-34",
|
||||
"font_class": "pro-23",
|
||||
"unicode": "e634",
|
||||
"unicode_decimal": 58932
|
||||
},
|
||||
{
|
||||
"icon_id": "18922225",
|
||||
"name": "pro-31",
|
||||
"font_class": "pro-22",
|
||||
"unicode": "e635",
|
||||
"unicode_decimal": 58933
|
||||
},
|
||||
{
|
||||
"icon_id": "18922227",
|
||||
"name": "pro-36",
|
||||
"font_class": "pro-21",
|
||||
"unicode": "e637",
|
||||
"unicode_decimal": 58935
|
||||
},
|
||||
{
|
||||
"icon_id": "18922229",
|
||||
"name": "pro-38",
|
||||
"font_class": "pro-20",
|
||||
"unicode": "e639",
|
||||
"unicode_decimal": 58937
|
||||
},
|
||||
{
|
||||
"icon_id": "18922230",
|
||||
"name": "pro-40",
|
||||
"font_class": "pro-19",
|
||||
"unicode": "e63a",
|
||||
"unicode_decimal": 58938
|
||||
},
|
||||
{
|
||||
"icon_id": "18922231",
|
||||
"name": "pro-42",
|
||||
"font_class": "pro-14",
|
||||
"unicode": "e63b",
|
||||
"unicode_decimal": 58939
|
||||
},
|
||||
{
|
||||
"icon_id": "18922234",
|
||||
"name": "pro-43",
|
||||
"font_class": "pro-13",
|
||||
"unicode": "e63e",
|
||||
"unicode_decimal": 58942
|
||||
},
|
||||
{
|
||||
"icon_id": "18922235",
|
||||
"name": "pro-46",
|
||||
"font_class": "pro-6",
|
||||
"unicode": "e63f",
|
||||
"unicode_decimal": 58943
|
||||
},
|
||||
{
|
||||
"icon_id": "18922237",
|
||||
"name": "pro-39",
|
||||
"font_class": "pro-5",
|
||||
"unicode": "e641",
|
||||
"unicode_decimal": 58945
|
||||
},
|
||||
{
|
||||
"icon_id": "18922238",
|
||||
"name": "pro-48",
|
||||
"font_class": "pro-4",
|
||||
"unicode": "e642",
|
||||
"unicode_decimal": 58946
|
||||
}
|
||||
]
|
||||
}
|
||||
158
static/iconFont/iconfont.svg
Normal file
158
static/iconFont/iconfont.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 114 KiB |
BIN
static/iconFont/iconfont.ttf
Normal file
BIN
static/iconFont/iconfont.ttf
Normal file
Binary file not shown.
BIN
static/iconFont/iconfont.woff
Normal file
BIN
static/iconFont/iconfont.woff
Normal file
Binary file not shown.
BIN
static/iconFont/iconfont.woff2
Normal file
BIN
static/iconFont/iconfont.woff2
Normal file
Binary file not shown.
@ -156,6 +156,32 @@
|
||||
color: #2176ff !important;
|
||||
}
|
||||
|
||||
/* 图标选择器 */
|
||||
.layui-iconpicker {max-width: 280px;}
|
||||
.layui-iconpicker{position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #d2d2d2;max-height:200px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);box-sizing:border-box;}
|
||||
.layui-iconpicker-item{border:1px solid #e6e6e6;width:90px;height:38px;border-radius:4px;cursor:pointer;position:relative;}
|
||||
.layui-iconpicker-icon{border-right:1px solid #e6e6e6;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;width:60px;height:100%;float:left;text-align:center;background:#fff;transition:all .3s;}
|
||||
.layui-iconpicker-icon i{line-height:38px;font-size:18px;}
|
||||
.layui-iconpicker-item > .layui-edge{left:70px;}
|
||||
.layui-iconpicker-item:hover{border-color:#D2D2D2!important;}
|
||||
.layui-iconpicker-item:hover .layui-iconpicker-icon{border-color:#D2D2D2!important;}
|
||||
.layui-iconpicker.layui-form-selected .layui-anim{display:block;}
|
||||
.layui-iconpicker-body{padding:6px;}
|
||||
.layui-iconpicker .layui-iconpicker-list{background-color:#fff;border:1px solid #ccc;border-radius:4px;}
|
||||
.layui-iconpicker .layui-iconpicker-icon-item{display:inline-block;width:21.1%;line-height:36px;text-align:center;cursor:pointer;vertical-align:top;height:36px;margin:4px;border:1px solid #ddd;border-radius:2px;transition:300ms;}
|
||||
.layui-iconpicker .layui-iconpicker-icon-item i.layui-icon{font-size:17px;}
|
||||
.layui-iconpicker .layui-iconpicker-icon-item:hover{background-color:#eee;border-color:#ccc;-webkit-box-shadow:0 0 2px #aaa,0 0 2px #fff inset;-moz-box-shadow:0 0 2px #aaa,0 0 2px #fff inset;box-shadow:0 0 2px #aaa,0 0 2px #fff inset;text-shadow:0 0 1px #fff;}
|
||||
|
||||
.icon {
|
||||
width: 1em; height: 1em;
|
||||
vertical-align: -0.15em;
|
||||
fill: currentColor;
|
||||
overflow: hidden;
|
||||
}
|
||||
.hide-project-icon-list{
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 文字悬浮提示样式 */
|
||||
/* tooltip样式 */
|
||||
[tooltip] {
|
||||
|
||||
@ -484,6 +484,32 @@ input#doc-name,input#doctemp-name{
|
||||
background-color: #2176ff;
|
||||
}
|
||||
|
||||
/* 图标选择器 */
|
||||
.layui-iconpicker {max-width: 280px;}
|
||||
.layui-iconpicker{position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #d2d2d2;max-height:200px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);box-sizing:border-box;}
|
||||
.layui-iconpicker-item{border:1px solid #e6e6e6;width:90px;height:38px;border-radius:4px;cursor:pointer;position:relative;}
|
||||
.layui-iconpicker-icon{border-right:1px solid #e6e6e6;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;width:60px;height:100%;float:left;text-align:center;background:#fff;transition:all .3s;}
|
||||
.layui-iconpicker-icon i{line-height:38px;font-size:18px;}
|
||||
.layui-iconpicker-item > .layui-edge{left:70px;}
|
||||
.layui-iconpicker-item:hover{border-color:#D2D2D2!important;}
|
||||
.layui-iconpicker-item:hover .layui-iconpicker-icon{border-color:#D2D2D2!important;}
|
||||
.layui-iconpicker.layui-form-selected .layui-anim{display:block;}
|
||||
.layui-iconpicker-body{padding:6px;}
|
||||
.layui-iconpicker .layui-iconpicker-list{background-color:#fff;border:1px solid #ccc;border-radius:4px;}
|
||||
.layui-iconpicker .layui-iconpicker-icon-item{display:inline-block;width:21.1%;line-height:36px;text-align:center;cursor:pointer;vertical-align:top;height:36px;margin:4px;border:1px solid #ddd;border-radius:2px;transition:300ms;}
|
||||
.layui-iconpicker .layui-iconpicker-icon-item i.layui-icon{font-size:17px;}
|
||||
.layui-iconpicker .layui-iconpicker-icon-item:hover{background-color:#eee;border-color:#ccc;-webkit-box-shadow:0 0 2px #aaa,0 0 2px #fff inset;-moz-box-shadow:0 0 2px #aaa,0 0 2px #fff inset;box-shadow:0 0 2px #aaa,0 0 2px #fff inset;text-shadow:0 0 1px #fff;}
|
||||
|
||||
.icon {
|
||||
width: 1em; height: 1em;
|
||||
vertical-align: -0.15em;
|
||||
fill: currentColor;
|
||||
overflow: hidden;
|
||||
}
|
||||
.hide-project-icon-list{
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 文字悬浮提示样式 */
|
||||
/* tooltip样式 */
|
||||
[tooltip] {
|
||||
|
||||
@ -252,7 +252,7 @@ $("#doc-cache-btn").click(function(){
|
||||
$('div.editormd-preview').on('click','a',function(e){
|
||||
e.target.target = '_blank';
|
||||
});
|
||||
$("#editor-md").on('click','a',function(e){
|
||||
$("div.editormd-preview").on('click','a',function(e){
|
||||
e.target.target = '_blank';
|
||||
})
|
||||
|
||||
|
||||
@ -47,6 +47,9 @@
|
||||
</form>
|
||||
<!-- 文集名称 -->
|
||||
<div class="project-title">
|
||||
{% if project.icon %}
|
||||
<svg class="icon" aria-hidden="true"><use xlink:href="#{{project.icon}}"></use></svg>
|
||||
{% endif %}
|
||||
<a href="{% url 'pro_index' pro_id=project.id %}">{{ project.name }}
|
||||
{% if project.role == 1 %}
|
||||
<i class="layui-icon layui-icon-password" title="{% trans '私密文档' %}"></i>
|
||||
@ -295,6 +298,7 @@
|
||||
<script src="{% static 'viewerjs/viewer.js' %}"></script>
|
||||
<script src="{% static 'qrcodejs/qrcode.min.js' %}"></script>
|
||||
<script src="{% static 'mrdoc/mrdoc-docs.js' %}?version={{mrdoc_version}}"></script>
|
||||
<script src="{% static 'iconFont/iconfont.js' %}"></script>
|
||||
<script>
|
||||
|
||||
{% if toc_cnt > 999 %}
|
||||
|
||||
@ -44,6 +44,23 @@
|
||||
<input class="layui-input" type="text" id="pname" style="margin-bottom:10px;" placeholder="{% trans '输入文集名' %}" 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">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" id="project-icon-select">
|
||||
{% if pro.icon %}
|
||||
<svg class="icon" aria-hidden="true"><use xlink:href="#{{pro.icon}}"></use></svg>
|
||||
{% else %}
|
||||
<i class="layui-icon layui-icon-addition"></i>
|
||||
{% endif %}
|
||||
</button>
|
||||
<input type="hidden" name="picon" id="picon" value="{{pro.icon}}"/>
|
||||
<div class="layui-anim layui-anim-upbit layui-iconpicker hide-project-icon-list" id="project-icon-select-box">
|
||||
<div class="layui-iconpicker-list" id="mrdoc-project-icon-list">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{% trans "文集简介" %}</label>
|
||||
<div class="layui-input-block">
|
||||
@ -190,7 +207,7 @@
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block custom_script %}
|
||||
|
||||
<script src="{% static 'iconFont/iconfont.js' %}"></script>
|
||||
<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>
|
||||
@ -201,23 +218,41 @@
|
||||
var form = layui.form;
|
||||
//监听单选事件
|
||||
form.on('radio(role)', function(data){
|
||||
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");
|
||||
}else if(data.value == 2){
|
||||
$("#role-user").css("display","block");
|
||||
$("#role-pwd").css("display","none");
|
||||
}else if(data.value == 3){
|
||||
$("#role-user").css("display","none");
|
||||
$("#role-pwd").css("display","block");
|
||||
}
|
||||
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");
|
||||
}else if(data.value == 2){
|
||||
$("#role-user").css("display","block");
|
||||
$("#role-pwd").css("display","none");
|
||||
}else if(data.value == 3){
|
||||
$("#role-user").css("display","none");
|
||||
$("#role-pwd").css("display","block");
|
||||
}
|
||||
});
|
||||
// 动态生成文集图标列表
|
||||
for(var i=1;i<44;i++){
|
||||
var icon_elem = '<div class="layui-iconpicker-icon-item" style="width:20%" data-icon="mrdoc-icon-pro-'+ i +'"><svg class="icon" aria-hidden="true"><use xlink:href="#mrdoc-icon-pro-'+ i +'"></use></svg></div>'
|
||||
$("#mrdoc-project-icon-list").append(icon_elem)
|
||||
}
|
||||
// 点击图标选择按钮
|
||||
$("#project-icon-select").click(function(){
|
||||
$("#project-icon-select-box").toggleClass("hide-project-icon-list")
|
||||
});
|
||||
// 选中图标
|
||||
$(".layui-iconpicker-icon-item").click(function(e){
|
||||
var selected_icon = e.currentTarget.dataset.icon;
|
||||
var selected_icon_svg = '<svg class="icon" aria-hidden="true"><use xlink:href="#'+ selected_icon +'"></use></svg>'
|
||||
console.log(selected_icon)
|
||||
$("#project-icon-select").html(selected_icon_svg)
|
||||
$("#picon").val(selected_icon)
|
||||
})
|
||||
//修改文集基础信息
|
||||
modifyProject = function(pro_id,pro_name,pro_intro){
|
||||
layer.load(1);
|
||||
var project_data = {
|
||||
'picon':$("#picon").val(),
|
||||
'pro_id':'{{pro.id}}',
|
||||
'name':$("#pname").val(),
|
||||
'desc':$("#desc").val(),
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
<link href="{% static 'layui/css/layui.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'mrdoc/mrdoc.css' %}?version={{mrdoc_version}}" rel="stylesheet">
|
||||
<link rel="icon" href="{% static 'search/mrdoc_logo_300.png' %}" sizes="192x192" />
|
||||
<!-- <link href="//at.alicdn.com/t/font_2281207_xtauo52jlgk.css" rel="stylesheet"> -->
|
||||
<style>
|
||||
.layui-nav .layui-this:after, .layui-nav-bar, .layui-nav-tree, .layui-nav-itemed:after {
|
||||
background-color: #333 !important;
|
||||
@ -26,6 +27,12 @@
|
||||
.layui-laypage .layui-laypage-curr .layui-laypage-em{
|
||||
background-color: #333 !important;
|
||||
}
|
||||
.layui-form-label{
|
||||
width: 30px !important;
|
||||
}
|
||||
.layui-input-block{
|
||||
margin-left: 60px !important;
|
||||
}
|
||||
/* 控制栏表单下拉框样式 */
|
||||
.index-control .layui-input-inline{
|
||||
width: 100px;
|
||||
@ -127,30 +134,33 @@
|
||||
{% for p in projects %}
|
||||
<!-- 网格布局 -->
|
||||
<div class="layui-col-md3 layui-col-xs12 project-item">
|
||||
<a href="{% url 'pro_index' p.id %}" title="{{p.name}}">
|
||||
<a href="{% url 'pro_index' p.id %}">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header" >
|
||||
{% if p.role == 1 %}
|
||||
<p class="layui-elip" style="font-weight: 700;"><i class="layui-icon layui-icon-circle-dot" style="color: #FF5722;"></i> {{ p.name }}</p>
|
||||
{% elif p.role == 2 %}
|
||||
<p class="layui-elip" style="font-weight: 700;"><i class="layui-icon layui-icon-circle-dot" style="color: #009688;"></i> {{ p.name }}</p>
|
||||
{% elif p.role == 3 %}
|
||||
<p class="layui-elip" style="font-weight: 700;"><i class="layui-icon layui-icon-circle-dot" style="color: #1E9FFF;"></i> {{ p.name }}</p>
|
||||
{% if p.icon %}
|
||||
<p class="layui-elip" style="font-weight: 700;"><svg class="icon" aria-hidden="true"><use xlink:href="#{{p.icon}}"></use></svg> {{ p.name }}</p>
|
||||
{% else %}
|
||||
<p class="layui-elip" style="font-weight: 700;"><i class="layui-icon layui-icon-circle-dot" style="color: #5FB878;"></i> {{ p.name }}</p>
|
||||
<p class="layui-elip" style="font-weight: 700;"><svg class="icon" aria-hidden="true"><use xlink:href="#mrdoc-icon-pro-2"></use></svg> {{ p.name }}</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="layui-card-body" style="font-size: 12px;">
|
||||
<p class="layui-word-aux layui-elip">{% trans "作者:" %}{% if p.create_user.first_name != '' %} {{p.create_user.first_name}} {% else %} {{p.create_user}}{% endif %}</p>
|
||||
<p class="layui-word-aux layui-elip">{% trans "最新:" %}{{p.id | get_new_doc}}</p>
|
||||
<p class="tooltip layui-word-aux">{% trans "简介:" %}
|
||||
{% if p.intro == "" %}
|
||||
<span class="">{% trans "此文集没有填写简介" %}</span>
|
||||
{% else %}
|
||||
<span class="">{{ p.intro | slice:'30' }}…</span>
|
||||
<span class="tooltip-content clearfix">{{ p.intro }}</span>
|
||||
{% endif %}
|
||||
<p class="layui-word-aux layui-elip"><i class="layui-icon layui-icon-user"></i> {% if p.create_user.first_name != '' %} {{p.create_user.first_name}} {% else %} {{p.create_user}}{% endif %}</p>
|
||||
<p class="tooltip layui-word-aux">
|
||||
<i class="layui-icon layui-icon-speaker"></i>
|
||||
{% if p.intro == "" %}
|
||||
<span class="">{% trans "此文集没有填写简介" %}</span>
|
||||
{% else %}
|
||||
<span class="">{{ p.intro | slice:'20' }}…</span>
|
||||
<span class="tooltip-content clearfix">{{ p.intro }}</span>
|
||||
{% endif %}
|
||||
</p>
|
||||
{% for new_doc in p.id|get_new_doc %}
|
||||
<p class="layui-word-aux layui-elip">
|
||||
<i class="layui-icon layui-icon-form"></i>
|
||||
<span>{{new_doc.name}}</span>
|
||||
<span style="float: right;">{{new_doc.modify_time|date:"n-d"}}</span></p>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
@ -231,6 +241,48 @@
|
||||
{% include 'app_doc/foot_base.html' %}
|
||||
<!-- 页脚结束 -->
|
||||
|
||||
<!-- 新建文集div块 -->
|
||||
<div style="padding: 20px;display:none;" id="create-project-div">
|
||||
<div class="layui-form">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">图标</label>
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" id="project-icon-select">
|
||||
<i class="layui-icon layui-icon-addition"></i>
|
||||
</button>
|
||||
<input type="hidden" name="picon" id="picon" />
|
||||
<div class="layui-anim layui-anim-upbit layui-iconpicker hide-project-icon-list" id="project-icon-select-box">
|
||||
<div class="layui-iconpicker-list" id="mrdoc-project-icon-list">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</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">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="desc" id="desc" placeholder="输入文集简介,不超过100个字,超出将被截断" maxlength="100" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">权限</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="project-role" value="0" title="公开" checked>
|
||||
<input type="radio" name="project-role" value="1" title="私密">
|
||||
</div>
|
||||
</div>
|
||||
<div style="color:red;font-size:12px;">{% trans "*在可个人中心对文集权限进行进一步控制" %}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- 结束新建文集div块 -->
|
||||
|
||||
<script src="{% static 'iconFont/iconfont.js' %}"></script>
|
||||
<script src="{% static 'jquery/3.1.1/jquery.min.js' %}"></script>
|
||||
<script src="{% static 'layui/layui.all.js' %}"></script>
|
||||
{% block custom_script %}
|
||||
@ -276,35 +328,66 @@
|
||||
var filter_data = form.val("filter-project-form");
|
||||
console.log(filter_data)
|
||||
window.location.href = '/?sort=' + filter_data['sort'] + '&role=' + filter_data['role'] + '&kw={{kw}}'
|
||||
});
|
||||
});
|
||||
|
||||
// 动态生成文集图标列表
|
||||
for(var i=1;i<44;i++){
|
||||
var icon_elem = '<div class="layui-iconpicker-icon-item" style="width:20%" data-icon="mrdoc-icon-pro-'+ i +'"><svg class="icon" aria-hidden="true"><use xlink:href="#mrdoc-icon-pro-'+ i +'"></use></svg></div>'
|
||||
$("#mrdoc-project-icon-list").append(icon_elem)
|
||||
}
|
||||
// 点击图标选择按钮
|
||||
$("#project-icon-select").click(function(){
|
||||
$("#project-icon-select-box").toggleClass("hide-project-icon-list")
|
||||
});
|
||||
// 选中图标
|
||||
$(".layui-iconpicker-icon-item").click(function(e){
|
||||
var selected_icon = e.currentTarget.dataset.icon;
|
||||
var selected_icon_svg = '<svg class="icon" aria-hidden="true"><use xlink:href="#'+ selected_icon +'"></use></svg>'
|
||||
console.log(selected_icon)
|
||||
$("#project-icon-select").html(selected_icon_svg)
|
||||
$("#picon").val(selected_icon)
|
||||
})
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
//创建新文集
|
||||
createPro = function () {
|
||||
layer.open({
|
||||
type:1,
|
||||
title:'{% trans "新建文集" %}',
|
||||
area:'300px;',
|
||||
area:'400px;',
|
||||
id:'createPro',//配置ID
|
||||
content: $('#create-project-div'),
|
||||
btn:['{% trans "确定" %}','{% trans "取消" %}'], //添加按钮
|
||||
btnAlign:'c', //按钮居中
|
||||
sucess:function(){
|
||||
form.render();
|
||||
},
|
||||
yes:function (index,layero) {
|
||||
layer.load(1)
|
||||
data = {
|
||||
'picon':$("#picon").val(),
|
||||
'pname':$("#pname").val(),
|
||||
'desc':$("#desc").val(),
|
||||
'role':$("#project-role").val(),
|
||||
'role':$("input[name=project-role]:checked").val(),
|
||||
}
|
||||
$.post("{% url 'create_project' %}",data,function(r){
|
||||
if(r.status){
|
||||
window.location.reload();
|
||||
}else{
|
||||
//创建失败,提示
|
||||
console.log(r)
|
||||
$.ajax({
|
||||
url:"{% url 'create_project' %}",
|
||||
type:'post',
|
||||
data:data,
|
||||
success:function(r){
|
||||
if(r.status){
|
||||
window.location.reload();
|
||||
}else{
|
||||
//创建失败,提示
|
||||
console.log(r)
|
||||
layer.closeAll('loading')
|
||||
layer.msg(r.data)
|
||||
}
|
||||
},
|
||||
error:function(){
|
||||
layer.closeAll('loading')
|
||||
layer.msg(r.data)
|
||||
layer.msg("创建异常")
|
||||
}
|
||||
})
|
||||
},
|
||||
@ -391,23 +474,6 @@
|
||||
{% endif %}
|
||||
<!-- 统计代码结束 -->
|
||||
|
||||
<!-- 新建文集div块 -->
|
||||
<div style="padding: 20px;display:none;" id="create-project-div">
|
||||
<input class="layui-input" type="text" id="pname" style="margin-bottom:10px;" placeholder="输入文集名" required lay-verify="required">
|
||||
<textarea name="desc" id="desc" placeholder="输入文集简介,不超过100个字,超出将被截断" maxlength="100" class="layui-textarea"></textarea>
|
||||
<div class="layui-form-item" style="margin-top:10px;">
|
||||
<label class="layui-form-label" style="text-align:left;padding:9px 0px;">{% trans "文集权限" %}</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="project-role" lay-verify="" class="layui-select" id="project-role">
|
||||
<!--<option value="">选择文集权限</option>-->
|
||||
<option value="0">{% trans "公开" %}</option>
|
||||
<option value="1">{% trans "私密" %}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div style="color:red;font-size:12px;">{% trans "*在可个人中心对文集权限进行进一步控制" %}</div>
|
||||
</div>
|
||||
<!-- 结束新建文集div块 -->
|
||||
{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
Loading…
x
Reference in New Issue
Block a user