eoss 0.1.0-alpha.20 → 0.1.0-alpha.21

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 (207) hide show
  1. package/lib/account-login.js +1943 -1890
  2. package/lib/alert.js +4 -4
  3. package/lib/aside.js +4 -4
  4. package/lib/autocomplete.js +4936 -4834
  5. package/lib/avatar.js +4 -4
  6. package/lib/backtop.js +4 -4
  7. package/lib/badge.js +4 -4
  8. package/lib/breadcrumb-item.js +6 -6
  9. package/lib/breadcrumb.js +7 -7
  10. package/lib/button-group.js +11 -14
  11. package/lib/button.js +6 -6
  12. package/lib/ca-login.js +2480 -2382
  13. package/lib/calendar.js +798 -798
  14. package/lib/card.js +4 -4
  15. package/lib/carousel-item.js +911 -813
  16. package/lib/carousel.js +1646 -1548
  17. package/lib/cascader-panel.js +2556 -2458
  18. package/lib/cascader.js +4546 -4444
  19. package/lib/checkbox-button.js +4 -4
  20. package/lib/checkbox-group.js +2894 -2841
  21. package/lib/checkbox.js +4 -4
  22. package/lib/col.js +2 -2
  23. package/lib/collapse-item.js +35159 -2572
  24. package/lib/collapse.js +35410 -2762
  25. package/lib/color-picker.js +494 -490
  26. package/lib/config/api.js +15 -1
  27. package/lib/container.js +4 -4
  28. package/lib/cron.js +4 -4
  29. package/lib/data-table.js +1895 -1842
  30. package/lib/date-picker.js +6422 -6320
  31. package/lib/dialog.js +2912 -2806
  32. package/lib/divider.js +4 -4
  33. package/lib/drawer.js +311 -299
  34. package/lib/dropdown-item.js +6 -6
  35. package/lib/dropdown-menu.js +539 -535
  36. package/lib/dropdown.js +2270 -2172
  37. package/lib/email-login.js +1783 -1730
  38. package/lib/empty.js +723 -0
  39. package/lib/eoss.common.js +63680 -56193
  40. package/lib/flip.js +4 -4
  41. package/lib/flow-group.js +2985 -2887
  42. package/lib/flow.js +28067 -28022
  43. package/lib/footer.js +4 -4
  44. package/lib/form-item.js +1935 -1837
  45. package/lib/form.js +9230 -9092
  46. package/lib/header.js +4 -4
  47. package/lib/icon.js +1708 -1590
  48. package/lib/icons.js +4 -4
  49. package/lib/image-viewer.js +1660 -1562
  50. package/lib/image.js +162 -162
  51. package/lib/index.js +1 -1
  52. package/lib/infinite-scroll.js +76 -76
  53. package/lib/input-number.js +172 -172
  54. package/lib/input.js +1362 -1264
  55. package/lib/link.js +4 -4
  56. package/lib/loading.js +321 -317
  57. package/lib/login.js +3306 -3300
  58. package/lib/lowcode.js +13320 -0
  59. package/lib/main.js +14465 -14339
  60. package/lib/marquee.js +1237 -1139
  61. package/lib/menu-item-group.js +119 -119
  62. package/lib/menu-item.js +114 -114
  63. package/lib/menu.js +6193 -6091
  64. package/lib/message-box.js +3582 -3480
  65. package/lib/message.js +2265 -2163
  66. package/lib/notification.js +2430 -2328
  67. package/lib/option-group.js +4 -4
  68. package/lib/option.js +842 -744
  69. package/lib/page-header.js +4 -4
  70. package/lib/pagination.js +1916 -1815
  71. package/lib/phone-login.js +1788 -1735
  72. package/lib/popconfirm.js +8 -8
  73. package/lib/popover.js +4559 -4457
  74. package/lib/progress.js +4 -4
  75. package/lib/qr-code.js +9 -9
  76. package/lib/qrcode-login.js +1600 -1543
  77. package/lib/radio-button.js +6 -6
  78. package/lib/radio-group.js +2142 -2089
  79. package/lib/radio.js +6 -6
  80. package/lib/rate.js +1226 -1128
  81. package/lib/row.js +2 -2
  82. package/lib/scrollbar.js +2695 -2597
  83. package/lib/select.js +5985 -5961
  84. package/lib/selector-panel.js +5239 -5186
  85. package/lib/selector.js +1712 -1659
  86. package/lib/slider.js +16 -16
  87. package/lib/step.js +35836 -2736
  88. package/lib/steps.js +1281 -1183
  89. package/lib/submenu.js +461 -457
  90. package/lib/switch.js +1010 -912
  91. package/lib/tab-pane.js +4 -4
  92. package/lib/table-column.js +2595 -2497
  93. package/lib/table.js +9225 -9239
  94. package/lib/tabs.js +2414 -2320
  95. package/lib/tag.js +4 -4
  96. package/lib/theme-chalk/account-login.css +1 -1
  97. package/lib/theme-chalk/autocomplete.css +1 -1
  98. package/lib/theme-chalk/base.css +1 -1
  99. package/lib/theme-chalk/cascader.css +1 -1
  100. package/lib/theme-chalk/date-picker.css +1 -1
  101. package/lib/theme-chalk/empty.css +1 -0
  102. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  103. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  104. package/lib/theme-chalk/form.css +1 -1
  105. package/lib/theme-chalk/icon.css +1 -1
  106. package/lib/theme-chalk/index.css +1 -1
  107. package/lib/theme-chalk/input-number.css +1 -1
  108. package/lib/theme-chalk/input.css +1 -1
  109. package/lib/theme-chalk/login.css +1 -1
  110. package/lib/theme-chalk/lowcode.css +1 -0
  111. package/lib/theme-chalk/main.css +1 -1
  112. package/lib/theme-chalk/message-box.css +1 -1
  113. package/lib/theme-chalk/pagination.css +1 -1
  114. package/lib/theme-chalk/qrcode-login.css +1 -1
  115. package/lib/theme-chalk/select.css +1 -1
  116. package/lib/theme-chalk/slider.css +1 -1
  117. package/lib/theme-chalk/tabs.css +1 -1
  118. package/lib/theme-chalk/time-picker.css +1 -1
  119. package/lib/theme-chalk/transfer.css +1 -1
  120. package/lib/time-picker.js +5823 -5819
  121. package/lib/time-select.js +3578 -3574
  122. package/lib/timeline-item.js +4 -4
  123. package/lib/timeline.js +4 -4
  124. package/lib/tips.js +1633 -1580
  125. package/lib/toolbar.js +213 -213
  126. package/lib/tooltip.js +4441 -4339
  127. package/lib/transfer.js +938 -840
  128. package/lib/tree-group.js +1875 -1757
  129. package/lib/tree.js +2626 -2573
  130. package/lib/upload.js +7209 -7156
  131. package/lib/utils/ajax.js +185 -243
  132. package/lib/utils/bus.js +2 -2
  133. package/lib/utils/popup/index.js +5 -1
  134. package/lib/utils/util.js +108 -11
  135. package/package.json +2 -2
  136. package/packages/button/src/button-group.vue +1 -4
  137. package/packages/collapse/src/collapse-item.vue +47 -33
  138. package/packages/dialog/src/dialog.vue +4 -1
  139. package/packages/drawer/src/drawer.vue +12 -4
  140. package/packages/empty/index.js +7 -0
  141. package/packages/empty/src/img-empty.vue +132 -0
  142. package/packages/empty/src/index.vue +49 -0
  143. package/packages/form/src/form-item-render.vue +16 -18
  144. package/packages/form/src/form.vue +27 -5
  145. package/packages/icons/src/icon.json +1 -1
  146. package/packages/login/src/login.vue +19 -21
  147. package/packages/login/src/mixins.js +2 -1
  148. package/packages/lowcode/index.js +5 -0
  149. package/packages/lowcode/src/aside.vue +331 -0
  150. package/packages/lowcode/src/attribute/bind.vue +441 -0
  151. package/packages/lowcode/src/attribute/dependency.vue +325 -0
  152. package/packages/lowcode/src/attribute/function.vue +112 -0
  153. package/packages/lowcode/src/attribute/property.vue +331 -0
  154. package/packages/lowcode/src/attribute/styles.vue +318 -0
  155. package/packages/lowcode/src/attribute.vue +135 -0
  156. package/packages/lowcode/src/canvas.vue +296 -0
  157. package/packages/lowcode/src/json.vue +32 -0
  158. package/packages/lowcode/src/lowcode.vue +539 -0
  159. package/packages/lowcode/src/modules.vue +93 -0
  160. package/packages/lowcode/src/pages.vue +91 -0
  161. package/packages/lowcode/src/render.vue +247 -0
  162. package/packages/lowcode/src/source.vue +32 -0
  163. package/packages/lowcode/src/toolbar.vue +162 -0
  164. package/packages/main/src/components/pages.vue +28 -2
  165. package/packages/main/src/components/set-menus.vue +3 -3
  166. package/packages/main/src/components/user.vue +6 -1
  167. package/packages/main/src/early.vue +2 -2
  168. package/packages/main/src/gzw.vue +55 -61
  169. package/packages/main/src/minxs.js +113 -36
  170. package/packages/pagination/src/pager.vue +2 -2
  171. package/packages/pagination/src/pagination.js +4 -1
  172. package/packages/qrcode-login/src/qrcode-login.vue +6 -2
  173. package/packages/select/src/select.vue +28 -6
  174. package/packages/steps/src/step.vue +7 -5
  175. package/packages/tabs/src/tab-nav.vue +1 -0
  176. package/packages/tabs/src/tabs.vue +0 -2
  177. package/packages/theme-chalk/dist/fonts/iconfont.ttf +0 -0
  178. package/packages/theme-chalk/dist/fonts/iconfont.woff +0 -0
  179. package/packages/theme-chalk/gulpfile.js +3 -0
  180. package/packages/theme-chalk/src/account-login.scss +1 -0
  181. package/packages/theme-chalk/src/base.scss +1 -1
  182. package/packages/theme-chalk/src/common/var.scss +16 -0
  183. package/packages/theme-chalk/src/empty.scss +45 -0
  184. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  185. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  186. package/packages/theme-chalk/src/form.scss +1 -8
  187. package/packages/theme-chalk/src/icon.scss +30 -1
  188. package/packages/theme-chalk/src/index.scss +2 -0
  189. package/packages/theme-chalk/src/input-number.scss +0 -4
  190. package/packages/theme-chalk/src/input.scss +9 -0
  191. package/packages/theme-chalk/src/login.scss +32 -29
  192. package/packages/theme-chalk/src/lowcode.scss +461 -0
  193. package/packages/theme-chalk/src/main.scss +28 -65
  194. package/packages/theme-chalk/src/pagination.scss +4 -55
  195. package/packages/theme-chalk/src/qrcode-login.scss +3 -1
  196. package/packages/theme-chalk/src/tabs.scss +81 -50
  197. package/src/config/api.js +13 -0
  198. package/src/index.js +17 -4
  199. package/src/utils/ajax.js +61 -65
  200. package/src/utils/bus.js +2 -2
  201. package/src/utils/popup/index.js +5 -1
  202. package/src/utils/util.js +104 -7
  203. package/lib/index_/345/211/257/346/234/254.js +0 -583
  204. package/packages/dialog copy/index.js +0 -8
  205. package/packages/dialog copy/src/dialog.vue +0 -615
  206. package/src/index_/345/211/257/346/234/254.js +0 -359
  207. /package/{packages/form/src → src/components}/field-render.vue +0 -0
@@ -0,0 +1,331 @@
1
+ <template>
2
+ <div class="es-lowcode__aside" :style="styles">
3
+ <div class="es-lowcode__aside--handle" v-show="!hide" @click.self="handleClick" ></div>
4
+ <es-tabs
5
+ tab-position="left"
6
+ type="card"
7
+ class="es-lowcode__aside--tabs"
8
+ v-model="active"
9
+ @tab-click="handleTabClick"
10
+ >
11
+ <es-tab-pane name="page">
12
+ <template slot="label">
13
+ <es-tooltip
14
+ class="box-item"
15
+ effect="dark"
16
+ content="页面管理"
17
+ placement="right"
18
+ >
19
+ <i class="es-icon-page" />
20
+ </es-tooltip>
21
+ </template>
22
+ <div class="es-lowcode__aside--title">
23
+ 页面管理
24
+ <es-button
25
+ class="es-lowcode__aside--add"
26
+ type="text"
27
+ @click="handleAddPage"
28
+ >+</es-button
29
+ >
30
+ </div>
31
+ <es-dialog
32
+ title="新增页面"
33
+ width="500px"
34
+ height="280px"
35
+ :visible.sync="visible"
36
+ :close-on-click-modal="false"
37
+ @close="handleClose"
38
+ >
39
+ <es-form
40
+ class="es-lowcode__add-page-form"
41
+ :model="form"
42
+ :rules="rules"
43
+ ref="formRef"
44
+ label-width="80px"
45
+ >
46
+ <es-form-item label="名称" prop="name">
47
+ <es-input v-model="form.name" placeholder="请输入名称" />
48
+ </es-form-item>
49
+ <es-form-item label="描述" prop="description">
50
+ <es-input
51
+ type="textarea"
52
+ v-model="form.description"
53
+ placeholder="请输入描述"
54
+ />
55
+ </es-form-item>
56
+ <div class="es-lowcode__aside--form-btn">
57
+ <es-button type="primary" @click="submitForm">确定</es-button>
58
+ </div>
59
+ </es-form>
60
+ </es-dialog>
61
+ <Pages :pages="pages" v-if="pages.length" />
62
+ <div class="es-lowcode__aside--empty" v-else>暂无数据</div>
63
+ </es-tab-pane>
64
+ <es-tab-pane name="component">
65
+ <template slot="label">
66
+ <es-tooltip
67
+ class="box-item"
68
+ effect="dark"
69
+ content="组件库"
70
+ placement="right"
71
+ >
72
+ <i class="es-icon-zujian" />
73
+ </es-tooltip>
74
+ </template>
75
+ <div class="es-lowcode__aside--title">组件库</div>
76
+ <Modules :contents="modules" />
77
+ </es-tab-pane>
78
+ <es-tab-pane name="ui">
79
+ <template slot="label">
80
+ <es-tooltip
81
+ class="box-item"
82
+ effect="dark"
83
+ content="UI库"
84
+ placement="right"
85
+ >
86
+ <i class="es-icon-component" />
87
+ </es-tooltip>
88
+ </template>
89
+ <div class="es-lowcode__aside--title">UI库</div>
90
+ <Modules :contents="library" />
91
+ </es-tab-pane>
92
+ <es-tab-pane name="template">
93
+ <template slot="label">
94
+ <es-tooltip
95
+ class="box-item"
96
+ effect="dark"
97
+ content="模板"
98
+ placement="right"
99
+ >
100
+ <i class="es-icon-template" />
101
+ </es-tooltip>
102
+ </template>
103
+ <div class="es-lowcode__aside--title">模板</div>
104
+ </es-tab-pane>
105
+ <es-tab-pane name="history">
106
+ <template slot="label">
107
+ <es-tooltip
108
+ class="box-item"
109
+ effect="dark"
110
+ content="历史记录"
111
+ placement="right"
112
+ >
113
+ <i class="es-icon-lishijilu" />
114
+ </es-tooltip>
115
+ </template>
116
+ <div class="es-lowcode__aside--title">历史记录</div>
117
+ </es-tab-pane>
118
+ </es-tabs>
119
+ </div>
120
+ </template>
121
+
122
+ <script>
123
+ import Pages from './pages.vue';
124
+ import Modules from './modules.vue';
125
+ import { uuid } from 'eoss/src/utils/util.js';
126
+ import bus from 'eoss/src/utils/bus.js';
127
+
128
+ export default {
129
+ name: 'Aside',
130
+ components: {
131
+ Pages,
132
+ Modules
133
+ },
134
+ props: {
135
+ // 页面列表
136
+ pages: {
137
+ type: Array,
138
+ default: () => []
139
+ },
140
+ // 组件库数据
141
+ components: {
142
+ type: Array,
143
+ default: () => []
144
+ },
145
+ // 组件库数据
146
+ library: {
147
+ type: Array,
148
+ default: () => []
149
+ }
150
+ },
151
+ computed: {
152
+ // 分页数据列表
153
+ modules() {
154
+ return [
155
+ { name: 'component', label: '组件', children: this.components },
156
+ {
157
+ name: 'dom',
158
+ label: '元素',
159
+ collapse: true,
160
+ children: [
161
+ {
162
+ name: 'html',
163
+ label: 'HTML',
164
+ children: [
165
+ { name: 'h1', label: 'h1', description: '大标题' },
166
+ { name: 'h2', label: 'h2', description: '中标题' },
167
+ { name: 'h3', label: 'h3', description: '小标题' },
168
+ { name: 'div', label: 'div', description: '容器' },
169
+ {
170
+ name: 'span',
171
+ label: 'span',
172
+ component: 'span',
173
+ description: '内联'
174
+ },
175
+ { name: 'a', label: 'a', description: '链接' },
176
+ { name: 'img', label: 'img', description: '图片' },
177
+ { name: 'p', label: 'p', description: '段落' }
178
+ ]
179
+ },
180
+ {
181
+ name: 'special',
182
+ label: '特殊元素',
183
+ children: [
184
+ {
185
+ name: 'component',
186
+ label: 'component',
187
+ description: '动态组件'
188
+ },
189
+ {
190
+ name: 'slot',
191
+ label: 'slot',
192
+ description: '插槽'
193
+ }
194
+ ]
195
+ },
196
+ {
197
+ name: 'vue',
198
+ label: 'Vue组件',
199
+ children: [
200
+ {
201
+ name: 'Transition',
202
+ label: 'Transition',
203
+ description: '过渡动画'
204
+ },
205
+ {
206
+ name: 'TransitionGroup',
207
+ label: 'TransitionGroup',
208
+ description: '过渡动画组'
209
+ },
210
+ {
211
+ name: 'KeepAlive',
212
+ label: 'KeepAlive',
213
+ description: '缓存组件'
214
+ },
215
+ {
216
+ name: 'RouterLink',
217
+ label: 'RouterLink',
218
+ description: '路由链接'
219
+ },
220
+ {
221
+ name: 'RouterView',
222
+ label: 'RouterView',
223
+ description: '路由视图'
224
+ }
225
+ ]
226
+ }
227
+ ]
228
+ }
229
+ ];
230
+ }
231
+ },
232
+ watch: {
233
+ /**
234
+ * 监听hide变化,更新aside宽度
235
+ */
236
+ hide(val) {
237
+ this.styles.width = val ? '49px' : '400px';
238
+ }
239
+ },
240
+ data() {
241
+ return {
242
+ styles: {
243
+ width: '400px'
244
+ },
245
+ hide: false,
246
+ // 弹窗状态
247
+ visible: false,
248
+ // 当前激活标签
249
+ active: 'page',
250
+ // 表单数据
251
+ form: {
252
+ name: '',
253
+ description: ''
254
+ },
255
+ // 表单校验规则
256
+ rules: {
257
+ name: [{ required: true, message: '请输入名称', trigger: 'blur' }]
258
+ //description: [{ required: true, message: '请输入描述', trigger: 'blur' }]
259
+ }
260
+ };
261
+ },
262
+ methods: {
263
+ /**
264
+ * 处理点击事件
265
+ */
266
+ handleClick() {
267
+ this.hide = true;
268
+ },
269
+ /**
270
+ * 处理标签点击事件
271
+ */
272
+ handleTabClick() {
273
+ this.hide = false;
274
+ },
275
+ /**
276
+ * 处理新增页面事件
277
+ */
278
+ /**
279
+ * 处理新增页面事件
280
+ */
281
+ handleAddPage() {
282
+ const page = localStorage.getItem('pageList');
283
+ if (page) {
284
+ this.$message.warning('请先保存当前页面!');
285
+ return;
286
+ }
287
+ this.visible = true;
288
+ },
289
+ /**
290
+ * 关闭弹窗
291
+ */
292
+ handleClose() {
293
+ this.$refs.formRef.resetFields();
294
+ },
295
+ /**
296
+ * 提交表单
297
+ */
298
+ submitForm() {
299
+ this.$refs.formRef.validate((valid) => {
300
+ if (valid) {
301
+ this.visible = false;
302
+ const id = `page_${uuid()}`;
303
+ bus.$emit('addPage', {
304
+ id: id, // id
305
+ title: '', // 页面标题
306
+ name: this.form.name, // 名称
307
+ description: this.form.description, // 描述
308
+ version: '1.0', // 版本
309
+ dependencies: [], // 依赖组件
310
+ import: [], // 引入组件
311
+ provide: {}, // 提供数据,
312
+ inject: {}, // 注入数据,
313
+ route: '', // 路由
314
+ props: {}, // props
315
+ methods: {}, // 方法
316
+ emits: [], // 事件
317
+ data: {}, // 数据
318
+ computed: {}, // 计算属性
319
+ created: {}, // 创建
320
+ watch: {}, // 监听
321
+ mounted: {}, // 挂载
322
+ unmounted: {}, //vue3
323
+ destroyed: {}, //vue2
324
+ components: [] // 子组件
325
+ });
326
+ }
327
+ });
328
+ }
329
+ }
330
+ };
331
+ </script>