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/TableHeader.vue | 71 +++++++++++++++++++---------------- 1 files changed, 39 insertions(+), 32 deletions(-) diff --git a/src/components/Table/src/components/TableHeader.vue b/src/components/Table/src/components/TableHeader.vue index cfcd090..7e0b50c 100644 --- a/src/components/Table/src/components/TableHeader.vue +++ b/src/components/Table/src/components/TableHeader.vue @@ -3,6 +3,9 @@ <div v-if="$slots.headerTop" style="margin: 5px"> <slot name="headerTop"></slot> </div> + <div v-if="showSelectionBar" style="margin: 5px"> + <TableSelectionBar :clearSelectedRowKeys="props.clearSelectedRowKeys!" :count="props.count" /> + </div> <div class="flex items-center"> <slot name="tableTitle" v-if="$slots.tableTitle"></slot> <TableTitle @@ -13,7 +16,7 @@ <div :class="`${prefixCls}__toolbar`"> <slot name="toolbar"></slot> <Divider type="vertical" v-if="$slots.toolbar && showTableSetting" /> - <TableSetting + <TableSettingComponent :setting="tableSetting" v-if="showTableSetting" @columns-change="handleColumnChange" @@ -22,46 +25,50 @@ </div> </div> </template> -<script lang="ts"> - import type { TableSetting, ColumnChangeParam } from '../types/table'; +<script lang="ts" setup> + import type { TableSetting, ColumnChangeParam, TableActionType } from '../types/table'; import type { PropType } from 'vue'; - import { defineComponent } from 'vue'; import { Divider } from 'ant-design-vue'; import TableSettingComponent from './settings/index.vue'; import TableTitle from './TableTitle.vue'; - import { useDesign } from '/@/hooks/web/useDesign'; + import { useDesign } from '@/hooks/web/useDesign'; + import TableSelectionBar from '../components/TableSelectionBar.vue'; - export default defineComponent({ - name: 'BasicTableHeader', - components: { - Divider, - TableTitle, - TableSetting: TableSettingComponent, + defineOptions({ name: 'BasicTableHeader' }); + + const props = defineProps({ + title: { + type: [Function, String] as PropType<string | ((data) => string)>, }, - props: { - title: { - type: [Function, String] as PropType<string | ((data) => string)>, - }, - tableSetting: { - type: Object as PropType<TableSetting>, - }, - showTableSetting: { - type: Boolean, - }, - titleHelpMessage: { - type: [String, Array] as PropType<string | string[]>, - default: '', - }, + tableSetting: { + type: Object as PropType<TableSetting>, }, - emits: ['columns-change'], - setup(_, { emit }) { - const { prefixCls } = useDesign('basic-table-header'); - function handleColumnChange(data: ColumnChangeParam[]) { - emit('columns-change', data); - } - return { prefixCls, handleColumnChange }; + showTableSetting: { + type: Boolean, + }, + titleHelpMessage: { + type: [String, Array] as PropType<string | string[]>, + default: '', + }, + // + clearSelectedRowKeys: { + type: Function as PropType<TableActionType['clearSelectedRowKeys']>, + }, + count: { + type: Number, + default: 0, + }, + showSelectionBar: { + type: Boolean, + default: false, }, }); + + const emit = defineEmits(['columns-change']); + const { prefixCls } = useDesign('basic-table-header'); + function handleColumnChange(data: ColumnChangeParam[]) { + emit('columns-change', data); + } </script> <style lang="less"> @prefix-cls: ~'@{namespace}-basic-table-header'; -- Gitblit v1.9.3