v6ole
1fddc35119
feat: 个人用户视图表格新增编辑按钮+编辑弹窗
...
4个Tab的表格均添编辑按钮,点击弹窗可编辑关键字段并保存/删除
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-13 00:04:32 +08:00
v6ole
9a39b96316
fix: 客户类型Tab改为自定义按钮样式,匹配整体设计风格
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-13 00:01:02 +08:00
v6ole
83c87cad3d
fix: 个人用户Tab禁用新建客户按钮
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 23:58:38 +08:00
v6ole
9f3067b412
fix: 单位客户列表API请求加上 customer_type 筛选参数
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 23:52:26 +08:00
v6ole
7c75164323
feat: 个人用户拜访记录新增拜访人+客户经理列
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 22:19:14 +08:00
v6ole
6504a393e3
feat: 个人用户聚合视图 — 客户管理双Tab+四模块数据聚合
...
- customers 表新增 customer_type 列 (unit/individual)
- 客户管理页:单位客户 | 个人用户 Tab 切换
- 个人用户 Tab: 直接内嵌4 Tab 显示所有个人用户的聚合数据
- 个人用户通过业务模块快速新建产生 (customer_type=individual)
- 4个业务API新增 customer_type 筛选参数(JOIN customers)
- 客户列表排序: 个人用户置顶
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 22:14:44 +08:00
v6ole
835e5d38fd
Revert "feat: 客户管理新增个人用户类型,双Tab分离管理"
...
This reverts commit 03198557f7 .
2026-07-12 21:45:23 +08:00
v6ole
03198557f7
feat: 客户管理新增个人用户类型,双Tab分离管理
...
- customers 表新增 customer_type 列 (unit/individual)
- 列表按个人优先排序,支持 customer_type 筛选
- PC端 el-radio-group 切换:单位客户 | 个人用户
- 个人用户表单: 仅姓名+备注,隐藏行业/地址/业务/月费/客户经理/联系人
- 所有业务模块客户搜索下拉中个人用户置顶
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 21:43:08 +08:00
v6ole
98a0d4f7c8
fix: 客户详情顶部信息区用卡片样式区分Tab区域
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 21:09:58 +08:00
v6ole
05d33d518f
feat: 客户详情弹窗新增拜访/计划/商机/要客四个关联数据Tab
...
点击客户名 → 800px 弹窗,顶部显示基本信息,下方 el-tabs 切换:
- 拜访记录 / 工作计划 / 商机跟单 / 要客拜访
- 各 Tab 并行加载对应 customer_id 筛选数据
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 21:03:10 +08:00
v6ole
9354752b89
fix: 商机改为已流失时前端自动清空列收时间再提交
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:56:03 +08:00
v6ole
82755e14a1
fix: 桌面端支局长/领导新建记录时客户经理栏显示UUID
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:50:07 +08:00
v6ole
20f5b01987
feat: 商机跟单默认筛选跟进中 + 已流失置底 + 清空列收
...
- 后端: 状态改为已流失时自动清空 expected_revenue_date
- PC端: 默认筛选跟进中,排序 跟进中→已签约→已流失
- 移动端: 列表自动排序,已流失在最底部
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:49:01 +08:00
v6ole
78962e45d7
feat: 移动端商机跟单新增跟进记录时间线+添加功能
...
编辑模式下表单底部显示跟进时间线 + 新增跟进入口
与PC端一致的体验:方式chip选择 + 日期 + 内容
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:42:22 +08:00
v6ole
fade9e62e2
fix: 支局长/领导新建记录时客户经理栏显示UUID
...
manager_id 初始值: director/leader 设为空让用户选择,manager 仍用自身ID
编辑模式保留原记录的 manager_id
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:38:51 +08:00
v6ole
7b91cb4230
fix: 移动端编辑表单自动补充客户到选项列表,避免显示UUID
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:34:34 +08:00
v6ole
6c76b34d1b
fix: 移动端刷新页面后主题回退的问题
...
在 index.html 添加内联 script,Vue 启动前从 localStorage 读取主题
并设置 data-theme 属性,消除 Pinia store 初始化时序导致的闪烁
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:32:31 +08:00
v6ole
1e0f77d4e6
feat: 桌面端表单必填项标记 * + 提交校验
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:30:43 +08:00
v6ole
ff0a38a369
feat: 移动端表单必填项标记红色 * 号 + 提交校验
...
- 客户单位/日期/纪要内容/计划拜访时间 标记 *
- 缺失必填项时 ElMessage.warning 提示
- CSS: .required-star { color: var(--vermilion); }
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:28:54 +08:00
v6ole
6d1ccbb246
fix: 删除按钮移至标题栏右侧,与标题水平对齐
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:23:31 +08:00
v6ole
216406326a
fix: 添加单条记录GET端点,修复移动端编辑表单数据加载
...
- work-plans/mini-business/key-visits 均新增 GET /{id} 端点
- 三个移动端编辑表单改用单条端点加载数据
- 修复点击卡片进入编辑时空白的 bug
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:20:07 +08:00
v6ole
33fb6a63c0
fix: 移动端列表卡片去掉编辑按钮,点击卡片直接进入编辑
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:17:03 +08:00
v6ole
637a0949a8
fix: 移动端列表页删除按钮改为编辑按钮
...
卡片底部按钮从 🗑 删除改为 ✏️ 编辑,编辑表单内保留删除功能
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:13:39 +08:00
v6ole
aed9182dbe
fix: 移动端列表页移除 v-loading 遮罩,修复卡片点击无反应
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:12:14 +08:00
v6ole
24fb5f8f71
feat: 移动端工作计划/商机跟单/要客拜访支持编辑和删除
...
- 三个表单均支持 create+edit 双模式(通过 route.params.id 判断)
- 编辑模式: 加载已有数据 → 修改 → PUT 更新
- 编辑模式增加删除按钮
- 列表页卡片点击跳转编辑页
- 新增 6 条编辑路由
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 20:06:47 +08:00
v6ole
bc6c7076fe
feat: 移动端导航重构 — 4 Tab + 工作中心 + 模块列表
...
- TabBar 新增「工作」标签(首页/工作/拜访/纪要)
- 新增工作中心页(/m/work),四卡片入口显示各模块记录数
- 新增三个列表页:工作计划/商机跟单/要客拜访(卡片流+删除)
- 首页精简:移除快捷 chip,入口统一到工作中心
- 路由新增: /m/work, /m/plans, /m/mini-biz, /m/key-visits
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 19:58:01 +08:00
v6ole
e06574df38
fix: 移动端相关人员提示更新为同访人周报显示说明
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 19:53:00 +08:00
v6ole
10835ef15c
feat: 消除同访草案机制,改为查询时通过 companions 数组覆盖
...
- 删除 POST /visits 中的草案创建逻辑(不再创建空拜访记录)
- 周报查询:manager 角色也显示同访的拜访记录
- 亮灯表覆盖:同访人也算客户拜访覆盖(UNION companions)
- 填报进度:同访人也算今日已填报
- 清理已有 2 条空草案记录
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 19:40:49 +08:00
v6ole
3ce77ed606
feat: 拜访记录创建时自动联动商机跟进
...
- POST /visits 创建拜访后,自动查询同客户下「跟进中」的商机
- 为每个匹配商机追加一条跟进记录(mini_business_log)
- 内容: 沟通内容 + 客户需求拼接
- 方式: 拜访方式自动映射(上门→上门/电话→电话/微信→微信/出差→其他)
- 仅创建时触发,更新/导入不联动
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 19:22:40 +08:00
v6ole
9eae965858
fix: 跟进记录日期选择器添加 value-format 避免 422 错误
...
el-date-picker 默认返回 Date 对象,JSON 序列化为 ISO 格式,
Pydantic date 字段不接受,需显式指定 value-format="YYYY-MM-DD"
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 19:04:21 +08:00
v6ole
87876f11fd
fix: MiniBusiness.vue 缺少 miniBusinessApi 导入
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 18:57:48 +08:00
v6ole
19aa9153ff
feat: PC端商机跟单新增详情弹窗+跟进时间线
...
- 点击客户名打开详情弹窗(替代直接编辑)
- 详情弹窗: 商机信息 + 跟进时间线 + 添加入口
- 跟进方式 chip: 电话/微信/上门/邮件/其他(色标区分)
- 每条跟进记录显示: 图标+日期+方式+内容+作者
- 支持添加和删除跟进记录
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 18:53:46 +08:00
v6ole
17a0218b32
feat: 商机跟单新增跟进记录子表(后端+API模块)
...
- 新增 mini_business_logs 表(business_id/log_date/method/content/created_by)
- MiniBusiness 模型添加 logs relationship(cascade delete)
- 5个端点: GET列表/POST新增/PUT编辑/DELETE删除
- 跟进方式: 电话/微信/上门/邮件/其他
- lifespan 自动建表+索引
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 18:51:04 +08:00
v6ole
13f8b9c512
docs: 商机跟单优化设计文档 — 跟进记录子表
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 18:48:23 +08:00
v6ole
03f14df244
fix: 移动端要客拜访计划时间改用日期选择器
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 18:34:25 +08:00
v6ole
3879cdc7ef
fix: 移动端工作计划/商机跟单/要客拜访新增快速新建客户
...
三个移动端表单现均支持搜索时直接新建客户(el-select #empty 插槽)
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 18:29:41 +08:00
v6ole
4453ee2ca0
feat: 支局长/分管领导可为任意客户经理代填记录
...
后端:
- 5个模块的 Create/Update schema 新增可选 manager_id 字段
- POST 端点: director/leader 可指定 manager_id,manager 角色自动用自身
- PUT 端点: director/leader 可修改 manager_id,manager 角色禁止修改
前端(移动端+桌面端共10个页面):
- 支局长/领导可见「客户经理」下拉选择框
- 创建和编辑时均可指定记录归属的客户经理
- 涵盖今日拜访、今日纪要、工作计划、商机跟单、要客拜访五个模块
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 18:19:05 +08:00
v6ole
c489a8d6fd
fix: 搜索无结果时新建按钮改为el-select的empty插槽,避免被遮挡
...
- 将「新建客户」按钮从 el-select 下方的独立 div 移入 #empty 插槽
- 搜索无匹配时,下拉面板直接显示「未找到xxx」+ 新建按钮
- 不再被原生「无数据」空状态遮挡
- 移动端+桌面端五个页面统一修复
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 18:04:45 +08:00
v6ole
5682c12085
feat: 桌面端工作页面支持搜索时直接新建客户
...
- WorkPlans/MiniBusiness/KeyVisits/ManagerWorkspace 四个页面新增快速新建客户功能
- 客户搜索框输入时,若无匹配结果,直接显示「+ 新建客户」按钮
- 点击即调用 POST /customers/quick-create 创建并自动选中
- 与移动端 VisitForm 保持一致体验
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 18:00:35 +08:00
v6ole
be26ea5588
fix: 亮灯表指标移除临期计数,精简显示
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 16:35:00 +08:00
v6ole
750ce8d8eb
feat: 亮灯表新增客户经理指标文字说明
...
每个客户经理折叠栏新增一行指标摘要:
「已拜访X · 临期X · 未拜访X · 完成率X%」
数字加粗,完成率按阈值着色(>=80%绿 >=50%金 <50%红)
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 16:25:35 +08:00
v6ole
efc200b6de
feat: 工作计划状态自动流转
...
- 抽取 auto_complete_work_plans() 可复用函数到 visits service
- POST/PUT 拜访均触发自动完成(更新场景解决补录问题)
- Excel 导入旧周报时也触发自动完成
- 逾期计划自动取消:plan_date < today 且无匹配拜访→已取消
- edit_log 记录区分三种来源:拜访自动完成/拜访更新自动完成/旧周报导入自动完成/逾期自动取消
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 16:21:38 +08:00
v6ole
c38a9e74ad
chore: ignore .cc-connect bridge metadata
2026-07-12 14:39:28 +08:00
v6ole
e7c3081070
feat: AI 周报摘要提示词自定义设置
...
- system_config 新增 ai_summary_prompt 配置键
- generate_summary 从数据库加载自定义提示词,为空则使用默认 SUMMARY_SYSTEM_PROMPT
- 系统设置新增「AI 周报提示词」卡片,支持编辑和清空恢复默认
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 14:20:20 +08:00
v6ole
7dcb22f573
feat: 集成 apisbo.com 中国节假日 API 自动获取+缓存
...
- 新增 holidays.py 服务:按年获取节假日数据,缓存到 system_config
- 区分 holiday(工作日假日)和 workday(调休上班日)两种类型
- is_working_day() 支持调休判断:周末在 workdays 集合中视为工作日
- 启动时自动从 API 刷新当年+明年数据,失败则使用缓存
- 系统设置新增「从 API 刷新」按钮,支局长可手动触发
- 支持 2010-2026 年数据,API 免费免鉴权
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 14:17:31 +08:00
v6ole
a63bd6874c
feat: 仪表盘+催办在休息日跳过填报检查
...
- 新增 is_working_day() 工具函数,自动跳过周末 + 可配置法定假日
- 仪表盘填报进度新增 is_rest_day 字段,休息日显示灰「休」印章
- 催办调度改用 is_working_day() 替代原始 weekday 检查
- 系统设置新增「法定节假日」配置卡片,支局长可管理假日日期
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 14:13:32 +08:00
v6ole
dcb0b826de
fix: 桌面端编辑时客户名称显示UUID的问题
...
WorkPlans/MiniBusiness/KeyVisits/ManagerWorkspace 四个页面的
openEdit 均直接 spread item 到 form,未确保客户在 el-select
选项列表中。修复:编辑前检查并补充客户到 customers 列表。
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 13:45:06 +08:00
v6ole
e6237590c0
fix: 移动端编辑拜访记录时客户名称显示UUID的问题
...
编辑模式下,el-select 的 customers 列表可能不包含当前记录对应的客户,
导致无法匹配选项而直接显示原始 UUID 值。
修复:从 GET 响应中获取 customer_name,补充到 customers 列表。
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 13:43:21 +08:00
v6ole
f9eed82afb
fix: disable mobile zoom to prevent input auto-zoom on iOS
...
Added maximum-scale=1.0, user-scalable=no to viewport meta tag.
Prevents iOS Safari from auto-zooming when focusing inputs with font-size < 16px.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 13:36:37 +08:00
v6ole
f4847bc748
docs: update CLAUDE.md — SSH port 7072, 127.0.0.1 binding, leave feature
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-07-12 13:33:55 +08:00