haiwei-ui 1.0.2 → 1.0.4

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 (211) hide show
  1. package/.prettierrc +6 -4
  2. package/README.md +10 -0
  3. package/package.json +1 -1
  4. package/packages/components/box/index.vue +116 -125
  5. package/packages/components/box-col/index.vue +30 -33
  6. package/packages/components/box-row/index.vue +17 -17
  7. package/packages/components/box-small/index.vue +38 -38
  8. package/packages/components/button/index.vue +29 -42
  9. package/packages/components/button-copy/index.vue +46 -62
  10. package/packages/components/button-delete/index.vue +64 -77
  11. package/packages/components/button-delete-batch/index.vue +82 -95
  12. package/packages/components/button-has/index.vue +29 -42
  13. package/packages/components/checkbox-group/index.vue +85 -85
  14. package/packages/components/color-picker/index.vue +41 -50
  15. package/packages/components/container/index.vue +8 -8
  16. package/packages/components/date-range-picker/index.vue +92 -103
  17. package/packages/components/details/index.vue +72 -79
  18. package/packages/components/dialog/index.vue +281 -294
  19. package/packages/components/drag-sort/index.vue +36 -36
  20. package/packages/components/drag-sort-dialog/index.vue +58 -58
  21. package/packages/components/drawer/index.vue +157 -166
  22. package/packages/components/enums/sex/index.vue +1 -1
  23. package/packages/components/flex/index.vue +33 -33
  24. package/packages/components/form/index.vue +123 -138
  25. package/packages/components/form-dialog/index.vue +184 -217
  26. package/packages/components/form-page/index.vue +134 -151
  27. package/packages/components/icon/index.vue +6 -6
  28. package/packages/components/icon-picker/index.vue +30 -30
  29. package/packages/components/icon-picker/panel.vue +58 -58
  30. package/packages/components/label/index.vue +22 -30
  31. package/packages/components/list/components/export/index.vue +101 -99
  32. package/packages/components/list/components/footer/index.vue +42 -51
  33. package/packages/components/list/components/header/index.vue +34 -34
  34. package/packages/components/list/components/querybar/index.vue +145 -124
  35. package/packages/components/list/components/select-column/index.vue +30 -30
  36. package/packages/components/list/components/table/index.vue +169 -188
  37. package/packages/components/list/index.vue +336 -395
  38. package/packages/components/list-agile/index.vue +145 -145
  39. package/packages/components/list-dialog/index.vue +70 -84
  40. package/packages/components/listbox/index.vue +48 -48
  41. package/packages/components/login-default/index.vue +107 -107
  42. package/packages/components/login-neon/index.vue +104 -104
  43. package/packages/components/map/index.vue +229 -229
  44. package/packages/components/map-coord-picking/index.vue +220 -219
  45. package/packages/components/map-search/index.vue +75 -72
  46. package/packages/components/scrollbar/index.vue +11 -11
  47. package/packages/components/select-whether/index.vue +30 -30
  48. package/packages/components/split/index.vue +141 -141
  49. package/packages/components/split/trigger.vue +15 -15
  50. package/packages/components/tabnav/index.vue +125 -89
  51. package/packages/components/tabs/index.vue +31 -31
  52. package/packages/components/toolbar/components/fullscreen/index.vue +10 -10
  53. package/packages/components/toolbar/components/logout/index.vue +13 -13
  54. package/packages/components/toolbar/components/skin-toggle/form.vue +59 -59
  55. package/packages/components/toolbar/components/skin-toggle/index.vue +12 -12
  56. package/packages/components/toolbar/components/userInfo/index.vue +18 -18
  57. package/packages/components/toolbar/index.vue +12 -12
  58. package/packages/components/tree-select/mixins.vue +261 -270
  59. package/packages/components/txt/index.vue +17 -17
  60. package/packages/components/update-password/index.vue +45 -57
  61. package/packages/layout.vue +18 -18
  62. package/packages/mixins/components/checkbox.vue +71 -82
  63. package/packages/mixins/components/radio.vue +69 -69
  64. package/packages/page/403/index.vue +32 -28
  65. package/packages/page/404/index.vue +32 -28
  66. package/packages/page/default/index.vue +17 -13
  67. package/packages/page/iframe/index.vue +6 -6
  68. package/packages/page/login/index.vue +9 -9
  69. package/packages/page/userInfo/index.vue +5 -5
  70. package/packages/router/index.js +1 -9
  71. package/packages/skins/pretty/components/header/components/breadcrumb/index.vue +29 -29
  72. package/packages/skins/pretty/components/header/components/theme/index.vue +22 -21
  73. package/packages/skins/pretty/components/header/index.vue +12 -12
  74. package/packages/skins/pretty/components/main/index.vue +27 -27
  75. package/packages/skins/pretty/components/menus/index.vue +28 -28
  76. package/packages/skins/pretty/components/menus/item.vue +23 -23
  77. package/packages/skins/pretty/components/sidebar/index.vue +7 -7
  78. package/packages/skins/pretty/index.vue +6 -6
  79. package/packages/skins/pretty/styles/themes/blue-light/_index.scss +2 -2
  80. package/packages/skins/pretty/styles/themes/default/_index.scss +1 -1
  81. package/packages/skins/pretty/styles/themes/green/_index.scss +2 -2
  82. package/packages/skins/pretty/styles/themes/green-light/_index.scss +2 -2
  83. package/packages/styles/_mixins.scss +24 -25
  84. package/packages/styles/animation/_index.scss +22 -23
  85. package/packages/styles/animation/breadcrumb.scss +6 -6
  86. package/packages/styles/animation/fade.scss +11 -11
  87. package/packages/styles/animation/move.scss +98 -98
  88. package/packages/styles/components/box-small/_index.scss +58 -58
  89. package/packages/styles/components/button/_index.scss +7 -7
  90. package/packages/styles/components/container/_index.scss +26 -26
  91. package/packages/styles/components/date-range-picker/_index.scss +4 -4
  92. package/packages/styles/components/details/_index.scss +66 -67
  93. package/packages/styles/components/details-dialog/_index.scss +13 -13
  94. package/packages/styles/components/drag-sort/_index.scss +20 -20
  95. package/packages/styles/components/drag-sort-dialog/_index.scss +7 -7
  96. package/packages/styles/components/flex/_index.scss +56 -56
  97. package/packages/styles/components/form-dialog/_index.scss +11 -11
  98. package/packages/styles/components/icon/_index.scss +6 -6
  99. package/packages/styles/components/label/_index.scss +245 -245
  100. package/packages/styles/components/listbox/_index.scss +47 -47
  101. package/packages/styles/components/split/_index.scss +102 -102
  102. package/packages/styles/components/toolbar/_index.scss +98 -98
  103. package/packages/styles/components/txt/_index.scss +13 -13
  104. package/packages/styles/components/upload-dialog/_index.scss +44 -44
  105. package/packages/styles/components/upload-multiple/_index.scss +19 -19
  106. package/packages/styles/components/upload-single/_index.scss +16 -16
  107. package/packages/utils/resize-event.js +3 -3
  108. package/packages/vuter/attributes.json +30 -40
  109. package/packages/vuter/tags.json +11 -27
  110. package/public/lib/font/iconfont.js +47 -1
  111. package/src/api/config.js +1 -1
  112. package/src/components/code-preview/index.vue +56 -56
  113. package/src/components/tmpl/components/attributes/index.vue +3 -3
  114. package/src/components/tmpl/components/events/index.vue +3 -3
  115. package/src/components/tmpl/components/methods/index.vue +3 -3
  116. package/src/components/tmpl/components/slots/index.vue +3 -3
  117. package/src/components/tmpl/index.vue +42 -42
  118. package/src/style/element-ui.scss +4 -4
  119. package/src/views/components/advanced/details/_index/index.vue +16 -16
  120. package/src/views/components/advanced/details/demo1/demo.vue +42 -42
  121. package/src/views/components/advanced/details/demo1/index.vue +11 -11
  122. package/src/views/components/advanced/drag-sort/_index/index.vue +16 -16
  123. package/src/views/components/advanced/drag-sort/demo1/demo.vue +18 -18
  124. package/src/views/components/advanced/drag-sort/demo1/index.vue +11 -11
  125. package/src/views/components/advanced/drag-sort-dialog/_index/index.vue +16 -16
  126. package/src/views/components/advanced/drag-sort-dialog/demo1/demo.vue +24 -24
  127. package/src/views/components/advanced/drag-sort-dialog/demo1/index.vue +11 -11
  128. package/src/views/components/advanced/list/_index/index.vue +21 -21
  129. package/src/views/components/advanced/list/demo1/demo.vue +65 -65
  130. package/src/views/components/advanced/list/demo1/index.vue +11 -11
  131. package/src/views/components/advanced/list/demo2/demo.vue +52 -52
  132. package/src/views/components/advanced/list/demo2/index.vue +11 -11
  133. package/src/views/components/advanced/list/demo4/demo.vue +28 -28
  134. package/src/views/components/advanced/list/demo4/index.vue +11 -11
  135. package/src/views/components/advanced/list-dialog/_index/index.vue +21 -21
  136. package/src/views/components/advanced/list-dialog/demo1/demo.vue +48 -48
  137. package/src/views/components/advanced/list-dialog/demo1/index.vue +11 -11
  138. package/src/views/components/advanced/listbox/_index/index.vue +19 -19
  139. package/src/views/components/advanced/listbox/demo1/demo.vue +47 -47
  140. package/src/views/components/advanced/listbox/demo1/index.vue +11 -11
  141. package/src/views/components/base/box/_index/index.vue +22 -28
  142. package/src/views/components/base/box/demo1/index.vue +11 -11
  143. package/src/views/components/base/box/demo2/index.vue +11 -11
  144. package/src/views/components/base/box/demo3/demo.vue +15 -15
  145. package/src/views/components/base/box/demo3/index.vue +11 -11
  146. package/src/views/components/base/box/demo4/demo.vue +18 -24
  147. package/src/views/components/base/box/demo4/index.vue +11 -11
  148. package/src/views/components/base/box-col/_index/index.vue +17 -17
  149. package/src/views/components/base/box-col/demo1/index.vue +11 -11
  150. package/src/views/components/base/box-row/_index/index.vue +17 -17
  151. package/src/views/components/base/box-row/demo1/index.vue +11 -11
  152. package/src/views/components/base/box-small/_index/index.vue +17 -17
  153. package/src/views/components/base/box-small/demo1/demo.vue +30 -30
  154. package/src/views/components/base/box-small/demo1/index.vue +11 -11
  155. package/src/views/components/base/button/_index/index.vue +18 -18
  156. package/src/views/components/base/button/demo1/index.vue +11 -11
  157. package/src/views/components/base/button/demo2/demo.vue +53 -48
  158. package/src/views/components/base/button/demo2/index.vue +11 -11
  159. package/src/views/components/base/container/_index/index.vue +15 -15
  160. package/src/views/components/base/dialog/_index/index.vue +20 -20
  161. package/src/views/components/base/dialog/demo1/demo.vue +37 -37
  162. package/src/views/components/base/dialog/demo1/index.vue +11 -11
  163. package/src/views/components/base/drawer/_index/index.vue +18 -18
  164. package/src/views/components/base/drawer/demo1/demo.vue +8 -8
  165. package/src/views/components/base/drawer/demo1/index.vue +11 -11
  166. package/src/views/components/base/flex/_index/index.vue +17 -17
  167. package/src/views/components/base/flex/demo1/demo.vue +6 -6
  168. package/src/views/components/base/flex/demo1/index.vue +14 -14
  169. package/src/views/components/base/label/_index/index.vue +17 -17
  170. package/src/views/components/base/label/demo1/index.vue +14 -14
  171. package/src/views/components/base/scrollbar/_index/index.vue +17 -17
  172. package/src/views/components/base/scrollbar/demo1/demo.vue +47 -47
  173. package/src/views/components/base/scrollbar/demo1/index.vue +11 -11
  174. package/src/views/components/base/split/_index/index.vue +17 -17
  175. package/src/views/components/base/split/demo1/demo.vue +6 -6
  176. package/src/views/components/base/split/demo1/index.vue +11 -11
  177. package/src/views/components/base/tabs/_index/index.vue +21 -21
  178. package/src/views/components/base/tabs/demo1/demo.vue +47 -47
  179. package/src/views/components/base/tabs/demo1/index.vue +14 -14
  180. package/src/views/components/base/txt/_index/index.vue +17 -17
  181. package/src/views/components/base/txt/demo1/index.vue +14 -14
  182. package/src/views/components/form/checkbox-group/_index/index.vue +20 -20
  183. package/src/views/components/form/checkbox-group/demo1/demo.vue +35 -35
  184. package/src/views/components/form/checkbox-group/demo1/index.vue +11 -11
  185. package/src/views/components/form/color-picker/_index/index.vue +16 -16
  186. package/src/views/components/form/color-picker/demo1/demo.vue +10 -10
  187. package/src/views/components/form/color-picker/demo1/index.vue +11 -11
  188. package/src/views/components/form/date-range-picker/_index/index.vue +17 -17
  189. package/src/views/components/form/date-range-picker/demo1/demo.vue +21 -21
  190. package/src/views/components/form/date-range-picker/demo1/index.vue +11 -11
  191. package/src/views/components/form/form/_index/index.vue +18 -18
  192. package/src/views/components/form/form/demo1/demo.vue +33 -33
  193. package/src/views/components/form/form/demo1/index.vue +11 -11
  194. package/src/views/components/form/form-dialog/_index/index.vue +18 -18
  195. package/src/views/components/form/form-dialog/demo1/demo.vue +39 -39
  196. package/src/views/components/form/form-dialog/demo1/index.vue +14 -14
  197. package/src/views/components/form/form-page/_index/index.vue +18 -18
  198. package/src/views/components/form/form-page/demo1/demo.vue +19 -19
  199. package/src/views/components/form/form-page/demo1/index.vue +11 -11
  200. package/src/views/components/form/icon-picker/_index/index.vue +18 -17
  201. package/src/views/components/form/icon-picker/demo1/demo.vue +20 -20
  202. package/src/views/components/form/icon-picker/demo1/index.vue +11 -11
  203. package/src/views/components/form/select/_index/index.vue +19 -19
  204. package/src/views/components/form/select/demo1/demo.vue +39 -39
  205. package/src/views/components/form/select/demo1/index.vue +11 -11
  206. package/src/views/components/form/select/demo2/index.vue +6 -6
  207. package/src/views/components/map/map-coord-picking/_index/index.vue +22 -22
  208. package/src/views/components/map/map-coord-picking/demo1/demo.vue +23 -23
  209. package/src/views/components/map/map-coord-picking/demo1/index.vue +11 -11
  210. package/src/views/run/index.vue +37 -37
  211. package/vue.config.js +1 -1
@@ -13,13 +13,13 @@
13
13
  <section class="nm-tree-select-content">
14
14
  <!--搜索框-->
15
15
  <div class="nm-tree-select-search-wrapper">
16
- <el-input :size="fontSize" v-if="filterable" class="nm-tree-select-search" v-model="keyword" placeholder="请输入内容" prefix-icon="el-icon-search"> </el-input>
16
+ <el-input :size="fontSize" v-if="filterable" class="nm-tree-select-search" v-model="keyword" placeholder="请输入内容" prefix-icon="el-icon-search"></el-input>
17
17
  </div>
18
18
  <!--树结构-->
19
19
  <div class="nm-tree-select-tree-wrapper">
20
20
  <div class="nm-tree-select-tree-main">
21
21
  <nm-scrollbar horizontal>
22
- <el-tree ref="tree" v-bind="treeOptions" v-on="treeOn"> </el-tree>
22
+ <el-tree ref="tree" v-bind="treeOptions" v-on="treeOn"></el-tree>
23
23
  </nm-scrollbar>
24
24
  </div>
25
25
  </div>
@@ -29,10 +29,11 @@
29
29
  <div style="float:left">
30
30
  <span style="float:left;font-size:12px;">
31
31
  {{ multiple ? '多选' : '单选' }}
32
- <span v-if="multiple && multipleLimit > 0"
33
- >(<label class="nm-size-13 nm-text-danger nm-p-3">{{ selection.length }}/{{ multipleLimit }}</label
34
- >)</span
35
- >
32
+ <span v-if="multiple && multipleLimit > 0">
33
+ (
34
+ <label class="nm-size-13 nm-text-danger nm-p-3">{{ selection.length }}/{{ multipleLimit }}</label>
35
+ )
36
+ </span>
36
37
  </span>
37
38
  </div>
38
39
  <el-button type="text" @click="save">确定</el-button>
@@ -41,294 +42,284 @@
41
42
  </template>
42
43
  </nm-box>
43
44
  <!--展示-->
44
- <el-input
45
- ref="input"
46
- :value="label"
47
- class="nm-tree-select-input"
48
- :placeholder="placeholder"
49
- :disabled="disabled"
50
- :suffix-icon="visible ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"
51
- readonly
52
- slot="reference"
53
- >
54
- </el-input>
45
+ <el-input ref="input" :value="label" class="nm-tree-select-input" :placeholder="placeholder" :disabled="disabled" :suffix-icon="visible ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" readonly slot="reference"></el-input>
55
46
  </el-popover>
56
47
  </template>
57
48
  <script>
58
- export default {
59
- data() {
60
- return {
61
- title_: this.title,
62
- /**树配置 */
63
- treeOptions: {
64
- data: [],
65
- nodeKey: 'id',
66
- props: {
67
- children: 'children',
68
- label: 'label'
49
+ export default {
50
+ data() {
51
+ return {
52
+ title_: this.title,
53
+ /**树配置 */
54
+ treeOptions: {
55
+ data: [],
56
+ nodeKey: 'id',
57
+ props: {
58
+ children: 'children',
59
+ label: 'label'
60
+ },
61
+ showCheckbox: true,
62
+ checkStrictly: true,
63
+ defaultExpandAll: this.defaultExpandAll,
64
+ defaultExpandedKeys: [],
65
+ filterNodeMethod: this.filterNode
69
66
  },
70
- showCheckbox: true,
71
- checkStrictly: true,
72
- defaultExpandAll: this.defaultExpandAll,
73
- defaultExpandedKeys: [],
74
- filterNodeMethod: this.filterNode
67
+ /**树事件 */
68
+ treeOn: {
69
+ check: this.onCheck,
70
+ 'node-expand': this.onNodeExpand,
71
+ 'node-collapse': this.onNodeCollapse
72
+ },
73
+ /**是否显示 */
74
+ visible: false,
75
+ /**输入框显示文本 */
76
+ label: '',
77
+ /**过滤关键字 */
78
+ keyword: '',
79
+ /**已选项 */
80
+ selection: [],
81
+ /**折叠状态 */
82
+ collapsed: false,
83
+ /**加载动画 */
84
+ loading: false
85
+ }
86
+ },
87
+ props: {
88
+ value: [String, Number, Array],
89
+ placeholder: {
90
+ type: String,
91
+ default: '请选择...'
75
92
  },
76
- /**树事件 */
77
- treeOn: {
78
- check: this.onCheck,
79
- 'node-expand': this.onNodeExpand,
80
- 'node-collapse': this.onNodeCollapse
93
+ /**头部标题 */
94
+ title: {
95
+ type: String,
96
+ default: '请选择'
81
97
  },
82
- /**是否显示 */
83
- visible: false,
84
- /**输入框显示文本 */
85
- label: '',
86
- /**过滤关键字 */
87
- keyword: '',
88
- /**已选项 */
89
- selection: [],
90
- /**折叠状态 */
91
- collapsed: false,
92
- /**加载动画 */
93
- loading: false
94
- }
95
- },
96
- props: {
97
- value: [String, Number, Array],
98
- placeholder: {
99
- type: String,
100
- default: '请选择...'
101
- },
102
- /**头部标题 */
103
- title: {
104
- type: String,
105
- default: '请选择'
106
- },
107
- /**图标 */
108
- icon: {
109
- type: String,
110
- default: 'tree'
111
- },
112
- /**宽度 */
113
- width: {
114
- type: String,
115
- default: '250px'
116
- },
117
- /**高度 */
118
- height: {
119
- type: String,
120
- default: '400px'
121
- },
122
- /**可搜索的 */
123
- filterable: Boolean,
124
- /**禁用的 */
125
- disabled: Boolean,
126
- /**多选 */
127
- multiple: Boolean,
128
- /**多选时最多可以选择的项目数,为 0 则不限制 */
129
- multipleLimit: {
130
- type: Number,
131
- default: 0
132
- },
133
- /**多选时展示用的分隔符 */
134
- separator: {
135
- type: String,
136
- default: '/'
137
- },
138
- /**是否显示折叠/展开全部按钮 */
139
- collapseAll: Boolean,
140
- /**默认展开所有 */
141
- defaultExpandAll: Boolean,
142
- /**不显示加载动画 */
143
- noLoading: Boolean,
144
- /**是否显示刷新按钮 */
145
- refresh: Boolean
146
- },
147
- computed: {
148
- popperClass() {
149
- return `nm-tree-select-popover ${this.filterable ? 'filterable' : ''}`
150
- },
151
- selection_() {
152
- let sl = this.selection
153
- return this.multiple ? sl.map(m => m) : sl.length > 0 ? sl[0] : null
154
- },
155
- /**已选中的值 */
156
- value_() {
157
- let sl = this.selection
158
- return this.multiple ? sl.map(m => m.id) : sl.length > 0 ? sl[0].id : ''
98
+ /**图标 */
99
+ icon: {
100
+ type: String,
101
+ default: 'tree'
102
+ },
103
+ /**宽度 */
104
+ width: {
105
+ type: String,
106
+ default: '250px'
107
+ },
108
+ /**高度 */
109
+ height: {
110
+ type: String,
111
+ default: '400px'
112
+ },
113
+ /**可搜索的 */
114
+ filterable: Boolean,
115
+ /**禁用的 */
116
+ disabled: Boolean,
117
+ /**多选 */
118
+ multiple: Boolean,
119
+ /**多选时最多可以选择的项目数,为 0 则不限制 */
120
+ multipleLimit: {
121
+ type: Number,
122
+ default: 0
123
+ },
124
+ /**多选时展示用的分隔符 */
125
+ separator: {
126
+ type: String,
127
+ default: '/'
128
+ },
129
+ /**是否显示折叠/展开全部按钮 */
130
+ collapseAll: Boolean,
131
+ /**默认展开所有 */
132
+ defaultExpandAll: Boolean,
133
+ /**不显示加载动画 */
134
+ noLoading: Boolean,
135
+ /**是否显示刷新按钮 */
136
+ refresh: Boolean
159
137
  },
160
- showLoading() {
161
- return !this.noLoading && this.loading
162
- }
163
- },
164
- methods: {
165
- refreshTree() {
166
- this.loading = true
167
- this.action().then(data => {
168
- this.treeOptions.data = data
169
- this.change()
170
- this.loading = false
171
- })
138
+ computed: {
139
+ popperClass() {
140
+ return `nm-tree-select-popover ${this.filterable ? 'filterable' : ''}`
141
+ },
142
+ selection_() {
143
+ let sl = this.selection
144
+ return this.multiple ? sl.map(m => m) : sl.length > 0 ? sl[0] : null
145
+ },
146
+ /**已选中的值 */
147
+ value_() {
148
+ let sl = this.selection
149
+ return this.multiple ? sl.map(m => m.id) : sl.length > 0 ? sl[0].id : ''
150
+ },
151
+ showLoading() {
152
+ return !this.noLoading && this.loading
153
+ }
172
154
  },
173
- /**
174
- * @description 选项更改处理
175
- */
176
- change() {
177
- if (!this.value) return
155
+ methods: {
156
+ refreshTree() {
157
+ this.loading = true
158
+ this.action().then(data => {
159
+ this.treeOptions.data = data
160
+ this.change()
161
+ this.loading = false
162
+ })
163
+ },
164
+ /**
165
+ * @description 选项更改处理
166
+ */
167
+ change() {
168
+ if (!this.value) return
178
169
 
179
- let data = this.treeOptions.data
180
- if (data.length < 1) return
170
+ let data = this.treeOptions.data
171
+ if (data.length < 1) return
181
172
 
182
- let value = this.multiple ? this.value : [this.value]
173
+ let value = this.multiple ? this.value : [this.value]
183
174
 
184
- //设置显示文本
185
- this.setLabel(value)
186
- //清除已选项
187
- this.selection = []
188
- //要展开的选项
189
- this.treeOptions.defaultExpandedKeys = value
175
+ //设置显示文本
176
+ this.setLabel(value)
177
+ //清除已选项
178
+ this.selection = []
179
+ //要展开的选项
180
+ this.treeOptions.defaultExpandedKeys = value
190
181
 
191
- this.$nextTick(() => {
192
- this.setCheckedKeys(value)
182
+ this.$nextTick(() => {
183
+ this.setCheckedKeys(value)
184
+ this.$emit('change', this.value_, this.selection_)
185
+ })
186
+ },
187
+ /**保存 */
188
+ save() {
189
+ if (this.multiple && this.multipleLimit > 0 && this.selection.length > this.multipleLimit) {
190
+ this.showLimitMsg()
191
+ return
192
+ }
193
+ this.setLabel(this.multiple ? this.value_ : [this.value_])
194
+ this.$emit('input', this.value_)
193
195
  this.$emit('change', this.value_, this.selection_)
194
- })
195
- },
196
- /**保存 */
197
- save() {
198
- if (this.multiple && this.multipleLimit > 0 && this.selection.length > this.multipleLimit) {
199
- this.showLimitMsg()
200
- return
201
- }
202
- this.setLabel(this.multiple ? this.value_ : [this.value_])
203
- this.$emit('input', this.value_)
204
- this.$emit('change', this.value_, this.selection_)
205
- this.visible = false
206
- },
207
- /**重置 */
208
- reset() {
209
- this.selection = this.multiple ? [] : ''
210
- this.setCheckedKeys([])
196
+ this.visible = false
197
+ },
198
+ /**重置 */
199
+ reset() {
200
+ this.selection = this.multiple ? [] : ''
201
+ this.setCheckedKeys([])
211
202
 
212
- this.setLabel(this.multiple ? this.value_ : [this.value_])
213
- this.$emit('input', this.value_)
214
- this.$emit('change', this.value_, this.selection_)
215
- },
216
- setLabel(ids) {
217
- let datas = []
218
- if (ids && ids.length > 0) {
219
- ids.map(m => {
220
- let nodeData = this.getNodeData(this.treeOptions.data, m)
221
- if (nodeData) {
222
- datas.push(nodeData)
223
- }
224
- })
225
- }
226
- this.label = datas.map(m => m.label).join(` ${this.separator} `)
227
- },
228
- //递归获取当前数据对象
229
- getNodeData(list, id) {
230
- for (let i = 0; i < list.length; i++) {
231
- const m = list[i]
232
- if (m.id === id) {
233
- return m
203
+ this.setLabel(this.multiple ? this.value_ : [this.value_])
204
+ this.$emit('input', this.value_)
205
+ this.$emit('change', this.value_, this.selection_)
206
+ },
207
+ setLabel(ids) {
208
+ let datas = []
209
+ if (ids && ids.length > 0) {
210
+ ids.map(m => {
211
+ let nodeData = this.getNodeData(this.treeOptions.data, m)
212
+ if (nodeData) {
213
+ datas.push(nodeData)
214
+ }
215
+ })
234
216
  }
217
+ this.label = datas.map(m => m.label).join(` ${this.separator} `)
218
+ },
219
+ //递归获取当前数据对象
220
+ getNodeData(list, id) {
221
+ for (let i = 0; i < list.length; i++) {
222
+ const m = list[i]
223
+ if (m.id === id) {
224
+ return m
225
+ }
235
226
 
236
- if (m.children) {
237
- const nodeData = this.getNodeData(m.children, id)
238
- if (nodeData != null) return nodeData
227
+ if (m.children) {
228
+ const nodeData = this.getNodeData(m.children, id)
229
+ if (nodeData != null) return nodeData
230
+ }
239
231
  }
240
- }
241
- return null
242
- },
243
- /**设置选中 */
244
- setCheckedKeys(keys) {
245
- this.$refs.tree.setCheckedKeys(keys || this.selection.map(m => m.id))
246
- },
247
- /**过滤方法 */
248
- filterNode(value, data) {
249
- if (!value) return true
250
- return data.label.indexOf(value) !== -1
251
- },
252
- /**显示限制提醒消息 */
253
- showLimitMsg() {
254
- this._warning(`最多只能选择${this.multipleLimit}个`)
255
- },
256
- /**复选框点击事件 */
257
- onCheck(data, curr) {
258
- const { checkedNodes, checkedKeys } = curr
259
- if (this.multiple) {
260
- if (this.multipleLimit > 0 && checkedKeys.length > this.multipleLimit) {
261
- this.showLimitMsg()
262
- this.setCheckedKeys() //恢复
263
- return
232
+ return null
233
+ },
234
+ /**设置选中 */
235
+ setCheckedKeys(keys) {
236
+ this.$refs.tree.setCheckedKeys(keys || this.selection.map(m => m.id))
237
+ },
238
+ /**过滤方法 */
239
+ filterNode(value, data) {
240
+ if (!value) return true
241
+ return data.label.indexOf(value) !== -1
242
+ },
243
+ /**显示限制提醒消息 */
244
+ showLimitMsg() {
245
+ this._warning(`最多只能选择${this.multipleLimit}个`)
246
+ },
247
+ /**复选框点击事件 */
248
+ onCheck(data, curr) {
249
+ const { checkedNodes, checkedKeys } = curr
250
+ if (this.multiple) {
251
+ if (this.multipleLimit > 0 && checkedKeys.length > this.multipleLimit) {
252
+ this.showLimitMsg()
253
+ this.setCheckedKeys() //恢复
254
+ return
255
+ }
256
+ this.selection = checkedNodes.map(m => m.item)
257
+ } else {
258
+ this.selection = checkedKeys.length > 0 ? [data.item] : []
259
+ this.setCheckedKeys()
264
260
  }
265
- this.selection = checkedNodes.map(m => m.item)
266
- } else {
267
- this.selection = checkedKeys.length > 0 ? [data.item] : []
268
- this.setCheckedKeys()
269
- }
270
261
 
271
- this.$emit('check', data, curr)
272
- },
273
- /**折叠展开全部事件 */
274
- onCollapseAll() {
275
- this.collapsed = !this.collapsed
276
- let treeStore = this.$refs.tree.store
277
- for (var i = 0; i < treeStore._getAllNodes().length; i++) {
278
- treeStore._getAllNodes()[i].expanded = !this.collapsed
262
+ this.$emit('check', data, curr)
263
+ },
264
+ /**折叠展开全部事件 */
265
+ onCollapseAll() {
266
+ this.collapsed = !this.collapsed
267
+ let treeStore = this.$refs.tree.store
268
+ for (var i = 0; i < treeStore._getAllNodes().length; i++) {
269
+ treeStore._getAllNodes()[i].expanded = !this.collapsed
270
+ }
271
+ },
272
+ /**节点被点击时的回调 */
273
+ onNodeClick(data, node, cmp) {
274
+ this.$emit('node-click', data, node, cmp)
275
+ },
276
+ /**节点选中状态发生变化时的回调 */
277
+ onCheckChange(data, checked, indeterminate) {
278
+ this.$emit('check-change', data, checked, indeterminate)
279
+ },
280
+ /**当前选中节点变化时触发的事件 */
281
+ onCurrentChange(data, node) {
282
+ this.$emit('current-change', data, node)
283
+ },
284
+ /**节点被展开时触发的事件 */
285
+ onNodeExpand(data, node, cmp) {
286
+ //记录展开的节点
287
+ this.treeOptions.defaultExpandedKeys.push(data.id)
288
+ this.$emit('node-expand', data, node, cmp)
289
+ },
290
+ /**节点被关闭时触发的事件 */
291
+ onNodeCollapse(data, node, cmp) {
292
+ //移除展开的节点
293
+ this.$_.pull(this.treeOptions.defaultExpandedKeys, data.id)
294
+ this.$emit('node-collapse', data, node, cmp)
279
295
  }
280
296
  },
281
- /**节点被点击时的回调 */
282
- onNodeClick(data, node, cmp) {
283
- this.$emit('node-click', data, node, cmp)
284
- },
285
- /**节点选中状态发生变化时的回调 */
286
- onCheckChange(data, checked, indeterminate) {
287
- this.$emit('check-change', data, checked, indeterminate)
288
- },
289
- /**当前选中节点变化时触发的事件 */
290
- onCurrentChange(data, node) {
291
- this.$emit('current-change', data, node)
297
+ created() {
298
+ this.refreshTree()
292
299
  },
293
- /**节点被展开时触发的事件 */
294
- onNodeExpand(data, node, cmp) {
295
- //记录展开的节点
296
- this.treeOptions.defaultExpandedKeys.push(data.id)
297
- this.$emit('node-expand', data, node, cmp)
298
- },
299
- /**节点被关闭时触发的事件 */
300
- onNodeCollapse(data, node, cmp) {
301
- //移除展开的节点
302
- this.$_.pull(this.treeOptions.defaultExpandedKeys, data.id)
303
- this.$emit('node-collapse', data, node, cmp)
304
- }
305
- },
306
- created() {
307
- this.refreshTree()
308
- },
309
- mounted() {
310
- this.$nextTick(() => {
311
- //初始化宽高
312
- let el = this.$refs.popover.$el.querySelector('.el-popover')
313
- el.style.height = this.height
314
- el.style.width = this.width
315
- })
316
- },
317
- watch: {
318
- title(val) {
319
- this.title_ = val
300
+ mounted() {
301
+ this.$nextTick(() => {
302
+ //初始化宽高
303
+ let el = this.$refs.popover.$el.querySelector('.el-popover')
304
+ el.style.height = this.height
305
+ el.style.width = this.width
306
+ })
320
307
  },
321
- value(val) {
322
- if (val !== this.value_) {
323
- this.change()
308
+ watch: {
309
+ title(val) {
310
+ this.title_ = val
311
+ },
312
+ value(val) {
313
+ if (val !== this.value_) {
314
+ this.change()
315
+ }
316
+ },
317
+ defaultExpandAll(val) {
318
+ this.treeOptions.defaultExpandAll = val
319
+ },
320
+ keyword(val) {
321
+ if (this.filterable) this.$refs.tree.filter(val)
324
322
  }
325
- },
326
- defaultExpandAll(val) {
327
- this.treeOptions.defaultExpandAll = val
328
- },
329
- keyword(val) {
330
- if (this.filterable) this.$refs.tree.filter(val)
331
323
  }
332
324
  }
333
- }
334
325
  </script>
@@ -5,23 +5,23 @@
5
5
  </div>
6
6
  </template>
7
7
  <script>
8
- export default {
9
- name: 'Txt',
10
- props: {
11
- // 文本
12
- text: String,
13
- // 类型 primary\success\warning\danger
14
- type: {
15
- type: String,
16
- default: 'warning'
17
- },
18
- /** 显示图标 */
19
- icon: Boolean,
20
- /** 字体大小 */
21
- size: {
22
- type: [Number, String],
23
- default: 12
8
+ export default {
9
+ name: 'Txt',
10
+ props: {
11
+ // 文本
12
+ text: String,
13
+ // 类型 primary\success\warning\danger
14
+ type: {
15
+ type: String,
16
+ default: 'warning'
17
+ },
18
+ /** 显示图标 */
19
+ icon: Boolean,
20
+ /** 字体大小 */
21
+ size: {
22
+ type: [Number, String],
23
+ default: 12
24
+ }
24
25
  }
25
26
  }
26
- }
27
27
  </script>