 郭庆泰andClaude
|
3bf1581c64
|
feat(manager): 专家证书查看改为 dialog 预览 (同步 admin)
admin/Experts.vue 之前已经把 执业证书/职称证明 的"查看"从 window.open 新 tab
改为 dialog 内嵌 el-image (可点放大 + 失败可下载), 体验更好。
manager/Experts.vue 同步改造:
- 新增 previewOpen/previewUrl + onPreviewCert (替代原 onViewCert 的 window.open)
- 新增证书预览 dialog 模板 (1:1 抄 admin 版, 含失败兜底"图片加载失败, 请下载查看")
- 表格 2 列"查看"按钮: onViewCert → onPreviewCert
- 详情 dialog 内 2 个"查看证书"链接: 同样改 onPreviewCert
- 加 .cert-preview / .cert-preview-error 样式
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-17 00:48:57 +08:00 |
|
 郭庆泰andClaude
|
0f1d130397
|
fix(expert): 编辑保存失败 Updates:0 + 错误 toast 弹两次
两个根因:
1. 后端 Updates: 0
- ExpertNew.vue (admin+manager) onSave 编辑分支里 delete payload.expertId
- 后端 BizExpertMapper.updateByPrimaryKey 是 where expert_id = #{expertId}
- 没有 expertId → WHERE 不匹配 → 0 updates → 抛 "操作失败" 500
- 修复: 不再 delete expertId (后端 insert/update 都依赖该字段)
2. 前端操作失败弹两次
- request.js 响应拦截器在 code != 200 时自动 ElMessage.error
- onSave 的 catch 又 ElMessage.error 一次
- 修复: 加 __silentError 请求配置项, 拦截器遇此 flag 不自动 toast
- api/public.js bizAdd/bizUpdate 加第 3 参数 opts 透传给 request
- ExpertNew.vue onSave 调用时传 __silentError: true, 由 catch 块按业务语义
决定 黄警 (手机号重复) 还是 红错 (其它)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-17 00:43:40 +08:00 |
|
 郭庆泰andClaude
|
15fd26af30
|
feat(manager): 专家审核页修改按钮跳转独立编辑页
参考 /admin/experts/new 模式:
- 新建 ry-vue3/src/views/manager/ExpertNew.vue (15 字段, 1:1 抄 admin 版, 仅 goBack 跳 /manager/experts)
- router 加 /manager/experts/new 和 /manager/experts/edit/:id 两条路由, 复用 ExpertNew 组件
- manager/Experts.vue 操作列 "修改" 按钮 → router.push('/manager/experts/edit/:id')
- 加 route watcher, 从编辑页返回时自动重载列表
- 新建专家按钮保留原 dialog (按用户当前只要求改修改按钮)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-17 00:40:45 +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 |
|
郭庆泰
|
0c093076a4
|
批量推送
|
2026-08-16 13:42:26 +08:00 |
|
郭庆泰
|
c612d4297a
|
feat: 统一角色枚举 (meetingExecutor/supervisor) + 子账号数据隔离 + Login 读取后端 role_type
后端:
- SysUser 加 roleType 字段 (entity + mapper selectUserVo + service 接口/实现)
- SysUserMapper 新增 selectUserIdsByParent (按 parent_user_id 取子账号列表)
- BizPersonController.list 自动注入 MAIN 业务用户可见性: 仅查 user_id IN (子账号列表)
- BizPersonMapper 加 params.subUserIds foreach 过滤
- BizPerson/BizPersonServiceImpl 配合 getParams().put
前端:
- Login.vue 改用后端 sys_user.roleType 替代 username 前缀 autoRole, 修复 exe01 错入 leader 菜单
- utils/roleMap.js 新增: meetingExecutor->会议执行, supervisor->监察员
- executor/People.vue / sponsor/NewPerson.vue / sponsor/Projects.vue / sponsor/SponsorProjects.vue /
manager/ManagerProjectDetail.vue / manager/{Executor,Sponsor}PersonNew.vue /
admin/{Executor,Sponsor}PersonNew.vue 全部改为 enum key
SQL:
- migration_unify_role_type_2026_08_16.sql 清洗 biz_person.role 从中文到 enum key
|
2026-08-16 13:41:42 +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 |
|