| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # /home/business æ¥å£æ°å¢ä¸ææ°æ® â å端èè°ææ¡£ |
| | | |
| | | ## åæ´æ¦è¿° |
| | | |
| | | `GET /home/business` æ¥å£å¨åæå段åºç¡ä¸æ°å¢ **䏿éå®éé¢** å **䏿éè´éé¢** ä¸¤ä¸ªåæ®µï¼å端å¯ç´æ¥ç¨äºå±ç¤ºç¯æ¯è¶å¿ã |
| | | |
| | | --- |
| | | |
| | | ## æ¥å£ä¿¡æ¯ |
| | | |
| | | | é¡¹ç® | å
容 | |
| | | |------|------| |
| | | | æ¥å£å°å | `/home/business` | |
| | | | è¯·æ±æ¹å¼ | `GET` | |
| | | | æ¯å¦è®¤è¯ | æ¯ | |
| | | |
| | | --- |
| | | |
| | | ## ååºåæ° |
| | | |
| | | ### æ°å¢å段 |
| | | |
| | | | åæ®µå | ç±»å | 说æ | |
| | | |--------|------|------| |
| | | | `lastMonthSaleMoney` | `String` | 䏿éå®ååéé¢ï¼å
ï¼ï¼ä¿ç两ä½å°æ°ï¼å¦ `"150000.00"` | |
| | | | `lastMonthPurchaseMoney` | `String` | 䏿éè´ååéé¢ï¼å
ï¼ï¼ä¿ç两ä½å°æ°ï¼å¦ `"80000.00"` | |
| | | |
| | | ### 宿´ååº |
| | | |
| | | ```json |
| | | { |
| | | "code": 200, |
| | | "msg": "æä½æå", |
| | | "data": { |
| | | "monthSaleMoney": "200000.00", |
| | | "lastMonthSaleMoney": "150000.00", |
| | | "monthSaleHaveMoney": "0.00", |
| | | "monthPurchaseMoney": "100000.00", |
| | | "lastMonthPurchaseMoney": "80000.00", |
| | | "monthPurchaseHaveMoney": "0.00", |
| | | "inventoryNum": "5000.00", |
| | | "todayInventoryNum": "120.00" |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | ### ææå段ä¸è§ |
| | | |
| | | | åæ®µå | ç±»å | 说æ | |
| | | |--------|------|------| |
| | | | `monthSaleMoney` | `String` | æ¬æéå®éé¢ | |
| | | | `lastMonthSaleMoney` | **`String`ï¼æ°å¢ï¼** | 䏿éå®éé¢ | |
| | | | `monthSaleHaveMoney` | `String` | æ¬æé宿ªå¼ç¥¨éé¢ï¼å½ååºå® `0.00`ï¼ | |
| | | | `monthPurchaseMoney` | `String` | æ¬æéè´éé¢ | |
| | | | `lastMonthPurchaseMoney` | **`String`ï¼æ°å¢ï¼** | 䏿éè´éé¢ | |
| | | | `monthPurchaseHaveMoney` | `String` | æ¬æéè´æªå¼ç¥¨éé¢ï¼å½ååºå® `0.00`ï¼ | |
| | | | `inventoryNum` | `String` | å½ååºåæ»é | |
| | | | `todayInventoryNum` | `String` | 仿¥å
¥åºæ°é | |
| | | |
| | | --- |
| | | |
| | | ## æ°æ®å£å¾ |
| | | |
| | | | åæ®µ | æ°æ®æ¥æº | ç»è®¡å£å¾ | |
| | | |------|---------|---------| |
| | | | `monthSaleMoney` | `sales_ledger` 表 | `entry_date` 卿¬æ1æ¥~䏿1æ¥ä¹é´ç `contract_amount` å计 | |
| | | | `lastMonthSaleMoney` | `sales_ledger` 表 | `entry_date` å¨ä¸æ1æ¥~æ¬æ1æ¥ä¹é´ç `contract_amount` å计 | |
| | | | `monthPurchaseMoney` | `purchase_ledger` 表 | `entry_date` 卿¬æ1æ¥~䏿1æ¥ä¹é´ç `contract_amount` å计 | |
| | | | `lastMonthPurchaseMoney` | `purchase_ledger` 表 | `entry_date` å¨ä¸æ1æ¥~æ¬æ1æ¥ä¹é´ç `contract_amount` å计 | |
| | | |
| | | --- |
| | | |
| | | ## å端使ç¨å»ºè®® |
| | | |
| | | ### ç¯æ¯å±ç¤º |
| | | |
| | | ```javascript |
| | | // 计ç®ç¯æ¯åå |
| | | const saleGrowth = lastMonthSaleMoney > 0 |
| | | ? ((monthSaleMoney - lastMonthSaleMoney) / lastMonthSaleMoney * 100).toFixed(1) |
| | | : 100; |
| | | |
| | | const purchaseGrowth = lastMonthPurchaseMoney > 0 |
| | | ? ((monthPurchaseMoney - lastMonthPurchaseMoney) / lastMonthPurchaseMoney * 100).toFixed(1) |
| | | : 100; |
| | | ``` |
| | | |
| | | ### è¶å¿ç®å¤´ |
| | | |
| | | - `saleGrowth > 0` â 红è²åä¸ç®å¤´ (â) |
| | | - `saleGrowth < 0` â 绿è²åä¸ç®å¤´ (â) |
| | | - `saleGrowth === 0` â ç°è²æå¹³ (â) |
| | | |
| | | --- |
| | | |
| | | ## 注æäºé¡¹ |
| | | |
| | | 1. **ç±»å为 String**ï¼éé¢å段å为å符串ï¼ä¿ç两ä½å°æ°ï¼è®¡ç®ç¯æ¯æ¶éç¨ `parseFloat()` è½¬æ¢ |
| | | 2. **é»è®¤å¼**ï¼æ æ°æ®æ¶è¿å `"0.00"`ï¼ä¸ä¼è¿å `null` |
| | | 3. **æªå¼ç¥¨å段**ï¼`monthSaleHaveMoney` å `monthPurchaseHaveMoney` å½ååºå®è¿å `"0.00"`ï¼åç»è¿ä»£ä¼æ¥å
¥å®é
æ°æ® |
| | | 4. **ååå
¼å®¹**ï¼ä»
æ°å¢å段ï¼åæå段ä¸åï¼å·²æå端åè½ä¸åå½±å |