#!/usr/bin/env python3
"""生成 Ether 智慧物业管理平台 功能清单Excel"""

import sys
sys.path.insert(0, '/tmp/xlsx_env/lib/python3.14/site-packages')

from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, PatternFill, Border, Side

def create_function_list():
    wb = Workbook()
    ws = wb.active
    ws.title = "功能清单"

    header_font = Font(bold=True, size=11)
    header_fill = PatternFill(start_color="4472C4", end_color="4472C4", fill_type="solid")
    header_font_white = Font(bold=True, size=11, color="FFFFFF")
    thin_border = Border(
        left=Side(style='thin'),
        right=Side(style='thin'),
        top=Side(style='thin'),
        bottom=Side(style='thin')
    )

    headers = ["终端", "模块", "功能", "业务功能", "功能说明"]
    for col, header in enumerate(headers, 1):
        cell = ws.cell(row=1, column=col, value=header)
        cell.font = header_font_white
        cell.fill = header_fill
        cell.alignment = Alignment(horizontal='center', vertical='center')
        cell.border = thin_border

    data = []

    # =====================================================
    # 企业管理端 - Web
    # =====================================================

    # 基础管理 - 项目管理
    data.extend([
        ("企业管理端 - Web", "基础管理", "项目管理", "查询项目", "支持查看项目列表、项目详情，包括项目名称、地址、面积、状态等基本信息"),
        ("企业管理端 - Web", "基础管理", "项目管理", "新增项目", "支持创建新项目，填写项目基本信息、配置参数，设置项目负责人"),
        ("企业管理端 - Web", "基础管理", "项目管理", "编辑项目", "支持修改项目信息，包括名称、地址、面积、状态等配置"),
        ("企业管理端 - Web", "基础管理", "项目管理", "删除项目", "支持删除项目（软删除），保留项目数据，仅标记为已删除状态"),
        ("企业管理端 - Web", "基础管理", "项目管理", "项目成员管理", "支持添加/移除项目成员，分配项目角色，设置项目负责人"),
        ("企业管理端 - Web", "基础管理", "项目管理", "空间节点管理", "支持楼栋、楼层、房间的车级别空间管理，可视化树形结构展示"),
        ("企业管理端 - Web", "基础管理", "项目管理", "空间数据导入", "支持Excel批量导入空间节点数据，包含数据校验和错误提示"),
    ])

    # 基础管理 - 合同管理
    data.extend([
        ("企业管理端 - Web", "基础管理", "合同管理", "查询合同", "支持查看合同列表、合同详情，筛选合同状态、类型、到期时间"),
        ("企业管理端 - Web", "基础管理", "合同管理", "新增合同", "支持创建新合同，填写合同基本信息、租金条款、签约双方信息"),
        ("企业管理端 - Web", "基础管理", "合同管理", "编辑合同", "支持修改合同信息，包括租金、期限、条款等变更"),
        ("企业管理端 - Web", "基础管理", "合同管理", "删除合同", "支持删除合同（软删除），保留合同记录"),
        ("企业管理端 - Web", "基础管理", "合同管理", "合同审批", "支持合同提交审批、多级审批流程、审批通过/拒绝"),
        ("企业管理端 - Web", "基础管理", "合同管理", "合同签订", "支持记录合同签订日期、生效日期，电子签章"),
        ("企业管理端 - Web", "基础管理", "合同管理", "合同变更", "支持合同变更申请、审批、记录历史变更"),
        ("企业管理端 - Web", "基础管理", "合同管理", "合同到期提醒", "支持定时任务自动发送合同到期提醒（提前3个月）"),
        ("企业管理端 - Web", "基础管理", "合同管理", "合同续签", "支持续签新合同、关联原合同、继承条款"),
        ("企业管理端 - Web", "基础管理", "合同管理", "合同终止", "支持提前终止合同、费用结算、违约金处理"),
        ("企业管理端 - Web", "基础管理", "合同管理", "合同费用明细", "支持维护合同费用项目、单价、计费方式"),
    ])

    # 基础管理 - 设备管理
    data.extend([
        ("企业管理端 - Web", "基础管理", "设备管理", "查询设备", "支持查看设备列表、设备详情，筛选设备类型、状态、位置"),
        ("企业管理端 - Web", "基础管理", "设备管理", "新增设备", "支持创建设备档案，填写设备基本信息、技术参数、位置信息"),
        ("企业管理端 - Web", "基础管理", "设备管理", "编辑设备", "支持修改设备信息，包括参数更新、位置变更"),
        ("企业管理端 - Web", "基础管理", "设备管理", "删除设备", "支持删除设备（软删除），保留设备历史记录"),
        ("企业管理端 - Web", "基础管理", "设备管理", "设备分类管理", "支持设备分类CRUD，自定义分类结构"),
        ("企业管理端 - Web", "基础管理", "设备管理", "设备二维码生成", "支持批量生成设备二维码，用于扫码查看设备信息"),
        ("企业管理端 - Web", "基础管理", "设备管理", "维保计划管理", "支持制定设备维保计划、设置维保周期、指派负责人"),
        ("企业管理端 - Web", "基础管理", "设备管理", "维保记录管理", "支持查看执行维保任务、记录维保结果、照片上传"),
        ("企业管理端 - Web", "基础管理", "设备管理", "设备批量导入", "支持Excel批量导入设备数据，包含数据校验和错误提示"),
        ("企业管理端 - Web", "基础管理", "设备管理", "维修工单创建", "支持设备故障时快速创建维修工单，关联设备信息"),
        ("企业管理端 - Web", "基础管理", "设备管理", "设备维修历史", "支持查看设备维修历史记录、维修统计图表"),
    ])

    # 基础管理 - 企业管理
    data.extend([
        ("企业管理端 - Web", "基础管理", "企业管理", "企业信息管理", "支持维护企业/物业公司基本信息、联系方式、Logo等"),
        ("企业管理端 - Web", "基础管理", "企业管理", "部门管理", "支持创建/编辑/删除部门，维护部门结构树"),
        ("企业管理端 - Web", "基础管理", "企业管理", "组织架构管理", "支持查看和编辑企业组织架构，人员归属部门"),
    ])

    # 基础管理 - 业主管理
    data.extend([
        ("企业管理端 - Web", "基础管理", "业主管理", "查询业主", "支持查看业主列表、业主详情，筛选业主状态、类型"),
        ("企业管理端 - Web", "基础管理", "业主管理", "新增业主", "支持创建业主档案，填写业主基本信息、联系方式"),
        ("企业管理端 - Web", "基础管理", "业主管理", "编辑业主", "支持修改业主信息，包括联系方式、证件信息更新"),
        ("企业管理端 - Web", "基础管理", "业主管理", "删除业主", "支持删除业主（软删除），保留业主历史记录"),
        ("企业管理端 - Web", "基础管理", "业主管理", "房产关联管理", "支持业主房产关联/解绑，多房产业主管理，产权比例分配"),
        ("企业管理端 - Web", "基础管理", "业主管理", "家庭成员管理", "支持添加/编辑/删除家庭成员，设置成员权限"),
        ("企业管理端 - Web", "基础管理", "业主管理", "业主房产绑定审核", "支持审核业主端提交的房产绑定申请（证照认证、人脸认证）"),
    ])

    # 运营管理 - 巡检管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "巡检管理", "巡检计划制定", "支持创建巡检计划，设置巡检路线、周期、内容、执行人"),
        ("企业管理端 - Web", "运营管理", "巡检管理", "巡检计划编辑", "支持修改巡检计划信息，调整巡检路线或周期"),
        ("企业管理端 - Web", "运营管理", "巡检管理", "巡检计划删除", "支持删除巡检计划，保留历史记录"),
        ("企业管理端 - Web", "运营管理", "巡检管理", "巡检计划启用/禁用", "支持启用或禁用巡检计划，禁用后不再自动生成任务"),
        ("企业管理端 - Web", "运营管理", "巡检管理", "巡检计划复制", "支持复制现有巡检计划，快速创建相似计划"),
        ("企业管理端 - Web", "运营管理", "巡检管理", "巡检点管理", "支持维护巡检点信息，生成巡检点二维码，支持NFC标签"),
        ("企业管理端 - Web", "运营管理", "巡检管理", "巡检任务分配", "支持手动分配巡检任务给执行人员"),
        ("企业管理端 - Web", "基础管理", "巡检管理", "巡检任务查看", "支持查看巡检任务列表、任务详情、执行记录"),
        ("企业管理端 - Web", "运营管理", "巡检管理", "巡检任务强制闭环", "支持管理员对超期未完成的巡检任务进行强制闭环"),
        ("企业管理端 - Web", "运营管理", "巡检管理", "巡检统计", "支持查看巡检完成率、异常率统计图表"),
    ])

    # 运营管理 - 工单管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "工单管理", "查询工单", "支持查看工单列表、工单详情，筛选工单状态、类型、优先级"),
        ("企业管理端 - Web", "运营管理", "工单管理", "创建工单", "支持手动创建工单，填写工单信息、关联设备、上传照片"),
        ("企业管理端 - Web", "运营管理", "工单管理", "编辑工单", "支持修改工单信息，仅限特定状态下可编辑"),
        ("企业管理端 - Web", "运营管理", "工单管理", "删除工单", "支持删除工单（软删除），保留工单记录"),
        ("企业管理端 - Web", "运营管理", "工单管理", "分配工单", "支持手动分配工单给处理人员，或使用智能派单"),
        ("企业管理端 - Web", "运营管理", "工单管理", "转单处理", "支持将工单转交给其他处理人员，需填写转单原因"),
        ("企业管理端 - Web", "运营管理", "工单管理", "挂起/恢复工单", "支持临时挂起工单（等待物料等），恢复继续处理"),
        ("企业管理端 - Web", "运营管理", "工单管理", "工单费用填报", "支持处理人员填报工单涉及的材料费、人工费"),
        ("企业管理端 - Web", "运营管理", "工单管理", "工单费用审核", "支持财务或主管审核工单费用，确认收费金额"),
        ("企业管理端 - Web", "运营管理", "工单管理", "关闭工单", "支持手动关闭工单，完成工单处理流程"),
        ("企业管理端 - Web", "运营管理", "工单管理", "工单评价查看", "支持查看业主对工单的评价（满意度评分、评价内容）"),
        ("企业管理端 - Web", "运营管理", "工单管理", "工单统计报表", "支持多维度统计分析工单数量、类型、时效、满意度"),
        ("企业管理端 - Web", "运营管理", "工单管理", "SLA时效监控", "支持工单处理时效监控，超时自动预警通知"),
    ])

    # 运营管理 - 访客管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "访客管理", "访客预约查看", "支持查看访客预约列表、预约详情，筛选预约状态"),
        ("企业管理端 - Web", "运营管理", "访客管理", "访客预约审核", "支持审核访客预约申请，被访人确认同意/拒绝"),
        ("企业管理端 - Web", "运营管理", "访客管理", "访客登记", "支持访客现场登记、身份核验、发放访客凭证"),
        ("企业管理端 - Web", "运营管理", "访客管理", "访客凭证管理", "支持查看访客凭证、撤销凭证、通行记录查询"),
        ("企业管理端 - Web", "运营管理", "访客管理", "访客记录查询", "支持查看访客通行记录、历史轨迹"),
        ("企业管理端 - Web", "运营管理", "访客管理", "访客黑名单管理", "支持添加/移除访客黑名单，黑名单人员拦截"),
        ("企业管理端 - Web", "运营管理", "访客管理", "访客统计", "支持访客数量统计、通行时段分析"),
    ])

    # 运营管理 - 收费管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "收费管理", "收费项目管理", "支持维护收费项目（物业费、水电费、停车费等）及收费标准"),
        ("企业管理端 - Web", "运营管理", "收费管理", "账单生成", "支持自动/手动生成账单，按周期或按需生成"),
        ("企业管理端 - Web", "运营管理", "收费管理", "账单查询", "支持查看账单列表、账单详情，筛选账单状态"),
        ("企业管理端 - Web", "运营管理", "收费管理", "账单编辑", "支持调整账单金额、减免滞纳金等操作"),
        ("企业管理端 - Web", "运营管理", "收费管理", "账单删除", "支持删除账单（作废处理），保留操作记录"),
        ("企业管理端 - Web", "运营管理", "收费管理", "费用减免", "支持申请费用减免、审批减免流程"),
        ("企业管理端 - Web", "运营管理", "收费管理", "缴费登记", "支持手工登记缴费记录，线下缴费场景"),
        ("企业管理端 - Web", "运营管理", "收费管理", "缴费记录查询", "支持查看缴费历史、缴费凭证"),
        ("企业管理端 - Web", "运营管理", "收费管理", "费用催缴", "支持逾期提醒、发送催缴通知"),
        ("企业管理端 - Web", "运营管理", "收费管理", "费用报表导出", "支持导出收费统计报表、欠费统计Excel"),
    ])

    # 运营管理 - 排班管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "排班管理", "排班计划制定", "支持创建排班计划，设置班次、人员、时间"),
        ("企业管理端 - Web", "运营管理", "排班管理", "排班计划编辑", "支持修改排班计划，调整人员或时间"),
        ("企业管理端 - Web", "运营管理", "排班管理", "排班计划删除", "支持删除排班计划"),
        ("企业管理端 - Web", "运营管理", "排班管理", "排班表查看", "支持查看各岗位排班表，支持按周/月视图"),
        ("企业管理端 - Web", "运营管理", "排班管理", "排班统计", "支持统计排班出勤情况、加班时长"),
    ])

    # 运营管理 - 停车管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "停车管理", "车位信息管理", "支持查看/维护车位信息、车位状态"),
        ("企业管理端 - Web", "运营管理", "停车管理", "车位租赁/出售", "支持车位租赁登记、车位出售登记"),
        ("企业管理端 - Web", "运营管理", "停车管理", "停车记录查询", "支持查看停车记录、停车时长统计"),
        ("企业管理端 - Web", "运营管理", "停车管理", "停车费结算", "支持停车费计算、费用减免、结算"),
    ])

    # 运营管理 - 装修管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "装修管理", "装修申请查看", "支持查看装修申请列表、申请详情"),
        ("企业管理端 - Web", "运营管理", "装修管理", "装修申请审批", "支持审批装修申请，审核装修方案、时间、安全措施"),
        ("企业管理端 - Web", "运营管理", "装修管理", "装修进度跟踪", "支持跟踪装修进度，记录检查结果"),
        ("企业管理端 - Web", "运营管理", "装修管理", "装修验收", "支持装修完成后的验收流程，验收结果记录"),
    ])

    # 运营管理 - 活动管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "活动管理", "活动创建", "支持创建社区活动，填写活动内容、时间、地点"),
        ("企业管理端 - Web", "运营管理", "活动管理", "活动编辑", "支持修改活动信息"),
        ("企业管理端 - Web", "运营管理", "活动管理", "活动删除", "支持删除活动"),
        ("企业管理端 - Web", "运营管理", "活动管理", "活动报名管理", "支持查看活动报名名单、审核报名资格"),
        ("企业管理端 - Web", "运营管理", "活动管理", "活动签到", "支持活动现场签到，记录参与情况"),
    ])

    # 运营管理 - 投诉管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "投诉管理", "投诉查询", "支持查看投诉列表、投诉详情，筛选投诉状态"),
        ("企业管理端 - Web", "运营管理", "投诉管理", "投诉登记", "支持登记业主投诉，填写投诉内容、类型"),
        ("企业管理端 - Web", "运营管理", "投诉管理", "投诉处理分配", "支持将投诉指派给处理人员"),
        ("企业管理端 - Web", "运营管理", "投诉管理", "投诉处理", "支持处理人员处理投诉，记录处理结果"),
        ("企业管理端 - Web", "运营管理", "投诉管理", "投诉关闭", "支持完成投诉处理，关闭投诉单"),
        ("企业管理端 - Web", "运营管理", "投诉管理", "投诉统计", "支持投诉统计分析、类型分布、处理时效"),
    ])

    # 运营管理 - 公示管理
    data.extend([
        ("企业管理端 - Web", "运营管理", "公示管理", "公示发布", "支持创建公示内容，填写公示标题、正文、附件"),
        ("企业管理端 - Web", "运营管理", "公示管理", "公示编辑", "支持修改公示内容"),
        ("企业管理端 - Web", "运营管理", "公示管理", "公示删除", "支持删除公示"),
        ("企业管理端 - Web", "运营管理", "公示管理", "公示置顶", "支持将重要公示置顶显示"),
        ("企业管理端 - Web", "运营管理", "公示管理", "公示浏览统计", "支持查看公示浏览量、阅读统计"),
    ])

    # 系统管理 - 用户管理
    data.extend([
        ("企业管理端 - Web", "系统管理", "用户管理", "查询用户", "支持查看用户列表、用户详情，筛选用户状态、类型"),
        ("企业管理端 - Web", "系统管理", "用户管理", "新增用户", "支持创建用户账号，填写用户名、姓名、手机号、邮箱等"),
        ("企业管理端 - Web", "系统管理", "用户管理", "编辑用户", "支持修改用户信息（用户名不可修改）"),
        ("企业管理端 - Web", "系统管理", "用户管理", "删除用户", "支持删除用户（软删除），保留用户记录"),
        ("企业管理端 - Web", "系统管理", "用户管理", "密码重置", "支持重置用户密码为默认密码（Admin@123）"),
        ("企业管理端 - Web", "系统管理", "用户管理", "状态切换", "支持启用/禁用用户账号，控制用户登录权限"),
        ("企业管理端 - Web", "系统管理", "用户管理", "角色分配", "支持为用户分配角色，一个用户可分配多个角色"),
    ])

    # 系统管理 - 角色管理
    data.extend([
        ("企业管理端 - Web", "系统管理", "角色管理", "查询角色", "支持查看角色列表、角色详情"),
        ("企业管理端 - Web", "系统管理", "角色管理", "新增角色", "支持创建角色，填写角色名称、描述、数据范围"),
        ("企业管理端 - Web", "系统管理", "角色管理", "编辑角色", "支持修改角色信息"),
        ("企业管理端 - Web", "系统管理", "角色管理", "删除角色", "支持删除自定义角色（系统预置角色不可删除）"),
        ("企业管理端 - Web", "系统管理", "角色管理", "权限分配", "支持为角色分配菜单权限、按钮权限、API权限"),
    ])

    # 系统管理 - 权限管理
    data.extend([
        ("企业管理端 - Web", "系统管理", "权限管理", "查询权限", "支持查看权限列表、权限详情"),
        ("企业管理端 - Web", "系统管理", "权限管理", "新增权限", "支持创建权限，填写权限编码、名称、类型"),
        ("企业管理端 - Web", "系统管理", "权限管理", "编辑权限", "支持修改权限信息"),
        ("企业管理端 - Web", "系统管理", "权限管理", "删除权限", "支持删除自定义权限（系统预置权限不可删除）"),
        ("企业管理端 - Web", "系统管理", "权限管理", "菜单权限配置", "支持配置菜单显示权限，控制用户可访问的菜单"),
        ("企业管理端 - Web", "系统管理", "权限管理", "按钮权限配置", "支持配置按钮操作权限，控制用户可点击的按钮"),
        ("企业管理端 - Web", "系统管理", "权限管理", "API权限配置", "支持配置API访问权限，控制用户可调用的接口"),
        ("企业管理端 - Web", "系统管理", "权限管理", "数据权限配置", "支持配置数据范围权限（全部/本部门/本人）"),
    ])

    # 系统管理 - 系统管理
    data.extend([
        ("企业管理端 - Web", "系统管理", "系统管理", "系统参数配置", "支持配置系统级参数，如SLA时限、密码策略等"),
        ("企业管理端 - Web", "系统管理", "系统管理", "操作日志查询", "支持查看用户操作日志，记录操作人、时间、内容"),
        ("企业管理端 - Web", "系统管理", "系统管理", "登录日志查询", "支持查看用户登录日志，记录登录时间、IP、设备"),
        ("企业管理端 - Web", "系统管理", "系统管理", "初始化向导", "支持首次部署时的系统初始化引导，创建第一个项目"),
    ])

    # 系统管理 - 通知管理
    data.extend([
        ("企业管理端 - Web", "系统管理", "通知管理", "通知模板管理", "支持创建/编辑/删除通知模板，配置模板变量"),
        ("企业管理端 - Web", "系统管理", "通知管理", "通知渠道配置", "支持配置通知渠道（站内信、APP推送、短信、邮件）"),
        ("企业管理端 - Web", "系统管理", "通知管理", "通知规则配置", "支持配置通知触发规则，如工单创建时发送通知"),
        ("企业管理端 - Web", "系统管理", "通知管理", "通知历史查询", "支持查看通知发送历史、发送状态"),
    ])

    # =====================================================
    # 企业员工端 - App
    # =====================================================

    # 日常运营 - 工单处置
    data.extend([
        ("企业员工端 - App", "日常运营", "工单处置", "工单列表查看", "支持查看待处理工单列表、处理中工单列表、已处理工单列表"),
        ("企业管理端 - Web", "日常运营", "工单处置", "工单详情查看", "支持查看工单详情，包括工单信息、关联设备、处理记录"),
        ("企业管理端 - Web", "日常运营", "工单处置", "工单接单", "支持接收分配的工单，确认开始处理"),
        ("企业管理端 - Web", "日常运营", "工单处置", "工单开始处理", "支持标记工单开始处理，记录开始时间"),
        ("企业管理端 - Web", "日常运营", "工单处置", "工单处理反馈", "支持提交工单处理进度，上传处理照片、填写处理说明"),
        ("企业管理端 - Web", "日常运营", "工单处置", "工单完工反馈", "支持提交工单完工反馈，确认完成处理"),
        ("企业管理端 - Web", "日常运营", "工单处置", "费用填报", "支持填报工单涉及的材料费、人工费"),
        ("企业管理端 - Web", "日常运营", "工单处置", "扫码报修", "支持扫描设备二维码，快速创建设备报修工单"),
        ("企业管理端 - Web", "日常运营", "工单处置", "工单转单申请", "支持申请将工单转交给其他处理人员"),
    ])

    # 日常运营 - 巡检任务
    data.extend([
        ("企业员工端 - App", "日常运营", "巡检任务", "巡检任务列表", "支持查看待执行巡检任务、已完成任务"),
        ("企业员工端 - App", "日常运营", "巡检任务", "巡检任务详情", "支持查看巡检任务详情，包括巡检点、检查内容"),
        ("企业员工端 - App", "日常运营", "巡检任务", "开始巡检", "支持开始执行巡检任务"),
        ("企业员工端 - App", "日常运营", "巡检任务", "巡检扫码签到", "支持扫描巡检点二维码进行签到，记录签到位置和时间"),
        ("企业员工端 - App", "日常运营", "巡检任务", "巡检项检查", "支持填写巡检项检查结果，正常/异常标记"),
        ("企业员工端 - App", "日常运营", "巡检任务", "巡检异常上报", "支持上报巡检异常情况，拍照上传异常描述"),
        ("企业员工端 - App", "日常运营", "巡检任务", "完成巡检", "支持完成巡检任务，提交巡检记录"),
    ])

    # 日常运营 - 异常上报
    data.extend([
        ("企业员工端 - App", "日常运营", "异常上报", "异常事件上报", "支持上报各类异常事件，填写异常描述、位置、现场照片"),
        ("企业员工端 - App", "日常运营", "异常上报", "异常处理跟踪", "支持查看上报异常的跟踪处理状态"),
        ("企业员工端 - App", "日常运营", "异常上报", "已上报记录", "支持查看历史异常上报记录"),
    ])

    # 日常运营 - 访客审批
    data.extend([
        ("企业员工端 - App", "日常运营", "访客审批", "访客预约审批", "支持查看待审批访客预约，接受/拒绝访客来访"),
        ("企业员工端 - App", "日常运营", "访客审批", "审批记录查询", "支持查看访客预约审批历史"),
    ])

    # 日常运营 - 考勤签到
    data.extend([
        ("企业员工端 - App", "日常运营", "考勤签到", "考勤签到", "支持员工日常考勤签到，记录签到时间、位置"),
        ("企业员工端 - App", "日常运营", "考勤签到", "考勤签退", "支持员工考勤签退"),
        ("企业员工端 - App", "日常运营", "考勤签到", "考勤记录查询", "支持查看个人考勤记录、考勤统计"),
    ])

    # 基础功能 - 个人中心
    data.extend([
        ("企业员工端 - App", "基础功能", "个人中心", "个人信息查看", "支持查看个人账号信息、所属部门、岗位"),
        ("企业员工端 - App", "基础功能", "个人中心", "个人信息编辑", "支持修改个人联系方式等基本信息"),
        ("企业员工端 - App", "基础功能", "个人中心", "密码修改", "支持修改登录密码"),
        ("企业员工端 - App", "基础功能", "个人中心", "消息通知设置", "支持设置消息推送开关、通知偏好"),
    ])

    # 基础功能 - 工作看板
    data.extend([
        ("企业员工端 - App", "基础功能", "工作看板", "待办事项展示", "支持查看今日待办事项，包括待处理工单、待执行巡检"),
        ("企业员工端 - App", "基础功能", "工作看板", "今日统计", "支持查看今日工作统计，包括已完成工单数、巡检点完成数"),
        ("企业员工端 - App", "基础功能", "工作看板", "快捷入口", "支持快捷入口到常用功能模块"),
    ])

    # 基础功能 - 通知公告
    data.extend([
        ("企业员工端 - App", "基础功能", "通知公告", "公告列表查看", "支持查看物业通知公告列表"),
        ("企业员工端 - App", "基础功能", "通知公告", "公告详情查看", "支持查看公告详细内容"),
        ("企业员工端 - App", "基础功能", "通知公告", "公告已读标记", "支持标记公告为已读"),
    ])

    # =====================================================
    # 商办园区客户端 - 小程序
    # =====================================================

    # 客户服务 - 维修上报
    data.extend([
        ("商办园区客户端 - 小程序", "客户服务", "维修上报", "在线报修申请", "支持提交维修报修申请，填写故障描述、位置、上传照片"),
        ("商办园区客户端 - 小程序", "客户服务", "维修上报", "报修进度查询", "支持查看报修工单处理进度，了解处理状态"),
        ("商办园区客户端 - 小程序", "客户服务", "维修上报", "报修历史记录", "支持查看历史报修工单列表、详情"),
        ("商办园区客户端 - 小程序", "客户服务", "维修上报", "工单满意度评价", "支持对完成的工单进行满意度评价（评分、评价内容）"),
    ])

    # 客户服务 - 访客管理
    data.extend([
        ("商办园区客户端 - 小程序", "客户服务", "访客管理", "访客邀请", "支持邀请访客，填写访客信息、来访时间"),
        ("商办园区客户端 - 小程序", "客户服务", "访客管理", "访客凭证查看", "支持查看生成的访客二维码凭证"),
        ("商办园区客户端 - 小程序", "客户服务", "访客管理", "访客预约审核", "支持审核收到的访客预约申请（仅被访人）"),
        ("商办园区客户端 - 小程序", "客户服务", "访客管理", "访客邀请记录", "支持查看历史邀请记录、访客通行状态"),
    ])

    # 客户服务 - 员工审批
    data.extend([
        ("商办园区客户端 - 小程序", "客户服务", "员工审批", "审批待办查看", "支持查看待处理的审批事项列表"),
        ("商办园区客户端 - 小程序", "客户服务", "员工审批", "审批详情查看", "支持查看审批事项详细信息"),
        ("商办园区客户端 - 小程序", "客户服务", "员工审批", "审批操作", "支持审批通过/驳回操作，填写审批意见"),
        ("商办园区客户端 - 小程序", "客户服务", "员工审批", "审批历史查询", "支持查看已处理审批记录"),
    ])

    # 客户服务 - 装修申报
    data.extend([
        ("商办园区客户端 - 小程序", "客户服务", "装修申报", "装修申请提交", "支持提交装修申请，填写装修内容、时间、安全措施"),
        ("商办园区客户端 - 小程序", "客户服务", "装修申报", "装修申请进度", "支持查看装修申请审批进度"),
        ("商办园区客户端 - 小程序", "客户服务", "装修申报", "装修申请记录", "支持查看历史装修申请记录"),
    ])

    # 客户服务 - 停车缴费
    data.extend([
        ("商办园区客户端 - 小程序", "客户服务", "停车缴费", "月卡续费", "支持车位月卡在线续费"),
        ("商办园区客户端 - 小程序", "客户服务", "停车缴费", "临停车费缴纳", "支持临停车费在线缴纳"),
        ("商办园区客户端 - 小程序", "客户服务", "停车缴费", "停车记录查询", "支持查看停车缴费历史记录"),
    ])

    # 客户服务 - 投诉建议
    data.extend([
        ("商办园区客户端 - 小程序", "客户服务", "投诉建议", "投诉建议提交", "支持提交投诉或建议，填写内容、上传照片"),
        ("商办园区客户端 - 小程序", "客户服务", "投诉建议", "处理进度查询", "支持查看投诉建议处理进度"),
        ("商办园区客户端 - 小程序", "客户服务", "投诉建议", "历史记录查询", "支持查看历史投诉建议记录"),
    ])

    # 客户服务 - 服务查询
    data.extend([
        ("商办园区客户端 - 小程序", "客户服务", "服务查询", "账单查询", "支持查看待缴费账单、历史账单"),
        ("商办园区客户端 - 小程序", "客户服务", "服务查询", "服务记录查询", "支持查看各类服务记录（报修、投诉等）"),
        ("商办园区客户端 - 小程序", "客户服务", "服务查询", "房产信息查看", "支持查看本人关联的房产信息"),
    ])

    # 基础功能 - 个人中心
    data.extend([
        ("商办园区客户端 - 小程序", "基础功能", "个人中心", "个人信息查看", "支持查看个人账号信息"),
        ("商办园区客户端 - 小程序", "基础功能", "个人中心", "房产绑定管理", "支持查看/管理本人关联的房产"),
        ("商办园区客户端 - 小程序", "基础功能", "个人中心", "家庭成员管理", "支持添加/管理家庭成员"),
    ])

    # 基础功能 - 通知公告
    data.extend([
        ("商办园区客户端 - 小程序", "基础功能", "通知公告", "公告列表查看", "支持查看物业通知公告列表"),
        ("商办园区客户端 - 小程序", "基础功能", "通知公告", "公告详情查看", "支持查看公告详细内容"),
        ("商办园区客户端 - 小程序", "基础功能", "通知公告", "消息通知中心", "支持查看各类消息通知列表"),
    ])

    # =====================================================
    # 住宅业主客户端 - 小程序
    # =====================================================

    # 业主服务 - 维修上报
    data.extend([
        ("住宅业主客户端 - 小程序", "业主服务", "维修上报", "在线报修申请", "支持提交维修报修申请，填写故障描述、位置、上传照片"),
        ("住宅业主客户端 - 小程序", "业主服务", "维修上报", "报修进度查询", "支持查看报修工单处理进度"),
        ("住宅业主客户端 - 小程序", "业主服务", "维修上报", "报修历史记录", "支持查看历史报修工单记录"),
        ("住宅业主客户端 - 小程序", "业主服务", "维修上报", "工单满意度评价", "支持对完成的工单进行评价"),
    ])

    # 业主服务 - 装修申报
    data.extend([
        ("住宅业主客户端 - 小程序", "业主服务", "装修申报", "装修申请提交", "支持提交装修申请"),
        ("住宅业主客户端 - 小程序", "业主服务", "装修申报", "装修申请进度", "支持查看装修申请审批进度"),
        ("住宅业主客户端 - 小程序", "业主服务", "装修申报", "装修申请记录", "支持查看历史装修申请"),
    ])

    # 业主服务 - 投诉建议
    data.extend([
        ("住宅业主客户端 - 小程序", "业主服务", "投诉建议", "投诉建议提交", "支持提交投诉或建议"),
        ("住宅业主客户端 - 小程序", "业主服务", "投诉建议", "处理进度查询", "支持查看投诉处理进度"),
        ("住宅业主客户端 - 小程序", "业主服务", "投诉建议", "历史记录查询", "支持查看历史投诉建议"),
    ])

    # 业主服务 - 服务查询
    data.extend([
        ("住宅业主客户端 - 小程序", "业主服务", "服务查询", "账单查询", "支持查看待缴费账单、历史账单"),
        ("住宅业主客户端 - 小程序", "业主服务", "服务查询", "停车费查询", "支持查看停车费用"),
        ("住宅业主客户端 - 小小程序", "业主服务", "服务查询", "物业服务记录", "支持查看物业服务历史"),
    ])

    # 基础功能 - 个人中心
    data.extend([
        ("住宅业主客户端 - 小程序", "基础功能", "个人中心", "个人信息查看", "支持查看个人账号信息"),
        ("住宅业主客户端 - 小程序", "基础功能", "个人中心", "房产绑定管理", "支持查看/管理本人房产"),
        ("住宅业主客户端 - 小程序", "基础功能", "个人中心", "家庭成员管理", "支持添加/管理家庭成员"),
        ("住宅业主客户端 - 小程序", "基础功能", "个人中心", "消息设置", "支持设置消息推送偏好"),
    ])

    # 基础功能 - 通知公告
    data.extend([
        ("住宅业主客户端 - 小程序", "基础功能", "通知公告", "公告列表查看", "支持查看物业通知公告"),
        ("住宅业主客户端 - 小程序", "基础功能", "通知公告", "公告详情查看", "支持查看公告详细内容"),
        ("住宅业主客户端 - 小程序", "基础功能", "通知公告", "消息通知中心", "支持查看各类消息通知"),
    ])

    # =====================================================
    # 第三方对接
    # =====================================================

    data.extend([
        ("第三方对接", "第三方对接", "停车系统对接", "停车系统适配", "支持与第三方停车系统对接，适配统一接口"),
        ("第三方对接", "第三方对接", "停车系统对接", "车位状态同步", "支持实时同步车位使用状态"),
        ("第三方对接", "第三方对接", "停车系统对接", "停车记录同步", "支持同步车辆进出记录"),
        ("第三方对接", "第三方对接", "短信平台对接", "短信发送接口", "支持对接短信平台，发送通知短信"),
        ("第三方对接", "第三方对接", "短信平台对接", "短信模板配置", "支持配置短信发送模板"),
        ("第三方对接", "第三方对接", "财务系统数据对接", "财务数据同步", "支持与财务系统对接，同步收款凭证"),
        ("第三方对接", "第三方对接", "财务系统数据对接", "账务数据对接", "支持同步账单、缴费等账务数据"),
        ("第三方对接", "第三方对接", "集团系统数据对接", "数据上报接口", "支持向集团系统上报业务数据"),
        ("第三方对接", "第三方对接", "集团系统数据对接", "单点登录集成", "支持与集团系统SSO单点登录对接"),
    ])

    # 写入数据
    for row_idx, row_data in enumerate(data, 2):
        for col_idx, value in enumerate(row_data, 1):
            cell = ws.cell(row=row_idx, column=col_idx, value=value)
            cell.border = thin_border
            cell.alignment = Alignment(vertical='center', wrap_text=True)

    # 设置列宽
    ws.column_dimensions['A'].width = 25  # 终端
    ws.column_dimensions['B'].width = 15  # 模块
    ws.column_dimensions['C'].width = 15  # 功能
    ws.column_dimensions['D'].width = 20  # 业务功能
    ws.column_dimensions['E'].width = 60  # 功能说明

    # 冻结首行
    ws.freeze_panes = 'A2'

    return wb

if __name__ == "__main__":
    wb = create_function_list()
    output_path = "/Users/Chiguyong/Code/Ether/docs/功能清单.xlsx"
    wb.save(output_path)
    print(f"功能清单已生成: {output_path}")
