@10yun/cv-mobile-ui 0.3.25 → 0.4.1

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 (190) hide show
  1. package/build/parse-pages.js +2 -2
  2. package/package.json +1 -1
  3. package/plugins/request.js +0 -1
  4. package/ui-cv/README.md +3 -0
  5. package/ui-cv/cv-badge/uni-badge.vue +249 -0
  6. package/ui-cv/cv-banner/cv-banner.vue +1 -1
  7. package/ui-cv/cv-banner-card/cv-banner-card.vue +1 -1
  8. package/ui-cv/cv-block/cv-block.vue +1 -1
  9. package/ui-cv/cv-box/cv-box.vue +1 -1
  10. package/{ui-uni/uni-calendar → ui-cv/cv-calendar}/calendar.js +0 -0
  11. package/{ui-uni/uni-calendar → ui-cv/cv-calendar}/uni-calendar-item.vue +0 -0
  12. package/{ui-uni/uni-calendar → ui-cv/cv-calendar}/uni-calendar.vue +0 -0
  13. package/{ui-uni/uni-calendar → ui-cv/cv-calendar}/util.js +0 -0
  14. package/{ui-uni/uni-card → ui-cv/cv-card}/uni-card.vue +0 -0
  15. package/ui-cv/cv-cell/cv-cell.vue +1 -1
  16. package/ui-cv/cv-checkbox-group/cv-checkbox-group.vue +227 -0
  17. package/ui-cv/cv-checkbox-opt-base/cv-checkbox-opt-base.vue +57 -0
  18. package/ui-cv/cv-checkbox-opt-tag/cv-checkbox-opt-tag.vue +107 -0
  19. package/ui-cv/cv-code-sms/cv-code-sms.vue +23 -42
  20. package/{ui-uni/uni-col → ui-cv/cv-col}/uni-col.vue +0 -0
  21. package/{ui-uni/uni-collapse → ui-cv/cv-collapse}/uni-collapse.vue +0 -0
  22. package/{ui-uni/uni-collapse-item → ui-cv/cv-collapse-item}/uni-collapse-item.vue +0 -0
  23. package/{ui-uni/uni-combox → ui-cv/cv-combox}/uni-combox.vue +0 -0
  24. package/{ui-uni/uni-countdown → ui-cv/cv-countdown}/uni-countdown.vue +0 -0
  25. package/{ui-uni/uni-data-checkbox → ui-cv/cv-data-checkbox}/uni-data-checkbox.vue +0 -0
  26. package/{ui-uni/uni-data-indexed-list → ui-cv/cv-data-indexed-list}/clientdb.js +0 -0
  27. package/{ui-uni/uni-data-indexed-list → ui-cv/cv-data-indexed-list}/uni-data-indexed-list-item.vue +0 -0
  28. package/{ui-uni/uni-data-indexed-list → ui-cv/cv-data-indexed-list}/uni-data-indexed-list.vue +0 -0
  29. package/{ui-uni/uni-data-picker → ui-cv/cv-data-picker}/keypress.js +0 -0
  30. package/{ui-uni/uni-data-picker → ui-cv/cv-data-picker}/uni-data-picker.vue +0 -0
  31. package/{ui-uni/uni-data-pickerview → ui-cv/cv-data-pickerview}/uni-data-picker.js +0 -0
  32. package/{ui-uni/uni-data-pickerview → ui-cv/cv-data-pickerview}/uni-data-pickerview.vue +0 -0
  33. package/{ui-uni/uni-dateformat → ui-cv/cv-dateformat}/date-format.js +0 -0
  34. package/{ui-uni/uni-dateformat → ui-cv/cv-dateformat}/uni-dateformat.vue +0 -0
  35. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/calendar-item.vue +0 -0
  36. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/calendar.js +0 -0
  37. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/calendar.vue +0 -0
  38. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/keypress.js +0 -0
  39. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/time-picker.vue +0 -0
  40. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/uni-datetime-picker.vue +0 -0
  41. package/{ui-uni/uni-datetime-picker → ui-cv/cv-datetime-picker}/util.js +0 -0
  42. package/ui-cv/cv-dialog-bottom/cv-dialog-bottom.vue +1 -1
  43. package/ui-cv/cv-dialog-full/cv-dialog-full.vue +1 -1
  44. package/ui-cv/cv-dialog-loading/cv-dialog-loading.vue +3 -3
  45. package/ui-cv/cv-drawer/cv-drawer.vue +185 -0
  46. package/{ui-uni/uni-drawer → ui-cv/cv-drawer}/keypress.js +14 -14
  47. package/{ui-uni/uni-easyinput → ui-cv/cv-easyinput}/common.js +0 -0
  48. package/{ui-uni/uni-easyinput → ui-cv/cv-easyinput}/uni-easyinput.vue +0 -0
  49. package/ui-cv/cv-editor-parse/readme.md +2 -3
  50. package/ui-cv/{cv-editor → cv-editor-quill}/compressImage.vue +0 -0
  51. package/ui-cv/{cv-editor/cv-editor.vue → cv-editor-quill/cv-editor-quill.vue} +3 -23
  52. package/ui-cv/{cv-editor → cv-editor-quill}/editor-icon.css +0 -0
  53. package/ui-cv/{cv-editor → cv-editor-quill}/editor-icon.ttf +0 -0
  54. package/ui-cv/{cv-editor → cv-editor-quill}/index.js +0 -0
  55. package/{ui-uni/uni-fab → ui-cv/cv-fab}/uni-fab.vue +0 -0
  56. package/{ui-uni/uni-fab → ui-cv/cv-fab}/uni-fab.vue.bak +0 -0
  57. package/{ui-uni/uni-fav → ui-cv/cv-fav}/uni-fav.vue +0 -0
  58. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/choose-and-upload-file.js +0 -0
  59. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/uni-file-picker.vue +0 -0
  60. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/upload-file.vue +0 -0
  61. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/upload-image.vue +0 -0
  62. package/{ui-uni/uni-file-picker → ui-cv/cv-file-picker}/utils.js +0 -0
  63. package/ui-cv/cv-form-base/cv-form-base.vue +470 -0
  64. package/ui-cv/cv-form-base/validate.js +477 -0
  65. package/ui-cv/cv-form-group/cv-form-group.vue +123 -80
  66. package/ui-cv/cv-form-group/cv-form-group2.vue +80 -0
  67. package/ui-cv/cv-form-item/cv-form-item.vue +482 -174
  68. package/ui-cv/cv-form-item/cv-form-item2.vue +215 -0
  69. package/ui-cv/cv-form-merge/cv-form-merge.vue +1 -1
  70. package/ui-cv/cv-geo-local/cv-geo-local.vue +14 -26
  71. package/{ui-uni/uni-goods-nav → ui-cv/cv-goods-nav}/uni-goods-nav.vue +0 -0
  72. package/ui-cv/cv-grid-group/cv-grid-group.vue +148 -0
  73. package/ui-cv/cv-grid-item/cv-grid-item.vue +132 -0
  74. package/ui-cv/cv-icons/cv-icons.vue +1 -1
  75. package/ui-cv/cv-icons2/cv-icons2.vue +78 -0
  76. package/ui-cv/cv-icons2/icons.js +132 -0
  77. package/{ui-uni/uni-icons → ui-cv/cv-icons2}/uni.ttf +0 -0
  78. package/{ui-uni/uni-indexed-list → ui-cv/cv-indexed-list}/uni-indexed-list-item.vue +0 -0
  79. package/{ui-uni/uni-indexed-list → ui-cv/cv-indexed-list}/uni-indexed-list.vue +0 -0
  80. package/ui-cv/cv-info/cv-info.vue +5 -20
  81. package/ui-cv/cv-input-btn/cv-input-btn.vue +25 -43
  82. package/ui-cv/cv-input-digit/cv-input-digit.vue +61 -28
  83. package/ui-cv/cv-input-idcard/cv-input-idcard.vue +47 -29
  84. package/ui-cv/cv-input-number/cv-input-number.vue +60 -28
  85. package/ui-cv/cv-input-password/cv-input-password.vue +80 -30
  86. package/ui-cv/cv-input-text/cv-input-text.vue +55 -37
  87. package/ui-cv/cv-link/uni-link.vue +130 -0
  88. package/{ui-uni/uni-list → ui-cv/cv-list}/uni-list.vue +0 -0
  89. package/{ui-uni/uni-list → ui-cv/cv-list}/uni-refresh.vue +0 -0
  90. package/{ui-uni/uni-list → ui-cv/cv-list}/uni-refresh.wxs +0 -0
  91. package/{ui-uni/uni-list-ad → ui-cv/cv-list-ad}/uni-list-ad.vue +0 -0
  92. package/{ui-uni/uni-list-chat → ui-cv/cv-list-chat}/uni-list-chat.scss +0 -0
  93. package/{ui-uni/uni-list-chat → ui-cv/cv-list-chat}/uni-list-chat.vue +0 -0
  94. package/{ui-uni/uni-list-item → ui-cv/cv-list-item}/uni-list-item.vue +0 -0
  95. package/ui-cv/cv-load-more/config.json +9 -9
  96. package/ui-cv/cv-load-more/cv-load-more.vue +34 -5
  97. package/ui-cv/cv-message/cv-message.vue +1 -1
  98. package/{ui-uni/uni-nav-bar → ui-cv/cv-nav-bar}/uni-nav-bar.vue +0 -0
  99. package/{ui-uni/uni-nav-bar → ui-cv/cv-nav-bar}/uni-status-bar.vue +0 -0
  100. package/ui-cv/cv-nav-col/cv-nav-col.vue +1 -1
  101. package/ui-cv/cv-nav-row/cv-nav-row.vue +1 -1
  102. package/{ui-uni/uni-notice-bar → ui-cv/cv-notice-bar}/uni-notice-bar.vue +0 -0
  103. package/{ui-uni/uni-number-box → ui-cv/cv-number-box}/uni-number-box.vue +0 -0
  104. package/{ui-uni/uni-pagination → ui-cv/cv-pagination}/uni-pagination.vue +0 -0
  105. package/ui-cv/cv-picker-date/cv-picker-date.vue +17 -27
  106. package/ui-cv/cv-picker-datetime/cv-picker-datetime.vue +31 -41
  107. package/ui-cv/cv-picker-datetime5/cv-picker-datetime5.vue +19 -29
  108. package/ui-cv/cv-picker-region/cv-picker-region.vue +23 -33
  109. package/ui-cv/cv-picker-time/cv-picker-time.vue +16 -26
  110. package/ui-cv/cv-picker1/cv-picker1.vue +16 -28
  111. package/ui-cv/cv-picker2/cv-picker2.vue +22 -32
  112. package/ui-cv/cv-picker3/cv-picker3.vue +34 -44
  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 → ui-cv/cv-popup}/uni-popup.vue +0 -0
  116. package/{ui-uni/uni-popup-dialog → ui-cv/cv-popup-dialog}/keypress.js +0 -0
  117. package/{ui-uni/uni-popup-dialog → ui-cv/cv-popup-dialog}/uni-popup-dialog.vue +0 -0
  118. package/{ui-uni/uni-popup-message → ui-cv/cv-popup-message}/uni-popup-message.vue +0 -0
  119. package/{ui-uni/uni-popup-share → ui-cv/cv-popup-share}/uni-popup-share.vue +0 -0
  120. package/ui-cv/cv-radio-group/cv-radio-group.vue +185 -0
  121. package/ui-cv/cv-radio-opt-base/cv-radio-opt-base.vue +57 -0
  122. package/ui-cv/cv-radio-opt-tag/cv-radio-opt-tag.vue +107 -0
  123. package/ui-cv/cv-rate/cv-rate.vue +13 -17
  124. package/ui-cv/cv-rate/uni-rate.vue +358 -0
  125. package/ui-cv/cv-row/uni-row.vue +157 -0
  126. package/ui-cv/cv-search/cv-search.vue +4 -4
  127. package/{ui-uni/uni-search-bar → ui-cv/cv-search-bar}/uni-search-bar.vue +0 -0
  128. package/{ui-uni/uni-section → ui-cv/cv-section}/uni-section.vue +0 -0
  129. package/{ui-uni/uni-segmented-control → ui-cv/cv-segmented-control}/uni-segmented-control.vue +0 -0
  130. package/ui-cv/cv-skeleton/cv-skeleton2.vue +5 -5
  131. package/ui-cv/cv-specs/cv-specs.vue +1 -1
  132. package/{ui-uni/uni-status-bar → ui-cv/cv-status-bar}/uni-status-bar.vue +0 -0
  133. package/{ui-uni/uni-steps → ui-cv/cv-steps}/uni-steps.vue +0 -0
  134. package/{ui-uni/uni-swipe-action → ui-cv/cv-swipe-action}/uni-swipe-action.vue +0 -0
  135. package/{ui-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/bindingx.js +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-uni/uni-swipe-action-item → ui-cv/cv-swipe-action-item}/uni-swipe-action-item.vue +0 -0
  142. package/{ui-uni/uni-swiper-dot → ui-cv/cv-swiper-dot}/uni-swiper-dot.vue +0 -0
  143. package/ui-cv/cv-switch/cv-switch.vue +5 -9
  144. package/{ui-uni/uni-table → ui-cv/cv-table}/uni-table.vue +0 -0
  145. package/{ui-uni/uni-tag → ui-cv/cv-tag}/uni-tag.vue +0 -0
  146. package/{ui-uni/uni-tbody → ui-cv/cv-tbody}/uni-tbody.vue +0 -0
  147. package/{ui-uni/uni-td → ui-cv/cv-td}/uni-td.vue +0 -0
  148. package/{ui-uni/uni-test → ui-cv/cv-test}/uni-test.vue +0 -0
  149. package/ui-cv/cv-textarea/cv-textarea.vue +56 -41
  150. package/{ui-uni/uni-th → ui-cv/cv-th}/filter-dropdown.vue +0 -0
  151. package/{ui-uni/uni-th → ui-cv/cv-th}/uni-th.vue +0 -0
  152. package/{ui-uni/uni-thead → ui-cv/cv-thead}/uni-thead.vue +0 -0
  153. package/{ui-uni/uni-title → ui-cv/cv-title}/uni-title.vue +0 -0
  154. package/{ui-uni/uni-tr → ui-cv/cv-tr}/table-checkbox.vue +0 -0
  155. package/{ui-uni/uni-tr → ui-cv/cv-tr}/uni-tr.vue +0 -0
  156. package/{ui-uni/uni-transition → ui-cv/cv-transition}/createAnimation.js +0 -0
  157. package/{ui-uni/uni-transition → ui-cv/cv-transition}/uni-transition.vue +0 -0
  158. package/ui-cv/cv-upload-avatar/cv-upload-avatar.vue +24 -22
  159. package/ui-cv/cv-upload-img/cv-upload-img.vue +1 -1
  160. package/ui-cv/mixins/mixins-input.js +20 -29
  161. package/ui-cv/mixins/mixins-picker.js +1 -13
  162. package/ui-uni/amap-wx/js/util.js +158 -166
  163. package/ui-uni/product.vue +52 -52
  164. package/ui-uni/u-charts/u-charts.js +1092 -743
  165. package/ui-cv/cv-checkbox/cv-checkbox.vue +0 -140
  166. package/ui-cv/cv-checkbox-tag/cv-checkbox-tag.vue +0 -164
  167. package/ui-cv/cv-nav-group/cv-nav-group.vue +0 -33
  168. package/ui-cv/cv-radio/cv-radio.vue +0 -111
  169. package/ui-cv/cv-radio-sex/cv-radio-sex.vue +0 -80
  170. package/ui-cv/cv-radio-tag/cv-radio-tag.vue +0 -133
  171. package/ui-cv/mixins/mixins-checkbox.js +0 -71
  172. package/ui-cv/mixins/mixins-common.js +0 -53
  173. package/ui-cv/mixins/mixins-radio.js +0 -84
  174. package/ui-uni/page-foot/page-foot.vue +0 -38
  175. package/ui-uni/page-head/page-head.vue +0 -16
  176. package/ui-uni/u-link/u-link.vue +0 -59
  177. package/ui-uni/uni-badge/uni-badge.vue +0 -250
  178. package/ui-uni/uni-drawer/uni-drawer.vue +0 -178
  179. package/ui-uni/uni-forms/uni-forms.vue +0 -467
  180. package/ui-uni/uni-forms/validate.js +0 -486
  181. package/ui-uni/uni-forms-item/uni-forms-item.vue +0 -500
  182. package/ui-uni/uni-grid/uni-grid.vue +0 -141
  183. package/ui-uni/uni-grid-item/uni-grid-item.vue +0 -123
  184. package/ui-uni/uni-group/uni-group.vue +0 -123
  185. package/ui-uni/uni-icons/icons.js +0 -132
  186. package/ui-uni/uni-icons/uni-icons.vue +0 -72
  187. package/ui-uni/uni-link/uni-link.vue +0 -117
  188. package/ui-uni/uni-load-more/uni-load-more.vue +0 -366
  189. package/ui-uni/uni-rate/uni-rate.vue +0 -357
  190. package/ui-uni/uni-row/uni-row.vue +0 -155
@@ -1,140 +0,0 @@
1
- <template>
2
- <cv-form-item
3
- :label="label"
4
- :must="must"
5
- :message="message"
6
- :messageDisplay="messageDisplay"
7
- :labelWidth="localLabelWidth"
8
- :layout="localLayout"
9
- >
10
- <view class="cv-checkbox">
11
- <checkbox-group @change="checkboxChange">
12
- <label class="cv-checkbox-item" v-for="item in items" :value="value" :key="item.value">
13
- <view>
14
- <checkbox :value="item.value" :checked="item.checked" style="transform: scale(0.7)" />
15
- </view>
16
- <view>{{ item.text }}</view>
17
- </label>
18
- </checkbox-group>
19
- </view>
20
- </cv-form-item>
21
- </template>
22
-
23
- <script>
24
- import MixinsCheckbox from '../mixins/mixins-checkbox.js';
25
- export default {
26
- mixins: [MixinsCheckbox],
27
- name: 'cvCheckbox',
28
- inject: {},
29
- props: {
30
- //默认输入框内容
31
- value: {
32
- type: Array,
33
- default: []
34
- }
35
- },
36
- data() {
37
- return {};
38
- },
39
-
40
- created: function () {
41
- this.localVal = this.value;
42
- if (this.maxNumber > 0) {
43
- this.message = '最多只能选择' + this.maxNumber + '个';
44
- }
45
- this.items = this.itemsSortOut();
46
- },
47
- methods: {
48
- itemsSortOut: function () {
49
- let original = [];
50
- if (this.dataUrl) {
51
- //网络请求
52
- } else {
53
- original = this.dataLists;
54
- }
55
- if (typeof original == 'string') {
56
- original = JSON.parse(original);
57
- }
58
- //整理数据
59
- let items = [];
60
- let dataValue = this.dataValue ? this.dataValue : 'value';
61
- let dataText = this.dataText ? this.dataText : 'text';
62
- let dataChecked = this.dataChecked ? this.dataChecked : 'checked';
63
- let i = 0;
64
- for (i in original) {
65
- let data = original[i];
66
- let checked = false;
67
- let text = data[dataText];
68
- let value = data[dataValue];
69
- if (value) {
70
- value = value.toString();
71
- }
72
- if (data[dataChecked] == true) {
73
- checked = true;
74
- }
75
- let localVal = this.localVal;
76
- //写入已选选项
77
- for (const ii in localVal) {
78
- if (this.dataType == 'text') {
79
- if (localVal[ii] == text) {
80
- checked = true;
81
- }
82
- } else {
83
- if (localVal[ii] == value) {
84
- checked = true;
85
- }
86
- }
87
- }
88
- items.push({
89
- value: value,
90
- text: text,
91
- checked: checked
92
- });
93
- }
94
- return items;
95
- },
96
- checkboxChange: function (e) {
97
- var items = this.items,
98
- values = e.detail.value;
99
- for (var i = 0, lenI = items.length; i < lenI; ++i) {
100
- const item = items[i];
101
- if (values.includes(item.value)) {
102
- this.$set(item, 'checked', true);
103
- } else {
104
- this.$set(item, 'checked', false);
105
- }
106
- }
107
- let localVal = [];
108
- for (let i in items) {
109
- if (items[i].checked) {
110
- if (this.dataType == 'text') {
111
- localVal.push(items[i].text);
112
- } else {
113
- localVal.push(items[i].value);
114
- }
115
- }
116
- }
117
- if (this.maxNumber !== 0 && localVal.length > this.maxNumber) {
118
- this.messageDisplay = true;
119
- } else {
120
- this.messageDisplay = false;
121
- }
122
- this.localVal = localVal;
123
- this.$emit('input', this.localVal);
124
- }
125
- }
126
- };
127
- </script>
128
-
129
- <style>
130
- .cv-checkbox {
131
- min-height: 35px;
132
- }
133
- .cv-checkbox-item {
134
- height: 35px;
135
- line-height: 35px;
136
- float: left;
137
- display: flex;
138
- margin-right: 10px;
139
- }
140
- </style>
@@ -1,164 +0,0 @@
1
- <template>
2
- <cv-form-item
3
- :label="label"
4
- :must="must"
5
- :message="message"
6
- :messageDisplay="messageDisplay"
7
- :labelWidth="localLabelWidth"
8
- :layout="localLayout"
9
- >
10
- <view class="cv-checkbox-tag">
11
- <checkbox-group @change="checkboxChange">
12
- <label
13
- class="cv-checkbox-tag-item cv-checkbox-tag-item-tag"
14
- v-for="item in items"
15
- :value="value"
16
- :key="item.value"
17
- :class="item.checked ? 'checkbox-checked' : ''"
18
- >
19
- <view class="">
20
- <checkbox :value="item.value" :checked="item.checked" style="transform: scale(0.7)" />
21
- </view>
22
- <view>{{ item.text }}</view>
23
- </label>
24
- </checkbox-group>
25
- </view>
26
- </cv-form-item>
27
- </template>
28
-
29
- <script>
30
- import MixinsCheckbox from '../mixins/mixins-checkbox.js';
31
- export default {
32
- mixins: [MixinsCheckbox],
33
- name: 'cvCheckboxTag',
34
- inject: {},
35
- props: {
36
- //默认输入框内容
37
- value: {
38
- type: String,
39
- default: ''
40
- }
41
- },
42
- data() {
43
- return {};
44
- },
45
- created: function () {
46
- this.localVal = this.value;
47
- if (this.maxNumber > 0) {
48
- this.message = '最多只能选择' + this.maxNumber + '个';
49
- }
50
- this.items = this.itemsSortOut();
51
- },
52
- methods: {
53
- itemsSortOut: function () {
54
- let original = [];
55
- if (this.dataUrl) {
56
- //网络请求
57
- } else {
58
- original = this.dataLists;
59
- }
60
- if (typeof original == 'string') {
61
- original = JSON.parse(original);
62
- }
63
-
64
- //整理数据
65
- let items = [];
66
- let dataValue = this.dataValue ? this.dataValue : 'value';
67
- let dataText = this.dataText ? this.dataText : 'text';
68
- let dataChecked = this.dataChecked ? this.dataChecked : 'checked';
69
- let i = 0;
70
- for (i in original) {
71
- let data = original[i];
72
- let checked = false;
73
- let text = data[dataText];
74
- let value = data[dataValue];
75
- if (typeof value == 'number') {
76
- value = value.toString();
77
- }
78
- if (data[dataChecked] == true) {
79
- checked = true;
80
- }
81
- let localVal = this.localVal;
82
- let tempLocalVal = localVal.split(',');
83
- //写入已选选项
84
- for (const ii in localVal) {
85
- if (this.dataType == 'text') {
86
- if (tempLocalVal[ii] == text) {
87
- checked = true;
88
- }
89
- } else {
90
- if (tempLocalVal[ii] == value) {
91
- checked = true;
92
- }
93
- }
94
- }
95
- items.push({
96
- value: value,
97
- text: text,
98
- checked: checked
99
- });
100
- }
101
- return items;
102
- },
103
- checkboxChange: function (e) {
104
- var items = this.items,
105
- values = e.detail.value;
106
- for (var i = 0, lenI = items.length; i < lenI; ++i) {
107
- const item = items[i];
108
- if (values.includes(item.value)) {
109
- this.$set(item, 'checked', true);
110
- } else {
111
- this.$set(item, 'checked', false);
112
- }
113
- }
114
- let localVal = [];
115
- for (let i in items) {
116
- if (items[i].checked) {
117
- if (this.dataType == 'text') {
118
- localVal.push(items[i].text);
119
- } else {
120
- localVal.push(items[i].value);
121
- }
122
- }
123
- }
124
- if (this.maxNumber !== 0 && localVal.length > this.maxNumber) {
125
- this.messageDisplay = true;
126
- } else {
127
- this.messageDisplay = false;
128
- }
129
- this.localVal = localVal;
130
- this.$emit('input', localVal.join(','));
131
- }
132
- }
133
- };
134
- </script>
135
-
136
- <style>
137
- .cv-checkbox-tag {
138
- min-height: 25px;
139
- }
140
- .cv-checkbox-tag-item {
141
- margin: 5px 0;
142
- height: 25px;
143
- line-height: 25px;
144
- float: left;
145
- display: flex;
146
- margin-right: 10px;
147
- }
148
- .cv-checkbox-tag-item > view:first-child {
149
- display: none;
150
- }
151
- .cv-checkbox-tag-item-tag {
152
- border: solid 0.5px #f0f4f7;
153
- color: rgba(0, 0, 0, 0.4);
154
- padding: 0 10px;
155
- border-radius: 3px;
156
- background-color: #f0f4f7;
157
- font-size: 14px;
158
- }
159
- .cv-checkbox-tag-item-tag.checkbox-checked {
160
- color: #4292cc;
161
- border-color: #4292cc;
162
- background-color: #ddeffd;
163
- }
164
- </style>
@@ -1,33 +0,0 @@
1
- <template>
2
- <view class="cv-nav-group">
3
- <view class="cv-nav-group-title">{{ label }}</view>
4
- <slot />
5
- </view>
6
- </template>
7
- <script>
8
- export default {
9
- name: 'cvNavGroup',
10
- props: {
11
- label: {
12
- type: String,
13
- default: ''
14
- }
15
- },
16
- data() {
17
- return {};
18
- },
19
- created() {}
20
- };
21
- </script>
22
-
23
- <style>
24
- .cv-nav-group {
25
- margin-bottom: 10px;
26
- }
27
- .cv-nav-group-title {
28
- font-size: 12px;
29
- color: #999999;
30
- line-height: 25px;
31
- padding: 0 10px;
32
- }
33
- </style>
@@ -1,111 +0,0 @@
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
- >
11
- <view class="cv-radio-sex">
12
- <radio-group @change="radioChange">
13
- <label class="cv-radio-sex-item" v-for="item in items" :key="item.value">
14
- <view class="">
15
- <radio :value="item.value" :checked="item.value == itemsValue" style="transform: scale(0.7)" />
16
- </view>
17
- <view>{{ item.text }}</view>
18
- </label>
19
- </radio-group>
20
- </view>
21
- </cv-form-item>
22
- </template>
23
-
24
- <script>
25
- import MixinsRadio from '../mixins/mixins-radio.js';
26
- export default {
27
- mixins: [MixinsRadio],
28
- name: 'cvRadio',
29
- inject: {
30
- cvFormGroup: {
31
- default() {
32
- return null;
33
- }
34
- }
35
- },
36
- props: {
37
- dataLists: {
38
- type: [Array, String],
39
- default: []
40
- }
41
- },
42
- data() {
43
- return {
44
- localVal: '',
45
- items: [],
46
- itemsValue: ''
47
- };
48
- },
49
- watch: {
50
- dataLists(newVal) {
51
- if (this.dataUrl == '') {
52
- this.dataLists = newVal;
53
- this.items = this.itemsSortOut();
54
- this._dealValue();
55
- }
56
- }
57
- },
58
- created: function () {
59
- this.localVal = this.value;
60
- this.items = this.itemsSortOut();
61
- //默认Value
62
- this._dealValue();
63
- },
64
- methods: {
65
- itemsSortOut: function () {
66
- let original = [];
67
- if (this.dataUrl) {
68
- //网络请求
69
- if (typeof this.dataUrl == 'function') {
70
- this.dataUrl({}).then((successRes) => {
71
- original = successRes.data;
72
- });
73
- } else {
74
- console.warn('此处需要自定义请求方法');
75
- }
76
- } else {
77
- original = this.dataLists;
78
- }
79
- if (typeof original == 'string') {
80
- original = JSON.parse(original);
81
- }
82
- //整理数据
83
- let items = [];
84
- let dataValue = this.dataValue ? this.dataValue : 'value';
85
- let dataText = this.dataText ? this.dataText : 'text';
86
- let i = 0;
87
- for (i in original) {
88
- let data = original[i];
89
- items.push({
90
- value: data[dataValue].toString(),
91
- text: data[dataText]
92
- });
93
- }
94
- return items;
95
- }
96
- }
97
- };
98
- </script>
99
-
100
- <style>
101
- .cv-radio-sex {
102
- min-height: 35px;
103
- }
104
- .cv-radio-sex-item {
105
- height: 35px;
106
- line-height: 35px;
107
- float: left;
108
- display: flex;
109
- margin-right: 10px;
110
- }
111
- </style>
@@ -1,80 +0,0 @@
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
- >
11
- <view class="cv-radio-sex">
12
- <radio-group @change="radioChange">
13
- <label class="cv-radio-sex-item" v-for="item in items" :key="item.value">
14
- <view class="">
15
- <radio :value="item.value" :checked="item.value == itemsValue" style="transform: scale(0.7)" />
16
- </view>
17
- <view>{{ item.text }}</view>
18
- </label>
19
- </radio-group>
20
- </view>
21
- </cv-form-item>
22
- </template>
23
-
24
- <script>
25
- import MixinsRadio from '../mixins/mixins-radio.js';
26
- export default {
27
- mixins: [MixinsRadio],
28
- name: 'cvRadioSex',
29
- inject: {
30
- cvFormGroup: {
31
- default() {
32
- return null;
33
- }
34
- }
35
- },
36
- props: {
37
- //是否关闭保密选项
38
- unsecrecy: {
39
- type: Boolean,
40
- default: false
41
- }
42
- },
43
- watch: {},
44
- data() {
45
- return {
46
- localVal: '',
47
- items: [
48
- { value: '0', text: '保密' },
49
- { value: '1', text: '男' },
50
- { value: '2', text: '女' }
51
- ],
52
- itemsValue: ''
53
- };
54
- },
55
- created: function () {
56
- this.localVal = this.value;
57
- if (this.unsecrecy == true) {
58
- this.items = [
59
- { value: '1', text: '男' },
60
- { value: '2', text: '女' }
61
- ];
62
- }
63
- this._dealValue();
64
- },
65
- methods: {}
66
- };
67
- </script>
68
-
69
- <style>
70
- .cv-radio-sex {
71
- min-height: 35px;
72
- }
73
- .cv-radio-sex-item {
74
- height: 35px;
75
- line-height: 35px;
76
- float: left;
77
- display: flex;
78
- margin-right: 10px;
79
- }
80
- </style>
@@ -1,133 +0,0 @@
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
- >
11
- <view class="cv-radio-sex">
12
- <radio-group @change="radioChange">
13
- <label
14
- class="cv-radio-tag-item cv-radio-tag-item-tag"
15
- v-for="item in items"
16
- :key="item.value"
17
- :class="item.value === itemsValue ? 'radio-checked' : ''"
18
- >
19
- <view>
20
- <radio :value="item.value" :checked="item.value == itemsValue" style="transform: scale(0.7)" />
21
- </view>
22
- <view>{{ item.text }}</view>
23
- </label>
24
- </radio-group>
25
- </view>
26
- </cv-form-item>
27
- </template>
28
-
29
- <script>
30
- import MixinsRadio from '../mixins/mixins-radio.js';
31
- export default {
32
- mixins: [MixinsRadio],
33
- name: 'cvRadioTag',
34
- inject: {
35
- cvFormGroup: {
36
- default() {
37
- return null;
38
- }
39
- }
40
- },
41
- props: {
42
- dataLists: {
43
- type: [Array, String],
44
- default: []
45
- }
46
- },
47
- data() {
48
- return {
49
- localVal: '',
50
- items: [],
51
- itemsValue: ''
52
- };
53
- },
54
- watch: {
55
- dataLists(newVal) {
56
- if (this.dataUrl == '') {
57
- this.dataLists = newVal;
58
- this.items = this.itemsSortOut();
59
- this._dealValue();
60
- }
61
- }
62
- },
63
- created: function () {
64
- this.localVal = this.value;
65
- this.items = this.itemsSortOut();
66
- //默认Value
67
- this._dealValue();
68
- },
69
- methods: {
70
- itemsSortOut: function () {
71
- let original = [];
72
- if (this.dataUrl) {
73
- //网络请求
74
- if (typeof this.dataUrl == 'function') {
75
- this.dataUrl({}).then((successRes) => {
76
- original = successRes.data;
77
- });
78
- } else {
79
- console.warn('此处需要自定义请求方法');
80
- }
81
- } else {
82
- original = this.dataLists;
83
- }
84
- if (typeof original == 'string') {
85
- original = JSON.parse(original);
86
- }
87
- //整理数据
88
- let items = [];
89
- let dataValue = this.dataValue ? this.dataValue : 'value';
90
- let dataText = this.dataText ? this.dataText : 'text';
91
- let i = 0;
92
- for (i in original) {
93
- let data = original[i];
94
- items.push({
95
- value: data[dataValue].toString(),
96
- text: data[dataText]
97
- });
98
- }
99
- return items;
100
- }
101
- }
102
- };
103
- </script>
104
-
105
- <style>
106
- .cv-radio-tag {
107
- min-height: 35px;
108
- }
109
- .cv-radio-tag-item {
110
- margin: 5px 0;
111
- height: 25px;
112
- line-height: 25px;
113
- float: left;
114
- display: flex;
115
- margin-right: 10px;
116
- }
117
- .cv-radio-tag-item > view:first-child {
118
- display: none;
119
- }
120
- .cv-radio-tag-item-tag {
121
- border: solid 0.5px #f0f4f7;
122
- color: rgba(0, 0, 0, 0.4);
123
- padding: 0 10px;
124
- border-radius: 3px;
125
- background-color: #f0f4f7;
126
- font-size: 14px;
127
- }
128
- .cv-radio-tag-item-tag.radio-checked {
129
- color: #4292cc;
130
- border-color: #4292cc;
131
- background-color: #ddeffd;
132
- }
133
- </style>