feat(sj_1.0.0): 组导出支持条件筛选导出全部

This commit is contained in:
opensnail 2024-05-29 18:37:22 +08:00
parent 132374eb06
commit eb0ed778b1
5 changed files with 26 additions and 12 deletions

View File

@ -525,7 +525,7 @@ const local: App.I18n.Schema = {
form: { form: {
groupName: 'Please enter group name', groupName: 'Please enter group name',
token: 'Please enter Token', token: 'Please enter Token',
groupStatus: 'Group status', groupStatus: 'Please select group status',
description: 'Please enter description', description: 'Please enter description',
idGeneratorMode: 'Please select ID generator mode', idGeneratorMode: 'Please select ID generator mode',
groupPartition: 'Please select Group partition', groupPartition: 'Please select Group partition',

View File

@ -378,9 +378,15 @@ declare namespace Api {
/** groupConfig search params */ /** groupConfig search params */
type GroupConfigSearchParams = CommonType.RecordNullable< type GroupConfigSearchParams = CommonType.RecordNullable<
Pick<Api.GroupConfig.GroupConfig, 'groupName'> & CommonSearchParams Pick<Api.GroupConfig.GroupConfig, 'groupName' | 'groupStatus'> & CommonSearchParams
>; >;
/** export groupConfig */
type ExportGroupConfig = Common.CommonRecord<{
groupIds: string[];
}> &
CommonType.RecordNullable<Pick<Api.GroupConfig.GroupConfig, 'groupName' | 'groupStatus'>>;
type GroupConfigRequestVO = { type GroupConfigRequestVO = {
groupName: string; groupName: string;
groupStatus: GroupStatusType; groupStatus: GroupStatusType;

View File

@ -161,8 +161,16 @@ function edit(id: string) {
handleEdit(id); handleEdit(id);
} }
function body(): Api.GroupConfig.ExportGroupConfig {
return {
groupName: searchParams.groupName,
groupStatus: searchParams.groupStatus,
groupIds: checkedRowKeys.value
};
}
function handleExport() { function handleExport() {
downloadFetch('/group/export', checkedRowKeys.value, $t('page.groupConfig.title')); downloadFetch('/group/export', body(), $t('page.groupConfig.title'));
} }
</script> </script>

View File

@ -66,15 +66,6 @@ type RuleKey = Extract<
'groupName' | 'token' | 'groupStatus' | 'idGeneratorMode' | 'initScene' | 'groupPartition' 'groupName' | 'token' | 'groupStatus' | 'idGeneratorMode' | 'initScene' | 'groupPartition'
>; >;
// const rules: Record<RuleKey, App.Global.FormRule> = {
// groupName: defaultRequiredRule,
// token: defaultRequiredRule,
// groupStatus: defaultRequiredRule,
// idGeneratorMode: defaultRequiredRule,
// initScene: defaultRequiredRule,
// groupPartition: defaultRequiredRule
// };
const rules = { const rules = {
groupName: [ groupName: [
defaultRequiredRule, defaultRequiredRule,

View File

@ -1,5 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { $t } from '@/locales'; import { $t } from '@/locales';
import { translateOptions } from '@/utils/common';
import { groupConfigStatusOptions } from '@/constants/business';
defineOptions({ defineOptions({
name: 'GroupSearch' name: 'GroupSearch'
@ -28,6 +30,13 @@ function search() {
<NFormItemGi span="24 s:12 m:6" :label="$t('page.groupConfig.groupName')" path="groupName" class="pr-24px"> <NFormItemGi span="24 s:12 m:6" :label="$t('page.groupConfig.groupName')" path="groupName" class="pr-24px">
<NInput v-model:value="model.groupName" :placeholder="$t('page.groupConfig.form.groupName')" /> <NInput v-model:value="model.groupName" :placeholder="$t('page.groupConfig.form.groupName')" />
</NFormItemGi> </NFormItemGi>
<NFormItemGi span="24 s:12 m:6" :label="$t('page.groupConfig.groupStatus')" path="groupStatus" class="pr-24px">
<NSelect
v-model:value="model.groupStatus"
:placeholder="$t('page.groupConfig.form.groupStatus')"
:options="translateOptions(groupConfigStatusOptions)"
/>
</NFormItemGi>
</SearchForm> </SearchForm>
</template> </template>