eoss-mobiles 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/lib/button-group.js +2 -2
  3. package/lib/button.js +2 -2
  4. package/lib/calendar.js +2 -2
  5. package/lib/cell.js +2 -2
  6. package/lib/checkbox.js +2 -2
  7. package/lib/circle.js +2 -2
  8. package/lib/count-down.js +2 -2
  9. package/lib/empty.js +2 -2
  10. package/lib/eoss-mobile.common.js +542 -93
  11. package/lib/field.js +2 -2
  12. package/lib/flow-btn.js +2 -2
  13. package/lib/flow.js +8 -8
  14. package/lib/form.js +593 -144
  15. package/lib/grid-item.js +2 -2
  16. package/lib/grid.js +2 -2
  17. package/lib/index.js +1 -1
  18. package/lib/list.js +2 -2
  19. package/lib/loading.js +85 -85
  20. package/lib/nav-bar.js +2 -2
  21. package/lib/picker.js +12 -11
  22. package/lib/popover.js +2 -2
  23. package/lib/radio.js +8 -7
  24. package/lib/search.js +2 -2
  25. package/lib/selector.js +28 -28
  26. package/lib/switch.js +2 -2
  27. package/lib/tab.js +2 -2
  28. package/lib/table-column.js +3 -2
  29. package/lib/tabs.js +2 -2
  30. package/lib/tag.js +2 -2
  31. package/lib/theme-chalk/fonts/iconfont.scss +98 -98
  32. package/lib/theme-chalk/fonts/iconfont1.scss +90 -90
  33. package/lib/theme-chalk/form.css +1 -1
  34. package/lib/theme-chalk/index.css +1 -1
  35. package/lib/uploader.js +3 -2
  36. package/package.json +1 -1
  37. package/packages/action-sheet/index.js +5 -5
  38. package/packages/action-sheet/src/main.vue +32 -32
  39. package/packages/button/index.js +5 -5
  40. package/packages/button/src/main.vue +15 -15
  41. package/packages/button-group/index.js +5 -5
  42. package/packages/button-group/src/main.vue +80 -80
  43. package/packages/calendar/index.js +5 -5
  44. package/packages/calendar/src/main.vue +34 -34
  45. package/packages/cascader/index.js +5 -5
  46. package/packages/cascader/src/main.vue +39 -39
  47. package/packages/cell/index.js +5 -5
  48. package/packages/cell/src/main.vue +77 -77
  49. package/packages/checkbox/index.js +5 -5
  50. package/packages/checkbox/src/main.vue +232 -232
  51. package/packages/circle/index.js +5 -5
  52. package/packages/circle/src/main.vue +27 -27
  53. package/packages/count-down/index.js +5 -5
  54. package/packages/count-down/src/main.vue +27 -27
  55. package/packages/date/index.js +5 -5
  56. package/packages/date/src/date-time.vue +290 -290
  57. package/packages/date/src/main.vue +401 -401
  58. package/packages/empty/index.js +5 -5
  59. package/packages/empty/src/main.vue +16 -16
  60. package/packages/esign/index.js +5 -5
  61. package/packages/esign/src/main.vue +144 -144
  62. package/packages/field/index.js +5 -5
  63. package/packages/flow/index.js +5 -5
  64. package/packages/flow/src/components/Circulate.vue +595 -595
  65. package/packages/flow/src/components/Handle.vue +2404 -2404
  66. package/packages/flow/src/components/Message.vue +208 -208
  67. package/packages/flow/src/components/ProcessSettings.vue +342 -342
  68. package/packages/flow/src/components/TaskRead.vue +1 -1
  69. package/packages/flow/src/components/supervise.vue +139 -139
  70. package/packages/flow/src/flowMix.js +288 -288
  71. package/packages/flow/src/main.vue +116 -116
  72. package/packages/flow-btn/index.js +5 -5
  73. package/packages/flow-btn/src/main.vue +494 -494
  74. package/packages/flow-list/index.js +5 -5
  75. package/packages/flow-list/src/main.vue +248 -248
  76. package/packages/form/index.js +5 -5
  77. package/packages/form/src/CustomCard.vue +201 -0
  78. package/packages/form/src/main.vue +32 -19
  79. package/packages/grid/index.js +5 -5
  80. package/packages/grid/src/main.vue +486 -486
  81. package/packages/grid-item/index.js +5 -5
  82. package/packages/grid-item/src/main.vue +16 -16
  83. package/packages/image/index.js +5 -5
  84. package/packages/image/src/main.vue +12 -12
  85. package/packages/image-preview/index.js +5 -5
  86. package/packages/list/index.js +5 -5
  87. package/packages/list/src/main.vue +32 -32
  88. package/packages/loading/index.js +5 -5
  89. package/packages/loading/src/main.vue +19 -19
  90. package/packages/nav-bar/index.js +5 -5
  91. package/packages/nav-bar/src/main.vue +24 -24
  92. package/packages/notice-bar/index.js +5 -5
  93. package/packages/notice-bar/src/main.vue +15 -15
  94. package/packages/pagination/index.js +5 -5
  95. package/packages/pagination/src/main.vue +73 -73
  96. package/packages/picker/index.js +5 -5
  97. package/packages/picker/src/main.vue +604 -604
  98. package/packages/popover/index.js +5 -5
  99. package/packages/popover/src/main.vue +32 -32
  100. package/packages/popup/index.js +5 -5
  101. package/packages/popup/src/main.vue +27 -27
  102. package/packages/pull-refresh/index.js +5 -5
  103. package/packages/pull-refresh/src/main.vue +31 -31
  104. package/packages/radio/index.js +5 -5
  105. package/packages/radio/src/main.vue +179 -179
  106. package/packages/rate/index.js +5 -5
  107. package/packages/rate/src/main.vue +26 -26
  108. package/packages/retrial-auth/index.js +5 -5
  109. package/packages/retrial-auth/src/main.vue +257 -257
  110. package/packages/search/index.js +5 -5
  111. package/packages/search/src/main.vue +39 -39
  112. package/packages/selector/index.js +5 -5
  113. package/packages/selector/src/main.vue +186 -186
  114. package/packages/selector/src/selector-tree.vue +1117 -1117
  115. package/packages/selector/src/tree.vue +405 -405
  116. package/packages/skeleton/index.js +5 -5
  117. package/packages/skeleton/src/main.vue +17 -17
  118. package/packages/stepper/index.js +5 -5
  119. package/packages/stepper/src/main.vue +25 -25
  120. package/packages/swipe/index.js +5 -5
  121. package/packages/swipe/src/main.vue +42 -42
  122. package/packages/switch/index.js +5 -5
  123. package/packages/switch/src/main.vue +38 -38
  124. package/packages/tab/index.js +5 -5
  125. package/packages/tab/src/main.vue +16 -16
  126. package/packages/table/index.js +5 -5
  127. package/packages/table/src/main.vue +1006 -1006
  128. package/packages/table-column/index.js +5 -5
  129. package/packages/table-column/src/main.vue +931 -931
  130. package/packages/table-column/src/mixins/table.js +12 -12
  131. package/packages/tabs/index.js +5 -5
  132. package/packages/tabs/src/main.vue +34 -34
  133. package/packages/tag/index.js +5 -5
  134. package/packages/tag/src/main.vue +16 -16
  135. package/packages/theme-chalk/lib/action-sheet.css +0 -0
  136. package/packages/theme-chalk/lib/base.css +1 -0
  137. package/packages/theme-chalk/lib/button-group.css +1 -0
  138. package/packages/theme-chalk/lib/button.css +1 -0
  139. package/packages/theme-chalk/lib/calendar.css +1 -0
  140. package/packages/theme-chalk/lib/cascader.css +1 -0
  141. package/packages/theme-chalk/lib/cell.css +1 -0
  142. package/packages/theme-chalk/lib/checkbox.css +1 -0
  143. package/packages/theme-chalk/lib/circle.css +1 -0
  144. package/packages/theme-chalk/lib/count-down.css +0 -0
  145. package/packages/theme-chalk/lib/date.css +0 -0
  146. package/packages/theme-chalk/lib/empty.css +0 -0
  147. package/packages/theme-chalk/lib/esign.css +1 -0
  148. package/packages/theme-chalk/lib/field.css +1 -0
  149. package/packages/theme-chalk/lib/flow-btn.css +1 -0
  150. package/packages/theme-chalk/lib/flow-list-task-read.css +1 -0
  151. package/packages/theme-chalk/lib/flow-list.css +1 -0
  152. package/packages/theme-chalk/lib/flow.css +1 -0
  153. package/packages/theme-chalk/lib/fonts/iconfont.scss +98 -0
  154. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  155. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  156. package/packages/theme-chalk/lib/fonts/iconfont1.scss +90 -0
  157. package/packages/theme-chalk/lib/form.css +1 -0
  158. package/packages/theme-chalk/lib/grid-item.css +1 -0
  159. package/packages/theme-chalk/lib/grid.css +1 -0
  160. package/packages/theme-chalk/lib/icon.css +1 -0
  161. package/packages/theme-chalk/lib/image-preview.css +0 -0
  162. package/packages/theme-chalk/lib/image.css +0 -0
  163. package/packages/theme-chalk/lib/index.css +1 -0
  164. package/packages/theme-chalk/lib/list.css +0 -0
  165. package/packages/theme-chalk/lib/loading.css +0 -0
  166. package/packages/theme-chalk/lib/nav-bar.css +0 -0
  167. package/packages/theme-chalk/lib/navbar.css +1 -0
  168. package/packages/theme-chalk/lib/notice-bar.css +0 -0
  169. package/packages/theme-chalk/lib/pagination.css +1 -0
  170. package/packages/theme-chalk/lib/picker.css +1 -0
  171. package/packages/theme-chalk/lib/popover.css +0 -0
  172. package/packages/theme-chalk/lib/popup.css +0 -0
  173. package/packages/theme-chalk/lib/pull-refresh.css +0 -0
  174. package/packages/theme-chalk/lib/radio.css +1 -0
  175. package/packages/theme-chalk/lib/rate.css +0 -0
  176. package/packages/theme-chalk/lib/retrial-auth.css +1 -0
  177. package/packages/theme-chalk/lib/search.css +0 -0
  178. package/packages/theme-chalk/lib/selector.css +1 -0
  179. package/packages/theme-chalk/lib/skeleton.css +0 -0
  180. package/packages/theme-chalk/lib/stepper.css +1 -0
  181. package/packages/theme-chalk/lib/swipe.css +0 -0
  182. package/packages/theme-chalk/lib/switch.css +1 -0
  183. package/packages/theme-chalk/lib/tab.css +0 -0
  184. package/packages/theme-chalk/lib/table-column.css +0 -0
  185. package/packages/theme-chalk/lib/table.css +1 -0
  186. package/packages/theme-chalk/lib/tabs.css +1 -0
  187. package/packages/theme-chalk/lib/tag.css +1 -0
  188. package/packages/theme-chalk/lib/theme.css +0 -0
  189. package/packages/theme-chalk/lib/tree.css +1 -0
  190. package/packages/theme-chalk/lib/uploader.css +0 -0
  191. package/packages/theme-chalk/src/base.scss +195 -195
  192. package/packages/theme-chalk/src/button-group.scss +25 -25
  193. package/packages/theme-chalk/src/button.scss +2 -2
  194. package/packages/theme-chalk/src/calendar.scss +11 -11
  195. package/packages/theme-chalk/src/cascader.scss +11 -11
  196. package/packages/theme-chalk/src/cell.scss +14 -14
  197. package/packages/theme-chalk/src/checkbox.scss +9 -9
  198. package/packages/theme-chalk/src/circle.scss +6 -6
  199. package/packages/theme-chalk/src/common/var.scss +1525 -1525
  200. package/packages/theme-chalk/src/esign.scss +51 -51
  201. package/packages/theme-chalk/src/field.scss +98 -98
  202. package/packages/theme-chalk/src/flow-btn.scss +99 -99
  203. package/packages/theme-chalk/src/flow-list.scss +122 -122
  204. package/packages/theme-chalk/src/fonts/iconfont.scss +98 -98
  205. package/packages/theme-chalk/src/fonts/iconfont1.scss +90 -90
  206. package/packages/theme-chalk/src/form.scss +107 -33
  207. package/packages/theme-chalk/src/grid-item.scss +16 -16
  208. package/packages/theme-chalk/src/grid.scss +46 -46
  209. package/packages/theme-chalk/src/icon.scss +1661 -1661
  210. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  211. package/packages/theme-chalk/src/navbar.scss +5 -5
  212. package/packages/theme-chalk/src/pagination.scss +12 -12
  213. package/packages/theme-chalk/src/picker.scss +31 -31
  214. package/packages/theme-chalk/src/radio.scss +6 -6
  215. package/packages/theme-chalk/src/retrial-auth.scss +28 -28
  216. package/packages/theme-chalk/src/selector.scss +247 -247
  217. package/packages/theme-chalk/src/stepper.scss +9 -9
  218. package/packages/theme-chalk/src/switch.scss +5 -5
  219. package/packages/theme-chalk/src/table.scss +86 -86
  220. package/packages/theme-chalk/src/tabs.scss +31 -31
  221. package/packages/theme-chalk/src/tag.scss +12 -12
  222. package/packages/theme-chalk/src/theme.scss +1 -1
  223. package/packages/theme-chalk/src/tree.scss +127 -127
  224. package/packages/uploader/index.js +5 -5
  225. package/src/config/api.js +190 -190
  226. package/src/index.js +1 -1
  227. package/src/utils/axios.js +217 -217
  228. package/src/utils/date-util.js +312 -312
  229. package/src/utils/http.js +106 -106
  230. package/src/utils/rules.js +18 -18
  231. package/src/utils/store.js +21 -21
  232. package/packages/theme-chalk/gulpfile.js +0 -25
@@ -0,0 +1,201 @@
1
+ <template>
2
+ <div class="em-custom-card">
3
+ <div v-if="cardList.length === 0" class="empty-tip">暂无数据</div>
4
+
5
+ <div v-for="(card, index) in cardList" :key="index" class="card-item">
6
+ <van-cell-group class="card-content">
7
+ <div
8
+ v-for="(field, fieldIndex) in tHead"
9
+ :key="fieldIndex"
10
+ class="card-field"
11
+ >
12
+ <div class="field-label">{{ field.title }}</div>
13
+ <div class="field-value">
14
+ <em-input
15
+ v-if="field.type === 'text'"
16
+ v-model="card[field.key]"
17
+ :placeholder="field.placeholder"
18
+ :disabled="disabled || readonly"
19
+ label-width="0"
20
+ />
21
+
22
+ <em-input
23
+ v-else-if="field.type === 'number' || field.type === 'digit'"
24
+ v-model="card[field.key]"
25
+ type="number"
26
+ :placeholder="field.placeholder"
27
+ :disabled="disabled || readonly"
28
+ label-width="0"
29
+ />
30
+
31
+ <em-input
32
+ v-else-if="field.type === 'textarea'"
33
+ v-model="card[field.key]"
34
+ type="textarea"
35
+ :autosize="field.autosize || { minRows: 2 }"
36
+ :placeholder="field.placeholder"
37
+ :disabled="disabled || readonly"
38
+ label-width="0"
39
+ />
40
+
41
+ <em-radio-group
42
+ v-else-if="field.type === 'radio'"
43
+ v-model="card[field.key]"
44
+ :data="getOptions(field.field)"
45
+ :disabled="disabled || readonly"
46
+ >
47
+ </em-radio-group>
48
+
49
+ <em-checkbox-group
50
+ v-else-if="field.type === 'checkbox'"
51
+ v-model="card[field.key]"
52
+ :disabled="disabled || readonly"
53
+ :data="getOptions(field.field)"
54
+ >
55
+ </em-checkbox-group>
56
+
57
+ <em-picker
58
+ v-else-if="field.type === 'select'"
59
+ v-model="card[field.key]"
60
+ :columns="getOptions(field.field)"
61
+ :placeholder="field.placeholder"
62
+ :disabled="disabled || readonly"
63
+ label-width="0"
64
+ />
65
+
66
+ <span v-else>{{ card[field.key] }}</span>
67
+ </div>
68
+ </div>
69
+ </van-cell-group>
70
+
71
+ <div v-if="editable && !disabled && !readonly" class="card-actions">
72
+ <em-button
73
+ size="small"
74
+ type="danger"
75
+ plain
76
+ @click="handleDelete(index)"
77
+ >
78
+ 删除
79
+ </em-button>
80
+ </div>
81
+ </div>
82
+
83
+ <div v-if="editable && !disabled && !readonly" class="add-btn-wrapper">
84
+ <em-button block type="primary" plain icon="plus" @click="handleAdd">
85
+ 添加
86
+ </em-button>
87
+ </div>
88
+ </div>
89
+ </template>
90
+
91
+ <script>
92
+ export default {
93
+ name: 'CustomCard',
94
+ props: {
95
+ value: {
96
+ type: Array,
97
+ default: () => []
98
+ },
99
+ tHead: {
100
+ type: Array,
101
+ default: () => []
102
+ },
103
+ optionData: {
104
+ type: Object,
105
+ default: () => ({})
106
+ },
107
+ disabled: {
108
+ type: Boolean,
109
+ default: false
110
+ },
111
+ readonly: {
112
+ type: Boolean,
113
+ default: false
114
+ },
115
+ editable: {
116
+ type: Boolean,
117
+ default: false
118
+ },
119
+ maxCount: {
120
+ type: Number,
121
+ default: 0
122
+ }
123
+ },
124
+ data() {
125
+ return {
126
+ cardList: [],
127
+ isInternalUpdate: false
128
+ };
129
+ },
130
+ watch: {
131
+ value: {
132
+ handler(val) {
133
+ this.isInternalUpdate = true;
134
+ if (val && Array.isArray(val)) {
135
+ this.cardList = JSON.parse(JSON.stringify(val));
136
+ } else {
137
+ this.cardList = [];
138
+ }
139
+ this.$nextTick(() => {
140
+ this.isInternalUpdate = false;
141
+ });
142
+ },
143
+ immediate: true,
144
+ deep: true
145
+ },
146
+ cardList: {
147
+ handler(val) {
148
+ if (!this.isInternalUpdate) {
149
+ this.$emit('input', val);
150
+ this.$emit('change', val);
151
+ }
152
+ },
153
+ deep: true
154
+ }
155
+ },
156
+ methods: {
157
+ getOptions(fieldName) {
158
+ return (
159
+ this.optionData[fieldName].map((ele) => {
160
+ return { name: ele, value: ele };
161
+ }) || []
162
+ );
163
+ },
164
+
165
+ handleAdd() {
166
+ if (this.maxCount > 0 && this.cardList.length >= this.maxCount) {
167
+ this.$toast(`最多只能添加${this.maxCount}条`);
168
+ return;
169
+ }
170
+ const newCard = {};
171
+ this.tHead.forEach((field) => {
172
+ newCard[field.key] =
173
+ field.defaultValue !== undefined && field.defaultValue != ''
174
+ ? field.defaultValue
175
+ : field.type === 'checkbox'
176
+ ? []
177
+ : '';
178
+ });
179
+ console.log('newCard', newCard);
180
+ this.cardList.push(newCard);
181
+ this.$emit('add', newCard, this.cardList.length - 1);
182
+ },
183
+ handleDelete(index) {
184
+ this.$dialog
185
+ .confirm({
186
+ title: '提示',
187
+ message: '确定要删除这条数据吗?'
188
+ })
189
+ .then(() => {
190
+ this.cardList.splice(index, 1);
191
+ this.$emit('delete', index);
192
+ })
193
+ .catch(() => {});
194
+ },
195
+ updateParentData() {
196
+ this.$emit('input', this.cardList);
197
+ this.$emit('change', this.cardList);
198
+ }
199
+ }
200
+ };
201
+ </script>
@@ -372,25 +372,36 @@
372
372
  }
373
373
  "
374
374
  />
375
- <em-table
376
- v-else-if="item.type == 'table'"
377
- class="em-form-table"
378
- ref="emFormTable"
379
- v-bind="{ ...$attrs, ...item }"
380
- :data="model[item.name]"
381
- :thead="item.tHead"
382
- :style="`margin:${item.margin || 10}px 0px`"
383
- isForm
384
- :form="
385
- !item.disabled &&
386
- !disabled &&
387
- !item.readonly &&
388
- !readonly &&
389
- item.form
390
- "
391
- v-on="{ ...item.events }"
392
- @btn-click="handleBtnClick"
393
- />
375
+ <template v-else-if="item.type == 'table'">
376
+ <custom-card
377
+ v-if="item.presentType && item.presentType == 'card'"
378
+ v-model="model[item.name]"
379
+ v-bind="{ ...$attrs, ...item }"
380
+ ></custom-card>
381
+ <em-table
382
+ v-else
383
+ class="em-form-table"
384
+ ref="emFormTable"
385
+ v-bind="{
386
+ ...$attrs,
387
+ ...item
388
+ }"
389
+ :data="model[item.name]"
390
+ :thead="item.tHead"
391
+ :style="`margin:${item.margin || 10}px 0px`"
392
+ isForm
393
+ :form="
394
+ !item.disabled &&
395
+ !disabled &&
396
+ !item.readonly &&
397
+ !readonly &&
398
+ item.form
399
+ "
400
+ v-on="{ ...item.events }"
401
+ @btn-click="handleBtnClick"
402
+ />
403
+ </template>
404
+
394
405
  <van-cell
395
406
  v-else-if="item.type === 'component'"
396
407
  :title="item.label"
@@ -436,6 +447,7 @@
436
447
  </template>
437
448
 
438
449
  <script>
450
+ import CustomCard from './CustomCard.vue';
439
451
  export default {
440
452
  name: 'EmForm',
441
453
  props: {
@@ -470,6 +482,7 @@ export default {
470
482
  default: 'left'
471
483
  }
472
484
  },
485
+ components: { CustomCard },
473
486
  computed: {
474
487
  btnList() {
475
488
  return this.contents.filter((x) => x.type === 'submit');
@@ -1,5 +1,5 @@
1
- import EmGrid from './src/main';
2
-
3
- EmGrid.install = Vue => Vue.component(EmGrid.name, EmGrid);
4
-
5
- export default EmGrid;
1
+ import EmGrid from './src/main';
2
+
3
+ EmGrid.install = Vue => Vue.component(EmGrid.name, EmGrid);
4
+
5
+ export default EmGrid;