fix: 大数据表格列改用tableColumns并为content列增加宽度与溢出提示

master
chenyuan 3 days ago
parent 4419a3cfd1
commit d8c4e40bef

@ -29,9 +29,9 @@
<div class="main-right">
<el-scrollbar height="100%" class="data-scrollbar">
<el-table :data="tableData" class="data-table" :header-cell-style="headerCellStyle">
<el-table-column v-for="column in tableLabel" :key="column" :prop="column" :label="column" align="center" min-width="130">
<el-table-column v-for="column in tableColumns" :key="column.prop" :prop="column.prop" :label="column.label" align="center" :min-width="column.prop === 'content' ? 240 : 130" :show-overflow-tooltip="column.prop === 'content'">
<template #default="{ row }">
{{ formatDate(row[column]) ?? "..." }}
{{ formatDate(row[column.prop]) ?? "..." }}
</template>
</el-table-column>
</el-table>
@ -65,19 +65,9 @@ const nzIndex = ref(0);
const nzData = ref([]);
const zjIndex = ref(-1);
const zjData = ref([]);
const tableLabel = ref([]);
const tableLabel2 = ref([]);
const arrhander = ref([]);
const arrhanderkey = ref([]);
// const arrMap = {
// 客户细分数据表: tableLabel.value,
// 销售预测数据表: tableLabel4.value,
// 购物车数据表: tableLabel5.value,
// 用户评论表: tableLabel3.value,
// };
const tableColumns = ref([]);
const goNZ = (index, item) => {
nzIndex.value = index;
// tableLabel.value = arrMap[item];
n_dataTableQuery.value.tableName = item;
delete n_dataTableQuery.value.selfTableName;
getSurface();
@ -105,22 +95,25 @@ const getSurface = () => {
portraitModel
.getUserTableData(n_dataTableQuery.value)
.then((res) => {
tableLabel.value = Object.keys(res?.data?.list[0]);
tableData.value = res?.data?.list;
console.log(tableData.value, "454545");
datatotal.value = res?.data?.total;
tableLabel2.value = [];
if (tableData.value[0]?.stepOneA) {
arrhander.value = JSON.parse(tableData.value[0].stepOneA);
arrhanderkey.value = Object.keys(tableData.value[0]).slice(2, arrhander.value.length + 2);
arrhander.value.forEach((item, index) => {
tableLabel2.value.push({
prop: arrhanderkey.value[index],
label: item,
});
});
tableLabel.value = arrhanderkey.value;
tableData.value = res?.data?.list || [];
datatotal.value = res?.data?.total || 0;
const firstRow = tableData.value[0] || {};
const properties = Object.keys(firstRow);
let headers = [];
if (firstRow.stepOneA) {
try {
headers = JSON.parse(firstRow.stepOneA);
} catch (error) {
headers = [];
}
}
const dataProperties = headers.length
? properties.slice(2, headers.length + 2)
: properties;
tableColumns.value = dataProperties.map((prop, index) => ({
prop,
label: headers[index] || prop,
}));
setTimeout(() => {
loading.value = false;
}, 1000);

Loading…
Cancel
Save