@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,36 +1,36 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view class="cv-row">
|
|
3
3
|
<view class="cv-row-box">
|
|
4
|
-
<view class="cv-row-main" :class="
|
|
4
|
+
<view class="cv-row-main" :class="sublabel && 'cv-row-main-big'" @tap="jump">
|
|
5
5
|
<view class="cv-row-main-left">
|
|
6
|
-
<view class="cv-row-main-left-icon" v-if="image|| $slots.before">
|
|
6
|
+
<view class="cv-row-main-left-icon" v-if="image || $slots.before">
|
|
7
7
|
<image class="cv-row-main-left-icon-image" :src="image" mode="aspectFit" v-if="image" />
|
|
8
8
|
<slot name="before" v-else />
|
|
9
9
|
</view>
|
|
10
|
-
<view class="cv-row-main-left-text" :class="!image && !$slots.before?'cv-row-main-left-text-noimage':''">
|
|
10
|
+
<view class="cv-row-main-left-text" :class="!image && !$slots.before ? 'cv-row-main-left-text-noimage' : ''">
|
|
11
11
|
<view class="cv-row-main-left-text-intact" v-if="!sublabel">
|
|
12
|
-
{{label}}
|
|
12
|
+
{{ label }}
|
|
13
13
|
</view>
|
|
14
14
|
<view class="cv-row-main-left-text-double" v-else>
|
|
15
15
|
<view class="cv-row-main-left-text-label">
|
|
16
|
-
{{label}}
|
|
16
|
+
{{ label }}
|
|
17
17
|
</view>
|
|
18
18
|
<view class="cv-row-main-left-text-sublabel">
|
|
19
|
-
{{sublabel}}
|
|
19
|
+
{{ sublabel }}
|
|
20
20
|
</view>
|
|
21
21
|
</view>
|
|
22
22
|
</view>
|
|
23
23
|
</view>
|
|
24
|
-
<view class="cv-row-main-center" :class="url=='' && !$listeners.click?'cv-row-main-center-nourl':''">
|
|
24
|
+
<view class="cv-row-main-center" :class="url == '' && !$listeners.click ? 'cv-row-main-center-nourl' : ''">
|
|
25
25
|
<view class="cv-row-main-center-intact" v-if="!subexplain">
|
|
26
|
-
{{explain}}
|
|
26
|
+
{{ explain }}
|
|
27
27
|
</view>
|
|
28
28
|
<view class="cv-row-main-center-double" v-else>
|
|
29
29
|
<view class="cv-row-main-center-explain">
|
|
30
|
-
{{explain}}
|
|
30
|
+
{{ explain }}
|
|
31
31
|
</view>
|
|
32
32
|
<view class="cv-row-main-center-subexplain">
|
|
33
|
-
{{subexplain}}
|
|
33
|
+
{{ subexplain }}
|
|
34
34
|
</view>
|
|
35
35
|
</view>
|
|
36
36
|
</view>
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
</view>
|
|
41
41
|
</view>
|
|
42
42
|
<view class="cv-row-message" v-if="message">
|
|
43
|
-
{{message}}
|
|
43
|
+
{{ message }}
|
|
44
44
|
</view>
|
|
45
45
|
</view>
|
|
46
46
|
</view>
|
|
@@ -48,9 +48,9 @@
|
|
|
48
48
|
|
|
49
49
|
<script>
|
|
50
50
|
export default {
|
|
51
|
-
name:
|
|
51
|
+
name: 'cvNavRow',
|
|
52
52
|
options: {
|
|
53
|
-
addGlobalClass: true
|
|
53
|
+
addGlobalClass: true
|
|
54
54
|
},
|
|
55
55
|
props: {
|
|
56
56
|
url: {
|
|
@@ -87,7 +87,6 @@ export default {
|
|
|
87
87
|
type: String,
|
|
88
88
|
default: ''
|
|
89
89
|
}
|
|
90
|
-
|
|
91
90
|
},
|
|
92
91
|
watch: {
|
|
93
92
|
dataLists(newVal) {
|
|
@@ -95,9 +94,7 @@ export default {
|
|
|
95
94
|
}
|
|
96
95
|
},
|
|
97
96
|
data() {
|
|
98
|
-
return {
|
|
99
|
-
|
|
100
|
-
};
|
|
97
|
+
return {};
|
|
101
98
|
},
|
|
102
99
|
created: function () {
|
|
103
100
|
// console.log(this.$slots);
|
|
@@ -107,35 +104,34 @@ export default {
|
|
|
107
104
|
if (typeof this.url == 'string' && this.url) {
|
|
108
105
|
const url = this.url;
|
|
109
106
|
switch (this.urlType) {
|
|
110
|
-
case 'redirectTo'
|
|
107
|
+
case 'redirectTo': //关闭当前页面,跳转到应用内的某个页面。
|
|
111
108
|
uni.redirectTo({
|
|
112
109
|
url: this.url
|
|
113
110
|
});
|
|
114
111
|
break;
|
|
115
|
-
case 'reLaunch'
|
|
112
|
+
case 'reLaunch': //关闭所有页面,打开到应用内的某个页面。
|
|
116
113
|
uni.reLaunch({
|
|
117
114
|
url: this.url
|
|
118
115
|
});
|
|
119
116
|
break;
|
|
120
|
-
case 'switchTab'
|
|
117
|
+
case 'switchTab': //跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
|
|
121
118
|
uni.switchTab({
|
|
122
119
|
url: this.url
|
|
123
120
|
});
|
|
124
121
|
break;
|
|
125
|
-
default
|
|
122
|
+
default: //默认【navigateTo】 保留当前页面,跳转到应用内的某个页面
|
|
126
123
|
uni.navigateTo({
|
|
127
124
|
url: this.url
|
|
128
125
|
});
|
|
129
126
|
}
|
|
130
|
-
|
|
131
127
|
} else {
|
|
132
|
-
this.$emit('click')
|
|
128
|
+
this.$emit('click');
|
|
133
129
|
}
|
|
134
130
|
}
|
|
135
131
|
}
|
|
136
132
|
};
|
|
137
|
-
</script>
|
|
138
|
-
<style
|
|
133
|
+
</script>
|
|
134
|
+
<style>
|
|
139
135
|
/* #ifndef MP-WEIXIN */
|
|
140
136
|
.cv-row:last-child .cv-row-main {
|
|
141
137
|
border-bottom: none;
|
|
@@ -1,11 +1,27 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<cv-form-item
|
|
3
|
-
:
|
|
2
|
+
<cv-form-item
|
|
3
|
+
:label="label"
|
|
4
|
+
:message="message"
|
|
5
|
+
:messageDisplay="messageDisplay"
|
|
6
|
+
:labelWidth="localLabelWidth"
|
|
7
|
+
:layout="localLayout"
|
|
8
|
+
:isIcon="true"
|
|
9
|
+
:iconTop="iconTop"
|
|
10
|
+
>
|
|
4
11
|
<view class="cv-picker-date">
|
|
5
|
-
<picker
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
12
|
+
<picker
|
|
13
|
+
class="cv-picker-date-item"
|
|
14
|
+
mode="date"
|
|
15
|
+
:value="localVal"
|
|
16
|
+
:start="startDate"
|
|
17
|
+
:end="endDate"
|
|
18
|
+
@change="bindDateChange"
|
|
19
|
+
@cancel="bindPickerCancel"
|
|
20
|
+
:fields="fields"
|
|
21
|
+
@click="changeIconTop"
|
|
22
|
+
>
|
|
23
|
+
<view class="cv-picker-date-text" v-if="localVal != ''">{{ localVal }}</view>
|
|
24
|
+
<view class="cv-picker-date-placeholder" v-else>{{ placeholder }}</view>
|
|
9
25
|
</picker>
|
|
10
26
|
</view>
|
|
11
27
|
</cv-form-item>
|
|
@@ -15,24 +31,24 @@
|
|
|
15
31
|
import MixinsPicker from '../mixins/mixins-picker.js';
|
|
16
32
|
export default {
|
|
17
33
|
mixins: [MixinsPicker],
|
|
18
|
-
name:
|
|
34
|
+
name: 'cvPickerDate',
|
|
19
35
|
props: {
|
|
20
36
|
//默认输入框
|
|
21
37
|
value: {
|
|
22
38
|
type: String,
|
|
23
|
-
default:
|
|
39
|
+
default: ''
|
|
24
40
|
},
|
|
25
41
|
startDate: {
|
|
26
42
|
type: String,
|
|
27
|
-
default:
|
|
43
|
+
default: ''
|
|
28
44
|
},
|
|
29
45
|
endDate: {
|
|
30
46
|
type: String,
|
|
31
|
-
default:
|
|
47
|
+
default: ''
|
|
32
48
|
},
|
|
33
49
|
fields: {
|
|
34
50
|
type: String,
|
|
35
|
-
default:
|
|
51
|
+
default: 'day'
|
|
36
52
|
}
|
|
37
53
|
},
|
|
38
54
|
watch: {
|
|
@@ -53,7 +69,7 @@ export default {
|
|
|
53
69
|
bindDateChange: function (e) {
|
|
54
70
|
this.localVal = e.detail.value;
|
|
55
71
|
this.$emit('input', this.localVal);
|
|
56
|
-
this.iconTop = false
|
|
72
|
+
this.iconTop = false;
|
|
57
73
|
}
|
|
58
74
|
}
|
|
59
75
|
};
|
|
@@ -1,16 +1,40 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<cv-form-item
|
|
3
|
-
:
|
|
2
|
+
<cv-form-item
|
|
3
|
+
:label="label"
|
|
4
|
+
:message="message"
|
|
5
|
+
:messageDisplay="messageDisplay"
|
|
6
|
+
:labelWidth="localLabelWidth"
|
|
7
|
+
:layout="localLayout"
|
|
8
|
+
:isIcon="true"
|
|
9
|
+
:iconTop="iconTop"
|
|
10
|
+
>
|
|
4
11
|
<view class="cv-picker-date-time">
|
|
5
|
-
<picker
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
12
|
+
<picker
|
|
13
|
+
class="cv-picker-date-item"
|
|
14
|
+
mode="date"
|
|
15
|
+
:value="localVal_date"
|
|
16
|
+
:start="startDate"
|
|
17
|
+
:end="endDate"
|
|
18
|
+
@change="bindDateChange"
|
|
19
|
+
:fields="fields"
|
|
20
|
+
@click="changeIconTop"
|
|
21
|
+
@cancel="bindPickerCancel"
|
|
22
|
+
>
|
|
23
|
+
<view class="cv-picker-date-text" v-if="localVal_date != ''">{{ localVal_date }}</view>
|
|
24
|
+
<view class="cv-picker-item-placeholder" v-else>{{ placeholder }}</view>
|
|
9
25
|
</picker>
|
|
10
|
-
<picker
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
26
|
+
<picker
|
|
27
|
+
class="cv-picker-time-item"
|
|
28
|
+
mode="time"
|
|
29
|
+
:value="localVal_time"
|
|
30
|
+
:start="startTime"
|
|
31
|
+
:end="endTime"
|
|
32
|
+
@change="bindTimeChange"
|
|
33
|
+
@click="changeIconTop"
|
|
34
|
+
@cancel="bindPickerCancel"
|
|
35
|
+
>
|
|
36
|
+
<view class="cv-picker-time-text" v-if="localVal_time != ''">{{ localVal_time }}</view>
|
|
37
|
+
<view class="cv-picker-item-placeholder" v-else>{{ placeholder }}</view>
|
|
14
38
|
</picker>
|
|
15
39
|
</view>
|
|
16
40
|
</cv-form-item>
|
|
@@ -20,32 +44,32 @@
|
|
|
20
44
|
import MixinsPicker from '../mixins/mixins-picker.js';
|
|
21
45
|
export default {
|
|
22
46
|
mixins: [MixinsPicker],
|
|
23
|
-
name:
|
|
47
|
+
name: 'cvPickerDatetime',
|
|
24
48
|
props: {
|
|
25
49
|
//默认输入框
|
|
26
50
|
value: {
|
|
27
51
|
type: String,
|
|
28
|
-
default:
|
|
52
|
+
default: ''
|
|
29
53
|
},
|
|
30
54
|
startDate: {
|
|
31
55
|
type: String,
|
|
32
|
-
default:
|
|
56
|
+
default: ''
|
|
33
57
|
},
|
|
34
58
|
endDate: {
|
|
35
59
|
type: String,
|
|
36
|
-
default:
|
|
60
|
+
default: ''
|
|
37
61
|
},
|
|
38
62
|
startTime: {
|
|
39
63
|
type: String,
|
|
40
|
-
default:
|
|
64
|
+
default: ''
|
|
41
65
|
},
|
|
42
66
|
endTime: {
|
|
43
67
|
type: String,
|
|
44
|
-
default:
|
|
68
|
+
default: ''
|
|
45
69
|
},
|
|
46
70
|
fields: {
|
|
47
71
|
type: String,
|
|
48
|
-
default:
|
|
72
|
+
default: 'day'
|
|
49
73
|
}
|
|
50
74
|
},
|
|
51
75
|
watch: {
|
|
@@ -58,8 +82,8 @@ export default {
|
|
|
58
82
|
data() {
|
|
59
83
|
return {
|
|
60
84
|
localVal: '',
|
|
61
|
-
localVal_date:
|
|
62
|
-
localVal_time:
|
|
85
|
+
localVal_date: '',
|
|
86
|
+
localVal_time: '',
|
|
63
87
|
iconTop: false
|
|
64
88
|
};
|
|
65
89
|
},
|
|
@@ -69,7 +93,6 @@ export default {
|
|
|
69
93
|
this.localVal_time = this.localVal.split(' ')[1] || '';
|
|
70
94
|
},
|
|
71
95
|
methods: {
|
|
72
|
-
|
|
73
96
|
bindTimeChange: function (e) {
|
|
74
97
|
let value = e.detail.value;
|
|
75
98
|
this.localVal_time = value;
|
|
@@ -79,7 +102,6 @@ export default {
|
|
|
79
102
|
let value = e.detail.value;
|
|
80
103
|
this.localVal_date = value;
|
|
81
104
|
this.mergeDateTime();
|
|
82
|
-
|
|
83
105
|
},
|
|
84
106
|
mergeDateTime: function () {
|
|
85
107
|
this.localVal = this.localVal_date + ' ' + this.localVal_time;
|
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<cv-form-item
|
|
3
|
-
:
|
|
2
|
+
<cv-form-item
|
|
3
|
+
:label="label"
|
|
4
|
+
:message="message"
|
|
5
|
+
:messageDisplay="messageDisplay"
|
|
6
|
+
:labelWidth="localLabelWidth"
|
|
7
|
+
:layout="localLayout"
|
|
8
|
+
:isIcon="true"
|
|
9
|
+
:iconTop="iconTop"
|
|
10
|
+
>
|
|
4
11
|
<view class="cv-picker">
|
|
5
|
-
<picker
|
|
6
|
-
|
|
12
|
+
<picker
|
|
13
|
+
class="cv-picker-item"
|
|
14
|
+
mode="multiSelector"
|
|
15
|
+
:range="range_data"
|
|
16
|
+
:value="items_index"
|
|
17
|
+
@change="bindPickerChange"
|
|
18
|
+
@columnchange="bindPickerColumnchange"
|
|
19
|
+
@cancel="onCancel"
|
|
20
|
+
@click="changeIconTop"
|
|
21
|
+
>
|
|
7
22
|
<view class="cv-picker-item-text" v-if="localVal">
|
|
8
|
-
{{localVal}}
|
|
23
|
+
{{ localVal }}
|
|
9
24
|
</view>
|
|
10
|
-
<view class="cv-picker-item-placeholder" v-else>{{placeholder}}</view>
|
|
25
|
+
<view class="cv-picker-item-placeholder" v-else>{{ placeholder }}</view>
|
|
11
26
|
</picker>
|
|
12
27
|
</view>
|
|
13
28
|
</cv-form-item>
|
|
@@ -17,7 +32,7 @@
|
|
|
17
32
|
import MixinsPicker from '../mixins/mixins-picker.js';
|
|
18
33
|
export default {
|
|
19
34
|
mixins: [MixinsPicker],
|
|
20
|
-
name:
|
|
35
|
+
name: 'cvPickerDatetime5',
|
|
21
36
|
props: {
|
|
22
37
|
//默认输入框内容
|
|
23
38
|
value: {
|
|
@@ -54,18 +69,18 @@ export default {
|
|
|
54
69
|
iconTop: false,
|
|
55
70
|
localVal: '',
|
|
56
71
|
localJoint: '',
|
|
57
|
-
range_data: []
|
|
58
|
-
last_range_data: []
|
|
59
|
-
items_index: [0, 0, 0, 0, 0]
|
|
60
|
-
lastRetDataIndex: [0, 0, 0, 0, 0]
|
|
72
|
+
range_data: [], //弹窗临时数组
|
|
73
|
+
last_range_data: [], //最终显示页面数组
|
|
74
|
+
items_index: [0, 0, 0, 0, 0], //当前下标
|
|
75
|
+
lastRetDataIndex: [0, 0, 0, 0, 0], // 最终确定选中的下标
|
|
61
76
|
localDataType: 'text',
|
|
62
77
|
dataValue: 'value',
|
|
63
78
|
dataText: 'label',
|
|
64
79
|
newDate: new Date(),
|
|
65
|
-
localDatetimeArr: []
|
|
66
|
-
lastDatetimeArr: []
|
|
67
|
-
startDatetimeArr: []
|
|
68
|
-
endDatetimeArr: []
|
|
80
|
+
localDatetimeArr: [], //临时日期时间数组
|
|
81
|
+
lastDatetimeArr: [], //选中日期时间数组
|
|
82
|
+
startDatetimeArr: [], //开始日期时间数组
|
|
83
|
+
endDatetimeArr: [] //结束日期时间数组
|
|
69
84
|
};
|
|
70
85
|
},
|
|
71
86
|
created: function () {
|
|
@@ -77,7 +92,6 @@ export default {
|
|
|
77
92
|
this.endDatetimeArr = this._getEndDatetime(this.end);
|
|
78
93
|
|
|
79
94
|
this.itemsSortOut();
|
|
80
|
-
|
|
81
95
|
},
|
|
82
96
|
methods: {
|
|
83
97
|
initReginData(data) {
|
|
@@ -86,9 +100,9 @@ export default {
|
|
|
86
100
|
localData.push({
|
|
87
101
|
text: data[key],
|
|
88
102
|
value: key
|
|
89
|
-
})
|
|
103
|
+
});
|
|
90
104
|
}
|
|
91
|
-
return localData
|
|
105
|
+
return localData;
|
|
92
106
|
},
|
|
93
107
|
itemsSortOut: function () {
|
|
94
108
|
let localDatetimeArr = [],
|
|
@@ -96,8 +110,8 @@ export default {
|
|
|
96
110
|
/* 获取当前日期的默认事件 */
|
|
97
111
|
if (this.localVal) {
|
|
98
112
|
//空格拆分日期和时间
|
|
99
|
-
lastDatetimeArr = this._splitDatetime(this.localVal, true)
|
|
100
|
-
localDatetimeArr = [...lastDatetimeArr]
|
|
113
|
+
lastDatetimeArr = this._splitDatetime(this.localVal, true);
|
|
114
|
+
localDatetimeArr = [...lastDatetimeArr];
|
|
101
115
|
} else {
|
|
102
116
|
localDatetimeArr = [
|
|
103
117
|
this._convert_two_digits(this.newDate.getFullYear()),
|
|
@@ -105,8 +119,7 @@ export default {
|
|
|
105
119
|
this._convert_two_digits(this.newDate.getDate()),
|
|
106
120
|
this._convert_two_digits(this.newDate.getHours()),
|
|
107
121
|
this._convert_two_digits(this.newDate.getMinutes())
|
|
108
|
-
]
|
|
109
|
-
|
|
122
|
+
];
|
|
110
123
|
}
|
|
111
124
|
this.localDatetimeArr = localDatetimeArr;
|
|
112
125
|
this.lastDatetimeArr = lastDatetimeArr;
|
|
@@ -146,7 +159,6 @@ export default {
|
|
|
146
159
|
this.lastDatetimeArr = [...lastDatetimeArr];
|
|
147
160
|
this.localDatetimeArr = [...localDatetimeArr];
|
|
148
161
|
this.last_range_data = [...this.range_data];
|
|
149
|
-
|
|
150
162
|
},
|
|
151
163
|
/* 拆分时日期时间为数组 */
|
|
152
164
|
_splitDatetime(datetime, join = false) {
|
|
@@ -191,7 +203,7 @@ export default {
|
|
|
191
203
|
}
|
|
192
204
|
//年份较小 结束时间无效
|
|
193
205
|
if (endDatetimeArr[0] < startDatetimeArr[0]) {
|
|
194
|
-
console.warn('//年份较小 结束时间无效')
|
|
206
|
+
console.warn('//年份较小 结束时间无效');
|
|
195
207
|
return [];
|
|
196
208
|
}
|
|
197
209
|
//年份较大着时间必定会大
|
|
@@ -202,7 +214,7 @@ export default {
|
|
|
202
214
|
/* 年份相同比较月份 */
|
|
203
215
|
//月份较小 结束时间无效
|
|
204
216
|
if (endDatetimeArr[1] < startDatetimeArr[1]) {
|
|
205
|
-
console.warn('//月份较小 结束时间无效')
|
|
217
|
+
console.warn('//月份较小 结束时间无效');
|
|
206
218
|
return [];
|
|
207
219
|
}
|
|
208
220
|
//月份较大着时间必定会大
|
|
@@ -213,7 +225,7 @@ export default {
|
|
|
213
225
|
/* 年份月份相同比较日 */
|
|
214
226
|
//日较小 结束时间无效
|
|
215
227
|
if (endDatetimeArr[2] < startDatetimeArr[2]) {
|
|
216
|
-
console.warn('//日较小 结束时间无效')
|
|
228
|
+
console.warn('//日较小 结束时间无效');
|
|
217
229
|
return [];
|
|
218
230
|
}
|
|
219
231
|
//日较大着时间必定会大
|
|
@@ -224,7 +236,7 @@ export default {
|
|
|
224
236
|
/* 年份、月份及日相同比较时 */
|
|
225
237
|
//日较小 结束时间无效
|
|
226
238
|
if (endDatetimeArr[3] < startDatetimeArr[3]) {
|
|
227
|
-
console.warn('//时较小 结束时间无效')
|
|
239
|
+
console.warn('//时较小 结束时间无效');
|
|
228
240
|
return [];
|
|
229
241
|
}
|
|
230
242
|
//日较大着时间必定会大
|
|
@@ -235,7 +247,7 @@ export default {
|
|
|
235
247
|
/* 年份、月份、日及时相同比较分 */
|
|
236
248
|
//分较小 结束时间无效
|
|
237
249
|
if (endDatetimeArr[4] < startDatetimeArr[4]) {
|
|
238
|
-
console.warn('//时较小 结束时间无效')
|
|
250
|
+
console.warn('//时较小 结束时间无效');
|
|
239
251
|
return [];
|
|
240
252
|
}
|
|
241
253
|
//分较大着时间必定会大
|
|
@@ -276,26 +288,31 @@ export default {
|
|
|
276
288
|
},
|
|
277
289
|
/* 获取日期 */
|
|
278
290
|
_getDate(month, year) {
|
|
279
|
-
|
|
280
291
|
let localData = [];
|
|
281
292
|
let days = 0;
|
|
282
|
-
let endday =
|
|
283
|
-
|
|
293
|
+
let endday =
|
|
294
|
+
this.endDatetimeArr[0] == this.localDatetimeArr[0] && this.endDatetimeArr[1] == this.localDatetimeArr[1]
|
|
295
|
+
? this.startDatetimeArr[2]
|
|
296
|
+
: 0;
|
|
297
|
+
let startDay =
|
|
298
|
+
this.startDatetimeArr[0] == this.localDatetimeArr[0] && this.startDatetimeArr[1] == this.localDatetimeArr[1]
|
|
299
|
+
? this.startDatetimeArr[2]
|
|
300
|
+
: 1;
|
|
284
301
|
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12 || month == '') {
|
|
285
|
-
days = 31
|
|
302
|
+
days = 31;
|
|
286
303
|
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
|
|
287
|
-
days = 30
|
|
304
|
+
days = 30;
|
|
288
305
|
} else {
|
|
289
306
|
//二月算法
|
|
290
307
|
//世纪闰年 || 普通闰年
|
|
291
308
|
if ((year % 100 == 0 && year % 400 == 0) || (year % 100 !== 0 && year % 4 == 0)) {
|
|
292
|
-
days = 29
|
|
309
|
+
days = 29;
|
|
293
310
|
} else {
|
|
294
|
-
days = 28
|
|
311
|
+
days = 28;
|
|
295
312
|
}
|
|
296
313
|
}
|
|
297
314
|
if (endday > days || endday == 0) {
|
|
298
|
-
endday = days
|
|
315
|
+
endday = days;
|
|
299
316
|
}
|
|
300
317
|
for (let i = startDay; i <= endday; ++i) {
|
|
301
318
|
localData.push(this._convert_two_digits(i) + '日');
|
|
@@ -305,8 +322,18 @@ export default {
|
|
|
305
322
|
/* 获取小时 */
|
|
306
323
|
_getHours() {
|
|
307
324
|
let localData = [];
|
|
308
|
-
let start =
|
|
309
|
-
|
|
325
|
+
let start =
|
|
326
|
+
this.startDatetimeArr[0] == this.localDatetimeArr[0] &&
|
|
327
|
+
this.startDatetimeArr[1] == this.localDatetimeArr[1] &&
|
|
328
|
+
this.startDatetimeArr[2] == this.localDatetimeArr[2]
|
|
329
|
+
? this.startDatetimeArr[3]
|
|
330
|
+
: 1;
|
|
331
|
+
let end =
|
|
332
|
+
this.endDatetimeArr[0] == this.localDatetimeArr[0] &&
|
|
333
|
+
this.endDatetimeArr[1] == this.localDatetimeArr[1] &&
|
|
334
|
+
this.endDatetimeArr[2] == this.localDatetimeArr[2]
|
|
335
|
+
? this.endDatetimeArr[3]
|
|
336
|
+
: 23;
|
|
310
337
|
for (let i = start; i <= end; ++i) {
|
|
311
338
|
localData.push(this._convert_two_digits(i) + '时');
|
|
312
339
|
}
|
|
@@ -314,8 +341,20 @@ export default {
|
|
|
314
341
|
},
|
|
315
342
|
_getMinutes() {
|
|
316
343
|
let localData = [];
|
|
317
|
-
let start =
|
|
318
|
-
|
|
344
|
+
let start =
|
|
345
|
+
this.startDatetimeArr[0] == this.localDatetimeArr[0] &&
|
|
346
|
+
this.startDatetimeArr[1] == this.localDatetimeArr[1] &&
|
|
347
|
+
this.startDatetimeArr[2] == this.localDatetimeArr[2] &&
|
|
348
|
+
this.startDatetimeArr[3] == this.localDatetimeArr[3]
|
|
349
|
+
? this.startDatetimeArr[4]
|
|
350
|
+
: 1;
|
|
351
|
+
let end =
|
|
352
|
+
this.endDatetimeArr[0] == this.localDatetimeArr[0] &&
|
|
353
|
+
this.endDatetimeArr[1] == this.localDatetimeArr[1] &&
|
|
354
|
+
this.endDatetimeArr[2] == this.localDatetimeArr[2] &&
|
|
355
|
+
this.endDatetimeArr[3] == this.localDatetimeArr[3]
|
|
356
|
+
? this.endDatetimeArr[4]
|
|
357
|
+
: 59;
|
|
319
358
|
for (let i = start; i <= end; ++i) {
|
|
320
359
|
localData.push(this._convert_two_digits(i) + '分');
|
|
321
360
|
}
|
|
@@ -323,7 +362,7 @@ export default {
|
|
|
323
362
|
},
|
|
324
363
|
/* 获取默认值的key */
|
|
325
364
|
_getKey(data, localValue) {
|
|
326
|
-
let localKey = 0
|
|
365
|
+
let localKey = 0;
|
|
327
366
|
if (localValue) {
|
|
328
367
|
/* 遍历数组 找出对应值的key */
|
|
329
368
|
for (const key in data) {
|
|
@@ -332,11 +371,11 @@ export default {
|
|
|
332
371
|
}
|
|
333
372
|
}
|
|
334
373
|
}
|
|
335
|
-
return localKey
|
|
374
|
+
return localKey;
|
|
336
375
|
},
|
|
337
376
|
_convert_two_digits(number) {
|
|
338
377
|
if (number < 10 && parseInt(number).toString().length < 2) {
|
|
339
|
-
number = '0' + parseInt(number).toString()
|
|
378
|
+
number = '0' + parseInt(number).toString();
|
|
340
379
|
} else {
|
|
341
380
|
number = parseInt(number).toString();
|
|
342
381
|
}
|
|
@@ -346,20 +385,20 @@ export default {
|
|
|
346
385
|
let items_index = e.detail.value;
|
|
347
386
|
this.items_index = items_index;
|
|
348
387
|
this.updatelocalVal();
|
|
349
|
-
this.iconTop = false
|
|
388
|
+
this.iconTop = false;
|
|
350
389
|
},
|
|
351
390
|
/* 取消选择 */
|
|
352
391
|
onCancel(e) {
|
|
353
|
-
this.iconTop = false
|
|
392
|
+
this.iconTop = false;
|
|
354
393
|
this.range_data = [...this.last_range_data];
|
|
355
394
|
this.items_index = [...this.lastRetDataIndex];
|
|
356
395
|
},
|
|
357
396
|
bindPickerColumnchange: function (e) {
|
|
358
397
|
this.items_index[e.detail.column] = e.detail.value;
|
|
359
398
|
switch (e.detail.column) {
|
|
360
|
-
case 0
|
|
399
|
+
case 0: //滑动年份
|
|
361
400
|
//年份数据变动
|
|
362
|
-
this.localDatetimeArr[0] = this.range_data[0][e.detail.value].replace('年', '')
|
|
401
|
+
this.localDatetimeArr[0] = this.range_data[0][e.detail.value].replace('年', '');
|
|
363
402
|
//初始化月
|
|
364
403
|
//初始化日
|
|
365
404
|
this.range_data[2] = this._getDate(this.localDatetimeArr[1], this.localDatetimeArr[0]);
|
|
@@ -368,31 +407,31 @@ export default {
|
|
|
368
407
|
//初始化分
|
|
369
408
|
this.range_data[4] = this._getMinutes();
|
|
370
409
|
break;
|
|
371
|
-
case 1
|
|
410
|
+
case 1: //滑动月
|
|
372
411
|
//月变化
|
|
373
|
-
this.localDatetimeArr[1] = this.range_data[1][e.detail.value].replace('月', '')
|
|
374
|
-
//初始化日
|
|
412
|
+
this.localDatetimeArr[1] = this.range_data[1][e.detail.value].replace('月', '');
|
|
413
|
+
//初始化日
|
|
375
414
|
this.range_data[2] = this._getDate(this.localDatetimeArr[1], this.localDatetimeArr[0]);
|
|
376
415
|
//初始化时
|
|
377
416
|
this.range_data[3] = this._getHours();
|
|
378
417
|
//初始化分
|
|
379
418
|
this.range_data[4] = this._getMinutes();
|
|
380
419
|
break;
|
|
381
|
-
case 2
|
|
420
|
+
case 2: //滑动日
|
|
382
421
|
//日变化
|
|
383
|
-
this.localDatetimeArr[2] = this.range_data[2][e.detail.value].replace('日', '')
|
|
422
|
+
this.localDatetimeArr[2] = this.range_data[2][e.detail.value].replace('日', '');
|
|
384
423
|
//初始化时
|
|
385
424
|
this.range_data[3] = this._getHours();
|
|
386
425
|
//初始化分
|
|
387
426
|
this.range_data[4] = this._getMinutes();
|
|
388
427
|
break;
|
|
389
|
-
case 3
|
|
428
|
+
case 3: //滑动时
|
|
390
429
|
//时变化
|
|
391
|
-
this.localDatetimeArr[3] = this.range_data[3][e.detail.value].replace('时', '')
|
|
430
|
+
this.localDatetimeArr[3] = this.range_data[3][e.detail.value].replace('时', '');
|
|
392
431
|
//初始化分
|
|
393
432
|
this.range_data[4] = this._getMinutes();
|
|
394
433
|
break;
|
|
395
|
-
case 4
|
|
434
|
+
case 4: //滑动分
|
|
396
435
|
//分变化
|
|
397
436
|
this.localDatetimeArr[4] = this.range_data[4][e.detail.value].replace('分', '');
|
|
398
437
|
break;
|
|
@@ -400,11 +439,20 @@ export default {
|
|
|
400
439
|
},
|
|
401
440
|
updatelocalVal() {
|
|
402
441
|
this.last_range_data = [...this.range_data];
|
|
403
|
-
this.lastRetDataIndex = [...this.items_index]
|
|
442
|
+
this.lastRetDataIndex = [...this.items_index];
|
|
404
443
|
|
|
405
|
-
this.lastDatetimeArr = [...this.localDatetimeArr]
|
|
406
|
-
const lastDatetimeArr = [...this.lastDatetimeArr]
|
|
407
|
-
this.localVal =
|
|
444
|
+
this.lastDatetimeArr = [...this.localDatetimeArr];
|
|
445
|
+
const lastDatetimeArr = [...this.lastDatetimeArr];
|
|
446
|
+
this.localVal =
|
|
447
|
+
lastDatetimeArr[0] +
|
|
448
|
+
this.localJoint +
|
|
449
|
+
lastDatetimeArr[1] +
|
|
450
|
+
this.localJoint +
|
|
451
|
+
lastDatetimeArr[2] +
|
|
452
|
+
' ' +
|
|
453
|
+
lastDatetimeArr[3] +
|
|
454
|
+
':' +
|
|
455
|
+
lastDatetimeArr[4];
|
|
408
456
|
this.$emit('input', this.localVal);
|
|
409
457
|
}
|
|
410
458
|
}
|
|
@@ -428,4 +476,4 @@ export default {
|
|
|
428
476
|
.cv-picker-item-placeholder {
|
|
429
477
|
color: grey;
|
|
430
478
|
}
|
|
431
|
-
</style>
|
|
479
|
+
</style>
|