From aea0025035cd787e7a6663224d5fe88e1bb88172 Mon Sep 17 00:00:00 2001 From: labbomb <739955946@qq.com> Date: Sun, 27 Mar 2022 13:54:00 +0800 Subject: [PATCH] [Feature][UI Next]Added loading state to all tables (#9215) * Added loading state to all tables * Delete useless variables --- .../data-quality/rule/components/rule-modal.tsx | 2 -- .../src/views/data-quality/rule/index.tsx | 5 +++-- .../src/views/data-quality/rule/use-table.ts | 8 +++++++- .../src/views/data-quality/task-result/index.tsx | 3 ++- .../views/data-quality/task-result/use-table.ts | 7 ++++++- .../src/views/home/components/state-card.tsx | 8 ++++++-- dolphinscheduler-ui-next/src/views/home/index.tsx | 14 +++++++++----- .../src/views/home/use-process-state.ts | 13 ++++++++++--- .../src/views/home/use-task-state.ts | 9 ++++++++- .../views/monitor/statistics/audit-log/index.tsx | 4 ++-- .../monitor/statistics/audit-log/use-table.ts | 6 +++++- .../src/views/projects/list/index.tsx | 3 ++- .../src/views/projects/list/use-table.ts | 6 +++++- .../projects/overview/components/state-card.tsx | 8 ++++++-- .../src/views/projects/overview/index.tsx | 14 +++++++++----- .../views/projects/overview/use-process-state.ts | 9 ++++++++- .../src/views/projects/overview/use-task-state.ts | 9 ++++++++- .../task/definition/components/use-version.ts | 6 +++++- .../task/definition/components/version-modal.tsx | 4 ++-- .../src/views/projects/task/definition/index.tsx | 3 ++- .../views/projects/task/definition/use-table.ts | 6 +++++- .../src/views/projects/task/instance/index.tsx | 3 ++- .../src/views/projects/task/instance/use-table.ts | 6 +++++- .../workflow/definition/components/use-table.ts | 6 +++++- .../definition/components/version-modal.tsx | 3 ++- .../views/projects/workflow/definition/index.tsx | 2 ++ .../projects/workflow/definition/timing/index.tsx | 2 ++ .../workflow/definition/timing/use-table.ts | 6 +++++- .../projects/workflow/definition/use-table.ts | 6 +++++- .../src/views/projects/workflow/instance/index.tsx | 2 ++ .../views/projects/workflow/instance/use-table.ts | 6 +++++- .../src/views/resource/task-group/option/index.tsx | 4 +++- .../views/resource/task-group/option/use-table.ts | 6 +++++- .../src/views/resource/task-group/queue/index.tsx | 4 +++- .../views/resource/task-group/queue/use-table.ts | 6 +++++- .../src/views/resource/udf/function/index.tsx | 2 ++ .../src/views/resource/udf/function/use-table.ts | 6 +++++- .../src/views/resource/udf/resource/index.tsx | 2 ++ .../src/views/resource/udf/resource/use-table.ts | 6 +++++- .../views/security/alarm-group-manage/index.tsx | 5 +++-- .../views/security/alarm-group-manage/use-table.ts | 6 +++++- .../views/security/environment-manage/index.tsx | 4 +++- .../views/security/environment-manage/use-table.ts | 6 +++++- .../views/security/k8s-namespace-manage/index.tsx | 4 +++- .../security/k8s-namespace-manage/use-table.ts | 6 +++++- .../src/views/security/tenant-manage/index.tsx | 3 ++- .../src/views/security/tenant-manage/use-table.ts | 8 ++++++-- .../src/views/security/token-manage/index.tsx | 4 +++- .../src/views/security/token-manage/use-table.ts | 6 +++++- .../views/security/worker-group-manage/index.tsx | 4 +++- .../security/worker-group-manage/use-table.ts | 6 +++++- .../src/views/security/yarn-queue-manage/index.tsx | 4 +++- .../views/security/yarn-queue-manage/use-table.ts | 6 +++++- 53 files changed, 231 insertions(+), 66 deletions(-) diff --git a/dolphinscheduler-ui-next/src/views/data-quality/rule/components/rule-modal.tsx b/dolphinscheduler-ui-next/src/views/data-quality/rule/components/rule-modal.tsx index 9afffc188..3cc5504e2 100644 --- a/dolphinscheduler-ui-next/src/views/data-quality/rule/components/rule-modal.tsx +++ b/dolphinscheduler-ui-next/src/views/data-quality/rule/components/rule-modal.tsx @@ -19,7 +19,6 @@ import { defineComponent, PropType } from 'vue' import { useI18n } from 'vue-i18n' import { NDataTable } from 'naive-ui' import Modal from '@/components/modal' -import styles from '../index.module.scss' import { TableColumns } from 'naive-ui/es/data-table/src/interface' const props = { @@ -94,7 +93,6 @@ export default defineComponent({ data={this.ruleInputEntryList} striped size={'small'} - class={styles.table} /> ) diff --git a/dolphinscheduler-ui-next/src/views/data-quality/rule/index.tsx b/dolphinscheduler-ui-next/src/views/data-quality/rule/index.tsx index 662091267..fdeeb8a30 100644 --- a/dolphinscheduler-ui-next/src/views/data-quality/rule/index.tsx +++ b/dolphinscheduler-ui-next/src/views/data-quality/rule/index.tsx @@ -100,7 +100,8 @@ const TaskResult = defineComponent({ onCancel, onConfirm, viewRuleEntry, - ruleEntryData + ruleEntryData, + loadingRef } = this const { columns } = useTable(viewRuleEntry) @@ -127,7 +128,7 @@ const TaskResult = defineComponent({ - +
{}) { pageSize: ref(10), state: ref(null), searchVal: ref(null), - totalPage: ref(1) + totalPage: ref(1), + loadingRef: ref(false) }) const columns: TableColumns = [ @@ -97,6 +98,8 @@ export function useTable(viewRuleEntry = (unusedRuleJson: string): void => {}) { ] const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const data = { pageSize: params.pageSize, pageNo: params.pageNo, @@ -129,12 +132,15 @@ export function useTable(viewRuleEntry = (unusedRuleJson: string): void => {}) { 'yyyy-MM-dd HH:mm:ss' ) + return { ...item, ruleName: ruleNameLocale, ruleTypeName: ruleTypeName } }) as any + + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/data-quality/task-result/index.tsx b/dolphinscheduler-ui-next/src/views/data-quality/task-result/index.tsx index 229806452..eb43a950c 100644 --- a/dolphinscheduler-ui-next/src/views/data-quality/task-result/index.tsx +++ b/dolphinscheduler-ui-next/src/views/data-quality/task-result/index.tsx @@ -77,7 +77,7 @@ const TaskResult = defineComponent({ } }, render() { - const { t, requestTableData, onUpdatePageSize, onSearch } = this + const { t, requestTableData, onUpdatePageSize, onSearch, loadingRef } = this return ( <> @@ -156,6 +156,7 @@ const TaskResult = defineComponent({ { @@ -191,6 +192,8 @@ export function useTable() { } const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const data = { pageSize: params.pageSize, pageNo: params.pageNo, @@ -212,6 +215,8 @@ export function useTable() { ...item } }) as any + + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/home/components/state-card.tsx b/dolphinscheduler-ui-next/src/views/home/components/state-card.tsx index 87a902e00..d3dda37d2 100644 --- a/dolphinscheduler-ui-next/src/views/home/components/state-card.tsx +++ b/dolphinscheduler-ui-next/src/views/home/components/state-card.tsx @@ -36,6 +36,10 @@ const props = { chartData: { type: Array as PropType>, default: () => [] + }, + loadingRef: { + type: Boolean as PropType, + default: false } } @@ -51,9 +55,8 @@ const StateCard = defineComponent({ return { onUpdateDatePickerValue } }, render() { - const { title, date, tableData, chartData, onUpdateDatePickerValue } = this + const { title, date, tableData, chartData, onUpdateDatePickerValue, loadingRef } = this const { columnsRef } = useTable() - return ( {{ @@ -63,6 +66,7 @@ const StateCard = defineComponent({ {tableData && ( { taskStateRef.value = getTaskState(dateRef.value) @@ -62,11 +62,13 @@ export default defineComponent({ handleTaskDate, handleProcessDate, taskStateRef, - processStateRef + processStateRef, + ...toRefs(taskVariables), + ...toRefs(processVariables), } }, render() { - const { t, dateRef, handleTaskDate, handleProcessDate } = this + const { t, dateRef, handleTaskDate, handleProcessDate, taskLoadingRef, processLoadingRef } = this return (
@@ -78,6 +80,7 @@ export default defineComponent({ tableData={this.taskStateRef?.value.table} chartData={this.taskStateRef?.value.chart} onUpdateDatePickerValue={handleTaskDate} + loadingRef={taskLoadingRef} /> @@ -87,6 +90,7 @@ export default defineComponent({ tableData={this.processStateRef?.value.table} chartData={this.processStateRef?.value.chart} onUpdateDatePickerValue={handleProcessDate} + loadingRef={processLoadingRef} /> diff --git a/dolphinscheduler-ui-next/src/views/home/use-process-state.ts b/dolphinscheduler-ui-next/src/views/home/use-process-state.ts index 2e367bfcc..18c287e07 100644 --- a/dolphinscheduler-ui-next/src/views/home/use-process-state.ts +++ b/dolphinscheduler-ui-next/src/views/home/use-process-state.ts @@ -22,11 +22,17 @@ import { toLower } from 'lodash' import { useI18n } from 'vue-i18n' import type { TaskStateRes } from '@/service/modules/projects-analysis/types' import type { StateData } from './types' +import { reactive, ref } from 'vue' export function useProcessState() { const { t } = useI18n() + const processVariables = reactive({ + processLoadingRef: ref(false) + }) const getProcessState = (date: Array) => { + if (processVariables.processLoadingRef) return + processVariables.processLoadingRef = true const { state } = useAsyncState( countProcessInstanceState({ startDate: !date ? '' : format(date[0], 'yyyy-MM-dd HH:mm:ss'), @@ -46,14 +52,15 @@ export function useProcessState() { name: t('home.' + toLower(item.taskStateType)) } }) - + + processVariables.processLoadingRef = false return { table, chart } }), { table: [], chart: [] } - ) + ) return state } - return { getProcessState } + return { getProcessState, processVariables } } diff --git a/dolphinscheduler-ui-next/src/views/home/use-task-state.ts b/dolphinscheduler-ui-next/src/views/home/use-task-state.ts index f91a1b70a..ffc582586 100644 --- a/dolphinscheduler-ui-next/src/views/home/use-task-state.ts +++ b/dolphinscheduler-ui-next/src/views/home/use-task-state.ts @@ -22,11 +22,17 @@ import { useI18n } from 'vue-i18n' import { countTaskState } from '@/service/modules/projects-analysis' import type { TaskStateRes } from '@/service/modules/projects-analysis/types' import type { StateData } from './types' +import { reactive, ref } from 'vue' export function useTaskState() { const { t } = useI18n() + const taskVariables = reactive({ + taskLoadingRef: ref(false) + }) const getTaskState = (date: Array) => { + if (taskVariables.taskLoadingRef) return + taskVariables.taskLoadingRef = true const { state } = useAsyncState( countTaskState({ startDate: !date ? '' : format(date[0], 'yyyy-MM-dd HH:mm:ss'), @@ -46,6 +52,7 @@ export function useTaskState() { name: t('home.' + toLower(item.taskStateType)) } }) + taskVariables.taskLoadingRef = false return { table, chart } }), @@ -55,5 +62,5 @@ export function useTaskState() { return state } - return { getTaskState } + return { getTaskState, taskVariables } } diff --git a/dolphinscheduler-ui-next/src/views/monitor/statistics/audit-log/index.tsx b/dolphinscheduler-ui-next/src/views/monitor/statistics/audit-log/index.tsx index b5d64ab07..07a996c02 100644 --- a/dolphinscheduler-ui-next/src/views/monitor/statistics/audit-log/index.tsx +++ b/dolphinscheduler-ui-next/src/views/monitor/statistics/audit-log/index.tsx @@ -77,7 +77,7 @@ const AuditLog = defineComponent({ } }, render() { - const { t, requestTableData, onUpdatePageSize, onSearch } = this + const { t, requestTableData, onUpdatePageSize, onSearch, loadingRef } = this return ( <> @@ -139,7 +139,7 @@ const AuditLog = defineComponent({ - +
{ @@ -69,6 +70,8 @@ export function useTable() { } const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const data = { pageSize: params.pageSize, pageNo: params.pageNo, @@ -90,6 +93,7 @@ export function useTable() { ...item } }) as any + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/projects/list/index.tsx b/dolphinscheduler-ui-next/src/views/projects/list/index.tsx index 2d901d629..4029049ec 100644 --- a/dolphinscheduler-ui-next/src/views/projects/list/index.tsx +++ b/dolphinscheduler-ui-next/src/views/projects/list/index.tsx @@ -91,7 +91,7 @@ const list = defineComponent({ } }, render() { - const { t } = this + const { t, loadingRef } = this return (
@@ -124,6 +124,7 @@ const list = defineComponent({ class={styles['table-card']} > { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryProjectListPaging(params).then((res: ProjectRes) => { variables.totalPage = res.totalPage @@ -238,6 +241,7 @@ export function useTable() { ...item } }) as any + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/projects/overview/components/state-card.tsx b/dolphinscheduler-ui-next/src/views/projects/overview/components/state-card.tsx index 87a902e00..d3dda37d2 100644 --- a/dolphinscheduler-ui-next/src/views/projects/overview/components/state-card.tsx +++ b/dolphinscheduler-ui-next/src/views/projects/overview/components/state-card.tsx @@ -36,6 +36,10 @@ const props = { chartData: { type: Array as PropType>, default: () => [] + }, + loadingRef: { + type: Boolean as PropType, + default: false } } @@ -51,9 +55,8 @@ const StateCard = defineComponent({ return { onUpdateDatePickerValue } }, render() { - const { title, date, tableData, chartData, onUpdateDatePickerValue } = this + const { title, date, tableData, chartData, onUpdateDatePickerValue, loadingRef } = this const { columnsRef } = useTable() - return ( {{ @@ -63,6 +66,7 @@ const StateCard = defineComponent({ {tableData && ( { taskStateRef.value = getTaskState(val) @@ -62,11 +62,13 @@ const workflowMonitor = defineComponent({ handleTaskDate, handleProcessDate, taskStateRef, - processStateRef + processStateRef, + ...toRefs(taskVariables), + ...toRefs(processVariables), } }, render() { - const { t, dateRef, handleTaskDate, handleProcessDate } = this + const { t, dateRef, handleTaskDate, handleProcessDate, taskLoadingRef, processLoadingRef } = this return (
@@ -78,6 +80,7 @@ const workflowMonitor = defineComponent({ tableData={this.taskStateRef?.value.table} chartData={this.taskStateRef?.value.chart} onUpdateDatePickerValue={handleTaskDate} + loadingRef={taskLoadingRef} /> @@ -87,6 +90,7 @@ const workflowMonitor = defineComponent({ tableData={this.processStateRef?.value.table} chartData={this.processStateRef?.value.chart} onUpdateDatePickerValue={handleProcessDate} + loadingRef={processLoadingRef} /> diff --git a/dolphinscheduler-ui-next/src/views/projects/overview/use-process-state.ts b/dolphinscheduler-ui-next/src/views/projects/overview/use-process-state.ts index b4d7f9e08..dbadba7cb 100644 --- a/dolphinscheduler-ui-next/src/views/projects/overview/use-process-state.ts +++ b/dolphinscheduler-ui-next/src/views/projects/overview/use-process-state.ts @@ -23,12 +23,18 @@ import { toLower } from 'lodash' import { useI18n } from 'vue-i18n' import type { TaskStateRes } from '@/service/modules/projects-analysis/types' import type { StateData } from './types' +import { reactive, ref } from 'vue' export function useProcessState() { const route = useRoute() const { t } = useI18n() + const processVariables = reactive({ + processLoadingRef: ref(false) + }) const getProcessState = (date: Array) => { + if (processVariables.processLoadingRef) return + processVariables.processLoadingRef = true const { state } = useAsyncState( countProcessInstanceState({ startDate: !date ? '' : format(date[0], 'yyyy-MM-dd HH:mm:ss'), @@ -48,6 +54,7 @@ export function useProcessState() { name: t('home.' + toLower(item.taskStateType)) } }) + processVariables.processLoadingRef = false return { table, chart } }), @@ -57,5 +64,5 @@ export function useProcessState() { return state } - return { getProcessState } + return { getProcessState, processVariables } } diff --git a/dolphinscheduler-ui-next/src/views/projects/overview/use-task-state.ts b/dolphinscheduler-ui-next/src/views/projects/overview/use-task-state.ts index 0bee98287..5bc99a91c 100644 --- a/dolphinscheduler-ui-next/src/views/projects/overview/use-task-state.ts +++ b/dolphinscheduler-ui-next/src/views/projects/overview/use-task-state.ts @@ -23,12 +23,18 @@ import { useI18n } from 'vue-i18n' import { countTaskState } from '@/service/modules/projects-analysis' import type { TaskStateRes } from '@/service/modules/projects-analysis/types' import type { StateData } from './types' +import { reactive, ref } from 'vue' export function useTaskState() { const route = useRoute() const { t } = useI18n() + const taskVariables = reactive({ + taskLoadingRef: ref(false) + }) const getTaskState = (date: Array) => { + if (taskVariables.taskLoadingRef) return + taskVariables.taskLoadingRef = true const { state } = useAsyncState( countTaskState({ startDate: !date ? '' : format(date[0], 'yyyy-MM-dd HH:mm:ss'), @@ -48,6 +54,7 @@ export function useTaskState() { name: t('home.' + toLower(item.taskStateType)) } }) + taskVariables.taskLoadingRef = false return { table, chart } }), @@ -57,5 +64,5 @@ export function useTaskState() { return state } - return { getTaskState } + return { getTaskState, taskVariables } } diff --git a/dolphinscheduler-ui-next/src/views/projects/task/definition/components/use-version.ts b/dolphinscheduler-ui-next/src/views/projects/task/definition/components/use-version.ts index 109aeb141..924dca686 100644 --- a/dolphinscheduler-ui-next/src/views/projects/task/definition/components/use-version.ts +++ b/dolphinscheduler-ui-next/src/views/projects/task/definition/components/use-version.ts @@ -158,7 +158,8 @@ export function useVersion() { taskVersion: ref(null), taskCode: ref(null), refreshTaskDefinition: ref(false), - row: {} + row: {}, + loadingRef: ref(false) }) const handleSwitchVersion = (row: TaskDefinitionVersionItem) => { @@ -182,6 +183,8 @@ export function useVersion() { } const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryTaskVersions( { ...params }, @@ -194,6 +197,7 @@ export function useVersion() { } }) as any variables.totalPage = res.totalPage + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/projects/task/definition/components/version-modal.tsx b/dolphinscheduler-ui-next/src/views/projects/task/definition/components/version-modal.tsx index 289755a62..3fd657fe2 100644 --- a/dolphinscheduler-ui-next/src/views/projects/task/definition/components/version-modal.tsx +++ b/dolphinscheduler-ui-next/src/views/projects/task/definition/components/version-modal.tsx @@ -77,7 +77,7 @@ const VersionModal = defineComponent({ return { t, ...toRefs(variables), requestData, onConfirm } }, render() { - const { t, requestData, onConfirm, show } = this + const { t, requestData, onConfirm, show, loadingRef } = this return ( - +
{ @@ -285,6 +286,8 @@ export function useTable(onEdit: Function) { } const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryTaskDefinitionListPaging({ ...params }, { projectCode }).then( (res: TaskDefinitionRes) => { @@ -302,6 +305,7 @@ export function useTable(onEdit: Function) { } }) as any variables.totalPage = res.totalPage + variables.loadingRef = false } ), {} diff --git a/dolphinscheduler-ui-next/src/views/projects/task/instance/index.tsx b/dolphinscheduler-ui-next/src/views/projects/task/instance/index.tsx index b8f5fa732..382d0b230 100644 --- a/dolphinscheduler-ui-next/src/views/projects/task/instance/index.tsx +++ b/dolphinscheduler-ui-next/src/views/projects/task/instance/index.tsx @@ -86,7 +86,7 @@ const TaskInstance = defineComponent({ } }, render() { - const { t, requestTableData, onUpdatePageSize, onSearch, onConfirmModal } = + const { t, requestTableData, onUpdatePageSize, onSearch, onConfirmModal, loadingRef } = this return ( @@ -183,6 +183,7 @@ const TaskInstance = defineComponent({ { @@ -268,6 +269,8 @@ export function useTable() { } const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const data = { pageSize: params.pageSize, pageNo: params.pageNo, @@ -306,6 +309,7 @@ export function useTable() { } }) as any variables.totalPage = res.totalPage + variables.loadingRef = false } ), {} diff --git a/dolphinscheduler-ui-next/src/views/projects/workflow/definition/components/use-table.ts b/dolphinscheduler-ui-next/src/views/projects/workflow/definition/components/use-table.ts index 145188b2f..c543ce426 100644 --- a/dolphinscheduler-ui-next/src/views/projects/workflow/definition/components/use-table.ts +++ b/dolphinscheduler-ui-next/src/views/projects/workflow/definition/components/use-table.ts @@ -152,10 +152,13 @@ export function useTable( page: ref(1), totalPage: ref(1), pageSize: ref(10), - projectCode: ref(Number(router.currentRoute.value.params.projectCode)) + projectCode: ref(Number(router.currentRoute.value.params.projectCode)), + loadingRef: ref(false) }) const getTableData = (row: any) => { + if (variables.loadingRef) return + variables.loadingRef = true variables.row = row queryVersions( { @@ -168,6 +171,7 @@ export function useTable( variables.tableData = res.totalList.map((item: any) => ({ ...item })) variables.totalPage = res.totalPage + variables.loadingRef = false }) } diff --git a/dolphinscheduler-ui-next/src/views/projects/workflow/definition/components/version-modal.tsx b/dolphinscheduler-ui-next/src/views/projects/workflow/definition/components/version-modal.tsx index 52d6192ea..3d761296c 100644 --- a/dolphinscheduler-ui-next/src/views/projects/workflow/definition/components/version-modal.tsx +++ b/dolphinscheduler-ui-next/src/views/projects/workflow/definition/components/version-modal.tsx @@ -80,7 +80,7 @@ export default defineComponent({ render() { const { t } = useI18n() - const { requestData } = this + const { requestData, loadingRef } = this return ( @@ -150,6 +151,7 @@ export default defineComponent({ row.code} columns={this.columns} data={this.tableData} diff --git a/dolphinscheduler-ui-next/src/views/projects/workflow/definition/timing/index.tsx b/dolphinscheduler-ui-next/src/views/projects/workflow/definition/timing/index.tsx index 4c5f15aee..f2dc456e9 100644 --- a/dolphinscheduler-ui-next/src/views/projects/workflow/definition/timing/index.tsx +++ b/dolphinscheduler-ui-next/src/views/projects/workflow/definition/timing/index.tsx @@ -73,6 +73,7 @@ export default defineComponent({ render() { const { t } = useI18n() const router: Router = useRouter() + const { loadingRef } = this return (
@@ -87,6 +88,7 @@ export default defineComponent({ { @@ -243,6 +244,8 @@ export function useTable() { } const getTableData = (params: ISearchParam) => { + if (variables.loadingRef) return + variables.loadingRef = true const definitionCode = Number( router.currentRoute.value.params.definitionCode ) @@ -254,6 +257,7 @@ export function useTable() { variables.tableData = res.totalList.map((item: any) => { return { ...item } }) + variables.loadingRef = false }) } diff --git a/dolphinscheduler-ui-next/src/views/projects/workflow/definition/use-table.ts b/dolphinscheduler-ui-next/src/views/projects/workflow/definition/use-table.ts index 71c6d80de..375a29566 100644 --- a/dolphinscheduler-ui-next/src/views/projects/workflow/definition/use-table.ts +++ b/dolphinscheduler-ui-next/src/views/projects/workflow/definition/use-table.ts @@ -60,7 +60,8 @@ export function useTable() { startShowRef: ref(false), timingShowRef: ref(false), versionShowRef: ref(false), - copyShowRef: ref(false) + copyShowRef: ref(false), + loadingRef: ref(false) }) const createColumns = (variables: any) => { @@ -337,12 +338,15 @@ export function useTable() { } const getTableData = (params: IDefinitionParam) => { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryListPaging({ ...params }, variables.projectCode).then((res: any) => { variables.totalPage = res.totalPage variables.tableData = res.totalList.map((item: any) => { return { ...item } }) + variables.loadingRef = false }), { total: 0, table: [] } ) diff --git a/dolphinscheduler-ui-next/src/views/projects/workflow/instance/index.tsx b/dolphinscheduler-ui-next/src/views/projects/workflow/instance/index.tsx index bf07245ef..1f4c73b35 100644 --- a/dolphinscheduler-ui-next/src/views/projects/workflow/instance/index.tsx +++ b/dolphinscheduler-ui-next/src/views/projects/workflow/instance/index.tsx @@ -89,6 +89,7 @@ export default defineComponent({ }, render() { const { t } = useI18n() + const { loadingRef } = this return (
@@ -99,6 +100,7 @@ export default defineComponent({ row.id} columns={this.columns} data={this.tableData} diff --git a/dolphinscheduler-ui-next/src/views/projects/workflow/instance/use-table.ts b/dolphinscheduler-ui-next/src/views/projects/workflow/instance/use-table.ts index 9335b68ec..6a212a012 100644 --- a/dolphinscheduler-ui-next/src/views/projects/workflow/instance/use-table.ts +++ b/dolphinscheduler-ui-next/src/views/projects/workflow/instance/use-table.ts @@ -61,7 +61,8 @@ export function useTable() { stateType: ref(), startDate: ref(), endDate: ref(), - projectCode: ref(Number(router.currentRoute.value.params.projectCode)) + projectCode: ref(Number(router.currentRoute.value.params.projectCode)), + loadingRef: ref(false) }) const createColumns = (variables: any) => { @@ -236,6 +237,8 @@ export function useTable() { } const getTableData = () => { + if (variables.loadingRef) return + variables.loadingRef = true const params = { pageNo: variables.page, pageSize: variables.pageSize, @@ -252,6 +255,7 @@ export function useTable() { variables.tableData = res.totalList.map((item: any) => { return { ...item } }) + variables.loadingRef = false } ) } diff --git a/dolphinscheduler-ui-next/src/views/resource/task-group/option/index.tsx b/dolphinscheduler-ui-next/src/views/resource/task-group/option/index.tsx index 551d9c8a4..f1bc052d6 100644 --- a/dolphinscheduler-ui-next/src/views/resource/task-group/option/index.tsx +++ b/dolphinscheduler-ui-next/src/views/resource/task-group/option/index.tsx @@ -136,7 +136,8 @@ const taskGroupOption = defineComponent({ resetTableData, onUpdatePageSize, updateItem, - onSearch + onSearch, + loadingRef } = this const { columns } = useTable(updateItem, resetTableData) @@ -176,6 +177,7 @@ const taskGroupOption = defineComponent({ >
{ + if (variables.loadingRef) return + variables.loadingRef = true Promise.all([queryTaskGroupListPaging(params), queryAllProjectList()]).then( (values: any[]) => { variables.totalPage = values[0].totalPage @@ -149,6 +152,7 @@ export function useTable( } } ) + variables.loadingRef = false } ) } diff --git a/dolphinscheduler-ui-next/src/views/resource/task-group/queue/index.tsx b/dolphinscheduler-ui-next/src/views/resource/task-group/queue/index.tsx index 67ce2dca0..89f669fb0 100644 --- a/dolphinscheduler-ui-next/src/views/resource/task-group/queue/index.tsx +++ b/dolphinscheduler-ui-next/src/views/resource/task-group/queue/index.tsx @@ -150,7 +150,8 @@ const taskGroupQueue = defineComponent({ onSearch, showModalRef, updateItemData, - taskGroupOptions + taskGroupOptions, + loadingRef } = this const { columns } = useTable(updatePriority, resetTableData) @@ -192,6 +193,7 @@ const taskGroupQueue = defineComponent({ >
{ + if (variables.loadingRef) return + variables.loadingRef = true const taskGroupSearchParams = { pageNo: 1, pageSize: 2147483647 @@ -159,6 +162,7 @@ export function useTable( } } ) + variables.loadingRef = false }) } diff --git a/dolphinscheduler-ui-next/src/views/resource/udf/function/index.tsx b/dolphinscheduler-ui-next/src/views/resource/udf/function/index.tsx index 8739bab6a..260181565 100644 --- a/dolphinscheduler-ui-next/src/views/resource/udf/function/index.tsx +++ b/dolphinscheduler-ui-next/src/views/resource/udf/function/index.tsx @@ -88,6 +88,7 @@ export default defineComponent({ }, render() { const { t } = useI18n() + const { loadingRef } = this return (
@@ -123,6 +124,7 @@ export default defineComponent({ { @@ -162,12 +163,15 @@ export function useTable() { } const getTableData = (params: IUdfFunctionParam) => { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryUdfFuncListPaging({ ...params }).then((res: any) => { variables.totalPage = res.totalPage variables.tableData = res.totalList.map((item: any) => { return { ...item } }) + variables.loadingRef = false }), { total: 0, table: [] } ) diff --git a/dolphinscheduler-ui-next/src/views/resource/udf/resource/index.tsx b/dolphinscheduler-ui-next/src/views/resource/udf/resource/index.tsx index 2bcd409c8..361d22752 100644 --- a/dolphinscheduler-ui-next/src/views/resource/udf/resource/index.tsx +++ b/dolphinscheduler-ui-next/src/views/resource/udf/resource/index.tsx @@ -109,6 +109,7 @@ export default defineComponent({ }, render() { const { t } = useI18n() + const { loadingRef } = this return (
@@ -155,6 +156,7 @@ export default defineComponent({ default: () => (
{ @@ -224,6 +225,8 @@ export function useTable() { } const getTableData = (params: IUdfResourceParam) => { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryResourceListPaging({ ...params, type: 'UDF' }).then((res: any) => { const breadList = @@ -237,6 +240,7 @@ export function useTable() { variables.tableData = res.totalList.map((item: any) => { return { ...item } }) + variables.loadingRef = false }), { total: 0, table: [] } ) diff --git a/dolphinscheduler-ui-next/src/views/security/alarm-group-manage/index.tsx b/dolphinscheduler-ui-next/src/views/security/alarm-group-manage/index.tsx index c57d10b52..975a4f6de 100644 --- a/dolphinscheduler-ui-next/src/views/security/alarm-group-manage/index.tsx +++ b/dolphinscheduler-ui-next/src/views/security/alarm-group-manage/index.tsx @@ -97,7 +97,8 @@ const alarmGroupManage = defineComponent({ onCancelModal, onConfirmModal, handleModalChange, - onSearch + onSearch, + loadingRef } = this return ( @@ -129,7 +130,7 @@ const alarmGroupManage = defineComponent({
- +
{ @@ -156,6 +157,8 @@ export function useTable() { } const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryAlertGroupListPaging({ ...params }).then((res: AlarmGroupRes) => { variables.tableData = res.totalList.map((item, unused) => { @@ -172,6 +175,7 @@ export function useTable() { } }) as any variables.totalPage = res.totalPage + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/security/environment-manage/index.tsx b/dolphinscheduler-ui-next/src/views/security/environment-manage/index.tsx index 7fb2b8ae4..9a82baf90 100644 --- a/dolphinscheduler-ui-next/src/views/security/environment-manage/index.tsx +++ b/dolphinscheduler-ui-next/src/views/security/environment-manage/index.tsx @@ -97,7 +97,8 @@ const environmentManage = defineComponent({ onCancelModal, onConfirmModal, handleModalChange, - onSearch + onSearch, + loadingRef } = this return ( @@ -135,6 +136,7 @@ const environmentManage = defineComponent({ { @@ -198,6 +199,8 @@ export function useTable() { } const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryEnvironmentListPaging({ ...params }).then((res: EnvironmentRes) => { variables.tableData = res.totalList.map((item, unused) => { @@ -214,6 +217,7 @@ export function useTable() { } }) as any variables.totalPage = res.totalPage + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/security/k8s-namespace-manage/index.tsx b/dolphinscheduler-ui-next/src/views/security/k8s-namespace-manage/index.tsx index 9ccc2ad92..baaff8ac9 100644 --- a/dolphinscheduler-ui-next/src/views/security/k8s-namespace-manage/index.tsx +++ b/dolphinscheduler-ui-next/src/views/security/k8s-namespace-manage/index.tsx @@ -98,7 +98,8 @@ const k8sNamespaceManage = defineComponent({ onCancelModal, onConfirmModal, handleModalChange, - onSearch + onSearch, + loadingRef } = this return ( @@ -131,6 +132,7 @@ const k8sNamespaceManage = defineComponent({ { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryNamespaceListPaging({ ...params }).then((res: NamespaceListRes) => { variables.tableData = res.totalList.map((item, unused) => { @@ -210,6 +213,7 @@ export function useTable() { } }) as any variables.totalPage = res.totalPage + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/security/tenant-manage/index.tsx b/dolphinscheduler-ui-next/src/views/security/tenant-manage/index.tsx index d8b5b2bd0..e6410ca3a 100644 --- a/dolphinscheduler-ui-next/src/views/security/tenant-manage/index.tsx +++ b/dolphinscheduler-ui-next/src/views/security/tenant-manage/index.tsx @@ -91,7 +91,7 @@ const tenementManage = defineComponent({ } }, render() { - const { t } = this + const { t, loadingRef } = this return (
@@ -124,6 +124,7 @@ const tenementManage = defineComponent({ class={styles['table-card']} > { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryTenantListPaging({ ...params }).then((res: any) => { variables.tableData = res.totalList.map((item: any, unused: number) => { @@ -184,9 +187,10 @@ export function useTable() { } }) variables.totalPage = res.totalPage + variables.loadingRef = false }), {} - ) + ) return state } diff --git a/dolphinscheduler-ui-next/src/views/security/token-manage/index.tsx b/dolphinscheduler-ui-next/src/views/security/token-manage/index.tsx index 4f7bdd5ad..89a90b6c9 100644 --- a/dolphinscheduler-ui-next/src/views/security/token-manage/index.tsx +++ b/dolphinscheduler-ui-next/src/views/security/token-manage/index.tsx @@ -97,7 +97,8 @@ const tokenManage = defineComponent({ onCancelModal, onConfirmModal, handleModalChange, - onSearch + onSearch, + loadingRef } = this return ( @@ -135,6 +136,7 @@ const tokenManage = defineComponent({ { @@ -161,6 +162,8 @@ export function useTable() { } const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryAccessTokenList({ ...params }).then((res: TokenRes) => { variables.tableData = res.totalList.map((item, unused) => { @@ -181,6 +184,7 @@ export function useTable() { } }) as any variables.totalPage = res.totalPage + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/security/worker-group-manage/index.tsx b/dolphinscheduler-ui-next/src/views/security/worker-group-manage/index.tsx index 4ad51f0ec..c9970947b 100644 --- a/dolphinscheduler-ui-next/src/views/security/worker-group-manage/index.tsx +++ b/dolphinscheduler-ui-next/src/views/security/worker-group-manage/index.tsx @@ -98,7 +98,8 @@ const workerGroupManage = defineComponent({ onCancelModal, onConfirmModal, handleModalChange, - onSearch + onSearch, + loadingRef } = this return ( @@ -136,6 +137,7 @@ const workerGroupManage = defineComponent({ { @@ -177,6 +178,8 @@ export function useTable() { } const getTableData = (params: any) => { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryAllWorkerGroupsPaging({ ...params }).then((res: WorkerGroupRes) => { variables.tableData = res.totalList.map((item, unused) => { @@ -185,6 +188,7 @@ export function useTable() { } }) as any variables.totalPage = res.totalPage + variables.loadingRef = false }), {} ) diff --git a/dolphinscheduler-ui-next/src/views/security/yarn-queue-manage/index.tsx b/dolphinscheduler-ui-next/src/views/security/yarn-queue-manage/index.tsx index 9b9456be1..e8b6bb614 100644 --- a/dolphinscheduler-ui-next/src/views/security/yarn-queue-manage/index.tsx +++ b/dolphinscheduler-ui-next/src/views/security/yarn-queue-manage/index.tsx @@ -98,7 +98,8 @@ const yarnQueueManage = defineComponent({ onCancelModal, onConfirmModal, handleModalChange, - onSearch + onSearch, + loadingRef } = this return ( @@ -136,6 +137,7 @@ const yarnQueueManage = defineComponent({ { + if (variables.loadingRef) return + variables.loadingRef = true const { state } = useAsyncState( queryQueueListPaging({ ...params }).then((res: QueueRes) => { variables.tableData = res.totalList.map((item, unused) => { @@ -110,6 +113,7 @@ export function useTable() { } }) as any variables.totalPage = res.totalPage + variables.loadingRef = false }), {} ) -- GitLab