npmapps 1.1.4 → 1.1.5

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 (114) hide show
  1. package/app/wujie-vue2-child/.eslintrc.js +19 -0
  2. package/app/wujie-vue2-child/README.md +24 -0
  3. package/app/wujie-vue2-child/babel.config.js +5 -0
  4. package/app/wujie-vue2-child/docs/superpowers/plans/2026-05-29-quill-editor.md +836 -0
  5. package/app/wujie-vue2-child/docs/superpowers/specs/2026-05-29-quill-editor-design.md +210 -0
  6. package/app/wujie-vue2-child/jsconfig.json +19 -0
  7. package/app/wujie-vue2-child/package-lock.json +21333 -0
  8. package/app/wujie-vue2-child/package.json +63 -0
  9. package/app/wujie-vue2-child/postcss.config.js +10 -0
  10. package/app/wujie-vue2-child/public/favicon.ico +0 -0
  11. package/app/wujie-vue2-child/public/index.html +17 -0
  12. package/app/wujie-vue2-child/public/rili.jpg +0 -0
  13. package/app/wujie-vue2-child/public//344/270/200/351/224/256/351/273/221/346/232/227.html +136 -0
  14. package/app/wujie-vue2-child/src/App.vue +110 -0
  15. package/app/wujie-vue2-child/src/assets/bpmn-camunda.jpg +0 -0
  16. package/app/wujie-vue2-child/src/assets/css/diagram.less +17 -0
  17. package/app/wujie-vue2-child/src/assets/icon/Icon.less +31 -0
  18. package/app/wujie-vue2-child/src/assets/icon/font/app-codes.css +26 -0
  19. package/app/wujie-vue2-child/src/assets/icon/font/app.eot +0 -0
  20. package/app/wujie-vue2-child/src/assets/icon/font/app.svg +60 -0
  21. package/app/wujie-vue2-child/src/assets/icon/font/app.ttf +0 -0
  22. package/app/wujie-vue2-child/src/assets/icon/font/app.woff +0 -0
  23. package/app/wujie-vue2-child/src/assets/icon/font/app.woff2 +0 -0
  24. package/app/wujie-vue2-child/src/assets/icon/font/config.json +248 -0
  25. package/app/wujie-vue2-child/src/assets/icon/font/source/raw/align-bottom-tool.svg +30 -0
  26. package/app/wujie-vue2-child/src/assets/icon/font/source/raw/align-horizontal-center-tool.svg +85 -0
  27. package/app/wujie-vue2-child/src/assets/icon/font/source/raw/align-left-tool.svg +84 -0
  28. package/app/wujie-vue2-child/src/assets/icon/font/source/raw/align-right-tool.svg +80 -0
  29. package/app/wujie-vue2-child/src/assets/icon/font/source/raw/align-top-tool.svg +84 -0
  30. package/app/wujie-vue2-child/src/assets/icon/font/source/raw/align-vertical-center-tool.svg +89 -0
  31. package/app/wujie-vue2-child/src/assets/icon/font/source/raw/distribute-horizontally-tool.svg +95 -0
  32. package/app/wujie-vue2-child/src/assets/icon/font/source/raw/distribute-vertically-tool.svg +99 -0
  33. package/app/wujie-vue2-child/src/assets/icon/font/source/raw/set-color-tool.svg +111 -0
  34. package/app/wujie-vue2-child/src/assets/icon/font/source/symbols/align-bottom-tool.svg +30 -0
  35. package/app/wujie-vue2-child/src/assets/icon/font/source/symbols/align-horizontal-center-tool.svg +30 -0
  36. package/app/wujie-vue2-child/src/assets/icon/font/source/symbols/align-left-tool.svg +30 -0
  37. package/app/wujie-vue2-child/src/assets/icon/font/source/symbols/align-right-tool.svg +30 -0
  38. package/app/wujie-vue2-child/src/assets/icon/font/source/symbols/align-top-tool.svg +30 -0
  39. package/app/wujie-vue2-child/src/assets/icon/font/source/symbols/align-vertical-center-tool.svg +30 -0
  40. package/app/wujie-vue2-child/src/assets/icon/font/source/symbols/distribute-horizontally-tool.svg +30 -0
  41. package/app/wujie-vue2-child/src/assets/icon/font/source/symbols/distribute-vertically-tool.svg +30 -0
  42. package/app/wujie-vue2-child/src/assets/icon/font/source/symbols/set-color-tool.svg +63 -0
  43. package/app/wujie-vue2-child/src/assets/logo.png +0 -0
  44. package/app/wujie-vue2-child/src/components/EllTable/README.md +70 -0
  45. package/app/wujie-vue2-child/src/components/EllTable/article.md +184 -0
  46. package/app/wujie-vue2-child/src/components/EllTable/index.js +213 -0
  47. package/app/wujie-vue2-child/src/components/EventCalendar/CalendarSkeleton.vue +147 -0
  48. package/app/wujie-vue2-child/src/components/EventCalendar/CodeBlock.vue +199 -0
  49. package/app/wujie-vue2-child/src/components/EventCalendar/MonthSelect.vue +376 -0
  50. package/app/wujie-vue2-child/src/components/EventCalendar/README.md +368 -0
  51. package/app/wujie-vue2-child/src/components/EventCalendar/example.vue +1551 -0
  52. package/app/wujie-vue2-child/src/components/EventCalendar/index.vue +1646 -0
  53. package/app/wujie-vue2-child/src/components/EventCalendar/mockData.js +349 -0
  54. package/app/wujie-vue2-child/src/components/EventCalendar/utils.js +201 -0
  55. package/app/wujie-vue2-child/src/components/FormulaEditor/FunctionSelector.vue +123 -0
  56. package/app/wujie-vue2-child/src/components/FormulaEditor/OperatorSelector.vue +184 -0
  57. package/app/wujie-vue2-child/src/components/FormulaEditor/ParameterSelector.vue +123 -0
  58. package/app/wujie-vue2-child/src/components/FormulaEditor/api.js +69 -0
  59. package/app/wujie-vue2-child/src/components/FormulaEditor/index.vue +435 -0
  60. package/app/wujie-vue2-child/src/components/HelloWorld.vue +58 -0
  61. package/app/wujie-vue2-child/src/components/PageHeader/index.vue +158 -0
  62. package/app/wujie-vue2-child/src/components/Splitter/README.md +144 -0
  63. package/app/wujie-vue2-child/src/components/Splitter/example.vue +84 -0
  64. package/app/wujie-vue2-child/src/components/Splitter/index.vue +203 -0
  65. package/app/wujie-vue2-child/src/components/diagram/ToolBar.vue +357 -0
  66. package/app/wujie-vue2-child/src/components/diagram/customTranslate/customTranslate.js +12 -0
  67. package/app/wujie-vue2-child/src/components/diagram/customTranslate/translationsGerman.js +241 -0
  68. package/app/wujie-vue2-child/src/components/diagram/index.vue +261 -0
  69. package/app/wujie-vue2-child/src/components/diagram/xmlData.js +29 -0
  70. package/app/wujie-vue2-child/src/directives/filldown.js +155 -0
  71. package/app/wujie-vue2-child/src/directives/filldownTable.js +291 -0
  72. package/app/wujie-vue2-child/src/main.js +40 -0
  73. package/app/wujie-vue2-child/src/router/index.js +72 -0
  74. package/app/wujie-vue2-child/src/store/index.js +23 -0
  75. package/app/wujie-vue2-child/src/utils/winBox.js +23 -0
  76. package/app/wujie-vue2-child/src/views/Extend/A.vue +12 -0
  77. package/app/wujie-vue2-child/src/views/Extend/B.vue +10 -0
  78. package/app/wujie-vue2-child/src/views/Extend/MagicalComponentsForELFormItem.vue +78 -0
  79. package/app/wujie-vue2-child/src/views/Extend/index.vue +59 -0
  80. package/app/wujie-vue2-child/src/views/Extend/tableMouseHorizontalWheel.vue +184 -0
  81. package/app/wujie-vue2-child/src/views/Home.vue +27 -0
  82. package/app/wujie-vue2-child/src/views/RouterJump.vue +145 -0
  83. package/app/wujie-vue2-child/src/views/calendar/index.vue +19 -0
  84. package/app/wujie-vue2-child/src/views/css.vue +57 -0
  85. package/app/wujie-vue2-child/src/views/cssComponents/EllipsisText.vue +73 -0
  86. package/app/wujie-vue2-child/src/views/cssComponents/HoverCard.vue +69 -0
  87. package/app/wujie-vue2-child/src/views/cssComponents/TableHover.vue +130 -0
  88. package/app/wujie-vue2-child/src/views/cssComponents/inputSlo.vue +42 -0
  89. package/app/wujie-vue2-child/src/views/cssComponents/tableFixed.vue +148 -0
  90. package/app/wujie-vue2-child/src/views/echarts/echart-dome.vue +73 -0
  91. package/app/wujie-vue2-child/src/views/echarts/index.vue +118 -0
  92. package/app/wujie-vue2-child/src/views/echarts/pei3d.vue +658 -0
  93. package/app/wujie-vue2-child/src/views/element/bpmn/index.vue +15 -0
  94. package/app/wujie-vue2-child/src/views/element/components/attendanceCycle/index.vue +131 -0
  95. package/app/wujie-vue2-child/src/views/element/components/attendanceGroup/index.vue +147 -0
  96. package/app/wujie-vue2-child/src/views/element/components/attendancePersonnel/index.vue +158 -0
  97. package/app/wujie-vue2-child/src/views/element/components/companyCalendar/index.vue +147 -0
  98. package/app/wujie-vue2-child/src/views/element/components/shift/index.vue +147 -0
  99. package/app/wujie-vue2-child/src/views/element/components/shiftRotationSystem/index.vue +147 -0
  100. package/app/wujie-vue2-child/src/views/element/elTableJsx/columnManagement.vue +340 -0
  101. package/app/wujie-vue2-child/src/views/element/elTableJsx/dialogInput.vue +71 -0
  102. package/app/wujie-vue2-child/src/views/element/elTableJsx/elTableJsx.vue +1826 -0
  103. package/app/wujie-vue2-child/src/views/element/elTableJsx/formTable.vue +595 -0
  104. package/app/wujie-vue2-child/src/views/element/elTableJsx/index.vue +29 -0
  105. package/app/wujie-vue2-child/src/views/element/elTableJsx/simpleTable.vue +189 -0
  106. package/app/wujie-vue2-child/src/views/element/elTableJsx.zip +0 -0
  107. package/app/wujie-vue2-child/src/views/element/index.vue +39 -0
  108. package/app/wujie-vue2-child/src/views/element/quillEditor/README.md +163 -0
  109. package/app/wujie-vue2-child/src/views/element/quillEditor/example.vue +307 -0
  110. package/app/wujie-vue2-child/src/views/element/quillEditor/index.vue +409 -0
  111. package/app/wujie-vue2-child/src/views/element/quillEditor/toolbar.js +122 -0
  112. package/app/wujie-vue2-child/vue.config.js +15 -0
  113. package/package.json +1 -1
  114. package/app/check-import-case.js +0 -344
@@ -0,0 +1,595 @@
1
+ <template>
2
+ <div>
3
+ <elTableJsx ref="elTableJsx" :columns="columns" :tableData="tableData" stripe @cell-click="onCellClick"
4
+ :formOptions="formOptions">
5
+ <template #header-left>
6
+ <el-button type="primary" size="mini" @click="test">测试</el-button>
7
+ </template>
8
+ <!-- <template #header-right>
9
+
10
+ </template> -->
11
+ </elTableJsx>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ import elTableJsx from "./elTableJsx.vue";
17
+ import dialogInput from "./dialogInput.vue";
18
+ const list = [
19
+ {
20
+ name: "",
21
+ gender: "1",
22
+ gender1: "1",
23
+ age: 28,
24
+ age1: 28,
25
+ status: true,
26
+ progress: 10,
27
+ time: "",
28
+ date: '2024-05-01',
29
+ phone: "13812345678",
30
+ email: "",
31
+ address: "",
32
+ department: "",
33
+ position: "高级工程师",
34
+ entryDate: "2020-01-15 11:11:11",
35
+ },
36
+ {
37
+ name: "李四",
38
+ gender: "",
39
+ gender1: "",
40
+ age: 32,
41
+ age1: 32,
42
+ status: false,
43
+ progress: 10,
44
+ time: "12:00:00",
45
+ date: '',
46
+ phone: "13987654321",
47
+ email: "lisi@example.com",
48
+ address: "上海市浦东新区陆家嘴环路888号",
49
+ department: "产品部",
50
+ position: "产品经理",
51
+ entryDate: "2019-06-20 11:11:11",
52
+ },
53
+ {
54
+ name: "",
55
+ gender: "1",
56
+ gender1: "1",
57
+
58
+ age: 35,
59
+ age1: 35,
60
+ status: true,
61
+ progress: 10,
62
+ time: "12:00:00",
63
+ date: '2024-05-01',
64
+ phone: "13567891234",
65
+ email: "wangwu@example.com",
66
+ address: "广州市天河区珠江新城华夏路10号",
67
+ department: "市场部",
68
+ position: "市场总监",
69
+ entryDate: "2018-03-10 11:11:11",
70
+ },
71
+ {
72
+ name: "赵六",
73
+ gender: "0",
74
+ gender1: "0",
75
+ age: 26,
76
+ age1: 26,
77
+ status: true,
78
+ progress: 10,
79
+ time: "12:00:00",
80
+ date: '2024-05-01',
81
+ phone: "13789012345",
82
+ email: "zhaoliu@example.com",
83
+ address: "深圳市南山区科技园科发路8号",
84
+ department: "设计部",
85
+ position: "UI设计师",
86
+ entryDate: "2021-09-01 11:11:11",
87
+ },
88
+ {
89
+ name: "钱七",
90
+ gender: "1",
91
+ gender1: "1",
92
+ age: 40,
93
+ age1: 40,
94
+ status: false,
95
+ progress: 10,
96
+ time: "12:00:00",
97
+ date: '2024-05-01',
98
+ phone: "13456789012",
99
+ email: "qianqi@example.com",
100
+ address: "成都市武侯区天府大道1234号",
101
+ department: "财务部",
102
+ position: "财务总监",
103
+ entryDate: "2017-12-05 11:11:11",
104
+ },
105
+ {
106
+ name: "孙八",
107
+ gender: "1",
108
+ gender1: "1",
109
+ age: 29,
110
+ age1: 29,
111
+ status: true,
112
+ progress: 10,
113
+ time: "12:00:00",
114
+ date: '2024-05-01',
115
+ phone: "13234567890",
116
+ email: "sunba@example.com",
117
+ address: "武汉市江汉区解放大道456号",
118
+ department: "人力资源部",
119
+ position: "HR经理",
120
+ entryDate: "2020-07-15 11:11:11",
121
+ },
122
+ ];
123
+ const getList = () => {
124
+ return new Promise((resolve, reject) => {
125
+ setTimeout(() => {
126
+ resolve(list);
127
+ }, 1000);
128
+ });
129
+ };
130
+ export default {
131
+ components: {
132
+ elTableJsx,
133
+ },
134
+ data() {
135
+ return {
136
+ columns: [
137
+ {
138
+ label: "基本信息",
139
+ key: "basic",
140
+ width: "600",
141
+ props: {
142
+ align: "center",
143
+ },
144
+ children: [
145
+ {
146
+ label: "姓名(input始终显示/必填)",
147
+ key: "name",
148
+ input: {
149
+ type: "text",
150
+ showInputType: "always",
151
+ rules: [
152
+ {
153
+ required: true,
154
+ message: "请输入姓名",
155
+ trigger: "blur",
156
+ },
157
+ ],
158
+ props: {
159
+ clearable: true,
160
+ },
161
+ on: {
162
+ change: (val) => {
163
+ console.log("change", val);
164
+ },
165
+ blur: (val) => {
166
+ console.log("blur", val);
167
+ },
168
+ },
169
+ },
170
+ props: {
171
+ align: "center",
172
+ width: "220",
173
+ },
174
+ slots: {
175
+ header: (slotData) => {
176
+ const { column } = slotData;
177
+ return (
178
+ <span class={{ required: column.input && column.input.rules && column.input.rules.length }}>
179
+ {column.label + 1}
180
+ </span>
181
+ )
182
+ }
183
+ }
184
+ },
185
+ {
186
+ label: "性别(必填)",
187
+ key: "gender",
188
+ input: {
189
+ type: "select",
190
+ columnOptions: {
191
+ formatter: ({ row }) => {
192
+ if (row["gender"] === "1") {
193
+ return "男";
194
+ } else if (row["gender"] === "0") {
195
+ return "女";
196
+ } else {
197
+ return <i class="el-icon-edit"></i>;
198
+ }
199
+ },
200
+ },
201
+ // showInputType: 'always',
202
+ rules: [
203
+ {
204
+ required: true,
205
+ message: "请选择性别",
206
+ trigger: "blur",
207
+ },
208
+ ],
209
+ options: [
210
+ {
211
+ label: "男",
212
+ value: "1",
213
+ },
214
+ {
215
+ label: "女",
216
+ value: "0",
217
+ },
218
+ ],
219
+ delayedShutdown: 300,
220
+ on: {
221
+ change: (val) => {
222
+ const { e: value, row, vm } = val;
223
+ if (value === '1') {
224
+ this.$set(row, "progress", 80);
225
+ this.$set(row, "department", '测试');
226
+ vm.__columns[0].children[0].input.rules = [];
227
+ this.$nextTick(() => {
228
+ vm.updateView()
229
+ })
230
+
231
+ }
232
+ if (value === '0') {
233
+ this.$set(row, "progress", 20);
234
+ this.$set(row, "department", '测试222');
235
+ vm.__columns[0].children[0].input.rules = [
236
+ {
237
+ required: true,
238
+ message: "请输入姓名",
239
+ trigger: "blur",
240
+ },
241
+ ]
242
+ this.$nextTick(() => {
243
+ vm.updateView()
244
+ })
245
+
246
+ }
247
+ },
248
+ }
249
+ },
250
+ props: {
251
+ align: "center",
252
+ width: "180",
253
+ },
254
+ },
255
+ {
256
+ label: "性别(双击)",
257
+ key: "gender1",
258
+ input: {
259
+ type: "select",
260
+ columnOptions: {
261
+ formatter: ({ row }) => {
262
+ if (row["gender1"] === "1") {
263
+ return "男";
264
+ } else if (row["gender1"] === "0") {
265
+ return "女";
266
+ } else {
267
+ return <i class="el-icon-edit"></i>;
268
+ }
269
+ },
270
+ },
271
+ showInputType: 'doubleClick',
272
+ options: [
273
+ {
274
+ label: "男",
275
+ value: "1",
276
+ },
277
+ {
278
+ label: "女",
279
+ value: "0",
280
+ },
281
+ ],
282
+ },
283
+ props: {
284
+ align: "center",
285
+ width: "180",
286
+ },
287
+ },
288
+ {
289
+ label: "年龄",
290
+ key: "age",
291
+ input: {
292
+ type: "number",
293
+ },
294
+ props: {
295
+ align: "center",
296
+ width: "180",
297
+ },
298
+ },
299
+ {
300
+ label: "年龄1(doubleClick)",
301
+ key: "age1",
302
+ input: {
303
+ type: "number",
304
+ showInputType: "doubleClick",
305
+ },
306
+ props: {
307
+ align: "center",
308
+ width: "180",
309
+ },
310
+ },
311
+ ],
312
+ },
313
+ {
314
+ label: "状态",
315
+ key: "status",
316
+ input: {
317
+ type: "switch",
318
+ // showInputType: "always",
319
+ columnOptions: {
320
+ formatter: ({ row }) => {
321
+ if (row["status"]) {
322
+ return "启用";
323
+ } else if (!row["status"]) {
324
+ return "禁用";
325
+ }
326
+ },
327
+ },
328
+ delayedShutdown: 300
329
+ },
330
+
331
+ props: {
332
+ align: "center",
333
+ width: "180",
334
+ }
335
+ },
336
+ {
337
+ label: "进度",
338
+ key: "progress",
339
+ input: {
340
+ type: "slider",
341
+ delayedShutdown: 300
342
+ // showInputType: "always",
343
+ // props: {
344
+ // disabled: true,
345
+ // }
346
+ },
347
+ props: {
348
+ align: "center",
349
+ width: "180",
350
+ }
351
+ },
352
+ {
353
+ label: '时间',
354
+ key: 'time',
355
+ input: {
356
+ type: 'time-picker',
357
+ // showInputType: 'always',
358
+ props: {
359
+ valueFormat: 'HH:mm:ss',
360
+ format: 'HH:mm:ss',
361
+ }
362
+ },
363
+ props: {
364
+ align: "center",
365
+ width: "180",
366
+ }
367
+ },
368
+ {
369
+ label: '日期',
370
+ key: 'date',
371
+ input: {
372
+ type: 'date-picker',
373
+ // showInputType: 'always',
374
+ props: {
375
+ valueFormat: 'yyyy-MM-dd',
376
+ format: 'yyyy-MM-dd',
377
+ },
378
+ rules: [
379
+ {
380
+ required: true,
381
+ message: "请输入日期",
382
+ trigger: "blur",
383
+ },
384
+ ]
385
+ },
386
+ props: {
387
+ align: "center",
388
+ width: "180",
389
+ }
390
+ },
391
+ {
392
+ label: "电话(点击不聚焦)",
393
+ key: "phone",
394
+ input: {
395
+ type: "text",
396
+ columnOptions: {
397
+ formatter: ({ row }) => {
398
+ return <el-tag type="success">{row["phone"]}</el-tag>;
399
+ },
400
+ clickInputNoFoucs: true, // 点击不聚焦
401
+ },
402
+ props: {
403
+ clearable: true,
404
+ },
405
+ on: {
406
+ change: (val) => {
407
+ console.log("change", val);
408
+ },
409
+ blur: (val) => {
410
+ console.log("blur", val);
411
+ },
412
+ },
413
+ },
414
+ props: {
415
+ align: "center",
416
+ minWidth: "250",
417
+ },
418
+ },
419
+ {
420
+ label: "邮箱",
421
+ key: "email",
422
+ input: {
423
+
424
+ type: "text",
425
+ rules: [
426
+ {
427
+ required: true,
428
+ message: "请输入邮箱",
429
+ trigger: "blur",
430
+ },
431
+ ],
432
+ },
433
+ props: {
434
+ align: "center",
435
+ minWidth: "300",
436
+ },
437
+ },
438
+ {
439
+ label: "住址(doubleClick)",
440
+ key: "address",
441
+ input: {
442
+ type: "text",
443
+ showInputType: "doubleClick",
444
+ rules: [
445
+ {
446
+ required: true,
447
+ message: "请输入地址",
448
+ trigger: "blur",
449
+ },
450
+ ],
451
+ props: {
452
+ clearable: true,
453
+ }
454
+ },
455
+ props: {
456
+ align: "center",
457
+ minWidth: "350",
458
+ },
459
+ },
460
+
461
+ {
462
+ label: "部门(customize)",
463
+ key: "department",
464
+ input: {
465
+ type: "customize",
466
+ slotFn: (slotData) => {
467
+ // console.log(slotData, "slotFn");
468
+ return <dialogInput slotData={slotData} />
469
+ },
470
+ rules: [
471
+ {
472
+ required: true,
473
+ message: "请输入部门",
474
+ trigger: "blur",
475
+ },
476
+ ]
477
+ },
478
+ props: {
479
+ align: "center",
480
+ minWidth: "250",
481
+ },
482
+ },
483
+ {
484
+ label: "职位",
485
+ key: "position",
486
+ input: {
487
+ type: "text",
488
+ },
489
+ props: {
490
+ align: "center",
491
+ minWidth: "250",
492
+ },
493
+ },
494
+ {
495
+ label: "入职时间",
496
+ key: "entryDate",
497
+ input: {
498
+ type: "date-picker",
499
+ props: {
500
+ type: "datetime",
501
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
502
+ format: "yyyy-MM-dd HH:mm:ss",
503
+ },
504
+ },
505
+ props: {
506
+ align: "center",
507
+ minWidth: "250",
508
+ },
509
+ },
510
+ {
511
+ label: "操作",
512
+ key: "action",
513
+ props: {
514
+ align: "center",
515
+ minWidth: "250",
516
+ fixed: "right",
517
+ },
518
+ input: {
519
+ type: "customize",
520
+ props: {
521
+ // disabled: true
522
+ },
523
+ slotFn: (slotData) => {
524
+ const { row, column, vm, $index } = slotData;
525
+ return (
526
+ <span>
527
+ <el-button type="primary" size={vm.tableSize} onClick={() => {
528
+ vm.spliceTableData($index + 1, 0, {
529
+ name: "",
530
+ gender: "",
531
+ gender1: "",
532
+ age: "",
533
+ age1: "",
534
+ status: false,
535
+ progress: 0,
536
+ time: "",
537
+ date: '',
538
+ phone: "",
539
+ email: "",
540
+ address: "",
541
+ department: "",
542
+ position: "",
543
+ entryDate: "",
544
+ })
545
+ }}>新增行</el-button>
546
+ <el-button disabled={row.status} type="primary" size={vm.tableSize} onClick={() => {
547
+ vm.spliceTableData($index, 1)
548
+ }}>删除行</el-button>
549
+ </span>
550
+ )
551
+ }
552
+ },
553
+
554
+ }
555
+ ],
556
+ formOptions: {
557
+ show: true,
558
+ props: {},
559
+ // 输入框显示模式,always: 点击 click 双击 double-click
560
+ showInputType: "click",
561
+ },
562
+ tableData: [],
563
+ };
564
+ },
565
+ methods: {
566
+ onCellClick(row, column, cell, event) {
567
+ console.log("onCellClick", row, column, cell, event);
568
+ },
569
+ async test() {
570
+ console.log("test", this.$refs.elTableJsx.getData());
571
+ const tableData = this.$refs.elTableJsx.getData();
572
+ try {
573
+ await tableData.formRef.validate()
574
+ } catch (error) {
575
+ console.log(error, "error");
576
+ }
577
+ },
578
+ },
579
+ created() {
580
+ getList().then((res) => {
581
+ this.tableData = res;
582
+ });
583
+ },
584
+ };
585
+ </script>
586
+
587
+ <style lang="less">
588
+ .required{
589
+ &::before{
590
+ content: '*';
591
+ color: red;
592
+ margin-right: 4px;
593
+ }
594
+ }
595
+ </style>
@@ -0,0 +1,29 @@
1
+ <template>
2
+ <div>
3
+ <el-tabs type="border-card" v-model="activeName">
4
+ <el-tab-pane label="简单表格" name="first">
5
+ <simple-table v-if="activeName === 'first'"></simple-table>
6
+ </el-tab-pane>
7
+ <el-tab-pane label="表单表格" name="second">
8
+ <form-table v-if="activeName === 'second'"></form-table>
9
+ </el-tab-pane>
10
+ </el-tabs>
11
+ </div>
12
+ </template>
13
+
14
+ <script>
15
+ import simpleTable from "./simpleTable";
16
+ import formTable from "./formTable.vue";
17
+ export default {
18
+ components: {
19
+ simpleTable,
20
+ formTable,
21
+ },
22
+ data() {
23
+ return {
24
+ activeName: "second",
25
+ };
26
+ },
27
+ methods: {},
28
+ };
29
+ </script>