lw-cdp-ui 1.1.9 → 1.1.11
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.
- package/dist/components/lwForm/index.vue +46 -37
- package/dist/components/lwLayout/index.vue +38 -35
- package/dist/components/lwUpload/index.vue +1 -9
- package/dist/lw-cdp-ui.esm.js +3241 -4819
- package/dist/lw-cdp-ui.esm.js.map +1 -1
- package/dist/lw-cdp-ui.umd.js +14 -19
- package/dist/lw-cdp-ui.umd.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +12 -10
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<el-skeleton v-if="renderLoading || Object.keys(form).length==0"
|
|
2
|
+
<el-skeleton v-if="renderLoading || Object.keys(form).length == 0"
|
|
3
3
|
animated />
|
|
4
4
|
|
|
5
5
|
<el-form v-else
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
:prop="item?.options?.name ? `${item.name}.${item.options.name}` : item.name"
|
|
30
30
|
:rules="rulesHandle(item)">
|
|
31
31
|
<template #label>
|
|
32
|
-
{{item.label}}
|
|
32
|
+
{{ item.label }}
|
|
33
33
|
<el-tooltip v-if="item.tips"
|
|
34
34
|
:content="item.tips">
|
|
35
35
|
<el-icon><el-icon-question-filled /></el-icon>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
</template>
|
|
38
38
|
|
|
39
39
|
<!-- input -->
|
|
40
|
-
<template v-if="item.component=='input'">
|
|
40
|
+
<template v-if="item.component == 'input'">
|
|
41
41
|
<template v-if="item?.options?.name">
|
|
42
42
|
<el-input v-model="form[item.name][item.options.name]"
|
|
43
43
|
:placeholder="item.options.placeholder"
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
:maxlength="item.options.maxlength"
|
|
48
48
|
show-word-limit>
|
|
49
49
|
<template v-if="item.options.append"
|
|
50
|
-
#append>{{item.options.append}}</template>
|
|
50
|
+
#append>{{ item.options.append }}</template>
|
|
51
51
|
</el-input>
|
|
52
52
|
</template>
|
|
53
53
|
<template v-else>
|
|
@@ -59,39 +59,39 @@
|
|
|
59
59
|
:maxlength="item.options.maxlength"
|
|
60
60
|
show-word-limit>
|
|
61
61
|
<template v-if="item.options.append"
|
|
62
|
-
#append>{{item.options.append}}</template>
|
|
62
|
+
#append>{{ item.options.append }}</template>
|
|
63
63
|
</el-input>
|
|
64
64
|
</template>
|
|
65
65
|
</template>
|
|
66
66
|
<!-- upload -->
|
|
67
|
-
<template v-else-if="item.component=='upload'">
|
|
67
|
+
<template v-else-if="item.component == 'upload'">
|
|
68
68
|
<template v-for="(_item, _index) in item.options.items"
|
|
69
69
|
:key="_index">
|
|
70
70
|
<template v-if="item.name">
|
|
71
|
-
<
|
|
71
|
+
<div style="margin-right: 5px;">
|
|
72
72
|
<lw-upload v-model="form[item.name][_item.name]"
|
|
73
73
|
:maxSize="_item.maxSize"
|
|
74
74
|
:accept="_item.accept"
|
|
75
75
|
:title="_item.label"
|
|
76
76
|
:parseData="item.parseData"
|
|
77
77
|
:apiObj="item.apiObj"></lw-upload>
|
|
78
|
-
</
|
|
78
|
+
</div>
|
|
79
79
|
</template>
|
|
80
80
|
<template v-else>
|
|
81
|
-
<
|
|
81
|
+
<div style="margin-right: 5px;">
|
|
82
82
|
<lw-upload v-model="form[_item.name]"
|
|
83
83
|
:maxSize="_item.maxSize"
|
|
84
84
|
:accept="_item.accept"
|
|
85
85
|
:title="_item.label"
|
|
86
86
|
:parseData="item.parseData"
|
|
87
87
|
:apiObj="item.apiObj"></lw-upload>
|
|
88
|
-
</
|
|
88
|
+
</div>
|
|
89
89
|
</template>
|
|
90
90
|
|
|
91
91
|
</template>
|
|
92
92
|
</template>
|
|
93
93
|
<!-- checkbox -->
|
|
94
|
-
<template v-else-if="item.component=='checkbox'">
|
|
94
|
+
<template v-else-if="item.component == 'checkbox'">
|
|
95
95
|
<template v-if="item.name">
|
|
96
96
|
<el-checkbox v-model="form[item.name][_item.name]"
|
|
97
97
|
:label="_item.label"
|
|
@@ -106,16 +106,16 @@
|
|
|
106
106
|
</template>
|
|
107
107
|
</template>
|
|
108
108
|
<!-- checkboxGroup -->
|
|
109
|
-
<template v-else-if="item.component=='checkboxGroup'">
|
|
109
|
+
<template v-else-if="item.component == 'checkboxGroup'">
|
|
110
110
|
<el-checkbox-group v-model="form[item.name]">
|
|
111
111
|
<el-checkbox v-for="_item in item.options.items"
|
|
112
112
|
:key="_item.value"
|
|
113
|
-
:label="_item.value">{{_item.label}}</el-checkbox>
|
|
113
|
+
:label="_item.value">{{ _item.label }}</el-checkbox>
|
|
114
114
|
</el-checkbox-group>
|
|
115
115
|
</template>
|
|
116
116
|
|
|
117
117
|
<!-- switch -->
|
|
118
|
-
<template v-else-if="item.component=='switch'">
|
|
118
|
+
<template v-else-if="item.component == 'switch'">
|
|
119
119
|
<template v-if="item?.options?.name">
|
|
120
120
|
<el-switch v-model="form[item.name][item.options.name]" />
|
|
121
121
|
</template>
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
</template>
|
|
125
125
|
</template>
|
|
126
126
|
<!-- select -->
|
|
127
|
-
<template v-else-if="item.component=='select'">
|
|
127
|
+
<template v-else-if="item.component == 'select'">
|
|
128
128
|
<template v-if="item?.options?.name">
|
|
129
129
|
<el-select v-model="form[item.name][item.options.name]"
|
|
130
130
|
:multiple="item.options?.multiple"
|
|
@@ -160,21 +160,23 @@
|
|
|
160
160
|
|
|
161
161
|
</template>
|
|
162
162
|
<!-- cascader -->
|
|
163
|
-
<template v-else-if="item.component=='cascader'">
|
|
163
|
+
<template v-else-if="item.component == 'cascader'">
|
|
164
164
|
<template v-if="item?.options?.name">
|
|
165
165
|
<el-cascader v-model="form[item.name][item.options.name]"
|
|
166
|
+
style="width: 100%;"
|
|
166
167
|
:options="item.options.items"
|
|
167
168
|
clearable></el-cascader>
|
|
168
169
|
</template>
|
|
169
170
|
<template v-else>
|
|
170
171
|
<el-cascader v-model="form[item.name]"
|
|
172
|
+
style="width: 100%;"
|
|
171
173
|
:options="item.options.items"
|
|
172
174
|
clearable></el-cascader>
|
|
173
175
|
</template>
|
|
174
176
|
|
|
175
177
|
</template>
|
|
176
178
|
<!-- date -->
|
|
177
|
-
<template v-else-if="item.component=='date'">
|
|
179
|
+
<template v-else-if="item.component == 'date'">
|
|
178
180
|
<template v-if="item?.options?.name">
|
|
179
181
|
<el-date-picker v-model="form[item.name][item.options.name]"
|
|
180
182
|
style="width: 100%;"
|
|
@@ -186,6 +188,7 @@
|
|
|
186
188
|
:default-time="item.options.defaultTime"
|
|
187
189
|
:disabled="item.options.disabled"
|
|
188
190
|
:value-format="item.options.valueFormat"
|
|
191
|
+
:format="item.options.format"
|
|
189
192
|
:placeholder="item.options.placeholder || '请选择'"></el-date-picker>
|
|
190
193
|
</template>
|
|
191
194
|
<template v-else>
|
|
@@ -199,52 +202,53 @@
|
|
|
199
202
|
:default-time="item.options.defaultTime"
|
|
200
203
|
:disabled="item.options.disabled"
|
|
201
204
|
:value-format="item.options.valueFormat"
|
|
205
|
+
:format="item.options.format"
|
|
202
206
|
:placeholder="item.options.placeholder || '请选择'"></el-date-picker>
|
|
203
207
|
</template>
|
|
204
208
|
|
|
205
209
|
</template>
|
|
206
210
|
<!-- number -->
|
|
207
|
-
<template v-else-if="item.component=='number'">
|
|
211
|
+
<template v-else-if="item.component == 'number'">
|
|
208
212
|
<template v-if="item?.options?.name">
|
|
209
213
|
<el-input-number v-model="form[item.name][item.options.name]"
|
|
210
|
-
:disabled="item.options
|
|
214
|
+
:disabled="item.options?.disabled"
|
|
211
215
|
:min="item?.options?.min"
|
|
212
216
|
:max="item?.options?.max"
|
|
213
217
|
:step="item?.options?.step || 1"
|
|
214
218
|
:precision="item?.options?.precision"
|
|
215
|
-
:placeholder="
|
|
219
|
+
:placeholder="item?.options?.placeholder || ''"
|
|
216
220
|
:controls-position="item?.options?.controlsPosition || 'right'">
|
|
217
221
|
<template v-if="item?.options?.suffix"
|
|
218
222
|
#suffix>
|
|
219
|
-
<span>{{item.options.suffix}}</span>
|
|
223
|
+
<span>{{ item.options.suffix }}</span>
|
|
220
224
|
</template>
|
|
221
225
|
</el-input-number>
|
|
222
226
|
</template>
|
|
223
227
|
<template v-else>
|
|
224
228
|
<el-input-number v-model="form[item.name]"
|
|
225
|
-
:disabled="item.options
|
|
229
|
+
:disabled="item.options?.disabled"
|
|
226
230
|
:min="item?.options?.min"
|
|
227
231
|
:max="item?.options?.max"
|
|
228
232
|
:step="item?.options?.step || 1"
|
|
229
233
|
:precision="item?.options?.precision"
|
|
230
|
-
:placeholder="
|
|
234
|
+
:placeholder="item?.options?.placeholder || ''"
|
|
231
235
|
:controls-position="item?.options?.controlsPosition || 'right'">
|
|
232
236
|
<template v-if="item?.options?.suffix"
|
|
233
237
|
#suffix>
|
|
234
|
-
<span>{{item.options.suffix}}</span>
|
|
238
|
+
<span>{{ item.options.suffix }}</span>
|
|
235
239
|
</template>
|
|
236
240
|
</el-input-number>
|
|
237
241
|
</template>
|
|
238
242
|
|
|
239
243
|
</template>
|
|
240
244
|
<!-- radio -->
|
|
241
|
-
<template v-else-if="item.component=='radio'">
|
|
245
|
+
<template v-else-if="item.component == 'radio'">
|
|
242
246
|
<template v-if="item?.options?.name">
|
|
243
247
|
<el-radio-group v-model="form[item.name][item.options.name]"
|
|
244
248
|
:disabled="item.options.disabled">
|
|
245
249
|
<el-radio v-for="_item in item.options.items"
|
|
246
250
|
:key="_item.value"
|
|
247
|
-
:label="_item.value">{{_item.label}}</el-radio>
|
|
251
|
+
:label="_item.value">{{ _item.label }}</el-radio>
|
|
248
252
|
</el-radio-group>
|
|
249
253
|
</template>
|
|
250
254
|
<template v-else>
|
|
@@ -252,13 +256,13 @@
|
|
|
252
256
|
:disabled="item.options.disabled">
|
|
253
257
|
<el-radio v-for="_item in item.options.items"
|
|
254
258
|
:key="_item.value"
|
|
255
|
-
:label="_item.value">{{_item.label}}</el-radio>
|
|
259
|
+
:label="_item.value">{{ _item.label }}</el-radio>
|
|
256
260
|
</el-radio-group>
|
|
257
261
|
</template>
|
|
258
262
|
|
|
259
263
|
</template>
|
|
260
264
|
<!-- color -->
|
|
261
|
-
<template v-else-if="item.component=='color'">
|
|
265
|
+
<template v-else-if="item.component == 'color'">
|
|
262
266
|
<template v-if="item?.options?.name">
|
|
263
267
|
<el-color-picker v-model="form[item.name][item.options.name]" />
|
|
264
268
|
</template>
|
|
@@ -268,7 +272,7 @@
|
|
|
268
272
|
|
|
269
273
|
</template>
|
|
270
274
|
<!-- rate -->
|
|
271
|
-
<template v-else-if="item.component=='rate'">
|
|
275
|
+
<template v-else-if="item.component == 'rate'">
|
|
272
276
|
<template v-if="item?.options?.name">
|
|
273
277
|
<el-rate style="margin-top: 6px;"
|
|
274
278
|
v-model="form[item.name][item.options.name]"></el-rate>
|
|
@@ -280,7 +284,7 @@
|
|
|
280
284
|
|
|
281
285
|
</template>
|
|
282
286
|
<!-- slider -->
|
|
283
|
-
<template v-else-if="item.component=='slider'">
|
|
287
|
+
<template v-else-if="item.component == 'slider'">
|
|
284
288
|
<template v-if="item?.options?.name">
|
|
285
289
|
<el-slider v-model="form[item.name][item.options.name]"
|
|
286
290
|
:marks="item.options.marks"></el-slider>
|
|
@@ -293,7 +297,7 @@
|
|
|
293
297
|
</template>
|
|
294
298
|
|
|
295
299
|
<!-- tags -->
|
|
296
|
-
<template v-else-if="item.component=='tags'">
|
|
300
|
+
<template v-else-if="item.component == 'tags'">
|
|
297
301
|
<div class="tags-list">
|
|
298
302
|
<template v-if="item?.options?.name">
|
|
299
303
|
<el-tag v-for="tag in form[item.name][item?.options?.name]"
|
|
@@ -331,13 +335,13 @@
|
|
|
331
335
|
|
|
332
336
|
<!-- 没有组件是component值 就是插槽名称 -->
|
|
333
337
|
<template v-else>
|
|
334
|
-
<slot :name="item.component">
|
|
335
|
-
<el-tag type="danger">[{{item.component}}]
|
|
338
|
+
<slot :name="item.component" :itemCur="item" :formCur="form">
|
|
339
|
+
<el-tag type="danger">[{{ item.component }}]
|
|
336
340
|
没有这个默认组件也未自定义插槽内容</el-tag>
|
|
337
341
|
</slot>
|
|
338
342
|
</template>
|
|
339
343
|
<div v-if="item.message"
|
|
340
|
-
class="el-form-item-msg">{{item.message}}</div>
|
|
344
|
+
class="el-form-item-msg">{{ item.message }}</div>
|
|
341
345
|
</el-form-item>
|
|
342
346
|
</el-col>
|
|
343
347
|
</template>
|
|
@@ -567,14 +571,19 @@ export default {
|
|
|
567
571
|
}
|
|
568
572
|
</script>
|
|
569
573
|
<style lang="scss" scoped>
|
|
570
|
-
.button-new-tag
|
|
574
|
+
.button-new-tag
|
|
575
|
+
{
|
|
571
576
|
margin-left: 10px;
|
|
572
577
|
}
|
|
573
|
-
|
|
578
|
+
|
|
579
|
+
.w-20
|
|
580
|
+
{
|
|
574
581
|
width: 100px;
|
|
575
582
|
margin-left: 10px;
|
|
576
583
|
}
|
|
577
|
-
|
|
584
|
+
|
|
585
|
+
.title-name
|
|
586
|
+
{
|
|
578
587
|
font-size: 18px;
|
|
579
588
|
font-weight: bold;
|
|
580
589
|
margin-bottom: 10px;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<!-- 通栏布局 -->
|
|
3
|
-
<template v-if="layout=='header'">
|
|
3
|
+
<template v-if="layout == 'header'">
|
|
4
4
|
<header class="adminui-header">
|
|
5
5
|
<div class="adminui-header-left">
|
|
6
6
|
<div class="logo-bar">
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
class="nav">
|
|
13
13
|
<li v-for="item in menu"
|
|
14
14
|
:key="item"
|
|
15
|
-
:class="pmenu.path==item.path?'active':''"
|
|
15
|
+
:class="pmenu.path == item.path ? 'active' : ''"
|
|
16
16
|
@click="showMenu(item)">
|
|
17
17
|
<el-icon>
|
|
18
18
|
<component :is="item.meta.icon || 'el-icon-menu'" />
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
</div>
|
|
28
28
|
</header>
|
|
29
29
|
<section class="aminui-wrapper">
|
|
30
|
-
<div v-if="!ismobile && nextMenu.length>0 || !pmenu.component"
|
|
31
|
-
:class="menuIsCollapse?'aminui-side isCollapse':'aminui-side'">
|
|
30
|
+
<div v-if="!ismobile && nextMenu.length > 0 || !pmenu.component"
|
|
31
|
+
:class="menuIsCollapse ? 'aminui-side isCollapse' : 'aminui-side'">
|
|
32
32
|
<div v-if="!menuIsCollapse"
|
|
33
33
|
class="adminui-side-top">
|
|
34
34
|
<h2>{{ pmenu.meta.title }}</h2>
|
|
@@ -45,8 +45,7 @@
|
|
|
45
45
|
</div>
|
|
46
46
|
<div class="adminui-side-bottom"
|
|
47
47
|
@click="$store.commit('TOGGLE_menuIsCollapse')">
|
|
48
|
-
<el-icon><el-icon-expand v-if="menuIsCollapse" /><el-icon-fold
|
|
49
|
-
v-else /></el-icon>
|
|
48
|
+
<el-icon><el-icon-expand v-if="menuIsCollapse" /><el-icon-fold v-else /></el-icon>
|
|
50
49
|
</div>
|
|
51
50
|
</div>
|
|
52
51
|
<Side-m v-if="ismobile"></Side-m>
|
|
@@ -71,7 +70,7 @@
|
|
|
71
70
|
</template>
|
|
72
71
|
|
|
73
72
|
<!-- 经典布局 -->
|
|
74
|
-
<template v-else-if="layout=='menu'">
|
|
73
|
+
<template v-else-if="layout == 'menu'">
|
|
75
74
|
<section class="aminui-body-menu">
|
|
76
75
|
<div class="aminui-side-split-left">
|
|
77
76
|
<Aside></Aside>
|
|
@@ -79,13 +78,12 @@
|
|
|
79
78
|
|
|
80
79
|
<section class="aminui-wrapper">
|
|
81
80
|
<div v-if="!ismobile"
|
|
82
|
-
:class="menuIsCollapse?'aminui-side isCollapse':'aminui-side'">
|
|
81
|
+
:class="menuIsCollapse ? 'aminui-side isCollapse' : 'aminui-side'">
|
|
82
|
+
<div class="title-name">
|
|
83
|
+
{{ menuIsCollapse ? $config.APP_NAME.charAt(0) : $config.APP_NAME }}
|
|
84
|
+
</div>
|
|
83
85
|
<div class="adminui-side-scroll">
|
|
84
|
-
|
|
85
86
|
<el-scrollbar>
|
|
86
|
-
<div class="title-name">
|
|
87
|
-
{{ menuIsCollapse ? $config.APP_NAME.charAt(0) : $config.APP_NAME }}
|
|
88
|
-
</div>
|
|
89
87
|
<el-menu :default-active="active"
|
|
90
88
|
router
|
|
91
89
|
:collapse="menuIsCollapse"
|
|
@@ -96,15 +94,14 @@
|
|
|
96
94
|
</div>
|
|
97
95
|
<div class="adminui-side-bottom"
|
|
98
96
|
@click="$store.commit('TOGGLE_menuIsCollapse')">
|
|
99
|
-
<el-icon><el-icon-expand v-if="menuIsCollapse" /><el-icon-fold
|
|
100
|
-
v-else /></el-icon>
|
|
97
|
+
<el-icon><el-icon-expand v-if="menuIsCollapse" /><el-icon-fold v-else /></el-icon>
|
|
101
98
|
</div>
|
|
102
99
|
</div>
|
|
103
100
|
<Side-m v-if="ismobile"></Side-m>
|
|
104
101
|
<div class="aminui-body el-container">
|
|
105
102
|
<div class="aminui-body-menu-top">
|
|
106
103
|
<div class="top-bar-title">
|
|
107
|
-
<span class="title">{{$t("layout.topbar")}}:</span>
|
|
104
|
+
<span class="title">{{ $t("layout.topbar") }}:</span>
|
|
108
105
|
<Topbar v-if="!ismobile"></Topbar>
|
|
109
106
|
</div>
|
|
110
107
|
<userbar :isShowBu="isShowBu"
|
|
@@ -115,8 +112,7 @@
|
|
|
115
112
|
id="adminui-main">
|
|
116
113
|
<slot name="routerView">
|
|
117
114
|
<router-view v-slot="{ Component }">
|
|
118
|
-
<keep-alive
|
|
119
|
-
:include="this.$store.state.keepAlive.keepLiveRoute">
|
|
115
|
+
<keep-alive :include="this.$store.state.keepAlive.keepLiveRoute">
|
|
120
116
|
<component :is="Component"
|
|
121
117
|
:key="$route.fullPath"
|
|
122
118
|
v-if="$store.state.keepAlive.routeShow" />
|
|
@@ -131,7 +127,7 @@
|
|
|
131
127
|
</template>
|
|
132
128
|
|
|
133
129
|
<!-- 功能坞布局 -->
|
|
134
|
-
<template v-else-if="layout=='dock'">
|
|
130
|
+
<template v-else-if="layout == 'dock'">
|
|
135
131
|
<header class="adminui-header">
|
|
136
132
|
<div class="adminui-header-left">
|
|
137
133
|
<div class="logo-bar">
|
|
@@ -191,10 +187,10 @@
|
|
|
191
187
|
<ul>
|
|
192
188
|
<li v-for="item in menu"
|
|
193
189
|
:key="item"
|
|
194
|
-
:class="pmenu.path==item.path?'active':''"
|
|
190
|
+
:class="pmenu.path == item.path ? 'active' : ''"
|
|
195
191
|
@click="showMenu(item)">
|
|
196
192
|
<el-icon>
|
|
197
|
-
<component :is="item.meta.icon || el-icon-menu" />
|
|
193
|
+
<component :is="item.meta.icon || el - icon - menu" />
|
|
198
194
|
</el-icon>
|
|
199
195
|
<p>{{ item.meta.title }}</p>
|
|
200
196
|
</li>
|
|
@@ -202,8 +198,8 @@
|
|
|
202
198
|
</el-scrollbar>
|
|
203
199
|
</div>
|
|
204
200
|
</div>
|
|
205
|
-
<div v-if="!ismobile && nextMenu.length>0 || !pmenu.component"
|
|
206
|
-
:class="menuIsCollapse?'aminui-side isCollapse':'aminui-side'">
|
|
201
|
+
<div v-if="!ismobile && nextMenu.length > 0 || !pmenu.component"
|
|
202
|
+
:class="menuIsCollapse ? 'aminui-side isCollapse' : 'aminui-side'">
|
|
207
203
|
<div v-if="!menuIsCollapse"
|
|
208
204
|
class="adminui-side-top">
|
|
209
205
|
<h2>{{ pmenu.meta.title }}</h2>
|
|
@@ -220,8 +216,7 @@
|
|
|
220
216
|
</div>
|
|
221
217
|
<div class="adminui-side-bottom"
|
|
222
218
|
@click="$store.commit('TOGGLE_menuIsCollapse')">
|
|
223
|
-
<el-icon><el-icon-expand v-if="menuIsCollapse" /><el-icon-fold
|
|
224
|
-
v-else /></el-icon>
|
|
219
|
+
<el-icon><el-icon-expand v-if="menuIsCollapse" /><el-icon-fold v-else /></el-icon>
|
|
225
220
|
</div>
|
|
226
221
|
</div>
|
|
227
222
|
<Side-m v-if="ismobile"></Side-m>
|
|
@@ -298,6 +293,7 @@ export default {
|
|
|
298
293
|
data() {
|
|
299
294
|
return {
|
|
300
295
|
settingDialog: false,
|
|
296
|
+
changeMenu: false,
|
|
301
297
|
menu: [],
|
|
302
298
|
nextMenu: [],
|
|
303
299
|
pmenu: {},
|
|
@@ -318,25 +314,29 @@ export default {
|
|
|
318
314
|
return this.$store.state.global.menuIsCollapse
|
|
319
315
|
}
|
|
320
316
|
},
|
|
317
|
+
beforeCreate() {
|
|
318
|
+
// 挂载菜单订阅
|
|
319
|
+
this.$bus.$on('setMenu', (menu) => {
|
|
320
|
+
this.changeMenu = true
|
|
321
|
+
this.menu = this.filterUrl(menu)
|
|
322
|
+
})
|
|
323
|
+
},
|
|
321
324
|
async created() {
|
|
322
325
|
// 标识当前项目
|
|
323
326
|
let isCombined = this.$tool.data.get("MENUCOMBINED")
|
|
324
327
|
if (isCombined) {
|
|
325
328
|
this.$tool.data.set("MENUCOMBINEDNMAE", this.$config.APP_NAME);
|
|
326
329
|
}
|
|
327
|
-
|
|
330
|
+
|
|
328
331
|
this.onLayoutResize();
|
|
329
332
|
window.addEventListener('resize', this.onLayoutResize);
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
+
this.getUserInfo();
|
|
334
|
+
if (!this.changeMenu) {
|
|
335
|
+
var menu = this.$router.sc_getMenu();
|
|
336
|
+
this.menu = this.filterUrl(menu);
|
|
337
|
+
}
|
|
333
338
|
this.showThis()
|
|
334
339
|
this.$store.commit("LOAD_USER_FROM_LOCAL_STORAGE")
|
|
335
|
-
|
|
336
|
-
// 挂载菜单订阅
|
|
337
|
-
this.$bus.$on('setMenu', (menu) => {
|
|
338
|
-
this.menu = this.filterUrl(menu)
|
|
339
|
-
})
|
|
340
340
|
},
|
|
341
341
|
watch: {
|
|
342
342
|
async $route() {
|
|
@@ -356,8 +356,8 @@ export default {
|
|
|
356
356
|
},
|
|
357
357
|
methods: {
|
|
358
358
|
// 获取用户信息 - 用于从demo环境直接跳转
|
|
359
|
-
async getUserInfo(){
|
|
360
|
-
|
|
359
|
+
async getUserInfo() {
|
|
360
|
+
|
|
361
361
|
// 获取所有bu
|
|
362
362
|
let bu = await this.$api.auth.bu()
|
|
363
363
|
this.$tool.data.set('buList', bu)
|
|
@@ -396,6 +396,7 @@ export default {
|
|
|
396
396
|
},
|
|
397
397
|
//转换外部链接的路由
|
|
398
398
|
filterUrl(map) {
|
|
399
|
+
|
|
399
400
|
var newMap = []
|
|
400
401
|
map && map.forEach(item => {
|
|
401
402
|
item.meta = item.meta ? item.meta : {};
|
|
@@ -413,6 +414,8 @@ export default {
|
|
|
413
414
|
}
|
|
414
415
|
newMap.push(item)
|
|
415
416
|
})
|
|
417
|
+
|
|
418
|
+
this.changeMenu = false
|
|
416
419
|
return newMap;
|
|
417
420
|
},
|
|
418
421
|
//退出最大化
|
|
@@ -212,14 +212,6 @@ export default {
|
|
|
212
212
|
file.uid = this.$tool.getUUID('file, 16')
|
|
213
213
|
this.$refs.uploader.handleStart(file)
|
|
214
214
|
},
|
|
215
|
-
// parseData(res) {
|
|
216
|
-
// return {
|
|
217
|
-
// code: 200, //分析状态字段结构
|
|
218
|
-
// fileName: res.fileName,//分析文件名称
|
|
219
|
-
// src: res.previewInfo.url, //分析图片远程地址结构
|
|
220
|
-
// msg: res.message //分析描述字段结构
|
|
221
|
-
// }
|
|
222
|
-
// },
|
|
223
215
|
success(res, file) {
|
|
224
216
|
//释放内存删除blob
|
|
225
217
|
URL.revokeObjectURL(file.tempFile)
|
|
@@ -232,7 +224,7 @@ export default {
|
|
|
232
224
|
})
|
|
233
225
|
return false
|
|
234
226
|
}
|
|
235
|
-
var response = this.parseData(res)
|
|
227
|
+
var response = this.parseData(res,file)
|
|
236
228
|
file.url = response.src
|
|
237
229
|
this.value = file.url
|
|
238
230
|
},
|