Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .changeset/cases-detail-layout-write-real.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
"hotcrm": patch
---

Service docs: the three remaining "when you open a case, you'll see" bullets now match the page metadata.

`content/docs/service/cases` promised a **Customer panel**, a **Related** tab carrying four kinds of
record, and an **AI Reference Rail**. Measured against `src/pages/case_detail.page.ts`, that page
declares two regions and nothing else — a header holding the page header, the Key Information
highlights strip and the status path, and a main region holding one tab strip. There is no third
region, no side panel and no AI component anywhere on it.

- **Customer panel** — no such component. The **account** is on the page three times over (header
subtitle, Key Information strip, and a field in the *Details* tab) and the **primary contact** is a
field in that tab's *Case Information* section, so the bullet now points at where those two
actually are. **Contract tier** and **open cases this month** have no carrier at all: a case links
to no contract, `crm_contract` has no tier field either (the nearest real field is **Customer
Tier** on the account, which this page does not show), and nothing in this app counts a customer's
cases by month.
- **Related** — one list, not four. The tab is an accordion with a single item, **Open Tasks**: the
`crm_task` records pointing at the case through **Related Case** (`related_to_case`), filtered to those not yet
*Completed*, ten at a time. Attachments are enabled on the object but no component on this page
lists them; `crm_case` has no opportunity relationship in either direction; and the case's three
milestones — *escalated*, *resolved*, *closed* — are `activityMilestones` that land as entries in
the **Activity** timeline, not as records on this tab.
- **AI Reference Rail** — no rail of any kind. The service skills are real and the page already
describes them further down, but they are reached by asking, not from a panel beside the case. The
one reference rail this app renders is on the opportunity detail page, and it lists related records
rather than suggestions.

Each name is kept and answered rather than silently deleted, following the same approach as the
earlier case and SLA passages. Whether this page *should* grow a customer panel or an assistant rail
is a product question this leaves open, as is the "Copilot" wording itself. English, Simplified
Chinese and Traditional Chinese. Documentation only — no metadata changed.
6 changes: 3 additions & 3 deletions content/docs/service/cases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -142,12 +142,12 @@ When you open a case, you'll see:
- **Header** — the case number and subject as the title (`{case_number} · {subject}`), the **account** as the subtitle, plus an icon, a breadcrumb and the action buttons. That is the whole header: there is **no status badge, no priority badge and no SLA countdown** on it. Nothing in this app computes time remaining or time over — not here, not anywhere else on the case — so there is no countdown to render. See [SLA & Escalation](/docs/service/sla-and-escalation) for what the two SLA fields do instead.
- **Key Information** — the highlights strip directly under the header, and where **Status** and **Priority** actually live: ordinary fields rather than badges, side by side with **SLA Due Date**, **SLA Violated**, **Owner** and **Account**.
- **Status path** — a Salesforce-style horizontal flow showing New → In Progress → Waiting on Customer → Escalated → Resolved → Closed, so an agent can see at a glance where the case stands and what the next stop is.
- **Customer panel** — account, primary contact, contract tier, open cases this month.
- **Customer panel** — there is no such panel. The page (`src/pages/case_detail.page.ts`) declares two regions and nothing else: a header holding the three components above, and a main region holding the tab strip below. What customer context there is sits in those: the **account** appears three times over — the header subtitle, the Key Information strip, and a field in the *Details* tab — and the **primary contact** is a field in that same tab's *Case Information* section. **Contract tier** and **open cases this month** are on no case surface at all. A case links to no contract, and `crm_contract` carries no tier field either; the nearest real field is **Customer Tier** on the account record, which this page does not show. Nothing in this app counts a customer's cases by month.
- **Three tabs:**
- **Details** — full case description and resolution, all metadata fields.
- **Related** — child tasks, attached files, linked opportunities, milestones.
- **Related** — one list, not four: **Open Tasks** — the `crm_task` records pointing at this case through **Related Case** (`related_to_case`), filtered to those whose status is not *Completed*, ten at a time. That is the whole tab. There is no attachments list: files can be attached to a case (the object enables them), but no component on this page lists them. There is no linked-opportunity list, because `crm_case` has no opportunity relationship in either direction. And there is no milestone list — the case's three milestones, *escalated*, *resolved* and *closed*, are emitted as entries in the **Activity** timeline, not as records here.
- **Activity** — a unified timeline (more on this below).
- **AI Reference Rail** — the Service Copilot's suggestions.
- **AI Reference Rail** — there is no rail on this page, of any kind. The main region holds the tab strip and nothing else, and not one component on the page is AI-driven. The service skills are real — see *How the AI assistant helps* below — but you reach them by asking, not from a panel beside the case. The one reference rail this app does render sits on the opportunity detail page, and even there it lists related records (quotes, products, open tasks) rather than suggestions.

### The Activity timeline

Expand Down
6 changes: 3 additions & 3 deletions content/docs/service/cases.zh-Hans.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -142,12 +142,12 @@ description: 客户支持工单——主题、优先级、状态、解决方案
- **页眉**——标题是工单编号与主题(`{case_number} · {subject}`),副标题是**账户**,此外只有一个图标、面包屑和几个动作按钮。页眉就这些:上面**没有状态徽章、没有优先级徽章,也没有 SLA 倒计时**。本应用里没有任何东西会计算剩余时间或超时时长——页眉上没有,工单上别的任何地方也没有——所以根本没有倒计时可渲染。那两个 SLA 字段实际做什么,见 [SLA 与升级](/zh-Hans/docs/service/sla-and-escalation)。
- **关键信息**——紧贴页眉下方的摘要栏,也是**状态**与**优先级**真正待的地方:它们在这里是普通字段而不是徽章,与 **SLA 截止日期**、**SLA Violated**、**负责人**、**账户**并排。
- **状态路径**——一个 Salesforce 风格的水平流程,显示 New → In Progress → Waiting on Customer → Escalated → Resolved → Closed,让客服一眼就能看出工单的进展和下一站。
- **客户面板**——账户、主要联系人、合同等级、本月未结工单。
- **客户面板**——不存在这样一个面板。这一页(`src/pages/case_detail.page.ts`)只声明了两个区域,再无其他:一个页眉区域装着上面那三个组件,一个主区域装着下面那组页签。客户上下文就散落在这两处:**账户**在页面上出现了三次——页眉副标题、关键信息摘要栏,以及 *Details* 页签里的一个字段;**主要联系人**则是同一页签 *Case Information* 分区里的一个字段。**合同等级**与**本月未结工单**在工单的任何界面上都没有承载:工单不关联任何合同,`crm_contract` 上也没有等级字段;最接近的真实字段是账户记录上的 **Customer Tier**(中文界面作「客户分层」),而这一页并不展示它。本应用里也没有任何东西按月统计一个客户的工单数。
- **三个标签页:**
- **Details**——完整的工单描述和解决方案、所有元数据字段。
- **Related**——子任务、附件、关联商机、里程碑。
- **Related**——只有一个列表,不是四个:**Open Tasks**——通过**关联工单**(`related_to_case`)指向本工单的 `crm_task` 记录,过滤掉状态为 *Completed* 的,一次最多十条。整个页签就这些。没有附件列表:工单是可以挂附件的(对象上开了这项能力),但这一页没有任何组件把它们列出来。没有关联商机列表,因为 `crm_case` 与商机之间双向都不存在任何关系字段。也没有里程碑列表——工单的三个里程碑(*escalated*、*resolved*、*closed*)是以条目形式发到 **Activity** 时间线上的,不是在这里当记录列出来。
- **Activity**——统一的时间线(下文详述)。
- **AI 参考栏**——Service Copilot 的建议。
- **AI 参考栏**——这一页上不存在任何形式的参考栏。主区域里除了那组页签什么都没有,页面上也没有任何一个组件是 AI 驱动的。服务技能本身是真实存在的——见下文《AI Copilot 如何提供帮助》一节——但你是靠提问去用它们,而不是靠工单旁边的一块面板。本应用里唯一真正渲染出来的参考栏在商机详情页上,而且即便在那里,它列的也是关联记录(报价、产品、未完成任务),不是什么建议。

### 活动时间线

Expand Down
6 changes: 3 additions & 3 deletions content/docs/service/cases.zh-Hant.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -142,12 +142,12 @@ description: 客戶支援工單——主題、優先順序、狀態、解決方
- **頁首**——標題是工單編號與主題(`{case_number} · {subject}`),副標題是**帳戶**,此外只有一個圖示、麵包屑和幾個動作按鈕。頁首就這些:上面**沒有狀態徽章、沒有優先順序徽章,也沒有 SLA 倒數計時**。本應用裡沒有任何東西會計算剩餘時間或超時時長——頁首上沒有,工單上別的任何地方也沒有——所以根本沒有倒數計時可渲染。那兩個 SLA 欄位實際做什麼,見 [SLA 與升級](/zh-Hant/docs/service/sla-and-escalation)。
- **關鍵資訊**——緊貼頁首下方的摘要欄,也是**狀態**與**優先順序**真正待的地方:它們在這裡是普通欄位而不是徽章,與 **SLA 截止日期**、**SLA Violated**、**負責人**、**帳戶**並排。
- **狀態路徑**——一個 Salesforce 風格的水平流程,顯示 New → In Progress → Waiting on Customer → Escalated → Resolved → Closed,讓客服一眼就能看出工單的進展和下一站。
- **客戶面板**——帳戶、主要聯絡人、合約等級、本月未結工單。
- **客戶面板**——不存在這樣一個面板。這一頁(`src/pages/case_detail.page.ts`)只宣告了兩個區域,再無其他:一個頁首區域裝著上面那三個元件,一個主區域裝著下面那組頁籤。客戶脈絡就散落在這兩處:**帳戶**在頁面上出現了三次——頁首副標題、關鍵資訊摘要欄,以及 *Details* 頁籤裡的一個欄位;**主要聯絡人**則是同一頁籤 *Case Information* 分區裡的一個欄位。**合約等級**與**本月未結工單**在工單的任何介面上都沒有承載:工單不關聯任何合約,`crm_contract` 上也沒有等級欄位;最接近的真實欄位是帳戶記錄上的 **Customer Tier**(中文介面作「客戶分層」),而這一頁並不展示它。本應用裡也沒有任何東西按月統計一個客戶的工單數。
- **三個標籤頁:**
- **Details**——完整的工單描述和解決方案、所有元資料欄位。
- **Related**——子任務、附件、關聯商機、里程碑。
- **Related**——只有一個列表,不是四個:**Open Tasks**——透過**關聯工單**(`related_to_case`)指向本工單的 `crm_task` 記錄,過濾掉狀態為 *Completed* 的,一次最多十筆。整個頁籤就這些。沒有附件列表:工單是可以掛附件的(物件上開了這項能力),但這一頁沒有任何元件把它們列出來。沒有關聯商機列表,因為 `crm_case` 與商機之間雙向都不存在任何關係欄位。也沒有里程碑列表——工單的三個里程碑(*escalated*、*resolved*、*closed*)是以條目形式發到 **Activity** 時間線上的,不是在這裡當記錄列出來。
- **Activity**——統一的時間線(下文詳述)。
- **AI 參考欄**——Service Copilot 的建議。
- **AI 參考欄**——這一頁上不存在任何形式的參考欄。主區域裡除了那組頁籤什麼都沒有,頁面上也沒有任何一個元件是 AI 驅動的。服務技能本身是真實存在的——見下文《AI Copilot 如何提供幫助》一節——但你是靠提問去用它們,而不是靠工單旁邊的一塊面板。本應用裡唯一真正渲染出來的參考欄在商機詳情頁上,而且即便在那裡,它列的也是關聯記錄(報價、產品、未完成任務),不是什麼建議。

### 活動時間線

Expand Down
Loading