@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,215 @@
1
+ <template>
2
+ <view class="cv-form-item" :class="localLayout == 'col' ? 'cv-form-item-col' : 'cv-form-item-row'">
3
+ <text class="cv-form-item-lebel-required" v-if="required == true">*</text>
4
+ <view class="cv-form-item-area">
5
+ <view :class="localLayout == 'col' ? 'cv-form-item-area-col' : 'cv-form-item-area-row'">
6
+ <view
7
+ class="cv-form-item-label"
8
+ :class="localLayout == 'col' ? 'cv-form-item-right-col' : 'cv-form-item-right-row'"
9
+ v-bind:style="labelStyle"
10
+ >
11
+ <view class="cv-form-item-lebel-title">
12
+ <text>{{ label }}</text>
13
+ <text class="cv-form-item-lebel-tip" v-if="localLayout == 'col' && tip != ''">({{ tip }})</text>
14
+ </view>
15
+ </view>
16
+ <view
17
+ class="cv-form-item-right"
18
+ :class="localLayout == 'col' ? 'cv-form-item-right-col' : 'cv-form-item-right-row'"
19
+ v-bind:style="labelRightStyle"
20
+ >
21
+ <view class="cv-form-item-right-item">
22
+ <!-- 插槽 -->
23
+ <slot />
24
+ <!-- 三角形图标 -->
25
+ <view class="cv-form-item-right-item-icon" v-if="isIcon">
26
+ <view class="cv-form-item-right-item-icon-box" :class="iconTop ? 'cv-form-item-right-item-icon-box-top' : ''">
27
+ <view class="cv-form-item-right-item-icon-item"></view>
28
+ </view>
29
+ </view>
30
+ </view>
31
+ <view class="cv-form-item-right-message" v-if="messageDisplay == true">
32
+ <text>{{ message }}</text>
33
+ </view>
34
+ </view>
35
+ </view>
36
+ <view class="cv-form-item-right-tip" v-if="localLayout == 'row' && tip != ''">
37
+ <text>{{ tip }}</text>
38
+ </view>
39
+ </view>
40
+ </view>
41
+ </template>
42
+ <script>
43
+ export default {
44
+ name: 'cvFormItem',
45
+ props: {
46
+ /* label 内容 */
47
+ label: {
48
+ type: String,
49
+ default: ''
50
+ },
51
+ /* label 宽度 */
52
+ labelWidth: {
53
+ type: [String, Number],
54
+ default: 0
55
+ },
56
+ tip: {
57
+ type: String,
58
+ default: ''
59
+ },
60
+ layout: {
61
+ type: String,
62
+ default: ''
63
+ },
64
+ /* 必填标识 */
65
+ required: {
66
+ type: Boolean,
67
+ default: false
68
+ },
69
+ isIcon: {
70
+ type: Boolean,
71
+ default: false
72
+ },
73
+ iconTop: {
74
+ type: Boolean,
75
+ default: false
76
+ },
77
+ message: {
78
+ type: String,
79
+ default: ''
80
+ },
81
+ messageDisplay: {
82
+ type: Boolean,
83
+ default: false
84
+ }
85
+ },
86
+ data() {
87
+ return {
88
+ labelStyle: '',
89
+ localLabelWidth: 60,
90
+ localLayout: 'row'
91
+ };
92
+ },
93
+ created() {
94
+ this._initLocal();
95
+ this.localLayout = this.layout == 'col' ? 'col' : 'row';
96
+ this.labelStyle =
97
+ this.localLayout == 'row' ? (this.labelWidth > 0 ? 'width:' + this.labelWidth + 'px;' : 'display:none;') : '';
98
+ this.labelRightStyle =
99
+ this.localLayout == 'row' && this.labelWidth > 0
100
+ ? 'width:' + 'calc(100% - 8px - 20px - ' + this.labelWidth + 'px);'
101
+ : 'padding-left:0;';
102
+ this.$forceUpdate();
103
+ },
104
+ methods: {
105
+ _initLocal() {
106
+ if (this.cvFormGroup) {
107
+ this.localLabelWidth = this.labelWidth || this.cvFormGroup.$props.labelWidth;
108
+ this.localLayout = this.layout || this.cvFormGroup.$props.layout;
109
+ } else {
110
+ this.localLabelWidth = this.labelWidth || this.localLabelWidth;
111
+ this.localLayout = this.layout || this.localLayout;
112
+ }
113
+ },
114
+ onEmpty(e) {
115
+ this.$parent.onEmpty();
116
+ }
117
+ }
118
+ };
119
+ </script>
120
+
121
+ <style>
122
+ .cv-form-item {
123
+ font-size: 14px;
124
+ padding-left: 15px;
125
+ background-color: #ffffff;
126
+ position: relative;
127
+ }
128
+ .cv-form-item-area {
129
+ padding: 5px 0px;
130
+ border-bottom: solid 1px #eee;
131
+ }
132
+ /* #ifndef MP-WEIXIN */
133
+ .cv-form-item:last-child .cv-form-item-area {
134
+ border: none;
135
+ }
136
+ /* #endif */
137
+ /* #ifdef MP-WEIXIN */
138
+
139
+ /* #endif */
140
+ .cv-form-item-area-row {
141
+ display: flex;
142
+ }
143
+ .cv-form-item-label {
144
+ height: 35px;
145
+ line-height: 35px;
146
+ width: 60px;
147
+ padding-right: 4px;
148
+ overflow: hidden;
149
+ color: #303133;
150
+ padding-left: 4px;
151
+ box-sizing: unset;
152
+ }
153
+ .cv-form-item-right {
154
+ /* width: calc(100% - 60px - 4px - 4px - 20px); */
155
+ width: 100%;
156
+ padding-left: 5px;
157
+ padding-right: 15px;
158
+ box-sizing: unset;
159
+ }
160
+ .cv-form-item-right-item {
161
+ min-height: 35px;
162
+ line-height: 35px;
163
+ position: relative;
164
+ overflow: auto;
165
+ }
166
+ .cv-form-item-right-item-icon {
167
+ position: absolute;
168
+ width: 15px;
169
+ height: 15px;
170
+ top: 10px;
171
+ right: 10px;
172
+ }
173
+ .cv-form-item-right-item-icon-box {
174
+ padding-top: 1px;
175
+ transform: rotate(0deg);
176
+ transition: transform 0.4s;
177
+ }
178
+ .cv-form-item-right-item-icon-box-top {
179
+ transform: rotate(-180deg);
180
+ }
181
+ .cv-form-item-right-item-icon-item {
182
+ width: 0;
183
+ height: 0;
184
+ border-left: 7.5px solid transparent;
185
+ border-right: 7.5px solid transparent;
186
+ border-top: 11px solid #c0c4cc;
187
+ }
188
+ .cv-form-item-right-message {
189
+ font-size: 12px;
190
+ color: #fa3534;
191
+ margin-top: 6px;
192
+ line-height: 12px;
193
+ }
194
+ .cv-form-item-right-col {
195
+ /* padding-left: 0; */
196
+ width: auto;
197
+ }
198
+ .cv-form-item-right-tip {
199
+ font-size: 12px;
200
+ color: rgba(0, 0, 0, 0.4);
201
+ /* margin-top: 5px; */
202
+ line-height: 1.5em;
203
+ padding-right: 15px;
204
+ }
205
+ .cv-form-item-lebel-required {
206
+ color: #fa3534;
207
+ /* margin-right: 5px; */
208
+ position: absolute;
209
+ top: 15px;
210
+ left: 8px;
211
+ }
212
+ .cv-form-item-lebel-tip {
213
+ color: rgba(0, 0, 0, 0.4);
214
+ }
215
+ </style>
@@ -10,7 +10,7 @@ export default {
10
10
  data() {
11
11
  return {};
12
12
  },
13
- created: function () {}
13
+ created() {}
14
14
  };
15
15
  </script>
16
16
 
@@ -1,31 +1,19 @@
1
1
  <template>
2
2
  <view class="cv-geo-local-wrap">
3
- <cv-form-item
4
- :tip="tip"
5
- :label="label"
6
- :message="message"
7
- :must="must"
8
- :messageDisplay="messageDisplay"
9
- :labelWidth="localLabelWidth"
10
- :layout="localLayout"
11
- :onQClear="onQClear"
12
- :input-value="localVal"
13
- >
14
- <view class="cv-geo-local" ref="onEmpty">
15
- <textarea
16
- class="cv-geo-local-item"
17
- v-model="localVal"
18
- :maxlength="maxlength"
19
- :placeholder="placeholder"
20
- placeholder-class="cv-geo-local-placeholder"
21
- @input="updateInput"
22
- auto-height
23
- />
24
- <view @tap="chooseLocation" class="cv-geo-local-button">
25
- <cv-icons type="action-search" size="20" color="#999999" />
26
- </view>
3
+ <view class="cv-geo-local" ref="onEmpty">
4
+ <textarea
5
+ class="cv-geo-local-item"
6
+ v-model="localVal"
7
+ :maxlength="maxlength"
8
+ :placeholder="placeholder"
9
+ placeholder-class="cv-geo-local-placeholder"
10
+ @input="funcOnInput"
11
+ auto-height
12
+ />
13
+ <view @tap="chooseLocation" class="cv-geo-local-button">
14
+ <cv-icons type="action-search" size="20" color="#999999" />
27
15
  </view>
28
- </cv-form-item>
16
+ </view>
29
17
  <view class="cv-geo-local-map" v-if="isShowMap">
30
18
  <map
31
19
  style="width: 100%; height: 342rpx"
@@ -99,7 +87,7 @@ export default {
99
87
  }
100
88
  };
101
89
  },
102
- created: function () {
90
+ created() {
103
91
  this.initLocation();
104
92
  },
105
93
  methods: {
@@ -6,7 +6,7 @@
6
6
  <view class="flex uni-tab__cart-sub-left">
7
7
  <view v-for="(item,index) in options" :key="index" class="flex uni-tab__cart-button-left uni-tab__shop-cart" @click="onClick(index,item)">
8
8
  <view class="uni-tab__icon">
9
- <uni-icons :type="item.icon" size="20" color="#646566"></uni-icons>
9
+ <cv-icon2 :type="item.icon" size="20" color="#646566"></cv-icon2>
10
10
  <!-- <image class="image" :src="item.icon" mode="widthFix" /> -->
11
11
  </view>
12
12
  <text class="uni-tab__text">{{ item.text }}</text>
@@ -0,0 +1,148 @@
1
+ <template>
2
+ <view class="uni-grid-wrap">
3
+ <view
4
+ :id="elId"
5
+ ref="uni-grid"
6
+ class="uni-grid"
7
+ :class="{ 'uni-grid--border': showBorder }"
8
+ :style="{ 'border-left-color': borderColor }"
9
+ >
10
+ <slot />
11
+ </view>
12
+ </view>
13
+ </template>
14
+
15
+ <script>
16
+ // #ifdef APP-NVUE
17
+ const dom = uni.requireNativePlugin('dom');
18
+ // #endif
19
+
20
+ /**
21
+ * Grid 宫格
22
+ * @description 宫格组件
23
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=27
24
+ * @property {Number} column 每列显示个数
25
+ * @property {String} borderColor 边框颜色
26
+ * @property {Boolean} showBorder 是否显示边框
27
+ * @property {Boolean} square 是否方形显示
28
+ * @property {Boolean} Boolean 点击背景是否高亮
29
+ * @event {Function} change 点击 grid 触发,e={detail:{index:0}},index 为当前点击 gird 下标
30
+ */
31
+ export default {
32
+ name: 'cvGridGroup',
33
+ emits: ['change'],
34
+ props: {
35
+ // 每列显示个数
36
+ column: {
37
+ type: Number,
38
+ default: 3
39
+ },
40
+ // 是否显示边框
41
+ showBorder: {
42
+ type: Boolean,
43
+ default: true
44
+ },
45
+ // 边框颜色
46
+ borderColor: {
47
+ type: String,
48
+ default: '#e5e5e5'
49
+ },
50
+ // 是否正方形显示,默认为 true
51
+ square: {
52
+ type: Boolean,
53
+ default: true
54
+ },
55
+ highlight: {
56
+ type: Boolean,
57
+ default: true
58
+ }
59
+ },
60
+ provide() {
61
+ return {
62
+ grid: this
63
+ };
64
+ },
65
+ data() {
66
+ const elId = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`;
67
+ return {
68
+ elId,
69
+ width: 0
70
+ };
71
+ },
72
+ created() {
73
+ this.children = [];
74
+ },
75
+ mounted() {
76
+ this.$nextTick(() => {
77
+ this.init();
78
+ });
79
+ },
80
+ methods: {
81
+ init() {
82
+ setTimeout(() => {
83
+ this._getSize((width) => {
84
+ this.children.forEach((item, index) => {
85
+ item.width = width;
86
+ });
87
+ });
88
+ }, 50);
89
+ },
90
+ change(e) {
91
+ this.$emit('change', e);
92
+ },
93
+ _getSize(fn) {
94
+ // #ifndef APP-NVUE
95
+ uni
96
+ .createSelectorQuery()
97
+ .in(this)
98
+ .select(`#${this.elId}`)
99
+ .boundingClientRect()
100
+ .exec((ret) => {
101
+ this.width = parseInt((ret[0].width - 1) / this.column) + 'px';
102
+ fn(this.width);
103
+ });
104
+ // #endif
105
+ // #ifdef APP-NVUE
106
+ dom.getComponentRect(this.$refs['uni-grid'], (ret) => {
107
+ this.width = parseInt((ret.size.width - 1) / this.column) + 'px';
108
+ fn(this.width);
109
+ });
110
+ // #endif
111
+ }
112
+ }
113
+ };
114
+ </script>
115
+
116
+ <style scoped>
117
+ .uni-grid-wrap {
118
+ /* #ifndef APP-NVUE */
119
+ display: flex;
120
+ /* #endif */
121
+ flex: 1;
122
+ flex-direction: column;
123
+ /* #ifdef H5 */
124
+ width: 100%;
125
+ /* #endif */
126
+ }
127
+
128
+ .uni-grid {
129
+ /* #ifndef APP-NVUE */
130
+ display: flex;
131
+ /* #endif */
132
+ flex-direction: row;
133
+ flex-wrap: wrap;
134
+ }
135
+
136
+ .uni-grid--border {
137
+ position: relative;
138
+ /* #ifdef APP-NVUE */
139
+ border-left-color: #e5e5e5;
140
+ border-left-style: solid;
141
+ border-left-width: 0.5px;
142
+ /* #endif */
143
+ /* #ifndef APP-NVUE */
144
+ z-index: 1;
145
+ border-left: 1px #e5e5e5 solid;
146
+ /* #endif */
147
+ }
148
+ </style>
@@ -0,0 +1,132 @@
1
+ <template>
2
+ <view v-if="width" :style="'width:' + width + ';' + (square ? 'height:' + width : '')" class="uni-grid-item">
3
+ <view
4
+ :class="{
5
+ 'uni-grid-item--border': showBorder,
6
+ 'uni-grid-item--border-top': showBorder && index < column,
7
+ 'uni-highlight': highlight
8
+ }"
9
+ :style="{ 'border-right-color': borderColor, 'border-bottom-color': borderColor, 'border-top-color': borderColor }"
10
+ class="uni-grid-item__box"
11
+ @click="_onClick"
12
+ >
13
+ <slot />
14
+ </view>
15
+ </view>
16
+ </template>
17
+
18
+ <script>
19
+ /**
20
+ * GridItem 宫格
21
+ * @description 宫格组件
22
+ * @tutorial https://ext.dcloud.net.cn/plugin?id=27
23
+ * @property {Number} index 子组件的唯一标识 ,点击gird会返回当前的标识
24
+ */
25
+ export default {
26
+ name: 'cvGridItem',
27
+ inject: ['grid'],
28
+ props: {
29
+ index: {
30
+ type: Number,
31
+ default: 0
32
+ }
33
+ },
34
+ data() {
35
+ return {
36
+ column: 0,
37
+ showBorder: true,
38
+ square: true,
39
+ highlight: true,
40
+ left: 0,
41
+ top: 0,
42
+ openNum: 2,
43
+ width: 0,
44
+ borderColor: '#e5e5e5'
45
+ };
46
+ },
47
+ created() {
48
+ this.column = this.grid.column;
49
+ this.showBorder = this.grid.showBorder;
50
+ this.square = this.grid.square;
51
+ this.highlight = this.grid.highlight;
52
+ this.top = this.hor === 0 ? this.grid.hor : this.hor;
53
+ this.left = this.ver === 0 ? this.grid.ver : this.ver;
54
+ this.borderColor = this.grid.borderColor;
55
+ this.grid.children.push(this);
56
+ // this.grid.init()
57
+ this.width = this.grid.width;
58
+ },
59
+ beforeDestroy() {
60
+ this.grid.children.forEach((item, index) => {
61
+ if (item === this) {
62
+ this.grid.children.splice(index, 1);
63
+ }
64
+ });
65
+ },
66
+ methods: {
67
+ _onClick() {
68
+ this.grid.change({
69
+ detail: {
70
+ index: this.index
71
+ }
72
+ });
73
+ }
74
+ }
75
+ };
76
+ </script>
77
+
78
+ <style scoped>
79
+ .uni-grid-item {
80
+ /* #ifndef APP-NVUE */
81
+ height: 100%;
82
+ display: flex;
83
+ /* #endif */
84
+ /* #ifdef H5 */
85
+ cursor: pointer;
86
+ /* #endif */
87
+ }
88
+
89
+ .uni-grid-item__box {
90
+ /* #ifndef APP-NVUE */
91
+ display: flex;
92
+ width: 100%;
93
+ /* #endif */
94
+ position: relative;
95
+ flex: 1;
96
+ flex-direction: column;
97
+ }
98
+
99
+ .uni-grid-item--border {
100
+ position: relative;
101
+ /* #ifdef APP-NVUE */
102
+ border-bottom-color: #e5e5e5;
103
+ border-bottom-style: solid;
104
+ border-bottom-width: 0.5px;
105
+ border-right-color: #e5e5e5;
106
+ border-right-style: solid;
107
+ border-right-width: 0.5px;
108
+ /* #endif */
109
+ /* #ifndef APP-NVUE */
110
+ z-index: 0;
111
+ border-bottom: 1px #e5e5e5 solid;
112
+ border-right: 1px #e5e5e5 solid;
113
+ /* #endif */
114
+ }
115
+
116
+ .uni-grid-item--border-top {
117
+ position: relative;
118
+ /* #ifdef APP-NVUE */
119
+ border-top-color: #e5e5e5;
120
+ border-top-style: solid;
121
+ border-top-width: 0.5px;
122
+ /* #endif */
123
+ /* #ifndef APP-NVUE */
124
+ border-top: 1px #e5e5e5 solid;
125
+ z-index: 0;
126
+ /* #endif */
127
+ }
128
+
129
+ .uni-highlight:active {
130
+ background-color: #f1f1f1;
131
+ }
132
+ </style>