diff --git a/apps/vben5/apps/app-antd/package.json b/apps/vben5/apps/app-antd/package.json index 03fa292ee..b4fc532a3 100644 --- a/apps/vben5/apps/app-antd/package.json +++ b/apps/vben5/apps/app-antd/package.json @@ -66,6 +66,7 @@ "dayjs": "catalog:", "pinia": "catalog:", "vue": "catalog:", - "vue-router": "catalog:" + "vue-router": "catalog:", + "vue3-colorpicker": "catalog:" } } diff --git a/apps/vben5/apps/app-antd/src/adapter/component/index.ts b/apps/vben5/apps/app-antd/src/adapter/component/index.ts index 4ab140011..e98ba7f61 100644 --- a/apps/vben5/apps/app-antd/src/adapter/component/index.ts +++ b/apps/vben5/apps/app-antd/src/adapter/component/index.ts @@ -31,6 +31,12 @@ const Button = defineAsyncComponent(() => import('ant-design-vue/es/button')); const Checkbox = defineAsyncComponent( () => import('ant-design-vue/es/checkbox'), ); +const ColorPicker = defineAsyncComponent(() => + import('vue3-colorpicker').then((res) => { + import('vue3-colorpicker/style.css'); + return res.ColorPicker; + }), +); const CheckboxGroup = defineAsyncComponent(() => import('ant-design-vue/es/checkbox').then((res) => res.CheckboxGroup), ); @@ -117,6 +123,7 @@ export type ComponentType = | 'AutoComplete' | 'Checkbox' | 'CheckboxGroup' + | 'ColorPicker' | 'DatePicker' | 'DefaultButton' | 'Divider' @@ -182,6 +189,7 @@ async function initComponentAdapter() { AutoComplete, Checkbox, CheckboxGroup, + ColorPicker, DatePicker, // 自定义默认按钮 DefaultButton: (props, { attrs, slots }) => { diff --git a/apps/vben5/packages/@abp/platform/package.json b/apps/vben5/packages/@abp/platform/package.json index d91d932ec..43b66f323 100644 --- a/apps/vben5/packages/@abp/platform/package.json +++ b/apps/vben5/packages/@abp/platform/package.json @@ -39,6 +39,7 @@ "ant-design-vue": "catalog:", "lodash.clonedeep": "catalog:", "vue": "catalog:*", + "vue3-colorpicker": "catalog:", "vxe-table": "catalog:" }, "devDependencies": { diff --git a/apps/vben5/packages/@abp/platform/src/api/useMyFavoriteMenusApi.ts b/apps/vben5/packages/@abp/platform/src/api/useMyFavoriteMenusApi.ts index a5de2de35..d513c9494 100644 --- a/apps/vben5/packages/@abp/platform/src/api/useMyFavoriteMenusApi.ts +++ b/apps/vben5/packages/@abp/platform/src/api/useMyFavoriteMenusApi.ts @@ -1,12 +1,42 @@ import type { ListResultDto } from '@abp/core'; -import type { UserFavoriteMenuDto } from '../types/favorites'; +import type { + UserFavoriteMenuCreateDto, + UserFavoriteMenuDto, +} from '../types/favorites'; import { useRequest } from '@abp/request'; export function useMyFavoriteMenusApi() { const { cancel, request } = useRequest(); + /** + * 新增常用菜单 + * @param input 参数 + * @returns 常用菜单 + */ + function createApi( + input: UserFavoriteMenuCreateDto, + ): Promise { + return request( + `/api/platform/menus/favorites/my-favorite-menus`, + { + data: input, + method: 'POST', + }, + ); + } + + /** + * 删除常用菜单 + * @param id 菜单Id + */ + function deleteApi(id: string): Promise { + return request(`/api/platform/menus/favorites/my-favorite-menus/${id}`, { + method: 'DELETE', + }); + } + /** * 获取常用菜单列表 * @param framework ui框架 @@ -25,6 +55,8 @@ export function useMyFavoriteMenusApi() { return { cancel, + createApi, + deleteApi, getListApi, }; } diff --git a/apps/vben5/packages/@abp/platform/src/components/workbench/components/WorkbenchQuickNav.vue b/apps/vben5/packages/@abp/platform/src/components/workbench/components/WorkbenchQuickNav.vue index 9bab0b0b7..8479356db 100644 --- a/apps/vben5/packages/@abp/platform/src/components/workbench/components/WorkbenchQuickNav.vue +++ b/apps/vben5/packages/@abp/platform/src/components/workbench/components/WorkbenchQuickNav.vue @@ -1,6 +1,10 @@