@idooel/components 0.0.1 → 0.0.2-beta.10

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 (96) hide show
  1. package/README.md +99 -0
  2. package/dist/@idooel/components.esm.js +13639 -1388
  3. package/dist/@idooel/components.umd.js +13682 -1397
  4. package/jsconfig.json +8 -0
  5. package/package.json +58 -44
  6. package/packages/alert/index.js +5 -0
  7. package/packages/alert/src/index.vue +46 -0
  8. package/packages/batch-export/index.js +5 -0
  9. package/packages/batch-export/src/index.vue +105 -0
  10. package/packages/business-components/modal-fsm/index.js +5 -0
  11. package/packages/business-components/modal-fsm/src/index.vue +164 -0
  12. package/packages/business-components/modal-import/index.js +5 -0
  13. package/packages/business-components/modal-import/src/index.vue +140 -0
  14. package/packages/business-components/modal-timeline/index.js +5 -0
  15. package/packages/business-components/modal-timeline/src/index.vue +78 -0
  16. package/packages/business-components/tabs-sub-center/index.js +5 -0
  17. package/packages/business-components/tabs-sub-center/src/index.vue +117 -0
  18. package/packages/button/src/index.vue +43 -2
  19. package/packages/checkbox/index.js +5 -0
  20. package/packages/checkbox/src/index.vue +53 -0
  21. package/packages/composite-components/button-group/src/index.vue +119 -14
  22. package/packages/composite-components/form-attachment/src/index.vue +15 -0
  23. package/packages/composite-components/form-img-crop/index.js +5 -0
  24. package/packages/composite-components/form-img-crop/src/index.vue +132 -0
  25. package/packages/composite-components/modal-confirm/index.js +5 -0
  26. package/packages/composite-components/modal-confirm/src/index.vue +104 -0
  27. package/packages/composite-components/modal-form/index.js +5 -0
  28. package/packages/composite-components/modal-form/src/index.vue +231 -0
  29. package/packages/composite-components/modal-img-crop/index.js +5 -0
  30. package/packages/composite-components/modal-img-crop/src/index.vue +299 -0
  31. package/packages/composite-components/modal-table/index.js +5 -0
  32. package/packages/composite-components/modal-table/src/index.vue +156 -0
  33. package/packages/composite-components/modal-table-transfer/index.js +0 -0
  34. package/packages/composite-components/modal-tree/index.js +5 -0
  35. package/packages/composite-components/modal-tree/src/index.vue +76 -0
  36. package/packages/composite-components/search-area/src/index.vue +145 -36
  37. package/packages/composite-components/select-entity-modal-table/index.js +5 -0
  38. package/packages/composite-components/select-entity-modal-table/src/index.vue +172 -0
  39. package/packages/composite-components/table-transfer/index.js +0 -0
  40. package/packages/date/src/index.vue +87 -14
  41. package/packages/date-range/index.js +5 -0
  42. package/packages/date-range/src/index.vue +47 -0
  43. package/packages/form/index.js +5 -0
  44. package/packages/form/src/index.vue +320 -0
  45. package/packages/icon/index.js +5 -0
  46. package/packages/icon/src/index.vue +32 -0
  47. package/packages/index.js +109 -6
  48. package/packages/input/src/index.vue +13 -1
  49. package/packages/input-number/index.js +5 -0
  50. package/packages/input-number/src/index.vue +24 -0
  51. package/packages/loading/index.js +5 -0
  52. package/packages/loading/src/index.vue +37 -0
  53. package/packages/modal/index.js +5 -0
  54. package/packages/modal/src/index.vue +185 -0
  55. package/packages/models/form-group-model/index.js +5 -0
  56. package/packages/models/form-group-model/src/index.vue +274 -0
  57. package/packages/models/form-model/index.js +5 -0
  58. package/packages/models/form-model/src/index.vue +237 -0
  59. package/packages/models/step-model/index.js +5 -0
  60. package/packages/models/step-model/src/index.vue +224 -0
  61. package/packages/models/tree-table-model/src/index.vue +689 -0
  62. package/packages/radio/index.js +5 -0
  63. package/packages/radio/src/index.vue +57 -0
  64. package/packages/select/src/index.vue +73 -2
  65. package/packages/select-entity/index.js +5 -0
  66. package/packages/select-entity/src/index.vue +120 -0
  67. package/packages/table/src/action.vue +81 -12
  68. package/packages/table/src/index.vue +244 -13
  69. package/packages/tabs/index.js +5 -0
  70. package/packages/tabs/src/index.vue +56 -0
  71. package/packages/text/index.js +5 -0
  72. package/packages/text/src/index.vue +48 -0
  73. package/packages/text-editor/index.js +5 -0
  74. package/packages/text-editor/src/index.vue +73 -0
  75. package/packages/textarea/index.js +5 -0
  76. package/packages/textarea/src/index.vue +58 -0
  77. package/packages/theme/form.scss +22 -0
  78. package/packages/theme/index.scss +44 -0
  79. package/packages/theme/overrid.scss +8 -0
  80. package/packages/theme/styleClass.scss +3 -0
  81. package/packages/theme/variables.scss +56 -0
  82. package/packages/timeline/index.js +5 -0
  83. package/packages/timeline/src/index.vue +258 -0
  84. package/packages/tpl/src/index.vue +12 -3
  85. package/packages/tree/src/index.vue +32 -27
  86. package/packages/tree-select/index.js +5 -0
  87. package/packages/tree-select/src/index.vue +143 -0
  88. package/packages/upload/index.js +5 -0
  89. package/packages/upload/src/index.vue +997 -0
  90. package/packages/utils/index.js +63 -0
  91. package/scripts/rollup.config.js +18 -11
  92. package/scripts/rollup.umd.config.js +3 -1
  93. package/vitest.config.js +17 -0
  94. package/packages/tree-table-model/src/index.vue +0 -290
  95. /package/packages/{tree-table-model/README.md → composite-components/form-attachment/index.js} +0 -0
  96. /package/packages/{tree-table-model → models/tree-table-model}/index.js +0 -0
@@ -0,0 +1,56 @@
1
+ $primary-01: #E6F7FF !default;
2
+ $primary-02: #BAE7FF !default;
3
+ $primary-03: #91D5FF !default;
4
+ $primary-04: #69C0FF !default;
5
+ $primary-05: #40A9FF !default;
6
+ $primary-06: #1890FF !default;
7
+ $primary-07: #096DD9 !default;
8
+ $primary-08: #0050B3 !default;
9
+ $primary-09: #003A8C !default;
10
+ $primary-10: #002766 !default;
11
+
12
+ $link-01: #E6F7FF;
13
+ $link-03: #91D5FF;
14
+ $link-05: #40A9FF;
15
+ $link-06: #1890FF;
16
+ $link-07: #096DD9;
17
+
18
+ $error-01: #FFF1F0;
19
+ $error-03: #FFA39E;
20
+ $error-05: #FF4D4F;
21
+ $error-06: #F5222D;
22
+ $error-07: #CF1322;
23
+
24
+ $warning-01: #FFFBE6;
25
+ $warning-03: #FFE58F;
26
+ $warning-05: #FFC53D;
27
+ $warning-06: #FAAD14;
28
+ $warning-07: #D48806;
29
+
30
+ $success-01: #F6FFED;
31
+ $success-03: #B7EB8F;
32
+ $success-05: #73D13D;
33
+ $success-06: #52C41A;
34
+ $success-07: #389E0D;
35
+
36
+ //White
37
+ $black-01: rgba(0, 0, 0, 0.02);
38
+ $black-02: rgba(0, 0, 0, 0.04);
39
+ $black-03: rgba(0, 0, 0, 0.08);
40
+ $black-04: rgba(0, 0, 0, 0.16);
41
+ $black-05: rgba(0, 0, 0, 0.24);
42
+ $black-06: rgba(0, 0, 0, 0.44);
43
+ $black-07: rgba(0, 0, 0, 0.64);
44
+ $black-08: rgba(0, 0, 0, 0.88);
45
+
46
+ //Black
47
+ $white-01: rgba(255, 255, 255, 0.04);
48
+ $white-02: rgba(255, 255, 255, 0.08);
49
+ $white-03: rgba(255, 255, 255, 0.16);
50
+ $white-04: rgba(255, 255, 255, 0.24);
51
+ $white-05: rgba(255, 255, 255, 0.44);
52
+ $white-06: rgba(255, 255, 255, 0.64);
53
+ $white-07: rgba(255, 255, 255, 0.88);
54
+ $white-08: #fff;
55
+
56
+ $border-radius-base: 2;
@@ -0,0 +1,5 @@
1
+ import EleTimeline from './src/index.vue'
2
+
3
+ EleTimeline.install = Vue => Vue.component(EleTimeline.name, EleTimeline)
4
+
5
+ export default EleTimeline
@@ -0,0 +1,258 @@
1
+ <template>
2
+ <div class="ele-timeline__wrapper">
3
+ <div class="ele-timeline__item" v-for="item in innerDataSource" :key="item.key">
4
+ <div class="ele-timeline__left">
5
+ <div class="titleline-left__date">{{ item.date }}</div>
6
+ </div>
7
+ <div class="ele-timeline__middle">
8
+ <div class="ele-timeline__circle"></div>
9
+ <div class="ele-timeline__traline"></div>
10
+ </div>
11
+ <div class="ele-timeline__right">
12
+ <slot v-if="$scopedSlots.right" name="right" :data="item"></slot>
13
+ <template v-else>
14
+ <div class="timeline-right__title">
15
+ <span class="title">{{ item.title }}</span>
16
+ <span :class="['title-info', item.state == 1 && 'success', item.state == 2 && 'warning', item.state == 3 && 'error']">{{ item.stateName }}</span>
17
+ </div>
18
+ <div class="timeline-right__oper">
19
+
20
+ <span class="oper-name">{{ item.userName }}</span>
21
+ 操作
22
+ </div>
23
+ <div class="timeline-right__subtitle" v-for="label in item.labelList" :key="label.value">
24
+ <div class="right-subtitle__field">{{ label.label }}:</div>
25
+ <div class="right-subtitle__content">{{ label.value }}</div>
26
+ </div>
27
+ </template>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </template>
32
+
33
+ <script>
34
+ import { net, type } from '@idooel/shared'
35
+ import { v4 as uuidv4 } from 'uuid'
36
+ import { CONTEXT, parseFieldMap } from '../../utils'
37
+ export default {
38
+ name: 'ele-timeline',
39
+ props: {
40
+ url: {
41
+ type: String
42
+ },
43
+ params: {
44
+ type: Object,
45
+ default: () => ({})
46
+ },
47
+ requestType: {
48
+ type: String,
49
+ default: 'GET'
50
+ },
51
+ fieldMap: {
52
+ type: Object,
53
+ default: () => ({})
54
+ },
55
+ params: {
56
+ type: Object,
57
+ default: () => ({})
58
+ },
59
+ dataSource: {
60
+ type: Array,
61
+ default: () => ([
62
+ // {
63
+ // date: '2023/05/09 03:34:56',
64
+ // title: 123,
65
+ // state: 1,
66
+ // stateName: '成功',
67
+ // userName: 'Name',
68
+ // labelList: [
69
+ // {
70
+ // label: 'label',
71
+ // value: 'value'
72
+ // }
73
+ // ],
74
+ // action: '结班',
75
+ // opinion: '意见'
76
+ // }
77
+ ])
78
+ }
79
+ },
80
+ data () {
81
+ return {
82
+ innerDataSource: []
83
+ }
84
+ },
85
+ inject: {
86
+ [CONTEXT]: {
87
+ default: () => (() => ({}))
88
+ }
89
+ },
90
+ computed: {
91
+ expressionData () {
92
+ return {
93
+ _route: this.$route.query,
94
+ ...this[CONTEXT]()
95
+ }
96
+ }
97
+ },
98
+ async created() {
99
+ if (this.url) {
100
+ this.innerDataSource = await this.requestData()
101
+ } else if (!type.isEmpty(this.dataSource)) {
102
+ this.innerDataSource = this.dataSource
103
+ } else {
104
+ console.warn('ele-timeline: 请传入数据源')
105
+ }
106
+ },
107
+ methods: {
108
+ async requestData () {
109
+ const ret = await net[this.requestType.toLowerCase()](
110
+ this.url,
111
+ { ...this.params, ...parseFieldMap(this.fieldMap, this.expressionData) }
112
+ ).then(resp => {
113
+ const { data } = resp || {}
114
+ return data.map(item => {
115
+ return {
116
+ key: uuidv4(),
117
+ ...item
118
+ }
119
+ })
120
+ })
121
+ return ret
122
+ }
123
+ }
124
+ }
125
+ </script>
126
+ <style lang="scss">
127
+ @import '../../theme/index';
128
+ </style>
129
+ <style lang="scss" scoped>
130
+ .ele-timeline__wrapper {
131
+ width: 100%;
132
+ height: 100%;
133
+ .ele-timeline__item {
134
+ display: flex;
135
+ flex-direction: row;
136
+ &:last-child {
137
+ .ele-timeline__middle {
138
+ .ele-timeline__traline {
139
+ display: none;
140
+ }
141
+ }
142
+ }
143
+ .ele-timeline__left {
144
+ flex: 1;
145
+ padding-right: 12px;
146
+ padding-top: 16px;
147
+ padding-bottom: 16px;
148
+ text-align: right;
149
+ display: flex;
150
+ flex-direction: row;
151
+ justify-content: end;
152
+ .titleline-left__date {
153
+ width: 100px;
154
+ font-size: 14px;
155
+ color: var(--idoole-black-064);
156
+ }
157
+ }
158
+ .ele-timeline__middle {
159
+ width: 10px;
160
+ display: flex;
161
+ flex-direction: column;
162
+ align-items: center;
163
+ transform: translate(0, 20px);
164
+ .ele-timeline__circle {
165
+ width: 100%;
166
+ height: 10px;
167
+ border-radius: 50%;
168
+ border-width: 2px;
169
+ border-style: solid;
170
+ border-color: var(--idooel-primary-color);
171
+ }
172
+ .ele-timeline__traline {
173
+ width: 1px;
174
+ height: calc(100% - 10px);
175
+ border-width: 1px;
176
+ border-style: solid;
177
+ border-color: var(--idoole-black-016);
178
+ }
179
+ }
180
+ .ele-timeline__right {
181
+ text-align: left;
182
+ flex: 2;
183
+ padding-left: 12px;
184
+ padding-top: 16px;
185
+ padding-bottom: 16px;
186
+ .timeline-right__title {
187
+ line-height: 22px;
188
+ display: flex;
189
+ flex-direction: row;
190
+ .title {
191
+ color: var(--idoole-black-088);
192
+ font-size: 14px;
193
+ font-weight: bold;
194
+ }
195
+ .title-info {
196
+ font-size: 14px;
197
+ color: var(--idoole-black-064);
198
+ margin-left: 16px;
199
+ display: flex;
200
+ flex-direction: row;
201
+ align-items: center;
202
+ &::before {
203
+ content: '';
204
+ display: inline-block;
205
+ width: 6px;
206
+ height: 6px;
207
+ border-radius: 50%;
208
+ margin-right: 8px;
209
+ }
210
+ &.success {
211
+ &::before {
212
+ background: var(--idoole-success-06);
213
+ }
214
+ }
215
+ &.warning {
216
+ &::before {
217
+ background: var(--idoole-warning-06);
218
+ }
219
+ }
220
+ &.error {
221
+ &::before {
222
+ background: var(--idoole-error-06);
223
+ }
224
+ }
225
+ }
226
+ }
227
+ .timeline-right__oper {
228
+ line-height: 22px;
229
+ margin-top: 8px;
230
+ margin-left: 12px;
231
+ .oper-name {
232
+ color: var(--idoole-black-088);
233
+ font-size: 14px;
234
+ font-weight: bold;
235
+ }
236
+ }
237
+ .timeline-right__subtitle {
238
+ margin-left: 12px;
239
+ display: flex;
240
+ flex-direction: row;
241
+ line-height: 22px;
242
+ margin-top: 4px;
243
+ .right-subtitle__field {
244
+ flex-shrink: 0;
245
+ font-size: 14px;
246
+ color: var(--idoole-black-064);
247
+ }
248
+ .right-subtitle__content {
249
+ font-size: 14px;
250
+ color: var(--idoole-black-088);
251
+ font-weight: bold;
252
+ margin-left: 4px;
253
+ }
254
+ }
255
+ }
256
+ }
257
+ }
258
+ </style>
@@ -13,7 +13,10 @@
13
13
  </template>
14
14
 
15
15
  <script>
16
- import EleTreeTableModel from '../../tree-table-model/src/index.vue'
16
+ import EleTreeTableModel from '../../models/tree-table-model/src/index.vue'
17
+ import EleFormGroupModel from '../../models/form-group-model/src/index.vue'
18
+ import EleFormModel from '../../models/form-model/src/index.vue'
19
+ import EleStepModel from '../../models/step-model/src/index.vue'
17
20
  import { v4 as uuidv4 } from 'uuid'
18
21
  import { models } from '../../index.js'
19
22
  export default {
@@ -24,7 +27,10 @@ export default {
24
27
  }
25
28
  },
26
29
  components: {
27
- [EleTreeTableModel.name]: EleTreeTableModel
30
+ [EleTreeTableModel.name]: EleTreeTableModel,
31
+ [EleFormGroupModel.name]: EleFormGroupModel,
32
+ [EleStepModel.name]: EleStepModel,
33
+ [EleFormModel.name]: EleFormModel
28
34
  },
29
35
  computed: {
30
36
  modelNameValidator () {
@@ -44,4 +50,7 @@ export default {
44
50
  }
45
51
  }
46
52
  }
47
- </script>
53
+ </script>
54
+ <style lang="scss">
55
+ @import '../../theme/index';
56
+ </style>
@@ -3,15 +3,19 @@
3
3
  <a-tree
4
4
  v-if="innerTreeData.length"
5
5
  :tree-data="innerTreeData"
6
+ :checkable="checkable"
6
7
  @select="selectTreeNode"
8
+ @check="checkTreeNode"
7
9
  :replaceFields="replaceFields"
8
10
  :default-expanded-keys="defaultExpandedKeys"
9
11
  :default-selected-keys="defaultSelectedKeys"
12
+ :show-line="showLine"
10
13
  blockNode
11
14
  :show-icon="showIcon">
12
- <template #title="{ title }">
13
- <span :title="title" class="tree-node__title">
14
- {{ title }}
15
+ <a-icon v-if="switcherIcon" slot="switcherIcon" :type="switcherIcon" />
16
+ <template #title="props">
17
+ <span :title="props[replaceFields.title]" class="tree-node__title">
18
+ {{ props[replaceFields.title] }}
15
19
  </span>
16
20
  </template>
17
21
  <template slot="custom" slot-scope="{ scopedSlots }">
@@ -29,6 +33,17 @@ export default {
29
33
  type: Array,
30
34
  default: () => []
31
35
  },
36
+ showLine: {
37
+ type: Boolean,
38
+ default: false
39
+ },
40
+ switcherIcon: {
41
+ type: String
42
+ },
43
+ checkable: {
44
+ type: Boolean,
45
+ default: false
46
+ },
32
47
  replaceFields: {
33
48
  type: Object,
34
49
  default: () => ({
@@ -54,29 +69,14 @@ export default {
54
69
  computed: {
55
70
  innerTreeData () {
56
71
  return this.treeData
57
- // return [
58
- // {
59
- // title: 'parent 1',
60
- // key: 1,
61
- // scopedSlots: {
62
- // icon: 'custom',
63
- // iconName: 'smile-o'
64
- // },
65
- // children: [
66
- // {
67
- // title: '2',
68
- // key: 2,
69
- // scopedSlots: {
70
- // icon: 'custom',
71
- // iconName: 'frown-o'
72
- // }
73
- // }
74
- // ]
75
- // }
76
- // ]
77
72
  }
78
73
  },
79
74
  methods: {
75
+ checkTreeNode (checkedKeys, e) {
76
+ const { checkedNodes } = e
77
+ const nodeDatas = checkedNodes.map(item => item.data.props.dataRef)
78
+ this.$emit('check', checkedKeys, nodeDatas)
79
+ },
80
80
  refreshTreeStatus (props = {}) {},
81
81
  selectTreeNode (selectedKeys, e) {
82
82
  this.$emit('select', selectedKeys, e)
@@ -88,10 +88,15 @@ export default {
88
88
  <style lang="scss" scoped>
89
89
  .g-tree__wrapper {
90
90
  overflow: hidden;
91
- ::v-deep .ant-tree-node-content-wrapper {
92
- text-overflow: ellipsis;
93
- overflow: hidden;
94
- white-space: nowrap;
91
+ ::v-deep .ant-tree {
92
+ .ant-tree-node-content-wrapper {
93
+ text-overflow: ellipsis;
94
+ overflow: hidden;
95
+ white-space: nowrap;
96
+ }
97
+ .ant-tree-node-selected {
98
+ color: #fff;
99
+ }
95
100
  }
96
101
  }
97
102
  </style>
@@ -0,0 +1,5 @@
1
+ import EleTreeSelect from './src/index.vue'
2
+
3
+ EleTreeSelect.install = Vue => Vue.component(EleTreeSelect.name, EleTreeSelect)
4
+
5
+ export default EleTreeSelect
@@ -0,0 +1,143 @@
1
+ <template>
2
+ <div class="ele__tree-select">
3
+ <a-tree-select
4
+ :value="value"
5
+ @change="onChange"
6
+ :multiple="multiple"
7
+ :disabled="disabled"
8
+ :defaultValue="defaultValue"
9
+ :replaceFields="replaceFields"
10
+ :tree-data="dataSource">
11
+ </a-tree-select>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ import { net, route } from '@idooel/shared'
17
+ import { parseFieldMap, CONTEXT } from '../../utils'
18
+ export default {
19
+ name: 'ele-tree-select',
20
+ model: {
21
+ prop: 'value',
22
+ event: 'change'
23
+ },
24
+ inject: {
25
+ [CONTEXT]: {
26
+ default: () => (() => {})
27
+ }
28
+ },
29
+ props: {
30
+ disabled: {
31
+ type: Boolean,
32
+ default: false
33
+ },
34
+ value: {
35
+ type: [String, Array]
36
+ },
37
+ url: {
38
+ type: String,
39
+ default: ''
40
+ },
41
+ requestType: {
42
+ type: String,
43
+ default: 'GET'
44
+ },
45
+ params: {
46
+ type: Object,
47
+ default: () => {
48
+ return {}
49
+ }
50
+ },
51
+ fieldMap: {
52
+ type: Object,
53
+ default: () => {
54
+ return {}
55
+ }
56
+ },
57
+ replaceFields: {
58
+ type: Object,
59
+ default: () => {
60
+ return {
61
+ children: 'children',
62
+ title: 'title',
63
+ key: 'key',
64
+ value: 'value'
65
+ }
66
+ }
67
+ },
68
+ treeData: {
69
+ type: Array,
70
+ default: () => {
71
+ return []
72
+ }
73
+ },
74
+ multiple: {
75
+ type: Boolean,
76
+ default: false
77
+ },
78
+ picks: {
79
+ type: Array,
80
+ default: () => {
81
+ return []
82
+ }
83
+ },
84
+ defaultValue: {
85
+ type: Array,
86
+ default: () => []
87
+ }
88
+ },
89
+ data() {
90
+ return {
91
+ innerDataSource: []
92
+ }
93
+ },
94
+ computed: {
95
+ contextData () {
96
+ return this[CONTEXT].call(this)
97
+ },
98
+ dataSource () {
99
+ return this.url ? this.innerDataSource : this.treeData
100
+ }
101
+ },
102
+ methods: {
103
+ onChange (value, label, extra) {
104
+ this.$emit('change', value)
105
+ },
106
+ assignKeyFormTreeData (dataSource = []) {
107
+ return dataSource.map(nodeData => {
108
+ const { children } = nodeData
109
+ children && this.assignKeyFormTreeData(children)
110
+ if (!nodeData.key) {
111
+ nodeData.key = nodeData.id
112
+ nodeData.value = nodeData.id
113
+ }
114
+ return nodeData
115
+ })
116
+ },
117
+ requestData () {
118
+ const { exposed = {} } = this.contextData
119
+ const { getFieldsValue, route } = exposed
120
+ const formModel = getFieldsValue && getFieldsValue()
121
+ const ctx = {
122
+ ...formModel,
123
+ route
124
+ }
125
+ net[this.requestType.toLowerCase()](this.url, { ...this.params, ...parseFieldMap(this.fieldMap, ctx) }).then(resp => {
126
+ const { data, code } = resp
127
+ if (code == 2000) {
128
+ this.innerDataSource = this.assignKeyFormTreeData(data)
129
+ }
130
+ })
131
+ }
132
+ },
133
+ mounted() {
134
+ this.$nextTick(() => {
135
+ this.url && this.requestData()
136
+ })
137
+ }
138
+ }
139
+ </script>
140
+
141
+ <style lang="scss" scoped>
142
+
143
+ </style>
@@ -0,0 +1,5 @@
1
+ import EleUpload from './src/index.vue'
2
+
3
+ EleUpload.install = Vue => Vue.component(EleUpload.name, EleUpload)
4
+
5
+ export default EleUpload