lw-cdp-ui 1.0.17 → 1.0.18

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.
@@ -14,7 +14,8 @@
14
14
  :key="index">
15
15
  <el-col :span="item.span || 24"
16
16
  v-if="!hideHandle(item)">
17
- <el-form-item :prop="item.name" :rules="rulesHandle(item)">
17
+ <el-form-item :prop="item.name"
18
+ :rules="rulesHandle(item)">
18
19
  <template #label>
19
20
  {{item.label}}
20
21
  <el-tooltip v-if="item.tips"
@@ -33,13 +34,15 @@
33
34
  show-word-limit></el-input>
34
35
  </template>
35
36
  <!-- upload -->
36
- <template v-else-if="item.component=='upload'" >
37
- <el-col v-for="(_item, _index) in item.options.items" :key="_index">
38
- <el-form-item :prop="_item.name">
39
- <lw-upload v-model="form[_item.name]" :title="_item.label"></lw-upload>
40
- </el-form-item>
41
- </el-col>
42
- </template>
37
+ <template v-else-if="item.component=='upload'">
38
+ <el-col v-for="(_item, _index) in item.options.items"
39
+ :key="_index">
40
+ <el-form-item :prop="_item.name">
41
+ <lw-upload v-model="form[_item.name]"
42
+ :title="_item.label"></lw-upload>
43
+ </el-form-item>
44
+ </el-col>
45
+ </template>
43
46
  <!-- checkbox -->
44
47
  <template v-else-if="item.component=='checkbox'">
45
48
  <template v-if="item.name">
@@ -133,10 +136,11 @@
133
136
  <el-slider v-model="form[item.name]"
134
137
  :marks="item.options.marks"></el-slider>
135
138
  </template>
136
- <!-- noComponent -->
139
+ <!-- 没有组件是component值 就是插槽名称 -->
137
140
  <template v-else>
138
- <el-tag type="danger">[{{item.component}}] Component not
139
- found</el-tag>
141
+ <slot :name="item.component">
142
+ <el-tag type="danger">[{{item.component}}] 没有这个默认组件也未自定义插槽内容</el-tag>
143
+ </slot>
140
144
  </template>
141
145
  <div v-if="item.message"
142
146
  class="el-form-item-msg">{{item.message}}</div>
@@ -0,0 +1,289 @@
1
+ export default {
2
+ icons: [{
3
+ name: '默认',
4
+ key: 'element',
5
+ icons: [
6
+ "el-icon-aim",
7
+ "el-icon-add-location",
8
+ "el-icon-apple",
9
+ "el-icon-alarm-clock",
10
+ "el-icon-arrow-down",
11
+ "el-icon-arrow-down-bold",
12
+ "el-icon-arrow-left",
13
+ "el-icon-arrow-left-bold",
14
+ "el-icon-arrow-right-bold",
15
+ "el-icon-arrow-up",
16
+ "el-icon-back",
17
+ "el-icon-bell",
18
+ "el-icon-baseball",
19
+ "el-icon-bicycle",
20
+ "el-icon-bell-filled",
21
+ "el-icon-basketball",
22
+ "el-icon-bottom",
23
+ "el-icon-box",
24
+ "el-icon-briefcase",
25
+ "el-icon-brush-filled",
26
+ "el-icon-bowl",
27
+ "el-icon-avatar",
28
+ "el-icon-brush",
29
+ "el-icon-burger",
30
+ "el-icon-camera",
31
+ "el-icon-bottom-left",
32
+ "el-icon-calendar",
33
+ "el-icon-caret-bottom",
34
+ "el-icon-caret-left",
35
+ "el-icon-caret-right",
36
+ "el-icon-caret-top",
37
+ "el-icon-chat-dot-square",
38
+ "el-icon-cellphone",
39
+ "el-icon-chat-dot-round",
40
+ "el-icon-chat-line-square",
41
+ "el-icon-chat-line-round",
42
+ "el-icon-chat-round",
43
+ "el-icon-check",
44
+ "el-icon-chat-square",
45
+ "el-icon-cherry",
46
+ "el-icon-chicken",
47
+ "el-icon-circle-check-filled",
48
+ "el-icon-circle-check",
49
+ "el-icon-checked",
50
+ "el-icon-circle-close-filled",
51
+ "el-icon-circle-close",
52
+ "el-icon-arrow-right",
53
+ "el-icon-circle-plus",
54
+ "el-icon-clock",
55
+ "el-icon-close-bold",
56
+ "el-icon-close",
57
+ "el-icon-cloudy",
58
+ "el-icon-circle-plus-filled",
59
+ "el-icon-coffee-cup",
60
+ "el-icon-cold-drink",
61
+ "el-icon-coin",
62
+ "el-icon-arrow-up-bold",
63
+ "el-icon-collection-tag",
64
+ "el-icon-bottom-right",
65
+ "el-icon-coffee",
66
+ "el-icon-camera-filled",
67
+ "el-icon-collection",
68
+ "el-icon-cpu",
69
+ "el-icon-crop",
70
+ "el-icon-coordinate",
71
+ "el-icon-d-arrow-left",
72
+ "el-icon-compass",
73
+ "el-icon-connection",
74
+ "el-icon-credit-card",
75
+ "el-icon-data-board",
76
+ "el-icon-d-arrow-right",
77
+ "el-icon-dessert",
78
+ "el-icon-delete-location",
79
+ "el-icon-d-caret",
80
+ "el-icon-delete",
81
+ "el-icon-dish",
82
+ "el-icon-dish-dot",
83
+ "el-icon-document-copy",
84
+ "el-icon-discount",
85
+ "el-icon-document-checked",
86
+ "el-icon-document-add",
87
+ "el-icon-document-remove",
88
+ "el-icon-data-analysis",
89
+ "el-icon-delete-filled",
90
+ "el-icon-download",
91
+ "el-icon-drizzling",
92
+ "el-icon-eleme",
93
+ "el-icon-eleme-filled",
94
+ "el-icon-edit",
95
+ "el-icon-failed",
96
+ "el-icon-expand",
97
+ "el-icon-female",
98
+ "el-icon-document",
99
+ "el-icon-film",
100
+ "el-icon-finished",
101
+ "el-icon-data-line",
102
+ "el-icon-filter",
103
+ "el-icon-flag",
104
+ "el-icon-folder-checked",
105
+ "el-icon-first-aid-kit",
106
+ "el-icon-folder-add",
107
+ "el-icon-fold",
108
+ "el-icon-folder-delete",
109
+ "el-icon-document-delete",
110
+ "el-icon-folder",
111
+ "el-icon-food",
112
+ "el-icon-folder-opened",
113
+ "el-icon-football",
114
+ "el-icon-folder-remove",
115
+ "el-icon-fries",
116
+ "el-icon-full-screen",
117
+ "el-icon-fork-spoon",
118
+ "el-icon-goblet",
119
+ "el-icon-goblet-full",
120
+ "el-icon-goods",
121
+ "el-icon-goblet-square-full",
122
+ "el-icon-goods-filled",
123
+ "el-icon-grid",
124
+ "el-icon-grape",
125
+ "el-icon-goblet-square",
126
+ "el-icon-headset",
127
+ "el-icon-comment",
128
+ "el-icon-help-filled",
129
+ "el-icon-histogram",
130
+ "el-icon-home-filled",
131
+ "el-icon-help",
132
+ "el-icon-house",
133
+ "el-icon-ice-cream-round",
134
+ "el-icon-hot-water",
135
+ "el-icon-ice-cream",
136
+ "el-icon-files",
137
+ "el-icon-ice-cream-square",
138
+ "el-icon-key",
139
+ "el-icon-ice-tea",
140
+ "el-icon-knife-fork",
141
+ "el-icon-iphone",
142
+ "el-icon-info-filled",
143
+ "el-icon-link",
144
+ "el-icon-ice-drink",
145
+ "el-icon-lightning",
146
+ "el-icon-loading",
147
+ "el-icon-lollipop",
148
+ "el-icon-location-information",
149
+ "el-icon-lock",
150
+ "el-icon-location-filled",
151
+ "el-icon-magnet",
152
+ "el-icon-male",
153
+ "el-icon-location",
154
+ "el-icon-menu",
155
+ "el-icon-magic-stick",
156
+ "el-icon-message-box",
157
+ "el-icon-map-location",
158
+ "el-icon-mic",
159
+ "el-icon-message",
160
+ "el-icon-medal",
161
+ "el-icon-milk-tea",
162
+ "el-icon-microphone",
163
+ "el-icon-minus",
164
+ "el-icon-money",
165
+ "el-icon-moon-night",
166
+ "el-icon-monitor",
167
+ "el-icon-moon",
168
+ "el-icon-more",
169
+ "el-icon-mostly-cloudy",
170
+ "el-icon-more-filled",
171
+ "el-icon-mouse",
172
+ "el-icon-mug",
173
+ "el-icon-mute",
174
+ "el-icon-no-smoking",
175
+ "el-icon-mute-notification",
176
+ "el-icon-notification",
177
+ "el-icon-notebook",
178
+ "el-icon-odometer",
179
+ "el-icon-office-building",
180
+ "el-icon-operation",
181
+ "el-icon-opportunity",
182
+ "el-icon-orange",
183
+ "el-icon-open",
184
+ "el-icon-paperclip",
185
+ "el-icon-pear",
186
+ "el-icon-partly-cloudy",
187
+ "el-icon-phone",
188
+ "el-icon-picture-filled",
189
+ "el-icon-phone-filled",
190
+ "el-icon-picture-rounded",
191
+ "el-icon-guide",
192
+ "el-icon-place",
193
+ "el-icon-platform",
194
+ "el-icon-pie-chart",
195
+ "el-icon-pointer",
196
+ "el-icon-plus",
197
+ "el-icon-position",
198
+ "el-icon-postcard",
199
+ "el-icon-present",
200
+ "el-icon-price-tag",
201
+ "el-icon-promotion",
202
+ "el-icon-pouring",
203
+ "el-icon-reading-lamp",
204
+ "el-icon-question-filled",
205
+ "el-icon-printer",
206
+ "el-icon-picture",
207
+ "el-icon-refresh-right",
208
+ "el-icon-reading",
209
+ "el-icon-refresh-left",
210
+ "el-icon-refresh",
211
+ "el-icon-refrigerator",
212
+ "el-icon-remove-filled",
213
+ "el-icon-right",
214
+ "el-icon-scale-to-original",
215
+ "el-icon-school",
216
+ "el-icon-remove",
217
+ "el-icon-scissor",
218
+ "el-icon-select",
219
+ "el-icon-management",
220
+ "el-icon-search",
221
+ "el-icon-sell",
222
+ "el-icon-semi-select",
223
+ "el-icon-share",
224
+ "el-icon-setting",
225
+ "el-icon-service",
226
+ "el-icon-ship",
227
+ "el-icon-set-up",
228
+ "el-icon-shopping-bag",
229
+ "el-icon-shop",
230
+ "el-icon-shopping-cart",
231
+ "el-icon-shopping-cart-full",
232
+ "el-icon-soccer",
233
+ "el-icon-sold-out",
234
+ "el-icon-smoking",
235
+ "el-icon-sort-down",
236
+ "el-icon-sort",
237
+ "el-icon-sort-up",
238
+ "el-icon-star",
239
+ "el-icon-stamp",
240
+ "el-icon-star-filled",
241
+ "el-icon-stopwatch",
242
+ "el-icon-success-filled",
243
+ "el-icon-suitcase",
244
+ "el-icon-sugar",
245
+ "el-icon-sunny",
246
+ "el-icon-sunrise",
247
+ "el-icon-switch",
248
+ "el-icon-ticket",
249
+ "el-icon-sunset",
250
+ "el-icon-tickets",
251
+ "el-icon-switch-button",
252
+ "el-icon-takeaway-box",
253
+ "el-icon-toilet-paper",
254
+ "el-icon-timer",
255
+ "el-icon-tools",
256
+ "el-icon-top-left",
257
+ "el-icon-top",
258
+ "el-icon-top-right",
259
+ "el-icon-trend-charts",
260
+ "el-icon-turn-off",
261
+ "el-icon-unlock",
262
+ "el-icon-trophy",
263
+ "el-icon-umbrella",
264
+ "el-icon-upload-filled",
265
+ "el-icon-user-filled",
266
+ "el-icon-upload",
267
+ "el-icon-user",
268
+ "el-icon-van",
269
+ "el-icon-copy-document",
270
+ "el-icon-video-pause",
271
+ "el-icon-video-camera-filled",
272
+ "el-icon-view",
273
+ "el-icon-wallet",
274
+ "el-icon-warning-filled",
275
+ "el-icon-watch",
276
+ "el-icon-video-play",
277
+ "el-icon-watermelon",
278
+ "el-icon-video-camera",
279
+ "el-icon-wallet-filled",
280
+ "el-icon-warning",
281
+ "el-icon-list",
282
+ "el-icon-zoom-in",
283
+ "el-icon-zoom-out",
284
+ "el-icon-rank",
285
+ "el-icon-wind-power"
286
+ ]
287
+ }
288
+ ]
289
+ }
@@ -0,0 +1,142 @@
1
+ <template>
2
+ <div class="lw-icon-select">
3
+ <el-input v-model="defaultValue"
4
+ :prefix-icon="defaultValue||'none'"
5
+ :placeholder="placeholder"
6
+ :clearable="clearable"
7
+ :disabled="disabled">
8
+ <template #append>
9
+ <el-button icon="el-icon-more-filled"
10
+ @click="open"></el-button>
11
+ </template>
12
+ </el-input>
13
+ <el-dialog title="图标选择器"
14
+ v-model="dialogVisible"
15
+ :width="780"
16
+ destroy-on-close>
17
+ <el-tabs style="margin-top: -30px;" v-model="activeName">
18
+ <el-tab-pane v-for="item in data"
19
+ :key="item.name"
20
+ :name="item.key"
21
+ lazy>
22
+ <template #label>
23
+ {{item.name}} <el-tag size="small"
24
+ type="info">{{item.icons.length}}</el-tag>
25
+ </template>
26
+ <div class="lw-icon-select__list">
27
+ <el-scrollbar>
28
+ <ul @click="selectIcon">
29
+ <li v-for="icon in item.icons"
30
+ :key="icon">
31
+ <span :data-icon="icon"></span>
32
+ <el-icon>
33
+ <component :is="icon" />
34
+ </el-icon>
35
+ </li>
36
+ </ul>
37
+ </el-scrollbar>
38
+ </div>
39
+ </el-tab-pane>
40
+ </el-tabs>
41
+ </el-dialog>
42
+ </div>
43
+ </template>
44
+
45
+ <script>
46
+ import config from "./iconSelect"
47
+
48
+ export default {
49
+ props: {
50
+ modelValue: { type: String, default: "" },
51
+ placeholder: { type: String, default: "请输入或者选择图标" },
52
+ clearable: { type: Boolean, default: false },
53
+ disabled: { type: Boolean, default: false },
54
+ },
55
+ data () {
56
+ return {
57
+ defaultValue: '',
58
+ activeName: 'element',
59
+ dialogVisible: false,
60
+ data: []
61
+ }
62
+ },
63
+ watch: {
64
+ modelValue (val) {
65
+ this.defaultValue = val
66
+ },
67
+ defaultValue (val) {
68
+ this.$emit('update:modelValue', val)
69
+ }
70
+ },
71
+ mounted () {
72
+ this.defaultValue = this.modelValue
73
+ this.data.push(...config.icons)
74
+ },
75
+ methods: {
76
+ open () {
77
+ if (this.disabled) {
78
+ return false
79
+ }
80
+ this.dialogVisible = true
81
+ },
82
+ selectIcon (e) {
83
+ if (e.target.tagName != 'SPAN') {
84
+ return false
85
+ }
86
+ this.defaultValue = e.target.dataset.icon
87
+ this.dialogVisible = false
88
+ this.$emit('update:modelValue', this.defaultValue);
89
+ }
90
+ }
91
+ }
92
+ </script>
93
+
94
+ <style scoped>
95
+ .lw-icon-select {
96
+ display: inline-block;
97
+ }
98
+ .lw-icon-select__list {
99
+ height: 360px;
100
+ overflow: auto;
101
+ }
102
+ .lw-icon-select__list ul {
103
+ }
104
+ .lw-icon-select__list li {
105
+ display: inline-block;
106
+ width: 80px;
107
+ height: 80px;
108
+ margin: 5px;
109
+ vertical-align: top;
110
+ box-shadow: 0 0 0 1px #eee;
111
+ transition: all 0.1s;
112
+ border-radius: 4px;
113
+ position: relative;
114
+ }
115
+ .lw-icon-select__list li span {
116
+ position: absolute;
117
+ top: 0;
118
+ left: 0;
119
+ right: 0;
120
+ bottom: 0;
121
+ z-index: 1;
122
+ cursor: pointer;
123
+ }
124
+ .lw-icon-select__list li i {
125
+ display: inline-block;
126
+ width: 100%;
127
+ height: 100%;
128
+ font-size: 26px;
129
+ color: #6d7882;
130
+ background: #fff;
131
+ display: flex;
132
+ justify-content: center;
133
+ align-items: center;
134
+ border-radius: 4px;
135
+ }
136
+ .lw-icon-select__list li:hover {
137
+ box-shadow: 0 0 1px 4px rgba(64, 158, 255, 1);
138
+ }
139
+ .lw-icon-select__list li:hover i {
140
+ color: #409eff;
141
+ }
142
+ </style>
@@ -192,8 +192,8 @@ export default {
192
192
  }
193
193
  * ]
194
194
  */
195
- if (user.isCombined || this.isCombined) {
196
- let menu = await this.$api.mock.menu();
195
+ if (user.combined || this.isCombined) {
196
+ let menu = await this.$api.auth.menu();
197
197
  this.$tool.data.set("MENUCOMBINED", menu);
198
198
  // 注入 用于判断子项目 是否扁平化
199
199
  this.$tool.data.set("MENUCOMBINEDNMAE", this.$config.APP_NAME);