郭庆泰
|
56615f9806
|
feat: OA(ecology)项目拉取 + 会议邀请函PDF/微信分享 + 参会人/执行意向增强
OA ecology:
- BizEcologyController + EcologyProjectService: 项目编号搜索/详情回填, 负责人静默建档
- ComplianceLoginService: 合规/负责人登录校验 + 视图 role 匹配
- application-prod/test.yml: ecology 只读库数据源
会议邀请函/分享:
- InvitationPdfService + WxShareService: 邀请函 PDF 生成 + 微信分享
- PdfViewer.vue (pdfjs-dist) + MeetingInvitation.vue: PDF 预览 + 邀请函页
参会人/执行意向:
- BizMeetingAttendee*: 参会人模块增强
- BizExecutionIntent*: 执行意向增强
签到/劳务/导入:
- BizSignServiceImpl + SignFill.vue: 签到劳务
- FieldMismatch/ImportMismatch: 导入校验 VO
公示/会议详情:
- PublicityDetail.vue / MeetingDetail.vue 等前端增强
配置:
- test 短信 mock + 供应商/招标接口切生产域名
|
2026-09-03 20:12:15 +08:00 |
|
郭庆泰
|
a14d95288c
|
提交所有代码
|
2026-08-31 19:01:00 +08:00 |
|
 郭庆泰andClaude
|
f4d8bc1463
|
feat: 项目导出 + 会议跳转 + 机构软删除 + 供应商账号同步
- 项目/项目评价/报名专家 3 类导出, 勾选透传 projectIds
- 项目列表 总场次/已执行/未执行 三列点击跳对应会议列表 (executor 复用后端 role 隔离)
- 机构软删除 + 级联软删机构下账号
- 供应商开放接口账号同步
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-30 10:42:35 +08:00 |
|
 郭庆泰andClaude
|
e47f76478b
|
批量推送代码
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-29 17:52:05 +08:00 |
|
郭庆泰
|
36528b6e0c
|
批量推送代码
|
2026-08-26 23:14:46 +08:00 |
|
guoju0808
|
d7107436a6
|
fix: 操作列更多优化 (Plans 3个以内不折叠 / 去掉前面竖线 / hover打开下拉)
1. Plans 操作列只有 3 个按钮 (修改/审核/结算), 不需要更多折叠
- 还原为直接展示 3 个 el-link
- 删除 onMorePlan 函数 + ArrowDown import
- width 120 → 160
2. main.scss .op-dropdown 删除 border-left 竖线分隔
- 加 cursor: pointer + color: primary + hover 色变浅
- 加 padding 0 4px 与 el-link 视觉对齐
- 加 user-select: none 避免点击选中
3. Meetings / Projects el-dropdown trigger: click → hover
- hover 鼠标进入触发, 离开关闭
- 更符合操作列多按钮场景的直觉
|
2026-08-26 12:01:43 +00:00 |
|
guoju0808
|
614a31c404
|
fix: 移动端 filter-form 保持横向布局 (label 左 + input 右, 不再上下堆叠)
|
2026-08-26 11:40:40 +00:00 |
|
guoju0808
|
ce26361b30
|
fix: 移动端按钮组对齐 (block + margin reset, 查找重置不再偏移)
|
2026-08-26 11:39:01 +00:00 |
|
guoju0808
|
a0f566eb38
|
fix: 移动端 filter-form 按钮垂直堆叠 (查找/重置不再叠在一起)
|
2026-08-26 11:37:20 +00:00 |
|
guoju0808
|
0644e26120
|
feat: GrTable 移动端表格组件 + manager/Projects 试点
业务背景
- 项目里 17+ 列的列表页 (manager/Projects, Meetings, AdminUsers 等) 在手机端只能
横向滚动, 操作体验差.
- refer/gr-table.vue 是 Vue2 + Vant 组件, Vue3 不能直接用 (componentOptions
私有 API 已被 Vue3 移除).
- 新建 Vue3 + EP 兼容版本 GrTable, 吸收"主列显示 / 次要列折叠到展开行"思想.
组件设计
- props: data, mainCols (默认 = 第一个 prop + 最后一个 prop), mobileBreakpoint
- 通过 slots.default() 取 vnode, 读 vnode.props.prop/label (Vue3 思路, 替代
Vue2 componentOptions 私有 API)
- v-bind="\$attrs" 全透传 el-table 原生 props/events
- el-table 引用方法 (clearSelection / toggleRowSelection 等) defineExpose
暴露
manager/Projects 试点
- 引入 GrTable, :main-cols="['projectNo', 'projectName']"
- 手机端: 只显示项目编号 + 项目名称 + 操作列, 其他 13 列折叠到展开行
- 桌面端: 与原 el-table 完全一致 (所有 17 列)
- 操作列 (label=操作, 无 prop) 自动保留 (因为 shouldRenderColumn 跳过无 prop 列)
|
2026-08-26 11:32:53 +00:00 |
|
guoju0808
|
7cf8c5b660
|
feat: manager/Projects 移动端适配 (工具栏横滚/筛选栏堆叠)
|
2026-08-26 11:19:00 +00:00 |
|
guoju0808
|
d2fe5a4035
|
style: 重塑政务风格 + 操作列统一 el-link + 表格紧凑化
业务背景
- ry-vue3 为政务/卫健委风合规管理系统 (医疗机构合规系统), 不要可爱配色、不要插画
- 品牌色: 主色 #15803D (低调深绿) + 次色 #0E7490 (青蓝), 不要蓝色系主色
变更概要
1. 全局地基
- theme.scss: Element Plus 主色改为 #15803D, slate 9 档, 联动组件库
- main.scss: 字体/页面骨架/筛选栏/表格/控件/滚动条 全套样式
- AdminLayout.vue: 政务顶栏 + 浅色侧栏
- Workbench.vue: 替换原绿底大字卡为 KPI 白底色条 + 快捷入口 + 进度条
2. 表格操作列改造
- el-button link 全面替换为 el-link (:underline="false" + type="primary/danger")
- 36 文件 132 处替换, 操作列外加 .table-actions 容器 (内含分隔线)
- 修复 el-link 不支持的属性 (size="small"/text/loading)
3. 筛选栏
- 弹性布局 + gap 14px 16px + align-items: flex-start + min-height 32px
- 删除所有 scoped .filter-form 覆盖 (28 处) 让全局样式生效
- 控件宽度 180px 统一, 标签 32px 居中, 折行不紧贴
4. 表格紧凑化
- cell-padding 10px → 6px, 表头高度 36px
- 行高 ~46px → ~36px, 字号 13px
5. 每页默认 20 条
- 21 文件 pageSize: 10 → 20
6. meetings 操作列折叠
- 11 操作 → 外置 3 个主操作 + 1 个"更多" el-dropdown (8 个次操作)
- width 500px → 260px
- 配 .op-dropdown / .op-caret 样式 (hover 旋转)
- 新增 onMoreAction dispatch 函数 (复用原 handler)
7. 操作列文字防拆行
- .table-actions flex-wrap: nowrap + white-space: nowrap
- el-link padding 0 8px → 0 6px, flex-shrink: 0
8. 环境配置
- .env.development: 直连远端 https://risingdoctor.com/hg-api (绕过 vite proxy 卡顿)
- vite.config.js: proxy fallback 保留
|
2026-08-26 11:04:15 +00:00 |
|
 郭庆泰andClaude
|
591a43fe61
|
feat: 会议提交剩余时间+解冻 + 会务/劳务材料批量下载 + 多角色人员/账号模块完善
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-25 06:53:18 +08:00 |
|
 郭庆泰andClaude
|
904e28710f
|
feat: 生产部署 + 会议全链路 (执行方分配/费用结算/签到脱敏/H5相机)
- 生产 nginx 三路径: ry-vue3 /hg/, ry-h5 /camera/, API /hg-api, .env 分环境
- 签约链接/摄像头 base-url 走 yml, 不再硬编码 /hg 与 localhost
- 新增 biz_project_executor_assign (镜像 sponsor_assign) 执行方项目级分配
- 会议费用后台汇总 FeeCalcScheduler + 结算回写项目金额 + 状态流转调度
- 签到表拍照高斯模糊脱敏 extra_oss_url, 新增 PosterService/StageDeriver
- 清理 biz_support_intent 旧表 (6 Java/XML 删除)
- ry-h5 相机黑屏修复: 显式 video.play() + 动态 apiBase 上传
- 资源: simhei 字体 / logo.png / qrcode_1.png / favicon.ico
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-24 01:00:09 +08:00 |
|
郭庆泰
|
2eb2d1a43b
|
feat(front): 项目/会议管理 admin 端补齐 + 删除按钮 + 级联 UI + 角色劳务组件
admin 会议管理:
- 新建 admin/AdminMeetings.vue (查看/删除/批量删除, 面包屑 首页/项目管理/会议管理)
- AdminLayout.vue 加 /admin/meetings 菜单
- router/index.js 加 admin-meetings + admin-meetings-detail 路由
- MeetingDetail.vue admin 删除按钮改 admin+manager 双角色可触发 (onAdminDelete 跳回按角色)
manager 会议管理:
- Meetings.vue 加批量删除 + 删除按钮 + 删除确认文案 (6 张表级联)
- MeetingDetail.vue 删除按钮 v-if 改 canDeleteMeeting = isAdmin || isManager
manager 项目管理:
- Projects.vue 加批量删除 + 删除项 + doDelete 改走 cascade (5 张项目表 + 会议链)
- ProjectsNew.vue style-alignment: page-card 居左 (max-width 1200px, 无 margin auto), form-actions 包在 el-form 内
- Projects.vue + Meetings.vue + AdminMeetings.vue 删页内冗余删除提示
store + 组件:
- store/user.js 加 isAdmin getter
- components/ProjectRoleSelect.vue 新建 (项目级角色劳务下拉, 接 roleLabor)
|
2026-08-22 20:16:46 +08:00 |
|
 郭庆泰andClaude
|
3240590f40
|
refactor(projects): assign + assign-batch 合并为单路由, 子页面 v-if 区分
- router 删 /assign-batch 路由, 仅保留 /assign (单条/批量都走)
- Projects.vue openAssign() 2 个 push 路径统一为 /manager/projects/assign
- 子页面面包屑加 v-if 批量模式 tag (橙色 badge 标识)
- 单/批模式区分完全靠 query.projectId vs query.projectIds + 子页面内 v-if/v-else 区块 (info-bar / 实时校验栏)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-20 23:03:43 +08:00 |
|
 郭庆泰andClaude
|
36b62a26b9
|
refactor(projects): 项目分配 dialog 拆为独立子页面
- 新增 ManagerProjectsAssign.vue (单条/批量共用, 通过 route.query.projectId/projectIds 区分)
- router 加 2 个路由 /manager/projects/assign 和 /assign-batch
- Projects.vue 移除项目分配 dialog (template + 9 个 state/computed/function)
- Projects.vue 两个入口 (toolbar 项目分配 + 行内项目分配) 改为 router.push
- 顶部筛选区的 searchSponsorOrgsForFilter / searchExecutorOrgsForFilter 保留 (跟子页面解耦)
- 功能 1:1 不变: 支持方 / 实时校验 / 执行方分配 / 总场次超量校验 / 提交截止天数
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-20 23:02:08 +08:00 |
|
郭庆泰
|
e462eeaa09
|
feat(projects): 服务机构筛选改多选 remote el-select (前端)
- 服务机构 el-input → 多选 remote el-select (跟 sponsor 镜像)
- q.execOrgName → q.execAdminUserIds (List<Long>)
- 新增 executorOrgOptions / execSearching / _executorFilterTimer
- 新增 searchExecutorOrgsForFilter (200ms debounce + 已选 userId 重拉回保证 label)
|
2026-08-20 22:31:52 +08:00 |
|
郭庆泰
|
c85370d925
|
feat: 支持单位筛选改 el-select 多选 (前端)
manager/Projects.vue 顶部筛选区的「支持单位」从 el-input 升级为 el-select multiple + 远程搜索。
改动:
- L6: el-input → el-select (multiple + filterable + remote + clearable + collapse-tags + collapse-tags-tooltip)
- v-model: q.sponsorOrgName (string) → q.sponsorAdminUserIds (number[])
- remote-method: searchSponsorOrgsForFilter (新增)
- loading: sponsorSearching (新增)
- width: 260px (比输入框宽, 容纳标签)
- L291: q ref 字段重命名 + 改类型
- L341: reset() 同步
- 新增: sponsorSearching ref (loading 指示)
- 新增: _supporterFilterTimer (filter 防抖, 与 assignForm 的 _supporterTimer 分离)
- 新增: searchSponsorOrgsForFilter(query) — 复用 listSponsorOrgs + sponsorOrgOptions
- 200ms debounce
- 已选项不在结果里时按 userId 单独拉回 (multi-select 必须保证每个 tag 都有 label)
未做 / 后续:
- 执行方 (execOrgName) 同样可改多选, 沿用本次模式即可, 暂不动
- q.sponsorOrgName 字段已从源消失, 注释提到「sponsorOrgName」的 _self/manager_projects.md 待同步 (下一 commit)
|
2026-08-20 22:20:53 +08:00 |
|
 郭庆泰andClaude
|
e496f34393
|
feat: 多处页面改造 + 新增劳务协议模板配置
主要改动:
- biz_meeting_attendee 中间表 + doctor/expert 角色数据隔离
- biz_meeting_attendee 加 handsign/labor_protocol 字段 (劳务协议改造)
- biz_labor_protocol_template 配置表 + admin 页面 (从 HeguiConstants 迁移)
- biz_expert.expertId 改 Long + IdGenerator 生成 (去自增)
- Login.vue / PublicityDetail.vue / Home.vue 等多处 bug 修复 + UI 改进
- 新增 page-tech-review 报告 3 篇 (_self/*.md)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-19 21:06:49 +08:00 |
|
郭庆泰
|
35e55403cf
|
refactor(manager/Projects): 2 列 label "执行单位得分" → "执行单位评分"
- line 61: 执行单位得分(合规) → 执行单位评分(合规)
- line 67: 执行单位得分(支持) → 执行单位评分(支持)
仅 manager/Projects.vue, 范围最小。其他角色文件 (sponsor/executor/leader) 暂不动。
|
2026-08-18 22:20:21 +08:00 |
|
郭庆泰
|
8e43960481
|
fix(manager/Projects): 删 4 处 console 调试 + 日期选择器 value-format 对齐 type
- 删 console.info/error 4 处 (line 299, 302, 306, 874): 原 review §10 #5 (P1)
- el-date-picker type=date + value-format YYYY-MM-DD HH:mm:ss 不匹配 (line 17, 19):
改 value-format 为 YYYY-MM-DD, 跟 type=date 对齐; MySQL 对 datetime 列做隐式转换
原 review §10 #9 (P1)
|
2026-08-18 22:06:09 +08:00 |
|
郭庆泰
|
f0866300ad
|
refactor(manager/Projects): 删 batchScoreRows 死代码 (line 501)
注释说"保留兼容旧引用",但 grep 全文无任何引用, 纯死代码。
原 review 报告 §10 待修复列表 #7 (P2)。
|
2026-08-18 22:04:06 +08:00 |
|
郭庆泰
|
b52a334184
|
chore: biz_org 合并 / BizProject 重构 / 各角色页面调整 (上次重构遗留)
涵盖改动范围:
- 后端 BizOrg / BizProject / BizProjectRating / BizSpecialPlan controller + domain + mapper + service
- 前端 admin (BizSpecialPlanAdmin, ProjectCategory) / executor / leader / manager / sponsor 多页调整
- api/dict.js + AdminLayout.vue 同步
|
2026-08-18 00:30:34 +08:00 |
|
 郭庆泰andClaude
|
e099211cbd
|
feat(项目管理): 招标字段/负责人/导出/下拉/登录短信 完整链路
后端 (ruoyi-business)
- BizProject: +is_bid_project, +execOrgNames(GROUP_CONCAT派生), +leadUserName
- BizProjectMapper.xml: 上述字段全部贯通 selectFields/insert/update, 列表加 exec_org_names 子查询 + lead_user_name JOIN
- BizSysUserQueryMapper (新): 干净查 sys_user by role_type, 避开 @DataScope 切面污染, 用于项目负责人下拉
- BizOrgMapper.selectExecutorOrgOptions (新): JOIN sys_user (parent_user_id IS NULL) 限定 MAIN 账号, 排除同公司普通员工子账号
- BizOrgController: +/business/org/executorOptions 端点
- BizExecutionIntentController: +exportSignupExperts 端点 (POST /business/executionIntent/export)
- BizSignupExpertExportVo (新): 中文列头 Excel 导出 VO (专家姓名/科室/医院/职称/报名时间/手机号)
- BizProjectAssign / SponsorAssign 重命名 + Service 实现调整
- 删除 sql/ 下所有迁移脚本 (按用户要求不再保存 SQL 文件)
前端 (ry-vue3)
- api/system.js: +listExecutorOrgs 走新接口, listExecutor/listSupporters/listManagers 保持 listByRole 兼容
- views/manager/Projects.vue: 执行方下拉改 label=u.orgName / value=u.userId, 数据源走 listExecutorOrgs
+execOrgNames 列展示 +导出报名专家 dropdown 项 +is_bid_project 表单字段
- views/manager/ProjectsNew.vue + ManagerProjectDetail.vue: +is_bid_project 表单/展示
- views/auth/Login.vue: +手机号验证码登录 tab (复用 SysSmsService, dev 模式 10 开头手机号固定码 1234)
- 路由/布局/角色视角多页面整理 (SponsorOrgs/People/SponsorPersonNew 等)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-17 00:34:13 +08:00 |
|
郭庆泰
|
ccfd03a6eb
|
批量推送
|
2026-08-16 21:24:53 +08:00 |
|
郭庆泰
|
cf5790229a
|
refactor: 合并 biz_support_unit/biz_execution_unit/biz_service_org 为 biz_org, 删除 2 张孤儿表, 改 biz_person.work_unit → org_id FK
主要改动:
- SQL: biz_support_unit → biz_org, 加 org_type, 加 business_nature; 删 biz_execution_unit, biz_service_org
- SQL: biz_project.support_unit_id/name + service_org_id/name → org_id/name/type
- SQL: biz_meeting.support_unit_name → org_name
- SQL: biz_person.work_unit → org_id (FK)
- 后端: 新 BizOrg entity/mapper/service/controller
- 后端: BizProject/BizMeeting 字段重命名
- 后端: 删 12 个 BizSupportUnit/BizExecutionUnit/BizServiceOrg Java 文件
- 后端: BizPersonImportVO.workUnit → orgName (导入时查 biz_org 取 org_id)
- 后端: BizAuthController.registerExecutor 完整实现 (原 registerSupplier stub)
- 前端: 新 admin/Orgs.vue + manager/Orgs.vue (原 SupportUnits)
- 前端: RegisterExecutor.vue (原 RegisterSupplier, 单页 2 步)
- 前端: sponsor/executor/manager 多个文件 workUnit → orgId/orgName 重命名
- 前端: 统一 supplier → executor, 业务命名 sponsor(赞助方) / executor(执行方=供应商)
- 前端: 全工程 execution → executor (company type / role / person unit_type)
|
2026-08-15 12:41:10 +08:00 |
|