eoss-ui 0.6.98 → 0.7.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 (243) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/eoss-ui.common.js +813 -783
  3. package/lib/flow-list.js +81 -81
  4. package/lib/flow.js +304 -292
  5. package/lib/index.js +1 -1
  6. package/lib/main.js +176 -158
  7. package/lib/qr-code.js +13 -13
  8. package/package.json +160 -160
  9. package/packages/button/index.js +5 -5
  10. package/packages/button/src/main.vue +418 -418
  11. package/packages/button-group/index.js +5 -5
  12. package/packages/button-group/src/main.vue +298 -298
  13. package/packages/calendar/index.js +5 -5
  14. package/packages/calogin/index.js +5 -5
  15. package/packages/calogin/src/main.vue +412 -412
  16. package/packages/calogin/src/plugin.js +915 -915
  17. package/packages/card/index.js +5 -5
  18. package/packages/card/src/main.vue +156 -156
  19. package/packages/cascader/index.js +5 -5
  20. package/packages/cascader/src/main.vue +168 -168
  21. package/packages/checkbox-group/index.js +5 -5
  22. package/packages/checkbox-group/src/main.vue +333 -333
  23. package/packages/clients/index.js +5 -5
  24. package/packages/clients/src/main.vue +151 -151
  25. package/packages/data-table/index.js +5 -5
  26. package/packages/data-table/src/children.vue +39 -39
  27. package/packages/data-table/src/column.vue +988 -988
  28. package/packages/data-table/src/main.vue +1831 -1831
  29. package/packages/data-table/src/sizer.vue +195 -195
  30. package/packages/data-table-form/index.js +5 -5
  31. package/packages/data-table-form/src/checkbox.vue +101 -101
  32. package/packages/data-table-form/src/colgroup.vue +17 -17
  33. package/packages/data-table-form/src/main.vue +181 -181
  34. package/packages/data-table-form/src/radio.vue +65 -65
  35. package/packages/data-table-form/src/table.vue +233 -233
  36. package/packages/data-table-form/src/tbody.vue +336 -336
  37. package/packages/data-table-form/src/thead.vue +68 -68
  38. package/packages/date-picker/index.js +5 -5
  39. package/packages/date-picker/src/main.vue +236 -236
  40. package/packages/dialog/index.js +5 -5
  41. package/packages/enable-drag/index.js +5 -5
  42. package/packages/enterprise/index.js +5 -5
  43. package/packages/enterprise/src/main.vue +66 -66
  44. package/packages/error-page/index.js +5 -5
  45. package/packages/error-page/src/main.vue +44 -44
  46. package/packages/flow/index.js +5 -5
  47. package/packages/flow/src/component/Circulate.vue +405 -403
  48. package/packages/flow/src/component/CommonOpinions.vue +364 -364
  49. package/packages/flow/src/component/CustomPreset.vue +322 -322
  50. package/packages/flow/src/component/FileList.vue +99 -99
  51. package/packages/flow/src/component/Preset.vue +255 -255
  52. package/packages/flow/src/component/SendMsg.vue +242 -242
  53. package/packages/flow/src/component/TimeLimit.vue +190 -190
  54. package/packages/flow/src/component/taskUnionExamine.vue +641 -641
  55. package/packages/flow/src/form.vue +121 -121
  56. package/packages/flow/src/freeStartFlow.vue +2844 -2844
  57. package/packages/flow/src/main.vue +3742 -3726
  58. package/packages/flow/src/processForm.vue +1287 -1287
  59. package/packages/flow/src/processReject.vue +308 -308
  60. package/packages/flow/src/reset.vue +941 -941
  61. package/packages/flow/src/startTaskRead.vue +690 -690
  62. package/packages/flow/src/supervise.vue +159 -159
  63. package/packages/flow/src/table.vue +58 -58
  64. package/packages/flow-group/index.js +5 -5
  65. package/packages/flow-group/src/main.vue +692 -692
  66. package/packages/flow-list/index.js +5 -5
  67. package/packages/flow-list/src/main.vue +1770 -1770
  68. package/packages/form/index.js +5 -5
  69. package/packages/form/src/main.vue +3846 -3846
  70. package/packages/form/src/table.vue +1508 -1508
  71. package/packages/handle-user/index.js +5 -5
  72. package/packages/handle-user/src/main.vue +137 -137
  73. package/packages/handler/index.js +5 -5
  74. package/packages/handler/src/main.vue +493 -493
  75. package/packages/icon/index.js +5 -5
  76. package/packages/icon/src/main.vue +101 -101
  77. package/packages/icons/index.js +5 -5
  78. package/packages/icons/src/main.vue +81 -81
  79. package/packages/input/index.js +5 -5
  80. package/packages/input/src/main.vue +356 -356
  81. package/packages/input-number/index.js +5 -5
  82. package/packages/input-number/src/main.vue +106 -106
  83. package/packages/label/index.js +5 -5
  84. package/packages/label/src/main.vue +457 -457
  85. package/packages/layout/index.js +5 -5
  86. package/packages/layout/src/item.vue +152 -152
  87. package/packages/layout/src/main.vue +31 -31
  88. package/packages/login/index.js +5 -5
  89. package/packages/login/src/main.vue +1993 -1993
  90. package/packages/login/src/resetPassword.vue +562 -562
  91. package/packages/main/index.js +5 -5
  92. package/packages/main/src/default/message.vue +249 -249
  93. package/packages/main/src/default/notice.vue +157 -157
  94. package/packages/main/src/default/userinfo.vue +502 -502
  95. package/packages/main/src/public/online.vue +89 -89
  96. package/packages/main/src/public/search.vue +464 -464
  97. package/packages/main/src/public/settings.vue +221 -221
  98. package/packages/main/src/simplicity/apps.vue +388 -388
  99. package/packages/main/src/simplicity/avatar.vue +82 -82
  100. package/packages/main/src/simplicity/handler.vue +259 -259
  101. package/packages/main/src/simplicity/index.vue +2125 -2125
  102. package/packages/main/src/simplicity/lists.vue +84 -84
  103. package/packages/main/src/simplicity/menu-list.vue +135 -135
  104. package/packages/main/src/simplicity/message.vue +259 -259
  105. package/packages/main/src/simplicity/notice.vue +190 -190
  106. package/packages/main/src/simplicity/router-page.vue +45 -45
  107. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  108. package/packages/main/src/simplicity/user.vue +259 -258
  109. package/packages/main/src/simplicity/userinfo.vue +397 -356
  110. package/packages/menu/index.js +5 -5
  111. package/packages/menu/src/main.vue +584 -584
  112. package/packages/nav/index.js +5 -5
  113. package/packages/nav/src/main.vue +351 -351
  114. package/packages/notify/index.js +5 -5
  115. package/packages/notify/src/main.vue +538 -538
  116. package/packages/page/index.js +5 -5
  117. package/packages/page/src/main.vue +167 -167
  118. package/packages/pagination/index.js +5 -5
  119. package/packages/pagination/src/main.vue +96 -96
  120. package/packages/player/index.js +5 -5
  121. package/packages/player/src/main.vue +194 -194
  122. package/packages/qr-code/index.js +5 -5
  123. package/packages/qr-code/src/main.vue +170 -170
  124. package/packages/radio-group/index.js +6 -6
  125. package/packages/radio-group/src/main.vue +319 -319
  126. package/packages/retrial-auth/index.js +5 -5
  127. package/packages/retrial-auth/src/main.vue +280 -280
  128. package/packages/select/index.js +5 -5
  129. package/packages/select/src/main.vue +781 -781
  130. package/packages/select-ganged/index.js +5 -5
  131. package/packages/select-ganged/src/main.vue +724 -724
  132. package/packages/selector/index.js +5 -5
  133. package/packages/selector/src/main.vue +761 -761
  134. package/packages/selector-panel/index.js +5 -5
  135. package/packages/selector-panel/src/main.vue +1027 -1027
  136. package/packages/selector-panel/src/selection.vue +170 -170
  137. package/packages/selector-panel/src/tree.vue +129 -129
  138. package/packages/sizer/index.js +5 -5
  139. package/packages/sizer/src/main.vue +254 -254
  140. package/packages/steps/index.js +5 -5
  141. package/packages/steps/src/main.vue +181 -181
  142. package/packages/switch/index.js +5 -5
  143. package/packages/switch/src/main.vue +154 -154
  144. package/packages/table-form/index.js +5 -5
  145. package/packages/tabs/index.js +5 -5
  146. package/packages/tabs/src/main.vue +788 -788
  147. package/packages/tabs-panel/index.js +5 -5
  148. package/packages/tabs-panel/src/main.vue +29 -29
  149. package/packages/theme-chalk/src/base.scss +261 -261
  150. package/packages/theme-chalk/src/button-group.scss +176 -176
  151. package/packages/theme-chalk/src/button.scss +24 -24
  152. package/packages/theme-chalk/src/calendar.scss +113 -113
  153. package/packages/theme-chalk/src/card.scss +99 -99
  154. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  155. package/packages/theme-chalk/src/clients.scss +87 -87
  156. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  157. package/packages/theme-chalk/src/data-table.scss +293 -293
  158. package/packages/theme-chalk/src/date-picker.scss +7 -7
  159. package/packages/theme-chalk/src/dialog.scss +77 -77
  160. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  161. package/packages/theme-chalk/src/enterprise.scss +5 -5
  162. package/packages/theme-chalk/src/error-page.scss +18 -18
  163. package/packages/theme-chalk/src/flow-group.scss +110 -110
  164. package/packages/theme-chalk/src/flow-list.scss +39 -39
  165. package/packages/theme-chalk/src/flow.scss +348 -348
  166. package/packages/theme-chalk/src/form.scss +499 -499
  167. package/packages/theme-chalk/src/handle-user.scss +40 -40
  168. package/packages/theme-chalk/src/handler.scss +143 -143
  169. package/packages/theme-chalk/src/icon.scss +1817 -1817
  170. package/packages/theme-chalk/src/icons.scss +99 -99
  171. package/packages/theme-chalk/src/input.scss +9 -9
  172. package/packages/theme-chalk/src/label.scss +24 -24
  173. package/packages/theme-chalk/src/layout.scss +46 -46
  174. package/packages/theme-chalk/src/login.scss +984 -984
  175. package/packages/theme-chalk/src/main.scss +663 -663
  176. package/packages/theme-chalk/src/menu.scss +222 -222
  177. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  178. package/packages/theme-chalk/src/nav.scss +111 -111
  179. package/packages/theme-chalk/src/page.scss +3 -3
  180. package/packages/theme-chalk/src/pagination.scss +29 -29
  181. package/packages/theme-chalk/src/player.scss +9 -9
  182. package/packages/theme-chalk/src/qr-code.scss +17 -17
  183. package/packages/theme-chalk/src/radio-group.scss +9 -9
  184. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  185. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  186. package/packages/theme-chalk/src/select.scss +8 -8
  187. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  188. package/packages/theme-chalk/src/selector.scss +92 -92
  189. package/packages/theme-chalk/src/simplicity.scss +1361 -1361
  190. package/packages/theme-chalk/src/sizer.scss +36 -36
  191. package/packages/theme-chalk/src/steps.scss +88 -88
  192. package/packages/theme-chalk/src/switch.scss +3 -3
  193. package/packages/theme-chalk/src/table-form.scss +1 -1
  194. package/packages/theme-chalk/src/tabs.scss +87 -87
  195. package/packages/theme-chalk/src/tips.scss +7 -7
  196. package/packages/theme-chalk/src/toolbar.scss +179 -179
  197. package/packages/theme-chalk/src/tree-group.scss +72 -72
  198. package/packages/theme-chalk/src/tree.scss +165 -165
  199. package/packages/theme-chalk/src/upload.scss +172 -172
  200. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  201. package/packages/tips/index.js +5 -5
  202. package/packages/tips/src/main.vue +141 -141
  203. package/packages/toolbar/index.js +5 -5
  204. package/packages/toolbar/src/main.vue +430 -430
  205. package/packages/tree/index.js +5 -5
  206. package/packages/tree-group/index.js +5 -5
  207. package/packages/upload/index.js +5 -5
  208. package/packages/upload/src/main.vue +1343 -1343
  209. package/packages/upload/src/picture.js +15 -15
  210. package/packages/wujie/index.js +5 -5
  211. package/packages/wujie/src/main.vue +145 -145
  212. package/packages/wxlogin/index.js +5 -5
  213. package/packages/wxlogin/src/main.vue +128 -128
  214. package/src/config/api.js +308 -308
  215. package/src/config/image.js +2 -2
  216. package/src/index.js +163 -163
  217. package/src/utils/bus.js +3 -3
  218. package/src/utils/date-util.js +312 -312
  219. package/src/utils/http.js +50 -50
  220. package/src/utils/rules.js +18 -18
  221. package/src/utils/store.js +21 -21
  222. package/src/utils/webSocket.js +107 -107
  223. package/packages/.DS_Store +0 -0
  224. package/packages/autocomplete/.DS_Store +0 -0
  225. package/packages/calogin/.DS_Store +0 -0
  226. package/packages/date-picker/.DS_Store +0 -0
  227. package/packages/date-picker/src/.DS_Store +0 -0
  228. package/packages/flow/.DS_Store +0 -0
  229. package/packages/flow/src/.DS_Store +0 -0
  230. package/packages/flow-list/.DS_Store +0 -0
  231. package/packages/form/.DS_Store +0 -0
  232. package/packages/login/.DS_Store +0 -0
  233. package/packages/main/.DS_Store +0 -0
  234. package/packages/main/src/.DS_Store +0 -0
  235. package/packages/menu/.DS_Store +0 -0
  236. package/packages/scrollbar/.DS_Store +0 -0
  237. package/packages/select/.DS_Store +0 -0
  238. package/packages/selector/.DS_Store +0 -0
  239. package/packages/selector-panel/.DS_Store +0 -0
  240. package/packages/theme-chalk/src/.DS_Store +0 -0
  241. package/packages/upload/.DS_Store +0 -0
  242. package/src/.DS_Store +0 -0
  243. package/src/utils/.DS_Store +0 -0
@@ -1,68 +1,68 @@
1
- <template>
2
- <thead class="es-data-form-head">
3
- <tr v-for="(items, indexs) in thead">
4
- <th v-if="numbers" :colspan="thead.length">序号</th>
5
- <th v-for="(item, index) in items" :key="index">
6
- <expand-dom
7
- v-if="item.render"
8
- class="cell"
9
- :key="index"
10
- :item="item"
11
- :render="item.render"
12
- ></expand-dom>
13
- <div
14
- v-else
15
- class="cell"
16
- :class="{ 'es-required': required(item.rules) }"
17
- >
18
- {{ item.title || item.label || item.text }}
19
- </div>
20
- </th>
21
- </tr>
22
- </thead>
23
- </template>
24
- <script>
25
- // import rules from 'eoss-ui/src/utils/rules.js';
26
- //import util from 'eoss-ui/src/utils/util';
27
- export default {
28
- name: 'EoThead',
29
- components: {
30
- expandDom: {
31
- functional: true,
32
- props: {
33
- item: Object,
34
- render: [Function, String]
35
- },
36
- render: (h, ctx) => {
37
- if (typeof ctx.props.render == 'string') {
38
- try {
39
- return util.toFunction(ctx.props.render)(h, params);
40
- } catch (error) {
41
- throw error;
42
- }
43
- }
44
- return ctx.props.render(h, ctx.props.item);
45
- }
46
- }
47
- },
48
- props: {
49
- numbers: Boolean,
50
- thead: Array
51
- },
52
- methods: {
53
- required(rules) {
54
- if (!rules) {
55
- return false;
56
- }
57
- if (Array.isArray(rules)) {
58
- for (let i = 0; i < rules.length; i++) {
59
- if (rules[i].required) {
60
- return true;
61
- }
62
- }
63
- }
64
- return rules.required;
65
- }
66
- }
67
- };
68
- </script>
1
+ <template>
2
+ <thead class="es-data-form-head">
3
+ <tr v-for="(items, indexs) in thead">
4
+ <th v-if="numbers" :colspan="thead.length">序号</th>
5
+ <th v-for="(item, index) in items" :key="index">
6
+ <expand-dom
7
+ v-if="item.render"
8
+ class="cell"
9
+ :key="index"
10
+ :item="item"
11
+ :render="item.render"
12
+ ></expand-dom>
13
+ <div
14
+ v-else
15
+ class="cell"
16
+ :class="{ 'es-required': required(item.rules) }"
17
+ >
18
+ {{ item.title || item.label || item.text }}
19
+ </div>
20
+ </th>
21
+ </tr>
22
+ </thead>
23
+ </template>
24
+ <script>
25
+ // import rules from 'eoss-ui/src/utils/rules.js';
26
+ //import util from 'eoss-ui/src/utils/util';
27
+ export default {
28
+ name: 'EoThead',
29
+ components: {
30
+ expandDom: {
31
+ functional: true,
32
+ props: {
33
+ item: Object,
34
+ render: [Function, String]
35
+ },
36
+ render: (h, ctx) => {
37
+ if (typeof ctx.props.render == 'string') {
38
+ try {
39
+ return util.toFunction(ctx.props.render)(h, params);
40
+ } catch (error) {
41
+ throw error;
42
+ }
43
+ }
44
+ return ctx.props.render(h, ctx.props.item);
45
+ }
46
+ }
47
+ },
48
+ props: {
49
+ numbers: Boolean,
50
+ thead: Array
51
+ },
52
+ methods: {
53
+ required(rules) {
54
+ if (!rules) {
55
+ return false;
56
+ }
57
+ if (Array.isArray(rules)) {
58
+ for (let i = 0; i < rules.length; i++) {
59
+ if (rules[i].required) {
60
+ return true;
61
+ }
62
+ }
63
+ }
64
+ return rules.required;
65
+ }
66
+ }
67
+ };
68
+ </script>
@@ -1,5 +1,5 @@
1
- import EsDatePicker from './src/main';
2
-
3
- EsDatePicker.install = Vue => Vue.component(EsDatePicker.name, EsDatePicker);
4
-
5
- export default EsDatePicker;
1
+ import EsDatePicker from './src/main';
2
+
3
+ EsDatePicker.install = Vue => Vue.component(EsDatePicker.name, EsDatePicker);
4
+
5
+ export default EsDatePicker;
@@ -1,236 +1,236 @@
1
- <script>
2
- import util from 'eoss-ui/src/utils/util';
3
- const formats = {
4
- date: 'yyyy-MM-dd',
5
- month: 'yyyy-MM',
6
- datetime: 'yyyy-MM-dd HH:mm:ss',
7
- time: 'HH:mm:ss',
8
- week: 'yyyy年第WW周',
9
- timerange: 'HH:mm:ss',
10
- daterange: 'yyyy-MM-dd',
11
- monthrange: 'yyyy-MM',
12
- datetimerange: 'yyyy-MM-dd HH:mm:ss',
13
- year: 'yyyy',
14
- halfyear: 'bb',
15
- quarter: 'qq'
16
- };
17
- export default {
18
- name: 'EsDatePicker',
19
- inheritAttrs: false,
20
- inject: {
21
- esForm: {
22
- default: ''
23
- }
24
- },
25
- props: {
26
- value: [String, Array, Number, Date],
27
- display: {
28
- type: Boolean,
29
- default: true
30
- },
31
- hide: {
32
- type: Boolean,
33
- default: false
34
- },
35
- range: {
36
- type: Boolean,
37
- default: false
38
- },
39
- // 提交数据时是否转成时间戳
40
- timestamp: {
41
- type: Boolean,
42
- default: false
43
- },
44
- unlinkPanels: {
45
- type: Boolean,
46
- default: true
47
- },
48
- type: {
49
- type: String,
50
- default: 'date'
51
- },
52
- rangeSeparator: {
53
- type: String,
54
- default: '-'
55
- },
56
- format: String,
57
- readonly: Boolean,
58
- plain: Boolean,
59
- default: Boolean,
60
- setFormKeys: Array
61
- },
62
- data() {
63
- return {
64
- date: ''
65
- };
66
- },
67
- computed: {
68
- models: {
69
- get() {
70
- return this.value ? this.value : this.dae;
71
- },
72
- set(val) {
73
- return val;
74
- }
75
- },
76
- formats() {
77
- return this.format ? this.format : formats[this.dateType];
78
- },
79
- dateType() {
80
- return (this.type === 'datetime' ||
81
- this.type === 'dater' ||
82
- this.type === 'month') &&
83
- this.range
84
- ? this.type + 'range'
85
- : this.type;
86
- },
87
- config() {
88
- return this.range ||
89
- this.type === 'datetimerange' ||
90
- this.type === 'daterange' ||
91
- this.type === 'monthrange'
92
- ? {
93
- startPlaceholder: '开始时间',
94
- endPlaceholder: '结束时间',
95
- unlinkPanels: this.unlinkPanels
96
- }
97
- : {};
98
- },
99
- class() {
100
- return this.range ||
101
- this.type === 'datetimerange' ||
102
- this.type === 'daterange' ||
103
- this.type === 'monthrange'
104
- ? 'es-date-picker-range'
105
- : '';
106
- }
107
- },
108
- watch: {
109
- models: {
110
- deep: true,
111
- handler(val) {
112
- if (
113
- this.setFormKeys &&
114
- this.esForm &&
115
- this.dateType.indexOf('range') > -1
116
- ) {
117
- let obj = this.esForm.models;
118
- this.setFormKeys.forEach((item, index) => {
119
- if (val && val.length) {
120
- obj[item] = val[index];
121
- } else {
122
- delete obj[item];
123
- }
124
- });
125
- this.esForm.models = obj;
126
- }
127
- }
128
- },
129
- 'esForm.models': {
130
- deep: true,
131
- handler(val) {
132
- if (
133
- this.setFormKeys &&
134
- this.dateType.indexOf('range') > -1 &&
135
- !util.isExist(this.value)
136
- ) {
137
- this.date = this.setFormKeys.map((item) => {
138
- return val[item] || '';
139
- });
140
- }
141
- }
142
- }
143
- },
144
- mounted() {},
145
- methods: {
146
- getData(val) {
147
- if (val) {
148
- if (
149
- typeof val === 'number' ||
150
- (typeof val === 'string' && this.format)
151
- ) {
152
- return this.dateFormat(val);
153
- }
154
- if (Array.isArray(val)) {
155
- val
156
- .map((item) => {
157
- if (item) {
158
- return typeof item === 'number' ||
159
- (typeof item === 'string' && this.format)
160
- ? this.dateFormat(item)
161
- : item;
162
- }
163
- return '';
164
- })
165
- .join(this.rangeSeparator);
166
- }
167
- return val;
168
- }
169
- return '';
170
- },
171
- dateFormat(date) {
172
- let newDate = '';
173
- switch (this.dateType) {
174
- case 'year':
175
- newDate = util.formatDate(date, this.formats);
176
- break;
177
- case 'halfyear':
178
- newDate = util.formatDate(date, this.formats);
179
- break;
180
- case 'month':
181
- newDate = util.formatDate(date, this.formats);
182
- break;
183
- case 'time':
184
- newDate = util.formatDate(date, this.formats);
185
- break;
186
- case 'datetime':
187
- newDate = util.formatDate(date, this.formats);
188
- break;
189
- case 'quarter':
190
- newDate = util.formatDate(date, this.formats);
191
- break;
192
- default:
193
- newDate = util.formatDate(date, this.formats);
194
- }
195
- return newDate;
196
- },
197
- showPicker() {
198
- this.$refs.elDate.showPicker();
199
- }
200
- },
201
- render(h) {
202
- if (!this.hide) {
203
- if (this.readonly) {
204
- return h(
205
- 'div',
206
- { class: ['es-input__inner', { 'es-plain': this.plain }] },
207
- [this.getData(this.models)]
208
- );
209
- }
210
- return h('el-date-picker', {
211
- class: ['es-date-picker', this.class],
212
- attrs: {
213
- ...this.$attrs,
214
- ...this.config,
215
- type: this.dateType,
216
- valueFormat: this.timestamp ? 'timestamp' : this.formats,
217
- rangeSeparator: this.rangeSeparator,
218
- format: this.formats,
219
- editable: false,
220
- value: this.models
221
- },
222
- ref: 'elDate',
223
- on: this.$listeners,
224
- directives: [
225
- {
226
- name: 'show',
227
- value: this.display
228
- }
229
- ]
230
- });
231
- } else {
232
- return '';
233
- }
234
- }
235
- };
236
- </script>
1
+ <script>
2
+ import util from 'eoss-ui/src/utils/util';
3
+ const formats = {
4
+ date: 'yyyy-MM-dd',
5
+ month: 'yyyy-MM',
6
+ datetime: 'yyyy-MM-dd HH:mm:ss',
7
+ time: 'HH:mm:ss',
8
+ week: 'yyyy年第WW周',
9
+ timerange: 'HH:mm:ss',
10
+ daterange: 'yyyy-MM-dd',
11
+ monthrange: 'yyyy-MM',
12
+ datetimerange: 'yyyy-MM-dd HH:mm:ss',
13
+ year: 'yyyy',
14
+ halfyear: 'bb',
15
+ quarter: 'qq'
16
+ };
17
+ export default {
18
+ name: 'EsDatePicker',
19
+ inheritAttrs: false,
20
+ inject: {
21
+ esForm: {
22
+ default: ''
23
+ }
24
+ },
25
+ props: {
26
+ value: [String, Array, Number, Date],
27
+ display: {
28
+ type: Boolean,
29
+ default: true
30
+ },
31
+ hide: {
32
+ type: Boolean,
33
+ default: false
34
+ },
35
+ range: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ // 提交数据时是否转成时间戳
40
+ timestamp: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ unlinkPanels: {
45
+ type: Boolean,
46
+ default: true
47
+ },
48
+ type: {
49
+ type: String,
50
+ default: 'date'
51
+ },
52
+ rangeSeparator: {
53
+ type: String,
54
+ default: '-'
55
+ },
56
+ format: String,
57
+ readonly: Boolean,
58
+ plain: Boolean,
59
+ default: Boolean,
60
+ setFormKeys: Array
61
+ },
62
+ data() {
63
+ return {
64
+ date: ''
65
+ };
66
+ },
67
+ computed: {
68
+ models: {
69
+ get() {
70
+ return this.value ? this.value : this.dae;
71
+ },
72
+ set(val) {
73
+ return val;
74
+ }
75
+ },
76
+ formats() {
77
+ return this.format ? this.format : formats[this.dateType];
78
+ },
79
+ dateType() {
80
+ return (this.type === 'datetime' ||
81
+ this.type === 'dater' ||
82
+ this.type === 'month') &&
83
+ this.range
84
+ ? this.type + 'range'
85
+ : this.type;
86
+ },
87
+ config() {
88
+ return this.range ||
89
+ this.type === 'datetimerange' ||
90
+ this.type === 'daterange' ||
91
+ this.type === 'monthrange'
92
+ ? {
93
+ startPlaceholder: '开始时间',
94
+ endPlaceholder: '结束时间',
95
+ unlinkPanels: this.unlinkPanels
96
+ }
97
+ : {};
98
+ },
99
+ class() {
100
+ return this.range ||
101
+ this.type === 'datetimerange' ||
102
+ this.type === 'daterange' ||
103
+ this.type === 'monthrange'
104
+ ? 'es-date-picker-range'
105
+ : '';
106
+ }
107
+ },
108
+ watch: {
109
+ models: {
110
+ deep: true,
111
+ handler(val) {
112
+ if (
113
+ this.setFormKeys &&
114
+ this.esForm &&
115
+ this.dateType.indexOf('range') > -1
116
+ ) {
117
+ let obj = this.esForm.models;
118
+ this.setFormKeys.forEach((item, index) => {
119
+ if (val && val.length) {
120
+ obj[item] = val[index];
121
+ } else {
122
+ delete obj[item];
123
+ }
124
+ });
125
+ this.esForm.models = obj;
126
+ }
127
+ }
128
+ },
129
+ 'esForm.models': {
130
+ deep: true,
131
+ handler(val) {
132
+ if (
133
+ this.setFormKeys &&
134
+ this.dateType.indexOf('range') > -1 &&
135
+ !util.isExist(this.value)
136
+ ) {
137
+ this.date = this.setFormKeys.map((item) => {
138
+ return val[item] || '';
139
+ });
140
+ }
141
+ }
142
+ }
143
+ },
144
+ mounted() {},
145
+ methods: {
146
+ getData(val) {
147
+ if (val) {
148
+ if (
149
+ typeof val === 'number' ||
150
+ (typeof val === 'string' && this.format)
151
+ ) {
152
+ return this.dateFormat(val);
153
+ }
154
+ if (Array.isArray(val)) {
155
+ val
156
+ .map((item) => {
157
+ if (item) {
158
+ return typeof item === 'number' ||
159
+ (typeof item === 'string' && this.format)
160
+ ? this.dateFormat(item)
161
+ : item;
162
+ }
163
+ return '';
164
+ })
165
+ .join(this.rangeSeparator);
166
+ }
167
+ return val;
168
+ }
169
+ return '';
170
+ },
171
+ dateFormat(date) {
172
+ let newDate = '';
173
+ switch (this.dateType) {
174
+ case 'year':
175
+ newDate = util.formatDate(date, this.formats);
176
+ break;
177
+ case 'halfyear':
178
+ newDate = util.formatDate(date, this.formats);
179
+ break;
180
+ case 'month':
181
+ newDate = util.formatDate(date, this.formats);
182
+ break;
183
+ case 'time':
184
+ newDate = util.formatDate(date, this.formats);
185
+ break;
186
+ case 'datetime':
187
+ newDate = util.formatDate(date, this.formats);
188
+ break;
189
+ case 'quarter':
190
+ newDate = util.formatDate(date, this.formats);
191
+ break;
192
+ default:
193
+ newDate = util.formatDate(date, this.formats);
194
+ }
195
+ return newDate;
196
+ },
197
+ showPicker() {
198
+ this.$refs.elDate.showPicker();
199
+ }
200
+ },
201
+ render(h) {
202
+ if (!this.hide) {
203
+ if (this.readonly) {
204
+ return h(
205
+ 'div',
206
+ { class: ['es-input__inner', { 'es-plain': this.plain }] },
207
+ [this.getData(this.models)]
208
+ );
209
+ }
210
+ return h('el-date-picker', {
211
+ class: ['es-date-picker', this.class],
212
+ attrs: {
213
+ ...this.$attrs,
214
+ ...this.config,
215
+ type: this.dateType,
216
+ valueFormat: this.timestamp ? 'timestamp' : this.formats,
217
+ rangeSeparator: this.rangeSeparator,
218
+ format: this.formats,
219
+ editable: false,
220
+ value: this.models
221
+ },
222
+ ref: 'elDate',
223
+ on: this.$listeners,
224
+ directives: [
225
+ {
226
+ name: 'show',
227
+ value: this.display
228
+ }
229
+ ]
230
+ });
231
+ } else {
232
+ return '';
233
+ }
234
+ }
235
+ };
236
+ </script>
@@ -1,5 +1,5 @@
1
- import EsDialog from './src/main';
2
-
3
- EsDialog.install = Vue => Vue.component(EsDialog.name, EsDialog);
4
-
5
- export default EsDialog;
1
+ import EsDialog from './src/main';
2
+
3
+ EsDialog.install = Vue => Vue.component(EsDialog.name, EsDialog);
4
+
5
+ export default EsDialog;
@@ -1,5 +1,5 @@
1
- import EsEnableDrag from './src/main';
2
-
3
- EsEnableDrag.install = Vue => Vue.component(EsEnableDrag.name, EsEnableDrag);
4
-
5
- export default EsEnableDrag;
1
+ import EsEnableDrag from './src/main';
2
+
3
+ EsEnableDrag.install = Vue => Vue.component(EsEnableDrag.name, EsEnableDrag);
4
+
5
+ export default EsEnableDrag;
@@ -1,5 +1,5 @@
1
- import Enterprise from './src/main';
2
-
3
- Enterprise.install = Vue => Vue.component(Enterprise.name, Enterprise);
4
-
5
- export default Enterprise;
1
+ import Enterprise from './src/main';
2
+
3
+ Enterprise.install = Vue => Vue.component(Enterprise.name, Enterprise);
4
+
5
+ export default Enterprise;