@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,468 +0,0 @@
1
- <template>
2
- <view class="uni-data-tree">
3
- <view class="uni-data-tree-input" @click="handleInput">
4
- <slot :options="options" :data="inputSelected" :error="errorMessage">
5
- <view class="input-value" :class="{'input-value-border': border}">
6
- <text v-if="errorMessage" class="selected-area error-text">{{errorMessage}}</text>
7
- <view v-else-if="loading && !isOpened" class="selected-area">
8
- <uni-load-more class="load-more" :contentText="loadMore" status="loading"></uni-load-more>
9
- </view>
10
- <scroll-view v-else-if="inputSelected.length" class="selected-area" scroll-x="true">
11
- <view class="selected-list">
12
- <view class="selected-item" v-for="(item,index) in inputSelected" :key="index">
13
- <text>{{item.text}}</text><text v-if="index<inputSelected.length-1" class="input-split-line">{{split}}</text>
14
- </view>
15
- </view>
16
- </scroll-view>
17
- <text v-else class="selected-area placeholder">{{placeholder}}</text>
18
- <view class="arrow-area" v-if="!readonly">
19
- <view class="input-arrow"></view>
20
- </view>
21
- </view>
22
- </slot>
23
- </view>
24
- <view class="uni-data-tree-cover" v-if="isOpened" @click="handleClose"></view>
25
- <view class="uni-data-tree-dialog" v-if="isOpened">
26
- <view class="dialog-caption">
27
- <view class="title-area">
28
- <text class="dialog-title">{{popupTitle}}</text>
29
- </view>
30
- <view class="dialog-close" @click="handleClose">
31
- <view class="dialog-close-plus" data-id="close"></view>
32
- <view class="dialog-close-plus dialog-close-rotate" data-id="close"></view>
33
- </view>
34
- </view>
35
- <data-picker-view class="picker-view" ref="pickerView" v-model="dataValue" :localdata="localdata" :preload="preload" :collection="collection" :field="field" :orderby="orderby" :where="where" :step-searh="stepSearh" :self-field="selfField" :parent-field="parentField" :managed-mode="true" @change="onchange" @datachange="ondatachange" @nodeclick="onnodeclick"></data-picker-view>
36
- </view>
37
- </view>
38
- </template>
39
-
40
- <script>
41
- import dataPicker from "../uni-data-pickerview/uni-data-picker.js"
42
- import DataPickerView from "../uni-data-pickerview/uni-data-pickerview.vue"
43
-
44
- /**
45
- * DataPicker 级联选择
46
- * @description 支持单列、和多列级联选择。列数没有限制,如果屏幕显示不全,顶部tab区域会左右滚动。
47
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3796
48
- * @property {String} popup-title 弹出窗口标题
49
- * @property {Array} localdata 本地数据,参考
50
- * @property {Boolean} border = [true|false] 是否有边框
51
- * @property {Boolean} readonly = [true|false] 是否仅读
52
- * @property {Boolean} preload = [true|false] 是否预加载数据
53
- * @value true 开启预加载数据,点击弹出窗口后显示已加载数据
54
- * @value false 关闭预加载数据,点击弹出窗口后开始加载数据
55
- * @property {Boolean} step-searh = [true|false] 是否分布查询
56
- * @value true 启用分布查询,仅查询当前选中节点
57
- * @value false 关闭分布查询,一次查询出所有数据
58
- * @property {String|DBFieldString} self-field 分布查询当前字段名称
59
- * @property {String|DBFieldString} parent-field 分布查询父字段名称
60
- * @property {String|DBCollectionString} collection 表名
61
- * @property {String|DBFieldString} field 查询字段,多个字段用 `,` 分割
62
- * @property {String} orderby 排序字段及正序倒叙设置
63
- * @property {String|JQLString} where 查询条件
64
- * @event {Function} popupshow 弹出的选择窗口打开时触发此事件
65
- * @event {Function} popuphide 弹出的选择窗口关闭时触发此事件
66
- */
67
- export default {
68
- name: 'UniDataPicker',
69
- emits: ['popupopened', 'popupclosed', 'nodeclick', 'input', 'change', 'update:modelValue'],
70
- mixins: [dataPicker],
71
- components: {
72
- DataPickerView
73
- },
74
- props: {
75
- options: {
76
- type: [Object, Array],
77
- default () {
78
- return {}
79
- }
80
- },
81
- popupTitle: {
82
- type: String,
83
- default: '请选择'
84
- },
85
- placeholder: {
86
- type: String,
87
- default: '请选择'
88
- },
89
- heightMobile: {
90
- type: String,
91
- default: ''
92
- },
93
- readonly: {
94
- type: Boolean,
95
- default: false
96
- },
97
- border: {
98
- type: Boolean,
99
- default: true
100
- },
101
- split: {
102
- type: String,
103
- default: '/'
104
- }
105
- },
106
- data() {
107
- return {
108
- isOpened: false,
109
- inputSelected: []
110
- }
111
- },
112
- created() {
113
- this.form = this.getForm('uniForms')
114
- this.formItem = this.getForm('uniFormsItem')
115
- if (this.formItem) {
116
- if (this.formItem.name) {
117
- this.rename = this.formItem.name
118
- this.form.inputChildrens.push(this)
119
- }
120
- }
121
-
122
- this.$nextTick(() => {
123
- this.load()
124
- })
125
- },
126
- methods: {
127
- onPropsChange() {
128
- this._treeData = []
129
- this.selectedIndex = 0
130
- this.load()
131
- },
132
- load() {
133
- if (this.readonly) {
134
- this._processReadonly(this.localdata, this.dataValue)
135
- return
136
- }
137
-
138
- if (this.isLocaldata) {
139
- this.loadData()
140
- this.inputSelected = this.selected.slice(0)
141
- } else if (!this.parentField && !this.selfField && this.dataValue) {
142
- this.getNodeData(() => {
143
- this.inputSelected = this.selected.slice(0)
144
- })
145
- } else if (this.dataValue.length) {
146
- this.getTreePath(() => {
147
- this.inputSelected = this.selected.slice(0)
148
- })
149
- }
150
- },
151
- getForm(name = 'uniForms') {
152
- let parent = this.$parent;
153
- let parentName = parent.$options.name;
154
- while (parentName !== name) {
155
- parent = parent.$parent;
156
- if (!parent) return false;
157
- parentName = parent.$options.name;
158
- }
159
- return parent;
160
- },
161
- show() {
162
- this.isOpened = true
163
- this.$nextTick(() => {
164
- this.$refs.pickerView.updateData({
165
- treeData: this._treeData,
166
- selected: this.selected,
167
- selectedIndex: this.selectedIndex
168
- })
169
- })
170
- this.$emit('popupopened')
171
- },
172
- hide() {
173
- this.isOpened = false
174
- this.$emit('popupclosed')
175
- },
176
- handleInput() {
177
- if (this.readonly) {
178
- return
179
- }
180
- this.show()
181
- },
182
- handleClose(e) {
183
- this.hide()
184
- },
185
- onnodeclick(e) {
186
- this.$emit('nodeclick', e)
187
- },
188
- ondatachange(e) {
189
- this._treeData = this.$refs.pickerView._treeData
190
- },
191
- onchange(e) {
192
- this.hide()
193
- this.inputSelected = e
194
- this._dispatchEvent(e)
195
- },
196
- _processReadonly(dataList, valueArray) {
197
- var isTree = dataList.findIndex((item) => {
198
- return item.children
199
- })
200
- if (isTree > -1) {
201
- if (Array.isArray(valueArray)) {
202
- let inputValue = valueArray[valueArray.length - 1]
203
- if (typeof inputValue === 'object' && inputValue.value) {
204
- inputValue = inputValue.value
205
- }
206
- }
207
- this.inputSelected = this._findNodePath(inputValue, this.localdata)
208
- return
209
- }
210
-
211
- let result = []
212
- for (let i = 0; i < valueArray.length; i++) {
213
- var value = valueArray[i]
214
- var item = dataList.find((v) => {
215
- return v.value == value
216
- })
217
- if (item) {
218
- result.push(item)
219
- }
220
- }
221
- if (result.length) {
222
- this.inputSelected = result
223
- }
224
- },
225
- _filterForArray(data, valueArray) {
226
- var result = []
227
- for (let i = 0; i < valueArray.length; i++) {
228
- var value = valueArray[i]
229
- var found = data.find((item) => {
230
- return item.value == value
231
- })
232
- if (found) {
233
- result.push(found)
234
- }
235
- }
236
- return result
237
- },
238
- _dispatchEvent(selected) {
239
- var value = new Array(selected.length)
240
- for (var i = 0; i < selected.length; i++) {
241
- value[i] = selected[i].value
242
- }
243
-
244
- const item = selected[selected.length - 1]
245
-
246
- if (this.formItem) {
247
- this.formItem.setValue(item.value)
248
- }
249
-
250
- this.$emit('input', item.value)
251
- this.$emit('update:modelValue', item.value)
252
- this.$emit('change', {
253
- detail: {
254
- value: selected
255
- }
256
- })
257
- }
258
- }
259
- }
260
- </script>
261
-
262
- <style scoped>
263
- .uni-data-tree {
264
- position: relative;
265
- font-size: 14px;
266
- }
267
-
268
- .error-text {
269
- color: #DD524D;
270
- }
271
-
272
- .input-value {
273
- /* #ifndef APP-NVUE */
274
- display: flex;
275
- /* #endif */
276
- flex-direction: row;
277
- align-items: center;
278
- flex-wrap: nowrap;
279
- font-size: 14px;
280
- line-height: 38px;
281
- padding: 0 5px;
282
- overflow: hidden;
283
- /* #ifdef APP-NVUE */
284
- height: 40px;
285
- /* #endif */
286
- }
287
-
288
- .input-value-border {
289
- border: 1px solid #e5e5e5;
290
- border-radius: 5px;
291
- }
292
-
293
- .selected-area {
294
- flex: 1;
295
- overflow: hidden;
296
- /* #ifndef APP-NVUE */
297
- display: flex;
298
- /* #endif */
299
- flex-direction: row;
300
- }
301
-
302
- .load-more {
303
- /* #ifndef APP-NVUE */
304
- margin-right: auto;
305
- /* #endif */
306
- /* #ifdef APP-NVUE */
307
- width: 40px;
308
- /* #endif */
309
- }
310
-
311
- .selected-list {
312
- /* #ifndef APP-NVUE */
313
- display: flex;
314
- /* #endif */
315
- flex-direction: row;
316
- flex-wrap: nowrap;
317
- padding: 0 5px;
318
- }
319
-
320
- .selected-item {
321
- flex-direction: row;
322
- padding: 0 1px;
323
- /* #ifndef APP-NVUE */
324
- white-space: nowrap;
325
- /* #endif */
326
- }
327
-
328
- .placeholder {
329
- color: grey;
330
- }
331
-
332
- .input-split-line {
333
- opacity: 0.5;
334
- }
335
-
336
- .arrow-area {
337
- position: relative;
338
- width: 20px;
339
- /* #ifndef APP-NVUE */
340
- margin-left: auto;
341
- display: flex;
342
- /* #endif */
343
- justify-content: center;
344
- transform: rotate(-45deg);
345
- transform-origin: center;
346
- }
347
-
348
- .input-arrow {
349
- width: 7px;
350
- height: 7px;
351
- border-left: 1px solid #999;
352
- border-bottom: 1px solid #999;
353
- }
354
-
355
- .uni-data-tree-cover {
356
- position: fixed;
357
- left: 0;
358
- top: 0;
359
- right: 0;
360
- bottom: 0;
361
- background-color: rgba(0, 0, 0, 0.4);
362
- /* #ifndef APP-NVUE */
363
- display: flex;
364
- /* #endif */
365
- flex-direction: column;
366
- z-index: 100;
367
- }
368
-
369
- .uni-data-tree-dialog {
370
- position: fixed;
371
- left: 0;
372
- top: 20%;
373
- right: 0;
374
- bottom: 0;
375
- background-color: #FFFFFF;
376
- border-top-left-radius: 10px;
377
- border-top-right-radius: 10px;
378
- /* #ifndef APP-NVUE */
379
- display: flex;
380
- /* #endif */
381
- flex-direction: column;
382
- z-index: 102;
383
- overflow: hidden;
384
- /* #ifdef APP-NVUE */
385
- width: 750rpx;
386
- /* #endif */
387
- }
388
-
389
- .dialog-caption {
390
- position: relative;
391
- /* #ifndef APP-NVUE */
392
- display: flex;
393
- /* #endif */
394
- flex-direction: row;
395
- border-bottom: 1px solid #f0f0f0;
396
- }
397
-
398
- .title-area {
399
- /* #ifndef APP-NVUE */
400
- display: flex;
401
- /* #endif */
402
- align-items: center;
403
- /* #ifndef APP-NVUE */
404
- margin: auto;
405
- /* #endif */
406
- padding: 0 10px;
407
- }
408
-
409
- .dialog-title {
410
- font-weight: bold;
411
- line-height: 44px;
412
- }
413
-
414
- .dialog-close {
415
- position: absolute;
416
- top: 0;
417
- right: 0;
418
- bottom: 0;
419
- /* #ifndef APP-NVUE */
420
- display: flex;
421
- /* #endif */
422
- flex-direction: row;
423
- align-items: center;
424
- padding: 0 15px;
425
- }
426
-
427
- .dialog-close-plus {
428
- width: 16px;
429
- height: 2px;
430
- background-color: #666;
431
- border-radius: 2px;
432
- transform: rotate(45deg);
433
- }
434
-
435
- .dialog-close-rotate {
436
- position: absolute;
437
- transform: rotate(-45deg);
438
- }
439
-
440
- .picker-view {
441
- flex: 1;
442
- overflow: hidden;
443
- }
444
-
445
- /* #ifdef H5 */
446
- @media all and (min-width: 768px) {
447
- .uni-data-tree-cover {
448
- background-color: transparent;
449
- }
450
-
451
- .uni-data-tree-dialog {
452
- position: absolute;
453
- top: 100%;
454
- height: auto;
455
- min-height: 400px;
456
- max-height: 50vh;
457
- background-color: #fff;
458
- border-radius: 5px;
459
- box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.3);
460
- }
461
-
462
- .dialog-caption {
463
- display: none;
464
- }
465
- }
466
-
467
- /* #endif */
468
- </style>