eoss-ui 0.7.94 → 0.7.96

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 (242) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/cascader.js +1 -1
  3. package/lib/data-table-form.js +8 -8
  4. package/lib/data-table.js +8 -7
  5. package/lib/eoss-ui.common.js +1040 -1051
  6. package/lib/flow-list.js +96 -96
  7. package/lib/flow.js +283 -282
  8. package/lib/index.js +1 -1
  9. package/lib/main.js +288 -288
  10. package/lib/qr-code.js +13 -13
  11. package/lib/radio-group.js +98 -111
  12. package/lib/select.js +1 -1
  13. package/package.json +2 -2
  14. package/packages/button/index.js +5 -5
  15. package/packages/button/src/main.vue +418 -418
  16. package/packages/button-group/index.js +5 -5
  17. package/packages/button-group/src/main.vue +346 -346
  18. package/packages/calendar/index.js +5 -5
  19. package/packages/calogin/index.js +5 -5
  20. package/packages/calogin/src/main.vue +412 -412
  21. package/packages/calogin/src/plugin.js +915 -915
  22. package/packages/card/index.js +5 -5
  23. package/packages/card/src/main.vue +156 -156
  24. package/packages/cascader/index.js +5 -5
  25. package/packages/cascader/src/main.vue +168 -168
  26. package/packages/checkbox-group/index.js +5 -5
  27. package/packages/checkbox-group/src/main.vue +333 -333
  28. package/packages/clients/index.js +5 -5
  29. package/packages/clients/src/main.vue +151 -151
  30. package/packages/data-table/index.js +5 -5
  31. package/packages/data-table/src/children.vue +39 -39
  32. package/packages/data-table/src/column.vue +1 -0
  33. package/packages/data-table/src/main.vue +1845 -1845
  34. package/packages/data-table/src/sizer.vue +195 -195
  35. package/packages/data-table-form/index.js +5 -5
  36. package/packages/data-table-form/src/checkbox.vue +101 -101
  37. package/packages/data-table-form/src/colgroup.vue +17 -17
  38. package/packages/data-table-form/src/main.vue +181 -181
  39. package/packages/data-table-form/src/radio.vue +65 -65
  40. package/packages/data-table-form/src/table.vue +233 -233
  41. package/packages/data-table-form/src/tbody.vue +336 -336
  42. package/packages/data-table-form/src/thead.vue +68 -68
  43. package/packages/date-picker/index.js +5 -5
  44. package/packages/date-picker/src/main.vue +236 -236
  45. package/packages/dialog/index.js +5 -5
  46. package/packages/enable-drag/index.js +5 -5
  47. package/packages/enterprise/index.js +5 -5
  48. package/packages/enterprise/src/main.vue +66 -66
  49. package/packages/error-page/index.js +5 -5
  50. package/packages/error-page/src/main.vue +44 -44
  51. package/packages/flow/index.js +5 -5
  52. package/packages/flow/src/component/Circulate.vue +417 -417
  53. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  54. package/packages/flow/src/component/CustomPreset.vue +324 -324
  55. package/packages/flow/src/component/FileList.vue +97 -97
  56. package/packages/flow/src/component/FreeCirculation.vue +244 -244
  57. package/packages/flow/src/component/Preset.vue +257 -257
  58. package/packages/flow/src/component/SendMsg.vue +242 -242
  59. package/packages/flow/src/component/SortFlow.vue +110 -110
  60. package/packages/flow/src/component/TimeLimit.vue +190 -190
  61. package/packages/flow/src/component/taskUnionExamine.vue +761 -761
  62. package/packages/flow/src/form.vue +123 -123
  63. package/packages/flow/src/freeStartFlow.vue +2855 -2855
  64. package/packages/flow/src/main.vue +4145 -4144
  65. package/packages/flow/src/processForm.vue +1680 -1680
  66. package/packages/flow/src/processReject.vue +309 -309
  67. package/packages/flow/src/reset.vue +946 -946
  68. package/packages/flow/src/startTaskRead.vue +695 -695
  69. package/packages/flow/src/supervise.vue +159 -159
  70. package/packages/flow/src/table.vue +58 -58
  71. package/packages/flow-group/index.js +5 -5
  72. package/packages/flow-group/src/main.vue +750 -750
  73. package/packages/flow-list/index.js +5 -5
  74. package/packages/flow-list/src/main.vue +2337 -2337
  75. package/packages/form/index.js +5 -5
  76. package/packages/form/src/main.vue +3901 -3901
  77. package/packages/form/src/table.vue +1512 -1512
  78. package/packages/handle-user/index.js +5 -5
  79. package/packages/handle-user/src/main.vue +137 -137
  80. package/packages/handler/index.js +5 -5
  81. package/packages/handler/src/main.vue +499 -499
  82. package/packages/icon/index.js +5 -5
  83. package/packages/icon/src/main.vue +104 -104
  84. package/packages/icons/index.js +5 -5
  85. package/packages/icons/src/main.vue +81 -81
  86. package/packages/input/index.js +5 -5
  87. package/packages/input/src/main.vue +356 -356
  88. package/packages/input-number/index.js +5 -5
  89. package/packages/input-number/src/main.vue +106 -106
  90. package/packages/label/index.js +5 -5
  91. package/packages/label/src/main.vue +457 -457
  92. package/packages/layout/index.js +5 -5
  93. package/packages/layout/src/item.vue +152 -152
  94. package/packages/layout/src/main.vue +31 -31
  95. package/packages/login/index.js +5 -5
  96. package/packages/login/src/main.vue +2088 -2088
  97. package/packages/login/src/resetPassword.vue +557 -557
  98. package/packages/main/index.js +5 -5
  99. package/packages/main/src/default/message.vue +249 -249
  100. package/packages/main/src/default/notice.vue +157 -157
  101. package/packages/main/src/default/userinfo.vue +513 -513
  102. package/packages/main/src/public/online.vue +89 -89
  103. package/packages/main/src/public/search.vue +464 -464
  104. package/packages/main/src/public/settings.vue +273 -273
  105. package/packages/main/src/simplicity/apps.vue +388 -388
  106. package/packages/main/src/simplicity/avatar.vue +82 -82
  107. package/packages/main/src/simplicity/handler.vue +158 -158
  108. package/packages/main/src/simplicity/index.vue +2335 -2335
  109. package/packages/main/src/simplicity/lists.vue +84 -84
  110. package/packages/main/src/simplicity/menu-list.vue +135 -135
  111. package/packages/main/src/simplicity/message.vue +293 -293
  112. package/packages/main/src/simplicity/notice.vue +222 -222
  113. package/packages/main/src/simplicity/router-page.vue +45 -45
  114. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  115. package/packages/main/src/simplicity/user.vue +259 -259
  116. package/packages/main/src/simplicity/userinfo.vue +408 -408
  117. package/packages/main/src/simplicityTop/apps.vue +388 -388
  118. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  119. package/packages/main/src/simplicityTop/handler.vue +215 -215
  120. package/packages/main/src/simplicityTop/index.vue +2620 -2620
  121. package/packages/main/src/simplicityTop/lists.vue +84 -84
  122. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  123. package/packages/main/src/simplicityTop/message.vue +293 -293
  124. package/packages/main/src/simplicityTop/notice.vue +222 -222
  125. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  126. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  127. package/packages/main/src/simplicityTop/user.vue +259 -259
  128. package/packages/main/src/simplicityTop/userinfo.vue +408 -408
  129. package/packages/menu/index.js +5 -5
  130. package/packages/menu/src/main.vue +595 -595
  131. package/packages/nav/index.js +5 -5
  132. package/packages/nav/src/main.vue +351 -351
  133. package/packages/notify/index.js +5 -5
  134. package/packages/notify/src/main.vue +538 -538
  135. package/packages/page/index.js +5 -5
  136. package/packages/page/src/main.vue +167 -167
  137. package/packages/pagination/index.js +5 -5
  138. package/packages/pagination/src/main.vue +96 -96
  139. package/packages/player/index.js +5 -5
  140. package/packages/player/src/main.vue +194 -194
  141. package/packages/qr-code/index.js +5 -5
  142. package/packages/qr-code/src/main.vue +170 -170
  143. package/packages/radio-group/index.js +6 -6
  144. package/packages/radio-group/src/main.vue +319 -319
  145. package/packages/retrial-auth/index.js +5 -5
  146. package/packages/retrial-auth/src/main.vue +299 -299
  147. package/packages/select/index.js +5 -5
  148. package/packages/select/src/main.vue +1 -1
  149. package/packages/select-ganged/index.js +5 -5
  150. package/packages/select-ganged/src/main.vue +724 -724
  151. package/packages/selector/index.js +5 -5
  152. package/packages/selector/src/main.vue +761 -761
  153. package/packages/selector-panel/index.js +5 -5
  154. package/packages/selector-panel/src/main.vue +1036 -1036
  155. package/packages/selector-panel/src/selection.vue +174 -174
  156. package/packages/selector-panel/src/tree.vue +129 -129
  157. package/packages/sizer/index.js +5 -5
  158. package/packages/sizer/src/main.vue +254 -254
  159. package/packages/steps/index.js +5 -5
  160. package/packages/steps/src/main.vue +181 -181
  161. package/packages/switch/index.js +5 -5
  162. package/packages/switch/src/main.vue +170 -170
  163. package/packages/table-form/index.js +5 -5
  164. package/packages/tabs/index.js +5 -5
  165. package/packages/tabs/src/main.vue +788 -788
  166. package/packages/tabs-panel/index.js +5 -5
  167. package/packages/tabs-panel/src/main.vue +29 -29
  168. package/packages/theme-chalk/src/base.scss +261 -261
  169. package/packages/theme-chalk/src/button-group.scss +176 -176
  170. package/packages/theme-chalk/src/button.scss +24 -24
  171. package/packages/theme-chalk/src/calendar.scss +113 -113
  172. package/packages/theme-chalk/src/card.scss +99 -99
  173. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  174. package/packages/theme-chalk/src/clients.scss +87 -87
  175. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  176. package/packages/theme-chalk/src/data-table.scss +297 -297
  177. package/packages/theme-chalk/src/date-picker.scss +7 -7
  178. package/packages/theme-chalk/src/dialog.scss +77 -77
  179. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  180. package/packages/theme-chalk/src/enterprise.scss +5 -5
  181. package/packages/theme-chalk/src/error-page.scss +18 -18
  182. package/packages/theme-chalk/src/flow-group.scss +110 -110
  183. package/packages/theme-chalk/src/flow-list.scss +55 -55
  184. package/packages/theme-chalk/src/flow.scss +373 -373
  185. package/packages/theme-chalk/src/form.scss +501 -501
  186. package/packages/theme-chalk/src/handle-user.scss +40 -40
  187. package/packages/theme-chalk/src/handler.scss +148 -148
  188. package/packages/theme-chalk/src/icon.scss +3452 -3452
  189. package/packages/theme-chalk/src/icons.scss +99 -99
  190. package/packages/theme-chalk/src/input.scss +9 -9
  191. package/packages/theme-chalk/src/label.scss +24 -24
  192. package/packages/theme-chalk/src/layout.scss +46 -46
  193. package/packages/theme-chalk/src/login.scss +1006 -1006
  194. package/packages/theme-chalk/src/main.scss +664 -664
  195. package/packages/theme-chalk/src/menu.scss +224 -224
  196. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  197. package/packages/theme-chalk/src/nav.scss +111 -111
  198. package/packages/theme-chalk/src/page.scss +3 -3
  199. package/packages/theme-chalk/src/pagination.scss +29 -29
  200. package/packages/theme-chalk/src/player.scss +9 -9
  201. package/packages/theme-chalk/src/qr-code.scss +17 -17
  202. package/packages/theme-chalk/src/radio-group.scss +9 -9
  203. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  204. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  205. package/packages/theme-chalk/src/select.scss +8 -8
  206. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  207. package/packages/theme-chalk/src/selector.scss +114 -114
  208. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  209. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  210. package/packages/theme-chalk/src/sizer.scss +36 -36
  211. package/packages/theme-chalk/src/steps.scss +88 -88
  212. package/packages/theme-chalk/src/switch.scss +3 -3
  213. package/packages/theme-chalk/src/table-form.scss +1 -1
  214. package/packages/theme-chalk/src/tabs.scss +87 -87
  215. package/packages/theme-chalk/src/tips.scss +7 -7
  216. package/packages/theme-chalk/src/toolbar.scss +179 -179
  217. package/packages/theme-chalk/src/tree-group.scss +72 -72
  218. package/packages/theme-chalk/src/tree.scss +165 -165
  219. package/packages/theme-chalk/src/upload.scss +172 -172
  220. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  221. package/packages/tips/index.js +5 -5
  222. package/packages/tips/src/main.vue +141 -141
  223. package/packages/toolbar/index.js +5 -5
  224. package/packages/toolbar/src/main.vue +430 -430
  225. package/packages/tree/index.js +5 -5
  226. package/packages/tree-group/index.js +5 -5
  227. package/packages/upload/index.js +5 -5
  228. package/packages/upload/src/main.vue +1344 -1344
  229. package/packages/upload/src/picture.js +15 -15
  230. package/packages/wujie/index.js +5 -5
  231. package/packages/wujie/src/main.vue +146 -146
  232. package/packages/wxlogin/index.js +5 -5
  233. package/packages/wxlogin/src/main.vue +128 -128
  234. package/src/config/api.js +348 -348
  235. package/src/config/image.js +2 -2
  236. package/src/index.js +163 -163
  237. package/src/utils/bus.js +3 -3
  238. package/src/utils/date-util.js +312 -312
  239. package/src/utils/http.js +50 -50
  240. package/src/utils/rules.js +18 -18
  241. package/src/utils/store.js +21 -21
  242. package/src/utils/webSocket.js +107 -107
@@ -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;