Commit Graph

86 Commits

Author SHA1 Message Date
4934cd4d8f feat: 采购管理税率+分开单价总价列 + 按单出/借库锁定扫描 + 含税法计算
- purchase: 新增tax_rate字段(model+service+frontend), 表格拆分为不含税单价/总价/税率三列
- buy.vue: 含税法计算(含税总价=数量×含税单价), 含税总价自动计算可手动覆盖
- create.vue: 按单出库模式下未选审批单时锁定摄像头和SKU输入
- borrow.vue: 未选审批单时锁定摄像头和SKU输入
- deploy_production.sql: 整合全部数据库变更(表结构+权限码+角色分配)
2026-07-15 16:07:59 +08:00
538b6cb818 feat: 采购单导入自动填充采购人/邮箱/详情链接 + 实时搜索
- PurchaseRequest.to_dict() 新增 requester_email
- 导入时自动填入: 采购人(requester_name) + 邮箱(requester_email) + 详情链接(supplier_link)
- 移除原始链接/详情链接的历史 autocomplete, 改为纯输入框+权限守卫
- 采购单导入搜索改为实时输入搜索(300ms防抖), 保留搜索按钮
2026-07-14 16:29:19 +08:00
a11b7972c3 feat: 打通采购申请与入库的按单入库链路
后端变更:
- PurchaseRequest 新增 base_id 硬关联 MaterialBase,StockBuy 新增 request_id 关联采购单
- handle_inbound 支持 request_id 入参,入库后自动反写采购单状态为已完成
- 新增 get_approved_requests 接口,返回已审批未入库采购单列表(含物料信息+历史数据回退匹配)
- create_purchase_request 新增 name+spec_model 自动匹配 MaterialBase
- 新增 SQL 和 Alembic 数据库迁移脚本

前端变更:
- 入库表单新增"从采购单导入"弹窗,支持搜索/选中已审批采购单并一键填充物料和商务信息
- 单价/总价交叉推算,缺项自动补全
- 选中行蓝色高亮+点击整行选中,行级交互优化
2026-07-14 15:25:00 +08:00
760f78e016 feat: 添加参考价格列 + 修复公司筛选跨域问题 + CLIP模型持久化
## 新增功能
- material_base 表新增 reference_price 列(NUMERIC(10,2))
- 基础信息 list.vue / buyOdoo.vue 页面增加「参考价格」列展示和编辑
- 新增 material_list:referencePrice 权限元素,支持按角色控制可见性

## Bug 修复
- 入库三页面(buy/product/semi)公司筛选:非超管用户 company=ALL 不再传给旧版后端
- 基础信息两页面(list/buyOdoo):buyOdoo 增加 v-if=isSuperAdmin 与 list.vue 行为统一
- company=ALL 默认值在各页面 getList/fetchData 中自动过滤,兼容旧版后端

## 运维优化
- docker-compose.prod.yml 增加 models_prod 卷挂载,CLIP模型持久化免重复上传
- deploy_code.sh 增加 models_prod 目录检查与模型文件存在性告警
2026-07-13 17:30:52 +08:00
4f5965db02 feat: JWT多租户数据权限隔离 & 主管系统管理权限 & 含税单价补齐
## 多租户公司数据隔离
- 新增 get_current_company_filter() 工具函数 (decorators.py)
  SUPER_ADMIN: 可传company_name参数过滤或传ALL看全量
  其他角色: 强制隔离到JWT中的company_name
- 重构 base_service.py / buy_service.py: 用集中式函数替换内联公司过滤
- SysRolePermission 表新增 company_name 字段,支持同角色不同公司权限
- get_user_permissions() 新增 company_name 参数,查公司定制+全局模板权限
- permission.py API 新增 @permission_required 拦截 + 公司过滤
- 19个API/service文件传递 company_name 到权限查询

## 主管系统管理权限
- delete_user() 允许SUPERVISOR删除同公司用户 (原仅SUPER_ADMIN)
- get_all_users() 新增 company_name 参数过滤
- 用户列表/权限分配 API 应用 get_current_company_filter()
- 前端 UserCreate.vue: 超管可见公司下拉框,主管隐藏部门字段

## 前端多租户适配
- material/list.vue / buy.vue: 公司下拉框仅超管可见,默认ALL
- UserCreate.vue: 新增搜索栏公司筛选,部门字段按角色显隐
- auth.ts: getUserList() 支持 params 参数

## Bug修复: 含税单价字段补齐
- buy.vue: 表格列/高级筛选/排序/权限映射新增 post_tax_unit_price
- buy_service.py: allowed_fields/sort_field_map 新增 post_tax_unit_price
2026-07-13 15:12:22 +08:00
ffafa635bb feat: 将产品图/说明书备注字段从JSON数组中分离为独立数据库列
- 数据库新增 product_image_remark 和 manual_link_remark 两个TEXT列
- 备注文字不再与上传文件URL混存在 generalImage/generalManual JSON数组中
- 前端输入框改为textarea,绑定独立的备注字段
- 修复 handlePasteLink 忽略field参数的bug
- 新增 isInternalFile 辅助函数,用于区分上传文件与纯文本
- 同步修改 list.vue 和 buyOdoo.vue 两个页面
2026-07-10 10:52:23 +08:00
DXC
7ef22a3830 feat(借库审批流): 完整前后端实现 2026-06-12 14:08:19 +08:00
DXC
c7b84ff3c6 fix: BOM草稿模块缺陷修复(事务回滚 + 外键约束 + 前端状态清理) 2026-06-10 11:30:07 +08:00
DXC
1da4b454cd feat: 新增物料/入库单实时 CLIP 向量提取(新建+更新),修复 I/O 延迟和路径解析静默失败 2026-05-25 10:04:32 +08:00
DXC
6e1e1aa998 perf: 为库存三表/BOM/物料基础表补全高频查询列索引,防止全表扫描 2026-05-19 10:21:50 +08:00
dxc
3c9d7a999d fix(purchase): 审批人下拉隐藏角色/物料搜索下拉/价格弹窗确认/图片必填校验 2026-05-12 17:27:51 +08:00
dxc
9dfcb93146 feat(purchase): 新增采购申请模块后端(模型+Service+API路由) 2026-05-12 16:33:18 +08:00
dxc
259f3a7e0d 4.29扫码获取库位小工具接口 2026-04-29 15:40:43 +08:00
dxc
183b93012e 4.28 2026-04-28 16:07:11 +08:00
DXC
62c0e3738e fix(outbound+trans): 修复POST接口错误数据清洗导致的sku/quantity字段被清除Bug,并新增出库审批工作流全链路 2026-04-28 16:02:34 +08:00
DXC
3085d9f447 feat(repair): decouple material base, sync global sku sequence and add scan/print features 2026-04-08 19:36:14 +08:00
DXC
ec468b266d refactor(repair): upgrade TransRepair model with base_id, status, and SN for independent operation 2026-04-08 18:23:22 +08:00
DXC
46dd8f1c3a fix(auth,audit): ensure display_name persists in token refresh and add fallback in audit log 2026-03-25 11:16:13 +08:00
DXC
faea0379da refactor: replace transfer outbound type with production outbound across frontend and backend 2026-03-19 17:13:24 +08:00
DXC
6cc3d1b6e0 feat: upgrade adjustment workflow to require explicit inbound SKU or outbound tracking number and fix UTC timezone issue 2026-03-19 15:26:40 +08:00
DXC
09869667c8 fix: add extend_existing=True to StockAdjustment model to resolve MetaData conflict 2026-03-19 14:25:43 +08:00
DXC
c55eed0d75 fix: remove duplicate StockAdjustment model from stocktake.py to fix SQLAlchemy MetaData conflict 2026-03-19 14:20:27 +08:00
DXC
d8a57ab66e feat: initialize inventory profit and loss adjustment module 2026-03-19 12:06:32 +08:00
DXC
83745caacc feat: create models and SQL schemas for stocktake remarks and inventory adjustments 2026-03-19 10:56:40 +08:00
DXC
79d4a365e0 feat: add partial return support with returned_quantity tracking 2026-03-18 10:41:19 +08:00
DXC
c1c494893f feat: implement dynamic inspection requirement logic based on material master data 2026-03-17 11:56:04 +08:00
DXC
332f928c78 refactor: simplify stocktake flow without DB schema changes and remove invalid field queries 2026-03-13 10:45:37 +08:00
DXC
7e23141870 refactor: redesign stocktake flow to require manual discrepancy audit and individual adjustments 2026-03-13 09:59:01 +08:00
dxc
d2d9abe201 全局审计日fix: 使用鸭子类型强制安全解包 SQLAlchemy Row 对象,彻底解决 to_dict 报错志 2026-03-11 13:11:16 +08:00
DXC
cd192624b9 fix: 统一系统生成时间为北京时间(UTC+8)并优化审计日志表格列展示 2026-03-10 17:33:14 +08:00
DXC
be6575344a feat: 新增企业级操作审计日志闭环模块(包含底层模型、记录装饰器与前端看板) 2026-03-10 12:15:26 +08:00
DXC
7201b658fb feat: 优化库位树UI层级颜色,并将入库页面库位输入升级为级联选择器 2026-03-06 14:52:47 +08:00
dxc
359b8a8345 "feat: 1-实现动态层级树形库位管理功能
2 - 首页新增库位设置按钮和树形管理弹窗
     3 - 后端添加 SysWarehouseLocation 模型和 CRUD API
     4 - 树形结构支持无限层级,自动计算 full_path
     5 - 修复 product.vue 中 defaultColumns 未定义 bug
2026-03-06 14:33:13 +08:00
dxc
e39c3fd030 筛选高级权限修改,基础信息启用禁用修改 2026-03-03 17:29:21 +08:00
dxc
cc33108e88 feat: add TransBorrow.get_borrowed_quantity method
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-28 11:43:10 +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
7431f1f41e 权限管理,没有页面修改之前版本 2026-02-25 16:10:12 +08:00
dxc
82a9a4c2ba 修改登录,实现中文名称显示,以及修改登录逻辑 2026-02-25 11:18:01 +08:00
dxc
1c3f116c50 修改登录,添加超级管理员权限 2026-02-25 11:02:06 +08:00
dxc
31ddb1aafd 将半成品成品同样进行新增所属公司以及内容修改 2026-02-24 16:16:17 +08:00
dxc
42171ed612 对于采购件的税率添加以及所属公司添加 2026-02-24 15:43:14 +08:00
dxc
7e2fa8db8e 基础信息修改,新增所属公司,同时修正类别排序以及新增时候类别选择的功能 2026-02-24 15:13:37 +08:00
dxc
b682d4b02f 对于出库选单和Bom库的逻辑完善以及功能美化 2026-02-12 16:54:26 +08:00
dxc
32f031b047 feat: add non-null and unique constraints to BOM model
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-12 09:41:40 +08:00
dxc
e900326571 修改semi,product,service的搜索逻辑 2026-02-11 15:12:20 +08:00
dxc
706476d421 修改是基础信息内容展示库存数和可用数 2026-02-11 10:12:10 +08:00
dxc
b98f89bfe4 chore: add .material->.base refactor check comments
Co-authored-by: aider (openai/DeepSeek-V3.2-Thinking) <aider@aider.chat>
2026-02-10 11:34:50 +08:00
dxc
e876505a1b 修复出库时候找不到名称等问题 2026-02-10 11:13:07 +08:00
dxc
50361dba9a 针对于上传图片以及借库还库和出库选单进行更改 2026-02-09 16:08:47 +08:00