openxiangda 1.0.41 → 1.0.43
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/README.md +60 -0
- package/package.json +1 -1
- package/packages/sdk/dist/components/index.cjs +2 -0
- package/packages/sdk/dist/components/index.cjs.map +1 -1
- package/packages/sdk/dist/components/index.d.mts +4 -1071
- package/packages/sdk/dist/components/index.d.ts +4 -1071
- package/packages/sdk/dist/components/index.mjs +2 -0
- package/packages/sdk/dist/components/index.mjs.map +1 -1
- package/packages/sdk/dist/runtime/index.cjs +47838 -93
- package/packages/sdk/dist/runtime/index.cjs.map +1 -1
- package/packages/sdk/dist/runtime/index.css +5313 -0
- package/packages/sdk/dist/runtime/index.css.map +1 -0
- package/packages/sdk/dist/runtime/index.d.mts +165 -1
- package/packages/sdk/dist/runtime/index.d.ts +165 -1
- package/packages/sdk/dist/runtime/index.mjs +47018 -103
- package/packages/sdk/dist/runtime/index.mjs.map +1 -1
- package/packages/sdk/dist/types-U26h_FIh.d.mts +1073 -0
- package/packages/sdk/dist/types-U26h_FIh.d.ts +1073 -0
- package/templates/sy-lowcode-app-workspace/src/dev/App.tsx +780 -28
- package/templates/sy-lowcode-app-workspace/src/runtime/builtin-overrides.tsx +8 -0
- package/templates/sy-lowcode-app-workspace/tsconfig.app.json +17 -1
- package/templates/sy-lowcode-app-workspace/vite.config.ts +81 -28
|
@@ -1,1075 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { T as FormEngineConfig, _ as FormSchema, I as FieldBehavior, ak as OptionItem, X as FormRuntimeApi, Z as FormRuntimeConfig, M as FormAppearanceConfig, b1 as ValidationPreset, b2 as ValidationRule, P as FormEffect, Y as FormRuntimeApiConfig, al as OptionSourceConfig, av as ProcessStatus, aN as StatusMeta, aU as TaskStatus, c as ApprovalPermission, N as FormDataDeleteParams, n as ChangeRecordQueryParams, m as ChangeRecordListResponse, O as FormDataQueryParams, V as FormInstanceData, a5 as InitiatorSelectCandidate, a6 as InitiatorSelectRequirement, ar as ProcessBasicInfo, as as ProcessDefinition, aw as ProcessTask, aC as ReturnableNodeResult, aB as ReturnableNode, b3 as ViewPermissionQueryParams, b4 as ViewPermissionSummary, d as ApproveParams, ap as PreviewParams, au as ProcessRoute, ay as ResubmitParams, az as ReturnParams, aH as SaveTaskParams, aZ as TransferParams, b5 as WithdrawParams, J as FieldDefinition, aG as RuntimeResponse, aW as TextFieldProps, aj as NumberFieldProps, aV as TextAreaFieldProps, aJ as SelectFieldProps, ai as MultiSelectFieldProps, ax as RadioFieldProps, o as CheckboxFieldProps, r as DateFieldProps, C as CascadeDateFieldProps, h as AttachmentFieldProps, a4 as ImageFieldProps, aR as SubFormFieldProps, b0 as UserSelectFieldProps, x as DepartmentSelectFieldProps, k as CascadeSelectFieldProps, A as AddressFieldProps, f as AssociationFormFieldProps, G as EditorFieldProps, F as EditorChoiceOption, aK as SerialNumberFieldProps, ac as LocationFieldProps, z as DigitalSignatureFieldProps, a9 as JSONFieldProps, aq as ProcessAction, a8 as InitiatorSelectedApprovers, aA as ReturnPolicy, l as ChangeRecord, aM as StandardFormPageMode, ah as LowcodePageSchema } from '../types-U26h_FIh.js';
|
|
2
|
+
export { a as AddressValue, b as ApprovalActionType, e as AssociationFormConfig, g as AssociationValue, i as AttachmentItem, B as BaseFieldProps, j as BaseLayoutNode, D as DataFilter, p as DataLinkageCondition, q as DataLinkageConfig, s as DateRangeRestriction, t as DateRestrictionConfig, u as DateShortcutConfig, v as DateShortcutType, w as DefaultValueLinkageConfig, y as DepartmentTreeNode, E as DigitalSignatureValue, H as EditorToolbarAction, K as FieldLayoutNode, L as FieldValueSyncConfig, Q as FormEffectAction, R as FormEffectCondition, S as FormEffectConditionOperator, U as FormEngineMode, W as FormLayoutNode, $ as FormSection, a0 as FormSectionProps, a1 as FormTemplateConfig, a2 as GridLayoutCell, a3 as GridLayoutNode, a7 as InitiatorSelectScope, aa as LayoutVisibleWhen, ab as LinkedFormOptionConfig, ad as LocationValue, ae as LowcodePageMeta, af as LowcodePageNode, ag as LowcodePageNodeType, am as OptionSourceType, an as PeopleShortcutConfig, ao as PeopleShortcutType, at as ProcessNodeType, aD as RuntimeDataQueryParams, aE as RuntimeDataQueryResult, aF as RuntimeRequestConfig, aI as SectionLayoutNode, aL as SignaturePoint, aO as StepLayoutItem, aP as StepsLayoutNode, aQ as SubFormColumn, aS as TabLayoutItem, aT as TabsLayoutNode, aX as TextShortcutConfig, aY as TextShortcutType, a_ as UserDisplayFormat, a$ as UserItem } from '../types-U26h_FIh.js';
|
|
2
3
|
import * as React from 'react';
|
|
3
4
|
import React__default from 'react';
|
|
4
|
-
|
|
5
|
-
type FormSectionVariant = 'plain' | 'card';
|
|
6
|
-
type FormSectionAccent = 'blue' | 'green';
|
|
7
|
-
type FormSectionIconKey = 'user' | 'calendar' | 'file' | 'device';
|
|
8
|
-
interface FormSectionProps {
|
|
9
|
-
title: string;
|
|
10
|
-
description?: string;
|
|
11
|
-
variant?: FormSectionVariant;
|
|
12
|
-
accent?: FormSectionAccent;
|
|
13
|
-
icon?: React__default.ReactNode;
|
|
14
|
-
iconKey?: FormSectionIconKey;
|
|
15
|
-
collapsible?: boolean;
|
|
16
|
-
defaultCollapsed?: boolean;
|
|
17
|
-
className?: string;
|
|
18
|
-
titleClassName?: string;
|
|
19
|
-
contentClassName?: string;
|
|
20
|
-
children: React__default.ReactNode;
|
|
21
|
-
}
|
|
22
|
-
declare function FormSection({ title, description, variant, accent, icon, iconKey, collapsible, defaultCollapsed, className, titleClassName, contentClassName, children, }: FormSectionProps): react_jsx_runtime.JSX.Element;
|
|
23
|
-
|
|
24
|
-
/** 字段行为状态 */
|
|
25
|
-
type FieldBehavior = 'NORMAL' | 'READONLY' | 'DISABLED' | 'HIDDEN';
|
|
26
|
-
type FormEngineMode = 'submit' | 'edit' | 'readonly';
|
|
27
|
-
type StandardFormPageMode = FormEngineMode | 'detail' | 'process';
|
|
28
|
-
/** 校验预设模式 */
|
|
29
|
-
type ValidationPreset = 'phone' | 'idCard' | 'email' | 'url' | 'bankCard';
|
|
30
|
-
/** 校验规则 */
|
|
31
|
-
interface ValidationRule {
|
|
32
|
-
required?: boolean;
|
|
33
|
-
message?: string;
|
|
34
|
-
min?: number;
|
|
35
|
-
max?: number;
|
|
36
|
-
minLength?: number;
|
|
37
|
-
maxLength?: number;
|
|
38
|
-
preset?: ValidationPreset;
|
|
39
|
-
pattern?: RegExp | string;
|
|
40
|
-
validator?: (value: any) => Promise<void> | void;
|
|
41
|
-
}
|
|
42
|
-
/** 字段声明(schema 中的每个字段定义) */
|
|
43
|
-
interface FieldDefinition {
|
|
44
|
-
fieldId: string;
|
|
45
|
-
componentName: string;
|
|
46
|
-
label: string;
|
|
47
|
-
required?: boolean;
|
|
48
|
-
rules?: ValidationRule[];
|
|
49
|
-
behavior?: FieldBehavior;
|
|
50
|
-
placeholder?: string;
|
|
51
|
-
tips?: string;
|
|
52
|
-
defaultValue?: any;
|
|
53
|
-
defaultValueType?: 'static' | 'expression';
|
|
54
|
-
defaultValueExpression?: string;
|
|
55
|
-
[key: string]: any;
|
|
56
|
-
}
|
|
57
|
-
type DateShortcutType = 'today' | 'yesterday' | 'tomorrow' | 'currentWeek' | 'currentMonth' | 'pastDays' | 'futureDays';
|
|
58
|
-
interface DateShortcutConfig {
|
|
59
|
-
type: DateShortcutType;
|
|
60
|
-
amount?: number;
|
|
61
|
-
format?: string;
|
|
62
|
-
includeTime?: boolean;
|
|
63
|
-
}
|
|
64
|
-
type PeopleShortcutType = 'currentUser' | 'currentDepartment' | 'parentDepartment' | 'role' | 'fixed' | 'currentUserManager' | 'currentUserManager2';
|
|
65
|
-
interface PeopleShortcutConfig {
|
|
66
|
-
type: PeopleShortcutType;
|
|
67
|
-
roleId?: string;
|
|
68
|
-
values?: any[];
|
|
69
|
-
}
|
|
70
|
-
type TextShortcutType = 'currentUserName' | 'currentUserJobNumber' | 'currentDeptName' | 'uuid';
|
|
71
|
-
interface TextShortcutConfig {
|
|
72
|
-
type: TextShortcutType;
|
|
73
|
-
}
|
|
74
|
-
interface LayoutVisibleWhen {
|
|
75
|
-
field: string;
|
|
76
|
-
operator: 'eq' | 'ne' | 'in' | 'notIn' | 'contains' | 'empty' | 'notEmpty' | 'between' | 'changed';
|
|
77
|
-
value?: any;
|
|
78
|
-
}
|
|
79
|
-
interface BaseLayoutNode {
|
|
80
|
-
id: string;
|
|
81
|
-
type: 'field' | 'section' | 'grid' | 'tabs' | 'steps';
|
|
82
|
-
hidden?: boolean;
|
|
83
|
-
visibleWhen?: LayoutVisibleWhen | LayoutVisibleWhen[];
|
|
84
|
-
}
|
|
85
|
-
interface FieldLayoutNode extends BaseLayoutNode {
|
|
86
|
-
type: 'field';
|
|
87
|
-
fieldId: string;
|
|
88
|
-
span?: number;
|
|
89
|
-
className?: string;
|
|
90
|
-
}
|
|
91
|
-
interface SectionLayoutNode extends BaseLayoutNode {
|
|
92
|
-
type: 'section';
|
|
93
|
-
title: string;
|
|
94
|
-
description?: string;
|
|
95
|
-
variant?: FormSectionVariant;
|
|
96
|
-
accent?: FormSectionAccent;
|
|
97
|
-
iconKey?: FormSectionIconKey;
|
|
98
|
-
collapsible?: boolean;
|
|
99
|
-
defaultCollapsed?: boolean;
|
|
100
|
-
children: FormLayoutNode[];
|
|
101
|
-
}
|
|
102
|
-
interface GridLayoutCell {
|
|
103
|
-
key?: string;
|
|
104
|
-
children: FormLayoutNode[];
|
|
105
|
-
}
|
|
106
|
-
interface GridLayoutNode extends BaseLayoutNode {
|
|
107
|
-
type: 'grid';
|
|
108
|
-
columns?: 1 | 2 | 3 | 4;
|
|
109
|
-
gap?: number | string;
|
|
110
|
-
columnGap?: number | string;
|
|
111
|
-
rowGap?: number | string;
|
|
112
|
-
columnRatios?: number[];
|
|
113
|
-
layoutPreset?: string;
|
|
114
|
-
cells?: GridLayoutCell[];
|
|
115
|
-
children: FormLayoutNode[];
|
|
116
|
-
}
|
|
117
|
-
interface TabLayoutItem {
|
|
118
|
-
key: string;
|
|
119
|
-
label: string;
|
|
120
|
-
children: FormLayoutNode[];
|
|
121
|
-
}
|
|
122
|
-
interface TabsLayoutNode extends BaseLayoutNode {
|
|
123
|
-
type: 'tabs';
|
|
124
|
-
defaultActiveKey?: string;
|
|
125
|
-
items: TabLayoutItem[];
|
|
126
|
-
}
|
|
127
|
-
interface StepLayoutItem {
|
|
128
|
-
key: string;
|
|
129
|
-
title: string;
|
|
130
|
-
description?: string;
|
|
131
|
-
children: FormLayoutNode[];
|
|
132
|
-
}
|
|
133
|
-
interface StepsLayoutNode extends BaseLayoutNode {
|
|
134
|
-
type: 'steps';
|
|
135
|
-
items: StepLayoutItem[];
|
|
136
|
-
}
|
|
137
|
-
type FormLayoutNode = FieldLayoutNode | SectionLayoutNode | GridLayoutNode | TabsLayoutNode | StepsLayoutNode;
|
|
138
|
-
interface FormTemplateConfig {
|
|
139
|
-
type?: 'standard';
|
|
140
|
-
defaultMode?: StandardFormPageMode;
|
|
141
|
-
formType?: 'form' | 'process';
|
|
142
|
-
submitSuccessMode?: 'redirect' | 'stay' | 'continue';
|
|
143
|
-
enableDraft?: boolean;
|
|
144
|
-
enableProcessPreview?: boolean;
|
|
145
|
-
enableEdit?: boolean;
|
|
146
|
-
enableDelete?: boolean;
|
|
147
|
-
enableChangeRecords?: boolean;
|
|
148
|
-
appearance?: FormAppearanceConfig;
|
|
149
|
-
}
|
|
150
|
-
interface FormAppearanceConfig {
|
|
151
|
-
layout?: 'horizontal' | 'vertical' | 'inline';
|
|
152
|
-
variant?: 'outlined' | 'borderless' | 'filled' | 'underlined';
|
|
153
|
-
size?: 'small' | 'middle' | 'large';
|
|
154
|
-
columns?: 1 | 2 | 3 | 4;
|
|
155
|
-
rendererSize?: 'compact' | 'default' | 'large';
|
|
156
|
-
gap?: number | string;
|
|
157
|
-
maxWidth?: 'sm' | 'md' | 'lg' | 'xl' | 'full' | number | string;
|
|
158
|
-
requiredMark?: boolean | 'optional';
|
|
159
|
-
colon?: boolean;
|
|
160
|
-
labelCol?: Record<string, any>;
|
|
161
|
-
wrapperCol?: Record<string, any>;
|
|
162
|
-
scrollToFirstError?: boolean | Record<string, any>;
|
|
163
|
-
}
|
|
164
|
-
interface FormRuntimeConfig {
|
|
165
|
-
version?: string;
|
|
166
|
-
generatedAt?: string;
|
|
167
|
-
editorVersion?: string;
|
|
168
|
-
currentUser?: UserItem;
|
|
169
|
-
currentDepartment?: DepartmentTreeNode;
|
|
170
|
-
currentUserManagers?: UserItem[];
|
|
171
|
-
appType?: string;
|
|
172
|
-
/**
|
|
173
|
-
* 运行时数据查询函数(带权限控制)
|
|
174
|
-
* 由宿主环境(app-workspace)注入,底层应调用 advancedSearch 接口
|
|
175
|
-
*/
|
|
176
|
-
fetchFormData?: (params: RuntimeDataQueryParams) => Promise<RuntimeDataQueryResult>;
|
|
177
|
-
[key: string]: any;
|
|
178
|
-
}
|
|
179
|
-
interface RuntimeDataQueryParams {
|
|
180
|
-
formUuid: string;
|
|
181
|
-
appType: string;
|
|
182
|
-
filters?: Array<{
|
|
183
|
-
fieldId: string;
|
|
184
|
-
operator: string;
|
|
185
|
-
value?: any;
|
|
186
|
-
}>;
|
|
187
|
-
conditionLogic?: 'and' | 'or';
|
|
188
|
-
sort?: {
|
|
189
|
-
field: string;
|
|
190
|
-
order: 'asc' | 'desc';
|
|
191
|
-
};
|
|
192
|
-
fieldId?: string;
|
|
193
|
-
deduplicate?: boolean;
|
|
194
|
-
pageSize?: number;
|
|
195
|
-
currentPage?: number;
|
|
196
|
-
}
|
|
197
|
-
interface RuntimeDataQueryResult {
|
|
198
|
-
data: any[];
|
|
199
|
-
totalCount?: number;
|
|
200
|
-
}
|
|
201
|
-
/** 表单 Schema 定义 */
|
|
202
|
-
interface FormSchema {
|
|
203
|
-
formMeta: {
|
|
204
|
-
formUuid: string;
|
|
205
|
-
appType: string;
|
|
206
|
-
title: string;
|
|
207
|
-
};
|
|
208
|
-
fields: FieldDefinition[];
|
|
209
|
-
layout?: FormLayoutNode[];
|
|
210
|
-
rules?: FormEffect[];
|
|
211
|
-
template?: FormTemplateConfig;
|
|
212
|
-
runtime?: FormRuntimeConfig;
|
|
213
|
-
}
|
|
214
|
-
interface LowcodePageMeta {
|
|
215
|
-
pageId?: string;
|
|
216
|
-
pageCode?: string;
|
|
217
|
-
routeKey?: string;
|
|
218
|
-
appType: string;
|
|
219
|
-
title: string;
|
|
220
|
-
}
|
|
221
|
-
type LowcodePageNodeType = 'PageSection' | 'PageGrid' | 'HeadingBlock' | 'TextBlock' | 'DataManagementList' | 'FormBlock';
|
|
222
|
-
interface LowcodePageNode {
|
|
223
|
-
id: string;
|
|
224
|
-
type: LowcodePageNodeType | string;
|
|
225
|
-
props?: Record<string, any>;
|
|
226
|
-
children?: LowcodePageNode[];
|
|
227
|
-
cells?: Array<{
|
|
228
|
-
key?: string;
|
|
229
|
-
children: LowcodePageNode[];
|
|
230
|
-
}>;
|
|
231
|
-
}
|
|
232
|
-
interface LowcodePageSchema {
|
|
233
|
-
schemaKind: 'page';
|
|
234
|
-
pageMeta: LowcodePageMeta;
|
|
235
|
-
nodes: LowcodePageNode[];
|
|
236
|
-
dataSources?: Array<Record<string, any>>;
|
|
237
|
-
runtime?: Record<string, any>;
|
|
238
|
-
}
|
|
239
|
-
interface RuntimeResponse<T = any> {
|
|
240
|
-
code?: number;
|
|
241
|
-
success?: boolean;
|
|
242
|
-
data?: T;
|
|
243
|
-
result?: T;
|
|
244
|
-
message?: string;
|
|
245
|
-
error?: string;
|
|
246
|
-
}
|
|
247
|
-
interface RuntimeRequestConfig {
|
|
248
|
-
url: string;
|
|
249
|
-
method?: string;
|
|
250
|
-
params?: Record<string, any>;
|
|
251
|
-
data?: any;
|
|
252
|
-
headers?: Record<string, string>;
|
|
253
|
-
responseType?: 'json' | 'blob';
|
|
254
|
-
}
|
|
255
|
-
interface FormRuntimeApi {
|
|
256
|
-
request: <T = any>(config: RuntimeRequestConfig) => Promise<RuntimeResponse<T> | Blob>;
|
|
257
|
-
uploadFile: (file: File, bucketName?: string, onProgress?: (percent: number) => void) => Promise<AttachmentItem>;
|
|
258
|
-
deleteFile: (objectName: string, bucketName?: string) => Promise<{
|
|
259
|
-
success: boolean;
|
|
260
|
-
}>;
|
|
261
|
-
createDownloadTicket: (bucketName: string, objectName: string, fileName?: string) => Promise<any>;
|
|
262
|
-
createFileAccessTicket: (bucketName: string, objectName: string, fileName?: string, purpose?: 'download' | 'preview' | 'onlyoffice') => Promise<any>;
|
|
263
|
-
getUserById: (id: string) => Promise<any>;
|
|
264
|
-
getUserList: (params?: Record<string, any>) => Promise<any[]>;
|
|
265
|
-
getDepartmentRoots: () => Promise<any[]>;
|
|
266
|
-
getDepartmentChildren: (parentId: string) => Promise<any[]>;
|
|
267
|
-
getDepartmentParentDepartments: (id: string) => Promise<any[]>;
|
|
268
|
-
getDepartmentMembers: (id: string) => Promise<any[]>;
|
|
269
|
-
getDepartmentMembersPage: (id: string, params?: {
|
|
270
|
-
page?: number;
|
|
271
|
-
pageSize?: number;
|
|
272
|
-
}) => Promise<{
|
|
273
|
-
items: any[];
|
|
274
|
-
total: number;
|
|
275
|
-
page: number;
|
|
276
|
-
pageSize: number;
|
|
277
|
-
}>;
|
|
278
|
-
getChinaDivisions: (parentAdcode?: string) => Promise<any[]>;
|
|
279
|
-
advancedSearch: (params: Record<string, any>) => Promise<any>;
|
|
280
|
-
getDingTalkSignature: (url: string) => Promise<any>;
|
|
281
|
-
submitFormData: (payload: Record<string, any>) => Promise<any>;
|
|
282
|
-
updateFormData: (payload: Record<string, any>) => Promise<any>;
|
|
283
|
-
}
|
|
284
|
-
type FormRuntimeApiConfig = Partial<FormRuntimeApi> & {
|
|
285
|
-
baseUrl?: string;
|
|
286
|
-
};
|
|
287
|
-
/** 表单引擎配置 */
|
|
288
|
-
interface FormEngineConfig {
|
|
289
|
-
mode: FormEngineMode;
|
|
290
|
-
formUuid: string;
|
|
291
|
-
appType: string;
|
|
292
|
-
formInstanceId?: string;
|
|
293
|
-
permissions?: {
|
|
294
|
-
fieldPermissions: Record<string, FieldBehavior>;
|
|
295
|
-
operations: string[];
|
|
296
|
-
};
|
|
297
|
-
submit?: {
|
|
298
|
-
beforeSubmit?: (values: Record<string, any>) => Promise<boolean | void>;
|
|
299
|
-
afterSubmit?: (response: any) => Promise<void>;
|
|
300
|
-
submitSuccessMode?: 'redirect' | 'stay' | 'callback';
|
|
301
|
-
redirectUrl?: string;
|
|
302
|
-
};
|
|
303
|
-
api?: FormRuntimeApiConfig;
|
|
304
|
-
navigation?: {
|
|
305
|
-
basePath?: string;
|
|
306
|
-
};
|
|
307
|
-
effects?: FormEffect[];
|
|
308
|
-
}
|
|
309
|
-
type FormEffectConditionOperator = 'eq' | 'ne' | 'in' | 'notIn' | 'contains' | 'empty' | 'notEmpty' | 'between' | 'changed';
|
|
310
|
-
type FormEffectCondition = {
|
|
311
|
-
field: string;
|
|
312
|
-
operator: FormEffectConditionOperator;
|
|
313
|
-
value?: any;
|
|
314
|
-
} | {
|
|
315
|
-
all: FormEffectCondition[];
|
|
316
|
-
} | {
|
|
317
|
-
any: FormEffectCondition[];
|
|
318
|
-
} | {
|
|
319
|
-
not: FormEffectCondition;
|
|
320
|
-
};
|
|
321
|
-
type FormEffectAction = {
|
|
322
|
-
field: string;
|
|
323
|
-
action: 'show' | 'hide' | 'enable' | 'disable' | 'setValue' | 'clearValue' | 'setRequired' | 'setOptions';
|
|
324
|
-
value?: any;
|
|
325
|
-
} | {
|
|
326
|
-
target: string;
|
|
327
|
-
targetType?: 'field' | 'layout';
|
|
328
|
-
action: 'show' | 'hide' | 'enable' | 'disable' | 'setValue' | 'clearValue' | 'setRequired' | 'setOptions';
|
|
329
|
-
value?: any;
|
|
330
|
-
};
|
|
331
|
-
/** 字段联动效果 */
|
|
332
|
-
interface FormEffect {
|
|
333
|
-
id?: string;
|
|
334
|
-
name?: string;
|
|
335
|
-
when: FormEffectCondition;
|
|
336
|
-
then: FormEffectAction[];
|
|
337
|
-
}
|
|
338
|
-
/** 基础字段组件 Props */
|
|
339
|
-
interface BaseFieldProps {
|
|
340
|
-
fieldId: string;
|
|
341
|
-
label: string;
|
|
342
|
-
value?: any;
|
|
343
|
-
behavior?: FieldBehavior;
|
|
344
|
-
required?: boolean;
|
|
345
|
-
rules?: ValidationRule[];
|
|
346
|
-
placeholder?: string;
|
|
347
|
-
tips?: string;
|
|
348
|
-
className?: string;
|
|
349
|
-
labelClassName?: string;
|
|
350
|
-
inputClassName?: string;
|
|
351
|
-
tipsClassName?: string;
|
|
352
|
-
readonlyClassName?: string;
|
|
353
|
-
onChange?: (value: any) => void;
|
|
354
|
-
onBlur?: (value: any) => void;
|
|
355
|
-
}
|
|
356
|
-
/** TextField 专用 Props */
|
|
357
|
-
interface TextFieldProps extends BaseFieldProps {
|
|
358
|
-
defaultValue?: string;
|
|
359
|
-
maxLength?: number;
|
|
360
|
-
showCount?: boolean;
|
|
361
|
-
allowClear?: boolean;
|
|
362
|
-
prefix?: string;
|
|
363
|
-
suffix?: string;
|
|
364
|
-
autoComplete?: string;
|
|
365
|
-
variant?: FormAppearanceConfig['variant'];
|
|
366
|
-
size?: FormAppearanceConfig['size'];
|
|
367
|
-
defaultShortcut?: TextShortcutConfig;
|
|
368
|
-
defaultValueLinkage?: DefaultValueLinkageConfig;
|
|
369
|
-
validationPresets?: ValidationPreset[];
|
|
370
|
-
}
|
|
371
|
-
/** NumberField 专用 Props */
|
|
372
|
-
interface NumberFieldProps extends BaseFieldProps {
|
|
373
|
-
defaultValue?: number | null;
|
|
374
|
-
min?: number;
|
|
375
|
-
max?: number;
|
|
376
|
-
step?: number;
|
|
377
|
-
precision?: number;
|
|
378
|
-
unit?: string;
|
|
379
|
-
unitPosition?: 'prefix' | 'suffix';
|
|
380
|
-
thousandSeparator?: boolean;
|
|
381
|
-
controls?: boolean;
|
|
382
|
-
keyboard?: boolean;
|
|
383
|
-
stringMode?: boolean;
|
|
384
|
-
variant?: FormAppearanceConfig['variant'];
|
|
385
|
-
size?: FormAppearanceConfig['size'];
|
|
386
|
-
}
|
|
387
|
-
/** TextAreaField 专用 Props */
|
|
388
|
-
interface TextAreaFieldProps extends BaseFieldProps {
|
|
389
|
-
defaultValue?: string;
|
|
390
|
-
rows?: number;
|
|
391
|
-
minRows?: number;
|
|
392
|
-
maxRows?: number;
|
|
393
|
-
autoSize?: boolean | {
|
|
394
|
-
minRows?: number;
|
|
395
|
-
maxRows?: number;
|
|
396
|
-
};
|
|
397
|
-
maxLength?: number;
|
|
398
|
-
showCount?: boolean;
|
|
399
|
-
allowClear?: boolean;
|
|
400
|
-
autoComplete?: string;
|
|
401
|
-
variant?: FormAppearanceConfig['variant'];
|
|
402
|
-
size?: FormAppearanceConfig['size'];
|
|
403
|
-
defaultShortcut?: TextShortcutConfig;
|
|
404
|
-
defaultValueLinkage?: DefaultValueLinkageConfig;
|
|
405
|
-
}
|
|
406
|
-
/** 选项类型 */
|
|
407
|
-
interface OptionItem {
|
|
408
|
-
value: string;
|
|
409
|
-
label: string;
|
|
410
|
-
color?: string;
|
|
411
|
-
disabled?: boolean;
|
|
412
|
-
}
|
|
413
|
-
interface FieldValueSyncConfig {
|
|
414
|
-
targetFieldId: string;
|
|
415
|
-
valuePath?: 'value' | 'label';
|
|
416
|
-
emptyValue?: any;
|
|
417
|
-
}
|
|
418
|
-
type OptionSourceType = 'custom' | 'linkedForm' | 'dataLinkage';
|
|
419
|
-
interface OptionSourceConfig {
|
|
420
|
-
type: OptionSourceType;
|
|
421
|
-
linkedForm?: LinkedFormOptionConfig;
|
|
422
|
-
dataLinkage?: DataLinkageConfig;
|
|
423
|
-
}
|
|
424
|
-
interface LinkedFormOptionConfig {
|
|
425
|
-
formUuid: string;
|
|
426
|
-
formTitle?: string;
|
|
427
|
-
fieldId: string;
|
|
428
|
-
fieldLabel?: string;
|
|
429
|
-
valueFieldId?: string;
|
|
430
|
-
valueFieldLabel?: string;
|
|
431
|
-
labelFieldId?: string;
|
|
432
|
-
labelFieldLabel?: string;
|
|
433
|
-
searchFieldId?: string;
|
|
434
|
-
searchFieldLabel?: string;
|
|
435
|
-
sortField?: string;
|
|
436
|
-
sortOrder?: 'asc' | 'desc';
|
|
437
|
-
filters?: DataFilter[];
|
|
438
|
-
deduplicate?: boolean;
|
|
439
|
-
pageSize?: number;
|
|
440
|
-
remoteSearch?: boolean;
|
|
441
|
-
remoteSearchMinChars?: number;
|
|
442
|
-
}
|
|
443
|
-
interface DataLinkageConfig {
|
|
444
|
-
formUuid: string;
|
|
445
|
-
formTitle?: string;
|
|
446
|
-
targetFieldId: string;
|
|
447
|
-
targetFieldLabel?: string;
|
|
448
|
-
conditions: DataLinkageCondition[];
|
|
449
|
-
conditionLogic?: 'and' | 'or';
|
|
450
|
-
deduplicate?: boolean;
|
|
451
|
-
}
|
|
452
|
-
interface DataLinkageCondition {
|
|
453
|
-
localFieldId: string;
|
|
454
|
-
localFieldLabel?: string;
|
|
455
|
-
localComponentName?: string;
|
|
456
|
-
operator: 'eq' | 'ne' | 'contains' | 'gt' | 'lt' | 'gte' | 'lte';
|
|
457
|
-
remoteFieldId: string;
|
|
458
|
-
remoteFieldLabel?: string;
|
|
459
|
-
remoteComponentName?: string;
|
|
460
|
-
}
|
|
461
|
-
interface DataFilter {
|
|
462
|
-
fieldId: string;
|
|
463
|
-
fieldLabel?: string;
|
|
464
|
-
componentName?: string;
|
|
465
|
-
operator: 'eq' | 'ne' | 'contains' | 'gt' | 'lt' | 'gte' | 'lte' | 'in' | 'notIn' | 'empty' | 'notEmpty';
|
|
466
|
-
value?: any;
|
|
467
|
-
}
|
|
468
|
-
interface DefaultValueLinkageConfig {
|
|
469
|
-
formUuid: string;
|
|
470
|
-
formTitle?: string;
|
|
471
|
-
targetFieldId: string;
|
|
472
|
-
targetFieldLabel?: string;
|
|
473
|
-
conditions: DataLinkageCondition[];
|
|
474
|
-
conditionLogic?: 'and' | 'or';
|
|
475
|
-
}
|
|
476
|
-
type DateRangeRestriction = 'none' | 'todayAndAfter' | 'todayAndBefore' | 'custom';
|
|
477
|
-
interface DateRestrictionConfig {
|
|
478
|
-
type: DateRangeRestriction;
|
|
479
|
-
customStart?: string;
|
|
480
|
-
customEnd?: string;
|
|
481
|
-
}
|
|
482
|
-
type UserDisplayFormat = 'name' | 'nameWithJobNumber' | 'nameWithDepartment';
|
|
483
|
-
/** SelectField 专用 Props */
|
|
484
|
-
interface SelectFieldProps extends BaseFieldProps {
|
|
485
|
-
defaultValue?: OptionItem | null;
|
|
486
|
-
options: OptionItem[];
|
|
487
|
-
allowClear?: boolean;
|
|
488
|
-
showSearch?: boolean;
|
|
489
|
-
optionFilterProp?: string;
|
|
490
|
-
optionLabelProp?: string;
|
|
491
|
-
placement?: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
|
|
492
|
-
maxTagTextLength?: number;
|
|
493
|
-
variant?: FormAppearanceConfig['variant'];
|
|
494
|
-
size?: FormAppearanceConfig['size'];
|
|
495
|
-
optionEffects?: FormEffect[];
|
|
496
|
-
optionSource?: OptionSourceConfig;
|
|
497
|
-
coloredOptions?: boolean;
|
|
498
|
-
defaultValueLinkage?: DefaultValueLinkageConfig;
|
|
499
|
-
valueSync?: FieldValueSyncConfig[];
|
|
500
|
-
}
|
|
501
|
-
/** MultiSelectField 专用 Props */
|
|
502
|
-
interface MultiSelectFieldProps extends BaseFieldProps {
|
|
503
|
-
defaultValue?: OptionItem[];
|
|
504
|
-
options: OptionItem[];
|
|
505
|
-
allowClear?: boolean;
|
|
506
|
-
showSearch?: boolean;
|
|
507
|
-
maxCount?: number;
|
|
508
|
-
maxTagCount?: number | 'responsive';
|
|
509
|
-
maxTagTextLength?: number;
|
|
510
|
-
optionFilterProp?: string;
|
|
511
|
-
optionLabelProp?: string;
|
|
512
|
-
placement?: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
|
|
513
|
-
variant?: FormAppearanceConfig['variant'];
|
|
514
|
-
size?: FormAppearanceConfig['size'];
|
|
515
|
-
optionEffects?: FormEffect[];
|
|
516
|
-
optionSource?: OptionSourceConfig;
|
|
517
|
-
coloredOptions?: boolean;
|
|
518
|
-
}
|
|
519
|
-
/** RadioField 专用 Props */
|
|
520
|
-
interface RadioFieldProps extends BaseFieldProps {
|
|
521
|
-
defaultValue?: OptionItem | null;
|
|
522
|
-
options: OptionItem[];
|
|
523
|
-
direction?: 'horizontal' | 'vertical';
|
|
524
|
-
optionType?: 'default' | 'button';
|
|
525
|
-
buttonStyle?: 'outline' | 'solid';
|
|
526
|
-
size?: FormAppearanceConfig['size'];
|
|
527
|
-
optionEffects?: FormEffect[];
|
|
528
|
-
optionSource?: OptionSourceConfig;
|
|
529
|
-
coloredOptions?: boolean;
|
|
530
|
-
}
|
|
531
|
-
/** CheckboxField 专用 Props */
|
|
532
|
-
interface CheckboxFieldProps extends BaseFieldProps {
|
|
533
|
-
defaultValue?: OptionItem[];
|
|
534
|
-
options: OptionItem[];
|
|
535
|
-
direction?: 'horizontal' | 'vertical';
|
|
536
|
-
maxCount?: number;
|
|
537
|
-
optionEffects?: FormEffect[];
|
|
538
|
-
optionSource?: OptionSourceConfig;
|
|
539
|
-
coloredOptions?: boolean;
|
|
540
|
-
}
|
|
541
|
-
/** DateField 专用 Props */
|
|
542
|
-
interface DateFieldProps extends BaseFieldProps {
|
|
543
|
-
defaultValue?: string;
|
|
544
|
-
defaultShortcut?: DateShortcutConfig;
|
|
545
|
-
dateFormat?: string;
|
|
546
|
-
showTime?: boolean;
|
|
547
|
-
dateRestriction?: DateRestrictionConfig;
|
|
548
|
-
defaultValueLinkage?: DefaultValueLinkageConfig;
|
|
549
|
-
}
|
|
550
|
-
/** CascadeDateField 专用 Props */
|
|
551
|
-
interface CascadeDateFieldProps extends BaseFieldProps {
|
|
552
|
-
defaultValue?: {
|
|
553
|
-
start: string;
|
|
554
|
-
end: string;
|
|
555
|
-
} | null;
|
|
556
|
-
defaultShortcut?: DateShortcutConfig;
|
|
557
|
-
dateFormat?: string;
|
|
558
|
-
showTime?: boolean;
|
|
559
|
-
startLabel?: string;
|
|
560
|
-
endLabel?: string;
|
|
561
|
-
dateRestriction?: DateRestrictionConfig;
|
|
562
|
-
defaultValueLinkage?: DefaultValueLinkageConfig;
|
|
563
|
-
}
|
|
564
|
-
/** 附件项 */
|
|
565
|
-
interface AttachmentItem {
|
|
566
|
-
url: string;
|
|
567
|
-
name: string;
|
|
568
|
-
id: string;
|
|
569
|
-
uid?: string;
|
|
570
|
-
status?: 'uploading' | 'done' | 'error';
|
|
571
|
-
objectName?: string;
|
|
572
|
-
bucketName?: string;
|
|
573
|
-
originalName?: string;
|
|
574
|
-
contentType?: string;
|
|
575
|
-
mimeType?: string;
|
|
576
|
-
extension?: string;
|
|
577
|
-
previewUrl?: string;
|
|
578
|
-
downloadUrl?: string;
|
|
579
|
-
size?: number;
|
|
580
|
-
percent?: number;
|
|
581
|
-
error?: string;
|
|
582
|
-
}
|
|
583
|
-
/** AttachmentField 专用 Props */
|
|
584
|
-
interface AttachmentFieldProps extends BaseFieldProps {
|
|
585
|
-
defaultValue?: AttachmentItem[];
|
|
586
|
-
maxCount?: number;
|
|
587
|
-
accept?: string;
|
|
588
|
-
maxSize?: number;
|
|
589
|
-
uploadAction?: string;
|
|
590
|
-
bucketName?: string;
|
|
591
|
-
multiple?: boolean;
|
|
592
|
-
allowedTypes?: string[];
|
|
593
|
-
showPreview?: boolean;
|
|
594
|
-
showDownload?: boolean;
|
|
595
|
-
showFileSize?: boolean;
|
|
596
|
-
showFileTypeBadge?: boolean;
|
|
597
|
-
previewPagePath?: string;
|
|
598
|
-
mobileDownloadMode?: 'auto' | 'direct' | 'ticketRelay';
|
|
599
|
-
}
|
|
600
|
-
/** ImageField 专用 Props */
|
|
601
|
-
interface ImageFieldProps extends BaseFieldProps {
|
|
602
|
-
defaultValue?: AttachmentItem[];
|
|
603
|
-
maxCount?: number;
|
|
604
|
-
accept?: string;
|
|
605
|
-
uploadAction?: string;
|
|
606
|
-
bucketName?: string;
|
|
607
|
-
multiple?: boolean;
|
|
608
|
-
maxSize?: number;
|
|
609
|
-
listType?: 'text' | 'picture' | 'picture-card';
|
|
610
|
-
showPreviewIcon?: boolean;
|
|
611
|
-
showRemoveIcon?: boolean;
|
|
612
|
-
showDownloadIcon?: boolean;
|
|
613
|
-
}
|
|
614
|
-
/** 子表单列定义 */
|
|
615
|
-
interface SubFormColumn {
|
|
616
|
-
fieldId: string;
|
|
617
|
-
label: string;
|
|
618
|
-
componentName: string;
|
|
619
|
-
[key: string]: any;
|
|
620
|
-
}
|
|
621
|
-
/** SubFormField 专用 Props */
|
|
622
|
-
interface SubFormFieldProps extends BaseFieldProps {
|
|
623
|
-
defaultValue?: Record<string, any>[];
|
|
624
|
-
columns: SubFormColumn[];
|
|
625
|
-
maxRows?: number;
|
|
626
|
-
minRows?: number;
|
|
627
|
-
}
|
|
628
|
-
/** 用户数据源项 */
|
|
629
|
-
interface UserItem {
|
|
630
|
-
id: string;
|
|
631
|
-
name: string;
|
|
632
|
-
value?: string;
|
|
633
|
-
label?: string;
|
|
634
|
-
username?: string;
|
|
635
|
-
jobNumber?: string;
|
|
636
|
-
avatar?: string;
|
|
637
|
-
departments?: Array<{
|
|
638
|
-
id?: string;
|
|
639
|
-
name?: string;
|
|
640
|
-
}>;
|
|
641
|
-
}
|
|
642
|
-
type InitiatorSelectScope = 'all' | 'members' | 'roles';
|
|
643
|
-
type InitiatorSelectedApprovers = Record<string, string[]>;
|
|
644
|
-
interface InitiatorSelectCandidate extends UserItem {
|
|
645
|
-
phone?: string;
|
|
646
|
-
email?: string;
|
|
647
|
-
}
|
|
648
|
-
interface InitiatorSelectRequirement {
|
|
649
|
-
nodeId: string;
|
|
650
|
-
nodeName: string;
|
|
651
|
-
scope: InitiatorSelectScope;
|
|
652
|
-
approvals?: string[];
|
|
653
|
-
approvalNames?: string[];
|
|
654
|
-
multiApprove?: 'all' | 'or' | 'oneByOne';
|
|
655
|
-
candidateUsers?: InitiatorSelectCandidate[];
|
|
656
|
-
totalCandidates?: number;
|
|
657
|
-
}
|
|
658
|
-
/** UserSelectField 专用 Props */
|
|
659
|
-
interface UserSelectFieldProps extends BaseFieldProps {
|
|
660
|
-
defaultValue?: UserItem[];
|
|
661
|
-
defaultShortcut?: PeopleShortcutConfig;
|
|
662
|
-
multiple?: boolean;
|
|
663
|
-
searchable?: boolean;
|
|
664
|
-
dataSource?: UserItem[];
|
|
665
|
-
treeData?: DepartmentTreeNode[];
|
|
666
|
-
allowClear?: boolean;
|
|
667
|
-
maxCount?: number;
|
|
668
|
-
notFoundContent?: string;
|
|
669
|
-
displayFormat?: UserDisplayFormat;
|
|
670
|
-
defaultValueLinkage?: DefaultValueLinkageConfig;
|
|
671
|
-
}
|
|
672
|
-
/** 部门树节点 */
|
|
673
|
-
interface DepartmentTreeNode {
|
|
674
|
-
id: string;
|
|
675
|
-
name: string;
|
|
676
|
-
value?: string;
|
|
677
|
-
label?: string;
|
|
678
|
-
key?: string;
|
|
679
|
-
title?: string;
|
|
680
|
-
hasChildren?: boolean;
|
|
681
|
-
isLeaf?: boolean;
|
|
682
|
-
children?: DepartmentTreeNode[];
|
|
683
|
-
}
|
|
684
|
-
/** DepartmentSelectField 专用 Props */
|
|
685
|
-
interface DepartmentSelectFieldProps extends BaseFieldProps {
|
|
686
|
-
defaultValue?: {
|
|
687
|
-
id: string;
|
|
688
|
-
name: string;
|
|
689
|
-
}[];
|
|
690
|
-
defaultShortcut?: PeopleShortcutConfig;
|
|
691
|
-
multiple?: boolean;
|
|
692
|
-
treeData?: DepartmentTreeNode[];
|
|
693
|
-
allowClear?: boolean;
|
|
694
|
-
maxCount?: number;
|
|
695
|
-
notFoundContent?: string;
|
|
696
|
-
showFullPath?: boolean;
|
|
697
|
-
scopeType?: 'all' | 'specified';
|
|
698
|
-
specifiedDepts?: string[];
|
|
699
|
-
defaultValueLinkage?: DefaultValueLinkageConfig;
|
|
700
|
-
}
|
|
701
|
-
interface CascadeSelectFieldProps extends BaseFieldProps {
|
|
702
|
-
defaultValue?: OptionItem[] | OptionItem[][];
|
|
703
|
-
options?: Array<OptionItem & {
|
|
704
|
-
children?: any[];
|
|
705
|
-
isLeaf?: boolean;
|
|
706
|
-
}>;
|
|
707
|
-
multiple?: boolean;
|
|
708
|
-
allowClear?: boolean;
|
|
709
|
-
changeOnSelect?: boolean;
|
|
710
|
-
showSearch?: boolean;
|
|
711
|
-
fieldNames?: {
|
|
712
|
-
label?: string;
|
|
713
|
-
value?: string;
|
|
714
|
-
children?: string;
|
|
715
|
-
};
|
|
716
|
-
}
|
|
717
|
-
interface AddressValue {
|
|
718
|
-
country?: OptionItem;
|
|
719
|
-
province?: OptionItem;
|
|
720
|
-
city?: OptionItem;
|
|
721
|
-
district?: OptionItem;
|
|
722
|
-
street?: OptionItem;
|
|
723
|
-
detail?: string;
|
|
724
|
-
fullAddress?: string;
|
|
725
|
-
}
|
|
726
|
-
interface AddressFieldProps extends BaseFieldProps {
|
|
727
|
-
defaultValue?: AddressValue;
|
|
728
|
-
mode?: 'province-city' | 'province-city-district' | 'province-city-district-street' | 'province-city-district-street-detail';
|
|
729
|
-
detailPlaceholder?: string;
|
|
730
|
-
allowClear?: boolean;
|
|
731
|
-
}
|
|
732
|
-
interface AssociationFormConfig {
|
|
733
|
-
appType: string;
|
|
734
|
-
formUuid: string;
|
|
735
|
-
mainFieldId: string;
|
|
736
|
-
selectorColumns?: Array<string | {
|
|
737
|
-
title?: string;
|
|
738
|
-
dataIndex: string;
|
|
739
|
-
key?: string;
|
|
740
|
-
width?: number;
|
|
741
|
-
ellipsis?: boolean;
|
|
742
|
-
}>;
|
|
743
|
-
dataFilterRules?: Array<{
|
|
744
|
-
key: string;
|
|
745
|
-
operator?: string;
|
|
746
|
-
componentName?: string;
|
|
747
|
-
value?: string | number;
|
|
748
|
-
valueType?: 'manual' | 'currentField';
|
|
749
|
-
currentFieldKey?: string;
|
|
750
|
-
}>;
|
|
751
|
-
dataFilterConditionType?: 'AND' | 'OR';
|
|
752
|
-
dataFillingEnabled?: boolean;
|
|
753
|
-
dataFillingRules?: {
|
|
754
|
-
mainRules?: Array<{
|
|
755
|
-
source: string;
|
|
756
|
-
target: string;
|
|
757
|
-
sourceType?: string;
|
|
758
|
-
targetType?: string;
|
|
759
|
-
}>;
|
|
760
|
-
};
|
|
761
|
-
}
|
|
762
|
-
interface AssociationValue {
|
|
763
|
-
label: string;
|
|
764
|
-
value: string | number;
|
|
765
|
-
record?: Record<string, any>;
|
|
766
|
-
}
|
|
767
|
-
interface AssociationFormFieldProps extends BaseFieldProps {
|
|
768
|
-
defaultValue?: AssociationValue | AssociationValue[];
|
|
769
|
-
associationForm?: AssociationFormConfig;
|
|
770
|
-
multiple?: boolean;
|
|
771
|
-
allowClear?: boolean;
|
|
772
|
-
showSearch?: boolean;
|
|
773
|
-
}
|
|
774
|
-
type EditorToolbarAction = 'undo' | 'redo' | 'heading' | 'fontFamily' | 'fontSize' | 'bold' | 'italic' | 'underline' | 'strike' | 'superscript' | 'subscript' | 'color' | 'highlight' | 'bulletList' | 'orderedList' | 'taskList' | 'blockquote' | 'codeBlock' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'link' | 'image' | 'imageUrl' | 'table' | 'addColumnBefore' | 'addColumnAfter' | 'deleteColumn' | 'addRowBefore' | 'addRowAfter' | 'deleteRow' | 'toggleHeaderRow' | 'deleteTable' | 'clear';
|
|
775
|
-
interface EditorChoiceOption {
|
|
776
|
-
label: string;
|
|
777
|
-
value: string;
|
|
778
|
-
}
|
|
779
|
-
interface EditorFieldProps extends BaseFieldProps {
|
|
780
|
-
defaultValue?: string;
|
|
781
|
-
rows?: number;
|
|
782
|
-
maxLength?: number;
|
|
783
|
-
height?: number | string;
|
|
784
|
-
toolbarConfig?: 'full' | 'basic' | 'minimal' | EditorToolbarAction[] | string[];
|
|
785
|
-
uploadBucketName?: string;
|
|
786
|
-
maxImageSize?: number;
|
|
787
|
-
allowedImageTypes?: string[];
|
|
788
|
-
fontFamilies?: EditorChoiceOption[];
|
|
789
|
-
fontSizes?: EditorChoiceOption[];
|
|
790
|
-
colorPresets?: string[];
|
|
791
|
-
}
|
|
792
|
-
interface SerialNumberFieldProps extends BaseFieldProps {
|
|
793
|
-
defaultValue?: string;
|
|
794
|
-
serialNumberRule?: Array<Record<string, any>>;
|
|
795
|
-
}
|
|
796
|
-
interface LocationValue {
|
|
797
|
-
latitude: number;
|
|
798
|
-
longitude: number;
|
|
799
|
-
address?: string;
|
|
800
|
-
city?: string;
|
|
801
|
-
district?: string;
|
|
802
|
-
province?: string;
|
|
803
|
-
name?: string;
|
|
804
|
-
accuracy?: number;
|
|
805
|
-
source?: 'browser' | 'dingTalk' | 'manual';
|
|
806
|
-
time?: number;
|
|
807
|
-
}
|
|
808
|
-
interface LocationFieldProps extends BaseFieldProps {
|
|
809
|
-
defaultValue?: LocationValue;
|
|
810
|
-
allowClear?: boolean;
|
|
811
|
-
locateButtonText?: string;
|
|
812
|
-
clearButtonText?: string;
|
|
813
|
-
}
|
|
814
|
-
interface SignaturePoint {
|
|
815
|
-
x: number;
|
|
816
|
-
y: number;
|
|
817
|
-
t: number;
|
|
818
|
-
}
|
|
819
|
-
interface DigitalSignatureValue {
|
|
820
|
-
url?: string;
|
|
821
|
-
bucketName?: string;
|
|
822
|
-
objectName?: string;
|
|
823
|
-
previewUrl?: string;
|
|
824
|
-
points?: SignaturePoint[];
|
|
825
|
-
timestamp?: number;
|
|
826
|
-
hash?: string;
|
|
827
|
-
}
|
|
828
|
-
interface DigitalSignatureFieldProps extends BaseFieldProps {
|
|
829
|
-
defaultValue?: DigitalSignatureValue;
|
|
830
|
-
bucketName?: string;
|
|
831
|
-
allowClear?: boolean;
|
|
832
|
-
}
|
|
833
|
-
interface JSONFieldProps extends BaseFieldProps {
|
|
834
|
-
defaultValue?: any;
|
|
835
|
-
}
|
|
836
|
-
/** 流程状态 */
|
|
837
|
-
type ProcessStatus = 'running' | 'waiting' | 'exception' | 'completed' | 'terminated' | 'withdrawn' | 'pending' | 'cancelled';
|
|
838
|
-
/** 任务状态 */
|
|
839
|
-
type TaskStatus = 'pending' | 'approved' | 'rejected' | 'returned' | 'suspended' | 'cancelled' | 'copied' | 'waiting' | 'simulated';
|
|
840
|
-
/** 流程任务节点类型 */
|
|
841
|
-
type ProcessNodeType = 'start' | 'approval' | 'copy' | 'end' | 'system' | 'originator_return' | 'callback_wait';
|
|
842
|
-
/** 审批操作类型 */
|
|
843
|
-
type ApprovalActionType = 'agree' | 'approved' | 'rejected' | 'reject' | 'transfer' | 'return' | 'save' | 'withdraw' | 'resubmit' | 'callback';
|
|
844
|
-
/** 流程操作动作定义 */
|
|
845
|
-
interface ProcessAction {
|
|
846
|
-
action: ApprovalActionType;
|
|
847
|
-
name: {
|
|
848
|
-
zh_CN: string;
|
|
849
|
-
en_US?: string;
|
|
850
|
-
};
|
|
851
|
-
text?: {
|
|
852
|
-
zh_CN?: string;
|
|
853
|
-
en_US?: string;
|
|
854
|
-
};
|
|
855
|
-
hidden?: boolean;
|
|
856
|
-
remark?: {
|
|
857
|
-
popUp: boolean;
|
|
858
|
-
required?: boolean;
|
|
859
|
-
content?: {
|
|
860
|
-
zh_CN: string;
|
|
861
|
-
en_US?: string;
|
|
862
|
-
};
|
|
863
|
-
};
|
|
864
|
-
}
|
|
865
|
-
/** 流程任务 */
|
|
866
|
-
interface ProcessTask {
|
|
867
|
-
id?: string;
|
|
868
|
-
taskId: string;
|
|
869
|
-
nodeId: string;
|
|
870
|
-
nodeVisitId?: string;
|
|
871
|
-
nodeType: ProcessNodeType;
|
|
872
|
-
nodeName: string;
|
|
873
|
-
title?: string;
|
|
874
|
-
status: TaskStatus;
|
|
875
|
-
canApprove?: boolean;
|
|
876
|
-
assigneeId?: string;
|
|
877
|
-
assignee?: string;
|
|
878
|
-
assigneeName?: string;
|
|
879
|
-
departmentName?: string;
|
|
880
|
-
comments?: string;
|
|
881
|
-
createdAt?: string;
|
|
882
|
-
actionAt?: string;
|
|
883
|
-
actions?: ProcessAction[];
|
|
884
|
-
isSimulated?: boolean;
|
|
885
|
-
multiApproveMode?: 'and' | 'or' | string;
|
|
886
|
-
}
|
|
887
|
-
/** 流程基本信息 */
|
|
888
|
-
interface ProcessBasicInfo {
|
|
889
|
-
instanceId: string;
|
|
890
|
-
processStatus: ProcessStatus;
|
|
891
|
-
formUuid: string;
|
|
892
|
-
appType: string;
|
|
893
|
-
title?: string;
|
|
894
|
-
originatorId: string;
|
|
895
|
-
originatorName: string;
|
|
896
|
-
originatorDepartment?: string;
|
|
897
|
-
createdAt: string;
|
|
898
|
-
currentTask?: ProcessTask;
|
|
899
|
-
isExecuting?: boolean;
|
|
900
|
-
}
|
|
901
|
-
/** 审批权限 */
|
|
902
|
-
interface ApprovalPermission {
|
|
903
|
-
hasPermission: boolean;
|
|
904
|
-
canUndo: boolean;
|
|
905
|
-
isApprover: boolean;
|
|
906
|
-
currentTasks?: ProcessTask[];
|
|
907
|
-
futureTasksCount?: number;
|
|
908
|
-
details?: string;
|
|
909
|
-
}
|
|
910
|
-
/** 可退回节点 */
|
|
911
|
-
interface ReturnableNode {
|
|
912
|
-
nodeId: string;
|
|
913
|
-
nodeName: string;
|
|
914
|
-
id?: string;
|
|
915
|
-
name?: string;
|
|
916
|
-
type?: string;
|
|
917
|
-
}
|
|
918
|
-
interface ReturnPolicy {
|
|
919
|
-
resubmitMode?: string;
|
|
920
|
-
[key: string]: any;
|
|
921
|
-
}
|
|
922
|
-
interface ReturnableNodeResult {
|
|
923
|
-
nodes: ReturnableNode[];
|
|
924
|
-
policy?: ReturnPolicy | null;
|
|
925
|
-
}
|
|
926
|
-
/** 流程预览路由 */
|
|
927
|
-
interface ProcessRoute {
|
|
928
|
-
nodeId: string;
|
|
929
|
-
nodeName: string;
|
|
930
|
-
nodeType: ProcessNodeType;
|
|
931
|
-
assignees: Array<{
|
|
932
|
-
id: string;
|
|
933
|
-
name: string;
|
|
934
|
-
}>;
|
|
935
|
-
}
|
|
936
|
-
/** 流程定义 */
|
|
937
|
-
interface ProcessDefinition {
|
|
938
|
-
processId: string;
|
|
939
|
-
flowConfig?: Record<string, Record<string, FieldBehavior>>;
|
|
940
|
-
startNodeId?: string;
|
|
941
|
-
nodes?: Array<Record<string, any>>;
|
|
942
|
-
definitionJson?: Record<string, any>;
|
|
943
|
-
viewJson?: Record<string, any>;
|
|
944
|
-
}
|
|
945
|
-
/** 视图权限摘要 */
|
|
946
|
-
interface ViewPermissionSummary {
|
|
947
|
-
fieldPermissions: Record<string, 'FORM_FILED_HIDDEN' | 'FORM_FILED_VIEW' | 'FORM_FILED_EDIT'>;
|
|
948
|
-
operations: string[];
|
|
949
|
-
}
|
|
950
|
-
/** 表单实例数据 */
|
|
951
|
-
interface FormInstanceData {
|
|
952
|
-
formInstanceId: string;
|
|
953
|
-
formUuid: string;
|
|
954
|
-
appType: string;
|
|
955
|
-
title?: string;
|
|
956
|
-
instanceTitle?: string;
|
|
957
|
-
data: Record<string, any>;
|
|
958
|
-
creator?: {
|
|
959
|
-
userId: string;
|
|
960
|
-
name: string;
|
|
961
|
-
avatar?: string;
|
|
962
|
-
department?: string;
|
|
963
|
-
};
|
|
964
|
-
createdBy?: string;
|
|
965
|
-
createdByName?: string;
|
|
966
|
-
createdByDepartmentId?: string;
|
|
967
|
-
createdByDepartmentName?: string;
|
|
968
|
-
createdAt: string;
|
|
969
|
-
updatedAt?: string;
|
|
970
|
-
}
|
|
971
|
-
/** 变更记录 */
|
|
972
|
-
interface ChangeRecord {
|
|
973
|
-
id: string;
|
|
974
|
-
fieldId: string;
|
|
975
|
-
fieldLabel: string;
|
|
976
|
-
oldValue: any;
|
|
977
|
-
newValue: any;
|
|
978
|
-
operatorId: string;
|
|
979
|
-
operatorName: string;
|
|
980
|
-
operatedAt: string;
|
|
981
|
-
operatorDepartmentName?: string;
|
|
982
|
-
operationId?: string;
|
|
983
|
-
changeType?: 'create' | 'update' | 'delete' | string;
|
|
984
|
-
changeSource?: string;
|
|
985
|
-
changedCount?: number;
|
|
986
|
-
createdAt?: string;
|
|
987
|
-
changes?: Array<{
|
|
988
|
-
fieldKey?: string;
|
|
989
|
-
fieldLabel?: string;
|
|
990
|
-
beforeValue?: any;
|
|
991
|
-
afterValue?: any;
|
|
992
|
-
}>;
|
|
993
|
-
}
|
|
994
|
-
/** 变更记录列表响应 */
|
|
995
|
-
interface ChangeRecordListResponse {
|
|
996
|
-
records: ChangeRecord[];
|
|
997
|
-
total: number;
|
|
998
|
-
page: number;
|
|
999
|
-
pageSize: number;
|
|
1000
|
-
}
|
|
1001
|
-
interface ApproveParams {
|
|
1002
|
-
instanceId: string;
|
|
1003
|
-
action: 'approved' | 'rejected';
|
|
1004
|
-
comments?: string;
|
|
1005
|
-
appType?: string;
|
|
1006
|
-
formUuid?: string;
|
|
1007
|
-
updateFormDataJson?: string;
|
|
1008
|
-
}
|
|
1009
|
-
interface TransferParams {
|
|
1010
|
-
taskId: string;
|
|
1011
|
-
newAssignee: string;
|
|
1012
|
-
reason?: string;
|
|
1013
|
-
}
|
|
1014
|
-
interface ReturnParams {
|
|
1015
|
-
taskId: string;
|
|
1016
|
-
targetNodeId: string;
|
|
1017
|
-
reason?: string;
|
|
1018
|
-
}
|
|
1019
|
-
interface WithdrawParams {
|
|
1020
|
-
instanceId: string;
|
|
1021
|
-
reason?: string;
|
|
1022
|
-
}
|
|
1023
|
-
interface SaveTaskParams {
|
|
1024
|
-
instanceId: string;
|
|
1025
|
-
formUuid: string;
|
|
1026
|
-
appType: string;
|
|
1027
|
-
updateFormDataJson: string;
|
|
1028
|
-
}
|
|
1029
|
-
interface ResubmitParams {
|
|
1030
|
-
taskId: string;
|
|
1031
|
-
formUuid: string;
|
|
1032
|
-
appType: string;
|
|
1033
|
-
updateFormDataJson: string;
|
|
1034
|
-
comments?: string;
|
|
1035
|
-
selectedApprovers?: InitiatorSelectedApprovers;
|
|
1036
|
-
initiatorSelectedApprovers?: InitiatorSelectedApprovers;
|
|
1037
|
-
}
|
|
1038
|
-
interface PreviewParams {
|
|
1039
|
-
formUuid: string;
|
|
1040
|
-
appType: string;
|
|
1041
|
-
data: Record<string, any>;
|
|
1042
|
-
submissionDepartmentId?: string;
|
|
1043
|
-
selectedApprovers?: InitiatorSelectedApprovers;
|
|
1044
|
-
initiatorSelectedApprovers?: InitiatorSelectedApprovers;
|
|
1045
|
-
}
|
|
1046
|
-
interface FormDataQueryParams {
|
|
1047
|
-
formInstanceId: string;
|
|
1048
|
-
appType: string;
|
|
1049
|
-
formUuid: string;
|
|
1050
|
-
}
|
|
1051
|
-
interface FormDataDeleteParams {
|
|
1052
|
-
formInstanceId: string;
|
|
1053
|
-
appType: string;
|
|
1054
|
-
formUuid: string;
|
|
1055
|
-
}
|
|
1056
|
-
interface ChangeRecordQueryParams {
|
|
1057
|
-
formUuid: string;
|
|
1058
|
-
appType: string;
|
|
1059
|
-
formInstanceId: string;
|
|
1060
|
-
page?: number;
|
|
1061
|
-
pageSize?: number;
|
|
1062
|
-
}
|
|
1063
|
-
interface ViewPermissionQueryParams {
|
|
1064
|
-
formUuid: string;
|
|
1065
|
-
appType: string;
|
|
1066
|
-
formInstanceId?: string;
|
|
1067
|
-
}
|
|
1068
|
-
/** 状态元信息(用于 UI 渲染) */
|
|
1069
|
-
interface StatusMeta {
|
|
1070
|
-
label: string;
|
|
1071
|
-
tone: 'brand' | 'success' | 'danger' | 'neutral' | 'warning';
|
|
1072
|
-
}
|
|
5
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
1073
6
|
|
|
1074
7
|
interface FormContextValue {
|
|
1075
8
|
mode: FormEngineConfig['mode'];
|
|
@@ -2109,4 +1042,4 @@ interface PageSkeletonProps {
|
|
|
2109
1042
|
}
|
|
2110
1043
|
declare const PageSkeleton: React__default.FC<PageSkeletonProps>;
|
|
2111
1044
|
|
|
2112
|
-
export { type ActionConfig, AddressField,
|
|
1045
|
+
export { type ActionConfig, AddressField, AddressFieldProps, ApprovalActionBar, type ApprovalActionBarProps, ApprovalActions, type ApprovalActionsProps, ApprovalPermission, ApprovalTimeline, type ApprovalTimelineProps, ApproveParams, AssociationFormField, AssociationFormFieldProps, AttachmentField, AttachmentFieldProps, CascadeDateField, CascadeDateFieldProps, CascadeSelectField, CascadeSelectFieldProps, ChangeRecord, ChangeRecordListResponse, ChangeRecordQueryParams, ChangeRecords, type ChangeRecordsProps, CheckboxField, CheckboxFieldProps, ComponentRegistryContext, type ComponentRegistryContextValue, ComponentRegistryProvider, type DataManagementConfig, type DataManagementConfigScope, type DataManagementDensity, type DataManagementField, type DataManagementFilterGroup, type DataManagementFilterRule, DataManagementList, type DataManagementListProps, type DataManagementListResult, type DataManagementQuery, type DataManagementRowAction, type DataManagementSort, DateField, DateFieldProps, DepartmentSelectField, DepartmentSelectFieldProps, type DeviceDetectResult, DigitalSignatureField, DigitalSignatureFieldProps, DraftManager, type DraftManagerProps, EditorChoiceOption, EditorField, EditorFieldProps, UserSelectField as EmployeeSelectField, FieldBehavior, FieldDefinition, FieldWrapper, type FieldWrapperProps, FormActionBar, type FormActionBarProps, FormActions, type FormActionsProps, FormAppearanceConfig, FormContainer, type FormContainerProps, FormContext, type FormContextValue, FormDataDeleteParams, FormDataQueryParams, FormDetailTemplate, type FormDetailTemplateProps, FormEffect, FormEngineConfig, FormGrid, type FormGridProps, FormInstanceData, FormProvider, type FormProviderProps, FormRenderer, type FormRendererProps, FormRuntimeApi, FormRuntimeApiConfig, FormRuntimeConfig, FormSchema, FormShell, type FormShellProps, type FormStepItem, FormSteps, type FormStepsProps, FormSubmitTemplate, type FormSubmitTemplateProps, FormSummary, FormSummaryCard, type FormSummaryCardProps, type FormSummaryProps, type FormTabItem, FormTabs, type FormTabsProps, ImageField, ImageFieldProps, InitiatorSelectCandidate, InitiatorSelectRequirement, InitiatorSelectedApprovers, JSONField, JSONFieldProps, LocationField, LocationFieldProps, LowcodePageRenderer, type LowcodePageRendererProps, type LowcodePageRuntimeContext, LowcodePageSchema, MultiSelectField, MultiSelectFieldProps, NumberField, NumberFieldProps, OptionItem, OptionSourceConfig, PROCESS_STATUS_META, PageSkeleton, type PageSkeletonProps, PreviewParams, ProcessAction, ProcessBasicInfo, ProcessDefinition, ProcessDetailTemplate, type ProcessDetailTemplateProps, ProcessPreview, type ProcessPreviewProps, ProcessRoute, ProcessStatus, ProcessTask, RadioField, RadioFieldProps, RecordChangePanel, type RecordChangePanelProps, ResubmitParams, ReturnParams, ReturnPolicy, ReturnableNode, ReturnableNodeResult, RichTextEditorCore, type RichTextEditorCoreProps, RuntimePageShell, type RuntimePageShellProps, RuntimeResponse, SaveTaskParams, SelectField, SelectFieldProps, SerialNumberField, SerialNumberFieldProps, StandardFormPage, StandardFormPageMode, type StandardFormPageProps, StatusMeta, StickyActionBar, type StickyActionBarProps, SubFormField, SubFormFieldProps, type SubmitConfig, type SubmitSuccessInfo, SummaryPanel, type SummaryPanelMetaItem, type SummaryPanelProps, TASK_STATUS_META, TaskStatus, TextAreaField, TextAreaFieldProps, TextField, TextFieldProps, TextAreaField as TextareaField, TransferParams, type UseApprovalActionsOptions, type UseApprovalActionsReturn, type UseChangeRecordsOptions, type UseChangeRecordsReturn, type UseDraftStorageOptions, type UseDraftStorageReturn, type UseFieldBehaviorOptions, type UseFieldPermissionOptions, type UseFieldPermissionReturn, type UseFormDataReturn, type UseFormDetailOptions, type UseFormDetailReturn, type UseFormEngineReturn, type UseFormNavigationOptions, type UseFormNavigationReturn, type UseFormSubmitReturn, type UseProcessDetailOptions, type UseProcessDetailReturn, UserSelectField, UserSelectFieldProps, VALIDATION_PRESETS, ValidationPreset, ValidationRule, ViewPermissionQueryParams, ViewPermissionSummary, WithdrawParams, advancedSearchDataManagement, batchApproveDataManagementRows, buildFilterPayload, checkUserApproval, createFormRuntimeApi, decodeHtmlEntities, defaultComponentRegistry, defineFormSchema, deleteDataManagementRows, deleteFormData, downloadDataManagementImportTemplate, evaluateEffects, exportDataManagementRows, extractFormValues, getChangeRecords, getDataManagementConfig, getDataManagementSchema, getDataManagementTransferRecords, getFormData, getInitiatorSelectCandidates, getInitiatorSelectRequirements, getProcessBasic, getProcessDefinition, getProcessProgress, getResubmitInitiatorSelectRequirements, getReturnableNodeResult, getReturnableNodes, getSystemFieldsForFormType, getViewPermission, handleApproval, hasViewOperation, hasViewPermission, importDataManagementRows, importPreviewDataManagementRows, normalizeColumnConfig, normalizeDataManagementFields, normalizeDataManagementList, normalizeFieldBehaviors, normalizeOperation, normalizeRichTextHtml, previewProcess, resolveDefaultValueLinkage, resolveOptions, resubmitTask, returnTask, sanitizeRichTextHtml, saveDataManagementConfig, saveTask, transferTask, triggerCallbackTask, useApprovalActions, useChangeRecords, useComponent, useDeviceDetect, useDraftStorage, useFieldBehavior, useFieldPermission, useFormContext, useFormData, useFormDetail, useFormEngine, useFormNavigation, useFormSubmit, useProcessDetail, validateAllFields, validateField, withdrawProcess };
|