32 lines
1.6 KiB
Markdown
32 lines
1.6 KiB
Markdown
# 2026-04-23 日志
|
||
|
||
## 物品详情页编辑弹窗增加图片管理功能
|
||
|
||
**涉及文件:**
|
||
- `frontend/ops_vue_js/src/views/warehouse/WarehouseItemDetail.vue` — 编辑弹窗增加 `useDropzone` 组件,支持加载已有图片、上传新图片、删除图片
|
||
- `frontend/ops_vue_js/src/components/useDropzone.vue` — 导出 `loadInitialFiles` 方法供外部调用
|
||
|
||
**实现方式:**
|
||
- 编辑弹窗中新增 `editDropzoneRef` ref,绑定 `useDropzone` 组件
|
||
- `openEdit()` 时调用 `loadInitialFiles()` 刷新初始文件
|
||
- `submitEdit()` 时从 dropzone 获取所有图片哈希(包含新上传和已存在的),一并传给 `updateItem` API
|
||
- 后端 `update_item` API 已支持 `photos` 字段,会重建图片绑定
|
||
|
||
**关键代码片段:**
|
||
```javascript
|
||
// 提交时获取所有图片哈希
|
||
const photos = getEditPhotoHashes()
|
||
warehouseApi.updateItem({ id, name, serial_number, remark, quantity, photos })
|
||
```
|
||
|
||
## 物品编辑改为独立页面
|
||
|
||
**涉及文件:**
|
||
- `frontend/ops_vue_js/src/views/warehouse/WarehouseItemEdit.vue` — 新建,物品编辑独立页面
|
||
- `frontend/ops_vue_js/src/views/warehouse/WarehouseItemDetail.vue` — 编辑按钮改为 `router.push('/warehouse/item/edit/:id')`,移除弹窗代码
|
||
- `frontend/ops_vue_js/src/router/index.js` — 新增 `/warehouse/item/edit/:id` 路由
|
||
|
||
**实现方式:**
|
||
- 创建 `WarehouseItemEdit.vue`,`onMounted` 获取物品数据(包含已有图片),通过 `setTimeout` 调用 `loadInitialFiles()` 加载到 dropzone
|
||
- 详情页编辑按钮改为跳转,移除弹窗及相关 state/function
|