怎么能取到createTime每个月有数据的那一天的日期显示在列名里啊
// 创建顶级列(月份列)
const monthColumn = new TableColumn({
title: monthName,
type: "String",
field: monthField,
width: 100,
children: [
new TableColumn({
title: this.dayTitle,
type: "String",
field: dayField,
width: 100,
options: { readOnlyCell: true },
children: [
new TableColumn({
title: "点检",
type: "String",
field: checkResultField,
options: {
selection: "checkResult",
itemProps: { code: "code", name: "label" },
},
}),
new TableColumn({
title: "处置",
type: "String",
field: checkHandleField,
classCode: "CHECK_HANDLE",
options: { multiple: true },
}),
],
}),
],
});
// 将月份列添加到表格列配置数组中
tableColumns.push(monthColumn);
}
console.log("tableColumnssssssssss", tableColumns);
return tableColumns;
},
sync fetchCurrentResult() {
try {
const result = await getCheckResultSummary({
equipmentNumber: this.equipment.equipmentNumber,
checkRange: this.currentYear,
});
console.log("result", result.data.data);
// 使用 reduce 方法将结果数据转换为一个新的映射对象 summaryMap
// 这个映射对象的键是设备项的名称(itemName),值是一个对象,该对象包含了检查时间和对应的检查结果
// 检查结果按照月份进行组织,月份作为对象的键,检查结果作为值
const summaryMap = result.data.data.reduce((result, item) => {
if (item) {
const { createTime, checkResult, checkHandle, itemName } = item;
const record = result[itemName];
if (!createTime) {
return result;
}
if (record) {
record["checkResult" + this.$moment(createTime).get("month")] =
checkResult;
record["checkHandle" + this.$moment(createTime).get("month")] =
checkHandle;
record[this.$moment(createTime).get("month")] =
this.$moment(createTime).get("day");
} else {
result[itemName] = {
...item,
["checkResult" + this.$moment(createTime).get("month")]:
checkResult,
["checkHandle" + this.$moment(createTime).get("month")]:
checkHandle,
[this.$moment(createTime).get("month")]:
this.$moment(createTime).get("day"),
};
}
}
return result;
}, {});
// 排序后更新表格数据
console.log("summaryMap", summaryMap);
this.tableData = Object.values(summaryMap).sort(
(a, b) => a.seq - b.seq
);
主要区别:
1.新增了两个变量:month 和 day,分别用于存储月份和日期。
2.使用 format 方法:将月份和日期格式化为两位数的字符串。
3.新增了 day 字段:在 record 对象中添加了 day 字段,用于存储每个月有数据的那一天的日期。