feat: 工单系统优化 - 修复自动跳转问题并添加用户筛选功能 #18
Reference in New Issue
Block a user
Delete Branch "master"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
缘由:上一次提交(802eaa3)在 UserVmDetail.vue 流量上限单元格内追加的"修改"按钮误用了不存在的 handleCommand,点击时报 _ctx.handleCommand is not a function。该文件中触发 updateTraffic 的实际函数名为 handleMoreCmd(行 1329),dropdown 的 @command 也是绑到该函数。 修改:仅将 132 行附近的 @click="handleCommand('updateTraffic')" 改为 @click="handleMoreCmd('updateTraffic')"。 预期:流量上限单元格的"修改"按钮可正常触发 trafficVisible 弹窗,与 dropdown "修改带宽"行为一致。 测试:admin_dashboard_pc 本地 dev 已 HMR 更新,未见编译/控制台报错。VmDetail.vue 同名样式与按钮独立、不受影响。 Co-authored-by: Cursor <cursoragent@cursor.com>缘由:上次(802eaa3)我把概览"流量上限"的"修改"按钮挂到旧 update_traffic 接口 (兼容字段 traffic_max),与 docs/2026.05.08.12.37-add.json 中真正的流量策略接口 (traffic_policy/update + add_fixed + add_temporary)路径错位;同时 vm 详情返回 已新增 traffic_max_mb / temporary_traffic_mb / temporary_cycle_start / traffic_used / traffic_exhausted_rx_mbps / traffic_exhausted_tx_mbps 等字段,概览未体现。 修改: - UserVmDetail.vue & VmDetail.vue 概览将"流量上限"单值 cell 改为分段展示: 主行 已用/总量;副行 基础 + 临时(含周期起始日期);按钮组「修改」「加临时」。 - 主行/副行字段来源 add.json 新字段,旧 traffic_max 仅作 fallback。 - 「修改」按钮改挂 openTrafficPolicyDialog / openVmTrafficPolicyDialog (对应 user_vm/traffic_policy/update 与 host_service/point/vm/traffic_policy/update); 「加临时」直达 openAddTrafficDialog('temporary') / openVmAddTrafficDialog('temporary')。 - openTrafficPolicyDialog / openVmTrafficPolicyDialog 增加 vm / detail 字段 fallback, 并在 trafficPolicy 未加载时异步触发 loadTrafficPolicy,避免懒加载导致初值全 0。 - 新增 formatTrafficMb helper(VmDetail.vue)处理 MB 自适应单位、对 0 友好输出。 - 新增 .traffic-cell 系列样式。 预期: - 详情概览能直接看到 总/已用/基础/临时/周期 五个关键信息。 - 概览"修改"走 add.json 中的新流量策略接口,与"流量策略" tab 行为一致。 - 旧 dropdown 中"修改带宽"路径保留(不删除),用于纯带宽场景。 未测试:admin_dashboard_pc 本地 HMR 已更新,无编译/控制台报错。新流量策略接口与 真实 vm.value 字段填充尚需联调验证(特别是 traffic_used 单位假设为 MB,若实际为 字节需调整 formatTraffic / detailTrafficUsedMb 的换算)。 Co-authored-by: Cursor <cursoragent@cursor.com>缘由: 1) UserVmSecurityGroupSelector 中新增安全组成功后,若后端返回码非严格 200 则 showCreate 不会置 false、列表不会刷新、无成功反馈。 2) /user-goods/vm-detail 概览第一行 vCPU、内存、下行带宽、上行带宽 各占一格, 需求要求 vCPU+内存 合并为一格、上行+下行带宽 合并为一格并加编辑按钮。 修改: - UserVmSecurityGroupSelector.vue submitCreate:响应码判断放宽为 200/201/2xx; catch 块提取 e.response.data.message 作更精确的错误信息。 - UserVmDetail.vue config-row 第一行:vCPU/内存 合并为「vCPU / 内存」单格; 带宽合并为「带宽 ↓ / ↑」单格并内嵌修改按钮(handleMoreCmd('updateTraffic')); 原第二行重复的用户名/远程端口 cell 移至第一行,外网IP/内网IP 独占第二行。 预期: - 安全组选择器中新增安全组后弹框关闭、列表刷新、显示成功消息。 - 概览第一行信息密度提升,带宽格可一键触发修改带宽弹框。 测试:admin_dashboard_pc 本地 HMR 通过,无编译/lint 报错。 安全组新增接口联调需在有后端环境下验证实际 response code。 Co-authored-by: Cursor <cursoragent@cursor.com>