d8c559b5b1
- 为控制台首页添加页面标题动态设置 - 为应用中心页面添加页面标题动态设置 - 修改控制台布局,实现动态浏览器标签页标题更新 - 新增“天天系统”ERP管理平台主页,包含侧边栏导航、顶部栏及数据概览模块 - 实现主页搜索框、通知、语言和用户信息区域交互 - 添加欢迎区、快捷入口、最近使用应用列表及应用详情抽屉功能 - 支持小程序扫码弹窗展示和应用类型图标及颜色区分 - 优化页面样式,支持响应式布局及交互效果 - 更新Nuxt国际化重定向路径片段标识符以兼容新版本
462 lines
16 KiB
HTML
462 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>天天系统 - 功能菜单脑图</title>
|
|
<script src="https://cdn.jsdelivr.net/npm/markmap-lib@0.14.4/dist/browser/index.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/d3@7"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/markmap-view@0.14.4/dist/browser/index.min.js"></script>
|
|
<style>
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
body {
|
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', sans-serif;
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
min-height: 100vh;
|
|
padding: 20px;
|
|
}
|
|
.container {
|
|
max-width: 1800px;
|
|
margin: 0 auto;
|
|
}
|
|
.header {
|
|
text-align: center;
|
|
color: white;
|
|
margin-bottom: 30px;
|
|
}
|
|
.header h1 {
|
|
font-size: 2.5rem;
|
|
font-weight: 600;
|
|
text-shadow: 0 2px 10px rgba(0,0,0,0.2);
|
|
margin-bottom: 10px;
|
|
}
|
|
.header p {
|
|
opacity: 0.9;
|
|
font-size: 1.1rem;
|
|
}
|
|
#mindmap {
|
|
background: white;
|
|
border-radius: 20px;
|
|
box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
|
|
overflow: hidden;
|
|
min-height: 800px;
|
|
}
|
|
#mindmap svg {
|
|
width: 100%;
|
|
height: 800px;
|
|
}
|
|
.toolbar {
|
|
display: flex;
|
|
gap: 10px;
|
|
margin-bottom: 20px;
|
|
justify-content: center;
|
|
flex-wrap: wrap;
|
|
}
|
|
.toolbar button {
|
|
padding: 12px 24px;
|
|
border: none;
|
|
border-radius: 10px;
|
|
cursor: pointer;
|
|
font-size: 1rem;
|
|
font-weight: 500;
|
|
transition: all 0.3s ease;
|
|
}
|
|
.toolbar button.primary {
|
|
background: white;
|
|
color: #667eea;
|
|
}
|
|
.toolbar button.secondary {
|
|
background: rgba(255,255,255,0.2);
|
|
color: white;
|
|
}
|
|
.toolbar button:hover {
|
|
transform: translateY(-2px);
|
|
box-shadow: 0 5px 15px rgba(0,0,0,0.2);
|
|
}
|
|
.legend {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: 30px;
|
|
margin-top: 20px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.legend-item {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
color: white;
|
|
font-size: 0.9rem;
|
|
}
|
|
.legend-dot {
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: 50%;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="header">
|
|
<h1>🗺️ 天天系统功能菜单脑图</h1>
|
|
<p>6大核心模块 · 完整功能架构</p>
|
|
</div>
|
|
|
|
<div class="toolbar">
|
|
<button class="primary" onclick="zoomIn()">🔍 放大</button>
|
|
<button class="primary" onclick="zoomOut()">🔍 缩小</button>
|
|
<button class="secondary" onclick="resetZoom()">↺ 重置</button>
|
|
<button class="secondary" onclick="downloadImage()">📥 下载PNG</button>
|
|
</div>
|
|
|
|
<div id="mindmap"></div>
|
|
|
|
<div class="legend">
|
|
<div class="legend-item">
|
|
<div class="legend-dot" style="background: #667eea;"></div>
|
|
<span>一级菜单</span>
|
|
</div>
|
|
<div class="legend-item">
|
|
<div class="legend-dot" style="background: #764ba2;"></div>
|
|
<span>二级菜单</span>
|
|
</div>
|
|
<div class="legend-item">
|
|
<div class="legend-dot" style="background: #f093fb;"></div>
|
|
<span>三级功能</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
const { Markmap, loadCSS, loadJS } = markmap;
|
|
|
|
const data = {
|
|
content: "天天系统 ERP",
|
|
children: [
|
|
{
|
|
content: "1️⃣ 设备管理",
|
|
children: [
|
|
{
|
|
content: "📊 设备台账",
|
|
children: [
|
|
"设备列表",
|
|
"设备分类",
|
|
"设备档案"
|
|
]
|
|
},
|
|
{
|
|
content: "🔍 巡检管理",
|
|
children: [
|
|
"巡检计划",
|
|
"巡检任务",
|
|
"巡检记录"
|
|
]
|
|
},
|
|
{
|
|
content: "🔧 维护保养",
|
|
children: [
|
|
"保养计划",
|
|
"保养任务",
|
|
"维修记录"
|
|
]
|
|
},
|
|
{
|
|
content: "📈 统计分析",
|
|
children: [
|
|
"设备完好率",
|
|
"故障分析",
|
|
"维保成本"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
content: "2️⃣ 采购管理",
|
|
children: [
|
|
{
|
|
content: "📝 采购需求",
|
|
children: [
|
|
"需求申请",
|
|
"需求审批",
|
|
"需求池"
|
|
]
|
|
},
|
|
{
|
|
content: "📋 采购订单",
|
|
children: [
|
|
"订单创建",
|
|
"订单跟踪",
|
|
"订单结算"
|
|
]
|
|
},
|
|
{
|
|
content: "🏭 供应商管理",
|
|
children: [
|
|
"供应商档案",
|
|
"供应商评估",
|
|
"供应商分类"
|
|
]
|
|
},
|
|
{
|
|
content: "📦 库存查询",
|
|
children: [
|
|
"实时库存",
|
|
"库存预警",
|
|
"库存流水"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
content: "3️⃣ 仓储物流",
|
|
children: [
|
|
{
|
|
content: "📥 入库管理",
|
|
children: [
|
|
"采购入库",
|
|
"生产入库",
|
|
"退货入库"
|
|
]
|
|
},
|
|
{
|
|
content: "📤 出库管理",
|
|
children: [
|
|
"领料出库",
|
|
"销售出库",
|
|
"调拨出库"
|
|
]
|
|
},
|
|
{
|
|
content: "📦 库存管理",
|
|
children: [
|
|
"库存盘点",
|
|
"库存调拨",
|
|
"库存预警"
|
|
]
|
|
},
|
|
{
|
|
content: "📊 报表统计",
|
|
children: [
|
|
"出入库明细",
|
|
"库存周转",
|
|
"ABC分析"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
content: "4️⃣ 财务管理",
|
|
children: [
|
|
{
|
|
content: "📒 总账管理",
|
|
children: [
|
|
"科目设置",
|
|
"凭证管理",
|
|
"账簿查询"
|
|
]
|
|
},
|
|
{
|
|
content: "💵 应收应付",
|
|
children: [
|
|
"应收账款",
|
|
"应付账款",
|
|
"收付款管理"
|
|
]
|
|
},
|
|
{
|
|
content: "📊 报表中心",
|
|
children: [
|
|
"资产负债表",
|
|
"利润表",
|
|
"现金流量表"
|
|
]
|
|
},
|
|
{
|
|
content: "💼 资产管理",
|
|
children: [
|
|
"固定资产",
|
|
"资产折旧",
|
|
"资产盘点"
|
|
]
|
|
},
|
|
{
|
|
content: "💳 出纳管理",
|
|
children: [
|
|
"银行对账",
|
|
"现金日记账",
|
|
"资金计划"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
content: "5️⃣ 人力资源",
|
|
children: [
|
|
{
|
|
content: "🏢 组织管理",
|
|
children: [
|
|
"组织架构",
|
|
"岗位管理",
|
|
"编制管理"
|
|
]
|
|
},
|
|
{
|
|
content: "👤 员工管理",
|
|
children: [
|
|
"员工档案",
|
|
"入职离职",
|
|
"合同管理"
|
|
]
|
|
},
|
|
{
|
|
content: "📅 假期管理",
|
|
children: [
|
|
"假期类型",
|
|
"假期余额",
|
|
"请假审批"
|
|
]
|
|
},
|
|
{
|
|
content: "💰 薪酬核算",
|
|
children: [
|
|
"薪资结构",
|
|
"薪资计算",
|
|
"薪资发放"
|
|
]
|
|
},
|
|
{
|
|
content: "⚙️ 工作流配置",
|
|
children: [
|
|
"审批流程",
|
|
"表单设计",
|
|
"流程监控"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
content: "6️⃣ 协同办公",
|
|
children: [
|
|
{
|
|
content: "🏠 企业门户",
|
|
children: [
|
|
"门户配置",
|
|
"快捷入口",
|
|
"消息中心"
|
|
]
|
|
},
|
|
{
|
|
content: "📚 知识管理",
|
|
children: [
|
|
"文档中心",
|
|
"知识库",
|
|
"文件共享"
|
|
]
|
|
},
|
|
{
|
|
content: "📝 审批中心",
|
|
children: [
|
|
"待办事项",
|
|
"已办事项",
|
|
"我发起的"
|
|
]
|
|
},
|
|
{
|
|
content: "💸 费用报销",
|
|
children: [
|
|
"报销申请",
|
|
"借款管理",
|
|
"费用标准"
|
|
]
|
|
},
|
|
{
|
|
content: "📢 通知公告",
|
|
children: [
|
|
"公告发布",
|
|
"公告管理",
|
|
"阅读统计"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
};
|
|
|
|
let markmap = null;
|
|
let svgElement = null;
|
|
let scale = 1;
|
|
|
|
function initMindmap() {
|
|
markmap = Markmap.create('#mindmap', {
|
|
preset: 'colorful',
|
|
color: (node) => {
|
|
if (node.depth === 0) return '#667eea';
|
|
if (node.depth === 1) return '#764ba2';
|
|
if (node.depth === 2) return '#f093fb';
|
|
return '#4fd1c5';
|
|
},
|
|
initialExpandLevel: 2,
|
|
nodeHeight: 28,
|
|
paddingX: 16,
|
|
paddingY: 8,
|
|
duration: 500
|
|
}, data);
|
|
}
|
|
|
|
function zoomIn() {
|
|
scale += 0.2;
|
|
applyZoom();
|
|
}
|
|
|
|
function zoomOut() {
|
|
scale -= 0.2;
|
|
applyZoom();
|
|
}
|
|
|
|
function resetZoom() {
|
|
scale = 1;
|
|
applyZoom();
|
|
}
|
|
|
|
function applyZoom() {
|
|
const svg = document.querySelector('#mindmap svg');
|
|
if (svg) {
|
|
svg.style.transform = `scale(${scale})`;
|
|
svg.style.transformOrigin = 'center center';
|
|
}
|
|
}
|
|
|
|
function downloadImage() {
|
|
const svg = document.querySelector('#mindmap svg');
|
|
if (!svg) return;
|
|
|
|
const canvas = document.createElement('canvas');
|
|
const ctx = canvas.getContext('2d');
|
|
const svgData = new XMLSerializer().serializeToString(svg);
|
|
const img = new Image();
|
|
|
|
canvas.width = 2400;
|
|
canvas.height = 1600;
|
|
|
|
img.onload = function() {
|
|
ctx.fillStyle = 'white';
|
|
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
|
|
|
|
const link = document.createElement('a');
|
|
link.download = '天天系统功能菜单脑图.png';
|
|
link.href = canvas.toDataURL('image/png');
|
|
link.click();
|
|
};
|
|
|
|
img.src = 'data:image/svg+xml;base64,' + btoa(unescape(encodeURIComponent(svgData)));
|
|
}
|
|
|
|
initMindmap();
|
|
</script>
|
|
</body>
|
|
</html>
|