fix(oa): 修复多处 Duplicate attribute 错误问题
- 修改 app/components/oa/TaskForm.vue 中 a-input 类型冲突为 a-input-number - 合并 admin/supply/warehouse.vue 和 production/equipment.vue 中多个 :class 绑定,避免重复属性 - 统一改为数组方式绑定静态和动态 class,防止 Vue 编译器 Duplicate attribute 警告 - 清理缓存并验证构建通过,确保无重复属性错误 - 通过扫描确认 app/ 目录下 Vue 文件不再存在重复属性问题 - 添加 OaTaskForm 组件类型声明及懒加载声明 - 将 ERP 演示独立 HTML 页面整合至 /app/pages,统一布局与导航 - 升级制造业管理后台页面风格,采用玻璃态和渐变设计 - 修订规划文档相关内容,更新 DEMO 系统名称及功能模块描述 - 修改 ecosystem.config.cjs 中运行端口为 10591
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
const { Document, Packer, Paragraph, TextRun, Table, TableRow, TableCell,
|
||||
Header, Footer, AlignmentType, HeadingLevel, BorderStyle, WidthType,
|
||||
Header, Footer, AlignmentType, HeadingLevel, BorderStyle, WidthType,
|
||||
ShadingType, VerticalAlign, PageNumber, PageBreak, LevelFormat } = require('docx');
|
||||
const fs = require('fs');
|
||||
|
||||
@@ -24,23 +24,23 @@ const colors = {
|
||||
// 创建文档
|
||||
const doc = new Document({
|
||||
styles: {
|
||||
default: {
|
||||
document: {
|
||||
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 }
|
||||
@@ -80,7 +80,7 @@ const doc = new Document({
|
||||
children: [
|
||||
new Paragraph({
|
||||
children: [
|
||||
new TextRun({ text: "天天系统 ERP", bold: true, color: colors.primary, size: 24 }),
|
||||
new TextRun({ text: "DEMO演示系统 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 } }
|
||||
@@ -96,7 +96,7 @@ const doc = new Document({
|
||||
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 })
|
||||
new TextRun({ text: " DEMO演示系统 ERP - 机密文件", color: colors.gray, size: 20 })
|
||||
],
|
||||
alignment: AlignmentType.CENTER,
|
||||
border: { top: { style: BorderStyle.SINGLE, size: 6, color: colors.primary } }
|
||||
@@ -108,7 +108,7 @@ const doc = new Document({
|
||||
// 封面
|
||||
new Paragraph({ spacing: { before: 2400 } }),
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "天天系统 ERP", bold: true, size: 72, color: colors.primary })],
|
||||
children: [new TextRun({ text: "DEMO演示系统 ERP", bold: true, size: 72, color: colors.primary })],
|
||||
alignment: AlignmentType.CENTER
|
||||
}),
|
||||
new Paragraph({
|
||||
@@ -129,22 +129,22 @@ const doc = new Document({
|
||||
shading: { fill: colors.lightBg, type: ShadingType.CLEAR },
|
||||
margins: cellMargins,
|
||||
children: [
|
||||
new Paragraph({
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "版本号:V1.0", size: 24, color: colors.text })],
|
||||
alignment: AlignmentType.CENTER,
|
||||
spacing: { before: 100, after: 100 }
|
||||
}),
|
||||
new Paragraph({
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "编制日期:2026年4月8日", size: 24, color: colors.text })],
|
||||
alignment: AlignmentType.CENTER,
|
||||
spacing: { before: 100, after: 100 }
|
||||
}),
|
||||
new Paragraph({
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "编制人:管理员", size: 24, color: colors.text })],
|
||||
alignment: AlignmentType.CENTER,
|
||||
spacing: { before: 100, after: 100 }
|
||||
}),
|
||||
new Paragraph({
|
||||
new Paragraph({
|
||||
children: [new TextRun({ text: "状态:草稿", size: 24, color: colors.gray })],
|
||||
alignment: AlignmentType.CENTER,
|
||||
spacing: { before: 100, after: 100 }
|
||||
@@ -155,10 +155,10 @@ const doc = new Document({
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
|
||||
// 分页
|
||||
new Paragraph({ children: [new PageBreak()] }),
|
||||
|
||||
|
||||
// 目录
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_1, children: [new TextRun("目录")] }),
|
||||
new Paragraph({ spacing: { before: 200 }, children: [new TextRun("1. 项目概述")]}),
|
||||
@@ -171,32 +171,32 @@ const doc = new Document({
|
||||
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({
|
||||
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 },
|
||||
@@ -268,10 +268,10 @@ const doc = new Document({
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
|
||||
// 分页
|
||||
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 设备台账")] }),
|
||||
@@ -315,7 +315,7 @@ const doc = new Document({
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
|
||||
new Paragraph({ heading: HeadingLevel.HEADING_2, children: [new TextRun("3.2 巡检管理")] }),
|
||||
new Table({
|
||||
width: { size: 9360, type: WidthType.DXA },
|
||||
@@ -357,45 +357,45 @@ const doc = new Document({
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
|
||||
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 入库管理")] }),
|
||||
@@ -439,121 +439,121 @@ const doc = new Document({
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
|
||||
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 },
|
||||
@@ -589,7 +589,7 @@ const doc = new Document({
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
|
||||
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("采购申请")] }),
|
||||
@@ -597,28 +597,28 @@ const doc = new Document({
|
||||
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 版本历史")] }),
|
||||
@@ -657,12 +657,12 @@ const doc = new Document({
|
||||
})
|
||||
]
|
||||
}),
|
||||
|
||||
|
||||
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")] }),
|
||||
|
||||
Reference in New Issue
Block a user