weaver-e10-builder 1.0.11-beta → 1.0.12-beta

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.
Files changed (175) hide show
  1. package/dist/commands/auth.d.ts.map +1 -1
  2. package/dist/commands/auth.js +13 -0
  3. package/dist/commands/auth.js.map +1 -1
  4. package/dist/commands/form-list-permission.d.ts.map +1 -1
  5. package/dist/commands/form-list-permission.js +130 -15
  6. package/dist/commands/form-list-permission.js.map +1 -1
  7. package/dist/commands/form-nlist.d.ts +22 -0
  8. package/dist/commands/form-nlist.d.ts.map +1 -0
  9. package/dist/commands/form-nlist.js +179 -0
  10. package/dist/commands/form-nlist.js.map +1 -0
  11. package/dist/commands/form-serial-mark.d.ts +0 -15
  12. package/dist/commands/form-serial-mark.d.ts.map +1 -1
  13. package/dist/commands/form-serial-mark.js +604 -137
  14. package/dist/commands/form-serial-mark.js.map +1 -1
  15. package/dist/commands/form.d.ts.map +1 -1
  16. package/dist/commands/form.js +91 -0
  17. package/dist/commands/form.js.map +1 -1
  18. package/dist/commands/skill.d.ts +3 -0
  19. package/dist/commands/skill.d.ts.map +1 -0
  20. package/dist/commands/skill.js +112 -0
  21. package/dist/commands/skill.js.map +1 -0
  22. package/dist/commands/workflow-condition.d.ts.map +1 -1
  23. package/dist/commands/workflow-condition.js +3 -1
  24. package/dist/commands/workflow-condition.js.map +1 -1
  25. package/dist/commands/workflow.d.ts.map +1 -1
  26. package/dist/commands/workflow.js +11 -7
  27. package/dist/commands/workflow.js.map +1 -1
  28. package/dist/index.js +4 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/services/condition-rules.d.ts.map +1 -1
  31. package/dist/services/condition-rules.js +3 -1
  32. package/dist/services/condition-rules.js.map +1 -1
  33. package/dist/services/form-create.d.ts.map +1 -1
  34. package/dist/services/form-create.js +4 -1
  35. package/dist/services/form-create.js.map +1 -1
  36. package/dist/services/form-nlist.d.ts +42 -0
  37. package/dist/services/form-nlist.d.ts.map +1 -0
  38. package/dist/services/form-nlist.js +332 -0
  39. package/dist/services/form-nlist.js.map +1 -0
  40. package/dist/services/skill-provision.d.ts +18 -0
  41. package/dist/services/skill-provision.d.ts.map +1 -0
  42. package/dist/services/skill-provision.js +86 -0
  43. package/dist/services/skill-provision.js.map +1 -0
  44. package/dist/services/workflow-initiator.js +3 -3
  45. package/dist/services/workflow-initiator.js.map +1 -1
  46. package/package.json +4 -2
  47. package/skill-docs/SKILL.md +348 -0
  48. package/skill-docs/actionflows/references/components/calendar/MeetingCreate.md +17 -0
  49. package/skill-docs/actionflows/references/components/calendar/ScheduleCreate.md +17 -0
  50. package/skill-docs/actionflows/references/components/document/AttachmentCopy.md +17 -0
  51. package/skill-docs/actionflows/references/components/document/AttachmentMove.md +17 -0
  52. package/skill-docs/actionflows/references/components/document/DocumentCopy.md +17 -0
  53. package/skill-docs/actionflows/references/components/document/DocumentDelete.md +17 -0
  54. package/skill-docs/actionflows/references/components/document/DocumentEdit.md +17 -0
  55. package/skill-docs/actionflows/references/components/document/DocumentMove.md +17 -0
  56. package/skill-docs/actionflows/references/components/document/DocumentPermissionChange.md +17 -0
  57. package/skill-docs/actionflows/references/components/document/DocumentRenewal.md +17 -0
  58. package/skill-docs/actionflows/references/components/document/DocumentRevert.md +17 -0
  59. package/skill-docs/actionflows/references/components/document/DocumentSave.md +17 -0
  60. package/skill-docs/actionflows/references/components/document/DocumentSubscription.md +17 -0
  61. package/skill-docs/actionflows/references/components/document/DocumentSubscriptionApprove.md +17 -0
  62. package/skill-docs/actionflows/references/components/document/DocumentSubscriptionSendBack.md +17 -0
  63. package/skill-docs/actionflows/references/components/document/DocumentSubscriptionWithdraw.md +17 -0
  64. package/skill-docs/actionflows/references/components/document/FileFolderSave.md +17 -0
  65. package/skill-docs/actionflows/references/components/document/GetAttachmentInfo.md +17 -0
  66. package/skill-docs/actionflows/references/components/document/GetDocumentInfo.md +17 -0
  67. package/skill-docs/actionflows/references/components/document/ModifyDocumentStatus.md +17 -0
  68. package/skill-docs/actionflows/references/components/document/ReplaceAttachment.md +17 -0
  69. package/skill-docs/actionflows/references/components/document/UpdatePrintNum.md +17 -0
  70. package/skill-docs/actionflows/references/components/ebuilder/ActionEbAdd.md +39 -0
  71. package/skill-docs/actionflows/references/components/ebuilder/ActionEbDelete.md +21 -0
  72. package/skill-docs/actionflows/references/components/ebuilder/ActionEbRecover.md +17 -0
  73. package/skill-docs/actionflows/references/components/ebuilder/ActionEbSaveVersion.md +17 -0
  74. package/skill-docs/actionflows/references/components/ebuilder/ActionEbUpdate.md +21 -0
  75. package/skill-docs/actionflows/references/components/ebuilder/DateTrigger.md +17 -0
  76. package/skill-docs/actionflows/references/components/ebuilder/EbGetDataById.md +17 -0
  77. package/skill-docs/actionflows/references/components/ebuilder/EnquiryForm.md +75 -0
  78. package/skill-docs/actionflows/references/components/ebuilder/EventFormData.md +17 -0
  79. package/skill-docs/actionflows/references/components/ebuilder/TimeBatchTrigger.md +17 -0
  80. package/skill-docs/actionflows/references/components/logic/Condition.md +23 -0
  81. package/skill-docs/actionflows/references/components/logic/LogicFlowSet.md +17 -0
  82. package/skill-docs/actionflows/references/components/logic/MultipleExecution.md +38 -0
  83. package/skill-docs/actionflows/references/components/logic/Output.md +17 -0
  84. package/skill-docs/actionflows/references/components/message/SendMessage.md +17 -0
  85. package/skill-docs/actionflows/references/components/personnel/AlterPersonStatus.md +30 -0
  86. package/skill-docs/actionflows/references/components/personnel/HrmEmployeeUpdate.md +32 -0
  87. package/skill-docs/actionflows/references/components/personnel/PersonnelOnboarding.md +34 -0
  88. package/skill-docs/actionflows/references/components/trigger/SimpleScheduler.md +17 -0
  89. package/skill-docs/actionflows/references/components/workflow/ApproveAddSign.md +17 -0
  90. package/skill-docs/actionflows/references/components/workflow/ApproveAgreeRejectApply.md +17 -0
  91. package/skill-docs/actionflows/references/components/workflow/ApproveCommit.md +17 -0
  92. package/skill-docs/actionflows/references/components/workflow/ApproveCompletelyDelete.md +17 -0
  93. package/skill-docs/actionflows/references/components/workflow/ApproveConsulTurnTodo.md +17 -0
  94. package/skill-docs/actionflows/references/components/workflow/ApproveCreate.md +17 -0
  95. package/skill-docs/actionflows/references/components/workflow/ApproveDelete.md +17 -0
  96. package/skill-docs/actionflows/references/components/workflow/ApproveDoCirculate.md +17 -0
  97. package/skill-docs/actionflows/references/components/workflow/ApproveDoForward.md +17 -0
  98. package/skill-docs/actionflows/references/components/workflow/ApproveDoTurnTodo.md +17 -0
  99. package/skill-docs/actionflows/references/components/workflow/ApproveEntrust.md +17 -0
  100. package/skill-docs/actionflows/references/components/workflow/ApproveIntervention.md +17 -0
  101. package/skill-docs/actionflows/references/components/workflow/ApproveMandatoryArchiving.md +17 -0
  102. package/skill-docs/actionflows/references/components/workflow/ApproveManualCC.md +17 -0
  103. package/skill-docs/actionflows/references/components/workflow/ApproveRefuseRejectApply.md +17 -0
  104. package/skill-docs/actionflows/references/components/workflow/ApproveRejectApply.md +17 -0
  105. package/skill-docs/actionflows/references/components/workflow/ApproveSave.md +17 -0
  106. package/skill-docs/actionflows/references/components/workflow/ApproveSendBack.md +17 -0
  107. package/skill-docs/actionflows/references/components/workflow/ApproveShareEntry.md +17 -0
  108. package/skill-docs/actionflows/references/components/workflow/ApproveTrigger.md +49 -0
  109. package/skill-docs/actionflows/references/components/workflow/ApproveWithdraw.md +17 -0
  110. package/skill-docs/actionflows/references/components/workflow/WorkFlowDocEmpowerment.md +17 -0
  111. package/skill-docs/actionflows/references/components/workflow/WorkflowToDoc.md +17 -0
  112. package/skill-docs/actionflows/references/condition_rules.md +97 -0
  113. package/skill-docs/actionflows/references/examples/enquiry-form-batch-insert-scene2.json +1046 -0
  114. package/skill-docs/actionflows/references/function_rules.md +13 -0
  115. package/skill-docs/actionflows/references/trigger_runtime_notes.md +51 -0
  116. package/skill-docs/assets/sample/.claude/settings.local.json +8 -0
  117. package/skill-docs/assets/sample/api/formApi.js +510 -0
  118. package/skill-docs/assets/sample/config/config.js +0 -0
  119. package/skill-docs/assets/sample/config/configLoad.js +0 -0
  120. package/skill-docs/assets/sample/config/configLoad_default.js +0 -0
  121. package/skill-docs/assets/sample/config/config_default.js +0 -0
  122. package/skill-docs/assets/sample/entry.js +22 -0
  123. package/skill-docs/assets/sample/eslint.config.cjs +48 -0
  124. package/skill-docs/assets/sample/memo.md +0 -0
  125. package/skill-docs/assets/sample/readme.js +8 -0
  126. package/skill-docs/references/auth/guide-auth.md +88 -0
  127. package/skill-docs/references/coding/guide-edit-backfill.md +189 -0
  128. package/skill-docs/references/coding/guide-form-crud.md +262 -0
  129. package/skill-docs/references/coding/guide-page-code.md +224 -0
  130. package/skill-docs/references/coding/guide-page-export.md +119 -0
  131. package/skill-docs/references/coding/ref-compile-rules.md +106 -0
  132. package/skill-docs/references/common/ref-cli-commands.md +286 -0
  133. package/skill-docs/references/components/@weapp-Button.md +104 -0
  134. package/skill-docs/references/components/base-Badge.md +100 -0
  135. package/skill-docs/references/components/base-Dialog.md +358 -0
  136. package/skill-docs/references/components/base-Empty.md +58 -0
  137. package/skill-docs/references/components/base-Tag.md +112 -0
  138. package/skill-docs/references/components/display-Alert.md +64 -0
  139. package/skill-docs/references/components/display-Avatar.md +150 -0
  140. package/skill-docs/references/components/display-Calendar.md +263 -0
  141. package/skill-docs/references/components/display-Carousel.md +115 -0
  142. package/skill-docs/references/components/display-Collapse.md +299 -0
  143. package/skill-docs/references/components/display-FilePreview.md +49 -0
  144. package/skill-docs/references/components/display-Icon.md +66 -0
  145. package/skill-docs/references/components/display-List.md +320 -0
  146. package/skill-docs/references/components/display-Pagination.md +41 -0
  147. package/skill-docs/references/components/display-Spin.md +34 -0
  148. package/skill-docs/references/components/display-Steps.md +89 -0
  149. package/skill-docs/references/components/display-Table.md +160 -0
  150. package/skill-docs/references/components/display-Title.md +117 -0
  151. package/skill-docs/references/components/form-Checkbox.md +161 -0
  152. package/skill-docs/references/components/form-DepartmentBrowser-api.md +52 -0
  153. package/skill-docs/references/components/form-EmployeeBrowser-api.md +51 -0
  154. package/skill-docs/references/components/form-EmployeeBrowser.md +51 -0
  155. package/skill-docs/references/components/form-Input.md +123 -0
  156. package/skill-docs/references/components/form-Radio.md +145 -0
  157. package/skill-docs/references/components/form-Select.md +191 -0
  158. package/skill-docs/references/components/form-Switch.md +46 -0
  159. package/skill-docs/references/components/form-Upload.md +53 -0
  160. package/skill-docs/references/components/generic-Echarts.md +102 -0
  161. package/skill-docs/references/form/guide-create-form.md +407 -0
  162. package/skill-docs/references/form/guide-ebuilder-filter.md +73 -0
  163. package/skill-docs/references/form/guide-ebuilder-scope.md +82 -0
  164. package/skill-docs/references/form/guide-form-data.md +48 -0
  165. package/skill-docs/references/form/guide-form-formula-functions.md +297 -0
  166. package/skill-docs/references/form/guide-form-linkage.md +185 -0
  167. package/skill-docs/references/form/guide-form-view-permission.md +38 -0
  168. package/skill-docs/references/form/guide-form-view.md +267 -0
  169. package/skill-docs/references/form/style-templates.md +44 -0
  170. package/skill-docs/references/hrm/guide-matrix.md +103 -0
  171. package/skill-docs/references/menu/system-menus.md +63 -0
  172. package/skill-docs/references/workflow/guide-workflow-action.md +168 -0
  173. package/skill-docs/references/workflow/guide-workflow-condition.md +405 -0
  174. package/skill-docs/references/workflow/guide-workflow.md +388 -0
  175. package/skill-docs/references/workflow/operator-matrix.md +74 -0
@@ -0,0 +1,320 @@
1
+ ## 代码演示
2
+ ### 基础用法
3
+ ```tsx
4
+ import React from "react";
5
+ import { List, Icon, ListData } from "@weapp/ui";
6
+
7
+ const style = { height: "300px" };
8
+ const sortableOptions = { handle: ".my-handle" };
9
+
10
+ const datas: any[] = [];
11
+ for (let i = 0; i < 20; i++) {
12
+ datas.push({
13
+ id: i,
14
+ title: `开发${i + 1}部`,
15
+ });
16
+ }
17
+ const datas1: any[] = [];
18
+ for (let i = 0; i < 200000; i++) {
19
+ datas1.push({
20
+ id: i,
21
+ title: `开发${i + 1}部`,
22
+ });
23
+ }
24
+
25
+ export default class ListDemo extends React.Component {
26
+ state = {
27
+ activeRows: [],
28
+ };
29
+
30
+ customRenderItem = (item: ListData) => (
31
+ <div style={{ height: "40px", lineHeight: "40px" }}>
32
+ <span style={{ marginLeft: "10px" }}>{item.title}</span>
33
+ </div>
34
+ );
35
+
36
+ customRenderItem1 = (item: ListData) => <div style={{ height: '40px', lineHeight: '40px' }}>
37
+ <span style={{ marginLeft: '10px' }}>
38
+ {item.title}
39
+ </span>
40
+ </div>
41
+
42
+ customRenderItem3 = (item: ListData) => (
43
+ <div style={{ height: "40px", lineHeight: "40px" }}>
44
+ <Icon name="Icon-move" className="my-handle" />
45
+ <span style={{ marginLeft: "10px" }}>{item.title}</span>
46
+ </div>
47
+ );
48
+
49
+ onRowClick = (data?: ListData, index?: number) => {
50
+ this.setState({ activeRows: [data] });
51
+ };
52
+
53
+ onSortEnd = (data: ListData[]) => {};
54
+
55
+ render() {
56
+ return (
57
+ <div>
58
+ <h4>基础用法</h4>
59
+ <List
60
+ style={style}
61
+ direction="column"
62
+ data={datas}
63
+ customRenderContent={this.customRenderItem}
64
+ bordered={true}
65
+ isStopMouseDown={true}
66
+ />
67
+ <h4>长按左边图标进行拖拽</h4>
68
+ <List
69
+ sortable={true}
70
+ style={style}
71
+ direction="column"
72
+ sortableOptions={sortableOptions}
73
+ data={datas}
74
+ customRenderContent={this.customRenderItem3}
75
+ onSortEnd={this.onSortEnd}
76
+ onRowClick={this.onRowClick}
77
+ activeRows={this.state.activeRows}
78
+ />
79
+ <h4>虚拟列表</h4>
80
+ <List
81
+ direction="column"
82
+ data={datas1}
83
+ virtualMode={true}
84
+ virtualModeProps={{
85
+ defaultRowHeight: 40,
86
+ minContainerHeight: 360,
87
+ }}
88
+ customRenderContent={this.customRenderItem1}
89
+ />
90
+ </div>
91
+ );
92
+ }
93
+ }
94
+ ```
95
+ ### 分页模式
96
+ ```tsx
97
+ import React from 'react';
98
+ import { List, ListData, ListGroupData, Radio, ListPaginationType, RadioDataType, RadioValueType } from '@weapp/ui';
99
+ const style2 = { height: '300px' }
100
+ const dataGroupTitle1 = [
101
+ { id: 'A', content: 'A', draggable: false },
102
+ { id: 'B', content: 'B', expandable: true },
103
+ { id: 'C', content: 'C', expandable: true },
104
+ { id: 'D', content: 'D' }
105
+ ];
106
+ const dataGroupTitle = [
107
+ { id: 'A', content: 'A', checkable: true, draggable: false },
108
+ { id: 'B', content: 'B', checkable: true, icon: "Icon-integrate-o" },
109
+ { id: 'C', content: 'C', checkable: true },
110
+ { id: 'D', content: 'D', checkable: true }
111
+ ];
112
+ const datas: any[] = [];
113
+ for (let i = 0; i < 20; i++) {
114
+ datas.push({
115
+ id: i,
116
+ title: `开发${i + 1}部`,
117
+ });
118
+ }
119
+ const datas2: any[] = [];
120
+ for (let i = 0; i < 20; i++) {
121
+ datas2.push({
122
+ id: i + 21,
123
+ title: `开发${i + 21}部`,
124
+ });
125
+ }
126
+ const data = datas;
127
+ const options: RadioDataType = [
128
+ {
129
+ id: 'scroll',
130
+ title: '滚动分页',
131
+ content: '滚动分页',
132
+ },
133
+ {
134
+ id: 'more',
135
+ title: '点击加载更多',
136
+ content: '点击加载更多',
137
+ },
138
+ {
139
+ id: 'part',
140
+ title: 'Pagination分页',
141
+ content: 'Pagination分页',
142
+ },
143
+ ];
144
+ export default class ListDemo extends React.Component {
145
+ state = {
146
+ selected1: [],
147
+ data: datas,
148
+ data1: datas,
149
+ dataGroupTitle: dataGroupTitle,
150
+ dataGroupTitle1: dataGroupTitle1,
151
+ loading: false,
152
+ hasMore: true,
153
+ currentPage: 1,
154
+ pageSize: 10,
155
+ pageValue: 'scroll',
156
+ }
157
+ onRowSelect = (arr: Array<ListData> | Array<string>, data?: ListData[]) => {
158
+ console.log(arr, data)
159
+ this.setState({ selected1: arr })
160
+ }
161
+ customRenderItem5 = (rowData: ListData, rowID: number) => {
162
+ const obj = rowData;
163
+ return (
164
+ <span key={rowID} style={{ marginLeft: '15px' }}>
165
+ {obj.title}
166
+ </span>
167
+ );
168
+ }
169
+ onEndReached = () => {
170
+ if (this.state.data.length > 60) {
171
+ this.setState({ hasMore: false })
172
+ } else {
173
+ this.setState({ loading: true })
174
+ setTimeout(() => {
175
+ this.setState({ data: [...this.state.data, ...data], loading: false })
176
+ }, 200)
177
+ }
178
+ }
179
+ onPageChange = (value: number) => {
180
+ const { data } = this.state;
181
+ if (value * 10 > data.length) {
182
+ this.setState({ loading: true })
183
+ setTimeout(() => {
184
+ const newData = data.concat(datas2)
185
+ this.setState({ data: newData, loading: false })
186
+ if (newData.length >= 40) {
187
+ this.setState({ hasMore: false })
188
+ }
189
+ }, 20)
190
+ }
191
+ this.setState({ currentPage: value });
192
+ }
193
+ onScroll = (e: Event) => {
194
+ console.log(e)
195
+ }
196
+ onQuickSearch = (obj: ListGroupData, i: number) => {
197
+ this.setState({
198
+ data1: datas,
199
+ dataGroupTitle: [dataGroupTitle[i]],
200
+ })
201
+ }
202
+ onSortEnd = (data: ListData[], dataGroupTitle?: ListGroupData[]) => {
203
+ console.log(data);
204
+ }
205
+ onPageTypeChange = (value: RadioValueType) => {
206
+ this.setState({ pageValue: value, data: datas, data1: datas, loading: false, hasMore: true, currentPage: 1 })
207
+ }
208
+ render() {
209
+ const { hasMore, loading } = this.state;
210
+ return (
211
+ <div>
212
+ <h4>分页模式</h4>
213
+ <Radio data={options} value={this.state.pageValue} onChange={this.onPageTypeChange} />
214
+ <br />
215
+ <List
216
+ data={this.state.data}
217
+ customRenderContent={this.customRenderItem5}
218
+ // onEndReached={this.onEndReached}
219
+ onScroll={this.onScroll}
220
+ paginationProps={{
221
+ value: this.state.currentPage,
222
+ pageSize: 10,
223
+ paginationType: this.state.pageValue as ListPaginationType,
224
+ onChange: (value, pageSize) => {
225
+ this.onPageChange(value)
226
+ },
227
+ total: this?.state?.data?.length || 0
228
+ }}
229
+ style={["scroll", "more"]?.includes(this.state.pageValue) ? style2 : {}}
230
+ loading={loading}
231
+ hasMore={hasMore}
232
+ />
233
+ </div>
234
+ );
235
+ }
236
+ }
237
+ ```
238
+
239
+ ## 参数说明
240
+ ### 组件参数说明如下
241
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
242
+ | --- | --- | --- | --- | --- |
243
+ | activeRows | 点击选中的行 | Array | 否 | |
244
+ | boxSelection | 是否支持框选 | boolean | 否 | false |
245
+ | checkStyle | check 框样式 | CSSProperties | 否 | |
246
+ | checkTitle | check框鼠标浮动上去的提示文本 | string | 否 | |
247
+ | checkboxPosition | check 框位置 | 'left' \| 'right' | 否 | false |
248
+ | customRender | 自定义渲染 | (_: any, ele: ReactNode) => ReactNode | 否 | |
249
+ | customRenderContent | 自定义 html 模板渲染 Item 的内容布局,用组件内部的 Item 包裹,具有统一的默认样式和属性 | (rowData: ListData\|ListData[], rowIndex: number) => ReactNode | 否 | |
250
+ | customRenderItem | 自定义渲染 Item,不用组件内部的 Item 包裹,不具有统一的默认样式和属性 | (rowData: ListData, rowIndex: number) => ReactNode | 否 | |
251
+ | customRenderOrder | 自定义渲染序号 | (rowIndex: number \| string) => ReactNode | 否 | |
252
+ | customerSortableGroupOptions | 自定义分组的group配置项 | (groupData: object) => string \| object | 否 | false |
253
+ | data | 列表数据 | Array | 是 | |
254
+ | direction | 横向或纵向显示 | 'column' \| 'row' | 否 | 'row' |
255
+ | disabledHTMLDisplay | 是否禁用模板html渲染 | boolean | 否 | false |
256
+ | expandTemplate | 模板扩展,在模板渲染的基础上进行扩展 | (templateCom: ReactNode, data: ListData[]) => ReactNode | 否 | |
257
+ | getCheckedDisabledProps | 是否选择框禁止选中 | (rowData: ListData, rowIndex: number) => boolean | 否 | |
258
+ | getSortableInstance | 获取sortable实例 | (instance: object \| object[]) => void | 否 | |
259
+ | getTemplate | 重写模板的钩子函数 | (template: any) => void | 否 | |
260
+ | hasMore | 是否还有更多数据(为 false 时 onEndReached 不会触发) | boolean | 否 | true |
261
+ | hideEmptyGroup | 是否隐藏空分组 | boolean | 否 | false |
262
+ | horizontalScroll | 横向显示时,超出区域是滚动还是换行,默认换行 | boolean | 否 | true |
263
+ | indexedIdentities | 索引信息 | GroupData[] | 否 | |
264
+ | initialOrder | 初始序号 | number | 否 | |
265
+ | isClickable | 根据每行数据决定是否绑定点击事件 | (data: ListData, index: number, childData?: AnyObj[]) => boolean | 否 | |
266
+ | isStopMouseDown | 是否阻止 mousedown 事件冒泡(常用于搭配 Trigger 组件使用) | boolean | 否 | false |
267
+ | loading | 是否正在加载数据(为 true 时 onEndReached 不会触发) | boolean | 否 | false |
268
+ | multipleCheck | 多选或单选 | boolean | 否 | |
269
+ | noBorder | 是否显示边框 | boolean | 否 | false |
270
+ | onEndReached | 当所有的数据都已经渲染过,并且列表被滚动到距离最底部不足 onEndReachedThreshold 个像素的距离时调用 | () => void | 否 | |
271
+ | onEndReachedThreshold | 调用 onEndReached 之前的临界值,单位是像素 | number | 否 | 10 |
272
+ | onQuickSearch | 快捷导航切换时调用 | (sectionData: GroupData, sectionIndex: number) => void | 否 | |
273
+ | onQuickSearchTop | 快捷导航栏最顶部按钮点击调用 | (quickSearchBarTop?: GroupData) => void | 否 | |
274
+ | onRowClick | 行点击事件 | (data?: ListData, index?: number) => void | 否 | |
275
+ | onRowSelect | 行选中事件 | (selectedRowKeys: Array \| Array, selectedData?: ListData[]) => void | 否 | |
276
+ | onScroll | 滚动事件 | (e: Event) => void | 否 | |
277
+ | onSortEnd | 拖拽结束回调 | (data: ListData[]) => void | 否 | |
278
+ | paginationProps | 分页属性 | PaginationProps | 否 | |
279
+ | popoverProps | 气泡框属性 | PopoverProps | 否 | |
280
+ | pullToRefresh | 拉动刷新 | ReactNode | 否 | |
281
+ | quickSearchBarStyle | quickSearchBar 的 style | CSSProperties | 否 | |
282
+ | quickSearchBarTop | 快捷导航栏最顶部按钮、常用于回到顶部 | GroupData | 否 | |
283
+ | renderFooter | 列表尾部 | (() => ReactNode) \| string \| JSX.Element | 否 | |
284
+ | renderHeader | 列表头部 | (() => ReactNode) \| string \| JSX.Element | 否 | |
285
+ | renderPopup | 渲染气泡框内容 | (data?: ListData, index?: number) => void | 否 | |
286
+ | renderSectionHeader | 如果提供了此函数,会为每个小节(section)渲染一个标题 | (sectionData?: GroupData) => ReactNode | 否 | |
287
+ | rowSelect | 支持配置点击整行选中或是只点击 check 框选中 | boolean | 否 | false |
288
+ | scrollEventThrottle | 控制在滚动过程中,scroll 事件被调用的频率 | number | 否 | |
289
+ | selectedRowKeys | 选中行主键的集合 | Array \| Array | 否 | |
290
+ | showCheck | 显示可选 | boolean | 否 | false |
291
+ | showDataGroupByType | 跨分组拖拽 | boolean | 否 | false |
292
+ | showImg | 是否显示图标 | boolean | 否 | false |
293
+ | showOrder | 是否显示序号 | boolean | 否 | false |
294
+ | showPopover | 显示气泡框 | boolean | 否 | false |
295
+ | sortable | 是否可拖拽排序 | boolean | 否 | false |
296
+ | sortableOptions | 拖拽相关的方法,参考sortablejs 文档 | object | 否 | |
297
+ | stopCheckboxPropagation | 是否阻止check框点击事件的冒泡 | boolean | 否 | false |
298
+ | template | 模板 | any | 否 | |
299
+ | templateType | 模板类型 | string | 否 | |
300
+ | virtualMode | 是否开启虚拟列表模式 | boolean | 否 | false |
301
+ | virtualModeProps | 虚拟列表配置参数 | IVirtualModeProps | 否 | - |
302
+ ### paginationProps分页配置 参数说明如下
303
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
304
+ | --- | --- | --- | --- | --- |
305
+ | PaginationProps | 分页器配置,详情见 组件 Pagination API 说明 | boolean | | |
306
+ | paginationType | 分页模式 | 'scroll' \| 'part' | | 'scroll' |
307
+ ### IndexedList索引列表配置 参数说明如下
308
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
309
+ | --- | --- | --- | --- | --- |
310
+ | indexedIdentities | 索引信息 | GroupData[] | 是 | |
311
+ | initialOrder | 初始序号 | number | 否 | |
312
+ ### IVirtualModeProps虚拟列表配置 参数说明如下
313
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
314
+ | --- | --- | --- | --- | --- |
315
+ | defaultRowHeight | 默认行高 | number | | 40 |
316
+ | getItemSize | 动态计算列表每行高度 | (index?: number) => number | | |
317
+ | measuredRowHeight | 是否开启动态行高 | boolean | | false |
318
+ | minContainerHeight | 列表容器初始化默认最小高度 | number | | 300 |
319
+ ## 注意事项
320
+ 1、sortableOptions配置,可参考sortablejs文档(https://sortablejs.com/options.html)
@@ -0,0 +1,41 @@
1
+ ## 基础用法
2
+ ```js
3
+ import React, { ReactNode } from 'react';
4
+ import { Pagination, AnyObj } from '@weapp/ui';
5
+ import './index.less';
6
+
7
+ export default class CustomStyleDemo extends React.PureComponent<{}> {
8
+
9
+ onChange = (value: number, pageSize: number) => {
10
+ console.log('onChange', value, pageSize);
11
+ }
12
+
13
+ customRenderContent = (_: any, ele: ReactNode, customRenderMap: AnyObj) => {
14
+ const { totalContent, pagerContent, sizeChangeContent, jumpContent } = customRenderMap
15
+ return [
16
+ totalContent,
17
+ sizeChangeContent,
18
+ pagerContent,
19
+ jumpContent
20
+ ].filter(i => !!i)
21
+ }
22
+
23
+ render() {
24
+ return (
25
+ <Pagination
26
+ defaultValue={1}
27
+ total={500} // 总数 会显示 `共500条`
28
+ simple={false}
29
+ showTotal={true}
30
+ showJumper={true}
31
+ showSizeChanger={true}
32
+ onChange={this.onChange}
33
+ onSizeChange={this.onChange}
34
+ showFirstLastBtnInForce={true}
35
+ customRenderContent={this.customRenderContent}
36
+ className={'ui-demo-pagination-new'}
37
+ />
38
+ );
39
+ }
40
+ }
41
+ ```
@@ -0,0 +1,34 @@
1
+ ## 基础用法
2
+
3
+ ```tsx
4
+ import React from 'react';
5
+ import { Spin } from '@weapp/ui';
6
+
7
+ class SpinDemo extends React.Component {
8
+ render() {
9
+ return (
10
+ <div>
11
+ <Spin />
12
+ <Spin size="small" />
13
+ <Spin size="large" />
14
+ <Spin color='red'/>
15
+ <Spin text="加载中。。。">
16
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
17
+ </Spin>
18
+ </div>
19
+ )
20
+ }
21
+ }
22
+ ```
23
+
24
+ ## 参数说明
25
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
26
+ | --- | --- | --- | --- | --- |
27
+ | color | 旋转图标颜色 | string | 否 | |
28
+ | customRender | 自定义渲染 | (_: any, ele: ReactNode) => ReactNode | 否 | |
29
+ | size | 尺寸大小 | small、large | 否 | |
30
+ | spinning | 是否显示 | boolean | 否 | false |
31
+ | style | 样式 | CSSProperties | 否 | |
32
+ | text | 加载文字 | string | 否 | |
33
+ | type | 加载模式 | circle、curve | 否 | |
34
+ | wrapperClassName | 最外层包裹样式 | string | 否 | |
@@ -0,0 +1,89 @@
1
+ ## 基础用法
2
+
3
+ ```tsx
4
+ import { Component } from 'react'
5
+ import { Steps, StepBaseProps, Button } from '@weapp/ui';
6
+
7
+ const datas1: Array<StepBaseProps> = [
8
+ { title: 'First', description: 'This is description.' },
9
+ { title: 'Second', description: 'This is description.', subTitle: 'click me' },
10
+ { title: 'Last', description: 'This is description.',subTitle:'click me' },
11
+ ]
12
+
13
+ interface MStepsDemoProps {
14
+ weId?: string
15
+ }
16
+
17
+ interface MStepsDemoState {
18
+ current?: number
19
+ }
20
+
21
+ export default class StepDemo extends Component<MStepsDemoProps, MStepsDemoState> {
22
+
23
+ state = {
24
+ current: 0,
25
+ }
26
+
27
+ onChange = (current: number) => {
28
+ this.setState({ current });
29
+ };
30
+
31
+ nextStep = () => {
32
+ this.setState((state: any) => {
33
+ return {
34
+ current: state.current + 1
35
+ }
36
+ });
37
+ };
38
+
39
+ render() {
40
+ const { current } = this.state;
41
+ return (
42
+ <div >
43
+ <div style={{ lineHeight: '30px' }}>基本使用 </div>
44
+ <Steps direction="horizontal" current={current} onChange={this.onChange} data={datas1} />
45
+ <Steps
46
+ current={current}
47
+ onChange={this.onChange}
48
+ data={datas1}
49
+ />
50
+ <Steps
51
+ current={current}
52
+ onChange={this.onChange}
53
+ direction='vertical'
54
+ data={datas1}
55
+ />
56
+ </div >
57
+ )
58
+ }
59
+
60
+ }
61
+ ```
62
+
63
+ ## 参数说明
64
+ ### 组件参数说明如下
65
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
66
+ | --- | --- | --- | --- | --- |
67
+ | current | 指定当前步骤,从 0 开始记数 | number | 否 | |
68
+ | customRender | 自定义渲染 | (_: Component, ele: ReactNode) => ReactNode | 否 | |
69
+ | customRenderContent | 自定义渲染 | (data:StepBaseProps, index: number) => ReactNode | 否 | |
70
+ | customRenderStep | 自定义渲染 | (data:StepBaseProps, index: number) => ReactNode | 否 | |
71
+ | data | 子组件的数据 | Array | 否 | |
72
+ | direction | 展示方式 horizontal 水平 vertical 垂直 | 'horizontal' \| 'vertical' | 否 | horizontal |
73
+ | labelPlacement | 标签放置位置相对于图标的位置 | 'horizontal' \| 'vertical' | 否 | vertical |
74
+ | labelSpace | 图标和文字的距离 | Number | 否 | 10 |
75
+ | onChange | 切换步骤时的回调 | (current: number) => void | 否 | |
76
+ | style | style 样式 | CSSProperties | 否 | |
77
+ | textAlign | 水平方向步骤条的·文字对齐方式 | 'left' \| 'center' | 否 | center |
78
+
79
+ ### Steps.data 参数说明如下
80
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
81
+ | --- | --- | --- | --- | --- |
82
+ | description | 步骤的详情描述,可选 | ReactNode | 否 | |
83
+ | disabled | 禁用点击 | boolean | 否 | false |
84
+ | icon | 步骤图标的类型,可选 | string ReactElement | 否 | |
85
+ | iconColor | 图标被选中时候的颜色 | string | 否 | |
86
+ | iconStyle | 图标的背景颜色,文字颜色,边框颜色等 | CSSProperties | 否 | |
87
+ | status | 指定状态。当不配置该属性时,会使用 Steps 的 current 来自动指定状态。可选:wait process finish error | string | 否 | wait |
88
+ | subTitle | 子标题 | ReactNode | 否 | |
89
+ | title | 标题 | ReactNode | 否 | |
@@ -0,0 +1,160 @@
1
+ ## 表格组件的使用案例
2
+ ```js
3
+ import React from 'react';
4
+ import { Table, Avatar, Dialog, ITableColumn, Switch } from '@weapp/ui';
5
+ import imgSrc from "../../../../assets/images/ODTLcjxAfvqbxHnVXCYX.png"
6
+ const { message } = Dialog;
7
+
8
+ const columns: ITableColumn[] = [
9
+ {
10
+ title: '姓名',
11
+ dataIndex: 'name',
12
+ isPrimaryKey: true,
13
+ bodyRender: getName,
14
+ }, {
15
+ title: '联系方式',
16
+ dataIndex: 'tel'
17
+ }, {
18
+ title: '部门',
19
+ dataIndex: 'depart',
20
+ },{
21
+ title: '多行文本',
22
+ dataIndex: 'textarea',
23
+ },{
24
+ title: '上级',
25
+ dataIndex: 'leader',
26
+ bodyRender: getLeader
27
+ },{
28
+ title: '入职时间',
29
+ dataIndex: 'join_time',
30
+ }
31
+ ];
32
+
33
+ function getName(data: any, pos: any, name: any) {
34
+ const url = imgSrc;
35
+ return (
36
+ <span className={'ui-table-demo-name'}>
37
+ <Avatar size='small' url={url} ></Avatar>
38
+ <a style={{ marginLeft: '10px', color: '#5D9CEC' }}>{data[name]}</a>
39
+ </span>
40
+ )
41
+ }
42
+
43
+ function getLeader(data: any, pos: any, name: any) {
44
+ return <a>{data[name]}</a>
45
+ }
46
+
47
+ const data = [{
48
+ name: '张天逸',
49
+ tel: '15199398787',
50
+ depart: '泛微-北方大区',
51
+ textarea: '设计师',
52
+ leader: '王紫博',
53
+ join_time: '2021-06-23'
54
+ }];
55
+
56
+ export default class BasicDemo extends React.Component<{}, any> {
57
+ state = {
58
+ current: 1,
59
+ pageSize: 5,
60
+ data: data,
61
+ isShowHead: true,
62
+ loading: false,
63
+ isShowIndex: true,
64
+ bordered: false
65
+ };
66
+
67
+ onRowClick = (data: any, index: any, event: any) => {
68
+ console.log('onRowClick', data, index, event.target)
69
+ }
70
+
71
+ onRowMouseEnter = (a: number, b: object) => {
72
+ console.log('onRowMouseEnter', a, b)
73
+ }
74
+
75
+ handleChange = (v: boolean) => {
76
+ this.setState({
77
+ isShowHead: v
78
+ })
79
+ }
80
+
81
+ handleLoadingChange = (v: boolean) => {
82
+ this.setState({
83
+ loading: v
84
+ })
85
+ }
86
+
87
+ handleIndexChange = (v: boolean) => {
88
+ this.setState({
89
+ isShowIndex: v
90
+ })
91
+ }
92
+
93
+ onChange = (value: number, pageSize: number) => {
94
+ this.setState({ current: value, pageSize });
95
+ message({
96
+ type: 'success', // type: 'info', 'error', 'success'
97
+ content: `value: ${value}, pageSize: ${pageSize}`,
98
+ });
99
+ }
100
+
101
+ onSizeChange = (value: number, pageSize: number) => {
102
+ this.setState({ current: value, pageSize })
103
+ message({
104
+ type: 'success', // type: 'info', 'error', 'success'
105
+ content: `value: ${value}, pageSize: ${pageSize}`,
106
+ });
107
+ }
108
+
109
+ getPageInfo = () => {
110
+ const { current, pageSize, data } = this.state
111
+
112
+ return {
113
+ value: current,
114
+ pageSize: pageSize,
115
+ total: data.length,
116
+ showSizeChanger: true,
117
+ showTotal: false,
118
+ showJumper: false,
119
+ pageSizeOptions: [5, 10],
120
+ onChange: this.onChange,
121
+ onSizeChange: this.onSizeChange
122
+ }
123
+ }
124
+
125
+ handleBorderedChange = (v: boolean) => {
126
+ this.setState({ bordered: v })
127
+ }
128
+
129
+ render() {
130
+ const { data, isShowHead, loading, isShowIndex, bordered } = this.state
131
+ return (
132
+ <div>
133
+ <span style={{ margin: '15px 10px', display: 'inline-block', alignItems: 'center' }}>
134
+ <Switch value={isShowHead} onChange={this.handleChange} />是否显示表头
135
+ </span>
136
+ <span>
137
+ <Switch value={loading} onChange={this.handleLoadingChange} />是否loading
138
+ </span>
139
+ <span style={{ margin: '15px 10px', display: 'inline-block', alignItems: 'center' }}>
140
+ <Switch value={isShowIndex} onChange={this.handleIndexChange} />是否显示序号
141
+ </span>
142
+ <span style={{ margin: '15px 10px', display: 'inline-block', alignItems: 'center' }}>
143
+ <Switch value={bordered} onChange={this.handleBorderedChange} />是否显示边框
144
+ </span>
145
+ <Table
146
+
147
+ columns={columns}
148
+ data={data}
149
+ pageInfo={this.getPageInfo()}
150
+ onRowClick={this.onRowClick}
151
+ isShowHead={isShowHead}
152
+ loading={loading}
153
+ isShowIndex={isShowIndex}
154
+ bordered={bordered}
155
+ />
156
+ </div>
157
+ )
158
+ }
159
+ }
160
+ ```