|
@@ -124,7 +124,7 @@ defineExpose({
|
|
|
<template>
|
|
|
<div class="w-full aa">
|
|
|
<vxe-button class="float-right -top-0 mr-20 mb-4" @click="exportEvent"
|
|
|
- ><el-icon><Download /></el-icon>导出</vxe-button
|
|
|
+ ><el-icon> <Download /> </el-icon> 导出</vxe-button
|
|
|
>
|
|
|
<vxe-grid
|
|
|
v-if="$route.name != 'workerDrak'"
|
|
@@ -189,6 +189,7 @@ onMounted(() => {
|
|
|
}
|
|
|
});
|
|
|
const $route = useRoute();
|
|
|
+const fileData = ref();
|
|
|
const RANK_IMG = [rank1, rank2, rank3];
|
|
|
const deptName = ref("");
|
|
|
const name = ref("");
|
|
@@ -509,15 +510,25 @@ const loadData = () => {
|
|
|
|
|
|
setTimeout(() => {
|
|
|
gridOptions.data = tableData;
|
|
|
+ fileData.value = JSON.parse(JSON.stringify(tableData));
|
|
|
+ if ($route.name != "workerDrak") {
|
|
|
+ fileData.value[0].ranking = "平均得分";
|
|
|
+ }
|
|
|
gridOptions.loading = false;
|
|
|
useUserStoreHook().tabload = false;
|
|
|
}, 500);
|
|
|
};
|
|
|
|
|
|
// 监听年份变化,重新渲染
|
|
|
-watch(selectYear, () => {
|
|
|
+watch($prop.rankTableRefList, newVal => {
|
|
|
+ init(newVal.data, newVal.dept, newVal.name);
|
|
|
createColumns();
|
|
|
loadData();
|
|
|
+ gridRef.value.setMergeCells([
|
|
|
+ // 合并第一行前两列
|
|
|
+ { row: 0, col: 0, rowspan: 1, colspan: 2 },
|
|
|
+ { row: 2, col: 1, rowspan: 0, colspan: 0 }
|
|
|
+ ]);
|
|
|
});
|
|
|
// 导出
|
|
|
const exportEvent = () => {
|
|
@@ -533,7 +544,9 @@ const exportEvent = () => {
|
|
|
$grid.exportData({
|
|
|
type: "xlsx",
|
|
|
filename: fileName,
|
|
|
- useStyle: true
|
|
|
+ useStyle: true,
|
|
|
+ isMerge: true,
|
|
|
+ data: fileData.value
|
|
|
});
|
|
|
} else {
|
|
|
ElMessage({
|