修复
This commit is contained in:
@@ -0,0 +1,188 @@
|
||||
# 实体库管理后端实施计划
|
||||
|
||||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 新增独立的实体库管理后端链路,基于 `ccdi_enterprise_base_info` 支持分页查询、详情、新增、编辑、删除、异步导入、导入状态查询和失败记录查询。
|
||||
|
||||
**Architecture:** 复用现有 `CcdiEnterpriseBaseInfo` 实体与 Mapper,新增独立的 Controller、Service、DTO、VO、Excel 与导入服务,接口风格与员工信息维护保持一致。`riskLevel`、`entSource`、`dataSource` 统一通过枚举接口对外提供选项,导入采用严格新增策略,数据库重复和 Excel 内重复统一记为失败。
|
||||
|
||||
**Tech Stack:** Java 21, Spring Boot 3, MyBatis Plus, Redis, EasyExcel, JUnit 5, MySQL, Markdown
|
||||
|
||||
---
|
||||
|
||||
## 文件结构与职责
|
||||
|
||||
**后端源码**
|
||||
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiEnterpriseBaseInfoController.java`
|
||||
实体库管理对外接口入口,提供 CRUD、导入模板、导入任务状态和失败记录查询。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/ICcdiEnterpriseBaseInfoService.java`
|
||||
定义实体库管理服务接口。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/ICcdiEnterpriseBaseInfoImportService.java`
|
||||
定义异步导入状态与失败记录查询接口。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiEnterpriseBaseInfoServiceImpl.java`
|
||||
承接分页查询、详情、增删改和导入任务提交。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiEnterpriseBaseInfoImportServiceImpl.java`
|
||||
处理异步导入、校验、失败记录落 Redis 与状态回写。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiEnterpriseBaseInfoQueryDTO.java`
|
||||
定义查询条件。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiEnterpriseBaseInfoAddDTO.java`
|
||||
定义新增入参和校验规则。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiEnterpriseBaseInfoEditDTO.java`
|
||||
定义编辑入参与主键不可变约束。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CcdiEnterpriseBaseInfoVO.java`
|
||||
承接列表和详情返回。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/EnterpriseBaseInfoImportFailureVO.java`
|
||||
承接导入失败记录回显。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/excel/CcdiEnterpriseBaseInfoExcel.java`
|
||||
定义导入模板列、导入字段和字典下拉。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/enums/EnterpriseRiskLevel.java`
|
||||
新增实体风险等级枚举。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/enums/EnterpriseSource.java`
|
||||
新增企业来源枚举。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiEnumController.java`
|
||||
新增风险等级与企业来源选项接口。
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiEnterpriseBaseInfoMapper.java`
|
||||
补充分页查询与批量导入方法声明。
|
||||
- `ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiEnterpriseBaseInfoMapper.xml`
|
||||
补充分页查询、结果映射、批量插入 SQL。
|
||||
|
||||
**SQL**
|
||||
|
||||
- `sql/migration/2026-04-17-add-enterprise-base-info-menu.sql`
|
||||
新增“实体库管理”菜单和功能权限。
|
||||
- `sql/migration/2026-04-17-add-enterprise-base-info-dict-or-enum-seed.sql`
|
||||
如需初始化与导入模板一致的固定值说明,可在脚本中补充注释性或字典性数据;若最终走纯枚举接口,则只保留菜单 SQL。
|
||||
|
||||
**测试**
|
||||
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiEnterpriseBaseInfoServiceImplTest.java`
|
||||
校验新增、编辑、删除、详情和枚举值校验。
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiEnterpriseBaseInfoImportServiceImplTest.java`
|
||||
校验导入重复失败、Excel 内重复失败和状态回写。
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/mapper/CcdiEnterpriseBaseInfoMapperTest.java`
|
||||
校验分页 SQL 和结果映射关键片段。
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/controller/CcdiEnumControllerTest.java`
|
||||
校验新增的枚举选项接口。
|
||||
|
||||
## 实施任务
|
||||
|
||||
### Task 1: 搭建实体库管理 DTO / VO / Excel 契约
|
||||
|
||||
**Files:**
|
||||
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiEnterpriseBaseInfoQueryDTO.java`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiEnterpriseBaseInfoAddDTO.java`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiEnterpriseBaseInfoEditDTO.java`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/CcdiEnterpriseBaseInfoVO.java`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/EnterpriseBaseInfoImportFailureVO.java`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/excel/CcdiEnterpriseBaseInfoExcel.java`
|
||||
- Reference: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/CcdiEnterpriseBaseInfo.java`
|
||||
- Reference: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/excel/CcdiIntermediaryEntityExcel.java`
|
||||
|
||||
- [x] 定义 QueryDTO,包含 `enterpriseName`、`socialCreditCode`、`enterpriseType`、`enterpriseNature`、`industryClass`、`status`、`riskLevel`、`entSource`。
|
||||
- [x] 定义 AddDTO / EditDTO,完整覆盖单表维护字段,并给 `socialCreditCode`、`enterpriseName`、`status`、`riskLevel`、`entSource`、`dataSource` 加基础校验。
|
||||
- [x] 在 EditDTO 中保持主键为必填,不新增改主键语义字段。
|
||||
- [x] 定义 VO,补齐列表和详情所需字段,并预留 `createTime` 供前端表格展示。
|
||||
- [x] 定义 Excel 对象,列顺序与页面表单一致,并为 `enterpriseType`、`enterpriseNature`、`legalCertType` 使用现有字典下拉;`riskLevel`、`entSource`、`dataSource` 保持文本列,后续由导入服务做枚举校验。
|
||||
|
||||
### Task 2: 补齐风险等级与企业来源枚举出口
|
||||
|
||||
**Files:**
|
||||
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/enums/EnterpriseRiskLevel.java`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/enums/EnterpriseSource.java`
|
||||
- Modify: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiEnumController.java`
|
||||
|
||||
- [x] 新增 `EnterpriseRiskLevel` 枚举,口径固定为 `1/2/3` 对应高/中/低风险,并提供 `getCode()`、`getDesc()`、`getDescByCode()`、`contains()`。
|
||||
- [x] 新增 `EnterpriseSource` 枚举,口径固定为 `GENERAL`、`EMP_RELATION`、`CREDIT_CUSTOMER`、`INTERMEDIARY`、`BOTH`,并提供与现有 `DataSource` 一致的方法。
|
||||
- [x] 在 `CcdiEnumController` 中新增 `/enterpriseRiskLevel` 与 `/enterpriseSource` 两个接口,返回 `EnumOptionVO` 列表。
|
||||
- [x] 保持现有 `/dataSource` 不变,避免前端重复造轮子。
|
||||
|
||||
### Task 3: 实现分页查询与 CRUD 服务链路
|
||||
|
||||
**Files:**
|
||||
|
||||
- Modify: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/mapper/CcdiEnterpriseBaseInfoMapper.java`
|
||||
- Modify: `ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiEnterpriseBaseInfoMapper.xml`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/ICcdiEnterpriseBaseInfoService.java`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiEnterpriseBaseInfoServiceImpl.java`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiEnterpriseBaseInfoController.java`
|
||||
- Reference: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiBaseStaffController.java`
|
||||
- Reference: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffServiceImpl.java`
|
||||
|
||||
- [x] 在 Mapper 中新增分页查询方法,按 QueryDTO 动态拼装筛选条件。
|
||||
- [x] 在 Mapper XML 中新增结果映射和 `selectEnterpriseBaseInfoPage` SQL,输出 `create_time`、`risk_level`、`ent_source`、`data_source` 等字段。
|
||||
- [x] 在 Service 接口中定义分页、详情、新增、编辑、删除、导出列表、导入任务提交方法。
|
||||
- [x] 在 ServiceImpl 中实现主键唯一校验、编辑存在性校验、枚举值校验和删除批量处理。
|
||||
- [x] 新建 Controller,接口路径统一使用 `/ccdi/enterpriseBaseInfo`,返回风格完全对齐员工信息维护。
|
||||
- [x] 导入模板下载复用 `EasyExcelUtil.importTemplateWithDictDropdown`。
|
||||
|
||||
### Task 4: 实现异步导入与失败记录查询
|
||||
|
||||
**Files:**
|
||||
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/ICcdiEnterpriseBaseInfoImportService.java`
|
||||
- Create: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiEnterpriseBaseInfoImportServiceImpl.java`
|
||||
- Modify: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiEnterpriseBaseInfoServiceImpl.java`
|
||||
- Modify: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiEnterpriseBaseInfoController.java`
|
||||
- Reference: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffImportServiceImpl.java`
|
||||
- Reference: `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiIntermediaryEntityImportServiceImpl.java`
|
||||
|
||||
- [x] 在 ServiceImpl 中提交导入任务,Redis key 建议使用 `import:enterpriseBaseInfo:{taskId}`。
|
||||
- [x] 在导入服务中实现 Excel 行校验,数据库重复与 Excel 内重复统一生成失败记录。
|
||||
- [x] 新增 `riskLevel`、`entSource`、`dataSource` 枚举校验,拒绝非法值。
|
||||
- [x] 成功记录分批批量插入;导入不支持更新,不提供 `updateSupport` 分支逻辑。
|
||||
- [x] 失败记录写入 Redis,状态统一支持 `PROCESSING`、`SUCCESS`、`PARTIAL_SUCCESS`。
|
||||
- [x] Controller 补 `/importData`、`/importStatus/{taskId}`、`/importFailures/{taskId}` 三个接口,分页失败记录方式与员工信息维护一致。
|
||||
|
||||
### Task 5: 补菜单 SQL 和权限口径
|
||||
|
||||
**Files:**
|
||||
|
||||
- Create: `sql/migration/2026-04-17-add-enterprise-base-info-menu.sql`
|
||||
- Reference: `sql/ccdi_staff_fmy_relation_menu.sql`
|
||||
- Reference: `sql/migration/2026-04-13-add-ccdi-account-info-menu.sql`
|
||||
|
||||
- [x] 在“信息维护”目录下新增“实体库管理”菜单。
|
||||
- [x] 菜单 path 固定为 `enterpriseBaseInfo`,component 固定为 `ccdiEnterpriseBaseInfo/index`。
|
||||
- [x] 功能权限至少包含 `list`、`query`、`add`、`edit`、`remove`、`import`。
|
||||
- [x] SQL 保持幂等写法,避免重复插入菜单。
|
||||
|
||||
### Task 6: 补后端测试与验证命令
|
||||
|
||||
**Files:**
|
||||
|
||||
- Create: `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiEnterpriseBaseInfoServiceImplTest.java`
|
||||
- Create: `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiEnterpriseBaseInfoImportServiceImplTest.java`
|
||||
- Create: `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/mapper/CcdiEnterpriseBaseInfoMapperTest.java`
|
||||
- Create: `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/controller/CcdiEnumControllerTest.java`
|
||||
|
||||
- [x] 为新增、编辑、删除、详情和枚举值校验补服务测试。
|
||||
- [x] 为导入数据库重复失败、Excel 内重复失败补导入服务测试。
|
||||
- [x] 为 Mapper XML 的分页查询关键 SQL 补测试或最小断言。
|
||||
- [x] 为新增枚举接口补 Controller 测试。
|
||||
- [x] 执行后端验证命令并记录结果。
|
||||
|
||||
## 验证命令
|
||||
|
||||
```bash
|
||||
mvn -pl ccdi-info-collection -Dtest=CcdiEnterpriseBaseInfoServiceImplTest,CcdiEnterpriseBaseInfoImportServiceImplTest,CcdiEnterpriseBaseInfoMapperTest,CcdiEnumControllerTest test
|
||||
mvn -pl ccdi-info-collection -DskipTests compile
|
||||
```
|
||||
|
||||
## 执行结果
|
||||
|
||||
- 实际测试命令:`mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiEnterpriseBaseInfoServiceImplTest,CcdiEnterpriseBaseInfoImportServiceImplTest,CcdiEnterpriseBaseInfoMapperTest,CcdiEnumControllerTest test`
|
||||
- 测试结果:`BUILD SUCCESS`,共执行 11 个测试,`Failures: 0, Errors: 0, Skipped: 0`
|
||||
- 实际编译命令:`mvn -pl ccdi-info-collection -am -DskipTests compile`
|
||||
- 编译结果:`BUILD SUCCESS`
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 后端新增独立 `/ccdi/enterpriseBaseInfo` 管理接口
|
||||
- 列表、详情、新增、编辑、删除链路可用
|
||||
- 导入严格新增,数据库重复与 Excel 内重复都进入失败记录
|
||||
- `riskLevel`、`entSource`、`dataSource` 均有统一选项口径
|
||||
- 菜单 SQL 与权限标识已补齐
|
||||
- 后端定向测试与编译验证已执行并记录结果
|
||||
@@ -0,0 +1,126 @@
|
||||
# 实体库管理前端实施计划
|
||||
|
||||
> **For agentic workers:** REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (`- [ ]`) syntax for tracking.
|
||||
|
||||
**Goal:** 新增独立的实体库管理前端页面,打通查询、新增、查看、编辑、删除、导入、导入状态轮询与失败记录查看。
|
||||
|
||||
**Architecture:** 继续沿用员工信息维护的单页大文件实现方式,新建 `ccdiEnterpriseBaseInfo` 页面和独立 API 文件,不改造现有中介页面。选项数据统一从 `ccdiEnum` 拉取,列表、弹窗、导入和失败记录交互整体对齐员工信息维护,避免页面内再维护一套业务语义。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, JavaScript, npm, nvm, Markdown
|
||||
|
||||
---
|
||||
|
||||
## 文件结构与职责
|
||||
|
||||
**前端源码**
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiEnterpriseBaseInfo/index.vue`
|
||||
实体库管理主页面,负责搜索、表格、编辑弹窗、详情弹窗、导入和失败记录。
|
||||
- `ruoyi-ui/src/api/ccdiEnterpriseBaseInfo.js`
|
||||
新增实体库管理接口封装。
|
||||
- `ruoyi-ui/src/api/ccdiEnum.js`
|
||||
补风险等级与企业来源选项请求方法。
|
||||
|
||||
**依赖参考**
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||||
作为页面结构、导入轮询、失败记录和工具栏交互模板。
|
||||
- `ruoyi-ui/src/views/ccdiIntermediary/index.vue`
|
||||
参考实体导入失败记录展示字段。
|
||||
- `ruoyi-ui/src/api/ccdiBaseStaff.js`
|
||||
参考单表管理 API 风格。
|
||||
|
||||
## 实施任务
|
||||
|
||||
### Task 1: 搭建实体库管理 API 与选项加载
|
||||
|
||||
**Files:**
|
||||
|
||||
- Create: `ruoyi-ui/src/api/ccdiEnterpriseBaseInfo.js`
|
||||
- Modify: `ruoyi-ui/src/api/ccdiEnum.js`
|
||||
|
||||
- [x] 在新 API 文件中定义 `listEnterpriseBaseInfo`、`getEnterpriseBaseInfo`、`addEnterpriseBaseInfo`、`updateEnterpriseBaseInfo`、`delEnterpriseBaseInfo`、`importTemplate`、`importData`、`getImportStatus`、`getImportFailures`。
|
||||
- [x] 在 `ccdiEnum.js` 中新增 `getEnterpriseRiskLevelOptions` 与 `getEnterpriseSourceOptions`。
|
||||
- [x] 继续复用现有 `getCorpTypeOptions`、`getCorpNatureOptions`、`getCertTypeOptions`、`getDataSourceOptions`。
|
||||
|
||||
### Task 2: 搭建页面骨架与查询表单
|
||||
|
||||
**Files:**
|
||||
|
||||
- Create: `ruoyi-ui/src/views/ccdiEnterpriseBaseInfo/index.vue`
|
||||
- Reference: `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||||
|
||||
- [x] 初始化页面数据结构,至少包含 `loading`、`enterpriseBaseInfoList`、`queryParams`、`form`、`rules`、`open`、`detailOpen`、`upload`、`showFailureButton`。
|
||||
- [x] 查询区按设计文档落 `enterpriseName`、`socialCreditCode`、`enterpriseType`、`enterpriseNature`、`industryClass`、`status`、`riskLevel`、`entSource`。
|
||||
- [x] 在 `created` 或首屏初始化流程中并发拉取主体类型、企业性质、证件类型、风险等级、企业来源、数据来源选项。
|
||||
- [x] 搜索、重置、分页方法命名保持员工页一致,降低后续维护成本。
|
||||
|
||||
### Task 3: 完成列表、详情与编辑弹窗
|
||||
|
||||
**Files:**
|
||||
|
||||
- Modify: `ruoyi-ui/src/views/ccdiEnterpriseBaseInfo/index.vue`
|
||||
|
||||
- [x] 列表区展示企业名称、统一社会信用代码、企业类型、企业性质、行业分类、所属行业、法定代表人、经营状态、风险等级、企业来源、数据来源、创建时间。
|
||||
- [x] 通过格式化方法把 `riskLevel`、`entSource`、`dataSource` 展示成中文描述,不直接露出编码。
|
||||
- [x] 实现详情弹窗,只读展示与表单同口径字段。
|
||||
- [x] 实现新增/编辑弹窗,编辑态禁用统一社会信用代码输入框。
|
||||
- [x] 表单中补齐 `status`、`riskLevel`、`entSource`、`dataSource` 四个可维护字段。
|
||||
- [x] 提交时保持最短路径,不做额外参数转换层,只在需要时把空字符串标准化。
|
||||
|
||||
### Task 4: 完成删除、导入与失败记录流程
|
||||
|
||||
**Files:**
|
||||
|
||||
- Modify: `ruoyi-ui/src/views/ccdiEnterpriseBaseInfo/index.vue`
|
||||
|
||||
- [x] 删除逻辑对齐员工页,支持单条删除和批量删除。
|
||||
- [x] 新增导入弹窗配置,上传地址指向 `/ccdi/enterpriseBaseInfo/importData`。
|
||||
- [x] 导入完成后缓存最近一次任务号,建议 key 使用 `enterprise_base_info_import_last_task`。
|
||||
- [x] 增加导入状态轮询逻辑,状态结束后刷新列表并按结果决定是否显示“查看导入失败记录”按钮。
|
||||
- [x] 新增失败记录弹窗,至少展示企业名称、统一社会信用代码、企业类型、企业性质、风险等级、企业来源、失败原因。
|
||||
- [x] 提供“清除历史记录”能力,行为与员工页保持一致。
|
||||
|
||||
### Task 5: 补页面校验和展示细节
|
||||
|
||||
**Files:**
|
||||
|
||||
- Modify: `ruoyi-ui/src/views/ccdiEnterpriseBaseInfo/index.vue`
|
||||
|
||||
- [x] 为统一社会信用代码增加 18 位格式校验。
|
||||
- [x] 为企业名称、经营状态、风险等级、企业来源、数据来源增加必填校验。
|
||||
- [x] 新增 `formatRiskLevel`、`formatEnterpriseSource`、`formatDataSource`、`formatStatus` 等展示方法。
|
||||
- [x] 详情和列表统一复用格式化方法,避免页面出现双口径文本。
|
||||
|
||||
### Task 6: 执行前端构建验证
|
||||
|
||||
**Files:**
|
||||
|
||||
- Modify: `docs/plans/frontend/2026-04-17-enterprise-base-info-management-frontend-implementation.md`
|
||||
在执行阶段补实际验证结果。
|
||||
|
||||
- [x] 使用 `nvm` 切换 Node 版本,优先使用当前仓库已验证可构建的版本。
|
||||
- [x] 执行生产构建,确认页面编译通过。
|
||||
- [x] 若有构建阻塞,记录真实错误,不引入额外兼容方案。
|
||||
|
||||
## 验证命令
|
||||
|
||||
```bash
|
||||
cd /Users/wkc/Desktop/ccdi/ccdi/ruoyi-ui
|
||||
source ~/.nvm/nvm.sh && nvm use 14.21.3
|
||||
npm run build:prod
|
||||
```
|
||||
|
||||
## 执行结果
|
||||
|
||||
- 实际执行命令:`cd /Users/wkc/Desktop/ccdi/ccdi/ruoyi-ui && source ~/.nvm/nvm.sh && nvm use 14.21.3 && npm run build:prod`
|
||||
- 构建结果:`BUILD SUCCESS`
|
||||
- 备注:构建过程中仅有既有包体积告警(asset size / entrypoint size limit),未出现语法或模块解析错误
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 前端新增独立“实体库管理”页面与 API 文件
|
||||
- 查询、分页、详情、新增、编辑、删除链路可用
|
||||
- 风险等级、企业来源、数据来源全部以统一选项口径展示和提交
|
||||
- 导入轮询、失败记录、历史任务缓存可用
|
||||
- 已使用 `nvm` 切换 Node 版本并完成前端构建验证
|
||||
Reference in New Issue
Block a user