|
|
afe0f25415
|
物料类别隔离校验:buy 改黑名单 + semi/product 改精确路径匹配,消除子串包含Bug
|
2026-06-05 13:01:39 +08:00 |
|
|
|
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 |
|
|
|
d94b52bf73
|
入库模块:物料类别隔离硬性校验(写拦截,读放宽)
|
2026-06-04 17:19:43 +08:00 |
|
|
|
8a2da1ac1e
|
半成品/成品入库:BOM 编号下拉按父件规格联动过滤(前后端双端改造)
- 后端 /inbound/{semi,product}/search-bom 增加 parent_spec 可选参数,Service 层在 MaterialBase.spec_model 上加等值过滤
|
2026-06-04 16:01:48 +08:00 |
|
|
|
fffee9d964
|
入库管理三页面类别搜索中间节点支持子级匹配(buy/semi/product 类别过滤改为 ilike 前缀,与基础信息页一致)
|
2026-06-04 11:31:44 +08:00 |
|
|
|
fb5b8d873b
|
版本变更V3.35将图像的处理统一更换到新表当中
|
2026-05-26 11:28:26 +08:00 |
|
|
|
682139bab8
|
版本变更V3.34将图像的处理统一更换到新表当中
|
2026-05-26 08:57:41 +08:00 |
|
|
|
567c3175f6
|
fix: 审计日志跳过向量字段,修复 numpy 数组比较异常;补全三大入库单更新向量提取,统一删除确认弹窗
|
2026-05-25 11:11:10 +08:00 |
|
|
|
1da4b454cd
|
feat: 新增物料/入库单实时 CLIP 向量提取(新建+更新),修复 I/O 延迟和路径解析静默失败
|
2026-05-25 10:04:32 +08:00 |
|
|
|
8291a89898
|
feat(backend): apply global cross-company data isolation logic across all inbound, outbound, and stock services
|
2026-04-17 09:57:00 +08:00 |
|
|
|
4df471add2
|
fix(inbound): correct date attributes for StockProduct and StockSemi in history location query
|
2026-04-08 17:45:29 +08:00 |
|
|
|
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 |
|
|
|
f9edb5f1f7
|
fix(api): fix AttributeError on inbound deletion by accessing base.name instead of material_name
|
2026-03-25 11:02:32 +08:00 |
|
|
|
7421ef3231
|
fix(api): expose real 500 error stack trace and fix missing func import
|
2026-03-25 10:56:31 +08:00 |
|
|
|
032479fe38
|
fix: capture and persist target object names for delete, outbound, and borrow operations in audit logs
|
2026-03-20 15:47:13 +08:00 |
|
|
|
b1cc280a71
|
feat: 重构全局搜索框为复合条件选择,支持按名称、俗名、规格进行精准查杂
|
2026-03-11 13:37:52 +08:00 |
|
|
|
5d813c24bc
|
feat: 采购/半成品/成品列表拆分SKU独立搜索框
|
2026-03-09 17:29:24 +08:00 |
|
|
|
f4b8acb916
|
feat: add total_price field and update advanced filter options
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-03-02 17:09:25 +08:00 |
|
|
|
a5fcbd70f8
|
feat: add table sorting and advanced filtering for products
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-03-02 16:36:24 +08:00 |
|
|
|
2f140e112f
|
fix: remove total_price from product inbound service
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-03-02 12:12:57 +08:00 |
|
|
|
8264867b1c
|
fix: add total_price field to product inbound creation and update calculation
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-03-02 12:10:41 +08:00 |
|
|
|
d993e6796e
|
refactor: remove total_price from product inbound service
|
2026-03-02 12:09:24 +08:00 |
|
|
|
7f19867139
|
fix: adjust product service to use manual_cost instead of unit_total_cost
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-03-02 11:57:14 +08:00 |
|
|
|
bcd39729f8
|
fix: adjust BOM cost calculation SQL and refactor for consistency
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-03-02 11:52:24 +08:00 |
|
|
|
d3510b0261
|
fix: correct BOM cost calculation by using raw SQL and manual_cost
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-03-02 11:47:44 +08:00 |
|
|
|
7b0082c6e0
|
feat: add BOM cost calculation for product inbound service
|
2026-03-02 11:44:50 +08:00 |
|
|
|
545cd86632
|
refactor: simplify cost calculation to 3 fields, drop manual_cost
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-03-02 10:24:51 +08:00 |
|
|
|
e61c179d77
|
修改半成品和成品新增时候搜索下拉框显示问题,新增负责人和生产人历史记录功能
|
2026-02-28 17:27:57 +08:00 |
|
|
|
f7cfb5a346
|
修改半成品和成品新增时候搜索下拉框显示问题,新增负责人和生产人历史记录功能
|
2026-02-28 17:08:35 +08:00 |
|
|
|
31ddb1aafd
|
将半成品成品同样进行新增所属公司以及内容修改
|
2026-02-24 16:16:17 +08:00 |
|
|
|
853374de5d
|
将半成品和成品跟bom表进行相关联
|
2026-02-12 17:16:24 +08:00 |
|
|
|
9f0134b2e4
|
feat: add material search filters to semi, product, service modules
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-02-11 14:42:16 +08:00 |
|
|
|
94ff7cecdc
|
feat: add backend autocomplete for suppliers and users in inbound
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
|
2026-02-10 13:51:19 +08:00 |
|
|
|
17a61b489c
|
fix: prevent inbound of disabled materials
|
2026-02-10 13:50:26 +08:00 |
|
|
|
e876505a1b
|
修复出库时候找不到名称等问题
|
2026-02-10 11:13:07 +08:00 |
|
|
|
04ee938cd1
|
借库逻辑实现
|
2026-02-06 17:11:47 +08:00 |
|
|
|
cad5fd696c
|
修正新增入库时3个组件的名称筛选逻辑
|
2026-02-05 15:04:06 +08:00 |
|
|
|
4f90e02dcf
|
修改时间时区问题
|
2026-02-05 14:36:36 +08:00 |
|
|
|
0bc47d306d
|
增加入库记录页面,同时修正三组入库的时间问题
|
2026-02-05 14:30:11 +08:00 |
|
|
|
10e53cab23
|
修改半成品与成品出入库相关联逻辑
|
2026-02-05 13:17:39 +08:00 |
|
|
|
aa40d4a6da
|
成品入库与出库相关联
|
2026-02-05 11:58:35 +08:00 |
|
|
|
3257973820
|
成品图像上传初实现,支持多图,检测报告的图片以及链接上传
|
2026-02-03 13:20:17 +08:00 |
|
|
|
efcd2d923c
|
对于成品的条形码进行功能实现
|
2026-02-03 09:17:28 +08:00 |
|
|
|
30181fd21b
|
维护三个基础物件入库时候与数据库不匹配问题
|
2026-01-30 11:50:35 +08:00 |
|
|
|
06ba2d7563
|
采购件,半成品,产品页面初步完成
|
2026-01-29 09:27:56 +08:00 |
|
|
|
3afea217b7
|
物料-采购件入库页面功能实现
|
2026-01-27 15:50:23 +08:00 |
|