@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,455 +0,0 @@
1
- <template>
2
- <view class="uni-table-scroll" :class="{ 'table--border': border, 'border-none': !noData }">
3
- <!-- #ifdef H5 -->
4
- <table class="uni-table" border="0" cellpadding="0" cellspacing="0" :class="{ 'table--stripe': stripe }" :style="{ 'min-width': minWidth + 'px' }">
5
- <slot></slot>
6
- <view v-if="noData" class="uni-table-loading">
7
- <view class="uni-table-text" :class="{ 'empty-border': border }">{{ emptyText }}</view>
8
- </view>
9
- <view v-if="loading" class="uni-table-mask" :class="{ 'empty-border': border }">
10
- <div class="uni-table--loader"></div>
11
- </view>
12
- </table>
13
- <!-- #endif -->
14
- <!-- #ifndef H5 -->
15
- <view class="uni-table" :style="{ 'min-width': minWidth + 'px' }" :class="{ 'table--stripe': stripe }">
16
- <slot></slot>
17
- <view v-if="noData" class="uni-table-loading">
18
- <view class="uni-table-text" :class="{ 'empty-border': border }">{{ emptyText }}</view>
19
- </view>
20
- <view v-if="loading" class="uni-table-mask" :class="{ 'empty-border': border }">
21
- <div class="uni-table--loader"></div>
22
- </view>
23
- </view>
24
- <!-- #endif -->
25
- </view>
26
- </template>
27
-
28
- <script>
29
- /**
30
- * Table 表格
31
- * @description 用于展示多条结构类似的数据
32
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3270
33
- * @property {Boolean} border 是否带有纵向边框
34
- * @property {Boolean} stripe 是否显示斑马线
35
- * @property {Boolean} type 是否开启多选
36
- * @property {String} emptyText 空数据时显示的文本内容
37
- * @property {Boolean} loading 显示加载中
38
- * @event {Function} selection-change 开启多选时,当选择项发生变化时会触发该事件
39
- */
40
- export default {
41
- name: 'uniTable',
42
- options: {
43
- virtualHost: true
44
- },
45
- emits: ['selection-change'],
46
- props: {
47
- data: {
48
- type: Array,
49
- default () {
50
- return []
51
- }
52
- },
53
- // 是否有竖线
54
- border: {
55
- type: Boolean,
56
- default: false
57
- },
58
- // 是否显示斑马线
59
- stripe: {
60
- type: Boolean,
61
- default: false
62
- },
63
- // 多选
64
- type: {
65
- type: String,
66
- default: ''
67
- },
68
- // 没有更多数据
69
- emptyText: {
70
- type: String,
71
- default: '没有更多数据'
72
- },
73
- loading: {
74
- type: Boolean,
75
- default: false
76
- },
77
- rowKey: {
78
- type: String,
79
- default: ''
80
- }
81
- },
82
- data() {
83
- return {
84
- noData: true,
85
- minWidth: 0,
86
- multiTableHeads: []
87
- }
88
- },
89
- watch: {
90
- loading(val) {},
91
- data(newVal) {
92
- let theadChildren = this.theadChildren
93
- let rowspan = 1
94
- if (this.theadChildren) {
95
- rowspan = this.theadChildren.rowspan
96
- }
97
-
98
- // this.trChildren.length - rowspan
99
- this.noData = false
100
- // this.noData = newVal.length === 0
101
- }
102
- },
103
- created() {
104
- // 定义tr的实例数组
105
- this.trChildren = []
106
- this.thChildren = []
107
- this.theadChildren = null
108
- this.backData = []
109
- this.backIndexData = []
110
- },
111
-
112
- methods: {
113
- isNodata() {
114
- let theadChildren = this.theadChildren
115
- let rowspan = 1
116
- if (this.theadChildren) {
117
- rowspan = this.theadChildren.rowspan
118
- }
119
- this.noData = this.trChildren.length - rowspan <= 0
120
- },
121
- /**
122
- * 选中所有
123
- */
124
- selectionAll() {
125
- let startIndex = 1
126
- let theadChildren = this.theadChildren
127
- if (!this.theadChildren) {
128
- theadChildren = this.trChildren[0]
129
- } else {
130
- startIndex = theadChildren.rowspan - 1
131
- }
132
- let isHaveData = this.data && this.data.length.length > 0
133
- theadChildren.checked = true
134
- theadChildren.indeterminate = false
135
- this.trChildren.forEach((item, index) => {
136
- if (!item.disabled) {
137
- item.checked = true
138
- if (isHaveData && item.keyValue) {
139
- const row = this.data.find(v => v[this.rowKey] === item.keyValue)
140
- if (!this.backData.find(v => v[this.rowKey] === row[this.rowKey])) {
141
- this.backData.push(row)
142
- }
143
- }
144
- if (index > (startIndex - 1) && this.backIndexData.indexOf(index - startIndex) === -1) {
145
- this.backIndexData.push(index - startIndex)
146
- }
147
- }
148
- })
149
- // this.backData = JSON.parse(JSON.stringify(this.data))
150
- this.$emit('selection-change', {
151
- detail: {
152
- value: this.backData,
153
- index: this.backIndexData
154
- }
155
- })
156
- },
157
- /**
158
- * 用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中)
159
- */
160
- toggleRowSelection(row, selected) {
161
- // if (!this.theadChildren) return
162
- row = [].concat(row)
163
-
164
- this.trChildren.forEach((item, index) => {
165
- // if (item.keyValue) {
166
-
167
- const select = row.findIndex(v => {
168
- //
169
- if (typeof v === 'number') {
170
- return v === index - 1
171
- } else {
172
- return v[this.rowKey] === item.keyValue
173
- }
174
- })
175
- let ischeck = item.checked
176
- if (select !== -1) {
177
- if (typeof selected === 'boolean') {
178
- item.checked = selected
179
- } else {
180
- item.checked = !item.checked
181
- }
182
- if (ischeck !== item.checked) {
183
- this.check(item.rowData || item, item.checked, item.rowData ? item.keyValue : null, true)
184
- }
185
- }
186
- // }
187
- })
188
- this.$emit('selection-change', {
189
- detail: {
190
- value: this.backData,
191
- index: this.backIndexData
192
- }
193
- })
194
- },
195
-
196
- /**
197
- * 用于多选表格,清空用户的选择
198
- */
199
- clearSelection() {
200
- let theadChildren = this.theadChildren
201
- if (!this.theadChildren) {
202
- theadChildren = this.trChildren[0]
203
- }
204
- // if (!this.theadChildren) return
205
- theadChildren.checked = false
206
- theadChildren.indeterminate = false
207
- this.trChildren.forEach(item => {
208
- // if (item.keyValue) {
209
- item.checked = false
210
- // }
211
- })
212
- this.backData = []
213
- this.backIndexData = []
214
- this.$emit('selection-change', {
215
- detail: {
216
- value: [],
217
- index: []
218
- }
219
- })
220
- },
221
- /**
222
- * 用于多选表格,切换所有行的选中状态
223
- */
224
- toggleAllSelection() {
225
- let list = []
226
- let startIndex = 1
227
- let theadChildren = this.theadChildren
228
- if (!this.theadChildren) {
229
- theadChildren = this.trChildren[0]
230
- } else {
231
- startIndex = theadChildren.rowspan - 1
232
- }
233
- this.trChildren.forEach((item, index) => {
234
- if (!item.disabled) {
235
- if (index > (startIndex - 1)) {
236
- list.push(index - startIndex)
237
- }
238
- }
239
- })
240
- this.toggleRowSelection(list)
241
- },
242
-
243
- /**
244
- * 选中\取消选中
245
- * @param {Object} child
246
- * @param {Object} check
247
- * @param {Object} rowValue
248
- */
249
- check(child, check, keyValue, emit) {
250
- let theadChildren = this.theadChildren
251
- if (!this.theadChildren) {
252
- theadChildren = this.trChildren[0]
253
- }
254
-
255
-
256
-
257
- let childDomIndex = this.trChildren.findIndex((item, index) => child === item)
258
- if (childDomIndex < 0) {
259
- childDomIndex = this.data.findIndex(v => v[this.rowKey] === keyValue) + 1
260
- }
261
- const dataLen = this.trChildren.filter(v => !v.disabled && v.keyValue).length
262
- if (childDomIndex === 0) {
263
- check ? this.selectionAll() : this.clearSelection()
264
- return
265
- }
266
-
267
- if (check) {
268
- if (keyValue) {
269
- this.backData.push(child)
270
- }
271
- this.backIndexData.push(childDomIndex - 1)
272
- } else {
273
- const index = this.backData.findIndex(v => v[this.rowKey] === keyValue)
274
- const idx = this.backIndexData.findIndex(item => item === childDomIndex - 1)
275
- if (keyValue) {
276
- this.backData.splice(index, 1)
277
- }
278
- this.backIndexData.splice(idx, 1)
279
- }
280
-
281
- const domCheckAll = this.trChildren.find((item, index) => index > 0 && !item.checked && !item.disabled)
282
- if (!domCheckAll) {
283
- theadChildren.indeterminate = false
284
- theadChildren.checked = true
285
- } else {
286
- theadChildren.indeterminate = true
287
- theadChildren.checked = false
288
- }
289
-
290
- if (this.backIndexData.length === 0) {
291
- theadChildren.indeterminate = false
292
- }
293
-
294
- if (!emit) {
295
- this.$emit('selection-change', {
296
- detail: {
297
- value: this.backData,
298
- index: this.backIndexData
299
- }
300
- })
301
- }
302
- }
303
- }
304
- }
305
- </script>
306
-
307
- <style scoped>
308
- @charset "UTF-8";
309
-
310
- .uni-table-scroll {
311
- width: 100%;
312
- /* #ifndef APP-NVUE */
313
- overflow-x: auto;
314
- /* #endif */
315
- }
316
-
317
- .uni-table {
318
- position: relative;
319
- width: 100%;
320
- border-radius: 5px;
321
- background-color: #fff;
322
- /* #ifndef APP-NVUE */
323
- box-sizing: border-box;
324
- display: table;
325
- overflow-x: auto;
326
- /* #endif */
327
- }
328
-
329
- .uni-table ::v-deep .uni-table-tr:nth-child(n+2):hover {
330
- background-color: #f5f7fa;
331
- }
332
-
333
- .uni-table ::v-deep .uni-table-thead .uni-table-tr:hover {
334
- background-color: #fafafa;
335
- }
336
-
337
- .table--border {
338
- border: 1px #ebeef5 solid;
339
- border-right: none;
340
- }
341
-
342
- .border-none {
343
- /* #ifndef APP-NVUE */
344
- border-bottom: none;
345
- /* #endif */
346
- }
347
-
348
- .table--stripe {
349
- /* #ifndef APP-NVUE */
350
- /* #endif */
351
- }
352
-
353
- .table--stripe ::v-deep .uni-table-tr:nth-child(2n+3) {
354
- background-color: #fafafa;
355
- }
356
-
357
- /* 表格加载、无数据样式 */
358
- .uni-table-loading {
359
- position: relative;
360
- /* #ifndef APP-NVUE */
361
- display: table-row;
362
- /* #endif */
363
- height: 50px;
364
- line-height: 50px;
365
- overflow: hidden;
366
- box-sizing: border-box;
367
- }
368
-
369
- .empty-border {
370
- border-right: 1px #ebeef5 solid;
371
- }
372
-
373
- .uni-table-text {
374
- position: absolute;
375
- right: 0;
376
- left: 0;
377
- text-align: center;
378
- font-size: 14px;
379
- color: #999;
380
- }
381
-
382
- .uni-table-mask {
383
- position: absolute;
384
- top: 0;
385
- bottom: 0;
386
- left: 0;
387
- right: 0;
388
- background-color: rgba(255, 255, 255, 0.8);
389
- z-index: 99;
390
- /* #ifndef APP-NVUE */
391
- display: flex;
392
- margin: auto;
393
- transition: all 0.5s;
394
- /* #endif */
395
- justify-content: center;
396
- align-items: center;
397
- }
398
-
399
- .uni-table--loader {
400
- width: 30px;
401
- height: 30px;
402
- border: 2px solid #aaa;
403
- border-radius: 50%;
404
- /* #ifndef APP-NVUE */
405
- animation: 2s uni-table--loader linear infinite;
406
- /* #endif */
407
- position: relative;
408
- }
409
-
410
- @keyframes uni-table--loader {
411
- 0% {
412
- transform: rotate(360deg);
413
- }
414
-
415
- 10% {
416
- border-left-color: transparent;
417
- }
418
-
419
- 20% {
420
- border-bottom-color: transparent;
421
- }
422
-
423
- 30% {
424
- border-right-color: transparent;
425
- }
426
-
427
- 40% {
428
- border-top-color: transparent;
429
- }
430
-
431
- 50% {
432
- transform: rotate(0deg);
433
- }
434
-
435
- 60% {
436
- border-top-color: transparent;
437
- }
438
-
439
- 70% {
440
- border-left-color: transparent;
441
- }
442
-
443
- 80% {
444
- border-bottom-color: transparent;
445
- }
446
-
447
- 90% {
448
- border-right-color: transparent;
449
- }
450
-
451
- 100% {
452
- transform: rotate(-360deg);
453
- }
454
- }
455
- </style>
@@ -1,283 +0,0 @@
1
- <template>
2
- <text class="uni-tag" v-if="text" :class="classes" :style="customStyle" @click="onClick">
3
- <slot />{{text}}
4
- <slot name="right" />
5
- </text>
6
- </template>
7
-
8
- <script>
9
- /**
10
- * Tag 标签
11
- * @description 用于展示1个或多个文字标签,可点击切换选中、不选中的状态
12
- * @tutorial https://ext.dcloud.net.cn/plugin?id=35
13
- * @property {String} text 标签内容
14
- * @property {String} size = [normal|small] 大小尺寸
15
- * @value normal 正常
16
- * @value small 小尺寸
17
- * @property {String} type = [default|primary|success|warning|error|royal] 颜色类型
18
- * @value default 灰色
19
- * @value primary 蓝色
20
- * @value success 绿色
21
- * @value warning 黄色
22
- * @value error 红色
23
- * @value royal 紫色
24
- * @property {Boolean} disabled = [true|false] 是否为禁用状态
25
- * @property {Boolean} inverted = [true|false] 是否无需背景颜色(空心标签)
26
- * @property {Boolean} circle = [true|false] 是否为圆角
27
- * @event {Function} click 点击 Tag 触发事件
28
- */
29
-
30
- export default {
31
- name: "UniTag",
32
- emits: ['click'],
33
- props: {
34
- type: {
35
- // 标签类型default、primary、success、warning、error、royal
36
- type: String,
37
- default: "default"
38
- },
39
- size: {
40
- // 标签大小 normal, small
41
- type: String,
42
- default: "normal"
43
- },
44
- // 标签内容
45
- text: {
46
- type: String,
47
- default: ""
48
- },
49
- disabled: {
50
- // 是否为禁用状态
51
- type: [Boolean, String],
52
- default: false
53
- },
54
- inverted: {
55
- // 是否为空心
56
- type: [Boolean, String],
57
- default: false
58
- },
59
- circle: {
60
- // 是否为圆角样式
61
- type: [Boolean, String],
62
- default: false
63
- },
64
- mark: {
65
- // 是否为标记样式
66
- type: [Boolean, String],
67
- default: false
68
- },
69
- customStyle: {
70
- type: String,
71
- default: ''
72
- }
73
- },
74
- computed: {
75
- classes() {
76
- const {
77
- type,
78
- disabled,
79
- inverted,
80
- circle,
81
- mark,
82
- size,
83
- isTrue
84
- } = this
85
- const classArr = [
86
- 'uni-tag--' + type,
87
- isTrue(disabled) ? 'uni-tag--disabled' : '',
88
- isTrue(inverted) ? type + '-uni-tag--inverted' : '',
89
- isTrue(circle) ? 'uni-tag--circle' : '',
90
- isTrue(mark) ? 'uni-tag--mark' : '',
91
- 'uni-tag--' + size,
92
- type === 'default' ? 'uni-tag--default' : 'uni-tag-text',
93
- isTrue(inverted) ? 'uni-tag-text--' + type : '',
94
- size === 'small' ? 'uni-tag-text--small' : ''
95
- ]
96
- return classArr.join(' ')
97
- }
98
- },
99
- methods: {
100
- isTrue(value) {
101
- return value === true || value === 'true'
102
- },
103
- onClick() {
104
- if (this.isTrue(this.disabled)) return
105
- this.$emit("click");
106
- }
107
- }
108
- };
109
- </script>
110
-
111
- <style scoped>
112
- .uni-tag {
113
- /* #ifndef APP-NVUE */
114
- display: inline-block;
115
- /* #endif */
116
- /* #ifdef APP-NVUE */
117
- align-self: flex-start;
118
- /* #endif */
119
- padding: 0px 16px;
120
- line-height: 30px;
121
- color: #333;
122
- border-radius: 3px;
123
- background-color: #f8f8f8;
124
- border-width: 1rpx;
125
- border-style: solid;
126
- border-color: #f8f8f8;
127
- /* #ifdef H5 */
128
- cursor: pointer;
129
- /* #endif */
130
- }
131
-
132
- .uni-tag--circle {
133
- border-radius: 15px;
134
- }
135
-
136
- .uni-tag--mark {
137
- border-top-left-radius: 0;
138
- border-bottom-left-radius: 0;
139
- border-top-right-radius: 15px;
140
- border-bottom-right-radius: 15px;
141
- }
142
-
143
- .uni-tag--disabled {
144
- opacity: 0.5;
145
- /* #ifdef H5 */
146
- cursor: not-allowed;
147
- /* #endif */
148
- }
149
-
150
- .uni-tag--small {
151
- height: 20px;
152
- padding: 0px 8px;
153
- line-height: 20px;
154
- font-size: 12px;
155
- }
156
-
157
- .uni-tag--default {
158
- color: #333;
159
- font-size: 14px;
160
- }
161
-
162
- .uni-tag--royal {
163
- color: #333;
164
- font-size: 14px;
165
- }
166
-
167
- .uni-tag-text--small {
168
- font-size: 12px;
169
- }
170
-
171
- .uni-tag-text {
172
- color: #fff;
173
- font-size: 14px;
174
- }
175
-
176
- .uni-tag-text--primary {
177
- color: #007aff;
178
- }
179
-
180
- .uni-tag-text--success {
181
- color: #4cd964;
182
- }
183
-
184
- .uni-tag-text--warning {
185
- color: #f0ad4e;
186
- }
187
-
188
- .uni-tag-text--error {
189
- color: #dd524d;
190
- }
191
-
192
- .uni-tag-text--royal {
193
- color: #4335d6;
194
- }
195
-
196
- .uni-tag--primary {
197
- color: #fff;
198
- background-color: #007aff;
199
- border-width: 1rpx;
200
- border-style: solid;
201
- border-color: #007aff;
202
- }
203
-
204
- .primary-uni-tag--inverted {
205
- color: #007aff;
206
- background-color: #ffffff;
207
- border-width: 1rpx;
208
- border-style: solid;
209
- border-color: #007aff;
210
- }
211
-
212
- .uni-tag--success {
213
- color: #fff;
214
- background-color: #4cd964;
215
- border-width: 1rpx;
216
- border-style: solid;
217
- border-color: #4cd964;
218
- }
219
-
220
- .success-uni-tag--inverted {
221
- color: #4cd964;
222
- background-color: #ffffff;
223
- border-width: 1rpx;
224
- border-style: solid;
225
- border-color: #4cd964;
226
- }
227
-
228
- .uni-tag--warning {
229
- color: #fff;
230
- background-color: #f0ad4e;
231
- border-width: 1rpx;
232
- border-style: solid;
233
- border-color: #f0ad4e;
234
- }
235
-
236
- .warning-uni-tag--inverted {
237
- color: #f0ad4e;
238
- background-color: #ffffff;
239
- border-width: 1rpx;
240
- border-style: solid;
241
- border-color: #f0ad4e;
242
- }
243
-
244
- .uni-tag--error {
245
- color: #fff;
246
- background-color: #dd524d;
247
- border-width: 1rpx;
248
- border-style: solid;
249
- border-color: #dd524d;
250
- }
251
-
252
- .error-uni-tag--inverted {
253
- color: #dd524d;
254
- background-color: #ffffff;
255
- border-width: 1rpx;
256
- border-style: solid;
257
- border-color: #dd524d;
258
- }
259
-
260
- .uni-tag--royal {
261
- color: #fff;
262
- background-color: #4335d6;
263
- border-width: 1rpx;
264
- border-style: solid;
265
- border-color: #4335d6;
266
- }
267
-
268
- .royal-uni-tag--inverted {
269
- color: #4335d6;
270
- background-color: #ffffff;
271
- border-width: 1rpx;
272
- border-style: solid;
273
- border-color: #4335d6;
274
- }
275
-
276
- .uni-tag--inverted {
277
- color: #333;
278
- background-color: #ffffff;
279
- border-width: 1rpx;
280
- border-style: solid;
281
- border-color: #f8f8f8;
282
- }
283
- </style>