Commit Graph

44 Commits

Author SHA1 Message Date
caoqianming b2d518e736 feat: 布局更改 2026-04-24 13:35:35 +08:00
caoqianming e8e122ca61 refactor: 抽取 FactoryForm / MaterialForm 共享组件
供应商与材料的编辑表单和详情展示复用同一组件(mode: edit|view 切换),
减少字段级重复。材料详情由抽屉改为独立页,与供应商保持一致的交互模式。

- 新增 views/factory/FactoryForm.vue:9 个字段、USCC 正则校验、区域级联、edit/view 双模式
- 新增 views/material/MaterialForm.vue:30+ 字段、自载 choices/categories/brands/factories、宣传页上传、edit/view 双模式
- FactoryManage/FactoryDetail 瘦身到壳层
- MaterialManage 编辑抽屉改 el-dialog,删除内嵌详情抽屉
- MaterialManage "详情" 跳转到 /materials/:id
- 顺带从前端移除供应商"经销商"/"产品分类"字段展示(后端字段保留)
2026-04-24 11:13:53 +08:00
caoqianming faff711915 feat: 供应商新增统一社会信用代码、合作模式、交互能力字段
- 模型加 unified_social_credit_code / cooperation_mode / interaction_capability,DB 均可空以兼容存量数据
- 序列化器显式 required=True 并做 18 位大写字母数字正则校验
- 列表页加「合作模式」列;新增/编辑表单加对应控件及校验规则
- 详情页展示三项新字段,交互能力保留换行
- 存量数据策略:DB 允许空、表单必填;旧数据首次编辑需补齐
2026-04-24 10:10:56 +08:00
caoqianming 3a305b4a7e fix: 列表页默认每页 20 条,统一分页规格
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 08:20:54 +08:00
caoqianming aeec917c09 fix: 供应商/品牌/材料分类列表统一列宽策略
- 文本列加 min-width + show-overflow-tooltip 防换行
- 操作列 fixed="right",横向滚动时保持可见

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 08:15:56 +08:00
caoqianming 2552655663 fix: 用户列表所属供应商列加宽防换行,操作列固定右侧
所有文本列都加上 min-width/width + show-overflow-tooltip,统一为与
材料列表一致的列宽策略。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 08:12:45 +08:00
caoqianming aaf2216b86 style: 整体视觉升级(登录页分屏、菜单图标、列表卡片化)
- 新增 BaseIcon 组件(inline SVG,不引入新依赖)
- 登录页:左右分屏(深色品牌视觉区 + 白色登录卡)、输入框前缀图标、
  slogan 渐变文字、装饰光晕
- MainLayout 顶栏:品牌 mark + 用户头像 + 角色状态点,按钮带图标
- MainLayout 侧栏:菜单项加图标、active 态渐变+左色条、圆角+外边距
- 全局 token 扩展:brand/text 色阶、border-soft、shadow-card
- 列表页工具栏/表格/分页改为卡片式(白底+阴影+圆角)
- 表格 hover 行态、按钮 active 轻按下、主按钮带蓝色投影
- 清理 scoped 里冗余的 toolbar/pagination 样式

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 08:06:46 +08:00
caoqianming eaf99b5efa feat: 列表页表格自适应剩余高度,分页贴底
- 新增通用 .list-page 类:flex 列布局、height:100%
- 表格外包 .table-wrap(flex:1, min-height:0),el-table 设 height="100%"
- 分页 flex-shrink:0 贴底
- 材料/供应商/品牌/用户 四个列表页启用

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 22:16:29 +08:00
caoqianming 7ecdd06c4b feat: 材料列表列宽按内容给 min-width + 省略号防换行,操作列固定右侧
- 可变长度列(名称/分类/备注/供应商/品牌等)改 min-width + show-overflow-tooltip
- 固定选项列(大类/阶段/等级/状态)用 width 固定
- 操作列加 fixed="right",列多时左侧横向滚动时操作按钮保持可见

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 22:13:38 +08:00
caoqianming d2332f369f fix: 主内容区 flex item 加 min-width:0,防止宽表格撑大视口
flex 项默认 min-width:auto,内部 el-table 列多时会无限撑开父容器,
导致横向溢出视口。加 min-width:0 后表格会在内部出现横向滚动条。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 22:11:15 +08:00
caoqianming b4a4314058 feat: 材料新增/编辑/详情改用抽屉展示
- 新增/编辑弹窗换成 el-drawer(size 60%,禁止点遮罩关闭)
- 列表"详情"不再跳路由,改为打开只读抽屉,内联展示字段和宣传页
- 移除未使用的 useRouter 引用

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 22:07:29 +08:00
caoqianming 1245fb3da8 fix: 材料"材料单位名称"文案统一改为"供应商"
- 模型 verbose_name、Excel 导入别名(兼容历史表头)、导出表头、
  前端材料列表列和表单 label 一并同步

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 22:04:38 +08:00
caoqianming 85ed7a20c1 fix: 大屏统计按新品牌实体,材料种类统计改为细分种类并排除空值
- 材料种类卡片:从 material_subcategory 改为 material_category 去重计数,排除 null/空
- 材料子类分布图:排除 material_subcategory 为空的材料,避免出现 null 类目
- 品牌数卡片:从 Factory.count 改为 Brand.count
- 品牌材料分布图:按 material.brand.name 分组,排除无品牌材料;前端字段同步

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 22:01:59 +08:00
caoqianming 75dde5243e feat: 新增品牌实体 + 材料关联品牌 + Factory.brand 改名 short_name
- 新增 brand app(Brand 模型/CRUD API,读认证用户、写管理员、PROTECT 删除)
- Material 新增 brand 外键(PROTECT,数据库可空,前端必填)
- Factory.brand 改名 short_name,并附带数据迁移从 factory.short_name
  回填 Material.brand 实现历史数据一步到位
- 前端新增品牌库菜单/页面/API,材料管理加品牌列/筛选/表单下拉,
  材料详情显示品牌,供应商页面文案同步改为"供应商简称"

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 21:54:09 +08:00
caoqianming d3ceaded07 fix:顶栏改为全宽单行(系统名+用户信息),材料分类归入配置项子菜单
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 14:01:33 +08:00
caoqianming e378bb9e1c fix:token失效时接口返回401后强制跳转登录页,避免停留在空列表页
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 13:40:29 +08:00
caoqianming 60157025f2 fix:工厂管理前端文案改为供应商库,相关字段同步替换
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-23 08:52:57 +08:00
shijing d06cf5c270 fix:登录页表单宽度调整 2026-04-09 15:28:41 +08:00
shijing 45d4bc47dc fix:系统名称更改 2026-04-09 14:37:48 +08:00
shijing c1758ca649 fix:3.20日材料可导入,导入后导出系统存在字段导出,然后补充完善后再导入 2026-03-23 13:52:13 +08:00
shijing da6cd31ce8 fix:联系方式宽度调整,导入时无账号的生成账号 2026-03-20 16:44:55 +08:00
shijing fde5593a8a fix:模板地址修改 2026-03-20 10:44:14 +08:00
shijing 8e47c0ef8f fix:材料管理页面中点击导入数据按钮,打开一个弹窗,把模板下载和上传按钮放在里面。 2026-03-20 09:56:03 +08:00
shijing c1d18c888c fix:模板问题修改 2026-03-19 17:17:30 +08:00
shijing 33ddb22d5b fix:替换空数据材料导入表 2026-03-19 11:29:22 +08:00
shijing e3c626aba2 fix:材料表导入 2026-03-19 11:14:57 +08:00
shijing eb85d3a78a fix:添加表格中新增的字段 2026-03-19 10:00:36 +08:00
shijing a6456966b6 feat:材料添加“阶段”和“重要等级”两列,并且返回按createtime倒序 2026-03-18 16:39:15 +08:00
caoqianming 0e2239b59f style(detail): improve detail page layout 2026-03-17 09:54:42 +08:00
caoqianming c6ba742f9d feat: 省市区存储文字、工厂关联用户账号、大屏图表主题优化
- 省市区字段改为存储文字名称而非编码

- 工厂序列化器新增usernames字段,列表和详情页展示关联用户账号

- 地区分布统计改为仅按省份聚合

- 新增ECharts screen-dark主题,统一配色和字号

- 大屏卡片背景由纯黑改为深蓝渐变

Made-with: Cursor
2026-03-13 13:00:05 +08:00
caoqianming eaa37ad5c7 refactor: remove unplugin-auto-import, use global ElementPlus registration and fix dialog layout shift
Made-with: Cursor
2026-03-13 12:30:50 +08:00
caoqianming b88510ca0a feat: 工厂简称改为品牌(唯一)、材料/工厂/分类导入命令、Excel材料导入(模糊匹配+未识别品牌工厂)
Made-with: Cursor
2026-03-13 11:25:44 +08:00
caoqianming b1c0e94ab1 feat: 图片上传功能 2026-03-13 10:56:12 +08:00
caoqianming 3f2d627641 feat: 前端页面优化 2026-03-13 10:29:15 +08:00
caoqianming d873f3e016 fix: 修复分页排序警告,经销商设为非必填
- 为所有模型添加 Meta.ordering = ['id'],统一解决 UnorderedObjectListWarning
- 移除视图中冗余的 order_by
- Factory.dealer_name 设为可选,前端表单移除必填

Made-with: Cursor
2026-03-13 09:30:31 +08:00
caoqianming f093ac7680 feat: add password change and reset 2026-03-11 16:06:14 +08:00
caoqianming 47d798e380 feat: restrict material edit/delete to draft for users 2026-03-11 12:07:33 +08:00
caoqianming bf6685c670 style: make dialog bodies scrollable 2026-03-11 12:05:37 +08:00
caoqianming 9facdae46f feat: add pagination locale and table max height 2026-03-11 11:30:19 +08:00
caoqianming 1440767c69 feat: 后端跨域 2026-03-10 16:43:57 +08:00
caoqianming 80a8f69edf feat: add material categories and polish UI 2026-03-10 16:40:21 +08:00
caoqianming 4b001d23a4 feat: 移除现有前端 2026-03-10 15:30:26 +08:00
caoqianming 61821ccd55 feat: 页面优化 2026-03-10 14:30:35 +08:00
caoqianming adedaecf29 feat: 项目初始化 2026-03-10 13:12:05 +08:00