| | |
| | | <div class="top-title">安全事故列表</div> |
| | | <div class="table-select flex"> |
| | | <div class="select-item mr-2 ml-2 cursor-pointer flex items-center" |
| | | :class="{ 'item-active': selectItem.isActive }" v-for="selectItem in tableType" :key="selectItem.id">{{ |
| | | :class="{ 'item-active': selectItem.isActive }" v-for="selectItem in tableType" :key="selectItem.id" |
| | | @click="changeSelect(selectItem)">{{ |
| | | selectItem.type }}</div> |
| | | </div> |
| | | </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" ref="dataTable" :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' }"> |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | import { ref } from 'vue'; |
| | | import { ref, onMounted, onUnmounted, nextTick, inject, watch } from 'vue'; |
| | | |
| | | const tableState = inject('tableState'); |
| | | |
| | | const tableType = ref([ |
| | | { id: 1, type: '本月', isActive: true }, |
| | |
| | | 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 |
| | | }, |
| | | ]; |
| | | |
| | | const changeSelect = (selectItem) => { |
| | | tableType.value.forEach((item) => { |
| | | item.isActive = false; |
| | | }); |
| | | selectItem.isActive = true; |
| | | } |
| | | |
| | | |
| | | // 处理表格滚动 |
| | | let timer = null; |
| | | const dataTable = ref(null); |
| | | |
| | | // const clearScroll = () => { |
| | | // clearInterval(timer); |
| | | // timer = null; |
| | | // } |
| | | |
| | | // const createScroll = () => { |
| | | // clearScroll(); |
| | | // const table = dataTable.value.layout.table.refs; |
| | | |
| | | // const tableWrapper = table.bodyWrapper.firstElementChild.firstElementChild; |
| | | // console.log(tableWrapper); |
| | | // timer = setInterval(() => { |
| | | // tableWrapper.scrollTop += 1; |
| | | // if (tableWrapper.clientHeight + tableWrapper.scrollTop >= tableWrapper.scrollHeight) { |
| | | // tableWrapper.scrollTop = 0; |
| | | // } |
| | | // }, 100); |
| | | // } |
| | | // watch(tableState, (newValue) => { |
| | | // console.log(newValue); |
| | | // if (newValue) { |
| | | // nextTick(() => { |
| | | // setTimeout(() => { |
| | | // createScroll(); |
| | | // }, 2000); |
| | | // }) |
| | | // } else { |
| | | // clearScroll(); |
| | | // } |
| | | // }) |
| | | |
| | | // onUnmounted(() => { |
| | | // clearScroll(); |
| | | // }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .container { |
| | | height: 360px; |
| | | } |
| | | |
| | | .table-container { |
| | | position: relative; |
| | | } |
| | | |
| | | .table-content { |
| | | width: 100%; |
| | | position: absolute; |
| | | top: 0; |
| | | bottom: 0; |
| | | } |
| | | |
| | | .table-top { |
| | | height: 51px; |
| | | background-color: rgba(17, 34, 58, 0.6); |
| | |
| | | } |
| | | |
| | | .select-item { |
| | | padding: 0 14px; |
| | | padding: 0 16px; |
| | | height: 100%; |
| | | border-bottom: 2px solid RGBA(98, 137, 230, 0); |
| | | color: rgba(94, 134, 194, 1); |
| | |
| | | } |
| | | |
| | | .data-table { |
| | | font-size: 14px; |
| | | font-size: 16px; |
| | | border: 1px solid #29466A; |
| | | width: 100%; |
| | | height: 100%; |
| | | background: transparent; |
| | | } |
| | | |
| | | .table-color1 {} |
| | | |
| | | |
| | | |
| | | ::v-deep .el-table__inner-wrapper::before { |
| | | background-color: transparent; |