hcong
2024-11-08 d7d7da5c09340eafcd2e2c672e6b2c001a4cc0be
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<template>
  <el-table-column
    :label="coloumnHeader.label"
    :prop="coloumnHeader.label"
    show-overflow-tooltip
    align="center"
    :min-width="coloumnHeader.width ? coloumnHeader.width : '200px'"
    :sortable="
      coloumnHeader.sortable == undefined ? false : coloumnHeader.sortable
    "
  >
    <!-- <template #header>
        {{ coloumnHeader.label }}
      <el-button type="primary" @click="hidden1">隐藏</el-button>
    </template> -->
    <template
      v-for="item in coloumnHeader.children.filter((item) => !item.hidden)"
    >
      <tableColumn
        v-if="item.children && item.children.length"
        :key="item.id"
        :coloumn-header="item"
      >
      </tableColumn>
      <el-table-column
        v-else
        :key="item.name"
        :label="item.label"
        :prop="item.prop"
        align="center"
        :min-width="item.width ? item.width : '200px'"
        :sortable="item.sortable == undefined ? false : item.sortable"
      >
        <!-- <template #header>
            {{ item.label }}
          <el-button type="primary" @click="hidden2(item)">隐藏</el-button>
        </template> -->
      </el-table-column>
    </template>
  </el-table-column>
</template>
 
<script>
import tableCol from '../js/tableCol';
export default {
  name: 'tableColumn',
  props: {
    // 表头数据信息
    coloumnHeader: {
      type: Object,
      required: true
    }
  },
  methods: {
    hidden1() {
      let header = this.coloumnHeader;
      header.hidden = true;
    },
    hidden2(header) {
      header.hidden = true;
    },
    sortChangeFunc(column, prop, order) {
      console.log('tableCol', tableCol);
 
      tableCol.sortChange(column, prop, order);
    }
  }
};
</script>
 
<style scoped></style>