Browse Source

feat: Setting page using the v2 interface

pull/1500/head
colin 3 months ago
parent
commit
5b8f1ee059
  1. 6
      apps/vben5/packages/@abp/account/src/components/UserLinkModal.vue
  2. 2
      apps/vben5/packages/@abp/features/src/components/features/FeatureModal.vue
  3. 2
      apps/vben5/packages/@abp/permissions/src/components/permissions/PermissionModal.vue
  4. 1
      apps/vben5/packages/@abp/settings/package.json
  5. 2
      apps/vben5/packages/@abp/settings/src/api/useDefinitionsApi.ts
  6. 30
      apps/vben5/packages/@abp/settings/src/api/useSettingsApi.ts
  7. 22
      apps/vben5/packages/@abp/settings/src/components/settings/SettingForm.vue
  8. 21
      apps/vben5/packages/@abp/settings/src/components/settings/SystemSetting.vue
  9. 7
      apps/vben5/packages/@abp/ui/src/components/properties/PropertyTable.vue

6
apps/vben5/packages/@abp/account/src/components/UserLinkModal.vue

@ -44,6 +44,12 @@ const gridOptions: VxeGridProps<LinkUserDto> = {
{
align: 'left',
field: 'linkUserName',
formatter: ({ row }) => {
if (row.linkTenantName) {
return `${row.linkTenantName}/${row.linkUserName}`;
}
return row.linkUserName;
},
sortable: true,
title: $t('AbpAccount.DisplayName:LinkUserName'),
},

2
apps/vben5/packages/@abp/features/src/components/features/FeatureModal.vue

@ -269,7 +269,7 @@ async function onSubmit() {
<style lang="scss" scoped>
:deep(.ant-tabs) {
height: 34rem;
height: 60vh;
.ant-tabs-nav {
width: 14rem;

2
apps/vben5/packages/@abp/permissions/src/components/permissions/PermissionModal.vue

@ -323,7 +323,7 @@ function getChildren(permissions: PermissionTree[]): PermissionTree[] {
<style lang="scss" scoped>
:deep(.ant-tabs) {
height: 34rem;
height: 60vh;
.ant-tabs-nav {
width: 14rem;

1
apps/vben5/packages/@abp/settings/package.json

@ -25,6 +25,7 @@
"@abp/request": "workspace:*",
"@abp/ui": "workspace:*",
"@ant-design/icons-vue": "catalog:",
"@vben-core/shadcn-ui": "workspace:*",
"@vben/access": "workspace:*",
"@vben/common-ui": "workspace:*",
"@vben/hooks": "workspace:*",

2
apps/vben5/packages/@abp/settings/src/api/useDefinitionsApi.ts

@ -96,7 +96,7 @@ export function useDefinitionsApi() {
ListResultDto<NameValue<string>>
> {
return request<ListResultDto<NameValue<string>>>(
'/api/permission-management/definitions/assignable-providers',
'/api/setting-management/settings/definitions/assignable-providers',
{
method: 'GET',
},

30
apps/vben5/packages/@abp/settings/src/api/useSettingsApi.ts

@ -6,6 +6,30 @@ import { useRequest } from '@abp/request';
export function useSettingsApi() {
const { cancel, request } = useRequest();
/**
*
* @returns
*/
function getSettingsApi(): Promise<ListResultDto<SettingGroup>> {
return request<ListResultDto<SettingGroup>>(
`/api/v2/setting-management/settings`,
{
method: 'GET',
},
);
}
/**
*
* @returns
*/
function setSettingsApi(input: SettingsUpdateInput): Promise<void> {
return request(`/api/v2/setting-management/settings`, {
data: input,
method: 'PUT',
});
}
/**
*
* @returns
@ -59,7 +83,7 @@ export function useSettingsApi() {
*/
function getUserSettingsApi(): Promise<ListResultDto<SettingGroup>> {
return request<ListResultDto<SettingGroup>>(
`/api/setting-management/settings/by-current-user`,
`/api/v2/setting-management/my-settings`,
{
method: 'GET',
},
@ -71,7 +95,7 @@ export function useSettingsApi() {
* @returns
*/
function setUserSettingsApi(input: SettingsUpdateInput): Promise<void> {
return request(`/api/setting-management/settings/change-current-user`, {
return request(`/api/v2/setting-management/my-settings`, {
data: input,
method: 'PUT',
});
@ -92,6 +116,8 @@ export function useSettingsApi() {
return {
cancel,
getSettingsApi,
setSettingsApi,
getGlobalSettingsApi,
getTenantSettingsApi,
getUserSettingsApi,

22
apps/vben5/packages/@abp/settings/src/components/settings/SettingForm.vue

@ -124,12 +124,8 @@ onMounted(onGet);
</Button>
</div>
</template>
<Form
:label-col="{ span: 5 }"
:wrapper-col="{ span: 15 }"
class="h-[700px] overflow-y-scroll"
>
<Tabs v-model="activeTab">
<Form :label-col="{ span: 5 }" :wrapper-col="{ span: 15 }">
<Tabs tab-position="left" type="card" v-model="activeTab">
<TabPane
v-for="(group, index) in settingGroups"
:key="index"
@ -221,4 +217,16 @@ onMounted(onGet);
</Card>
</template>
<style scoped></style>
<style lang="scss" scoped>
:deep(.ant-tabs) {
height: 75vh;
.ant-tabs-nav {
width: 14rem;
}
.ant-tabs-content-holder {
overflow: hidden auto !important;
}
}
</style>

21
apps/vben5/packages/@abp/settings/src/components/settings/SystemSetting.vue

@ -6,7 +6,7 @@ import { ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { $t } from '@vben/locales';
import { isEmail, useAbpStore } from '@abp/core';
import { isEmail } from '@abp/core';
import { FeatureModal } from '@abp/features';
import { Button, Form, InputSearch, message, Modal } from 'ant-design-vue';
@ -19,14 +19,7 @@ defineOptions({
const FormItem = Form.Item;
const abpStore = useAbpStore();
const {
getGlobalSettingsApi,
getTenantSettingsApi,
sendTestEmailApi,
setGlobalSettingsApi,
setTenantSettingsApi,
} = useSettingsApi();
const { getSettingsApi, setSettingsApi, sendTestEmailApi } = useSettingsApi();
const [HostFeatureModal, featureModalApi] = useVbenModal({
connectedComponent: FeatureModal,
});
@ -34,18 +27,12 @@ const [HostFeatureModal, featureModalApi] = useVbenModal({
const sending = ref(false);
async function onGet() {
const api = abpStore.application?.currentTenant.isAvailable
? getTenantSettingsApi
: getGlobalSettingsApi;
const { items } = await api();
const { items } = await getSettingsApi();
return items;
}
async function onSubmit(input: SettingsUpdateInput) {
const api = abpStore.application?.currentTenant.isAvailable
? setTenantSettingsApi
: setGlobalSettingsApi;
await api(input);
await setSettingsApi(input);
}
async function onSendMail(email: string) {

7
apps/vben5/packages/@abp/ui/src/components/properties/PropertyTable.vue

@ -46,7 +46,6 @@ const getTableColumns = computed((): TableColumnsType<PropertyInfo> => {
{
align: 'left',
dataIndex: 'key',
fixed: 'left',
width: 100,
title: $t('component.extra_property_dictionary.key'),
customRender: (opt) => {
@ -58,8 +57,8 @@ const getTableColumns = computed((): TableColumnsType<PropertyInfo> => {
{
align: 'left',
dataIndex: 'value',
fixed: 'left',
minWidth: 150,
width: 500,
ellipsis: true,
title: $t('component.extra_property_dictionary.value'),
},
];
@ -74,7 +73,7 @@ const getTableColumns = computed((): TableColumnsType<PropertyInfo> => {
fixed: 'right',
key: 'action',
title: $t('component.extra_property_dictionary.actions.title'),
width: 150,
width: 200,
},
] as TableColumnsType<PropertyInfo>)),
];

Loading…
Cancel
Save