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,145 @@
1
+ ## 基础用法
2
+ ```tsx
3
+ import React from 'react';
4
+ import { constants, Radio, RadioValueType, RadioOptionType, RadioEvent, RadioDataType } from '@weapp/ui';
5
+
6
+ const prefixCls = `${constants.uiPcClsPrefix}-demo-radio`;
7
+
8
+ const optionsWithDisabled: RadioDataType = [
9
+ {
10
+ id: 'Apple',
11
+ title: 'Apple',
12
+ content: 'Apple',
13
+ color: '#5D9CEC',
14
+ tips: '我是一个提示信息'
15
+ },
16
+ {
17
+ id: 'Pear',
18
+ title: 'Pear',
19
+ content: 'Pear',
20
+ color: '#FF4D4F'
21
+ },
22
+ {
23
+ id: 'Orange',
24
+ title: 'Orange',
25
+ content: 'Orange',
26
+ disabled: true,
27
+ color: '#52C41A'
28
+ },
29
+ ];
30
+
31
+ const defaultValue =
32
+ {
33
+ id: 'Apple',
34
+ value: 'Apple',
35
+ content: 'Apple'
36
+ };
37
+
38
+ export default class RadioDemo extends React.Component {
39
+
40
+ state = {
41
+ checked: true,
42
+ label: "已选择",
43
+ value: 'Apple'
44
+ }
45
+
46
+ onClick = (v: RadioValueType, o: RadioOptionType, e: RadioEvent) => {
47
+ console.log('onClick', v, o, e)
48
+ }
49
+ onBlur = (v: RadioValueType, o: RadioOptionType, e: React.FocusEvent<HTMLInputElement>) => {
50
+ console.log('onBlur', v, o, e)
51
+ }
52
+ onFocus = (v: RadioValueType, o: RadioOptionType, e: React.FocusEvent<HTMLInputElement>) => {
53
+ console.log('onFocus', v, o, e)
54
+ }
55
+ onKeyPress = (v: RadioValueType, o: RadioOptionType, e: React.KeyboardEvent<HTMLInputElement>) => {
56
+ console.log('onKeyPress', v, o, e)
57
+ }
58
+ onKeyDown = (v: RadioValueType, o: RadioOptionType, e: React.KeyboardEvent<HTMLInputElement>) => {
59
+ console.log('onKeyDown', v, o, e)
60
+ }
61
+ onKeyUp = (v: RadioValueType, o: RadioOptionType, e: React.KeyboardEvent<HTMLInputElement>) => {
62
+ console.log('onKeyUp', v, o, e)
63
+ }
64
+
65
+ onChange1 = (v: RadioValueType, o: RadioOptionType, e: RadioEvent) => {
66
+ console.log('onChange1', v, o, e)
67
+ }
68
+
69
+ onChange = (v: RadioValueType, o: RadioOptionType, e: RadioEvent) => {
70
+ console.log('onChange', v, o, e)
71
+ this.setState({ value: v })
72
+ }
73
+ btnClick = () => {
74
+ this.setState({ value: !this.state.value })
75
+ }
76
+
77
+ render() {
78
+ const { checked, value } = this.state;
79
+ return (
80
+ <div className={prefixCls}>
81
+ <h4>基本用法</h4>
82
+ <Radio defaultValue={false}
83
+ onChange={this.onChange1}
84
+ onClick={this.onClick}
85
+ onFocus={this.onFocus}
86
+ onBlur={this.onBlur}
87
+ >Apple</Radio>
88
+ <Radio value={checked} onChange={this.onChange1} onFocus={this.onFocus} onBlur={this.onBlur} onKeyPress={this.onKeyPress} onKeyDown={this.onKeyDown} onKeyUp={this.onKeyUp}>受控</Radio>
89
+ <h4>只读状态</h4>
90
+ <Radio readOnly>只读</Radio>
91
+ <h4>禁用状态</h4>
92
+ <Radio disabled>禁用</Radio>
93
+ <Radio value={true} disabled>禁用</Radio>
94
+ <h4>Radio datas -- value</h4>
95
+ <Radio data={optionsWithDisabled} value={value} defaultValue={'Apple'} readOnly onChange={this.onChange} />
96
+ <h4>Radio datas 垂直</h4>
97
+ <Radio data={optionsWithDisabled} value={value} vertical onChange={this.onChange} />
98
+ <h4>Radio datas 标签样式</h4>
99
+ <Radio data={optionsWithDisabled} defaultValue={value} optionType='tag' onChange={this.onChange}/>
100
+ <h4>Radio datas 标签样式(不带check框)</h4>
101
+ <Radio data={optionsWithDisabled} value={value} optionType='tag' hideCheck onChange={this.onChange} />
102
+ <h4>Checkbox (check框居右)</h4>
103
+ <Radio data={optionsWithDisabled} defaultValue={value} onChange={this.onChange} isHoldRight/>
104
+ <Radio isHoldRight>不受控(defaultValue)</Radio>
105
+ <h4>Radio (check框居右,竖向,左对齐)</h4>
106
+ <Radio data={optionsWithDisabled} value={value} vertical alignType={'left'} isHoldRight onChange={this.onChange} />
107
+ <h4>Radio (check框居右,竖向,右对齐)</h4>
108
+ <Radio data={optionsWithDisabled} value={value} vertical alignType={'right'} isHoldRight onChange={this.onChange} />
109
+ <h4>Radio (check框居右,竖向,两端对齐)</h4>
110
+ <Radio data={optionsWithDisabled} value={value} vertical alignType={'justify'} isHoldRight onChange={this.onChange} />
111
+ </div>
112
+ );
113
+ }
114
+ }
115
+ ```
116
+
117
+ ## 参数说明
118
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
119
+ | --- | --- | --- | --- | --- |
120
+ | canReversedChoose | 是否开启反选 | boolean | 否 | true |
121
+ | className | 自定义 className | string | 否 | |
122
+ | customOptionContenRender | 复写任一选项的 content 内容 | (props: RadioOptionProps, ele: ReactNode) => ReactNode | 否 | |
123
+ | customOptionRender | 自定义每一选项 | (props: RadioOptionProps, ele: ReactNode, eventProps?: any) => ReactNode | 否 | |
124
+ | customOverlayRender | 复写整体 radio | (_: any, ele: ReactNode) => ReactNode | 否 | |
125
+ | defaultValue | 默认值(单个使用时传递 Boolean) | RadioValueType | 否 | |
126
+ | disabled | 禁用 | boolean | 否 | false |
127
+ | domKey | 单个使用 radio 时,radio 的唯一标识(使用 data 时唯一标识为 data 的 id) | RadioValueType | 否 | |
128
+ | groupClassName | 设置外层 groupClassName(data 存在时生效) | string | 否 | |
129
+ | groupStyle | 设置外层 style(data 存在时生效) | CSSProperties | 否 | |
130
+ | hideCheck | 隐藏 check 框 | boolean | 否 | false |
131
+ | isHoldRight | checkbox 是否靠右显示 | boolean | | false |
132
+ | labelMaxWidth | label 最大宽度 (在表单中,默认生效,宽度 150,传递 0 则不生效,在选框居右模式下不生效) | number | 否 | |
133
+ | name | radio 的 name 属性 | string | 否 | |
134
+ | onBlur | blur 回调 | (value: RadioValueType, option: RadioOptionType , e: React.FocusEvent<HTMLInputElement>) => void | 否 | |
135
+ | onChange | 数据变化回调 | (value: RadioValueType, option: RadioOptionType , e: RadioEvent) => void | 否 | |
136
+ | onClick | 点击回调 | (value: RadioValueType, option: RadioOptionType , e: RadioEvent) => void | 否 | |
137
+ | onFocus | focus 回调 | (value: RadioValueType, option: RadioOptionType , e: React.FocusEvent<HTMLInputElement>) => void | 否 | |
138
+ | optionType | 选项类型 | 'default' \| 'tag' | 否 | 'default' |
139
+ | overlayClassName | 选项的样式名 | string | 否 | |
140
+ | readOnlyMode | 只读模式选择(区别普通的radio只读模式和表单中仅显示字段的只读模式) | boolean | 否 | false |
141
+ | showTitle | 控制 title 是否显示 api | boolean | 否 | true |
142
+ | style | 自定义样式 | CSSProperties | 否 | |
143
+ | tips | 提示信息(如果是传递了 data,直接在 data 中设置) | string | false | - |
144
+ | value | 受控(单个使用时传递 Boolean) | RadioValueType | 否 | |
145
+ | vertical | 是否竖直排列(data 存在时生效) | boolean | 否 | |
@@ -0,0 +1,191 @@
1
+ ## 基础用法
2
+
3
+ ```tsx
4
+ import React, { Component } from "react";
5
+ import {
6
+ constants,
7
+ Select,
8
+ SelectOptionData,
9
+ SelectValueType,
10
+ SingleType,
11
+ } from "@weapp/ui";
12
+
13
+ const prefixCls = `${constants.uiPcClsPrefix}-demo-input`;
14
+
15
+ type SelectDemoState = {
16
+ value: string;
17
+ };
18
+
19
+ const options = [
20
+ { id: "", content: "选项一", other: true, color: "#5D9CEC" },
21
+ { id: "2", content: "选项二", custom: 3, color: "#FF4D4F" },
22
+ {
23
+ id: "3",
24
+ content:
25
+ "超长文本超长文本超长文本超长文本超长文本超长文本超长文本超长文本超长文本超长文本超长文本",
26
+ color: "#52C41A",
27
+ },
28
+ { id: "4", content: "禁用项", disabled: true },
29
+ ];
30
+
31
+ const groupOptions = [
32
+ { id: "11", content: "选项一", type: "1" },
33
+ { id: "12", content: "禁用项", type: "1", disabled: true },
34
+ { id: "13", content: "选项三", type: "1" },
35
+ { id: "21", content: "选项四", type: "2" },
36
+ { id: "31", content: "选项五", type: "3" },
37
+ ];
38
+
39
+ const groupTitle = [
40
+ { id: "1", content: "分组1" },
41
+ { id: "2", content: "分组2" },
42
+ { id: "3", content: "分组3" },
43
+ ];
44
+
45
+ class SelectDemo extends Component<any, SelectDemoState> {
46
+ constructor(props: any) {
47
+ super(props);
48
+ this.state = {
49
+ value: "",
50
+ valueArr: ["1"],
51
+ valueObj: groupOptions[0],
52
+ };
53
+ }
54
+
55
+ handleChange = (v: SelectValueType, option: any, event: any) => {
56
+ console.log("handleChange");
57
+ console.log("v", v);
58
+ console.log("option", option);
59
+ console.log("event", event);
60
+ this.setState({ value: v as string });
61
+ };
62
+
63
+ handleSelect = (
64
+ value: SingleType<SelectValueType>,
65
+ option: SelectOptionData,
66
+ ) => {
67
+ console.log("selected:", value, option);
68
+ };
69
+
70
+ handleArrChange = (v: SelectValueType) => this.setState({ valueArr: v as string[] });
71
+
72
+ handleObjChange = (v: SelectValueType) => this.setState({ valueObj: v as SelectOptionData });
73
+
74
+ handleDeselect = (
75
+ value: SingleType<SelectValueType>,
76
+ option: SelectOptionData,
77
+ ) => {
78
+ console.log("deselected:", value, option);
79
+ };
80
+
81
+ onSelectClick = () => console.info("onSelectClick");
82
+
83
+ render() {
84
+ const { value, valueArr, valueObj } = this.state;
85
+ return (
86
+ <div className={prefixCls}>
87
+ <h4>单选</h4>
88
+ <Select
89
+ data={options}
90
+ value={value}
91
+ showSearch
92
+ allowClear
93
+ onSelect={this.handleSelect}
94
+ onDeselect={this.handleDeselect}
95
+ onChange={this.handleChange}
96
+ onSelectClick={this.onSelectClick}
97
+ />
98
+ <h4>多选</h4>
99
+ <Select
100
+ style={{ width: 250 }}
101
+ data={options}
102
+ multiple
103
+ showSearch
104
+ allowClear
105
+ allowSelectAll
106
+ value={valueArr}
107
+ onSelect={this.handleSelect}
108
+ onChange={this.handleArrChange}
109
+ />
110
+ <h4>只读</h4>
111
+ <Select data={options} value={"2"} readOnly />
112
+ <h4>禁用</h4>
113
+ <Select style={{ width: 200 }} data={options} value={"3"} disabled />
114
+ <h4>分组</h4>
115
+ <Select
116
+ style={{ width: 200 }}
117
+ data={groupOptions}
118
+ showDataGroupByType
119
+ dataGroupTitle={groupTitle}
120
+ value={valueObj}
121
+ onSelect={this.handleSelect}
122
+ onChange={this.handleObjChange}
123
+ />
124
+ </div>
125
+ );
126
+ }
127
+ }
128
+ ```
129
+
130
+ ## 参数说明
131
+ ### 组件参数说明如下
132
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
133
+ | --- | --- | --- | --- | --- |
134
+ | allowCancel | 单选时是否允许取消选中项 | boolean | F | false |
135
+ | allowClear | 是否可以清除输入框 | boolean | F | false |
136
+ | allowSelectAll | 多选时是否允许全选 | boolean | F | false |
137
+ | alwaysTriggerSelect | 单选时允许选中已选数据并触发 onSelect 回调 | F | boolean | false |
138
+ | bindTriggerContainer | 是否绑定弹层容器,若为 true,则调用 getPopupContainer 函数;若为 false,使用 getPopupContainer 这个 props | boolean | F | - |
139
+ | customInputRender | 自定义输入框的渲染 | (selectComponent:any, selectedData: OptionsType) => ReactNode | F | - |
140
+ | customOptionRender | 自定义每一选项的渲染 | (option: OptionData) => ReactNode | F | - |
141
+ | customRenderEmpty | 自定义渲染无数据时暂时的空状态 | customRenderEmpty: () => ReactNode | F | - |
142
+ | data | 下拉选项数据 | SelectOptionsType | F | - |
143
+ | dataGroupTitle | 分组数据 | DataGroupType | F | false |
144
+ | defaultOpen | 是否默认打开下拉框 | boolean | F | false |
145
+ | defaultValue | 当前数(默认值) | string[],SelectOptionsType | F | - |
146
+ | disabled | 是否禁用 | boolean boolean | F | |
147
+ | dropdownClassName | 自定义下拉框的 class | string | F | - |
148
+ | dropdownMatchSelectWidth | 自定义下拉框宽度,若是 boolean 类型,则与 container 同宽;若是 number,则是自定义宽度 | boolean | number | F | - |
149
+ | dropdownPlacement | 自定义下拉框的显示位置 | PopupPlacement | F | - |
150
+ | dropdownRender | 自定义下拉框 | (menu: React.ReactElement) => React.ReactElement | F | - |
151
+ | dropdownStyle | 自定义下拉框的样式 | CSSProperties | F | false |
152
+ | filterOption | 自定义筛选,会接收 inputValue option 两个参数,当 option 符合筛选条件时,应返回 true,反之则返回 false | (inputValue: string, option: SelectOptionData) => boolean | F | - |
153
+ | focusAutoExpand | select 内容区域溢出隐藏情况下,聚焦后自动放大效果功能开关 | boolean | F | - |
154
+ | focusAutoExpandProps | select 内容区域隐藏情况下,聚焦后自动放大效果其它参数 | focusAutoExpandProps | F | - |
155
+ | getPopupContainer | 弹层容器定位 | () => HTMLElement | undefined | F | - |
156
+ | inputIcon | 自定义输入框右侧的图标 | RenderNode | F | - |
157
+ | multiple | 是否多选 | boolean | F | false |
158
+ | onBlur | 失去焦点时触发回调 | () => void | F | - |
159
+ | onChange | 数据修改时触发回调 | (value: string[],SelectOptionsType, option: SelectOptionData SelectOptionsType, event: SelectEvent) => void | F | |
160
+ | onClick | 鼠标点击时触发回调 | React.MouseEventHandler | F | - |
161
+ | onDeselect | 取消选择数据时触发回调 | SelectOptionData, option: SelectOptionData) => void | F | - |
162
+ | onFocus | 聚焦输入框时触发回调 | () => void | F | - |
163
+ | onKeyDown | 按下按键时触发回调 | React.KeyboardEventHandler | F | - |
164
+ | onSearch | 搜索数据时触发回调 | (value: string) => void | F | - |
165
+ | onSelect | 选择数据时触发回调 | (value: string) => void SelectOptionData, option: SelectOptionData) => void | F | |
166
+ | onSelectClick | 点击 select 框的回调 | () => void | F | - |
167
+ | onVisibleChange | 下拉框显示隐藏时触发回调 | (visible: boolean) => void | F | - |
168
+ | open | 是否打开下拉框 | boolean | F | false |
169
+ | optionType | 选项的类型,可以设置为'tag' | string | F | - |
170
+ | optionType | 是否显示为标签样式 | boolean | F | false |
171
+ | readOnly | 是否只读 | boolean | F | false |
172
+ | readOnlyShowPlaceholder | 只读情况下无数据,展示 placeholder | boolean | F | false |
173
+ | showArrow | 是否显示右侧箭头图标 | boolean | F | false |
174
+ | showDataGroupByType | 开启分组功能 | boolean | F | false |
175
+ | showSearch | 是否可以搜索 | boolean | F | false |
176
+ | tagRender | 自定义标签的渲染 | (props: CustomTagProps) => React.ReactNode | F | - |
177
+ | triggerProps | trigger 组件的 props | TriggerConfig | F | - |
178
+ | value | 当前数(受控值) | string[],SelectOptionsType | F | - |
179
+ | vertical | 是否竖向排列 | boolean | F | - |
180
+
181
+ ### focusAutoExpandProps参数说明如下
182
+ autoExpandUseAbsolute 是否开启对应 select 组件展开后使用绝对定位,避免撑开布局。默认情况下不设置此属性时候会撑开布局。
183
+ autoExpandParentCls 对应 select 最大撑开的宽度大小参考系,参考父级 容器 class 类名, 无法直接设置参考容器 可以提供参考容器对应的 class 类名。
184
+ autoExpandContainer 对应 select 最大撑开的宽度大小参考系,参考父级注 如果不设置对应 select 撑开内容区的宽度参考下 默认效果为视口大小。
185
+ ```tsx
186
+ export type focusAutoExpandProps = {
187
+ autoExpandUseAbsolute?: boolean;
188
+ autoExpandParentCls?: string;
189
+ autoExpandContainer?: () => HTMLElement | undefined;
190
+ };
191
+ ```
@@ -0,0 +1,46 @@
1
+ ## 基础用法
2
+ ```js
3
+ import React from 'react';
4
+ import { Switch, SwitchChangeEventHandler, SwitchClickEventHandler } from '@weapp/ui';
5
+
6
+ class SwitchDemo extends React.Component {
7
+
8
+ state = {
9
+ checked: false,
10
+ isLoading: true
11
+ }
12
+
13
+ handleClick: SwitchClickEventHandler = (checked, e) => {
14
+ this.setState({ checked: !this.state.checked, isLoading: !this.state.isLoading })
15
+ }
16
+
17
+ render() {
18
+ const { checked, isLoading } = this.state;
19
+ return (
20
+ <div>
21
+ <h3>基础用法</h3>
22
+ <div style={{width: '140px', display: 'flex',justifyContent: 'space-between'}}>
23
+ <Switch size="sm" />
24
+ <Switch size="md" loading={isLoading} />
25
+ <Switch size="lg" value={checked} onClick={this.handleClick}/>
26
+ </div>
27
+ </div>
28
+ );
29
+ }
30
+ }
31
+ ```
32
+
33
+ ## 参数配置
34
+
35
+ | 参数 | 说明 | 类型 | 是否必填 | 默认值 |
36
+ | --- | --- | --- | --- | --- |
37
+ | checkedChildren | 选中时的内容 | `React.ReactNode` | 否 | |
38
+ | defaultValue | 默认是否选中 | `boolean` | 否 | |
39
+ | loading | 加载中的开关 | `boolean` | 否 | |
40
+ | loadingIcon | switch 加载中图标 | `React.ReactNode` | 否 | |
41
+ | onBeforeChange | 变化前回调 | `(checked: boolean, e: React.MouseEvent \| React.KeyboardEvent) => Promise` | 否 | |
42
+ | onChange | 变化回调 | `(checked: boolean, event: React.MouseEvent \| React.KeyboardEvent) => void` | 否 | |
43
+ | onClick | 点击事件回调 | `SwitchClickEventHandler` | 否 | |
44
+ | size | switch 大小 | `'sm' \| 'md' \| 'lg'` | 否 | |
45
+ | unCheckedChildren | 非选中时的内容 | `React.ReactNode` | 否 | |
46
+ | value | 是否选中(受控) | `boolean` | 否 | |
@@ -0,0 +1,53 @@
1
+ ## 基础用法
2
+ ```js
3
+ import { Component } from 'react';
4
+ import { Upload, UploadData, Icon } from '@weapp/ui';
5
+ import { data } from '../mock';
6
+
7
+ class UploadDemo extends Component<any> {
8
+ state = { data: data }
9
+ onChange = (data?: UploadData[]) => {
10
+ this.setState({ data })
11
+ }
12
+ renderListUploaded = (data: UploadData[], instance: any, com: any) => {
13
+ return <div>{
14
+ data.map((item) => {
15
+ return <div key={item.fileid} style={{ display: 'flex', height: '20px', alignItems: 'center' }}>
16
+ <Icon name="Icon-Knowledge-document-o" />
17
+ <span style={{ display: 'inline-block', width: '200px', marginLeft: '10px', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>{item.name}</span>
18
+ </div>
19
+ })
20
+ }
21
+ </div>
22
+ }
23
+ beforeUpload = (file: File): Promise<void | File> => {
24
+ return new Promise((rs, rj) => {
25
+ // xxxxx
26
+ rj()
27
+ })
28
+ // or return false
29
+ // or return this.encryFile(file)
30
+ }
31
+ encryFile = (file: File) => {
32
+ // 可以在这里对文件进行校验,压缩,加密等操作
33
+ // return xxx
34
+ }
35
+ render() {
36
+ return (
37
+ <div>
38
+ <Upload
39
+
40
+ data={this.state.data}
41
+ onChange={this.onChange}
42
+ uploadParams={{
43
+ module: 'document'
44
+ }}
45
+ beforeUpload={this.beforeUpload}
46
+ />
47
+ </div>
48
+ );
49
+ }
50
+ }
51
+
52
+ export default UploadDemo;
53
+ ```
@@ -0,0 +1,102 @@
1
+ ## 基础用法
2
+ ### 直接引入组件进行使用
3
+ ```js
4
+ import { ECharts } from "echarts/core";
5
+ import React, { Component } from "react";
6
+ import { constants, EChart } from "@weapp/ui";
7
+
8
+ const prefixCls = `${constants.uiPcClsPrefix}-demo-echarts`;
9
+
10
+ interface EChartDemoState {
11
+ barEchartOpt: any;
12
+ newOption: any
13
+ }
14
+ export default class EChartDemo extends Component<{}, EChartDemoState> {
15
+ echarts: any;
16
+ constructor(props: any) {
17
+ super(props);
18
+
19
+ this.state = {
20
+ barEchartOpt: {
21
+ title: {
22
+ show: true,
23
+ text: "销量柱状图"
24
+ },
25
+ tooltip: {},
26
+ legend: {
27
+ data: ["销量"]
28
+ },
29
+ xAxis: {
30
+ data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]
31
+ },
32
+ yAxis: {},
33
+ series: [
34
+ {
35
+ name: "销量",
36
+ type: "bar",
37
+ data: [5, 20, 36, 10, 10, 20]
38
+ }
39
+ ]
40
+ },
41
+ newOption: {
42
+ series: [{
43
+ type: 'custom',
44
+ coordinateSystem: 'none',
45
+ renderItem: (params: any, api: any) => {
46
+ // console.log(this.echarts)
47
+ return {
48
+ type: 'myCustomShape',
49
+ shape: {
50
+ x: api.value(0),
51
+ y: api.value(1),
52
+ width: api.value(2),
53
+ height: api.value(3)
54
+ },
55
+ style: {
56
+ fill: 'red'
57
+ }
58
+ };
59
+ },
60
+ data: [[10, 20, 30, 40]]
61
+ }]
62
+ }
63
+ }
64
+ }
65
+
66
+
67
+ getInstance = (echart: ECharts) => {
68
+ console.log(echart);
69
+ }
70
+ onReady = (echarts: any) => {
71
+ this.echarts = echarts;
72
+ const MyShape = echarts.graphic.extendShape({
73
+ shape: {
74
+ x: 0,
75
+ y: 0,
76
+ width: 0,
77
+ height: 0
78
+ },
79
+ buildPath: function (ctx: any, shape: any) {
80
+ ctx.moveTo(shape.x, shape.y);
81
+ ctx.lineTo(shape.x + shape.width, shape.y);
82
+ ctx.lineTo(shape.x, shape.y + shape.height);
83
+ ctx.lineTo(shape.x + shape.width, shape.y + shape.height);
84
+ ctx.closePath();
85
+ }
86
+ });
87
+ echarts.graphic.registerShape('myCustomShape', MyShape);
88
+ }
89
+ render() {
90
+
91
+ return (
92
+ <div className={prefixCls}>
93
+ <div className={`${prefixCls}-content`}>
94
+ <EChart option={this.state.barEchartOpt} />
95
+ {/* <EChart option={JSON.parse(JSON.stringify(this.state.barEchartOpt))} isEmpty={true} /> */}
96
+ {/* <EChart option={this.state.newOption} onReady={this.onReady} /> */}
97
+ </div>
98
+ </div>
99
+ )
100
+ }
101
+ }
102
+ ```