@10yun/cv-mobile-ui 0.3.24 → 0.3.25
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 -1
- 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,12 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="cv-upload-img-wrap">
|
|
3
|
-
<block v-if="uploadType=='big'">
|
|
4
|
-
<view class="cv-upload-imgbig_view" @tap="imgChoose" v-if="
|
|
3
|
+
<block v-if="uploadType == 'big'">
|
|
4
|
+
<view class="cv-upload-imgbig_view" @tap="imgChoose" v-if="localSrc == ''">
|
|
5
5
|
<view class="cv-upload-imgbig-left">
|
|
6
|
-
<view class="cv-upload-imgbig-left__title">{{label}}</view>
|
|
7
|
-
<view>{{uploadTip.dimension}}</view>
|
|
8
|
-
<view>{{uploadTip.format}}</view>
|
|
9
|
-
<view>{{uploadTip.size}}</view>
|
|
6
|
+
<view class="cv-upload-imgbig-left__title">{{ label }}</view>
|
|
7
|
+
<view>{{ uploadTip.dimension }}</view>
|
|
8
|
+
<view>{{ uploadTip.format }}</view>
|
|
9
|
+
<view>{{ uploadTip.size }}</view>
|
|
10
10
|
</view>
|
|
11
11
|
<view class="cv-upload-imgbig-right">
|
|
12
12
|
<view class="cv-upload-imgbig-right__upload">
|
|
@@ -17,30 +17,54 @@
|
|
|
17
17
|
</view>
|
|
18
18
|
<view class="cv-upload-imgbig_view cv-upload-img_noborder" v-else>
|
|
19
19
|
<view class="cv-upload-img__bd bigimg">
|
|
20
|
-
<image
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
<image
|
|
21
|
+
class="cv-upload-img-preview"
|
|
22
|
+
lazy-load="true"
|
|
23
|
+
mode="aspectFit"
|
|
24
|
+
:src="localSrc[0]"
|
|
25
|
+
@tap="imgShowbig"
|
|
26
|
+
:data-src="localSrc[0]"
|
|
27
|
+
></image>
|
|
28
|
+
<cv-icons
|
|
29
|
+
class="cv-uoload-img-remove"
|
|
30
|
+
type="action-quan-cha"
|
|
31
|
+
size="20"
|
|
32
|
+
color="#FF0101"
|
|
33
|
+
@tap="imgRemove(0)"
|
|
34
|
+
v-if="!disabled"
|
|
35
|
+
></cv-icons>
|
|
24
36
|
</view>
|
|
25
37
|
</view>
|
|
26
38
|
</block>
|
|
27
39
|
<block v-else>
|
|
28
|
-
<view class="cv-upload-img-hd">{{label}}</view>
|
|
40
|
+
<view class="cv-upload-img-hd">{{ label }}</view>
|
|
29
41
|
<view class="cv-upload-imgmore_img">
|
|
30
|
-
<block v-if="
|
|
42
|
+
<block v-if="localSrc != ''">
|
|
31
43
|
<block v-for="(item, index) in localSrc" :key="index">
|
|
32
44
|
<view class="cv-upload-img__bd" :class="(index + 1) % 3 !== 0 ? 'cv-upload-img_img__body__mar' : ''">
|
|
33
|
-
<image
|
|
34
|
-
|
|
35
|
-
|
|
45
|
+
<image
|
|
46
|
+
class="cv-upload-img-preview"
|
|
47
|
+
lazy-load="true"
|
|
48
|
+
mode="aspectFit"
|
|
49
|
+
:src="item"
|
|
50
|
+
@tap="imgShowbig"
|
|
51
|
+
:data-src="item"
|
|
52
|
+
></image>
|
|
53
|
+
<cv-icons
|
|
54
|
+
class="cv-uoload-img-remove"
|
|
55
|
+
type="action-quan-cha"
|
|
56
|
+
size="20"
|
|
57
|
+
color="#FF0101"
|
|
58
|
+
@tap="imgRemove(index)"
|
|
59
|
+
v-if="!disabled"
|
|
60
|
+
></cv-icons>
|
|
36
61
|
</view>
|
|
37
62
|
</block>
|
|
38
63
|
</block>
|
|
39
|
-
<view class="cv-upload-img__bd" v-if="
|
|
64
|
+
<view class="cv-upload-img__bd" v-if="localSrc.length < allowUploadNum">
|
|
40
65
|
<view class="cv-upload-img-choose" @tap="imgChoose">
|
|
41
|
-
<cv-icons :size="settAdd.size" :color="settAdd.color" :type="settAdd.icon">
|
|
42
|
-
|
|
43
|
-
<view>可{{settAdd.text}}{{surplusUploadNum}}张</view>
|
|
66
|
+
<cv-icons :size="settAdd.size" :color="settAdd.color" :type="settAdd.icon"></cv-icons>
|
|
67
|
+
<view>可{{ settAdd.text }}{{ surplusUploadNum }}张</view>
|
|
44
68
|
</view>
|
|
45
69
|
</view>
|
|
46
70
|
</view>
|
|
@@ -49,18 +73,17 @@
|
|
|
49
73
|
</template>
|
|
50
74
|
<script>
|
|
51
75
|
export default {
|
|
52
|
-
name:
|
|
53
|
-
components: {
|
|
54
|
-
},
|
|
76
|
+
name: 'cvUploadImg',
|
|
77
|
+
components: {},
|
|
55
78
|
props: {
|
|
56
79
|
label: {
|
|
57
80
|
type: [String],
|
|
58
|
-
default:
|
|
81
|
+
default: ''
|
|
59
82
|
},
|
|
60
83
|
// 风格:one单图,more多图,big大图
|
|
61
84
|
uploadType: {
|
|
62
85
|
type: String,
|
|
63
|
-
default:
|
|
86
|
+
default: 'one'
|
|
64
87
|
},
|
|
65
88
|
uploadTip: {
|
|
66
89
|
type: Object,
|
|
@@ -69,25 +92,25 @@ export default {
|
|
|
69
92
|
dimension: '长*宽:750*375像素;',
|
|
70
93
|
format: '格式:jpg/png;',
|
|
71
94
|
size: '大小:小于2MB'
|
|
72
|
-
}
|
|
95
|
+
};
|
|
73
96
|
}
|
|
74
97
|
},
|
|
75
98
|
// 提示
|
|
76
99
|
tip: {
|
|
77
100
|
type: String,
|
|
78
|
-
default:
|
|
101
|
+
default: ''
|
|
79
102
|
},
|
|
80
103
|
//默认输入框
|
|
81
104
|
value: {
|
|
82
105
|
type: [Array, Object, String],
|
|
83
106
|
default() {
|
|
84
|
-
return []
|
|
107
|
+
return [];
|
|
85
108
|
}
|
|
86
109
|
},
|
|
87
110
|
src: {
|
|
88
111
|
type: [Array, Object, String],
|
|
89
112
|
default(newVal) {
|
|
90
|
-
return []
|
|
113
|
+
return [];
|
|
91
114
|
}
|
|
92
115
|
},
|
|
93
116
|
maxlength: {
|
|
@@ -105,7 +128,7 @@ export default {
|
|
|
105
128
|
uploadParam: {
|
|
106
129
|
type: Object,
|
|
107
130
|
default: () => {
|
|
108
|
-
return {}
|
|
131
|
+
return {};
|
|
109
132
|
}
|
|
110
133
|
},
|
|
111
134
|
upApiFunc: {
|
|
@@ -117,7 +140,7 @@ export default {
|
|
|
117
140
|
default() {
|
|
118
141
|
return false;
|
|
119
142
|
}
|
|
120
|
-
}
|
|
143
|
+
}
|
|
121
144
|
},
|
|
122
145
|
data() {
|
|
123
146
|
return {
|
|
@@ -130,13 +153,13 @@ export default {
|
|
|
130
153
|
//图标类型,默认相机
|
|
131
154
|
icon: this.addType == 'camera' ? 'media-camera-filled' : 'media-image-filled',
|
|
132
155
|
// 图标
|
|
133
|
-
size: 26
|
|
156
|
+
size: 26
|
|
134
157
|
},
|
|
135
158
|
// 每次选择图片数量
|
|
136
159
|
chooseNum: 1,
|
|
137
160
|
// 剩余允许上传数量
|
|
138
161
|
allowUploadNum: 1,
|
|
139
|
-
surplusUploadNum: 1
|
|
162
|
+
surplusUploadNum: 1
|
|
140
163
|
};
|
|
141
164
|
},
|
|
142
165
|
watch: {
|
|
@@ -146,7 +169,7 @@ export default {
|
|
|
146
169
|
src(newVal) {
|
|
147
170
|
this.localSrc = this._dealSrc(newVal);
|
|
148
171
|
this._dealNum();
|
|
149
|
-
}
|
|
172
|
+
}
|
|
150
173
|
},
|
|
151
174
|
created: function () {
|
|
152
175
|
this.localVal = this.value;
|
|
@@ -163,20 +186,20 @@ export default {
|
|
|
163
186
|
});
|
|
164
187
|
},
|
|
165
188
|
_dealNum() {
|
|
166
|
-
this.surplusUploadNum =
|
|
189
|
+
this.surplusUploadNum = this.allowUploadNum - (this.localSrc.length || 0);
|
|
167
190
|
},
|
|
168
191
|
_dealSrc(oldSrc) {
|
|
169
192
|
let newSrc = [];
|
|
170
193
|
if (this.uploadType == 'big') {
|
|
171
|
-
if (
|
|
194
|
+
if (typeof oldSrc == 'string') {
|
|
172
195
|
newSrc.push(oldSrc);
|
|
173
196
|
}
|
|
174
197
|
} else if (this.uploadType == 'one') {
|
|
175
|
-
if (
|
|
198
|
+
if (typeof oldSrc == 'string') {
|
|
176
199
|
newSrc.push(oldSrc);
|
|
177
200
|
}
|
|
178
201
|
} else {
|
|
179
|
-
if (
|
|
202
|
+
if (typeof oldSrc == 'object') {
|
|
180
203
|
return oldSrc;
|
|
181
204
|
}
|
|
182
205
|
}
|
|
@@ -192,7 +215,6 @@ export default {
|
|
|
192
215
|
sourceType: ['album', 'camera'], // 可选择性开放访问相册、相机
|
|
193
216
|
sourceType: [source], // 从相册选择 album 从相册选图,camera 使用相机
|
|
194
217
|
success: (res) => {
|
|
195
|
-
|
|
196
218
|
// console.warn(res.tempFilePaths);
|
|
197
219
|
// console.warn(res.tempFiles[0].path);
|
|
198
220
|
|
|
@@ -201,11 +223,11 @@ export default {
|
|
|
201
223
|
let uploadAlreadyNum = 0; //当前已上传页数
|
|
202
224
|
|
|
203
225
|
if (uploadChooseNum >= 9) {
|
|
204
|
-
uni.showToast({
|
|
226
|
+
uni.showToast({ icon: 'none', title: '超出9张~' });
|
|
205
227
|
return false;
|
|
206
228
|
}
|
|
207
229
|
if (uploadChooseNum > this.surplusUploadNum) {
|
|
208
|
-
uni.showToast({
|
|
230
|
+
uni.showToast({ icon: 'none', title: '已超过剩余数量~' });
|
|
209
231
|
return false;
|
|
210
232
|
}
|
|
211
233
|
|
|
@@ -244,8 +266,7 @@ export default {
|
|
|
244
266
|
// this.surplusUploadNum--;
|
|
245
267
|
// }
|
|
246
268
|
},
|
|
247
|
-
fail: (res) => {
|
|
248
|
-
},
|
|
269
|
+
fail: (res) => {}
|
|
249
270
|
});
|
|
250
271
|
},
|
|
251
272
|
/** 图片验证 */
|
|
@@ -256,12 +277,16 @@ export default {
|
|
|
256
277
|
},
|
|
257
278
|
/** 图片上传 */
|
|
258
279
|
_uploadImage(tempFilePaths, type) {
|
|
259
|
-
let filename = this.filename || 'uni-upload'
|
|
260
|
-
let uploadParam = Object.assign(
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
280
|
+
let filename = this.filename || 'uni-upload'; // 'file_name'
|
|
281
|
+
let uploadParam = Object.assign(
|
|
282
|
+
{},
|
|
283
|
+
{
|
|
284
|
+
postType: 'create',
|
|
285
|
+
file_name: filename,
|
|
286
|
+
savesign: 'uni-upload'
|
|
287
|
+
},
|
|
288
|
+
this.uploadParam
|
|
289
|
+
);
|
|
265
290
|
|
|
266
291
|
//将本地资源上传到开发者服务器,客户端发起一个 POST 请求,其中 content-type 为 multipart/form-data。
|
|
267
292
|
this.upApiFunc({
|
|
@@ -271,24 +296,26 @@ export default {
|
|
|
271
296
|
name: filename,
|
|
272
297
|
//HTTP 请求中其他额外的 form data
|
|
273
298
|
formData: uploadParam
|
|
274
|
-
})
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
299
|
+
})
|
|
300
|
+
.then((uploadRes) => {
|
|
301
|
+
// let resData = JSON.parse(uploadRes.data);
|
|
302
|
+
let resData = uploadRes.data || {};
|
|
303
|
+
if (this.uploadType == 'more') {
|
|
304
|
+
//图集
|
|
305
|
+
if (this.localSrc.length >= 9) return;
|
|
306
|
+
this.localSrc.push(resData.img_cdn);
|
|
307
|
+
this.localVal.push(resData.img_time);
|
|
308
|
+
} else {
|
|
309
|
+
//单图
|
|
310
|
+
this.localSrc.push(resData.img_cdn);
|
|
311
|
+
this.localVal = resData.img_time;
|
|
312
|
+
}
|
|
313
|
+
this.$emit('input', this.localVal);
|
|
314
|
+
// this.$forceUpdate();
|
|
315
|
+
})
|
|
316
|
+
.catch((err) => {
|
|
317
|
+
uni.hideLoading();
|
|
318
|
+
});
|
|
292
319
|
},
|
|
293
320
|
// 删除引客卷图片
|
|
294
321
|
imgRemove(imgIndex) {
|
|
@@ -317,15 +344,15 @@ export default {
|
|
|
317
344
|
if (this.uploadType != 'more') {
|
|
318
345
|
this.allowUploadNum = 1;
|
|
319
346
|
}
|
|
320
|
-
if (
|
|
347
|
+
if (this.localSrc.length + 1 > this.allowUploadNum) {
|
|
321
348
|
this._currShowToast('超出图片上传个数...');
|
|
322
349
|
return false;
|
|
323
350
|
}
|
|
324
351
|
return new Promise((resolve, reject) => {
|
|
325
352
|
this._chooseImage();
|
|
326
353
|
// this.$emit('input', this.localVal);
|
|
327
|
-
})
|
|
328
|
-
}
|
|
354
|
+
});
|
|
355
|
+
}
|
|
329
356
|
}
|
|
330
357
|
};
|
|
331
358
|
</script>
|
|
@@ -438,4 +465,4 @@ export default {
|
|
|
438
465
|
justify-content: center;
|
|
439
466
|
flex-direction: column;
|
|
440
467
|
}
|
|
441
|
-
</style>
|
|
468
|
+
</style>
|