| | |
| | | |
| | | //æ¤jsæä»¶æ¯ç¨æ¥èªå®ä¹æ©å±ä¸å¡ä»£ç ï¼å¯ä»¥æ©å±ä¸äºèªå®ä¹é¡µé¢æè
éæ°é
ç½®çæç代ç |
| | | |
| | | import { el } from "element-plus/es/locales.mjs"; |
| | |
| | | return str = list[0] == "" ? "æ " : str; |
| | | } |
| | | } |
| | | if (column.field == 'materielInfo') { |
| | | const today = new Date() |
| | | column.formatter = (row) => { |
| | | if (row.details.length > 0) { |
| | | const today = new Date(); |
| | | const closestDate = row.details |
| | | .map(x => { |
| | | const date = new Date(x.effectiveDate); |
| | | const diffInDays = Math.ceil((date - today) / (1000 * 60 * 60 * 24)); // æ¹ä¸ºè®¡ç®å©ä½å¤©æ° |
| | | return { date, diffInDays }; |
| | | }) |
| | | .reduce((closest, current) => (current.diffInDays < closest.diffInDays ? current : closest)) |
| | | .date; |
| | | if (column.field == 'materielInfo') { |
| | | const today = new Date() |
| | | column.formatter = (row) => { |
| | | if (row.details.length > 0) { |
| | | const today = new Date(); |
| | | const closestDate = row.details |
| | | .map(x => { |
| | | const date = new Date(x.effectiveDate); |
| | | const diffInDays = Math.ceil((date - today) / (1000 * 60 * 60 * 24)); // æ¹ä¸ºè®¡ç®å©ä½å¤©æ° |
| | | return { date, diffInDays }; |
| | | }) |
| | | .reduce((closest, current) => (current.diffInDays < closest.diffInDays ? current : closest)) |
| | | .date; |
| | | |
| | | const daysRemaining = Math.ceil((closestDate - today) / (1000 * 60 * 60 * 24)); |
| | | |
| | | row.expiryDays = daysRemaining; |
| | | |
| | | if (daysRemaining <= 0) { |
| | | return '<span style="color:rgb(30, 27, 27)">æ ä¿è´¨æ</span>'; |
| | | const daysRemaining = Math.ceil((closestDate - today) / (1000 * 60 * 60 * 24)); |
| | | |
| | | row.expiryDays = daysRemaining; |
| | | |
| | | if (daysRemaining <= 0) { |
| | | return '<span style="color:rgb(30, 27, 27)">æ ä¿è´¨æ</span>'; |
| | | } else { |
| | | return '<span style="color: #F56C6C">' + daysRemaining + "天" + '</span>'; |
| | | } |
| | | } else { |
| | | return '<span style="color: #F56C6C">' + daysRemaining + "天" + '</span>'; |
| | | row.expiryDays = null; |
| | | return '<span style="color:rgb(24, 18, 18)">æ ä¿è´¨æ</span>'; |
| | | } |
| | | } else { |
| | | row.expiryDays = null; |
| | | return '<span style="color:rgb(24, 18, 18)">æ ä¿è´¨æ</span>'; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | if (column.field == 'inventoryage') { |
| | | const today = new Date() |
| | | column.formatter = (row) => { |
| | | if (row.details.length > 0) { |
| | | const closestDate = row.details |
| | | .map(x => { |
| | | const date = new Date(x.createDate); |
| | | const ageInDays = Math.ceil((today - date) / (1000 * 60 * 60 * 24)); |
| | | return { date, ageInDays }; |
| | | }) |
| | | .reduce((closest, current) => (current.ageInDays < closest.ageInDays ? current : closest)) |
| | | .date; |
| | | |
| | | const inventoryAge = Math.ceil((today - closestDate) / (1000 * 60 * 60 * 24)); |
| | | |
| | | row.inventoryAge = inventoryAge; |
| | | |
| | | return `${inventoryAge} 天`; |
| | | } |
| | | // å¦ææ²¡ææç»ï¼è¿å空ææç¤ºä¿¡æ¯ |
| | | return '-'; |
| | | } |
| | | } |
| | | if (column.field == 'sumStock') { |
| | | column.formatter = (row) => { |
| | |
| | | .map(x => { |
| | | sum += (x.stockQuantity) |
| | | }) |
| | | return '<span style="color: #F56C6C">' + sum.toFixed(3) + row.details[0].unit + '</span>'; |
| | | return '<span style="color: rgb(24, 18, 18)">' + sum.toFixed(3) + row.details[0].unit + '</span>'; |
| | | } else { |
| | | return '<span style="color: #F56C6C">' + "1个" + '</span>'; |
| | | return '<span style="color: rgb(24, 18, 18)">' + "1个" + '</span>'; |
| | | } |
| | | |
| | | } |
| | |
| | | }) |
| | | this.columns.forEach((column) => { |
| | | column.cellStyle = (row) => { |
| | | // åªå¤çæä¿è´¨ææ°æ®çæ
åµ |
| | | if (row.expiryDays !== null && row.expiryDays !== undefined) { |
| | | if (row.expiryDays <= 0) { |
| | | return { background: 'red' }; // 红è²èæ¯ï¼å·²è¿æï¼ |
| | | } else if (row.expiryDays <= 30) { |
| | | return { background: 'yellow' }; // é»è²èæ¯ï¼ä¸´æï¼ |
| | | if (row.expirationlabel !== undefined && row.expirationlabel !== null) { |
| | | if (row.expirationlabel === 2) { |
| | | return { background: 'yellow' }; |
| | | } else if (row.expirationlabel === 3) { |
| | | return { background: '#ffc0cb' }; |
| | | } |
| | | } |
| | | return {}; // é»è®¤æ èæ¯è² |
| | | }; |
| | | } |
| | | return {}; |
| | | }; |
| | | }); |
| | | |
| | | |
| | | |
| | | |
| | | //å¦ææ ¹æ®è¡çæä¸ªå¼è®¾ç½®æ´è¡é¢è² |
| | | //设置æ´è¡èæ¯é¢è² |
| | | // x.cellStyle = (row, rowIndex, columnIndex) => { |
| | | // if (row.ProductCode == '10044464880643') { |
| | | // return { background: '#ddecfd' }; |
| | | // } |
| | | // }; |
| | | }); |
| | | }, |
| | | onInited() { |
| | | //æ¡æ¶åå§åé
ç½®å |
| | |
| | | } |
| | | } |
| | | }; |
| | | export default extension; |
| | | export default extension; |