From fab4d7d62b2039ab8660649d26a8c6f8f32193b5 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期四, 11 一月 2024 17:41:11 +0800 Subject: [PATCH] 1. 初步完成评估任务整体逻辑; 2. 新增评估记录下载功能(待完善) --- src/components/table/FYTable.vue | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/components/table/FYTable.vue b/src/components/table/FYTable.vue index d87d4c8..66c53bf 100644 --- a/src/components/table/FYTable.vue +++ b/src/components/table/FYTable.vue @@ -6,18 +6,22 @@ </template> </FYSearchBar> </el-row> - + <el-row ref="expandRef"> + <slot name="options-expand"></slot> + </el-row> <el-table :data="tableData" v-loading="loading" table-layout="fixed" :row-class-name="tableRowClassName" :height="tableHeight" + border > <slot name="table-column"></slot> </el-table> <el-pagination + v-if="pagination" ref="paginationRef" class="el-pagination" v-model:current-page="currentPage" @@ -41,6 +45,10 @@ export default { props: { rowClassName: undefined, + pagination: { + type: Boolean, + default: true + } }, data() { return { @@ -49,7 +57,7 @@ total: 0, currentPage: 1, pageSize: 20, - loading: false, + loading: false }; }, emits: ['search'], @@ -63,7 +71,7 @@ if (nValue != oValue) { this.onSearch(); } - }, + } }, methods: { /** @@ -77,20 +85,22 @@ 'search', { currentPage: this.currentPage, - pageSize: this.pageSize, + pageSize: this.pageSize }, (res) => { this.tableData = res.data; - this.total = res.total; + this.total = res.total ? res.total : 0; this.loading = false; } ); }, calcTableHeight() { const h1 = this.$refs.searchRef.$el.offsetHeight; - const h2 = this.$refs.paginationRef.$el.offsetHeight; + const h2 = this.$refs.paginationRef ? this.$refs.paginationRef.$el.offsetHeight : 0; + const h3 = this.$refs.expandRef.$el.offsetHeight; + const h = h1 + h2 + h3; // return `calc(100vh - ${h1}px - ${h2}px - var(--el-main-padding) * 2 - var(--el-header-height))`; - return `calc(100vh - ${h1}px - ${h2}px - 60px - var(--el-main-padding) * 2)`; + return `calc(100vh - ${h}px - 60px - var(--el-main-padding) * 2)`; }, tableRowClassName({ row }) { if (this.rowClassName) { @@ -102,12 +112,12 @@ } else { return row.extension1 != '0' ? 'online-row' : 'offline-row'; } - }, + } }, mounted() { this.tableHeight = this.calcTableHeight(); this.onSearch(); - }, + } }; </script> -- Gitblit v1.9.3