@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
@@ -1,30 +0,0 @@
1
- <template>
2
- <!-- #ifdef H5 -->
3
- <tbody>
4
- <slot></slot>
5
- </tbody>
6
- <!-- #endif -->
7
- <!-- #ifndef H5 -->
8
- <view>
9
- <slot></slot>
10
- </view>
11
- <!-- #endif -->
12
- </template>
13
-
14
- <script>
15
- export default {
16
- name: 'uniBody',
17
- options: {
18
- virtualHost: true
19
- },
20
- data() {
21
- return {
22
-
23
- }
24
- },
25
- created() {},
26
- methods: {}
27
- }
28
- </script>
29
-
30
- <style scoped></style>
@@ -1,88 +0,0 @@
1
- <template>
2
- <!-- #ifdef H5 -->
3
- <td class="uni-table-td" :rowspan="rowspan" :colspan="colspan" :class="{'table--border':border}" :style="{width:width + 'px','text-align':align}">
4
- <slot></slot>
5
- </td>
6
- <!-- #endif -->
7
- <!-- #ifndef H5 -->
8
- <!-- :class="{'table--border':border}" -->
9
- <view class="uni-table-td" :class="{'table--border':border}" :style="{width:width + 'px','text-align':align}">
10
- <slot></slot>
11
- </view>
12
- <!-- #endif -->
13
-
14
- </template>
15
-
16
- <script>
17
- /**
18
- * Td 单元格
19
- * @description 表格中的标准单元格组件
20
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3270
21
- * @property {Number} align = [left|center|right] 单元格对齐方式
22
- */
23
- export default {
24
- name: 'uniTd',
25
- options: {
26
- virtualHost: true
27
- },
28
- props: {
29
- width: {
30
- type: [String, Number],
31
- default: ''
32
- },
33
- align: {
34
- type: String,
35
- default: 'left'
36
- },
37
- rowspan: {
38
- type: [Number, String],
39
- default: 1
40
- },
41
- colspan: {
42
- type: [Number, String],
43
- default: 1
44
- }
45
- },
46
- data() {
47
- return {
48
- border: false
49
- };
50
- },
51
- created() {
52
- this.root = this.getTable()
53
- this.border = this.root.border
54
- },
55
- methods: {
56
- /**
57
- * 获取父元素实例
58
- */
59
- getTable() {
60
- let parent = this.$parent;
61
- let parentName = parent.$options.name;
62
- while (parentName !== 'uniTable') {
63
- parent = parent.$parent;
64
- if (!parent) return false;
65
- parentName = parent.$options.name;
66
- }
67
- return parent;
68
- },
69
- }
70
- }
71
- </script>
72
-
73
- <style scoped>
74
- .uni-table-td {
75
- display: table-cell;
76
- padding: 8px 10px;
77
- font-size: 14px;
78
- border-bottom: 1px #EBEEF5 solid;
79
- font-weight: 400;
80
- color: #606266;
81
- line-height: 23px;
82
- box-sizing: border-box;
83
- }
84
-
85
- .table--border {
86
- border-right: 1px #EBEEF5 solid;
87
- }
88
- </style>
@@ -1,259 +0,0 @@
1
- <template>
2
- <!-- #ifdef H5 -->
3
- <th :rowspan="rowspan" :colspan="colspan" class="uni-table-th" :class="{ 'table--border': border }" :style="{ width: width + 'px', 'text-align': align }">
4
- <view class="uni-table-th-row">
5
- <view class="uni-table-th-content" :style="{ 'justify-content': contentAlign }" @click="sort">
6
- <slot></slot>
7
- <view v-if="sortable" class="arrow-box">
8
- <text class="arrow up" :class="{ active: ascending }" @click.stop="ascendingFn"></text>
9
- <text class="arrow down" :class="{ active: descending }" @click.stop="descendingFn"></text>
10
- </view>
11
- </view>
12
- <dropdown v-if="filterType || filterData.length" :filterData="filterData" :filterType="filterType" @change="ondropdown"></dropdown>
13
- </view>
14
- </th>
15
- <!-- #endif -->
16
- <!-- #ifndef H5 -->
17
- <view class="uni-table-th" :class="{ 'table--border': border }" :style="{ width: width + 'px', 'text-align': align }">
18
- <slot></slot>
19
- </view>
20
- <!-- #endif -->
21
- </template>
22
-
23
- <script>
24
- import dropdown from './filter-dropdown.vue'
25
- /**
26
- * Th 表头
27
- * @description 表格内的表头单元格组件
28
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3270
29
- * @property {Number} width 单元格宽度
30
- * @property {Boolean} sortable 是否启用排序
31
- * @property {Number} align = [left|center|right] 单元格对齐方式
32
- * @value left 单元格文字左侧对齐
33
- * @value center 单元格文字居中
34
- * @value right 单元格文字右侧对齐
35
- * @property {Array} filterData 筛选数据
36
- * @property {String} filterType [search|select] 筛选类型
37
- * @value search 关键字搜素
38
- * @value select 条件选择
39
- * @event {Function} sort-change 排序触发事件
40
- */
41
- export default {
42
- name: 'uniTh',
43
- options: {
44
- virtualHost: true
45
- },
46
- components: {
47
- dropdown
48
- },
49
- emits: ['sort-change', 'filter-change'],
50
- props: {
51
- width: {
52
- type: [String, Number],
53
- default: ''
54
- },
55
- align: {
56
- type: String,
57
- default: 'left'
58
- },
59
- rowspan: {
60
- type: [Number, String],
61
- default: 1
62
- },
63
- colspan: {
64
- type: [Number, String],
65
- default: 1
66
- },
67
- sortable: {
68
- type: Boolean,
69
- default: false
70
- },
71
- filterType: {
72
- type: String,
73
- default: ""
74
- },
75
- filterData: {
76
- type: Array,
77
- default () {
78
- return []
79
- }
80
- }
81
- },
82
- data() {
83
- return {
84
- border: false,
85
- ascending: false,
86
- descending: false
87
- }
88
- },
89
- computed: {
90
- contentAlign() {
91
- let align = 'left'
92
- switch (this.align) {
93
- case 'left':
94
- align = 'flex-start'
95
- break
96
- case 'center':
97
- align = 'center'
98
- break
99
- case 'right':
100
- align = 'flex-end'
101
- break
102
- }
103
- return align
104
- }
105
- },
106
- created() {
107
- this.root = this.getTable('uniTable')
108
- this.rootTr = this.getTable('uniTr')
109
- this.rootTr.minWidthUpdate(this.width ? this.width : 140)
110
- this.border = this.root.border
111
- this.root.thChildren.push(this)
112
- },
113
- methods: {
114
- sort() {
115
- if (!this.sortable) return
116
- this.clearOther()
117
- if (!this.ascending && !this.descending) {
118
- this.ascending = true
119
- this.$emit('sort-change', {
120
- order: 'ascending'
121
- })
122
- return
123
- }
124
- if (this.ascending && !this.descending) {
125
- this.ascending = false
126
- this.descending = true
127
- this.$emit('sort-change', {
128
- order: 'descending'
129
- })
130
- return
131
- }
132
-
133
- if (!this.ascending && this.descending) {
134
- this.ascending = false
135
- this.descending = false
136
- this.$emit('sort-change', {
137
- order: null
138
- })
139
- }
140
- },
141
- ascendingFn() {
142
- this.clearOther()
143
- this.ascending = !this.ascending
144
- this.descending = false
145
- this.$emit('sort-change', {
146
- order: this.ascending ? 'ascending' : null
147
- })
148
- },
149
- descendingFn() {
150
- this.clearOther()
151
- this.descending = !this.descending
152
- this.ascending = false
153
- this.$emit('sort-change', {
154
- order: this.descending ? 'descending' : null
155
- })
156
- },
157
- clearOther() {
158
- this.root.thChildren.map(item => {
159
- if (item !== this) {
160
- item.ascending = false
161
- item.descending = false
162
- }
163
- return item
164
- })
165
- },
166
- ondropdown(e) {
167
- this.$emit("filter-change", e)
168
- },
169
- /**
170
- * 获取父元素实例
171
- */
172
- getTable(name) {
173
- let parent = this.$parent
174
- let parentName = parent.$options.name
175
- while (parentName !== name) {
176
- parent = parent.$parent
177
- if (!parent) return false
178
- parentName = parent.$options.name
179
- }
180
- return parent
181
- }
182
- }
183
- }
184
- </script>
185
-
186
- <style scoped>
187
- .uni-table-th {
188
- padding: 12px 10px;
189
- /* #ifndef APP-NVUE */
190
- display: table-cell;
191
- box-sizing: border-box;
192
- /* #endif */
193
- font-size: 14px;
194
- font-weight: bold;
195
- color: #909399;
196
- border-bottom: 1px #ebeef5 solid;
197
- }
198
-
199
- .uni-table-th-row {
200
- /* #ifndef APP-NVUE */
201
- display: flex;
202
- /* #endif */
203
- flex-direction: row;
204
- }
205
-
206
- .table--border {
207
- border-right: 1px #ebeef5 solid;
208
- }
209
-
210
- .uni-table-th-content {
211
- display: flex;
212
- align-items: center;
213
- flex: 1;
214
- }
215
-
216
- .arrow {
217
- display: block;
218
- position: relative;
219
- width: 10px;
220
- height: 8px;
221
- left: 5px;
222
- overflow: hidden;
223
- cursor: pointer;
224
- }
225
-
226
- .down {
227
- top: 3px;
228
- }
229
-
230
- .down ::after {
231
- content: "";
232
- width: 8px;
233
- height: 8px;
234
- position: absolute;
235
- left: 2px;
236
- top: -5px;
237
- transform: rotate(45deg);
238
- background-color: #ccc;
239
- }
240
-
241
- .down.active ::after {
242
- background-color: #007aff;
243
- }
244
-
245
- .up ::after {
246
- content: "";
247
- width: 8px;
248
- height: 8px;
249
- position: absolute;
250
- left: 2px;
251
- top: 5px;
252
- transform: rotate(45deg);
253
- background-color: #ccc;
254
- }
255
-
256
- .up.active ::after {
257
- background-color: #007aff;
258
- }
259
- </style>
@@ -1,114 +0,0 @@
1
- <template>
2
- <!-- #ifdef H5 -->
3
- <thead class="uni-table-thead">
4
- <tr class="uni-table-tr">
5
- <th :rowspan="rowspan" colspan="1" class="checkbox" :class="{ 'tr-table--border': border }">
6
- <table-checkbox :indeterminate="indeterminate" :checked="checked" @checkboxSelected="checkboxSelected"></table-checkbox>
7
- </th>
8
- </tr>
9
- <slot></slot>
10
- </thead>
11
- <!-- #endif -->
12
- <!-- #ifndef H5 -->
13
- <view class="uni-table-thead">
14
- <slot></slot>
15
- </view>
16
- <!-- #endif -->
17
- </template>
18
-
19
- <script>
20
- import tableCheckbox from '../uni-tr/table-checkbox.vue'
21
- export default {
22
- name: 'uniThead',
23
- components: {
24
- tableCheckbox
25
- },
26
- options: {
27
- virtualHost: true
28
- },
29
- data() {
30
- return {
31
- border: false,
32
- selection: false,
33
- rowspan: 1,
34
- indeterminate: false,
35
- checked: false
36
- }
37
- },
38
- created() {
39
- this.root = this.getTable()
40
- // #ifdef H5
41
- this.root.theadChildren = this
42
- // #endif
43
- this.border = this.root.border
44
- this.selection = this.root.type
45
- },
46
- methods: {
47
- init(self) {
48
- this.rowspan++
49
- },
50
- checkboxSelected(e) {
51
- this.indeterminate = false
52
- const backIndexData = this.root.backIndexData
53
- const data = this.root.trChildren.filter(v => !v.disabled && v.keyValue)
54
- if (backIndexData.length === data.length) {
55
- this.checked = false
56
- this.root.clearSelection()
57
- } else {
58
- this.checked = true
59
- this.root.selectionAll()
60
- }
61
- },
62
- /**
63
- * 获取父元素实例
64
- */
65
- getTable(name = 'uniTable') {
66
- let parent = this.$parent
67
- let parentName = parent.$options.name
68
- while (parentName !== name) {
69
- parent = parent.$parent
70
- if (!parent) return false
71
- parentName = parent.$options.name
72
- }
73
- return parent
74
- }
75
- }
76
- }
77
- </script>
78
-
79
- <style scoped>
80
- .uni-table-thead {
81
- display: table-header-group;
82
- }
83
-
84
- .uni-table-tr {
85
- /* #ifndef APP-NVUE */
86
- display: table-row;
87
- transition: all 0.3s;
88
- box-sizing: border-box;
89
- /* #endif */
90
- border: 1px red solid;
91
- background-color: #fafafa;
92
- }
93
-
94
- .checkbox {
95
- padding: 0 8px;
96
- width: 26px;
97
- padding-left: 12px;
98
- /* #ifndef APP-NVUE */
99
- display: table-cell;
100
- vertical-align: middle;
101
- /* #endif */
102
- color: #333;
103
- font-weight: 500;
104
- border-bottom: 1px #ebeef5 solid;
105
- font-size: 14px;
106
- }
107
-
108
- .tr-table--border {
109
- border-right: 1px #ebeef5 solid;
110
- }
111
-
112
- /* #ifndef APP-NVUE */
113
- /* #endif */
114
- </style>
@@ -1,171 +0,0 @@
1
- <template>
2
- <view class="uni-title__box" :style="{'align-items':textAlign}">
3
- <text class="uni-title__base" :class="['uni-'+type]" :style="{'color':color}">{{title}}</text>
4
- </view>
5
- </template>
6
-
7
- <script>
8
- /**
9
- * Title 章节标题
10
- * @description 章节标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题
11
- * @tutorial https://ext.dcloud.net.cn/plugin?id=1066
12
- * @property {String} type = [h1|h2|h3|h4|h5] 标题类型
13
- * @value h1 一级标题
14
- * @value h2 二级标题
15
- * @value h3 三级标题
16
- * @value h4 四级标题
17
- * @value h5 五级标题
18
- * @property {String} title 章节标题内容
19
- * @property {String} align = [left|center|right] 对齐方式
20
- * @value left 做对齐
21
- * @value center 居中对齐
22
- * @value right 右对齐
23
- * @property {String} color 字体颜色
24
- * @property {Boolean} stat = [true|false] 是否开启统计功能呢,如不填写type值,默认为开启,填写 type 属性,默认为关闭
25
- */
26
- export default {
27
- name: "UniTitle",
28
- props: {
29
- type: {
30
- type: String,
31
- default: ''
32
- },
33
- title: {
34
- type: String,
35
- default: ''
36
- },
37
- align: {
38
- type: String,
39
- default: 'left'
40
- },
41
- color: {
42
- type: String,
43
- default: '#333333'
44
- },
45
- stat: {
46
- type: [Boolean, String],
47
- default: ''
48
- }
49
- },
50
- data() {
51
- return {
52
-
53
- };
54
- },
55
- computed: {
56
- textAlign() {
57
- let align = 'center';
58
- switch (this.align) {
59
- case 'left':
60
- align = 'flex-start'
61
- break;
62
- case 'center':
63
- align = 'center'
64
- break;
65
- case 'right':
66
- align = 'flex-end'
67
- break;
68
- }
69
- return align
70
- }
71
- },
72
- watch: {
73
- title(newVal) {
74
- if (this.isOpenStat()) {
75
- // 上报数据
76
- if (uni.report) {
77
- uni.report('title', this.title)
78
- }
79
- }
80
- }
81
- },
82
- mounted() {
83
- if (this.isOpenStat()) {
84
- // 上报数据
85
- if (uni.report) {
86
- uni.report('title', this.title)
87
- }
88
- }
89
- },
90
- methods: {
91
- isOpenStat() {
92
- if (this.stat === '') {
93
- this.isStat = false
94
- }
95
- let stat_type = (typeof(this.stat) === 'boolean' && this.stat) || (typeof(this.stat) === 'string' && this.stat !==
96
- '')
97
- if (this.type === "") {
98
- this.isStat = true
99
- if (this.stat.toString() === 'false') {
100
- this.isStat = false
101
- }
102
- }
103
-
104
- if (this.type !== '') {
105
- this.isStat = true
106
- if (stat_type) {
107
- this.isStat = true
108
- } else {
109
- this.isStat = false
110
- }
111
- }
112
- return this.isStat
113
- }
114
- }
115
- }
116
- </script>
117
-
118
- <style scoped>
119
- /* .uni-title {
120
-
121
- } */
122
- .uni-title__box {
123
- /* #ifndef APP-NVUE */
124
- display: flex;
125
- /* #endif */
126
- flex-direction: column;
127
- align-items: flex-start;
128
- justify-content: center;
129
- padding: 8px 0;
130
- flex: 1;
131
- }
132
-
133
- .uni-title__base {
134
- font-size: 15px;
135
- color: #333;
136
- font-weight: 500;
137
- }
138
-
139
- .uni-h1 {
140
- font-size: 20px;
141
- color: #333;
142
- font-weight: bold;
143
- }
144
-
145
- .uni-h2 {
146
- font-size: 18px;
147
- color: #333;
148
- font-weight: bold;
149
- }
150
-
151
- .uni-h3 {
152
- font-size: 16px;
153
- color: #333;
154
- font-weight: bold;
155
- /* font-weight: 400; */
156
- }
157
-
158
- .uni-h4 {
159
- font-size: 14px;
160
- color: #333;
161
- font-weight: bold;
162
- /* font-weight: 300; */
163
- }
164
-
165
- .uni-h5 {
166
- font-size: 12px;
167
- color: #333;
168
- font-weight: bold;
169
- /* font-weight: 200; */
170
- }
171
- </style>