# 任务：企业微信嵌入显示管理模块开发
请您参考./rules/所有及子级.md的开发规范和范式要求。
分析目前实现的静态页面./src/app/pages/designer/project-detail/ 所有内容。
构思设计企业微信端项目管理所需的功能

## 企微端项目管理页面
- 项目预加载页面：会话数据及员工数据
    - 根据wxwork相关组件及示例，在当前页面加载会话窗口上下文、当前企业员工数据
    - 窗口上下文决定入口，还有对应的ContactInfo.id和GroupChat.id
    - 企业员工数据，认定了当前用户的身份，对应不同功能和提示
    - 预加载的信息中，如果查询不到当前项目，可以展示群聊相关的其他项目（能可能为空）
        - 可以用骨架屏，引导用户对当前群组创建项目
        - 默认项目名称是群聊名字，并提供修改
        - 创建项目后，加载组件：项目详情（组件@input传入群组GroupChat、项目Project、员工Profile）
- 两个入口：群聊进管项目，客户进查画像
    - 企业微信中客户联系工具条，可以从群聊和客户两处打开
        - 群聊打开，获取的是GroupChat
            - 根据参数，加载群聊当前项目，展示组件：项目详情
        - 联系人打开，获取的是ContactInfo
            - 根据参数，展示组件：客户画像 
                - 显示该客户基础信息、所在群聊及项目、跟进记录
                    - 点击群聊，通过WxworkSDK 跳转进入群聊

## 架构设计和规则
- 通过预加载页面获取群组GroupChat、项目Project、员工Profile数据后，再通过组件加载对应功能页面
    - 主要为了方便调试，调试时候，可以通过路由携带:groupid :projectid :profileid
    - 让对应功能组件从route参数加载对应的数据，而不需要只依赖于@Input传入
        - 此处需要判断若@Input上面的对应FmodeObject空，则根据路由传入参数加载
- 企微会话进入的页面，都是手机竖屏的布局，要考虑到内容设计主次分明，且项目各阶段方便切换
- 企业微信开发相关部分，请您充分参考：./rules/wxwork/*.md
    - 合理设计企微上下文及当前用户获取参数，尽量优化加载速度的同时，确保新员工新会话都能正常同步创建对应的Profile ContactInfo GroupChat数据到数据库，方便项目管理功能调用。
- 数据请参考./rules/schemas.md，使用FmodeParse FmodeObject FmodeQuery实现増删查改
- 项目详情页，还有四大阶段和状态的区分，因此需要合理使用二级路由，和二级子组件来合理规划拆分项目结构，方便维护

## 功能模块目录
./src/modules/project 项目管理模块下
    - 项目预加载页面
    - 客户画像组件
    - 项目详情组件
        - 需要充分展示出项目各个阶段的核心功能
            - 客户信息：
                - 只有客服能看手机、微信、邮箱
                - 客户标签和项目相关的偏好画像、需求、方案是全员能看
            - 订单分配：主要由客服操作
                - 填写项目必备信息，创建对应的报价细项
            - 确认需求：全员操作，主要由组长组员完成
                - 重点功能是上传参考图、CAD图，并说明图的具体内容
                    - 其中参考图，提供色彩分析弹出组件
                    - CAD图，只有人工填写描述，方便全员查看
                    - 其他需求创建和碳写（根据聊天问答获取的其他需求卡片）
                - AI生成方案页
                    - AI分析的完整方案分析（可参考大模型调用示例项目 /home/ryan/workspace/nova/nova-admin/projects/ai-k12-daofa/src/modules/daofa/search/search.component.ts）
                        - 根据参考图、参考图获取的色彩分析报告，在根据方案所需各个维度的参数
                        - 进行调用大模型，输出方案分析文档，辅助设计师理解
                        - 第一次需要生成，方案生成后要保存到需求分析中，方便其他人加载查看
                            - 也可以在参考图更多，填写了更多需求，可以重新分析
            - 交付执行：主要是组员操作
                - 完成各个场景对应交付物上传（根据报价项目清单中，不同的场景），每个场景都需要
                    - 白模：上传白模图片
                    - 软装：上传软装小图
                    - 渲染：展示渲染进度信息
                    - 后期：上传后期处理后图片
                - 每个交付物都有一个自查项，打勾的交互，方便组员自查
                - 组长可以在交付执行页面，给组员对应的交付，提出ProjectIssue，来自组长的Issue
                    - 组员需要更明显得看到，以便于根据要求修改调整
                - 发起交付
                    - 组员上传完所有交付物，可以发起交付
                    - 通知项目群聊的客户，已完成，并且发起收款请求
            - 售后归档：主要是客服操作
                - 处理尾款、客户评价、项目复盘等工作
                - 完成后，可以点击归档，该群聊当前项目将设为空，该项目为已归档历史项目，显示在列表里

## 任务计划

请您完成上面所有核心功能模块的设计和产品结构分析，写在./docs/prd/<端>-<功能>-<页面>。

请您逐个完成上述所有功能，包括页面、数据对接、大模型调用，并确保正常运行。


# FAQ：服务功能对接
> 请参考/home/ryan/workspace/nova/nova-admin/projects/ai-k12-daofa/src/modules/daofa/search/search.component.ts,文件服务使用NovaUploadService.参考[Pasted text #1 +481 lines]大模型LLM用法,还有通过completionJSON携带images实现的图片解析(彻底替代OCR),以及[Pasted text #2 +862 lines]中客户端JS SDK点击按钮后触发的群聊跳转还有消息发送,而不通过API

> /cost 
  ⎿  Total cost:            $11.84
     Total duration (API):  1h 1m 6s
     Total duration (wall): 7h 25m 49s
     Total code changes:    11993 lines added, 157 lines removed
     Usage by model:
         claude-3-5-haiku:  53.4k input, 2.5k output, 0 cache read, 0 cache write ($0.0528)
            claude-sonnet:  9.7k input, 146.9k output, 6.3m cache read, 2.0m cache write ($11.79)

# FAQ：订单页面细化

1. 为了进一步将src/app/pages/designer/project-detail/project-detail.ts所有功能界面交互,迁移到./src/modules/project子页面内,请您先分析原有逻辑.再查看./rules/schemas.md,充分准备好交互逻辑,再开始开发

2.请您参考./docs/data/quotation.md重新设计和开发stage-order页面

特别是订单确认这部分要参考src/app/pages/designer/project-detail/project-detail.ts和src/app/pages/designer/project-detail/project-detail.html及相关页面组件的交互.
项目信息填写分类应该是家装\工装,
价格表应该是客户直接快速选场景,下面价格表就出来了,可以直接用,创建订单,只有要调整的再人工调整.

注意：分配设计师,要按照project-detail.ts中点开后选择项目组在选择组和组员的方式,注意项目组使用Departmnet表
- Department
  项目组（部门）
    - name String 项目组名称
    - type "project" 项目组
    - leader Pointer<Profile> 组长
    - company Pointer<Company> 指向当前帐套.


3.并检查下aftercare requirements两个阶段Angular报错递归调用等细节问题

4.delivery中出现的场景来自于order阶段报价中的场景要数据动态加载,每个场景都需要建模\软装\渲染\后期阶段.您不用询问直接继续,直到完成所有. 

注意使用div-scss而不是Ionic.请您合理规划整个计划任务，完成更完整更可用的项目管理模块./src/modules/project.


# FAQ：修复入口路由规则
请您参考rules/schemas.md,将src/modules/project/pages/contact/contact.component.ts和src/modules
  /project/pages/project-detail/project-detail.component.ts增加可以通过路由参数加载必备信息进入
  的方式且优先与企微加载(避免从网页进入企微相关函数报错)并同步修改app.routes.ts将路由规则使用写
  在./docs/project.md.注意逻辑是企微端进入后后台才会有对应数据,而从后台进入加载的ContactInfo是有
  external_userid属性的,从后台进入的GroupChat是有chat_id属性的.特别是注意可以使用rules/wxwork/au
  th.md实现不影响页面加载的用户授权及Profile同步的逻辑,并在localStorage的"Parse/ProfileId"记录当
  前profile,通过全局服务一个函数获取当前profile员工档案信息(网页端也会用同样规则通过缓存的"Parse/ProfileId"加载当前员工).请您分析需求,合理设计,完成开发.务必完成所有细节