1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import { CommonTableColumn } from '~/common'
- import type { CellSlotProps } from '../type'
- type RowClassGetter = (param: {
- columns: CommonTableColumn[]
- rowData: any
- rowIndex: number
- }) => string
- type CellClassGetter = (param: CellSlotProps) => string
- const defaultCellClass = 'el-table-v2__cell-text'
- export default function useTableStyle() {
- const rowClass: RowClassGetter = ({ columns, rowData, rowIndex }) => {
- const classes: string[] = []
- if (rowIndex <= 1) {
- classes.push('bg-gray')
- }
- if (rowIndex === 1) {
- classes.push('underline-red')
- }
- return classes.join(' ')
- }
- const cellClass: CellClassGetter = ({
- column,
- columns,
- columnIndex,
- rowData,
- rowIndex,
- }) => {
- const classes: string[] = [defaultCellClass]
- if (['4/243', '0/6'].includes(rowData[column.columnName])) {
- classes.push('cell-warning')
- }
- if (['5/357'].includes(rowData[column.columnName])) {
- classes.push('cell-error')
- }
- if (['flightNO'].includes(column.columnName)) {
- classes.push('cell-click')
- }
- return classes.join(' ')
- }
- return {
- rowClass,
- cellClass,
- }
- }
|