功能 #12660
進行中
[服務據點]新增查詢條件+查詢結果要顯示在google map上
概述
- 新增輸入當下地址後, 再點選周圍距離條件, 查出服務據點
- 服務據點要顯示在google地圖上
請參考以下作法
客戶推薦
https://healthhub.hpa.gov.tw/Query3
更優的呈現
https://www.sinotrade.com.tw/newweb/Service_Positions/
由 Sam Wang 於 7 天 前更新
v0.26.07.0401 (待開發服建置後佈署)¶
依據【安南服務據點資料】進行據點相關服務異動,異動補充說明如下: (詳細參考SWAGGER)¶
針對「服務據點」模組進行了無痛向下相容的擴充,主要支援據點無限擴充「科別」與「動態服務項目」。舊有邏輯(如 HasBloodPressure 等 Boolean 欄位)完全不受影響。
以下為前端需知的新增與異動說明:
1. 取得選項總表 (異動)¶
GET /api/service-location/services
變更說明:原本只回傳 16 項固定的量測項目,現在會同時回傳「舊量測項目」與「新擴充科別」(共約 36 項)。
前端對接方式:回傳的每筆物件中新增了 type 欄位。建議前端依照 type 進行 GroupBy 來繪製不同的 UI 區塊(例如:將量測項目畫成 Checkbox,科別畫成下拉選單)。
只取單一類別為科別可以直接顯示 "type" = "Department"
[
{ "id": "HasBloodPressure", "name": "血壓", "type": "Measurement" },
{ "id": "1", "name": "內科", "type": "Department" },
{ "id": "2", "name": "外科", "type": "Department" }
]
2. 據點列表查詢與過濾 (擴充)¶
GET /api/service-location/paged-list (及 list 等查詢 API)
[Request] 新增查詢參數 ItemIds:
若使用者想篩選特定的科別,請透過 ItemIds 傳遞,格式為逗號分隔的字串。
範例:?ItemIds=1,2,3
[Response] 新增回傳欄位 DepartmentTypes:
列表中的每個據點物件,都會額外帶上該據點擁有的科別陣列。
{
"code": "SL001",
"name": "測試據點",
"HasBloodPressure": true,
"DepartmentTypes": [
{ "id": "1", "name": "內科", "type": "Department" }
]
}
3. 新增 / 更新單一據點 (擴充)¶
POST /api/service-location & PUT /api/service-location/{code}
變更說明:Request Body 接受全新的陣列欄位 activeServiceItemIds。
前端對接方式與防呆機制:
寫入科別:請傳入使用者勾選的 ID 陣列。例如:"activeServiceItemIds": [1, 2]
清空科別:若使用者取消勾選所有科別,前端必須明確傳入空陣列 "activeServiceItemIds": [],後端才會將科別清空。
略過更新:如果不傳遞此欄位或傳 null,後端會判定為「不異動科別」,不會刪除該據點既有的科別資料(保護機制)。