完善招投标导入测试与文档
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# 招投标信息维护后端实施计划
|
||||
|
||||
## 目标
|
||||
- 将现有 `purchaseTransaction` 后端链路改造为“招投标主信息 + 供应商明细子表”结构。
|
||||
- 保留原有 URL、权限前缀和内部类名,统一用户可见文案为“招投标信息维护”。
|
||||
- 支持详情查询返回全部供应商明细,列表返回中标供应商摘要和参与供应商数。
|
||||
- 支持双 Sheet 导入模板与按 `purchaseId` 聚合校验的异步导入。
|
||||
|
||||
## 实施内容
|
||||
- 数据层
|
||||
- 新增 `ccdi_purchase_transaction_supplier` 明细表初始化 SQL 与增量迁移脚本。
|
||||
- 迁移脚本回填历史中标供应商数据,并将菜单名称更新为“招投标信息维护”。
|
||||
- 领域模型
|
||||
- 新增供应商 entity、DTO、VO、Excel 模型。
|
||||
- 主 DTO/VO 增加 `supplierList`,主 VO 增加 `supplierCount`。
|
||||
- 主 Excel 模板改为仅承载招投标主信息,供应商明细独立建模。
|
||||
- 接口与服务
|
||||
- 列表 SQL 增加供应商数聚合。
|
||||
- 详情查询补充供应商明细列表。
|
||||
- 新增/修改时由 `supplierList` 自动回填主表中标供应商摘要字段。
|
||||
- 删除主记录时级联删除供应商明细。
|
||||
- 导入链路改为“双 Sheet 读取 + 按事项聚合校验 + 主从同落库”。
|
||||
- 项目专项核查
|
||||
- 项目采购详情 VO、Mapper、Service 增加供应商明细查询能力,保持项目详情与信息维护详情口径一致。
|
||||
|
||||
## 验证
|
||||
- `mvn -pl ccdi-info-collection,ccdi-project -am -DskipTests compile`
|
||||
- `./bin/restart_java_backend.sh restart`
|
||||
- 浏览器验证列表接口、详情接口与项目详情供应商明细展示。
|
||||
|
||||
## 产出文件
|
||||
- `sql/ccdi_purchase_transaction.sql`
|
||||
- `sql/ccdi_purchase_transaction_menu.sql`
|
||||
- `sql/migration/2026-04-22-bidding-info-maintenance-supplier-detail.sql`
|
||||
- `ccdi-info-collection` 与 `ccdi-project` 相关后端代码
|
||||
@@ -0,0 +1,24 @@
|
||||
# 招投标信息维护弹窗宽度与供应商序号前端实施计划
|
||||
|
||||
## 保存路径确认
|
||||
- 前端实施计划保存到 `docs/plans/frontend/`
|
||||
|
||||
## 目标
|
||||
- 新增、编辑弹窗宽度调整为页面宽度的 `80%`
|
||||
- 供应商明细不再录入排序,改为页面按当前行顺序自动生成序号与提交顺序
|
||||
|
||||
## 实施范围
|
||||
- 文件:`ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
|
||||
|
||||
## 实施步骤
|
||||
1. 将新增/编辑共用弹窗宽度从固定像素改为 `80%`
|
||||
2. 将供应商明细表中的“排序”输入列改为只读“序号”展示列
|
||||
3. 调整供应商新增与提交逻辑,提交时按当前行顺序自动补齐 `sortOrder`
|
||||
4. 清理空白供应商行判断,避免隐藏排序字段后把空白行误判为有效数据
|
||||
5. 使用真实页面验证新增/编辑弹窗显示与供应商录入行为
|
||||
|
||||
## 验证点
|
||||
- 新增/编辑弹窗宽度明显放大至页面宽度的 `80%`
|
||||
- 供应商明细不再出现排序输入框
|
||||
- 新增供应商后可正常录入供应商名称、统一信用代码、联系人、联系电话、银行账户
|
||||
- 编辑已有数据时供应商顺序按当前表格行顺序提交
|
||||
@@ -0,0 +1,33 @@
|
||||
# 招投标信息维护前端实施计划
|
||||
|
||||
## 目标
|
||||
- 将信息维护下“采购交易管理”页面改造为“招投标信息维护”。
|
||||
- 列表页展示中标供应商和参与供应商数,新增/编辑弹窗支持维护全部供应商明细。
|
||||
- 详情弹窗与项目详情采购弹窗统一展示供应商明细表。
|
||||
- 导入入口文案和模板命名改为招投标信息维护语义。
|
||||
|
||||
## 实施内容
|
||||
- 页面改造
|
||||
- 重写 `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`。
|
||||
- 将原单供应商表单替换为可增删行的供应商明细表格。
|
||||
- 使用单选方式标记唯一中标供应商,并在提交时写回 `supplierList.isBidWinner`。
|
||||
- 列表页新增“参与供应商数”列,保留“中标供应商”摘要列。
|
||||
- 详情展示
|
||||
- 页面详情弹窗改为供应商明细表展示。
|
||||
- 项目专项核查采购详情弹窗同步改为供应商明细表展示。
|
||||
- 导入交互
|
||||
- 导入弹窗文案更新为“招投标信息导入”。
|
||||
- 模板下载文件名与提示改为双 Sheet 模板。
|
||||
|
||||
## 验证
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
|
||||
- `source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run dev -- --port 8080`
|
||||
- 使用 Playwright 打开真实页面:
|
||||
- 验证菜单显示“招投标信息维护”
|
||||
- 验证列表显示“中标供应商”“参与供应商数”
|
||||
- 验证新增弹窗可添加供应商明细
|
||||
- 验证详情弹窗展示供应商明细表
|
||||
|
||||
## 产出文件
|
||||
- `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedPurchaseDetailDialog.vue`
|
||||
@@ -0,0 +1,36 @@
|
||||
# 招聘信息新增编辑弹窗宽度调整前端实施计划
|
||||
|
||||
> **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:** 将招聘信息管理页“新增招聘信息”“修改招聘信息”共用弹窗的宽度从固定 `900px` 调整为页面宽度的 `80%`,提升表单内容展示空间。
|
||||
|
||||
**Architecture:** 本次仅调整 `ccdiStaffRecruitment` 页面新增/编辑弹窗的 `el-dialog` 宽度配置,不新增字段、不改动详情弹窗、不调整提交逻辑和接口交互。
|
||||
|
||||
**Tech Stack:** Vue 2, Element UI, JavaScript, Markdown
|
||||
|
||||
---
|
||||
|
||||
## 文件结构与职责
|
||||
|
||||
- `ruoyi-ui/src/views/ccdiStaffRecruitment/index.vue`
|
||||
调整新增/编辑招聘信息弹窗宽度配置。
|
||||
|
||||
## 实施步骤
|
||||
|
||||
- [x] 定位招聘信息管理页新增/编辑弹窗的实际模板位置
|
||||
- [x] 将新增/编辑弹窗宽度从固定像素改为 `80%`
|
||||
- [x] 确认详情弹窗与其他弹窗保持原样,不扩大影响范围
|
||||
- [x] 运行前端构建校验模板改动未引入语法问题
|
||||
- [x] 使用浏览器实际打开新增/编辑弹窗,确认宽度按页面宽度 `80%` 展示
|
||||
|
||||
## 验证
|
||||
|
||||
```bash
|
||||
source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod
|
||||
```
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 招聘信息管理页新增/编辑弹窗宽度调整为页面宽度的 `80%`
|
||||
- 招聘信息详情弹窗和页面其他交互保持不变
|
||||
- 页面构建成功,且浏览器实测可正常打开新增/编辑弹窗
|
||||
@@ -0,0 +1,24 @@
|
||||
# 招投标信息维护弹窗宽度与供应商序号实施记录
|
||||
|
||||
## 保存路径确认
|
||||
- 实施记录保存到 `docs/reports/implementation/`
|
||||
|
||||
## 本次修改
|
||||
- 将招投标信息新增/编辑弹窗宽度由固定 `1200px` 调整为 `80%`
|
||||
- 将供应商明细中的“排序”录入列改为只读“序号”展示列
|
||||
- 供应商新增行不再预填可编辑排序值
|
||||
- 提交时按供应商当前行顺序自动回填 `sortOrder`
|
||||
- 空白供应商行判定不再依赖 `sortOrder`
|
||||
|
||||
## 影响范围
|
||||
- `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
|
||||
|
||||
## 验证方式
|
||||
- 启动前端开发服务进行页面热更新验证
|
||||
- 使用 Playwright 打开真实页面 `http://localhost:8080/maintain/purchaseTransaction`
|
||||
- 验证编辑弹窗宽度、供应商明细列展示与新增供应商录入行为
|
||||
|
||||
## 结果
|
||||
- 弹窗宽度调整生效
|
||||
- 供应商排序输入已移除
|
||||
- 供应商录入功能正常
|
||||
@@ -0,0 +1,47 @@
|
||||
# 招投标信息维护实施记录
|
||||
|
||||
## 本次改动
|
||||
- 将信息维护下“采购交易管理”改为“招投标信息维护”,保留原有 `purchaseTransaction` 技术标识。
|
||||
- 新增供应商明细子表 `ccdi_purchase_transaction_supplier`,支持维护全部参标供应商,并使用 `is_bid_winner` 标记中标方。
|
||||
- 主表继续保留中标供应商摘要字段,新增/修改/导入时从供应商明细自动回填。
|
||||
- 列表查询新增供应商数聚合;详情查询和项目专项核查采购详情新增供应商明细返回。
|
||||
- 导入模板改为“招投标主信息 + 供应商明细”双 Sheet,并按 `purchaseId` 聚合校验。
|
||||
- 前端页面改造为多供应商明细表单,详情弹窗与项目详情弹窗改为供应商明细表展示。
|
||||
|
||||
## 关键文件
|
||||
- 后端
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiPurchaseTransactionServiceImpl.java`
|
||||
- `ccdi-info-collection/src/main/java/com/ruoyi/info/collection/service/impl/CcdiPurchaseTransactionImportServiceImpl.java`
|
||||
- `ccdi-info-collection/src/main/resources/mapper/info/collection/CcdiPurchaseTransactionMapper.xml`
|
||||
- `ccdi-project/src/main/resources/mapper/ccdi/project/CcdiProjectSpecialCheckMapper.xml`
|
||||
- 前端
|
||||
- `ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
|
||||
- `ruoyi-ui/src/views/ccdiProject/components/detail/ExtendedPurchaseDetailDialog.vue`
|
||||
- SQL
|
||||
- `sql/ccdi_purchase_transaction.sql`
|
||||
- `sql/ccdi_purchase_transaction_menu.sql`
|
||||
- `sql/migration/2026-04-22-bidding-info-maintenance-supplier-detail.sql`
|
||||
|
||||
## 验证结果
|
||||
- 后端编译
|
||||
- 命令:`mvn -pl ccdi-info-collection,ccdi-project -am -DskipTests compile`
|
||||
- 结果:通过。
|
||||
- 前端构建
|
||||
- 命令:`source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
|
||||
- 结果:通过,仅有既有产物体积 warning。
|
||||
- 数据迁移
|
||||
- 命令:`bin/mysql_utf8_exec.sh sql/migration/2026-04-22-bidding-info-maintenance-supplier-detail.sql`
|
||||
- 结果:执行成功,本地联调库菜单名已更新为“招投标信息维护”。
|
||||
- Playwright 实页验证
|
||||
- 验证页面:`http://localhost:8080/maintain/purchaseTransaction`
|
||||
- 结果:
|
||||
- 菜单与面包屑显示“招投标信息维护”
|
||||
- 列表显示“中标供应商”“参与供应商数”
|
||||
- 新增弹窗显示供应商明细表,并可新增供应商行
|
||||
- 详情弹窗显示供应商明细表与中标标识
|
||||
- 联调过程中发现列表 SQL 因 join 后字段未加别名导致 `purchase_id is ambiguous`,已修复并复验通过。
|
||||
|
||||
## 测试进程清理
|
||||
- 已关闭 Playwright 浏览器会话。
|
||||
- 已停止前端 `npm run dev` 进程。
|
||||
- 已停止测试期间启动的后端进程。
|
||||
@@ -0,0 +1,28 @@
|
||||
# ruoyi-ui 添加 .nvmrc 实施记录
|
||||
|
||||
## 文档信息
|
||||
|
||||
- 保存路径:`docs/reports/implementation/2026-04-22-ruoyi-ui-nvmrc-implementation.md`
|
||||
- 实施日期:2026-04-22
|
||||
- 关联范围:`ruoyi-ui` 前端工程本地 Node 版本约束
|
||||
|
||||
## 本次修改内容
|
||||
|
||||
1. 确认 `docs/` 内近期前端实施计划与实施记录均使用 `nvm use 14.21.3` 作为 `ruoyi-ui` 的实际 Node 版本。
|
||||
2. 在 `ruoyi-ui` 目录新增 `.nvmrc`,写入 `14.21.3`,统一本地开发、构建与测试时的 Node 版本入口。
|
||||
3. 保持 `package.json` 现有 `engines` 配置不变,本次仅补充 `nvm` 版本声明文件,不扩展其他构建配置。
|
||||
|
||||
## 影响范围
|
||||
|
||||
- 前端:`ruoyi-ui/.nvmrc`
|
||||
- 文档:本实施记录
|
||||
|
||||
## 验证情况
|
||||
|
||||
1. 版本依据核对:
|
||||
- 已核对 `docs/plans/frontend/` 与 `docs/reports/implementation/` 中近期前端构建命令,当前统一使用 `nvm use 14.21.3`。
|
||||
2. 本地命令校验:
|
||||
- 执行命令:`source ~/.nvm/nvm.sh && cd ruoyi-ui && nvm use`
|
||||
- 预期结果:自动读取 `.nvmrc` 并切换到 `v14.21.3`。
|
||||
3. 说明:
|
||||
- 本次为 Node 版本声明文件补充,不涉及业务代码、页面交互或接口行为变更,未执行额外前端构建与页面测试。
|
||||
@@ -0,0 +1,30 @@
|
||||
# 招聘信息新增编辑弹窗宽度调整实施记录
|
||||
|
||||
## 文档信息
|
||||
|
||||
- 保存路径:`docs/reports/implementation/2026-04-22-staff-recruitment-dialog-width-implementation.md`
|
||||
- 实施日期:2026-04-22
|
||||
- 关联范围:招聘信息管理前端页面
|
||||
|
||||
## 本次修改内容
|
||||
|
||||
1. 定位到招聘信息管理页新增/编辑共用同一个 `el-dialog`,原宽度固定为 `900px`。
|
||||
2. 将新增/编辑弹窗宽度改为 `80%`,使弹窗按页面可视宽度自适应放大。
|
||||
3. 保持招聘信息详情弹窗宽度和原有表单提交流程不变,避免影响非本次需求范围的交互。
|
||||
4. 新增本次前端实施计划与实施记录,沉淀改动背景、影响范围与验证结论。
|
||||
|
||||
## 影响范围
|
||||
|
||||
- 前端:`ruoyi-ui/src/views/ccdiStaffRecruitment/index.vue` 新增/编辑招聘信息弹窗。
|
||||
- 文档:新增前端实施计划与实施记录。
|
||||
|
||||
## 验证情况
|
||||
|
||||
1. 前端构建校验:
|
||||
- 执行命令:`source ~/.nvm/nvm.sh && nvm use 14.21.3 >/dev/null && cd ruoyi-ui && npm run build:prod`
|
||||
- 结果:构建成功;存在项目原有的 bundle size warnings,本次改动未引入新的构建错误。
|
||||
2. Playwright 浏览器实测:
|
||||
- 执行方式:通过 `nvm use 25.9.0` 启动 `playwright-cli`,打开 `http://127.0.0.1:1025/prototype/staff-recruitment?preview=1&mode=add` 与 `http://127.0.0.1:1025/prototype/staff-recruitment?preview=1&mode=edit`,在真实浏览器中读取可见 `el-dialog` 的实际宽度。
|
||||
- 结果:新增弹窗标题为“添加招聘信息”,页面宽度 `1280px`、弹窗宽度 `1024px`、宽度占比 `0.8`;编辑弹窗标题为“修改招聘信息”,页面宽度 `1280px`、弹窗宽度 `1024px`、宽度占比 `0.8`,与需求一致。
|
||||
3. 测试进程清理:
|
||||
- 已关闭本次测试过程中临时启动的 Playwright 浏览器与前端 dev server。
|
||||
Reference in New Issue
Block a user