This commit is contained in:
神仙 2024-11-01 01:25:05 +08:00
commit 2cb2a94638
60 changed files with 10343 additions and 9696 deletions

View File

@ -12,7 +12,7 @@
"format": "prettier --write src/" "format": "prettier --write src/"
}, },
"dependencies": { "dependencies": {
"@cool-vue/crud": "^7.2.2", "@cool-vue/crud": "^7.2.3",
"@element-plus/icons-vue": "^2.3.1", "@element-plus/icons-vue": "^2.3.1",
"@vueuse/core": "^11.1.0", "@vueuse/core": "^11.1.0",
"@wangeditor/editor": "^5.1.23", "@wangeditor/editor": "^5.1.23",

View File

@ -1,6 +1,6 @@
{ {
"name": "@cool-vue/crud", "name": "@cool-vue/crud",
"version": "7.2.2", "version": "7.2.3",
"private": false, "private": false,
"main": "./dist/index.umd.min.js", "main": "./dist/index.umd.min.js",
"typings": "types/index.d.ts", "typings": "types/index.d.ts",

File diff suppressed because it is too large Load Diff

View File

@ -68,7 +68,7 @@ export default defineComponent({
return () => { return () => {
return h( return h(
<el-pagination <el-pagination
small={style.size == "small" || browser.isMini} size={browser.isMini ? 'small' : style.size}
background background
page-sizes={[10, 20, 30, 40, 50, 100]} page-sizes={[10, 20, 30, 40, 50, 100]}
pager-count={browser.isMini ? 5 : 7} pager-count={browser.isMini ? 5 : 7}

View File

@ -100,7 +100,6 @@ function parse(method: "submit" | "bind", { value, hook: pipe, form, prop }: any
} else if (isArray(pipe)) { } else if (isArray(pipe)) {
pipes = pipe; pipes = pipe;
} else if (isObject(pipe)) { } else if (isObject(pipe)) {
// @ts-expect-error
pipes = isArray(pipe[method]) ? pipe[method] : [pipe[method]]; pipes = isArray(pipe[method]) ? pipe[method] : [pipe[method]];
} else if (isFunction(pipe)) { } else if (isFunction(pipe)) {
pipes = [pipe]; pipes = [pipe];

View File

@ -1,23 +1,2 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<{}> & Readonly<{}>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,48 +1,4 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
{}, Search: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
() => any, }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<{}> & Readonly<{}>,
{},
{},
{
Search: import("vue").DefineComponent<
{},
{},
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").VNodeProps &
import("vue").AllowedComponentProps &
import("vue").ComponentCustomProps,
Readonly<import("vue").ExtractPropTypes<{}>>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,7 +1,6 @@
/// <reference types="../index" /> /// <reference types="../index" />
import { PropType } from "vue"; import { PropType } from "vue";
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
items: { items: {
type: PropType<ClForm.Item<any>[]>; type: PropType<ClForm.Item<any>[]>;
default: () => never[]; default: () => never[];
@ -16,18 +15,7 @@ declare const _default: import("vue").DefineComponent<
default: () => string[]; default: () => string[];
}; };
onSearch: FunctionConstructor; onSearch: FunctionConstructor;
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "reset")[], "clear" | "reset", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
("clear" | "reset")[],
"clear" | "reset",
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
items: { items: {
type: PropType<ClForm.Item<any>[]>; type: PropType<ClForm.Item<any>[]>;
default: () => never[]; default: () => never[];
@ -42,49 +30,14 @@ declare const _default: import("vue").DefineComponent<
default: () => string[]; default: () => string[];
}; };
onSearch: FunctionConstructor; onSearch: FunctionConstructor;
}> }>> & Readonly<{
> &
Readonly<{
onReset?: ((...args: any[]) => any) | undefined; onReset?: ((...args: any[]) => any) | undefined;
onClear?: ((...args: any[]) => any) | undefined; onClear?: ((...args: any[]) => any) | undefined;
}>, }>, {
{
size: string | number; size: string | number;
items: ClForm.Item<any>[]; items: ClForm.Item<any>[];
op: unknown[]; op: unknown[];
}, }, {}, {
{}, Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{ }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
Close: import("vue").DefineComponent<
{},
{},
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").VNodeProps &
import("vue").AllowedComponentProps &
import("vue").ComponentCustomProps,
Readonly<import("vue").ExtractPropTypes<{}>>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,7 +1,6 @@
/// <reference types="../index" /> /// <reference types="../index" />
import { type PropType } from "vue"; import { type PropType } from "vue";
declare const ClContextMenu: import("vue").DefineComponent< declare const ClContextMenu: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
show: BooleanConstructor; show: BooleanConstructor;
options: { options: {
type: PropType<ClContextMenu.Options>; type: PropType<ClContextMenu.Options>;
@ -11,18 +10,7 @@ declare const ClContextMenu: import("vue").DefineComponent<
type: ObjectConstructor; type: ObjectConstructor;
default: () => {}; default: () => {};
}; };
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
show: BooleanConstructor; show: BooleanConstructor;
options: { options: {
type: PropType<ClContextMenu.Options>; type: PropType<ClContextMenu.Options>;
@ -32,23 +20,11 @@ declare const ClContextMenu: import("vue").DefineComponent<
type: ObjectConstructor; type: ObjectConstructor;
default: () => {}; default: () => {};
}; };
}> }>> & Readonly<{}>, {
> &
Readonly<{}>,
{
options: ClContextMenu.Options; options: ClContextMenu.Options;
show: boolean; show: boolean;
event: Record<string, any>; event: Record<string, any>;
}, }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export declare const ContextMenu: { export declare const ContextMenu: {
open(event: any, options: ClContextMenu.Options): ClContextMenu.Exposed; open(event: any, options: ClContextMenu.Options): ClContextMenu.Exposed;
}; };

View File

@ -1,43 +1,19 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
name: StringConstructor; name: StringConstructor;
border: BooleanConstructor; border: BooleanConstructor;
padding: { padding: {
type: StringConstructor; type: StringConstructor;
default: string; default: string;
}; };
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
name: StringConstructor; name: StringConstructor;
border: BooleanConstructor; border: BooleanConstructor;
padding: { padding: {
type: StringConstructor; type: StringConstructor;
default: string; default: string;
}; };
}> }>> & Readonly<{}>, {
> &
Readonly<{}>,
{
border: boolean; border: boolean;
padding: string; padding: string;
}, }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,5 +1,4 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
modelValue: { modelValue: {
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
@ -30,24 +29,9 @@ declare const _default: import("vue").DefineComponent<
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
}; };
}>, }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
() => import("vue").VNode<
import("vue").RendererNode,
import("vue").RendererElement,
{
[key: string]: any; [key: string]: any;
} }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "fullscreen-change")[], "update:modelValue" | "fullscreen-change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
>,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
("update:modelValue" | "fullscreen-change")[],
"update:modelValue" | "fullscreen-change",
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
modelValue: { modelValue: {
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
@ -78,13 +62,10 @@ declare const _default: import("vue").DefineComponent<
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
}; };
}> }>> & Readonly<{
> &
Readonly<{
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
"onFullscreen-change"?: ((...args: any[]) => any) | undefined; "onFullscreen-change"?: ((...args: any[]) => any) | undefined;
}>, }>, {
{
title: string; title: string;
padding: string; padding: string;
width: string; width: string;
@ -94,87 +75,9 @@ declare const _default: import("vue").DefineComponent<
fullscreen: boolean; fullscreen: boolean;
modelValue: boolean; modelValue: boolean;
scrollbar: boolean; scrollbar: boolean;
}, }, {}, {
{}, Close: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{ FullScreen: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
Close: import("vue").DefineComponent< Minus: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{}, }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").VNodeProps &
import("vue").AllowedComponentProps &
import("vue").ComponentCustomProps,
Readonly<import("vue").ExtractPropTypes<{}>>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
FullScreen: import("vue").DefineComponent<
{},
{},
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").VNodeProps &
import("vue").AllowedComponentProps &
import("vue").ComponentCustomProps,
Readonly<import("vue").ExtractPropTypes<{}>>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
Minus: import("vue").DefineComponent<
{},
{},
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").VNodeProps &
import("vue").AllowedComponentProps &
import("vue").ComponentCustomProps,
Readonly<import("vue").ExtractPropTypes<{}>>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,30 +1,6 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
title: StringConstructor; title: StringConstructor;
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
title: StringConstructor; title: StringConstructor;
}> }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
> &
Readonly<{}>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,30 +1,6 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
label: StringConstructor; label: StringConstructor;
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
label: StringConstructor; label: StringConstructor;
}> }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
> &
Readonly<{}>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,23 +1,2 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<{}> & Readonly<{}>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,5 +1,4 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
label: StringConstructor; label: StringConstructor;
expand: { expand: {
type: BooleanConstructor; type: BooleanConstructor;
@ -9,18 +8,7 @@ declare const _default: import("vue").DefineComponent<
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
}; };
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
label: StringConstructor; label: StringConstructor;
expand: { expand: {
type: BooleanConstructor; type: BooleanConstructor;
@ -30,69 +18,11 @@ declare const _default: import("vue").DefineComponent<
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
}; };
}> }>> & Readonly<{}>, {
> &
Readonly<{}>,
{
expand: boolean; expand: boolean;
isExpand: boolean; isExpand: boolean;
}, }, {}, {
{}, ArrowDown: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{ ArrowUp: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
ArrowDown: import("vue").DefineComponent< }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").VNodeProps &
import("vue").AllowedComponentProps &
import("vue").ComponentCustomProps,
Readonly<import("vue").ExtractPropTypes<{}>>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
ArrowUp: import("vue").DefineComponent<
{},
{},
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").VNodeProps &
import("vue").AllowedComponentProps &
import("vue").ComponentCustomProps,
Readonly<import("vue").ExtractPropTypes<{}>>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,66 +1,38 @@
import { PropType } from "vue"; import { PropType } from "vue";
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
modelValue: (NumberConstructor | StringConstructor)[]; modelValue: (NumberConstructor | StringConstructor)[];
labels: { labels: {
type: ArrayConstructor; type: ArrayConstructor;
default: () => never[]; default: () => never[];
}; };
justify: { justify: {
type: PropType< type: PropType<"center" | "justify" | "left" | "right" | "start" | "end" | "match-parent">;
"center" | "justify" | "left" | "right" | "start" | "end" | "match-parent"
>;
default: string; default: string;
}; };
type: { type: {
type: PropType<"default" | "card">; type: PropType<"default" | "card">;
default: string; default: string;
}; };
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
("change" | "update:modelValue")[],
"change" | "update:modelValue",
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
modelValue: (NumberConstructor | StringConstructor)[]; modelValue: (NumberConstructor | StringConstructor)[];
labels: { labels: {
type: ArrayConstructor; type: ArrayConstructor;
default: () => never[]; default: () => never[];
}; };
justify: { justify: {
type: PropType< type: PropType<"center" | "justify" | "left" | "right" | "start" | "end" | "match-parent">;
"center" | "justify" | "left" | "right" | "start" | "end" | "match-parent"
>;
default: string; default: string;
}; };
type: { type: {
type: PropType<"default" | "card">; type: PropType<"default" | "card">;
default: string; default: string;
}; };
}> }>> & Readonly<{
> &
Readonly<{
onChange?: ((...args: any[]) => any) | undefined; onChange?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, }>, {
{
type: "default" | "card"; type: "default" | "card";
labels: unknown[]; labels: unknown[];
justify: "center" | "justify" | "left" | "right" | "start" | "end" | "match-parent"; justify: "center" | "justify" | "left" | "right" | "start" | "end" | "match-parent";
}, }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,9 +1,5 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useAction({ export declare function useAction({ config, form, Form }: {
config,
form,
Form
}: {
config: ClForm.Config; config: ClForm.Config;
form: obj; form: obj;
Form: Vue.Ref<any>; Form: Vue.Ref<any>;

View File

@ -1,2 +1,4 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useApi({ Form }: { Form: Vue.Ref<any> }): obj; export declare function useApi({ Form }: {
Form: Vue.Ref<any>;
}): obj;

View File

@ -24,19 +24,16 @@ export declare function useForm(): {
[x: string]: any; [x: string]: any;
type?: "tabs" | undefined; type?: "tabs" | undefined;
prop?: (string & {}) | undefined; prop?: (string & {}) | undefined;
props?: props?: {
| {
[x: string]: any; [x: string]: any;
labels?: labels?: {
| {
[x: string]: any; [x: string]: any;
label: string; label: string;
value: string; value: string;
name?: string | undefined; name?: string | undefined;
icon?: any; icon?: any;
lazy?: boolean | undefined; lazy?: boolean | undefined;
}[] }[] | undefined;
| undefined;
justify?: "center" | "left" | "right" | undefined; justify?: "center" | "left" | "right" | undefined;
color?: string | undefined; color?: string | undefined;
mergeProp?: boolean | undefined; mergeProp?: boolean | undefined;
@ -45,11 +42,9 @@ export declare function useForm(): {
showMessage?: boolean | undefined; showMessage?: boolean | undefined;
inlineMessage?: boolean | undefined; inlineMessage?: boolean | undefined;
size?: "default" | "small" | "medium" | undefined; size?: "default" | "small" | "medium" | undefined;
} } | undefined;
| undefined;
span?: number | undefined; span?: number | undefined;
col?: col?: {
| {
span: number; span: number;
offset: number; offset: number;
push: number; push: number;
@ -60,35 +55,30 @@ export declare function useForm(): {
lg: any; lg: any;
xl: any; xl: any;
tag: string; tag: string;
} } | undefined;
| undefined;
group?: string | undefined; group?: string | undefined;
collapse?: boolean | undefined; collapse?: boolean | undefined;
value?: any; value?: any;
label?: string | undefined; label?: string | undefined;
renderLabel?: any; renderLabel?: any;
flex?: boolean | undefined; flex?: boolean | undefined;
hook?: hook?: ClForm.HookKey | {
| ClForm.HookKey
| {
bind?: ClForm.HookPipe | ClForm.HookPipe[] | undefined; bind?: ClForm.HookPipe | ClForm.HookPipe[] | undefined;
submit?: ClForm.HookPipe | ClForm.HookPipe[] | undefined; submit?: ClForm.HookPipe | ClForm.HookPipe[] | undefined;
} } | undefined;
| undefined; hidden?: boolean | ((options: {
hidden?: boolean | ((options: { scope: obj }) => boolean) | undefined; scope: obj;
prepend?: }) => boolean) | undefined;
| { prepend?: {
[x: string]: any; [x: string]: any;
name?: string | undefined; name?: string | undefined;
options?: options?: {
| {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
value?: any; value?: any;
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[] }[] | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
@ -96,42 +86,32 @@ export declare function useForm(): {
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[]; }[];
} } | undefined;
| undefined; props?: {
props?:
| {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
} } | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
}; };
} } | undefined;
| undefined;
style?: obj | undefined; style?: obj | undefined;
slots?: slots?: {
| {
[key: string]: (data?: any) => any; [key: string]: (data?: any) => any;
} } | undefined;
| undefined;
vm?: any; vm?: any;
} } | undefined;
| undefined; component?: {
component?:
| {
[x: string]: any; [x: string]: any;
name?: string | undefined; name?: string | undefined;
options?: options?: {
| {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
value?: any; value?: any;
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[] }[] | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
@ -139,42 +119,32 @@ export declare function useForm(): {
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[]; }[];
} } | undefined;
| undefined; props?: {
props?:
| {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
} } | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
}; };
} } | undefined;
| undefined;
style?: obj | undefined; style?: obj | undefined;
slots?: slots?: {
| {
[key: string]: (data?: any) => any; [key: string]: (data?: any) => any;
} } | undefined;
| undefined;
vm?: any; vm?: any;
} } | undefined;
| undefined; append?: {
append?:
| {
[x: string]: any; [x: string]: any;
name?: string | undefined; name?: string | undefined;
options?: options?: {
| {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
value?: any; value?: any;
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[] }[] | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
@ -182,134 +152,69 @@ export declare function useForm(): {
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[]; }[];
} } | undefined;
| undefined; props?: {
props?:
| {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
} } | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
}; };
} } | undefined;
| undefined;
style?: obj | undefined; style?: obj | undefined;
slots?: slots?: {
| {
[key: string]: (data?: any) => any; [key: string]: (data?: any) => any;
} } | undefined;
| undefined;
vm?: any; vm?: any;
} } | undefined;
| undefined; rules?: {
rules?:
| {
[x: string]: any; [x: string]: any;
type?: type?: "string" | "number" | "boolean" | "object" | "method" | "regexp" | "integer" | "float" | "array" | "enum" | "date" | "url" | "hex" | "email" | "any" | undefined;
| "string"
| "number"
| "boolean"
| "object"
| "method"
| "regexp"
| "integer"
| "float"
| "array"
| "enum"
| "date"
| "url"
| "hex"
| "email"
| "any"
| undefined;
required?: boolean | undefined; required?: boolean | undefined;
message?: string | undefined; message?: string | undefined;
min?: number | undefined; min?: number | undefined;
max?: number | undefined; max?: number | undefined;
trigger?: any; trigger?: any;
validator?: validator?: ((rule: any, value: any, callback: (error?: Error | undefined) => void) => void) | undefined;
| (( } | {
rule: any,
value: any,
callback: (error?: Error | undefined) => void
) => void)
| undefined;
}
| {
[x: string]: any; [x: string]: any;
type?: type?: "string" | "number" | "boolean" | "object" | "method" | "regexp" | "integer" | "float" | "array" | "enum" | "date" | "url" | "hex" | "email" | "any" | undefined;
| "string"
| "number"
| "boolean"
| "object"
| "method"
| "regexp"
| "integer"
| "float"
| "array"
| "enum"
| "date"
| "url"
| "hex"
| "email"
| "any"
| undefined;
required?: boolean | undefined; required?: boolean | undefined;
message?: string | undefined; message?: string | undefined;
min?: number | undefined; min?: number | undefined;
max?: number | undefined; max?: number | undefined;
trigger?: any; trigger?: any;
validator?: validator?: ((rule: any, value: any, callback: (error?: Error | undefined) => void) => void) | undefined;
| (( }[] | undefined;
rule: any,
value: any,
callback: (error?: Error | undefined) => void
) => void)
| undefined;
}[]
| undefined;
required?: boolean | undefined; required?: boolean | undefined;
children?: any[] | undefined; children?: any[] | undefined;
}[]; }[];
form: obj; form: obj;
isReset?: boolean | undefined; isReset?: boolean | undefined;
on?: on?: {
| {
open?: ((data: any) => void) | undefined; open?: ((data: any) => void) | undefined;
close?: ((action: ClForm.CloseAction, done: fn) => void) | undefined; close?: ((action: ClForm.CloseAction, done: fn) => void) | undefined;
submit?: submit?: ((data: any, event: {
| ((
data: any,
event: {
close: fn; close: fn;
done: fn; done: fn;
} }) => void) | undefined;
) => void)
| undefined;
change?: ((data: any, prop: string) => void) | undefined; change?: ((data: any, prop: string) => void) | undefined;
} } | undefined;
| undefined;
op: { op: {
hidden?: boolean | undefined; hidden?: boolean | undefined;
saveButtonText?: string | undefined; saveButtonText?: string | undefined;
closeButtonText?: string | undefined; closeButtonText?: string | undefined;
justify?: "center" | "flex-start" | "flex-end" | undefined; justify?: "center" | "flex-start" | "flex-end" | undefined;
buttons?: buttons?: (ClForm.CloseAction | `slot-${string}` | {
| (
| ClForm.CloseAction
| `slot-${string}`
| {
[x: string]: any; [x: string]: any;
label: string; label: string;
type?: string | undefined; type?: string | undefined;
hidden?: boolean | undefined; hidden?: boolean | undefined;
onClick: (options: { scope: obj }) => void; onClick: (options: {
} scope: obj;
)[] }) => void;
| undefined; })[] | undefined;
}; };
dialog: { dialog: {
[x: string]: any; [x: string]: any;

View File

@ -1,13 +1,8 @@
/// <reference types="../index" /> /// <reference types="../index" />
import { Ref } from "vue"; import { Ref } from "vue";
export declare function usePlugins( export declare function usePlugins(enable: boolean, { visible }: {
enable: boolean,
{
visible
}: {
visible: Ref<boolean>; visible: Ref<boolean>;
} }): {
): {
create: (plugins?: ClForm.Plugin[]) => false | undefined; create: (plugins?: ClForm.Plugin[]) => false | undefined;
submit: (data: any) => Promise<any>; submit: (data: any) => Promise<any>;
}; };

View File

@ -1,5 +1,8 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useTabs({ config, Form }: { config: ClForm.Config; Form: Vue.Ref<any> }): { export declare function useTabs({ config, Form }: {
config: ClForm.Config;
Form: Vue.Ref<any>;
}): {
active: import("vue").Ref<string | undefined, string | undefined>; active: import("vue").Ref<string | undefined, string | undefined>;
list: import("vue").ComputedRef<ClFormTabs.labels>; list: import("vue").ComputedRef<ClFormTabs.labels>;
isLoaded: (value: any) => any; isLoaded: (value: any) => any;
@ -9,5 +12,9 @@ export declare function useTabs({ config, Form }: { config: ClForm.Config; Form:
change: (value: any, isValid?: boolean) => Promise<unknown>; change: (value: any, isValid?: boolean) => Promise<unknown>;
clear: () => void; clear: () => void;
mergeProp: (item: ClForm.Item) => void; mergeProp: (item: ClForm.Item) => void;
toGroup: (opts: { config: ClForm.Config; prop: string; refs: any }) => void; toGroup: (opts: {
config: ClForm.Config;
prop: string;
refs: any;
}) => void;
}; };

View File

@ -1,44 +1,20 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
inner: BooleanConstructor; inner: BooleanConstructor;
inline: BooleanConstructor; inline: BooleanConstructor;
enablePlugin: { enablePlugin: {
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
}; };
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
inner: BooleanConstructor; inner: BooleanConstructor;
inline: BooleanConstructor; inline: BooleanConstructor;
enablePlugin: { enablePlugin: {
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
}; };
}> }>> & Readonly<{}>, {
> &
Readonly<{}>,
{
inline: boolean; inline: boolean;
inner: boolean; inner: boolean;
enablePlugin: boolean; enablePlugin: boolean;
}, }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,23 +1,2 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<{}> & Readonly<{}>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,29 +1,4 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
{},
() => import("vue").VNode<
import("vue").RendererNode,
import("vue").RendererElement,
{
[key: string]: any; [key: string]: any;
} }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
>,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<{}> & Readonly<{}>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,23 +1,2 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<{}> & Readonly<{}>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,23 +1,2 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<{}, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
{},
string,
import("vue").PublicProps,
Readonly<{}> & Readonly<{}>,
{},
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,18 +1,15 @@
import { type PropType } from "vue"; import { type PropType } from "vue";
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
modelValue: StringConstructor; modelValue: StringConstructor;
field: { field: {
type: StringConstructor; type: StringConstructor;
default: string; default: string;
}; };
fieldList: { fieldList: {
type: PropType< type: PropType<{
{
label: string; label: string;
value: string; value: string;
}[] }[]>;
>;
default: () => never[]; default: () => never[];
}; };
onSearch: FunctionConstructor; onSearch: FunctionConstructor;
@ -22,30 +19,17 @@ declare const _default: import("vue").DefineComponent<
default: number; default: number;
}; };
refreshOnInput: BooleanConstructor; refreshOnInput: BooleanConstructor;
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue" | "field-change")[], "change" | "update:modelValue" | "field-change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
("change" | "update:modelValue" | "field-change")[],
"change" | "update:modelValue" | "field-change",
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
modelValue: StringConstructor; modelValue: StringConstructor;
field: { field: {
type: StringConstructor; type: StringConstructor;
default: string; default: string;
}; };
fieldList: { fieldList: {
type: PropType< type: PropType<{
{
label: string; label: string;
value: string; value: string;
}[] }[]>;
>;
default: () => never[]; default: () => never[];
}; };
onSearch: FunctionConstructor; onSearch: FunctionConstructor;
@ -55,14 +39,11 @@ declare const _default: import("vue").DefineComponent<
default: number; default: number;
}; };
refreshOnInput: BooleanConstructor; refreshOnInput: BooleanConstructor;
}> }>> & Readonly<{
> &
Readonly<{
onChange?: ((...args: any[]) => any) | undefined; onChange?: ((...args: any[]) => any) | undefined;
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
"onField-change"?: ((...args: any[]) => any) | undefined; "onField-change"?: ((...args: any[]) => any) | undefined;
}>, }>, {
{
width: string | number; width: string | number;
refreshOnInput: boolean; refreshOnInput: boolean;
field: string; field: string;
@ -70,14 +51,5 @@ declare const _default: import("vue").DefineComponent<
label: string; label: string;
value: string; value: string;
}[]; }[];
}, }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,7 +1,6 @@
/// <reference types="../index" /> /// <reference types="../index" />
import { PropType } from "vue"; import { PropType } from "vue";
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
inline: { inline: {
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
@ -24,18 +23,7 @@ declare const _default: import("vue").DefineComponent<
}; };
onLoad: FunctionConstructor; onLoad: FunctionConstructor;
onSearch: FunctionConstructor; onSearch: FunctionConstructor;
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "reset"[], "reset", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
"reset"[],
"reset",
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
inline: { inline: {
type: BooleanConstructor; type: BooleanConstructor;
default: boolean; default: boolean;
@ -58,25 +46,13 @@ declare const _default: import("vue").DefineComponent<
}; };
onLoad: FunctionConstructor; onLoad: FunctionConstructor;
onSearch: FunctionConstructor; onSearch: FunctionConstructor;
}> }>> & Readonly<{
> &
Readonly<{
onReset?: ((...args: any[]) => any) | undefined; onReset?: ((...args: any[]) => any) | undefined;
}>, }>, {
{
items: ClForm.Item<any>[]; items: ClForm.Item<any>[];
props: Record<string, any>; props: Record<string, any>;
inline: boolean; inline: boolean;
data: Record<string, any>; data: Record<string, any>;
resetBtn: boolean; resetBtn: boolean;
}, }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,8 +1,5 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useData({ export declare function useData({ config, Table }: {
config,
Table
}: {
config: ClTable.Config; config: ClTable.Config;
Table: Vue.Ref<any>; Table: Vue.Ref<any>;
}): { }): {

View File

@ -1,8 +1,5 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useHeight({ export declare function useHeight({ config, Table }: {
config,
Table
}: {
Table: Vue.Ref<any>; Table: Vue.Ref<any>;
config: ClTable.Config; config: ClTable.Config;
}): { }): {

View File

@ -5,23 +5,19 @@ export declare function useTable(props: any): {
columns: { columns: {
[x: string]: any; [x: string]: any;
type: ClTable.ColumnType; type: ClTable.ColumnType;
hidden: hidden: boolean | {
| boolean
| {
value: boolean; value: boolean;
}; };
component: { component: {
[x: string]: any; [x: string]: any;
name?: string | undefined; name?: string | undefined;
options?: options?: {
| {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
value?: any; value?: any;
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[] }[] | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
@ -29,46 +25,36 @@ export declare function useTable(props: any): {
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[]; }[];
} } | undefined;
| undefined; props?: {
props?:
| {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
} } | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
}; };
} } | undefined;
| undefined;
style?: obj | undefined; style?: obj | undefined;
slots?: slots?: {
| {
[key: string]: (data?: any) => any; [key: string]: (data?: any) => any;
} } | undefined;
| undefined;
vm?: any; vm?: any;
}; };
search: { search: {
isInput: boolean; isInput: boolean;
value: any; value: any;
refreshOnChange: { refreshOnChange: boolean;
valueOf: () => boolean;
};
component: { component: {
[x: string]: any; [x: string]: any;
name?: string | undefined; name?: string | undefined;
options?: options?: {
| {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
value?: any; value?: any;
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[] }[] | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
@ -76,38 +62,30 @@ export declare function useTable(props: any): {
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[]; }[];
} } | undefined;
| undefined; props?: {
props?:
| {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
} } | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
onChange?: ((value: any) => void) | undefined; onChange?: ((value: any) => void) | undefined;
}; };
} } | undefined;
| undefined;
style?: obj | undefined; style?: obj | undefined;
slots?: slots?: {
| {
[key: string]: (data?: any) => any; [key: string]: (data?: any) => any;
} } | undefined;
| undefined;
vm?: any; vm?: any;
}; };
}; };
dict: dict: {
| {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
value?: any; value?: any;
color?: string | undefined; color?: string | undefined;
type?: string | undefined; type?: string | undefined;
}[] }[] | {
| {
value: { value: {
[x: string]: any; [x: string]: any;
label?: string | undefined; label?: string | undefined;
@ -120,22 +98,17 @@ export declare function useTable(props: any): {
dictColor: boolean; dictColor: boolean;
dictSeparator: string; dictSeparator: string;
dictAllLevels: boolean; dictAllLevels: boolean;
buttons: buttons: ((options: {
| ((options: { scope: any }) => ClTable.OpButton) scope: any;
| ( }) => ClTable.OpButton) | ("info" | "delete" | "edit" | AnyString | `slot-${string}` | {
| "info"
| "delete"
| "edit"
| AnyString
| `slot-${string}`
| {
[x: string]: any; [x: string]: any;
label: string; label: string;
type?: string | undefined; type?: string | undefined;
hidden?: boolean | undefined; hidden?: boolean | undefined;
onClick: (options: { scope: obj }) => void; onClick: (options: {
} scope: obj;
)[]; }) => void;
})[];
align: ElementPlus.Align; align: ElementPlus.Align;
label: any; label: any;
className: string; className: string;
@ -143,7 +116,10 @@ export declare function useTable(props: any): {
orderNum: number; orderNum: number;
width: number; width: number;
minWidth: string | number; minWidth: string | number;
renderHeader: (options: { column: any; $index: number }) => any; renderHeader: (options: {
column: any;
$index: number;
}) => any;
sortable: boolean | "asc" | "desc" | "custom" | "descending" | "ascending"; sortable: boolean | "asc" | "desc" | "custom" | "descending" | "ascending";
sortMethod: fn; sortMethod: fn;
sortBy: string | any[] | ((row: any, index: number) => any); sortBy: string | any[] | ((row: any, index: number) => any);
@ -166,13 +142,7 @@ export declare function useTable(props: any): {
}[]; }[];
autoHeight: boolean; autoHeight: boolean;
height: any; height: any;
contextMenu: ( contextMenu: ("info" | "update" | "delete" | "edit" | "refresh" | {
| "info"
| "update"
| "delete"
| "edit"
| "refresh"
| {
[x: string]: any; [x: string]: any;
label: string; label: string;
prefixIcon?: any; prefixIcon?: any;
@ -183,12 +153,7 @@ export declare function useTable(props: any): {
children?: any[] | undefined; children?: any[] | undefined;
showChildren?: boolean | undefined; showChildren?: boolean | undefined;
callback?: ((done: fn) => void) | undefined; callback?: ((done: fn) => void) | undefined;
} } | ((row: obj, column: obj, event: PointerEvent) => ClContextMenu.Item) | "check" | "order-desc" | "order-asc")[];
| ((row: obj, column: obj, event: PointerEvent) => ClContextMenu.Item)
| "check"
| "order-desc"
| "order-asc"
)[];
defaultSort: { defaultSort: {
prop: string; prop: string;
order: "descending" | "ascending"; order: "descending" | "ascending";

View File

@ -1,5 +1,7 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useOp({ config }: { config: ClTable.Config }): { export declare function useOp({ config }: {
config: ClTable.Config;
}): {
visible: import("vue").Ref<boolean, boolean>; visible: import("vue").Ref<boolean, boolean>;
reBuild: (cb?: fn) => Promise<void>; reBuild: (cb?: fn) => Promise<void>;
showColumn: (prop: string | string[], status?: boolean) => void; showColumn: (prop: string | string[], status?: boolean) => void;

View File

@ -1,15 +1,8 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useRender(): { export declare function useRender(): {
renderColumn: (columns: ClTable.Column[]) => ( renderColumn: (columns: ClTable.Column[]) => (import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
| import("vue").VNode<
import("vue").RendererNode,
import("vue").RendererElement,
{
[key: string]: any; [key: string]: any;
} }> | null)[];
>
| null
)[];
renderEmpty: (emptyText: string) => any; renderEmpty: (emptyText: string) => any;
renderAppend: () => any; renderAppend: () => any;
}; };

View File

@ -1,9 +1,5 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useRow({ export declare function useRow({ Table, config, Sort }: {
Table,
config,
Sort
}: {
Table: Vue.Ref<any>; Table: Vue.Ref<any>;
config: ClTable.Config; config: ClTable.Config;
Sort: { Sort: {

View File

@ -1,5 +1,7 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useSelection({ emit }: { emit: Vue.Emit }): { export declare function useSelection({ emit }: {
emit: Vue.Emit;
}): {
selection: obj[]; selection: obj[];
onSelectionChange: (selection: any[]) => void; onSelectionChange: (selection: any[]) => void;
}; };

View File

@ -1,22 +1,19 @@
/// <reference types="../index" /> /// <reference types="../index" />
export declare function useSort({ export declare function useSort({ config, Table, emit }: {
config,
Table,
emit
}: {
config: ClTable.Config; config: ClTable.Config;
Table: Vue.Ref<any>; Table: Vue.Ref<any>;
emit: Vue.Emit; emit: Vue.Emit;
}): { }): {
defaultSort: defaultSort: {
| {
prop: string; prop: string;
order: "descending" | "ascending"; order: "descending" | "ascending";
} } | {
| {
prop?: undefined; prop?: undefined;
order?: undefined; order?: undefined;
}; };
onSortChange: ({ prop, order }: { prop: string | undefined; order: string }) => void; onSortChange: ({ prop, order }: {
prop: string | undefined;
order: string;
}) => void;
changeSort: (prop: string, order: string) => void; changeSort: (prop: string, order: string) => void;
}; };

View File

@ -1,5 +1,4 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
columns: { columns: {
type: ArrayConstructor; type: ArrayConstructor;
default: () => never[]; default: () => never[];
@ -23,26 +22,9 @@ declare const _default: import("vue").DefineComponent<
type: StringConstructor; type: StringConstructor;
default: string; default: string;
}; };
}>, }>, () => false | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
() =>
| false
| import("vue").VNode<
import("vue").RendererNode,
import("vue").RendererElement,
{
[key: string]: any; [key: string]: any;
} }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("selection-change" | "sort-change")[], "selection-change" | "sort-change", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
>,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
("selection-change" | "sort-change")[],
"selection-change" | "sort-change",
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
columns: { columns: {
type: ArrayConstructor; type: ArrayConstructor;
default: () => never[]; default: () => never[];
@ -66,26 +48,14 @@ declare const _default: import("vue").DefineComponent<
type: StringConstructor; type: StringConstructor;
default: string; default: string;
}; };
}> }>> & Readonly<{
> &
Readonly<{
"onSelection-change"?: ((...args: any[]) => any) | undefined; "onSelection-change"?: ((...args: any[]) => any) | undefined;
"onSort-change"?: ((...args: any[]) => any) | undefined; "onSort-change"?: ((...args: any[]) => any) | undefined;
}>, }>, {
{
columns: unknown[]; columns: unknown[];
autoHeight: boolean; autoHeight: boolean;
contextMenu: boolean | unknown[]; contextMenu: boolean | unknown[];
sortRefresh: boolean; sortRefresh: boolean;
rowKey: string; rowKey: string;
}, }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,5 +1,4 @@
declare const _default: import("vue").DefineComponent< declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
import("vue").ExtractPropTypes<{
items: { items: {
type: ArrayConstructor; type: ArrayConstructor;
default: () => never[]; default: () => never[];
@ -14,18 +13,7 @@ declare const _default: import("vue").DefineComponent<
onClosed: FunctionConstructor; onClosed: FunctionConstructor;
onInfo: FunctionConstructor; onInfo: FunctionConstructor;
onSubmit: FunctionConstructor; onSubmit: FunctionConstructor;
}>, }>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("opened" | "closed")[], "opened" | "closed", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
() => any,
{},
{},
{},
import("vue").ComponentOptionsMixin,
import("vue").ComponentOptionsMixin,
("opened" | "closed")[],
"opened" | "closed",
import("vue").PublicProps,
Readonly<
import("vue").ExtractPropTypes<{
items: { items: {
type: ArrayConstructor; type: ArrayConstructor;
default: () => never[]; default: () => never[];
@ -40,23 +28,11 @@ declare const _default: import("vue").DefineComponent<
onClosed: FunctionConstructor; onClosed: FunctionConstructor;
onInfo: FunctionConstructor; onInfo: FunctionConstructor;
onSubmit: FunctionConstructor; onSubmit: FunctionConstructor;
}> }>> & Readonly<{
> &
Readonly<{
onOpened?: ((...args: any[]) => any) | undefined; onOpened?: ((...args: any[]) => any) | undefined;
onClosed?: ((...args: any[]) => any) | undefined; onClosed?: ((...args: any[]) => any) | undefined;
}>, }>, {
{
sync: boolean; sync: boolean;
items: unknown[]; items: unknown[];
}, }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
{},
{},
{},
string,
import("vue").ComponentProvideOptions,
true,
{},
any
>;
export default _default; export default _default;

View File

@ -1,24 +1,11 @@
/// <reference types="../index" /> /// <reference types="../index" />
import { Ref } from "vue"; import { Ref } from "vue";
export declare function useCrud( export declare function useCrud(options?: ClCrud.Options, cb?: (app: ClCrud.Ref) => void): Ref<ClCrud.Ref | undefined, ClCrud.Ref | undefined>;
options?: ClCrud.Options, export declare function useUpsert<T = any>(options?: ClUpsert.Options<T>): Ref<ClUpsert.Ref<any> | undefined, ClUpsert.Ref<any> | undefined>;
cb?: (app: ClCrud.Ref) => void export declare function useTable<T = any>(options?: ClTable.Options<T>): Ref<ClTable.Ref<T> | undefined, ClTable.Ref<T> | undefined>;
): Ref<ClCrud.Ref | undefined, ClCrud.Ref | undefined>; export declare function useForm<T = any>(cb?: (app: ClForm.Ref<T>) => void): Ref<ClForm.Ref<T> | undefined, ClForm.Ref<T> | undefined>;
export declare function useUpsert<T = any>( export declare function useAdvSearch<T = any>(options?: ClAdvSearch.Options<T>): Ref<ClAdvSearch.Ref<T> | undefined, ClAdvSearch.Ref<T> | undefined>;
options?: ClUpsert.Options<T> export declare function useSearch<T = any>(options?: ClSearch.Options<T>): Ref<ClSearch.Ref<T> | undefined, ClSearch.Ref<T> | undefined>;
): Ref<ClUpsert.Ref<any> | undefined, ClUpsert.Ref<any> | undefined>;
export declare function useTable<T = any>(
options?: ClTable.Options<T>
): Ref<ClTable.Ref<T> | undefined, ClTable.Ref<T> | undefined>;
export declare function useForm<T = any>(
cb?: (app: ClForm.Ref<T>) => void
): Ref<ClForm.Ref<T> | undefined, ClForm.Ref<T> | undefined>;
export declare function useAdvSearch<T = any>(
options?: ClAdvSearch.Options<T>
): Ref<ClAdvSearch.Ref<T> | undefined, ClAdvSearch.Ref<T> | undefined>;
export declare function useSearch<T = any>(
options?: ClSearch.Options<T>
): Ref<ClSearch.Ref<T> | undefined, ClSearch.Ref<T> | undefined>;
export declare function useDialog(options?: { export declare function useDialog(options?: {
onFullscreen(visible: boolean): void; onFullscreen(visible: boolean): void;
}): ClDialog.Provide; }): ClDialog.Provide;

View File

@ -2,10 +2,7 @@
import type { App } from "vue"; import type { App } from "vue";
import "./static/index.scss"; import "./static/index.scss";
declare const Crud: { declare const Crud: {
install( install(app: App, options?: Options): {
app: App,
options?: Options
): {
name: string; name: string;
}; };
}; };

View File

@ -1,9 +1,13 @@
declare class TestService { declare class TestService {
page(params: any): Promise<unknown>; page(params: any): Promise<unknown>;
update(params: { id: any; [key: string]: any }): Promise<void>; update(params: {
id: any;
[key: string]: any;
}): Promise<void>;
add(params: any): Promise<string>; add(params: any): Promise<string>;
info(params: { id: any }): Promise< info(params: {
| { id: any;
}): Promise<{
id: number; id: number;
name: string; name: string;
createTime: string; createTime: string;
@ -12,12 +16,11 @@ declare class TestService {
account: string; account: string;
occupation: number; occupation: number;
phone: number; phone: number;
} } | undefined>;
| undefined delete(params: {
>; ids: any[];
delete(params: { ids: any[] }): Promise<void>; }): Promise<void>;
list(): Promise< list(): Promise<{
{
id: number; id: number;
name: string; name: string;
createTime: string; createTime: string;
@ -26,7 +29,6 @@ declare class TestService {
account: string; account: string;
occupation: number; occupation: number;
phone: number; phone: number;
}[] }[]>;
>;
} }
export { TestService }; export { TestService };

View File

@ -7,11 +7,7 @@ export declare function merge(d1: any, d2: any): any;
export declare function addClass(el: Element, name: string): void; export declare function addClass(el: Element, name: string): void;
export declare function removeClass(el: Element, name: string): void; export declare function removeClass(el: Element, name: string): void;
export declare function getValue(data: any, params?: any): any; export declare function getValue(data: any, params?: any): any;
export declare function deepFind( export declare function deepFind(value: any, list: any[], options?: {
value: any,
list: any[],
options?: {
allLevels: boolean; allLevels: boolean;
} }): any;
): any;
export declare function uuid(separator?: string): string; export declare function uuid(separator?: string): string;

View File

@ -6,18 +6,9 @@ export declare function parseFormHidden(value: any, { scope }: any): any;
/** /**
* table.dict * table.dict
*/ */
export declare function parseTableDict( export declare function parseTableDict(value: any, item: ClTable.Column): string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
value: any,
item: ClTable.Column
):
| string
| import("vue").VNode<
import("vue").RendererNode,
import("vue").RendererElement,
{
[key: string]: any; [key: string]: any;
} }>[];
>[];
/** /**
* table.op.buttons * table.op.buttons
*/ */
@ -25,10 +16,8 @@ export declare function parseTableOpButtons(buttons: any[], { scope }: any): any
/** /**
* *
*/ */
export declare function parseExtensionComponent(vnode: any): export declare function parseExtensionComponent(vnode: any): {
| {
children: any; children: any;
} } | {
| {
children?: undefined; children?: undefined;
}; };

6257
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,8 @@ export default defineComponent({
setup(props) { setup(props) {
const style = reactive({ const style = reactive({
fontSize: parsePx(props.size!) fontSize: parsePx(props.size!),
fill: props.color
}); });
const iconName = computed(() => `#icon-${props.name}`); const iconName = computed(() => `#icon-${props.name}`);

View File

@ -6,7 +6,7 @@
}" }"
> >
<el-image <el-image
:src="urls[0]" :src="url"
:fit="fit" :fit="fit"
:lazy="lazy" :lazy="lazy"
:preview-src-list="urls" :preview-src-list="urls"
@ -49,7 +49,8 @@ export default defineComponent({
fit: { fit: {
type: String as PropType<'' | 'contain' | 'cover' | 'none' | 'fill' | 'scale-down'>, type: String as PropType<'' | 'contain' | 'cover' | 'none' | 'fill' | 'scale-down'>,
default: 'cover' default: 'cover'
} },
compress: String as PropType<'oss' | 'none'>
}, },
setup(props) { setup(props) {
@ -76,7 +77,20 @@ export default defineComponent({
}; };
}); });
const url = computed(() => {
const v = urls.value[0];
if (props.compress == 'oss') {
return (
v + `?x-oss-process=image/resize,m_fill,h_${style.value.h},w_${style.value.w}`
);
}
return v;
});
return { return {
url,
urls, urls,
style style
}; };

View File

@ -168,7 +168,7 @@
</div> </div>
<div class="btns"> <div class="btns">
<el-button class="btn-primary" @click="code.create()"> <el-button class="btn-primary" @click="code.create(true)">
生成代码 生成代码
<cl-svg name="code" /> <cl-svg name="code" />
</el-button> </el-button>
@ -204,11 +204,17 @@
} }
" "
> >
{{ item.label }} <span>{{ item.label }}</span>
<el-switch
class="lock"
size="small"
v-model="code.lock[item.value]"
v-if="item.value != 'vue' && !code.loading"
/>
</div> </div>
<div v-if="!isEmpty(code.list) && !code.loading" class="op"> <div v-if="!isEmpty(code.list) && !code.loading" class="op">
<el-tooltip v-if="code.active == 'vue'" content="重新生成"> <el-tooltip content="重新生成">
<el-icon @click="code.refresh()"> <el-icon @click="code.refresh()">
<refresh /> <refresh />
</el-icon> </el-icon>
@ -287,7 +293,7 @@ import {
QuestionFilled, QuestionFilled,
Refresh Refresh
} from '@element-plus/icons-vue'; } from '@element-plus/icons-vue';
import { ElMessage, ElMessageBox } from 'element-plus'; import { ElMessage, ElMessageBox, ElNotification } from 'element-plus';
import { assign, isEmpty } from 'lodash-es'; import { assign, isEmpty } from 'lodash-es';
import { useMenu, useAi } from '../hooks'; import { useMenu, useAi } from '../hooks';
import { config, isDev } from '/@/config'; import { config, isDev } from '/@/config';
@ -379,7 +385,7 @@ const lang = reactive({
code.active = lang.value.toLocaleLowerCase() + '-entity'; code.active = lang.value.toLocaleLowerCase() + '-entity';
}, },
tpl() { get tpl() {
const d = { const d = {
Node: 'typescript', Node: 'typescript',
Java: 'java', Java: 'java',
@ -398,6 +404,9 @@ const code = reactive({
// //
list: [] as CodeItem[], list: [] as CodeItem[],
//
lock: {} as { [key: string]: boolean },
// //
data: { data: {
router: '', router: '',
@ -460,7 +469,6 @@ const code = reactive({
clear() { clear() {
code.list = []; code.list = [];
code.logs = []; code.logs = [];
code.req = null;
code.loading = false; code.loading = false;
}, },
@ -482,12 +490,10 @@ const code = reactive({
// Node // Node
async createNode() { async createNode() {
code.tips('Entity 代码生成中');
// entity // entity
const entity = await code.setContent('Entity 实体', 'node-entity'); const entity = await code.setContent('Entity 实体', 'node-entity');
code.tips('Entity 生成成功,开始解析'); code.tips('Entity 开始解析');
// entity // entity
const entityData = await ai.invokeFlow('comm-parse-entity', { const entityData = await ai.invokeFlow('comm-parse-entity', {
@ -504,15 +510,13 @@ const code = reactive({
// //
code.parseColumn(); code.parseColumn();
code.tips('Service 代码生成中');
// service // service
const service = await code.setContent('Service 服务', 'node-service', { const service = await code.setContent('Service 服务', 'node-service', {
...entityData, ...entityData,
entity entity
}); });
code.tips('Service 生成成功,开始解析'); code.tips('Service 开始解析');
// service // service
const serviceData = await ai.invokeFlow('comm-parse-service', { const serviceData = await ai.invokeFlow('comm-parse-service', {
@ -521,8 +525,6 @@ const code = reactive({
code.tips(`Service 解析成功,${JSON.stringify(serviceData)}`); code.tips(`Service 解析成功,${JSON.stringify(serviceData)}`);
code.tips('Controller 代码生成中');
// controller // controller
const controller = await code.setContent('Controller 控制器', 'node-controller', { const controller = await code.setContent('Controller 控制器', 'node-controller', {
...serviceData, ...serviceData,
@ -531,7 +533,7 @@ const code = reactive({
entity entity
}); });
code.tips('Controller 生成成功,开始解析'); code.tips('Controller 开始解析');
// controller // controller
const controllerData = await ai.invokeFlow('comm-parse-controller', { const controllerData = await ai.invokeFlow('comm-parse-controller', {
@ -547,12 +549,10 @@ const code = reactive({
// Java // Java
async createJava() { async createJava() {
code.tips('Entity 代码生成中');
// entity // entity
const entity = await code.setContent('Entity 实体', 'java-entity'); const entity = await code.setContent('Entity 实体', 'java-entity');
code.tips('Entity 生成成功,开始解析'); code.tips('Entity 开始解析');
// entity // entity
const entityData = await ai.invokeFlow('comm-parse-entity', { const entityData = await ai.invokeFlow('comm-parse-entity', {
@ -569,51 +569,41 @@ const code = reactive({
// //
code.parseColumn(); code.parseColumn();
code.tips('Mapper 代码生成中');
// mapper // mapper
await code.setContent('Mapper 映射', 'java-mapper', { await code.setContent('Mapper 映射', 'java-mapper', {
...entityData, ...entityData,
entity entity
}); });
code.tips('Mapper 生成成功');
code.tips('Service 代码生成中');
// service // service
const _service = await code.setContent('Service 接口类', 'java-service', { const serviceInterface = await code.setContent('Service 接口类', 'java-service', {
...entityData, ...entityData,
entity entity
}); });
// service // service
const service = await code.setContent('Service 实现类', 'java-service-impl', { const serviceImpl = await code.setContent('Service 实现类', 'java-service-impl', {
...entityData, ...entityData,
entity, entity,
service: _service service: serviceInterface
}); });
code.tips('Service 生成成功,开始解析');
// service // service
const serviceData = await ai.invokeFlow('comm-parse-service', { const serviceData = await ai.invokeFlow('comm-parse-service', {
service service: serviceImpl
}); });
code.tips(`Service 解析成功,${JSON.stringify(serviceData)}`); code.tips(`Service 解析成功,${JSON.stringify(serviceData)}`);
code.tips('Controller 代码生成中');
// controller // controller
const controller = await code.setContent('Controller 控制器', 'java-controller', { const controller = await code.setContent('Controller 控制器', 'java-controller', {
...serviceData, ...serviceData,
...entityData, ...entityData,
service, service: serviceImpl,
entity entity
}); });
code.tips('Controller 生成成功,开始解析'); code.tips('Controller 开始解析');
// controller // controller
const controllerData = await ai.invokeFlow('comm-parse-controller', { const controllerData = await ai.invokeFlow('comm-parse-controller', {
@ -627,7 +617,7 @@ const code = reactive({
}, },
// //
async create() { async create(isNew?: boolean) {
if (!form.entity) { if (!form.entity) {
return ElMessage.warning('请填写实体名称'); return ElMessage.warning('请填写实体名称');
} }
@ -640,19 +630,21 @@ const code = reactive({
return ElMessage.warning('请填写字段'); return ElMessage.warning('请填写字段');
} }
code.loading = true; if (isNew) {
// //
code.clear(); code.clear();
// //
step.next(); step.next();
}
code.loading = true;
code.req = null;
code.tips('AI 开始编码'); code.tips('AI 开始编码');
await sleep(300); await sleep(300);
// @ts-ignore
await code[`create${lang.value}`](); await code[`create${lang.value}`]();
await code.createVue(); await code.createVue();
@ -779,16 +771,24 @@ const code = reactive({
}, },
// //
async setContent(label: string, flow: string, data?: any) { async setContent(label: string, flow: string, data?: any): Promise<string> {
return new Promise(resolve => { return new Promise(resolve => {
const item = code.add(label, flow); const item = code.add(label, flow);
//
if (code.lock[flow]) {
resolve(item.content);
return;
}
// //
let isEnd = false; let isEnd = false;
// //
let content = ''; let content = '';
code.tips(`${label}生成中`);
ai.invokeFlow(flow, { ...form, ...data }, res => { ai.invokeFlow(flow, { ...form, ...data }, res => {
isEnd = res.isEnd; isEnd = res.isEnd;
@ -815,7 +815,8 @@ const code = reactive({
if (!v) { if (!v) {
clearInterval(timer); clearInterval(timer);
resolve(item.content); resolve(item.content);
return false; code.tips(`${label}生成成功`);
return;
} }
} }
@ -841,11 +842,16 @@ const code = reactive({
}, },
// //
async refresh() { refresh() {
code.loading = true; //
code.req = null; code.list.forEach(e => {
await code.createVue(); if (!code.lock[e.value]) {
code.loading = false; e.content = '';
}
});
//
code.create();
} }
}); });
@ -1095,6 +1101,13 @@ onMounted(() => {
assign(form, storage.get('ai-code.form')); assign(form, storage.get('ai-code.form'));
} }
} }
//
ElNotification({
title: '新功能提示',
message: '支持自定义修改内容,开启后跳过生成',
duration: 5000
});
}); });
</script> </script>
@ -1556,8 +1569,17 @@ $color: #41d1ff;
cursor: pointer; cursor: pointer;
color: var(--el-color-info); color: var(--el-color-info);
& > span {
line-height: 1;
user-select: none;
}
.lock {
margin-left: 10px;
}
&.active { &.active {
background-color: #0f151e; background-color: #1d1f24;
color: #fff; color: #fff;
} }
@ -1581,7 +1603,7 @@ $color: #41d1ff;
border-radius: 5px; border-radius: 5px;
&:hover { &:hover {
background-color: #0f151e; background-color: #1d1f24;
} }
} }
} }