# Codex 项目变更日志 项目路径:`D:\SalesCRM` 用途:记录每次由 Codex 执行的系统优化、部署准备、数据结构调整和验证结果,避免后续遗忘、重复修改或丢失上下文。 ## 记录规则 每次执行优化前后都要记录: - 执行时间 - 本次目标 - 修改文件 - 主要变更 - 验证方式 - 结果 - 遗留问题/下一步 --- ## 2026-07-15 变更日志制度建立 本次目标: - 建立固定变更日志文件。 - 后续所有 CRM 项目优化都追加记录到本文件。 修改文件: - `docs/codex-change-log.md` 结果: - 已建立日志模板。 下一步: - 开始执行 `codex-task-list.md` 中上线前高优先级优化。 --- ## 2026-07-15 JSON原子写入与客户类别字段 本次目标: - 提升 `crm_full_data.json` 保存安全性,降低写入中断造成数据文件损坏的风险。 - 补齐客户类别字段,让“来源平台”和“客户类别”分开记录、筛选、编辑和导出。 修改文件: - `work/crm_full_server.js` - `outputs/sales_crm_full_demo.html` - `docs/codex-change-log.md` 主要变更: - 后端保存数据改为先写临时文件,再替换正式 JSON 文件,并增加 `_version` 版本递增。 - 后端读取历史客户时自动补 `customerCategory`,老数据默认使用原 `source`。 - 新增客户、编辑客户、离线本地体验、CSV 导出均支持 `customerCategory`。 - 客户列表增加“客户类别”列,客户筛选增加“客户类别”筛选。 - 客户详情抽屉的基础资料和运营来源资料均可编辑客户类别。 验证方式: - 执行 `node --check work/crm_full_server.js`。 - 执行前端脚本解析检查。 - 临时启动 8097 端口,完成登录、新增测试客户、读取客户类别、删除测试客户闭环。 结果: - 后端语法检查通过。 - 前端脚本解析通过。 - 接口闭环验证通过:测试客户保存 `customerCategory=快手` 后可读取,并已删除测试客户。 遗留问题/下一步: - 暂未清理 `D:\SalesCRM\data\data`、`D:\SalesCRM\outputs\outputs`、`D:\SalesCRM\work\work` 等重复目录,删除前需要再次确认,避免误删用户数据。 - `codex-task-list.md` 中产品表、销售订单明细、密码安全等高优先级事项仍需后续逐项执行。 --- ## 2026-07-15 导航固定折叠与账号权限勾选 本次目标: - 解决左侧导航和主页面一起滚动,导致页面底部看不到主内容的问题。 - 给左侧部门导航增加收起/展开能力。 - 主管后台可按账号勾选开通或取消部门权限,不再只能按岗位固定权限。 修改文件: - `outputs/sales_crm_full_demo.html` - `work/crm_full_server.js` - `docs/codex-change-log.md` 主要变更: - 页面布局改为左侧导航独立滚动、右侧主页面独立滚动。 - 左侧每个大部门模块支持点击收起/展开,默认保留第一个模块展开,其余模块收起。 - 前端新增权限目录和权限勾选区,账号列表显示实际开通权限。 - 导航显示从“按岗位”调整为“按账号权限”,主管可给不同部门人员开通对应模块。 - 后端账号保存接口支持保存自定义权限,编辑账号时不再自动重置为岗位默认权限。 验证方式: - 执行 `node --check work/crm_full_server.js`。 - 执行前端脚本解析检查。 结果: - 后端语法检查通过。 - 前端脚本解析通过。 遗留问题/下一步: - 当前权限主要用于前端导航和账号配置展示,后续上线前建议继续把关键接口也逐步加上按权限校验。 --- ## 2026-07-16 销售订单生成销售单流程优化 本次目标: - 参照旧智能云系统截图,优化销售订单板块的“生成销售单”操作。 - 补齐销售单中仓库、送货方式、商品明细、结算账户、现结款、欠款、销售员、保存并审核等关键字段。 修改文件: - `outputs/sales_crm_full_demo.html` - `work/crm_full_server.js` - `docs/codex-change-log.md` 主要变更: - 后端业务数据类型新增 `salesBills`,用于保存销售单记录。 - 销售订单列表每行增加“销售单”操作。 - 顶部“生成单据”调整为“生成销售单”,打开销售单弹层而不是静默生成多类记录。 - 新增销售单弹层,自动从销售订单带出客户、订单号、商品、数量、单价、销售员、备注等信息。 - 销售单支持出库仓库、送货方式、商品明细、折扣、结算账户、现结款、其它费用、优惠金额、欠款和总金额计算。 - “保存并审核”会创建销售单记录,并回写销售订单的销售单状态、审核状态、收款和欠款信息。 验证方式: - 执行 `node --check work/crm_full_server.js`。 - 执行前端脚本解析检查。 - 临时启动 8098 端口,验证 `salesBills` 业务记录可创建、读取、删除。 结果: - 后端语法检查通过。 - 前端脚本解析通过。 - `salesBills` 接口闭环验证通过,测试记录已删除。 遗留问题/下一步: - 当前销售单先支持单行商品明细,后续可继续扩展为多商品行、商品库选择、扫码录入和附件云存储。 - 销售单生成后与真实库存扣减、出库审核、物流签收、财务收款的联动还需要继续细化。 --- ## 2026-07-17 正式开发目录迁移到 E 盘 本次目标: - 将销售 CRM 的正式开发目录迁移到 `E:\code\SalesCRM`。 - 保留原 C 盘开发目录和 D 盘部署/备份目录,不删除旧数据,避免误删。 - 后续开发、优化、同步、部署默认以 `E:\code\SalesCRM` 作为正式代码目录。 涉及目录: - 原开发目录:`C:\Users\Administrator\Documents\Codex\2026-07-04\wo-x` - 新正式开发目录:`E:\code\SalesCRM` - 本地部署/备份目录:`D:\SalesCRM` - 云服务器部署目录:`/home/ubuntu/SalesCRM` 主要变更: - 创建 `E:\code\SalesCRM`。 - 将当前项目完整复制到 `E:\code\SalesCRM`,包括 `work`、`outputs`、`data`、`docs`、`deploy`、`tools`、`package.json`、`start_crm.bat` 等内容。 - 后续对销售 CRM 的代码修改,默认在 `E:\code\SalesCRM` 进行,再按需要同步到 D 盘或云服务器。 验证方式: - 在 `E:\code\SalesCRM` 执行 `node --check work\crm_full_server.js`。 结果: - 新目录已创建并完成复制。 - 后端语法检查通过。 遗留问题/下一步: - 若后续需要彻底切换开发工作区,可将 Codex 当前工作目录也切到 `E:\code\SalesCRM`。 - D 盘仍作为本地部署/备份目录,不作为主要代码开发目录。