實習通 活動報名編輯器改版 介面示意 Mockup
給工程團隊的介面交接

把「活動報名專區」重做成順手、不跑版的編輯器

這份文件示範改版後的活動建立與報名流程,參考 Accupass 的售票體驗, 但完全沿用實習通既有的視覺系統。所有畫面皆為靜態 mockup, 不會動到 internx.me 現有的任何程式碼,僅作為介面規格與交接依據。

4
編輯步驟,不再一頁塞爆
每張票
可設販售時間 × 數量上限
拖曳
欄位抓把手就能排序

現況問題

目前哪裡卡住,以及這次怎麼解

每一條都對應到現有 frontend 的實際程式碼,方便對照。

問題 1

早鳥票過期還能選

票價只存名稱與金額,沒有「販售起訖時間」。早鳥票 6/18 截止,6/22 仍可被選取。

現況:feeItems: Array<{ name, price }> — activity-form-schema.ts:328

改法:每張票加上 saleStart / saleEnd,系統自動算出狀態(尚未開賣/販售中/已截止),過期票自動鎖定不可選。

問題 2

不能限制每種票的張數

只有一個全活動的「參加名額上限」,無法針對「早鳥 50 張、一般票無限」分別設定。

現況:feeItems 無 quantity 欄位 — activity-form-schema.ts:371

改法:每張票各自設 quantity,畫面顯示「已售 / 剩餘」與售罄自動標記。

問題 3

報名表單欄位排序不順手

主辦方希望直接拖曳欄位上下排序,但現有拖曳實作不穩、手機難用,工程端也反映從零做拖曳很麻煩。

現況:自製 drag 的 handleReorderFields — FormBuilder.tsx:88

改法:改用成熟拖曳套件 @dnd-kit/sortable抓住把手即可順暢拖曳;內建觸控與鍵盤支援,工程端不必自己造輪子。

問題 4

編輯會跑版、不好編輯、不夠精緻

所有設定擠在同一長頁,欄位寬度不固定,輸入時版面跳動。

現況:單一長表單 AddActivity.tsx(690 行)

改法:固定寬度的「左側步驟 + 右側表單」版面,分成 4 個步驟,每步聚焦一件事,搭配即時預覽。

改版重點

新版編輯器的四個步驟

1 · 活動內容

標題、封面、時間地點、主辦資訊、富文本介紹。欄位寬度固定、不跑版。

2 · 票券設定 核心改動

多種票券,每張可設售價、數量、販售起訖時間,狀態自動計算。

3 · 報名表單

從欄位庫加欄位,抓把手拖曳排序,即時看到報名者會填到的樣子。

4 · 進階與送出

付款方式、退款規則、審核設定,最後預覽整頁再送審上架。

關於這份交接

本網站是純靜態示意檔(HTML/CSS/JS,無建置流程),用來對齊「介面應該長什麼樣、行為應該怎麼運作」。 它不引用、也不修改 internx.me 既有專案。工程同事可直接照著 工程規格交接文件 INTEGRATION.md,調整現有的 activity-form-schema.tsFormBuilder