mirror of https://github.com/certd/certd
🔱: [client] sync upgrade with 6 commits [trident-sync]
chore: chore: help menu chore: help menu fix: 修复 antdv 弹出菜单边框过大的问题 fix: 修复 antdv懒加载后dropdown按钮无法点击的bugpull/91/head
parent
140606744b
commit
2b4b15f558
|
@ -62,5 +62,6 @@ export default defineComponent({
|
|||
.fs-highlight {
|
||||
margin: 0px;
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -15,15 +15,15 @@ const userStore = useUserStore();
|
|||
const accessStore = useAccessStore();
|
||||
|
||||
const menus = computed(() => [
|
||||
{
|
||||
handler: () => {
|
||||
openWindow(VBEN_DOC_URL, {
|
||||
target: "_blank"
|
||||
});
|
||||
},
|
||||
icon: BookOpenText,
|
||||
text: $t("ui.widgets.document")
|
||||
}
|
||||
// {
|
||||
// handler: () => {
|
||||
// openWindow(VBEN_DOC_URL, {
|
||||
// target: "_blank"
|
||||
// });
|
||||
// },
|
||||
// icon: BookOpenText,
|
||||
// text: $t("ui.widgets.document")
|
||||
// }
|
||||
]);
|
||||
|
||||
const avatar = computed(() => {
|
||||
|
@ -38,7 +38,7 @@ async function handleLogout() {
|
|||
<template>
|
||||
<BasicLayout @clear-preferences-and-logout="handleLogout">
|
||||
<template #user-dropdown>
|
||||
<UserDropdown :avatar :menus :text="userStore.userInfo?.nickName" description="ann.vben@gmail.com" tag-text="Pro" @logout="handleLogout" />
|
||||
<UserDropdown :avatar :menus :text="userStore.userInfo?.nickName" description="development@handsfree.work" tag-text="Pro" @logout="handleLogout" />
|
||||
</template>
|
||||
<template #lock-screen>
|
||||
<LockScreen :avatar @to-login="handleLogout" />
|
||||
|
|
|
@ -1,19 +1,15 @@
|
|||
import { defineAsyncComponent } from "vue";
|
||||
import Input from "ant-design-vue/es/input/Input";
|
||||
import Button from "ant-design-vue/es/button/button";
|
||||
|
||||
export default {
|
||||
install(app: any) {
|
||||
app.component(
|
||||
"AInput",
|
||||
defineAsyncComponent(() => import("ant-design-vue/es/input/Input"))
|
||||
);
|
||||
app.component("AInput", Input);
|
||||
app.component("AButton", Button);
|
||||
app.component(
|
||||
"AInputPassword",
|
||||
defineAsyncComponent(() => import("ant-design-vue/es/input/Password"))
|
||||
);
|
||||
app.component(
|
||||
"AButton",
|
||||
defineAsyncComponent(() => import("ant-design-vue/es/button/button"))
|
||||
);
|
||||
app.component(
|
||||
"AButtonGroup",
|
||||
defineAsyncComponent(() => import("ant-design-vue/es/button/button-group"))
|
||||
|
@ -158,5 +154,18 @@ export default {
|
|||
"AToar",
|
||||
defineAsyncComponent(() => import("ant-design-vue/es/tree-select"))
|
||||
);
|
||||
|
||||
app.component(
|
||||
"AMenu",
|
||||
defineAsyncComponent(() => import("ant-design-vue/es/menu/index"))
|
||||
);
|
||||
app.component(
|
||||
"ASubMenu",
|
||||
defineAsyncComponent(() => import("ant-design-vue/es/menu/src/SubMenu"))
|
||||
);
|
||||
app.component(
|
||||
"AMenuItem",
|
||||
defineAsyncComponent(() => import("ant-design-vue/es/menu/src/MenuItem"))
|
||||
);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -35,7 +35,8 @@ export const frameworkResource = [
|
|||
auth: true
|
||||
}
|
||||
},
|
||||
...dynamicRoutes
|
||||
// @ts-ignore
|
||||
...dynamicRoutes.sort((a, b) => (a.meta?.order || 0) - (b.meta?.order || 0))
|
||||
]
|
||||
}
|
||||
];
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
import { IFrameView } from "/@/vben/layouts";
|
||||
|
||||
export const aboutResource = [
|
||||
{
|
||||
title: "关于",
|
||||
name: "about",
|
||||
path: "/about",
|
||||
redirect: "/about/doc",
|
||||
meta: {
|
||||
icon: "lucide:copyright",
|
||||
order: 9999
|
||||
},
|
||||
children: [
|
||||
{
|
||||
title: "文档",
|
||||
name: "document",
|
||||
path: "/about/doc",
|
||||
component: IFrameView,
|
||||
meta: {
|
||||
icon: "lucide:book-open-text",
|
||||
link: "http://fast-crud.docmirror.cn/",
|
||||
title: "文档"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Github",
|
||||
path: "/about/github",
|
||||
component: IFrameView,
|
||||
meta: {
|
||||
icon: "mdi:github",
|
||||
link: "https://github.com/fast-crud/fast-crud",
|
||||
title: "Github"
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "Gitee",
|
||||
path: "/about/gitee",
|
||||
component: IFrameView,
|
||||
meta: {
|
||||
icon: "ion:logo-octocat",
|
||||
link: "https://gitee.com/fast-crud/fast-crud",
|
||||
title: "Gite"
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "其他Demo",
|
||||
name: "demo",
|
||||
path: "/about/demo",
|
||||
meta: {
|
||||
icon: "ion:git-branch-outline"
|
||||
},
|
||||
children: [
|
||||
{
|
||||
title: "Element版",
|
||||
path: "/about/demo/element",
|
||||
component: IFrameView,
|
||||
meta: {
|
||||
link: "http://fast-crud.docmirror.cn/element/",
|
||||
title: "Element版"
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "Naive版",
|
||||
path: "/about/demo/naive",
|
||||
component: IFrameView,
|
||||
meta: {
|
||||
link: "http://fast-crud.docmirror.cn/naive/",
|
||||
title: "Naive版"
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "VbenAdmin",
|
||||
path: "/about/demo/vben",
|
||||
meta: {
|
||||
link: "http://fast-crud.docmirror.cn/vben/",
|
||||
title: "VbenAdmin"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
export default aboutResource;
|
|
@ -31,4 +31,4 @@ export const uiResources = [
|
|||
}
|
||||
];
|
||||
|
||||
export default uiResources;
|
||||
// export default uiResources;
|
||||
|
|
|
@ -382,6 +382,9 @@ function removeMenuItem(item: MenuItemRegistered) {
|
|||
.is-menu-align {
|
||||
justify-content: var(--menu-align, start);
|
||||
}
|
||||
.vben-menu__popup-container {
|
||||
padding: 0px !important;
|
||||
}
|
||||
|
||||
.vben-menu__popup-container,
|
||||
.vben-menu {
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
<script setup lang="ts">
|
||||
import type { VbenButtonProps } from './button';
|
||||
import type { VbenButtonProps } from "./button";
|
||||
|
||||
import { computed } from 'vue';
|
||||
import { computed } from "vue";
|
||||
|
||||
import { LoaderCircle } from '/@/vben/icons';
|
||||
import { cn } from '/@/vben/shared/utils';
|
||||
import { LoaderCircle } from "/@/vben/icons";
|
||||
import { cn } from "/@/vben/shared/utils";
|
||||
|
||||
import { Primitive } from 'radix-vue';
|
||||
import { Primitive } from "radix-vue";
|
||||
|
||||
import { buttonVariants } from '../../ui';
|
||||
import { buttonVariants } from "../../ui";
|
||||
|
||||
interface Props extends VbenButtonProps {}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
as: 'button',
|
||||
class: '',
|
||||
as: "button",
|
||||
class: "",
|
||||
disabled: false,
|
||||
loading: false,
|
||||
size: 'default',
|
||||
variant: 'default',
|
||||
size: "default",
|
||||
variant: "default"
|
||||
});
|
||||
|
||||
const isDisabled = computed(() => {
|
||||
|
@ -27,16 +27,8 @@ const isDisabled = computed(() => {
|
|||
</script>
|
||||
|
||||
<template>
|
||||
<Primitive
|
||||
:as="as"
|
||||
:as-child="asChild"
|
||||
:class="cn(buttonVariants({ variant, size }), props.class)"
|
||||
:disabled="isDisabled"
|
||||
>
|
||||
<LoaderCircle
|
||||
v-if="loading"
|
||||
class="text-md mr-2 size-4 flex-shrink-0 animate-spin"
|
||||
/>
|
||||
<Primitive :as="as" :as-child="asChild" :class="cn(buttonVariants({ variant, size }), props.class)" :disabled="isDisabled">
|
||||
<LoaderCircle v-if="loading" class="text-md mr-2 size-4 flex-shrink-0 animate-spin" />
|
||||
<slot></slot>
|
||||
</Primitive>
|
||||
</template>
|
||||
|
|
|
@ -1,23 +1,20 @@
|
|||
<script setup lang="ts">
|
||||
import type { PopoverContentEmits, PopoverContentProps } from 'radix-vue';
|
||||
import type { PopoverContentEmits, PopoverContentProps } from "radix-vue";
|
||||
|
||||
import { computed } from 'vue';
|
||||
import { computed } from "vue";
|
||||
|
||||
import { cn } from '/@/vben/shared/utils';
|
||||
import { cn } from "/@/vben/shared/utils";
|
||||
|
||||
import { PopoverContent, PopoverPortal, useForwardPropsEmits } from 'radix-vue';
|
||||
import { PopoverContent, PopoverPortal, useForwardPropsEmits } from "radix-vue";
|
||||
|
||||
defineOptions({
|
||||
inheritAttrs: false,
|
||||
inheritAttrs: false
|
||||
});
|
||||
|
||||
const props = withDefaults(
|
||||
defineProps<PopoverContentProps & { class?: any }>(),
|
||||
{
|
||||
align: 'center',
|
||||
sideOffset: 4,
|
||||
},
|
||||
);
|
||||
const props = withDefaults(defineProps<PopoverContentProps & { class?: any }>(), {
|
||||
align: "center",
|
||||
sideOffset: 4
|
||||
});
|
||||
const emits = defineEmits<PopoverContentEmits>();
|
||||
|
||||
const delegatedProps = computed(() => {
|
||||
|
@ -36,7 +33,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits);
|
|||
:class="
|
||||
cn(
|
||||
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border-border w-72 rounded-md border p-4 shadow-md outline-none',
|
||||
props.class,
|
||||
props.class
|
||||
)
|
||||
"
|
||||
>
|
||||
|
|
|
@ -22,7 +22,6 @@ export default defineComponent({
|
|||
setup() {
|
||||
const { crudBinding, crudRef, crudExpose, context, crudOptions, resetCrudOptions, appendBindingOptions } = useFs({ createCrudOptions, context: { text: 111 } });
|
||||
|
||||
debugger;
|
||||
const { merge } = useMerge();
|
||||
setTimeout(() => {
|
||||
//合并新的crudOptions
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
export default {
|
||||
crud: ` columns: {
|
||||
date:{
|
||||
name:{
|
||||
title: '姓名', //字段名称
|
||||
type: 'text', //字段类型,添加、修改、查询将自动生成相应表单组件
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue