From 319751c781c851d9c3aa219501c63c1832668b38 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Sun, 28 Jun 2026 09:00:36 +0800 Subject: [PATCH] =?UTF-8?q?docs(house/calendar):=20=E6=88=BF=E5=8A=A1?= =?UTF-8?q?=E6=97=A5=E5=8E=86=20=E6=88=91=E7=9A=84/=E5=85=A8=E9=83=A8=20sc?= =?UTF-8?q?ope=20=E5=88=87=E6=8D=A2=E5=A5=91=E7=BA=A6(=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5,=20=E5=90=8E=E7=AB=AF=E6=97=A0=E6=94=B9?= =?UTF-8?q?=E5=8A=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...¥åŽ†æˆ‘çš„å…¨éƒ¨scope切æ¢å¥‘约_å‰ç«¯å¯¹æŽ¥-管ç†åŽå°.md | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 changelogs-v2/2026-06/34_房务日历我的全部scope切æ¢å¥‘约_å‰ç«¯å¯¹æŽ¥-管ç†åŽå°.md diff --git a/changelogs-v2/2026-06/34_房务日历我的全部scope切æ¢å¥‘约_å‰ç«¯å¯¹æŽ¥-管ç†åŽå°.md b/changelogs-v2/2026-06/34_房务日历我的全部scope切æ¢å¥‘约_å‰ç«¯å¯¹æŽ¥-管ç†åŽå°.md new file mode 100644 index 0000000..95d8ec9 --- /dev/null +++ b/changelogs-v2/2026-06/34_房务日历我的全部scope切æ¢å¥‘约_å‰ç«¯å¯¹æŽ¥-管ç†åŽå°.md @@ -0,0 +1,73 @@ +# 房务日历「我的 / 全部ã€åˆ‡æ¢å¥‘约(å‰ç«¯å¯¹æŽ¥ï¼‰ + +> 模å—:房务管家 · 日历视图(管ç†åŽå°ï¼‰ +> 类型:**å‰ç«¯å¯¹æŽ¥è¯´æ˜Žï¼ˆåŽç«¯æ— æ”¹åŠ¨ï¼Œèƒ½åŠ›æ—©å·²å…·å¤‡ï¼‰** +> 日期:2026-06-28 +> 背景:房务日历需è¦èƒ½çœ‹åˆ°ã€Œå…¨éƒ¨è®¢å•ã€ï¼Œå½“å‰é»˜è®¤åªçœ‹æœ¬äººï¼ˆæˆ‘的)。åŽç«¯ `GET /admin/house/calendar` **æ—©å·²æ”¯æŒ `scope=all` 返回全部ã€ä¸”无任何角色门控**,å‰ç«¯æŠŠã€Œå…¨éƒ¨ã€Tab 接到 `scope=all` å³å¯ï¼Œæ— éœ€åŽç«¯æ”¹åŠ¨ã€‚ + +--- + +## 一ã€ç«¯ç‚¹ä¸Žå‚数(ä¸å˜ï¼‰ + +`GET /admin/house/calendar` + +| 傿•° | å¿…å¡« | å–值 | 说明 | +|------|------|------|------| +| `month` | 是 | `YYYY-MM`(如 `2026-06`) | 月份 | +| `scope` | å¦ | `mine`(**默认**)/ `all` | **「我的ã€=`mine`,「全部ã€=`all`** | +| `status` | å¦ | `inProgress,inquiry,pending,exception` 多选逗å·åˆ†éš”,ä¸å¡«=全部 | 状æ€ç‚¹ç­›é€‰ | + +## 二ã€ã€Œæˆ‘çš„ / å…¨éƒ¨ã€æ€Žä¹ˆåˆ‡æ¢ï¼ˆæ ¸å¿ƒï¼‰ + +**åŒä¸€ä¸ªç«¯ç‚¹ï¼Œåˆ‡æ¢ Tab åªæ”¹ `scope` 傿•°å€¼ã€é‡æ–°è¯·æ±‚å³å¯**ï¼Œå…¶ä½™å‚æ•°ï¼ˆmonth/status)ä¸å˜ï¼š + +- 点「我的ã€â†’ 请求 `?month=2026-06&scope=mine` +- 点「全部ã€â†’ 请求 `?month=2026-06&scope=all` + +两个 scope 的差异(åŽç«¯å£å¾„): + +| | `scope=mine`(我的) | `scope=all`(全部) | +|---|---|---| +| æ•°æ®èŒƒå›´ | **仅当å‰ç™»å½•房务作为认领人(claimer)的订å•** | **所有订å•**ï¼Œä¸æŒ‰è®¤é¢†äººè¿‡æ»¤ | +| 角色门控 | æ—  | **æ— **(普通房务 / admin / 组长都能看全部,ä¸éœ€è¦ç»„é•¿æƒé™ï¼‰ | +| å¾…é…æˆ¿æ¡¶ï¼ˆpending,无归属房务) | **æ’为空**ï¼ˆå¾…é…æˆ¿è¿˜æ²¡è®¤é¢†äººï¼Œä¸å±žäºŽ"我的") | æ­£å¸¸è¿”å›žæœ¬æœˆå…¨éƒ¨å¾…é…æˆ¿ | +| summary å„计数 / days å„天团数 | 按"我的"å£å¾„ | 按"全部"å£å¾„ | + +> å³ï¼šè¦è®©æ—¥åކ"看到全部订å•",å‰ç«¯åœ¨ã€Œå…¨éƒ¨ã€Tab 下传 `scope=all` å³å¯ã€‚**建议日历默认进入时用 `scope=all`(一眼看全团),ä¿ç•™ã€Œæˆ‘çš„ã€Tab 让房务切回 `scope=mine` åªçœ‹è‡ªå·±ã€‚** 是å¦é»˜è®¤å…¨éƒ¨ç”±å‰ç«¯å®šï¼ŒåŽç«¯ä¸¤ç§éƒ½æ”¯æŒã€‚ + +## 三ã€å‡ºå‚ç»“æž„ï¼ˆéš scope å˜åŒ–,结构ä¸å˜ï¼‰ + +``` +{ + "month": "2026-06", + "summary": { "totalNights": 64, "inProgress": 32, "pending": 0, "inquiry": 0, "exception": 0 }, + "days": [ + { + "date": "2026-06-28", + "isCurrentMonth": true, + "isToday": true, + "tourCount": 24, // 该日团数(DISTINCT order_id) + "statusDots": [ // å³ä¸‹è§’圆点 + { "status": "inProgress", "label": "进行中", "count": 14, "color": "green" }, + { "status": "inquiry", "label": "询房中", "count": 8, "color": "orange" }, + { "status": "exception", "label": "异常", "count": 2, "color": "red" } + ] + } + // ... 完整周排版 28~42 天, isCurrentMonth=false 的为补ä½çš„上/下月日期(ç°æ˜¾) + ] +} +``` + +- `summary` 与 `days` éƒ½éš `scope` å˜ï¼›`scope=mine` 䏔当剿ˆ¿åŠ¡å下无认领时全为 0(`totalNights=0`ã€days 无点)。 +- 状æ€ç‚¹ `status` å–值:`inProgress`(进行中) / `inquiry`(询房中) / `pending`(å¾…é…æˆ¿) / `exception`(异常)。 + +## å››ã€æµ‹è¯•æœå®žæµ‹ï¼ˆå·²é€šè¿‡ï¼Œè¯æ˜Žèƒ½åŠ›å…·å¤‡ï¼‰ + +åŒä¸€ admin è´¦å·ã€åŒæœˆ `2026-06`: + +| scope | 实测结果 | 说明 | +|-------|----------|------| +| `mine` | `totalNights=0`ã€0 团 | 该账å·åä¸‹æ— è®¤é¢†è®¢å• â†’ 我的为空 | +| `all` | `totalNights=64`ã€`inProgress=32` 团 | **å…¨éƒ¨è®¢å•æ­£å¸¸è¿”回**,无门控 | + +æŽ¥å£ HTTP 200,结构如上。**åŽç«¯æ— éœ€ä»»ä½•改动,å‰ç«¯æŒ‰æœ¬è¯´æ˜ŽæŠŠã€Œå…¨éƒ¨ã€Tab 接到 `scope=all` å³å¯ã€‚**