完善招投标导入测试与文档

This commit is contained in:
wkc
2026-04-22 16:20:37 +08:00
parent 0c5fa6b2c8
commit 5a9b79d4ee
42 changed files with 1814 additions and 707 deletions

View File

@@ -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` 相关后端代码

View File

@@ -0,0 +1,24 @@
# 招投标信息维护弹窗宽度与供应商序号前端实施计划
## 保存路径确认
- 前端实施计划保存到 `docs/plans/frontend/`
## 目标
- 新增、编辑弹窗宽度调整为页面宽度的 `80%`
- 供应商明细不再录入排序,改为页面按当前行顺序自动生成序号与提交顺序
## 实施范围
- 文件:`ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue`
## 实施步骤
1. 将新增/编辑共用弹窗宽度从固定像素改为 `80%`
2. 将供应商明细表中的“排序”输入列改为只读“序号”展示列
3. 调整供应商新增与提交逻辑,提交时按当前行顺序自动补齐 `sortOrder`
4. 清理空白供应商行判断,避免隐藏排序字段后把空白行误判为有效数据
5. 使用真实页面验证新增/编辑弹窗显示与供应商录入行为
## 验证点
- 新增/编辑弹窗宽度明显放大至页面宽度的 `80%`
- 供应商明细不再出现排序输入框
- 新增供应商后可正常录入供应商名称、统一信用代码、联系人、联系电话、银行账户
- 编辑已有数据时供应商顺序按当前表格行顺序提交

View File

@@ -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`

View File

@@ -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%`
- 招聘信息详情弹窗和页面其他交互保持不变
- 页面构建成功,且浏览器实测可正常打开新增/编辑弹窗