@hzab/list-render 1.12.3-alpha.1 → 1.12.3-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/LICENSE +21 -0
- package/dist/FilterTag/index.d.ts +3 -0
- package/dist/FormModal/index.d.ts +19 -0
- package/dist/common/cloneSchema.d.ts +7 -0
- package/dist/common/constant.d.ts +2 -0
- package/dist/common/handleQuerySchema.d.ts +165 -0
- package/dist/components/Formily/FormilyEditTable.d.ts +94 -0
- package/dist/components/Formily/FormilyField.d.ts +10 -0
- package/dist/components/PrefixNode/index.d.ts +21 -0
- package/dist/components/Tags/index.d.ts +16 -0
- package/dist/index.cjs +1 -0
- package/dist/index.css +2 -0
- package/dist/index.js +1660 -0
- package/package.json +77 -73
- package/src/FilterTag/index.tsx +3 -3
- package/src/FormModal/index.tsx +1 -1
- package/src/components/Formily/FormilyEditTable.tsx +3 -3
- package/src/components/Formily/FormilyField.tsx +5 -4
- package/src/components/PrefixNode/index.tsx +4 -4
- package/src/components/Tags/index.tsx +4 -4
- package/src/vite-env.d.ts +1 -0
- package/README.md +0 -612
- package/docs/effect.md +0 -2
- package/docs/form-linkage.md +0 -293
- package/docs/remote-data.md +0 -124
- package/docs/table.md +0 -86
package/CHANGELOG.md
CHANGED
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 CaiYansong
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import "./index.less";
|
|
2
|
+
export interface IFormRender {
|
|
3
|
+
setValues: Function;
|
|
4
|
+
reset: Function;
|
|
5
|
+
validate: Function;
|
|
6
|
+
values: object;
|
|
7
|
+
}
|
|
8
|
+
export interface IFormRef {
|
|
9
|
+
formRender: IFormRender;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 表单弹层,包含弹窗、抽屉两种模式
|
|
13
|
+
* @param props
|
|
14
|
+
* @param parentRef
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export declare function FormModal(props: any, parentRef: any): import("react").JSX.Element;
|
|
18
|
+
declare const _default: import("react").ForwardRefExoticComponent<Omit<any, "ref"> & import("react").RefAttributes<unknown>>;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
type AntdDateComponent = "DatePicker" | "DatePicker.RangePicker";
|
|
2
|
+
interface XComponentProps {
|
|
3
|
+
isSplitTimes?: boolean;
|
|
4
|
+
startKey?: string;
|
|
5
|
+
endKey?: string;
|
|
6
|
+
[k: string]: unknown;
|
|
7
|
+
}
|
|
8
|
+
interface FormilyField {
|
|
9
|
+
type?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
"x-decorator"?: string;
|
|
12
|
+
"x-component"?: string;
|
|
13
|
+
"x-validator"?: unknown[];
|
|
14
|
+
"x-component-props"?: XComponentProps;
|
|
15
|
+
"x-decorator-props"?: Record<string, unknown>;
|
|
16
|
+
"x-designable-id"?: string;
|
|
17
|
+
"x-index"?: number;
|
|
18
|
+
[k: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
interface FormilyV1SchemaNode {
|
|
21
|
+
type?: string;
|
|
22
|
+
properties?: Record<string, FormilyField>;
|
|
23
|
+
[k: string]: unknown;
|
|
24
|
+
}
|
|
25
|
+
interface FormilyV1Schema {
|
|
26
|
+
form?: Record<string, unknown>;
|
|
27
|
+
schema: FormilyV1SchemaNode;
|
|
28
|
+
}
|
|
29
|
+
type URLQueryObject = Record<string, any> | null | undefined;
|
|
30
|
+
interface ExtractOptions {
|
|
31
|
+
/** 分拆开关字段名,位于 x-component-props;默认 'isSplitTimes' */
|
|
32
|
+
splitFlag?: string;
|
|
33
|
+
/** 分拆开关的期望值;默认 true */
|
|
34
|
+
splitFlagExpectedValue?: unknown;
|
|
35
|
+
/** 默认开始/结束键名(当 schema 未显式配置时),默认 'startTime' / 'endTime' */
|
|
36
|
+
defaultStartKey?: string;
|
|
37
|
+
defaultEndKey?: string;
|
|
38
|
+
/** 认为是 antd 日期组件的名单,默认 DatePicker / DatePicker.RangePicker */
|
|
39
|
+
antdDateComponents?: readonly AntdDateComponent[];
|
|
40
|
+
/**
|
|
41
|
+
* 命中并成功赋值后,是否从返回对象中删除对应的 startKey / endKey
|
|
42
|
+
* 默认 true(删除)
|
|
43
|
+
*/
|
|
44
|
+
removeMatchedKeys?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export declare const handleQuerySchema: (opt: any) => {
|
|
47
|
+
form: {
|
|
48
|
+
layout: string;
|
|
49
|
+
};
|
|
50
|
+
schema: {
|
|
51
|
+
type: string;
|
|
52
|
+
properties: {};
|
|
53
|
+
"x-designable-id": string;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* 处理 search
|
|
58
|
+
* @param param0
|
|
59
|
+
* @returns
|
|
60
|
+
*/
|
|
61
|
+
export declare const handleSearch: (opt: any) => any;
|
|
62
|
+
/**
|
|
63
|
+
* 把选择相关组件切换成下拉菜单
|
|
64
|
+
*/
|
|
65
|
+
export declare const handleSelect: (conf: any, opt: any) => any;
|
|
66
|
+
/**
|
|
67
|
+
* 把输入相关组件切换成 Input
|
|
68
|
+
*/
|
|
69
|
+
export declare const handleInput: (conf: any, opt: any) => any;
|
|
70
|
+
/**
|
|
71
|
+
* 去除无关参数
|
|
72
|
+
* @param conf
|
|
73
|
+
* @param opt
|
|
74
|
+
* @returns
|
|
75
|
+
*/
|
|
76
|
+
export declare const rmUnusedParams: (conf: any, opt: any) => any;
|
|
77
|
+
export declare const handleTimerange: ({ key, index }: {
|
|
78
|
+
key: any;
|
|
79
|
+
index: any;
|
|
80
|
+
}) => {
|
|
81
|
+
type: string;
|
|
82
|
+
title: string;
|
|
83
|
+
"x-decorator": string;
|
|
84
|
+
"x-component": string;
|
|
85
|
+
"x-validator": any[];
|
|
86
|
+
"x-component-props": {
|
|
87
|
+
picker: string;
|
|
88
|
+
showTime: boolean;
|
|
89
|
+
allowClear: boolean;
|
|
90
|
+
};
|
|
91
|
+
"x-decorator-props": {};
|
|
92
|
+
name: any;
|
|
93
|
+
"x-designable-id": any;
|
|
94
|
+
"x-index": any;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* 处理快捷提交逻辑
|
|
98
|
+
* @param conf
|
|
99
|
+
* @param opt
|
|
100
|
+
*/
|
|
101
|
+
export declare const handleShortcutSubmit: (conf: any, opt: any) => void;
|
|
102
|
+
/**
|
|
103
|
+
* 事件拦截,处理调用额外函数
|
|
104
|
+
* @param source
|
|
105
|
+
* @param cb
|
|
106
|
+
* @returns
|
|
107
|
+
*/
|
|
108
|
+
export declare const handleHoc: (source: any, cb: any, opt: any) => (...args: any[]) => Promise<any>;
|
|
109
|
+
/**
|
|
110
|
+
* input 清除事件
|
|
111
|
+
* @param conf
|
|
112
|
+
* @param opt
|
|
113
|
+
* @returns
|
|
114
|
+
*/
|
|
115
|
+
export declare const handleInputClear: (conf: any, opt: any) => any;
|
|
116
|
+
/**
|
|
117
|
+
* 是否是 scope key
|
|
118
|
+
* @param strKey
|
|
119
|
+
* @returns
|
|
120
|
+
*/
|
|
121
|
+
export declare const isScopeKey: (strKey: any) => boolean;
|
|
122
|
+
/**
|
|
123
|
+
* 获取 scope key
|
|
124
|
+
* @param strKey
|
|
125
|
+
* @returns
|
|
126
|
+
*/
|
|
127
|
+
export declare const getScopeKey: (strKey: any) => any;
|
|
128
|
+
/**
|
|
129
|
+
* 通过字符串获取 schemaScope 中的数据
|
|
130
|
+
* @param strKey
|
|
131
|
+
* @param schemaScope
|
|
132
|
+
* @returns
|
|
133
|
+
*/
|
|
134
|
+
export declare const getSchemaVal: (strKey: any, schemaScope?: {}) => any;
|
|
135
|
+
/**
|
|
136
|
+
* 通过字符串获取 schemaScope 中的数据
|
|
137
|
+
* @param strKey
|
|
138
|
+
* @param schemaScope
|
|
139
|
+
* @returns
|
|
140
|
+
*/
|
|
141
|
+
export declare const getValByScope: (strKey: any, schemaScope?: {}) => any;
|
|
142
|
+
/**
|
|
143
|
+
* 将对象序列化后写入 URL query 中
|
|
144
|
+
* @param obj 要存储的对象(保持原始类型)
|
|
145
|
+
* @param paramName query 参数名
|
|
146
|
+
*/
|
|
147
|
+
export declare function setURLObjectQueryParam<T extends object>(obj: T, paramName?: string): void;
|
|
148
|
+
/**
|
|
149
|
+
* 从哈希路由的查询参数中,删除某个“对象型参数”下的指定属性(不刷新页面)
|
|
150
|
+
* @param parentKey 父级对象参数名
|
|
151
|
+
* @param childKey 要删除的对象属性名
|
|
152
|
+
*/
|
|
153
|
+
export declare function removeURLObjectQueryParam(parentKey: string, childKey: string, reset?: boolean): void;
|
|
154
|
+
/**
|
|
155
|
+
* 从 URL 中解析序列化的对象
|
|
156
|
+
* @param paramName query 参数名
|
|
157
|
+
* @returns 还原的对象(如果不存在返回 null)
|
|
158
|
+
*/
|
|
159
|
+
export declare function getURLObjectQueryParam<T = any>(paramName?: string): T | Record<string, any>;
|
|
160
|
+
/**
|
|
161
|
+
* 根据formilySchema配置逆解析表单key并将url query赋值
|
|
162
|
+
* 三层筛选:根据filters + splitFlag + antdDateComponents 提取formilySchema配置项然后通过配置的key赋值并返回
|
|
163
|
+
* */
|
|
164
|
+
export declare function extractSplitDateRanges(filters: string[], formilySchema: FormilyV1Schema, urlObj: URLQueryObject, options?: ExtractOptions): Record<string, any>;
|
|
165
|
+
export default handleQuerySchema;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface Item {
|
|
3
|
+
key: string;
|
|
4
|
+
name: string;
|
|
5
|
+
age: number;
|
|
6
|
+
address: string;
|
|
7
|
+
}
|
|
8
|
+
export interface EditableCellProps extends React.HTMLAttributes<HTMLElement> {
|
|
9
|
+
SchemaField: any;
|
|
10
|
+
getField: () => {
|
|
11
|
+
type: string;
|
|
12
|
+
name: string;
|
|
13
|
+
};
|
|
14
|
+
editing: boolean;
|
|
15
|
+
dataIndex: string;
|
|
16
|
+
title: any;
|
|
17
|
+
inputType: "number" | "text";
|
|
18
|
+
record: Item;
|
|
19
|
+
index: number;
|
|
20
|
+
editable: boolean;
|
|
21
|
+
onEdit: (record: Partial<Item> & {
|
|
22
|
+
key: React.Key;
|
|
23
|
+
}, dataIndex: string, opt: object) => void;
|
|
24
|
+
onSave: (field: {
|
|
25
|
+
type: string;
|
|
26
|
+
name: string;
|
|
27
|
+
}) => void;
|
|
28
|
+
onCancel: () => void;
|
|
29
|
+
topProps: {
|
|
30
|
+
tableConf: {
|
|
31
|
+
hasEdit: boolean | Function;
|
|
32
|
+
};
|
|
33
|
+
editMode: "modal" | "line" | "line-cell" | "cell";
|
|
34
|
+
canEditCallback: (record: Partial<Item> & {
|
|
35
|
+
key: React.Key;
|
|
36
|
+
}, field: {
|
|
37
|
+
type: string;
|
|
38
|
+
name: string;
|
|
39
|
+
}, dataIndex: string) => void;
|
|
40
|
+
};
|
|
41
|
+
children: React.ReactNode;
|
|
42
|
+
}
|
|
43
|
+
export declare const EditableCell: React.FC<EditableCellProps>;
|
|
44
|
+
export declare const useEditTable: (props: any) => {
|
|
45
|
+
onEditAFetch: (record: Partial<Item> & {
|
|
46
|
+
key: React.Key;
|
|
47
|
+
}, ...args: any[]) => Promise<void>;
|
|
48
|
+
onEdit: (record: Partial<Item> & {
|
|
49
|
+
key: React.Key;
|
|
50
|
+
}, key: any, opt?: {
|
|
51
|
+
fieldRef: any;
|
|
52
|
+
}) => Promise<void>;
|
|
53
|
+
SchemaField: {
|
|
54
|
+
<Decorator extends import("@formily/react").JSXComponent, Component extends import("@formily/react").JSXComponent>(props: import("@formily/react").ISchemaFieldProps<Decorator, Component, import("@formily/core").ObjectField<Decorator, Component>>): JSX.Element;
|
|
55
|
+
displayName: string;
|
|
56
|
+
Markup: {
|
|
57
|
+
<Decorator_1 extends string, Component_1 extends string>(props: import("@formily/react").ISchemaMarkupFieldProps<any, Component_1, Decorator_1>): JSX.Element;
|
|
58
|
+
displayName: string;
|
|
59
|
+
};
|
|
60
|
+
String: {
|
|
61
|
+
<Decorator_2 extends string, Component_2 extends string>(props: import("@formily/react").ISchemaTypeFieldProps<any, Component_2, Decorator_2>): JSX.Element;
|
|
62
|
+
displayName: string;
|
|
63
|
+
};
|
|
64
|
+
Object: {
|
|
65
|
+
<Decorator_3 extends string, Component_3 extends string>(props: import("@formily/react").ISchemaTypeFieldProps<any, Component_3, Decorator_3>): JSX.Element;
|
|
66
|
+
displayName: string;
|
|
67
|
+
};
|
|
68
|
+
Array: {
|
|
69
|
+
<Decorator_4 extends string, Component_4 extends string>(props: import("@formily/react").ISchemaTypeFieldProps<any, Component_4, Decorator_4>): JSX.Element;
|
|
70
|
+
displayName: string;
|
|
71
|
+
};
|
|
72
|
+
Boolean: {
|
|
73
|
+
<Decorator_5 extends string, Component_5 extends string>(props: import("@formily/react").ISchemaTypeFieldProps<any, Component_5, Decorator_5>): JSX.Element;
|
|
74
|
+
displayName: string;
|
|
75
|
+
};
|
|
76
|
+
Date: {
|
|
77
|
+
<Decorator_6 extends string, Component_6 extends string>(props: import("@formily/react").ISchemaTypeFieldProps<any, Component_6, Decorator_6>): JSX.Element;
|
|
78
|
+
displayName: string;
|
|
79
|
+
};
|
|
80
|
+
DateTime: {
|
|
81
|
+
<Decorator_7 extends string, Component_7 extends string>(props: import("@formily/react").ISchemaTypeFieldProps<any, Component_7, Decorator_7>): JSX.Element;
|
|
82
|
+
displayName: string;
|
|
83
|
+
};
|
|
84
|
+
Void: {
|
|
85
|
+
<Decorator_8 extends string, Component_8 extends string>(props: import("@formily/react").ISchemaTypeFieldProps<any, Component_8, Decorator_8>): JSX.Element;
|
|
86
|
+
displayName: string;
|
|
87
|
+
};
|
|
88
|
+
Number: {
|
|
89
|
+
<Decorator_9 extends string, Component_9 extends string>(props: import("@formily/react").ISchemaTypeFieldProps<any, Component_9, Decorator_9>): JSX.Element;
|
|
90
|
+
displayName: string;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
mergedColumns: any;
|
|
94
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Schema } from "@formily/react";
|
|
2
|
+
type formilyFieldPropsT = {
|
|
3
|
+
schema: Schema;
|
|
4
|
+
formilyRef: any;
|
|
5
|
+
schemaScope: object;
|
|
6
|
+
components: object;
|
|
7
|
+
reactionOpts?: object;
|
|
8
|
+
};
|
|
9
|
+
export declare const FormilyField: import("react").NamedExoticComponent<formilyFieldPropsT>;
|
|
10
|
+
export default FormilyField;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
export interface IPrefixNodeProps {
|
|
4
|
+
showPrefixNode?: boolean | object;
|
|
5
|
+
value: any;
|
|
6
|
+
field?: object;
|
|
7
|
+
}
|
|
8
|
+
export interface ITagOption {
|
|
9
|
+
value: string | number | boolean;
|
|
10
|
+
label: string | number;
|
|
11
|
+
children?: [ITagOption];
|
|
12
|
+
color: string;
|
|
13
|
+
icon: ReactNode | string;
|
|
14
|
+
}
|
|
15
|
+
export declare const defaultSwitchEnum: {
|
|
16
|
+
value: boolean;
|
|
17
|
+
label: string;
|
|
18
|
+
color: string;
|
|
19
|
+
}[];
|
|
20
|
+
export declare const PrefixNode: (props: any) => import("react").JSX.Element[];
|
|
21
|
+
export default PrefixNode;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
export interface ITagsProps {
|
|
4
|
+
showTags?: boolean | object;
|
|
5
|
+
value: any;
|
|
6
|
+
field?: object;
|
|
7
|
+
}
|
|
8
|
+
export interface ITagOption {
|
|
9
|
+
value: string | number | boolean;
|
|
10
|
+
label: string | number;
|
|
11
|
+
children?: [ITagOption];
|
|
12
|
+
color: string;
|
|
13
|
+
icon: ReactNode | string;
|
|
14
|
+
}
|
|
15
|
+
export declare const Tags: (props: any) => import("react").JSX.Element[];
|
|
16
|
+
export default Tags;
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));let c=require("react");c=s(c,1);let l=require("antd"),u=require("lodash");u=s(u,1);let d=require("@hzab/data-model/src/axios");d=s(d,1);let f=require("dayjs");f=s(f,1);let p=require("@hzab/form-render");p=s(p,1);let m=require("@hzab/utils/src/formily/cloneSchema"),h=require("@hzab/form-render/src/common/schema-handler"),g=require("@formily/reactive"),_=require("@formily/json-schema"),v=require("dayjs/plugin/advancedFormat");v=s(v,1);let y=require("dayjs/plugin/weekOfYear");y=s(y,1);let b=require("@formily/react"),x=require("react/jsx-runtime"),S=require("react/compiler-runtime"),C=require("@ant-design/icons"),w=require("react-sortable-hoc"),T=require("array-move"),E=require("@formily/core"),D=require("@hzab/formily-result-utils/src/components/EnumRender");D=s(D,1);let O=require("@hzab/formily-result-utils/src/common/constant"),k=require("@hzab/edit-table");k=s(k,1);let ee=require("c-formily-antd"),A=require("@hzab/schema-descriptions");A=s(A,1);let j=require("@hzab/utils/src/formily/field");var M=`defaultSearchParams`,te=[`Input`,`Select`,`DatePicker.RangePicker`,`DatePicker`];function N(e){return function(...t){let n=(0,b.observer)(function(){return e(...t)});return(0,x.jsx)(n,{})}}var P=function(e=``,t={}){if(typeof e!=`string`||!e.startsWith(`{{`))return e;let n=e.replace(/^\{\{/,``).replace(/\}\}$/,``);return t?.scope?.[n]||I(n,t)};function F(e=``,t){return typeof e!=`string`||!e.startsWith(`{{`)?e:I(e.replace(/^\{\{/,``).replace(/\}\}$/,``),t)}function I(e=``,t={}){let n={$observable:g.observable,$memo:g.autorun.memo,$effect:g.autorun.effect,scope:{},...t},r=Function(`opt`,`const { ${Object.keys(n).join(`, `)} } = opt || {}; const {${Object.keys(n.scope||{}).join(`, `)}} = scope || {}; return ${e}; `);return function(e){return r.call(this,{$observable:g.observable,$memo:g.autorun.memo,$effect:g.autorun.effect,...e})}}f.default.extend(v.default),f.default.extend(y.default);var L={time:`YYYY-MM-DD HH:mm:ss`,date:`YYYY-MM-DD`,week:`YYYY年 w周`,quarter:`YYYY年 Q季度`,month:`YYYY-MM`,year:`YYYY`};function R(e={},t={},n={}){let{}=n,r=u.default.get(t,e.name),{}=e||{},i=e[`x-component`],a=e[`x-component-props`]||{};if(r&&(i===`DatePicker`||i===`DatePicker.RangePicker`)){let{picker:e,showTime:t}=a||{},i=t===!0?`time`:e||`date`,o=n.dateFormatEnum||L,s=a?.format||o[i];return Array.isArray(r)?r.map(e=>z(e,s)).join(` ~ `):z(r,s)}if(r&&(i===`TimePicker`||i===`TimePicker.RangePicker`)){let e=a?.format||`HH:mm:ss`;return Array.isArray(r)?r.map(t=>(0,f.default)(t).format(e)).join(` ~ `):(0,f.default)(r).format(e)}if(i===`Switch`)return r===void 0||r===!1||r===e.inactiveValue?e.inactiveText||`否`:r===!0||r===e.activeValue?e.activeText||`是`:r;if(typeof e.relation==`object`){let{key:n,name:r,label:i}=e.relation;return t[n]?.[r]}let o=e?.dataSource||e.enum;if((i===`Select`||i===`Radio.Group`||i===`Checkbox.Group`)&&Array.isArray(o)){if(!Array.isArray(r))return W(r,e,n)?.label||r;if(Array.isArray(r)){let t=[];r.forEach(i=>{t.push(W(r,e,n)?.label||i)}),r=t}}return Array.isArray(r)?r.join(`、`):r}function z(e,t){return(0,f.default)(e).format(t)}var B=e=>{e?.forEach(e=>{e?.type==`object`&&!e?.[`x-component`]&&(e.children=_.Schema.getOrderProperties(e)?.map(e=>e?.schema),e.children?.length>0&&B(e.children))})};function V(e,t=[],n={},r=!1){let i=(0,m.cloneSchema)(e?.schema||e),a=_.Schema.getOrderProperties(i),{boxList:o=[]}=n||{},s=[`FormGrid`,`FormGrid.GridColumn`];return Array.isArray(o)?s=[...s,...o]:o===!1&&(s=[]),i?.properties&&a.forEach(e=>{let r={...e.schema};r.name||=e.key;let i=r[`x-component`];typeof r.title==`string`&&r.title.startsWith(`{{`)&&(r.title=P(r.title,{scope:n.schemaScope}),typeof r.title==`function`&&(r.title=r.title({...n,scope:n.schemaScope,scenario:`listRender`,$self:r,$effect:g.autorun.effect,$observable:g.observable,$memo:g.autorun.memo,$props:{formilyRef:n.formilyRef}}))),s.includes(i)?V(r,t,n):t.push(r),r?.type==`object`&&!r?.[`x-component`]&&(r.children=_.Schema.getOrderProperties(r)?.map(e=>e?.schema),r.children?.length>0&&B(r.children))}),r&&t.sort((e,t)=>e[`x-index`]-t[`x-index`]),t}function H(e,t={}){let n=e?.schema||e;return n?.properties&&Object.keys(n?.properties).forEach(e=>{let r=n?.properties[e];r[`x-component`]===`FormGrid`||r[`x-component`]===`FormGrid.GridColumn`?H(r,t):t[e]=r}),t}function U(e){let t=new FormData;return Object.keys(e)?.forEach(n=>{t.set(n,e[n])}),t}var W=function(e,t,n){return t?G(e,Array.isArray(t.enum)?t.enum:Array.isArray(t.options)?t.options:t.dataSource||[],{fieldNames:t.fieldNames||t[`x-component-props`]?.fieldNames,...n}):{}},G=function(e,t,n){let{fieldNames:r}=n||{},{value:i=`value`,label:a=`label`,children:o=`children`}=r||{};for(let r=0;r<t.length;r++){let s=t[r];if(s?.[i]===e)return{...s,value:s?.[i],label:s?.[a],children:s?.[o]};let c=s?.[o];if(Array.isArray(c)&&c.length>0){let t=G(e,c,n);return{...t,value:t?.[i],label:t?.[a],children:t?.[o]}}}};function ne(e,t={}){let n=(0,m.cloneSchema)(e),r=n?.schema||n,{boxList:i=[]}=t,a=i===!1?[]:[`Card`,`FormGrid`,`ArrayCards`,`Collapse`,`Tabs`,`FormGrid.GridColumn`,...Array.isArray(i)?i:[]],o=e=>{!e||typeof e!=`object`||Object.keys(e).forEach(t=>{let n=e[t];n[`x-component`]&&a.includes(n[`x-component`])?n.properties&&o(n.properties):n.items?.properties?o(n.items.properties):n.inTable===!1?delete e[t]:n[`x-display`]&&delete n[`x-display`]})};return r.properties&&o(r.properties),n.form&&(delete n.form.labelCol,delete n.form.wrapperCol),n}var K=e=>{let{schema:t,search:n,filters:r,onSearch:i,replaceComList:a,schemaScope:o}=e||{},s={},c=0;n&&(s.search=q({search:n,onSearch:i,index:c}),c+=1);let l=H((0,m.cloneSchema)(t));return r?.forEach(t=>{let n=l[t];if(n){let r=n[`x-component`],i=a?.find(e=>e.name===t||!e.name&&e.component===r),l={...n,...i,required:!1,"x-index":c,"x-display":`visible`},u=l[`x-component-props`];u?ae(u)&&(l[`x-component-props`]=ce(u,o)||{}):l[`x-component-props`]={},typeof l[`x-component-props`].allowClear!=`boolean`&&(l[`x-component-props`].allowClear=!0),Y(l,e),J(l,e),X(l,e),Z(l,e),s[t]=l,c+=1}else t===`$timerange`&&(s[t]=re({index:c,key:t}),c+=1)}),{form:{layout:`inline`},schema:{type:`object`,properties:s,"x-designable-id":`querySchema`}}},q=e=>{let{search:t,onSearch:n,index:r}=e||{};return ie({type:`string`,title:``,"x-decorator":`FormItem`,"x-component":`Input`,"x-validator":[],"x-component-props":{allowClear:!0,placeholder:t,onPressEnter:n},"x-decorator-props":{},"x-designable-id":`searchInput`,"x-index":r,name:`search`,description:``},e)},J=(e,t)=>{let{selectList:n=[],isSelectSearch:r=!0}=t||{},i=[`Select`,`Radio.Group`,`Checkbox.Group`,...n],a=e[`x-component`];return i.includes(a)&&(e[`x-component`]=`Select`,e[`x-component-props`].showSearch=r),e},Y=(e,t)=>{let{inputList:n=[]}=t||{},r=[`NumberPicker`,...n],i=e[`x-component`];return r.includes(i)&&(e[`x-component`]=`Input`),e},X=(e,t)=>{let{isRmDefault:n,isRmValidator:r}=t||{};return n&&(e.default=void 0,e[`x-component-props`].defaultValue=void 0),r&&(e[`x-validator`]=[]),e},re=({key:e,index:t})=>({type:`string[]`,title:`时间范围`,"x-decorator":`FormItem`,"x-component":`DatePicker.RangePicker`,"x-validator":[],"x-component-props":{picker:`date`,showTime:!0,allowClear:!0},"x-decorator-props":{},name:e,"x-designable-id":e,"x-index":t}),Z=(e,t)=>{let{isEnterSubmit:n=!0,isChangeSubmit:r=!0,onSearch:i,customSubmitList:a}=t||{},o=e[`x-component`],s=e[`x-component-props`],c=[`Select`,`Cascader`,`TreeSelect`,`DatePicker`,`DatePicker.RangePicker`,`TimePicker`,`TimePicker.RangePicker`];if(n&&o===`Input`){let n=se(s?.onPressEnter,t);e[`x-component-props`].onPressEnter=function(e,...t){e?.preventDefault&&e?.preventDefault();let r=n&&n(e,...t);return i&&i(),r},ie(e,t)}else r&&c.includes(o)&&(e[`x-component-props`].onChange=Q(s?.onChange,i,t));let l=a?.find(e=>e.component===o);l&&(e[`x-component-props`][l.event]=Q(s[l.event],i,t))},Q=(e,t,n)=>async function(...r){let{schemaScope:i}=n,a=se(e,i),o=null;return(0,h.isRunStr)(e)&&(a=(0,h.handleSchemaStrVal)(e,i)),(0,h.isScopeKey)(e,i)&&(a=(0,h.getScopeKeyVal)(e,i)),a&&(o=await a(...r)),t&&t(...r),o},ie=(e,t)=>{let{onSearch:n,schemaScope:r}=t||{},i=se(e[`x-component-props`]?.onChange,r);return e[`x-component-props`].onChange=function(e,...t){let r=i&&i(e,...t);return e.type===`click`&&e.target?.value===``&&n(),r},e},ae=e=>{if(typeof e!=`string`)return!1;let t=e.trim();return t.startsWith(`{{`)&&t.endsWith(`}}`)},oe=e=>ae(e)?e.trim().replace(/^\{\{/,``).replace(/\}\}$/,``):``,se=(e,t={})=>{let n=ce(e,t);return!u.default.isNil(n)&&n!==``?n:e},ce=(e,t={})=>{if(ae(e))return t&&t[oe(e)]};function le(e){return u.default.pickBy(e,e=>!(e==null||u.default.isString(e)&&e.trim()===``||u.default.isArray(e)&&e.length===0))}function ue(e,t=M){try{if(typeof window>`u`)return;let[n,r=``]=window.location.href.split(`#`),[i,a=``]=r.split(`?`),o=new URLSearchParams(a),s=u.default.cloneDeep(le(e)),c=encodeURIComponent(JSON.stringify(s));o.set(t,c);let l=`${i}?${o.toString()}`;window.history.replaceState({},``,`${n}#${l}`)}catch(e){console.error(`[setURLObjectQueryParam] 设置失败:`,e)}}function de(e,t,n){if(!(typeof window>`u`))try{let[r,i=``]=window.location.href.split(`#`),[a,o=``]=i.split(`?`),s=new URLSearchParams(o),c=s.get(e);if(c==null)return;let l;try{l=JSON.parse(decodeURIComponent(c))}catch{console.error(`[removeURLObjectQueryParam] 序列化URL参数错误`);return}if(n&&e)s.delete(e);else if(l&&typeof l==`object`&&!Array.isArray(l)){let n=l;(t||n[t]===``||n[t]===void 0||n[t]===null)&&delete n[t],Object.keys(n).length===0?s.delete(e):s.set(e,encodeURIComponent(JSON.stringify(n)))}else return;let u=a,d=s.toString();d&&(u+=`?${d}`);let f=`${r}${u?`#${u}`:``}`;window.history.replaceState({},``,f)}catch(e){console.error(`[removeURLObjectQueryParam] 删除失败:`,e)}}function fe(e=M){if(typeof window>`u`)return{};let[,t=``]=window.location.href.split(`#`),[,n=``]=t.split(`?`),r=new URLSearchParams(n).get(e);if(!r)return null;try{return JSON.parse(decodeURIComponent(r))}catch(e){return console.error(`[getURLObjectQueryParam] 解析失败:`,e),{}}}var pe=e=>e?.schema?.properties??{},me=(e,t)=>typeof e==`string`&&t.includes(e),he=(e,t)=>{let n=new Set(t);return Object.entries(e).filter(([e])=>n.has(e))},ge=(e,t,n)=>e?.[`x-component-props`]?.[t]===n,$=(e,t,n)=>{let r=e??{},i=Object.prototype.hasOwnProperty.call(r,t),a=Object.prototype.hasOwnProperty.call(r,n);if(!(!i&&!a))return[r[t],r[n]]};function _e(e,t,n,r={}){let{splitFlag:i=`isSplitTimes`,splitFlagExpectedValue:a=!0,defaultStartKey:o=`startTime`,defaultEndKey:s=`endTime`,antdDateComponents:c=[`DatePicker`,`DatePicker.RangePicker`],removeMatchedKeys:l=!0}=r,d=he(pe(t),e),f=u.default.cloneDeep(n),p=new Set;for(let[e,t]of d){if(!me(t?.[`x-component`],c)||!ge(t,i,a))continue;let n=t?.[`x-component-props`]??{},r=n?.startKey||o,u=n?.endKey||s,d=$(f,r,u);d&&(f[e]=d,l&&(Object.prototype.hasOwnProperty.call(f,r)&&p.add(r),Object.prototype.hasOwnProperty.call(f,u)&&p.add(u)))}if(l)for(let e of p)delete f[e];return f}function ve(e,t){let[n,r]=(0,c.useState)({}),i=(0,c.useRef)();(0,c.useImperativeHandle)(t,()=>({formRef:i})),(0,c.useEffect)(()=>{r(K({...e?.config,schemaScope:{...e.schemaScope,scenario:`query`},schema:(0,m.cloneSchema)(e.schema),search:e.search,filters:u.default.cloneDeep(e.filters),onSearch:a}))},[e.search,e.filters,e.schema,e.schema?.schema]);async function a(){let t=u.default.cloneDeep(i?.current?.formRender?.values);if(e.filters?.includes(`$timerange`)&&(t.$timerange?.[0]instanceof f.default?(t.beginTime=t.$timerange?.[0]?.format(`YYYY-MM-DD HH:mm:ss`),t.endTime=t.$timerange?.[1]?.format(`YYYY-MM-DD HH:mm:ss`)):(t.beginTime=t.$timerange?.[0],t.endTime=t.$timerange?.[1]),delete t.$timerange),e.config?.queryMap&&(t=e.config?.queryMap(t)),!(e.config?.beforeQuerySearch&&typeof e.config?.beforeQuerySearch==`function`&&!await Promise.resolve(e.config?.beforeQuerySearch?.(t))))return e.onSearch&&e.onSearch(t)}function o(){i.current?.formRender?.reset(),e.onSearch&&e.onSearch(u.default.cloneDeep(i?.current?.formRender?.values),!0)}return(0,x.jsx)(`div`,{className:`query-render`,children:Object.keys(n?.schema?.properties||{}).length>0?(0,x.jsx)(x.Fragment,{children:(0,x.jsx)(p.default,{ref:i,layout:`inline`,schema:n,schemaScope:{scenario:`query`,...e.schemaScope||{}},initialValues:e.queryFormInitialValues,onFieldValueChange:e.onFieldValueChange,Slots:()=>(0,x.jsxs)(`div`,{className:`query-operation`,children:[(0,x.jsx)(l.Button,{className:`query-btn`,type:`primary`,onClick:a,children:`搜索`}),e.config?.hasReset&&(0,x.jsx)(l.Button,{className:`query-btn`,onClick:o,children:`重置`})]}),components:e.components})}):null})}var ye=(0,c.forwardRef)(ve);function be(e){let t=(0,S.c)(25),{config:n}=e,r;t[0]===n?r=t[1]:(r=n||{},t[0]=n,t[1]=r);let{isAllSelect:i}=r,a=i!==void 0&&i,[o,s]=(0,c.useState)(e.query?.pageSize||e.pageSizeOptions[0]),[u,d]=(0,c.useState)(e.query?.pageNum||1),f;t[2]!==u||t[3]!==o||t[4]!==e?(f=()=>{let{query:t}=e;t&&(t.pageSize&&t.pageSize!==o&&s(t.pageSize),t.pageNum&&t.pageNum!==u&&d(t.pageNum))},t[2]=u,t[3]=o,t[4]=e,t[5]=f):f=t[5];let p=e.query?.pageNum,m=e.query?.pageSize,h;t[6]!==p||t[7]!==m?(h=[p,m],t[6]=p,t[7]=m,t[8]=h):h=t[8],(0,c.useEffect)(f,h);let g;t[9]!==o||t[10]!==e?(g=function(t,n){let r=n,i=t;o!==n&&(i=1),s(r),d(i),e.onChange&&e.onChange(i,r)},t[9]=o,t[10]=e,t[11]=g):g=t[11];let _=g,v;t[12]===e.config?v=t[13]:(v=e.config||{},t[12]=e.config,t[13]=v);let y=`pagination-render ${a?`pagination-infinity`:null} ${o==1/0?`pagination-infinity-checked`:``}`,b;t[14]!==a||t[15]!==e.pageSizeOptions?(b=a?[...e.pageSizeOptions,1/0]:e.pageSizeOptions,t[14]=a,t[15]=e.pageSizeOptions,t[16]=b):b=t[16];let C;return t[17]!==_||t[18]!==u||t[19]!==o||t[20]!==e.total||t[21]!==v||t[22]!==y||t[23]!==b?(C=(0,x.jsx)(`div`,{className:`pagination-render-wrap`,children:(0,x.jsx)(l.Pagination,{...v,className:y,current:u,pageSize:o,onChange:_,pageSizeOptions:b,total:e.total,showTotal:xe,showSizeChanger:!0})}),t[17]=_,t[18]=u,t[19]=o,t[20]=e.total,t[21]=v,t[22]=y,t[23]=b,t[24]=C):C=t[24],C}function xe(e){return`总条数 ${e} 条`}function Se(e,t={}){if(!Array.isArray(e))return console.warn(`Error handleReactions: fieldList not array`),e;let n=[];return(0,m.cloneSchema)(e).forEach(e=>{Ce(e,t),n.push(e)}),n}function Ce(e,t={}){let{scope:n,formilyRef:r={},scenario:i}=t||{},a=e?.field||e,{state:o,run:s}=a[`x-reactions`]?.fulfill||{},c={scope:n,$self:a,$effect:g.autorun.effect,$observable:g.observable,$memo:g.autorun.memo,$props:{formilyRef:r}};if(a.inTable){let e=F(a.inTable,c);e&&(a.inTable=e(c))}return a.visible,a}var we=(0,c.memo)(function(e){let{schema:t,formilyRef:n,schemaScope:r,components:i,reactionOpts:a}=e,{fields:o,fieldSchemas:s}=n.current||{},l=(0,c.useMemo)(()=>{let e=(0,m.cloneSchema)(t);return e?.properties&&Object.keys(e?.properties)?.forEach(t=>{e?.properties?.[t]?.inTable===!1&&delete e?.properties?.[t]}),e},[t]),u=(0,c.useCallback)((0,b.createSchemaField)({components:{...p.antdComponents,...p.customComponents,...i,FormItem(e){let t=(0,b.useField)(),n=(0,b.useFieldSchema)(),{name:i}=n;o[i]=t,s[i]=n,Ce(n,{...a,scope:r});let c=p.antdComponents?.FormItem;return c&&(0,x.jsx)(c,{...e})}},scope:{...r,scenario:`tableReactionsForm`}}),[]),d=(0,c.useMemo)(()=>(0,E.createForm)({initialValues:{},readOnly:!0,disabled:!0}),[]);return(0,x.jsx)(ee.Form,{className:`hidden-table-form-render`,style:{display:`none`,width:0,height:0,overflow:`hidden`},form:d,children:(0,x.jsx)(u,{schema:l})})}),Te=({SchemaField:e,getField:t,editing:n,dataIndex:r,title:i,inputType:a,record:o,index:s,onEdit:l,onSave:u,onCancel:d,editable:f,topProps:p,children:m,...h})=>{let g=t&&t(),_=g?.[`x-pattern`],v=g?.[`x-display`],{editMode:y=`modal`,canEditCallback:b}=p||{},{hasEdit:S}=p?.tableConf||{},w=(0,c.useRef)();return y===`modal`||!((S&&typeof S==`function`?S(o,s):S!==!1)&&f&&_!==`disabled`&&_!==`readOnly`&&v!==`none`&&(!b||b(o,g,r)))?(0,x.jsx)(`td`,{...h,children:m}):n?(0,x.jsx)(`td`,{...h,children:(0,x.jsxs)(`div`,{className:`editable-table-cell table-cell-editing`,children:[(0,x.jsx)(e,{schema:{type:`object`,properties:{[g?.name]:{...g,title:``,"x-component-props":{...g[`x-component-props`],ref:e=>{g[`x-component-props`]&&typeof g[`x-component-props`].ref==`function`&&g[`x-component-props`].ref(e),e&&(w.current=e)}}}}}}),y===`line`?null:(0,x.jsxs)(`div`,{className:`cell-editing-actions`,children:[(0,x.jsx)(C.CheckOutlined,{className:`table-cell-confirm-icon`,onClick:()=>u(g)}),(0,x.jsx)(C.CloseOutlined,{className:`table-cell-cancel-icon`,onClick:d})]})]})}):y===`line-cell`||y===`cell`?(0,x.jsx)(`td`,{...h,children:(0,x.jsxs)(`div`,{className:`editable-table-cell`,onDoubleClick:e=>{e?.preventDefault(),e?.stopPropagation(),l(o,r,{field:g,fieldRef:w})},children:[m,(0,x.jsx)(C.EditOutlined,{className:`table-cell-edit-icon`,onClick:e=>{e?.preventDefault(),e?.stopPropagation(),l(o,r,{field:g,fieldRef:w})}})]})}):(0,x.jsx)(`td`,{...h,children:m})},Ee=e=>{let{topProps:t,idKey:n,columns:r,onEditSubmit:i,formRender:a}=e,{editMode:o=`modal`}=t||{},s=(0,c.useRef)();e.schemaScope&&!s.current?s.current=e.schemaScope:s.current||={_$tempData:{}},s.current?._$tempData||(s.current._$tempData={});let d=(0,c.useCallback)((0,b.createSchemaField)({components:{Card:l.Card,Slider:l.Slider,Rate:l.Rate,...p.antdComponents,...p.customComponents,...e.components},scope:s.current}),[]),[f,m]=(0,c.useState)(``),[h,g]=(0,c.useState)(``),_=e=>e[n]===f,v=e=>e===h,y=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(f||h)try{y.current?.current?.focus?.()}catch{}},[f,h]);let S=async(e,t,r={fieldRef:null})=>{let{fieldRef:i}=r||{};y.current=i,a.values={},a?.setValues(e),m(e[n]),g(t)},C=async(t,...n)=>{let r=await(e.onEdit&&e.onEdit(t));S.call(void 0,r,...n)},w=()=>{m(``),g(``),y.current=null},T=async e=>{try{await a?.validate(),i&&await i(a.values,{field:e}),m(``),g(``)}catch(e){console.error(`Validate Failed:`,e)}};return{onEditAFetch:C,onEdit:S,SchemaField:d,mergedColumns:(0,u.cloneDeep)(r)?.map(t=>{let r=t.key===`_$actions`;if(!t.editable&&!r)return t;let i={...t,onCell:(n,...i)=>({...t.onCell?t.onCell(n,...i):{},record:n,SchemaField:d,getField:t.getField,dataIndex:t.dataIndex,title:t.title,editable:t.editable,editing:r?!1:o===`cell`?_(n)&&v(t.dataIndex):_(n),topProps:e.topProps,onEdit:C,onSave:T,onCancel:w})};return r&&(i.render=(e,r)=>o===`line`&&e[n]===f?(0,x.jsxs)(`div`,{className:`edit-table-actions`,children:[(0,x.jsx)(l.Button,{type:`link`,onClick:T,children:`保存`}),(0,x.jsx)(l.Button,{type:`text`,onClick:w,children:`取消`})]}):t.render(e,r)),i})}},De=`table-render`,Oe=(0,c.forwardRef)(function(e,t){let{topProps:n,config:r={},query:i={},i18n:a,setList:o,cellEditTableProps:s}=e,{tableDel:d=`删除`,tableEdit:f=`编辑`,tableDelTip:p=`确认删除该项?`,tableDetail:m=`详情`}=a||{},{dragColConf:h={},isDargTable:g,dargEndBack:_,orderColType:v,orderColWidth:y,tableEmptyValue:S,isShowTableFilter:ee=!1,isTableSortXIdex:A=!1,isCellEditTable:j=!1}=r||{},{editMode:M=`modal`}=n||{},te=M!==`modal`,P=(0,c.useRef)();(0,c.useImperativeHandle)(t,()=>({onEditByTable:J,cellEditTableRef:P,columns:F}));let[F,I]=(0,c.useState)([]),[L,z]=(0,c.useState)([]),B=(0,w.SortableHandle)(()=>(0,x.jsx)(C.MenuOutlined,{style:{cursor:`grab`,color:`#999`}})),H=(0,w.SortableElement)(e=>(0,x.jsx)(`tr`,{...e})),U=(0,w.SortableContainer)(e=>(0,x.jsx)(`tbody`,{...e})),W=({oldIndex:t,newIndex:n})=>{if(t!==n){let r=(0,T.arrayMoveImmutable)(e.list.slice(),t,n).filter(e=>!!e);o([...r]),_&&_(r,i)}},G=e=>(0,x.jsx)(U,{useDragHandle:!0,disableAutoscroll:!0,helperClass:`row-dragging`,onSortEnd:W,...e}),ne=({className:t,style:n,...r})=>{let i=e.list.findIndex(t=>t[e.idKey||`id`]===r[`data-row-key`]);return(0,x.jsx)(H,{index:i,...r})},K=(0,c.useRef)({fields:{},fieldSchemas:{}}),q=(0,c.useMemo)(()=>(0,E.createForm)({initialValues:e.initialValues,readOnly:e.readOnly,disabled:e.disabled,...e.formOptions||{},effects(...t){e.onFormValuesChange&&(0,E.onFormValuesChange)(e.onFormValuesChange),e.onFieldValueChange&&(0,E.onFieldValueChange)(`*`,e.onFieldValueChange),e.formOptions?.effects&&e.formOptions?.effects(...t)}}),[]),{onEdit:J,mergedColumns:Y}=Ee({idKey:e.idKey,columns:F,onEdit:e.onEdit,onEditSubmit:e.onEditSubmit,formRender:q,components:e.components,schemaScope:e.schemaScope,topProps:e.topProps}),X=t=>{let n=K.current?.fields,{Slots:r={}}=e;return t?.map((t,i)=>{if(t.inTable===!1)return;let{name:a,title:o}=t,s=t[`x-component`],c={};e.config?.colConf&&e.config?.colConf[t?.name]&&(c=e.config?.colConf[t?.name]);let d;d=r&&r[t?.name]?function(e,i,a){let o=r[t?.name],s={text:e,record:i,index:a,field:{...t,...n?.[t?.name]},fieldSchema:n?.[t?.name]};return(0,x.jsx)(o,{...s})}:function(e,r,i,...a){let{width:o,ellipsis:d,emptyValue:f,showTags:p,showPrefixNode:m,showMode:h,enumRenderProps:g}=c||{},_=n[t?.name]?.componentProps?.emptyValue,v=f??_??S??``,y=R({...t,...n[t?.name]},r,{fieldSchema:n?.[t?.name]});(y===``||y==null)&&(y=v);let b=(0,x.jsx)(`span`,{className:`inline-block-max-w`,style:{width:o},title:d?.showTitle?y:``,children:y});if(d===!0||d&&d?.showTitle!=1)return(0,x.jsx)(l.Tooltip,{className:`table-cell-ellipsis`,...d,title:y,children:b});if(h||p||m||m!==!1&&s===`Switch`){let e=h;return p?e=O.SHOW_MODE_TYPES.tags:m&&(e=O.SHOW_MODE_TYPES.prefixNode),(0,x.jsx)(D.default,{showMode:e,value:u.default.get(r,t?.name),field:{...t,...n?.[t?.name]},...g})}return b};let f=(0,u.isFunction)(o)?o():o;c?.title&&(f=(0,u.isFunction)(c?.title)?c?.title():c?.title);let p=t[`x-decorator-props`]||{};p.tooltip&&(f=(0,x.jsxs)(`span`,{className:`col-title-tooltip-wrap inline-block-max-w`,children:[f,(0,x.jsx)(l.Tooltip,{className:`col-title-tooltip`,title:p.tooltip,children:(0,x.jsx)(C.QuestionCircleOutlined,{className:`col-title-tooltip-icon`})})]}));let m=n?.[t?.name]?.dataSource?.map(e=>({...e,label:e?.[t?.[`x-component-props`]?.fieldNames?.label]||e?.label,value:e?.[t?.[`x-component-props`]?.fieldNames?.value]||e?.value}));return{getField:()=>t,editable:!0,...c,onCell:(e,r,i)=>c?.onCell?.({...e,_field:{...t,...n?.[t?.name]||{}}},r,i)||{},title:()=>f,key:t?.name,dataIndex:t?.name,type:t[`x-validator`]==`number`?`Number`:s,validatorList:t[`x-validator`]||[],nonEditable:M!=`cell`,values:t?.enum||m||[],cellProps:t.cellProps,children:X(t?.children),render:N(d),required:t?.required}})?.filter(e=>e)};(0,c.useEffect)(()=>{if(!(e.schema&&e.schema.properties))return;let t=V(e.schema,[],{...e.getFieldListOpt,formilyRef:K},A),n=[];v===`page`?n.push({title:`序号`,width:y,render:(e,t,n)=>`${n+1}`}):v==`all`&&n.push({title:`序号`,width:y,render:(e,t,n)=>{let{pageSize:r=10,pageNum:a=1}=i||{};return`${(a-1)*r+(n+1)}`}});let{Slots:r={}}=e,a=Se(t,{scope:e.schemaScope,formilyRef:K});if(n=n.concat(X(a)),e.hasAction!==!1){let{hasEdit:t,hasDel:i,hasDelTips:a,hasDetail:o=!1}=e.config||{},s=e.config?.colConf?._$actions||{};n.push({...s,title:`操作`,key:`_$actions`,type:`_$actions`,nonEditable:!0,render:N(function(n,c,u){let{onEdit:h,onDel:g,onSearch:_,getList:v}=e,y={text:n,record:c,index:u,onEdit:h,onDel:g,onSearch:_,getList:v};if(r?.tableActionsSlot)return(0,x.jsx)(r.tableActionsSlot,{...y});let{editMode:b=`modal`}=e.topProps||{},S=b!==`cell`&&b!==`line-cell`&&(t&&typeof t==`function`?t(c,u):t!==!1),C=o&&typeof o==`function`?o(c,u):o!==!1,w=i&&typeof i==`function`?i(c,u):i!==!1,T=a&&typeof a==`function`?a(c,u):a||p;return(0,x.jsxs)(`div`,{style:{width:s?.width,maxWidth:`100%`},className:`table-render-action`,children:[r?.actionPrefixSlot&&(0,x.jsx)(r.actionPrefixSlot,{...y}),C?(0,x.jsx)(l.Button,{type:`link`,onClick:()=>{e.onDetail&&e.onDetail(c,u)},children:m}):null,S?(0,x.jsx)(l.Button,{type:`link`,onClick:()=>{e.onEdit&&e.onEdit(c,u)},children:f}):null,r?.actionCenterSlot&&(0,x.jsx)(r.actionCenterSlot,{...y}),w?(0,x.jsx)(l.Popconfirm,{placement:`topRight`,title:T,onConfirm:()=>{e.onDel&&e.onDel(c,u)},children:(0,x.jsx)(l.Button,{type:`link`,danger:!0,children:d})}):null,r?.actionSuffixSlot&&(0,x.jsx)(r.actionSuffixSlot,{...y})]})})})}g&&n.unshift({title:``,dataIndex:`sort`,width:60,fixed:`left`,render:()=>(0,x.jsx)(B,{}),...h}),I(n),z(n)},[e.schema,e.config]);let re={scenario:De},Z=(e,t)=>{if(e.target.checked){let e=[...F,t],n=new Map(L.map((e,t)=>[e.key,t]));I(e.sort((e,t)=>n.get(e.key)-n.get(t.key)))}else I(F.filter(e=>e.key!==t.key))},Q={className:`table-render`,rowKey:e?.idKey||`id`,rowSelection:r?.rowSelection,columns:F,dataSource:e.list,pagination:!1,scroll:r.scroll,expandable:r.expandable,loading:e.loading,onRow:r?.onRow,topProps:e.topProps,...e.tableProps};return g&&(Q.components={body:{wrapper:G,row:ne}}),te&&(Q.columns=Y,Q.components={body:{...Q?.components?.body,cell:Te}}),(0,x.jsxs)(`div`,{className:`table-render-wrap`,children:[ee?(0,x.jsxs)(`div`,{className:`table-render-wrap-header`,children:[(0,x.jsxs)(`div`,{className:`table-filter`,onClick:()=>{e.setShowSearch&&e.setShowSearch()},children:[(0,x.jsx)(C.FilterOutlined,{className:`table-filter-icon`}),`显示过滤项`]}),(0,x.jsx)(l.Popover,{placement:`bottomRight`,content:(0,x.jsx)(`div`,{className:`table-popover-content`,children:L.map(e=>e.key===`_$actions`?null:(0,x.jsx)(l.Checkbox,{checked:F.findIndex(t=>t.key===e.key)!==-1,onChange:t=>Z(t,e),children:e.title},e.key))}),trigger:`click`,children:(0,x.jsxs)(`div`,{className:`table-filter`,children:[(0,x.jsx)(C.SettingOutlined,{className:`table-filter-icon`}),`显示列`]})})]}):null,j?(0,x.jsx)(k.default,{ref:P,...Q,...s,...e,onEditSubmit:e?.onEditSubmit,Slots:e?.Slots,rowSelection:r?.rowSelection,query:i}):(0,x.jsx)(x.Fragment,{children:te?(0,x.jsx)(b.FormProvider,{form:q,children:(0,x.jsx)(l.Form,{layout:`vertical`,children:(0,x.jsx)(b.FormConsumer,{children:()=>(0,x.jsx)(l.Table,{...Q})})})}):(0,x.jsx)(l.Table,{...Q})}),(0,x.jsx)(we,{schema:e.schema,formilyRef:K,components:e.components,topProps:n,schemaScope:{...re,...e.schemaScope},reactionOpts:re})]})});function ke(e){let t=(0,S.c)(16),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={},t[0]=n):n=t[0];let[r,i]=(0,c.useState)(n),{config:a,cardProps:o,query:s,i18n:u,onEdit:d,onDel:f,onSearch:p,getList:m,Slots:h,loading:g}=e,_=a===void 0?{}:a,v;t[1]===o?v=t[2]:(v=o===void 0?{}:o,t[1]=o,t[2]=v);let y=v,b;t[3]===h?b=t[4]:(b=h===void 0?{}:h,t[3]=h,t[4]=b);let C=b,w;t[5]===u?w=t[6]:(w=u||{},t[5]=u,t[6]=w);let{tableDel:T,tableEdit:E,tableDelTip:D,tableDetail:O}=w,k=T===void 0?`删除`:T,ee=E===void 0?`编辑`:E,j=D===void 0?`确认删除该项?`:D,M=O===void 0?`详情`:O,{columns:te,CardItemRender:N,hasEdit:P,hasDel:F,hasDelTips:I,hasDetail:L}=_||{},R=te===void 0?3:te,z=L!==void 0&&L,B={onEdit:d,onDel:f,onSearch:p,getList:m},V;t[7]===e.schema?V=t[8]:(V=()=>{let t=ne(e?.schema);i(t)},t[7]=e.schema,t[8]=V);let H=e?.schema,U=e?.schema?.schema,W;t[9]!==H||t[10]!==U?(W=[H,U],t[9]=H,t[10]=U,t[11]=W):W=t[11],(0,c.useEffect)(V,W);let G=(t,n)=>{let r=e.config?.colConf?._$actions||{},i={record:t,index:n,...B};if(C?.tableActionsSlot)return(0,x.jsx)(C.tableActionsSlot,{...i});let a=P&&typeof P==`function`?P(t,n):P!==!1,o=z&&typeof z==`function`?z(t,n):z!==!1,s=F&&typeof F==`function`?F(t,n):F!==!1,c=I&&typeof I==`function`?I(t,n):I||j;return(0,x.jsxs)(`div`,{style:{width:r?.width,maxWidth:`100%`},children:[C?.actionPrefixSlot&&(0,x.jsx)(C.actionPrefixSlot,{...i}),o?(0,x.jsx)(l.Button,{type:`link`,onClick:()=>{e.onDetail&&e.onDetail(t,n)},children:M}):null,a?(0,x.jsx)(l.Button,{type:`link`,onClick:()=>{e.onEdit&&e.onEdit(t,n)},children:ee}):null,C?.actionCenterSlot&&(0,x.jsx)(C.actionCenterSlot,{...i}),s?(0,x.jsx)(l.Popconfirm,{placement:`topRight`,title:c,onConfirm:()=>{e.onDel&&e.onDel(t,n)},children:(0,x.jsx)(l.Button,{type:`link`,danger:!0,children:k})}):null,C?.actionSuffixSlot&&(0,x.jsx)(C.actionSuffixSlot,{...i})]})},K=t=>{let{item:n,index:i}=t;return N?(0,x.jsx)(N,{item:n,index:i,functionProps:B}):(0,x.jsx)(A.default,{config:e.config,schema:r,bordered:!1,data:n,schemaScope:{scenario:`table-render`,...e.schemaScope},components:e.components,...y})},q=l.Spin,J=e.list?.length>0?(0,x.jsx)(`div`,{className:`card-render-wrap`,style:{gridTemplateColumns:`repeat(${R}, 1fr`},children:e.list?.map((t,n)=>(0,x.jsxs)(`div`,{className:`item-render-card`,children:[e.hasAction===!1?null:(0,x.jsx)(`div`,{className:`item-render-card-title`,children:G(t,n)}),(0,x.jsx)(`div`,{className:`item-render-card-content`,children:(0,x.jsx)(K,{item:t,index:n})})]},t.id))}):(0,x.jsx)(l.Empty,{image:l.Empty.PRESENTED_IMAGE_SIMPLE}),Y;return t[12]!==q||t[13]!==g||t[14]!==J?(Y=(0,x.jsx)(q,{spinning:g,children:J}),t[12]=q,t[13]=g,t[14]=J,t[15]=Y):Y=t[15],Y}var Ae=null;function je(e,t){let{modalMode:n,Slots:r={},modalConf:i={},modalProps:a={}}=e,[o,s]=(0,c.useState)(!1),[d,f]=(0,c.useState)(`新增`),[m,h]=(0,c.useState)(!1),g=(0,c.useRef)(),_=(0,c.useRef)(`create`),v=(0,c.useMemo)(()=>e.Slots?.FormSlot,[e.Slots?.FormSlot]);function y(t=e.formInitialValues,n,r=`create`){_.current=r||`create`,h(!0),g.current?.formRender?.setValues?(g.current?.formRender?.setValues(t),Ae=null):Ae=t,f(n||`新增`)}function b(){e.onClose&&e.onClose(),h(!1),g.current?.formRender?.reset()}if((0,c.useImperativeHandle)(t,()=>({show:y,close:b,cancel:b,onOk:S,formRef:g})),!m)return null;function S(){C().then(async()=>{let t=u.default.cloneDeep(await g.current?.formRender?.values);if(!(i.beforeSubmit&&await i.beforeSubmit(t,{cancel:b,formRef:g,scenario:_.current})===!1)){try{s(!0),await(e.onSubmit&&e.onSubmit(t)),b()}catch(e){console.error(e)}s(!1)}})}function C(e=!1){return new Promise((t,n)=>{g.current?.formRender?.validate().then(e=>{t(e)}).catch(t=>{n(t),console.error(`Error validate: `,t),!e&&l.message.error(`输入有误!`)})})}let w,T={cancel:b,onOk:S,close:b,formRef:g,validate:C,scenario:_.current};i?.footer?w=typeof i?.footer==`function`?i.footer({...T,options:T}):i?.footer:(w=[],r.modalFooterPre&&w.push((0,x.jsx)(r.modalFooterPre,{options:T},`pre`)),w.push((0,x.jsx)(l.Button,{onClick:b,children:i.cancelText||`取 消`},`cancel`)),r.modalFooterCenter&&w.push((0,x.jsx)(r.modalFooterCenter,{options:T},`center`)),w.push((0,x.jsx)(l.Button,{type:`primary`,onClick:S,loading:o,children:i.okText||`确 定`},`confirm`)),r.modalFooterSuffix&&w.push((0,x.jsx)(r.modalFooterSuffix,{options:T},`suffix`)));function E(){e.modalFormMount&&e.modalFormMount(),Ae&&=(g.current?.formRender?.setValues(Ae),null)}let D=n===`drawer`?l.Drawer:l.Modal,O={className:`form-modal`,wrapClassName:`form-modal`,title:d,visible:m,open:m,onClose:b,onCancel:b,onOk:S,footer:w,maskClosable:a.maskClosable||!1,width:i?.width??720,destroyOnClose:!0,...a};return(0,x.jsxs)(D,{...O,children:[v?(0,x.jsx)(v,{...e,formRef:g,scenario:_.current,schema:e.schema}):(0,x.jsx)(p.default,{...e.formProps,ref:g,schema:e.schema,schemaScope:{scenario:_.current,...e.schemaScope||{}},components:e.components}),(0,x.jsx)(Me,{didMount:E})]})}function Me(e){let t=(0,S.c)(3),n;t[0]===e?n=t[1]:(n=()=>{e.didMount()},t[0]=e,t[1]=n);let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[2]=r):r=t[2],(0,c.useEffect)(n,r),null}var Ne=(0,c.forwardRef)(je),Pe=null;function Fe(e,t){let{modalMode:n,Slots:r={},modalConf:i={},modalProps:a={}}=e,[o,s]=(0,c.useState)(!1),[u,d]=(0,c.useState)({}),[f,p]=(0,c.useState)(`详情`),m=(0,c.useRef)();function h(t=e.formInitialValues,n){s(!0),d(t),p(n||`详情`)}function g(){e.onClose&&e.onClose(),s(!1),m.current?.formRender?.reset()}if((0,c.useImperativeHandle)(t,()=>({show:h,close:g,cancel:g,formRef:m})),!o)return null;let _,v={close:g,formRef:m,scenario:`detail`};i?.footer?_=typeof i?.footer==`function`?i.footer({...v,options:v}):i?.footer:(_=[],r.modalFooterPre&&_.push((0,x.jsx)(r.modalFooterPre,{options:v},`pre`)),_.push((0,x.jsx)(l.Button,{onClick:g,children:i.okText||`关 闭`},`confirm`)),r.modalFooterSuffix&&_.push((0,x.jsx)(r.modalFooterSuffix,{options:v},`suffix`)));function y(){e.modalFormMount&&e.modalFormMount(),Pe&&=(d(Pe),null)}let b=n===`drawer`?l.Drawer:l.Modal,S={className:`detail-modal`,wrapClassName:`detail-modal`,title:f,visible:o,open:o,onClose:g,onCancel:g,footer:_,maskClosable:a.maskClosable||!1,width:i?.width??720,destroyOnClose:!0,...a};return(0,x.jsxs)(b,{...S,children:[(0,x.jsx)(A.default,{...e.detailProps,components:e.components,schema:e.schema,schemaScope:{scenario:`detail`,...e.schemaScope||{}},data:u}),(0,x.jsx)(Ie,{didMount:y})]})}function Ie(e){let t=(0,S.c)(3),n;t[0]===e?n=t[1]:(n=()=>{e.didMount()},t[0]=e,t[1]=n);let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=[],t[2]=r):r=t[2],(0,c.useEffect)(n,r),null}var Le=(0,c.forwardRef)(Fe);function Re(e){return e!=null}var ze=e=>{let{searchQuery:t,schema:n,queryRef:r,onSearch:i}=e,[a,o]=(0,c.useState)([]);(0,c.useEffect)(()=>{if(r){let e=[],i=r.current?.formRef?.current?.formRender?.fields;for(let r in n?.schema?.properties){let a=n?.schema?.properties[r];if(Re(t[r])){let n=(0,j.getVal)({...a,...i[a?.name]},t,{fieldSchema:i?.[a?.name]});e.push({label:a?.title,value:n,filed:r,filedValue:t[r]})}}o(e)}},[t,n,r]);let s=(e,t)=>{e.preventDefault(),r.current?.formRef?.current?.formRender.setValues({[t?.filed]:null}),i&&i(r.current?.formRef?.current?.formRender?.values),o(e=>e?.filter(e=>e?.filed!=t?.filed))};return(0,x.jsx)(`div`,{className:`has-filter`,children:a?.map(e=>(0,x.jsxs)(l.Tag,{className:`has-filter-tag`,closable:!0,onClose:t=>{s(t,e)},children:[e?.label,`:`,e?.value]}))})},Be={default:[10,20,50,100],card:[9,18,54,99]},Ve=(0,c.forwardRef)(function(e,t){let{layout:n=`default`,idKey:r=`id`,i18n:i,queryFormIsExtendModelQuery:a=!1,queryFormInitialValues:o={},dialogConf:s={},modalConf:f={},isPatchUpdate:p=!1,modalMode:m=`dialog`,useFormData:h,appendUrlQuery:g=!1,appendUrlQueryKey:_=M,hasFilterTag:v=!1}=e,{isAllSelect:y=!1,isAllSelectKey:b=`isAllSelect`}=e.paginationConf||{},S=e.paginationConf?.pageSizeOptions||Be[e.layout]||[10,20,50,100],{createText:C=e.createText}=i||{},[w,T]=(0,c.useState)(0),[E,D]=(0,c.useState)([]),[O,k]=(0,c.useState)(``),[ee,A]=(0,c.useState)(!1),j=(0,c.useRef)(),N=(0,c.useRef)(),P=(0,c.useRef)(),F=(0,c.useRef)({...o||{}}),I=(0,c.useRef)({pageNum:1,pageSize:S[0]}),L=h??s.useFormData??f?.useFormData,R=(0,c.useRef)(),[z,B]=(0,c.useState)(!0),V=(0,c.useRef)({}),[H,W]=(0,c.useState)({});(0,c.useImperativeHandle)(t,()=>({getList:X,onSearch:Z,onQueryFormSubmit:Q,forceUpdate:ae,formModalRef:j,formDialogRef:j,queryRef:P,onCreate:oe,onEdit:pe,onDel:ge,tableRef:V}));let{schema:G={},config:ne={},model:K={},msgConf:q={},filters:J}=e;(0,c.useEffect)(()=>{let t=g?fe(_):{};K&&(K.query?(K.query.pageNum=1,I.current={pageNum:t?.pageNum||K?.query?.pageNum||I.current?.pageNum,pageSize:t?.pageSize||K?.query?.pageSize||I.current?.pageSize}):K.query={}),Promise.resolve().then(()=>{if(P.current&&P.current?.formRef?.current?.formRender&&g){let e=_e(J,G,t);P.current.formRef.current.formRender?.setValues(e),F.current=u.default.cloneDeep(P.current.formRef.current.formRender?.values)}!e.closeAutoRequest&&X({})})},[]),(0,c.useEffect)(()=>{Array.isArray(e.list)&&X()},[e.list]);let Y=e=>{l.message.error({className:`list-render-err-message`,...q,content:e||`未知错误`})};function X(t={}){return Promise.resolve().then(()=>{if(!K?.getList&&Array.isArray(e.list)){A(!0);let{list:t}=e,{pageNum:n=1,pageSize:r=S[0]}=I.current||{};D(e?.hasPagination===!1?t:t.slice(r*(n-1),n*r)),T(t.length),e.onGetListEnd&&e.onGetListEnd({list:t,pagination:{pageNum:n,pageSize:r}}),A(!1);return}if(!K?.getList)return;A(!0);let n={...F.current,...t,...I.current};n.$timerange!==void 0&&delete n.$timerange,R.current?.cancel({code:601,message:`取消上一次请求`}),R.current=(0,d.getCancelTokenSource)();let r=(0,u.cloneDeep)(n);return y&&r.pageSize===1/0&&(r[b]=!0,r.pageSize=void 0),K?.getList(r,{},{cancelToken:R.current?.token}).then(t=>{R.current=null,D(t.list),T(t.pagination?.total),e.onGetListEnd&&e.onGetListEnd(t),A(!1)}).catch(e=>{let t=d.isCancel||d.default.isCancel;return typeof t==`function`&&t(e)?(console.info(`请求已取消:`,``,e.message),Promise.reject(e)):(Y(e?._message),A(!1),Promise.reject(e))})})}function re(e,t){K&&!K.query&&(K.query={}),I.current={pageNum:e,pageSize:t},g&&ue({...fe(_),...I.current},_),X()}function Z(e,t={}){let{isSaveQuery:n=!0,isMergeQuery:r=!0}=t||{};return K&&!K.query&&(K.query={}),I.current={...I.current,pageNum:1},K&&K.query&&!K.query.pageSize&&(K.query.pageSize=S[0]),n&&(F.current={...r?F.current:{},...e}),X(e)}function Q(e,t){return W(e),g&&(t?de(_,``,!0):ue(e,_)),F.current=e,Z(e)}function ie(e,t){if(g)try{let{componentType:t,value:n,path:r}=e;if(te.includes(t)&&(n===``||n?.length===0||n===void 0)){let e=r.entire;e&&de(_,e)}}catch(e){console.error(`url参数清除失败`,e)}}function ae(){D(e=>u.default.cloneDeep(e))}function oe(){k(`create`);let t=e.formInitialValues?.[f?.title?.createKey]||f?.title?.createText||`新增`;j.current.show(e.formInitialValues,t)}async function se(t){let n=t;return typeof K?.createMap==`function`&&(n=await K.createMap(t)),L&&(n=U(n)),K?.create(n).then(t=>{X(),l.message.success(t._message||`新增成功`),e.onCreateSuc&&e.onCreateSuc(t)}).catch(e=>(console.error(`err`,e),Y(e._message),Promise.reject(e)))}function ce(t,n){if(e.fetchOnEdit!==!1){let n={};e.fetchById===!1?n[r]=t[r]:n.id=t[r],K.get(n).then(e=>{le(e,t[r])}).catch(e=>(console.error(`err`,e),Y(e._message),Promise.reject(e)))}else le(t,t[r])}function le(e,t){let n=e[f?.title?.detailKey]||f?.title?.detailText||`详情`;N.current.show(e,n)}function pe(t,n){if(k(`edit`),e.fetchOnEdit!==!1){let n={};return e.fetchById===!1?n[r]=t[r]:n.id=t[r],K.get(n).then(e=>(me(e,t[r]),e)).catch(e=>(console.error(`err`,e),Y(e._message),Promise.reject(e)))}return me(t,t[r]),Promise.resolve(t)}function me(t,n){let{editMode:r=`modal`}=e;if(r==`line`)return V.current.onEditByTable(t,n);if(r===`modal`){let e=t[f?.title?.editKey]||f?.title?.editText||`编辑`;j.current.show(t,e,`edit`)}}async function he(t,n){let i=t;return p?typeof K?.patchMap==`function`&&(i=await K.patchMap(t,n)):typeof K?.updateMap==`function`&&(i=await K.updateMap(t,n)),e.onEditReqVerify&&await e.onEditReqVerify(i),L&&(i=U(i)),(p?K?.patch:K?.update).bind(K)(i,{id:t[r]}).then(t=>{X(),l.message.success(t?._message||`编辑成功`),e.onEditSuc&&e.onEditSuc(t)}).catch(e=>(console.error(`err`,e),Y(e._message),Promise.reject(e)))}function ge(t,n){return K?.delete({id:t[r]}).then(t=>{l.message.success(t._message||`删除成功`),e.onDelSuc&&e.onDelSuc(t),X()}).catch(e=>(Y(e._message),Promise.reject(e)))}let{Slots:$={}}=e,ve={...e.dialogConf,...f},xe={...e.dialogFormProps,...e.modalFormProps},Se=e.onFormDialogClose??e.onFormModalClose,Ce={...e.dialogProps,...e.modalProps},we=e.dialogFormMount??e.modalFormMount,Te=()=>{B(!z)};return(0,x.jsxs)(`div`,{className:`list-render ${e.className}`,children:[(0,x.jsxs)(`div`,{className:`list-header ${e.verticalHeader?`vertical-header`:``}`,children:[e.hasQuery!==!1&&z?(0,x.jsx)(ye,{ref:P,schema:G,search:e.search,filters:e.filters,config:e.queryConf,queryFormInitialValues:{...o,...a?K.query:{}},onSearch:Q,onReset:Q,schemaScope:e.schemaScope,components:e.components,onFieldValueChange:ie,i18n:i}):(0,x.jsx)(`div`,{className:`query-render`}),(0,x.jsxs)(`div`,{className:`header-actions-render`,children:[$.headerActionPrefix&&(0,x.jsx)($.headerActionPrefix,{onCreate:oe,onSearch:Z,getList:X,i18n:i}),e.hasCreate===!1?null:(0,x.jsx)(l.Button,{onClick:oe,type:`primary`,children:C||`新增`}),$.headerActionSuffix&&(0,x.jsx)($.headerActionSuffix,{onCreate:oe,onSearch:Z,getList:X,i18n:i})]})]}),v&&(0,x.jsx)(ze,{searchQuery:H,schema:G,queryRef:P,onSearch:Z}),$.HeaderOthersSuffix&&(0,x.jsx)($.HeaderOthersSuffix,{onSearch:Z,getList:X}),n===`card`?(0,x.jsx)(ke,{idKey:r,schema:G,list:E,config:e.cardConf,cardProps:e.cardProps,hasAction:e.hasAction,query:K?.query,Slots:e.Slots,onEdit:pe,onDel:ge,onDetail:ce,onSearch:Z,getList:X,loading:ee,components:e.components,schemaScope:e.schemaScope,i18n:i}):null,n==="default"?(0,x.jsx)(Oe,{idKey:r,ref:V,schema:G?.schema,list:E,config:e.tableConf,hasAction:e.hasAction,query:{...K?.query,...I.current},Slots:e.Slots,onEdit:pe,onDel:ge,setList:D,onDetail:ce,onSearch:Z,getList:X,setShowSearch:Te,loading:ee,tableProps:e.tableProps,getFieldListOpt:{...e.getFieldListOpt,schemaScope:e.schemaScope},components:e.components,schemaScope:e.schemaScope,i18n:i,onEditSubmit:he,topProps:e,cellEditTableProps:e?.cellEditTableProps}):null,e.hasPagination===!1?null:(0,x.jsx)(be,{layout:n,onChange:re,total:w,query:{...K?.query,...I.current},config:e.paginationConf,pageSizeOptions:S,i18n:i}),(0,x.jsx)(Ne,{ref:j,schema:G,formInitialValues:e.formInitialValues,components:e.components,schemaScope:e.schemaScope,formProps:xe,modalMode:m,modalConf:ve,onClose:Se,onSubmit:O===`edit`?he:se,Slots:e.Slots,modalProps:Ce,modalFormMount:we,i18n:i}),(0,x.jsx)(Le,{ref:N,schema:G,formInitialValues:e.formInitialValues,components:e.detailComponents,schemaScope:e.schemaScope,detailProps:e.dialogDetailProps||e.modalDetailProps,modalMode:m,modalConf:ve,onClose:Se,Slots:e.Slots,modalProps:Ce,modalFormMount:we})]})});Ve.defaultProps={model:{query:{}}};var He=Ve;module.exports=He;var Ue=require("@hzab/data-model");Object.keys(Ue).forEach(function(e){e!=="default"&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:function(){return Ue[e]}})});
|
package/dist/index.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
.query-render .xxm,.query-render .form-render{display:inline-block}.query-render .ant-form-inline,.query-render .ant-form-inline>form{flex-wrap:wrap;display:inline-flex}.query-render .ant-form-inline .ant-formily-item-control,.query-render .ant-form-inline>form .ant-formily-item-control{min-width:200px}.query-render .ant-form-inline .ant-picker-range,.query-render .ant-form-inline>form .ant-picker-range{min-width:340px}.query-render .ant-form-inline .ant-formily-item-layout-inline,.query-render .ant-form-inline>form .ant-formily-item-layout-inline{margin-bottom:12px;margin-right:12px}.query-render .query-operation .query-btn{margin-bottom:12px}.query-render .query-operation .query-btn+.query-btn{margin-left:12px}.pagination-render-wrap{justify-content:flex-end;align-items:center;padding-top:20px;display:flex}.pagination-render-wrap .pagination-render li{margin-bottom:8px}.pagination-render-wrap .pagination-infinity .ant-pagination-options .rc-virtual-list-holder-inner .ant-select-item:last-child .ant-select-item-option-content{color:#0000;position:relative}.pagination-render-wrap .pagination-infinity .ant-pagination-options .rc-virtual-list-holder-inner .ant-select-item:last-child .ant-select-item-option-content:after{color:#000000d9;cursor:pointer;content:"全部";transition:background .3s;position:absolute;top:0;left:0}.pagination-render-wrap .pagination-infinity-checked .ant-pagination-options .ant-select-selector .ant-select-selection-item{color:#0000;position:relative}.pagination-render-wrap .pagination-infinity-checked .ant-pagination-options .ant-select-selector .ant-select-selection-item:after{color:#000000d9;cursor:pointer;content:"全部";visibility:visible;transition:background .3s;position:absolute;top:0;left:0}.table-render-wrap .table-render-wrap-header{justify-content:flex-end;align-items:center;margin-bottom:12px;padding:0 12px;display:flex}.table-render-wrap .table-render-wrap-header .table-filter{cursor:pointer;font-size:16px}.table-render-wrap .table-render-wrap-header .table-filter .table-filter-icon{cursor:pointer;margin:0 4px 0 10px}.table-render-wrap .inline-block-max-w{max-width:100%;display:inline-block}.table-render-wrap .col-title-tooltip-icon{margin-left:8px}.table-render-wrap .table-render{border-top:1px solid #f0f0f0}.table-render-wrap .table-cell-ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-render-wrap .editable-table-cell{align-items:center;display:flex}.table-render-wrap .editable-table-cell .ant-formily-item{margin-bottom:0}.table-render-wrap .editable-table-cell .table-cell-edit-icon{cursor:pointer;color:var(--ant-primary-color,#1890ff);opacity:0;margin-left:8px}.table-render-wrap .editable-table-cell .cell-editing-actions{display:inline-block}.table-render-wrap .editable-table-cell .cell-editing-actions .table-cell-confirm-icon,.table-render-wrap .editable-table-cell .cell-editing-actions .table-cell-cancel-icon{cursor:pointer;margin-left:12px}.table-render-wrap .editable-table-cell .cell-editing-actions .table-cell-confirm-icon{color:var(--ant-primary-color,#1890ff)}.table-render-wrap .editable-table-cell:hover .table-cell-edit-icon{opacity:1}.row-dragging{background:#fff;border:1px solid #ccc;justify-content:space-between;align-items:center;display:flex}.row-dragging td{padding:16px}.row-dragging .drag-visible{visibility:visible}.table-popover-content{flex-direction:column;max-width:400px;display:flex}.table-popover-content .ant-checkbox-wrapper{margin-bottom:8px;margin-left:0!important}.card-render-wrap{grid-gap:12px;padding:0 12px;display:grid}.card-render-wrap .item-render-card{border:1px solid #f0f0f0}.card-render-wrap .item-render-card:hover{border:1px solid var(--ant-primary-color);box-shadow:0 0 10px var(--ant-primary-color)}.card-render-wrap .item-render-card:hover .item-render-card-title{border-color:var(--ant-primary-color)}.card-render-wrap .item-render-card .item-render-card-title{text-align:right;border-bottom:1px solid #f0f0f0;padding:8px 0}.card-render-wrap .item-render-card .item-render-card-content{padding:12px 12px 0}.form-modal .ant-drawer-footer .ant-btn+.ant-btn,.form-modal ant-modal-footer .ant-btn+.ant-btn{margin-left:12px}.has-filter{margin-bottom:16px}.has-filter .has-filter-tag{color:#403ef5;background:#403ef533;border-radius:4px;margin-bottom:8px}.has-filter .has-filter-tag .anticon-close{color:#403ef5}.list-render .list-header{justify-content:space-between;align-items:flex-end;display:flex}.list-render .list-header .header-actions-render{text-align:right}.list-render .list-header .header-actions-render .ant-btn{margin-bottom:12px}.list-render .list-header .header-actions-render .ant-btn+.ant-btn{margin-left:12px}.list-render .list-header.vertical-header{display:block}.list-render-err-message .ant-message-notice-content .ant-message-error{display:flex}.list-render-err-message .ant-message-notice-content .ant-message-error>span:last-child{text-align:left;white-space:pre-line}
|
|
2
|
+
/*$vite$:1*/
|