From 310156b7244cd7b0c1b958f4267b5cf4e12bd90a Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期五, 08 三月 2024 17:15:45 +0800
Subject: [PATCH] fix:修改获取实例
---
src/views/daoAnOffice/right/danger/dataTable.vue | 151 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 148 insertions(+), 3 deletions(-)
diff --git a/src/views/daoAnOffice/right/danger/dataTable.vue b/src/views/daoAnOffice/right/danger/dataTable.vue
index f532285..1a9a2df 100644
--- a/src/views/daoAnOffice/right/danger/dataTable.vue
+++ b/src/views/daoAnOffice/right/danger/dataTable.vue
@@ -11,12 +11,15 @@
</div>
<div class="table-container flex-1">
<div class="table-content">
- <el-table class="data-table" :data="tableData" :highlight-current-row="false" :stripe="true"
+
+ <el-table class="data-table body-table" ref="scrollTableOne" :data="tableData" :highlight-current-row="false"
+ :stripe="true"
:header-cell-style="{ backgroundColor: 'transparent', color: '#79A5E9', borderColor: '#29466A' }"
:cell-style="{ color: '#79A5E9', borderColor: '#29466A', paddingTop: '10px', paddingBottom: '10px' }"
:row-style="{ backgroundColor: 'transparent' }">
<el-table-column prop="street" label="闀�/琛楅亾" align="center" />
<el-table-column label="鍙戠幇鏁伴噺" align="center">
+
<template #default="scope">
<div style="color: #6289E6;">
{{ scope.row.num1 }}
@@ -25,6 +28,7 @@
</el-table-column>
<el-table-column label="涓嬪彂閫氱煡涔�" align="center">
+
<template #default="scope">
<div style="color: #CFB249;">
{{ scope.row.num2 }}
@@ -32,6 +36,7 @@
</template>
</el-table-column>
<el-table-column label="澶勭疆鏁伴噺" align="center">
+
<template #default="scope">
<div style="color: #2BB06D;">
{{ scope.row.num3 }}
@@ -46,7 +51,9 @@
</template>
<script setup>
-import { ref } from 'vue';
+import { ref, onUnmounted, inject, nextTick, watch, watchEffect } from 'vue';
+
+const tableState = inject('tableState');
const tableType = ref([
{ id: 1, type: '鏈湀', isActive: true },
@@ -54,6 +61,42 @@
]);
const tableData = [
+ {
+ street: '濂庡厜濉旇閬�',
+ num1: 12,
+ num2: 5,
+ num3: 2
+ },
+ {
+ street: '濂庡厜濉旇閬�',
+ num1: 12,
+ num2: 5,
+ num3: 2
+ },
+ {
+ street: '濂庡厜濉旇閬�',
+ num1: 12,
+ num2: 5,
+ num3: 2
+ },
+ {
+ street: '濂庡厜濉旇閬�',
+ num1: 12,
+ num2: 5,
+ num3: 2
+ },
+ {
+ street: '濂庡厜濉旇閬�',
+ num1: 12,
+ num2: 5,
+ num3: 2
+ },
+ {
+ street: '濂庡厜濉旇閬�',
+ num1: 12,
+ num2: 5,
+ num3: 2
+ },
{
street: '濂庡厜濉旇閬�',
num1: 12,
@@ -110,6 +153,73 @@
});
selectItem.isActive = true;
}
+
+let scrollTableOne = ref("");
+
+const tableNode = ref(null);
+const scrollHeight = ref(null);
+const scrollTop = ref(null);
+const isBind = ref(false);
+let scrollTimer = null;
+
+// 婊氬姩
+const scrollTable = () => {
+ clearScroll();
+ tableNode.value = scrollTableOne.value.$refs.bodyWrapper.getElementsByClassName(
+ "el-scrollbar__wrap"
+ )[0];
+ scrollHeight.value = tableNode.value.scrollHeight;
+ scrollTop.value = tableNode.value.scrollTop;
+ bindWheel(tableNode.value);
+ scrollTimer = setInterval(() => {
+ scrollTableOne.value.setScrollTop(scrollTop.value++);
+ if (scrollTop.value >= scrollHeight.value - tableNode.value.offsetHeight) {
+ scrollTop.value = 0;
+ scrollTableOne.value.setScrollTop(0);
+ }
+ }, 50);
+};
+
+const bindWheel = (dom) => {
+ if (isBind.value) return;
+ isBind.value = true;
+ dom.addEventListener("mousewheel", () => {
+ clearScroll();
+ debounce(() => {
+ scrollTable();
+ }, 300)
+ })
+}
+
+
+const clearScroll = (() => {
+ clearInterval(scrollTimer);
+});
+
+// 闃叉姈鍑芥暟
+let timeout;
+function debounce(func, delay) {
+ clearTimeout(timeout);
+ timeout = setTimeout(func, delay);
+}
+
+watch(tableState, (newVal) => {
+ if (newVal) {
+ nextTick(() => {
+ setTimeout(() => {
+ scrollTable();
+ }, 500);
+ });
+ } else {
+ clearScroll();
+ }
+})
+
+onUnmounted(() => {
+ clearScroll();
+});
+
+
</script>
<style lang="scss" scoped>
@@ -143,6 +253,8 @@
font-size: 16px;
color: #447ED6;
margin-left: 20px;
+ font-family: 'PingFang SC';
+
}
.select-item {
@@ -150,6 +262,8 @@
height: 100%;
border-bottom: 2px solid RGBA(98, 137, 230, 0);
color: rgba(94, 134, 194, 1);
+ font-family: 'PingFang SC';
+
}
.item-active {
@@ -163,6 +277,8 @@
width: 100%;
height: 100%;
background: transparent;
+ font-family: 'PingFang SC';
+
}
::v-deep .el-table__inner-wrapper::before {
@@ -180,4 +296,33 @@
.el-table__fixed-right {
height: 100% !important;
-}</style>
\ No newline at end of file
+}
+
+.scroll-table {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 85%;
+ overflow: hidden;
+}
+
+::v-deep .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell {
+ background-color: unset;
+}
+
+::v-deep .el-scrollbar__bar.is-vertical {
+ display: none !important;
+}
+// .head-table {
+// &:deep(.el-table__body-wrapper) {
+// display: none;
+// }
+// }
+
+// .body-table {
+// :deep(.el-table__header-wrapper) {
+// display: none;
+// }
+// }
+</style>
\ No newline at end of file
--
Gitblit v1.8.0