@10yun/cv-mobile-ui 0.3.26 → 0.4.2

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 (235) hide show
  1. package/build/parse-pages.js +2 -2
  2. package/package.json +1 -1
  3. package/ui-cv/README.md +3 -0
  4. package/ui-cv/cv-badge/cv-badge.vue +249 -0
  5. package/ui-cv/cv-banner/cv-banner.vue +1 -1
  6. package/ui-cv/cv-banner-card/cv-banner-card.vue +1 -1
  7. package/ui-cv/cv-block/cv-block.vue +1 -1
  8. package/ui-cv/cv-box/cv-box.vue +1 -1
  9. package/ui-cv/cv-calendar/calendar.js +963 -0
  10. package/ui-cv/cv-calendar/cv-calendar-item.vue +198 -0
  11. package/ui-cv/cv-calendar/cv-calendar.vue +508 -0
  12. package/{ui-uni/uni-calendar → ui-cv/cv-calendar}/util.js +0 -0
  13. package/ui-cv/cv-card/cv-card.vue +427 -0
  14. package/ui-cv/cv-cell/cv-cell.vue +1 -1
  15. package/ui-cv/cv-checkbox-group/cv-checkbox-group.vue +227 -0
  16. package/ui-cv/cv-checkbox-opt-base/cv-checkbox-opt-base.vue +57 -0
  17. package/ui-cv/cv-checkbox-opt-tag/cv-checkbox-opt-tag.vue +107 -0
  18. package/ui-cv/cv-code-sms/cv-code-sms.vue +23 -42
  19. package/ui-cv/cv-col/cv-col.vue +2965 -0
  20. package/ui-cv/cv-collapse/cv-collapse.vue +146 -0
  21. package/ui-cv/cv-collapse-item/cv-collapse-item.vue +395 -0
  22. package/ui-cv/cv-combox/cv-combox.vue +250 -0
  23. package/ui-cv/cv-countdown/cv-countdown.vue +245 -0
  24. package/ui-cv/cv-data-checkbox/cv-data-checkbox.vue +841 -0
  25. package/{ui-uni/uni-data-indexed-list → ui-cv/cv-data-indexed-list}/clientdb.js +0 -0
  26. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list-item.vue +154 -0
  27. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list.vue +376 -0
  28. package/ui-cv/cv-data-picker/cv-data-picker.vue +486 -0
  29. package/{ui-uni/uni-data-picker → ui-cv/cv-data-picker}/keypress.js +0 -0
  30. package/{ui-uni/uni-data-pickerview/uni-data-picker.js → ui-cv/cv-data-pickerview/cv-data-picker.js} +0 -0
  31. package/ui-cv/cv-data-pickerview/cv-data-pickerview.vue +304 -0
  32. package/ui-cv/cv-dateformat/cv-dateformat.vue +86 -0
  33. package/{ui-uni/uni-dateformat → ui-cv/cv-dateformat}/date-format.js +0 -0
  34. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/calendar-item.vue +0 -0
  35. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/calendar.js +0 -0
  36. package/ui-cv/cv-datetime-picker/calendar.vue +761 -0
  37. package/ui-cv/cv-datetime-picker/cv-datetime-picker.vue +958 -0
  38. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/keypress.js +0 -0
  39. package/ui-cv/cv-datetime-picker/time-picker.vue +907 -0
  40. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/util.js +0 -0
  41. package/ui-cv/cv-dialog-bottom/cv-dialog-bottom.vue +1 -1
  42. package/ui-cv/cv-dialog-full/cv-dialog-full.vue +1 -1
  43. package/ui-cv/cv-dialog-loading/cv-dialog-loading.vue +3 -3
  44. package/ui-cv/cv-drawer/cv-drawer.vue +185 -0
  45. package/{ui-uni/uni-drawer → ui-cv/cv-drawer}/keypress.js +14 -14
  46. package/{ui-uni/uni-easyinput → ui-cv/cv-easyinput}/common.js +0 -0
  47. package/ui-cv/cv-easyinput/cv-easyinput.vue +514 -0
  48. package/ui-cv/cv-editor-parse/readme.md +2 -3
  49. package/ui-cv/{cv-editor → cv-editor-quill}/compressImage.vue +0 -0
  50. package/ui-cv/{cv-editor/cv-editor.vue → cv-editor-quill/cv-editor-quill.vue} +3 -23
  51. package/ui-cv/{cv-editor → cv-editor-quill}/editor-icon.css +0 -0
  52. package/ui-cv/{cv-editor → cv-editor-quill}/editor-icon.ttf +0 -0
  53. package/ui-cv/{cv-editor → cv-editor-quill}/index.js +0 -0
  54. package/ui-cv/cv-fab/cv-fab.vue +465 -0
  55. package/{ui-uni/uni-fab/uni-fab.vue.bak → ui-cv/cv-fab/cv-fab.vue.bak} +2 -2
  56. package/ui-cv/cv-fav/cv-fav.vue +150 -0
  57. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/choose-and-upload-file.js +0 -0
  58. package/ui-cv/cv-file-picker/cv-file-picker.vue +619 -0
  59. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/upload-file.vue +0 -0
  60. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/upload-image.vue +0 -0
  61. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/utils.js +0 -0
  62. package/ui-cv/cv-form-base/cv-form-base.vue +470 -0
  63. package/ui-cv/cv-form-base/validate.js +477 -0
  64. package/ui-cv/cv-form-group/cv-form-group.vue +123 -80
  65. package/ui-cv/cv-form-group/cv-form-group2.vue +80 -0
  66. package/ui-cv/cv-form-item/cv-form-item.vue +482 -174
  67. package/ui-cv/cv-form-item/cv-form-item2.vue +215 -0
  68. package/ui-cv/cv-form-merge/cv-form-merge.vue +1 -1
  69. package/ui-cv/cv-geo-local/cv-geo-local.vue +14 -26
  70. package/{ui-uni/uni-goods-nav/uni-goods-nav.vue → ui-cv/cv-goods-nav/cv-goods-nav.vue} +1 -1
  71. package/ui-cv/cv-grid-group/cv-grid-group.vue +148 -0
  72. package/ui-cv/cv-grid-item/cv-grid-item.vue +132 -0
  73. package/ui-cv/cv-icon2/cv-icon2.vue +78 -0
  74. package/ui-cv/cv-icon2/icons.js +132 -0
  75. package/{ui-uni/uni-icons → ui-cv/cv-icon2}/uni.ttf +0 -0
  76. package/ui-cv/cv-icons/cv-icons.vue +1 -1
  77. package/ui-cv/cv-indexed-list/cv-indexed-list-item.vue +154 -0
  78. package/ui-cv/cv-indexed-list/cv-indexed-list.vue +371 -0
  79. package/ui-cv/cv-info/cv-info.vue +5 -20
  80. package/ui-cv/cv-input-btn/cv-input-btn.vue +25 -43
  81. package/ui-cv/cv-input-digit/cv-input-digit.vue +61 -28
  82. package/ui-cv/cv-input-idcard/cv-input-idcard.vue +47 -29
  83. package/ui-cv/cv-input-number/cv-input-number.vue +60 -28
  84. package/ui-cv/cv-input-password/cv-input-password.vue +80 -30
  85. package/ui-cv/cv-input-text/cv-input-text.vue +55 -37
  86. package/ui-cv/cv-link2/cv-link2.vue +130 -0
  87. package/ui-cv/cv-list/cv-list.vue +107 -0
  88. package/ui-cv/cv-list/cv-refresh.vue +65 -0
  89. package/{ui-uni/uni-list → ui-cv/cv-list}/uni-refresh.wxs +0 -0
  90. package/ui-cv/cv-list-ad/cv-list-ad.vue +113 -0
  91. package/{ui-uni/uni-list-chat/uni-list-chat.scss → ui-cv/cv-list-chat/cv-list-chat.scss} +0 -0
  92. package/{ui-uni/uni-list-chat/uni-list-chat.vue → ui-cv/cv-list-chat/cv-list-chat.vue} +0 -0
  93. package/ui-cv/cv-list-item/cv-list-item.vue +449 -0
  94. package/ui-cv/cv-load-more/config.json +9 -9
  95. package/ui-cv/cv-load-more/cv-load-more.vue +34 -5
  96. package/ui-cv/cv-message/cv-message.vue +1 -1
  97. package/ui-cv/cv-nav-bar/cv-nav-bar.vue +256 -0
  98. package/{ui-uni/uni-nav-bar/uni-status-bar.vue → ui-cv/cv-nav-bar/cv-status-bar.vue} +0 -0
  99. package/ui-cv/cv-nav-col/cv-nav-col.vue +1 -1
  100. package/ui-cv/cv-nav-row/cv-nav-row.vue +1 -1
  101. package/ui-cv/cv-notice-bar/cv-notice-bar.vue +453 -0
  102. package/ui-cv/cv-number-box/cv-number-box.vue +223 -0
  103. package/ui-cv/cv-pagination/cv-pagination.vue +397 -0
  104. package/ui-cv/cv-picker-date/cv-picker-date.vue +17 -27
  105. package/ui-cv/cv-picker-datetime/cv-picker-datetime.vue +31 -41
  106. package/ui-cv/cv-picker-datetime5/cv-picker-datetime5.vue +19 -29
  107. package/ui-cv/cv-picker-region/cv-picker-region.vue +23 -33
  108. package/ui-cv/cv-picker-time/cv-picker-time.vue +16 -26
  109. package/ui-cv/cv-picker1/cv-picker1.vue +16 -28
  110. package/ui-cv/cv-picker2/cv-picker2.vue +22 -32
  111. package/ui-cv/cv-picker3/cv-picker3.vue +34 -44
  112. package/ui-cv/cv-popup/cv-popup.vue +429 -0
  113. package/{ui-uni/uni-popup → ui-cv/cv-popup}/keypress.js +0 -0
  114. package/{ui-uni/uni-popup → ui-cv/cv-popup}/popup.js +0 -0
  115. package/{ui-uni/uni-popup-dialog/uni-popup-dialog.vue → ui-cv/cv-popup-dialog/cv-popup-dialog.vue} +0 -0
  116. package/{ui-uni/uni-popup-dialog → ui-cv/cv-popup-dialog}/keypress.js +0 -0
  117. package/ui-cv/cv-popup-message/cv-popup-message.vue +143 -0
  118. package/{ui-uni/uni-popup-share/uni-popup-share.vue → ui-cv/cv-popup-share/cv-popup-share.vue} +0 -0
  119. package/ui-cv/cv-radio-group/cv-radio-group.vue +185 -0
  120. package/ui-cv/cv-radio-opt-base/cv-radio-opt-base.vue +57 -0
  121. package/ui-cv/cv-radio-opt-tag/cv-radio-opt-tag.vue +107 -0
  122. package/ui-cv/cv-rate/cv-rate.vue +13 -17
  123. package/ui-cv/cv-rate/uni-rate.vue +358 -0
  124. package/ui-cv/cv-row/cv-row.vue +157 -0
  125. package/ui-cv/cv-search/cv-search.vue +4 -4
  126. package/ui-cv/cv-search-bar/cv-search-bar.vue +280 -0
  127. package/{ui-uni/uni-section/uni-section.vue → ui-cv/cv-section/cv-section.vue} +0 -0
  128. package/{ui-uni/uni-segmented-control/uni-segmented-control.vue → ui-cv/cv-segmented-control/cv-segmented-control.vue} +0 -0
  129. package/ui-cv/cv-skeleton/cv-skeleton2.vue +5 -5
  130. package/ui-cv/cv-specs/cv-specs.vue +1 -1
  131. package/{ui-uni/uni-status-bar/uni-status-bar.vue → ui-cv/cv-status-bar/cv-status-bar.vue} +0 -0
  132. package/ui-cv/cv-steps/cv-steps.vue +293 -0
  133. package/{ui-uni/uni-swipe-action/uni-swipe-action.vue → ui-cv/cv-swipe-action/cv-swipe-action.vue} +0 -0
  134. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/bindingx.js +0 -0
  135. package/{ui-uni/uni-swipe-action-item/uni-swipe-action-item.vue → ui-cv/cv-swipe-action-item/cv-swipe-action-item.vue} +0 -0
  136. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/index.wxs +0 -0
  137. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/isPC.js +0 -0
  138. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/mpalipay.js +0 -0
  139. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/mpother.js +0 -0
  140. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/mpwxs.js +0 -0
  141. package/ui-cv/cv-swiper-dot/cv-swiper-dot.vue +255 -0
  142. package/ui-cv/cv-switch/cv-switch.vue +5 -9
  143. package/ui-cv/cv-table/cv-table.vue +460 -0
  144. package/ui-cv/cv-tag/cv-tag.vue +276 -0
  145. package/ui-cv/cv-tbody/cv-tbody.vue +28 -0
  146. package/ui-cv/cv-td/cv-td.vue +93 -0
  147. package/{ui-uni/uni-test/uni-test.vue → ui-cv/cv-test/cv-test.vue} +0 -0
  148. package/ui-cv/cv-textarea/cv-textarea.vue +56 -41
  149. package/ui-cv/cv-th/cv-th.vue +270 -0
  150. package/{ui-uni/uni-th → ui-cv/cv-th}/filter-dropdown.vue +0 -0
  151. package/ui-cv/cv-thead/cv-thead.vue +114 -0
  152. package/ui-cv/cv-title/cv-title.vue +168 -0
  153. package/ui-cv/cv-tr/cv-tr.vue +166 -0
  154. package/{ui-uni/uni-tr → ui-cv/cv-tr}/table-checkbox.vue +0 -0
  155. package/{ui-uni/uni-transition → ui-cv/cv-transition}/createAnimation.js +0 -0
  156. package/ui-cv/cv-transition/cv-transition.vue +279 -0
  157. package/ui-cv/cv-upload-avatar/cv-upload-avatar.vue +24 -22
  158. package/ui-cv/cv-upload-img/cv-upload-img.vue +1 -1
  159. package/ui-cv/mixins/mixins-input.js +20 -29
  160. package/ui-cv/mixins/mixins-picker.js +1 -13
  161. package/ui-uni/amap-wx/js/util.js +158 -166
  162. package/ui-uni/product.vue +52 -52
  163. package/ui-uni/u-charts/u-charts.js +1092 -743
  164. package/ui-cv/cv-checkbox/cv-checkbox.vue +0 -140
  165. package/ui-cv/cv-checkbox-tag/cv-checkbox-tag.vue +0 -164
  166. package/ui-cv/cv-nav-group/cv-nav-group.vue +0 -33
  167. package/ui-cv/cv-radio/cv-radio.vue +0 -111
  168. package/ui-cv/cv-radio-sex/cv-radio-sex.vue +0 -80
  169. package/ui-cv/cv-radio-tag/cv-radio-tag.vue +0 -133
  170. package/ui-cv/mixins/mixins-checkbox.js +0 -71
  171. package/ui-cv/mixins/mixins-common.js +0 -53
  172. package/ui-cv/mixins/mixins-radio.js +0 -84
  173. package/ui-uni/page-foot/page-foot.vue +0 -38
  174. package/ui-uni/page-head/page-head.vue +0 -16
  175. package/ui-uni/u-link/u-link.vue +0 -59
  176. package/ui-uni/uni-badge/uni-badge.vue +0 -250
  177. package/ui-uni/uni-calendar/calendar.js +0 -546
  178. package/ui-uni/uni-calendar/uni-calendar-item.vue +0 -171
  179. package/ui-uni/uni-calendar/uni-calendar.vue +0 -504
  180. package/ui-uni/uni-card/uni-card.vue +0 -420
  181. package/ui-uni/uni-col/uni-col.vue +0 -2968
  182. package/ui-uni/uni-collapse/uni-collapse.vue +0 -146
  183. package/ui-uni/uni-collapse-item/uni-collapse-item.vue +0 -378
  184. package/ui-uni/uni-combox/uni-combox.vue +0 -237
  185. package/ui-uni/uni-countdown/uni-countdown.vue +0 -234
  186. package/ui-uni/uni-data-checkbox/uni-data-checkbox.vue +0 -792
  187. package/ui-uni/uni-data-indexed-list/uni-data-indexed-list-item.vue +0 -142
  188. package/ui-uni/uni-data-indexed-list/uni-data-indexed-list.vue +0 -364
  189. package/ui-uni/uni-data-picker/uni-data-picker.vue +0 -468
  190. package/ui-uni/uni-data-pickerview/uni-data-pickerview.vue +0 -298
  191. package/ui-uni/uni-dateformat/uni-dateformat.vue +0 -88
  192. package/ui-uni/uni-datetime-picker/calendar.vue +0 -747
  193. package/ui-uni/uni-datetime-picker/time-picker.vue +0 -899
  194. package/ui-uni/uni-datetime-picker/uni-datetime-picker.vue +0 -874
  195. package/ui-uni/uni-drawer/uni-drawer.vue +0 -178
  196. package/ui-uni/uni-easyinput/uni-easyinput.vue +0 -438
  197. package/ui-uni/uni-fab/uni-fab.vue +0 -443
  198. package/ui-uni/uni-fav/uni-fav.vue +0 -136
  199. package/ui-uni/uni-file-picker/uni-file-picker.vue +0 -614
  200. package/ui-uni/uni-forms/uni-forms.vue +0 -467
  201. package/ui-uni/uni-forms/validate.js +0 -486
  202. package/ui-uni/uni-forms-item/uni-forms-item.vue +0 -500
  203. package/ui-uni/uni-grid/uni-grid.vue +0 -141
  204. package/ui-uni/uni-grid-item/uni-grid-item.vue +0 -123
  205. package/ui-uni/uni-group/uni-group.vue +0 -123
  206. package/ui-uni/uni-icons/icons.js +0 -132
  207. package/ui-uni/uni-icons/uni-icons.vue +0 -72
  208. package/ui-uni/uni-indexed-list/uni-indexed-list-item.vue +0 -142
  209. package/ui-uni/uni-indexed-list/uni-indexed-list.vue +0 -357
  210. package/ui-uni/uni-link/uni-link.vue +0 -117
  211. package/ui-uni/uni-list/uni-list.vue +0 -107
  212. package/ui-uni/uni-list/uni-refresh.vue +0 -65
  213. package/ui-uni/uni-list-ad/uni-list-ad.vue +0 -106
  214. package/ui-uni/uni-list-item/uni-list-item.vue +0 -428
  215. package/ui-uni/uni-load-more/uni-load-more.vue +0 -366
  216. package/ui-uni/uni-nav-bar/uni-nav-bar.vue +0 -244
  217. package/ui-uni/uni-notice-bar/uni-notice-bar.vue +0 -394
  218. package/ui-uni/uni-number-box/uni-number-box.vue +0 -224
  219. package/ui-uni/uni-pagination/uni-pagination.vue +0 -376
  220. package/ui-uni/uni-popup/uni-popup.vue +0 -412
  221. package/ui-uni/uni-popup-message/uni-popup-message.vue +0 -143
  222. package/ui-uni/uni-rate/uni-rate.vue +0 -357
  223. package/ui-uni/uni-row/uni-row.vue +0 -155
  224. package/ui-uni/uni-search-bar/uni-search-bar.vue +0 -262
  225. package/ui-uni/uni-steps/uni-steps.vue +0 -250
  226. package/ui-uni/uni-swiper-dot/uni-swiper-dot.vue +0 -205
  227. package/ui-uni/uni-table/uni-table.vue +0 -455
  228. package/ui-uni/uni-tag/uni-tag.vue +0 -283
  229. package/ui-uni/uni-tbody/uni-tbody.vue +0 -30
  230. package/ui-uni/uni-td/uni-td.vue +0 -88
  231. package/ui-uni/uni-th/uni-th.vue +0 -259
  232. package/ui-uni/uni-thead/uni-thead.vue +0 -114
  233. package/ui-uni/uni-title/uni-title.vue +0 -171
  234. package/ui-uni/uni-tr/uni-tr.vue +0 -156
  235. package/ui-uni/uni-transition/uni-transition.vue +0 -287
@@ -0,0 +1,65 @@
1
+ <template>
2
+ <!-- #ifdef APP-NVUE -->
3
+ <refresh :display="display" @refresh="onrefresh" @pullingdown="onpullingdown">
4
+ <slot />
5
+ </refresh>
6
+ <!-- #endif -->
7
+ <!-- #ifndef APP-NVUE -->
8
+ <view ref="uni-refresh" class="uni-refresh" v-show="isShow">
9
+ <slot />
10
+ </view>
11
+ <!-- #endif -->
12
+ </template>
13
+
14
+ <script>
15
+ export default {
16
+ name: 'cvRefresh',
17
+ props: {
18
+ display: {
19
+ type: [String],
20
+ default: 'hide'
21
+ }
22
+ },
23
+ data() {
24
+ return {
25
+ pulling: false
26
+ };
27
+ },
28
+ computed: {
29
+ isShow() {
30
+ if (this.display === 'show' || this.pulling === true) {
31
+ return true;
32
+ }
33
+ return false;
34
+ }
35
+ },
36
+ created() {},
37
+ methods: {
38
+ onchange(value) {
39
+ this.pulling = value;
40
+ },
41
+ onrefresh(e) {
42
+ this.$emit('refresh', e);
43
+ },
44
+ onpullingdown(e) {
45
+ // #ifdef APP-NVUE
46
+ this.$emit('pullingdown', e);
47
+ // #endif
48
+ // #ifndef APP-NVUE
49
+ var detail = {
50
+ viewHeight: 90,
51
+ pullingDistance: e.height
52
+ };
53
+ this.$emit('pullingdown', detail);
54
+ // #endif
55
+ }
56
+ }
57
+ };
58
+ </script>
59
+
60
+ <style scoped>
61
+ .uni-refresh {
62
+ height: 0;
63
+ overflow: hidden;
64
+ }
65
+ </style>
@@ -0,0 +1,113 @@
1
+ <template>
2
+ <!-- #ifdef APP-NVUE -->
3
+ <cell>
4
+ <!-- #endif -->
5
+ <view class="uni-list-ad">
6
+ <view v-if="borderShow" :class="{ 'uni-list--border': border, 'uni-list-item--first': isFirstChild }"></view>
7
+ <ad
8
+ style="width: 200px; height: 300px; border-width: 1px; border-color: red; border-style: solid"
9
+ adpid="1111111111"
10
+ unit-id=""
11
+ appid=""
12
+ apid=""
13
+ type="feed"
14
+ @error="aderror"
15
+ @close="closeAd"
16
+ ></ad>
17
+ </view>
18
+ <!-- #ifdef APP-NVUE -->
19
+ </cell>
20
+ <!-- #endif -->
21
+ </template>
22
+
23
+ <script>
24
+ // #ifdef APP-NVUE
25
+ const dom = uni.requireNativePlugin('dom');
26
+ // #endif
27
+ export default {
28
+ name: 'UniListAd',
29
+ props: {
30
+ title: {
31
+ type: String,
32
+ default: ''
33
+ }
34
+ },
35
+ // inject: ['list'],
36
+ data() {
37
+ return {
38
+ isFirstChild: false,
39
+ border: false,
40
+ borderShow: true
41
+ };
42
+ },
43
+
44
+ mounted() {
45
+ this.list = this.getForm();
46
+ if (this.list) {
47
+ if (!this.list.firstChildAppend) {
48
+ this.list.firstChildAppend = true;
49
+ this.isFirstChild = true;
50
+ }
51
+ this.border = this.list.border;
52
+ }
53
+ },
54
+ methods: {
55
+ /**
56
+ * 获取父元素实例
57
+ */
58
+ getForm(name = 'uniList') {
59
+ let parent = this.$parent;
60
+ let parentName = parent.$options.name;
61
+ while (parentName !== name) {
62
+ parent = parent.$parent;
63
+ if (!parent) return false;
64
+ parentName = parent.$options.name;
65
+ }
66
+ return parent;
67
+ },
68
+ aderror(e) {
69
+ console.log('aderror: ' + JSON.stringify(e.detail));
70
+ },
71
+ closeAd(e) {
72
+ this.borderShow = false;
73
+ }
74
+ }
75
+ };
76
+ </script>
77
+
78
+ <style scoped>
79
+ .uni-list-ad {
80
+ position: relative;
81
+ border: 1px red solid;
82
+ }
83
+
84
+ .uni-list--border {
85
+ position: relative;
86
+ padding-bottom: 1px;
87
+ /* #ifdef APP-PLUS */
88
+ border-top-color: #e5e5e5;
89
+ border-top-style: solid;
90
+ border-top-width: 0.5px;
91
+ /* #endif */
92
+ margin-left: 15px;
93
+ }
94
+
95
+ /* #ifndef APP-NVUE */
96
+ .uni-list--border:after {
97
+ position: absolute;
98
+ top: 0;
99
+ right: 0;
100
+ left: 0;
101
+ height: 1px;
102
+ content: '';
103
+ -webkit-transform: scaleY(0.5);
104
+ transform: scaleY(0.5);
105
+ background-color: #e5e5e5;
106
+ }
107
+
108
+ .uni-list-item--first:after {
109
+ height: 0px;
110
+ }
111
+
112
+ /* #endif */
113
+ </style>
@@ -0,0 +1,449 @@
1
+ <template>
2
+ <!-- #ifdef APP-NVUE -->
3
+ <cell>
4
+ <!-- #endif -->
5
+
6
+ <view
7
+ :class="{ 'uni-list-item--disabled': disabled }"
8
+ :hover-class="(!clickable && !link) || disabled || showSwitch ? '' : 'uni-list-item--hover'"
9
+ class="uni-list-item"
10
+ @click="onClick"
11
+ >
12
+ <view v-if="!isFirstChild" class="border--left" :class="{ 'uni-list--border': border }"></view>
13
+ <view
14
+ class="uni-list-item__container"
15
+ :class="{ 'container--right': showArrow || link, 'flex--direction': direction === 'column' }"
16
+ >
17
+ <slot name="header">
18
+ <view class="uni-list-item__header">
19
+ <view v-if="thumb" class="uni-list-item__icon">
20
+ <image :src="thumb" class="uni-list-item__icon-img" :class="['uni-list--' + thumbSize]" />
21
+ </view>
22
+ <view v-else-if="showExtraIcon" class="uni-list-item__icon">
23
+ <cv-icon2 :color="extraIcon.color" :size="extraIcon.size" :type="extraIcon.type" />
24
+ </view>
25
+ </view>
26
+ </slot>
27
+ <slot name="body">
28
+ <view
29
+ class="uni-list-item__content"
30
+ :class="{ 'uni-list-item__content--center': thumb || showExtraIcon || showBadge || showSwitch }"
31
+ >
32
+ <text
33
+ v-if="title"
34
+ class="uni-list-item__content-title"
35
+ :class="[ellipsis !== 0 && ellipsis <= 2 ? 'uni-ellipsis-' + ellipsis : '']"
36
+ >
37
+ {{ title }}
38
+ </text>
39
+ <text v-if="note" class="uni-list-item__content-note">{{ note }}</text>
40
+ </view>
41
+ </slot>
42
+ <slot name="footer">
43
+ <view
44
+ v-if="rightText || showBadge || showSwitch"
45
+ class="uni-list-item__extra"
46
+ :class="{ 'flex--justify': direction === 'column' }"
47
+ >
48
+ <text v-if="rightText" class="uni-list-item__extra-text">{{ rightText }}</text>
49
+ <uni-badge v-if="showBadge" :type="badgeType" :text="badgeText" />
50
+ <switch v-if="showSwitch" :disabled="disabled" :checked="switchChecked" @change="onSwitchChange" />
51
+ </view>
52
+ </slot>
53
+ </view>
54
+ <cv-icon2 v-if="showArrow || link" :size="16" class="uni-icon-wrapper" color="#bbb" type="arrowright" />
55
+ </view>
56
+ <!-- #ifdef APP-NVUE -->
57
+ </cell>
58
+ <!-- #endif -->
59
+ </template>
60
+
61
+ <script>
62
+ /**
63
+ * ListItem 列表子组件
64
+ * @description 列表子组件
65
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=24
66
+ * @property {String} title 标题
67
+ * @property {String} note 描述
68
+ * @property {String} thumb 左侧缩略图,若thumb有值,则不会显示扩展图标
69
+ * @property {String} thumbSize = [lg|base|sm] 略缩图大小
70
+ * @value lg 大图
71
+ * @value base 一般
72
+ * @value sm 小图
73
+ * @property {String} badgeText 数字角标内容
74
+ * @property {String} badgeType 数字角标类型,参考[cv-icon2](https://ext.dcloud.net.cn/plugin?id=21)
75
+ * @property {String} rightText 右侧文字内容
76
+ * @property {Boolean} disabled = [true|false] 是否禁用
77
+ * @property {Boolean} clickable = [true|false] 是否开启点击反馈
78
+ * @property {String} link = [navigateTo|redirectTo|reLaunch|switchTab] 是否展示右侧箭头并开启点击反馈
79
+ * @value navigateTo 同 uni.navigateTo()
80
+ * @value redirectTo 同 uni.redirectTo()
81
+ * @value reLaunch 同 uni.reLaunch()
82
+ * @value switchTab 同 uni.switchTab()
83
+ * @property {String | PageURIString} to 跳转目标页面
84
+ * @property {Boolean} showBadge = [true|false] 是否显示数字角标
85
+ * @property {Boolean} showSwitch = [true|false] 是否显示Switch
86
+ * @property {Boolean} switchChecked = [true|false] Switch是否被选中
87
+ * @property {Boolean} showExtraIcon = [true|false] 左侧是否显示扩展图标
88
+ * @property {Object} extraIcon 扩展图标参数,格式为 {color: '#4cd964',size: '22',type: 'spinner'}
89
+ * @property {String} direction = [row|column] 排版方向
90
+ * @value row 水平排列
91
+ * @value column 垂直排列
92
+ * @event {Function} click 点击 uniListItem 触发事件
93
+ * @event {Function} switchChange 点击切换 Switch 时触发
94
+ */
95
+ export default {
96
+ name: 'UniListItem',
97
+ emits: ['click', 'switchChange'],
98
+ props: {
99
+ direction: {
100
+ type: String,
101
+ default: 'row'
102
+ },
103
+ title: {
104
+ type: String,
105
+ default: ''
106
+ },
107
+ note: {
108
+ type: String,
109
+ default: ''
110
+ },
111
+ ellipsis: {
112
+ type: [Number],
113
+ default: 0
114
+ },
115
+ disabled: {
116
+ type: [Boolean, String],
117
+ default: false
118
+ },
119
+ clickable: {
120
+ type: Boolean,
121
+ default: false
122
+ },
123
+ showArrow: {
124
+ type: [Boolean, String],
125
+ default: false
126
+ },
127
+ link: {
128
+ type: [Boolean, String],
129
+ default: false
130
+ },
131
+ to: {
132
+ type: String,
133
+ default: ''
134
+ },
135
+ showBadge: {
136
+ type: [Boolean, String],
137
+ default: false
138
+ },
139
+ showSwitch: {
140
+ type: [Boolean, String],
141
+ default: false
142
+ },
143
+ switchChecked: {
144
+ type: [Boolean, String],
145
+ default: false
146
+ },
147
+ badgeText: {
148
+ type: String,
149
+ default: ''
150
+ },
151
+ badgeType: {
152
+ type: String,
153
+ default: 'success'
154
+ },
155
+ rightText: {
156
+ type: String,
157
+ default: ''
158
+ },
159
+ thumb: {
160
+ type: String,
161
+ default: ''
162
+ },
163
+ thumbSize: {
164
+ type: String,
165
+ default: 'base'
166
+ },
167
+ showExtraIcon: {
168
+ type: [Boolean, String],
169
+ default: false
170
+ },
171
+ extraIcon: {
172
+ type: Object,
173
+ default() {
174
+ return {
175
+ type: 'contact',
176
+ color: '#000000',
177
+ size: 20
178
+ };
179
+ }
180
+ },
181
+ border: {
182
+ type: Boolean,
183
+ default: true
184
+ }
185
+ },
186
+ // inject: ['list'],
187
+ data() {
188
+ return {
189
+ isFirstChild: false
190
+ };
191
+ },
192
+ mounted() {
193
+ this.list = this.getForm();
194
+ // 判断是否存在 uni-list 组件
195
+ if (this.list) {
196
+ if (!this.list.firstChildAppend) {
197
+ this.list.firstChildAppend = true;
198
+ this.isFirstChild = true;
199
+ }
200
+ }
201
+ },
202
+ methods: {
203
+ /**
204
+ * 获取父元素实例
205
+ */
206
+ getForm(name = 'uniList') {
207
+ let parent = this.$parent;
208
+ let parentName = parent.$options.name;
209
+ while (parentName !== name) {
210
+ parent = parent.$parent;
211
+ if (!parent) return false;
212
+ parentName = parent.$options.name;
213
+ }
214
+ return parent;
215
+ },
216
+ onClick() {
217
+ if (this.to !== '') {
218
+ this.openPage();
219
+ return;
220
+ }
221
+ if (this.clickable || this.link) {
222
+ this.$emit('click', {
223
+ data: {}
224
+ });
225
+ }
226
+ },
227
+ onSwitchChange(e) {
228
+ this.$emit('switchChange', e.detail);
229
+ },
230
+ openPage() {
231
+ if (['navigateTo', 'redirectTo', 'reLaunch', 'switchTab'].indexOf(this.link) !== -1) {
232
+ this.pageApi(this.link);
233
+ } else {
234
+ this.pageApi('navigateTo');
235
+ }
236
+ },
237
+ pageApi(api) {
238
+ uni[api]({
239
+ url: this.to,
240
+ success: (res) => {
241
+ this.$emit('click', {
242
+ data: res
243
+ });
244
+ },
245
+ fail: (err) => {
246
+ this.$emit('click', {
247
+ data: err
248
+ });
249
+ console.error(err.errMsg);
250
+ }
251
+ });
252
+ }
253
+ }
254
+ };
255
+ </script>
256
+
257
+ <style scoped>
258
+ .uni-list-item {
259
+ /* #ifndef APP-NVUE */
260
+ display: flex;
261
+ /* #endif */
262
+ font-size: 16px;
263
+ position: relative;
264
+ justify-content: space-between;
265
+ align-items: center;
266
+ background-color: #fff;
267
+ flex-direction: row;
268
+ /* #ifdef H5 */
269
+ cursor: pointer;
270
+ /* #endif */
271
+ }
272
+
273
+ .uni-list-item--disabled {
274
+ opacity: 0.3;
275
+ }
276
+
277
+ .uni-list-item--hover {
278
+ background-color: #f1f1f1;
279
+ }
280
+
281
+ .uni-list-item__container {
282
+ position: relative;
283
+ /* #ifndef APP-NVUE */
284
+ display: flex;
285
+ /* #endif */
286
+ flex-direction: row;
287
+ padding: 12px 15px;
288
+ padding-left: 15px;
289
+ flex: 1;
290
+ overflow: hidden;
291
+ }
292
+
293
+ .container--right {
294
+ padding-right: 0;
295
+ }
296
+
297
+ .uni-list--border {
298
+ position: absolute;
299
+ top: 0;
300
+ right: 0;
301
+ left: 0;
302
+ /* #ifdef APP-NVUE */
303
+ border-top-color: #e5e5e5;
304
+ border-top-style: solid;
305
+ border-top-width: 0.5px;
306
+ /* #endif */
307
+ }
308
+
309
+ /* #ifndef APP-NVUE */
310
+ .uni-list--border:after {
311
+ position: absolute;
312
+ top: 0;
313
+ right: 0;
314
+ left: 0;
315
+ height: 1px;
316
+ content: '';
317
+ -webkit-transform: scaleY(0.5);
318
+ transform: scaleY(0.5);
319
+ background-color: #e5e5e5;
320
+ }
321
+
322
+ /* #endif */
323
+ .uni-list-item__content {
324
+ /* #ifndef APP-NVUE */
325
+ display: flex;
326
+ /* #endif */
327
+ padding-right: 8px;
328
+ flex: 1;
329
+ color: #3b4144;
330
+ flex-direction: column;
331
+ justify-content: space-between;
332
+ overflow: hidden;
333
+ }
334
+
335
+ .uni-list-item__content--center {
336
+ justify-content: center;
337
+ }
338
+
339
+ .uni-list-item__content-title {
340
+ font-size: 14px;
341
+ color: #3b4144;
342
+ overflow: hidden;
343
+ }
344
+
345
+ .uni-list-item__content-note {
346
+ margin-top: 6rpx;
347
+ color: #999;
348
+ font-size: 12px;
349
+ overflow: hidden;
350
+ }
351
+
352
+ .uni-list-item__extra {
353
+ /* #ifndef APP-NVUE */
354
+ display: flex;
355
+ /* #endif */
356
+ flex-direction: row;
357
+ justify-content: flex-end;
358
+ align-items: center;
359
+ }
360
+
361
+ .uni-list-item__header {
362
+ /* #ifndef APP-NVUE */
363
+ display: flex;
364
+ /* #endif */
365
+ flex-direction: row;
366
+ align-items: center;
367
+ }
368
+
369
+ .uni-list-item__icon {
370
+ margin-right: 18rpx;
371
+ flex-direction: row;
372
+ justify-content: center;
373
+ align-items: center;
374
+ }
375
+
376
+ .uni-list-item__icon-img {
377
+ /* #ifndef APP-NVUE */
378
+ display: block;
379
+ /* #endif */
380
+ height: 26px;
381
+ width: 26px;
382
+ margin-right: 10px;
383
+ }
384
+
385
+ .uni-icon-wrapper {
386
+ /* #ifndef APP-NVUE */
387
+ display: flex;
388
+ /* #endif */
389
+ align-items: center;
390
+ padding: 0 10px;
391
+ }
392
+
393
+ .flex--direction {
394
+ flex-direction: column;
395
+ /* #ifndef APP-NVUE */
396
+ align-items: initial;
397
+ /* #endif */
398
+ }
399
+
400
+ .flex--justify {
401
+ /* #ifndef APP-NVUE */
402
+ justify-content: initial;
403
+ /* #endif */
404
+ }
405
+
406
+ .uni-list--lg {
407
+ height: 40px;
408
+ width: 40px;
409
+ }
410
+
411
+ .uni-list--base {
412
+ height: 26px;
413
+ width: 26px;
414
+ }
415
+
416
+ .uni-list--sm {
417
+ height: 20px;
418
+ width: 20px;
419
+ }
420
+
421
+ .uni-list-item__extra-text {
422
+ color: #999;
423
+ font-size: 12px;
424
+ }
425
+
426
+ .uni-ellipsis-1 {
427
+ /* #ifndef APP-NVUE */
428
+ overflow: hidden;
429
+ white-space: nowrap;
430
+ text-overflow: ellipsis;
431
+ /* #endif */
432
+ /* #ifdef APP-NVUE */
433
+ lines: 1;
434
+ /* #endif */
435
+ }
436
+
437
+ .uni-ellipsis-2 {
438
+ /* #ifndef APP-NVUE */
439
+ overflow: hidden;
440
+ text-overflow: ellipsis;
441
+ display: -webkit-box;
442
+ -webkit-line-clamp: 2;
443
+ -webkit-box-orient: vertical;
444
+ /* #endif */
445
+ /* #ifdef APP-NVUE */
446
+ lines: 2;
447
+ /* #endif */
448
+ }
449
+ </style>
@@ -1,10 +1,10 @@
1
1
  {
2
- "id": "29",
3
- "name": "LoadMore",
4
- "desc": "加载更多",
5
- "url": "load-more",
6
- "type": "功能组件",
7
- "edition": "1.1.5",
8
- "path": "https://ext.dcloud.net.cn/plugin?id=29",
9
- "update_log": "- 新增 颜色大小等配置项"
10
- }
2
+ "id": "29",
3
+ "name": "LoadMore",
4
+ "desc": "加载更多",
5
+ "url": "load-more",
6
+ "type": "功能组件",
7
+ "edition": "1.1.5",
8
+ "path": "https://ext.dcloud.net.cn/plugin?id=29",
9
+ "update_log": "- 新增 颜色大小等配置项"
10
+ }