@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,397 @@
1
+ <template>
2
+ <view class="uni-pagination">
3
+ <!-- #ifndef APP-NVUE -->
4
+ <view class="uni-pagination__total is-phone-hide">共 {{ total }} 条</view>
5
+ <!-- #endif -->
6
+ <view
7
+ class="uni-pagination__btn"
8
+ :class="currentIndex === 1 ? 'uni-pagination--disabled' : 'uni-pagination--enabled'"
9
+ :hover-class="currentIndex === 1 ? '' : 'uni-pagination--hover'"
10
+ :hover-start-time="20"
11
+ :hover-stay-time="70"
12
+ @click="clickLeft"
13
+ >
14
+ <template v-if="showIcon === true || showIcon === 'true'">
15
+ <cv-icon2 color="#666" size="16" type="arrowleft" />
16
+ </template>
17
+ <template v-else>
18
+ <text class="uni-pagination__child-btn">{{ prevText }}</text>
19
+ </template>
20
+ </view>
21
+ <view class="uni-pagination__num uni-pagination__num-flex-none">
22
+ <view class="uni-pagination__num-current">
23
+ <text class="uni-pagination__num-current-text is-pc-hide" style="color: #409eff">{{ currentIndex }}</text>
24
+ <text class="uni-pagination__num-current-text is-pc-hide">/{{ maxPage || 0 }}</text>
25
+ <!-- #ifndef APP-NVUE -->
26
+ <view
27
+ v-for="(item, index) in paper"
28
+ :key="index"
29
+ :class="{ 'page--active': item === currentIndex }"
30
+ class="uni-pagination__num-tag tag--active is-phone-hide"
31
+ @click.top="selectPage(item, index)"
32
+ >
33
+ <text>{{ item }}</text>
34
+ </view>
35
+ <!-- #endif -->
36
+ </view>
37
+ </view>
38
+ <view
39
+ class="uni-pagination__btn"
40
+ :class="currentIndex >= maxPage ? 'uni-pagination--disabled' : 'uni-pagination--enabled'"
41
+ :hover-class="currentIndex === maxPage ? '' : 'uni-pagination--hover'"
42
+ :hover-start-time="20"
43
+ :hover-stay-time="70"
44
+ @click="clickRight"
45
+ >
46
+ <template v-if="showIcon === true || showIcon === 'true'">
47
+ <cv-icon2 color="#666" size="16" type="arrowright" />
48
+ </template>
49
+ <template v-else>
50
+ <text class="uni-pagination__child-btn">{{ nextText }}</text>
51
+ </template>
52
+ </view>
53
+ </view>
54
+ </template>
55
+
56
+ <script>
57
+ /**
58
+ * Pagination 分页器
59
+ * @description 分页器组件,用于展示页码、请求数据等
60
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=32
61
+ * @property {String} prevText 左侧按钮文字
62
+ * @property {String} nextText 右侧按钮文字
63
+ * @property {Number} current 当前页
64
+ * @property {Number} total 数据总量
65
+ * @property {Number} pageSize 每页数据量
66
+ * @property {Number} showIcon = [true|false] 是否以 icon 形式展示按钮
67
+ * @event {Function} change 点击页码按钮时触发 ,e={type,current} current为当前页,type值为:next/prev,表示点击的是上一页还是下一个
68
+ */
69
+
70
+ export default {
71
+ name: 'UniPagination',
72
+ emits: ['update:modelValue', 'input', 'change'],
73
+ props: {
74
+ value: {
75
+ type: [Number, String],
76
+ default: 1
77
+ },
78
+ modelValue: {
79
+ type: [Number, String],
80
+ default: 1
81
+ },
82
+ prevText: {
83
+ type: String,
84
+ default: '上一页'
85
+ },
86
+ nextText: {
87
+ type: String,
88
+ default: '下一页'
89
+ },
90
+ current: {
91
+ type: [Number, String],
92
+ default: 1
93
+ },
94
+ total: {
95
+ // 数据总量
96
+ type: [Number, String],
97
+ default: 0
98
+ },
99
+ pageSize: {
100
+ // 每页数据量
101
+ type: [Number, String],
102
+ default: 10
103
+ },
104
+ showIcon: {
105
+ // 是否以 icon 形式展示按钮
106
+ type: [Boolean, String],
107
+ default: false
108
+ },
109
+ pagerCount: {
110
+ type: Number,
111
+ default: 7
112
+ }
113
+ },
114
+ data() {
115
+ return {
116
+ currentIndex: 1,
117
+ paperData: []
118
+ };
119
+ },
120
+ computed: {
121
+ maxPage() {
122
+ let maxPage = 1;
123
+ let total = Number(this.total);
124
+ let pageSize = Number(this.pageSize);
125
+ if (total && pageSize) {
126
+ maxPage = Math.ceil(total / pageSize);
127
+ }
128
+ return maxPage;
129
+ },
130
+ paper() {
131
+ const num = this.currentIndex;
132
+ // TODO 最大页数
133
+ const pagerCount = this.pagerCount;
134
+ // const total = 181
135
+ const total = this.total;
136
+ const pageSize = this.pageSize;
137
+ let totalArr = [];
138
+ let showPagerArr = [];
139
+ let pagerNum = Math.ceil(total / pageSize);
140
+ for (let i = 0; i < pagerNum; i++) {
141
+ totalArr.push(i + 1);
142
+ }
143
+ showPagerArr.push(1);
144
+ const totalNum = totalArr[totalArr.length - (pagerCount + 1) / 2];
145
+ totalArr.forEach((item, index) => {
146
+ if ((pagerCount + 1) / 2 >= num) {
147
+ if (item < pagerCount + 1 && item > 1) {
148
+ showPagerArr.push(item);
149
+ }
150
+ } else if (num + 2 <= totalNum) {
151
+ if (item > num - (pagerCount + 1) / 2 && item < num + (pagerCount + 1) / 2) {
152
+ showPagerArr.push(item);
153
+ }
154
+ } else {
155
+ if ((item > num - (pagerCount + 1) / 2 || pagerNum - pagerCount < item) && item < totalArr[totalArr.length - 1]) {
156
+ showPagerArr.push(item);
157
+ }
158
+ }
159
+ });
160
+ if (pagerNum > pagerCount) {
161
+ if ((pagerCount + 1) / 2 >= num) {
162
+ showPagerArr[showPagerArr.length - 1] = '...';
163
+ } else if (num + 2 <= totalNum) {
164
+ showPagerArr[1] = '...';
165
+ showPagerArr[showPagerArr.length - 1] = '...';
166
+ } else {
167
+ showPagerArr[1] = '...';
168
+ }
169
+ showPagerArr.push(totalArr[totalArr.length - 1]);
170
+ } else {
171
+ if ((pagerCount + 1) / 2 >= num) {
172
+ } else if (num + 2 <= totalNum) {
173
+ } else {
174
+ showPagerArr.shift();
175
+ showPagerArr.push(totalArr[totalArr.length - 1]);
176
+ }
177
+ }
178
+
179
+ return showPagerArr;
180
+ }
181
+ },
182
+ watch: {
183
+ current(val) {
184
+ this.currentIndex = val;
185
+ },
186
+ value(val) {
187
+ if (val < 1) {
188
+ this.currentIndex = 1;
189
+ } else {
190
+ this.currentIndex = val;
191
+ }
192
+ },
193
+ modelValue(val) {
194
+ if (val < 1) {
195
+ this.currentIndex = 1;
196
+ } else {
197
+ this.currentIndex = val;
198
+ }
199
+ }
200
+ },
201
+ created() {
202
+ this.currentIndex = +this.value;
203
+ },
204
+ methods: {
205
+ // 选择标签
206
+ selectPage(e, index) {
207
+ if (parseInt(e)) {
208
+ this.currentIndex = e;
209
+ this.change('current');
210
+ } else {
211
+ let pagerNum = Math.ceil(this.total / this.pageSize);
212
+ // let pagerNum = Math.ceil(181 / this.pageSize)
213
+ // 上一页
214
+ if (index <= 1) {
215
+ if (this.currentIndex - 5 > 1) {
216
+ this.currentIndex -= 5;
217
+ } else {
218
+ this.currentIndex = 1;
219
+ }
220
+ return;
221
+ }
222
+ // 下一页
223
+ if (index >= 6) {
224
+ if (this.currentIndex + 5 > pagerNum) {
225
+ this.currentIndex = pagerNum;
226
+ } else {
227
+ this.currentIndex += 5;
228
+ }
229
+ return;
230
+ }
231
+ }
232
+ },
233
+ clickLeft() {
234
+ if (Number(this.currentIndex) === 1) {
235
+ return;
236
+ }
237
+ this.currentIndex -= 1;
238
+ this.change('prev');
239
+ },
240
+ clickRight() {
241
+ if (Number(this.currentIndex) >= this.maxPage) {
242
+ return;
243
+ }
244
+ this.currentIndex += 1;
245
+ this.change('next');
246
+ },
247
+ change(e) {
248
+ this.$emit('input', this.currentIndex);
249
+ this.$emit('update:modelValue', this.currentIndex);
250
+ this.$emit('change', {
251
+ type: e,
252
+ current: this.currentIndex
253
+ });
254
+ }
255
+ }
256
+ };
257
+ </script>
258
+
259
+ <style scoped>
260
+ .uni-pagination {
261
+ /* #ifndef APP-NVUE */
262
+ display: flex;
263
+ /* #endif */
264
+ position: relative;
265
+ overflow: hidden;
266
+ flex-direction: row;
267
+ justify-content: center;
268
+ align-items: center;
269
+ }
270
+
271
+ .uni-pagination__total {
272
+ font-size: 14px;
273
+ color: #999;
274
+ margin-right: 15px;
275
+ }
276
+
277
+ .uni-pagination__btn {
278
+ /* #ifndef APP-NVUE */
279
+ display: flex;
280
+ cursor: pointer;
281
+ /* #endif */
282
+ padding: 0 8px;
283
+ line-height: 30px;
284
+ font-size: 14px;
285
+ position: relative;
286
+ background-color: #f4f4f5;
287
+ flex-direction: row;
288
+ justify-content: center;
289
+ align-items: center;
290
+ text-align: center;
291
+ }
292
+
293
+ .uni-pagination__child-btn {
294
+ /* #ifndef APP-NVUE */
295
+ display: flex;
296
+ /* #endif */
297
+ font-size: 14px;
298
+ position: relative;
299
+ flex-direction: row;
300
+ justify-content: center;
301
+ align-items: center;
302
+ text-align: center;
303
+ }
304
+
305
+ .uni-pagination__num {
306
+ /* #ifndef APP-NVUE */
307
+ display: flex;
308
+ /* #endif */
309
+ flex: 1;
310
+ flex-direction: row;
311
+ justify-content: center;
312
+ align-items: center;
313
+ height: 30px;
314
+ line-height: 30px;
315
+ font-size: 14px;
316
+ color: #333;
317
+ margin: 0 5px;
318
+ }
319
+
320
+ .uni-pagination__num-tag {
321
+ /* #ifdef H5 */
322
+ cursor: pointer;
323
+ min-width: 30px;
324
+ /* #endif */
325
+ margin: 0 5px;
326
+ height: 30px;
327
+ text-align: center;
328
+ line-height: 30px;
329
+ color: #666;
330
+ }
331
+
332
+ .uni-pagination__num-current {
333
+ /* #ifndef APP-NVUE */
334
+ display: flex;
335
+ /* #endif */
336
+ flex-direction: row;
337
+ }
338
+
339
+ .uni-pagination__num-current-text {
340
+ font-size: 15px;
341
+ }
342
+
343
+ .uni-pagination--enabled {
344
+ color: #333333;
345
+ opacity: 1;
346
+ }
347
+
348
+ .uni-pagination--disabled {
349
+ opacity: 0.5;
350
+ /* #ifdef H5 */
351
+ cursor: default;
352
+ /* #endif */
353
+ }
354
+
355
+ .uni-pagination--hover {
356
+ color: rgba(0, 0, 0, 0.6);
357
+ background-color: #f1f1f1;
358
+ }
359
+
360
+ .tag--active:hover {
361
+ color: #007aff;
362
+ }
363
+
364
+ .page--active {
365
+ color: #fff;
366
+ background-color: #007aff;
367
+ }
368
+
369
+ .page--active:hover {
370
+ color: #fff;
371
+ }
372
+
373
+ /* #ifndef APP-NVUE */
374
+ .is-pc-hide {
375
+ display: block;
376
+ }
377
+
378
+ .is-phone-hide {
379
+ display: none;
380
+ }
381
+
382
+ @media screen and (min-width: 450px) {
383
+ .is-pc-hide {
384
+ display: none;
385
+ }
386
+
387
+ .is-phone-hide {
388
+ display: block;
389
+ }
390
+
391
+ .uni-pagination__num-flex-none {
392
+ flex: none;
393
+ }
394
+ }
395
+
396
+ /* #endif */
397
+ </style>
@@ -1,30 +1,20 @@
1
1
  <template>
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
- >
11
- <view class="cv-picker-date">
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>
25
- </picker>
26
- </view>
27
- </cv-form-item>
2
+ <view class="cv-picker-date">
3
+ <picker
4
+ class="cv-picker-date-item"
5
+ mode="date"
6
+ :value="localVal"
7
+ :start="startDate"
8
+ :end="endDate"
9
+ @change="bindDateChange"
10
+ @cancel="bindPickerCancel"
11
+ :fields="fields"
12
+ @click="changeIconTop"
13
+ >
14
+ <view class="cv-picker-date-text" v-if="localVal != ''">{{ localVal }}</view>
15
+ <view class="cv-picker-date-placeholder" v-else>{{ placeholder }}</view>
16
+ </picker>
17
+ </view>
28
18
  </template>
29
19
 
30
20
  <script>
@@ -62,7 +52,7 @@ export default {
62
52
  iconTop: false
63
53
  };
64
54
  },
65
- created: function () {
55
+ created() {
66
56
  this.localVal = this.value;
67
57
  },
68
58
  methods: {
@@ -1,43 +1,33 @@
1
1
  <template>
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
- >
11
- <view class="cv-picker-date-time">
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>
25
- </picker>
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>
38
- </picker>
39
- </view>
40
- </cv-form-item>
2
+ <view class="cv-picker-date-time">
3
+ <picker
4
+ class="cv-picker-date-item"
5
+ mode="date"
6
+ :value="localVal_date"
7
+ :start="startDate"
8
+ :end="endDate"
9
+ @change="bindDateChange"
10
+ :fields="fields"
11
+ @click="changeIconTop"
12
+ @cancel="bindPickerCancel"
13
+ >
14
+ <view class="cv-picker-date-text" v-if="localVal_date != ''">{{ localVal_date }}</view>
15
+ <view class="cv-picker-item-placeholder" v-else>{{ placeholder }}</view>
16
+ </picker>
17
+ <picker
18
+ class="cv-picker-time-item"
19
+ mode="time"
20
+ :value="localVal_time"
21
+ :start="startTime"
22
+ :end="endTime"
23
+ @change="bindTimeChange"
24
+ @click="changeIconTop"
25
+ @cancel="bindPickerCancel"
26
+ >
27
+ <view class="cv-picker-time-text" v-if="localVal_time != ''">{{ localVal_time }}</view>
28
+ <view class="cv-picker-item-placeholder" v-else>{{ placeholder }}</view>
29
+ </picker>
30
+ </view>
41
31
  </template>
42
32
 
43
33
  <script>
@@ -87,7 +77,7 @@ export default {
87
77
  iconTop: false
88
78
  };
89
79
  },
90
- created: function () {
80
+ created() {
91
81
  this.localVal = this.value;
92
82
  this.localVal_date = this.localVal.split(' ')[0] || '';
93
83
  this.localVal_time = this.localVal.split(' ')[1] || '';
@@ -103,7 +93,7 @@ export default {
103
93
  this.localVal_date = value;
104
94
  this.mergeDateTime();
105
95
  },
106
- mergeDateTime: function () {
96
+ mergeDateTime() {
107
97
  this.localVal = this.localVal_date + ' ' + this.localVal_time;
108
98
  this.$emit('input', this.localVal);
109
99
  this.iconTop = false;
@@ -1,31 +1,21 @@
1
1
  <template>
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
- >
11
- <view class="cv-picker">
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
- >
22
- <view class="cv-picker-item-text" v-if="localVal">
23
- {{ localVal }}
24
- </view>
25
- <view class="cv-picker-item-placeholder" v-else>{{ placeholder }}</view>
26
- </picker>
27
- </view>
28
- </cv-form-item>
2
+ <view class="cv-picker">
3
+ <picker
4
+ class="cv-picker-item"
5
+ mode="multiSelector"
6
+ :range="range_data"
7
+ :value="items_index"
8
+ @change="bindPickerChange"
9
+ @columnchange="bindPickerColumnchange"
10
+ @cancel="onCancel"
11
+ @click="changeIconTop"
12
+ >
13
+ <view class="cv-picker-item-text" v-if="localVal">
14
+ {{ localVal }}
15
+ </view>
16
+ <view class="cv-picker-item-placeholder" v-else>{{ placeholder }}</view>
17
+ </picker>
18
+ </view>
29
19
  </template>
30
20
 
31
21
  <script>
@@ -83,7 +73,7 @@ export default {
83
73
  endDatetimeArr: [] //结束日期时间数组
84
74
  };
85
75
  },
86
- created: function () {
76
+ created() {
87
77
  this.localVal = this.value;
88
78
  this.localDataType = this.dataType != 'value' ? 'text' : 'value';
89
79
  this.localJoint = this.joint;
@@ -104,7 +94,7 @@ export default {
104
94
  }
105
95
  return localData;
106
96
  },
107
- itemsSortOut: function () {
97
+ itemsSortOut() {
108
98
  let localDatetimeArr = [],
109
99
  lastDatetimeArr = [];
110
100
  /* 获取当前日期的默认事件 */
@@ -1,34 +1,24 @@
1
1
  <template>
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
- >
11
- <view class="cv-picker">
12
- <picker
13
- class="cv-picker-item"
14
- mode="multiSelector"
15
- :range="range_data"
16
- range-key="text"
17
- :value="items_index"
18
- @change="bindPickerChange"
19
- @columnchange="bindPickerColumnchange"
20
- @cancel="onCancel"
21
- @click="changeIconTop"
22
- >
23
- <view class="cv-picker-item-text" v-if="localVal.length > 0">
24
- {{ last_range_data[0][lastRetDataIndex[0]].text }}{{ joint || ' ' }}{{ last_range_data[1][lastRetDataIndex[1]].text
25
- }}{{ joint || ' ' }}
26
- {{ last_range_data[2][lastRetDataIndex[2]].text }}
27
- </view>
28
- <view class="cv-picker-item-placeholder" v-else>{{ placeholder }}</view>
29
- </picker>
30
- </view>
31
- </cv-form-item>
2
+ <view class="cv-picker">
3
+ <picker
4
+ class="cv-picker-item"
5
+ mode="multiSelector"
6
+ :range="range_data"
7
+ range-key="text"
8
+ :value="items_index"
9
+ @change="bindPickerChange"
10
+ @columnchange="bindPickerColumnchange"
11
+ @cancel="onCancel"
12
+ @click="changeIconTop"
13
+ >
14
+ <view class="cv-picker-item-text" v-if="localVal.length > 0">
15
+ {{ last_range_data[0][lastRetDataIndex[0]].text }}{{ joint || ' ' }}{{ last_range_data[1][lastRetDataIndex[1]].text
16
+ }}{{ joint || ' ' }}
17
+ {{ last_range_data[2][lastRetDataIndex[2]].text }}
18
+ </view>
19
+ <view class="cv-picker-item-placeholder" v-else>{{ placeholder }}</view>
20
+ </picker>
21
+ </view>
32
22
  </template>
33
23
 
34
24
  <script>
@@ -76,7 +66,7 @@ export default {
76
66
  localCounty: {}
77
67
  };
78
68
  },
79
- created: function () {
69
+ created() {
80
70
  this.localVal = this.value;
81
71
  this.localDataType = this.dataType != 'value' ? 'text' : 'value';
82
72
  this.itemsSortOut();
@@ -92,7 +82,7 @@ export default {
92
82
  }
93
83
  return localData;
94
84
  },
95
- itemsSortOut: function () {
85
+ itemsSortOut() {
96
86
  const localProvince = this.initReginData(province);
97
87
  this.localProvince = localProvince;
98
88
  const localCity = this.initReginData(city);
@@ -180,7 +170,7 @@ export default {
180
170
  }
181
171
  this.items_index = items_index;
182
172
  //this.$forceUpdate()
183
- // this.updateInput();
173
+ // this.funcOnInput();
184
174
  },
185
175
  updatelocalVal() {
186
176
  let items_index = this.items_index;