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

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