feat(ui): 新增“天天系统”ERP管理平台主页布局与控制台页面优化
- 为控制台首页添加页面标题动态设置 - 为应用中心页面添加页面标题动态设置 - 修改控制台布局,实现动态浏览器标签页标题更新 - 新增“天天系统”ERP管理平台主页,包含侧边栏导航、顶部栏及数据概览模块 - 实现主页搜索框、通知、语言和用户信息区域交互 - 添加欢迎区、快捷入口、最近使用应用列表及应用详情抽屉功能 - 支持小程序扫码弹窗展示和应用类型图标及颜色区分 - 优化页面样式,支持响应式布局及交互效果 - 更新Nuxt国际化重定向路径片段标识符以兼容新版本
This commit is contained in:
681
docs/规划文档/create-doc.cjs
Normal file
681
docs/规划文档/create-doc.cjs
Normal file
@@ -0,0 +1,681 @@
|
||||
const { Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
|
||||
Header, Footer, AlignmentType, HeadingLevel, BorderStyle, WidthType,
|
||||
ShadingType, VerticalAlign, PageNumber, PageBreak, LevelFormat } = require('docx');
|
||||
const fs = require('fs');
|
||||
|
||||
const border = { style: BorderStyle.SINGLE, size: 1, color: "CCCCCC" };
|
||||
const borders = { top: border, bottom: border, left: border, right: border };
|
||||
const headerBorder = { style: BorderStyle.SINGLE, size: 1, color: "FFFFFF" };
|
||||
const headerBorders = { top: headerBorder, bottom: headerBorder, left: headerBorder, right: headerBorder };
|
||||
|
||||
const cellMargins = { top: 80, bottom: 80, left: 120, right: 120 };
|
||||
|
||||
// 颜色定义
|
||||
const colors = {
|
||||
primary: "667EEA", // 主色 - 蓝紫渐变
|
||||
secondary: "764BA2", // 副色
|
||||
accent: "F093FB", // 强调色
|
||||
lightBg: "F8F9FC", // 浅灰背景
|
||||
headerBg: "667EEA", // 表头背景
|
||||
text: "2D3748", // 正文文字
|
||||
gray: "718096", // 灰色文字
|
||||
};
|
||||
|
||||
// 创建文档
|
||||
const doc = new Document({
|
||||
styles: {
|
||||
default: {
|
||||
document: {
|
||||
run: { font: "Arial", size: 24 } // 12pt = 24 half-points
|
||||
}
|
||||
},
|
||||
paragraphStyles: [
|
||||
{
|
||||
id: "Heading1", name: "Heading 1", basedOn: "Normal", next: "Normal", quickFormat: true,
|
||||
run: { size: 48, bold: true, font: "Arial", color: colors.primary },
|
||||
paragraph: { spacing: { before: 400, after: 200 }, outlineLevel: 0 }
|
||||
},
|
||||
{
|
||||
id: "Heading2", name: "Heading 2", basedOn: "Normal", next: "Normal", quickFormat: true,
|
||||
run: { size: 36, bold: true, font: "Arial", color: colors.secondary },
|
||||
paragraph: { spacing: { before: 300, after: 150 }, outlineLevel: 1 }
|
||||
},
|
||||
{
|
||||
id: "Heading3", name: "Heading 3", basedOn: "Normal", next: "Normal", quickFormat: true,
|
||||
run: { size: 28, bold: true, font: "Arial", color: colors.text },
|
||||
paragraph: { spacing: { before: 200, after: 100 }, outlineLevel: 2 }
|
||||
},
|
||||
]
|
||||
},
|
||||
numbering: {
|
||||
config: [
|
||||
{
|
||||
reference: "bullets",
|
||||
levels: [{
|
||||
level: 0, format: LevelFormat.BULLET, text: "\u2022", alignment: AlignmentType.LEFT,
|
||||
style: { paragraph: { indent: { left: 720, hanging: 360 } } }
|
||||
}, {
|
||||
level: 1, format: LevelFormat.BULLET, text: "\u25E6", alignment: AlignmentType.LEFT,
|
||||
style: { paragraph: { indent: { left: 1080, hanging: 360 } } }
|
||||
}]
|
||||
},
|
||||
{
|
||||
reference: "numbers",
|
||||
levels: [{
|
||||
level: 0, format: LevelFormat.DECIMAL, text: "%1.", alignment: AlignmentType.LEFT,
|
||||
style: { paragraph: { indent: { left: 720, hanging: 360 } } }
|
||||
}]
|
||||
}
|
||||
]
|
||||
},
|
||||
sections: [{
|
||||
properties: {
|
||||
page: {
|
||||
size: { width: 12240, height: 15840 }, // A4
|
||||
margin: { top: 1440, right: 1440, bottom: 1440, left: 1440 }
|
||||
}
|
||||
},
|
||||
headers: {
|
||||
default: new Header({
|
||||
children: [
|
||||
new Paragraph({
|
||||
children: [
|
||||
new TextRun({ text: "天天系统 ERP", bold: true, color: colors.primary, size: 24 }),
|
||||
new TextRun({ text: " 功能需求规划文档", color: colors.gray, size: 20 })
|
||||
],
|
||||
border: { bottom: { style: BorderStyle.SINGLE, size: 6, color: colors.primary } }
|
||||
})
|
||||
]
|
||||
})
|
||||
},
|
||||
footers: {
|
||||
default: new Footer({
|
||||
children: [
|
||||
new Paragraph({
|
||||
children: [
|
||||
new TextRun({ text: "第 ", color: colors.gray, size: 20 }),
|
||||
new TextRun({ children: [PageNumber.CURRENT], color: colors.gray, size: 20 }),
|
||||
new TextRun({ text: " 页", color: colors.gray, size: 20 }),
|
||||
new TextRun({ text: " 天天系统 ERP - 机密文件", color: colors.gray, size: 20 })
|
||||
],
|
||||
alignment: AlignmentType.CENTER,
|
||||
border: { top: { style: BorderStyle.SINGLE, size: 6, color: colors.primary } }
|
||||
})
|
||||
]
|
||||
})
|
||||
},
|
||||
children: [
|
||||
// 封面
|
||||
new Paragraph({ spacing: { before: 2400 } }),
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "天天系统 ERP", bold: true, size: 72, color: colors.primary })],
|
||||
alignment: AlignmentType.CENTER
|
||||
}),
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "功能需求规划文档", size: 48, color: colors.text })],
|
||||
alignment: AlignmentType.CENTER,
|
||||
spacing: { before: 400 }
|
||||
}),
|
||||
new Paragraph({ spacing: { before: 1200 } }),
|
||||
new Table({
|
||||
width: { size: 5000, type: WidthType.DXA },
|
||||
columnWidths: [5000],
|
||||
alignment: AlignmentType.CENTER,
|
||||
rows: [
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({
|
||||
borders,
|
||||
shading: { fill: colors.lightBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "版本号:V1.0", size: 24, color: colors.text })],
|
||||
alignment: AlignmentType.CENTER,
|
||||
spacing: { before: 100, after: 100 }
|
||||
}),
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "编制日期:2026年4月8日", size: 24, color: colors.text })],
|
||||
alignment: AlignmentType.CENTER,
|
||||
spacing: { before: 100, after: 100 }
|
||||
}),
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "编制人:管理员", size: 24, color: colors.text })],
|
||||
alignment: AlignmentType.CENTER,
|
||||
spacing: { before: 100, after: 100 }
|
||||
}),
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "状态:草稿", size: 24, color: colors.gray })],
|
||||
alignment: AlignmentType.CENTER,
|
||||
spacing: { before: 100, after: 100 }
|
||||
})
|
||||
]
|
||||
})
|
||||
]
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 目录
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("目录")] }),
|
||||
new Paragraph({ spacing: { before: 200 }, children: [new TextRun("1. 项目概述")]}),
|
||||
new Paragraph({ spacing: { before: 100 }, children: [new TextRun("2. 功能模块总览")]}),
|
||||
new Paragraph({ spacing: { before: 100 }, children: [new TextRun("3. 设备管理系统")]}),
|
||||
new Paragraph({ spacing: { before: 100 }, children: [new TextRun("4. 采购管理系统")]}),
|
||||
new Paragraph({ spacing: { before: 100 }, children: [new TextRun("5. 仓储物流系统")]}),
|
||||
new Paragraph({ spacing: { before: 100 }, children: [new TextRun("6. 财务管理系统")]}),
|
||||
new Paragraph({ spacing: { before: 100 }, children: [new TextRun("7. 人力资源系统")]}),
|
||||
new Paragraph({ spacing: { before: 100 }, children: [new TextRun("8. 协同办公系统")]}),
|
||||
new Paragraph({ spacing: { before: 100 }, children: [new TextRun("9. 应用主页设计")]}),
|
||||
new Paragraph({ spacing: { before: 100 }, children: [new TextRun("10. 附录")]}),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 1. 项目概述
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("1. 项目概述")] }),
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("1.1 项目背景")] }),
|
||||
new Paragraph({
|
||||
spacing: { after: 200 },
|
||||
children: [new TextRun("天天系统是一套面向中小型企业的综合管理信息系统,涵盖设备管理、采购管理、仓储物流、财务管理、人力资源和协同办公六大核心模块,旨在帮助企业实现数字化转型,提升运营效率。")]
|
||||
}),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("1.2 项目目标")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("实现企业资源的一体化管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("优化业务流程,减少人工操作")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("提供实时数据支持决策分析")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("提升跨部门协作效率")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("降低运营成本,提高客户满意度")] }),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 2. 功能模块总览
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("2. 功能模块总览")] }),
|
||||
new Paragraph({ spacing: { after: 200 }, children: [new TextRun("天天系统包含以下六大核心模块:")] }),
|
||||
|
||||
// 模块总览表格
|
||||
new Table({
|
||||
width: { size: 9360, type: WidthType.DXA },
|
||||
columnWidths: [2000, 2000, 5360],
|
||||
rows: [
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "模块名称", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "核心功能", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "功能描述", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
})
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun({ text: "设备管理", bold: true, color: colors.primary })] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("台账/巡检/维护")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("对生产设备进行全面管理,包括设备台账、巡检计划、维护保养等")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun({ text: "采购管理", bold: true, color: colors.primary })] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("需求/订单/供应商")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("管理采购全流程,从需求申请到订单执行、供应商管理")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun({ text: "仓储物流", bold: true, color: colors.primary })] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("入库/出库/库存")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("管理物料和成品的出入库流程,实时监控库存状态")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun({ text: "财务管理", bold: true, color: colors.primary })] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("总账/应收应付/报表")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("提供完整的财务核算功能,支持多种财务报表")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun({ text: "人力资源", bold: true, color: colors.primary })] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("组织/员工/薪酬")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("管理企业组织架构、员工档案、考勤薪酬等")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun({ text: "协同办公", bold: true, color: colors.primary })] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("审批/门户/知识")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("提供审批流程、企业门户、知识管理等协同功能")] })] })
|
||||
]
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 3. 设备管理系统
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("3. 设备管理系统")] }),
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("3.1 设备台账")] }),
|
||||
new Table({
|
||||
width: { size: 9360, type: WidthType.DXA },
|
||||
columnWidths: [3120, 6240],
|
||||
rows: [
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "功能点", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "功能描述", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
})
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("设备列表")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("展示所有设备的基本信息,支持筛选、搜索、导出")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("设备分类")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("按类型、状态、位置等维度对设备进行分类管理")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("设备档案")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("记录设备的详细信息,包括技术参数、使用说明、维保记录等")] })] })
|
||||
]
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("3.2 巡检管理")] }),
|
||||
new Table({
|
||||
width: { size: 9360, type: WidthType.DXA },
|
||||
columnWidths: [3120, 6240],
|
||||
rows: [
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "功能点", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "功能描述", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
})
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("巡检计划")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("制定周期性巡检计划,自动生成巡检任务")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("巡检任务")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("执行巡检任务,记录巡检结果和问题")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("巡检记录")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("查询历史巡检记录,支持追溯分析")] })] })
|
||||
]
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("3.3 维护保养")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("保养计划:制定设备保养周期和内容")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("保养任务:执行和跟踪保养工作")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("维修记录:记录设备维修历史和费用")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("3.4 统计分析")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("设备完好率统计")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("故障分析报表")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("维保成本分析")] }),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 4. 采购管理系统
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("4. 采购管理系统")] }),
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("4.1 采购需求")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("需求申请:员工提交采购申请,包含物料、数量、用途等")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("需求审批:按流程审批采购申请")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("需求池:汇总待采购的需求,进行批量处理")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("4.2 采购订单")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("订单创建:基于审批通过的需求生成采购订单")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("订单跟踪:实时跟踪订单的执行状态")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("订单结算:与供应商进行货款结算")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("4.3 供应商管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("供应商档案:管理供应商的基本信息和资质")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("供应商评估:定期评估供应商的表现")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("供应商分类:按类型、等级对供应商分组管理")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("4.4 库存查询")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("实时库存:查看当前各物料的库存数量")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("库存预警:设置库存上下限,自动提醒")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("库存流水:查看物料的进出库明细")] }),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 5. 仓储物流系统
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("5. 仓储物流系统")] }),
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("5.1 入库管理")] }),
|
||||
new Table({
|
||||
width: { size: 9360, type: WidthType.DXA },
|
||||
columnWidths: [3120, 6240],
|
||||
rows: [
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "入库类型", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "说明", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
})
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("采购入库")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("采购订单到货后入库")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("生产入库")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("生产完工的产品入库")] })] })
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("退货入库")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("销售退货或其他原因退货入库")] })] })
|
||||
]
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("5.2 出库管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("领料出库:生产部门领用物料")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("销售出库:销售订单发货出库")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("调拨出库:仓库之间调拨")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("5.3 库存管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("库存盘点:定期或不定期进行库存盘点")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("库存调拨:库房间物料调拨")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("库存预警:低库存提醒")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("5.4 报表统计")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("出入库明细报表")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("库存周转率分析")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("ABC分类分析")] }),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 6. 财务管理系统
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("6. 财务管理系统")] }),
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("6.1 总账管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("科目设置:设置会计科目体系")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("凭证管理:录入、审核记账凭证")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("账簿查询:查询总账、明细账")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("6.2 应收应付")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("应收账款:管理客户欠款")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("应付账款:管理供应商欠款")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("收付款管理:记录收款和付款")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("6.3 报表中心")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("资产负债表")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("利润表")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("现金流量表")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("6.4 资产管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("固定资产:管理企业固定资产")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("资产折旧:自动计算资产折旧")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("资产盘点:定期盘点固定资产")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("6.5 出纳管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("银行对账:与银行流水核对")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("现金日记账:记录现金收支")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("资金计划:制定资金使用计划")] }),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 7. 人力资源系统
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("7. 人力资源系统")] }),
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("7.1 组织管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("组织架构:设置公司部门结构")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("岗位管理:设置岗位和职责")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("编制管理:管理各部门编制人数")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("7.2 员工管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("员工档案:管理员工基本信息")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("入职离职:办理入职和离职手续")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("合同管理:管理劳动合同")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("7.3 假期管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("假期类型:设置假期种类")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("假期余额:管理员工假期余额")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("请假审批:处理请假申请")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("7.4 薪酬核算")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("薪资结构:设置薪资组成")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("薪资计算:根据考勤、绩效等计算薪资")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("薪资发放:生成工资条")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("7.5 工作流配置")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("审批流程:配置审批流程")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("表单设计:设计审批表单")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("流程监控:监控流程执行状态")] }),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 8. 协同办公系统
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("8. 协同办公系统")] }),
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("8.1 企业门户")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("门户配置:配置企业门户样式和内容")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("快捷入口:设置常用功能快捷入口")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("消息中心:统一消息通知")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("8.2 知识管理")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("文档中心:集中管理企业文档")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("知识库:建立知识库体系")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("文件共享:团队文件共享")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("8.3 审批中心")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("待办事项:待处理的审批")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("已办事项:已处理完成的审批")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("我发起的:发起过的审批")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("审批设置:配置审批规则")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("8.4 费用报销")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("报销申请:提交费用报销")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("借款管理:管理员工借款")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("费用标准:设置报销标准")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("8.5 通知公告")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("公告发布:发布企业公告")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("公告管理:管理已发布的公告")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("阅读统计:统计公告阅读情况")] }),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 9. 应用主页设计
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("9. 应用主页设计")] }),
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("9.1 工作台设计")] }),
|
||||
new Paragraph({ spacing: { after: 200 }, children: [new TextRun("应用主页(工作台)是用户登录后的第一个页面,需要展示以下内容:")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_3, children: [new TextRun("数据概览")] }),
|
||||
new Table({
|
||||
width: { size: 9360, type: WidthType.DXA },
|
||||
columnWidths: [2340, 2340, 2340, 2340],
|
||||
rows: [
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.primary, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "设备总数", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: "11998E", type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "库存物料", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: "F5576C", type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "待审批", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.secondary, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "本月支出", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
})
|
||||
]
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_3, children: [new TextRun("快捷入口")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("设备巡检")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("采购申请")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("入库登记")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("请假申请")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("费用报销")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("库存查询")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_3, children: [new TextRun("待办事项")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("审批类:待处理的审批单")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("任务类:待执行的巡检、保养任务")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("提醒类:库存预警、合同到期等")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_3, children: [new TextRun("应用模块")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("六大模块入口图标")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("显示各模块的关键数据")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("支持自定义模块排序")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_3, children: [new TextRun("经营概览")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("数据图表展示")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("支持切换周/月/季视图")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_3, children: [new TextRun("最新公告")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("展示最新发布的公告")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("区分公告类型(重要/普通)")] }),
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
// 10. 附录
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("10. 附录")] }),
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("10.1 版本历史")] }),
|
||||
new Table({
|
||||
width: { size: 9360, type: WidthType.DXA },
|
||||
columnWidths: [1500, 2000, 5860],
|
||||
rows: [
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "版本", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "日期", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
}),
|
||||
new TableCell({
|
||||
borders: headerBorders,
|
||||
shading: { fill: colors.headerBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [new Paragraph({ children: [new TextRun({ text: "说明", bold: true, color: "FFFFFF" })], alignment: AlignmentType.CENTER })]
|
||||
})
|
||||
]
|
||||
}),
|
||||
new TableRow({
|
||||
children: [
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("V1.0")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("2026-04-08")] })] }),
|
||||
new TableCell({ borders, margins: cellMargins, children: [new Paragraph({ children: [new TextRun("初始版本")] })] })
|
||||
]
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("10.2 参考资料")] }),
|
||||
new Paragraph({ numbering: { reference: "numbers", level: 0 }, children: [new TextRun("《企业资源规划(ERP)系统设计规范》")] }),
|
||||
new Paragraph({ numbering: { reference: "numbers", level: 0 }, children: [new TextRun("《天天系统技术架构文档》")] }),
|
||||
new Paragraph({ numbering: { reference: "numbers", level: 0 }, children: [new TextRun("《UI/UX设计规范》")] }),
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("10.3 联系方式")] }),
|
||||
new Paragraph({ spacing: { after: 100 }, children: [new TextRun("如有疑问,请联系系统开发团队:")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("邮箱:support@tiantian.com")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("电话:400-888-8888")] }),
|
||||
new Paragraph({ numbering: { reference: "bullets", level: 0 }, children: [new TextRun("地址:XX市XX区XX路XX号")] }),
|
||||
]
|
||||
}]
|
||||
});
|
||||
|
||||
// 生成文件
|
||||
Packer.toBuffer(doc).then(buffer => {
|
||||
fs.writeFileSync('/Users/gxwebsoft/VUE/tiantian-system/docs/规划文档/天天系统功能需求规划.docx', buffer);
|
||||
console.log('文档生成成功!');
|
||||
}).catch(err => {
|
||||
console.error('生成失败:', err);
|
||||
});
|
||||
5
docs/规划文档/package.json
Normal file
5
docs/规划文档/package.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"docx": "^9.6.1"
|
||||
}
|
||||
}
|
||||
163
docs/规划文档/pnpm-lock.yaml
generated
Normal file
163
docs/规划文档/pnpm-lock.yaml
generated
Normal file
@@ -0,0 +1,163 @@
|
||||
lockfileVersion: '9.0'
|
||||
|
||||
settings:
|
||||
autoInstallPeers: true
|
||||
excludeLinksFromLockfile: false
|
||||
|
||||
importers:
|
||||
|
||||
.:
|
||||
dependencies:
|
||||
docx:
|
||||
specifier: ^9.6.1
|
||||
version: 9.6.1
|
||||
|
||||
packages:
|
||||
|
||||
'@types/node@25.5.2':
|
||||
resolution: {integrity: sha512-tO4ZIRKNC+MDWV4qKVZe3Ql/woTnmHDr5JD8UI5hn2pwBrHEwOEMZK7WlNb5RKB6EoJ02gwmQS9OrjuFnZYdpg==}
|
||||
|
||||
core-util-is@1.0.3:
|
||||
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
|
||||
|
||||
docx@9.6.1:
|
||||
resolution: {integrity: sha512-ZJja9/KBUuFC109sCMzovoq2GR2wCG/AuxivjA+OHj/q0TEgJIm3S7yrlUxIy3B+bV8YDj/BiHfWyrRFmyWpDQ==}
|
||||
engines: {node: '>=10'}
|
||||
|
||||
hash.js@1.1.7:
|
||||
resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
|
||||
|
||||
immediate@3.0.6:
|
||||
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
|
||||
|
||||
inherits@2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
|
||||
isarray@1.0.0:
|
||||
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
|
||||
|
||||
jszip@3.10.1:
|
||||
resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==}
|
||||
|
||||
lie@3.3.0:
|
||||
resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
|
||||
|
||||
minimalistic-assert@1.0.1:
|
||||
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
|
||||
|
||||
nanoid@5.1.7:
|
||||
resolution: {integrity: sha512-ua3NDgISf6jdwezAheMOk4mbE1LXjm1DfMUDMuJf4AqxLFK3ccGpgWizwa5YV7Yz9EpXwEaWoRXSb/BnV0t5dQ==}
|
||||
engines: {node: ^18 || >=20}
|
||||
hasBin: true
|
||||
|
||||
pako@1.0.11:
|
||||
resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
|
||||
|
||||
process-nextick-args@2.0.1:
|
||||
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
|
||||
|
||||
readable-stream@2.3.8:
|
||||
resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
|
||||
|
||||
safe-buffer@5.1.2:
|
||||
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
|
||||
|
||||
sax@1.6.0:
|
||||
resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==}
|
||||
engines: {node: '>=11.0.0'}
|
||||
|
||||
setimmediate@1.0.5:
|
||||
resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
|
||||
|
||||
string_decoder@1.1.1:
|
||||
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
|
||||
|
||||
undici-types@7.18.2:
|
||||
resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
|
||||
|
||||
util-deprecate@1.0.2:
|
||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||
|
||||
xml-js@1.6.11:
|
||||
resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
|
||||
hasBin: true
|
||||
|
||||
xml@1.0.1:
|
||||
resolution: {integrity: sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==}
|
||||
|
||||
snapshots:
|
||||
|
||||
'@types/node@25.5.2':
|
||||
dependencies:
|
||||
undici-types: 7.18.2
|
||||
|
||||
core-util-is@1.0.3: {}
|
||||
|
||||
docx@9.6.1:
|
||||
dependencies:
|
||||
'@types/node': 25.5.2
|
||||
hash.js: 1.1.7
|
||||
jszip: 3.10.1
|
||||
nanoid: 5.1.7
|
||||
xml: 1.0.1
|
||||
xml-js: 1.6.11
|
||||
|
||||
hash.js@1.1.7:
|
||||
dependencies:
|
||||
inherits: 2.0.4
|
||||
minimalistic-assert: 1.0.1
|
||||
|
||||
immediate@3.0.6: {}
|
||||
|
||||
inherits@2.0.4: {}
|
||||
|
||||
isarray@1.0.0: {}
|
||||
|
||||
jszip@3.10.1:
|
||||
dependencies:
|
||||
lie: 3.3.0
|
||||
pako: 1.0.11
|
||||
readable-stream: 2.3.8
|
||||
setimmediate: 1.0.5
|
||||
|
||||
lie@3.3.0:
|
||||
dependencies:
|
||||
immediate: 3.0.6
|
||||
|
||||
minimalistic-assert@1.0.1: {}
|
||||
|
||||
nanoid@5.1.7: {}
|
||||
|
||||
pako@1.0.11: {}
|
||||
|
||||
process-nextick-args@2.0.1: {}
|
||||
|
||||
readable-stream@2.3.8:
|
||||
dependencies:
|
||||
core-util-is: 1.0.3
|
||||
inherits: 2.0.4
|
||||
isarray: 1.0.0
|
||||
process-nextick-args: 2.0.1
|
||||
safe-buffer: 5.1.2
|
||||
string_decoder: 1.1.1
|
||||
util-deprecate: 1.0.2
|
||||
|
||||
safe-buffer@5.1.2: {}
|
||||
|
||||
sax@1.6.0: {}
|
||||
|
||||
setimmediate@1.0.5: {}
|
||||
|
||||
string_decoder@1.1.1:
|
||||
dependencies:
|
||||
safe-buffer: 5.1.2
|
||||
|
||||
undici-types@7.18.2: {}
|
||||
|
||||
util-deprecate@1.0.2: {}
|
||||
|
||||
xml-js@1.6.11:
|
||||
dependencies:
|
||||
sax: 1.6.0
|
||||
|
||||
xml@1.0.1: {}
|
||||
461
docs/规划文档/功能菜单脑图.html
Normal file
461
docs/规划文档/功能菜单脑图.html
Normal file
@@ -0,0 +1,461 @@
|
||||
<!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>
|
||||
122
docs/规划文档/功能菜单规划.md
Normal file
122
docs/规划文档/功能菜单规划.md
Normal file
@@ -0,0 +1,122 @@
|
||||
# 天天系统 - 功能菜单规划
|
||||
|
||||
## 1. 设备管理
|
||||
### 1.1 设备台账
|
||||
- 设备列表
|
||||
- 设备分类
|
||||
- 设备档案
|
||||
### 1.2 巡检管理
|
||||
- 巡检计划
|
||||
- 巡检任务
|
||||
- 巡检记录
|
||||
### 1.3 维护保养
|
||||
- 保养计划
|
||||
- 保养任务
|
||||
- 维修记录
|
||||
### 1.4 统计分析
|
||||
- 设备完好率
|
||||
- 故障分析
|
||||
- 维保成本
|
||||
|
||||
## 2. 采购管理
|
||||
### 2.1 采购需求
|
||||
- 需求申请
|
||||
- 需求审批
|
||||
- 需求池
|
||||
### 2.2 采购订单
|
||||
- 订单创建
|
||||
- 订单跟踪
|
||||
- 订单结算
|
||||
### 2.3 供应商管理
|
||||
- 供应商档案
|
||||
- 供应商评估
|
||||
- 供应商分类
|
||||
### 2.4 库存查询
|
||||
- 实时库存
|
||||
- 库存预警
|
||||
- 库存流水
|
||||
|
||||
## 3. 仓储物流
|
||||
### 3.1 入库管理
|
||||
- 采购入库
|
||||
- 生产入库
|
||||
- 退货入库
|
||||
### 3.2 出库管理
|
||||
- 领料出库
|
||||
- 销售出库
|
||||
- 调拨出库
|
||||
### 3.3 库存管理
|
||||
- 库存盘点
|
||||
- 库存调拨
|
||||
- 库存预警
|
||||
### 3.4 报表统计
|
||||
- 出入库明细
|
||||
- 库存周转
|
||||
- ABC分析
|
||||
|
||||
## 4. 财务管理
|
||||
### 4.1 总账管理
|
||||
- 科目设置
|
||||
- 凭证管理
|
||||
- 账簿查询
|
||||
### 4.2 应收应付
|
||||
- 应收账款
|
||||
- 应付账款
|
||||
- 收付款管理
|
||||
### 4.3 报表中心
|
||||
- 资产负债表
|
||||
- 利润表
|
||||
- 现金流量表
|
||||
### 4.4 资产管理
|
||||
- 固定资产
|
||||
- 资产折旧
|
||||
- 资产盘点
|
||||
### 4.5 出纳管理
|
||||
- 银行对账
|
||||
- 现金日记账
|
||||
- 资金计划
|
||||
|
||||
## 5. 人力资源
|
||||
### 5.1 组织管理
|
||||
- 组织架构
|
||||
- 岗位管理
|
||||
- 编制管理
|
||||
### 5.2 员工管理
|
||||
- 员工档案
|
||||
- 入职离职
|
||||
- 合同管理
|
||||
### 5.3 假期管理
|
||||
- 假期类型
|
||||
- 假期余额
|
||||
- 请假审批
|
||||
### 5.4 薪酬核算
|
||||
- 薪资结构
|
||||
- 薪资计算
|
||||
- 薪资发放
|
||||
### 5.5 工作流配置
|
||||
- 审批流程
|
||||
- 表单设计
|
||||
- 流程监控
|
||||
|
||||
## 6. 协同办公
|
||||
### 6.1 企业门户
|
||||
- 门户配置
|
||||
- 快捷入口
|
||||
- 消息中心
|
||||
### 6.2 知识管理
|
||||
- 文档中心
|
||||
- 知识库
|
||||
- 文件共享
|
||||
### 6.3 审批中心
|
||||
- 待办事项
|
||||
- 已办事项
|
||||
- 我发起的
|
||||
- 审批设置
|
||||
### 6.4 费用报销
|
||||
- 报销申请
|
||||
- 借款管理
|
||||
- 费用标准
|
||||
### 6.5 通知公告
|
||||
- 公告发布
|
||||
- 公告管理
|
||||
- 阅读统计
|
||||
BIN
docs/规划文档/天天系统功能需求规划.docx
Normal file
BIN
docs/规划文档/天天系统功能需求规划.docx
Normal file
Binary file not shown.
Reference in New Issue
Block a user