sky121113
4dad775568
[FIX] 修正台灣地址解析經緯度失敗問題
...
1. 新增 cleanFloorInfo 方法,過濾地址末尾的樓層、室、地下室等非門牌雜訊,防範 Nominatim 解析失敗。
2. 重構 parseTaiwanAddress 的路名拆分正則表達式,導入層級感知台灣地址結構,避免含有「巷、弄」的地址被提前截斷。
2026-05-22 09:51:05 +08:00
sky121113
a76f6323a2
[PROMOTE] 晉升 dev 至 demo 環境
...
1. [STYLE] 將 Discord 溫度過低告警側邊條顏色從預設藍色 (cyan-600) 調整為警示紅色 (rose-600),以與溫度過高告警顏色保持警示一致性。
2026-05-21 17:09:10 +08:00
sky121113
b6e5b825a5
[STYLE] 將溫度過低告警側邊條顏色調整為警示紅色
2026-05-21 17:09:00 +08:00
sky121113
43989ada2d
[PROMOTE] 晉升 dev 至 demo 環境
...
1. [FIX] 修正機台設定公司篩選下拉選單兩項問題:選取後自動觸發 AJAX 篩選、重設按鈕透過 HSSelect.setValue() 正確清除 Preline 下拉選單 UI、調整 Preline autoInit 與 Alpine initTree 初始化順序以 requestAnimationFrame 確保 DOM 更新完畢後才執行 Alpine。
2. [FIX] 補強公司篩選下拉選單 AJAX 後選中狀態顯示:option 元素補上 server-side selected 屬性、fetchTabContent 完成後主動呼叫 HSSelect.setValue() 強制同步顯示文字。
2026-05-21 17:05:49 +08:00
sky121113
e88d68d3b1
Merge branch 'feat/discord-notification' into dev
2026-05-21 17:02:03 +08:00
sky121113
18162dfa4c
[FIX] 補強公司篩選下拉選單的 AJAX 後選中狀態顯示
...
1. 為 option 元素補上 server-side selected 屬性,確保 Preline autoInit 重建時能正確讀取已選中的公司選項。
2. 在 fetchTabContent AJAX 完成後,主動呼叫 HSSelect.setValue() 強制同步下拉選單的顯示文字,消除選中狀態消失的視覺問題。
2026-05-21 17:01:47 +08:00
sky121113
90192dbed9
[FIX] 修正機台設定公司篩選下拉選單兩項問題
...
1. 選取公司後自動觸發 AJAX 篩選,無需手動按搜尋按鈕
2. 修正重設按鈕邏輯,透過 HSSelect.setValue() 正確清除 Preline 下拉選單 UI 顯示
3. 調整 fetchTabContent 的 Preline autoInit 與 Alpine initTree 初始化順序,以 requestAnimationFrame 確保 DOM 更新完畢後才執行 Alpine,解決 AJAX 後下拉選單選中狀態遺失的問題
2026-05-21 16:58:14 +08:00
sky121113
3db5a7aeec
[PROMOTE] 晉升 dev 至 demo 環境
...
1. [FIX] 修正機台告警設定列表中,當公司告警類型尚未設定時,機台列表誤顯示「繼承公司設定」徽章之問題。
2026-05-21 16:51:42 +08:00
sky121113
905d2bf459
Merge branch 'feat/discord-notification' into dev
2026-05-21 16:49:30 +08:00
sky121113
ac48546c76
[FIX] 修正當公司告警類型尚未設定時,機台列表誤顯示繼承公司設定徽章之問題
2026-05-21 16:48:20 +08:00
sky121113
07e6d56fd3
[PROMOTE] 晉升 dev 至 demo 環境
...
1. 實作調撥與補貨單商品快照機制,修復商品被刪除時的名稱、barcode、圖片 Fallback,並解決無圖片時的立方體預設圖示 fallback 顯示。
2. 重構 Discord Webhook 告警設定與機台自適應溫控三層繼承鏈,補齊多語系 Key,完善機台型號與通知設定 UI。
3. 修正 Discord 通知頁面的麵包屑層級為 儀表板 > 基本設定 > Discord通知。
2026-05-21 16:42:01 +08:00
sky121113
95ed1494e2
Merge branch 'feat/discord-notification' into dev
...
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2026-05-21 16:39:32 +08:00
sky121113
4ac25f476b
[STYLE] 修正 Discord 通知頁面的麵包屑層級
2026-05-21 16:35:22 +08:00
sky121113
a3a00b1403
[FEAT] 實作調撥與補貨單商品快照機制,並修復商品無圖片或載入失敗時的立方體預設圖示顯示
...
1. 資料庫結構擴充:為 transfer_order_items 與 replenishment_order_items 表新增商品快照欄位,完成遷移。
2. Model 調整與防禦:重構 TransferOrderItem 與 ReplenishmentOrderItem Model,實現商品軟刪除/物理刪除的 name、barcode、image_url 安全 Fallback 及多語系字典動態解析,並防禦性過濾 /storage 等無效圖片路徑。
3. Controller 效能優化:重構寫入與詳情加載邏輯,預載入關聯以防範 N+1 查詢,優化批量寫入效率。
4. 前端圖片載入錯誤處理:在調撥與補貨單明細中,利用 Alpine.js 增加圖片 x-on:error 錯誤監聽,在圖片加載失敗時自動 fallback 顯示與訂單詳情一致的灰色立方體 icon。
2026-05-21 16:31:23 +08:00
sky121113
14ecfdcc8d
feat(warehouse): 實作調撥與補貨單商品快照機制,並修復商品無圖片時的預設圖示 fallback 顯示
2026-05-21 16:25:48 +08:00
sky121113
88a58d33c0
fix: 修正 A4 列印表格在商品名稱過長時被過度擠壓換行的排版 bug
2026-05-21 15:56:51 +08:00
sky121113
99e6e37953
feat: 補足調撥單與機台補貨單列印功能之多語系翻譯與測試優化
2026-05-21 15:55:21 +08:00
sky121113
dac00291a7
feat: 實作調撥單與機台補貨單的 A4 極簡奢華風列印功能與多租戶雙重防護
2026-05-21 15:43:43 +08:00
sky121113
205da14e94
[FEAT] 優化溫度告警狀態轉移邏輯與完善機台專屬通知設定 UI
...
1. 修正 `ProcessHeartbeat.php` 溫度告警判定邏輯,避免溫度在「高低溫異常狀態」直接轉換時,誤發含有異常溫度的「恢復正常」通知。
2. 實作機台層級自訂通知類型 (`notify_types_mode`) 功能,支援繼承全域設定或獨立指派通知類型(連線、溫度、硬體異常)。
3. 優化前端 UI 邏輯,當選擇自訂通知且包含「溫度告警」時,方才顯示溫度上下限輸入區塊。
4. 修正複製機台設定功能 (copy-machine) 的行為,確保能正確複製 `discord_notify_types` 並重設選擇器狀態。
5. 新增與更新中、英、日語系翻譯字串。
2026-05-21 14:34:55 +08:00
sky121113
2e3d6e5572
[STYLE] 優化機台型號與通知設定介面並調整溫度為整數告警
...
1. 調整 Discord 通知設定介面的間距與對齊,使其與基本設定中的機台設定保持一致。
2. 重構機台型號設定 Modal,將溫度上下限的輸入框改為「極簡奢華風」的加減按鈕元件。
3. 更新機台型號溫度相關的設定與顯示,強制限制與轉換為整數 (移除小數點)。
4. 將機台型號的溫度限制相關介面文字更新為「告警」相關字眼 (預設溫度告警上限、預設溫度告警下限等)。
5. 於中、英、日語系檔案中新增溫度告警相關之翻譯鍵值。
2026-05-21 13:25:28 +08:00
sky121113
cde2718d2a
i18n: 補齊 Discord 告警設定與型號溫控相關的繁中/英/日多語系 Key
2026-05-21 10:18:50 +08:00
sky121113
b3d00a9bef
feat: 重構 Discord 雙 Tab 告警設定與機台自適應溫控三層繼承鏈,並導入 Modal 內拉式複製 UX
2026-05-21 10:05:36 +08:00
sky121113
059b25f438
[FIX] 熱修復 Flatpickr 初始化中 Blade 大括號內不必要的反斜線轉義
2026-05-20 14:19:47 +08:00
sky121113
1678fd1775
[FIX] 修正銷售紀錄與出貨紀錄 Flatpickr 初始化中 Blade 大括號內不必要的反斜線轉義以防 PHP 解析錯誤
2026-05-20 14:19:32 +08:00
sky121113
55f5a4f72a
[PROMOTE] 晉升 dev 變更至 demo
...
1. [FIX] 修正庫存與校期管理頁面 Alpine.js 變數未定義報錯
2. [DOCS] 更新 .gitignore 以忽略 Antigravity CLI 本地端設定
2026-05-20 13:31:46 +08:00
sky121113
42c882aeb8
[DOCS] 更新 .gitignore 以忽略 Antigravity CLI 本地端設定
...
1. 在 .gitignore 中加上 /.antigravitycli 以忽略本地 AI 工作區檔案。
2026-05-20 13:29:34 +08:00
sky121113
a92a2500c4
[FIX] 修正庫存與校期管理頁面 Alpine.js 變數未定義報錯
...
1. 在 resources/views/admin/remote/stock.blade.php 的 stockApp() 初始化狀態中,補上 selectedSlot: null 宣告。
2. 解決因 selectedSlot 變數未在 data scope 聲明,導致 Alpine.js 首次解析 DOM 範本時拋出 ReferenceError 的錯誤。
2026-05-20 13:23:56 +08:00
sky121113
d15bf133ce
Merge branch 'dev' into demo
2026-05-20 13:03:42 +08:00
sky121113
775d7bc967
fix(views): 全站 Flatpickr 日期時間選擇器在行動端統一啟用 disableMobile 確保 24 小時制與極簡奢華風 UI 一致
2026-05-20 13:02:34 +08:00
sky121113
76ec9be6ef
[PROMOTE] 晉升 dev 變更至 demo 環境
...
1. 修復行動端時間篩選器強制轉為 12 小時制的問題 (be127ba )
2026-05-20 11:53:19 +08:00
sky121113
be127bab76
[FIX] 修復行動端時間篩選器強制轉為 12 小時制的問題
...
1. 修正取貨碼使用紀錄篩選器 (tab-logs.blade.php):為 Flatpickr 開始/結束時間初始化配置補上 disableMobile: true,避免手機系統 12 小時制覆蓋。
2. 修正遠端指令歷史紀錄篩選器 (tab-history-index.blade.php):為 Flatpickr 起迄時間初始化配置補上 disableMobile: true,防止行動端原生選擇器轉換。
3. 修正遠端庫存操作紀錄篩選器 (tab-history.blade.php):為 Flatpickr 起迄時間初始化配置補上 disableMobile: true,確保與電腦版一致維持 24 小時制顯示。
2026-05-20 11:52:14 +08:00
sky121113
8b290ff297
[PROMOTE] 晉升 dev 到 demo 進行商品軟刪除與圖片破圖優化驗收
...
1. 於 DispenseRecord、OrderItem 及 MachineStockMovement 模型之 product 關聯中加入 withTrashed(),使軟刪除商品的歷史快照仍可正常讀取。
2. 將列表、側邊詳情面板與報表導出中的 product->name 統一修改為 product->localized_name ?? __('Unknown Product'),支援多語系切換與翻譯並更正為 '未知商品'。
3. 在銷售明細的商品圖片區塊整合 Alpine.js x-on:error 動態防呆,一旦破圖自動無縫退回 3D 箱子預設占位 SVG,解決與 Blade 內建 @error 衝突引起的編譯錯誤。
2026-05-19 17:25:50 +08:00
sky121113
39ea74a52e
[FIX] 修正商品軟刪除之出貨歷史關聯與圖片破圖優化
...
1. 於 DispenseRecord、OrderItem 及 MachineStockMovement 模型之 product 關聯中加入 withTrashed(),確保被軟刪除商品的歷史快照仍可正常讀取。
2. 將 tab-dispense.blade.php、order-detail-panel.blade.php 及 SalesController 報表導出中的 product->name 統一修改為 product->localized_name ?? __('Unknown Product'),支援多語系切換與翻譯並替換 'Unknown' 為 '未知商品'。
3. 在銷售明細的商品圖片區塊整合 Alpine.js x-on:error 動態破圖防呆機制,一旦偵測到破圖或刪除實體圖,自動無縫退回精緻的 3D 箱子預設占位 SVG,消除破圖小圖標以維護全站極簡奢華風的視覺美感。
2026-05-19 17:25:10 +08:00
sky121113
3d1a876c60
[PROMOTE] dev 晉升至 demo
...
本次晉升合併了 dev 分支上的最新變更,主要包含以下功能開發:
1. 實作 Web 管理後台「單一帳號僅能單一設備登入」的安全防禦機制。
2. 於 '/dashboard' 及 '/admin' 路由群組中套用 'auth.session' 中間件,保障 Session 即時一致性。
3. 確保機台端 (IoT) 使用的 Stateless Bearer Token API 完全不受 Session 機制干擾。
2026-05-19 16:52:18 +08:00
sky121113
1ee57f3e88
feat(auth): 實作後台單一設備登入,並套用 auth.session 中間件
2026-05-19 16:51:43 +08:00
sky121113
bd7682c418
[PROMOTE] 合併 dev 變更至 demo 環境
...
本次晉升包含以下功能與修復:
1. 升級銷售紀錄(交易紀錄、電子發票、遠端出貨紀錄)高奢翡翠綠導出下拉選單,支援 CSV、Excel、複製至剪貼簿、高規列印與 PDF 五大管道。
2. 透過隱藏的 iframe 下載技術修復 CSV/Excel 導出時主視窗進度條卡死在 95% 的經典問題。
3. 新增員工卡下載範本 download 屬性與 Alpine.js 重置機制,解決全域進度條卡死。
4. 比照商品報表新增「CSV/Excel 報表導出成功」的高奢 Toast 提示。
5. 修正 zh_TW.json 中 Machine Serial No 翻譯重複鍵。
2026-05-19 12:35:12 +08:00
sky121113
1aa5aed72e
feat(sales): 升級銷售紀錄高奢翡翠綠導出下拉選單與修復進度條卡死
2026-05-19 12:33:06 +08:00
sky121113
a8d93293dd
[PROMOTE] 晉升庫存過低動態比例一致性優化至 demo 環境
...
1. 將所有視圖(遠端管理、機台列表庫存抽屜、倉庫機台庫存)原本寫死的庫存過低判斷值改為統一的動態比例 (stock <= max_stock * 0.2)。
2026-05-19 11:56:16 +08:00
sky121113
b5259a5b28
style: align low stock logic to stock <= max_stock * 0.2 across all views
2026-05-19 11:55:26 +08:00
sky121113
2c9b75c871
[PROMOTE] 晉升員工卡匯入空白字元過濾修復至 demo 環境
...
1. 於 `StaffCardImportService` 中,將讀取自 Excel 的所有欄位(尤其是 employee_id 與 card_uid)前後空白使用 `trim()` 自動過濾,提升匯入容錯率。
2026-05-19 11:45:56 +08:00
sky121113
1778d48a00
[FIX] 員工卡匯入時自動清除欄位前後空白字元
...
1. 於 `StaffCardImportService` 中,將讀取自 Excel 的員工編號(employee_id)與卡片 UID(card_uid)使用 `trim()` 去除前後空白字元,防止因複製貼上夾帶空格導致後續比對與搜尋失效。
2. 同步將姓名(name)與備註(notes)也進行去空白處理,提升資料的一致性與品質。
2026-05-19 11:40:59 +08:00
sky121113
5a0c2953aa
[PROMOTE] 晉升 dev 變更至 demo 環境
...
1. 補齊交易訂單員工卡資訊與搜尋框的英文與日文翻譯(lang/en.json, lang/ja.json)。
2026-05-19 11:06:18 +08:00
sky121113
a4d681e266
[FIX] 補齊交易訂單員工卡資訊與搜尋框的英文與日文翻譯
...
1. 於 `lang/en.json` 中補齊 `Search Order No / Cards & Codes...` 與 `Staff Card Info` 的英文鍵值對。
2. 於 `lang/ja.json` 中補齊對應的日文翻譯:`注文番号 / カード・コードを検索...` 與 `スタッフカード情報`。
2026-05-19 11:05:55 +08:00
sky121113
4a48b8c806
[PROMOTE] 簡化銷售紀錄搜尋框提示詞至 demo 環境
...
1. 銷售紀錄搜尋框提示詞更新為「搜尋 訂單號 / 卡號與代碼...」,兼顧未來通行碼與取貨碼擴充性並提升版面潔淨度。
2026-05-19 11:04:02 +08:00
sky121113
6cddc5b1b8
[STYLE] 簡化銷售紀錄搜尋框提示詞,優化版面潔淨度
...
1. 修改 tab-orders.blade.php,將搜尋提示詞簡化為「Search Order No / Cards & Codes...」,移除冗長且非核心的流水號與發票提示。
2. 更新 zh_TW.json 翻譯,對應為「搜尋 訂單號 / 卡號與代碼...」,兼顧未來的通行碼與取貨碼擴充性。
2026-05-19 11:03:47 +08:00
sky121113
99f49ced0c
[PROMOTE] 晉升搜尋框提示詞優化至 demo 環境
...
1. 銷售紀錄搜尋框提示詞更新為「搜尋 訂單號 / 流水號 / 發票號碼 / 員工資訊...」,提示管理員可進行員工資訊查詢。
2026-05-19 11:01:42 +08:00
sky121113
d9423a3fb1
[STYLE] 更新銷售紀錄搜尋框提示詞,支援員工資訊提示
...
1. 修改 tab-orders.blade.php,將搜尋框提示詞更新為「Search Order No / Flow ID / Invoice / Staff Info...」。
2. 更新 zh_TW.json 翻譯,對應為「搜尋 訂單號 / 流水號 / 發票號碼 / 員工資訊...」。
2026-05-19 11:01:27 +08:00
sky121113
307b98f86e
[PROMOTE] 晉升 dev 變更至 demo 測試環境
...
1. 銷售紀錄(Orders)與員工卡交易資訊進行全關聯。
2. 新增支援員工姓名、工號與感應卡號的模糊搜尋與過濾條件。
3. 桌面版與手機 RWD 版銷售列表,新增刷卡資訊與 icon 精美徽章展示。
4. 銷售詳情側滑面板,新增專屬的「員工卡資訊」網格區塊。
2026-05-19 10:54:59 +08:00
sky121113
433714d9b0
[FEAT] 銷售紀錄新增員工卡交易資訊關聯、搜尋與介面展示
...
1. 於 Order 模型中定義 staffCardLog 關係以關聯 StaffCardLog。
2. 於 SalesController 列表查詢(index)與單筆詳情(show)中進行極致效能優化,限定 Eager Loading 僅撈取必要欄位(id, employee_id, name, card_uid),避免 N+1 查詢與記憶體開銷。
3. 擴充 SalesController 的銷售紀錄搜尋過濾邏輯,新增支援員工姓名、工號與感應卡號的模糊搜尋。
4. 修改 tab-orders 桌面版表格與手機版卡片視圖,為員工卡支付的訂單加上精美的員工卡 icon 與「姓名 (工號)」徽章。
5. 修改 order-detail-panel 側滑詳情面板,新增「員工卡資訊」網格區塊,展示員工姓名、工號、卡片 UID 與備註欄位。
6. 更新 zh_TW.json 補齊「員工卡資訊」的繁體中文翻譯,確保全站語言一致。
2026-05-19 10:54:18 +08:00
sky121113
8725c276cb
[PROMOTE] 晉升 dev 變更至 demo 環境
...
1. [FEAT] 新增分析管理子項目的角色權限配置與路由選單防護,限制租戶管理員僅擁有「商品報表」權限。
2. [FIX] 補齊廣告、機台管理等翻譯文字,修復多語系標記換行問題。
3. [STYLE] 修復歷史 migration 的 SQLite 相容性,新增 AnalysisPermissionTest 自動化 Feature 測試並全數綠燈通過。
2026-05-18 17:26:05 +08:00