Files
ops2/.workbuddy/memory/2026-04-29.md
T
2026-04-29 14:52:42 +08:00

44 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-04-29 工作日志
- 修复 SysAdminView.vue 第 849 行 `<img ... />` 占位符 bug(上一轮 i18n 修改误删内容),恢复为 `<img :src="usersStore.getAvatarUrlFromUserID(adminId)" class="w-5 h-5 rounded-full" alt="avatar" />`
-`en.json``message` 节点补充缺失的 `"sysadmin": "System Admin"` 翻译
- 全面重新分析代码结构,更新并精简 MEMORY.md(整合后端 main.go 启动流程、apiSysAdmin 完整路由、前端路由守卫逻辑、stores/user.js isSysAdmin 机制等)
- 将 SysAdminView.vue 拆分为三个子组件:`src/views/sysadmin/UsersTab.vue`(用户管理+详情弹窗)、`GroupsTab.vue`(用户组+添加/移除成员)、`LogsTab.vue`(登录失败日志);父组件改用 v-show 保持子组件挂载,UsersTab 自身 onMounted 加载数据,Groups/Logs 由父组件 watch(activeTab) 懒加载
- 将 SysAdminView.vue 整体移入 `src/views/sysadmin/` 目录,并更新 router/index.js 中的引用路径为 `@/views/sysadmin/SysAdminView.vue`
- 客户模块权限改造:移除 `/getinfo` 返回的 `isCustomerAdmin`,改为按记录返回 `edit` 权限标记
- 后端 `apiCustomer.go`:新增 `canModifyCustomer()` 函数(创建者或管理员可编辑),`/list` 每条记录附加 `edit` 字段,`/get` 返回 `canModify``/update``/delete` 改用 `canModifyCustomer` 校验权限
- 后端 `apiUsers.go`:移除 `isCustomerAdmin` 返回
- 前端 `stores/user.js`:移除 `isCustomerAdmin` 状态
- 前端 `CustomerList.vue`:改用 `customer.edit` 控制编辑/删除按钮显示,新增按钮始终显示(后端会校验权限)
- 客户称呼选项调整:移除"夫人"/"博士",新增"单位"作为默认选项
- `CustomerFormModal.vue``titleOptions` 改为 `['Unit', 'Mr', 'Ms']`,默认值改为 `'Unit'`
- `zh-CN.json`:新增 `salutation_unit: "单位"`,移除 `salutation_mrs`/`salutation_dr`
- `en.json`:新增 `salutation_unit: "Unit"`,移除 `salutation_mrs`/`salutation_dr`
- 后端 `apiCustomer.go``Title` 字段注释改为 `称呼:Unit/Mr/Ms`
- 客户表单字段顺序调整:姓在前(必填),名在后(非必填)
- `CustomerFormModal.vue`:表单 grid 改为 姓 → 名,移除 `first_name` 必填验证
- `CustomerList.vue`:列表显示改为 `last_name + first_name` 顺序
- 创建客户详情页 `CustomerDetail.vue`
- 显示客户基本信息(姓名、称呼、创建时间、创建者)
- 显示电话列表(含主号码标记)
- 显示邮箱列表(含主邮箱标记)
- 显示单位列表(含主单位标记)
- 编辑按钮(仅 `canModify` 为 true 时显示)
- 返回按钮
- 创建客户编辑页 `CustomerEdit.vue`(包装 `CustomerFormModal`
- 添加路由:`/customer/detail/:id``/customer/edit/:id`
- `CustomerList.vue`:姓名改为可点击链接,跳转到详情页
- i18n:添加 `common.back``customer.detail_title``customer.basic_info``customer.created_by``customer.not_found` 等翻译
- 工单-客户关联功能
- `binds.go`: 新增 `TabWorkOrderCustomerBind` 关联表,在 `BindsInit()` 中注册
- `apiWorkOrder.go`: `/get` API 返回 `linkedCustomers`;新增 `/link_customer``/unlink_customer` API
- `ShowWorkOrder.vue`: 详情页显示关联客户,支持搜索/关联/解除关联客户
- `work_order.js`: 添加 `linkCustomer``unlinkCustomer` API 方法
- `AddEditWorkOrder.vue`: 新增工单时支持搜索并关联客户
- i18n: 添加 `linked_customer``linked_customers``link_customer_placeholder` 等翻译
- 工单编辑页支持关联物品和客户(多选)
- `AddEditWorkOrder.vue`: 移除 `v-if="!isEdit"` 限制,编辑模式也显示关联物品/客户搜索框
- `AddEditWorkOrder.vue`: 编辑模式加载时回填 `selectedItems``selectedCustomers`
- `AddEditWorkOrder.vue`: 编辑提交时发送 `item_ids``customer_ids`
- `apiWorkOrder.go`: `/update` 接口新增 `ItemIDs``CustomerIDs` 字段,重建物品/客户关联绑定