diff --git a/packages/base/src/page/DataExportManagement/Common/AuditResultList/Table/column.tsx b/packages/base/src/page/DataExportManagement/Common/AuditResultList/Table/column.tsx index bcb2d6d76..9067cdd8f 100644 --- a/packages/base/src/page/DataExportManagement/Common/AuditResultList/Table/column.tsx +++ b/packages/base/src/page/DataExportManagement/Common/AuditResultList/Table/column.tsx @@ -2,10 +2,7 @@ import { ActiontechTableColumn } from '@actiontech/shared/lib/components/Actiont import { t } from '../../../../../locale'; import ResultIconRender from 'sqle/src/components/AuditResultMessage/ResultIconRender'; import AuditResultMessage from 'sqle/src/components/AuditResultMessage'; -import { - IAuditSQLResult, - IListDataExportTaskSQL -} from '@actiontech/shared/lib/api/base/service/common'; +import { IListDataExportTaskSQL } from '@actiontech/shared/lib/api/base/service/common'; import { SQLRenderer } from '@actiontech/shared'; export const AuditResultForCreateOrderColumn = ( @@ -36,13 +33,13 @@ export const AuditResultForCreateOrderColumn = ( { dataIndex: 'export_sql_type', title: () => t('dmsDataExport.common.auditResult.column.sqlType'), - render: (type: string) => type || '-' + render: (type) => type || '-' }, { dataIndex: 'audit_sql_result', title: () => t('dmsDataExport.common.auditResult.column.auditResult'), className: 'audit-result-column', - render: (result: IAuditSQLResult[], record) => { + render: (result = [], record) => { return (
onClickAuditResult(record)}> {result?.length > 1 ? ( diff --git a/packages/base/src/page/DataExportManagement/List/column.tsx b/packages/base/src/page/DataExportManagement/List/column.tsx index 3243d011e..697a6eb9f 100644 --- a/packages/base/src/page/DataExportManagement/List/column.tsx +++ b/packages/base/src/page/DataExportManagement/List/column.tsx @@ -53,7 +53,7 @@ export const ExportWorkflowListColumn: ( dataIndex: 'workflow_uid', title: () => t('dmsDataExport.list.column.id'), className: 'ellipsis-column-width', - render: (id: string) => { + render: (id) => { return ( @@ -67,7 +67,7 @@ export const ExportWorkflowListColumn: ( dataIndex: 'workflow_name', title: () => t('dmsDataExport.list.column.name'), className: 'ellipsis-column-width', - render: (name: string) => { + render: (name) => { return name ? ( ) : ( @@ -79,7 +79,7 @@ export const ExportWorkflowListColumn: ( dataIndex: 'desc', title: () => t('dmsDataExport.list.column.desc'), className: 'ellipsis-column-width-large', - render: (desc: string, record: IListDataExportWorkflow) => + render: (desc, record) => desc ? ( t('dmsDataExport.list.column.createUser'), - render: (user: IListDataExportWorkflow['creater']) => { + render: (user) => { return user?.name ?? '-'; }, filterCustomType: 'select', @@ -115,7 +115,7 @@ export const ExportWorkflowListColumn: ( { dataIndex: 'status', title: () => t('dmsDataExport.list.column.status'), - render: (status: IListDataExportWorkflow['status']) => { + render: (status) => { return ; } }, @@ -124,9 +124,7 @@ export const ExportWorkflowListColumn: ( title: () => t('dmsDataExport.list.column.assignee'), filterCustomType: 'select', filterKey: 'filter_current_step_assignee_user_uid', - render: ( - list: IListDataExportWorkflow['current_step_assignee_user_list'] - ) => { + render: (list) => { if (!list || list.length === 0) { return '-'; } diff --git a/packages/base/src/page/Member/List/column.tsx b/packages/base/src/page/Member/List/column.tsx index 615ec5f3e..5994207d3 100644 --- a/packages/base/src/page/Member/List/column.tsx +++ b/packages/base/src/page/Member/List/column.tsx @@ -7,7 +7,6 @@ import { t } from '../../../locale'; import { IListMember, IListMemberRoleWithOpRange, - IUidWithName, IListMemberGroup } from '@actiontech/shared/lib/api/base/service/common'; import renderRolesInfo from '../Common/renderRolesInfo'; @@ -49,7 +48,7 @@ export const MemberListColumns: ActiontechTableColumn = [ dataIndex: 'user', title: t('common.username'), width: '25%', - render: (user: IUidWithName) => { + render: (user) => { return user?.name ?? '-'; } }, @@ -73,7 +72,7 @@ export const MemberListColumns: ActiontechTableColumn = [ ); }, - render: (roles: IListMemberRoleWithOpRange[], record: IListMember) => { + render: (roles = [], record: IListMember) => { return commonRoleOperateRangesRender(roles, record); } }, @@ -81,7 +80,7 @@ export const MemberListColumns: ActiontechTableColumn = [ dataIndex: 'is_project_admin', title: t('dmsMember.memberList.columns.isProjectAdmin'), width: '20%', - render: (isAdmin: boolean) => { + render: (isAdmin) => { if (typeof isAdmin !== 'boolean') { return t('common.unknownStatus'); } @@ -135,7 +134,7 @@ export const MemberGroupListColumns: ActiontechTableColumn = [ { dataIndex: 'users', title: t('dmsMember.memberGroupList.columns.users'), - render(users: IUidWithName[]) { + render(users) { if (!Array.isArray(users)) { return null; } @@ -165,14 +164,14 @@ export const MemberGroupListColumns: ActiontechTableColumn = [ ); }, - render: (roles: IListMemberRoleWithOpRange[], record: IListMemberGroup) => { + render: (roles = [], record: IListMemberGroup) => { return commonRoleOperateRangesRender(roles, record); } }, { dataIndex: 'is_project_admin', title: t('dmsMember.memberList.columns.isProjectAdmin'), - render: (isAdmin: boolean) => { + render: (isAdmin) => { if (typeof isAdmin !== 'boolean') { return t('common.unknownStatus'); } diff --git a/packages/base/src/page/Project/ImportProject/column.tsx b/packages/base/src/page/Project/ImportProject/column.tsx index c78edb83a..c7033a1fe 100644 --- a/packages/base/src/page/Project/ImportProject/column.tsx +++ b/packages/base/src/page/Project/ImportProject/column.tsx @@ -11,13 +11,13 @@ export const importProjectListColumn: ActiontechTableColumn t('dmsProject.importProject.table.project'), - render: (value: string) => value || '-' + render: (value) => value || '-' }, { dataIndex: 'desc', className: 'ellipsis-column-small-width', title: () => t('dmsProject.importProject.table.desc'), - render: (desc: string) => { + render: (desc) => { return desc ? : '-'; } }, @@ -25,7 +25,7 @@ export const importProjectListColumn: ActiontechTableColumn t('dmsProject.importProject.table.business'), - render: (business: IPreviewImportProjects['business']) => { + render: (business) => { // 判断是否全为'' 因为后端会把文件中的空列解析为[''] 所以加此判断 if (!business || !business.length || business.every((i) => i === '')) { return '-'; diff --git a/packages/base/src/page/Project/List/columns.tsx b/packages/base/src/page/Project/List/columns.tsx index 3818686ed..a2b1b6ba9 100644 --- a/packages/base/src/page/Project/List/columns.tsx +++ b/packages/base/src/page/Project/List/columns.tsx @@ -1,10 +1,6 @@ import { t } from '../../../locale'; import { formatTime } from '@actiontech/shared/lib/utils/Common'; -import { - IListProject, - IUidWithName, - IBusiness -} from '@actiontech/shared/lib/api/base/service/common'; +import { IListProject } from '@actiontech/shared/lib/api/base/service/common'; import { Link } from 'react-router-dom'; import { ActiontechTableColumn, @@ -23,7 +19,7 @@ export const ProjectListTableColumnFactory = { dataIndex: 'name', title: () => t('dmsProject.projectForm.name'), - render(name: string, record) { + render(name, record) { return ( {name} ); @@ -32,7 +28,7 @@ export const ProjectListTableColumnFactory = { dataIndex: 'business', title: () => t('dmsProject.projectForm.business'), - render: (business: IBusiness[]) => { + render: (business) => { if (!business || !business.length) { return '-'; } @@ -63,14 +59,14 @@ export const ProjectListTableColumnFactory = ellipsis: true, title: () => t('dmsProject.projectForm.desc'), className: 'ellipsis-column-width', - render: (desc: string) => { + render: (desc) => { return desc ? : '-'; } }, { dataIndex: 'archived', title: () => t('dmsProject.projectList.columns.status'), - render(archived: boolean) { + render(archived) { return ( {archived ? ( @@ -100,7 +96,7 @@ export const ProjectListTableColumnFactory = dataIndex: 'create_user', ellipsis: true, title: () => t('dmsProject.projectList.columns.createUser'), - render: (userInfo: IUidWithName) => { + render: (userInfo) => { return userInfo?.name ?? ''; } } diff --git a/packages/base/src/page/UserCenter/components/PermissionList/column.tsx b/packages/base/src/page/UserCenter/components/PermissionList/column.tsx index 9c37bfd1d..de8439134 100644 --- a/packages/base/src/page/UserCenter/components/PermissionList/column.tsx +++ b/packages/base/src/page/UserCenter/components/PermissionList/column.tsx @@ -1,8 +1,5 @@ import { ActiontechTableColumn } from '@actiontech/shared/lib/components/ActiontechTable/index.type'; -import { - IListOpPermission, - IUidWithName -} from '@actiontech/shared/lib/api/base/service/common'; +import { IListOpPermission } from '@actiontech/shared/lib/api/base/service/common'; import { t } from '../../../../locale'; import { getOpRangeTypeName } from '../../../../hooks/useOpPermission/index.data'; import { ListMemberRoleWithOpRangeOpRangeTypeEnum } from '@actiontech/shared/lib/api/base/service/common.enum'; @@ -12,15 +9,17 @@ export const PermissionListColumns: () => ActiontechTableColumn t('dmsUserCenter.role.opPermissionList.columns.name'), - render: (opPermission: IUidWithName) => { + render: (opPermission) => { return opPermission?.name ?? ''; } }, { dataIndex: 'range_type', title: () => t('dmsUserCenter.role.opPermissionList.columns.range'), - render: (rangeType: ListMemberRoleWithOpRangeOpRangeTypeEnum) => - getOpRangeTypeName(rangeType) + render: (rangeType) => + getOpRangeTypeName( + rangeType as ListMemberRoleWithOpRangeOpRangeTypeEnum | undefined + ) }, { dataIndex: 'description', diff --git a/packages/base/src/page/UserCenter/components/RoleList/column.tsx b/packages/base/src/page/UserCenter/components/RoleList/column.tsx index 60e715fa4..af2421f2b 100644 --- a/packages/base/src/page/UserCenter/components/RoleList/column.tsx +++ b/packages/base/src/page/UserCenter/components/RoleList/column.tsx @@ -1,7 +1,4 @@ -import { - IListRole, - IUidWithName -} from '@actiontech/shared/lib/api/base/service/common'; +import { IListRole } from '@actiontech/shared/lib/api/base/service/common'; import { ActiontechTableColumn, ActiontechTableActionMeta @@ -24,14 +21,14 @@ export const RoleListColumns: () => ActiontechTableColumn = () => [ dataIndex: 'desc', title: () => t('dmsUserCenter.role.roleForm.desc'), className: 'ellipsis-column-width', - render: (desc: string) => { + render: (desc) => { return desc ? : '-'; } }, { dataIndex: 'stat', title: () => t('common.status'), - render: (stat: ListRoleStatEnum) => { + render: (stat) => { return ( {stat === ListRoleStatEnum.被禁用 ? ( @@ -47,7 +44,7 @@ export const RoleListColumns: () => ActiontechTableColumn = () => [ { dataIndex: 'op_permissions', title: () => t('dmsUserCenter.role.roleForm.opPermissions'), - render: (list: IUidWithName[]) => { + render: (list) => { if (!Array.isArray(list)) { return '-'; } diff --git a/packages/base/src/page/UserCenter/components/UserList/column.tsx b/packages/base/src/page/UserCenter/components/UserList/column.tsx index d72b57005..9b6f3737b 100644 --- a/packages/base/src/page/UserCenter/components/UserList/column.tsx +++ b/packages/base/src/page/UserCenter/components/UserList/column.tsx @@ -1,7 +1,4 @@ -import { - IListUser, - IUidWithName -} from '@actiontech/shared/lib/api/base/service/common'; +import { IListUser } from '@actiontech/shared/lib/api/base/service/common'; import { ActiontechTableColumn, ActiontechTableActionMeta @@ -21,21 +18,21 @@ export const UserListColumns: () => ActiontechTableColumn = () => [ { dataIndex: 'email', title: () => t('dmsUserCenter.user.userForm.email'), - render: (text: string) => { + render: (text) => { return text || '-'; } }, { dataIndex: 'phone', title: () => t('dmsUserCenter.user.userForm.phone'), - render: (text: string) => { + render: (text) => { return text || '-'; } }, { dataIndex: 'stat', title: () => t('dmsUserCenter.user.userList.columns.status'), - render: (status: ListUserStatEnum) => { + render: (status) => { return ( {status === ListUserStatEnum.被禁用 ? ( @@ -55,7 +52,7 @@ export const UserListColumns: () => ActiontechTableColumn = () => [ { dataIndex: 'op_permissions', title: () => t('dmsUserCenter.user.userForm.opPermissions'), - render: (list: IUidWithName[]) => { + render: (list) => { if (!Array.isArray(list)) { return '-'; } diff --git a/packages/shared/lib/components/ActiontechTable/Table.tsx b/packages/shared/lib/components/ActiontechTable/Table.tsx index dd3054060..5341c81ca 100644 --- a/packages/shared/lib/components/ActiontechTable/Table.tsx +++ b/packages/shared/lib/components/ActiontechTable/Table.tsx @@ -4,7 +4,9 @@ import ToolBar from './components/Toolbar'; import FilterContainer from './components/FilterContainer'; import { useTranslation } from 'react-i18next'; import { ActiontechTableStyleWrapper, tableToken } from './style'; -import useTableAction from './hooks/useTableAction'; +import useTableAction, { + ACTIONTECH_TABLE_OPERATOR_COLUMN_DATA_INDEX +} from './hooks/useTableAction'; import classnames from 'classnames'; import { useEffect, useMemo } from 'react'; import useTableSettings from './hooks/useTableSettings'; @@ -31,7 +33,7 @@ const ActiontechTable = < const { catchDefaultColumnsInfo, localColumns } = useTableSettings< T, F, - OtherColumnKeys + OtherColumnKeys | typeof ACTIONTECH_TABLE_OPERATOR_COLUMN_DATA_INDEX >(tableName, username); const mergerColumns = useMemo(() => { diff --git a/packages/shared/lib/components/ActiontechTable/hooks/useTableAction.tsx b/packages/shared/lib/components/ActiontechTable/hooks/useTableAction.tsx index ba91f6a96..08e569dc0 100644 --- a/packages/shared/lib/components/ActiontechTable/hooks/useTableAction.tsx +++ b/packages/shared/lib/components/ActiontechTable/hooks/useTableAction.tsx @@ -105,7 +105,13 @@ const useTableAction = () => { const renderActionInTable = useCallback( >( actions: ActiontechTableProps['actions'] - ): ActiontechTableColumn[0] | undefined => { + ): + | ActiontechTableColumn< + T, + Record, + typeof ACTIONTECH_TABLE_OPERATOR_COLUMN_DATA_INDEX + >[0] + | undefined => { if (Array.isArray(actions)) { if (actions.length === 0) { return; diff --git a/packages/shared/lib/components/ActiontechTable/index.type.ts b/packages/shared/lib/components/ActiontechTable/index.type.ts index 919cc4bbf..78f8eef84 100644 --- a/packages/shared/lib/components/ActiontechTable/index.type.ts +++ b/packages/shared/lib/components/ActiontechTable/index.type.ts @@ -328,15 +328,29 @@ export type InlineActiontechTableMoreActionsButtonMeta< * 表格 columns props, 当配置 filterCustomType 和 filterKey 启用该列的筛选功能, 通过 useTableFilterContainer 来生成 筛选项的元数据 * 当需要添加表格列以外的筛选列时, 可以使用 useTableFilterContainer 的第三个参数: extraFilterMeta */ +type ExcludeSymbol = T extends symbol ? never : T; export type ActiontechTableColumn< T = Record, F = Record, - OtherColumnKeys extends string = '' + OtherColumnKeys extends string = never > = Array< - (ColumnGroupType | ColumnType) & { - dataIndex: keyof T | OtherColumnKeys; - show?: boolean; - } & Pick, 'filterCustomType' | 'filterKey'> + Omit | ColumnType, 'render' | 'dataIndex'> & + { + [K in keyof Required]: { + show?: boolean; + dataIndex: ExcludeSymbol; + render?: ( + value: K | OtherColumnKeys extends keyof T ? T[K] : never, + record: T, + index: number + ) => ColumnType['render'] extends (...args: any) => infer R + ? R + : React.ReactNode; + } & Pick< + ActiontechTableFilterMetaValue, + 'filterCustomType' | 'filterKey' + >; + }[keyof Required] >; export interface ActiontechTableProps< diff --git a/packages/sqle/src/hooks/useBackendTable/useBackendTable.tsx b/packages/sqle/src/hooks/useBackendTable/useBackendTable.tsx index d1ed0dc64..4b7231d8c 100644 --- a/packages/sqle/src/hooks/useBackendTable/useBackendTable.tsx +++ b/packages/sqle/src/hooks/useBackendTable/useBackendTable.tsx @@ -87,8 +87,10 @@ const useBackendTable = () => { type?: string ) => React.ReactNode; } - ): ActiontechTableColumn => { - return head.map[0]>((cell) => { + ): ActiontechTableColumn, string> => { + return head.map< + ActiontechTableColumn, string>[0] + >((cell) => { const renderMethod = (text: string, record: DataSourceItem) => { if (options?.customRender) { return options?.customRender?.( @@ -105,7 +107,6 @@ const useBackendTable = () => { typeof options?.columnClassName === 'function' ? options.columnClassName(cell.type) : options?.columnClassName; - return { dataIndex: cell.field_name ?? '', title: (cell.desc || cell.field_name) ?? '', diff --git a/packages/sqle/src/page/GlobalRuleTemplate/RuleTemplateList/column.tsx b/packages/sqle/src/page/GlobalRuleTemplate/RuleTemplateList/column.tsx index 0ec33167b..25a45ee37 100644 --- a/packages/sqle/src/page/GlobalRuleTemplate/RuleTemplateList/column.tsx +++ b/packages/sqle/src/page/GlobalRuleTemplate/RuleTemplateList/column.tsx @@ -23,7 +23,7 @@ export const RuleTemplateColumns = { dataIndex: 'rule_template_name', title: () => t('ruleTemplate.ruleTemplateList.table.templateName'), - render(name: string, row) { + render(name, row) { if (!name) { return '-'; } @@ -47,7 +47,7 @@ export const RuleTemplateColumns = ellipsis: true, className: 'ellipsis-column-width', title: () => t('ruleTemplate.ruleTemplateList.table.desc'), - render: (desc: string) => { + render: (desc) => { if (!desc) return ''; return ; } @@ -55,7 +55,7 @@ export const RuleTemplateColumns = { dataIndex: 'db_type', title: () => t('ruleTemplate.ruleTemplateList.table.dbType'), - render(type: string) { + render(type) { if (!type) { return '-'; } diff --git a/packages/sqle/src/page/Home/AuditPlanRiskList/columns.tsx b/packages/sqle/src/page/Home/AuditPlanRiskList/columns.tsx index 56eca07bf..52ba7f749 100644 --- a/packages/sqle/src/page/Home/AuditPlanRiskList/columns.tsx +++ b/packages/sqle/src/page/Home/AuditPlanRiskList/columns.tsx @@ -14,7 +14,7 @@ export const AuditPlanRiskColumns: ( { dataIndex: 'audit_plan_report_timestamp', title: t('dashboard.auditPlanRisk.tableColumn.name'), - render(time: string, record: IRiskAuditPlan) { + render(time, record) { const text = `${t('auditPlan.record.generateTime')} ${formatTime( time, '-' @@ -36,7 +36,7 @@ export const AuditPlanRiskColumns: ( dataIndex: 'audit_plan_name', title: t('dashboard.auditPlanRisk.tableColumn.source'), width: '20%', - render(name: string) { + render(name) { if (!name) { return '-'; } @@ -52,14 +52,14 @@ export const AuditPlanRiskColumns: ( width: '10%', dataIndex: 'risk_sql_count', title: t('dashboard.auditPlanRisk.tableColumn.count'), - render(count: number) { + render(count) { return {count}; } }, { dataIndex: 'audit_plan_report_timestamp', title: t('dashboard.auditPlanRisk.tableColumn.time'), - render(time: string) { + render(time) { return formatTime(time, '-'); } } diff --git a/packages/sqle/src/page/Home/CommonTable/column.tsx b/packages/sqle/src/page/Home/CommonTable/column.tsx index db91af4ca..a3bde603e 100644 --- a/packages/sqle/src/page/Home/CommonTable/column.tsx +++ b/packages/sqle/src/page/Home/CommonTable/column.tsx @@ -37,7 +37,7 @@ export const commonColumn: ( title: () => t('home.sqlExecWorkflow.desc'), className: 'dashboard-common-list-table-desc-column', width: '45%', - render: (desc: string, record: IWorkflowDetailResV1) => + render: (desc, record) => desc ? ( t('operationRecord.list.column.operator'), - render: (userInfo: IOperationUser) => { + render: (userInfo) => { + if (!userInfo) { + return '-'; + } return `${userInfo.user_name ?? ''} ${userInfo.ip ?? ''}`; }, width: 300 @@ -67,7 +66,10 @@ export const OperationRecordListColumn: ActiontechTableColumn< { dataIndex: 'status', title: () => t('operationRecord.list.column.status'), - render: (status: OperationRecordListStatusEnum) => { + render: (status) => { + if (!status) { + return '-'; + } return ; }, width: 180 diff --git a/packages/sqle/src/page/PluginAudit/List/columns.tsx b/packages/sqle/src/page/PluginAudit/List/columns.tsx index 8c873c613..db48e51cd 100644 --- a/packages/sqle/src/page/PluginAudit/List/columns.tsx +++ b/packages/sqle/src/page/PluginAudit/List/columns.tsx @@ -2,10 +2,7 @@ import { ActiontechTableColumn, PageInfoWithoutIndexAndSize } from '@actiontech/shared/lib/components/ActiontechTable'; -import { - ISqlDEVRecord, - IAuditResult -} from '@actiontech/shared/lib/api/sqle/service/common'; +import { ISqlDEVRecord } from '@actiontech/shared/lib/api/sqle/service/common'; import { IGetSqlDEVRecordListParams } from '@actiontech/shared/lib/api/sqle/service/SqlDEVRecord/index.d'; import { t } from '../../../locale'; import ResultIconRender from '../../../components/AuditResultMessage/ResultIconRender'; @@ -74,7 +71,7 @@ export const PluginAuditListColumns: ( dataIndex: 'audit_result', title: () => t('pluginAudit.table.result'), width: 300, - render: (result: IAuditResult[], record) => { + render: (result = [], record) => { return (
onOpenDrawer(record)} diff --git a/packages/sqle/src/page/RuleTemplate/RuleTemplateList/columns.tsx b/packages/sqle/src/page/RuleTemplate/RuleTemplateList/columns.tsx index a99c1e2fe..08f59878f 100644 --- a/packages/sqle/src/page/RuleTemplate/RuleTemplateList/columns.tsx +++ b/packages/sqle/src/page/RuleTemplate/RuleTemplateList/columns.tsx @@ -118,7 +118,7 @@ export const RuleTemplateTableColumn: ( { dataIndex: 'rule_template_name', title: () => t('ruleTemplate.ruleTemplateList.table.templateName'), - render(name: string, record) { + render(name, record) { if (!name) { return ''; } @@ -141,7 +141,7 @@ export const RuleTemplateTableColumn: ( dataIndex: 'desc', title: () => t('ruleTemplate.ruleTemplateList.table.desc'), className: 'ellipsis-column-width', - render: (desc: string) => { + render: (desc) => { if (!desc) return '-'; return ; } @@ -149,7 +149,7 @@ export const RuleTemplateTableColumn: ( { dataIndex: 'db_type', title: () => t('ruleTemplate.ruleTemplateList.table.dbType'), - render(type: string) { + render(type) { if (!type) { return '-'; } diff --git a/packages/sqle/src/page/SqlExecWorkflow/Common/AuditResultList/Table/column.tsx b/packages/sqle/src/page/SqlExecWorkflow/Common/AuditResultList/Table/column.tsx index 35c99a118..13cd83f0a 100644 --- a/packages/sqle/src/page/SqlExecWorkflow/Common/AuditResultList/Table/column.tsx +++ b/packages/sqle/src/page/SqlExecWorkflow/Common/AuditResultList/Table/column.tsx @@ -1,7 +1,4 @@ -import { - IAuditResult, - IAuditTaskSQLResV2 -} from '@actiontech/shared/lib/api/sqle/service/common'; +import { IAuditTaskSQLResV2 } from '@actiontech/shared/lib/api/sqle/service/common'; import { ActiontechTableActionMeta, ActiontechTableColumn @@ -42,7 +39,7 @@ export const AuditResultForCreateWorkflowColumn = ( dataIndex: 'audit_result', title: () => t('execWorkflow.audit.table.auditResult'), className: 'audit-result-column', - render: (result: IAuditResult[], record) => { + render: (result = [], record) => { return (
onClickAuditResult(record)}> {result?.length > 1 ? ( @@ -66,7 +63,7 @@ export const AuditResultForCreateWorkflowColumn = ( dataIndex: 'description', title: () => t('execWorkflow.audit.table.describe'), className: 'audit-result-describe-column', - render: (description: string, record) => { + render: (description, record) => { return ( ); } diff --git a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/OverviewList/column.tsx b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/OverviewList/column.tsx index de326b351..674ef03d8 100644 --- a/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/OverviewList/column.tsx +++ b/packages/sqle/src/page/SqlExecWorkflow/Detail/components/AuditExecResultPanel/OverviewList/column.tsx @@ -224,9 +224,7 @@ export const auditResultOverviewColumn: () => ActiontechTableColumn t('execWorkflow.detail.overview.table.status'), - render: (status: GetWorkflowTasksItemV2StatusEnum) => ( - - ) + render: (status) => }, { dataIndex: 'task_pass_rate', @@ -242,7 +240,7 @@ export const auditResultOverviewColumn: () => ActiontechTableColumn t('execWorkflow.detail.overview.table.assigneeUserName'), - render: (list: string[]) => { + render: (list) => { return list?.map((v) => { return ; }); diff --git a/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/column.tsx b/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/column.tsx index ceb098321..4c600ee4d 100644 --- a/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/column.tsx +++ b/packages/sqle/src/page/SqlManagement/component/SQLEEIndex/column.tsx @@ -8,14 +8,9 @@ import { } from '@actiontech/shared/lib/components/ActiontechTable'; import { ModalName } from '../../../../data/ModalName'; import { IGetSqlManageListV2Params } from '@actiontech/shared/lib/api/sqle/service/SqlManage/index.d'; -import { - IAuditResult, - ISource, - ISqlManage -} from '@actiontech/shared/lib/api/sqle/service/common'; +import { ISqlManage } from '@actiontech/shared/lib/api/sqle/service/common'; import ResultIconRender from '../../../../components/AuditResultMessage/ResultIconRender'; import AuditResultMessage from '../../../../components/AuditResultMessage'; -import { SqlManageStatusEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum'; import { Link } from 'react-router-dom'; import { AvatarCom, EditText, SQLRenderer } from '@actiontech/shared'; import { tooltipsCommonProps } from '@actiontech/shared/lib/components/BasicToolTips'; @@ -208,7 +203,7 @@ const SqlManagementColumn: ( { dataIndex: 'source', title: () => t('sqlManagement.table.column.source'), - render: (source: ISource) => { + render: (source) => { //todo 本期只支持跳转至 sql管控配置,后续调整 if (source && source.sql_source_id && source.sql_source_type) { return ( @@ -226,7 +221,7 @@ const SqlManagementColumn: ( dataIndex: 'audit_result', width: 200, title: () => t('sqlManagement.table.column.auditResult'), - render: (result: IAuditResult[], record) => { + render: (result = [], record) => { return (
@@ -268,7 +263,7 @@ const SqlManagementColumn: ( { dataIndex: 'priority', title: () => t('sqlManagement.table.column.priority'), - render: (priority: ISqlManage['priority']) => { + render: (priority) => { if (priority === 'high') { return t('sqlManagement.table.column.highPriority'); } @@ -308,7 +303,7 @@ const SqlManagementColumn: ( dataIndex: 'assignees', title: () => t('sqlManagement.table.column.personInCharge'), width: 200, - render: (assignees: string[]) => { + render: (assignees) => { if (!Array.isArray(assignees)) { return '-'; } @@ -327,7 +322,7 @@ const SqlManagementColumn: ( { dataIndex: 'endpoints', title: () => t('sqlManagement.table.column.endpoints'), - render: (endpoints: ISqlManage['endpoints']) => { + render: (endpoints) => { if (!endpoints) { return '-'; } @@ -338,7 +333,7 @@ const SqlManagementColumn: ( { dataIndex: 'status', title: () => t('sqlManagement.table.column.status'), - render: (status: SqlManageStatusEnum) => { + render: (status) => { if (!status) return '-'; return ; } @@ -347,12 +342,12 @@ const SqlManagementColumn: ( dataIndex: 'remark', title: () => t('sqlManagement.table.column.comment'), className: 'ellipsis-column-width', - render: (remark: string, record) => { + render: (remark, record) => { if (!hasPermissionAndNotArchive) return remark ? : '-'; return ( { diff --git a/packages/sqle/src/page/SqlManagementConf/Detail/Overview/column.tsx b/packages/sqle/src/page/SqlManagementConf/Detail/Overview/column.tsx index 0e3495894..557c59d96 100644 --- a/packages/sqle/src/page/SqlManagementConf/Detail/Overview/column.tsx +++ b/packages/sqle/src/page/SqlManagementConf/Detail/Overview/column.tsx @@ -4,11 +4,7 @@ import { } from '@actiontech/shared/lib/components/ActiontechTable'; import { t } from '../../../../locale'; import { formatTime } from '@actiontech/shared/lib/utils/Common'; -import { - IAuditPlanRuleTemplate, - IAuditPlanTypeResBase, - IInstanceAuditPlanInfo -} from '@actiontech/shared/lib/api/sqle/service/common'; +import { IInstanceAuditPlanInfo } from '@actiontech/shared/lib/api/sqle/service/common'; import { TokenCom } from '@actiontech/shared'; import { InstanceAuditPlanInfoActiveStatusEnum } from '@actiontech/shared/lib/api/sqle/service/common.enum'; import { Link } from 'react-router-dom'; @@ -29,15 +25,22 @@ export const ConfDetailOverviewColumns: ( title: () => t('managementConf.detail.overview.column.auditPlanType'), filterCustomType: 'select', filterKey: 'filter_audit_plan_type', - render: (data: IAuditPlanTypeResBase) => { - return data.desc ? {data.desc} : '-'; + render: (data) => { + return data?.desc ? ( + {data.desc} + ) : ( + '-' + ); } }, { dataIndex: 'audit_plan_rule_template', title: () => t('managementConf.detail.overview.column.auditRuleTemplate'), - render: (ruleTemplate: IAuditPlanRuleTemplate, record) => { - const path = ruleTemplate.is_global_rule_template + render: (ruleTemplate, record) => { + if (!ruleTemplate?.name) { + return '-'; + } + const path = ruleTemplate?.is_global_rule_template ? `/sqle/rule-manager/global-detail/${ruleTemplate.name}/${record.audit_plan_db_type}` : `/sqle/project/${projectID}/rule/template/detail/${ruleTemplate.name}/${record.audit_plan_db_type}`; @@ -57,7 +60,7 @@ export const ConfDetailOverviewColumns: ( { dataIndex: 'active_status', title: () => t('managementConf.detail.overview.column.status'), - render: (status: InstanceAuditPlanInfoActiveStatusEnum) => { + render: (status) => { if (status === InstanceAuditPlanInfoActiveStatusEnum.disabled) { return ( @@ -109,7 +112,7 @@ export const ConfDetailOverviewColumns: ( dataIndex: 'last_collection_time', title: () => t('managementConf.detail.overview.column.lastCollectionTime'), - render: (time: string) => formatTime(time, '-') + render: (time) => formatTime(time, '-') } ]; }; diff --git a/packages/sqle/src/page/SqlManagementConf/List/column.tsx b/packages/sqle/src/page/SqlManagementConf/List/column.tsx index 145deb36f..7846ae157 100644 --- a/packages/sqle/src/page/SqlManagementConf/List/column.tsx +++ b/packages/sqle/src/page/SqlManagementConf/List/column.tsx @@ -8,10 +8,7 @@ import { t } from '../../../locale'; import { DatabaseTypeLogo } from '@actiontech/shared'; import { Typography } from 'antd'; import { Link } from 'react-router-dom'; -import { - IAuditPlanTypeResBase, - IInstanceAuditPlanResV1 -} from '@actiontech/shared/lib/api/sqle/service/common'; +import { IInstanceAuditPlanResV1 } from '@actiontech/shared/lib/api/sqle/service/common'; import { InstanceAuditPlanTableFilterParamType } from './index.type'; import { formatTime } from '@actiontech/shared/lib/utils/Common'; import { @@ -52,7 +49,7 @@ export const SqlManagementConfColumns: ( { dataIndex: 'instance_name', title: () => t('managementConf.list.table.column.dbName'), - render: (instanceName: string, record) => { + render: (instanceName, record) => { return ( {instanceName || @@ -66,7 +63,7 @@ export const SqlManagementConfColumns: ( { dataIndex: 'instance_type', title: () => t('managementConf.list.table.column.dbType'), - render(type: string) { + render(type) { if (!type) { return '-'; } @@ -83,13 +80,13 @@ export const SqlManagementConfColumns: ( { dataIndex: 'audit_plan_types', title: () => t('managementConf.list.table.column.enabledScanTypes'), - render: (scanTypes: IAuditPlanTypeResBase[], record) => { + render: (scanTypes, record) => { return ( ); } @@ -97,7 +94,7 @@ export const SqlManagementConfColumns: ( { dataIndex: 'active_status', title: () => t('managementConf.list.table.column.dbTaskStatus'), - render: (status: InstanceAuditPlanResV1ActiveStatusEnum) => { + render: (status) => { if (status === InstanceAuditPlanResV1ActiveStatusEnum.disabled) { return ( @@ -129,7 +126,7 @@ export const SqlManagementConfColumns: ( { dataIndex: 'create_time', title: () => t('managementConf.list.table.column.createdAt'), - render: (time: string) => { + render: (time) => { return formatTime(time, '-'); } }, diff --git a/packages/sqle/src/page/SqlOptimization/List/columns.tsx b/packages/sqle/src/page/SqlOptimization/List/columns.tsx index 5c97063a1..447c39b40 100644 --- a/packages/sqle/src/page/SqlOptimization/List/columns.tsx +++ b/packages/sqle/src/page/SqlOptimization/List/columns.tsx @@ -41,7 +41,7 @@ export const SqlOptimizationListColumns: ( { dataIndex: 'db_type', title: () => t('sqlOptimization.table.dbType'), - render: (dbType: string) => { + render: (dbType) => { if (!dbType) return '-'; return ( @@ -56,6 +56,9 @@ export const SqlOptimizationListColumns: ( dataIndex: 'performance_gain', title: () => t('sqlOptimization.table.performanceGain'), render: (performance) => { + if (!performance) { + return '-'; + } return isNaN(performance) ? '-' : `${floatToPercent(performance)}%`; } }, @@ -69,8 +72,13 @@ export const SqlOptimizationListColumns: ( { dataIndex: 'status', title: () => t('sqlOptimization.table.status'), - render: (status: SqlOptimizationStatusEnum) => { - return ; + render: (status) => { + if (!status) { + return '-'; + } + return ( + + ); } }, { diff --git a/packages/sqle/src/page/SqlOptimization/Overview/OptimizationSqlList/columns.tsx b/packages/sqle/src/page/SqlOptimization/Overview/OptimizationSqlList/columns.tsx index 4428ec339..a52bb0e15 100644 --- a/packages/sqle/src/page/SqlOptimization/Overview/OptimizationSqlList/columns.tsx +++ b/packages/sqle/src/page/SqlOptimization/Overview/OptimizationSqlList/columns.tsx @@ -60,6 +60,9 @@ export const SqlOptimizationListColumns: () => ActiontechTableColumn t('sqlOptimization.overview.sqlTable.performanceImprovement'), render: (performance) => { + if (!performance) { + return '-'; + } return isNaN(performance) ? '-' : `${floatToPercent(performance)}%`; } }, diff --git a/packages/sqle/src/page/Whitelist/List/columns.tsx b/packages/sqle/src/page/Whitelist/List/columns.tsx index cb11692f5..5f7ac5988 100644 --- a/packages/sqle/src/page/Whitelist/List/columns.tsx +++ b/packages/sqle/src/page/Whitelist/List/columns.tsx @@ -12,7 +12,7 @@ export const WhitelistColumn = dataIndex: 'value', title: () => t('whitelist.table.sql'), className: 'ellipsis-column-width', - render: (sql?: string) => { + render: (sql) => { if (!!sql) { return ; } @@ -23,7 +23,7 @@ export const WhitelistColumn = dataIndex: 'desc', title: () => t('whitelist.table.desc'), className: 'ellipsis-column-width', - render: (desc?: string) => { + render: (desc) => { if (!desc) return '-'; return ; } @@ -31,8 +31,14 @@ export const WhitelistColumn = { dataIndex: 'match_type', title: () => t('whitelist.table.matchType'), - render: (matchType?: CreateAuditWhitelistReqV1MatchTypeEnum) => { - return matchType ? t(WhitelistMatchTypeLabel[matchType]) : null; + render: (matchType) => { + return matchType + ? t( + WhitelistMatchTypeLabel[ + matchType as CreateAuditWhitelistReqV1MatchTypeEnum + ] + ) + : null; } } ];