| | |
| | | // }); |
| | | // } |
| | | // } |
| | | // this.columns.forEach(column => { |
| | | this.columns.forEach(column => { |
| | | // if (column.field == 'materielCode') { |
| | | // column.formatter = (row) => { |
| | | // var str = ''; |
| | |
| | | |
| | | // } |
| | | // } |
| | | // if (column.field == 'sumStock') { |
| | | // column.formatter = (row) => { |
| | | // if (row.details.length > 0) { |
| | | // var sum = 0; |
| | | // const closestDate = row.details |
| | | // .map(x => { |
| | | // sum += (x.stockQuantity) |
| | | // }) |
| | | // return '<span style="color: #F56C6C">' + sum + row.details[0].unit + '</span>'; |
| | | // } else { |
| | | // return '<span style="color: #F56C6C">' + "1个" + '</span>'; |
| | | // } |
| | | if (column.field == 'sumStock') { |
| | | column.formatter = (row) => { |
| | | if (row.details.length > 0) { |
| | | var sum = 0; |
| | | const closestDate = row.details |
| | | .map(x => { |
| | | sum += (x.stockQuantity) |
| | | }) |
| | | return '<span style="color: #F56C6C">' + sum + row.details[0].unit + '</span>'; |
| | | } else { |
| | | return '<span style="color: #F56C6C">' + "1个" + '</span>'; |
| | | } |
| | | |
| | | // } |
| | | // } |
| | | // }) |
| | | } |
| | | } |
| | | if (column.field === 'orderStatistics') { |
| | | column.formatter = (row) => { |
| | | // æ ¡éªdetailsæ¯å¦åå¨ä¸ææ°æ® |
| | | if (row.details && row.details.length > 0) { |
| | | // æmaterielCodeåç»ç»è®¡stockQuantityæ»åï¼å¹¶è®°å½åä½ï¼å第ä¸ä¸ªé空åä½ï¼ |
| | | const materielSumMap = row.details.reduce((acc, item) => { |
| | | const materielCode = item.materielCode || 'æªç¥ç©æ'; |
| | | const quantity = Number(item.stockQuantity) || 0; |
| | | const unit = item.unit || ''; // è·ååä½ï¼æ å为空 |
| | | |
| | | // ç´¯å æ°é |
| | | acc[materielCode] = { |
| | | total: (acc[materielCode]?.total || 0) + quantity, |
| | | unit: acc[materielCode]?.unit || unit // ä¿ç第ä¸ä¸ªé空åä½ |
| | | }; |
| | | return acc; |
| | | }, {}); |
| | | |
| | | // æ¯ä¸ªç©æé¡¹çæç¬ç«divï¼è·¨è¡æ¾ç¤ºï¼å
å«åä½ï¼ |
| | | const displayItems = Object.entries(materielSumMap).map(([code, data]) => { |
| | | // å¤çå使¾ç¤ºï¼æåä½åå ç©ºæ ¼æ¾ç¤ºï¼æ å䏿¾ç¤º |
| | | const unitText = data.unit ? ` ${data.unit}` : ''; |
| | | return `<div style="line-height: 1.5; white-space: normal;">${code}ï¼${data.total}${unitText}</div>`; |
| | | }); |
| | | const displayContent = displayItems.join(''); |
| | | return `<div style="color: #F56C6C; white-space: normal; word-break: break-all;">${displayContent}</div>`; |
| | | } else { |
| | | return '<span style="color: #F56C6C">空箱</span>'; |
| | | } |
| | | }; |
| | | } |
| | | if (column.field == 'stockOrderNo') { |
| | | column.formatter = (row) => { |
| | | // ææç»æ°æ®æ¶å¤ç |
| | | if (row.details && row.details.length > 0) { |
| | | // æåææé空çorderNOå¹¶å»é |
| | | const uniqueOrderNOs = [...new Set( |
| | | row.details.map(item => item.orderNo).filter(no => no) // è¿æ»¤ç©ºåæ®å· |
| | | )]; |
| | | |
| | | // æææåæ®å·åæ¢è¡æ¾ç¤ºï¼å¦åæ¾ç¤ºé»è®¤ææ¬ |
| | | if (uniqueOrderNOs.length > 0) { |
| | | return `<span style="color: #F56C6C">${uniqueOrderNOs.join('<br>')}</span>`; |
| | | } else { |
| | | return '<span style="color: #F56C6C">ææ åæ®</span>'; |
| | | } |
| | | } else { |
| | | // æ æç»æ°æ®æ¶æ¾ç¤ºé»è®¤ææ¬ |
| | | return '<span style="color: #F56C6C">ææ åæ®</span>'; |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | onInited() { |
| | | //æ¡æ¶åå§åé
ç½®å |