@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,280 @@
1
+ <template>
2
+ <view class="uni-searchbar">
3
+ <view :style="{ borderRadius: radius + 'px', backgroundColor: bgColor }" class="uni-searchbar__box" @click="searchClick">
4
+ <view class="uni-searchbar__box-icon-search">
5
+ <slot name="searchIcon">
6
+ <cv-icon2 color="#999999" size="18" type="search" />
7
+ </slot>
8
+ </view>
9
+ <input
10
+ v-if="show || searchVal"
11
+ :focus="showSync"
12
+ :placeholder="placeholder"
13
+ :maxlength="maxlength"
14
+ class="uni-searchbar__box-search-input"
15
+ confirm-type="search"
16
+ type="text"
17
+ v-model="searchVal"
18
+ @confirm="confirm"
19
+ @blur="blur"
20
+ @focus="emitFocus"
21
+ />
22
+ <text v-else class="uni-searchbar__text-placeholder">{{ placeholder }}</text>
23
+ <view
24
+ v-if="show && (clearButton === 'always' || (clearButton === 'auto' && searchVal !== ''))"
25
+ class="uni-searchbar__box-icon-clear"
26
+ @click="clear"
27
+ >
28
+ <slot name="clearIcon">
29
+ <cv-icon2 color="#c0c4cc" size="15" type="clear" />
30
+ </slot>
31
+ </view>
32
+ </view>
33
+ <text @click="cancel" class="uni-searchbar__cancel" v-if="cancelButton === 'always' || (show && cancelButton === 'auto')">
34
+ {{ cancelText }}
35
+ </text>
36
+ </view>
37
+ </template>
38
+
39
+ <script>
40
+ /**
41
+ * SearchBar 搜索栏
42
+ * @description 评分组件
43
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=866
44
+ * @property {Number} radius 搜索栏圆角
45
+ * @property {Number} maxlength 输入最大长度
46
+ * @property {String} placeholder 搜索栏Placeholder
47
+ * @property {String} clearButton = [always|auto|none] 是否显示清除按钮
48
+ * @value always 一直显示
49
+ * @value auto 输入框不为空时显示
50
+ * @value none 一直不显示
51
+ * @property {String} cancelButton = [always|auto|none] 是否显示取消按钮
52
+ * @value always 一直显示
53
+ * @value auto 输入框不为空时显示
54
+ * @value none 一直不显示
55
+ * @property {String} cancelText 取消按钮的文字
56
+ * @property {String} bgColor 输入框背景颜色
57
+ * @property {Boolean} focus 是否自动聚焦
58
+ * @event {Function} confirm uniSearchBar 的输入框 confirm 事件,返回参数为uniSearchBar的value,e={value:Number}
59
+ * @event {Function} input uniSearchBar 的 value 改变时触发事件,返回参数为uniSearchBar的value,e=value
60
+ * @event {Function} cancel 点击取消按钮时触发事件,返回参数为uniSearchBar的value,e={value:Number}
61
+ * @event {Function} clear 点击清除按钮时触发事件,返回参数为uniSearchBar的value,e={value:Number}
62
+ * @event {Function} blur input失去焦点时触发事件,返回参数为uniSearchBar的value,e={value:Number}
63
+ */
64
+
65
+ export default {
66
+ name: 'cvSearchBar',
67
+ emits: ['input', 'update:modelValue', 'clear', 'cancel', 'confirm', 'blur', 'focus'],
68
+ props: {
69
+ placeholder: {
70
+ type: String,
71
+ default: '请输入搜索内容'
72
+ },
73
+ radius: {
74
+ type: [Number, String],
75
+ default: 5
76
+ },
77
+ clearButton: {
78
+ type: String,
79
+ default: 'auto'
80
+ },
81
+ cancelButton: {
82
+ type: String,
83
+ default: 'auto'
84
+ },
85
+ cancelText: {
86
+ type: String,
87
+ default: '取消'
88
+ },
89
+ bgColor: {
90
+ type: String,
91
+ default: '#F8F8F8'
92
+ },
93
+ maxlength: {
94
+ type: [Number, String],
95
+ default: 100
96
+ },
97
+ value: {
98
+ type: [Number, String],
99
+ default: ''
100
+ },
101
+ modelValue: {
102
+ type: [Number, String],
103
+ default: ''
104
+ },
105
+ focus: {
106
+ type: Boolean,
107
+ default: false
108
+ }
109
+ },
110
+ data() {
111
+ return {
112
+ show: false,
113
+ showSync: false,
114
+ searchVal: ''
115
+ };
116
+ },
117
+ watch: {
118
+ value: {
119
+ immediate: true,
120
+ handler(newVal) {
121
+ this.searchVal = newVal;
122
+ if (newVal) {
123
+ this.show = true;
124
+ }
125
+ }
126
+ },
127
+ modelValue: {
128
+ immediate: true,
129
+ handler(newVal) {
130
+ this.searchVal = newVal;
131
+ if (newVal) {
132
+ this.show = true;
133
+ }
134
+ }
135
+ },
136
+ focus: {
137
+ immediate: true,
138
+ handler(newVal) {
139
+ if (newVal) {
140
+ this.show = true;
141
+ this.$nextTick(() => {
142
+ this.showSync = true;
143
+ });
144
+ }
145
+ }
146
+ },
147
+ searchVal(newVal, oldVal) {
148
+ this.$emit('input', newVal);
149
+ this.$emit('update:modelValue', newVal);
150
+ }
151
+ },
152
+ methods: {
153
+ searchClick() {
154
+ if (this.show) {
155
+ return;
156
+ }
157
+ this.show = true;
158
+ this.$nextTick(() => {
159
+ this.showSync = true;
160
+ });
161
+ },
162
+ clear() {
163
+ this.$emit('clear', {
164
+ value: this.searchVal
165
+ });
166
+ this.searchVal = '';
167
+ },
168
+ cancel() {
169
+ this.$emit('cancel', {
170
+ value: this.searchVal
171
+ });
172
+ this.searchVal = '';
173
+ this.show = false;
174
+ this.showSync = false;
175
+ // #ifndef APP-PLUS
176
+ uni.hideKeyboard();
177
+ // #endif
178
+ // #ifdef APP-PLUS
179
+ plus.key.hideSoftKeybord();
180
+ // #endif
181
+ },
182
+ confirm() {
183
+ // #ifndef APP-PLUS
184
+ uni.hideKeyboard();
185
+ // #endif
186
+ // #ifdef APP-PLUS
187
+ plus.key.hideSoftKeybord();
188
+ // #endif
189
+ this.$emit('confirm', {
190
+ value: this.searchVal
191
+ });
192
+ },
193
+ blur() {
194
+ // #ifndef APP-PLUS
195
+ uni.hideKeyboard();
196
+ // #endif
197
+ // #ifdef APP-PLUS
198
+ plus.key.hideSoftKeybord();
199
+ // #endif
200
+ this.$emit('blur', {
201
+ value: this.searchVal
202
+ });
203
+ },
204
+ emitFocus(e) {
205
+ this.$emit('focus', e.detail);
206
+ }
207
+ }
208
+ };
209
+ </script>
210
+
211
+ <style scoped>
212
+ .uni-searchbar {
213
+ /* #ifndef APP-NVUE */
214
+ display: flex;
215
+ /* #endif */
216
+ flex-direction: row;
217
+ position: relative;
218
+ padding: 8px;
219
+ }
220
+
221
+ .uni-searchbar__box {
222
+ /* #ifndef APP-NVUE */
223
+ display: flex;
224
+ box-sizing: border-box;
225
+ /* #endif */
226
+ overflow: hidden;
227
+ position: relative;
228
+ flex: 1;
229
+ justify-content: center;
230
+ flex-direction: row;
231
+ align-items: center;
232
+ height: 36px;
233
+ padding: 5px 8px 5px 0px;
234
+ border-width: 0.5px;
235
+ border-style: solid;
236
+ border-color: #e5e5e5;
237
+ }
238
+
239
+ .uni-searchbar__box-icon-search {
240
+ /* #ifndef APP-NVUE */
241
+ display: flex;
242
+ /* #endif */
243
+ flex-direction: row;
244
+ padding: 0 8px;
245
+ justify-content: center;
246
+ align-items: center;
247
+ color: #808080;
248
+ }
249
+
250
+ .uni-searchbar__box-search-input {
251
+ flex: 1;
252
+ font-size: 14px;
253
+ color: #333;
254
+ }
255
+
256
+ .uni-searchbar__box-icon-clear {
257
+ align-items: center;
258
+ line-height: 24px;
259
+ padding-left: 8px;
260
+ /* #ifdef H5 */
261
+ cursor: pointer;
262
+ /* #endif */
263
+ }
264
+
265
+ .uni-searchbar__text-placeholder {
266
+ font-size: 14px;
267
+ color: #808080;
268
+ margin-left: 5px;
269
+ }
270
+
271
+ .uni-searchbar__cancel {
272
+ padding-left: 10px;
273
+ line-height: 36px;
274
+ font-size: 14px;
275
+ color: #333;
276
+ /* #ifdef H5 */
277
+ cursor: pointer;
278
+ /* #endif */
279
+ }
280
+ </style>
@@ -69,10 +69,10 @@ export default {
69
69
  skeletonCircleLists: []
70
70
  };
71
71
  },
72
- created: function () {},
73
- mounted: function () {},
72
+ created() {},
73
+ mounted() {},
74
74
  methods: {
75
- attached: function () {
75
+ attached() {
76
76
  //默认的首屏宽高,防止内容闪现
77
77
  const systemInfo = uni.getStorageSync('cache_system_info');
78
78
  (this.systemInfo = {
@@ -81,7 +81,7 @@ export default {
81
81
  }),
82
82
  (this.loading = this.loadingAni.includes(this.loading) ? this.loading : 'spin');
83
83
  },
84
- rectHandle: function () {
84
+ rectHandle() {
85
85
  const that = this;
86
86
  //绘制不带样式的节点
87
87
  uni
@@ -93,7 +93,7 @@ export default {
93
93
  });
94
94
  },
95
95
 
96
- radiusHandle: function () {
96
+ radiusHandle() {
97
97
  const that = this;
98
98
  uni
99
99
  .createSelectorQuery()
@@ -95,7 +95,7 @@ export default {
95
95
  numberMax: 99
96
96
  };
97
97
  },
98
- created: function () {
98
+ created() {
99
99
  this._dealData();
100
100
  },
101
101
  methods: {
@@ -0,0 +1,293 @@
1
+ <template>
2
+ <view class="uni-steps">
3
+ <view :class="[direction === 'column' ? 'uni-steps__column' : 'uni-steps__row']">
4
+ <view :class="[direction === 'column' ? 'uni-steps__column-text-container' : 'uni-steps__row-text-container']">
5
+ <view
6
+ v-for="(item, index) in options"
7
+ :key="index"
8
+ :class="[direction === 'column' ? 'uni-steps__column-text' : 'uni-steps__row-text']"
9
+ >
10
+ <text
11
+ :style="{ color: index <= active ? activeColor : deactiveColor }"
12
+ :class="[direction === 'column' ? 'uni-steps__column-title' : 'uni-steps__row-title']"
13
+ >
14
+ {{ item.title }}
15
+ </text>
16
+ <text
17
+ :style="{ color: index <= active ? activeColor : deactiveColor }"
18
+ :class="[direction === 'column' ? 'uni-steps__column-desc' : 'uni-steps__row-desc']"
19
+ >
20
+ {{ item.desc }}
21
+ </text>
22
+ </view>
23
+ </view>
24
+ <view :class="[direction === 'column' ? 'uni-steps__column-container' : 'uni-steps__row-container']">
25
+ <view
26
+ :class="[direction === 'column' ? 'uni-steps__column-line-item' : 'uni-steps__row-line-item']"
27
+ v-for="(item, index) in options"
28
+ :key="index"
29
+ >
30
+ <view
31
+ :class="[
32
+ direction === 'column' ? 'uni-steps__column-line' : 'uni-steps__row-line',
33
+ direction === 'column' ? 'uni-steps__column-line--before' : 'uni-steps__row-line--before'
34
+ ]"
35
+ :style="{
36
+ backgroundColor: index <= active && index !== 0 ? activeColor : index === 0 ? 'transparent' : deactiveColor
37
+ }"
38
+ ></view>
39
+ <view :class="[direction === 'column' ? 'uni-steps__column-check' : 'uni-steps__row-check']" v-if="index === active">
40
+ <cv-icon2 :color="activeColor" type="checkbox-filled" size="14"></cv-icon2>
41
+ </view>
42
+ <view
43
+ :class="[direction === 'column' ? 'uni-steps__column-circle' : 'uni-steps__row-circle']"
44
+ v-else
45
+ :style="{ backgroundColor: index < active ? activeColor : deactiveColor }"
46
+ ></view>
47
+ <view
48
+ :class="[
49
+ direction === 'column' ? 'uni-steps__column-line' : 'uni-steps__row-line',
50
+ direction === 'column' ? 'uni-steps__column-line--after' : 'uni-steps__row-line--after'
51
+ ]"
52
+ :style="{
53
+ backgroundColor:
54
+ index < active && index !== options.length - 1
55
+ ? activeColor
56
+ : index === options.length - 1
57
+ ? 'transparent'
58
+ : deactiveColor
59
+ }"
60
+ ></view>
61
+ </view>
62
+ </view>
63
+ </view>
64
+ </view>
65
+ </template>
66
+
67
+ <script>
68
+ /**
69
+ * Steps 步骤条
70
+ * @description 评分组件
71
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=34
72
+ * @property {Number} active 当前步骤
73
+ * @property {String} direction = [row|column] 当前步骤
74
+ * @value row 横向
75
+ * @value column 纵向
76
+ * @property {String} activeColor 选中状态的颜色
77
+ * @property {Array} options 数据源,格式为:[{title:'xxx',desc:'xxx'},{title:'xxx',desc:'xxx'}]
78
+ */
79
+
80
+ export default {
81
+ name: 'UniSteps',
82
+ props: {
83
+ direction: {
84
+ // 排列方向 row column
85
+ type: String,
86
+ default: 'row'
87
+ },
88
+ activeColor: {
89
+ // 激活状态颜色
90
+ type: String,
91
+ default: '#1aad19'
92
+ },
93
+ deactiveColor: {
94
+ // 未激活状态颜色
95
+ type: String,
96
+ default: '#999999'
97
+ },
98
+ active: {
99
+ // 当前步骤
100
+ type: Number,
101
+ default: 0
102
+ },
103
+ options: {
104
+ type: Array,
105
+ default() {
106
+ return [];
107
+ }
108
+ } // 数据
109
+ },
110
+ data() {
111
+ return {};
112
+ }
113
+ };
114
+ </script>
115
+
116
+ <style scoped>
117
+ .uni-steps {
118
+ /* #ifndef APP-NVUE */
119
+ display: flex;
120
+ width: 100%;
121
+ /* #endif */
122
+ /* #ifdef APP-NVUE */
123
+ flex: 1;
124
+ /* #endif */
125
+ flex-direction: column;
126
+ }
127
+
128
+ .uni-steps__row {
129
+ /* #ifndef APP-NVUE */
130
+ display: flex;
131
+ /* #endif */
132
+ flex-direction: column;
133
+ }
134
+
135
+ .uni-steps__column {
136
+ /* #ifndef APP-NVUE */
137
+ display: flex;
138
+ /* #endif */
139
+ flex-direction: row-reverse;
140
+ }
141
+
142
+ .uni-steps__row-text-container {
143
+ /* #ifndef APP-NVUE */
144
+ display: flex;
145
+ /* #endif */
146
+ flex-direction: row;
147
+ align-items: flex-end;
148
+ margin-bottom: 8px;
149
+ }
150
+
151
+ .uni-steps__column-text-container {
152
+ /* #ifndef APP-NVUE */
153
+ display: flex;
154
+ /* #endif */
155
+ flex-direction: column;
156
+ flex: 1;
157
+ }
158
+
159
+ .uni-steps__row-text {
160
+ /* #ifndef APP-NVUE */
161
+ display: inline-flex;
162
+ /* #endif */
163
+ flex: 1;
164
+ flex-direction: column;
165
+ }
166
+
167
+ .uni-steps__column-text {
168
+ padding: 6px 0px;
169
+ border-bottom-style: solid;
170
+ border-bottom-width: 1px;
171
+ border-bottom-color: #e5e5e5;
172
+ /* #ifndef APP-NVUE */
173
+ display: flex;
174
+ /* #endif */
175
+ flex-direction: column;
176
+ }
177
+
178
+ .uni-steps__row-title {
179
+ font-size: 14px;
180
+ line-height: 16px;
181
+ text-align: center;
182
+ }
183
+
184
+ .uni-steps__column-title {
185
+ font-size: 14px;
186
+ text-align: left;
187
+ line-height: 18px;
188
+ }
189
+
190
+ .uni-steps__row-desc {
191
+ font-size: 12px;
192
+ line-height: 14px;
193
+ text-align: center;
194
+ }
195
+
196
+ .uni-steps__column-desc {
197
+ font-size: 12px;
198
+ text-align: left;
199
+ line-height: 18px;
200
+ }
201
+
202
+ .uni-steps__row-container {
203
+ /* #ifndef APP-NVUE */
204
+ display: flex;
205
+ /* #endif */
206
+ flex-direction: row;
207
+ }
208
+
209
+ .uni-steps__column-container {
210
+ /* #ifndef APP-NVUE */
211
+ display: inline-flex;
212
+ /* #endif */
213
+ width: 30px;
214
+ flex-direction: column;
215
+ }
216
+
217
+ .uni-steps__row-line-item {
218
+ /* #ifndef APP-NVUE */
219
+ display: inline-flex;
220
+ /* #endif */
221
+ flex-direction: row;
222
+ flex: 1;
223
+ height: 14px;
224
+ line-height: 14px;
225
+ align-items: center;
226
+ justify-content: center;
227
+ }
228
+
229
+ .uni-steps__column-line-item {
230
+ /* #ifndef APP-NVUE */
231
+ display: flex;
232
+ /* #endif */
233
+ flex-direction: column;
234
+ flex: 1;
235
+ align-items: center;
236
+ justify-content: center;
237
+ }
238
+
239
+ .uni-steps__row-line {
240
+ flex: 1;
241
+ height: 1px;
242
+ background-color: #999;
243
+ }
244
+
245
+ .uni-steps__column-line {
246
+ width: 1px;
247
+ background-color: #999;
248
+ }
249
+
250
+ .uni-steps__row-line--after {
251
+ transform: translateX(1px);
252
+ }
253
+
254
+ .uni-steps__column-line--after {
255
+ flex: 1;
256
+ transform: translate(0px, 1px);
257
+ }
258
+
259
+ .uni-steps__row-line--before {
260
+ transform: translateX(-1px);
261
+ }
262
+
263
+ .uni-steps__column-line--before {
264
+ height: 6px;
265
+ transform: translate(0px, -1px);
266
+ }
267
+
268
+ .uni-steps__row-circle {
269
+ width: 5px;
270
+ height: 5px;
271
+ border-radius: 100px;
272
+ background-color: #999;
273
+ margin: 0px 3px;
274
+ }
275
+
276
+ .uni-steps__column-circle {
277
+ width: 5px;
278
+ height: 5px;
279
+ border-radius: 100px;
280
+ background-color: #999;
281
+ margin: 4px 0px 5px 0px;
282
+ }
283
+
284
+ .uni-steps__row-check {
285
+ margin: 0px 6px;
286
+ }
287
+
288
+ .uni-steps__column-check {
289
+ height: 14px;
290
+ line-height: 14px;
291
+ margin: 2px 0px;
292
+ }
293
+ </style>