5.2 KiB
5.2 KiB
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_dren.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:/getAPI 返回linkedCustomers;新增/link_customer和/unlink_customerAPIShowWorkOrder.vue: 详情页显示关联客户,支持搜索/关联/解除关联客户work_order.js: 添加linkCustomer和unlinkCustomerAPI 方法AddEditWorkOrder.vue: 新增工单时支持搜索并关联客户- i18n: 添加
linked_customer、linked_customers、link_customer_placeholder等翻译
- 工单编辑页支持关联物品和客户(多选)
AddEditWorkOrder.vue: 移除v-if="!isEdit"限制,编辑模式也显示关联物品/客户搜索框AddEditWorkOrder.vue: 编辑模式加载时回填selectedItems和selectedCustomersAddEditWorkOrder.vue: 编辑提交时发送item_ids和customer_idsapiWorkOrder.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节点