【vxe-table】复杂表头动态渲染

引入插件自己百度查
直接上代码

<vxe-table border :data='tableData' align="center">
        <vxe-table-column title="姓名" field='candidateName' width="80" fixed="left"></vxe-table-column>
        <template>
          <vxe-table-colgroup  v-for='i in xiangmuList' :title="i.title">
            <vxe-table-column v-for="item in i.children" :title="item.title" :field='item.title'></vxe-table-column>
          </vxe-table-colgroup>
        </template>
        
      </vxe-table>

数据结构

[
{
    "1": "-",
    "4": "100",
    "11": "100",
    "12": "100",
    "arr": [
        {
            "infoId": 1,
            "inspectionByname": "0101",
            "inspectionName": "焦红浩",
            "candidateByname": "0102",
            "candidateName": "张小妹",
            "indicatorId": 7,
            "indicatorName": "4",
            "score": 100,
            "planId": 10,
            "planName": "计划10",
            "projectId": 11,
            "projectName": "测试10",
            "valueScope": "",
            "ruleList": [
                {
                    "id": 30,
                    "projectId": 11,
                    "gradeName": "1",
                    "fixationValue": 100,
                    "gradeRatio": null,
                    "beginValue": null,
                    "endValue": null,
                    "markRatio": null,
                    "deleteTime": null,
                    "valueScope": null
                }
            ]
        },
        {
            "infoId": 2,
            "inspectionByname": "0101",
            "inspectionName": "焦红浩",
            "candidateByname": "0102",
            "candidateName": "张小妹",
            "indicatorId": 8,
            "indicatorName": "11",
            "score": 100,
            "planId": 10,
            "planName": "计划10",
            "projectId": 11,
            "projectName": "测试10",
            "valueScope": "",
            "ruleList": [
                {
                    "id": 30,
                    "projectId": 11,
                    "gradeName": "1",
                    "fixationValue": 100,
                    "gradeRatio": null,
                    "beginValue": null,
                    "endValue": null,
                    "markRatio": null,
                    "deleteTime": null,
                    "valueScope": null
                }
            ]
        },
        {
            "infoId": 3,
            "inspectionByname": "0101",
            "inspectionName": "焦红浩",
            "candidateByname": "0102",
            "candidateName": "张小妹",
            "indicatorId": 9,
            "indicatorName": "12",
            "score": 100,
            "planId": 10,
            "planName": "计划10",
            "projectId": 11,
            "projectName": "测试10",
            "valueScope": "",
            "ruleList": [
                {
                    "id": 30,
                    "projectId": 11,
                    "gradeName": "1",
                    "fixationValue": 100,
                    "gradeRatio": null,
                    "beginValue": null,
                    "endValue": null,
                    "markRatio": null,
                    "deleteTime": null,
                    "valueScope": null
                }
            ]
        },
        {
            "projectId": 2,
            "projectName": "测试打分制04-21-14:50",
            "indicatorId": 1,
            "indicatorName": "测试指标1",
            "ruleList": [
                {
                    "id": 5,
                    "projectId": 2,
                    "gradeName": null,
                    "fixationValue": null,
                    "gradeRatio": null,
                    "beginValue": 100,
                    "endValue": 90,
                    "markRatio": 10,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 6,
                    "projectId": 2,
                    "gradeName": null,
                    "fixationValue": null,
                    "gradeRatio": null,
                    "beginValue": 89,
                    "endValue": 79,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 7,
                    "projectId": 2,
                    "gradeName": null,
                    "fixationValue": null,
                    "gradeRatio": null,
                    "beginValue": 78,
                    "endValue": 60,
                    "markRatio": 30,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 8,
                    "projectId": 2,
                    "gradeName": null,
                    "fixationValue": null,
                    "gradeRatio": null,
                    "beginValue": 59,
                    "endValue": 0,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                }
            ],
            "score": "-"
        },
        {
            "projectId": 3,
            "projectName": "测试等级制2 0421-15:38",
            "indicatorId": 3,
            "indicatorName": "测试指标333",
            "ruleList": [
                {
                    "id": 15,
                    "projectId": 3,
                    "gradeName": "等级1",
                    "fixationValue": 100,
                    "gradeRatio": 10,
                    "beginValue": 50,
                    "endValue": 41,
                    "markRatio": 10,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 16,
                    "projectId": 3,
                    "gradeName": "等级2",
                    "fixationValue": 90,
                    "gradeRatio": 10,
                    "beginValue": 40,
                    "endValue": 31,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 17,
                    "projectId": 3,
                    "gradeName": "等级3",
                    "fixationValue": 80,
                    "gradeRatio": 20,
                    "beginValue": 30,
                    "endValue": 21,
                    "markRatio": 30,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 18,
                    "projectId": 3,
                    "gradeName": "等级4",
                    "fixationValue": 70,
                    "gradeRatio": 50,
                    "beginValue": 20,
                    "endValue": 11,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 19,
                    "projectId": 3,
                    "gradeName": "等级5",
                    "fixationValue": 60,
                    "gradeRatio": 10,
                    "beginValue": 10,
                    "endValue": 0,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                }
            ],
            "score": "-"
        },
        {
            "projectId": 11,
            "projectName": "测试10",
            "indicatorId": 4,
            "indicatorName": "1",
            "ruleList": [
                {
                    "id": 30,
                    "projectId": 11,
                    "gradeName": "1",
                    "fixationValue": 100,
                    "gradeRatio": null,
                    "beginValue": null,
                    "endValue": null,
                    "markRatio": null,
                    "deleteTime": null,
                    "valueScope": null
                }
            ],
            "score": "-"
        }
    ],
    "candidateByname": "0102",
    "candidateName": "张小妹",
    "planId": 10,
    "pID": [
        11,
        11,
        11
    ],
    "iID": [
        7,
        8,
        9
    ],
    "测试10": {
        "title": "测试10",
        "children": [
            {
                "title": "4",
                "zhibiaokey": "100"
            },
            {
                "title": "11",
                "zhibiaokey": "100"
            },
            {
                "title": "12",
                "zhibiaokey": "100"
            },
            {
                "title": "1",
                "zhibiaokey": "-"
            }
        ]
    },
    "测试打分制04-21-14:50": {
        "title": "测试打分制04-21-14:50",
        "children": [
            {
                "title": "测试指标1",
                "zhibiaokey": "-"
            }
        ]
    },
    "测试等级制2 0421-15:38": {
        "title": "测试等级制2 0421-15:38",
        "children": [
            {
                "title": "测试指标333",
                "zhibiaokey": "-"
            }
        ]
    },
    "测试指标1": "-",
    "测试指标333": "-",
    "_XID": "row_3"
},
{
    "1": "100",
    "4": "-",
    "11": "-",
    "12": "-",
    "arr": [
        {
            "infoId": 4,
            "inspectionByname": "0101",
            "inspectionName": "焦红浩",
            "candidateByname": "0103",
            "candidateName": "董建军",
            "indicatorId": 1,
            "indicatorName": "测试指标1",
            "score": 20,
            "planId": 10,
            "planName": "计划10",
            "projectId": 2,
            "projectName": "测试打分制04-21-14:50",
            "valueScope": "1-100",
            "ruleList": [
                {
                    "id": 5,
                    "projectId": 2,
                    "gradeName": null,
                    "fixationValue": null,
                    "gradeRatio": null,
                    "beginValue": 100,
                    "endValue": 90,
                    "markRatio": 10,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 6,
                    "projectId": 2,
                    "gradeName": null,
                    "fixationValue": null,
                    "gradeRatio": null,
                    "beginValue": 89,
                    "endValue": 79,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 7,
                    "projectId": 2,
                    "gradeName": null,
                    "fixationValue": null,
                    "gradeRatio": null,
                    "beginValue": 78,
                    "endValue": 60,
                    "markRatio": 30,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 8,
                    "projectId": 2,
                    "gradeName": null,
                    "fixationValue": null,
                    "gradeRatio": null,
                    "beginValue": 59,
                    "endValue": 0,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                }
            ]
        },
        {
            "infoId": 5,
            "inspectionByname": "0101",
            "inspectionName": "焦红浩",
            "candidateByname": "0103",
            "candidateName": "董建军",
            "indicatorId": 3,
            "indicatorName": "测试指标333",
            "score": 90,
            "planId": 10,
            "planName": "计划10",
            "projectId": 3,
            "projectName": "测试等级制2 0421-15:38",
            "valueScope": "",
            "ruleList": [
                {
                    "id": 15,
                    "projectId": 3,
                    "gradeName": "等级1",
                    "fixationValue": 100,
                    "gradeRatio": 10,
                    "beginValue": 50,
                    "endValue": 41,
                    "markRatio": 10,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 16,
                    "projectId": 3,
                    "gradeName": "等级2",
                    "fixationValue": 90,
                    "gradeRatio": 10,
                    "beginValue": 40,
                    "endValue": 31,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 17,
                    "projectId": 3,
                    "gradeName": "等级3",
                    "fixationValue": 80,
                    "gradeRatio": 20,
                    "beginValue": 30,
                    "endValue": 21,
                    "markRatio": 30,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 18,
                    "projectId": 3,
                    "gradeName": "等级4",
                    "fixationValue": 70,
                    "gradeRatio": 50,
                    "beginValue": 20,
                    "endValue": 11,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                },
                {
                    "id": 19,
                    "projectId": 3,
                    "gradeName": "等级5",
                    "fixationValue": 60,
                    "gradeRatio": 10,
                    "beginValue": 10,
                    "endValue": 0,
                    "markRatio": 20,
                    "deleteTime": null,
                    "valueScope": null
                }
            ]
        },
        {
            "infoId": 6,
            "inspectionByname": "0101",
            "inspectionName": "焦红浩",
            "candidateByname": "0103",
            "candidateName": "董建军",
            "indicatorId": 4,
            "indicatorName": "1",
            "score": 100,
            "planId": 10,
            "planName": "计划10",
            "projectId": 11,
            "projectName": "测试10",
            "valueScope": "",
            "ruleList": [
                {
                    "id": 30,
                    "projectId": 11,
                    "gradeName": "1",
                    "fixationValue": 100,
                    "gradeRatio": null,
                    "beginValue": null,
                    "endValue": null,
                    "markRatio": null,
                    "deleteTime": null,
                    "valueScope": null
                }
            ]
        },
        {
            "projectId": 11,
            "projectName": "测试10",
            "indicatorId": 7,
            "indicatorName": "4",
            "ruleList": [
                {
                    "id": 30,
                    "projectId": 11,
                    "gradeName": "1",
                    "fixationValue": 100,
                    "gradeRatio": null,
                    "beginValue": null,
                    "endValue": null,
                    "markRatio": null,
                    "deleteTime": null,
                    "valueScope": null
                }
            ],
            "score": "-"
        },
        {
            "projectId": 11,
            "projectName": "测试10",
            "indicatorId": 8,
            "indicatorName": "11",
            "ruleList": [
                {
                    "id": 30,
                    "projectId": 11,
                    "gradeName": "1",
                    "fixationValue": 100,
                    "gradeRatio": null,
                    "beginValue": null,
                    "endValue": null,
                    "markRatio": null,
                    "deleteTime": null,
                    "valueScope": null
                }
            ],
            "score": "-"
        },
        {
            "projectId": 11,
            "projectName": "测试10",
            "indicatorId": 9,
            "indicatorName": "12",
            "ruleList": [
                {
                    "id": 30,
                    "projectId": 11,
                    "gradeName": "1",
                    "fixationValue": 100,
                    "gradeRatio": null,
                    "beginValue": null,
                    "endValue": null,
                    "markRatio": null,
                    "deleteTime": null,
                    "valueScope": null
                }
            ],
            "score": "-"
        }
    ],
    "candidateByname": "0103",
    "candidateName": "董建军",
    "planId": 10,
    "pID": [
        2,
        3,
        11
    ],
    "iID": [
        1,
        3,
        4
    ],
    "测试10": {
        "title": "测试10",
        "children": [
            {
                "title": "1",
                "zhibiaokey": "100"
            },
            {
                "title": "4",
                "zhibiaokey": "-"
            },
            {
                "title": "11",
                "zhibiaokey": "-"
            },
            {
                "title": "12",
                "zhibiaokey": "-"
            }
        ]
    },
    "测试打分制04-21-14:50": {
        "title": "测试打分制04-21-14:50",
        "children": [
            {
                "title": "测试指标1",
                "zhibiaokey": "20"
            }
        ]
    },
    "测试等级制2 0421-15:38": {
        "title": "测试等级制2 0421-15:38",
        "children": [
            {
                "title": "测试指标333",
                "zhibiaokey": "90"
            }
        ]
    },
    "测试指标1": "20",
    "测试指标333": "90",
    "_XID": "row_4"
}

]

渲染部分的xiangmulist

[
{
    "title": "测试10",
    "children": [
        {
            "title": "4",
            "zhibiaokey": "100"
        },
        {
            "title": "11",
            "zhibiaokey": "100"
        },
        {
            "title": "12",
            "zhibiaokey": "100"
        },
        {
            "title": "1",
            "zhibiaokey": "-"
        }
    ]
},
{
    "title": "测试打分制04-21-14:50",
    "children": [
        {
            "title": "测试指标1",
            "zhibiaokey": "-"
        }
    ]
},
{
    "title": "测试等级制2 0421-15:38",
    "children": [
        {
            "title": "测试指标333",
            "zhibiaokey": "-"
        }
    ]
}
]
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值