From e0d991da153a5ffe712aca09728c62621c609843 Mon Sep 17 00:00:00 2001 From: lai <10633968+laiyujun1@user.noreply.gitee.com> Date: Fri, 13 Dec 2024 19:14:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=AE=A1=E7=90=86+=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .prettierrc.json | 11 + package.json | 1 + packages/hooks/src/use-table.ts | 16 +- pnpm-lock.yaml | 3 + .../advanced/table-header-operation.vue | 21 +- src/constants/business.ts | 4 +- src/hooks/common/table.ts | 28 +- src/locales/langs/en-us.ts | 37 +- src/locales/langs/zh-cn.ts | 38 +- src/service/api/job.ts | 18 + src/service/api/log.ts | 15 + src/typings/auto-imports.d.ts | 4 + src/typings/components.d.ts | 2 + src/views/manage/log/index.vue | 213 ++++++ src/views/manage/log/modules/log-search.vue | 127 ++++ src/views/manage/role/index.vue | 10 +- .../role/modules/role-operate-drawer.vue | 2 +- src/views/manage/task/index.vue | 630 ++++++++++++++++++ .../task/modules/task-operate-drawer.vue | 222 ++++++ src/views/manage/task/modules/task-search.vue | 109 +++ 20 files changed, 1472 insertions(+), 39 deletions(-) create mode 100644 .prettierrc.json create mode 100644 src/service/api/job.ts create mode 100644 src/service/api/log.ts create mode 100644 src/views/manage/log/index.vue create mode 100644 src/views/manage/log/modules/log-search.vue create mode 100644 src/views/manage/task/index.vue create mode 100644 src/views/manage/task/modules/task-operate-drawer.vue create mode 100644 src/views/manage/task/modules/task-search.vue diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..41e79ea --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,11 @@ +{ + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "singleQuote": true, + "semi": true, + "trailingComma": "es5", + "bracketSpacing": true, + "jsxBracketSameLine": false, + "arrowParens": "avoid" +} diff --git a/package.json b/package.json index d21781c..5a6c663 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "typecheck": "vue-tsc --noEmit --skipLibCheck" }, "dependencies": { + "@ant-design/icons-vue": "^7.0.1", "@better-scroll/core": "2.5.1", "@iconify/vue": "4.1.2", "@sa/axios": "workspace:*", diff --git a/packages/hooks/src/use-table.ts b/packages/hooks/src/use-table.ts index ee78498..9f88555 100644 --- a/packages/hooks/src/use-table.ts +++ b/packages/hooks/src/use-table.ts @@ -59,17 +59,16 @@ export type TableConfig = { immediate?: boolean; }; -export default function useHookTable(config: TableConfig) { +export default function useHookTable(config: any) { const { loading, startLoading, endLoading } = useLoading(); const { bool: empty, setBool: setEmpty } = useBoolean(); const { apiFn, apiParams, transformer, immediate = true, getColumnChecks, getColumns } = config; - const searchParams: NonNullable[0]> = reactive({ ...apiParams }); + const searchParams: any = reactive({ ...apiParams }); + const allColumns = ref(config.columns()) as Ref; - const allColumns = ref(config.columns()) as Ref; - - const data: Ref = ref([]); + const data: Ref = ref([]); const columnChecks: Ref = ref(getColumnChecks(config.columns())); @@ -82,7 +81,7 @@ export default function useHookTable(config: TableConfig< const defaultChecks = getColumnChecks(allColumns.value); - columnChecks.value = defaultChecks.map(col => ({ + columnChecks.value = defaultChecks.map((col:any) => ({ ...col, checked: checkMap.get(col.key) ?? col.checked })); @@ -92,10 +91,9 @@ export default function useHookTable(config: TableConfig< startLoading(); const formattedParams = formatSearchParams(searchParams); - const response = await apiFn(formattedParams); - const transformed = transformer(response as Awaited>); + const transformed = transformer(response as Awaited); data.value = transformed.rows; @@ -123,7 +121,7 @@ export default function useHookTable(config: TableConfig< * * @param params */ - function updateSearchParams(params: Partial[0]>) { + function updateSearchParams(params: any) { Object.assign(searchParams, params); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 999d7f3..2c4ab8c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: dependencies: + '@ant-design/icons-vue': + specifier: ^7.0.1 + version: 7.0.1(vue@3.4.27(typescript@5.4.5)) '@better-scroll/core': specifier: 2.5.1 version: 2.5.1 diff --git a/src/components/advanced/table-header-operation.vue b/src/components/advanced/table-header-operation.vue index c1db9c3..8c97d26 100644 --- a/src/components/advanced/table-header-operation.vue +++ b/src/components/advanced/table-header-operation.vue @@ -10,6 +10,8 @@ interface Props { loading?: boolean; tableType?: string; showDelete?: boolean; + showExport?: boolean; + notShowAdd?: boolean; } defineProps(); @@ -18,6 +20,7 @@ interface Emits { (e: 'add'): void; (e: 'delete'): void; (e: 'refresh'): void; + (e: 'export'): void; } const emit = defineEmits(); @@ -37,6 +40,10 @@ function batchDelete() { function refresh() { emit('refresh'); } + +function handleExport() { + emit('export'); +}