@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,514 @@
1
+ <template>
2
+ <view
3
+ class="uni-easyinput"
4
+ :class="{ 'uni-easyinput-error': msg }"
5
+ :style="{ color: inputBorder && msg ? '#dd524d' : styles.color }"
6
+ >
7
+ <view
8
+ class="uni-easyinput__content"
9
+ :class="{
10
+ 'is-input-border': inputBorder,
11
+ 'is-input-error-border': inputBorder && msg,
12
+ 'is-textarea': type === 'textarea',
13
+ 'is-disabled': disabled
14
+ }"
15
+ :style="{
16
+ 'border-color': inputBorder && msg ? '#dd524d' : styles.borderColor,
17
+ 'background-color': disabled ? styles.disableColor : ''
18
+ }"
19
+ >
20
+ <cv-icon2
21
+ v-if="prefixIcon"
22
+ class="content-clear-icon"
23
+ :type="prefixIcon"
24
+ color="#c0c4cc"
25
+ @click="onClickIcon('prefix')"
26
+ ></cv-icon2>
27
+ <textarea
28
+ v-if="type === 'textarea'"
29
+ class="uni-easyinput__content-textarea"
30
+ :class="{ 'input-padding': inputBorder }"
31
+ :name="name"
32
+ :value="val"
33
+ :placeholder="placeholder"
34
+ :placeholderStyle="placeholderStyle"
35
+ :disabled="disabled"
36
+ :maxlength="inputMaxlength"
37
+ :focus="focused"
38
+ :autoHeight="autoHeight"
39
+ @input="onInput"
40
+ @blur="onBlur"
41
+ @focus="onFocus"
42
+ @confirm="onConfirm"
43
+ ></textarea>
44
+ <input
45
+ v-else
46
+ :type="type === 'password' ? 'text' : type"
47
+ class="uni-easyinput__content-input"
48
+ :style="{
49
+ 'padding-right': type === 'password' || clearable || prefixIcon ? '' : '10px',
50
+ 'padding-left': prefixIcon ? '' : '10px'
51
+ }"
52
+ :name="name"
53
+ :value="val"
54
+ :password="!showPassword && type === 'password'"
55
+ :placeholder="placeholder"
56
+ :placeholderStyle="placeholderStyle"
57
+ :disabled="disabled"
58
+ :maxlength="inputMaxlength"
59
+ :focus="focused"
60
+ :confirmType="confirmType"
61
+ @focus="onFocus"
62
+ @blur="onBlur"
63
+ @input="onInput"
64
+ @confirm="onConfirm"
65
+ />
66
+ <template v-if="type === 'password' && passwordIcon">
67
+ <cv-icon2
68
+ v-if="val != ''"
69
+ class="content-clear-icon"
70
+ :class="{ 'is-textarea-icon': type === 'textarea' }"
71
+ :type="showPassword ? 'eye-slash-filled' : 'eye-filled'"
72
+ :size="18"
73
+ color="#c0c4cc"
74
+ @click="onEyes"
75
+ ></cv-icon2>
76
+ </template>
77
+ <template v-else-if="suffixIcon">
78
+ <cv-icon2
79
+ v-if="suffixIcon"
80
+ class="content-clear-icon"
81
+ :type="suffixIcon"
82
+ color="#c0c4cc"
83
+ @click="onClickIcon('suffix')"
84
+ ></cv-icon2>
85
+ </template>
86
+ <template v-else>
87
+ <cv-icon2
88
+ class="content-clear-icon"
89
+ :class="{ 'is-textarea-icon': type === 'textarea' }"
90
+ type="clear"
91
+ :size="clearSize"
92
+ v-if="clearable && val && !disabled"
93
+ color="#c0c4cc"
94
+ @click="onClear"
95
+ ></cv-icon2>
96
+ </template>
97
+ <slot name="right"></slot>
98
+ </view>
99
+ </view>
100
+ </template>
101
+
102
+ <script>
103
+ // import {
104
+ // debounce,
105
+ // throttle
106
+ // } from './common.js'
107
+ /**
108
+ * Easyinput 输入框
109
+ * @description 此组件可以实现表单的输入与校验,包括 "text" 和 "textarea" 类型。
110
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=3455
111
+ * @property {String} value 输入内容
112
+ * @property {String } type 输入框的类型(默认text) password/text/textarea/..
113
+ * @value text 文本输入键盘
114
+ * @value textarea 多行文本输入键盘
115
+ * @value password 密码输入键盘
116
+ * @value number 数字输入键盘,注意iOS上app-vue弹出的数字键盘并非9宫格方式
117
+ * @value idcard 身份证输入键盘,信、支付宝、百度、QQ小程序
118
+ * @value digit 带小数点的数字键盘 ,App的nvue页面、微信、支付宝、百度、头条、QQ小程序支持
119
+ * @property {Boolean} clearable 是否显示右侧清空内容的图标控件,点击可清空输入框内容(默认true)
120
+ * @property {Boolean} autoHeight 是否自动增高输入区域,type为textarea时有效(默认true)
121
+ * @property {String } placeholder 输入框的提示文字
122
+ * @property {String } placeholderStyle placeholder的样式(内联样式,字符串),如"color: #ddd"
123
+ * @property {Boolean} focus 是否自动获得焦点(默认false)
124
+ * @property {Boolean} disabled 是否禁用(默认false)
125
+ * @property {Number } maxlength 最大输入长度,设置为 -1 的时候不限制最大长度(默认140)
126
+ * @property {String } confirmType 设置键盘右下角按钮的文字,仅在type="text"时生效(默认done)
127
+ * @property {Number } clearSize 清除图标的大小,单位px(默认15)
128
+ * @property {String} prefixIcon 输入框头部图标
129
+ * @property {String} suffixIcon 输入框尾部图标
130
+ * @property {Boolean} trim 是否自动去除两端的空格
131
+ * @value both 去除两端空格
132
+ * @value left 去除左侧空格
133
+ * @value right 去除右侧空格
134
+ * @value start 去除左侧空格
135
+ * @value end 去除右侧空格
136
+ * @value all 去除全部空格
137
+ * @value none 不去除空格
138
+ * @property {Boolean} inputBorder 是否显示input输入框的边框(默认true)
139
+ * @property {Boolean} passwordIcon type=password时是否显示小眼睛图标
140
+ * @property {Object} styles 自定义颜色
141
+ * @event {Function} input 输入框内容发生变化时触发
142
+ * @event {Function} focus 输入框获得焦点时触发
143
+ * @event {Function} blur 输入框失去焦点时触发
144
+ * @event {Function} confirm 点击完成按钮时触发
145
+ * @event {Function} iconClick 点击图标时触发
146
+ * @example <uni-easyinput v-model="mobile"></uni-easyinput>
147
+ */
148
+
149
+ export default {
150
+ name: 'cv-easyinput',
151
+ emits: ['click', 'iconClick', 'update:modelValue', 'input', 'focus', 'blur', 'confirm'],
152
+ model: {
153
+ prop: 'modelValue',
154
+ event: 'update:modelValue'
155
+ },
156
+ props: {
157
+ name: String,
158
+ value: [Number, String],
159
+ modelValue: [Number, String],
160
+ type: {
161
+ type: String,
162
+ default: 'text'
163
+ },
164
+ clearable: {
165
+ type: Boolean,
166
+ default: true
167
+ },
168
+ autoHeight: {
169
+ type: Boolean,
170
+ default: false
171
+ },
172
+ placeholder: String,
173
+ placeholderStyle: String,
174
+ focus: {
175
+ type: Boolean,
176
+ default: false
177
+ },
178
+ disabled: {
179
+ type: Boolean,
180
+ default: false
181
+ },
182
+ maxlength: {
183
+ type: [Number, String],
184
+ default: 140
185
+ },
186
+ confirmType: {
187
+ type: String,
188
+ default: 'done'
189
+ },
190
+ clearSize: {
191
+ type: [Number, String],
192
+ default: 15
193
+ },
194
+ inputBorder: {
195
+ type: Boolean,
196
+ default: true
197
+ },
198
+ prefixIcon: {
199
+ type: String,
200
+ default: ''
201
+ },
202
+ suffixIcon: {
203
+ type: String,
204
+ default: ''
205
+ },
206
+ trim: {
207
+ type: [Boolean, String],
208
+ default: true
209
+ },
210
+ passwordIcon: {
211
+ type: Boolean,
212
+ default: true
213
+ },
214
+ styles: {
215
+ type: Object,
216
+ default() {
217
+ return {
218
+ color: '#333',
219
+ disableColor: '#eee',
220
+ borderColor: '#e5e5e5'
221
+ };
222
+ }
223
+ },
224
+ errorMessage: {
225
+ type: [String, Boolean],
226
+ default: ''
227
+ }
228
+ },
229
+ data() {
230
+ return {
231
+ focused: false,
232
+ errMsg: '',
233
+ val: '',
234
+ showMsg: '',
235
+ border: false,
236
+ isFirstBorder: false,
237
+ showClearIcon: false,
238
+ showPassword: false
239
+ };
240
+ },
241
+ computed: {
242
+ msg() {
243
+ return this.errorMessage || this.errMsg;
244
+ },
245
+ // 因为uniapp的input组件的maxlength组件必须要数值,这里转为数值,给用户可以传入字符串数值
246
+ inputMaxlength() {
247
+ return Number(this.maxlength);
248
+ }
249
+ },
250
+ watch: {
251
+ value(newVal) {
252
+ if (this.errMsg) this.errMsg = '';
253
+ this.val = newVal;
254
+ if (this.form && this.formItem) {
255
+ this.formItem.setValue(newVal);
256
+ }
257
+ },
258
+ modelValue(newVal) {
259
+ if (this.errMsg) this.errMsg = '';
260
+ this.val = newVal;
261
+ if (this.form && this.formItem) {
262
+ this.formItem.setValue(newVal);
263
+ }
264
+ },
265
+ focus(newVal) {
266
+ this.$nextTick(() => {
267
+ this.focused = this.focus;
268
+ });
269
+ }
270
+ },
271
+ created() {
272
+ if (!this.value) {
273
+ this.val = this.modelValue;
274
+ }
275
+ if (!this.modelValue) {
276
+ this.val = this.value;
277
+ }
278
+ this.form = this.getForm('uniForms');
279
+ this.formItem = this.getForm('uniFormsItem');
280
+ if (this.form && this.formItem) {
281
+ if (this.formItem.name) {
282
+ this.rename = this.formItem.name;
283
+ this.form.inputChildrens.push(this);
284
+ }
285
+ }
286
+ },
287
+ mounted() {
288
+ // this.onInput = throttle(this.input, 500)
289
+ this.$nextTick(() => {
290
+ // setTimeout(()=>{
291
+ // },1000)
292
+ this.focused = this.focus;
293
+ });
294
+ },
295
+ methods: {
296
+ /**
297
+ * 初始化变量值
298
+ */
299
+ init() {},
300
+ onClickIcon(type) {
301
+ this.$emit('iconClick', type);
302
+ },
303
+ /**
304
+ * 获取父元素实例
305
+ */
306
+ getForm(name = 'uniForms') {
307
+ let parent = this.$parent;
308
+ let parentName = parent.$options.name;
309
+ while (parentName !== name) {
310
+ parent = parent.$parent;
311
+ if (!parent) return false;
312
+ parentName = parent.$options.name;
313
+ }
314
+ return parent;
315
+ },
316
+
317
+ onEyes() {
318
+ this.showPassword = !this.showPassword;
319
+ },
320
+ onInput(event) {
321
+ let value = event.detail.value;
322
+ // 判断是否去除空格
323
+ if (this.trim) {
324
+ if (typeof this.trim === 'boolean' && this.trim) {
325
+ value = this.trimStr(value);
326
+ }
327
+ if (typeof this.trim === 'string') {
328
+ value = this.trimStr(value, this.trim);
329
+ }
330
+ }
331
+ if (this.errMsg) this.errMsg = '';
332
+ this.val = value;
333
+ // TODO 兼容 vue2
334
+ this.$emit('input', value);
335
+ // TODO 兼容 vue3
336
+ this.$emit('update:modelValue', value);
337
+ },
338
+
339
+ onFocus(event) {
340
+ // this.focused = true;
341
+ this.$emit('focus', event);
342
+ },
343
+ onBlur(event) {
344
+ let value = event.detail.value;
345
+ // setTimeout(() => {
346
+ // this.focused = false;
347
+ // }, 100);
348
+ this.$emit('blur', event);
349
+ },
350
+ onConfirm(e) {
351
+ this.$emit('confirm', e.detail.value);
352
+ },
353
+ onClear(event) {
354
+ this.val = '';
355
+ // TODO 兼容 vue2
356
+ this.$emit('input', '');
357
+ // TODO 兼容 vue2
358
+ // TODO 兼容 vue3
359
+ this.$emit('update:modelValue', '');
360
+ },
361
+ fieldClick() {
362
+ this.$emit('click');
363
+ },
364
+ trimStr(str, pos = 'both') {
365
+ if (pos === 'both') {
366
+ return str.trim();
367
+ } else if (pos === 'left') {
368
+ return str.trimLeft();
369
+ } else if (pos === 'right') {
370
+ return str.trimRight();
371
+ } else if (pos === 'start') {
372
+ return str.trimStart();
373
+ } else if (pos === 'end') {
374
+ return str.trimEnd();
375
+ } else if (pos === 'all') {
376
+ return str.replace(/\s+/g, '');
377
+ } else if (pos === 'none') {
378
+ return str;
379
+ }
380
+ return str;
381
+ }
382
+ }
383
+ };
384
+ </script>
385
+
386
+ <style scoped>
387
+ .uni-easyinput {
388
+ /* #ifndef APP-NVUE */
389
+ width: 100%;
390
+ /* #endif */
391
+ flex: 1;
392
+ position: relative;
393
+ text-align: left;
394
+ color: #333;
395
+ font-size: 14px;
396
+ }
397
+
398
+ .uni-easyinput__content {
399
+ flex: 1;
400
+ /* #ifndef APP-NVUE */
401
+ width: 100%;
402
+ display: flex;
403
+ box-sizing: border-box;
404
+ min-height: 36px;
405
+ /* #endif */
406
+ flex-direction: row;
407
+ align-items: center;
408
+ }
409
+
410
+ .uni-easyinput__content-input {
411
+ /* #ifndef APP-NVUE */
412
+ width: auto;
413
+ /* #endif */
414
+ position: relative;
415
+ overflow: hidden;
416
+ flex: 1;
417
+ line-height: 1;
418
+ font-size: 14px;
419
+ }
420
+
421
+ .is-textarea {
422
+ align-items: flex-start;
423
+ }
424
+
425
+ .is-textarea-icon {
426
+ margin-top: 5px;
427
+ }
428
+
429
+ .uni-easyinput__content-textarea {
430
+ position: relative;
431
+ overflow: hidden;
432
+ flex: 1;
433
+ line-height: 1.5;
434
+ font-size: 14px;
435
+ padding-top: 6px;
436
+ padding-bottom: 10px;
437
+ height: 80px;
438
+ /* #ifndef APP-NVUE */
439
+ min-height: 80px;
440
+ width: auto;
441
+ /* #endif */
442
+ }
443
+
444
+ .input-padding {
445
+ padding-left: 10px;
446
+ }
447
+
448
+ .content-clear-icon {
449
+ padding: 0 5px;
450
+ }
451
+
452
+ .label-icon {
453
+ margin-right: 5px;
454
+ margin-top: -1px;
455
+ }
456
+
457
+ .is-input-border {
458
+ /* #ifndef APP-NVUE */
459
+ display: flex;
460
+ box-sizing: border-box;
461
+ /* #endif */
462
+ flex-direction: row;
463
+ align-items: center;
464
+ border: 1px solid #e5e5e5;
465
+ border-radius: 4px;
466
+ }
467
+
468
+ .is-required {
469
+ color: #dd524d;
470
+ }
471
+
472
+ .uni-error-message {
473
+ position: absolute;
474
+ bottom: -17px;
475
+ left: 0;
476
+ line-height: 12px;
477
+ color: #dd524d;
478
+ font-size: 12px;
479
+ text-align: left;
480
+ }
481
+
482
+ .uni-error-msg--boeder {
483
+ position: relative;
484
+ bottom: 0;
485
+ line-height: 22px;
486
+ }
487
+
488
+ .is-input-error-border {
489
+ border-color: #dd524d;
490
+ }
491
+
492
+ .uni-easyinput--border {
493
+ margin-bottom: 0;
494
+ padding: 10px 15px;
495
+ border-top: 1px #eee solid;
496
+ }
497
+
498
+ .uni-easyinput-error {
499
+ padding-bottom: 0;
500
+ }
501
+
502
+ .is-first-border {
503
+ /* #ifndef APP-NVUE */
504
+ border: none;
505
+ /* #endif */
506
+ /* #ifdef APP-NVUE */
507
+ border-width: 0;
508
+ /* #endif */
509
+ }
510
+
511
+ .is-disabled {
512
+ background-color: #eee;
513
+ }
514
+ </style>
@@ -64,9 +64,8 @@ export default {
64
64
  }
65
65
  }
66
66
  </script>
67
-
68
67
  <style>
69
- @import url("@/components/u-parse/u-parse.css");
68
+ @import url("@/components/cv-editor-parse/cv-editor-parse.css");
70
69
  </style>
71
70
  ```
72
71
 
@@ -81,7 +80,7 @@ npm install marked
81
80
 
82
81
  ``` js
83
82
  import marked from 'marked'
84
- import uParse from '@/components/u-parse/u-parse.vue'
83
+ import uParse from '@/components/cv-editor-parse/cv-editor-parse.vue'
85
84
 
86
85
  export default {
87
86
  components: {
@@ -1,14 +1,5 @@
1
1
  <template>
2
- <cv-form-item
3
- :tip="tip"
4
- :label="label"
5
- :must="must"
6
- :message="message"
7
- :messageDisplay="messageDisplay"
8
- :labelWidth="localLabelWidth"
9
- layout="col"
10
- :input-value="localVal"
11
- >
2
+ <view>
12
3
  <view class="cv-editor">
13
4
  <view class="toolbar" @tap="format">
14
5
  <view :class="formats.bold ? 'ql-active' : ''" class="iconfont icon-zitijiacu" data-name="bold"></view>
@@ -149,14 +140,12 @@
149
140
  ></editor>
150
141
  </view>
151
142
  <helang-compress ref="helangCompress"></helang-compress>
152
- </cv-form-item>
143
+ </view>
153
144
  </template>
154
145
 
155
146
  <script>
156
- import MixinsCommon from '../mixins/mixins-common.js';
157
147
  import helangCompress from './compressImage';
158
148
  export default {
159
- mixins: [MixinsCommon],
160
149
  components: {
161
150
  helangCompress
162
151
  },
@@ -177,15 +166,6 @@ export default {
177
166
  type: String,
178
167
  default: ''
179
168
  },
180
-
181
- message: {
182
- type: String,
183
- default: ''
184
- },
185
- messageDisplay: {
186
- type: Boolean,
187
- default: false
188
- },
189
169
  placeholder: {
190
170
  type: String,
191
171
  default() {
@@ -218,7 +198,7 @@ export default {
218
198
  this.setContents();
219
199
  }
220
200
  },
221
- created: function () {
201
+ created() {
222
202
  this.localVal = this.value;
223
203
  /* uni.loadFontFace({
224
204
  family: 'Pacifico',
File without changes