From 7cf58a4d2fff6b9cba9029d4d43ba9744dbef864 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期四, 18 七月 2024 15:49:03 +0800 Subject: [PATCH] 工单更新 --- src/components/Table/src/components/settings/index.vue | 71 +++++++++++++++-------------------- 1 files changed, 31 insertions(+), 40 deletions(-) diff --git a/src/components/Table/src/components/settings/index.vue b/src/components/Table/src/components/settings/index.vue index ab03cb2..342bf1b 100644 --- a/src/components/Table/src/components/settings/index.vue +++ b/src/components/Table/src/components/settings/index.vue @@ -6,61 +6,52 @@ v-if="getSetting.setting" @columns-change="handleColumnChange" :getPopupContainer="getTableContainer" + :cache="getSetting.settingCache" /> <FullScreenSetting v-if="getSetting.fullScreen" :getPopupContainer="getTableContainer" /> </div> </template> -<script lang="ts"> +<script lang="ts" setup> import type { PropType } from 'vue'; import type { TableSetting, ColumnChangeParam } from '../../types/table'; - import { defineComponent, computed, unref } from 'vue'; + import { computed, unref } from 'vue'; import ColumnSetting from './ColumnSetting.vue'; import SizeSetting from './SizeSetting.vue'; import RedoSetting from './RedoSetting.vue'; import FullScreenSetting from './FullScreenSetting.vue'; - import { useI18n } from '/@/hooks/web/useI18n'; import { useTableContext } from '../../hooks/useTableContext'; - export default defineComponent({ - name: 'TableSetting', - components: { - ColumnSetting, - SizeSetting, - RedoSetting, - FullScreenSetting, - }, - props: { - setting: { - type: Object as PropType<TableSetting>, - default: () => ({}), - }, - }, - emits: ['columns-change'], - setup(props, { emit }) { - const { t } = useI18n(); - const table = useTableContext(); + defineOptions({ name: 'TableSetting' }); - const getSetting = computed((): TableSetting => { - return { - redo: true, - size: true, - setting: true, - fullScreen: false, - ...props.setting, - }; - }); - - function handleColumnChange(data: ColumnChangeParam[]) { - emit('columns-change', data); - } - - function getTableContainer() { - return table ? unref(table.wrapRef) : document.body; - } - - return { getSetting, t, handleColumnChange, getTableContainer }; + const props = defineProps({ + setting: { + type: Object as PropType<TableSetting>, + default: () => ({}), }, }); + + const emit = defineEmits(['columns-change']); + + const table = useTableContext(); + + const getSetting = computed((): TableSetting => { + return { + redo: true, + size: true, + setting: true, + settingCache: false, + fullScreen: false, + ...props.setting, + }; + }); + + function handleColumnChange(data: ColumnChangeParam[]) { + emit('columns-change', data); + } + + function getTableContainer() { + return table ? unref(table.wrapRef) : document.body; + } </script> <style lang="less"> .table-settings { -- Gitblit v1.9.3