@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.
Files changed (77) hide show
  1. package/package.json +5 -2
  2. package/plugins/request.js +14 -2
  3. package/ui-cv/cv-banner/cv-banner.vue +23 -14
  4. package/ui-cv/cv-banner-card/cv-banner-card.vue +24 -16
  5. package/ui-cv/cv-block/cv-block.vue +6 -6
  6. package/ui-cv/cv-box/cv-box.vue +6 -7
  7. package/ui-cv/cv-button/cv-button.vue +32 -13
  8. package/ui-cv/cv-cell/cv-cell.vue +21 -25
  9. package/ui-cv/cv-checkbox/cv-checkbox.vue +22 -22
  10. package/ui-cv/cv-checkbox-tag/cv-checkbox-tag.vue +30 -25
  11. package/ui-cv/cv-code-sms/cv-code-sms.vue +60 -38
  12. package/ui-cv/cv-dialog-bottom/cv-dialog-bottom.vue +14 -18
  13. package/ui-cv/cv-dialog-full/cv-dialog-full.vue +14 -18
  14. package/ui-cv/cv-dialog-loading/cv-dialog-loading.vue +10 -17
  15. package/ui-cv/cv-dialog-share/cv-dialog-share.vue +4 -5
  16. package/ui-cv/cv-draw-barcode/cv-draw-barcode.vue +54 -51
  17. package/ui-cv/cv-draw-posters/cv-draw-posters.vue +53 -71
  18. package/ui-cv/cv-draw-progress/cv-draw-progress.vue +44 -39
  19. package/ui-cv/cv-draw-qrcode/cv-draw-qrcode.vue +48 -45
  20. package/ui-cv/cv-editor/compressImage.vue +47 -40
  21. package/ui-cv/cv-editor/cv-editor.vue +234 -124
  22. package/ui-cv/cv-editor-parse/cv-editor-parse.vue +21 -30
  23. package/ui-cv/cv-editor-parse/u-parse.vue +21 -30
  24. package/ui-cv/cv-filter-hm/cv-filter-hm.vue +140 -74
  25. package/ui-cv/cv-form-group/cv-form-group.vue +11 -13
  26. package/ui-cv/cv-form-item/cv-form-item.vue +35 -20
  27. package/ui-cv/cv-form-merge/cv-form-merge.vue +5 -10
  28. package/ui-cv/cv-geo-local/cv-geo-local.vue +50 -27
  29. package/ui-cv/cv-icons/cv-icons.vue +24 -19
  30. package/ui-cv/cv-info/cv-info.vue +9 -11
  31. package/ui-cv/cv-input-btn/cv-input-btn.vue +34 -13
  32. package/ui-cv/cv-input-digit/cv-input-digit.vue +31 -18
  33. package/ui-cv/cv-input-idcard/cv-input-idcard.vue +31 -21
  34. package/ui-cv/cv-input-number/cv-input-number.vue +29 -14
  35. package/ui-cv/cv-input-password/cv-input-password.vue +31 -20
  36. package/ui-cv/cv-input-text/cv-input-text.vue +32 -17
  37. package/ui-cv/cv-link/cv-link.vue +7 -7
  38. package/ui-cv/cv-lists-base/cv-lists-base.vue +148 -114
  39. package/ui-cv/cv-lists-swiper/cv-lists-swipe2r.vue +24 -15
  40. package/ui-cv/cv-lists-swiper/cv-lists-swiper.vue +85 -63
  41. package/ui-cv/cv-load-more/cv-load-more.vue +60 -28
  42. package/ui-cv/cv-message/cv-message.vue +5 -6
  43. package/ui-cv/cv-nav-col/cv-nav-col.vue +9 -13
  44. package/ui-cv/cv-nav-group/cv-nav-group.vue +6 -8
  45. package/ui-cv/cv-nav-row/cv-nav-row.vue +21 -25
  46. package/ui-cv/cv-picker-date/cv-picker-date.vue +28 -12
  47. package/ui-cv/cv-picker-datetime/cv-picker-datetime.vue +43 -21
  48. package/ui-cv/cv-picker-datetime5/cv-picker-datetime5.vue +108 -60
  49. package/ui-cv/cv-picker-region/cv-picker-region.vue +46 -32
  50. package/ui-cv/cv-picker-time/cv-picker-time.vue +26 -11
  51. package/ui-cv/cv-picker1/cv-picker1.vue +32 -17
  52. package/ui-cv/cv-picker2/cv-picker2.vue +46 -28
  53. package/ui-cv/cv-picker3/cv-picker3.vue +77 -44
  54. package/ui-cv/cv-radio/cv-radio.vue +17 -10
  55. package/ui-cv/cv-radio-sex/cv-radio-sex.vue +20 -21
  56. package/ui-cv/cv-radio-tag/cv-radio-tag.vue +22 -11
  57. package/ui-cv/cv-rate/cv-rate.vue +17 -13
  58. package/ui-cv/cv-search/cv-search.vue +17 -12
  59. package/ui-cv/cv-skeleton/cv-skeleton.vue +32 -27
  60. package/ui-cv/cv-skeleton/cv-skeleton2.vue +56 -33
  61. package/ui-cv/cv-skeleton-group/cv-skeleton-group.vue +4 -6
  62. package/ui-cv/cv-specs/cv-specs.vue +31 -30
  63. package/ui-cv/cv-switch/cv-switch.vue +4 -5
  64. package/ui-cv/cv-tab-lists/cv-tab-lists.vue +189 -128
  65. package/ui-cv/cv-textarea/cv-textarea.vue +31 -13
  66. package/ui-cv/cv-treaty/cv-treaty.vue +8 -8
  67. package/ui-cv/cv-update-app/cv-update-app.vue +68 -53
  68. package/ui-cv/cv-upload-avatar/cv-upload-avatar.vue +33 -31
  69. package/ui-cv/cv-upload-img/cv-upload-img.vue +97 -70
  70. package/ui-cv/dict/area-city.js +612 -612
  71. package/ui-cv/dict/area-county.js +3392 -3392
  72. package/ui-cv/dict/area-province.js +35 -35
  73. package/ui-cv/mixins/mixins-checkbox.js +9 -15
  74. package/ui-cv/mixins/mixins-common.js +7 -7
  75. package/ui-cv/mixins/mixins-input.js +11 -12
  76. package/ui-cv/mixins/mixins-picker.js +9 -13
  77. 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=" sublabel && 'cv-row-main-big' " @tap="jump">
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: "cvNavRow",
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'://跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
117
+ case 'switchTab': //跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
121
118
  uni.switchTab({
122
119
  url: this.url
123
120
  });
124
121
  break;
125
- default://默认【navigateTo】 保留当前页面,跳转到应用内的某个页面
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 :label="label" :message="message" :messageDisplay="messageDisplay" :labelWidth="localLabelWidth" :layout="localLayout" :isIcon="true"
3
- :iconTop="iconTop">
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 class="cv-picker-date-item" mode="date" :value="localVal" :start="startDate" :end="endDate" @change="bindDateChange"
6
- @cancel="bindPickerCancel" :fields="fields" @click="changeIconTop">
7
- <view class="cv-picker-date-text" v-if="localVal!=''">{{localVal}}</view>
8
- <view class="cv-picker-date-placeholder" v-else>{{placeholder}}</view>
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: "cvPickerDate",
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: "day"
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 :label="label" :message="message" :messageDisplay="messageDisplay" :labelWidth="localLabelWidth" :layout="localLayout" :isIcon="true"
3
- :iconTop="iconTop">
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 class="cv-picker-date-item" mode="date" :value="localVal_date" :start="startDate" :end="endDate" @change="bindDateChange"
6
- :fields="fields" @click="changeIconTop" @cancel="bindPickerCancel">
7
- <view class="cv-picker-date-text" v-if="localVal_date!=''">{{localVal_date}}</view>
8
- <view class="cv-picker-item-placeholder" v-else>{{placeholder}}</view>
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 class="cv-picker-time-item" mode="time" :value="localVal_time" :start="startTime" :end="endTime" @change="bindTimeChange"
11
- @click="changeIconTop" @cancel="bindPickerCancel">
12
- <view class="cv-picker-time-text" v-if="localVal_time!=''">{{localVal_time}}</view>
13
- <view class="cv-picker-item-placeholder" v-else>{{placeholder}}</view>
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: "cvPickerDatetime",
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: "day"
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 :label="label" :message="message" :messageDisplay="messageDisplay" :labelWidth="localLabelWidth" :layout="localLayout" :isIcon="true"
3
- :iconTop="iconTop">
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 class="cv-picker-item" mode="multiSelector" :range="range_data" :value="items_index" @change="bindPickerChange"
6
- @columnchange="bindPickerColumnchange" @cancel="onCancel" @click="changeIconTop">
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: "cvPickerDatetime5",
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 = this.endDatetimeArr[0] == this.localDatetimeArr[0] && this.endDatetimeArr[1] == this.localDatetimeArr[1] ? this.startDatetimeArr[2] : 0;
283
- let startDay = this.startDatetimeArr[0] == this.localDatetimeArr[0] && this.startDatetimeArr[1] == this.localDatetimeArr[1] ? this.startDatetimeArr[2] : 1;
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 = this.startDatetimeArr[0] == this.localDatetimeArr[0] && this.startDatetimeArr[1] == this.localDatetimeArr[1] && this.startDatetimeArr[2] == this.localDatetimeArr[2] ? this.startDatetimeArr[3] : 1;
309
- let end = this.endDatetimeArr[0] == this.localDatetimeArr[0] && this.endDatetimeArr[1] == this.localDatetimeArr[1] && this.endDatetimeArr[2] == this.localDatetimeArr[2] ? this.endDatetimeArr[3] : 23
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 = this.startDatetimeArr[0] == this.localDatetimeArr[0] && this.startDatetimeArr[1] == this.localDatetimeArr[1] && this.startDatetimeArr[2] == this.localDatetimeArr[2] && this.startDatetimeArr[3] == this.localDatetimeArr[3] ? this.startDatetimeArr[4] : 1;
318
- let end = this.endDatetimeArr[0] == this.localDatetimeArr[0] && this.endDatetimeArr[1] == this.localDatetimeArr[1] && this.endDatetimeArr[2] == this.localDatetimeArr[2] && this.endDatetimeArr[3] == this.localDatetimeArr[3] ? this.endDatetimeArr[4] : 59
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 = lastDatetimeArr[0] + this.localJoint + lastDatetimeArr[1] + this.localJoint + lastDatetimeArr[2] + ' ' + lastDatetimeArr[3] + ':' + lastDatetimeArr[4]
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>