import { Column } from 'element-plus' import { CommonData, CommonTableColumn, CommonValue } from '~/common' type RowClassGetter = (param: { columns: CommonTableColumn[] rowData: any rowIndex: number }) => string type CellClassGetter = (params: { column: Column columns: Column[] columnIndex: number cellData: CommonValue rowData: CommonData rowIndex: number }) => string export function useTableStyle(tableName?: string) { const rowClass = ({ row, rowIndex }) => { const classes: string[] = [] // if (tableName?.includes('FlightContainer')) { // if (rowIndex === 1) { // classes.push('row-warning') // } // } // if (tableName?.includes('FlightWaybill')) { // if (rowIndex === 0) { // classes.push('row-alarm') // } // if (rowIndex === 1) { // classes.push('row-warning') // } // } return classes.join(' ') } const cellClass = ({ row, column, rowIndex, columnIndex }) => { const classes: string[] = [] if (tableName?.includes('FlightContainer')) { if (['stowageNo'].includes(column.property)) { classes.push('cell-click') } } if (tableName?.includes('FlightWaybill')) { if (['stockCode', 'stowageNum'].includes(column.property)) { classes.push('cell-click') } } // if (tableName?.includes('WaybillGoods')) { // if (['CargoSN'].includes(column.property)) { // classes.push('cell-click') // } // } if (tableName?.includes('ArrivalWaybillGoods')) { if (['C1'].includes(column.property)) { classes.push('cell-click') } } return classes.join(' ') } const rowClassV2: RowClassGetter = ({ columns, rowData, rowIndex }) => { const classes: string[] = [] // if (tableName?.includes('Airport')) { // if (rowIndex <= 1) { // classes.push('bg-gray') // } // if (rowIndex === 1) { // classes.push('underline-red') // } // } return classes.join(' ') } const cellClassV2: CellClassGetter = ({ column, columns, columnIndex, cellData, rowData, rowIndex, }) => { const classes: string[] = [] // if ((['4/243', '0/6'] as any[]).includes(cellData)) { // classes.push('cell-warning') // } // if ((['5/357'] as any).includes(cellData)) { // classes.push('cell-alarm') // } if ((['flightNO'] as any).includes(column.dataKey)) { classes.push('cell-click') } return classes.join(' ') } return { rowClass, cellClass, rowClassV2, cellClassV2, } }