| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # é¦é¡µä»ªè¡¨çå¾è¡¨åè½è®¾è®¡ |
| | | |
| | | ## 1. æ¦è¿° |
| | | |
| | | å¨ WMS å端é¦é¡µæ·»å 仪表çå¾è¡¨ï¼å±ç¤ºä»åºçåºå
¥åºç»è®¡ååºåæ°æ®ãæ°æ®åºäºä»»å¡å®ææ¶é´ï¼TaskInfo.ActualEndTimeï¼è¿è¡ç»è®¡ã |
| | | |
| | | ## 2. 页é¢å¸å± |
| | | |
| | | éç¨æ··åå¸å±ï¼é¡¶é¨å¤§å¾å±ç¤ºè¶å¿ï¼ä¸æ¹ç½æ ¼å±ç¤ºå¯¹æ¯å详æ
ã |
| | | |
| | | ``` |
| | | âââââââââââââââââââââââââââââââââââââââââââââââââââ |
| | | â æ¬æåºå
¥åºè¶å¿ï¼æçº¿+æ±ç¶ç»åå¾ï¼ â |
| | | ââââââââââââââââââââââ¬ââââââââââââââââââââââââââââ⤠|
| | | â 仿¥åºå
¥åºå¯¹æ¯ â æ¬å¨åºå
¥åºå¯¹æ¯ â |
| | | â ï¼æ±ç¶å¾ï¼ â ï¼æ±ç¶å¾ï¼ â |
| | | ââââââââââââââââââââââ¼ââââââââââââââââââââââââââââ⤠|
| | | â æ¬æåºå
¥åºå¯¹æ¯ â å½ååºåæ»é â |
| | | â ï¼æ±ç¶å¾ï¼ â ï¼æ°åå¡çï¼ â |
| | | ââââââââââââââââââââââ¼ââââââââââââââââââââââââââââ⤠|
| | | â åºååºé¾åå¸ â åä»åºåºååå¸ â |
| | | â ï¼æ±ç¶å¾ï¼ â ï¼æ±ç¶å¾ï¼ â |
| | | ââââââââââââââââââââââ´âââââââââââââââââââââââââââââ |
| | | ``` |
| | | |
| | | ## 3. å端æ¥å£è®¾è®¡ |
| | | |
| | | ### 3.1 æ»è§æ¥å£ |
| | | |
| | | **GET** `/api/Dashboard/Overview` |
| | | |
| | | è¿åé¦é¡µå è½½æ¶éè¦çæææ±æ»æ°åï¼ä¸æ¬¡è°ç¨è·åå
³é®ææ ã |
| | | |
| | | **ååºæ°æ®ï¼** |
| | | ```json |
| | | { |
| | | "Status": true, |
| | | "Data": { |
| | | "TodayInbound": 120, |
| | | "TodayOutbound": 95, |
| | | "MonthInbound": 3500, |
| | | "MonthOutbound": 3200, |
| | | "TotalStock": 45000 |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | ### 3.2 æ¯æ¥ç»è®¡æ¥å£ |
| | | |
| | | **GET** `/api/Dashboard/DailyStats?days=30` |
| | | |
| | | è¿åè¿Nå¤©çæ¯æ¥åºå
¥åºç»è®¡ã |
| | | |
| | | **ååºæ°æ®ï¼** |
| | | ```json |
| | | { |
| | | "Status": true, |
| | | "Data": [ |
| | | { "Date": "2026-03-01", "Inbound": 120, "Outbound": 95 }, |
| | | { "Date": "2026-03-02", "Inbound": 150, "Outbound": 130 }, |
| | | ... |
| | | ] |
| | | } |
| | | ``` |
| | | |
| | | ### 3.3 æ¯å¨ç»è®¡æ¥å£ |
| | | |
| | | **GET** `/api/Dashboard/WeeklyStats?weeks=12` |
| | | |
| | | è¿åè¿Nå¨çæ¯å¨åºå
¥åºç»è®¡ã |
| | | |
| | | **ååºæ°æ®ï¼** |
| | | ```json |
| | | { |
| | | "Status": true, |
| | | "Data": [ |
| | | { "Week": "2026-W09", "Inbound": 850, "Outbound": 780 }, |
| | | { "Week": "2026-W10", "Inbound": 920, "Outbound": 870 }, |
| | | ... |
| | | ] |
| | | } |
| | | ``` |
| | | |
| | | ### 3.4 æ¯æç»è®¡æ¥å£ |
| | | |
| | | **GET** `/api/Dashboard/MonthlyStats?months=12` |
| | | |
| | | è¿åè¿Næçæ¯æåºå
¥åºç»è®¡ã |
| | | |
| | | **ååºæ°æ®ï¼** |
| | | ```json |
| | | { |
| | | "Status": true, |
| | | "Data": [ |
| | | { "Month": "2025-04", "Inbound": 3500, "Outbound": 3200 }, |
| | | { "Month": "2025-05", "Inbound": 3800, "Outbound": 3600 }, |
| | | ... |
| | | ] |
| | | } |
| | | ``` |
| | | |
| | | ### 3.5 åºååºé¾å叿¥å£ |
| | | |
| | | **GET** `/api/Dashboard/StockAgeDistribution` |
| | | |
| | | è¿ååºååºé¾å叿°æ®ã |
| | | |
| | | **ååºæ°æ®ï¼** |
| | | ```json |
| | | { |
| | | "Status": true, |
| | | "Data": [ |
| | | { "Range": "7天å
", "Count": 12000 }, |
| | | { "Range": "7-30天", "Count": 18000 }, |
| | | { "Range": "30-90天", "Count": 10000 }, |
| | | { "Range": "90天以ä¸", "Count": 5000 } |
| | | ] |
| | | } |
| | | ``` |
| | | |
| | | ### 3.6 åä»åºåºåå叿¥å£ |
| | | |
| | | **GET** `/api/Dashboard/StockByWarehouse` |
| | | |
| | | è¿ååä»åºçåºåæ°éåå¸ã |
| | | |
| | | **ååºæ°æ®ï¼** |
| | | ```json |
| | | { |
| | | "Status": true, |
| | | "Data": [ |
| | | { "Warehouse": "ä»åºA", "Count": 15000 }, |
| | | { "Warehouse": "ä»åºB", "Count": 12000 }, |
| | | { "Warehouse": "ä»åºC", "Count": 18000 } |
| | | ] |
| | | } |
| | | ``` |
| | | |
| | | ## 4. ææ¯å®ç° |
| | | |
| | | ### 4.1 å端å®ç° |
| | | |
| | | **æ°å¢æä»¶ï¼** |
| | | - `WIDESEA_WMSServer/Controllers/Dashboard/DashboardController.cs` - ä»ªè¡¨çæ§å¶å¨ |
| | | |
| | | **æ°æ®æ¥æºï¼** |
| | | - `TaskInfo` 表ï¼`ActualEndTime` åæ®µå¤æä»»å¡å®ææ¶é´ |
| | | - `TaskType`ï¼1=å
¥åºä»»å¡ï¼2=åºåºä»»å¡ |
| | | - `StockInfo` 表ï¼å½ååºåæ°æ®ï¼`CreateTime` ä½ä¸ºå
¥åºæ¶é´è®¡ç®åºé¾ |
| | | |
| | | **ç»è®¡æ°æ®é»è¾ï¼** |
| | | - æ `ActualEndTime` çæ¥æ/å¨/æåç»ç»è®¡ä»»å¡æ°é |
| | | - åºé¾ = å½åæ¶é´ - `CreateTime` |
| | | |
| | | ### 4.2 å端å®ç° |
| | | |
| | | **ä¿®æ¹æä»¶ï¼** |
| | | - `WIDESEA_WMSClient/src/views/Home.vue` - æ¿æ¢ä¸ºç©ºç½çé¦é¡µ |
| | | |
| | | **å¾è¡¨ç»ä»¶ï¼** |
| | | - å¤ç¨ `src/views/charts/bigdata.vue` ä¸ç ECharts ä½¿ç¨æ¨¡å¼ |
| | | - ä½¿ç¨ ECharts 5.0.2 |
| | | |
| | | **页é¢ç»æï¼** |
| | | ``` |
| | | Home.vue |
| | | âââ æ¬æè¶å¿å¾ï¼æçº¿+æ±ç¶ç»åï¼ |
| | | âââ 仿¥/æ¬å¨/æ¬æåºå
¥åºå¯¹æ¯ï¼æ±ç¶å¾ï¼ |
| | | âââ å½ååºåæ»éï¼æ°åå¡çï¼ |
| | | âââ åºååºé¾åå¸ï¼æ±ç¶å¾ï¼ |
| | | âââ åä»åºåºååå¸ï¼æ±ç¶å¾ï¼ |
| | | ``` |
| | | |
| | | **API è°ç¨ï¼** |
| | | - é¦é¡µå è½½æ¶è°ç¨ Overview æ¥å£è·åæ±æ»æ°æ® |
| | | - åå¾è¡¨ç»ä»¶ mounted æ¶è°ç¨å¯¹åºæ¥å£è·åè¯¦ç»æ°æ® |
| | | |
| | | ## 5. å®ç°ä»»å¡ |
| | | |
| | | ### å端 |
| | | 1. å建 DashboardController |
| | | 2. å®ç° Overview æ¥å£ |
| | | 3. å®ç° DailyStats æ¥å£ |
| | | 4. å®ç° WeeklyStats æ¥å£ |
| | | 5. å®ç° MonthlyStats æ¥å£ |
| | | 6. å®ç° StockAgeDistribution æ¥å£ |
| | | 7. å®ç° StockByWarehouse æ¥å£ |
| | | |
| | | ### å端 |
| | | 1. éå Home.vueï¼ä½¿ç¨ ECharts å®ç°ä»ªè¡¨çå¸å± |
| | | 2. å®ç° Overview æ¥å£è°ç¨ |
| | | 3. å®ç°åå¾è¡¨ç»ä»¶ |
| | | 4. è°æ´å¾è¡¨æ ·å¼åååºå¼å¸å± |
| | | |
| | | ## 6. é¢è®¡æä»¶åæ´ |
| | | |
| | | **æ°å¢ï¼** |
| | | - `WIDESEA_WMSServer/Controllers/Dashboard/DashboardController.cs` |
| | | |
| | | **ä¿®æ¹ï¼** |
| | | - `WIDESEA_WMSClient/src/views/Home.vue` |
| | | |
| | | **åèï¼** |
| | | - `WIDESEA_WMSClient/src/views/charts/bigdata.vue` - ECharts 使ç¨ç¤ºä¾ |