From 85f6c318786871733ded463a61844a6ed5b05b4b Mon Sep 17 00:00:00 2001 From: xlsea Date: Thu, 12 Sep 2024 16:16:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/template/typings/soy.api.d.ts.vm | 8 +- .../advanced/table-header-operation.vue | 16 ++- src/components/custom/post-select.vue | 60 +++++++++ src/components/custom/role-select.vue | 52 ++++++++ src/hooks/common/form.ts | 1 + src/service/api/system/dept.ts | 36 +++++ src/service/api/system/index.ts | 3 + src/service/api/system/post.ts | 45 +++++++ src/service/api/system/role.ts | 45 +++++++ src/service/api/system/user.ts | 16 +++ src/typings/api/api.d.ts | 14 ++ src/typings/api/system.api.d.ts | 111 ++++++++++++++- src/typings/components.d.ts | 7 +- src/utils/service.ts | 2 +- src/views/system/user/index.vue | 126 +++++++++++++++++- .../user/modules/user-operate-drawer.vue | 80 ++++++++--- src/views/tool/gen/index.vue | 2 +- .../gen/modules/gen-table-import-drawer.vue | 4 +- .../gen/modules/gen-table-preview-drawer.vue | 27 ++++ 19 files changed, 618 insertions(+), 37 deletions(-) create mode 100644 src/components/custom/post-select.vue create mode 100644 src/components/custom/role-select.vue create mode 100644 src/service/api/system/dept.ts create mode 100644 src/service/api/system/post.ts create mode 100644 src/service/api/system/role.ts diff --git a/docs/template/typings/soy.api.d.ts.vm b/docs/template/typings/soy.api.d.ts.vm index 976aff9c..59445427 100644 --- a/docs/template/typings/soy.api.d.ts.vm +++ b/docs/template/typings/soy.api.d.ts.vm @@ -7,7 +7,7 @@ */ namespace ${ModuleName} { /** ${businessname} */ - type ${BusinessName} = Api.Common.CommonRecord<{ + type ${BusinessName} = Common.CommonRecord<{ #foreach($column in $columns)#if(!$BaseEntity.contains($column.javaField)) /** $column.columnComment */ $column.javaField:#if($column.javaField.indexOf("id") != -1 || $column.javaField.indexOf("Id") != -1) CommonType.IdType; #elseif($column.javaType == 'Long' || $column.javaType == 'Integer' || $column.javaType == 'Double' || $column.javaType == 'Float' || $column.javaType == 'BigDecimal') number; #elseif($column.javaType == 'Boolean') boolean; #else string; #end @@ -15,7 +15,7 @@ namespace ${ModuleName} { }>; /** ${businessname} search params */ - type ${BusinessName}SearchParams = Api.CommonType.RecordNullable< + type ${BusinessName}SearchParams = CommonType.RecordNullable< Pick< Api.${ModuleName}.${BusinessName}, #foreach($column in $columns) @@ -24,11 +24,11 @@ namespace ${ModuleName} { #end #end > & - Api.Common.CommonSearchParams<${BusinessName}> + Api.Common.CommonSearchParams >; /** ${businessname} operate params */ - type ${BusinessName}OperateParams = Api.CommonType.RecordNullable< + type ${BusinessName}OperateParams = CommonType.RecordNullable< Pick< Api.${ModuleName}.${BusinessName}, #foreach($column in $columns) diff --git a/src/components/advanced/table-header-operation.vue b/src/components/advanced/table-header-operation.vue index e5e07284..b9907b00 100644 --- a/src/components/advanced/table-header-operation.vue +++ b/src/components/advanced/table-header-operation.vue @@ -11,18 +11,21 @@ interface Props { loading?: boolean; showAdd?: boolean; showDelete?: boolean; + showExport?: boolean; } withDefaults(defineProps(), { itemAlign: undefined, showAdd: true, - showDelete: true + showDelete: true, + showExport: false }); interface Emits { (e: 'add'): void; (e: 'delete'): void; (e: 'refresh'): void; + (e: 'export'): void; } const emit = defineEmits(); @@ -42,6 +45,10 @@ function batchDelete() { function refresh() { emit('refresh'); } + +function handleExport() { + emit('export'); +} {{ $t('common.confirmDelete') }} + + + 导出 + +