Commit Graph

74 Commits

Author SHA1 Message Date
DXC
355a21e94c 物料搜索:el-select 重构为 el-autocomplete Regression 修复(value-key 缺失 + parentNameInput 未声明 + onChildClear 不完整) 2026-06-05 11:02:35 +08:00
DXC
ff5418afa3 入库模块:物料搜索点击无感修复 + 类别校验白名单准入制
前端(buy/semi/product/service.vue,4 文件):

修复物料搜索"点击已聚焦 input 时内容被清空"交互 bug。

el-select 在 filterable+remote 模式下点击已聚焦的 input 时,el-select 内部

会 emit query='' 触发 remote-method,绕过 handleMaterialDropdownVisible

入口保护,直接清空 searchKeyword 和 materialOptions,导致用户被迫重写。

新增两层防御实现"编辑无感":

1) handleMaterialDropdownVisible 入口拦截:已选过物料(form.base_id 有值)

   时下拉打开直接 return,不请求默认列表

2) handleSearchMaterial 内部拦截:拦截 el-select 内部 emit 的空 query,

   仅在 form.base_id 有值 + safeQuery 为空 + 列表非空时 return

后端(buy/semi/product_service.py,3 文件):

入库类别校验从黑名单改为白名单准入制,彻底杜绝"成品进半成品库"

等非法组合(d94b52b 黑名单方案"成品不能进采购库"已挡不住这种组合)。

- buy_service.py: 黑名单(禁半成品/成品进采购)→ 白名单(必须含"原材料")

- semi_service.py: 统一错误信息格式为"只有【半成品】才允许半成品入库!"

- product_service.py: 统一错误信息格式为"只有【成品】才允许成品入库!"

- 三处空 category 统一显示为"未分类"

配合前端已修复的 catch 块(e.response.data.msg 精准提取),后端新错误

信息可原样弹窗给用户。
2026-06-04 17:57:17 +08:00
DXC
8bb3e58b44 前端全局:<el-select remote> 三道防线扩展到 BOM 配方/采购/采购入库/售后入库
- 第一道防线:<el-select> 模板显式补充 reserve-keyword="true" / default-first-option="true",覆盖 4 文件 5 实例

- 第二道防线:handleRemoteSearch / handleSearchMaterial 首行深度净化 query(零宽字符/控制字符/BOM/不可见 Unicode)

- 第三道防线:handleVisibleChange / handleMaterialDropdownVisible 加竞态守卫,已有 searchKeyword 或 options 非空时跳过默认列表加载;带 debounce 的场景主动 clearTimeout 互斥

- service.vue 原本缺少 searchKeyword 状态,本轮新增 ref('') 专供 el-select 守卫使用

- BomManage.vue 父件/子件共用 handleVisibleChange,两套守卫分别按 parentQueryParams.keyword 和 state.queryParams.keyword 隔离判断
2026-06-04 16:44:59 +08:00
DXC
d51c6f147f 前端:所有 <el-dialog> 统一添加 :close-on-click-modal="false" 防误触关闭(保留 Esc 关闭) 2026-06-04 15:16:16 +08:00
DXC
a3d47f6328 入库管理三页面类别搜索统一为级联选择器;基础信息“俗名”改名为“出厂名称” 2026-06-04 11:05:58 +08:00
dxc
034418df8a V3.38版本修改,三种入库按照基础信息内容进行修改 2026-05-29 14:26:52 +08:00
dxc
895d78a5e7 版本变更V3.33添加支持更新后识图功能 2026-05-25 11:20:45 +08:00
DXC
567c3175f6 fix: 审计日志跳过向量字段,修复 numpy 数组比较异常;补全三大入库单更新向量提取,统一删除确认弹窗 2026-05-25 11:11:10 +08:00
DXC
ee893485bb feat: 推广粘贴上传功能至所有图片上传页面(purchase/buy/product/semi) 2026-05-15 14:29:25 +08:00
DXC
9fa471f68a fix: 修复物料列表跳转联动与弹窗定位逻辑 2026-04-27 14:41:26 +08:00
DXC
1499d2d45c feat(buy): 入库编辑弹窗增加'前往修改基础信息'跳转按钮 2026-04-24 14:45:43 +08:00
DXC
6c0e13e52d fix(frontend): reclassify global cross-company privilege as an operation to fix UI placement, and strictly enforce permission-driven table columns by bypassing localstorage 2026-04-17 09:36:23 +08:00
DXC
c72e6e198e fix(inbound): remove redundant /api prefix in history location requests 2026-04-08 17:38:19 +08:00
DXC
4a4baa2f8f fix: sort warehouse tree by name, fix tree batch delete cascade, and implement safe history location autofill 2026-04-08 17:32:00 +08:00
DXC
6d80c90b66 feat: add 'not contains' operator, implement inbound record export, and verify export filter rules 2026-04-07 17:23:00 +08:00
DXC
08c921fe66 feat: standardize default page size to 20, add pagination to pick list, and fix table horizontal scrollbar visibility 2026-03-23 14:38:08 +08:00
DXC
2242aca6fe feat: implement user-specific column preferences and remove hardcoded defaults in inbound tables 2026-03-23 11:57:45 +08:00
DXC
f701ed7fc8 fix: disable clickable material name links for users without edit permissions across all inbound tables 2026-03-23 11:19:25 +08:00
DXC
d7df1dea57 fix: add write permission to QA buttons and decouple inbound/print quantities 2026-03-20 13:31:37 +08:00
DXC
e6dafc7775 feat: add global toast message on form validation failure for inbound operations 2026-03-18 17:25:14 +08:00
DXC
878d11af28 fix: reset stock quantity color and enforce location validation for all inbound operations 2026-03-18 17:04:23 +08:00
DXC
11f5a1f51e fix: patch validation bypass for mandatory inspection 2026-03-17 13:26:17 +08:00
DXC
c1c494893f feat: implement dynamic inspection requirement logic based on material master data 2026-03-17 11:56:04 +08:00
DXC
3ba4e74a60 fix: support multiple copies printing natively in backend print service 2026-03-13 10:06:28 +08:00
DXC
9b290506da feat: lock dialog and disable close actions during image upload to prevent orphan files and state errors 2026-03-13 09:23:35 +08:00
dxc
d8e86959b8 fix: 基础信息排序问题 2026-03-12 09:29:50 +08:00
dxc
25fbb293df fix: 禁用高级筛选内下拉框的 teleport,解决选择选项后导致 Popover 意外关闭的问题 2026-03-11 15:09:49 +08:00
dxc
31d91bceb0 fix: 恢复搜索框原有的动态搜索功能,并与指定字段精确搜索前缀完美融合 2026-03-11 13:43:43 +08:00
dxc
b1cc280a71 feat: 重构全局搜索框为复合条件选择,支持按名称、俗名、规格进行精准查杂 2026-03-11 13:37:52 +08:00
DXC
525acae423 feat: 新增按钮级权限指令 v-permission 与 Axios 全局防重复提交机制 2026-03-10 11:59:41 +08:00
DXC
6fc6851e57 perf: 开启列表图片懒加载并优化分页大小 2026-03-10 09:29:49 +08:00
DXC
43d16cd196 feat: 列表页搜索框增加即时搜索与防抖机制 2026-03-09 17:36:54 +08:00
DXC
5d813c24bc feat: 采购/半成品/成品列表拆分SKU独立搜索框 2026-03-09 17:29:24 +08:00
DXC
646baa08fe feat: 采购/半成品/成品列表支持基于SKU的模糊搜索 2026-03-09 17:21:00 +08:00
DXC
f9eb3e9646 feat: 封装下钻式库位选择器,并修复层级颜色识别问题 2026-03-06 15:11:30 +08:00
DXC
8aaf45468e style: 优化库位树层级颜色,并升级入库页面的库位选择为树形选择器 2026-03-06 15:00:04 +08:00
DXC
7201b658fb feat: 优化库位树UI层级颜色,并将入库页面库位输入升级为级联选择器 2026-03-06 14:52:47 +08:00
dxc
e39c3fd030 筛选高级权限修改,基础信息启用禁用修改 2026-03-03 17:29:21 +08:00
dxc
348409b69d 统一采购件入库页面高级管理权限 2026-03-03 11:12:19 +08:00
dxc
893be24071 feat: add column sorting and advanced filtering for purchase inbound
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-03-02 15:39:32 +08:00
dxc
b85f28fc72 修改采购件页面金额显示,修改权限管理页面非字段级内容可见与可编辑联动 2026-02-28 09:23:07 +08:00
dxc
8f6d0cd40b 修改采购件页面金额显示,修改权限管理页面非字段级内容可见与可编辑联动 2026-02-28 09:10:51 +08:00
dxc
fbff519ac9 fix: remove duplicate updatePrices function
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 16:06:18 +08:00
dxc
657c916703 feat: add post-tax unit price, company filter, and frontend price linkage
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 15:58:55 +08:00
dxc
3c1c822f88 feat: add pre/post-tax price linkage, hide barcode, and tablet adapt
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 15:44:10 +08:00
dxc
afcf90a859 feat: enforce field-level permissions for buy and service modules
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 15:03:44 +08:00
dxc
b5b1efdc4e fix: remove duplicate allColumns declaration
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 11:56:15 +08:00
dxc
56bb6a1c84 chore: add user store import to buy inbound view
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 11:51:28 +08:00
dxc
379bc5786f feat: implement RBAC for inbound buy module with field-level permissions
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-27 11:48:33 +08:00
dxc
31ddb1aafd 将半成品成品同样进行新增所属公司以及内容修改 2026-02-24 16:16:17 +08:00