@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 +1,22 @@
1
1
  <template>
2
- <cv-form-item
3
- :tip="tip"
4
- :must="must"
5
- :label="label"
6
- :message="message"
7
- :messageDisplay="messageDisplay"
8
- :labelWidth="localLabelWidth"
9
- :layout="localLayout"
10
- :onQClear="onQClear"
11
- :rtip="rtip"
12
- :input-value="localVal"
13
- >
14
- <view class="cv-input-text">
15
- <input
16
- class="cv-input-text-item"
17
- placeholder-class="cv-input-text-item-placeholder"
18
- v-model="localVal"
19
- type="idcard"
20
- :maxlength="maxlength"
21
- :disabled="disabled"
22
- :placeholder="placeholder"
23
- @input="updateInput"
24
- @blur="onBlur"
25
- />
2
+ <view class="cv-input-text">
3
+ <input
4
+ class="cv-input__content"
5
+ placeholder-class="cv-input__placeholder"
6
+ v-model="localVal"
7
+ type="idcard"
8
+ :maxlength="maxlength"
9
+ :disabled="disabled"
10
+ :placeholder="placeholder"
11
+ @input="funcOnInput"
12
+ @blur="onBlur"
13
+ />
14
+ <!-- 输入框右侧信息 -->
15
+ <view class="cv-input__right">
16
+ <!-- 清空 -->
17
+ <view class="cv-input__clear" @click="onEmpty" v-if="clearable == true && localVal != ''">X</view>
26
18
  </view>
27
- </cv-form-item>
19
+ </view>
28
20
  </template>
29
21
 
30
22
  <script>
@@ -39,20 +31,46 @@ export default {
39
31
  }
40
32
  }
41
33
  },
42
- props: {},
34
+ props: {
35
+ placeholder: {
36
+ type: [String],
37
+ default: '请输入身份证'
38
+ }
39
+ },
43
40
  data() {
44
41
  return {};
45
42
  },
46
43
  watch: {},
47
- created: function () {},
44
+ created() {},
48
45
  methods: {}
49
46
  };
50
47
  </script>
51
-
52
48
  <style>
53
- .cv-input-text-item {
49
+ .cv-input__content {
54
50
  height: 35px;
55
51
  line-height: 35px;
56
52
  font-size: 14px;
57
53
  }
54
+ .cv-input__placeholder {
55
+ font-size: 14px;
56
+ }
57
+ .cv-input__right {
58
+ height: 16px;
59
+ position: absolute;
60
+ bottom: 10px;
61
+ right: 0px;
62
+ z-index: 2;
63
+ }
64
+ .cv-input__clear {
65
+ width: 16px;
66
+ height: 16px;
67
+ border-radius: 50%;
68
+ background-color: rgba(0, 0, 0, 0.4);
69
+ font-size: 8px;
70
+ line-height: 16px;
71
+ text-align: center;
72
+ color: #fff;
73
+ float: left;
74
+ margin-left: 10px;
75
+ }
58
76
  </style>
@@ -1,30 +1,26 @@
1
1
  <template>
2
- <cv-form-item
3
- :tip="tip"
4
- :must="must"
5
- :label="label"
6
- :message="message"
7
- :messageDisplay="messageDisplay"
8
- :labelWidth="localLabelWidth"
9
- :layout="localLayout"
10
- :onQClear="onQClear"
11
- :rtip="rtip"
12
- :input-value="localVal"
13
- >
14
- <view class="cv-input-text">
15
- <input
16
- class="cv-input-text-item"
17
- placeholder-class="cv-input-text-item-placeholder"
18
- v-model="localVal"
19
- type="number"
20
- :maxlength="maxlength"
21
- :disabled="disabled"
22
- :placeholder="placeholder"
23
- @input="updateInput"
24
- @blur="onBlur"
25
- />
2
+ <view class="cv-input-text">
3
+ <input
4
+ class="cv-input__content"
5
+ placeholder-class="cv-input__placeholder"
6
+ v-model="localVal"
7
+ type="number"
8
+ :maxlength="maxlength"
9
+ :disabled="disabled"
10
+ :placeholder="placeholder"
11
+ @input="funcOnInput"
12
+ @blur="onBlur"
13
+ />
14
+ <!-- 输入框右侧信息 -->
15
+ <view class="cv-input__right">
16
+ <!-- 清空 -->
17
+ <view class="cv-input__clear" @click="onEmpty" v-if="clearable == true && localVal != ''">X</view>
18
+ <!-- 追加-->
19
+ <view class="cv-input__append" v-if="$slots['append']">
20
+ <slot name="append"></slot>
21
+ </view>
26
22
  </view>
27
- </cv-form-item>
23
+ </view>
28
24
  </template>
29
25
 
30
26
  <script>
@@ -39,7 +35,12 @@ export default {
39
35
  }
40
36
  }
41
37
  },
42
- props: {},
38
+ props: {
39
+ placeholder: {
40
+ type: [String],
41
+ default: '请输入数字'
42
+ }
43
+ },
43
44
  data() {
44
45
  return {};
45
46
  },
@@ -48,7 +49,7 @@ export default {
48
49
  this.localVal = this._dealValue(newVal);
49
50
  }
50
51
  },
51
- created: function () {
52
+ created() {
52
53
  this.localVal = this._dealValue(this.value);
53
54
  },
54
55
  methods: {
@@ -64,9 +65,40 @@ export default {
64
65
  </script>
65
66
 
66
67
  <style>
67
- .cv-input-text-item {
68
+ .cv-input__content {
68
69
  height: 35px;
69
70
  line-height: 35px;
70
71
  font-size: 14px;
71
72
  }
73
+ .cv-input__placeholder {
74
+ font-size: 14px;
75
+ }
76
+ .cv-input__right {
77
+ height: 16px;
78
+ position: absolute;
79
+ bottom: 10px;
80
+ right: 0px;
81
+ z-index: 2;
82
+ }
83
+ .cv-input__clear {
84
+ width: 16px;
85
+ height: 16px;
86
+ border-radius: 50%;
87
+ background-color: rgba(0, 0, 0, 0.4);
88
+ font-size: 8px;
89
+ line-height: 16px;
90
+ text-align: center;
91
+ color: #fff;
92
+ float: left;
93
+ margin-left: 10px;
94
+ }
95
+ .cv-input__append {
96
+ color: rgba(0, 0, 0, 0.4);
97
+ width: 25px;
98
+ text-align: center;
99
+ overflow: hidden;
100
+ height: 16px;
101
+ font-size: 12px;
102
+ line-height: 16px;
103
+ }
72
104
  </style>
@@ -1,30 +1,32 @@
1
1
  <template>
2
- <cv-form-item
3
- :tip="tip"
4
- :must="must"
5
- :label="label"
6
- :message="message"
7
- :messageDisplay="messageDisplay"
8
- :labelWidth="localLabelWidth"
9
- :layout="localLayout"
10
- :onQClear="onQClear"
11
- :input-value="localVal"
12
- >
13
- <view class="cv-input-text">
14
- <input
15
- class="cv-input-text-item"
16
- placeholder-class="cv-input-text-item-placeholder"
17
- v-model="localVal"
18
- type="text"
19
- :maxlength="maxlength"
20
- :disabled="disabled"
21
- password
22
- :placeholder="placeholder"
23
- @input="updateInput"
24
- @blur="onBlur"
25
- />
2
+ <view class="cv-input-password">
3
+ <input
4
+ class="cv-input__content"
5
+ placeholder-class="cv-input__placeholder"
6
+ v-model="localVal"
7
+ type="text"
8
+ :maxlength="maxlength"
9
+ :disabled="disabled"
10
+ :password="!showPassword"
11
+ :placeholder="placeholder"
12
+ @input="funcOnInput"
13
+ @blur="onBlur"
14
+ />
15
+ <!-- 输入框右侧信息 -->
16
+ <view class="cv-input__right">
17
+ <!-- 清空 -->
18
+ <view class="cv-input__clear" @click="onEmpty" v-if="clearable == true && localVal != ''">X</view>
19
+ <!-- 眼睛-->
20
+ <cv-icon2
21
+ class="cv-input__eyes"
22
+ v-if="localVal != '' && passwordIcon"
23
+ :type="showPassword ? 'eye-slash-filled' : 'eye-filled'"
24
+ :size="18"
25
+ color="rgba(0, 0, 0, 0.4)"
26
+ @click="onEyes"
27
+ ></cv-icon2>
26
28
  </view>
27
- </cv-form-item>
29
+ </view>
28
30
  </template>
29
31
 
30
32
  <script>
@@ -39,19 +41,67 @@ export default {
39
41
  }
40
42
  }
41
43
  },
42
- props: {},
44
+ props: {
45
+ placeholder: {
46
+ type: [String],
47
+ default: '请输入密码'
48
+ },
49
+ passwordIcon: {
50
+ type: Boolean,
51
+ default: true
52
+ }
53
+ },
43
54
  watch: {},
44
55
  data() {
45
- return {};
56
+ return {
57
+ showPassword: false
58
+ };
46
59
  },
47
- created: function () {},
48
- methods: {}
60
+ created() {},
61
+ methods: {
62
+ onEyes() {
63
+ this.showPassword = !this.showPassword;
64
+ }
65
+ }
49
66
  };
50
67
  </script>
51
68
  <style>
52
- .cv-input-text-item {
69
+ .cv-input__content {
53
70
  height: 35px;
54
71
  line-height: 35px;
55
72
  font-size: 14px;
56
73
  }
74
+
75
+ .cv-input__placeholder {
76
+ font-size: 14px;
77
+ }
78
+ .cv-input__right {
79
+ height: 16px;
80
+ position: absolute;
81
+ bottom: 10px;
82
+ right: 0px;
83
+ z-index: 2;
84
+ }
85
+ .cv-input__clear {
86
+ width: 16px;
87
+ height: 16px;
88
+ border-radius: 50%;
89
+ background-color: rgba(0, 0, 0, 0.4);
90
+ font-size: 8px;
91
+ line-height: 16px;
92
+ text-align: center;
93
+ color: #fff;
94
+ float: left;
95
+ margin-left: 10px;
96
+ }
97
+ .cv-input__eyes {
98
+ color: rgba(0, 0, 0, 0.4);
99
+ width: 25px;
100
+ text-align: center;
101
+ overflow: hidden;
102
+ height: 16px;
103
+ font-size: 12px;
104
+ line-height: 16px;
105
+ padding: 0 5px;
106
+ }
57
107
  </style>
@@ -1,31 +1,27 @@
1
1
  <template>
2
- <cv-form-item
3
- :tip="tip"
4
- :label="label"
5
- :message="message"
6
- :must="must"
7
- :messageDisplay="messageDisplay"
8
- :labelWidth="localLabelWidth"
9
- :layout="localLayout"
10
- :onQClear="onQClear"
11
- :rtip="rtip"
12
- :inputValue="localVal"
13
- >
14
- <view class="cv-input-text" ref="onEmpty">
15
- <input
16
- class="cv-input-text-item"
17
- :style="localItemStyle"
18
- placeholder-class="cv-input-text-item-placeholder"
19
- v-model="localVal"
20
- type="text"
21
- :placeholder="placeholder"
22
- :maxlength="maxlength"
23
- :disabled="disabled"
24
- @input="updateInput"
25
- @blur="onBlur"
26
- />
2
+ <view class="cv-input-text">
3
+ <input
4
+ class="cv-input__content"
5
+ :style="localStyle"
6
+ placeholder-class="cv-input__placeholder"
7
+ v-model="localVal"
8
+ type="text"
9
+ :placeholder="placeholder"
10
+ :maxlength="maxlength"
11
+ :disabled="disabled"
12
+ @input="funcOnInput"
13
+ @blur="onBlur"
14
+ />
15
+ <!-- 输入框右侧信息 -->
16
+ <view class="cv-input__right">
17
+ <!-- 清空 -->
18
+ <view class="cv-input__clear" @click="onEmpty" v-if="clearable == true && localVal != ''">X</view>
19
+ <!-- 追加-->
20
+ <view class="cv-input__append" v-if="$slots['append']">
21
+ <slot name="append"></slot>
22
+ </view>
27
23
  </view>
28
- </cv-form-item>
24
+ </view>
29
25
  </template>
30
26
 
31
27
  <script>
@@ -37,31 +33,53 @@ export default {
37
33
  addGlobalClass: true
38
34
  },
39
35
  props: {
40
- rtip: {
41
- type: String,
42
- default: ''
36
+ placeholder: {
37
+ type: [String],
38
+ default: '请输入文本'
43
39
  }
44
40
  },
45
41
  data() {
46
42
  return {};
47
43
  },
48
- created: function () {},
44
+ created() {},
49
45
  methods: {}
50
46
  };
51
47
  </script>
52
48
  <style>
53
- .cv-input-text-item {
49
+ .cv-input__content {
54
50
  height: 35px;
55
51
  line-height: 35px;
56
52
  font-size: 14px;
57
53
  }
58
- .cv-input-text-rtip {
59
- color: #999;
60
- width: 50rpx;
61
- padding: 10rpx 0rpx 10rpx 0;
54
+ .cv-input__placeholder {
55
+ font-size: 14px;
56
+ }
57
+ .cv-input__right {
58
+ height: 16px;
62
59
  position: absolute;
63
- right: 0;
64
- top: -7px;
60
+ bottom: 10px;
61
+ right: 0px;
62
+ z-index: 2;
63
+ }
64
+ .cv-input__clear {
65
+ width: 16px;
66
+ height: 16px;
67
+ border-radius: 50%;
68
+ background-color: rgba(0, 0, 0, 0.4);
69
+ font-size: 8px;
70
+ line-height: 16px;
71
+ text-align: center;
72
+ color: #fff;
73
+ float: left;
74
+ margin-left: 10px;
75
+ }
76
+ .cv-input__append {
77
+ color: rgba(0, 0, 0, 0.4);
78
+ width: 25px;
79
+ text-align: center;
65
80
  overflow: hidden;
81
+ height: 16px;
82
+ font-size: 12px;
83
+ line-height: 16px;
66
84
  }
67
85
  </style>
@@ -0,0 +1,130 @@
1
+ <template>
2
+ <a
3
+ v-if="isShowA"
4
+ class="uni-link"
5
+ :href="href"
6
+ :class="{ 'uni-link--withline': showUnderLine === true || showUnderLine === 'true' }"
7
+ :style="{ color, fontSize: fontSize + 'px' }"
8
+ :download="download"
9
+ >
10
+ <slot>{{ text }}</slot>
11
+ </a>
12
+ <text
13
+ v-else
14
+ class="uni-link"
15
+ :class="{ 'uni-link--withline': showUnderLine === true || showUnderLine === 'true' }"
16
+ :style="{ color, fontSize: fontSize + 'px' }"
17
+ @click="openURL"
18
+ >
19
+ <slot>{{ text }}</slot>
20
+ </text>
21
+ </template>
22
+
23
+ <script>
24
+ /**
25
+ * Link 外部网页超链接组件
26
+ * @description uni-link是一个外部网页超链接组件,在小程序内复制url,在app内打开外部浏览器,在h5端打开新网页
27
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=1182
28
+ * @property {String} href 点击后打开的外部网页url
29
+ * @property {String} text 显示的文字
30
+ * @property {String} downlaod H5平台下载文件名
31
+ * @property {Boolean} showUnderLine 是否显示下划线
32
+ * @property {String} copyTips 在小程序端复制链接时显示的提示语
33
+ * @property {String} color 链接文字颜色
34
+ * @property {String} fontSize 链接文字大小
35
+ * @example * <uni-link href="https://ext.dcloud.net.cn" text="https://ext.dcloud.net.cn"></uni-link>
36
+ */
37
+ export default {
38
+ name: 'cvLink2',
39
+ props: {
40
+ href: {
41
+ type: String,
42
+ default: ''
43
+ },
44
+ text: {
45
+ type: String,
46
+ default: ''
47
+ },
48
+ download: {
49
+ type: String,
50
+ default: ''
51
+ },
52
+ showUnderLine: {
53
+ type: [Boolean, String],
54
+ default: true
55
+ },
56
+ copyTips: {
57
+ type: String,
58
+ default: '已自动复制网址,请在手机浏览器里粘贴该网址'
59
+ },
60
+ color: {
61
+ type: String,
62
+ default: '#999999'
63
+ },
64
+ fontSize: {
65
+ type: [Number, String],
66
+ default: 14
67
+ }
68
+ },
69
+ computed: {
70
+ isShowA() {
71
+ // #ifdef H5
72
+ this._isH5 = true;
73
+ // #endif
74
+ if ((this.isMail() || this.isTel()) && this._isH5 === true) {
75
+ return true;
76
+ }
77
+ return false;
78
+ }
79
+ },
80
+ created() {
81
+ this._isH5 = null;
82
+ },
83
+ methods: {
84
+ isMail() {
85
+ return this.href.startsWith('mailto:');
86
+ },
87
+ isTel() {
88
+ return this.href.startsWith('tel:');
89
+ },
90
+ openURL() {
91
+ // #ifdef APP-PLUS
92
+ if (this.isTel()) {
93
+ this.makePhoneCall(this.href.replace('tel:', ''));
94
+ } else {
95
+ plus.runtime.openURL(this.href);
96
+ }
97
+ // #endif
98
+ // #ifdef H5
99
+ window.open(this.href);
100
+ // #endif
101
+ // #ifdef MP
102
+ uni.setClipboardData({
103
+ data: this.href
104
+ });
105
+ uni.showModal({
106
+ content: this.copyTips,
107
+ showCancel: false
108
+ });
109
+ // #endif
110
+ },
111
+ makePhoneCall(phoneNumber) {
112
+ uni.makePhoneCall({
113
+ phoneNumber
114
+ });
115
+ }
116
+ }
117
+ };
118
+ </script>
119
+
120
+ <style scoped>
121
+ /* #ifndef APP-NVUE */
122
+ .uni-link {
123
+ cursor: pointer;
124
+ }
125
+
126
+ /* #endif */
127
+ .uni-link--withline {
128
+ text-decoration: underline;
129
+ }
130
+ </style>
@@ -0,0 +1,107 @@
1
+ <template>
2
+ <!-- #ifndef APP-NVUE -->
3
+ <view class="uni-list uni-border-top-bottom">
4
+ <view v-if="border" class="uni-list--border-top"></view>
5
+ <slot />
6
+ <view v-if="border" class="uni-list--border-bottom"></view>
7
+ </view>
8
+ <!-- #endif -->
9
+ <!-- #ifdef APP-NVUE -->
10
+ <list class="uni-list" :class="{ 'uni-list--border': border }" :enableBackToTop="enableBackToTop" loadmoreoffset="15">
11
+ <slot />
12
+ </list>
13
+ <!-- #endif -->
14
+ </template>
15
+
16
+ <script>
17
+ /**
18
+ * List 列表
19
+ * @description 列表组件
20
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=24
21
+ * @property {String} border = [true|false] 标题
22
+ */
23
+ export default {
24
+ name: 'cvList',
25
+ 'mp-weixin': {
26
+ options: {
27
+ multipleSlots: false
28
+ }
29
+ },
30
+ props: {
31
+ enableBackToTop: {
32
+ type: [Boolean, String],
33
+ default: false
34
+ },
35
+ scrollY: {
36
+ type: [Boolean, String],
37
+ default: false
38
+ },
39
+ border: {
40
+ type: Boolean,
41
+ default: true
42
+ }
43
+ },
44
+ // provide() {
45
+ // return {
46
+ // list: this
47
+ // };
48
+ // },
49
+ created() {
50
+ this.firstChildAppend = false;
51
+ },
52
+ methods: {
53
+ loadMore(e) {
54
+ this.$emit('scrolltolower');
55
+ }
56
+ }
57
+ };
58
+ </script>
59
+ <style scoped>
60
+ .uni-list {
61
+ /* #ifndef APP-NVUE */
62
+ display: flex;
63
+ /* #endif */
64
+ background-color: #ffffff;
65
+ position: relative;
66
+ flex-direction: column;
67
+ }
68
+
69
+ .uni-list--border {
70
+ position: relative;
71
+ /* #ifdef APP-NVUE */
72
+ border-top-color: #e5e5e5;
73
+ border-top-style: solid;
74
+ border-top-width: 0.5px;
75
+ border-bottom-color: #e5e5e5;
76
+ border-bottom-style: solid;
77
+ border-bottom-width: 0.5px;
78
+ /* #endif */
79
+ z-index: -1;
80
+ }
81
+
82
+ /* #ifndef APP-NVUE */
83
+ .uni-list--border-top {
84
+ position: absolute;
85
+ top: 0;
86
+ right: 0;
87
+ left: 0;
88
+ height: 1px;
89
+ -webkit-transform: scaleY(0.5);
90
+ transform: scaleY(0.5);
91
+ background-color: #e5e5e5;
92
+ z-index: 1;
93
+ }
94
+
95
+ .uni-list--border-bottom {
96
+ position: absolute;
97
+ bottom: 0;
98
+ right: 0;
99
+ left: 0;
100
+ height: 1px;
101
+ -webkit-transform: scaleY(0.5);
102
+ transform: scaleY(0.5);
103
+ background-color: #e5e5e5;
104
+ }
105
+
106
+ /* #endif */
107
+ </style>