diff --git a/Web/src/components/elTable/index.vue b/Web/src/components/elTable/index.vue index 84cf0ab..bc0a113 100644 --- a/Web/src/components/elTable/index.vue +++ b/Web/src/components/elTable/index.vue @@ -1,6 +1,6 @@ - - - - + + defineOptions({ name: 'elTable' }) - import { h,reactive, ref, onMounted } from 'vue' + import { useRoute } from 'vue-router' + import { h,reactive, ref, onMounted,defineExpose,nextTick } from 'vue' import { ElMessageBox, ElMessage,ElTable, ElTableColumn } from 'element-plus' import { formatTimeStrToStr } from "@/utils/formatTime"; - - const state = reactive({}) + import { getLocalTableColumnsName } from '@/utils/common/index' const props = defineProps({ + // 特殊的column缓存名称 + specialLocalColumnName:{ + type: String, + default: null + }, // 多选 multipleTable:{ type: Boolean, @@ -228,6 +235,9 @@ }, }) + const innerTableColums = ref([]) + innerTableColums.value = props.tableColumns + const emits = defineEmits([ 'sortChange', 'leftOperationHadel', @@ -238,6 +248,20 @@ 'editItemClearHandle', ]) + const table_Ref = ref(null) + let _localColumName = props.specialLocalColumnName || useRoute().name + const localTableColumnsName = getLocalTableColumnsName(_localColumName) + + window.addEventListener('setItemEvent', (data) => { + // console.log("监听到触发了localStorage.setItem事件",data) + nextTick(() => { + if(data.key == localTableColumnsName){ + innerTableColums.value = JSON.parse(data.newValue) + if(table_Ref.value)table_Ref.value.doLayout() + } + }) + }) + // 多选 function tableSelectionHandle (val){ emits('tableSelectionHandle',val) @@ -317,6 +341,10 @@ emits('rightOperationHadel',btn,scope) } + defineExpose({ + table_Ref, + }) + onMounted(() => {}) @@ -333,5 +361,8 @@ background:#fff; } } +.table-danger-row{ + background:#ffe8e8 !important; +} \ No newline at end of file