员工亲属实体关联
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# 员工信息维护双 Sheet 导入后端实施计划
|
||||
|
||||
## 目标
|
||||
- 将员工信息维护导入模板改为 `员工信息` + `员工资产信息` 双 Sheet。
|
||||
- 统一由 `/ccdi/baseStaff/importData` 接收单文件上传,并按有数据的 Sheet 分别调用现有员工导入与员工资产导入方法。
|
||||
- 员工信息导入取消“更新已存在员工”能力,命中现有员工 ID 或身份证号时直接记失败。
|
||||
- 两类失败记录统一补充 `sheetName`、`rowNum`、`errorMessage`,便于直接定位 Excel 中的失败位置。
|
||||
|
||||
## 实施内容
|
||||
- 控制器改造
|
||||
- 修改 `CcdiBaseStaffController#importTemplate`,下载双 Sheet 模板,文件名统一为“员工信息维护导入模板”。
|
||||
- 修改 `CcdiBaseStaffController#importData`,按 Sheet 名分别读取 `CcdiBaseStaffExcel` 与 `CcdiBaseStaffAssetInfoExcel`。
|
||||
- 两个 Sheet 均为空时返回错误;任一 Sheet 有数据时,仅提交对应导入任务。
|
||||
- 返回新的双任务提交结果对象,包含 `staffTaskId`、`assetTaskId`、`message`。
|
||||
- 服务改造
|
||||
- 修改 `ICcdiBaseStaffService`、`CcdiBaseStaffServiceImpl`,移除 `updateSupport` 参数。
|
||||
- 修改 `ICcdiBaseStaffImportService`、`CcdiBaseStaffImportServiceImpl`,移除更新分支与 `insertOrUpdateBatch` 调用。
|
||||
- 员工导入校验统一为:
|
||||
- 员工 ID 已存在:失败
|
||||
- 身份证号已存在:失败
|
||||
- Excel 内重复:失败
|
||||
- 员工资产导入补充重复校验:
|
||||
- 数据库中存在同一 `personId + assetMainType + assetSubType + assetName`:失败
|
||||
- 导入文件中存在同一组合重复:失败
|
||||
- VO 修正
|
||||
- 新增员工双 Sheet 提交结果 VO。
|
||||
- 修正员工导入失败记录 VO 字段名为 `staffId`,与前端表格字段保持一致。
|
||||
- 员工与员工资产失败记录 VO 均增加 `sheetName`、`rowNum`。
|
||||
|
||||
## 验证
|
||||
- `mvn -pl ccdi-info-collection,ruoyi-admin -am -DskipTests compile`
|
||||
- 补充控制器与服务层回归测试,覆盖双 Sheet 分发与“已存在即失败”规则。
|
||||
|
||||
## 影响范围
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/`
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/`
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/`
|
||||
@@ -0,0 +1,26 @@
|
||||
# 2026-04-22 招投标导入失败展示增强后端实施计划
|
||||
|
||||
## 1. 目标
|
||||
|
||||
- 为招投标导入失败记录补充失败来源 `Sheet`
|
||||
- 为失败记录补充 Excel 失败行号
|
||||
- 保持现有导入校验逻辑不变,仅增强失败记录元数据
|
||||
|
||||
## 2. 涉及范围
|
||||
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/PurchaseTransactionImportFailureVO.java`
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiPurchaseTransactionImportServiceImpl.java`
|
||||
|
||||
## 3. 实施步骤
|
||||
|
||||
1. 在失败记录 VO 中新增 `sheetName`、`sheetRowNum` 字段,供前端弹窗直接读取
|
||||
2. 在导入服务中为主信息 Sheet 和供应商明细 Sheet 建立“Excel 数据行号”上下文
|
||||
3. 在主信息校验、供应商校验、主从关系校验、空采购事项 ID 供应商校验等失败分支中,统一写入对应的 `Sheet` 与行号
|
||||
4. 对跨多行触发的失败场景,行号以合并字符串形式返回,便于页面直接展示
|
||||
5. 保留原有失败原因与业务字段,避免影响已有失败记录查询接口
|
||||
|
||||
## 4. 验证方式
|
||||
|
||||
- 执行后端编译,确认新增字段和异常封装无编译错误
|
||||
- 通过真实页面上传失败样本,核对失败记录接口返回 `sheetName / sheetRowNum / errorMessage`
|
||||
- 覆盖至少一个主信息失败样本和一个供应商明细失败样本
|
||||
@@ -0,0 +1,39 @@
|
||||
# 员工亲属关系维护双 Sheet 导入后端实施计划
|
||||
|
||||
## 目标
|
||||
- 将员工亲属关系维护导入模板改为双 Sheet:
|
||||
- `员工亲属关系信息`
|
||||
- `亲属资产信息`
|
||||
- 将导入提交入口统一到 `/ccdi/staffFmyRelation/importData`。
|
||||
- 统一补充失败记录定位字段,支持前端展示 `Sheet / Excel行号 / 失败原因`。
|
||||
|
||||
## 实施内容
|
||||
- Controller 调整
|
||||
- `CcdiStaffFmyRelationController#importTemplate` 改为输出双 Sheet 模板,模板文件名统一为“员工亲属关系维护导入模板”。
|
||||
- `CcdiStaffFmyRelationController#importData` 一次读取两个 Sheet。
|
||||
- 按有数据的 Sheet 分别提交亲属关系导入任务和亲属资产导入任务。
|
||||
- 返回新的提交结果 VO,包含 `relationTaskId`、`assetTaskId` 和提示文案。
|
||||
- VO 调整
|
||||
- `StaffFmyRelationImportFailureVO` 增加 `sheetName`、`rowNum`。
|
||||
- `AssetImportFailureVO` 增加 `sheetName`、`rowNum`。
|
||||
- 新增 `StaffFmyRelationImportSubmitResultVO`。
|
||||
- 导入服务调整
|
||||
- `CcdiStaffFmyRelationImportServiceImpl` 失败记录写入固定 `sheetName=员工亲属关系信息`,并记录 Excel 数据行号。
|
||||
- `CcdiAssetInfoImportServiceImpl` 失败记录写入固定 `sheetName=亲属资产信息`,并记录 Excel 数据行号。
|
||||
- 兼容策略
|
||||
- 保留原 `CcdiAssetInfoController` 的状态查询与失败记录查询接口,前端继续复用原有资产任务轮询与失败记录查看能力。
|
||||
|
||||
## 验证
|
||||
- 后端优先验证:
|
||||
- `CcdiStaffFmyRelationControllerTest`
|
||||
- `CcdiAssetInfoControllerTest`
|
||||
- 编译验证:
|
||||
- `mvn -pl ccdi-info-collection -am -Dmaven.test.skip=true compile`
|
||||
|
||||
## 影响范围
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/controller/CcdiStaffFmyRelationController.java`
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiStaffFmyRelationImportServiceImpl.java`
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiAssetInfoImportServiceImpl.java`
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/StaffFmyRelationImportFailureVO.java`
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/AssetImportFailureVO.java`
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/vo/StaffFmyRelationImportSubmitResultVO.java`
|
||||
@@ -0,0 +1,32 @@
|
||||
# 员工信息导入机构号校验后端实施计划
|
||||
|
||||
## 目标
|
||||
- 在员工信息 Excel 导入链路中校验 `所属部门ID(deptId)` 是否对应有效机构号。
|
||||
- 有效口径统一为 `sys_dept` 中“正常且未删除”的部门,即 `status = '0'` 且 `del_flag = '0'`。
|
||||
- 命中不存在、已停用或已删除的部门时,不入库,直接进入员工导入失败记录。
|
||||
|
||||
## 实施内容
|
||||
- 导入服务改造
|
||||
- 修改 `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffImportServiceImpl.java`。
|
||||
- 在 `validateStaffData` 中于必填校验后增加 `deptId` 有效性校验。
|
||||
- 新增私有方法按 `deptId` 查询部门并校验 `status` 与 `delFlag`。
|
||||
- 校验失败时抛出统一错误文案:`所属部门ID[xxx]不存在或已停用/删除,请检查机构号`。
|
||||
- 部门 Mapper 对齐
|
||||
- 修改 `ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml`。
|
||||
- 为 `selectDeptById` 查询补齐 `d.del_flag` 字段,保证导入服务可同时判断停用与逻辑删除状态。
|
||||
- 单元测试补充
|
||||
- 修改 `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiBaseStaffImportServiceImplTest.java`。
|
||||
- 增加部门存在、停用、删除三类校验测试。
|
||||
- 修改 `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiBaseStaffDualImportServiceTest.java`。
|
||||
- 增加混合导入场景测试,验证合法员工成功入库、非法 `deptId` 写入失败记录且任务状态为 `PARTIAL_SUCCESS`。
|
||||
|
||||
## 验证
|
||||
- 定向单测:
|
||||
- `mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiBaseStaffImportServiceImplTest,CcdiBaseStaffDualImportServiceTest test`
|
||||
- 编译校验:
|
||||
- `mvn -pl ccdi-info-collection,ruoyi-admin -am -DskipTests compile`
|
||||
|
||||
## 影响范围
|
||||
- 员工信息导入后端异步校验逻辑
|
||||
- 系统部门主键查询字段映射
|
||||
- 员工导入相关单元测试
|
||||
@@ -0,0 +1,23 @@
|
||||
# 招投标供应商校验后端实施计划
|
||||
|
||||
## 目标
|
||||
- 让招投标信息维护页面的新增、编辑接口仅保留供应商名称和统一信用代码必填校验。
|
||||
- 移除供应商联系人、联系电话、银行账户,以及供应商名称/统一信用代码的内容格式校验,避免页面保存被接口层拦截。
|
||||
|
||||
## 实施内容
|
||||
- 调整 `CcdiPurchaseTransactionSupplierDTO`
|
||||
- 保留 `supplierName` 的 `@NotBlank`。
|
||||
- 为 `supplierUscc` 增加 `@NotBlank` 必填校验。
|
||||
- 移除 `supplierName` 的长度校验。
|
||||
- 移除 `supplierUscc` 的格式校验。
|
||||
- 移除 `contactPerson`、`contactPhone`、`supplierBankAccount` 的内容校验注解。
|
||||
|
||||
## 验证
|
||||
- `mvn -pl ccdi-info-collection -am -DskipTests compile`
|
||||
- `sh bin/restart_java_backend.sh`
|
||||
- 结合真实页面验证:
|
||||
- 新增弹窗提交 `supplierUscc=ABC`、`contactPhone=123` 成功
|
||||
- 编辑弹窗提交 `supplierUscc=XYZ`、`contactPhone=abc123` 成功
|
||||
|
||||
## 产出文件
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiPurchaseTransactionSupplierDTO.java`
|
||||
@@ -0,0 +1,38 @@
|
||||
# 员工信息维护双 Sheet 导入前端实施计划
|
||||
|
||||
## 目标
|
||||
- 将员工信息维护页面的两个导入按钮合并为一个。
|
||||
- 统一使用双 Sheet 模板上传,并根据后端返回的 `staffTaskId`、`assetTaskId` 分别沿用原有轮询与失败记录能力。
|
||||
- 保留员工失败记录与员工资产失败记录两个独立查看入口。
|
||||
- 两个失败记录弹窗都需要展示失败来源 Sheet、Excel 行号和失败原因。
|
||||
|
||||
## 实施内容
|
||||
- 页面入口调整
|
||||
- 删除“导入资产信息”按钮,仅保留一个“导入”按钮。
|
||||
- 删除独立员工资产上传弹窗,保留一个统一上传弹窗。
|
||||
- 上传交互调整
|
||||
- 去掉“是否更新已经存在的员工数据”复选框。
|
||||
- 模板提示调整为双 Sheet 说明,明确支持只填一个或同时填写两个 Sheet。
|
||||
- 下载模板文件名统一为“员工信息维护导入模板”。
|
||||
- 任务处理调整
|
||||
- 上传成功后解析 `staffTaskId`、`assetTaskId`。
|
||||
- 有员工任务 ID 时,启动原员工导入轮询。
|
||||
- 有资产任务 ID 时,启动原资产导入轮询。
|
||||
- 未返回的任务类型不清空对应历史失败记录状态。
|
||||
- 失败记录展示调整
|
||||
- 员工失败记录弹窗增加 `Sheet`、`Excel行号` 列。
|
||||
- 员工资产失败记录弹窗增加 `Sheet`、`Excel行号` 列。
|
||||
- API 调整
|
||||
- `ruoyi-ui/src/api/ccdiBaseStaff.js` 去掉 `updateSupport` 参数,保持单文件上传定义。
|
||||
|
||||
## 验证
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
|
||||
- 页面联调覆盖:
|
||||
- 只导员工 Sheet
|
||||
- 只导资产 Sheet
|
||||
- 双 Sheet 同时导入
|
||||
- 两类失败记录入口分别展示
|
||||
|
||||
## 影响范围
|
||||
- `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||||
- `ruoyi-ui/src/api/ccdiBaseStaff.js`
|
||||
@@ -0,0 +1,23 @@
|
||||
# 2026-04-22 招投标导入失败展示增强前端实施计划
|
||||
|
||||
## 1. 目标
|
||||
|
||||
- 调整招投标信息维护页面的“导入失败记录”弹窗
|
||||
- 让失败列表直接展示失败来源 `Sheet`、失败行号、失败原因
|
||||
|
||||
## 2. 涉及范围
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
|
||||
|
||||
## 3. 实施步骤
|
||||
|
||||
1. 在失败记录弹窗表格中新增 `失败Sheet` 列
|
||||
2. 在失败记录弹窗表格中新增 `失败行号` 列
|
||||
3. 保留现有 `采购事项ID / 项目名称 / 标的物名称 / 失败原因` 上下文信息
|
||||
4. 对多行场景直接展示后端返回的合并行号,不在前端重复解析
|
||||
|
||||
## 4. 验证方式
|
||||
|
||||
- 使用真实页面上传失败样本
|
||||
- 打开“查看导入失败记录”弹窗,核对主信息失败能显示 `招投标主信息 + 行号 + 原因`
|
||||
- 核对供应商失败能显示 `供应商明细 + 行号 + 原因`
|
||||
@@ -0,0 +1,35 @@
|
||||
# 员工亲属关系维护双 Sheet 导入前端实施计划
|
||||
|
||||
## 目标
|
||||
- 将员工亲属关系维护页面顶部两个导入按钮合并为一个。
|
||||
- 上传弹窗改为双 Sheet 提示和统一模板下载。
|
||||
- 保留原有两套任务轮询与失败记录入口,但失败记录列表统一展示 `Sheet / Excel行号 / 失败原因`。
|
||||
|
||||
## 实施内容
|
||||
- 页面入口调整
|
||||
- 删除“导入亲属资产信息”独立按钮。
|
||||
- 删除独立资产上传弹窗,仅保留统一导入弹窗。
|
||||
- 上传交互调整
|
||||
- 导入弹窗提示模板包含 `员工亲属关系信息` 和 `亲属资产信息` 两个 Sheet。
|
||||
- 下载模板文件名统一为“员工亲属关系维护导入模板”。
|
||||
- 上传成功后解析后端返回的 `relationTaskId`、`assetTaskId`。
|
||||
- 状态管理调整
|
||||
- 有 `relationTaskId` 时沿用原亲属关系任务轮询与失败记录缓存。
|
||||
- 有 `assetTaskId` 时沿用原亲属资产任务轮询与失败记录缓存。
|
||||
- 未返回的任务类型不主动清空既有历史失败记录状态。
|
||||
- 失败记录展示调整
|
||||
- 亲属关系失败记录弹窗新增 `Sheet`、`Excel行号` 列。
|
||||
- 亲属资产失败记录弹窗新增 `Sheet`、`Excel行号` 列。
|
||||
|
||||
## 验证
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && node tests/unit/staff-family-asset-detail-import-ui.test.js`
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && node tests/unit/staff-family-asset-submit-flow.test.js`
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && node tests/unit/staff-family-asset-maintenance-layout.test.js`
|
||||
- 页面联调覆盖:
|
||||
- 只导亲属关系 Sheet
|
||||
- 只导亲属资产 Sheet
|
||||
- 双 Sheet 同时导入
|
||||
- 两类失败记录列表都显示 `Sheet / Excel行号 / 失败原因`
|
||||
|
||||
## 影响范围
|
||||
- `ruoyi-ui/src/views/ccdiStaffFmyRelation/index.vue`
|
||||
@@ -0,0 +1,22 @@
|
||||
# 招投标供应商校验前端实施计划
|
||||
|
||||
## 目标
|
||||
- 将招投标信息维护页面新增、编辑弹窗中的供应商明细校验收敛为:
|
||||
- 供应商名称必填
|
||||
- 统一信用代码必填
|
||||
- 移除联系人、联系电话、银行账户,以及供应商名称/统一信用代码的内容校验提示。
|
||||
|
||||
## 实施内容
|
||||
- 调整 `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue` 中的 `getSupplierFieldRules`
|
||||
- `supplierName` 仅保留必填规则。
|
||||
- `supplierUscc` 改为仅保留必填规则。
|
||||
- `contactPerson`、`contactPhone`、`supplierBankAccount` 不再返回校验规则。
|
||||
|
||||
## 验证
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
|
||||
- 使用 Playwright 打开真实页面 `http://127.0.0.1:62319/maintain/purchaseTransaction`
|
||||
- 新增弹窗录入 `supplierUscc=ABC`、`contactPhone=123` 后可保存
|
||||
- 编辑弹窗录入 `supplierUscc=XYZ`、`contactPhone=abc123` 后可保存
|
||||
|
||||
## 产出文件
|
||||
- `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
|
||||
@@ -0,0 +1,40 @@
|
||||
# 员工信息维护双 Sheet 导入实施记录
|
||||
|
||||
## 本次修改
|
||||
- 后端将员工信息维护导入模板改为双 Sheet:
|
||||
- `员工信息`
|
||||
- `员工资产信息`
|
||||
- 后端导入入口统一到 `/ccdi/baseStaff/importData`,按有数据的 Sheet 分别提交员工导入任务与员工资产导入任务。
|
||||
- 员工信息导入移除了更新现有员工能力,现有员工 ID 或身份证号冲突统一进入失败记录。
|
||||
- 员工资产导入补充了重复校验,当前按 `personId + assetMainType + assetSubType + assetName` 识别重复,命中数据库或导入文件内重复时直接进入失败记录。
|
||||
- 前端删除独立“导入资产信息”按钮与独立资产上传弹窗,改为单入口上传双 Sheet 模板。
|
||||
- 前端上传成功后,按返回的两个任务 ID 分别沿用原有轮询、失败记录缓存和失败记录弹窗能力。
|
||||
- 修正员工导入失败记录字段为 `staffId`,保证失败记录列表能正确显示柜员号。
|
||||
- 员工失败记录与员工资产失败记录都增加了 `Sheet`、`Excel行号`、`失败原因` 定位信息。
|
||||
|
||||
## 影响范围
|
||||
- 后端
|
||||
- `ccdi-info-collection` 员工导入控制器、服务接口、异步导入服务、导入结果 VO
|
||||
- 前端
|
||||
- `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||||
- `ruoyi-ui/src/api/ccdiBaseStaff.js`
|
||||
|
||||
## 验证情况
|
||||
- 后端编译
|
||||
- `mvn -pl ccdi-info-collection,ruoyi-admin -am -DskipTests compile`
|
||||
- 结果:通过
|
||||
- 前端构建
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
|
||||
- 结果:通过
|
||||
- 备注:构建输出仍有既有体积告警,但未阻断构建
|
||||
|
||||
## 测试说明
|
||||
- 已补充员工双 Sheet 导入相关单测文件,并执行:
|
||||
- `mvn -pl ccdi-info-collection -am -Dtest=CcdiBaseStaffControllerTest,CcdiBaseStaffDualImportServiceTest,CcdiBaseStaffAssetImportServiceImplTest -Dsurefire.failIfNoSpecifiedTests=false test`
|
||||
- 结果:通过
|
||||
- 已通过 Playwright 在真实员工信息维护页面验证:
|
||||
- 页面仅保留一个“导入”按钮
|
||||
- 导入弹窗展示双 Sheet 提示文案
|
||||
- 两个失败入口可恢复显示
|
||||
- 员工失败弹窗显示 `Sheet / Excel行号 / 失败原因`
|
||||
- 资产失败弹窗显示 `Sheet / Excel行号 / 失败原因`
|
||||
@@ -0,0 +1,51 @@
|
||||
# 2026-04-22 员工信息维护真实页面测试执行记录
|
||||
|
||||
## 1. 执行内容
|
||||
|
||||
- 启动前端开发服务,端口使用 `1025`
|
||||
- 使用真实浏览器进入“信息维护-员工信息维护”页面
|
||||
- 完整验证以下链路:
|
||||
- 列表加载
|
||||
- 详情查看
|
||||
- 新增员工及资产
|
||||
- 编辑员工及资产
|
||||
- 删除
|
||||
- 导入模板下载
|
||||
- 双 Sheet 导入
|
||||
- 员工导入失败记录查看
|
||||
- 员工资产导入失败记录查看
|
||||
|
||||
## 2. 环境信息
|
||||
|
||||
- 前端地址:`http://127.0.0.1:1025`
|
||||
- 后端地址:`http://127.0.0.1:62318`
|
||||
- Mock 服务:`http://127.0.0.1:8000`
|
||||
- Node 版本:`v14.21.3`
|
||||
- 浏览器方式:Playwright headed 模式真实浏览器
|
||||
|
||||
## 3. 结果摘要
|
||||
|
||||
- 页面新增员工 `9260422` 成功,编辑成功,详情可正常展示资产明细。
|
||||
- 双 Sheet 导入成功写入员工 `9260423`,并成功向员工 `9260422` 导入资产 `导入资产车位A-0422`。
|
||||
- 员工导入失败记录正确命中 `该员工ID已存在`。
|
||||
- 员工资产导入失败记录正确命中 `员工资产导入仅支持员工本人证件号`。
|
||||
- 本轮新增与导入成功数据均已通过真实页面删除清理。
|
||||
- 页面本地导入缓存 `employee_import_last_task`、`employee_asset_import_last_task` 已清理。
|
||||
|
||||
## 4. 发现问题
|
||||
|
||||
- 员工详情弹窗中“所属部门”未正确回显。
|
||||
- 同一员工在列表中显示 `若依科技`,进入详情后该字段显示为 `-`。
|
||||
|
||||
## 5. 产出物
|
||||
|
||||
- 测试记录:
|
||||
- `/Users/wkc/Desktop/ccdi/ccdi/docs/tests/records/2026-04-22-base-staff-maintenance-browser-test-record.md`
|
||||
- 导入样本:
|
||||
- `/Users/wkc/Desktop/ccdi/ccdi/output/spreadsheet/base_staff_import_browser_mixed.xlsx`
|
||||
|
||||
## 6. 收尾情况
|
||||
|
||||
- 已关闭 Playwright 浏览器会话
|
||||
- 已关闭前端 `1025` 进程
|
||||
- 已停止本轮通过 `bin/restart_java_backend.sh` 拉起的后端进程
|
||||
@@ -0,0 +1,46 @@
|
||||
# 2026-04-22 招投标导入失败展示增强实施记录
|
||||
|
||||
## 1. 本次变更
|
||||
|
||||
- 招投标导入失败记录新增失败来源 `Sheet`
|
||||
- 招投标导入失败记录新增 Excel 失败行号
|
||||
- 招投标信息维护页面失败弹窗新增 `失败Sheet`、`失败行号` 展示列
|
||||
|
||||
## 2. 文档落点确认
|
||||
|
||||
- 后端实施计划:`/Users/wkc/Desktop/ccdi/ccdi/docs/plans/backend/2026-04-22-bidding-import-failure-display-backend-implementation.md`
|
||||
- 前端实施计划:`/Users/wkc/Desktop/ccdi/ccdi/docs/plans/frontend/2026-04-22-bidding-import-failure-display-frontend-implementation.md`
|
||||
- 实施记录:`/Users/wkc/Desktop/ccdi/ccdi/docs/reports/implementation/2026-04-22-bidding-import-failure-display-implementation.md`
|
||||
|
||||
## 3. 实施内容
|
||||
|
||||
- 在后端失败记录 VO 中新增 `sheetName`、`sheetRowNum`
|
||||
- 在导入服务中为主信息、供应商明细两类导入行建立行号上下文
|
||||
- 在主信息校验失败、供应商校验失败、主从关系失败等场景下统一返回失败来源 Sheet 与行号
|
||||
- 在前端失败弹窗中新增 `失败Sheet`、`失败行号` 列,直接展示后端返回值
|
||||
|
||||
## 4. 预期验证点
|
||||
|
||||
- 主信息失败记录显示 `招投标主信息`
|
||||
- 供应商失败记录显示 `供应商明细`
|
||||
- 失败行号与 Excel 实际数据行一致
|
||||
- 同一失败由多行触发时,页面可直接展示合并行号
|
||||
|
||||
## 5. 实际验证结果
|
||||
|
||||
- 后端执行 `mvn -pl ccdi-info-collection -am compile -DskipTests` 编译通过
|
||||
- 后端通过 `bin/restart_java_backend.sh` 完成重启,前端通过 `nvm use` 后启动真实页面进行验证
|
||||
- 在真实页面上传 `bidding_import_structure.xlsx` 后,导入任务 `f1026563-4bf3-4f1d-ae27-d3f9623547f4` 成功生成失败记录
|
||||
- 页面“查看导入失败记录”弹窗已展示以下表头:
|
||||
- `失败Sheet`
|
||||
- `失败行号`
|
||||
- `采购事项ID`
|
||||
- `项目名称`
|
||||
- `标的物名称`
|
||||
- `失败原因`
|
||||
- 真实页面已验证的失败展示样例:
|
||||
- `供应商明细 | 第8行 | 供应商明细Sheet中的采购事项ID不能为空`
|
||||
- `招投标主信息 | 第2行 | 采购事项ID[LSFXMOCKP2PUR001]已存在,请勿重复导入`
|
||||
- `招投标主信息 | 第3、4行 | 采购事项ID[IMPCOV20260422154511STR03]在招投标主信息Sheet中重复`
|
||||
- `供应商明细 | 第4、5行 | 采购事项ID[IMPCOV20260422154511STR02]缺少招投标主信息`
|
||||
- 本次验证样本未产生成功导入数据,无需额外回滚业务数据
|
||||
@@ -0,0 +1,48 @@
|
||||
# 员工亲属关系维护双 Sheet 导入实施记录
|
||||
|
||||
## 本次修改
|
||||
- 将员工亲属关系维护顶部两个导入按钮合并为一个统一导入入口。
|
||||
- 导入模板改为双 Sheet:
|
||||
- `员工亲属关系信息`
|
||||
- `亲属资产信息`
|
||||
- 导入提交入口统一到 `/ccdi/staffFmyRelation/importData`,按有数据的 Sheet 分别提交亲属关系任务和亲属资产任务。
|
||||
- 新增 `StaffFmyRelationImportSubmitResultVO`,返回 `relationTaskId`、`assetTaskId` 和提交提示文案。
|
||||
- 员工亲属关系失败记录与亲属资产失败记录都增加了 `Sheet`、`Excel行号`、`失败原因` 定位信息。
|
||||
- 前端删除独立亲属资产上传弹窗,但保留原有两套轮询和失败记录查看入口。
|
||||
|
||||
## 影响范围
|
||||
- 后端
|
||||
- `ccdi-info-collection` 员工亲属关系导入控制器、两类异步导入服务、失败记录 VO、导入提交结果 VO、相关控制器测试
|
||||
- 前端
|
||||
- `ruoyi-ui/src/views/ccdiStaffFmyRelation/index.vue`
|
||||
- `ruoyi-ui/tests/unit/staff-family-asset-detail-import-ui.test.js`
|
||||
|
||||
## 验证情况
|
||||
- 后端构建
|
||||
- `sh bin/restart_java_backend.sh restart`
|
||||
- 结果:通过,`ruoyi-admin` 已基于本次代码重新打包并启动成功。
|
||||
- 前端单测
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && node tests/unit/staff-family-asset-detail-import-ui.test.js`
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && node tests/unit/staff-family-asset-submit-flow.test.js`
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && node tests/unit/staff-family-asset-maintenance-layout.test.js`
|
||||
- 结果:通过
|
||||
- 后端编译/测试
|
||||
- `mvn -pl ccdi-info-collection -am -Dtest=CcdiStaffFmyRelationControllerTest,CcdiAssetInfoControllerTest -Dsurefire.failIfNoSpecifiedTests=false test`
|
||||
- 结果:通过,`Tests run: 10, Failures: 0, Errors: 0`
|
||||
- 真实页面实测
|
||||
- 前端端口:`1026`
|
||||
- 使用 Playwright 打开真实页面 `/maintain/staffFmyRelation`
|
||||
- 实测结果:
|
||||
- 页面顶部仅保留一个“导入”按钮
|
||||
- 从页面内下载到新的双 Sheet 模板,实际包含 `员工亲属关系信息`、`亲属资产信息` 两张表
|
||||
- 通过双 Sheet 失败样本上传后,页面同时出现“查看导入失败记录”和“查看亲属资产导入失败记录”两个失败入口
|
||||
- 后端接口核验
|
||||
- 使用双 Sheet 失败样本调用 `/ccdi/staffFmyRelation/importData`
|
||||
- 再分别查询 `/ccdi/staffFmyRelation/importFailures/{relationTaskId}` 与 `/ccdi/assetInfo/importFailures/{assetTaskId}`
|
||||
- 返回结果已确认包含:
|
||||
- 亲属关系失败记录:`sheetName=员工亲属关系信息`、`rowNum=2`、`errorMessage=员工身份证号格式不正确`
|
||||
- 亲属资产失败记录:`sheetName=亲属资产信息`、`rowNum=2`、`errorMessage=未找到亲属资产归属员工`
|
||||
|
||||
## 后续实测
|
||||
- 本轮已完成真实页面双 Sheet 导入实测与失败接口核验。
|
||||
- 若后续需要补充界面截图或失败弹窗截图,可直接复用 `output/playwright/base-staff-maintenance-test/` 下本轮产物继续追踪。
|
||||
@@ -0,0 +1,63 @@
|
||||
# 2026-04-23 `116.62.17.81:9444` Docker 部署记录
|
||||
|
||||
## 保存路径确认
|
||||
|
||||
- 目标目录:`docs/reports/implementation/`
|
||||
- 文档用途:记录本次部署执行过程、影响范围与验证结果
|
||||
- 路径检查结果:符合仓库实施记录归档规范
|
||||
|
||||
## 本次操作
|
||||
|
||||
- 在本地仓库 `/Users/wkc/Desktop/ccdi/ccdi` 执行部署
|
||||
- 前端先通过 `nvm use` 切换到 `ruoyi-ui/.nvmrc` 指定版本:`Node v14.21.3`
|
||||
- 执行后端打包:`mvn clean package -DskipTests`
|
||||
- 执行前端打包:`cd ruoyi-ui && npm run build:prod`
|
||||
- 执行部署脚本:`./deploy/deploy-to-nas.sh`
|
||||
- 部署目标:
|
||||
- SSH:`116.62.17.81:9444`
|
||||
- 远端目录:`/volume1/webapp/ccdi`
|
||||
- 宿主机内网地址:`192.168.0.111`
|
||||
|
||||
## 影响范围
|
||||
|
||||
- 远端部署目录 `/volume1/webapp/ccdi` 已刷新为本次构建产物
|
||||
- Docker 服务已重建:
|
||||
- `ccdi-backend`
|
||||
- `ccdi-frontend`
|
||||
- `ccdi-lsfx-mock`
|
||||
- 本次仓库内仅新增本实施记录文档,无业务代码改动
|
||||
|
||||
## 验证结果
|
||||
|
||||
### 构建验证
|
||||
|
||||
- Maven 聚合打包成功,`ruoyi-admin/target/ruoyi-admin.jar` 已生成
|
||||
- Vue 生产构建成功,`ruoyi-ui/dist` 已生成
|
||||
- 前端构建期间仅出现体积告警,无构建失败
|
||||
|
||||
### 远端容器验证
|
||||
|
||||
- `docker compose ps` 结果:
|
||||
- `ccdi-backend`:`Up`
|
||||
- `ccdi-frontend`:`Up`
|
||||
- `ccdi-lsfx-mock`:`Up`
|
||||
- 端口监听结果:
|
||||
- `62318 -> backend:8080`
|
||||
- `62319 -> frontend:80`
|
||||
- `62320 -> backend network / mock:8000`
|
||||
|
||||
### 应用可用性验证
|
||||
|
||||
- 宿主机本机访问 `127.0.0.1` 返回正常:
|
||||
- `http://127.0.0.1:62319` 返回 `200 OK`
|
||||
- `http://127.0.0.1:62318/swagger-ui/index.html` 返回 `200`
|
||||
- `http://127.0.0.1:62320/docs` 返回 `200 OK`
|
||||
- 后端日志确认:
|
||||
- `nas` profile 已启用
|
||||
- TongWeb `8080` 已启动
|
||||
- `RuoYiApplication` 启动完成
|
||||
|
||||
## 额外说明
|
||||
|
||||
- 通过公网地址 `116.62.17.81:62318/62319/62320` 访问时,当前观测到的是 `Empty reply from server`
|
||||
- 由于宿主机实际网卡地址为 `192.168.0.111`,`116.62.17.81` 属于外层公网映射地址,因此当前应用侧与 Docker 侧均已正常,剩余问题若需继续处理,应排查公网入口到宿主机 `62318/62319/62320` 的端口转发或 NAT/网关链路
|
||||
@@ -0,0 +1,28 @@
|
||||
# 员工信息导入机构号校验实施记录
|
||||
|
||||
## 文档信息
|
||||
- 保存路径:`docs/reports/implementation/2026-04-23-base-staff-import-dept-validation-implementation.md`
|
||||
- 实施日期:2026-04-23
|
||||
- 关联范围:员工信息维护后端导入链路
|
||||
|
||||
## 本次修改内容
|
||||
1. 在 `CcdiBaseStaffImportServiceImpl` 中新增 `deptId` 校验逻辑,要求导入员工的所属部门必须在 `sys_dept` 中存在且处于正常、未删除状态。
|
||||
2. 机构号校验失败时,导入记录不入库,失败原因统一写入现有失败记录字段 `errorMessage`,错误文案为 `所属部门ID[xxx]不存在或已停用/删除,请检查机构号`。
|
||||
3. 补齐 `SysDeptMapper.xml` 中 `selectDeptById` 的 `del_flag` 字段映射,避免导入服务误把逻辑删除部门识别为有效部门。
|
||||
4. 补充员工导入服务层与异步导入流程单元测试,覆盖部门不存在、部门停用、部门删除和合法/非法混合导入场景。
|
||||
|
||||
## 影响范围
|
||||
- 后端:
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiBaseStaffImportServiceImpl.java`
|
||||
- `ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml`
|
||||
- 测试:
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiBaseStaffImportServiceImplTest.java`
|
||||
- `ccdi-info-collection/src/test/java/com/ruoyi/info/collection/service/CcdiBaseStaffDualImportServiceTest.java`
|
||||
|
||||
## 验证情况
|
||||
1. 定向单测:
|
||||
- 命令:`mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiBaseStaffImportServiceImplTest,CcdiBaseStaffDualImportServiceTest test`
|
||||
- 结果:通过,`Tests run: 13, Failures: 0, Errors: 0, Skipped: 0`
|
||||
2. 编译校验:
|
||||
- 命令:`mvn -pl ccdi-info-collection,ruoyi-admin -am -DskipTests compile`
|
||||
- 结果:通过,Reactor Summary 中 `ccdi-info-collection`、`ruoyi-admin` 及其依赖模块均为 `SUCCESS`
|
||||
@@ -0,0 +1,44 @@
|
||||
# 招投标供应商校验调整实施记录
|
||||
|
||||
## 本次改动
|
||||
- 招投标信息维护页面新增、编辑弹窗中的供应商明细校验调整为仅保留:
|
||||
- 供应商名称必填
|
||||
- 统一信用代码必填
|
||||
- 移除了前端弹窗中供应商名称长度、统一信用代码格式、联系人长度、联系电话格式、银行账户长度校验。
|
||||
- 移除了新增/编辑接口 DTO 中对应的供应商内容校验,确保真实页面保存链路与弹窗规则一致。
|
||||
|
||||
## 关键文件
|
||||
- 前端
|
||||
- `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
|
||||
- 后端
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/domain/dto/CcdiPurchaseTransactionSupplierDTO.java`
|
||||
|
||||
## 验证结果
|
||||
- 后端编译
|
||||
- 命令:`mvn -pl ccdi-info-collection -am -DskipTests compile`
|
||||
- 结果:通过。
|
||||
- 后端重启
|
||||
- 命令:`sh bin/restart_java_backend.sh`
|
||||
- 结果:构建并重启成功。
|
||||
- 前端构建
|
||||
- 命令:`source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
|
||||
- 结果:通过,仅有既有产物体积 warning。
|
||||
- Playwright 实页验证
|
||||
- 页面:`http://127.0.0.1:62319/maintain/purchaseTransaction`
|
||||
- 新增验证:
|
||||
- 采购事项ID:`AUTOBID20260423145630`
|
||||
- 供应商统一信用代码:`ABC`
|
||||
- 供应商联系电话:`123`
|
||||
- 结果:新增成功。
|
||||
- 编辑验证:
|
||||
- 项目名称改为:`校验放开回归项目-145630-编辑`
|
||||
- 供应商统一信用代码改为:`XYZ`
|
||||
- 供应商联系电话改为:`abc123`
|
||||
- 结果:修改成功。
|
||||
- 清理验证:
|
||||
- 删除 `AUTOBID20260423145630`
|
||||
- 结果:删除成功,列表总数回到 `2004`。
|
||||
|
||||
## 过程说明
|
||||
- 首轮真实页验证发现,前端规则放开后,新增接口仍因 `CcdiPurchaseTransactionSupplierDTO` 的 Bean Validation 拦截 `supplierUscc` 和 `contactPhone`。
|
||||
- 因此本次最终方案同时调整了前端弹窗规则与后端 DTO 校验,保证页面行为与需求一致。
|
||||
@@ -0,0 +1,188 @@
|
||||
# 信息维护页面搜索区四列栅格统一实施记录
|
||||
|
||||
## 1. 实施目标
|
||||
|
||||
将信息维护同批页面的搜索区统一为每行 4 个字段位的栅格布局,超过 4 个字段自动换行,最后一行不足 4 项时保留空白字段位,不拉伸现有字段;同时清理查询区内遗留的固定像素宽度写法。
|
||||
|
||||
## 2. 实施范围
|
||||
|
||||
本次实际调整的前端文件如下:
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiBaseStaff/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiStaffRecruitment/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiStaffTransfer/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiStaffFmyRelation/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiStaffEnterpriseRelation/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiCreditInfo/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiEnterpriseBaseInfo/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiIntermediary/components/SearchForm.vue`
|
||||
- `ruoyi-ui/src/views/ccdiAccountInfo/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiCustFmyRelation/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiCustEnterpriseRelation/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
|
||||
|
||||
本轮未提交的临时验证文件:
|
||||
|
||||
- `output/playwright/info-maintenance-search-grid-check.js`
|
||||
|
||||
## 3. 实施内容
|
||||
|
||||
### 3.1 查询区统一为四列栅格
|
||||
|
||||
- 将目标页面的头部查询表单从 `:inline="true"` 流式排布改为 `el-row + el-col :span="6"` 栅格排布
|
||||
- 每个查询项固定占一个字段位
|
||||
- 超过 4 个字段自动换到下一行
|
||||
- 最后一行不足 4 项时保留空白字段位,不做横向拉伸
|
||||
|
||||
### 3.2 字段内部控件统一铺满字段位
|
||||
|
||||
- 将查询区里的输入框、下拉框、日期范围、树选择统一改为 `style="width: 100%"`
|
||||
- 清理查询区中遗留的固定像素宽度写法,不再依赖 `style="width: Npx"` 控制布局
|
||||
- 补充查询区专用样式,使 `el-row` 使用换行布局,`el-col` 不再依赖旧浮动行为导致错位
|
||||
|
||||
### 3.3 保持原有交互和业务逻辑不变
|
||||
|
||||
- 未修改 `queryParams`、`handleQuery`、`resetQuery`
|
||||
- 未修改搜索、重置、业务按钮、`right-toolbar` 的行为
|
||||
- 日期范围仍按一个字段位处理,仅在所属字段位内铺满
|
||||
|
||||
## 4. TDD / 结构校验
|
||||
|
||||
### 4.1 先写临时结构校验脚本
|
||||
|
||||
新增临时脚本:
|
||||
|
||||
- `output/playwright/info-maintenance-search-grid-check.js`
|
||||
|
||||
脚本校验口径:
|
||||
|
||||
- 只识别头部查询表单,不误扫弹窗表单
|
||||
- 查询区是否采用 `el-col :span="6"`
|
||||
- 查询项数量是否符合预期
|
||||
- 查询区内是否仍保留 `style="width: Npx"` 固定像素宽度
|
||||
- 账户库管理页是否仍残留旧的查询区局部覆盖样式
|
||||
|
||||
### 4.2 先失败,再通过
|
||||
|
||||
首次执行命令:
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use >/dev/null && cd .. && node output/playwright/info-maintenance-search-grid-check.js
|
||||
```
|
||||
|
||||
初次结果:
|
||||
|
||||
- 12 个目标页面全部报出“未使用 `span=6`”和“仍存在固定像素宽度”的失败
|
||||
|
||||
页面改造完成后再次执行同一命令,结果为:
|
||||
|
||||
- `信息维护搜索区四列栅格结构校验通过`
|
||||
|
||||
## 5. 构建验证
|
||||
|
||||
### 5.1 Node 版本
|
||||
|
||||
执行命令:
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
- 命中项目 `nvm` 配置
|
||||
- 使用项目要求的 Node 版本完成后续脚本和构建
|
||||
|
||||
### 5.2 前端构建
|
||||
|
||||
执行命令:
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use >/dev/null && npm run build:prod
|
||||
```
|
||||
|
||||
结果:
|
||||
|
||||
- 构建成功
|
||||
- 无新增模板语法错误
|
||||
- 仅保留项目原有的体积告警
|
||||
|
||||
## 6. 真实页面浏览器验证
|
||||
|
||||
### 6.1 启动服务
|
||||
|
||||
前端开发服务:
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use >/dev/null && npm_config_port=1025 npm run dev
|
||||
```
|
||||
|
||||
后端服务:
|
||||
|
||||
```bash
|
||||
sh bin/restart_java_backend.sh start
|
||||
```
|
||||
|
||||
说明:
|
||||
|
||||
- 本轮验证时后端原本未运行,因此使用仓库规定脚本启动
|
||||
- 使用真实登录页进入系统,账号为 `admin / admin123`
|
||||
|
||||
### 6.2 布局验证结果
|
||||
|
||||
使用 Playwright 进入以下代表页并读取查询区实际列位位置:
|
||||
|
||||
- `/maintain/baseStaff`
|
||||
- `/maintain/enterpriseBaseInfo`
|
||||
- `/maintain/accountInfo`
|
||||
- `/maintain/creditInfo`
|
||||
- `/maintain/intermediary`
|
||||
- `/maintain/staffTransfer`
|
||||
- `/maintain/purchaseTransaction`
|
||||
|
||||
验证结果:
|
||||
|
||||
- 员工信息维护:5 个字段,实际排布为 `4 + 1`
|
||||
- 实体库管理:8 个字段,实际排布为 `4 + 4`
|
||||
- 账户库管理:9 个字段,实际排布为 `4 + 4 + 1`
|
||||
- 征信维护:2 个字段,实际排布为单行 2 项,未拉伸成半屏布局
|
||||
- 中介库管理:4 个字段,实际排布为单行 4 列
|
||||
- 员工调动记录:6 个字段,实际排布为 `4 + 2`
|
||||
- 招投标信息维护:4 个字段,日期范围与其他查询项等宽,占 1 个字段位
|
||||
|
||||
浏览器读取到的列位位置表现一致:
|
||||
|
||||
- 同一行 4 列的左边界稳定为四等分位置
|
||||
- 超过 4 个字段的新一行从第一列起始位置重新排列
|
||||
- 最后一行不足 4 项时未发生拉伸
|
||||
|
||||
### 6.3 重置验证
|
||||
|
||||
在真实业务页面中使用 Playwright 做了两组输入与重置验证:
|
||||
|
||||
1. 员工信息维护
|
||||
- 向“姓名”输入框填入 `测试姓名`
|
||||
- 点击页面 `重置`
|
||||
- 再次读取输入框值,结果为空字符串
|
||||
|
||||
2. 账户库管理
|
||||
- 向“员工姓名”输入框填入 `验证员工`
|
||||
- 点击页面 `重置`
|
||||
- 再次读取输入框值,结果为空字符串
|
||||
|
||||
结论:
|
||||
|
||||
- 搜索区改为四列栅格后,`重置` 交互未受影响
|
||||
|
||||
## 7. 进程清理
|
||||
|
||||
本轮验证结束后已关闭:
|
||||
|
||||
- 前端开发服务 `npm run dev`
|
||||
- 后端服务 `sh bin/restart_java_backend.sh start` 启动的后端进程,使用 `sh bin/restart_java_backend.sh stop` 停止
|
||||
- Playwright 浏览器会话
|
||||
|
||||
## 8. 风险与说明
|
||||
|
||||
- 当前工作区存在其他与本任务无关的未提交改动,本次未回退这些既有改动,仅在搜索区四列栅格范围内继续修改目标页面
|
||||
- 临时结构校验脚本位于 `output/playwright/`,用于本轮 TDD 校验,不纳入 git 提交
|
||||
Reference in New Issue
Block a user