员工亲属实体关联
This commit is contained in:
@@ -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