sky121113
44d0499b53
feat(i18n): 新增 Discord 通知設定的繁中、英文、日文多語系翻譯
2026-05-22 09:55:23 +08:00
sky121113
4dad775568
[FIX] 修正台灣地址解析經緯度失敗問題
...
1. 新增 cleanFloorInfo 方法,過濾地址末尾的樓層、室、地下室等非門牌雜訊,防範 Nominatim 解析失敗。
2. 重構 parseTaiwanAddress 的路名拆分正則表達式,導入層級感知台灣地址結構,避免含有「巷、弄」的地址被提前截斷。
2026-05-22 09:51:05 +08:00
sky121113
b6e5b825a5
[STYLE] 將溫度過低告警側邊條顏色調整為警示紅色
2026-05-21 17:09:00 +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
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
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
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
1678fd1775
[FIX] 修正銷售紀錄與出貨紀錄 Flatpickr 初始化中 Blade 大括號內不必要的反斜線轉義以防 PHP 解析錯誤
2026-05-20 14:19:32 +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
775d7bc967
fix(views): 全站 Flatpickr 日期時間選擇器在行動端統一啟用 disableMobile 確保 24 小時制與極簡奢華風 UI 一致
2026-05-20 13:02:34 +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
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
1ee57f3e88
feat(auth): 實作後台單一設備登入,並套用 auth.session 中間件
2026-05-19 16:51:43 +08:00
sky121113
1aa5aed72e
feat(sales): 升級銷售紀錄高奢翡翠綠導出下拉選單與修復進度條卡死
2026-05-19 12:33:06 +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
1778d48a00
[FIX] 員工卡匯入時自動清除欄位前後空白字元
...
1. 於 `StaffCardImportService` 中,將讀取自 Excel 的員工編號(employee_id)與卡片 UID(card_uid)使用 `trim()` 去除前後空白字元,防止因複製貼上夾帶空格導致後續比對與搜尋失效。
2. 同步將姓名(name)與備註(notes)也進行去空白處理,提升資料的一致性與品質。
2026-05-19 11:40:59 +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
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
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
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
916d0891f1
[FEAT] 新增分析管理與子項目的角色權限配置
...
1. 在 RoleSeeder 中註冊分析管理的 4 個子權限(零錢庫存、機台報表、商品報表、問卷分析),並僅指派「商品報表」權限給租戶管理員模板。
2. 在 PermissionController 與視圖 (role-list, role-card) 的 activeModules 白名單中加入 menu.analysis,使數據分析大項能正常被撈取與顯示。
3. 修改 sidebar-menu.blade.php,用 @can 防護數據分析子選單;修改 web.php 為 4 個分析路由掛載 middleware('can:...') 路由防護。
4. 補全 zh_TW.json、en.json、ja.json 翻譯檔案中關於 4 個新分析權限的金鑰與翻譯文字。
5. 修復 2026_05_11_163543_add_missing_types_to_machine_stock_movements_table.php 歷史 migration 以相容 SQLite 測試。
6. 新增 AnalysisPermissionTest.php 測試案例並於本地測試通過,保證多租戶與 RBAC 架構之權限隔離與防越權機制 100% 正確運作。
2026-05-18 17:22:45 +08:00
sky121113
ecb3750abe
[FIX] 補齊廣告與機台管理相關語系翻譯並修正多語系標記換行問題
...
1. 補齊 'Target Position' 於 zh_TW.json、ja.json 及 en.json 的多語系翻譯字串,並維持字母排序。
2. 補齊 'Order updated successfully.' 於 zh_TW.json、ja.json 及 en.json 的多語系翻譯字串,並維持字母排序。
3. 修復多個視圖檔案(包含機台建立、分析儀表板、商品管理與遠端監控等 Blade views)中 `__()` 語系標記跨行問題,合併為單行以避免翻譯匹配失效。
2026-05-18 17:15:39 +08:00
sky121113
7991a9b662
Merge branch 'main' into dev
2026-05-18 17:02:18 +08:00
sky121113
cc8a594f1b
Merge branch 'hotfix/fix-machine-ad-delete-confirm' into main
2026-05-18 17:01:43 +08:00
sky121113
91021021d9
[FIX] 修復刪除機台廣告設置時缺少自訂確認視窗與非同步載入圖示
...
1. 將原本使用瀏覽器原生 confirm 的解除綁定功能,重構為自訂極奢風確認彈窗 x-confirm-modal。
2. 擴充通用確認彈窗 confirm-modal.blade.php 支援 isSubmittingVar 屬性,在非同步提交中顯示按鈕 Spinner 並禁用操作。
3. 優化新增廣告設置彈窗 assign-modal.blade.php 支援 isSubmitting 狀態,點擊後按鈕出現 Spinner 並鎖定彈窗。
4. 整合 AJAX 載入狀態,在 fetchMachineAds() 載入資料期間顯示卡片層級雙環 x-luxury-spinner 載入圖示。
5. 補齊繁體中文、英文與日文的解除綁定多語系翻譯。
2026-05-18 17:01:17 +08:00
sky121113
fb1bf68cc5
Merge branch 'feat/analysis-report' into dev
2026-05-18 16:21:38 +08:00
sky121113
46e8bdfaae
[FIX] 修復商品報表篩選 UI 邏輯與選項選取狀態
...
1. 調整商品報表篩選區塊順序,將「公司篩選」移至「商品篩選」前方,符合依公司過濾商品的操作邏輯。
2. 修復 <x-searchable-select> 在透過 slot 傳入選項時,無法正確綁定 selected 狀態的問題,手動於 <option> 標籤中補上選取狀態判斷。
2026-05-18 15:51:45 +08:00
sky121113
bb675a538a
[FEAT] 合併商品統計報表與日期選擇器視覺修復
...
1. 重構並優化商品統計報表功能,新增利潤分析走勢圖表與大額數據處理。
2. 新增商品銷售排行前 5 名展示,並搭配精緻的尊榮徽章(Gold, Silver, Bronze)設計。
3. 優化資料導出引擎,支援多租戶隔離之 Excel/CSV 商品銷售數據匯出。
4. 全面修正日期選擇器(Flatpickr)排版,拓寬容器防水平滾動,對齊輸入框與下拉選單高度。
5. 重構日曆區間選擇樣式,實現區間中段無縫圓角拼接,並解決最右側「週六」欄位被裁切截斷的問題。
2026-05-18 15:09:09 +08:00
sky121113
0cef0133a9
style: expand flatpickr calendar width to accommodate padding and prevent right column clipping
2026-05-18 15:05:54 +08:00
sky121113
676e91fd66
style: optimize flatpickr calendar styling, input dimensions, and icon alignment
2026-05-18 15:04:31 +08:00
sky121113
e4c63bbf38
[FIX] 修正排行欄位顯示空白問題
...
1. 將 product-reports.blade.php 中 13 處誤植為 pageSize 的變數,統一修正為 Alpine.js component data 物件所定義之 perPage 屬性。
2. 徹底解決因 pageSize 未定義而導致計算出 NaN、從而造成排行列內容空白未顯示的 Bug。
2026-05-18 14:57:26 +08:00
sky121113
90a77404fe
[FEAT] 新增商品銷售排行欄位與尊榮徽章,並更新資料匯出引擎
...
1. 於商品成本分析報表(電腦版 Table)最左側新增「排行」欄位,完美對齊圓角卡片樣式。
2. 針對前三名(Top 3)銷售商品設計尊榮徽章:第 1 名黃金徽章、第 2 名白銀徽章、第 3 名青銅徽章,其餘名次採用精緻 Mono 灰字。
3. 行動版 Card 移除原先通用包裹圖示,替換為智能偵測之獎牌徽章(🥇 、🥈 、🥉 )或排行數字。
4. 全面升級資料複製(TSV)、CSV、Excel 與 PDF 列印等四大導出引擎,將「排行」業務指標同步注入首欄,並處理 colspan 對齊。
5. 補強多語系翻譯,於 zh_TW.json、en.json 與 ja.json 中完美新增「Rank / 排行 / 順位」鍵值。
2026-05-18 14:55:23 +08:00
sky121113
1dc79f2cec
[STYLE] 修正商品報表日期篩選之 Icon 與文字左間距,對齊銷貨紀錄規格
2026-05-18 14:49:20 +08:00
sky121113
154a2e0553
[FEAT] 重構與優化商品利潤統計報表功能
...
1. 【後端優化】重構 AnalysisController.php,以高效單次 SQL 統計計算銷量、銷額、總成本與淨利,套用 company_id 進行多租戶隔離,支援超級管理員跨租戶查詢,並解決 MySQL only_full_group_by 嚴格模式的 group by 語法相容問題。
2. 【前端介面】全新實作 product-reports.blade.php 極簡奢華風視圖,整合 Flatpickr 雙向日期區間選擇與「近 7 日、今日、本週、上週、本月、上月」快速切換快捷按鈕。
3. 【圖表自適應】整合 ApexCharts 銷售走勢曲線與圓餅圖,設計 PHP 端走勢數據日補零機制,並導入 ResizeObserver 進行圖表寬度百分之百響應式重繪。
4. 【尊榮數據導出】提供複製 (tsv)、CSV、Excel 與 PDF/列印的多維度導出引擎控制項。
5. 【高級前端分頁】對齊銷售紀錄規格,實作 Alpine.js 純前端高級分頁與 Show 10/25/50/100 筆數選擇器,並修復 select 動態 option 渲染時 ES6 template string 逸出問題。
6. 【細節齊平與遮擋修正】將日期 Input 寬度由 sm:w-56 拓寬至 sm:w-72,將日曆 Icon 左邊距從 pl-3.5 改進為 pl-5,Input 文字內左距調整為 pl-13,達到與 searchable-select 的 100% 齊平對齊,並配置跨卡片遞降 z-index 層級(z-40 -> z-30 -> z-20)徹底解決下拉選單在電腦版被下方走勢圖 Card 遮擋/截斷的 Bug。
7. 【多語系支援】於 zh_TW.json, en.json, ja.json 補強指標中英日翻譯。
8. 【選單整合】於 sidebar-menu.blade.php 的數據分析模組下正式啟用「商品報表」選單項目。
2026-05-18 14:46:17 +08:00
sky121113
115a4f0263
[RELEASE] 釋出 demo 分支修復內容至正式生產環境 main 分支
...
本次正式生產環境發布包含以下修復:
1. 修復員工識別卡「最後使用」資料無法更新之問題 (透過 StaffCardLog 模型事件監聽器自動回寫,並排除租戶 Scope)。
2. 修正員工識別卡刪除/解除關聯時網頁直接渲染顯示 JSON 字串之錯誤,改為判斷 AJAX 請求並執行正常的重導向。
3. 補齊多語系語系檔(zh_TW.json, en.json, ja.json)中有關「刪除員工識別卡」的翻譯對照。
2026-05-18 13:38:36 +08:00
sky121113
7b6c6f0998
[PROMOTE] 晉升 dev 分支變更至 demo 分支
...
本次晉升包含了以下修復與功能變更項目:
1. 修復員工識別卡「最後使用」資料無法更新之問題 (透過 StaffCardLog 模型事件監聽器自動回寫,並排除租戶 Scope)。
2. 修正員工識別卡刪除/解除關聯時網頁直接渲染顯示 JSON 字串之錯誤,改為判斷 AJAX 請求並執行正常的重導向。
3. 補齊多語系語系檔(zh_TW.json, en.json, ja.json)中有關「刪除員工識別卡」的翻譯對照。
2026-05-18 13:37:50 +08:00
sky121113
17c7a26ef4
[FIX] 修復員工識別卡最後使用狀態更新、刪除頁面顯示 JSON 與語系遺漏問題
...
1. 在 StaffCardLog 模型中實作 booted() 事件監聽器,於刷卡日誌建立後自動更新關聯員工識別卡的「最後使用時間」與「最後使用機台」,並使用 withoutGlobalScopes 確保寫入安全。
2. 修正 StaffCardController 刪除方法(destroy),判斷 AJAX 請求以回傳 JSON,其餘一般表單刪除後則正常重導向回列表頁,解決刪除時跳轉至 JSON 純文字的問題。
3. 補齊多語系語系檔(zh_TW.json, en.json, ja.json)中有關「刪除員工識別卡」的翻譯對照,確保 UI 刪除警告在不同語言環境下均能完美呈現。
2026-05-18 13:37:21 +08:00
sky121113
f374f4a6d6
[PROMOTE] 晉升 demo 變更至 main 生產環境
...
1. [STYLE] 優化機台補貨語意,將「一鍵補貨」修正為「自動補貨單」。
2026-05-18 13:16:28 +08:00
sky121113
ae2b089422
[PROMOTE] 晉升 dev 變更至 demo 分支
...
1. [STYLE] 優化機台補貨語意,將「一鍵補貨」修正為「自動補貨單」。
2026-05-18 13:15:05 +08:00
sky121113
e29826a0a6
[STYLE] 優化機台補貨語意,將「一鍵補貨」修正為「自動補貨單」
...
1. 修改 lang/zh_TW.json 的翻譯鍵 "Auto Replenishment" 對照值為「自動補貨單」,使其與手動「新增補貨單」在視覺與語意上形成直覺的對比,實事求是,消除「一鍵」但仍需彈窗選倉庫的 UX 誤導。
2. 同步將 app/Http/Controllers/Admin/WarehouseController.php 中的 autoReplenishment PHPDoc 註解替換為「自動補貨單」。
3. 同步修改 resources/views/admin/warehouses/replenishments.blade.php 中的 JS 代碼註解,將「一鍵補貨」修正為「自動補貨單」。
4. 同步更新 resources/views/admin/warehouses/partials/modal-replenishment-auto.blade.php 模板首行的 Blade 註解。
2026-05-18 13:14:29 +08:00