CLAUDE.md 26 KB

重庆机场安检分级质控系统 - 前端

项目概述

重庆机场安检分级质控系统管理端,基于若依(RuoYi)框架二次开发。系统涵盖考勤管理、查获物品、巡检管理、考试培训、大屏展示、绩效管理等核心业务模块。

  • 项目名: airport-web
  • 版本: 3.9.0
  • 技术栈: Vue 3 + Vite 6 + Element Plus + Pinia + Vue Router

开发环境

# 安装依赖
npm install

# 启动开发服务器(端口 8111)
npm run dev

# 生产构建
npm run build:prod

# 预发构建
npm run build:stage

技术栈

技术 版本 用途
Vue 3 3.5.16 核心框架
Vite 6.3.5 构建工具
Element Plus 2.9.9 UI 组件库
Pinia 3.0.2 状态管理
Vue Router 4.5.1 路由管理
Axios 1.9.0 HTTP 请求
ECharts 5.6.0 图表可视化
js-cookie 3.0.5 Cookie 管理
jsencrypt 3.3.2 RSA 加密(密码登录)
nprogress 0.2.0 页面加载进度条
vuedraggable 4.1.0 拖拽排序
vue-cropper 1.1.1 图片裁剪
html2canvas / jspdf - 导出 PDF
docx 9.5.1 导出 Word
codemirror - SQL 编辑器
moment - 日期处理

目录结构

src/
├── api/                  # 接口请求层(按业务模块分类)
│   ├── system/           # 系统管理接口
│   ├── attendance/       # 考勤接口
│   ├── check/            # 巡检接口
│   ├── item/             # 查获物品接口
│   ├── examManage/       # 考试管理接口
│   ├── largeScreen/      # 大屏接口
│   ├── performance/      # 绩效接口
│   └── monitor/          # 监控接口
├── assets/               # 静态资源(图片、SVG图标、样式)
├── components/           # 公共组件
│   ├── FileUpload/       # 文件上传
│   ├── ImageUpload/      # 图片上传
│   ├── Editor/           # 富文本编辑器(Quill)
│   ├── Pagination/       # 分页组件
│   ├── DictTag/          # 字典标签
│   ├── UserSelect/       # 用户选择器
│   └── sqlEdit/          # SQL 编辑器
├── directive/            # 自定义指令(权限、防重复点击等)
├── hooks/                # 组合式函数
├── layout/               # 布局组件(侧边栏、顶栏、标签页)
├── plugins/              # Vue 插件注册
├── router/               # 路由配置(含动态路由)
├── store/                # Pinia 状态管理
│   └── modules/          # 各模块 store(user、app、permission、settings等)
├── utils/                # 工具函数(request、auth、dict 等)
└── views/                # 页面视图
    ├── system/           # 系统管理(用户、角色、菜单、部门、字典等)
    ├── attendance/       # 考勤管理
    ├── check/            # 巡检管理
    ├── item/             # 查获物品管理
    ├── examManage/       # 考试培训管理
    ├── dataBigScreen/    # 数据大屏
    │   ├── dashboard/    # 综合大屏
    │   ├── attendance/   # 考勤大屏
    │   ├── abilityPortrait/   # 能力画像大屏
    │   └── examQuestionStatistics/ # 考题统计大屏
    ├── performanceManage/# 绩效管理
    ├── monitor/          # 系统监控
    └── tool/             # 开发工具

环境配置

环境 配置文件 API 前缀
开发 .env.development /dev-api
预发 .env.staging -
生产 .env.production -

开发环境代理(vite.config.js):

  • /dev-apihttp://airport.samsundot.com:9024/prod-api(生产后端,可改为本地)
  • 本地后端地址:http://192.168.3.221:8088(注释中有配置)

切换本地后端:在 vite.config.js 中将 baseUrl 改为 http://127.0.0.1:8088

开发约定

API 接口

  • 所有接口统一通过 src/utils/request.js 封装的 axios 实例调用
  • 请求头携带 Authorization: Bearer <token>
  • 统一返回结构:{ code, msg, data },code=200 为成功

权限控制

  • 使用 v-hasPermi 指令控制按钮级别权限
  • 使用 v-hasRole 指令控制角色级别权限
  • 动态路由从后端接口加载,存储在 Pinia permission store 中

字典使用

  • 字典数据通过 useDict() hook 获取
  • 字典值展示使用 <dict-tag> 组件

组件规范

  • 页面组件放在 views/ 对应业务目录下
  • 公共组件放在 components/ 目录下
  • 采用 <script setup> 语法 + unplugin-vue-setup-extend-plus(支持 defineOptions

样式

  • 使用 Less / SCSS
  • 全局样式在 src/assets/styles/
  • Element Plus 主题在全局样式中覆盖

构建部署

# 构建后产物在 dist/ 目录
# 静态资源输出到 dist/static/{js,css,img}/
npm run build:prod

# 通过 SSH 部署到服务器(需配置 script/deploy.mjs)
npm run deploy        # 部署到开发环境
npm run deploy:prod   # 部署到生产环境

业务模块说明

模块 路径 说明
系统管理 /system 用户、角色、菜单、部门、岗位、字典、参数配置
考勤管理 /attendance 考勤记录、班组记录、岗位记录、考勤区域
巡检管理 /check 巡检任务、巡检记录、纠错管理
查获物品 /item 查获记录、物品类别管理
考试培训 /examManage 题库、试卷、日考、考试记录
大屏展示 /dataBigScreen 综合大屏、考勤大屏、能力画像、考题统计
绩效管理 /performanceManage 绩效配置、绩效查询
系统监控 /monitor 在线用户、操作日志、登录日志、缓存、服务器
审批流程 - 检查纠错审批流程

重庆需求分析(2026-04-23)

来源文件:重庆需求资料/ 目录下的需求 Excel 文档。


一、新增页面总览(Step1 首期)

菜单位置 页面 说明
台账管理 台账一键导入 单页面实现20个台账的Excel上传导入(两列10行布局)
台账管理 部门监察问题记录 导入后查询,含查询筛选+列表+导出
台账管理 队室三级质控巡查记录 同上(暂未计分)
台账管理 部门实时质控拦截记录 同上(对应现有查获功能,部分字段不同)
台账管理 服务巡查 同上
台账管理 投诉情况 同上
台账管理 安保测试记录(部门) 同上
台账管理 通道过检率 同上(暂未计分)
台账管理 不安全事件 同上
台账管理 2026查获违规品统计 同上(暂未计分)
台账管理 航站楼加分 同上,查询条件:审核日期/姓名/班组
台账管理 成绩收集 同上,查询条件:用户名称/小组/班组/部门/类别/期数
台账管理 小额奖励审批单 同上(钉钉OA接入)
台账管理 部门奖惩记录 页面录入(非导入),含增删改查
台账管理 请休假记录(特殊) 页面录入,含增删改查
台账管理 锦旗及感谢信 页面录入,含增删改查
配分管理 配分表体系维护 6维度98项指标树形结构,支持权重/分值/启停配置
配分管理 配分事项录入 针对个人手动录入加/扣分事项,含导入导出
配分管理 推送配置 各维度推送阈值配置,支持定向推送设置
大屏展示 六维度能力画像大屏 雷达图(员工→小组→队室→部门→站),含等级预警色标

二、评分等级与颜色规范

全系统统一使用以下颜色标识,不可混用:

等级 分值 颜色 触发动作
较差 < 75 红色 #F56C6C 启动预警,推送管理人员
良好 75~85 正常(默认色)
优秀 > 85 绿色 #67C23A
已推送 黄色 #E6A23C 已推送标识

三、六大维度权重与雷达图

雷达图需在 员工 / 小组 / 队室 / 部门 / 站 五个层级分别展示,逐级汇总:

维度轴 权重 基础分
安全防控能力 40% 80
服务响应能力 20% 80
业务实操能力 10% 80
作风践行能力 10% 80
群团协作能力 15% 80
身心调节能力 5% 80

2026-04-24 更新:业务实操能力 15%→10%,群团协作能力 10%→15%(来源:04.配分表分析.xlsx)

综合得分 = Σ(各维度得分 × 权重)


四、台账查询页面通用规范

所有台账查询页面遵循以下规范:

  • 暂不提供增删改功能(部门奖惩/请假/锦旗三个页面录入除外)
  • 列表显示绿色关键字段,详情页显示全量字段
  • 必须提供导出功能(全字段导出)
  • 导入时保留原始台账全量字段,不做删减
  • 附件字段显示为可点击的预览/下载链接

各台账查询条件参考(未特别说明的保持与海口一致):

  • 投诉情况:时间 / 航班号 / 旅客姓名 / 班组 / 责任人
  • 航站楼加分:审核日期 / 姓名 / 班组
  • 成绩收集:用户名称 / 小组 / 班组 / 部门 / 类别 / 期数

五、配分表体系维护页面

功能要求:

  • 以树形结构展示 6 个维度 → 98 项指标(2~4级)
  • 支持对每个节点:增删改查、启用/停用、备注编辑
  • 维度级别:可调整权重百分比
  • 指标级别:可调整分值(正/负)、类型(加分/扣分)
  • 修改分值/权重后,跑分引擎重新计算时生效

六、配分事项录入页面

核心字段(对应后端 score_event 表):

字段 说明
一级指标 六大维度之一
二级指标 对应维度下的二级分类
三级指标 末级指标(群团协作有四级)
四级指标 仅群团协作维度使用
时间 事件发生时间
位置 区域/通道
责任人 关联员工
分值 正数=加分,负数=扣分
叠加分值 根据后果叠加的额外分值
事件描述 事件详情
备注 附加说明
数据来源 手动录入 / 台账同步

功能要求:

  • 支持手动新增、导入(Excel)、导出
  • 提供按员工/维度/时间范围的查询
  • 台账同步数据与手动录入数据在同一列表展示,来源字段区分

七、组织架构四级层级说明

重庆特有四级结构(与其他机场不同),在部门树、权限配置、数据筛选等处均需支持:

安检站
  └── 部门(如:旅检三部)
        └── 队室/班组(如:安平班组)
              └── 小组/通道(如:陈行小组)

行政部门(安全中心/培训中心/服务中心/设备中心)与业务部门并列,不参与评分汇总。


八、Step2 规划(暂不开发,预留接口位置)

  • 钉钉集成:组织架构同步 + 考勤接入 + OA审批流
  • AI助手(13个场景):员工画像/排班辅助/知识库/风险分析等
  • 顾客投诉独立系统
  • 设备中心(准入/运营/报废)
  • 薪酬系统对接

Phase 1 实现记录(台账导入,2026-04-24)

新增文件结构

src/
├── api/ledger/
│   └── index.js              # 全部台账 API(12个导入 + 15个列表/导出 + 3个CRUD)
└── views/ledger/
    ├── import/index.vue       # 台账一键导入主页(2列×6行网格卡片布局)
    ├── supervisionProblem/    # 部门监察问题记录(查询+导出)
    ├── patrolInspection/      # 队室三级质控巡查记录(查询+导出)
    ├── realtimeInterception/  # 实时质控拦截记录(查询+导出)
    ├── servicePatrol/         # 服务巡查记录(查询+导出)
    ├── complaint/             # 投诉情况(查询+导出,含航班号/旅客/责任人筛选)
    ├── securityTest/          # 安保测试记录(查询+导出)
    ├── channelPassRate/       # 通道过检率(查询+导出)
    ├── unsafeEvent/           # 不安全事件(查询+导出)
    ├── seizureStats/          # 查获违规品统计(查询+导出)
    ├── terminalBonus/         # 航站楼加分(查询+导出,含姓名筛选)
    ├── examScore/             # 成绩收集(查询+导出,含姓名/类别/期数筛选)
    ├── rewardApproval/        # 小额奖励审批单(查询+导出)
    ├── rewardPenalty/         # 部门奖惩记录(完整增删改查)
    ├── leaveSpecial/          # 请休假记录特殊(完整增删改查)
    └── bannerLetter/          # 锦旗及感谢信(完整增删改查)

接口路由规范

台账 导入 URL 列表 URL
部门监察问题记录 POST /ledger/import/supervisionProblem GET /ledger/supervisionProblem/list
队室三级质控巡查 POST /ledger/import/patrolInspection GET /ledger/patrolInspection/list
实时质控拦截 POST /ledger/import/realtimeInterception GET /ledger/realtimeInterception/list
服务巡查 POST /ledger/import/servicePatrol GET /ledger/servicePatrol/list
投诉情况 POST /ledger/import/complaint GET /ledger/complaint/list
安保测试 POST /ledger/import/securityTest GET /ledger/securityTest/list
通道过检率 POST /ledger/import/channelPassRate GET /ledger/channelPassRate/list
不安全事件 POST /ledger/import/unsafeEvent GET /ledger/unsafeEvent/list
查获违规品统计 POST /ledger/import/seizureStats GET /ledger/seizureStats/list
航站楼加分 POST /ledger/import/terminalBonus GET /ledger/terminalBonus/list
成绩收集 POST /ledger/import/examScore GET /ledger/examScore/list
小额奖励审批单 POST /ledger/import/rewardApproval GET /ledger/rewardApproval/list
部门奖惩记录 无(页面录入) GET /ledger/rewardPenalty/list
请休假记录特殊 无(页面录入) GET /ledger/leaveSpecial/list
锦旗及感谢信 无(页面录入) GET /ledger/bannerLetter/list

权限标识

ledger:import:{台账key}            # 导入权限
ledger:{台账key}:list              # 列表权限
ledger:{台账key}:export            # 导出权限
ledger:{台账key}:add/edit/remove   # 仅 rewardPenalty / leaveSpecial / bannerLetter

待完成(上线前)

  1. 在数据库执行 sql/ledger.sql(后端)
  2. 菜单管理中配置"台账管理"父菜单及 15 个子菜单,路由路径对应各 views/ledger/*/index.vue
  3. 角色权限中分配 ledger:* 权限给相关角色
  4. 台账导入 Excel 模板(字段顺序需与 @Excel 注解的 name 保持一致)

Phase 2 实现记录(配分体系,2026-04-24)

新增文件结构

src/
├── api/score/
│   └── index.js              # 全部配分API(维度/指标/事项/推送配置)
└── views/score/
    ├── dimension/index.vue   # 配分表体系维护(左侧维度卡片 + 右侧指标树)
    ├── event/index.vue       # 配分事项录入(CRUD + 导入导出,指标三级联动选择)
    └── pushConfig/index.vue  # 推送配置(按维度分组展示,per维度per部门配置)

页面功能说明

配分表体系维护 (score/dimension)

  • 左侧:6个维度卡片,点击切换,显示权重合计(实时校验是否=100%)
  • 右侧:el-table 树形表格,展示指定维度下的指标树(默认全部展开)
  • 指标操作:新增子级(按层级递增,最多4级)、修改、删除、状态开关
  • 维度操作:新增、修改、删除

配分事项录入 (score/event)

  • 列表含:维度/指标/责任人/部门/班组/基础分/叠加分/总分/来源标签
  • 新增对话框:维度→二级→三级→四级 联动下拉(从指标树接口实时加载)
  • 支持 Excel 导入(/score/event/import)和导出

推送配置 (score/pushConfig)

  • 按维度分组展示所有推送规则
  • 每条规则可设:适用部门(空=全局)、预警阈值(默认75分)、推送人员

权限标识

score:dimension:list/add/edit/remove/export
score:indicator:list/add/edit/remove/export
score:event:list/add/edit/remove/export/import
score:pushConfig:list/add/edit/remove

待完成(上线前)

  1. 在数据库执行 sql/score.sql(建表+初始化6个维度)
  2. 在系统菜单管理中配置"配分管理"父菜单及3个子菜单:
    • 配分表体系维护 → /score/dimension
    • 配分事项录入 → /score/event
    • 推送配置 → /score/pushConfig
  3. 在角色权限中分配 score:* 权限
  4. 后续需手动录入98条指标数据 → 已通过 SQL 初始化128条指标,直接执行 score.sql 中的三段 INSERT INTO score_indicator 即可

Phase 3 实现记录(台账同步、雷达大屏、一键全量导入,2026-04-24)

新增/修改文件

后端(chongqing-server):
├── airport-ledger/.../service/impl/LedgerSyncServiceImpl.java   # 台账→配分事项同步逻辑
├── airport-ledger/.../service/impl/ScoreRadarServiceImpl.java   # 雷达图:班组从sys_dept读取
├── airport-ledger/.../service/impl/LedgerCombinedImportServiceImpl.java  # 多Sheet合并导入(POI)
├── airport-ledger/.../service/ILedgerCombinedImportService.java
└── airport-admin/.../controller/ledger/LedgerSyncController.java  # POST /ledger/sync/all|{type}

前端(chongqing-web):
├── src/api/score/index.js          # 新增 syncLedgerAll / syncLedgerByType
├── src/api/ledger/index.js         # 新增 importCombinedLedger
├── src/views/score/radar/index.vue # 新增"同步台账"按钮
├── src/views/ledger/import/index.vue  # 顶部新增"一键全量导入"卡片
└── src/utils/request.js            # 修复 FormData 上传 Content-Type 问题

功能说明

台账同步(/ledger/sync/all

  • 将所有已导入的台账数据按配分表规则转换为 score_event 记录
  • 权限标识:ledger:sync:all
  • 返回:{ inserted: N, skipped: N, detail: {...} }
  • 重复数据通过 import_batch + source_ledger + 原始字段 去重跳过

一键全量导入(POST /ledger/import/combined

  • 上传「旅检三部"三三"数字管理平台.xlsx」(15个Sheet)
  • 后端用 Apache POI 按列索引读取,完全对应 Python 脚本列映射
  • 权限标识:ledger:import:combined
  • 返回 Map,前端逐条展示
  • 雷达图班组下拉

    • sys_dept 表读取 dept_type='MANAGER' 的记录作为班组列表
    • 不依赖业务数据,建库后即可显示

    关键技术问题与解决

    问题 原因 解决方式
    selectList is ambiguous Mapper XML 定义了同名 selectList(Domain) 方法,与 MyBatis Plus selectList(Wrapper) 冲突 所有调用改传空 Domain 对象(如 new LedgerSupervisionProblem()
    Parameter 'name' not found 同上,LambdaQueryWrapper 被路由到 XML 方法 同上
    雷达图班组下拉为空 selectTeamList() 从空的 score_event 表读取 改为查 sys_dept where dept_type='MANAGER'
    文件上传报"not a multipart request" axios.defaults.headers['Content-Type']='application/json' 全局覆盖了 FormData 的 multipart 类型 在请求拦截器中检测 FormDatadelete config.headers['Content-Type']

    配分指标体系(128条,2026-04-24 更新版)

    维度 L2 L3 L4 叶子节点有分值的示例
    安全防控 6 19 站层级质控-1,不安全事件一类-10,典型查获一类+1
    服务响应 4 8 旅客服务投诉-2,服务监察航站楼-1.2
    业务实操 6 10 季度考试补考-2(阶梯),考试成绩≥98+5
    作风践行 7 10 全勤+5,旷工-10,打架斗殴-10
    群团协作 5 14 37 个人荣誉站层级一等奖+6,新闻发表+1
    身心调节 2 规则待定

    SQL 见 sql/score.sql,指标 ID 规则:L2=11~62,L3=111~552,L4=1211~1522

    数据库更新步骤(测试服务器)

    -- 1. 执行 sql/ledger.sql          建15张台账表
    -- 2. 执行 sql/ledger_alter_columns.sql   扩展列长度
    -- 3. 更新维度权重(已有数据时)
    UPDATE score_dimension SET weight=10.00 WHERE name='业务实操能力';
    UPDATE score_dimension SET weight=15.00 WHERE name='群团协作能力';
    -- 4. 清空并重建指标
    DELETE FROM score_indicator;
    -- 推荐执行 sql/indicator_init.sql(使用@dim变量,比score.sql更安全)
    -- 5. 执行 sql/menu_ledger_score.sql
    -- 6. 执行 sql/menu_radar.sql
    -- 7. 角色管理中分配新菜单权限
    

    Phase 4 实现记录(配分规则修正、雷达大屏优化,2026-04-25)

    修改文件

    后端(chongqing-server):
    ├── airport-ledger/.../service/impl/LedgerSyncServiceImpl.java   # 全面修正(见下)
    ├── airport-ledger/.../service/impl/ScoreRadarServiceImpl.java   # 雷达大屏修正(见下)
    ├── sql/indicator_init.sql       # 完整重写,与score.sql ID对齐(11~1522)
    ├── sql/score.sql                # 添加注释,推荐使用indicator_init.sql
    ├── sql/fix_sync_indicator_ids.sql  # 新增:同步数据修复脚本
    └── sql/truncate_ledger.sql         # 新增:清空所有台账原始数据脚本
    

    LedgerSyncServiceImpl 修正内容

    问题1:指标ID方案完全错误

    • 旧代码使用 indicator_init.sql 旧版ID(1001/1102/1110...)
    • score.sql 实际写入的是新版ID(11/12/111/121...)
    • 导致所有同步记录的 indicator_id 无效

    修复:所有常量更新为新ID:

    常量 旧值 新值 含义
    IND_SUPERVISION_L2 1001 11 员工规范化操作
    IND_SUPERVISION_L3 1101 111/112/113 按层级路由
    IND_INTERCEPT_L2 1002 12 实时质控拦截
    IND_UNSAFE_L2 1003 13 不安全事件
    IND_SECTEST_L2 1004 14 安保测试
    IND_SEIZURE_L2 1005 15 典型案例查获
    IND_COMPLAINT_L2 1010 21 旅客投诉(叶子,无L3)
    IND_SVCPATROL_L2 1011 22 服务监察
    IND_TYPCASE_L2 1012 23 典型服务案例
    IND_EXAM_L2 1024 35 考试成绩
    IND_EXAM_L3_THEORY 1146 351 理论≥98
    IND_EXAM_L3_MACHINE 1147 352 图像≥98

    问题2:三类台账按最新配分表(配分表分析.csv)停止同步

    台账 原因
    reward_penalty(部门奖惩) 作风践行能力全部"暂无台账"
    leave_special(请休假) 身心调节能力全部"暂无台账"
    banner_letter(锦旗感谢信) CSV明确不作为计分来源

    问题3:按字段动态路由L3指标(替代固定L3)

    方法 字段 路由逻辑
    syncSupervisionProblem problemType 上级→113,部门→112,默认→111
    syncRealtimeInterception 无层级字段 固定用站层级121
    syncSecurityTest testType 局方→141,公司→142,站→143
    syncUnsafeEvent eventType 一类→131...五类→135
    syncServicePatrol serviceType 航站楼→221,站层级→222,部门→223
    syncExamScore examCategory 含"图像/开机"→352,其余→351

    问题4:补考扣分逻辑移除(暂无台账,只保留≥98加分)

    indicator_init.sql 重写

    • 旧版ID(1001~1343)→ 新版ID(11~1522),与 score.sql 完全对齐
    • 保留 @dim 变量方式(动态查询维度ID,不依赖AUTO_INCREMENT顺序)
    • 补全全部128条指标,"暂无台账"项统一标注 remark
    • 旧版文件作废,使用新版

    新增SQL脚本

    文件 用途
    sql/fix_sync_indicator_ids.sql 清除旧同步数据(DELETE FROM score_event WHERE source_type='2'),重建指标后重新同步
    sql/truncate_ledger.sql 清空所有15张台账表 + 导入日志 + 同步事件,用于重新全量导入前

    ScoreRadarServiceImpl 修正内容

    问题1:逗号合并多人名显示为一张卡片

    • 原因:person_name = "彭秋菊,刘莹,王青" 直接当一个人处理
    • 修复:rawName.split("[,,]") 拆分后每人单独计分,各自显示独立雷达卡

    问题2:无加减分记录的成员不出现在大屏

    • 原因:只从 score_event 取 personName,没有事件的人不会出现
    • 修复:从 sys_user(按 dept_id 关联 sys_dept)取完整花名册,无事件成员显示纯基础分(79.6分)

    问题3:大屏下拉从班组级别改为小组级别

    • dept_type'MANAGER'(班组)改为 'TEAMS'(小组)

    问题4:team_name 层级不匹配导致事件全部被过滤

    • 根因:score_event 存储的是班组名(屹动班组),但大屏选择的是小组名,LIKE 查不到
    • 修复:移除 scoreEventMapper.selectList(eq.setTeamName(...)) 的 team_name 过滤,改为全量加载后在 Java 中按 rosterNames.contains(name) 过滤

    关键设计:以 sys_user.nick_name 为准匹配 score_event.person_name,完全绕开 team_name 层级问题

    重新同步步骤(测试服务器)

    -- 1. 清除旧同步数据(或执行 sql/truncate_ledger.sql 全清)
    DELETE FROM score_event WHERE source_type = '2';
    -- 2. 确认指标是新版ID(MAX应为1522)
    SELECT MAX(id) FROM score_indicator;
    -- 如果不是,执行:DELETE FROM score_indicator; 然后执行 indicator_init.sql
    -- 3. 重启后端,在页面点击"同步台账"