@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,53 +1,98 @@
1
1
  <template>
2
2
  <view class="cv-tab-lists">
3
3
  <!-- tab按钮 -->
4
- <view class="cv-tab-lists-tab-area" v-if="disableTab==false">
5
- <scroll-view class="cv-tab-lists-tab-box" scroll-x="true" :scroll-left="localTabScrollLeft" :show-scrollbar="false" scroll-with-animation
6
- @scroll="onTabScroll">
7
- <view class="cv-tab-lists-tab-item" v-bind:style="tabItemStyle" v-for="(item,index) in localTabLists" :key="index"
8
- :class="'cv-tab-lists-tab-item-id-'+(index+1)">
4
+ <view class="cv-tab-lists-tab-area" v-if="disableTab == false">
5
+ <scroll-view
6
+ class="cv-tab-lists-tab-box"
7
+ scroll-x="true"
8
+ :scroll-left="localTabScrollLeft"
9
+ :show-scrollbar="false"
10
+ scroll-with-animation
11
+ @scroll="onTabScroll"
12
+ >
13
+ <view
14
+ class="cv-tab-lists-tab-item"
15
+ v-bind:style="tabItemStyle"
16
+ v-for="(item, index) in localTabLists"
17
+ :key="index"
18
+ :class="'cv-tab-lists-tab-item-id-' + (index + 1)"
19
+ >
9
20
  <view class="cv-tab-lists-tab-item-area" @tap="changeTab(index)" :key="index">
10
21
  <view class="cv-tab-lists-tab-item-area-title-box">
11
22
  <view class="cv-tab-lists-tab-item-area-title-item">
12
- {{item.tabTitle}}
23
+ {{ item.tabTitle }}
13
24
  <view class="cv-tab-lists-tab-item-area-title-orderby" v-if="item.orderby">
14
25
  <view class="cv-tab-lists-tab-item-area-title-asc">
15
- <view class="cv-tab-lists-tab-item-area-title-asc-item"
16
- :class="item.ordersort=='ASC'&&localTabIndex==index?'cv-tab-lists-tab-item-area-title-asc-selected':''">
17
- </view>
26
+ <view
27
+ class="cv-tab-lists-tab-item-area-title-asc-item"
28
+ :class="
29
+ item.ordersort == 'ASC' && localTabIndex == index ? 'cv-tab-lists-tab-item-area-title-asc-selected' : ''
30
+ "
31
+ ></view>
18
32
  </view>
19
33
  <view class="cv-tab-lists-tab-item-area-title-desc">
20
- <view class="cv-tab-lists-tab-item-area-title-desc-item"
21
- :class="item.ordersort=='DESC'&&localTabIndex==index?'cv-tab-lists-tab-item-area-title-desc-selected':''">
22
- </view>
34
+ <view
35
+ class="cv-tab-lists-tab-item-area-title-desc-item"
36
+ :class="
37
+ item.ordersort == 'DESC' && localTabIndex == index ? 'cv-tab-lists-tab-item-area-title-desc-selected' : ''
38
+ "
39
+ ></view>
23
40
  </view>
24
41
  </view>
25
42
  </view>
26
43
  </view>
27
- <view class="cv-tab-lists-tab-item-area-border" :class="localTabIndex==index?'cv-tab-lists-tab-item-area-border-checked':''">
28
- </view>
44
+ <view
45
+ class="cv-tab-lists-tab-item-area-border"
46
+ :class="localTabIndex == index ? 'cv-tab-lists-tab-item-area-border-checked' : ''"
47
+ ></view>
29
48
  </view>
30
49
  </view>
31
50
  </scroll-view>
32
51
  </view>
33
- <view class="cv-tab-lists-data-area" :style="disableTab==true?'height:100%;':''">
34
- <swiper class="cv-tab-lists-data-swiper" :current="localTabIndex" @change="changeSwiper" @animationfinish="onAnimationfinish"
35
- @transition="onTransition" :disableTouch="disableTouch">
36
- <swiper-item v-for="(item,index) in localTabLists" :key="index" :show-scrollbar="true">
37
- <scroll-view class="cv-tab-lists-data-scroll-box" scroll-y="true"
38
- :refresher-enabled="localTabLists[index].enabled && disableEnabled===false" refresher-background="#eeeeee"
39
- :refresher-triggered="localTabLists[index].triggered" @scrolltolower="onTolower(index)" @scrolltoupper="onToupper" @scroll="onScroll"
40
- @refresherrefresh="onRefresh" @refresherrestore="onRestore" @refresherabort="onAbort">
52
+ <view class="cv-tab-lists-data-area" :style="disableTab == true ? 'height:100%;' : ''">
53
+ <swiper
54
+ class="cv-tab-lists-data-swiper"
55
+ :current="localTabIndex"
56
+ @change="changeSwiper"
57
+ @animationfinish="onAnimationfinish"
58
+ @transition="onTransition"
59
+ :disableTouch="disableTouch"
60
+ >
61
+ <swiper-item v-for="(item, index) in localTabLists" :key="index" :show-scrollbar="true">
62
+ <scroll-view
63
+ class="cv-tab-lists-data-scroll-box"
64
+ scroll-y="true"
65
+ :refresher-enabled="localTabLists[index].enabled && disableEnabled === false"
66
+ refresher-background="#eeeeee"
67
+ :refresher-triggered="localTabLists[index].triggered"
68
+ @scrolltolower="onTolower(index)"
69
+ @scrolltoupper="onToupper"
70
+ @scroll="onScroll"
71
+ @refresherrefresh="onRefresh"
72
+ @refresherrestore="onRestore"
73
+ @refresherabort="onAbort"
74
+ >
41
75
  <view v-if="localDataLists[index].data.length > 0" :class="listsClass">
42
- <view v-for="(rows,i) in localDataLists[index].data" :key="i" style="display: contents !important;">
76
+ <view v-for="(rows, i) in localDataLists[index].data" :key="i" style="display: contents !important">
43
77
  <slot :rows="rows" :index="i" :tabIndex="index" />
44
78
  </view>
45
79
  </view>
46
- <view class="cv-tab-lists-data-scroll-box-nodata-msg"
47
- v-if="localTabLists[index].loadMoreStatus =='noMore' && localDataLists[index].data.length <=0 && localTabLists[index].nodataMsg">
48
- {{localTabLists[index].nodataMsg}}
80
+ <view
81
+ class="cv-tab-lists-data-scroll-box-nodata-msg"
82
+ v-if="
83
+ localTabLists[index].loadMoreStatus == 'noMore' &&
84
+ localDataLists[index].data.length <= 0 &&
85
+ localTabLists[index].nodataMsg
86
+ "
87
+ >
88
+ {{ localTabLists[index].nodataMsg }}
49
89
  </view>
50
- <cv-load-more :status="localTabLists[index].loadMoreStatus" @clickLoadMore="onTolower(index)" :contentText="loadMoreText" v-else />
90
+ <cv-load-more
91
+ :status="localTabLists[index].loadMoreStatus"
92
+ @clickLoadMore="onTolower(index)"
93
+ :contentText="loadMoreText"
94
+ v-else
95
+ />
51
96
  </scroll-view>
52
97
  </swiper-item>
53
98
  </swiper>
@@ -123,14 +168,14 @@ export default {
123
168
  localTabLists: [],
124
169
  localTabIndex: 0,
125
170
  localDataLists: [],
126
- scrollTop: 0,//当前列顶部位置
171
+ scrollTop: 0, //当前列顶部位置
127
172
  triggered: false,
128
173
  tabItemStyle: '',
129
174
  windowWidth: 414,
130
175
  localTabScrollLeft: 0,
131
176
  tabScrollLeft: 0,
132
- loadMoreText: { contentdown: "上拉或点击显示更多", contentrefresh: "正在加载...", contentnomore: "没有更多数据了" }
133
- }
177
+ loadMoreText: { contentdown: '上拉或点击显示更多', contentrefresh: '正在加载...', contentnomore: '没有更多数据了' }
178
+ };
134
179
  },
135
180
  watch: {
136
181
  tabsConfig: {
@@ -160,7 +205,7 @@ export default {
160
205
  created() {
161
206
  uni.getSystemInfo({
162
207
  success: (res) => {
163
- this.windowWidth = res.windowWidth
208
+ this.windowWidth = res.windowWidth;
164
209
  }
165
210
  });
166
211
  },
@@ -174,14 +219,14 @@ export default {
174
219
  for (const key in this.tabsConfig) {
175
220
  localTabLists.push({ ...this.tabsConfig[key] });
176
221
  localTabLists[key].enabled = true; //开启自定义下拉刷新
177
- localTabLists[key].loadMoreStatus = 'more';//cv-load-more 组件 status 状态
222
+ localTabLists[key].loadMoreStatus = 'more'; //cv-load-more 组件 status 状态
178
223
  localTabLists[key].scrollTop = 0;
179
- localTabLists[key].ordersort = this.tabsConfig[key].ordersort == 'DESC' ? 'DESC' : 'ASC';//默认倒叙
180
- localTabLists[key].pagesize = this.tabsConfig[key].pagesize || 10;//页长
224
+ localTabLists[key].ordersort = this.tabsConfig[key].ordersort == 'DESC' ? 'DESC' : 'ASC'; //默认倒叙
225
+ localTabLists[key].pagesize = this.tabsConfig[key].pagesize || 10; //页长
181
226
  localDataLists[key] = {
182
227
  page: 1,
183
228
  data: []
184
- }
229
+ };
185
230
  }
186
231
  this.localTabLists = localTabLists;
187
232
  this.localDataLists = localDataLists;
@@ -200,36 +245,20 @@ export default {
200
245
  /* #ifdef APP-PLUS */
201
246
  let query = uni.createSelectorQuery().in(this);
202
247
  for (var i = 1; i <= localTabLists.length; ++i) {
203
- query.select('.cv-tab-lists-tab-item-id-' + i).boundingClientRect((data) => {
204
- tabItemWidth += 40
205
- if (data) {
206
- tabItemWidth += data.width
207
- }
208
- }).exec();
209
- }
210
- query.select('.cv-tab-lists-tab-box').boundingClientRect((data) => {
211
- tabWidth = data.width
212
- /* 写在这里面是为了兼容微信小程序,如果写在外面这句会先执行 */
213
- if (tabItemWidth <= tabWidth) {
214
- tabItemStyle += 'width:calc(100% / ' + localTabLists.length + ' - 40px);';
215
- }
216
- tabItemStyle += 'top:0;';
217
- this.tabItemStyle = tabItemStyle;
218
- this.$forceUpdate();
219
- }).exec();
220
- /* #endif */
221
- /* #ifndef APP-PLUS */
222
- setTimeout(() => {
223
- for (var i = 1; i <= localTabLists.length; ++i) {
224
- uni.createSelectorQuery().in(this).select('.cv-tab-lists-tab-item-id-' + i).boundingClientRect((data) => {
225
- tabItemWidth += 40
248
+ query
249
+ .select('.cv-tab-lists-tab-item-id-' + i)
250
+ .boundingClientRect((data) => {
251
+ tabItemWidth += 40;
226
252
  if (data) {
227
- tabItemWidth += data.width
253
+ tabItemWidth += data.width;
228
254
  }
229
- }).exec();
230
- }
231
- uni.createSelectorQuery().in(this).select('.cv-tab-lists-tab-box').boundingClientRect((data) => {
232
- tabWidth = data.width
255
+ })
256
+ .exec();
257
+ }
258
+ query
259
+ .select('.cv-tab-lists-tab-box')
260
+ .boundingClientRect((data) => {
261
+ tabWidth = data.width;
233
262
  /* 写在这里面是为了兼容微信小程序,如果写在外面这句会先执行 */
234
263
  if (tabItemWidth <= tabWidth) {
235
264
  tabItemStyle += 'width:calc(100% / ' + localTabLists.length + ' - 40px);';
@@ -237,8 +266,40 @@ export default {
237
266
  tabItemStyle += 'top:0;';
238
267
  this.tabItemStyle = tabItemStyle;
239
268
  this.$forceUpdate();
240
- }).exec();
241
- }, 0)
269
+ })
270
+ .exec();
271
+ /* #endif */
272
+ /* #ifndef APP-PLUS */
273
+ setTimeout(() => {
274
+ for (var i = 1; i <= localTabLists.length; ++i) {
275
+ uni
276
+ .createSelectorQuery()
277
+ .in(this)
278
+ .select('.cv-tab-lists-tab-item-id-' + i)
279
+ .boundingClientRect((data) => {
280
+ tabItemWidth += 40;
281
+ if (data) {
282
+ tabItemWidth += data.width;
283
+ }
284
+ })
285
+ .exec();
286
+ }
287
+ uni
288
+ .createSelectorQuery()
289
+ .in(this)
290
+ .select('.cv-tab-lists-tab-box')
291
+ .boundingClientRect((data) => {
292
+ tabWidth = data.width;
293
+ /* 写在这里面是为了兼容微信小程序,如果写在外面这句会先执行 */
294
+ if (tabItemWidth <= tabWidth) {
295
+ tabItemStyle += 'width:calc(100% / ' + localTabLists.length + ' - 40px);';
296
+ }
297
+ tabItemStyle += 'top:0;';
298
+ this.tabItemStyle = tabItemStyle;
299
+ this.$forceUpdate();
300
+ })
301
+ .exec();
302
+ }, 0);
242
303
  /* #endif */
243
304
  },
244
305
  /* 处理滚动条距离左边的距离 */
@@ -250,16 +311,21 @@ export default {
250
311
  windowWidth = this.windowWidth;
251
312
  let tabLeft = 0,
252
313
  localTabScrollLeft = this.tabScrollLeft,
253
- tabWidth = 0
254
- uni.createSelectorQuery().in(this).select('.cv-tab-lists-tab-item-id-' + i).boundingClientRect(data => {
255
- tabLeft = data.left - 20;
256
- tabWidth = data.width + 40
257
- localTabScrollLeft += tabLeft - (windowWidth / 2) + tabWidth / 2
258
- this.localTabScrollLeft = localTabScrollLeft;
259
- }).exec();
314
+ tabWidth = 0;
315
+ uni
316
+ .createSelectorQuery()
317
+ .in(this)
318
+ .select('.cv-tab-lists-tab-item-id-' + i)
319
+ .boundingClientRect((data) => {
320
+ tabLeft = data.left - 20;
321
+ tabWidth = data.width + 40;
322
+ localTabScrollLeft += tabLeft - windowWidth / 2 + tabWidth / 2;
323
+ this.localTabScrollLeft = localTabScrollLeft;
324
+ })
325
+ .exec();
260
326
  },
261
327
  onTabScroll(e) {
262
- this.tabScrollLeft = e.detail.scrollLeft
328
+ this.tabScrollLeft = e.detail.scrollLeft;
263
329
  },
264
330
  changeTab(e) {
265
331
  if (e != this.localTabIndex) {
@@ -273,10 +339,10 @@ export default {
273
339
  if (this.localTabLists[e].orderby) {
274
340
  //console.warn('< cvjs >:支持排序的Tab哦');
275
341
  if (this.localTabLists[e].ordersort == 'DESC') {
276
- this.localTabLists[e].ordersort = 'ASC'
342
+ this.localTabLists[e].ordersort = 'ASC';
277
343
  //console.warn(this.localTabLists[e].orderby, '排序改为:', this.localTabLists[e].ordersort,)
278
344
  } else {
279
- this.localTabLists[e].ordersort = 'DESC'
345
+ this.localTabLists[e].ordersort = 'DESC';
280
346
  //console.warn(this.localTabLists[e].orderby, '排序改为:', this.localTabLists[e].ordersort)
281
347
  }
282
348
  // console.log('< cvjs >:重置当前列数据重新发起请求');
@@ -296,13 +362,13 @@ export default {
296
362
  // console.log('< cvjs >:第一次打开此区初始化数据');
297
363
  this.getData();
298
364
  }
299
- this._dealTabScrollLeft()
300
- this.$set(this.localTabLists[current], 'enabled', true)
365
+ this._dealTabScrollLeft();
366
+ this.$set(this.localTabLists[current], 'enabled', true);
301
367
  },
302
368
  getData() {
303
- const localTabLists = this.localTabLists;//Tab数组
304
- const localTabIndex = this.localTabIndex;//当前区域坐标
305
- const localDataLists = this.localDataLists;//滑块缓存数据
369
+ const localTabLists = this.localTabLists; //Tab数组
370
+ const localTabIndex = this.localTabIndex; //当前区域坐标
371
+ const localDataLists = this.localDataLists; //滑块缓存数据
306
372
 
307
373
  console.log(localTabLists);
308
374
 
@@ -310,68 +376,66 @@ export default {
310
376
  console.warn('< cvjs >:localTabLists 参数为有误');
311
377
  return;
312
378
  }
313
- this.localTabLists[localTabIndex].loadMoreStatus = 'loading'
379
+ this.localTabLists[localTabIndex].loadMoreStatus = 'loading';
314
380
  let apiUrl = localTabLists[localTabIndex].apiUrl;
315
381
  let page = 1;
316
382
  if (localDataLists[localTabIndex]) {
317
- page = localDataLists[localTabIndex].page
383
+ page = localDataLists[localTabIndex].page;
318
384
  }
319
385
  let apiParam = {
320
386
  pagesize: localTabLists[localTabIndex].pagesize,
321
387
  page: page
322
388
  };
323
- apiParam = Object.assign(apiParam, this.publicParam);//公共参数
324
- apiParam = Object.assign(apiParam, localTabLists[localTabIndex].apiParam);//当前列参数
389
+ apiParam = Object.assign(apiParam, this.publicParam); //公共参数
390
+ apiParam = Object.assign(apiParam, localTabLists[localTabIndex].apiParam); //当前列参数
325
391
  //排序字段
326
392
  if (localTabLists[localTabIndex].orderby) {
327
- apiParam[localTabLists[localTabIndex].orderby] = localTabLists[localTabIndex].ordersort
393
+ apiParam[localTabLists[localTabIndex].orderby] = localTabLists[localTabIndex].ordersort;
328
394
  }
329
395
  // console.warn('< cvjs >:apiParam', apiParam)
330
396
 
331
-
332
397
  if (localTabLists[localTabIndex].apiFunc) {
333
398
  if (typeof localTabLists[localTabIndex].apiFunc == 'function') {
334
399
  //使用私有方法请求
335
- localTabLists[localTabIndex].apiFunc(apiParam).then((successRes) => {
336
- this.dealDataList(successRes.data, localTabIndex, page);
337
- }).catch((error) => {
338
- this.dealDataList([], localTabIndex, page);
339
- // console.log('< cvjs >:error', error);
340
- });
400
+ localTabLists[localTabIndex]
401
+ .apiFunc(apiParam)
402
+ .then((successRes) => {
403
+ this.dealDataList(successRes.data, localTabIndex, page);
404
+ })
405
+ .catch((error) => {
406
+ this.dealDataList([], localTabIndex, page);
407
+ // console.log('< cvjs >:error', error);
408
+ });
341
409
  } else {
342
- console.warn('< cvjs >:',
343
- '拿到 apiFunc 开始请求,此处代码不全'
344
- );
410
+ console.warn('< cvjs >:', '拿到 apiFunc 开始请求,此处代码不全');
345
411
  }
346
412
  } else if (this.publicFunc) {
347
413
  /* 使用公共方法请求 */
348
414
  if (localTabLists[localTabIndex].apiFlag) {
349
415
  //有标识
350
- this.publicFunc(localTabLists[localTabIndex].apiFlag, apiParam).then((successRes) => {
351
- this.dealDataList(successRes.data, localTabIndex, page);
352
- }).catch((error) => {
353
- this.dealDataList([], localTabIndex, page);
354
- // console.log('< cvjs >:error', error);
355
- });
416
+ this.publicFunc(localTabLists[localTabIndex].apiFlag, apiParam)
417
+ .then((successRes) => {
418
+ this.dealDataList(successRes.data, localTabIndex, page);
419
+ })
420
+ .catch((error) => {
421
+ this.dealDataList([], localTabIndex, page);
422
+ // console.log('< cvjs >:error', error);
423
+ });
356
424
  } else {
357
425
  //无标识
358
- this.publicFunc(apiParam).then((successRes) => {
359
- this.dealDataList(successRes.data, localTabIndex, page);
360
- }).catch((error) => {
361
- this.dealDataList([], localTabIndex, page);
362
- // console.log('< cvjs >:error', error);
363
- });
426
+ this.publicFunc(apiParam)
427
+ .then((successRes) => {
428
+ this.dealDataList(successRes.data, localTabIndex, page);
429
+ })
430
+ .catch((error) => {
431
+ this.dealDataList([], localTabIndex, page);
432
+ // console.log('< cvjs >:error', error);
433
+ });
364
434
  }
365
-
366
435
  } else if (localTabLists[localTabIndex].apiUrl) {
367
- console.warn('< cvjs >:',
368
- '拿到apiUrl 开始请求,此处代码不全'
369
- );
370
-
436
+ console.warn('< cvjs >:', '拿到apiUrl 开始请求,此处代码不全');
371
437
  } else {
372
- console.warn('< cvjs >:',
373
- '参数有误:apiFunc、apiUrl 至少有一个不为空'
374
- );
438
+ console.warn('< cvjs >:', '参数有误:apiFunc、apiUrl 至少有一个不为空');
375
439
  setTimeout(() => {
376
440
  this.localTabLists[localTabIndex].triggered = false;
377
441
  //console.log('< cvjs >:请求结束,关闭下拉刷新状态', this.localTabLists[this.localTabIndex].enabled, this.localTabLists[this.localTabIndex].triggered)
@@ -381,8 +445,8 @@ export default {
381
445
  this.localTabLists[localTabIndex].triggered = 'restore';
382
446
  //console.log('< cvjs >:需要重置===========下啦状态')
383
447
  this.$forceUpdate();
384
- }, 10)
385
- }, 3000)
448
+ }, 10);
449
+ }, 3000);
386
450
  }
387
451
  },
388
452
  /* 整理列表数据 */
@@ -398,13 +462,13 @@ export default {
398
462
  data = this.localTabLists[index].parseFunc(data);
399
463
  }
400
464
  if (this.localDataLists[index]) {
401
- dataLists = [...this.localDataLists[index].data]
465
+ dataLists = [...this.localDataLists[index].data];
402
466
  }
403
467
  for (const key in data) {
404
468
  dataLists.push(data[key]);
405
469
  }
406
- this.$set(this.localDataLists[index], 'data', dataLists)
407
- this.$set(this.localDataLists[index], 'page', page + 1)
470
+ this.$set(this.localDataLists[index], 'data', dataLists);
471
+ this.$set(this.localDataLists[index], 'page', page + 1);
408
472
  this.$forceUpdate();
409
473
  if (data.length < this.localTabLists[index].pagesize) {
410
474
  this.localTabLists[index].loadMoreStatus = 'noMore';
@@ -418,24 +482,22 @@ export default {
418
482
  setTimeout(() => {
419
483
  this.localTabLists[index].triggered = false;
420
484
  this.$forceUpdate();
421
- }, 100)
485
+ }, 100);
422
486
  }
423
487
  this.$forceUpdate();
424
-
425
488
  },
426
489
  /* swiper-item 的位置发生改变时会触发 transition 事件,event.detail = {dx: dx, dy: dy},支付宝小程序暂不支持dx, dy */
427
490
  onTransition(e) {
428
491
  if (this.localTabLists[this.localTabIndex].enabled !== false) {
429
492
  // console.log('< cvjs >:swiper-item 左右滑动时 锁定‘scroll-view’下拉刷新功能', e)
430
- this.$set(this.localTabLists[this.localTabIndex], 'enabled', false)
493
+ this.$set(this.localTabLists[this.localTabIndex], 'enabled', false);
431
494
  }
432
-
433
495
  },
434
496
  /* 动画结束时会触发 animationfinish 事件,event.detail = {current: current, source: source} */
435
497
  onAnimationfinish(e) {
436
498
  if (this.localTabLists[this.localTabIndex].enabled !== true && this.localTabLists[this.localTabIndex].scrollTop < 45) {
437
499
  // console.log('< cvjs >:swiper-item 动画结束时 开启‘scroll-view’下拉刷新功能', e)
438
- this.$set(this.localTabLists[this.localTabIndex], 'enabled', true)
500
+ this.$set(this.localTabLists[this.localTabIndex], 'enabled', true);
439
501
  }
440
502
  },
441
503
  onScroll(e) {
@@ -446,14 +508,14 @@ export default {
446
508
  this.$forceUpdate();
447
509
  // console.log('< cvjs >:滑到顶部了 可以开启下拉刷新了', this.localTabLists[this.localTabIndex].enabled);
448
510
  } else if (scrollTop > 0 && this.localTabLists[this.localTabIndex].enabled != false) {
449
- this.$set(this.localTabLists[this.localTabIndex], 'enabled', false)
511
+ this.$set(this.localTabLists[this.localTabIndex], 'enabled', false);
450
512
  // console.log('< cvjs >:没在顶部 必须禁止下拉刷新了', this.localTabLists[this.localTabIndex].enabled);
451
513
  }
452
514
  },
453
515
  /* 监听回到顶部 */
454
516
  onToupper(e) {
455
517
  // console.log('监听回到顶部', e);
456
- this.$set(this.localTabLists[this.localTabIndex], 'enabled', true)
518
+ this.$set(this.localTabLists[this.localTabIndex], 'enabled', true);
457
519
  },
458
520
  /* 监听触底 */
459
521
  onTolower(e) {
@@ -499,7 +561,6 @@ export default {
499
561
  if (this.localTabLists[this.localTabIndex].enabled !== true) {
500
562
  // this.$set(this.localTabLists[this.localTabIndex], 'enabled', true)
501
563
  }
502
-
503
564
  }
504
565
  }
505
566
  };
@@ -1,11 +1,29 @@
1
1
  <template>
2
- <cv-form-item :tip="tip" :label="label" :must="must" :message="message" :messageDisplay="messageDisplay" :labelWidth="localLabelWidth"
3
- :layout="localLayout" :onQClear="onQClear" :input-value="localVal">
2
+ <cv-form-item
3
+ :tip="tip"
4
+ :label="label"
5
+ :must="must"
6
+ :message="message"
7
+ :messageDisplay="messageDisplay"
8
+ :labelWidth="localLabelWidth"
9
+ :layout="localLayout"
10
+ :onQClear="onQClear"
11
+ :input-value="localVal"
12
+ >
4
13
  <view class="cv-textarea">
5
- <textarea class="cv-textarea-item" v-model="localVal" :maxlength="maxlength" :placeholder="placeholder"
6
- placeholder-class="cv-textarea-placeholder" @input="updateInput" auto-height />
7
- <view class="cv-textarea-maxlength" v-if="maxlength>=1">
8
- <text>{{tempLength}}</text>/<text>{{maxlength}}</text>
14
+ <textarea
15
+ class="cv-textarea-item"
16
+ v-model="localVal"
17
+ :maxlength="maxlength"
18
+ :placeholder="placeholder"
19
+ placeholder-class="cv-textarea-placeholder"
20
+ @input="updateInput"
21
+ auto-height
22
+ />
23
+ <view class="cv-textarea-maxlength" v-if="maxlength >= 1">
24
+ <text>{{ tempLength }}</text>
25
+ /
26
+ <text>{{ maxlength }}</text>
9
27
  </view>
10
28
  </view>
11
29
  </cv-form-item>
@@ -15,18 +33,18 @@
15
33
  import MixinsCommon from '../mixins/mixins-common.js';
16
34
  export default {
17
35
  mixins: [MixinsCommon],
18
- name: "cvTextArea",
36
+ name: 'cvTextArea',
19
37
  inject: {
20
38
  cvFormGroup: {
21
39
  default() {
22
- return null
40
+ return null;
23
41
  }
24
42
  }
25
43
  },
26
44
  props: {
27
45
  value: {
28
46
  type: String,
29
- default: ""
47
+ default: ''
30
48
  },
31
49
  maxlength: {
32
50
  type: [Number, String],
@@ -34,7 +52,7 @@ export default {
34
52
  },
35
53
  tip: {
36
54
  type: String,
37
- default: ""
55
+ default: ''
38
56
  },
39
57
  onQClear: {
40
58
  type: Boolean,
@@ -42,7 +60,7 @@ export default {
42
60
  },
43
61
  message: {
44
62
  type: String,
45
- default: ""
63
+ default: ''
46
64
  },
47
65
  messageDisplay: {
48
66
  type: Boolean,
@@ -53,7 +71,7 @@ export default {
53
71
  data() {
54
72
  return {
55
73
  localVal: '',
56
- tempLength: 0,
74
+ tempLength: 0
57
75
  };
58
76
  },
59
77
  watch: {
@@ -73,7 +91,7 @@ export default {
73
91
  /* 监听自己清除按钮点击事件 */
74
92
  onEmpty() {
75
93
  this.localVal = '';
76
- this.updateInput()
94
+ this.updateInput();
77
95
  }
78
96
  }
79
97
  };
@@ -3,32 +3,32 @@
3
3
  <view class="cv-treaty-item">
4
4
  <label class="cv-treaty-label">
5
5
  <checkbox-group class="cv-treaty-item-group" @change="hindChange">
6
- <checkbox value="true" :checked="vModel" :disabled="disabled" style="transform:scale(0.7)" />{{explain}}
6
+ <checkbox value="true" :checked="vModel" :disabled="disabled" style="transform: scale(0.7)" />
7
+ {{ explain }}
7
8
  </checkbox-group>
8
9
  </label>
9
10
  <text class="cv-treaty-item-url" @tap="handleClick">
10
- {{treaty}}
11
+ {{ treaty }}
11
12
  </text>
12
13
  </view>
13
14
  </view>
14
15
  </template>
15
16
 
16
17
  <script>
17
-
18
18
  export default {
19
- name: "cvTreaty",
19
+ name: 'cvTreaty',
20
20
  props: {
21
21
  explain: {
22
22
  type: String,
23
- default: "我已阅读"
23
+ default: '我已阅读'
24
24
  },
25
25
  treaty: {
26
26
  type: String,
27
- default: "服务协议"
27
+ default: '服务协议'
28
28
  },
29
29
  url: {
30
30
  type: String,
31
- default: ""
31
+ default: ''
32
32
  },
33
33
  value: {
34
34
  type: Boolean,
@@ -37,7 +37,7 @@ export default {
37
37
  disabled: {
38
38
  type: Boolean,
39
39
  default: false
40
- },
40
+ }
41
41
  },
42
42
  data() {
43
43
  return {