Update: (步骤备份)更新 Pear Admin 框架版本与 Pear Admin Layui 一致,尝试重写页面
This commit is contained in:
@@ -0,0 +1,394 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>分析页</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/analysis.css') }}"/>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="pear-container">
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">今日访问</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;"
|
||||
id="value1">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1688201011061" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="1411" width="200" height="200">
|
||||
<path
|
||||
d="M716.8 0H307.2C137.5488 0 0 137.5488 0 307.2v409.6c0 169.6512 137.5488 307.2 307.2 307.2h409.6c169.6512 0 307.2-137.5488 307.2-307.2V307.2c0-169.6512-137.5488-307.2-307.2-307.2z"
|
||||
fill="#D8F4EE" p-id="1412"></path>
|
||||
<path
|
||||
d="M691.8656 639.1296a257.4592 257.4592 0 0 1-52.736 52.736l60.928 60.928a37.2992 37.2992 0 0 0 52.736-52.736l-60.928-60.928z"
|
||||
fill="#75E8CD" p-id="1413"></path>
|
||||
<path
|
||||
d="M486.4 716.8a230.4 230.4 0 1 0 0-460.8 230.4 230.4 0 0 0 0 460.8z m130.9696-302.5152a16.64 16.64 0 0 1 0.3584 23.5008l-115.84 119.296a16.5376 16.5376 0 0 1-3.84 3.3792 16.64 16.64 0 0 1-22.144-3.5072l-67.328-60.5184-47.232 48.64a16.64 16.64 0 0 1-23.8336-23.168l56.32-57.984a16.6912 16.6912 0 0 1 24.8832-3.072l69.5552 62.5152 105.6-108.7232a16.6144 16.6144 0 0 1 23.5008-0.3584z"
|
||||
fill="#01C3A3" p-id="1414"></path>
|
||||
<path
|
||||
d="M341.257236 436.535528m-7.948259-21.87091l0 0q-7.948258-21.87091-29.819168-13.922652l0 0q-21.87091 7.948258-13.922652 29.819169l0 0q7.948258 21.87091 29.819168 13.922651l0 0q21.87091-7.948258 13.922652-29.819168Z"
|
||||
fill="#FFFFFF" p-id="1415"></path>
|
||||
<path
|
||||
d="M331.4432 370.7392a17.2544 17.2544 0 0 0 29.3888-3.584l5.9648-13.5168a26.112 26.112 0 0 1 14.9504-13.9264l30.1056-10.9312a15.2576 15.2576 0 0 0 8.8832-20.224 15.0272 15.0272 0 0 0-18.4576-8.6016c-47.7696 15.4368-67.0976 29.3888-73.9584 57.5232a15.6672 15.6672 0 0 0 3.1488 13.2608z"
|
||||
fill="#FFFFFF" p-id="1416"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">提交次数</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;"
|
||||
id="value2">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1688201051691" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="1560" width="200" height="200">
|
||||
<path
|
||||
d="M716.8 0H307.2C137.5488 0 0 137.5488 0 307.2v409.6c0 169.6512 137.5488 307.2 307.2 307.2h409.6c169.6512 0 307.2-137.5488 307.2-307.2V307.2c0-169.6512-137.5488-307.2-307.2-307.2z"
|
||||
fill="#D8F4EE" p-id="1561"></path>
|
||||
<path
|
||||
d="M257.92 354.304a12.8 12.8 0 0 1 12.8-12.8h51.2a12.8 12.8 0 1 1 0 25.6h-51.2a12.8 12.8 0 0 1-12.8-12.8zM258.048 485.6832a12.8 12.8 0 0 1 12.8512-12.7488l51.2 0.1536a12.8 12.8 0 1 1-0.0768 25.6l-51.2-0.1536a12.8 12.8 0 0 1-12.7488-12.8512zM257.8432 613.5808c0-7.296 5.76-13.184 12.8-13.184l51.2 0.1024c7.0912 0 12.8 5.9392 12.8 13.2096a13.0048 13.0048 0 0 1-12.8256 13.1584l-51.2-0.1024a13.0048 13.0048 0 0 1-12.8-13.184z"
|
||||
fill="#75E8CD" p-id="1562"></path>
|
||||
<path
|
||||
d="M281.6 307.2a51.2 51.2 0 0 1 51.2-51.2h307.2a51.2 51.2 0 0 1 51.2 51.2 51.2 51.2 0 0 1 51.2 51.2v358.4a51.2 51.2 0 0 1-51.2 51.2H332.8a51.2 51.2 0 0 1-51.2-51.2v-76.8h51.2a25.6 25.6 0 0 0 0-51.2h-51.2v-76.8h51.2a25.6 25.6 0 0 0 0-51.2h-51.2v-76.8h51.2a25.6 25.6 0 0 0 0-51.2h-51.2v-25.6z m51.2 409.6c-9.3184 0-18.0736-2.4832-25.6-6.8352V716.8a25.6 25.6 0 0 0 25.6 25.6h358.4a25.6 25.6 0 0 0 25.6-25.6V358.4a25.6 25.6 0 0 0-25.6-25.6v332.8a51.2 51.2 0 0 1-51.2 51.2H332.8z"
|
||||
fill="#01C3A3" p-id="1563"></path>
|
||||
<path
|
||||
d="M358.4 293.2224c0-6.4 5.1968-11.6224 11.6224-11.6224h209.4592a11.648 11.648 0 0 1 0 23.296h-209.4592a11.648 11.648 0 0 1-11.6224-11.6736zM614.4 293.2224a11.648 11.648 0 0 1 23.2704 0 11.648 11.648 0 0 1-23.2704 0z"
|
||||
fill="#FFFFFF" p-id="1564"></path>
|
||||
<path
|
||||
d="M426.7264 401.9712a13.568 13.568 0 0 1 5.8368-17.9456l26.624-13.952a12.8512 12.8512 0 0 1 17.5616 5.7088l18.0224 36.3264-50.3552 25.5488-17.6896-35.6864z m23.552 47.5136l84.7872 170.8544-5.0432 2.6624c-3.8144 1.9968-4.1984 7.296-0.6656 9.5232l55.3472 35.2256c3.5072 2.2272 8.2688-0.256 8.576-4.5056l4.7616-66.7136a5.3248 5.3248 0 0 0-7.9104-5.0432l-5.0176 2.6624-84.48-170.24-50.3552 25.5744z"
|
||||
fill="#75E8CD" p-id="1565"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">下载数量</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;"
|
||||
id="value3">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1688201066494" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="1709" width="200" height="200">
|
||||
<path
|
||||
d="M716.8 0H307.2C137.5488 0 0 137.5488 0 307.2v409.6c0 169.6512 137.5488 307.2 307.2 307.2h409.6c169.6512 0 307.2-137.5488 307.2-307.2V307.2c0-169.6512-137.5488-307.2-307.2-307.2z"
|
||||
fill="#D8F4EE" p-id="1710"></path>
|
||||
<path
|
||||
d="M349.056 373.2992L461.1072 512l-112.0512 138.7008C311.9872 696.6272 342.4 768 399.0528 768h225.8944c56.6528 0 87.0656-71.3728 49.9968-117.2992L562.8928 512l112.0512-138.7008c37.0688-45.9008 6.656-117.2992-49.9968-117.2992h-225.8944c-56.6528 0-87.0656 71.3984-49.9968 117.2992z m134.2464 123.904l-67.7376-84.4288c-22.2208-27.7248 22.5024-38.9632 54.7328-17.6896 29.1328 19.2 53.5808 18.1504 62.2336 17.7664l2.2272-0.0768c1.1264 0 5.7088-1.1008 12.1344-2.6368 25.9072-6.1952 81.8944-19.584 64.0768 2.6368l-67.7376 84.4544c-15.7952 19.712-44.1344 19.712-59.9296 0z"
|
||||
fill="#01C99A" p-id="1711"></path>
|
||||
<path
|
||||
d="M256 294.4a38.4 38.4 0 0 1 38.4-38.4h435.2a38.4 38.4 0 0 1 0 76.8h-435.2a38.4 38.4 0 0 1-38.4-38.4zM768 729.6a38.4 38.4 0 0 1-38.4 38.4h-435.2a38.4 38.4 0 0 1 0-76.8h435.2a38.4 38.4 0 0 1 38.4 38.4z"
|
||||
fill="#75E8CD" p-id="1712"></path>
|
||||
<path
|
||||
d="M402.7392 614.9632m7.7068-10.219845l42.926877-56.924536q7.7068-10.219845 17.926645-2.513045l0 0q10.219845 7.7068 2.513045 17.926645l-42.926877 56.924536q-7.7068 10.219845-17.926645 2.513045l0 0q-10.219845-7.7068-2.513045-17.926645Z"
|
||||
fill="#FFFFFF" p-id="1713"></path>
|
||||
<path
|
||||
d="M419.824586 634.79804m-7.7068 10.219845l0 0q-7.7068 10.219845-17.926645 2.513044l0 0q-10.219845-7.7068-2.513045-17.926645l0 0q7.7068-10.219845 17.926645-2.513044l0 0q10.219845 7.7068 2.513045 17.926645Z"
|
||||
fill="#FFFFFF" p-id="1714"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">流量统计</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;"
|
||||
id="value4">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1688201079590" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" p-id="1858" width="200" height="200">
|
||||
<path
|
||||
d="M716.8 0H307.2C137.5488 0 0 137.5488 0 307.2v409.6c0 169.6512 137.5488 307.2 307.2 307.2h409.6c169.6512 0 307.2-137.5488 307.2-307.2V307.2c0-169.6512-137.5488-307.2-307.2-307.2z"
|
||||
fill="#D8F4EE" p-id="1859"></path>
|
||||
<path
|
||||
d="M327.936 280.3712a24.3712 24.3712 0 0 1 48.7424 0v48.768a24.3712 24.3712 0 1 1-48.768 0v-48.768z m195.0464 0h-121.9072v73.1392a24.3712 24.3712 0 0 1-24.3968 24.3968H327.936a24.3712 24.3712 0 0 1-24.3712-24.3968v-73.1392h-24.3712A48.768 48.768 0 0 0 230.4 329.1392v390.0928C230.4 746.1632 252.2368 768 279.168 768H644.864c3.0208 0 5.9904-0.256 8.8832-0.8192a146.304 146.304 0 1 1 39.8592-289.7408v-148.3008a48.768 48.768 0 0 0-48.7424-48.768h-24.3968v73.1392a24.3712 24.3712 0 0 1-24.3712 24.3968H547.328a24.3712 24.3712 0 0 1-24.3712-24.3968v-73.1392zM571.7248 256a24.3712 24.3712 0 0 0-24.3712 24.3712v48.768a24.3712 24.3712 0 0 0 48.768 0v-48.768a24.3712 24.3712 0 0 0-24.3968-24.3712z m-292.5568 182.8608c0-6.7328 5.4528-12.1856 12.1856-12.1856h316.928a12.1856 12.1856 0 1 1 0 24.3712h-316.928a12.1856 12.1856 0 0 1-12.1856-12.1856z m12.1856 109.7216a12.1856 12.1856 0 1 1 0-24.3968h170.6752a12.1856 12.1856 0 1 1 0 24.3968H291.328z m-12.1856 85.3248c0-6.7328 5.4528-12.1856 12.1856-12.1856h170.6752a12.1856 12.1856 0 1 1 0 24.3712H291.328a12.1856 12.1856 0 0 1-12.1856-12.1856z"
|
||||
fill="#01C3A3" p-id="1860"></path>
|
||||
<path
|
||||
d="M675.968 742.4a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4z m25.7024-101.8112l30.208 30.2336a8.704 8.704 0 0 1-12.288 12.3136l-30.2336-30.2336a52.224 52.224 0 1 1 12.3136-12.288z m-7.7568-30.2848a34.816 34.816 0 1 1-69.6576 0 34.816 34.816 0 0 1 69.632 0z"
|
||||
fill="#75E8CD" p-id="1861"></path>
|
||||
<path d="M637.568 627.2a12.8 12.8 0 0 1 25.6 0 12.8 12.8 0 1 1-25.6 0z"
|
||||
fill="#FFFFFF" p-id="1862"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col layui-col-md9">
|
||||
<div id="echarts-records" style="height:400px;"></div>
|
||||
</div>
|
||||
<div class="layui-col layui-col-md3">
|
||||
<div style="padding: 40px 0px 0px 50px;">
|
||||
<div class="layui-timeline">
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i class="layui-icon layui-timeline-axis layui-icon-circle"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-timeline-item">
|
||||
<i
|
||||
class="layui-icon layui-anim layui-anim-rotate layui-anim-loop layui-timeline-axis"></i>
|
||||
<div class="layui-timeline-content layui-text">
|
||||
<div class="layui-timeline-title">最初,Layui 在爱与期许中孵化。</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md9">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<dl class="dynamic-status">
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="dynamic-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠儀式 在 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">讨论区</a> 回答了 <a style="color: var(--global-primary-color)"
|
||||
lay-href="https://gitee.com/pear-admin/Pear-Admin-Layui">夏娜</a> 提出得问题
|
||||
</p>
|
||||
<span>昨天</span>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="layui-col layui-col-md3">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body"
|
||||
style="flex-direction: column;height: 160px;display: flex; align-items: center; justify-content: center;">
|
||||
<div>
|
||||
<svg focusable="false" class="" data-icon="smile" width="6em" height="6em" fill="#16baaa"
|
||||
aria-hidden="true" viewBox="64 64 896 896">
|
||||
<path
|
||||
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"
|
||||
fill="#16baaa"></path>
|
||||
<path
|
||||
d="M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0196 0 48.01 48.01 0 01-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 018-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 018 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"
|
||||
fill="#e6f7ff"></path>
|
||||
<path
|
||||
d="M288 421a48 48 0 1096 0 48 48 0 10-96 0zm376 112h-48.1c-4.2 0-7.8 3.2-8.1 7.4-3.7 49.5-45.3 88.6-95.8 88.6s-92-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 00-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 00-8-8.4zm-24-112a48 48 0 1096 0 48 48 0 10-96 0z"
|
||||
fill="#16baaa"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div>Hello Word</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
寄语
|
||||
</div>
|
||||
<div class="layui-card-body" style="line-height:40px;">
|
||||
原想将澎湃的爱平平稳稳放置你手心,奈何我徒有一股蛮劲,只顾向你跑去,一个不稳跌的满身脏兮兮。试图爬起的我,
|
||||
心想你会不会笑我 " 献爱献的这样笨拙, 怎么不知避开爱里的埋伏 "
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.use(['layer', 'echarts', 'element', 'count'], function () {
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer,
|
||||
element = layui.element,
|
||||
count = layui.count,
|
||||
echarts = layui.echarts;
|
||||
|
||||
count.up("value1", {
|
||||
time: 4000,
|
||||
num: 440.34,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up("value2", {
|
||||
time: 4000,
|
||||
num: 236.30,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up("value3", {
|
||||
time: 4000,
|
||||
num: 634.43,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up("value4", {
|
||||
time: 4000,
|
||||
bit: 2,
|
||||
num: 373.23,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden');
|
||||
|
||||
const colorList = ["#9E87FF", '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF']
|
||||
var option = {
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Bai', 'Fan', 'Yue', 'Qian'],
|
||||
splitLine: false
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
splitLine: false
|
||||
},
|
||||
grid: {
|
||||
x: '50px',
|
||||
y: '50px',
|
||||
x2: '50px',
|
||||
y2: '50px',
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: [120, 200, 150, 80, 70, 110, 130, 50, 40, 70, 100],
|
||||
type: 'bar',
|
||||
showBackground: true,
|
||||
backgroundStyle: {
|
||||
color: 'rgba(180, 180, 180, 0.2)'
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#16baaa'
|
||||
},
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
echartsRecords.setOption(option);
|
||||
|
||||
setInterval(() => {
|
||||
echartsRecords.resize();
|
||||
}, 500);
|
||||
|
||||
window.onresize = function () {
|
||||
echartsRecords.resize();
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,2 +1,9 @@
|
||||
<script>
|
||||
const variableKey = "--global-primary-color";
|
||||
const variableVal = localStorage.getItem("theme-color-color");
|
||||
document.documentElement.style.setProperty(variableKey, variableVal);
|
||||
</script>
|
||||
|
||||
<script src="{{ url_for('static', filename='system/component/layui/layui.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='system/component/pear/pear.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='system/component/pear/pear.js') }}"></script>
|
||||
|
||||
|
||||
@@ -2,4 +2,12 @@
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/component/pear/css/pear.css') }}"/>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/component/pear/css/pear.css') }}"/>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/variables.css') }}"/>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/reset.css') }}"/>
|
||||
|
||||
<style>
|
||||
.layui-form-checked:hover > div {
|
||||
background-color: unset;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,413 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>首页</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/console1.css') }}"/>
|
||||
|
||||
<!-- 主 题 更 换 -->
|
||||
<style id="pearadmin-bg-color"></style>
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">今日访问</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;" id="value1">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 1024 1024" width="200"
|
||||
height="200" t="1591462258798"
|
||||
p-id="942" version="1.1">
|
||||
<path fill="#fcc66f"
|
||||
d="M 262.7 835 c -15.3 0 -28.1 -11.4 -29.8 -26.6 L 174.1 291 c -0.6 -5.1 1 -10.2 4.5 -14 s 8.3 -6 13.4 -6 h 640 c 5.1 0 10 2.2 13.4 6 s 5 8.9 4.5 14 l -58.8 517.4 c -1.7 15.2 -14.5 26.6 -29.8 26.6 H 262.7 Z"
|
||||
p-id="943"/>
|
||||
<path fill="#ffd79c"
|
||||
d="M 802 289 l -58.8 517.4 c -0.7 6.1 -5.8 10.6 -11.9 10.6 h 30 c 6.1 0 11.2 -4.6 11.9 -10.6 L 832 289 h -30 Z"
|
||||
p-id="944"/>
|
||||
<path fill="#f56e73"
|
||||
d="M 164 307 c -16.5 0 -30 -13.5 -30 -30 v -58 c 0 -16.5 13.5 -30 30 -30 h 696 c 16.5 0 30 13.5 30 30 v 58 c 0 16.5 -13.5 30 -30 30 H 164 Z"
|
||||
p-id="945"/>
|
||||
<path fill="#ffa1a8"
|
||||
d="M 860 207 h -30 c 6.6 0 12 5.4 12 12 v 58 c 0 6.6 -5.4 12 -12 12 h 30 c 6.6 0 12 -5.4 12 -12 v -58 c 0 -6.6 -5.4 -12 -12 -12 Z"
|
||||
p-id="946"/>
|
||||
<path fill="#65c8ff"
|
||||
d="M 190.9 651.5 c -31.4 0 -56.9 -25.5 -56.9 -56.9 V 219 c 0 -16.5 13.5 -30 30 -30 h 466.2 c 9.9 0 18 8.1 18 18 v 301.1 c 0 34.7 -28.2 62.9 -62.9 62.9 s -62.9 -28.2 -62.9 -62.9 V 393.5 c 0 -23.2 -18.8 -42 -42 -42 s -42 18.8 -42 42 v 68.1 c 0 29.4 -23.9 53.4 -53.4 53.4 s -53.4 -23.9 -53.4 -53.4 v -68.1 c 0 -23.2 -18.8 -42 -42 -42 s -42 18.8 -42 42 v 201.1 c 0.1 31.4 -25.4 56.9 -56.7 56.9 Z"
|
||||
p-id="947"/>
|
||||
<path fill="#b3eaff"
|
||||
d="M 277.8 321.5 c -33.1 0 -60 26.9 -60 60 v 201.1 c 0 21.5 -17.4 38.9 -38.9 38.9 c -7.7 0 -14.8 -2.2 -20.8 -6.1 c 6.9 10.9 19 18.1 32.8 18.1 c 21.5 0 38.9 -17.4 38.9 -38.9 V 393.5 c 0 -33.1 26.9 -60 60 -60 c 13.5 0 25.9 4.5 36 12 c -11 -14.5 -28.4 -24 -48 -24 Z M 618.3 207 v 289.1 c 0 24.8 -20.1 44.9 -44.9 44.9 c -9.3 0 -18 -2.8 -25.2 -7.7 c 8.1 11.9 21.7 19.7 37.2 19.7 c 24.8 0 44.9 -20.1 44.9 -44.9 V 207 h -12 Z M 468.5 321.5 c -33.1 0 -60 26.9 -60 60 v 68.1 c 0 19.5 -15.8 35.4 -35.4 35.4 c -6.7 0 -12.9 -1.9 -18.3 -5.1 c 6.2 10.2 17.4 17.1 30.3 17.1 c 19.5 0 35.4 -15.8 35.4 -35.4 v -68.1 c 0 -33.1 26.9 -60 60 -60 c 13.5 0 25.9 4.5 36 12 c -11 -14.5 -28.4 -24 -48 -24 Z"
|
||||
p-id="948"/>
|
||||
<path fill="#453b56" d="M 698 729.4 m -18 0 a 18 18 0 1 0 36 0 a 18 18 0 1 0 -36 0 Z"
|
||||
p-id="949"/>
|
||||
<path fill="#453b56"
|
||||
d="M 860 171 H 632.5 v 0.1 c -0.7 0 -1.5 -0.1 -2.2 -0.1 H 164 c -26.5 0 -48 21.5 -48 48 v 375.6 c 0 41.3 33.6 74.9 74.9 74.9 c 2.7 0 5.4 -0.2 8.1 -0.5 l 16 141.4 c 2.8 24.3 23.3 42.6 47.7 42.6 h 498.6 c 24.4 0 44.9 -18.3 47.7 -42.6 l 55.2 -485.6 c 24.5 -2.1 43.8 -22.7 43.8 -47.8 v -58 c 0 -26.5 -21.5 -48 -48 -48 Z M 190.9 633.5 c -21.5 0 -38.9 -17.4 -38.9 -38.9 V 219 c 0 -6.6 5.4 -12 12 -12 h 466.3 v 301.1 c 0 24.8 -20.1 44.9 -44.9 44.9 c -24.8 0 -44.9 -20.1 -44.9 -44.9 V 393.5 c 0 -33.1 -26.9 -60 -60 -60 s -60 26.9 -60 60 v 68.1 c 0 19.5 -15.8 35.4 -35.4 35.4 c -19.5 0 -35.4 -15.8 -35.4 -35.4 v -68.1 c 0 -33.1 -26.9 -60 -60 -60 s -60 26.9 -60 60 v 201.1 c 0.1 21.5 -17.4 38.9 -38.8 38.9 Z m 582.3 172.9 c -0.7 6.1 -5.8 10.6 -11.9 10.6 H 262.7 c -6.1 0 -11.2 -4.6 -11.9 -10.6 l -6.7 -59 h 396.6 c 9.9 0 18 -8.1 18 -18 s -8.1 -18 -18 -18 H 240 l -6.3 -55.4 c 19.3 -13.6 32.1 -36 32.1 -61.3 V 393.5 c 0 -13.2 10.8 -24 24 -24 s 24 10.8 24 24 v 68.1 c 0 39.4 32 71.4 71.4 71.4 s 71.4 -32 71.4 -71.4 v -68.1 c 0 -13.2 10.8 -24 24 -24 s 24 10.8 24 24 v 114.6 c 0 44.6 36.3 80.9 80.9 80.9 c 44.6 0 80.9 -36.3 80.9 -80.9 V 325 h 161.7 l -54.9 481.4 Z M 872 277 c 0 6.6 -5.4 12 -12 12 H 666.3 v -82 H 860 c 6.6 0 12 5.4 12 12 v 58 Z"
|
||||
p-id="950"/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">提交次数</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;" id="value2">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1591462430908" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="3170" width="200" height="200">
|
||||
<path d="M532 784.2c0 24.4-19.8 44.3-44.3 44.3s-44.3-19.8-44.3-44.3c0-24.4 44.3-80.3 44.3-80.3s44.3 55.8 44.3 80.3zM766 784.2c0 24.4 19.8 44.3 44.3 44.3 24.4 0 44.3-19.8 44.3-44.3 0-24.4-44.3-80.3-44.3-80.3S766 759.7 766 784.2z"
|
||||
fill="#97DCFF" p-id="3171"></path>
|
||||
<path d="M123.5 471.3c-9.9 0-18-8.1-18-18v-302c0-9.9 8.1-18 18-18h58c9.9 0 18 8.1 18 18v302c0 9.9-8.1 18-18 18h-58z"
|
||||
fill="#FCC66F" p-id="3172"></path>
|
||||
<path d="M181.5 151.3v302h-58v-302h58m0-36h-58c-19.9 0-36 16.1-36 36v302c0 19.9 16.1 36 36 36h58c19.9 0 36-16.1 36-36v-302c0-19.8-16.1-36-36-36z"
|
||||
fill="#453B56" p-id="3173"></path>
|
||||
<path d="M266.4 210.7m-18 0a18 18 0 1 0 36 0 18 18 0 1 0-36 0Z" fill="#453B56"
|
||||
p-id="3174"></path>
|
||||
<path d="M430.8 641.1c-9.9 0-18-8.1-18-18v-21.6c0-130.3 106-236.3 236.3-236.3s236.3 106 236.3 236.3v21.6c0 9.9-8.1 18-18 18H430.8z"
|
||||
fill="#FCC66F" p-id="3175"></path>
|
||||
<path d="M649 383.2c-5 0-10 0.2-15 0.6 113.5 7.7 203.3 102.2 203.3 217.7v21.6h30v-21.6c0-120.6-97.7-218.3-218.3-218.3z"
|
||||
fill="#FFD79C" p-id="3176"></path>
|
||||
<path d="M419.6 694.4c-22.1 0-40.1-18-40.1-40.1s18-40.1 40.1-40.1h458.8c22.1 0 40.1 18 40.1 40.1s-18 40.1-40.1 40.1H419.6z"
|
||||
fill="#F56E73" p-id="3177"></path>
|
||||
<path d="M878.4 632.3h-30c12.2 0 22.1 9.9 22.1 22.1s-9.9 22.1-22.1 22.1h30c12.2 0 22.1-9.9 22.1-22.1s-9.9-22.1-22.1-22.1z"
|
||||
fill="#FFA1A8" p-id="3178"></path>
|
||||
<path d="M693.3 846.4c0 24.4-19.8 44.3-44.3 44.3-24.4 0-44.3-19.8-44.3-44.3s44.3-80.3 44.3-80.3 44.3 55.9 44.3 80.3z"
|
||||
fill="#97DCFF" p-id="3179"></path>
|
||||
<path d="M649 908.7c-34.3 0-62.3-27.9-62.3-62.3 0-28.5 36.9-77.2 48.1-91.4 3.4-4.3 8.6-6.8 14.1-6.8s10.7 2.5 14.1 6.8c11.3 14.2 48.1 62.9 48.1 91.4 0.2 34.3-27.8 62.3-62.1 62.3z m0-112.3c-14.1 20.4-26.3 41.9-26.3 50 0 14.5 11.8 26.3 26.3 26.3s26.3-11.8 26.3-26.3c0-8.1-12.1-29.6-26.3-50z"
|
||||
fill="#453B56" p-id="3180"></path>
|
||||
<path d="M903.3 601.9v-0.5c0-134.1-104.4-244.3-236.3-253.6v-30.7c0-68.7-55.9-124.6-124.6-124.6H326.5c-9.9 0-18 8.1-18 18s8.1 18 18 18h215.9c48.8 0 88.6 39.7 88.6 88.6v30.7c-131.8 9.3-236.3 119.4-236.3 253.6v0.5c-19.6 9.3-33.2 29.3-33.2 52.4 0 32 26 58.1 58.1 58.1H459c-14.8 21-33.5 51.5-33.5 71.8 0 34.3 27.9 62.3 62.3 62.3 34.3 0 62.2-27.9 62.2-62.3 0-20.3-18.6-50.7-33.5-71.8h264.9c-14.8 21-33.5 51.5-33.5 71.8 0 34.3 27.9 62.3 62.3 62.3 34.3 0 62.3-27.9 62.3-62.3 0-20.3-18.6-50.7-33.5-71.8h39.4c32 0 58.1-26 58.1-58.1 0-23.1-13.6-43-33.2-52.4zM487.8 810.4c-14.5 0-26.3-11.8-26.3-26.3 0-8.1 12.1-29.6 26.3-50 14.1 20.4 26.2 41.9 26.2 50 0 14.5-11.8 26.3-26.2 26.3z m322.5 0c-14.5 0-26.3-11.8-26.3-26.3 0-8.1 12.1-29.6 26.3-50 14.1 20.4 26.3 41.9 26.3 50-0.1 14.5-11.9 26.3-26.3 26.3zM649 383.2c118.8 0 215.4 94.9 218.1 213.1H430.9c2.8-118.1 99.3-213.1 218.1-213.1z m251.5 271.1c0 12.2-9.9 22.1-22.1 22.1H419.6c-12.2 0-22.1-9.9-22.1-22.1 0-12.2 9.9-22.1 22.1-22.1h458.8c12.2 0.1 22.1 10 22.1 22.1z"
|
||||
fill="#453B56" p-id="3181"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">下载数量</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;" id="value3">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1591462464512" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="3311" width="200" height="200">
|
||||
<path d="M750.4 216.5h-130v-15.3c0-32.9-26.8-59.7-59.7-59.7h-97.3c-32.9 0-59.7 26.8-59.7 59.7v15.3h-130c-30.7 0-55.6 25-55.6 55.6v72.4c0 9.9 8.1 18 18 18h31.5v478c0 23.2 18.8 42 42 42h405c23.2 0 42-18.8 42-42v-478H788c9.9 0 18-8.1 18-18v-72.4c0-30.6-25-55.6-55.6-55.6z"
|
||||
fill="#FCC66F" p-id="3312"></path>
|
||||
<path d="M708.5 344.5v496c0 13.3-10.7 24-24 24h30c13.3 0 24-10.7 24-24v-496h-30z"
|
||||
fill="#FFD79C" p-id="3313"></path>
|
||||
<path d="M309.5 882.5c-23.2 0-42-18.8-42-42V596c0-9.9 8.1-18 18-18h36.8c30.2 0 54.8 24.6 54.8 54.8v231.7c0 9.9-8.1 18-18 18h-49.6zM664.9 882.5c-9.9 0-18-8.1-18-18V632.8c0-30.2 24.6-54.8 54.8-54.8h36.8c9.9 0 18 8.1 18 18v244.5c0 23.2-18.8 42-42 42h-49.6z"
|
||||
fill="#F56E73" p-id="3314"></path>
|
||||
<path d="M708.5 596v244.5c0 13.3-10.7 24-24 24h30c13.3 0 24-10.7 24-24V596h-30z"
|
||||
fill="#FFA1A8" p-id="3315"></path>
|
||||
<path d="M475.2 882.5c-9.9 0-18-8.1-18-18V632.8c0-30.2 24.6-54.8 54.8-54.8 30.2 0 54.8 24.6 54.8 54.8v231.7c0 9.9-8.1 18-18 18h-73.6z"
|
||||
fill="#F56E73" p-id="3316"></path>
|
||||
<path d="M560.7 159.5h-18c23 0 41.7 18.7 41.7 41.7V221h18v-19.8c-0.1-23-18.7-41.7-41.7-41.7zM750.4 234.5h-30c20.8 0 37.6 16.8 37.6 37.6v72.4h30v-72.4c0-20.8-16.8-37.6-37.6-37.6z"
|
||||
fill="#FFD79C" p-id="3317"></path>
|
||||
<path d="M750.4 198.5H638.2c-1.4-41.6-35.6-75-77.5-75h-97.3c-41.9 0-76.1 33.4-77.5 75H273.6c-40.6 0-73.6 33-73.6 73.6v72.4c0 19.9 16.1 36 36 36h13.5v460c0 33.1 26.9 60 60 60H714.7c33.1 0 60-26.9 60-60v-460H788c19.9 0 36-16.1 36-36v-72.4c0-40.6-33-73.6-73.6-73.6z m-287.1-39h97.3c22.1 0 40.2 17.2 41.5 39H421.8c1.4-21.8 19.4-39 41.5-39z m-104.2 705h-49.6c-13.3 0-24-10.7-24-24V596h36.8c20.3 0 36.8 16.5 36.8 36.8v231.7z m189.7 0h-73.6V632.8c0-20.3 16.5-36.8 36.8-36.8 20.3 0 36.8 16.5 36.8 36.8v231.7z m189.7-24c0 13.3-10.7 24-24 24h-49.6V632.8c0-20.3 16.5-36.8 36.8-36.8h36.8v244.5z m0-280.5h-36.8c-40.1 0-72.8 32.6-72.8 72.8v231.7h-44.2V632.8c0-40.1-32.6-72.8-72.8-72.8-40.1 0-72.8 32.6-72.8 72.8v231.7h-44.2V632.8c0-40.1-32.6-72.8-72.8-72.8h-36.8v-74.5h279c9.9 0 18-8.1 18-18s-8.1-18-18-18h-279v-69h453V560zM788 344.5H236v-72.4c0-20.8 16.8-37.6 37.6-37.6h476.8c20.8 0 37.6 16.8 37.6 37.6v72.4z"
|
||||
fill="#453B56" p-id="3318"></path>
|
||||
<path d="M621.8 467.5m-18 0a18 18 0 1 0 36 0 18 18 0 1 0-36 0Z" fill="#453B56"
|
||||
p-id="3319"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">流量统计</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;" id="value4">
|
||||
0
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<svg t="1591462491887" class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="3449" width="200" height="200">
|
||||
<path d="M363.2 807c-9.9 0-18-8.1-18-18v-75.5c0-9.9 8.1-18 18-18h108.5c9.9 0 18 8.1 18 18V789c0 9.9-8.1 18-18 18H363.2z"
|
||||
fill="#F56E73" p-id="3450"></path>
|
||||
<path d="M441.7 713.5h30V789h-30z" fill="#FFA1A8" p-id="3451"></path>
|
||||
<path d="M259.6 398c-9.9 0-18-8.1-18-18V178.6c0-23.8 19.3-43.1 43.1-43.1s43.1 19.3 43.1 43.1V380c0 9.9-8.1 18-18 18h-50.2zM525.1 398c-9.9 0-18-8.1-18-18V178.6c0-23.8 19.3-43.1 43.1-43.1s43.1 19.3 43.1 43.1V380c0 9.9-8.1 18-18 18h-50.2z"
|
||||
fill="#65C8FF" p-id="3452"></path>
|
||||
<path d="M550.2 153.5c-3.2 0-6.2 0.7-9 1.7 9.4 3.6 16.1 12.7 16.1 23.4V380h18V178.6c0.1-13.9-11.2-25.1-25.1-25.1z"
|
||||
fill="#97DCFF" p-id="3453"></path>
|
||||
<path d="M686 330.5H149c-9.9 0-18 8.1-18 18v63c0 9.9 8.1 18 18 18h33.2l45 225c8.7 43.4 47.1 75 91.4 75h197.6c44.3 0 82.7-31.5 91.4-75l45-225H686c9.9 0 18-8.1 18-18v-63c0-9.9-8.1-18-18-18z"
|
||||
fill="#FCC66F" p-id="3454"></path>
|
||||
<path d="M608 411.5L560.1 651c-7 35.2-37.9 60.5-73.8 60.5h30c35.9 0 66.7-25.3 73.8-60.5L638 411.5h-30zM656 348.5h30v63h-30z"
|
||||
fill="#FFD79C" p-id="3455"></path>
|
||||
<path d="M474.2 543.5m-18 0a18 18 0 1 0 36 0 18 18 0 1 0-36 0Z" fill="#453B56"
|
||||
p-id="3456"></path>
|
||||
<path d="M416.9 525.5h-125c-9.9 0-18 8.1-18 18s8.1 18 18 18h125c9.9 0 18-8.1 18-18s-8.1-18-18-18zM893 543.5h-33.4c-65.2 0-118.2 53-118.2 118.2v19.6c0 9.9 8.1 18 18 18s18-8.1 18-18v-19.6c0-45.3 36.9-82.2 82.2-82.2H893c9.9 0 18-8.1 18-18s-8-18-18-18zM772.2 744.2c7-7 7-18.4 0-25.5-7-7-18.4-7-25.5 0s-7 18.4 0 25.5 18.4 7.1 25.5 0z"
|
||||
fill="#453B56" p-id="3457"></path>
|
||||
<path d="M759.5 761.6c-9.9 0-18 8.1-18 18v11.6c0 43.7-35.6 79.3-79.3 79.3H487.3c-26.4 0-48.3-19.9-51.4-45.5h35.8c19.9 0 36-16.1 36-36v-41.5h8.6c52.8 0 98.7-37.6 109.1-89.4l42.1-210.6H686c19.9 0 36-16.1 36-36v-63c0-19.9-16.1-36-36-36h-74.6V178.6c0-33.7-27.4-61.1-61.1-61.1s-61.1 27.4-61.1 61.1v133.9H345.9V178.6c0-33.7-27.4-61.1-61.1-61.1s-61.1 27.4-61.1 61.1v133.9H149c-19.9 0-36 16.1-36 36v63c0 19.9 16.1 36 36 36h18.5l42.1 210.6c10.4 51.8 56.2 89.4 109.1 89.4h8.6V789c0 19.9 16.1 36 36 36h36.6c3.3 45.5 41.2 81.5 87.5 81.5h174.8c63.6 0 115.3-51.7 115.3-115.3v-11.6c0-10-8.1-18-18-18z m-234.4-583c0-13.9 11.2-25.1 25.1-25.1s25.1 11.2 25.1 25.1v133.9H525V178.6z m-265.5 0c0-13.9 11.2-25.1 25.1-25.1s25.1 11.2 25.1 25.1v133.9h-50.3V178.6zM149 411.5v-63h537v63H149z m169.7 300c-35.9 0-66.7-25.3-73.8-60.5l-40.7-203.5h426.6L590.1 651c-7 35.2-37.9 60.5-73.8 60.5H318.7z m44.5 77.5v-41.5h108.5V789H363.2z"
|
||||
fill="#453B56" p-id="3458"></path>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-md9">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-tab custom-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
||||
<div id="echarts-records" style="background-color:#ffffff;min-height:400px;padding: 10px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">动态</div>
|
||||
<div class="layui-card-body">
|
||||
<dl class="layuiadmin-card-status">
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>七彩枫叶 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 专区</a> 回答问题</p>
|
||||
<span>几秒前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>简 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 专区</a> 进行了 <a class="pear-text"
|
||||
lay-href="http://fly.layui.com/vipclub/list/layuiadmin/column/quiz/">提问</a>
|
||||
</p>
|
||||
<span>2天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/system/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>恒宇少年 将 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin </a> 更新至 2.3.0 版本</p>
|
||||
<span>7天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>如花 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 社区</a> 发布了 <a class="pear-text"
|
||||
lay-href="http://fly.layui.com/column/suggest/">建议</a></p>
|
||||
<span>7天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>就眠仪式 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 社区</a> 发布了 <a class="pear-text"
|
||||
lay-href="http://fly.layui.com/column/suggest/">建议</a></p>
|
||||
<span>8天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
<dd>
|
||||
<div class="layui-status-img"><a href="javascript:;"><img
|
||||
style="width: 32px;height: 32px;border-radius: 50px;"
|
||||
src="{{ url_for('static', filename='system/admin/images/avatar.jpg') }}"></a></div>
|
||||
<div>
|
||||
<p>贤心 在 <a class="pear-text" lay-href="https://gitee.com/Jmysy/Pear-Admin-Layui">Pear
|
||||
Admin 专区</a> 进行了 <a class="pear-text"
|
||||
lay-href="http://fly.layui.com/vipclub/list/layuiadmin/column/quiz/">提问</a>
|
||||
</p>
|
||||
<span>8天前</span>
|
||||
</div>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md3">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">最近更新</div>
|
||||
<div class="layui-card-body">
|
||||
<ul class="list">
|
||||
<li class="list-item"><span class="title">优化代码格式</span><span
|
||||
class="footer">2020-06-04 11:28</span></li>
|
||||
<li class="list-item"><span class="title">新增消息组件</span><span
|
||||
class="footer">2020-06-01 04:23</span></li>
|
||||
<li class="list-item"><span class="title">移动端兼容</span><span
|
||||
class="footer">2020-05-22 21:38</span></li>
|
||||
<li class="list-item"><span class="title">系统布局优化</span><span
|
||||
class="footer">2020-05-15 14:26</span></li>
|
||||
<li class="list-item"><span class="title">兼容多系统菜单模式</span><span
|
||||
class="footer">2020-05-13 16:32</span></li>
|
||||
<li class="list-item"><span class="title">兼容多标签页切换</span><span
|
||||
class="footer">2019-12-9 14:58</span></li>
|
||||
<li class="list-item"><span class="title">扩展下拉组件</span><span
|
||||
class="footer">2019-12-7 9:06</span></li>
|
||||
<li class="list-item"><span class="title">扩展卡片样式</span><span
|
||||
class="footer">2019-12-1 10:26</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-header">
|
||||
链接
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<a target="_blank" href="http://www.pearadmin.com"
|
||||
class="pear-btn pear-btn-primary layui-btn-fluid"
|
||||
style="margin-top: 8px;height: 50px;line-height: 50px;">官 网</a>
|
||||
<br/>
|
||||
<a target="_blank" href="https://gitee.com/pear-admin/Pear-Admin-Layui"
|
||||
class="pear-btn pear-btn-warming layui-btn-fluid"
|
||||
style="margin-top: 8px;height: 50px;line-height: 50px;">下 载</a>
|
||||
<br/>
|
||||
<a target="_blank" href="https://gitee.com/pear-admin/pear-admin-flask"
|
||||
class="pear-btn pear-btn-danger layui-btn-fluid"
|
||||
style="margin-top: 8px;height: 50px;line-height: 50px;">后 端</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--</div>-->
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script>
|
||||
layui.use(['layer', 'echarts', 'element', 'count'], function () {
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer,
|
||||
element = layui.element,
|
||||
count = layui.count,
|
||||
echarts = layui.echarts
|
||||
|
||||
count.up('value1', {
|
||||
time: 4000,
|
||||
num: 440.34,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up('value2', {
|
||||
time: 4000,
|
||||
num: 236.30,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up('value3', {
|
||||
time: 4000,
|
||||
num: 634.43,
|
||||
bit: 2,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
count.up('value4', {
|
||||
time: 4000,
|
||||
bit: 2,
|
||||
num: 373.23,
|
||||
regulator: 50
|
||||
})
|
||||
|
||||
var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden')
|
||||
|
||||
var option = {
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
data: ['2019-01', '2019-02', '2019-03', '2019-04', '2019-05', '2019-06'],
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: '#999'
|
||||
}
|
||||
}
|
||||
}],
|
||||
yAxis: [{
|
||||
type: 'value',
|
||||
splitNumber: 4,
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: '#DDD'
|
||||
}
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: '#333'
|
||||
},
|
||||
},
|
||||
nameTextStyle: {
|
||||
color: '#999'
|
||||
},
|
||||
splitArea: {
|
||||
show: false
|
||||
}
|
||||
}],
|
||||
series: [{
|
||||
name: '课时',
|
||||
type: 'line',
|
||||
data: [23, 60, 20, 36, 23, 85],
|
||||
lineStyle: {
|
||||
normal: {
|
||||
width: 8,
|
||||
color: {
|
||||
type: 'linear',
|
||||
|
||||
colorStops: [{
|
||||
offset: 0,
|
||||
color: '#A9F387' // 0% 处的颜色
|
||||
}, {
|
||||
offset: 1,
|
||||
color: '#48D8BF' // 100% 处的颜色
|
||||
}],
|
||||
globalCoord: false // 缺省为 false
|
||||
},
|
||||
shadowColor: 'rgba(72,216,191, 0.3)',
|
||||
shadowBlur: 10,
|
||||
shadowOffsetY: 20
|
||||
}
|
||||
},
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#fff',
|
||||
borderWidth: 10,
|
||||
/*shadowColor: 'rgba(72,216,191, 0.3)',
|
||||
shadowBlur: 100,*/
|
||||
borderColor: '#A9F387'
|
||||
}
|
||||
},
|
||||
smooth: true
|
||||
}]
|
||||
}
|
||||
echartsRecords.setOption(option)
|
||||
|
||||
window.onresize = function () {
|
||||
echartsRecords.resize()
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
+23
-33
@@ -1,10 +1,12 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
{% include 'system/common/header.html' %}
|
||||
<title> Pear Admin Flask </title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/loader.css') }}"/>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/admin.css') }}"/>
|
||||
<title>Pear Admin 4.0</title>
|
||||
<meta charset="utf-8">
|
||||
{% include 'system/common/header.html' %}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/admin.css') }}" />
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/admin.dark.css') }}" />
|
||||
</head>
|
||||
<!-- 结 构 代 码 -->
|
||||
<body class="layui-layout-body pear-admin">
|
||||
@@ -29,9 +31,8 @@
|
||||
<!-- 顶 部 右 侧 菜 单 -->
|
||||
<ul class="layui-nav layui-layout-right">
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="#" class="menuSearch layui-icon layui-icon-search"></a></li>
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="#" class="fullScreen layui-icon layui-icon-screen-full"></a></li>
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="http://www.pearadmin.com" class="layui-icon layui-icon-website"></a></li>
|
||||
<li class="layui-nav-item layui-hide-xs message"></li>
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="#" class="fullScreen layui-icon layui-icon-screen-full"></a></li>
|
||||
<li class="layui-nav-item user">
|
||||
<!-- 头 像 -->
|
||||
<a class="layui-icon layui-icon-username" href="javascript:;"></a>
|
||||
@@ -56,7 +57,7 @@
|
||||
</div>
|
||||
<!-- 菜 单 内 容 -->
|
||||
<div class="layui-side-scroll">
|
||||
<div id="sideMenu"></div>
|
||||
<div id="side"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 视 图 页 面 -->
|
||||
@@ -65,20 +66,11 @@
|
||||
<div id="content"></div>
|
||||
</div>
|
||||
<!-- 页脚 -->
|
||||
<div class="layui-footer layui-text">
|
||||
<span class="left">
|
||||
<span>
|
||||
官网:<a href="http://www.pearadmin.com/team.html" target="_blank">www.pearadmin.com</a>
|
||||
仓库:<a href="https://gitee.com/pear-admin/Pear-Admin-Layui" target="_blank">gitee.com/pear-admin</a>
|
||||
</span>
|
||||
</span>
|
||||
<span class="center"></span>
|
||||
<span class="right"></span>
|
||||
</div>
|
||||
<div class="layui-footer layui-text"></div>
|
||||
<!-- 遮 盖 层 -->
|
||||
<div class="pear-cover"></div>
|
||||
<!-- 加 载 动 画 -->
|
||||
<div class="loader-main">
|
||||
<div class="loader-wrapper">
|
||||
<!-- 动 画 对 象 -->
|
||||
<div class="loader"></div>
|
||||
</div>
|
||||
@@ -88,22 +80,23 @@
|
||||
<a href="#" class="layui-icon layui-icon-shrink-right"></a>
|
||||
</div>
|
||||
<!-- 依 赖 脚 本 -->
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script src="{{ url_for('static', filename='system/component/layui/layui.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='system/component/pear/pear.js') }}"></script>
|
||||
<!-- 框 架 初 始 化 -->
|
||||
<script>
|
||||
layui.use(['admin','jquery','popup','layer'], function() {
|
||||
var $ = layui.jquery;
|
||||
layui.use(['admin','jquery','popup'], function() {
|
||||
var admin = layui.admin;
|
||||
let layer = layui.layer;
|
||||
var popup = layui.popup;
|
||||
|
||||
admin.setConfigType('json')
|
||||
admin.setConfigPath("{{ url_for('system.rights.configs') }}")
|
||||
|
||||
var $ = layui.jquery;
|
||||
|
||||
// yml | json | api
|
||||
admin.setConfigurationPath("{{ url_for('system.rights.configs') }}");
|
||||
|
||||
// 渲染
|
||||
admin.render();
|
||||
|
||||
// 登出逻辑
|
||||
admin.logout(function () {
|
||||
|
||||
// 注销
|
||||
admin.logout(function () {
|
||||
let loading = layer.load()
|
||||
$.ajax({
|
||||
url: '{{ url_for('system.passport.logout') }}',
|
||||
@@ -121,10 +114,7 @@
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// 自定义消息点击回调
|
||||
admin.message(function(id, title, context, form) {});
|
||||
})
|
||||
</script>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,106 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>登录</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/login.css') }}"/>
|
||||
</head>
|
||||
<body class="login-body" background="{{ url_for('static', filename='system/admin/images/background.svg') }}">
|
||||
<form class="layui-form" action="javascript:void(0);">
|
||||
<div class="layui-form-item">
|
||||
<img class="logo" src="{{ url_for('static', filename='system/admin/images/logo.png') }}"/>
|
||||
<div class="title">Pear Admin</div>
|
||||
<div class="desc">
|
||||
明 湖 区 最 具 影 响 力 的 设 计 规 范 之 一
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input name="username" type="text" placeholder="用户名:" value="" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input name="password" type="password" placeholder="密码:" value="" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input placeholder="验证码 : " name="captcha" hover class="code layui-input layui-input-inline"/>
|
||||
<img src="{{ url_for('system.passport.get_captcha') }}" class="codeImage" id="captchaImage"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input type="checkbox" name="remember-me" title="记住密码" lay-skin="primary">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="pear-btn pear-btn-success login" lay-submit lay-filter="login">
|
||||
登 入
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script>
|
||||
layui.use(['form', 'jquery', 'layer', 'button', 'popup'], function () {
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let layer = layui.layer;
|
||||
let button = layui.button;
|
||||
let popup = layui.popup;
|
||||
let captchaPath = "{{ url_for('system.passport.get_captcha') }}";
|
||||
|
||||
/**
|
||||
* 刷新验证码函数
|
||||
*/
|
||||
const refreshCaptchaImage = (function () {
|
||||
let captchaImage = document.getElementById("captchaImage")
|
||||
return function () {
|
||||
captchaImage.src = captchaPath + "?" + Math.random()
|
||||
}
|
||||
})()
|
||||
|
||||
/**
|
||||
* 立即刷新验证码并且每隔 30秒 刷新
|
||||
*/
|
||||
const initCaptchaImageTimer = (function () {
|
||||
let captchaImageTimer = null
|
||||
return function () {
|
||||
clearInterval(captchaImageTimer)
|
||||
captchaImageTimer = setInterval(function () {
|
||||
refreshCaptchaImage()
|
||||
}, 30 * 1000);
|
||||
refreshCaptchaImage()
|
||||
}
|
||||
})()
|
||||
initCaptchaImageTimer()
|
||||
|
||||
form.on('submit(login)', function (data) {
|
||||
let loader = layer.load();
|
||||
let btn = button.load({elem: '.login'});
|
||||
$.ajax({
|
||||
data: data.field,
|
||||
type: "post",
|
||||
dataType: 'json',
|
||||
success: function (result) {
|
||||
layer.close(loader);
|
||||
btn.stop(function () {
|
||||
if (result.success) {
|
||||
popup.success(result.msg, function () {
|
||||
location.href = "{{ url_for('index.index') }}";
|
||||
})
|
||||
} else {
|
||||
popup.failure(result.msg, function () {
|
||||
initCaptchaImageTimer()
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
$("#captchaImage").click(function () {
|
||||
initCaptchaImageTimer()
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
if (window !== top) {
|
||||
top.location.href = location.href;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,106 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>登录</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/login_old.css') }}"/>
|
||||
</head>
|
||||
<body class="login-body" background="{{ url_for('static', filename='system/admin/images/background.svg') }}">
|
||||
<form class="layui-form" action="javascript:void(0);">
|
||||
<div class="layui-form-item">
|
||||
<img class="logo" src="{{ url_for('static', filename='system/admin/images/logo.png') }}"/>
|
||||
<div class="title">Pear Admin</div>
|
||||
<div class="desc">
|
||||
明 湖 区 最 具 影 响 力 的 设 计 规 范 之 一
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input name="username" type="text" placeholder="用户名" value="" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input name="password" type="password" placeholder="密码" value="" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input placeholder="验证码" name="captcha" hover class="code layui-input layui-input-inline"/>
|
||||
<img src="{{ url_for('system.passport.get_captcha') }}" class="codeImage" id="captchaImage"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input type="checkbox" name="remember-me" title="记住密码" lay-skin="primary">
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<button class="layui-btn layui-btn-success login" lay-submit lay-filter="login">
|
||||
登 入
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script>
|
||||
layui.use(['form', 'jquery', 'layer', 'button', 'popup'], function () {
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let layer = layui.layer;
|
||||
let button = layui.button;
|
||||
let popup = layui.popup;
|
||||
let captchaPath = "{{ url_for('system.passport.get_captcha') }}";
|
||||
|
||||
/**
|
||||
* 刷新验证码函数
|
||||
*/
|
||||
const refreshCaptchaImage = (function () {
|
||||
let captchaImage = document.getElementById("captchaImage")
|
||||
return function () {
|
||||
captchaImage.src = captchaPath + "?" + Math.random()
|
||||
}
|
||||
})()
|
||||
|
||||
/**
|
||||
* 立即刷新验证码并且每隔 30秒 刷新
|
||||
*/
|
||||
const initCaptchaImageTimer = (function () {
|
||||
let captchaImageTimer = null
|
||||
return function () {
|
||||
clearInterval(captchaImageTimer)
|
||||
captchaImageTimer = setInterval(function () {
|
||||
refreshCaptchaImage()
|
||||
}, 30 * 1000);
|
||||
refreshCaptchaImage()
|
||||
}
|
||||
})()
|
||||
initCaptchaImageTimer()
|
||||
|
||||
form.on('submit(login)', function (data) {
|
||||
let loader = layer.load();
|
||||
let btn = button.load({elem: '.login'});
|
||||
$.ajax({
|
||||
data: data.field,
|
||||
type: "post",
|
||||
dataType: 'json',
|
||||
success: function (result) {
|
||||
layer.close(loader);
|
||||
btn.stop(function () {
|
||||
if (result.success) {
|
||||
popup.success(result.msg, function () {
|
||||
location.href = "{{ url_for('index.index') }}";
|
||||
})
|
||||
} else {
|
||||
popup.failure(result.msg, function () {
|
||||
initCaptchaImageTimer()
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
$("#captchaImage").click(function () {
|
||||
initCaptchaImageTimer()
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
if (window !== top) {
|
||||
top.location.href = location.href;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -12,25 +12,32 @@
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="username" lay-verify="title" autocomplete="off" placeholder="请输入标题"
|
||||
<input type="text" name="username" lay-verify="title" autocomplete="off" placeholder="用户名"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">姓名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="realName" lay-verify="title" autocomplete="off" placeholder="请输入标题"
|
||||
<input type="text" name="realName" lay-verify="title" autocomplete="off" placeholder="用户姓名"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="password" lay-verify="title" autocomplete="off" placeholder="请输入标题"
|
||||
<input type="password" name="password" lay-verify="title" autocomplete="off" placeholder="用户密码"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">部门</label>
|
||||
<div class="layui-input-block">
|
||||
<ul id="selectParent" name="deptId" class="dtree" data-id="0"></ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">角色</label>
|
||||
<div class="layui-input-block">
|
||||
@@ -48,11 +55,11 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit="" lay-filter="user-save">
|
||||
<button type="submit" class="layui-btn layui-btn-sm" lay-submit="" lay-filter="user-save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-sm">
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
@@ -61,9 +68,22 @@
|
||||
</form>
|
||||
{% include 'system/common/footer.html' %}
|
||||
<script>
|
||||
layui.use(['form', 'jquery'], function () {
|
||||
layui.use(['form', 'jquery', 'dtree'], function () {
|
||||
let form = layui.form
|
||||
let $ = layui.jquery
|
||||
|
||||
let dtree = layui.dtree
|
||||
|
||||
dtree.renderSelect({
|
||||
elem: '#selectParent',
|
||||
url: '/system/dept/tree',
|
||||
method: 'get',
|
||||
selectInputName: {nodeId: 'deptId', context: 'deptName'},
|
||||
skin: 'layui',
|
||||
dataFormat: 'list',
|
||||
response: {treeId: 'id', parentId: 'parent_id', title: 'dept_name'}
|
||||
})
|
||||
|
||||
form.on('submit(user-save)', function (data) {
|
||||
let roleIds = ''
|
||||
$('input[type=checkbox]:checked').each(function () {
|
||||
@@ -93,7 +113,6 @@
|
||||
})
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,7 +2,6 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>个人中心</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<style>
|
||||
.layui-form-item {
|
||||
margin-top: 17px !important;
|
||||
@@ -82,10 +81,10 @@
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-submit
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-submit
|
||||
lay-filter="user-update">修改资料
|
||||
</button>
|
||||
<button class="pear-btn pear-btn-sm edit-password">更改密码</button>
|
||||
<button class="layui-btn layui-btn-sm edit-password">更改密码</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
<!DOCTYPE html>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>用户编辑</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
@@ -14,24 +12,25 @@
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ user.id }}" name="userId" lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
autocomplete="off" placeholder="用户编号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ user.username }}" name="username" lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
autocomplete="off" placeholder="登录账号" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">姓名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ user.realname }}" name="realName" lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题"
|
||||
autocomplete="off" placeholder="用户姓名"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">部门</label>
|
||||
<div class="layui-input-block">
|
||||
@@ -39,7 +38,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">角色</label>
|
||||
<div class="layui-input-block">
|
||||
@@ -57,12 +55,12 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit=""
|
||||
<button type="submit" class="layui-btn layui-btn-sm" lay-submit=""
|
||||
lay-filter="user-update">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-sm">
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
@@ -86,6 +84,7 @@
|
||||
response: {treeId: 'id', parentId: 'parent_id', title: 'dept_name'},
|
||||
selectInitVal: "{{ user.dept_id }}"
|
||||
})
|
||||
|
||||
form.on('submit(user-update)', function (data) {
|
||||
let roleIds = ''
|
||||
$('input[type=checkbox]:checked').each(function () {
|
||||
|
||||
@@ -13,21 +13,21 @@
|
||||
<label class="layui-form-label">旧密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="oldPassword" lay-verify="title" autocomplete="off"
|
||||
placeholder="请输入标题" class="layui-input">
|
||||
placeholder="请输入旧密码" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">新密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="newPassword" lay-verify="title" autocomplete="off"
|
||||
placeholder="请输入标题" class="layui-input">
|
||||
placeholder="请输入新密码" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">确认密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="confirmPassword" lay-verify="title" autocomplete="off"
|
||||
placeholder="请输入标题" class="layui-input">
|
||||
placeholder="请重复输入新密码" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -35,12 +35,12 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit=""
|
||||
<button type="submit" class="layui-btn layui-btn-sm" lay-submit=""
|
||||
lay-filter="edit-password">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-sm">
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>用户管理</title>
|
||||
{% include 'system/common/header.html' %}
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='system/admin/css/other/user.css') }}"/>
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
@@ -19,11 +18,11 @@
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="username" placeholder="" class="layui-input">
|
||||
</div>
|
||||
<button class="pear-btn pear-btn-md pear-btn-primary" lay-submit lay-filter="user-query">
|
||||
<button class="layui-btn layui-btn-md layui-btn-primary" lay-submit lay-filter="user-query">
|
||||
<i class="layui-icon layui-icon-search"></i>
|
||||
查询
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-md">
|
||||
<button type="reset" class="layui-btn layui-btn-md">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
@@ -54,12 +53,12 @@
|
||||
{# 表格操作 #}
|
||||
<script type="text/html" id="user-toolbar">
|
||||
{% if authorize("system:user:add") %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
||||
<button class="layui-btn layui-btn-primary layui-btn-sm" lay-event="add">
|
||||
<i class="pear-icon pear-icon-add"></i>
|
||||
新增
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="pear-btn pear-btn-md" lay-event="collasped">
|
||||
<button class="layui-btn layui-btn-sm" lay-event="collasped">
|
||||
<i class="pear-icon pear-icon-modular"></i>
|
||||
高级
|
||||
</button>
|
||||
@@ -68,11 +67,11 @@
|
||||
{# 用户修改操作 #}
|
||||
<script type="text/html" id="user-bar">
|
||||
{% if authorize("system:user:edit") %}
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="pear-icon pear-icon-edit"> 编辑</i>
|
||||
<button class="layui-btn layui-btn-xs" lay-event="edit"><i class="pear-icon pear-icon-edit"> 编辑</i>
|
||||
</button>
|
||||
{% endif %}
|
||||
{% if authorize("system:user:remove") %}
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i
|
||||
<button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="remove"><i
|
||||
class="pear-icon pear-icon-ashbin"> 删除</i>
|
||||
</button>
|
||||
{% endif %}
|
||||
@@ -94,7 +93,6 @@
|
||||
</script>
|
||||
{% endraw %}
|
||||
|
||||
{% include 'system/common/footer.html' %}
|
||||
|
||||
<script>
|
||||
layui.use(['table', 'dtree', 'form', 'jquery', 'popup', 'common'], function () {
|
||||
@@ -108,7 +106,7 @@
|
||||
// 表格数据
|
||||
let cols = [
|
||||
[
|
||||
{title: 'id', field: 'id', align: 'center'},
|
||||
{title: '编号', field: 'id', align: 'center'},
|
||||
{title: '姓名', field: 'realname', align: 'center', width: 110},
|
||||
{title: '账号', field: 'username', align: 'center'},
|
||||
{title: '部门', field: 'dept_name', align: 'center'},
|
||||
|
||||
Reference in New Issue
Block a user