@10yun/cv-mobile-ui 0.3.24 → 0.3.26
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/package.json +5 -2
- package/plugins/request.js +14 -2
- package/ui-cv/cv-banner/cv-banner.vue +23 -14
- package/ui-cv/cv-banner-card/cv-banner-card.vue +24 -16
- package/ui-cv/cv-block/cv-block.vue +6 -6
- package/ui-cv/cv-box/cv-box.vue +6 -7
- package/ui-cv/cv-button/cv-button.vue +32 -13
- package/ui-cv/cv-cell/cv-cell.vue +21 -25
- package/ui-cv/cv-checkbox/cv-checkbox.vue +22 -22
- package/ui-cv/cv-checkbox-tag/cv-checkbox-tag.vue +30 -25
- package/ui-cv/cv-code-sms/cv-code-sms.vue +60 -38
- package/ui-cv/cv-dialog-bottom/cv-dialog-bottom.vue +14 -18
- package/ui-cv/cv-dialog-full/cv-dialog-full.vue +14 -18
- package/ui-cv/cv-dialog-loading/cv-dialog-loading.vue +10 -17
- package/ui-cv/cv-dialog-share/cv-dialog-share.vue +4 -5
- package/ui-cv/cv-draw-barcode/cv-draw-barcode.vue +54 -51
- package/ui-cv/cv-draw-posters/cv-draw-posters.vue +53 -71
- package/ui-cv/cv-draw-progress/cv-draw-progress.vue +44 -39
- package/ui-cv/cv-draw-qrcode/cv-draw-qrcode.vue +48 -45
- package/ui-cv/cv-editor/compressImage.vue +47 -40
- package/ui-cv/cv-editor/cv-editor.vue +234 -124
- package/ui-cv/cv-editor-parse/cv-editor-parse.vue +21 -30
- package/ui-cv/cv-editor-parse/u-parse.vue +21 -30
- package/ui-cv/cv-filter-hm/cv-filter-hm.vue +140 -74
- package/ui-cv/cv-form-group/cv-form-group.vue +11 -13
- package/ui-cv/cv-form-item/cv-form-item.vue +35 -20
- package/ui-cv/cv-form-merge/cv-form-merge.vue +5 -10
- package/ui-cv/cv-geo-local/cv-geo-local.vue +50 -27
- package/ui-cv/cv-icons/cv-icons.vue +24 -19
- package/ui-cv/cv-info/cv-info.vue +9 -11
- package/ui-cv/cv-input-btn/cv-input-btn.vue +34 -13
- package/ui-cv/cv-input-digit/cv-input-digit.vue +31 -18
- package/ui-cv/cv-input-idcard/cv-input-idcard.vue +31 -21
- package/ui-cv/cv-input-number/cv-input-number.vue +29 -14
- package/ui-cv/cv-input-password/cv-input-password.vue +31 -20
- package/ui-cv/cv-input-text/cv-input-text.vue +32 -17
- package/ui-cv/cv-link/cv-link.vue +7 -7
- package/ui-cv/cv-lists-base/cv-lists-base.vue +148 -114
- package/ui-cv/cv-lists-swiper/cv-lists-swipe2r.vue +24 -15
- package/ui-cv/cv-lists-swiper/cv-lists-swiper.vue +85 -63
- package/ui-cv/cv-load-more/cv-load-more.vue +60 -28
- package/ui-cv/cv-message/cv-message.vue +5 -6
- package/ui-cv/cv-nav-col/cv-nav-col.vue +9 -13
- package/ui-cv/cv-nav-group/cv-nav-group.vue +6 -8
- package/ui-cv/cv-nav-row/cv-nav-row.vue +21 -25
- package/ui-cv/cv-picker-date/cv-picker-date.vue +28 -12
- package/ui-cv/cv-picker-datetime/cv-picker-datetime.vue +43 -21
- package/ui-cv/cv-picker-datetime5/cv-picker-datetime5.vue +108 -60
- package/ui-cv/cv-picker-region/cv-picker-region.vue +46 -32
- package/ui-cv/cv-picker-time/cv-picker-time.vue +26 -11
- package/ui-cv/cv-picker1/cv-picker1.vue +32 -17
- package/ui-cv/cv-picker2/cv-picker2.vue +46 -28
- package/ui-cv/cv-picker3/cv-picker3.vue +77 -44
- package/ui-cv/cv-radio/cv-radio.vue +17 -10
- package/ui-cv/cv-radio-sex/cv-radio-sex.vue +20 -21
- package/ui-cv/cv-radio-tag/cv-radio-tag.vue +22 -11
- package/ui-cv/cv-rate/cv-rate.vue +17 -13
- package/ui-cv/cv-search/cv-search.vue +17 -12
- package/ui-cv/cv-skeleton/cv-skeleton.vue +32 -27
- package/ui-cv/cv-skeleton/cv-skeleton2.vue +56 -33
- package/ui-cv/cv-skeleton-group/cv-skeleton-group.vue +4 -6
- package/ui-cv/cv-specs/cv-specs.vue +31 -30
- package/ui-cv/cv-switch/cv-switch.vue +4 -5
- package/ui-cv/cv-tab-lists/cv-tab-lists.vue +189 -128
- package/ui-cv/cv-textarea/cv-textarea.vue +31 -13
- package/ui-cv/cv-treaty/cv-treaty.vue +8 -8
- package/ui-cv/cv-update-app/cv-update-app.vue +68 -53
- package/ui-cv/cv-upload-avatar/cv-upload-avatar.vue +33 -31
- package/ui-cv/cv-upload-img/cv-upload-img.vue +97 -70
- package/ui-cv/dict/area-city.js +612 -612
- package/ui-cv/dict/area-county.js +3392 -3392
- package/ui-cv/dict/area-province.js +35 -35
- package/ui-cv/mixins/mixins-checkbox.js +9 -15
- package/ui-cv/mixins/mixins-common.js +7 -7
- package/ui-cv/mixins/mixins-input.js +11 -12
- package/ui-cv/mixins/mixins-picker.js +9 -13
- package/ui-cv/mixins/mixins-radio.js +10 -14
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="update-app-area" v-if="update">
|
|
3
|
-
<view class="update-app-main" v-bind:style="'top:'+layer_top+'px;opacity:'+layer_opacity+';'">
|
|
4
|
-
<image
|
|
5
|
-
|
|
3
|
+
<view class="update-app-main" v-bind:style="'top:' + layer_top + 'px;opacity:' + layer_opacity + ';'">
|
|
4
|
+
<image
|
|
5
|
+
src="http://zhsh-package.oss-cn-hangzhou.aliyuncs.com/images/net.zhsh.waimai/update_bg_top.png"
|
|
6
|
+
v-bind:style="'height:' + bg_top_height + 'px;'"
|
|
7
|
+
@load="imageLoad"
|
|
8
|
+
mode="aspectFit"
|
|
9
|
+
class="update-app-bg"
|
|
10
|
+
/>
|
|
6
11
|
<view class="update-app-close" @tap="updateAppClose"></view>
|
|
7
12
|
<view class="update-app-h1">发现新版本</view>
|
|
8
13
|
<view class="update-app-version-code">
|
|
9
14
|
<view class="update-app-version-code-bg"></view>
|
|
10
|
-
<view class="update-app-version-code-main">{{new_version.version_name}}</view>
|
|
15
|
+
<view class="update-app-version-code-main">{{ new_version.version_name }}</view>
|
|
11
16
|
</view>
|
|
12
17
|
<view class="update-app-version-msg">
|
|
13
|
-
<text>{{new_version.version_update_msg||
|
|
18
|
+
<text>{{ new_version.version_update_msg || '优化一些用户体验' }}</text>
|
|
14
19
|
</view>
|
|
15
20
|
<view class="update-app-bottom">
|
|
16
|
-
<view class="update-app-button-area" v-bind:style="'background-color:'+button_area_bg_color+';'">
|
|
17
|
-
<view class="update-app-button-speed" :style="'width:'+speed+'%;'"></view>
|
|
21
|
+
<view class="update-app-button-area" v-bind:style="'background-color:' + button_area_bg_color + ';'">
|
|
22
|
+
<view class="update-app-button-speed" :style="'width:' + speed + '%;'"></view>
|
|
18
23
|
<view class="update-app-button-text" @tap="android_update">
|
|
19
|
-
{{button_text}}
|
|
20
|
-
{{status=='down'?'('+speed+' %)':''}}
|
|
24
|
+
{{ button_text }}
|
|
25
|
+
{{ status == 'down' ? '(' + speed + ' %)' : '' }}
|
|
21
26
|
</view>
|
|
22
27
|
</view>
|
|
23
28
|
</view>
|
|
@@ -27,7 +32,7 @@
|
|
|
27
32
|
|
|
28
33
|
<script>
|
|
29
34
|
export default {
|
|
30
|
-
name:
|
|
35
|
+
name: 'cvUpdateApp',
|
|
31
36
|
props: {
|
|
32
37
|
check: {
|
|
33
38
|
type: Boolean,
|
|
@@ -53,7 +58,6 @@ export default {
|
|
|
53
58
|
watch: {
|
|
54
59
|
check() {
|
|
55
60
|
if (this.check) {
|
|
56
|
-
|
|
57
61
|
// #ifdef APP-PLUS
|
|
58
62
|
// 检测升级
|
|
59
63
|
this.app_update();
|
|
@@ -63,24 +67,22 @@ export default {
|
|
|
63
67
|
status() {
|
|
64
68
|
switch (this.status) {
|
|
65
69
|
case 'wait':
|
|
66
|
-
|
|
67
70
|
break;
|
|
68
71
|
case 'down':
|
|
69
|
-
this.button_text = '正在下载'
|
|
70
|
-
this.button_area_bg_color = 'rgba(47,146,215,0.3)'
|
|
72
|
+
this.button_text = '正在下载';
|
|
73
|
+
this.button_area_bg_color = 'rgba(47,146,215,0.3)';
|
|
71
74
|
break;
|
|
72
75
|
case 'over':
|
|
73
|
-
this.button_text = '立即安装'
|
|
76
|
+
this.button_text = '立即安装';
|
|
74
77
|
break;
|
|
75
78
|
}
|
|
76
79
|
},
|
|
77
|
-
button_text() {
|
|
78
|
-
},
|
|
80
|
+
button_text() {},
|
|
79
81
|
update() {
|
|
80
82
|
if (this.update) {
|
|
81
|
-
this.openPlusMask()
|
|
83
|
+
this.openPlusMask();
|
|
82
84
|
} else {
|
|
83
|
-
this.closePlusMask()
|
|
85
|
+
this.closePlusMask();
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
},
|
|
@@ -92,19 +94,19 @@ export default {
|
|
|
92
94
|
new_version: {},
|
|
93
95
|
bg_top_height: 0,
|
|
94
96
|
window_width: 0,
|
|
95
|
-
speed: 0
|
|
96
|
-
progress: 0
|
|
97
|
+
speed: 0, //app下载进度
|
|
98
|
+
progress: 0, //实际下载进度
|
|
97
99
|
speedTimer: 0,
|
|
98
|
-
status: 'wait'
|
|
100
|
+
status: 'wait', //wait:待更新,down:正在下载,over:下载完成
|
|
99
101
|
button_text: '立即更新',
|
|
100
102
|
layer_top: 100,
|
|
101
|
-
button_area_bg_color: 'rgba(47,146,215,1)'
|
|
102
|
-
package_temp_path: ''
|
|
103
|
+
button_area_bg_color: 'rgba(47,146,215,1)', //按钮区背景
|
|
104
|
+
package_temp_path: '', //安装包缓存地址
|
|
103
105
|
net_work_type: '',
|
|
104
106
|
net_work_wifi: true,
|
|
105
107
|
plus_mask: {
|
|
106
108
|
top: '',
|
|
107
|
-
bottom: ''
|
|
109
|
+
bottom: ''
|
|
108
110
|
}
|
|
109
111
|
};
|
|
110
112
|
},
|
|
@@ -114,7 +116,6 @@ export default {
|
|
|
114
116
|
}
|
|
115
117
|
|
|
116
118
|
if (this.check) {
|
|
117
|
-
|
|
118
119
|
// #ifdef APP-PLUS
|
|
119
120
|
// 检测升级
|
|
120
121
|
this.app_update();
|
|
@@ -129,15 +130,15 @@ export default {
|
|
|
129
130
|
/* 计算顶部背景图高度 */
|
|
130
131
|
initBgTopWidth() {
|
|
131
132
|
const res = uni.getSystemInfoSync();
|
|
132
|
-
this.window_width = res.windowWidth
|
|
133
|
+
this.window_width = res.windowWidth;
|
|
133
134
|
uni.getImageInfo({
|
|
134
135
|
src: this.bg_top_img,
|
|
135
136
|
success: (image) => {
|
|
136
|
-
this.bg_top_height = (this.window_width * 0.8) / image.width * image.height
|
|
137
|
+
this.bg_top_height = ((this.window_width * 0.8) / image.width) * image.height;
|
|
137
138
|
setTimeout(() => {
|
|
138
139
|
this.layer_opacity = 1;
|
|
139
140
|
this.initLayer();
|
|
140
|
-
}, 500)
|
|
141
|
+
}, 500);
|
|
141
142
|
}
|
|
142
143
|
});
|
|
143
144
|
},
|
|
@@ -145,10 +146,14 @@ export default {
|
|
|
145
146
|
initLayer() {
|
|
146
147
|
const res = uni.getSystemInfoSync();
|
|
147
148
|
let window_height = res.windowHeight;
|
|
148
|
-
uni
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
uni
|
|
150
|
+
.createSelectorQuery()
|
|
151
|
+
.in(this)
|
|
152
|
+
.select('.update-app-main')
|
|
153
|
+
.boundingClientRect((data) => {
|
|
154
|
+
this.layer_top = (window_height - data.height) / 2;
|
|
155
|
+
})
|
|
156
|
+
.exec();
|
|
152
157
|
},
|
|
153
158
|
app_update() {
|
|
154
159
|
switch (uni.getSystemInfoSync().platform) {
|
|
@@ -156,19 +161,19 @@ export default {
|
|
|
156
161
|
break;
|
|
157
162
|
case 'android':
|
|
158
163
|
this.check_android_version();
|
|
159
|
-
break
|
|
164
|
+
break;
|
|
160
165
|
}
|
|
161
166
|
},
|
|
162
167
|
/* 检测android版本 */
|
|
163
168
|
check_android_version() {
|
|
164
169
|
if (!this.flagGet) {
|
|
165
|
-
plus.nativeUI.toast(
|
|
170
|
+
plus.nativeUI.toast('请设置flagGet属性');
|
|
166
171
|
return;
|
|
167
172
|
}
|
|
168
|
-
const version_code = plus.runtime.versionCode
|
|
169
|
-
let flagGetParam = { ...this.flagGetParam }
|
|
170
|
-
flagGetParam.current_version_code = version_code
|
|
171
|
-
flagGetParam.version_os = 'android'
|
|
173
|
+
const version_code = plus.runtime.versionCode;
|
|
174
|
+
let flagGetParam = { ...this.flagGetParam };
|
|
175
|
+
flagGetParam.current_version_code = version_code;
|
|
176
|
+
flagGetParam.version_os = 'android';
|
|
172
177
|
this.$request.flagGet(this.flagGet, flagGetParam).then((result) => {
|
|
173
178
|
let new_version = {};
|
|
174
179
|
if (result.data) {
|
|
@@ -177,22 +182,22 @@ export default {
|
|
|
177
182
|
if (new_version.version_code > version_code && new_version.version_download_url) {
|
|
178
183
|
this.update = true;
|
|
179
184
|
}
|
|
180
|
-
this.$emit('version', new_version)
|
|
185
|
+
this.$emit('version', new_version);
|
|
181
186
|
} else {
|
|
182
|
-
this.$emit('version', '')
|
|
187
|
+
this.$emit('version', '');
|
|
183
188
|
}
|
|
184
189
|
});
|
|
185
190
|
},
|
|
186
191
|
android_update() {
|
|
187
192
|
switch (this.status) {
|
|
188
|
-
case 'wait'
|
|
193
|
+
case 'wait': //'立即更新' ,点击即下载
|
|
189
194
|
this.checkNetWork();
|
|
190
195
|
break;
|
|
191
|
-
case 'not_wifi'
|
|
196
|
+
case 'not_wifi': //'立即更新' ,点击即下载
|
|
192
197
|
this.android_apk_down();
|
|
193
198
|
break;
|
|
194
199
|
case 'down':
|
|
195
|
-
plus.nativeUI.toast(
|
|
200
|
+
plus.nativeUI.toast('下载中,请耐心等待...');
|
|
196
201
|
break;
|
|
197
202
|
case 'over':
|
|
198
203
|
this.install_apk();
|
|
@@ -200,18 +205,18 @@ export default {
|
|
|
200
205
|
}
|
|
201
206
|
},
|
|
202
207
|
checkNetWork() {
|
|
203
|
-
console.log('checkNetWork')
|
|
208
|
+
console.log('checkNetWork');
|
|
204
209
|
uni.getNetworkType({
|
|
205
210
|
success: (res) => {
|
|
206
211
|
if (res.networkType == 'wifi') {
|
|
207
212
|
this.android_apk_down();
|
|
208
213
|
return;
|
|
209
214
|
}
|
|
210
|
-
plus.nativeUI.toast(
|
|
215
|
+
plus.nativeUI.toast('当前网络环境是' + res.networkType + ',下载流量费用由运营商收取');
|
|
211
216
|
this.status = 'not_wifi';
|
|
212
217
|
this.button_text = '使用数据流量下载';
|
|
213
218
|
}
|
|
214
|
-
})
|
|
219
|
+
});
|
|
215
220
|
},
|
|
216
221
|
android_apk_down() {
|
|
217
222
|
this.status = 'down';
|
|
@@ -239,7 +244,7 @@ export default {
|
|
|
239
244
|
android_apk_down_fail() {
|
|
240
245
|
this.status = 'wait';
|
|
241
246
|
this.button_text = '下载失败,请重试...';
|
|
242
|
-
this.button_area_bg_color = 'rgba(255,0,0,1)'
|
|
247
|
+
this.button_area_bg_color = 'rgba(255,0,0,1)'; //按钮区背景
|
|
243
248
|
this.speed = 0;
|
|
244
249
|
},
|
|
245
250
|
install_apk() {
|
|
@@ -255,21 +260,31 @@ export default {
|
|
|
255
260
|
this.update = false;
|
|
256
261
|
},
|
|
257
262
|
openPlusMask() {
|
|
258
|
-
|
|
259
263
|
const system_info = this.system_info || uni.getSystemInfoSync();
|
|
260
264
|
console.log(system_info);
|
|
261
265
|
let plus_mask = this.plus_mask || {};
|
|
262
266
|
|
|
263
267
|
if (this.maskTop == true) {
|
|
264
|
-
plus_mask.top = new plus.nativeObj.View('top', {
|
|
268
|
+
plus_mask.top = new plus.nativeObj.View('top', {
|
|
269
|
+
top: '0px',
|
|
270
|
+
left: '0px',
|
|
271
|
+
height: system_info.statusBarHeight + 45 + 'px',
|
|
272
|
+
width: '100%',
|
|
273
|
+
backgroundColor: 'rgba(0, 0, 0, 0.2)'
|
|
274
|
+
});
|
|
265
275
|
plus_mask.top.show();
|
|
266
276
|
}
|
|
267
277
|
if (this.maskBottom == true) {
|
|
268
|
-
plus_mask.bottom = new plus.nativeObj.View('bottom', {
|
|
278
|
+
plus_mask.bottom = new plus.nativeObj.View('bottom', {
|
|
279
|
+
bottom: '0px',
|
|
280
|
+
left: '0px',
|
|
281
|
+
height: '50px',
|
|
282
|
+
width: '100%',
|
|
283
|
+
backgroundColor: 'rgba(0, 0, 0, 0.2)'
|
|
284
|
+
});
|
|
269
285
|
plus_mask.bottom.show();
|
|
270
286
|
}
|
|
271
|
-
}
|
|
272
|
-
,
|
|
287
|
+
},
|
|
273
288
|
closePlusMask() {
|
|
274
289
|
if (this.maskTop == true) {
|
|
275
290
|
this.plus_mask.top.close();
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="cv-upload-avatar" @tap="choImage">
|
|
3
|
-
<view class="cv-upload-avatar-left">{{label}}</view>
|
|
3
|
+
<view class="cv-upload-avatar-left">{{ label }}</view>
|
|
4
4
|
<view class="cv-upload-avatar-right">
|
|
5
|
-
<image class="cv-upload-avatar-image" :src="
|
|
5
|
+
<image class="cv-upload-avatar-image" :src="localSrc" mode="aspectFill" @tap.stop="bigImage" :data-src="localSrc"></image>
|
|
6
6
|
</view>
|
|
7
7
|
</view>
|
|
8
8
|
</template>
|
|
9
9
|
<script>
|
|
10
10
|
export default {
|
|
11
|
-
name:
|
|
11
|
+
name: 'cvUploadAvatar',
|
|
12
12
|
props: {
|
|
13
13
|
label: {
|
|
14
14
|
type: String,
|
|
15
|
-
default:
|
|
15
|
+
default: '当前头像'
|
|
16
16
|
},
|
|
17
17
|
// 占位符
|
|
18
18
|
placeholder: {
|
|
19
19
|
type: String,
|
|
20
|
-
default:
|
|
20
|
+
default: '请输入'
|
|
21
21
|
},
|
|
22
22
|
//默认输入框
|
|
23
23
|
value: {
|
|
24
24
|
type: [Number, String],
|
|
25
|
-
default:
|
|
25
|
+
default: ''
|
|
26
26
|
},
|
|
27
27
|
maxlength: {
|
|
28
28
|
type: [Number, String],
|
|
@@ -34,17 +34,17 @@ export default {
|
|
|
34
34
|
},
|
|
35
35
|
layout: {
|
|
36
36
|
type: String,
|
|
37
|
-
default:
|
|
37
|
+
default: 'row'
|
|
38
38
|
},
|
|
39
39
|
src: {
|
|
40
40
|
type: String,
|
|
41
|
-
default:
|
|
41
|
+
default: ''
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
data() {
|
|
45
45
|
return {
|
|
46
46
|
localVal: this.value,
|
|
47
|
-
localSrc: this.src
|
|
47
|
+
localSrc: this.src
|
|
48
48
|
};
|
|
49
49
|
},
|
|
50
50
|
watch: {
|
|
@@ -53,7 +53,7 @@ export default {
|
|
|
53
53
|
},
|
|
54
54
|
src(newVal) {
|
|
55
55
|
this.localSrc = newVal;
|
|
56
|
-
}
|
|
56
|
+
}
|
|
57
57
|
},
|
|
58
58
|
methods: {
|
|
59
59
|
bigImage(src) {
|
|
@@ -75,28 +75,30 @@ export default {
|
|
|
75
75
|
});
|
|
76
76
|
},
|
|
77
77
|
uploadAvatar: function (tempFilePaths) {
|
|
78
|
-
this.$request
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
78
|
+
this.$request
|
|
79
|
+
.flagUpImg('UC_PERSONAL_AVATAR', {
|
|
80
|
+
filePath: tempFilePaths,
|
|
81
|
+
name: 'xcx_pper_avatar',
|
|
82
|
+
formData: {
|
|
83
|
+
postType: 'update',
|
|
84
|
+
file_name: 'xcx_pper_avatar'
|
|
85
|
+
}
|
|
86
|
+
})
|
|
87
|
+
.then((resData) => {
|
|
88
|
+
if (resData.status == 200) {
|
|
89
|
+
uni.showToast({
|
|
90
|
+
title: '修改成功',
|
|
91
|
+
icon: 'success,',
|
|
92
|
+
duration: 1500
|
|
93
|
+
});
|
|
94
|
+
this.localVal = resData.save_url;
|
|
95
|
+
this.localSrc = resData.img_cdn;
|
|
96
|
+
this.$emit('input', this.localVal);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
97
99
|
}
|
|
98
100
|
}
|
|
99
|
-
}
|
|
101
|
+
};
|
|
100
102
|
</script>
|
|
101
103
|
<style>
|
|
102
104
|
.cv-upload-avatar {
|
|
@@ -127,4 +129,4 @@ export default {
|
|
|
127
129
|
border-radius: 50%;
|
|
128
130
|
background-color: #99999999;
|
|
129
131
|
}
|
|
130
|
-
</style>
|
|
132
|
+
</style>
|