易客 CRM 10.1.0.8 → 10.3.0.1 更新说明
- 起点:10.1.0.8(2026-01-23)
- 终点:10.3.0.1(2026-08-13)
- 中间版本:10.2.0.0(2026-07-29)、10.3.0.0(2026-08-11)
- 跨度:约 7 个月,622 个提交
这份说明只讲更新了什么内容,不讲怎么升级;升级步骤请联系我们的技术支持获取。配图取自真实运行环境。
一、详情页改版
这是本次跨度里改动最密集的一块(49 个提交)。原来的详情页是左侧竖排相关信息导航 + 中间字段 + 右侧一列操作按钮;现在改成顶部横向 tab + 右侧面板 tab 化。

- 标题栏:首字母头像 + 记录名,下方一行副标题显示后台勾选了「标题栏显示」的字段(客户状态、行业、负责人…)。销售阶段推进的标题也并入这里,全模块统一。
- 相关信息导航从左侧竖排挪到顶部横向 tab,带记录数徽章;「基本信息」也做成同款 tab。
- 右侧面板改成 tab:快捷方式 / 审批 / 数据日志 / 评论。审批与数据日志改为点开才加载,不再每次打开详情页都查。
- 快捷方式由后台配置(控制面板 → 详情页快捷方式),支持按模块作用域控制显示;创建类动作收进标题栏的「创建 XXX ▾」分体按钮。
- 字段显示密度可切换标准/紧凑,按用户记住偏好;编辑页跟随详情页的选择。
- 评论支持拖拽上传文件。
- 移除了各模块详情页的「关注/取消关注」按钮。
二、相关信息支持「列表 / 时间线」两种显示方式
相关信息 tab 原来只有表格一种呈现,联系记录这类「一条条按时间发生」的数据看不出节奏。
列表视图(默认,搜索行右侧为显示方式开关):

时间线视图:

- 开关在搜索行右侧,每个模块、每个相关 tab 分别记住用户的选择
- 时间轴用哪个日期列由用户在「按 […] 排列」下拉里选,也会被记住。默认取该列表第一个日期字段——例如联系记录会落在「联系日期」而不是记录创建时间
- 排序在服务端完成,翻页后顺序仍然正确
- 时间线自带「加载更多」,搜索时同步重新取数
- 该列表没有任何日期字段时,时间线按钮置灰并说明原因
客户状态推进历史这类本身就是时间轴的数据,直接以时间线呈现,不提供切换:

三、知识库(原「公司平台」)
模块更名为「知识库」,并做了一轮完整增强。

- 检索改用 InnoDB ngram 全文索引,支持多关键词与相关度排序;搜索范围从只搜标题扩展到 标题 + 正文 + 附件内容(附件文本会被抽取并索引)
- MySQL 5.7 以下自动降级为 LIKE 检索,功能可用,只是没有相关度排序
- 标签与「相关文章」
- 版本历史:每次保存留一份全量快照,可查看与恢复
- 权限口径统一为 permittype,下线了旧的「保密设置」(加密文章 + 查看密码)
- AI 助手可在知识库详情页读取文章正文,并遵守知识库自身的权限判定
修复了一个权限问题:
adminrole判定恒为 yes,导致私有文章可被他人看到、且任何人都能修改删除别人的文章。
四、公告:从一张列表变成企业公告系统
10.3.0.1 新增,12 个提交。原来的公告就是一张普通列表,发一条谁看见了、谁没看、看没看完全不知道。现在整块重做,拆成阅读页和管理端两个界面,并补上类别、接收范围、已读与签收统计。

发布
- 草稿 / 已发布 / 已下线三种状态。写好可以先存草稿,不必一写完就推给全公司
- 接收范围按人或按部门指定,发布时展开成具体接收人清单
- 定时发布:设好时间存草稿,到点由定时任务自动发出
- 置顶、署名、允许 / 禁止下载附件
- 正文用富文本编辑器,支持粘贴图片;附件单独管理
阅读与签收
- 员工侧是独立的阅读页,按类别分栏、可搜索
- 要求签收的公告,员工读完需确认;可进一步要求手写签名确认
- 管理端能看到每条公告的接收人数 / 已读 / 已签收,并可点开看具体名单
- 未读提醒:可设发布后 N 小时,给仍未读的人再发一次站内信
类别与权限

- 类别可增删改、排序;删除类别时其下公告的类别重置为「无」,公告本身不受影响
- 类别管理员:可以把某个类别交给指定的人管,不必给他整个公告模块的管理权
- 列表里的下线等操作改为先弹框确认,避免误点
需要配定时任务。 定时发布与未读提醒依赖
scripts/announcement_cron.php,建议每 5 分钟跑一次。不配的话其余功能照常,只是这两项不会自动触发。该脚本只允许命令行执行,浏览器访问返回 404。
五、AI 助手 / Copilot 岛
本次跨度里体量最大的新增能力(86 个提交),包括一整套 Agent 体系。
- 页面右下角常驻 AI 入口,可拖动改位置
- 多 Agent:Pipeline 分析师、投标策略师、售前工程师、CRM 数据专家、大客户拓展策略师、赢单策略师、销售教练等,通过下拉分组切换
- 后台可管理团队专家 Agent(启用/停用、编辑概览与系统提示词、选模型),带越权校验
- 会话服务器化,历史对话可查
- 可在岛内自助绑定 IM 渠道
- 支持在首页看板上通过对话增删图表
- 数据边界:口令、令牌类字段禁止读取;知识库访问改走受权限约束的技能
六、首页与图表看板

图中:Pipeline 总额等数字卡片、Pipeline 阶段构成环形图、本周每日动作、本周联系记录按类型分布;右侧是 Copilot 岛的问答结果。
- 销售简报数字卡片、销售目标完成率、日/周/月报、关键视图
- 图表支持拖拽换位(标题栏当手柄,顺序会保存)
- 图表现代化改版:统一配色,环形/排行/平滑折线
- 横向条形图默认按值排行
- 金额类大数字自动缩写为「万 / 亿」,解决数字超长
- 首页图表支持删除
七、待办中心

- 自定义待办:可以自己定义一条待办——选模块、选按哪个用户字段归属、按哪个日期字段和时间范围、再加筛选条件,就成为待办中心里的一项。可设置可见范围(所有人 / 仅自己 / 指定角色),也可以停用而不删除
- 跟随模块可见性:后台收起来不用的模块,不再在待办中心占一行。以前只有工单分类做了这个判断,现在通用分类九项和工作日程都一致了
- 产品库存预警额外判断有没有产品设过库存下限:一个都没设过说明没在用这个功能,就不显示;给任意产品设一个下限,它自己会回来
- 工单分组在没有可见工单模块时整组不返回,不再剩五行空待办
- 「本周联系客户」改成读模块的显示名——把「客户」改过名的租户上,以前左边写「客户」、右边表头写改后的名字,两处对不上
八、产品分类与部门管理:统一的两栏树形管理
部门管理页参照产品分类重做,两处现在是同一套交互。

产品分类
- 新增**「修改上下级」**操作:直接改某个分类的父级,可移到任意分类下或提为顶级。会自动排除自身及其所有后代,不会成环
- 选父级的下拉从原生
select换成树形下拉:层级看得见,默认只展开第一级,点箭头逐层展开;当前选中项在深层时自动展开它的祖先路径。删除分类时的「转移到」下拉用的是同一个控件 - 产品详情页的产品分类显示完整上级路径,不再只有末级名称
- 该树形下拉抽成了通用的
TreeSelect插件,产品分类与常见问题分类共用一份代码
部门管理

- 控制面板新增部门管理页,两栏树形增删改,点左侧部门在右侧看成员
- 建 / 改部门时可直接指定部门经理,列表与详情面板都会显示经理姓名
- 列表带说明、排序、成员数,可按名称或说明搜索
九、审批与打印:从「部分模块」变成「全部模块」
这两块是适用范围的口径变化,不是单点修复。
审批:设了流程就支持,没设就不支持
原来只有固定几个单据模块能走审批。现在任何模块都可以支持审批,判定标准只有一条——在后台给它配置了启用中的审批流程,就算支持;没配就算不支持。
配套的口径统一:模块未启用审批流程时,其单据一律视为「已审批」。这解决了以前「某模块没有审批流程,但别处代码检查 approved 字段,导致后续动作被卡住」的问题。
打印:所有业务模块都能配打印模板
打印模板不再限定于少数几个单据模块,控制面板 → 打印模板里可以为任意业务模块配置(仅排除 Users、Home、Calendar 等少数系统模块)。本次还补充了不少模板可用字段:部门名称、审批人、工单完成时间、装配单供应商等。
十、界面与主题

- 配色方案大幅增加:侧边导航栏与顶部导航栏各有一组预设配色,合计 52 个色块,另各带一个自定义入口,可以直接取色
- 侧边式配色支持单独设置顶栏颜色
- 全站 UI 跟随主题色:按钮、标签、时间线节点、Copilot 岛等元素的强调色统一跟随当前导航栏配色,切换主题时实时生效,不用刷新
- 清理了未引用的遗留主题静态资源与字体
十一、各业务模块
库存 / 仓库
- 初始化库存加固:参数校验、事务、乐观锁、审计留痕;禁止序列号与多规格产品在此初始化
- 修复库存过账事务失效(事务开在读连接上,回滚对写入无效;调拨则完全没有事务)
- 修复出库超发校验失效、初始化库存流水记绝对值
- 销售退货单、入库单强制校验仓库存在,避免不选仓库也能入库
- 库存流水表补索引;两个视图改为
SQL SECURITY INVOKER,摆脱对建库账号的依赖 - 库存余额列表图片改异步加载
采购 / 发货 / 退货 / 装配
- 采购申请创建发货单时带入产品数据
- 付款单来自销售退货单时不再校验进货单审批
- 进货单产品信息的增加/减少回显修正
- 装配单打印补供应商字段
审批(适用范围的变化见第九节)
- 修复非负责人可越权编辑审批中单据
- 修复坏触发器导致的审批回写失败(表现为「显示已审批、实际 approved 仍为 0」)
- 手机端审批列表与 Web 端一致
- 钉钉审批增加产品字段
报表 / 打印
- 打印模板补充部门名称、审批人、工单完成时间等字段
- 报价单打印税额、发票管理票据金额等修正
- 销售漏斗增加查询条件
销售目标
- 列表底部增加总计
- 毛利字段显示与成本价权限挂钩
十二、平台与工程改进
这部分用户不直接可见,但决定了系统的可靠性。
模块名复数化迁移
全库把模块名、表名、字段名统一成复数形态(ec_salesorder → ec_salesorders、subject → salesordersname 等)。这是一次影响面极广的基础改动,随后有一系列收尾修复:公式字段、触发器、打印模板、配置表内嵌引用、前端引用选择器等。
数据库真事务
原先代码里的事务 API 是空壳(调了等于没调)。本次补上真事务,并把删除、审批、共享通知、知识库附件等关键站点迁移过去;修复了「事务收尾掩盖业务异常」的问题。
补丁与升级机制
- 248 个历史补丁归档,自动流程只管新规范补丁
- 补丁移出网站根目录到
patches/,加「只能由执行器调起」的守卫 - 引入补丁执行账本(
ec_patch_log),避免重复执行也避免漏执行 - 访问 CRM 时自动补齐未执行的补丁,执行前先备份、备份不成功就不执行
- 备份改用 CRM 自带的纯 PHP 导出,不再依赖 mysqldump;日志类大表默认排除
- 补丁执行成功后自动清缓存并重建触发器
- 补丁骨架默认带
@draft,防止半成品被自动执行抢跑
安全修复
- 公司平台搜索词的 SQL 注入
- 相关列表排序参数(order_by / sorder)的 SQL 注入
- 知识库权限判定失效导致的私有文章泄露与越权改删
- 库存台账列名注入面
- 审批中单据的越权编辑
- AI 工具 401 报错回显 token
十三、已知边界
- 知识库全文检索需要 MySQL ≥ 5.7;低版本自动降级为 LIKE 检索
- 走模块函数(非 SQL 驱动)的相关列表拿不到字段类型,时间线按钮会置灰。这类列表若确实该走时间线,需在代码里显式登记(见
related_timeline_only_lists()) - 相关信息的显示方式偏好存在浏览器本地,换浏览器或换设备不跟随
- 公告的定时发布与未读提醒依赖
scripts/announcement_cron.php,需自行配置定时任务,建议每 5 分钟一次
