Commit Graph
27 Commits
Author SHA1 Message Date
guoju0808 646f9195e8 fix: Experts manager 角色操作列宽度 240→130 (只有 2 按钮)
manager 角色操作列只有 2 个按钮 (审核 + 修改; 已拒绝 是条件显示),
240px 太宽, 130px 足够.
2026-08-26 12:21:45 +00:00
guoju0808 3a203f4d48 Revert "fix: Experts 操作列太宽 (admin 320/manager 240 → admin 120+更多/manager 180)"
This reverts commit 161fe98a18.
2026-08-26 12:21:33 +00:00
guoju0808 161fe98a18 fix: Experts 操作列太宽 (admin 320/manager 240 → admin 120+更多/manager 180)
原操作列 1 个 column + :width="isAdmin ? 320 : 240", 5/3 个按钮排成一行
但实际内容仅 ~190/76px, 留白过多; 手机端 240/320 直接挤爆.

改造:
- admin (5 个按钮): '审核' 外置 + '更多▼' 折叠次要 (修改/查看/启用/禁用/已拒绝)
  → width 320 → 120
- manager (≤3 个按钮): 全部外置 (审核/修改/已拒绝)
  → width 240 → 180
- 操作列拆为 v-if=isAdmin / v-else 两个独立 column
- 加 onExpertMore 函数处理更多下拉 command 路由
- 加 ArrowDown icon import
- mobile 操作列进一步紧凑: 字号 11px, padding 0 3px, is-right 缩窄 4px
- 已拒绝 (查意见) 移入更多下拉, 仅 auditStatus=3 时显示

桌面端布局: 操作列从占 ~25% 桌面宽 → 占 ~10%
手机端: 操作列从 320px (撑爆) → 120/180px 紧凑
2026-08-26 12:18:36 +00:00
guoju0808 444272cbba Revert "feat: MeetingDetail 参会人表改用 GrTable + 移除合计行"
This reverts commit 8542d545d5.
2026-08-26 12:16:17 +00:00
guoju0808 8542d545d5 feat: MeetingDetail 参会人表改用 GrTable + 移除合计行
GrTable 增强 (sibling subagent 已完成重构):
- mobile 模式从 el-table expand 行改为 el-descriptions 卡片列表
- 每行一张卡, 显示所有列
- 通过 extractDefaultSlot 抓取自定义 #default slot 的 vnode
- renderTemplate 在 mobile 卡片里渲染原始 vnode (含 maskPhone/maskBankCard/
  maskIdCard/openPreview/el-link/el-tag 等自定义 template)
- 支持无 prop 自定义 template 列在 mobile 正确渲染

MeetingDetail 改动:
- el-table → GrTable (show-summary 移除, 不要合计行)
- 移除 attendeeSummary 函数 (合计不再需要)
- 移除之前 mobile attendee-table 紧凑规则 (mobile 走卡片分支, 不需要)
- v-bind $attrs 透传 v-loading/border/size 给桌面 el-table
- 修复 GrTable 闭合标签 (</el-table> → </GrTable>)

桌面端 el-table 完整渲染不变 (sibling 完整保留透传逻辑)
mobile 端: 每行一张 el-descriptions 卡, 27+ 列全部展示, 自定义 template 正常渲染
2026-08-26 12:14:25 +00:00
guoju0808 2fa91cf770 feat: MeetingDetail 参会人表格移动端适配 (字号 12→11px/padding 紧凑/操作列竖排)
参会人表 27+ 列宽表含大量自定义 template 列 (maskPhone/maskBankCard/
maskIdCard/openPreview 等), 用 GrTable 会丢失自定义渲染.
改为轻量适配:
- 表格整体 font 12 → 11px
- th/td padding 6/4 → 4/3px
- 操作列 row-actions flex row → column (紧凑)
- el-tag 字号 12 → 10px, padding/height 缩窄
- 摘要行 el-table__footer 字号 11px
- 加 class="attendee-table" 用于 scoped 控制

桌面端无影响 (全部在 @media (max-width: 768px) 内)
2026-08-26 12:09:15 +00:00
guoju0808 8067dfd3be feat: MeetingDetail 移动端精细适配 (双栏→单栏/工具栏横滚/时间轴缩窄)
路由 /manager/meetings/view/:meetingId → MeetingDetail.vue (readonly)

之前已有基础 media query (卡片/工具栏/filter-form/表格),
但未针对此页特有结构:
- .cols-row 8fr/2fr 双栏 → 1fr 单栏堆叠
- .info-grid 1fr/1fr 双栏 → 1fr 单栏
- .info-row flex 横排 → 纵向 (label 上, value 下)
- .info-label 110px flex 0 0 → 自适应
- .card padding 20/24 → 14/16
- .page-title 22px → 18px
- .section-title 16px → 15px
- .attendee-toolbar (5 按钮) 横滚
- .attendee-form-2col 双栏 → 单栏
- .file-row 110px 1fr → 单栏 (label 上 value 下)
- .file-label text-align right → left
- .file-hint grid-column 2 → 1
- .fee-summary padding-left 110px → 0
- .tab-actions 横滚 (按钮多)
- .timeline / .audit-sub-timeline 缩窄
- .page-title flex-wrap (返回/操作按钮组)
- .attendee-table-wrap iOS 横滚优化

桌面端无变化 (全部在 @media (max-width: 768px) 内)
2026-08-26 12:03:50 +00: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 61303a822b feat: manager/workbench 移动端精细适配 (KPI 2列/单列/role-grid/快捷入口单列)
之前 Workbench 已有基础 media (1200px 5→3列, 768px 5→2列), 但:
- KPI 卡 padding 没缩, 字号没缩
- 双栏内容没堆叠
- 角色卡 padding 没缩
- 快捷入口 8 项还是 2 列, 手机端拥挤
- 超窄屏 (≤480px) 无适配

新增:
≤768px:
- 容器 padding 0 4px
- 面包屑 12px
- KPI 2 列, 数字 30→22px, padding 12px
- content-grid 强制单列
- content-card padding 14/16
- 角色卡 2 列, padding 10/12, 数字 22→18px
- 快捷入口 1 列 (8 项单列更易点)

≤480px:
- KPI 单列, role-grid 单列
- stat-value 20px
- content-card padding 12/14

不影响桌面: 所有规则都在 @media 内
2026-08-26 11:57:13 +00:00
guoju0808 d318e4383f fix: manager/Plans 操作列折叠次要操作 (审核/结算进更多下拉, 操作列 200→120px)
- 外置'修改' (高频)
- 折叠'审核/结算' 到 el-dropdown'更多'
- 操作列 width:200 → 120, 桌面+手机端共享同一模板
- 复用 main.scss 已有的 .op-dropdown + .op-caret 样式
- 禁用条件: 审核仅 planStatus='0' 可点, 结算仅 isSettled!=='Y' 可点 (逻辑移到 dropdown :disabled, 跟原 v-if 行为一致)
2026-08-26 11:50:28 +00:00
guoju0808 8b6a0b4e27 feat: Publicity 公示页移动端适配 (顶栏紧凑 + nav 横滚 + 列表卡片化)
Publicity.vue 是公共项目公示页, 有完整桌面布局 (1354px min-width, 72px 顶栏,
60px padding, 36px nav 间距), 手机端需要专门的 media query 才能正常显示:

≤768px:
- body min-width: 0 (解除桌面 1354 强制)
- 顶栏 72→56px, padding 60→12px
- logo 36→30px, title 16→14px
- nav-list 横向滚动 + gap 36→16px
- 顶栏用户区紧凑 (font 15→13px)
- container padding 收窄 (16/12)
- filter-bar 单列, filter-input 全宽
- 列表项 padding 12px, 字号适配
- 弹窗 width 100vw 全屏化

不影响桌面: 所有规则都在 @media (max-width: 768px) 内

不需要适配的页面 (已 mobile-friendly):
- App.vue / PortalLayout.vue (纯容器)
- views/doctor/SignContract.vue (mobile-first 设计, 固定底栏)
- components/* (11 个组件用 flex + min-width:0, 自动响应)
2026-08-26 11:47:04 +00:00
guoju0808 d26a99f821 feat: 批量 H5 适配 (37 个 form/card 页面加统一移动端规则)
覆盖: Account (4 角色), BizArticleAdmin/Edit, BizSpecialPlanAdmin/Edit,
ExpertDetail, LaborProtocolEdit, Roles, Register 系列 (3), doctor 系列
(Account/Meetings/SignFill/SignSuccess/SubmissionDetail/SubmissionNew),
executor 系列 (Account/NewPerson/Overview/PersonDetail),
executor-people 系列 (PersonDetail/PersonNew),
expert/ExpertNew, manager 系列 (Accounts/ProjectsNew/ManagerProjectsAssign),
meetings 系列 (MeetingDetail 1993L/MeetingNew), messages/Messages,
portal 系列 (Invitation/SupportLetter),
sponsor 系列 (Account/NewPerson/PersonDetail),
sponsor-people 系列 (PersonDetail/PersonNew)

统一规则 (≤768px):
- 卡片 padding 12px, radius 4px
- 工具栏横向滚动 (overflow-x)
- filter-form 保持横向 (label 80px 右对齐 + input 占满)
- 查找/重置按钮垂直堆叠 (block + margin-top 8px)
- 表格字号 12px

不影响桌面端: 所有规则都在 @media (max-width: 768px) 内
2026-08-26 11:46:07 +00:00
guoju0808 bfc801a16a feat: 批量移动端适配 (24 个列表页 + 13 个宽表用 GrTable)
- 给 24 个有 filter-form 但无 media query 的列表页统一加 @media (max-width:768px)
  - 卡片 padding 收窄 (12px, radius 4px)
  - 工具栏横向滚动 (6+ 按钮铺不下)
  - filter-form 保持横向布局 (label 左 80px 右对齐 + input 右占满)
  - 查找/重置按钮垂直堆叠不偏移
  - 表格字号 12px

- 13 个宽表 (≥10 列) 替换为 GrTable 组件:
  - sponsor/Projects, executor/Projects, sponsor/SponsorProjects
  - sponsor/SponsorPeople, expert/Experts, executor/People
  - meetings/Meetings, sponsor/Meetings, executor/Meetings
  - manager/ExecIntent, manager/SupportIntent, manager/Plans
  - admin/Users
  - 每个页面的 mainCols 取业务主键 (项目编号+名称 / 账号+姓名 等)
  - 手机端次要列折叠到展开行, 主列+操作列保留

- 修复 executor/Projects.vue 多行 el-table 标签导致的 GrTable 替换错误

全 95 个 vue 编译 200, 0 错误
2026-08-26 11:43:08 +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 8ac3538341 style: 去除操作列竖线分隔 (padding 6→4px, 节省操作列宽度) 2026-08-26 11:36:06 +00:00
guoju0808 31b3fb504a fix: GrTable 移动端保留操作列 fixed="right" 2026-08-26 11:35:10 +00:00
guoju0808 4de6479be0 fix: GrTable 移动端去除 fixed 方向 (主列+操作列不再 fixed) 2026-08-26 11:34:32 +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 02715a1385 fix: main.scss 移动端 el-table 规则 3 个 bug 2026-08-26 11:22:02 +00:00
guoju0808 7cf8c5b660 feat: manager/Projects 移动端适配 (工具栏横滚/筛选栏堆叠) 2026-08-26 11:19:00 +00:00
guoju0808 e5d7d08ec1 feat: PlanEdit 移动端适配 (单列堆叠/label 上对齐/按钮全宽) 2026-08-26 11:17:30 +00:00
guoju0808 a763598637 feat: ManagerProjectDetail 移动端适配 (单列堆叠/表格横滚/按钮全宽) 2026-08-26 11:16:43 +00:00
guoju0808 58f02f1262 fix: AdminLayout 汉堡抽屉蒙层被 aside 遮挡不可点击 2026-08-26 11:15:19 +00:00
guoju0808 8a08c8378f feat: 全局移动端适配 AdminLayout 汉堡抽屉 + 67 页通用规则 2026-08-26 11:13:12 +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