eoss-ui 0.7.64 → 0.7.66

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 (255) hide show
  1. package/lib/button-group.js +119 -97
  2. package/lib/button.js +113 -97
  3. package/lib/calendar.js +2 -2
  4. package/lib/calogin.js +352 -330
  5. package/lib/card.js +2 -2
  6. package/lib/cascader.js +2 -2
  7. package/lib/checkbox-group.js +119 -97
  8. package/lib/clients.js +43 -41
  9. package/lib/config/api.js +12 -1
  10. package/lib/data-table-form.js +119 -97
  11. package/lib/data-table.js +119 -97
  12. package/lib/date-picker.js +120 -104
  13. package/lib/dialog.js +119 -97
  14. package/lib/enable-drag.js +2 -2
  15. package/lib/enterprise.js +2 -2
  16. package/lib/eoss-ui.common.js +8677 -720
  17. package/lib/error-page.js +2 -2
  18. package/lib/flow-group.js +120 -104
  19. package/lib/flow-list.js +287 -289
  20. package/lib/flow.js +175 -153
  21. package/lib/form.js +119 -97
  22. package/lib/handle-user.js +121 -105
  23. package/lib/handler.js +114 -98
  24. package/lib/icon.js +114 -98
  25. package/lib/icons.js +5 -5
  26. package/lib/index.js +1 -1
  27. package/lib/input-number.js +120 -104
  28. package/lib/input.js +120 -104
  29. package/lib/label.js +2 -2
  30. package/lib/layout.js +2 -2
  31. package/lib/login.js +129 -107
  32. package/lib/main.js +8505 -545
  33. package/lib/menu.js +2 -2
  34. package/lib/nav.js +113 -97
  35. package/lib/notify.js +116 -100
  36. package/lib/page.js +120 -104
  37. package/lib/pagination.js +120 -104
  38. package/lib/player.js +130 -114
  39. package/lib/qr-code.js +141 -125
  40. package/lib/radio-group.js +120 -104
  41. package/lib/retrial-auth.js +116 -100
  42. package/lib/select-ganged.js +113 -97
  43. package/lib/select.js +120 -104
  44. package/lib/selector-panel.js +140 -118
  45. package/lib/selector.js +117 -101
  46. package/lib/sizer.js +115 -99
  47. package/lib/steps.js +113 -97
  48. package/lib/switch.js +113 -97
  49. package/lib/table-form.js +120 -104
  50. package/lib/tabs-panel.js +2 -2
  51. package/lib/tabs.js +120 -104
  52. package/lib/theme-chalk/base.css +1 -1
  53. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  54. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  55. package/lib/theme-chalk/icon.css +1 -1
  56. package/lib/theme-chalk/index.css +1 -1
  57. package/lib/theme-chalk/login.css +1 -1
  58. package/lib/theme-chalk/main.css +1 -1
  59. package/lib/theme-chalk/menu.css +1 -1
  60. package/lib/theme-chalk/simplicity-top.css +1 -0
  61. package/lib/theme-chalk/simplicity.css +1 -1
  62. package/lib/theme-chalk/sizer.css +1 -1
  63. package/lib/theme-chalk/upload.css +1 -1
  64. package/lib/tips.js +121 -105
  65. package/lib/toolbar.js +2 -2
  66. package/lib/tree-group.js +120 -104
  67. package/lib/tree.js +121 -105
  68. package/lib/upload.js +129 -107
  69. package/lib/wujie.js +113 -97
  70. package/lib/wxlogin.js +113 -97
  71. package/package.json +1 -1
  72. package/packages/button/index.js +5 -5
  73. package/packages/button/src/main.vue +418 -418
  74. package/packages/button-group/index.js +5 -5
  75. package/packages/calendar/index.js +5 -5
  76. package/packages/calogin/index.js +5 -5
  77. package/packages/calogin/src/plugin.js +915 -915
  78. package/packages/card/index.js +5 -5
  79. package/packages/card/src/main.vue +156 -156
  80. package/packages/cascader/index.js +5 -5
  81. package/packages/cascader/src/main.vue +168 -168
  82. package/packages/checkbox-group/index.js +5 -5
  83. package/packages/checkbox-group/src/main.vue +333 -333
  84. package/packages/clients/index.js +5 -5
  85. package/packages/clients/src/main.vue +1 -1
  86. package/packages/data-table/index.js +5 -5
  87. package/packages/data-table/src/children.vue +39 -39
  88. package/packages/data-table/src/sizer.vue +195 -195
  89. package/packages/data-table-form/index.js +5 -5
  90. package/packages/data-table-form/src/checkbox.vue +101 -101
  91. package/packages/data-table-form/src/colgroup.vue +17 -17
  92. package/packages/data-table-form/src/main.vue +181 -181
  93. package/packages/data-table-form/src/radio.vue +65 -65
  94. package/packages/data-table-form/src/table.vue +233 -233
  95. package/packages/data-table-form/src/tbody.vue +336 -336
  96. package/packages/data-table-form/src/thead.vue +68 -68
  97. package/packages/date-picker/index.js +5 -5
  98. package/packages/date-picker/src/main.vue +236 -236
  99. package/packages/dialog/index.js +5 -5
  100. package/packages/enable-drag/index.js +5 -5
  101. package/packages/enterprise/index.js +5 -5
  102. package/packages/enterprise/src/main.vue +66 -66
  103. package/packages/error-page/index.js +5 -5
  104. package/packages/error-page/src/main.vue +44 -44
  105. package/packages/flow/index.js +5 -5
  106. package/packages/flow/src/component/TimeLimit.vue +190 -190
  107. package/packages/flow/src/table.vue +58 -58
  108. package/packages/flow-group/index.js +5 -5
  109. package/packages/flow-list/index.js +5 -5
  110. package/packages/form/index.js +5 -5
  111. package/packages/handle-user/index.js +5 -5
  112. package/packages/handler/index.js +5 -5
  113. package/packages/icon/index.js +5 -5
  114. package/packages/icons/index.js +5 -5
  115. package/packages/icons/src/icon.json +1 -1
  116. package/packages/icons/src/main.vue +81 -81
  117. package/packages/input/index.js +5 -5
  118. package/packages/input/src/main.vue +356 -356
  119. package/packages/input-number/index.js +5 -5
  120. package/packages/input-number/src/main.vue +106 -106
  121. package/packages/label/index.js +5 -5
  122. package/packages/label/src/main.vue +457 -457
  123. package/packages/layout/index.js +5 -5
  124. package/packages/layout/src/item.vue +152 -152
  125. package/packages/layout/src/main.vue +31 -31
  126. package/packages/login/index.js +5 -5
  127. package/packages/login/src/main.vue +2 -2
  128. package/packages/main/index.js +5 -5
  129. package/packages/main/src/default/message.vue +249 -249
  130. package/packages/main/src/default/notice.vue +157 -157
  131. package/packages/main/src/main.vue +18 -0
  132. package/packages/main/src/public/settings.vue +121 -75
  133. package/packages/main/src/simplicity/index.vue +5 -5
  134. package/packages/main/src/simplicity/lists.vue +84 -84
  135. package/packages/main/src/simplicity/router-page.vue +45 -45
  136. package/packages/main/src/simplicityTop/apps.vue +388 -0
  137. package/packages/main/src/simplicityTop/avatar.vue +82 -0
  138. package/packages/main/src/simplicityTop/handler.vue +207 -0
  139. package/packages/main/src/simplicityTop/index.vue +2909 -0
  140. package/packages/main/src/simplicityTop/lists.vue +84 -0
  141. package/packages/main/src/simplicityTop/menu-list.vue +135 -0
  142. package/packages/main/src/simplicityTop/message.vue +293 -0
  143. package/packages/main/src/simplicityTop/notice.vue +222 -0
  144. package/packages/main/src/simplicityTop/router-page.vue +45 -0
  145. package/packages/main/src/simplicityTop/sub-menu.vue +274 -0
  146. package/packages/main/src/simplicityTop/user.vue +259 -0
  147. package/packages/main/src/simplicityTop/userinfo.vue +401 -0
  148. package/packages/menu/index.js +5 -5
  149. package/packages/nav/index.js +5 -5
  150. package/packages/notify/index.js +5 -5
  151. package/packages/notify/src/main.vue +538 -538
  152. package/packages/page/index.js +5 -5
  153. package/packages/page/src/main.vue +167 -167
  154. package/packages/pagination/index.js +5 -5
  155. package/packages/pagination/src/main.vue +96 -96
  156. package/packages/player/index.js +5 -5
  157. package/packages/player/src/main.vue +194 -194
  158. package/packages/qr-code/index.js +5 -5
  159. package/packages/qr-code/src/main.vue +170 -170
  160. package/packages/radio-group/index.js +6 -6
  161. package/packages/radio-group/src/main.vue +319 -319
  162. package/packages/retrial-auth/index.js +5 -5
  163. package/packages/retrial-auth/src/main.vue +280 -280
  164. package/packages/select/index.js +5 -5
  165. package/packages/select-ganged/index.js +5 -5
  166. package/packages/select-ganged/src/main.vue +724 -724
  167. package/packages/selector/index.js +5 -5
  168. package/packages/selector-panel/index.js +5 -5
  169. package/packages/selector-panel/src/tree.vue +129 -129
  170. package/packages/sizer/index.js +5 -5
  171. package/packages/sizer/src/main.vue +254 -254
  172. package/packages/steps/index.js +5 -5
  173. package/packages/steps/src/main.vue +181 -181
  174. package/packages/switch/index.js +5 -5
  175. package/packages/table-form/index.js +5 -5
  176. package/packages/tabs/index.js +5 -5
  177. package/packages/tabs/src/main.vue +788 -788
  178. package/packages/tabs-panel/index.js +5 -5
  179. package/packages/tabs-panel/src/main.vue +29 -29
  180. package/packages/theme-chalk/lib/base.css +1 -1
  181. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  182. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  183. package/packages/theme-chalk/lib/icon.css +1 -1
  184. package/packages/theme-chalk/lib/index.css +1 -1
  185. package/packages/theme-chalk/lib/login.css +1 -1
  186. package/packages/theme-chalk/lib/main.css +1 -1
  187. package/packages/theme-chalk/lib/menu.css +1 -1
  188. package/packages/theme-chalk/lib/simplicity-top.css +1 -0
  189. package/packages/theme-chalk/lib/simplicity.css +1 -1
  190. package/packages/theme-chalk/lib/sizer.css +1 -1
  191. package/packages/theme-chalk/lib/upload.css +1 -1
  192. package/packages/theme-chalk/src/base.scss +261 -261
  193. package/packages/theme-chalk/src/button-group.scss +176 -176
  194. package/packages/theme-chalk/src/button.scss +24 -24
  195. package/packages/theme-chalk/src/calendar.scss +113 -113
  196. package/packages/theme-chalk/src/card.scss +99 -99
  197. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  198. package/packages/theme-chalk/src/clients.scss +87 -87
  199. package/packages/theme-chalk/src/common/var.scss +3 -0
  200. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  201. package/packages/theme-chalk/src/date-picker.scss +7 -7
  202. package/packages/theme-chalk/src/dialog.scss +77 -77
  203. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  204. package/packages/theme-chalk/src/enterprise.scss +5 -5
  205. package/packages/theme-chalk/src/error-page.scss +18 -18
  206. package/packages/theme-chalk/src/flow-group.scss +110 -110
  207. package/packages/theme-chalk/src/flow-list.scss +39 -39
  208. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  209. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  210. package/packages/theme-chalk/src/handle-user.scss +40 -40
  211. package/packages/theme-chalk/src/icon.scss +4 -0
  212. package/packages/theme-chalk/src/icons.scss +99 -99
  213. package/packages/theme-chalk/src/input.scss +9 -9
  214. package/packages/theme-chalk/src/label.scss +24 -24
  215. package/packages/theme-chalk/src/layout.scss +46 -46
  216. package/packages/theme-chalk/src/main.scss +1 -0
  217. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  218. package/packages/theme-chalk/src/nav.scss +111 -111
  219. package/packages/theme-chalk/src/page.scss +3 -3
  220. package/packages/theme-chalk/src/pagination.scss +29 -29
  221. package/packages/theme-chalk/src/player.scss +9 -9
  222. package/packages/theme-chalk/src/qr-code.scss +17 -17
  223. package/packages/theme-chalk/src/radio-group.scss +9 -9
  224. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  225. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  226. package/packages/theme-chalk/src/select.scss +8 -8
  227. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  228. package/packages/theme-chalk/src/simplicity-top.scss +1974 -0
  229. package/packages/theme-chalk/src/sizer.scss +36 -36
  230. package/packages/theme-chalk/src/steps.scss +88 -88
  231. package/packages/theme-chalk/src/switch.scss +3 -3
  232. package/packages/theme-chalk/src/table-form.scss +1 -1
  233. package/packages/theme-chalk/src/tabs.scss +87 -87
  234. package/packages/theme-chalk/src/tips.scss +7 -7
  235. package/packages/theme-chalk/src/toolbar.scss +179 -179
  236. package/packages/theme-chalk/src/tree-group.scss +72 -72
  237. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  238. package/packages/tips/index.js +5 -5
  239. package/packages/toolbar/index.js +5 -5
  240. package/packages/tree/index.js +5 -5
  241. package/packages/tree-group/index.js +5 -5
  242. package/packages/upload/index.js +5 -5
  243. package/packages/upload/src/picture.js +15 -15
  244. package/packages/wujie/index.js +5 -5
  245. package/packages/wujie/src/main.vue +145 -145
  246. package/packages/wxlogin/index.js +5 -5
  247. package/packages/wxlogin/src/main.vue +128 -128
  248. package/src/config/api.js +15 -2
  249. package/src/config/image.js +2 -2
  250. package/src/index.js +1 -1
  251. package/src/utils/bus.js +3 -3
  252. package/src/utils/date-util.js +312 -312
  253. package/src/utils/http.js +50 -50
  254. package/src/utils/store.js +21 -21
  255. package/src/utils/webSocket.js +107 -107
@@ -1,101 +1,101 @@
1
- <template>
2
- <div class="el-checkbox-group">
3
- <label class="el-checkbox" v-for="(item, index) in options" :key="index">
4
- <input
5
- type="checkbox"
6
- :name="_name"
7
- :checked="isChecked(item)"
8
- @change="
9
- (event) => {
10
- handeChange(event, item, index);
11
- }
12
- "
13
- />{{ labelKey ? item[labelKey] : item.name || item.label }}
14
- </label>
15
- </div>
16
- </template>
17
- <script>
18
- export default {
19
- name: 'EoCheckbox',
20
- props: {
21
- field: {
22
- required: true,
23
- type: String
24
- },
25
- prop: String,
26
- index: Number,
27
- labelKey: String,
28
- valueKey: String,
29
- data: {
30
- type: Object,
31
- default() {
32
- return {};
33
- }
34
- },
35
- options: {
36
- type: Array,
37
- default() {
38
- return [];
39
- }
40
- },
41
- decollator: {
42
- type: String,
43
- default: ','
44
- },
45
- valueToString: Boolean,
46
- value: {}
47
- },
48
- data() {
49
- return {
50
- _value: this.value
51
- };
52
- },
53
- computed: {
54
- model: {
55
- get() {
56
- if (Array.isArray(this.value)) {
57
- return this.value;
58
- }
59
- if (typeof this.value === 'string') {
60
- return this.value.split(this.decollator);
61
- }
62
- return [this.value];
63
- }
64
- // set(val) {
65
- // this.$emit(
66
- // 'input',
67
- // this.valueToString ? val.join(this.decollator) : val
68
- // );
69
- // return val;
70
- // }
71
- },
72
- _name() {
73
- if (this.index !== undefined) {
74
- return `${this.field || this.prop}[${this.index}]`;
75
- }
76
- return this.field || this.prop;
77
- }
78
- },
79
- methods: {
80
- isChecked(res) {
81
- return this.valueKey
82
- ? this.model.indexOf(res[this.valueKey]) > -1
83
- : this.model.indexOf(res.value) > -1;
84
- },
85
- handeChange(event, res, index) {
86
- let val = this.model;
87
- if (event.target.checked) {
88
- if (val.length > index) {
89
- val.splice(index, 0, this.valueKey ? res[this.valueKey] : res.value);
90
- } else {
91
- val.push(this.valueKey ? res[this.valueKey] : res.value);
92
- }
93
- } else {
94
- let i = val.indexOf(this.valueKey ? res[this.valueKey] : res.value);
95
- val.splice(i, 1);
96
- }
97
- this.$emit('input', this.valueToString ? val.join(this.decollator) : val);
98
- }
99
- }
100
- };
101
- </script>
1
+ <template>
2
+ <div class="el-checkbox-group">
3
+ <label class="el-checkbox" v-for="(item, index) in options" :key="index">
4
+ <input
5
+ type="checkbox"
6
+ :name="_name"
7
+ :checked="isChecked(item)"
8
+ @change="
9
+ (event) => {
10
+ handeChange(event, item, index);
11
+ }
12
+ "
13
+ />{{ labelKey ? item[labelKey] : item.name || item.label }}
14
+ </label>
15
+ </div>
16
+ </template>
17
+ <script>
18
+ export default {
19
+ name: 'EoCheckbox',
20
+ props: {
21
+ field: {
22
+ required: true,
23
+ type: String
24
+ },
25
+ prop: String,
26
+ index: Number,
27
+ labelKey: String,
28
+ valueKey: String,
29
+ data: {
30
+ type: Object,
31
+ default() {
32
+ return {};
33
+ }
34
+ },
35
+ options: {
36
+ type: Array,
37
+ default() {
38
+ return [];
39
+ }
40
+ },
41
+ decollator: {
42
+ type: String,
43
+ default: ','
44
+ },
45
+ valueToString: Boolean,
46
+ value: {}
47
+ },
48
+ data() {
49
+ return {
50
+ _value: this.value
51
+ };
52
+ },
53
+ computed: {
54
+ model: {
55
+ get() {
56
+ if (Array.isArray(this.value)) {
57
+ return this.value;
58
+ }
59
+ if (typeof this.value === 'string') {
60
+ return this.value.split(this.decollator);
61
+ }
62
+ return [this.value];
63
+ }
64
+ // set(val) {
65
+ // this.$emit(
66
+ // 'input',
67
+ // this.valueToString ? val.join(this.decollator) : val
68
+ // );
69
+ // return val;
70
+ // }
71
+ },
72
+ _name() {
73
+ if (this.index !== undefined) {
74
+ return `${this.field || this.prop}[${this.index}]`;
75
+ }
76
+ return this.field || this.prop;
77
+ }
78
+ },
79
+ methods: {
80
+ isChecked(res) {
81
+ return this.valueKey
82
+ ? this.model.indexOf(res[this.valueKey]) > -1
83
+ : this.model.indexOf(res.value) > -1;
84
+ },
85
+ handeChange(event, res, index) {
86
+ let val = this.model;
87
+ if (event.target.checked) {
88
+ if (val.length > index) {
89
+ val.splice(index, 0, this.valueKey ? res[this.valueKey] : res.value);
90
+ } else {
91
+ val.push(this.valueKey ? res[this.valueKey] : res.value);
92
+ }
93
+ } else {
94
+ let i = val.indexOf(this.valueKey ? res[this.valueKey] : res.value);
95
+ val.splice(i, 1);
96
+ }
97
+ this.$emit('input', this.valueToString ? val.join(this.decollator) : val);
98
+ }
99
+ }
100
+ };
101
+ </script>
@@ -1,17 +1,17 @@
1
- <template>
2
- <colgroup>
3
- <col v-if="numbers" width="56" />
4
- <template v-for="(item, index) in cols">
5
- <col :width="item.width" :key="index" />
6
- </template>
7
- </colgroup>
8
- </template>
9
- <script>
10
- export default {
11
- name: 'EoColgroup',
12
- props: {
13
- numbers: Boolean,
14
- cols: Array
15
- }
16
- };
17
- </script>
1
+ <template>
2
+ <colgroup>
3
+ <col v-if="numbers" width="56" />
4
+ <template v-for="(item, index) in cols">
5
+ <col :width="item.width" :key="index" />
6
+ </template>
7
+ </colgroup>
8
+ </template>
9
+ <script>
10
+ export default {
11
+ name: 'EoColgroup',
12
+ props: {
13
+ numbers: Boolean,
14
+ cols: Array
15
+ }
16
+ };
17
+ </script>
@@ -1,181 +1,181 @@
1
- <script>
2
- import util from 'eoss-ui/src/utils/util';
3
- import { findSysCode, getDictList } from 'eoss-ui/src/config/api.js';
4
- import store from 'eoss-ui/src/utils/store';
5
- //import rules from 'eoss-ui/src/utils/rules.js';
6
- import eoTable from './table.vue';
7
- export default {
8
- name: 'EsDataTableForm',
9
- inheritAttrs: false,
10
- components: {
11
- [eoTable.name]: eoTable
12
- },
13
- provide() {},
14
- inject: {
15
- elForm: {
16
- default: ''
17
- }
18
- },
19
- props: {
20
- service: String,
21
- params: Object,
22
- full: Boolean,
23
- readonly: Boolean,
24
- numbers: Boolean,
25
- data: Array,
26
- url: String,
27
- thead: Array,
28
- optionData: Object,
29
- page: [Boolean, Object]
30
- },
31
- data() {
32
- return {
33
- result: null,
34
- option: {}
35
- };
36
- },
37
- computed: {
38
- models: {
39
- get() {
40
- return this.data ? this.data : this.result;
41
- },
42
- set(val) {
43
- return val;
44
- }
45
- },
46
- cols() {
47
- let col = [];
48
- this.theads.forEach((items) => {
49
- if (Array.isArray(items)) {
50
- items.forEach((item) => {
51
- if (!item.rowspan || item.rowspan < 2) {
52
- col.push(item);
53
- }
54
- });
55
- } else {
56
- col.push(items);
57
- }
58
- });
59
- return col;
60
- },
61
- theads() {
62
- return this.thead && util.isObject(this.thead[0])
63
- ? [this.thead]
64
- : this.thead;
65
- },
66
- types() {
67
- let types = [];
68
- this.theads.forEach((items) => {
69
- if (Array.isArray(items)) {
70
- items.forEach((item) => {
71
- if (item.type && item.type !== 'text' && item.type !== 'textarea') {
72
- types.push(item);
73
- }
74
- });
75
- } else if (
76
- items.type &&
77
- items.type !== 'text' &&
78
- items.type !== 'textarea'
79
- ) {
80
- types.push(items);
81
- }
82
- });
83
- return types;
84
- },
85
- options() {
86
- return this.optionData ? this.optionData : this.option;
87
- },
88
- findCode() {
89
- if (this.service) {
90
- return `/${this.service}${getDictList}`;
91
- }
92
- return findSysCode;
93
- }
94
- },
95
- watch: {
96
- theads: {
97
- immediate: true,
98
- deep: true,
99
- handler(val) {
100
- if (val) {
101
- val.forEach((items) => {
102
- if (Array.isArray(items)) {
103
- items.forEach((item) => {
104
- this.getOptions(item);
105
- });
106
- } else {
107
- this.getOptions(items);
108
- }
109
- });
110
- }
111
- }
112
- }
113
- },
114
- created() {},
115
- mounted() {},
116
- methods: {
117
- getOptions(item) {
118
- if (item.sysCode || item.url) {
119
- let params = util.extend(
120
- {},
121
- item.sysCode ? { sysAppCode: item.sysCode, code: sysCode } : {},
122
- item.param ? item.param : {}
123
- );
124
- util
125
- .ajax({
126
- url: item.sysCode ? this.findCode : item.url,
127
- method: this.method,
128
- params: params,
129
- data: params
130
- })
131
- .then((res) => {
132
- if (res.rCode === 0) {
133
- this.option[item.field || item.prop] = JSON.parse(
134
- JSON.stringify(res.results)
135
- );
136
- if (item.sysCode) {
137
- store.set(
138
- item.sysCode,
139
- JSON.parse(JSON.stringify(res.results))
140
- );
141
- }
142
- } else {
143
- let msg = res.msg || '系统错误,请联系管理员!';
144
- this.$message.error(msg);
145
- }
146
- })
147
- .catch((err) => {
148
- if (err.message && err.message !== 'canceled') {
149
- this.$message.error(err.message);
150
- }
151
- });
152
- }
153
- }
154
- },
155
- render(h) {
156
- let tag = this.elForm ? 'div' : 'form';
157
- return h(
158
- tag,
159
- {
160
- class: { 'es-data-form-full': this.full, 'es-data-table-form': 1 }
161
- },
162
- [
163
- h('eo-table', {
164
- props: {
165
- cols: this.cols,
166
- thead: this.theads,
167
- numbers: this.numbers,
168
- cols: this.cols,
169
- data: this.models,
170
- types: this.types,
171
- options: this.options,
172
- page: this.page,
173
- ...this.$attrs
174
- },
175
- on: this.$listeners
176
- })
177
- ]
178
- );
179
- }
180
- };
181
- </script>
1
+ <script>
2
+ import util from 'eoss-ui/src/utils/util';
3
+ import { findSysCode, getDictList } from 'eoss-ui/src/config/api.js';
4
+ import store from 'eoss-ui/src/utils/store';
5
+ //import rules from 'eoss-ui/src/utils/rules.js';
6
+ import eoTable from './table.vue';
7
+ export default {
8
+ name: 'EsDataTableForm',
9
+ inheritAttrs: false,
10
+ components: {
11
+ [eoTable.name]: eoTable
12
+ },
13
+ provide() {},
14
+ inject: {
15
+ elForm: {
16
+ default: ''
17
+ }
18
+ },
19
+ props: {
20
+ service: String,
21
+ params: Object,
22
+ full: Boolean,
23
+ readonly: Boolean,
24
+ numbers: Boolean,
25
+ data: Array,
26
+ url: String,
27
+ thead: Array,
28
+ optionData: Object,
29
+ page: [Boolean, Object]
30
+ },
31
+ data() {
32
+ return {
33
+ result: null,
34
+ option: {}
35
+ };
36
+ },
37
+ computed: {
38
+ models: {
39
+ get() {
40
+ return this.data ? this.data : this.result;
41
+ },
42
+ set(val) {
43
+ return val;
44
+ }
45
+ },
46
+ cols() {
47
+ let col = [];
48
+ this.theads.forEach((items) => {
49
+ if (Array.isArray(items)) {
50
+ items.forEach((item) => {
51
+ if (!item.rowspan || item.rowspan < 2) {
52
+ col.push(item);
53
+ }
54
+ });
55
+ } else {
56
+ col.push(items);
57
+ }
58
+ });
59
+ return col;
60
+ },
61
+ theads() {
62
+ return this.thead && util.isObject(this.thead[0])
63
+ ? [this.thead]
64
+ : this.thead;
65
+ },
66
+ types() {
67
+ let types = [];
68
+ this.theads.forEach((items) => {
69
+ if (Array.isArray(items)) {
70
+ items.forEach((item) => {
71
+ if (item.type && item.type !== 'text' && item.type !== 'textarea') {
72
+ types.push(item);
73
+ }
74
+ });
75
+ } else if (
76
+ items.type &&
77
+ items.type !== 'text' &&
78
+ items.type !== 'textarea'
79
+ ) {
80
+ types.push(items);
81
+ }
82
+ });
83
+ return types;
84
+ },
85
+ options() {
86
+ return this.optionData ? this.optionData : this.option;
87
+ },
88
+ findCode() {
89
+ if (this.service) {
90
+ return `/${this.service}${getDictList}`;
91
+ }
92
+ return findSysCode;
93
+ }
94
+ },
95
+ watch: {
96
+ theads: {
97
+ immediate: true,
98
+ deep: true,
99
+ handler(val) {
100
+ if (val) {
101
+ val.forEach((items) => {
102
+ if (Array.isArray(items)) {
103
+ items.forEach((item) => {
104
+ this.getOptions(item);
105
+ });
106
+ } else {
107
+ this.getOptions(items);
108
+ }
109
+ });
110
+ }
111
+ }
112
+ }
113
+ },
114
+ created() {},
115
+ mounted() {},
116
+ methods: {
117
+ getOptions(item) {
118
+ if (item.sysCode || item.url) {
119
+ let params = util.extend(
120
+ {},
121
+ item.sysCode ? { sysAppCode: item.sysCode, code: sysCode } : {},
122
+ item.param ? item.param : {}
123
+ );
124
+ util
125
+ .ajax({
126
+ url: item.sysCode ? this.findCode : item.url,
127
+ method: this.method,
128
+ params: params,
129
+ data: params
130
+ })
131
+ .then((res) => {
132
+ if (res.rCode === 0) {
133
+ this.option[item.field || item.prop] = JSON.parse(
134
+ JSON.stringify(res.results)
135
+ );
136
+ if (item.sysCode) {
137
+ store.set(
138
+ item.sysCode,
139
+ JSON.parse(JSON.stringify(res.results))
140
+ );
141
+ }
142
+ } else {
143
+ let msg = res.msg || '系统错误,请联系管理员!';
144
+ this.$message.error(msg);
145
+ }
146
+ })
147
+ .catch((err) => {
148
+ if (err.message && err.message !== 'canceled') {
149
+ this.$message.error(err.message);
150
+ }
151
+ });
152
+ }
153
+ }
154
+ },
155
+ render(h) {
156
+ let tag = this.elForm ? 'div' : 'form';
157
+ return h(
158
+ tag,
159
+ {
160
+ class: { 'es-data-form-full': this.full, 'es-data-table-form': 1 }
161
+ },
162
+ [
163
+ h('eo-table', {
164
+ props: {
165
+ cols: this.cols,
166
+ thead: this.theads,
167
+ numbers: this.numbers,
168
+ cols: this.cols,
169
+ data: this.models,
170
+ types: this.types,
171
+ options: this.options,
172
+ page: this.page,
173
+ ...this.$attrs
174
+ },
175
+ on: this.$listeners
176
+ })
177
+ ]
178
+ );
179
+ }
180
+ };
181
+ </script>