@idooel/components 0.0.1 → 0.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 (107) hide show
  1. package/README.md +99 -0
  2. package/dist/@idooel/components.esm.js +13956 -1882
  3. package/dist/@idooel/components.umd.js +14000 -1891
  4. package/jsconfig.json +8 -0
  5. package/package.json +12 -6
  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/index.js +4 -4
  19. package/packages/button/src/index.vue +65 -24
  20. package/packages/checkbox/index.js +5 -0
  21. package/packages/checkbox/src/index.vue +53 -0
  22. package/packages/composite-components/button-group/index.js +4 -4
  23. package/packages/composite-components/button-group/src/index.vue +151 -46
  24. package/packages/composite-components/form-attachment/src/index.vue +15 -0
  25. package/packages/composite-components/form-img-crop/index.js +5 -0
  26. package/packages/composite-components/form-img-crop/src/index.vue +121 -0
  27. package/packages/composite-components/modal-confirm/index.js +5 -0
  28. package/packages/composite-components/modal-confirm/src/index.vue +104 -0
  29. package/packages/composite-components/modal-form/index.js +5 -0
  30. package/packages/composite-components/modal-form/src/index.vue +231 -0
  31. package/packages/composite-components/modal-img-crop/index.js +5 -0
  32. package/packages/composite-components/modal-img-crop/src/index.vue +299 -0
  33. package/packages/composite-components/modal-table/index.js +5 -0
  34. package/packages/composite-components/modal-table/src/index.vue +156 -0
  35. package/packages/composite-components/modal-table-transfer/index.js +0 -0
  36. package/packages/composite-components/modal-tree/index.js +5 -0
  37. package/packages/composite-components/modal-tree/src/index.vue +76 -0
  38. package/packages/composite-components/search-area/index.js +4 -4
  39. package/packages/composite-components/search-area/src/index.vue +237 -128
  40. package/packages/composite-components/search-area/src/label.vue +35 -35
  41. package/packages/composite-components/select-entity-modal-table/index.js +5 -0
  42. package/packages/composite-components/select-entity-modal-table/src/index.vue +172 -0
  43. package/packages/composite-components/table-transfer/index.js +0 -0
  44. package/packages/date/index.js +4 -4
  45. package/packages/date/src/index.vue +113 -40
  46. package/packages/date-range/index.js +5 -0
  47. package/packages/date-range/src/index.vue +47 -0
  48. package/packages/form/index.js +5 -0
  49. package/packages/form/src/index.vue +319 -0
  50. package/packages/icon/index.js +5 -0
  51. package/packages/icon/src/index.vue +32 -0
  52. package/packages/index.js +153 -50
  53. package/packages/input/index.js +4 -4
  54. package/packages/input/src/index.vue +35 -23
  55. package/packages/input-number/index.js +5 -0
  56. package/packages/input-number/src/index.vue +24 -0
  57. package/packages/loading/index.js +5 -0
  58. package/packages/loading/src/index.vue +37 -0
  59. package/packages/modal/index.js +5 -0
  60. package/packages/modal/src/index.vue +185 -0
  61. package/packages/models/form-group-model/index.js +5 -0
  62. package/packages/models/form-group-model/src/index.vue +274 -0
  63. package/packages/models/form-model/index.js +5 -0
  64. package/packages/models/form-model/src/index.vue +233 -0
  65. package/packages/models/step-model/index.js +5 -0
  66. package/packages/models/step-model/src/index.vue +224 -0
  67. package/packages/{tree-table-model → models/tree-table-model}/index.js +4 -4
  68. package/packages/models/tree-table-model/src/index.vue +689 -0
  69. package/packages/radio/index.js +5 -0
  70. package/packages/radio/src/index.vue +57 -0
  71. package/packages/select/index.js +4 -4
  72. package/packages/select/src/index.vue +105 -34
  73. package/packages/select-entity/index.js +5 -0
  74. package/packages/select-entity/src/index.vue +120 -0
  75. package/packages/table/index.js +4 -4
  76. package/packages/table/src/action.vue +172 -103
  77. package/packages/table/src/index.vue +289 -88
  78. package/packages/tabs/index.js +5 -0
  79. package/packages/tabs/src/index.vue +56 -0
  80. package/packages/text/index.js +5 -0
  81. package/packages/text/src/index.vue +48 -0
  82. package/packages/text-editor/index.js +5 -0
  83. package/packages/text-editor/src/index.vue +73 -0
  84. package/packages/textarea/index.js +5 -0
  85. package/packages/textarea/src/index.vue +58 -0
  86. package/packages/theme/form.scss +22 -0
  87. package/packages/theme/index.scss +43 -0
  88. package/packages/theme/overrid.scss +8 -0
  89. package/packages/theme/styleClass.scss +3 -0
  90. package/packages/theme/variables.scss +56 -0
  91. package/packages/timeline/index.js +5 -0
  92. package/packages/timeline/src/index.vue +258 -0
  93. package/packages/tpl/index.js +4 -4
  94. package/packages/tpl/src/index.vue +56 -47
  95. package/packages/tree/index.js +4 -4
  96. package/packages/tree/src/TreeNode.vue +29 -29
  97. package/packages/tree/src/index.vue +101 -96
  98. package/packages/tree-select/index.js +5 -0
  99. package/packages/tree-select/src/index.vue +143 -0
  100. package/packages/upload/index.js +5 -0
  101. package/packages/upload/src/index.vue +445 -0
  102. package/packages/utils/index.js +63 -0
  103. package/scripts/rollup.config.js +42 -35
  104. package/scripts/rollup.esm.config.js +11 -11
  105. package/scripts/rollup.umd.config.js +14 -14
  106. package/packages/tree-table-model/src/index.vue +0 -290
  107. /package/packages/{tree-table-model/README.md → composite-components/form-attachment/index.js} +0 -0
@@ -1,97 +1,102 @@
1
- <template>
2
- <div class="g-tree__wrapper">
3
- <a-tree
4
- v-if="innerTreeData.length"
5
- :tree-data="innerTreeData"
6
- @select="selectTreeNode"
7
- :replaceFields="replaceFields"
8
- :default-expanded-keys="defaultExpandedKeys"
9
- :default-selected-keys="defaultSelectedKeys"
10
- blockNode
11
- :show-icon="showIcon">
12
- <template #title="{ title }">
13
- <span :title="title" class="tree-node__title">
14
- {{ title }}
15
- </span>
16
- </template>
17
- <template slot="custom" slot-scope="{ scopedSlots }">
18
- <a-icon :type="scopedSlots.iconName"></a-icon>
19
- </template>
20
- </a-tree>
21
- </div>
22
- </template>
23
-
24
- <script>
25
- export default {
26
- name: 'ele-tree',
27
- props: {
28
- treeData: {
29
- type: Array,
30
- default: () => []
31
- },
32
- replaceFields: {
33
- type: Object,
34
- default: () => ({
35
- title: 'title',
36
- key: 'id',
37
- children: 'children'
38
- })
39
- },
40
- defaultExpandedKeys: {
41
- type: Array
42
- },
43
- defaultSelectedKeys: {
44
- type: Array
45
- },
46
- showIcon: {
47
- type: Boolean,
48
- default: true
49
- }
50
- },
51
- data () {
52
- return {}
53
- },
54
- computed: {
55
- innerTreeData () {
56
- 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
- }
78
- },
79
- methods: {
80
- refreshTreeStatus (props = {}) {},
81
- selectTreeNode (selectedKeys, e) {
82
- this.$emit('select', selectedKeys, e)
83
- }
84
- }
85
- }
86
- </script>
87
-
88
- <style lang="scss" scoped>
89
- .g-tree__wrapper {
90
- overflow: hidden;
91
- ::v-deep .ant-tree-node-content-wrapper {
92
- text-overflow: ellipsis;
93
- overflow: hidden;
94
- white-space: nowrap;
95
- }
96
- }
1
+ <template>
2
+ <div class="g-tree__wrapper">
3
+ <a-tree
4
+ v-if="innerTreeData.length"
5
+ :tree-data="innerTreeData"
6
+ :checkable="checkable"
7
+ @select="selectTreeNode"
8
+ @check="checkTreeNode"
9
+ :replaceFields="replaceFields"
10
+ :default-expanded-keys="defaultExpandedKeys"
11
+ :default-selected-keys="defaultSelectedKeys"
12
+ :show-line="showLine"
13
+ blockNode
14
+ :show-icon="showIcon">
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] }}
19
+ </span>
20
+ </template>
21
+ <template slot="custom" slot-scope="{ scopedSlots }">
22
+ <a-icon :type="scopedSlots.iconName"></a-icon>
23
+ </template>
24
+ </a-tree>
25
+ </div>
26
+ </template>
27
+
28
+ <script>
29
+ export default {
30
+ name: 'ele-tree',
31
+ props: {
32
+ treeData: {
33
+ type: Array,
34
+ default: () => []
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
+ },
47
+ replaceFields: {
48
+ type: Object,
49
+ default: () => ({
50
+ title: 'title',
51
+ key: 'id',
52
+ children: 'children'
53
+ })
54
+ },
55
+ defaultExpandedKeys: {
56
+ type: Array
57
+ },
58
+ defaultSelectedKeys: {
59
+ type: Array
60
+ },
61
+ showIcon: {
62
+ type: Boolean,
63
+ default: true
64
+ }
65
+ },
66
+ data () {
67
+ return {}
68
+ },
69
+ computed: {
70
+ innerTreeData () {
71
+ return this.treeData
72
+ }
73
+ },
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
+ refreshTreeStatus (props = {}) {},
81
+ selectTreeNode (selectedKeys, e) {
82
+ this.$emit('select', selectedKeys, e)
83
+ }
84
+ }
85
+ }
86
+ </script>
87
+
88
+ <style lang="scss" scoped>
89
+ .g-tree__wrapper {
90
+ overflow: hidden;
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
+ }
100
+ }
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