这是以表格形式显示数据的数据格式
transformedData=
{
missingReports: [
{
empId: "1234",
empName: "Aarohi",
monthTotalHours: {
11-2022:{ allocation: 32, totalHoursMissing: 6, difference: 21 },
12-2022:{ allocation: 91, totalHoursMissing: 3, difference: 45 }
}
},
{
empId: "2345",
empName: "Aarush",
monthTotalHours: {
11-2022: {allocation:10, totalHoursMissing: 2, difference: 21 }
}
}
]
}
这就是我希望以表格形式输出的方式
EmpId EmpName Nov2022al Nov2022hr Nov2022dif Dec2022al Dec2022hr Dec2022dif
1234 Aarohi 32 6 21 91 3 45
2345 Aarush 10 2 21
这是我一直尝试到现在。这里getTableHeader是我们从日期选择器中选择后得到的月份-年份。
<template v-for="employee in transformedData">
<tr v-for="data in employee" :key="data.empId">
<!-- <tr v-for="item in data" :key="item.empId"> -->
<!-- <template v-for="(item,index) in data"> -->
<td class="td-empId">{{ data.empId }}</td>
<td class="td-empName">{{ data.empName }}</td>
<template
v-for="(date, dIndex) in getTableHeader"
>
<span v-for="(monthTotalHours, mIndex) in Object.values(data.monthTotalHours)" :key="mIndex">
<td :key="'TT' + dIndex">{{monthTotalHours.allocation | decimalFix}}</td>
<td :key="'DD' + dIndex">{{monthTotalHours.totalHoursMissing | decimalFix}}</td>
<td :key="'DDD' + dIndex">{{monthTotalHours.difference | decimalFix}}</td>
</span>
</template>
</tr>
</template>
1条答案
按热度按时间igetnqfo1#
首先,您必须创建一个包含所有可用标头的数组,该数组是动态的,因为它可以根据
monthTotalHours
数据而变化您可以使用此代码使其易于使用
现在,由于您事先已经有了所有的标题,因此您可以简单地打印这些标题
棘手的部分来了。
我对数据进行了转换,以便
monthTotalHours.date.allocation
可以作为Nov2022hr
使用,这将反映标题名称因此,您需要运行2个循环,一个用于报告,在该循环中运行另一个用于标题的循环,您将从中获得标题名称
然后您可以像这样打印数据,例如
report[header name]
当然,你也必须使用循环来打印头文件名。
例如用于表格印刷