name-table-column.vue 761 Bytes
<script setup lang="ts">
import { get } from 'lodash';
import TableColumn from '@/components/filter/table-column.vue';

const props = defineProps<{ title?: string; dataIndex?: string; nickIndex?: string; realIndex?: string }>();

const fullName = (record: object) => {
  let name = '';

  if (props.nickIndex && get(record, props.nickIndex, '')) {
    name += get(record, props.nickIndex, '');
  }

  if (props.realIndex && get(record, props.realIndex)) {
    name += `(${get(record, props.realIndex, '')})`;
  }

  return name;
};
</script>

<template>
  <TableColumn v-bind="$attrs" :title="title" :data-index="dataIndex">
    <template #default="{ record }"> {{ fullName(record) }}</template>
  </TableColumn>
</template>

<style scoped lang="less"></style>