pit-docs-mcp 1.0.2

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 (203) hide show
  1. package/README.md +180 -0
  2. package/dist/codegen.d.ts +5 -0
  3. package/dist/codegen.d.ts.map +1 -0
  4. package/dist/codegen.js +112 -0
  5. package/dist/constants.d.ts +6 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/constants.js +10 -0
  8. package/dist/index.d.ts +3 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +115 -0
  11. package/dist/resources.d.ts +3 -0
  12. package/dist/resources.d.ts.map +1 -0
  13. package/dist/resources.js +80 -0
  14. package/dist/tools.d.ts +3 -0
  15. package/dist/tools.d.ts.map +1 -0
  16. package/dist/tools.js +258 -0
  17. package/dist/utils.d.ts +26 -0
  18. package/dist/utils.d.ts.map +1 -0
  19. package/dist/utils.js +198 -0
  20. package/docs/codegen/pit-simplify-web.md +686 -0
  21. package/docs/pitBusinessUi/README.md +102 -0
  22. package/docs/pitBusinessUi/add-date-picker.md +57 -0
  23. package/docs/pitBusinessUi/add-operation.md +64 -0
  24. package/docs/pitBusinessUi/batch-download.md +44 -0
  25. package/docs/pitBusinessUi/bill-tree-dialog.md +82 -0
  26. package/docs/pitBusinessUi/collapse.md +88 -0
  27. package/docs/pitBusinessUi/date-time-picker.md +74 -0
  28. package/docs/pitBusinessUi/design-report-explain.md +47 -0
  29. package/docs/pitBusinessUi/dialog.md +89 -0
  30. package/docs/pitBusinessUi/dic-radio.md +67 -0
  31. package/docs/pitBusinessUi/dic.md +78 -0
  32. package/docs/pitBusinessUi/document-preview.md +54 -0
  33. package/docs/pitBusinessUi/drawer.md +67 -0
  34. package/docs/pitBusinessUi/editor.md +63 -0
  35. package/docs/pitBusinessUi/expand-search-form.md +65 -0
  36. package/docs/pitBusinessUi/file-preview.md +56 -0
  37. package/docs/pitBusinessUi/flow-table-status.md +47 -0
  38. package/docs/pitBusinessUi/icon-box.md +74 -0
  39. package/docs/pitBusinessUi/image-preview.md +55 -0
  40. package/docs/pitBusinessUi/image.md +53 -0
  41. package/docs/pitBusinessUi/input-formatter.md +100 -0
  42. package/docs/pitBusinessUi/input-number.md +47 -0
  43. package/docs/pitBusinessUi/input-select.md +68 -0
  44. package/docs/pitBusinessUi/input.md +56 -0
  45. package/docs/pitBusinessUi/jm-preview.md +47 -0
  46. package/docs/pitBusinessUi/json-editor.md +71 -0
  47. package/docs/pitBusinessUi/loading-btn.md +64 -0
  48. package/docs/pitBusinessUi/monaco.md +82 -0
  49. package/docs/pitBusinessUi/money-input.md +59 -0
  50. package/docs/pitBusinessUi/pagination.md +70 -0
  51. package/docs/pitBusinessUi/password-strength.md +59 -0
  52. package/docs/pitBusinessUi/positive-number.md +63 -0
  53. package/docs/pitBusinessUi/preview-image.md +62 -0
  54. package/docs/pitBusinessUi/preview-office.md +50 -0
  55. package/docs/pitBusinessUi/preview.md +57 -0
  56. package/docs/pitBusinessUi/quill.md +52 -0
  57. package/docs/pitBusinessUi/runflow-btn.md +52 -0
  58. package/docs/pitBusinessUi/search-date-picker.md +60 -0
  59. package/docs/pitBusinessUi/select-bid-list.md +66 -0
  60. package/docs/pitBusinessUi/select-color.md +38 -0
  61. package/docs/pitBusinessUi/select-contract-tree.md +41 -0
  62. package/docs/pitBusinessUi/select-dept.md +38 -0
  63. package/docs/pitBusinessUi/select-project-unit.md +48 -0
  64. package/docs/pitBusinessUi/select-section-tree.md +45 -0
  65. package/docs/pitBusinessUi/select-section.md +66 -0
  66. package/docs/pitBusinessUi/select-string.md +60 -0
  67. package/docs/pitBusinessUi/select-system-unit.md +41 -0
  68. package/docs/pitBusinessUi/select-user-by-role.md +51 -0
  69. package/docs/pitBusinessUi/switch.md +43 -0
  70. package/docs/pitBusinessUi/table-contract.md +66 -0
  71. package/docs/pitBusinessUi/table-operation.md +81 -0
  72. package/docs/pitBusinessUi/table.md +75 -0
  73. package/docs/pitBusinessUi/tag.md +86 -0
  74. package/docs/pitBusinessUi/textarea.md +65 -0
  75. package/docs/pitBusinessUi/transfer-direct.md +57 -0
  76. package/docs/pitBusinessUi/transfer-user-project.md +78 -0
  77. package/docs/pitBusinessUi/transfer.md +68 -0
  78. package/docs/pitBusinessUi/tree-lazy.md +72 -0
  79. package/docs/pitBusinessUi/tree-select-name.md +59 -0
  80. package/docs/pitBusinessUi/tree-select-plus.md +106 -0
  81. package/docs/pitBusinessUi/tree-select.md +86 -0
  82. package/docs/pitBusinessUi/upload-avatar.md +60 -0
  83. package/docs/pitBusinessUi/upload-file-dialog.md +86 -0
  84. package/docs/pitBusinessUi/upload-file.md +77 -0
  85. package/docs/pitBusinessUi/upload-list-card.md +62 -0
  86. package/docs/pitBusinessUi/upload-table.md +77 -0
  87. package/docs/pitBusinessUi/user-transform.md +72 -0
  88. package/docs/pitBusinessUi/utils.md +272 -0
  89. package/docs/pitBusinessUtils/README.md +144 -0
  90. package/docs/pitBusinessUtils/auth.md +170 -0
  91. package/docs/pitBusinessUtils/clipboard.md +72 -0
  92. package/docs/pitBusinessUtils/filePreview.md +60 -0
  93. package/docs/pitBusinessUtils/formValidate.md +75 -0
  94. package/docs/pitBusinessUtils/generateTitle.md +49 -0
  95. package/docs/pitBusinessUtils/get-page-title.md +65 -0
  96. package/docs/pitBusinessUtils/i18n.md +130 -0
  97. package/docs/pitBusinessUtils/jwks.md +82 -0
  98. package/docs/pitBusinessUtils/oss.md +391 -0
  99. package/docs/pitBusinessUtils/passwordValidate.md +120 -0
  100. package/docs/pitBusinessUtils/pit.md +496 -0
  101. package/docs/pitBusinessUtils/print.md +126 -0
  102. package/docs/pitBusinessUtils/request.md +137 -0
  103. package/docs/pitBusinessUtils/scroll-to.md +68 -0
  104. package/docs/pitBusinessUtils/utils.md +762 -0
  105. package/docs/pitBusinessUtils/validate.md +224 -0
  106. package/docs/pitElementUi/alert.md +238 -0
  107. package/docs/pitElementUi/avatar.md +147 -0
  108. package/docs/pitElementUi/backtop.md +60 -0
  109. package/docs/pitElementUi/badge.md +120 -0
  110. package/docs/pitElementUi/base-tabs.md +73 -0
  111. package/docs/pitElementUi/border.md +135 -0
  112. package/docs/pitElementUi/breadcrumb.md +44 -0
  113. package/docs/pitElementUi/button.md +301 -0
  114. package/docs/pitElementUi/calendar.md +66 -0
  115. package/docs/pitElementUi/card.md +170 -0
  116. package/docs/pitElementUi/carousel.md +212 -0
  117. package/docs/pitElementUi/cascader.md +1966 -0
  118. package/docs/pitElementUi/checkbox.md +283 -0
  119. package/docs/pitElementUi/collapse.md +131 -0
  120. package/docs/pitElementUi/color-picker.md +123 -0
  121. package/docs/pitElementUi/color.md +244 -0
  122. package/docs/pitElementUi/container.md +240 -0
  123. package/docs/pitElementUi/custom-theme.md +131 -0
  124. package/docs/pitElementUi/date-picker.md +448 -0
  125. package/docs/pitElementUi/datetime-picker.md +254 -0
  126. package/docs/pitElementUi/descriptions.md +191 -0
  127. package/docs/pitElementUi/dialog-header.md +53 -0
  128. package/docs/pitElementUi/dialog.md +239 -0
  129. package/docs/pitElementUi/divider.md +61 -0
  130. package/docs/pitElementUi/drawer.md +307 -0
  131. package/docs/pitElementUi/dropdown.md +308 -0
  132. package/docs/pitElementUi/empty.md +61 -0
  133. package/docs/pitElementUi/font-family.md +90 -0
  134. package/docs/pitElementUi/form-base.md +1239 -0
  135. package/docs/pitElementUi/form-item-checkbox-group.md +48 -0
  136. package/docs/pitElementUi/form-item-date.md +60 -0
  137. package/docs/pitElementUi/form-item-dic.md +18 -0
  138. package/docs/pitElementUi/form-item-editor.md +16 -0
  139. package/docs/pitElementUi/form-item-input-money.md +19 -0
  140. package/docs/pitElementUi/form-item-input-number.md +20 -0
  141. package/docs/pitElementUi/form-item-input.md +18 -0
  142. package/docs/pitElementUi/form-item-radio-group.md +21 -0
  143. package/docs/pitElementUi/form-item-select.md +21 -0
  144. package/docs/pitElementUi/form-item-switch.md +15 -0
  145. package/docs/pitElementUi/form-item-textarea.md +20 -0
  146. package/docs/pitElementUi/form-item-tree-select.md +27 -0
  147. package/docs/pitElementUi/form-item-upload-card.md +18 -0
  148. package/docs/pitElementUi/form-item-upload.md +1 -0
  149. package/docs/pitElementUi/form-two.md +102 -0
  150. package/docs/pitElementUi/form.md +952 -0
  151. package/docs/pitElementUi/i18n.md +228 -0
  152. package/docs/pitElementUi/icon-custom.md +99 -0
  153. package/docs/pitElementUi/icon-line-custom.md +12 -0
  154. package/docs/pitElementUi/icon.md +28 -0
  155. package/docs/pitElementUi/image.md +178 -0
  156. package/docs/pitElementUi/infiniteScroll.md +87 -0
  157. package/docs/pitElementUi/input-number.md +197 -0
  158. package/docs/pitElementUi/input-select.md +1 -0
  159. package/docs/pitElementUi/input.md +800 -0
  160. package/docs/pitElementUi/installation.md +9 -0
  161. package/docs/pitElementUi/layout-column.md +376 -0
  162. package/docs/pitElementUi/layout-tree.md +715 -0
  163. package/docs/pitElementUi/layout.md +354 -0
  164. package/docs/pitElementUi/link.md +66 -0
  165. package/docs/pitElementUi/loading.md +208 -0
  166. package/docs/pitElementUi/menu.md +403 -0
  167. package/docs/pitElementUi/message-box.md +326 -0
  168. package/docs/pitElementUi/message.md +219 -0
  169. package/docs/pitElementUi/notification.md +311 -0
  170. package/docs/pitElementUi/page-header.md +40 -0
  171. package/docs/pitElementUi/pagination.md +200 -0
  172. package/docs/pitElementUi/popconfirm.md +60 -0
  173. package/docs/pitElementUi/popover.md +167 -0
  174. package/docs/pitElementUi/progress.md +178 -0
  175. package/docs/pitElementUi/quickstart.md +290 -0
  176. package/docs/pitElementUi/radio.md +211 -0
  177. package/docs/pitElementUi/rate.md +135 -0
  178. package/docs/pitElementUi/result.md +76 -0
  179. package/docs/pitElementUi/select-tree.md +661 -0
  180. package/docs/pitElementUi/select.md +586 -0
  181. package/docs/pitElementUi/skeleton.md +316 -0
  182. package/docs/pitElementUi/slider.md +237 -0
  183. package/docs/pitElementUi/steps.md +154 -0
  184. package/docs/pitElementUi/switch.md +142 -0
  185. package/docs/pitElementUi/table.md +4023 -0
  186. package/docs/pitElementUi/tabs.md +303 -0
  187. package/docs/pitElementUi/tag.md +203 -0
  188. package/docs/pitElementUi/time-picker.md +199 -0
  189. package/docs/pitElementUi/timeline.md +154 -0
  190. package/docs/pitElementUi/tooltip.md +177 -0
  191. package/docs/pitElementUi/transfer.md +249 -0
  192. package/docs/pitElementUi/transition.md +155 -0
  193. package/docs/pitElementUi/tree.md +1157 -0
  194. package/docs/pitElementUi/typography.md +151 -0
  195. package/docs/pitElementUi/upload-table.md +39 -0
  196. package/docs/pitElementUi/upload.md +392 -0
  197. package/docs/pitElementUi/virtual-list.md +154 -0
  198. package/docs/pitElementUi/virtual-select-tree.md +243 -0
  199. package/docs/pitElementUi/virtual-select.md +451 -0
  200. package/docs/pitElementUi/virtual-table-column.md +1 -0
  201. package/docs/pitElementUi/virtual-table.md +490 -0
  202. package/docs/pitElementUi/virtual-tree.md +119 -0
  203. package/package.json +33 -0
@@ -0,0 +1,1239 @@
1
+ ## formBase 增删改查基础组件
2
+
3
+ 抽象基于增删改查系列业务模板,实现快速开发增删改查界面功能。
4
+
5
+ [comment]: <> (### 全局配置)
6
+
7
+ [comment]: <> (在引入 Element 时,可以传入一个全局配置对象。按照引入 Element 的方式,具体操作如下:)
8
+
9
+ [comment]: <> (完整引入 Element:)
10
+
11
+ [comment]: <> (```js)
12
+
13
+ [comment]: <> (import Vue from 'vue';)
14
+
15
+ [comment]: <> (import Element from 'pit-element-ui';)
16
+
17
+ [comment]: <> (Vue.use&#40;Element, { )
18
+
19
+ [comment]: <> ( size: 'small',)
20
+
21
+ [comment]: <> ( zIndex: 3000,)
22
+
23
+ [comment]: <> ( tableHeadBackground: '#fff', // 用于改变表格表头的颜色值)
24
+
25
+ [comment]: <> ( isHiddenAddBtn: 'hide', // 用于控制所有的新增按钮是否显示隐藏:默认值:show,可选:show、hide)
26
+
27
+ [comment]: <> ( isHiddenEditBtn: 'hide', // 用于控制所有的编辑按钮是否显示隐藏:默认值:show,可选:show、hide)
28
+
29
+ [comment]: <> ( isHiddenDelBtn: 'hide', // 用于控制所有的删除按钮是否显示隐藏:默认值:show,可选:show、hide)
30
+
31
+ [comment]: <> ( isHiddenBatchBtn: 'hide', // 用于控制所有的批量删除按钮是否显示隐藏:默认值:show,可选:show、hide)
32
+
33
+ [comment]: <> ( paginationPageSize: 'pageSize', // 分页条数key)
34
+
35
+ [comment]: <> ( paginationPageNum: 'currentPage', // 分页页码key)
36
+
37
+ [comment]: <> ( paginationTotal: 'total', // 分页总数key)
38
+
39
+ [comment]: <> ( dialogTop: '20px', // 设置全局的dialog组件top属性)
40
+
41
+ [comment]: <> ( buttonArea: 'default', // 默认操作按钮在table上方,值为search显示在搜索区域的右边)
42
+
43
+ [comment]: <> ( treeItemSize: opts.treeItemSize || 32,)
44
+
45
+ [comment]: <> ( searchType: opts.searchType || 'colour-10', // 查询按钮类型)
46
+
47
+ [comment]: <> ( clearType: opts.clearType || 'default', // 清空按钮类型)
48
+
49
+ [comment]: <> ( addType: opts.addType || 'colour-7', // 新建按钮类型)
50
+
51
+ [comment]: <> ( updateType: opts.updateType || 'colour-10', // 修改按钮类型)
52
+
53
+ [comment]: <> ( deleteType: opts.deleteType || 'colour-8', // 删除按钮类型)
54
+
55
+ [comment]: <> ( batchDelType: opts.batchDelType || 'colour-8', // 批量删除按钮类型)
56
+
57
+ [comment]: <> ( expandType: opts.expandType || 'default', // 折叠按钮类型)
58
+
59
+ [comment]: <> ( saveType: opts.saveType || 'colour-10', // 弹窗确定按钮类型)
60
+
61
+ [comment]: <> ( cancelType: opts.cancelType || 'default' // 弹窗取消按钮类型)
62
+
63
+ [comment]: <> (}&#41;;)
64
+
65
+ [comment]: <> (```)
66
+
67
+ [comment]: <> (### 准备工作)
68
+
69
+ [comment]: <> (```js)
70
+
71
+ [comment]: <> (Vue.prototype.request = request // 在Vue实例上挂载request请求函数)
72
+
73
+ [comment]: <> (Vue.prototype.isOk = 200 // 在Vue实例上挂载isOk,后台成功状态码,默认为200)
74
+
75
+ [comment]: <> (Vue.prototype.dialogHeaderClass = 'dialog-header-class' // 在Vue实例上挂载弹出层dialogHeaderClass,默认为preview-warp)
76
+
77
+ [comment]: <> (```)
78
+
79
+ ### 基本用法
80
+
81
+ 表格+表单 新增弹窗展示
82
+
83
+ :::demo 在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker
84
+ ```html
85
+ <div>
86
+ <el-button @click="handleClick">随机切换表格数据</el-button>
87
+ </div>
88
+ <el-form-base
89
+ ref="peFormBase"
90
+ key="peFormBase1"
91
+ primary-key="id"
92
+ row-key="id"
93
+ query-interface="basics/department/page"
94
+ query-one-interface="basics/department/info"
95
+ save-interface="basics/department/save"
96
+ update-interface="basics/department/update"
97
+ delete-interface="basics/department/delete"
98
+ :form-inline="formInline"
99
+ :columns="cloneColumns"
100
+ :add-form="addForm"
101
+ :isDefaultQuery="false"
102
+ :rules="rules"
103
+ :defaultExpandAll="false"
104
+ :noBatchBtn="false"
105
+ :row-single="false"
106
+ :duration="10000"
107
+ :customizeDialogTitle="{
108
+ addTitle: '自定义新增'
109
+ }"
110
+ >
111
+ <template slot="searchForm" slot-scope="data">
112
+ <el-form-item label="关键词" prop="keyword">
113
+ <el-select v-model="data.formInline.keyword" placeholder="请选择">
114
+ <el-option
115
+ v-for="item in options"
116
+ :key="item.value"
117
+ :label="item.label"
118
+ :value="item.value">
119
+ </el-option>
120
+ </el-select>
121
+ </el-form-item>
122
+ </template>
123
+ <template slot="add" slot-scope="data">
124
+ <el-form-item label="部门名称" prop="fullName">
125
+ <el-input v-model="data.addForm.fullName" placeholder="输入名称" />
126
+ </el-form-item>
127
+ <el-form-item label="部门类型" prop="type">
128
+ <el-select v-model="data.addForm.type" placeholder="请选择活动区域" style="width: 100%">
129
+ <el-option label="区域一" value="shanghai"></el-option>
130
+ <el-option label="区域二" value="beijing"></el-option>
131
+ </el-select>
132
+ </el-form-item>
133
+ <el-form-item label="部门编码" prop="enCode">
134
+ <el-input
135
+ v-model="data.addForm.enCode"
136
+ placeholder="请选择图标"
137
+ readonly>
138
+ <el-button slot="append">选择</el-button>
139
+ </el-input>
140
+ </el-form-item>
141
+ <el-form-item label="部门主管" prop="managerId">
142
+ <el-input v-model="data.addForm.managerId" placeholder="输入部门主管" />
143
+ </el-form-item>
144
+ <el-form-item label="排序" prop="orderId">
145
+ <el-input-number v-model="data.addForm.orderId" :min="0" :max="9999" />
146
+ </el-form-item>
147
+ <el-form-item label="部门说明" prop="description">
148
+ <el-input v-model="data.addForm.description" type="textarea" :rows="6" />
149
+ </el-form-item>
150
+ </template>
151
+ </el-form-base>
152
+
153
+ <script>
154
+ export default {
155
+ data() {
156
+ return {
157
+ operatingTypeProps: 'add',
158
+ cloneColumns: [
159
+ {
160
+ prop: 'enCode',
161
+ label: '编码',
162
+ align: 'left',
163
+ renderTooltip: (params) => {
164
+ return `${params.fullName}(${params.enCode})`
165
+ }
166
+ },
167
+ {
168
+ prop: 'orderId',
169
+ label: '排序11',
170
+ align: 'center',
171
+ width: 80,
172
+ renderHeader: "排序22"
173
+ },
174
+ {
175
+ prop: 'createTime',
176
+ label: '创建时间',
177
+ align: 'center',
178
+ width: 160,
179
+ dateFormatter: 'yyyy年mm月dd',
180
+ },
181
+ {
182
+ prop: '',
183
+ label: '操作',
184
+ align: 'center',
185
+ width: 160,
186
+ render: (params) => (
187
+ <div>
188
+ <a
189
+ onClick={() => this.$refs.peFormBase.info(params['departmentId'])}
190
+ class='text-primary mr-2'
191
+ >
192
+ 编辑
193
+ </a>
194
+ <a
195
+ onClick={() => this.$refs.peFormBase.delete(params['departmentId'])}
196
+ class='text-danger mr-2'
197
+ >
198
+ 删除
199
+ </a>
200
+ </div>
201
+ )
202
+ }
203
+ ],
204
+ columns: [],
205
+ formInline: {
206
+ id: '',
207
+ keyword: ''
208
+ },
209
+ addForm: {
210
+ organizeId: '',
211
+ departmentId: '',
212
+ description: '',
213
+ enCode: '1111',
214
+ type: "shanghai",
215
+ fullName: '',
216
+ managerId: '',
217
+ orderId: 0,
218
+ parentId: ''
219
+ },
220
+ rules: {
221
+ type: [
222
+ { required: true, message: '所属上级不能为空', trigger: 'change' }
223
+ ],
224
+ fullName: [
225
+ { required: true, message: '请输入部门名称', trigger: 'blur' },
226
+ { max: 50, message: '部门名称最多为50个字符!', trigger: 'blur' }
227
+ ],
228
+ enCode: [
229
+ { required: true, message: '请输入编码', trigger: 'change' },
230
+ ]
231
+ },
232
+ treeData: [],
233
+ natureData: [],
234
+ industryData: [],
235
+ options: [{
236
+ value: '选项1',
237
+ label: '黄金糕'
238
+ }, {
239
+ value: '选项2',
240
+ label: '双皮奶',
241
+ disabled: true
242
+ }, {
243
+ value: '选项3',
244
+ label: '蚵仔煎'
245
+ }, {
246
+ value: '选项4',
247
+ label: '龙须面'
248
+ }, {
249
+ value: '选项5',
250
+ label: '北京烤鸭'
251
+ }],
252
+ };
253
+ },
254
+ methods: {
255
+ handleClick(){
256
+ const indexItem = Math.floor(Math.random() * 10);
257
+ const arr = []
258
+ for(let i=0; i<indexItem; i++){
259
+ arr.push({
260
+ prop: 'sortCode',
261
+ label: i+'',
262
+ align: 'center',
263
+ })
264
+ }
265
+
266
+ const obj = {
267
+ prop: '',
268
+ label: '测试1',
269
+ align: 'center',
270
+ children: arr
271
+ }
272
+ this.columns = []
273
+ this.columns = JSON.parse(JSON.stringify(this.cloneColumns))
274
+ this.columns.push(obj)
275
+ this.$refs.peFormBase.isShowDataTable = false
276
+ this.$nextTick(()=>{
277
+ this.$refs.peFormBase.isShowDataTable = true
278
+ })
279
+ console.log(this.columns)
280
+ console.log(this.cloneColumns)
281
+ }
282
+ },
283
+ mounted() {
284
+ this.columns = JSON.parse(JSON.stringify(this.cloneColumns))
285
+ this.$nextTick(()=>{
286
+ this.$refs.peFormBase.tableData = [
287
+ {
288
+ "id":"7234458129814e0c9c42bc89652b1fa0",
289
+ "hasChildren":true,
290
+ "parentId":"0",
291
+ "aa": {"bv": 1},
292
+ "enabled":true,
293
+ "fullName":"在线开发",
294
+ "icon":"icon-ym icon-ym-onlineDevelopment",
295
+ "urlAddress":"",
296
+ "type":1,
297
+ "createTime": "2023-10-18 15:10:08",
298
+ "children":[
299
+
300
+ ],
301
+ "buttonAuthorize":false,
302
+ "columnAuthorize":false,
303
+ "dataAuthorize":false,
304
+ "formAuthorize":false,
305
+ "sortCode":1
306
+ },{
307
+ "id":"85cd7bca426e49ce83a061bf4611b1447",
308
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
309
+ "parentIds":null,
310
+ "level":null,
311
+ "hasChildren":false,
312
+ "children":null,
313
+ "fullName":"功能设计",
314
+ "buttonAuthorize":true,
315
+ "columnAuthorize":true,
316
+ "dataAuthorize":true,
317
+ "formAuthorize":true,
318
+ "enCode":"onlineDev",
319
+ "createTime": "2023-10-18 15:10:08",
320
+ "icon":"icon-ym icon-ym-webDesign",
321
+ "urlAddress":"onlineDev/webDesign",
322
+ "linkTarget":"_self",
323
+ "type":2,
324
+ "isData":null,
325
+ "enabled":true,
326
+ "sortCode":10,
327
+ "category":"Web",
328
+ "description":"应用开发、移动开发、流程表单",
329
+ "propertyJson":"{\"iconBackgroundColor\":\"#FF3B3B\",\"moduleId\":\"\"}"
330
+ },
331
+ {
332
+ "id":"f6b7ce17cef147b0bb97abdc6c95e12a",
333
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
334
+ "parentIds":null,
335
+ "level":null,
336
+ "hasChildren":false,
337
+ "children":null,
338
+ "fullName":"移动设计",
339
+ "buttonAuthorize":true,
340
+ "columnAuthorize":true,
341
+ "dataAuthorize":true,
342
+ "formAuthorize":true,
343
+ "enCode":"onlineDev.appDesign",
344
+ "icon":"icon-ym icon-ym-appDesign",
345
+ "urlAddress":"onlineDev/appDesign",
346
+ "linkTarget":"_self",
347
+ "type":2,
348
+ "isData":null,
349
+ "enabled":true,
350
+ "sortCode":11,
351
+ "category":"Web",
352
+ "description":"",
353
+ "propertyJson":"{\"iconBackgroundColor\":\"#282828\",\"moduleId\":\"\"}"
354
+ },
355
+ {
356
+ "id":"c7159f97177b420d9fc81ecdhdf8c74ae541b",
357
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
358
+ "fullName":"报表设计",
359
+ "enCode":"onlineDev.dataReport",
360
+ },
361
+ {
362
+ "id":"c7159f97177b420d9fchdh81ec8c74ae541b",
363
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
364
+ "fullName":"报表设计",
365
+ "enCode":"onlineDev.dataReport",
366
+ },{
367
+ "id":"c7159f97177b420d9fcdhdf81ec8c74ae541b",
368
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
369
+ "fullName":"报表设计",
370
+ "enCode":"onlineDev.dataReport",
371
+ },
372
+ {
373
+ "id":"c7159f97177b420d9fdhdc81ec8c74ae541b",
374
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
375
+ "fullName":"报表设计",
376
+ "enCode":"onlineDev.dataReport",
377
+ },
378
+ {
379
+ "id":"c7159f97177dhdb420d9fc81ec8c74ae541b",
380
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
381
+ "fullName":"报表设计",
382
+ "enCode":"onlineDev.dataReport",
383
+ },{
384
+ "id":"c7159f971hdh77b420d9fc81ec8c74ae541b",
385
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
386
+ "fullName":"报表设计",
387
+ "enCode":"onlineDev.dataReport",
388
+ },{
389
+ "id":"c7159fdfh97177b420d9fc81ec8c74ae541b",
390
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
391
+ "fullName":"报表设计",
392
+ "enCode":"onlineDev.dataReport",
393
+ },{
394
+ "id":"c7159f97177b420ghd9fc81ec8c74ae541b",
395
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
396
+ "fullName":"报表设计",
397
+ "enCode":"onlineDev.dataReport",
398
+ },{
399
+ "id":"c7159f97177b42dgda0d9fc81ec8c74ae541b",
400
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
401
+ "fullName":"报表设计",
402
+ "enCode":"onlineDev.dataReport",
403
+ },{
404
+ "id":"c7159f97177b420d9fcdfg81ec8c74ae541b",
405
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
406
+ "fullName":"报表设计",
407
+ "enCode":"onlineDev.dataReport",
408
+ },{
409
+ "id":"c7159f97177b420d9fsfsc81ec8c74ae541b",
410
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
411
+ "fullName":"报表设计",
412
+ "enCode":"onlineDev.dataReport",
413
+ },{
414
+ "id":"c7159f97177b420d9sfsdfc81ec8c74ae541b",
415
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
416
+ "fullName":"报表设计",
417
+ "enCode":"onlineDev.dataReport",
418
+ },{
419
+ "id":"c7159f971sdf77b420df9fc81ec8c74ae541b",
420
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
421
+ "fullName":"报表设计",
422
+ "enCode":"onlineDev.dataReport",
423
+ },{
424
+ "id":"c7159f97177b420d9dfc81ec8c74ae541b",
425
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
426
+ "fullName":"报表设计",
427
+ "enCode":"onlineDev.dataReport",
428
+ },{
429
+ "id":"c7159f97177b420d9fc8131ec8c74ae541b",
430
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
431
+ "fullName":"报表设计",
432
+ "enCode":"onlineDev.dataReport",
433
+ },{
434
+ "id":"c7159f97177b420d9fc81ec8c12374ae541b",
435
+ "parentId":"7234458129814e0c9c42bc89652b1fa0",
436
+ "fullName":"报表设计",
437
+ "enCode":"onlineDev.dataReport",
438
+ },
439
+ ]
440
+ })
441
+ }
442
+ };
443
+ </script>
444
+ ```
445
+ :::
446
+
447
+ ### 虚拟表格
448
+
449
+ :::demo 在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker
450
+ ```html
451
+ <el-form-base
452
+ ref="peFormBase"
453
+ key="peFormBase1"
454
+ primary-key="id"
455
+ row-key="id"
456
+ :rowSingle="false"
457
+ :tableLazy="false"
458
+ :isVirtuallyTable="true"
459
+ :tableTransform="true"
460
+ query-interface="basics/department/page"
461
+ query-one-interface="basics/department/info"
462
+ save-interface="basics/department/save"
463
+ update-interface="basics/department/update"
464
+ delete-interface="basics/department/delete"
465
+ :form-inline="formInline"
466
+ :columns="columns"
467
+ :add-form="addForm"
468
+ :noPagination="false"
469
+ :isDefaultQuery="false"
470
+ defaultExpandAll
471
+ :rules="rules"
472
+ :noBatchBtn="false"
473
+ :duration="10000"
474
+ :noSearchFormLeft="false"
475
+ :customizeDialogTitle="{
476
+ addTitle: '自定义新增'
477
+ }"
478
+ >
479
+ <template slot="searchForm" slot-scope="data">
480
+ <el-form-item label="关键词" prop="keyword">
481
+ <el-input
482
+ v-model="data.formInline.keyword"
483
+ placeholder="请输入关键词查询"
484
+ clearable
485
+ />
486
+ </el-form-item>
487
+ </template>
488
+ <template slot="add" slot-scope="data">
489
+ <el-form-item label="部门名称" prop="fullName">
490
+ <el-input v-model="data.addForm.fullName" placeholder="输入名称" />
491
+ </el-form-item>
492
+ <el-form-item label="部门类型" prop="type">
493
+ <el-select v-model="data.addForm.type" placeholder="请选择活动区域">
494
+ <el-option label="区域一" value="shanghai"></el-option>
495
+ <el-option label="区域二" value="beijing"></el-option>
496
+ </el-select>
497
+ </el-form-item>
498
+ <el-form-item label="部门编码" prop="enCode">
499
+ <el-input
500
+ v-model="data.addForm.enCode"
501
+ placeholder="请选择图标"
502
+ readonly>
503
+ <el-button slot="append">选择</el-button>
504
+ </el-input>
505
+ </el-form-item>
506
+ <el-form-item label="部门主管" prop="managerId">
507
+ <el-input v-model="data.addForm.managerId" placeholder="输入部门主管" />
508
+ </el-form-item>
509
+ <el-form-item label="排序" prop="orderId">
510
+ <el-input-number v-model="data.addForm.orderId" :min="0" :max="9999" />
511
+ </el-form-item>
512
+ <el-form-item label="部门说明" prop="description">
513
+ <el-input v-model="data.addForm.description" type="textarea" :rows="6" />
514
+ </el-form-item>
515
+ </template>
516
+ </el-form-base>
517
+
518
+ <script>
519
+ export default {
520
+ data() {
521
+ return {
522
+ operatingTypeProps: 'add',
523
+ columns: [
524
+ {
525
+ prop: 'name',
526
+ label: '名称',
527
+ align: 'left',
528
+ width: '700px',
529
+ treeNode: true
530
+ },
531
+ {
532
+ prop: 'size',
533
+ label: '尺寸',
534
+ align: 'left',
535
+ },
536
+ {
537
+ prop: 'type',
538
+ label: '类型',
539
+ align: 'left',
540
+ showOverflow: true,
541
+ render: (params) => (
542
+ <el-tag
543
+ type="success"
544
+ disable-transitions>
545
+ 正常
546
+ </el-tag>
547
+ ),
548
+
549
+
550
+ },
551
+ {
552
+ prop: 'date',
553
+ label: '时间',
554
+ align: 'center',
555
+ width: 80,
556
+ showOverflow: true
557
+ },
558
+ {
559
+ prop: '',
560
+ label: '操作',
561
+ align: 'center',
562
+ width: 160,
563
+ render: (params) => (
564
+ <div>
565
+ <a
566
+ onClick={() => this.$refs.peFormBase.info(params['departmentId'])}
567
+ class='text-primary mr-2'
568
+ >
569
+ 编辑
570
+ </a>
571
+ <a
572
+ onClick={() => this.$refs.peFormBase.delete(params['departmentId'])}
573
+ class='text-danger mr-2'
574
+ >
575
+ 删除
576
+ </a>
577
+ </div>
578
+ )
579
+ }
580
+ ],
581
+ formInline: {
582
+ id: '',
583
+ keyword: ''
584
+ },
585
+ addForm: {
586
+ organizeId: '',
587
+ departmentId: '',
588
+ description: '',
589
+ enCode: '1111',
590
+ type: "shanghai",
591
+ fullName: '',
592
+ managerId: '',
593
+ orderId: 0,
594
+ parentId: ''
595
+ },
596
+ rules: {
597
+ type: [
598
+ { required: true, message: '所属上级不能为空', trigger: 'change' }
599
+ ],
600
+ fullName: [
601
+ { required: true, message: '请输入部门名称', trigger: 'blur' },
602
+ { max: 50, message: '部门名称最多为50个字符!', trigger: 'blur' }
603
+ ],
604
+ enCode: [
605
+ { required: true, message: '请输入编码', trigger: 'change' },
606
+ ]
607
+ },
608
+ treeData: [],
609
+ natureData: [],
610
+ industryData: []
611
+ };
612
+ },
613
+ methods: {
614
+
615
+ },
616
+ mounted() {
617
+ this.$nextTick(()=>{
618
+ this.$refs.peFormBase.tableData = [
619
+ {
620
+ id: 110000,
621
+ parentId: null,
622
+ name: 'vxe-table test abc1',
623
+ type: 'mp3',
624
+ size: 1024,
625
+ date: '08-01'
626
+ },
627
+ ]
628
+ })
629
+ }
630
+ };
631
+ </script>
632
+ ```
633
+ :::
634
+
635
+ ### 表格+表单
636
+
637
+ :::demo 在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker
638
+ ```html
639
+ <el-form-base
640
+ ref="peFormBase"
641
+ primary-key="departmentId"
642
+ row-key="departmentId"
643
+ query-interface="basics/department/page"
644
+ query-one-interface="basics/department/info"
645
+ save-interface="basics/department/save"
646
+ update-interface="basics/department/update"
647
+ delete-interface="basics/department/delete"
648
+ :form-inline="formInline"
649
+ :columns="columns"
650
+ :add-form="addForm"
651
+ :isDefaultQuery="false"
652
+ dialogType="dialog-header"
653
+ :rules="rules"
654
+ >
655
+ <template slot="searchForm" slot-scope="data">
656
+ <el-form-item label="关键词" prop="keyword">
657
+ <el-input
658
+ v-model="data.formInline.keyword"
659
+ placeholder="请输入关键词查询"
660
+ clearable
661
+ />
662
+ </el-form-item>
663
+ </template>
664
+ <template slot="add" slot-scope="data">
665
+ <el-form-item label="部门名称" prop="fullName">
666
+ <el-input v-model="data.addForm.fullName" placeholder="输入名称" />
667
+ </el-form-item>
668
+ <el-form-item label="部门编码" prop="enCode">
669
+ <el-input v-model="data.addForm.enCode" placeholder="输入编码" />
670
+ </el-form-item>
671
+ <el-form-item label="部门主管" prop="managerId">
672
+ <el-input v-model="data.addForm.managerId" placeholder="输入部门主管" />
673
+ </el-form-item>
674
+ <el-form-item label="排序" prop="orderId">
675
+ <el-input-number v-model="data.addForm.orderId" :min="0" :max="9999" />
676
+ </el-form-item>
677
+ <el-form-item label="部门说明" prop="description">
678
+ <el-input v-model="data.addForm.description" type="textarea" :rows="6" />
679
+ </el-form-item>
680
+ </template>
681
+ </el-form-base>
682
+
683
+ <script>
684
+ export default {
685
+ data() {
686
+ return {
687
+ operatingTypeProps: 'add',
688
+ columns: [
689
+ {
690
+ prop: 'fullName',
691
+ label: '名称',
692
+ align: 'left'
693
+ },
694
+ {
695
+ prop: 'enCode',
696
+ label: '编码',
697
+ align: 'left'
698
+ },
699
+ {
700
+ prop: 'managerId',
701
+ label: '部门主管',
702
+ align: 'left'
703
+ },
704
+ {
705
+ prop: 'orderId',
706
+ label: '排序',
707
+ align: 'center',
708
+ width: 80
709
+ },
710
+ {
711
+ prop: 'createTime',
712
+ label: '创建时间',
713
+ align: 'center',
714
+ width: 160,
715
+ dateFormatter: 'yyyy年mm月dd',
716
+ },
717
+ {
718
+ prop: '',
719
+ label: '操作',
720
+ align: 'center',
721
+ width: 160,
722
+ render: (params) => (
723
+ <div>
724
+ <a
725
+ onClick={() => this.$refs.peFormBase.info(params['departmentId'])}
726
+ class='text-primary mr-2'
727
+ >
728
+ 编辑
729
+ </a>
730
+ <a
731
+ onClick={() => this.$refs.peFormBase.delete(params['departmentId'])}
732
+ class='text-danger mr-2'
733
+ >
734
+ 删除
735
+ </a>
736
+ </div>
737
+ )
738
+ }
739
+ ],
740
+ formInline: {
741
+ id: '',
742
+ keyword: ''
743
+ },
744
+ addForm: {
745
+ organizeId: '',
746
+ departmentId: '',
747
+ description: '',
748
+ enCode: '',
749
+ fullName: '',
750
+ managerId: '',
751
+ orderId: 0,
752
+ parentId: ''
753
+ },
754
+ rules: {
755
+ parentId: [
756
+ { required: true, message: '所属上级不能为空', trigger: 'input' }
757
+ ],
758
+ fullName: [
759
+ { required: true, message: '请输入部门名称', trigger: 'blur' },
760
+ { max: 50, message: '部门名称最多为50个字符!', trigger: 'blur' }
761
+ ]
762
+ },
763
+ treeData: [],
764
+ natureData: [],
765
+ industryData: []
766
+ };
767
+ },
768
+ methods: {
769
+
770
+ }
771
+ };
772
+ </script>
773
+ ```
774
+ :::
775
+
776
+ ### 复杂表头
777
+
778
+ :::demo 在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker
779
+ ```html
780
+ <el-form-base
781
+ ref="peFormBase"
782
+ key="peFormBase2"
783
+ primary-key="departmentId"
784
+ query-interface="basics/department/page"
785
+ query-one-interface="basics/department/info"
786
+ save-interface="basics/department/save"
787
+ update-interface="basics/department/update"
788
+ delete-interface="basics/department/delete"
789
+ :form-inline="formInline"
790
+ :columns="columns"
791
+ :add-form="addForm"
792
+ :isDefaultQuery="false"
793
+ dialogType="dialog-header"
794
+ :rules="rules"
795
+ >
796
+ <template slot="searchForm" slot-scope="data">
797
+ <el-form-item label="关键词" prop="keyword">
798
+ <el-input
799
+ v-model="data.formInline.keyword"
800
+ placeholder="请输入关键词查询"
801
+ clearable
802
+ />
803
+ </el-form-item>
804
+ </template>
805
+ <template slot="add" slot-scope="data">
806
+ <el-form-item label="部门名称" prop="fullName">
807
+ <el-input v-model="data.addForm.fullName" placeholder="输入名称" />
808
+ </el-form-item>
809
+ <el-form-item label="部门编码" prop="enCode">
810
+ <el-input v-model="data.addForm.enCode" placeholder="输入编码" />
811
+ </el-form-item>
812
+ <el-form-item label="部门主管" prop="managerId">
813
+ <el-input v-model="data.addForm.managerId" placeholder="输入部门主管" />
814
+ </el-form-item>
815
+ <el-form-item label="排序" prop="orderId">
816
+ <el-input-number v-model="data.addForm.orderId" :min="0" :max="9999" />
817
+ </el-form-item>
818
+ <el-form-item label="部门说明" prop="description">
819
+ <el-input v-model="data.addForm.description" type="textarea" :rows="6" />
820
+ </el-form-item>
821
+ </template>
822
+ </el-form-base>
823
+
824
+ <script>
825
+ export default {
826
+ data() {
827
+ return {
828
+ operatingTypeProps: 'add',
829
+ columns: [
830
+ {
831
+ prop: 'fullName',
832
+ label: '名称',
833
+ align: 'left'
834
+ },
835
+ {
836
+ prop: 'enCode',
837
+ label: '编码',
838
+ align: 'left'
839
+ },
840
+ {
841
+ prop: 'managerId',
842
+ label: '部门主管',
843
+ align: 'left'
844
+ },
845
+ {
846
+ prop: 'orderId',
847
+ label: '排序',
848
+ align: 'center',
849
+ width: 240,
850
+ children: [
851
+ {
852
+ prop: 'sort',
853
+ label: '排序1',
854
+ align: 'center',
855
+ width: 120
856
+ },
857
+ {
858
+ prop: 'dictionarydataValue',
859
+ label: '排序2',
860
+ align: 'center',
861
+ width: 120
862
+ }
863
+ ]
864
+ },
865
+ {
866
+ prop: 'createTime',
867
+ label: '创建时间',
868
+ align: 'center',
869
+ width: 160
870
+ },
871
+ {
872
+ prop: '',
873
+ label: '操作',
874
+ align: 'center',
875
+ width: 160,
876
+ render: (params) => (
877
+ <div>
878
+ <a
879
+ onClick={() => this.$refs.peFormBase.info(params['departmentId'])}
880
+ class='text-primary mr-2'
881
+ >
882
+ 编辑
883
+ </a>
884
+ <a
885
+ onClick={() => this.$refs.peFormBase.delete(params['departmentId'])}
886
+ class='text-danger mr-2'
887
+ >
888
+ 删除
889
+ </a>
890
+ </div>
891
+ )
892
+ }
893
+ ],
894
+ formInline: {
895
+ id: '',
896
+ keyword: ''
897
+ },
898
+ addForm: {
899
+ organizeId: '',
900
+ departmentId: '',
901
+ description: '',
902
+ enCode: '',
903
+ fullName: '',
904
+ managerId: '',
905
+ orderId: 0,
906
+ parentId: ''
907
+ },
908
+ rules: {
909
+ parentId: [
910
+ { required: true, message: '所属上级不能为空', trigger: 'input' }
911
+ ],
912
+ fullName: [
913
+ { required: true, message: '请输入部门名称', trigger: 'blur' },
914
+ { max: 50, message: '部门名称最多为50个字符!', trigger: 'blur' }
915
+ ]
916
+ },
917
+ treeData: [],
918
+ natureData: [],
919
+ industryData: []
920
+ };
921
+ },
922
+ methods: {
923
+
924
+ }
925
+ };
926
+ </script>
927
+ ```
928
+ :::
929
+
930
+ ### 懒加载表格
931
+
932
+ :::demo 在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker
933
+ ```html
934
+ <el-form-base
935
+ ref="peFormBase"
936
+ primary-key="id"
937
+ row-key="id"
938
+ :row-single="true"
939
+ query-interface="api/system/Area/{id}"
940
+ query-one-interface="api/message/info"
941
+ save-interface="api/message"
942
+ update-interface="api/message"
943
+ delete-interface="api/message"
944
+ :form-inline="formInline"
945
+ :columns="columns"
946
+ :add-form="addForm"
947
+ :rules="rules"
948
+ :isDefaultQuery="false"
949
+ tableLazy
950
+ dialog-top="400px"
951
+ :no-batch-btn="false"
952
+ isBatchDelete
953
+ >
954
+ </el-form-base>
955
+
956
+ <script>
957
+ export default {
958
+ data() {
959
+ return {
960
+ operatingTypeProps: 'add',
961
+ columns: [
962
+ {
963
+ prop: "fullName",
964
+ label: "区域名称",
965
+ },
966
+ {
967
+ prop: "enCode",
968
+ label: "区域编码",
969
+ },
970
+ {
971
+ prop: "sortCode",
972
+ label: "排序",
973
+ },
974
+ {
975
+ prop: "createdDate",
976
+ label: "创建时间",
977
+ },
978
+ ],
979
+ formInline: {
980
+ id: ''
981
+ },
982
+ addForm: {},
983
+ rules: {},
984
+ treeData: [],
985
+ natureData: [],
986
+ industryData: []
987
+ };
988
+ },
989
+ mounted(){
990
+ this.$nextTick(()=>{
991
+ this.$refs.peFormBase.tableData = [ {
992
+ "id" : "11",
993
+ "fullName" : "北京市",
994
+ "enCode" : "1134",
995
+ "enabledMark" : 1,
996
+ "isLeaf" : false,
997
+ "hasChildren" : true,
998
+ "sortCode" : 0
999
+ }, {
1000
+ "id" : "12",
1001
+ "fullName" : "天津市",
1002
+ "enCode" : "12",
1003
+ "enabledMark" : 1,
1004
+ "isLeaf" : false,
1005
+ "hasChildren" : true,
1006
+ "sortCode" : 0
1007
+ }, {
1008
+ "id" : "13",
1009
+ "fullName" : "河北省",
1010
+ "enCode" : "13",
1011
+ "enabledMark" : 1,
1012
+ "isLeaf" : false,
1013
+ "hasChildren" : true,
1014
+ "sortCode" : 0
1015
+ }, {
1016
+ "id" : "14",
1017
+ "fullName" : "山西",
1018
+ "enCode" : "14",
1019
+ "enabledMark" : 1,
1020
+ "isLeaf" : false,
1021
+ "hasChildren" : true,
1022
+ "sortCode" : 0
1023
+ }, {
1024
+ "id" : "15",
1025
+ "fullName" : "内蒙古自治区",
1026
+ "enCode" : "15",
1027
+ "enabledMark" : 1,
1028
+ "isLeaf" : false,
1029
+ "hasChildren" : true,
1030
+ "sortCode" : 0
1031
+ }, {
1032
+ "id" : "21",
1033
+ "fullName" : "辽宁省",
1034
+ "enCode" : "21",
1035
+ "enabledMark" : 1,
1036
+ "isLeaf" : false,
1037
+ "hasChildren" : true,
1038
+ "sortCode" : 0
1039
+ }, {
1040
+ "id" : "22",
1041
+ "fullName" : "吉林省",
1042
+ "enCode" : "22",
1043
+ "enabledMark" : 1,
1044
+ "isLeaf" : false,
1045
+ "hasChildren" : true,
1046
+ "sortCode" : 0
1047
+ }, {
1048
+ "id" : "23",
1049
+ "fullName" : "黑龙江省",
1050
+ "enCode" : "23",
1051
+ "enabledMark" : 1,
1052
+ "isLeaf" : false,
1053
+ "hasChildren" : true,
1054
+ "sortCode" : 0
1055
+ }, {
1056
+ "id" : "31",
1057
+ "fullName" : "上海市",
1058
+ "enCode" : "31",
1059
+ "enabledMark" : 1,
1060
+ "isLeaf" : false,
1061
+ "hasChildren" : true,
1062
+ "sortCode" : 0
1063
+ } ]
1064
+ })
1065
+ }
1066
+ };
1067
+ </script>
1068
+ ```
1069
+ :::
1070
+
1071
+ ### FormBase Attributes
1072
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
1073
+ |---------- |-------------- |---------- |-------------------------------- |-------- |
1074
+ | primaryKey | 业务表主键 | string | — | — |
1075
+ | rowKey | 是否为树标识 | string | — | — |
1076
+ | rowSingle | 单选还是多选,默认多选 | boolean | — | true |
1077
+ | dialogType | 表单显示类型,默认为弹窗 | string | dialog / dialog-header | dialog |
1078
+ | queryInterface | 查询接口 | string | - | - |
1079
+ | queryOneInterface | 单个查询接口 | string | - | - |
1080
+ | saveInterface | 保存接口 | string | - | - |
1081
+ | updateInterface | 修改接口 | string | - | - |
1082
+ | deleteInterface | 删除接口 | string | - | - |
1083
+ | queryInterfaceMethod | 查询接口类型 | string | - | GET |
1084
+ | queryOneInterfaceMethod | 单个查询接口类型 | string | - | GET |
1085
+ | saveInterfaceMethod | 保存接口类型 | string | - | POST |
1086
+ | updateInterfaceMethod | 修改接口类型 | string | - | PUT |
1087
+ | deleteInterfaceMethod | 删除接口类型 | string | - | DELETE |
1088
+ | formInline | 搜索实体 | object | - | - |
1089
+ | columns | 表头数据 | array | - | - |
1090
+ | addForm | 新增、修改实体 | Object | - | - |
1091
+ | rules | 新增、修改校验规则 | Object | - | - |
1092
+ | labelWidth | 表单域标签的宽度 | string | - | 100px |
1093
+ | isDefaultQuery | 是否默认查询 | Boolean | - | true |
1094
+ | operatingTypeProps | 用于判断是新增还是修改 新增add 修改edit | string | add / edit / info | add |
1095
+ | isDrag | 是否开启弹窗拖动 | Boolean | - | true |
1096
+ | isBatchDelete | 是否批量删除(添加了该属性则删除接口的参数就是拼接到请求url后面,否则是在请求body中) | Boolean | - | false |
1097
+ | noAddBtn | 是否需要新增按钮 | Boolean | - | true |
1098
+ | noEditBtn | 是否需要编辑按钮 | Boolean | - | true |
1099
+ | noDelBtn | 是否需要删除按钮 | Boolean | - | true |
1100
+ | noSearch | 是否需要查询按钮 | Boolean | - | true |
1101
+ | noClear | 是否需要清空按钮 | Boolean | - | true |
1102
+ | noBatchBtn | 是否需要批量删除按钮 | Boolean | - | true |
1103
+ | noConfirmBtn | 是否隐藏弹窗确认按钮 | Boolean | - | true |
1104
+ | noCancelBtn | 是否隐藏弹窗取消按钮 | Boolean | - | true |
1105
+ | noSearchForm | 是否隐藏搜索区域 | Boolean | - | true |
1106
+ | noSearchFormLeft | 是否隐藏搜索区域左边表单部分 | Boolean | - | true |
1107
+ | noFormInlineBtn | 是否隐藏搜索按钮 | Boolean | - | true |
1108
+ | noOperation | 是否功能按钮区域 | Boolean | - | true |
1109
+ | noExpandsBtn | 是否隐藏折叠按钮 | Boolean | - | true |
1110
+ | noRefreshBtn | 是否隐藏刷新按钮 | Boolean | - | true |
1111
+ | noTableIndex | 是否隐藏序号 | Boolean | - | true |
1112
+ | noPagination | 是否隐藏分页 | Boolean | - | true |
1113
+ | addBtnText | 自定义新增按钮的文本 | string | - | 新增 |
1114
+ | editBtnText | 自定义修改按钮的文本 | string | - | 修改 |
1115
+ | delBtnText | 自定义删除按钮的文本 | string | - | 删除 |
1116
+ | batchBtnText | 自定义批量删除按钮的文本 | string | - | 批量删除 |
1117
+ | searchBtnText | 自定义插查询按钮的文本 | string | - | 查询 |
1118
+ | clearBtnText | 自定义清空按钮的文本 | string | - | 清空 |
1119
+ | confirmBtnText | 自定义确定按钮的文本 | string | - | 确定 |
1120
+ | dialogWidth | 弹窗的默认宽度 | string | - | 35% |
1121
+ | dialogBeforeClose | 弹窗关闭前的回调 | Function | - | |
1122
+ | searchBeforeCallback | 点击查询按钮前回调 | Function | - | |
1123
+ | addBeforeCallback | 点击新增按钮前回调 | Function | - | |
1124
+ | infoBeforeCallback | 点击详情按钮前回调 | Function | - | |
1125
+ | addParamControllerCallback | 新增请求前回调 | Function | - | |
1126
+ | addParamPromiseControllerCallback | 新建请求前回调并,需return promise 并返回成功结果 | Function | - | |
1127
+ | addParamControllerPreventCallback | 新建请求前回调并阻止后续的事件 | Function | - | |
1128
+ | addControllerCallback | 新增/编辑 成功后的回调 | Function | - | |
1129
+ | delControllerCallback | 删除 成功后的回调 | Function | - | |
1130
+ | delBeforeCallback | 删除前的回调事件 | Function | - | |
1131
+ | infoControllerCallback | 详情请求回调成功 | Function | _ | |
1132
+ | clearCallback | 搜索区域清空前的回调 | Function | - | |
1133
+ | clearPreventCallback | 搜索区域清空前的回调,要清空需要手动执行 | Function | - | |
1134
+ | duration | 提示框显示时间, 毫秒。设为 0 则不会自动关闭 | number | - | 3000 |
1135
+ | textDelStr | 自定义删除提示信息 | string | - | 是否删除这条数据 |
1136
+ | tableLazy | 是否懒加载子节点数据 | Boolean | - | false |
1137
+ | lazyKey | 懒加载匹配的key | string | - | 'id' |
1138
+ | customizeDialogTitle | 自定义弹窗标题 | object | {} | { addTitle: 'xx新建', editTitle: "xx修改", infoTitle: "xx详情" } |
1139
+ | isDialogVisible | 弹窗面板打开或关闭状态(异步属性:isDialogVisible.sync="isDialogVisible") | Boolean | - | false |
1140
+ | defaultExpandAll | 是否展开树形表格 | Boolean | - | true |
1141
+ | selectionWidth | 多选 Checkbox 宽度 | number | - | 60 |
1142
+ | selectionAlign | 多选 Checkbox 水平对齐 | string | - | center |
1143
+ | selectionFixed | 多选 Checkbox 固定 | Boolean/string | - | false |
1144
+ | indexWidth | 单选 Checkbox 宽度 | number | - | 60 |
1145
+ | indexAlign | 单选 Checkbox 水平对齐 | string | - | true |
1146
+ | indexFixed | 单选 Checkbox 固定 | Boolean/string | - | true |
1147
+ | dialogTop | form-base 弹窗高度 | string | - | - |
1148
+ | tableTransform | 自动将列表转为树结构(支持虚拟滚动) | Boolean | - | false |
1149
+ | dialogCustomClass | 自定义弹窗面板class | string | - | - |
1150
+ | reserveSelection | 仅对 type=selection 的列有效,类型为 Boolean,为 true 则会在数据更新之后保留之前选中的数据(需指定 row-key) | Boolean | - | false |
1151
+ | isDoubleClickDetails | 是否双击查看详情 | Boolean | - | true |
1152
+
1153
+ ### FormBase 流程相关属性
1154
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
1155
+ |---------- |-------------- |---------- |-------------------------------- |-------- |
1156
+ | draftInterface | 保存草稿接口 | string | — | — |
1157
+ | processInterface | 发起流程接口 | string | — | — |
1158
+ | draftInterfaceMethod | 保存草稿接口类型 | string | — | POST |
1159
+ | processInterfaceMethod | 发起流程接口类型 | string | - | POST |
1160
+ | hasFlow | 是否开启流程 | Boolean | - | false |
1161
+ | flowCode | 流程对应的编码 | string | - | - |
1162
+ | noStorageBtn | 是否隐藏暂存按钮 | Boolean | - | false |
1163
+ | noDraftBtn | 是否隐藏保存草稿按钮 | Boolean | - | true |
1164
+ | noInitiateProcessBtn | 是否隐藏发起流程按钮 | Boolean | - | true |
1165
+ | storageBtnText | 自定义暂存按钮的文本 | string | - | 暂存 |
1166
+ | draftBtnText | 自定义保存草稿按钮的文本 | string | - | 保存草稿 |
1167
+ | initiateProcessBtnText | 自定义发起流程按钮的文本 | string | - | 发起流程 |
1168
+ | draftParamControllerCallback | 保存草稿请求前回调 | Function | - | |
1169
+ | draftParamPromiseControllerCallback | 保存草稿请求前回调,需return promise 并返回成功结果 | Function | - | |
1170
+ | draftParamControllerPreventCallback | 保存草稿请求前回调,没有需要处理返回值,不会往下执行 | Function | - | |
1171
+ | draftControllerCallback | 保存草稿请求成功回调 | Function | - | |
1172
+ | draftControllerErrorCallback | 保存草稿请求失败回调 | Function | - | |
1173
+ | processParamControllerCallback | 发起流程请求前回调 | Function | - | |
1174
+ | processParamPromiseControllerCallback | 发起流程请求前回调,需return promise 并返回成功结果 | Function | - | |
1175
+ | processParamControllerPreventCallback | 发起流程请求前回调,没有需要处理返回值,不会往下执行 | Function | - | |
1176
+ | processControllerCallback | 发起流程请求成功回调 | Function | - | |
1177
+ | processControllerErrorCallback | 发起流程请求失败回调 | Function | - | |
1178
+ | processRunFlowParamsControllerCallback | 流程发起前需要处理的参数 | Function | - | |
1179
+ | textDraftSuccess | 流程保存成功提示 | string | - | |
1180
+ | textProcessSuccess | 流程发起成功提示 | string | - | |
1181
+ | storageCallback | 暂存按钮回调事件 | Function | - | |
1182
+ | processCancelCallback | 弹窗取消按钮回调事件 | Function | - | |
1183
+ | storageControllerPreventCallback | 暂存按钮请求前回调,没有需要处理返回值,不会往下执行 | Function | - | |
1184
+ | beforeFlowBoxCallback | 预览流程前的回调事件 | Function | - | |
1185
+ | flowStatusWidth | 流程状态下拉框宽度 | Number | - | |
1186
+
1187
+ ### FormBase Slot
1188
+ | name | 说明 |
1189
+ |------|--------|
1190
+ | searchForm | 搜索的表单区域 |
1191
+ | toolbar | 功能按钮 |
1192
+ | addWarp | 新增编辑的表单区域 |
1193
+ | footer | 弹窗功能按钮区域 |
1194
+ | tabList | tab切换区域 |
1195
+ | table | 主体区域 |
1196
+ | tableWarp | 主体区域+分页 |
1197
+ | dialog-footer-left | 弹窗左侧按钮区域 |
1198
+ | dialog-footer-center | 弹窗中间按钮区域 |
1199
+ | dialog-footer-right | 弹窗右侧按钮区域 |
1200
+
1201
+ ### FormBase 功能说明
1202
+ | 方法名称 | 说明 |
1203
+ |------|--------|
1204
+ | query | 查询列表方法 |
1205
+ | search | 查询列表方法(会把pageNum设置为1) |
1206
+ | add | 打开新增面板方法 |
1207
+ | info | 查询详情方法(primaryKey主键id)|
1208
+ | details | 查询详情方法(primaryKey主键id)(会给整个表单设置为禁用状态)|
1209
+ | delete | 删除方法(ids主键数组) |
1210
+ | refreshBtn | 重定向当前页面(起到刷新当前页面作用) |
1211
+ | doLayout | 对 Table 进行重新布局。当 Table 或其祖先元素由隐藏切换为显示时,可能需要调用此方法 |
1212
+
1213
+ ### FormBase 事件说明
1214
+ | 方法名称 | 说明 | 参数 |
1215
+ |------|--------|--------|
1216
+ | table-selection-change | 当选择项发生变化时会触发该事件 | selection |
1217
+ | table-current-change | 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性 | currentRow |
1218
+ | resultTableBack | 查询接口请求成功的回调,返回列表的数据 | tableData |
1219
+ | table-row-dblclick | 当某一行被双击时会触发该事件 | row, column, event |
1220
+
1221
+ ### FormBase columns字段说明
1222
+ | 字段 | 说明 | 类型 | 可选值 | 默认值 |
1223
+ |------|--------|-------|-------|-------|
1224
+ | prop | 对应列内容的字段名 | string | - | - |
1225
+ | label | 显示的标题 | string | - | - |
1226
+ | align | 对齐方式 | string | left/center/right | left |
1227
+ | width | 对应列的宽度 | string | - | - |
1228
+ | sortable | 对应列是否可以排序 | boolean, string | true, false, 'custom' | false |
1229
+ | render | 自定义列内容的函数(建议使用jsx语法) | Function | - | rows |
1230
+ | expand | 自定义展开行的函数 | Function | - | rows |
1231
+ | renderH | 自定义列内容的函数 | Function | - | rows |
1232
+ | showOverflow | 当内容过长被隐藏时显示 tooltip | Boolean | - | false |
1233
+ | fixed | 列是否固定在左侧或者右侧 | string | boolean | left, right | false |
1234
+ | hidden | 对应列内容显示隐藏,多数用于权限控制 | boolean | - | true |
1235
+ | children | 递归数据,用于复杂表头 | array | - | - |
1236
+ | dateFormatter | 时间格式化 | string | - | - |
1237
+ | renderTooltip | 自定义提示信息 | Function | - | - |
1238
+ | isLink | 给单元格文字加蓝色 | boolean | - | false |
1239
+ | isDetails | 查看详情,如果开启了流程查看流程,否则查看详情 | boolean | - | false |