up实现查看日志功能
This commit is contained in:
@@ -1,56 +1,23 @@
|
||||
# 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` 字段,重建物品/客户关联绑定
|
||||
- 仓库物品添加页支持关联客户
|
||||
- `binds.go`: 新增 `TabWarehouseItemCustomerBind` 关联表(物品-客户多对多)
|
||||
- `apiWarehouse.go`: `/add_item` 接口新增 `CustomerIDs` 字段,仅新建物品时创建客户关联绑定
|
||||
- `WarehouseAddItem.vue`: 添加客户搜索选择组件(多选),提交时发送 `customer_ids`
|
||||
- 使用已有的 `customerApi.list()` 搜索客户
|
||||
- 仓库物品详情页显示关联客户
|
||||
- `apiWarehouse.go`: `/get_item` 接口返回 `customers` 列表(包含客户 ID、姓名、称呼)
|
||||
- `WarehouseItemDetail.vue`: 新增"关联客户" Tab,显示关联客户列表(头像、姓名、称呼),点击可跳转到客户详情页
|
||||
- i18n: 添加 `warehouse.customers` 和 `warehouse.no_customers` 翻译
|
||||
- 仓库物品编辑页支持关联客户
|
||||
- `apiWarehouse.go`: `/update_item` 接口新增 `CustomerIDs` 字段,重建客户关联绑定
|
||||
- `WarehouseItemEdit.vue`: 添加客户搜索选择组件(多选),加载时回填已关联客户,提交时发送 `customer_ids`
|
||||
- i18n: 添加 `warehouse.linked_customers`、`warehouse.linked_customer_placeholder`、`warehouse.linked_customer_not_found` 等翻译到 `warehouse` 节点
|
||||
## 完成的工作
|
||||
|
||||
### 1. 客户详情页添加编辑按钮
|
||||
- 文件: `frontend/ops_vue_js/src/views/customer/CustomerDetail.vue`
|
||||
- 功能: 根据后端返回的 `canModify` 字段显示/隐藏编辑按钮
|
||||
- 权限逻辑: 创建者或客户管理员可编辑
|
||||
|
||||
### 2. 操作日志功能
|
||||
- 后端 API: `backend/my_work/routers/apiSysAdmin.go`
|
||||
- 新增 `/operation_logs` 接口,聚合所有模块的操作日志
|
||||
- 支持按模块筛选: all/customer/purchase/schedule/warehouse/work_order
|
||||
- 支持分页,最新日志在前
|
||||
|
||||
- 前端组件: `frontend/ops_vue_js/src/views/sysadmin/OperationLogsTab.vue`
|
||||
- 左侧模块选择器,右侧日志表格
|
||||
- 分页显示,最新日志在前
|
||||
|
||||
- 系统管理页面: `frontend/ops_vue_js/src/views/sysadmin/SysAdminView.vue`
|
||||
- 新增"操作日志"标签页
|
||||
|
||||
- 翻译文件: 添加了 `operation_logs` 相关翻译键
|
||||
|
||||
Reference in New Issue
Block a user