diff --git a/src/components/Table/src/BasicTable.vue b/src/components/Table/src/BasicTable.vue
index e7e59998eadf7d581fe1c10dc334ead42807398e..5f55c1faf84b57548618026a1e390ce70514d6d4 100644
--- a/src/components/Table/src/BasicTable.vue
+++ b/src/components/Table/src/BasicTable.vue
@@ -46,7 +46,7 @@
@@ -93,7 +93,7 @@
import { omit } from 'lodash-es';
import { basicProps } from './props';
- import { isFunction } from '/@/utils/is';
+ import { isFunction, isArray } from '/@/utils/is';
import { warn } from '/@/utils/log';
export default defineComponent({
@@ -340,6 +340,16 @@
innerPropsRef.value = { ...unref(innerPropsRef), ...props };
}
+ function getColumnValue(data: any) {
+ const dataIndex = data.column.dataIndex;
+ if (isArray(dataIndex)) {
+ return dataIndex.reduce((pre, cur) => {
+ return pre[cur];
+ }, data.record);
+ }
+ return data.record[dataIndex];
+ }
+
const tableAction: TableActionType = {
reload,
getSelectRows,
diff --git a/src/components/Table/src/hooks/useColumns.ts b/src/components/Table/src/hooks/useColumns.ts
index dc3477e67ef9ab67426aa476df864eeba48b6517..9b1da22b7e0a1f70f464010e8fb4c499f9505b5b 100644
--- a/src/components/Table/src/hooks/useColumns.ts
+++ b/src/components/Table/src/hooks/useColumns.ts
@@ -5,6 +5,7 @@ import { computed, Ref, ref, reactive, toRaw, unref, watch } from 'vue';
import { renderEditCell } from '../components/editable';
import { usePermission } from '/@/hooks/web/usePermission';
import { useI18n } from '/@/hooks/web/useI18n';
+import { useDict } from '/@/components/Dict';
import { isObject, isArray, isBoolean, isFunction, isMap, isString } from '/@/utils/is';
import { deepMerge } from '/@/utils';
import { error } from '/@/utils/log';
@@ -32,6 +33,14 @@ function handleItem(item: BasicColumn, ellipsis: boolean, dictTypes: Set
if (children && children.length) {
handleChildren(children, !!ellipsis, dictTypes);
}
+ if (item.filterDictType) {
+ const { getDictList } = useDict();
+ dictTypes.add(item.filterDictType);
+ const filterList = getDictList(item.filterDictType);
+ item.filters = filterList.map((item) => {
+ return { text: item.name, value: item.value };
+ });
+ }
if (item.dictType) {
dictTypes.add(item.dictType);
// if (!item.slots?.customRender) {
diff --git a/src/components/Table/src/types/table.ts b/src/components/Table/src/types/table.ts
index 854ae11cf9eb1f8c23aca44ab1e580ad0275771b..5366e2aa5cc8991fd17c17127097f5268b86ec8b 100644
--- a/src/components/Table/src/types/table.ts
+++ b/src/components/Table/src/types/table.ts
@@ -480,6 +480,9 @@ export interface BasicColumn extends ColumnProps {
// JeeSite的字典类型
dictType?: string;
+ // JeeSite的字典类型
+ filterDictType?: string;
+
// 没有找到字典标签的时候显示的默认值
defaultValue?: string;