wl-design-mobile 0.7.2 → 0.7.3
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/README.md +6 -6
- package/doc/img/styles/css/index.css +3 -3
- package/edit/list/styles/css/index.css +39 -39
- package/package.json +1 -1
- package/search/{lambo-week-select.vue → lambo-week-date-select.vue} +160 -47
- package/util/assist.js +43 -43
- package/util/bus.js +4 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# wl-design-mobile
|
|
2
|
-
|
|
3
|
-
## Setup
|
|
4
|
-
```
|
|
5
|
-
npm i wl-design-mobile
|
|
6
|
-
```
|
|
1
|
+
# wl-design-mobile
|
|
2
|
+
|
|
3
|
+
## Setup
|
|
4
|
+
```
|
|
5
|
+
npm i wl-design-mobile
|
|
6
|
+
```
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.img-upload-container {
|
|
2
|
-
padding: 0px 14px 12px 14px;
|
|
3
|
-
}
|
|
1
|
+
.img-upload-container {
|
|
2
|
+
padding: 0px 14px 12px 14px;
|
|
3
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
.coll-div {
|
|
2
|
-
margin-bottom: 8px;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.indicator-title {
|
|
6
|
-
display: flex;
|
|
7
|
-
align-items: center;
|
|
8
|
-
color: var(--scl-blue);
|
|
9
|
-
font-size: 14px;
|
|
10
|
-
font-family: 微软雅黑, serif Regular;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.indicator-title .color-line {
|
|
14
|
-
width: 3px;
|
|
15
|
-
height: 14px;
|
|
16
|
-
margin-right: 8px;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.coll-title-icon {
|
|
20
|
-
justify-content: center;
|
|
21
|
-
align-items: center;
|
|
22
|
-
align-content: center;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/* 覆盖折叠面板的标题的padding */
|
|
26
|
-
/deep/ .van-cell {
|
|
27
|
-
padding: 12px 10px;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/* 覆盖去掉折叠面板的标题下面的线 */
|
|
31
|
-
/deep/ .van-cell::after {
|
|
32
|
-
border: none;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/* 覆盖折叠面板的内容的padding */
|
|
36
|
-
/deep/ .van-collapse-item__content {
|
|
37
|
-
padding: 0px 0px 0px 0px;
|
|
38
|
-
}
|
|
39
|
-
|
|
1
|
+
.coll-div {
|
|
2
|
+
margin-bottom: 8px;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.indicator-title {
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
color: var(--scl-blue);
|
|
9
|
+
font-size: 14px;
|
|
10
|
+
font-family: 微软雅黑, serif Regular;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.indicator-title .color-line {
|
|
14
|
+
width: 3px;
|
|
15
|
+
height: 14px;
|
|
16
|
+
margin-right: 8px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.coll-title-icon {
|
|
20
|
+
justify-content: center;
|
|
21
|
+
align-items: center;
|
|
22
|
+
align-content: center;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* 覆盖折叠面板的标题的padding */
|
|
26
|
+
/deep/ .van-cell {
|
|
27
|
+
padding: 12px 10px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* 覆盖去掉折叠面板的标题下面的线 */
|
|
31
|
+
/deep/ .van-cell::after {
|
|
32
|
+
border: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* 覆盖折叠面板的内容的padding */
|
|
36
|
+
/deep/ .van-collapse-item__content {
|
|
37
|
+
padding: 0px 0px 0px 0px;
|
|
38
|
+
}
|
|
39
|
+
|
package/package.json
CHANGED
|
@@ -1,61 +1,63 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
|
|
4
|
-
@touchstart="handleTouchStart"
|
|
5
|
-
@touchmove="handleTouchMove"
|
|
6
|
-
@touchend="handleTouchEnd"
|
|
7
|
-
@mousedown="handleMouseDown"
|
|
8
|
-
@mousemove="handleMouseMove"
|
|
9
|
-
@mouseup="handleMouseUp"
|
|
10
|
-
@mouseleave="handleMouseLeave"
|
|
11
|
-
>
|
|
2
|
+
<div class="week-date-picker" @touchstart="handleTouchStart" @touchmove="handleTouchMove" @touchend="handleTouchEnd"
|
|
3
|
+
@mousedown="handleMouseDown" @mousemove="handleMouseMove" @mouseup="handleMouseUp" @mouseleave="handleMouseLeave">
|
|
12
4
|
<div class="week-days">
|
|
13
|
-
<
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
:class="{
|
|
18
|
-
'today': day.isToday,
|
|
5
|
+
<van-icon name="arrow-left" @click="goPrevWeek" />
|
|
6
|
+
<div v-for="day in weekDays" :key="day.date.getTime()" class="day-item"
|
|
7
|
+
:class="{
|
|
8
|
+
'today': day.isToday,
|
|
19
9
|
'active': day.isSelected,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
10
|
+
'has-data': day.hasData
|
|
11
|
+
}"
|
|
12
|
+
@click="selectDay(day)">
|
|
23
13
|
<div class="day-week">{{ day.weekDay }}</div>
|
|
24
|
-
<div class="day-month">{{ day.month }}
|
|
14
|
+
<div class="day-month">{{ day.year }}-{{ day.month }}</div>
|
|
25
15
|
<div class="day-date">{{ day.date.getDate() }}</div>
|
|
26
|
-
|
|
16
|
+
<!-- 数据点显示 -->
|
|
17
|
+
<div v-if="day.hasData" class="data-dot"></div>
|
|
27
18
|
</div>
|
|
19
|
+
<van-icon name="arrow" @click="goNextWeek" />
|
|
28
20
|
</div>
|
|
29
21
|
</div>
|
|
30
22
|
</template>
|
|
31
23
|
|
|
32
24
|
<script>
|
|
33
|
-
const WEEK_DAYS = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
|
|
25
|
+
const WEEK_DAYS = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
|
|
34
26
|
|
|
35
27
|
export default {
|
|
36
|
-
name: "
|
|
28
|
+
name: "LamboWeekDateSelect",
|
|
37
29
|
|
|
38
30
|
data() {
|
|
39
31
|
return {
|
|
40
|
-
|
|
32
|
+
selectedDate_: new Date(),
|
|
41
33
|
weekStart: null,
|
|
42
34
|
startX: 0,
|
|
43
35
|
endX: 0,
|
|
44
36
|
isDragging: false,
|
|
45
37
|
swipeThreshold: 50,
|
|
46
|
-
clickDisabled: false
|
|
38
|
+
clickDisabled: false,
|
|
39
|
+
// 模拟数据存储,实际项目中可能从接口获取
|
|
40
|
+
dataDates: new Set()
|
|
47
41
|
}
|
|
48
42
|
},
|
|
49
43
|
props: {
|
|
50
|
-
|
|
44
|
+
selectedDate: {
|
|
51
45
|
type: String,
|
|
52
|
-
default:
|
|
46
|
+
default: ""
|
|
53
47
|
},
|
|
48
|
+
// 新增props:传入有数据的日期列表
|
|
49
|
+
dataDatesList: {
|
|
50
|
+
type: Array,
|
|
51
|
+
default: () => []
|
|
52
|
+
}
|
|
54
53
|
},
|
|
55
54
|
|
|
56
55
|
created() {
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
// 初始化数据日期
|
|
57
|
+
this.initDataDates();
|
|
58
|
+
|
|
59
|
+
if (this.selectedDate) {
|
|
60
|
+
this.initWithWeekDate(this.selectedDate);
|
|
59
61
|
} else {
|
|
60
62
|
const today = new Date();
|
|
61
63
|
const todayStr = this.formatDateToYYYYMMDD(today);
|
|
@@ -63,25 +65,56 @@ export default {
|
|
|
63
65
|
}
|
|
64
66
|
},
|
|
65
67
|
|
|
68
|
+
watch: {
|
|
69
|
+
// 监听数据日期列表变化
|
|
70
|
+
dataDatesList: {
|
|
71
|
+
handler(newList) {
|
|
72
|
+
this.initDataDates(newList);
|
|
73
|
+
// 重新计算weekDays以更新数据点显示
|
|
74
|
+
this.$forceUpdate();
|
|
75
|
+
},
|
|
76
|
+
deep: true
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
|
|
66
80
|
computed: {
|
|
67
81
|
weekDays() {
|
|
68
82
|
if (!this.weekStart) return [];
|
|
69
|
-
return Array.from({length: 7}, (_, i) => {
|
|
83
|
+
return Array.from({ length: 7 }, (_, i) => {
|
|
70
84
|
const date = new Date(this.weekStart);
|
|
71
85
|
date.setDate(this.weekStart.getDate() + i);
|
|
72
86
|
const today = new Date();
|
|
87
|
+
const dateStr = this.formatDateToYYYYMMDD(date);
|
|
88
|
+
|
|
73
89
|
return {
|
|
74
90
|
date,
|
|
91
|
+
year: date.getFullYear(),
|
|
75
92
|
month: date.getMonth() + 1,
|
|
76
93
|
weekDay: WEEK_DAYS[date.getDay()],
|
|
77
94
|
isToday: this.isSameDay(date, today),
|
|
78
|
-
isSelected: this.isSameDay(date, this.
|
|
95
|
+
isSelected: this.isSameDay(date, this.selectedDate_),
|
|
96
|
+
hasData: this.dataDates.has(dateStr)
|
|
79
97
|
};
|
|
80
98
|
});
|
|
81
99
|
}
|
|
82
100
|
},
|
|
83
101
|
|
|
84
102
|
methods: {
|
|
103
|
+
/**
|
|
104
|
+
* 初始化数据日期集合
|
|
105
|
+
* @param {Array} dateList - 日期字符串数组,格式:["20241205", "20241206"]
|
|
106
|
+
*/
|
|
107
|
+
initDataDates(dateList = null) {
|
|
108
|
+
const dates = dateList || this.dataDatesList;
|
|
109
|
+
this.dataDates = new Set();
|
|
110
|
+
|
|
111
|
+
dates.forEach(dateStr => {
|
|
112
|
+
if (dateStr && typeof dateStr === 'string' && dateStr.length === 8) {
|
|
113
|
+
this.dataDates.add(dateStr);
|
|
114
|
+
}
|
|
115
|
+
})
|
|
116
|
+
},
|
|
117
|
+
|
|
85
118
|
/**
|
|
86
119
|
* 根据YYYYMMDD格式的字符串初始化组件
|
|
87
120
|
* @param {string} dateFormat- 格式如:"20251205"
|
|
@@ -93,12 +126,12 @@ export default {
|
|
|
93
126
|
if (date) {
|
|
94
127
|
console.log("根据传入日期初始化:", dateFormat);
|
|
95
128
|
this.setWeekStart(date);
|
|
96
|
-
this.
|
|
129
|
+
this.selectedDate_ = new Date(date);
|
|
97
130
|
} else {
|
|
98
131
|
console.log("日期解析失败,使用今天");
|
|
99
132
|
const today = new Date();
|
|
100
133
|
this.setWeekStart(today);
|
|
101
|
-
this.
|
|
134
|
+
this.selectedDate_ = new Date(today);
|
|
102
135
|
}
|
|
103
136
|
},
|
|
104
137
|
|
|
@@ -121,9 +154,9 @@ export default {
|
|
|
121
154
|
|
|
122
155
|
// 验证日期是否有效
|
|
123
156
|
if (isNaN(date.getTime()) ||
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
157
|
+
date.getFullYear() !== year ||
|
|
158
|
+
date.getMonth() !== month ||
|
|
159
|
+
date.getDate() !== day) {
|
|
127
160
|
return null;
|
|
128
161
|
}
|
|
129
162
|
|
|
@@ -160,20 +193,22 @@ export default {
|
|
|
160
193
|
this.clickDisabled = false;
|
|
161
194
|
return;
|
|
162
195
|
}
|
|
163
|
-
this.
|
|
164
|
-
const clickDate = this.formatDateToYYYYMMDD(this.
|
|
196
|
+
this.selectedDate_ = new Date(day.date);
|
|
197
|
+
const clickDate = this.formatDateToYYYYMMDD(this.selectedDate_);
|
|
165
198
|
console.log('选中的日期:', clickDate);
|
|
166
199
|
// 触发自定义事件,传递YYYYMMDD格式的日期
|
|
167
200
|
this.$emit('click', clickDate);
|
|
168
201
|
},
|
|
169
202
|
|
|
170
203
|
goPrevWeek() {
|
|
204
|
+
console.log('-- goPrevWeek --')
|
|
171
205
|
const newWeekStart = new Date(this.weekStart);
|
|
172
206
|
newWeekStart.setDate(this.weekStart.getDate() - 7);
|
|
173
207
|
this.setWeekStart(newWeekStart);
|
|
174
208
|
},
|
|
175
209
|
|
|
176
210
|
goNextWeek() {
|
|
211
|
+
console.log('-- goNextWeek --')
|
|
177
212
|
const newWeekStart = new Date(this.weekStart);
|
|
178
213
|
newWeekStart.setDate(this.weekStart.getDate() + 7);
|
|
179
214
|
this.setWeekStart(newWeekStart);
|
|
@@ -234,6 +269,20 @@ export default {
|
|
|
234
269
|
this.goNextWeek();
|
|
235
270
|
}
|
|
236
271
|
}
|
|
272
|
+
},
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* 手动添加/移除数据日期(供外部调用)
|
|
276
|
+
* @param {string} dateStr - YYYYMMDD格式的日期字符串
|
|
277
|
+
* @param {boolean} hasData - 是否有数据
|
|
278
|
+
*/
|
|
279
|
+
setDateHasData(dateStr, hasData = true) {
|
|
280
|
+
if (hasData) {
|
|
281
|
+
this.dataDates.add(dateStr);
|
|
282
|
+
} else {
|
|
283
|
+
this.dataDates.delete(dateStr);
|
|
284
|
+
}
|
|
285
|
+
this.$forceUpdate();
|
|
237
286
|
}
|
|
238
287
|
}
|
|
239
288
|
}
|
|
@@ -243,7 +292,7 @@ export default {
|
|
|
243
292
|
.week-date-picker {
|
|
244
293
|
width: 100%;
|
|
245
294
|
background: white;
|
|
246
|
-
padding:
|
|
295
|
+
padding: 10px 0;
|
|
247
296
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
|
|
248
297
|
user-select: none;
|
|
249
298
|
border-radius: 8px;
|
|
@@ -276,13 +325,22 @@ export default {
|
|
|
276
325
|
flex-shrink: 0;
|
|
277
326
|
}
|
|
278
327
|
|
|
328
|
+
/* 今天日期的浅蓝色背景 */
|
|
329
|
+
.day-item.today {
|
|
330
|
+
background-color: #e6efff;
|
|
331
|
+
}
|
|
332
|
+
|
|
279
333
|
.day-item:hover {
|
|
280
334
|
background-color: #f5f5f5;
|
|
281
335
|
transform: translateY(-2px);
|
|
282
336
|
}
|
|
283
337
|
|
|
338
|
+
.day-item.today:hover {
|
|
339
|
+
background-color: #b0d2f9;
|
|
340
|
+
}
|
|
341
|
+
|
|
284
342
|
.day-item.active {
|
|
285
|
-
background-color: #
|
|
343
|
+
background-color: #0070D2;
|
|
286
344
|
box-shadow: 0 4px 12px rgba(22, 119, 255, 0.3);
|
|
287
345
|
transform: translateY(-2px);
|
|
288
346
|
}
|
|
@@ -306,21 +364,76 @@ export default {
|
|
|
306
364
|
}
|
|
307
365
|
|
|
308
366
|
.day-date {
|
|
309
|
-
font-size:
|
|
367
|
+
font-size: 17px;
|
|
310
368
|
font-weight: 500;
|
|
311
369
|
color: #333;
|
|
312
370
|
}
|
|
313
371
|
|
|
314
|
-
|
|
372
|
+
/* 今天日期的文字颜色 */
|
|
373
|
+
.day-item.today .day-week,
|
|
374
|
+
.day-item.today .day-month,
|
|
375
|
+
.day-item.today .day-date {
|
|
376
|
+
color: #2c3e50;
|
|
377
|
+
font-weight: 500;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
/* 数据点样式 - 统一大小和颜色 */
|
|
381
|
+
.data-dot {
|
|
315
382
|
position: absolute;
|
|
316
383
|
bottom: -4px;
|
|
317
|
-
width:
|
|
318
|
-
height:
|
|
319
|
-
background-color: #
|
|
384
|
+
width: 5px;
|
|
385
|
+
height: 5px;
|
|
386
|
+
background-color: #129456;
|
|
320
387
|
border-radius: 50%;
|
|
388
|
+
animation: fadeIn 0.3s ease;
|
|
321
389
|
}
|
|
322
390
|
|
|
323
|
-
|
|
391
|
+
/* 选中状态下的数据点 - 统一为白色 */
|
|
392
|
+
.day-item.active .data-dot {
|
|
324
393
|
background-color: white;
|
|
394
|
+
box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
/* 淡入动画 */
|
|
398
|
+
@keyframes fadeIn {
|
|
399
|
+
from {
|
|
400
|
+
opacity: 0;
|
|
401
|
+
transform: scale(0.5);
|
|
402
|
+
}
|
|
403
|
+
to {
|
|
404
|
+
opacity: 1;
|
|
405
|
+
transform: scale(1);
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/* 今天且有数据时的特殊样式 */
|
|
410
|
+
.day-item.today.has-data {
|
|
411
|
+
border: 1px solid #CBE2FB;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
/* 移动端优化 */
|
|
415
|
+
@media (max-width: 375px) {
|
|
416
|
+
.day-item {
|
|
417
|
+
width: 40px;
|
|
418
|
+
height: 60px;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
.day-date {
|
|
422
|
+
font-size: 16px;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.day-week {
|
|
426
|
+
font-size: 11px;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.day-month {
|
|
430
|
+
font-size: 9px;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.data-dot {
|
|
434
|
+
width: 4px;
|
|
435
|
+
height: 4px;
|
|
436
|
+
bottom: -3px;
|
|
437
|
+
}
|
|
325
438
|
}
|
|
326
|
-
</style>
|
|
439
|
+
</style>
|
package/util/assist.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
// 深拷贝
|
|
2
|
-
export function deepCopy(data) {
|
|
3
|
-
let i;
|
|
4
|
-
const t = typeOf(data);
|
|
5
|
-
let o;
|
|
6
|
-
|
|
7
|
-
if (t === 'array') {
|
|
8
|
-
o = [];
|
|
9
|
-
} else if (t === 'object') {
|
|
10
|
-
o = {};
|
|
11
|
-
} else {
|
|
12
|
-
return data;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
if (t === 'array') {
|
|
16
|
-
for (i = 0; i < data.length; i++) {
|
|
17
|
-
o.push(deepCopy(data[i]));
|
|
18
|
-
}
|
|
19
|
-
} else if (t === 'object') {
|
|
20
|
-
for (i in data) {
|
|
21
|
-
o[i] = deepCopy(data[i]);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
return o;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// 判断对象类型
|
|
28
|
-
export function typeOf(obj) {
|
|
29
|
-
const toString = Object.prototype.toString;
|
|
30
|
-
const map = {
|
|
31
|
-
'[object Boolean]': 'boolean',
|
|
32
|
-
'[object Number]': 'number',
|
|
33
|
-
'[object String]': 'string',
|
|
34
|
-
'[object Function]': 'function',
|
|
35
|
-
'[object Array]': 'array',
|
|
36
|
-
'[object Date]': 'date',
|
|
37
|
-
'[object RegExp]': 'regExp',
|
|
38
|
-
'[object Undefined]': 'undefined',
|
|
39
|
-
'[object Null]': 'null',
|
|
40
|
-
'[object Object]': 'object'
|
|
41
|
-
};
|
|
42
|
-
return map[toString.call(obj)];
|
|
43
|
-
}
|
|
1
|
+
// 深拷贝
|
|
2
|
+
export function deepCopy(data) {
|
|
3
|
+
let i;
|
|
4
|
+
const t = typeOf(data);
|
|
5
|
+
let o;
|
|
6
|
+
|
|
7
|
+
if (t === 'array') {
|
|
8
|
+
o = [];
|
|
9
|
+
} else if (t === 'object') {
|
|
10
|
+
o = {};
|
|
11
|
+
} else {
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (t === 'array') {
|
|
16
|
+
for (i = 0; i < data.length; i++) {
|
|
17
|
+
o.push(deepCopy(data[i]));
|
|
18
|
+
}
|
|
19
|
+
} else if (t === 'object') {
|
|
20
|
+
for (i in data) {
|
|
21
|
+
o[i] = deepCopy(data[i]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return o;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// 判断对象类型
|
|
28
|
+
export function typeOf(obj) {
|
|
29
|
+
const toString = Object.prototype.toString;
|
|
30
|
+
const map = {
|
|
31
|
+
'[object Boolean]': 'boolean',
|
|
32
|
+
'[object Number]': 'number',
|
|
33
|
+
'[object String]': 'string',
|
|
34
|
+
'[object Function]': 'function',
|
|
35
|
+
'[object Array]': 'array',
|
|
36
|
+
'[object Date]': 'date',
|
|
37
|
+
'[object RegExp]': 'regExp',
|
|
38
|
+
'[object Undefined]': 'undefined',
|
|
39
|
+
'[object Null]': 'null',
|
|
40
|
+
'[object Object]': 'object'
|
|
41
|
+
};
|
|
42
|
+
return map[toString.call(obj)];
|
|
43
|
+
}
|
package/util/bus.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Vue from 'vue'
|
|
2
|
-
|
|
3
|
-
const Bus = new Vue();
|
|
4
|
-
export default Bus;
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
|
|
3
|
+
const Bus = new Vue();
|
|
4
|
+
export default Bus;
|