# 任务：订单分配阶段开发

项目详情一级路由组件是：src/modules/project/pages/project-detail/project-detail.component.ts
项目详情二级订单分配阶段组件为：src/modules/project/pages/project-detail/stages/stage-order.component.ts

1. 项目详情中，customer，对应的是当前群组客户联系人ContactInfo
- 待设置状态，客服身份，允许点击选择客户，从当前GroupChat中加载member_list中type为2的外部用户作为联系人
    - 查询该外部用户的ContactInfo，若存在将customer设置为查到的ContactInfo
    - 若不存在，则通过this.wecorp!.externalContact.get(member.userid)获取用户信息，并同步创建ContactInfo，并设置为该数据
- 设置后，则显示客户名称和信息，但是仅客服能看到联系方式和微信，其他成员只允许看到头像和名字

2. 订单分配中
- 报价工具
    - 报价区域，需要封装成组件，针对quotation Object json格式进行编辑
        - 无报价，提示选择场景，引导选择空间，生成报价表
        - 有报价，直接展示报价明细，其他折叠，当用户点击后再展开编辑
    - 报价明细，每个场景，可以用表格展示，显示更多信息，点击后展开对应场景细项选择和价格填写
    - 生成报价表，按钮样式有问题，需要修复
- 设计师分配
    - 增加展示已分配组员 ProjectTeam
        - 展示组员和其负责的空间
    - 选择组员，弹出是否分配给该设计师
        - 指派空间场景（报价信息中获取）
            - 仅有一个空间时候，默认填写好该条
        - 确认分配
            - 创建ProjectTeam
                - .data属性，给其分配的空间场景，方便交付环节匹配和展示
        - try catch 静默执行加入群聊
        ```
            ww.updateEnterpriseChat({
                chatId: 'CHATID',
                userIdsToAdd: [
                    'zhangsan',
                    'lisi'
                ]
            })
        ```

## 参考文档
- 数据范式 ./rules/schemas.md
- 企微调用 ./docs/wxwork/*.md (请仅使用WxworkCorp,避免使用前端SDK)
    - 仅组员分配，加入群聊部分，静默调用sdk中ww库能力变更添加群成员
- 开发过程，如果更新了schemas.md内容请同步更新文档
    - 例如：ProjectTeam，识别项目组员，和.data中负责空间信息
        - .data也需要预留到后续，记录该组员在该项目的整体表现评估复盘的内容

## FAQ：迭代细节
第一步:stage-order页面已选择组员相关的scss样式缺失,请您补全美观.第二步请您参考project-loader从
  groupChat信息，创建新的Project的逻辑,在groupchats.ts组件中,增加点击未关联项目,引导创建新项目设
  置在GroupChat.project Pointer<project>属性内,添加对应的ProjectGroup同时根据project-management
  组件加载项目详情页路由点击后展示项目详情页,方便我在后台管理也可以创建群组对应的项目. 