@10yun/cv-mobile-ui 0.4.2 → 0.4.3

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 (166) hide show
  1. package/package.json +1 -1
  2. package/ui-uni/amap-wx/js/util.js +166 -158
  3. package/ui-uni/page-foot/page-foot.vue +38 -0
  4. package/ui-uni/page-head/page-head.vue +16 -0
  5. package/ui-uni/product.vue +52 -52
  6. package/ui-uni/u-charts/u-charts.js +743 -1092
  7. package/ui-uni/u-link/u-link.vue +59 -0
  8. package/ui-uni/uni-badge/uni-badge.vue +250 -0
  9. package/ui-uni/uni-calendar/calendar.js +546 -0
  10. package/ui-uni/uni-calendar/uni-calendar-item.vue +171 -0
  11. package/ui-uni/uni-calendar/uni-calendar.vue +504 -0
  12. package/{ui-cv/cv-calendar → ui-uni/uni-calendar}/util.js +0 -0
  13. package/ui-uni/uni-card/uni-card.vue +420 -0
  14. package/ui-uni/uni-col/uni-col.vue +2968 -0
  15. package/ui-uni/uni-collapse/uni-collapse.vue +146 -0
  16. package/ui-uni/uni-collapse-item/uni-collapse-item.vue +378 -0
  17. package/ui-uni/uni-combox/uni-combox.vue +237 -0
  18. package/ui-uni/uni-countdown/uni-countdown.vue +234 -0
  19. package/ui-uni/uni-data-checkbox/uni-data-checkbox.vue +792 -0
  20. package/{ui-cv/cv-data-indexed-list → ui-uni/uni-data-indexed-list}/clientdb.js +0 -0
  21. package/ui-uni/uni-data-indexed-list/uni-data-indexed-list-item.vue +142 -0
  22. package/ui-uni/uni-data-indexed-list/uni-data-indexed-list.vue +364 -0
  23. package/{ui-cv/cv-data-picker → ui-uni/uni-data-picker}/keypress.js +0 -0
  24. package/ui-uni/uni-data-picker/uni-data-picker.vue +468 -0
  25. package/{ui-cv/cv-data-pickerview/cv-data-picker.js → ui-uni/uni-data-pickerview/uni-data-picker.js} +0 -0
  26. package/ui-uni/uni-data-pickerview/uni-data-pickerview.vue +298 -0
  27. package/{ui-cv/cv-dateformat → ui-uni/uni-dateformat}/date-format.js +0 -0
  28. package/ui-uni/uni-dateformat/uni-dateformat.vue +88 -0
  29. package/{ui-cv/cv-datetime-picker → ui-uni/uni-datetime-picker}/calendar-item.vue +0 -0
  30. package/{ui-cv/cv-datetime-picker → ui-uni/uni-datetime-picker}/calendar.js +0 -0
  31. package/ui-uni/uni-datetime-picker/calendar.vue +747 -0
  32. package/{ui-cv/cv-datetime-picker → ui-uni/uni-datetime-picker}/keypress.js +0 -0
  33. package/ui-uni/uni-datetime-picker/time-picker.vue +899 -0
  34. package/ui-uni/uni-datetime-picker/uni-datetime-picker.vue +874 -0
  35. package/{ui-cv/cv-datetime-picker → ui-uni/uni-datetime-picker}/util.js +0 -0
  36. package/ui-uni/uni-drawer/keypress.js +45 -0
  37. package/ui-uni/uni-drawer/uni-drawer.vue +178 -0
  38. package/{ui-cv/cv-easyinput → ui-uni/uni-easyinput}/common.js +0 -0
  39. package/ui-uni/uni-easyinput/uni-easyinput.vue +438 -0
  40. package/ui-uni/uni-fab/uni-fab.vue +443 -0
  41. package/{ui-cv/cv-fab/cv-fab.vue.bak → ui-uni/uni-fab/uni-fab.vue.bak} +2 -2
  42. package/ui-uni/uni-fav/uni-fav.vue +136 -0
  43. package/{ui-cv/cv-file-picker → ui-uni/uni-file-picker}/choose-and-upload-file.js +0 -0
  44. package/ui-uni/uni-file-picker/uni-file-picker.vue +614 -0
  45. package/{ui-cv/cv-file-picker → ui-uni/uni-file-picker}/upload-file.vue +0 -0
  46. package/{ui-cv/cv-file-picker → ui-uni/uni-file-picker}/upload-image.vue +0 -0
  47. package/{ui-cv/cv-file-picker → ui-uni/uni-file-picker}/utils.js +0 -0
  48. package/ui-uni/uni-forms/uni-forms.vue +467 -0
  49. package/ui-uni/uni-forms/validate.js +486 -0
  50. package/ui-uni/uni-forms-item/uni-forms-item.vue +500 -0
  51. package/{ui-cv/cv-goods-nav/cv-goods-nav.vue → ui-uni/uni-goods-nav/uni-goods-nav.vue} +1 -1
  52. package/ui-uni/uni-grid/uni-grid.vue +141 -0
  53. package/ui-uni/uni-grid-item/uni-grid-item.vue +123 -0
  54. package/ui-uni/uni-group/uni-group.vue +123 -0
  55. package/ui-uni/uni-icons/icons.js +132 -0
  56. package/ui-uni/uni-icons/uni-icons.vue +72 -0
  57. package/{ui-cv/cv-icon2 → ui-uni/uni-icons}/uni.ttf +0 -0
  58. package/ui-uni/uni-indexed-list/uni-indexed-list-item.vue +142 -0
  59. package/ui-uni/uni-indexed-list/uni-indexed-list.vue +357 -0
  60. package/ui-uni/uni-link/uni-link.vue +117 -0
  61. package/ui-uni/uni-list/uni-list.vue +107 -0
  62. package/ui-uni/uni-list/uni-refresh.vue +65 -0
  63. package/{ui-cv/cv-list → ui-uni/uni-list}/uni-refresh.wxs +0 -0
  64. package/ui-uni/uni-list-ad/uni-list-ad.vue +106 -0
  65. package/{ui-cv/cv-list-chat/cv-list-chat.scss → ui-uni/uni-list-chat/uni-list-chat.scss} +0 -0
  66. package/{ui-cv/cv-list-chat/cv-list-chat.vue → ui-uni/uni-list-chat/uni-list-chat.vue} +0 -0
  67. package/ui-uni/uni-list-item/uni-list-item.vue +428 -0
  68. package/ui-uni/uni-load-more/uni-load-more.vue +366 -0
  69. package/ui-uni/uni-nav-bar/uni-nav-bar.vue +244 -0
  70. package/{ui-cv/cv-nav-bar/cv-status-bar.vue → ui-uni/uni-nav-bar/uni-status-bar.vue} +0 -0
  71. package/ui-uni/uni-notice-bar/uni-notice-bar.vue +394 -0
  72. package/ui-uni/uni-number-box/uni-number-box.vue +224 -0
  73. package/ui-uni/uni-pagination/uni-pagination.vue +376 -0
  74. package/{ui-cv/cv-popup → ui-uni/uni-popup}/keypress.js +0 -0
  75. package/{ui-cv/cv-popup → ui-uni/uni-popup}/popup.js +0 -0
  76. package/ui-uni/uni-popup/uni-popup.vue +412 -0
  77. package/{ui-cv/cv-popup-dialog → ui-uni/uni-popup-dialog}/keypress.js +0 -0
  78. package/{ui-cv/cv-popup-dialog/cv-popup-dialog.vue → ui-uni/uni-popup-dialog/uni-popup-dialog.vue} +0 -0
  79. package/ui-uni/uni-popup-message/uni-popup-message.vue +143 -0
  80. package/{ui-cv/cv-popup-share/cv-popup-share.vue → ui-uni/uni-popup-share/uni-popup-share.vue} +0 -0
  81. package/ui-uni/uni-rate/uni-rate.vue +357 -0
  82. package/ui-uni/uni-row/uni-row.vue +155 -0
  83. package/ui-uni/uni-search-bar/uni-search-bar.vue +262 -0
  84. package/{ui-cv/cv-section/cv-section.vue → ui-uni/uni-section/uni-section.vue} +0 -0
  85. package/{ui-cv/cv-segmented-control/cv-segmented-control.vue → ui-uni/uni-segmented-control/uni-segmented-control.vue} +0 -0
  86. package/{ui-cv/cv-status-bar/cv-status-bar.vue → ui-uni/uni-status-bar/uni-status-bar.vue} +0 -0
  87. package/ui-uni/uni-steps/uni-steps.vue +250 -0
  88. package/{ui-cv/cv-swipe-action/cv-swipe-action.vue → ui-uni/uni-swipe-action/uni-swipe-action.vue} +0 -0
  89. package/{ui-cv/cv-swipe-action-item → ui-uni/uni-swipe-action-item}/bindingx.js +0 -0
  90. package/{ui-cv/cv-swipe-action-item → ui-uni/uni-swipe-action-item}/index.wxs +0 -0
  91. package/{ui-cv/cv-swipe-action-item → ui-uni/uni-swipe-action-item}/isPC.js +0 -0
  92. package/{ui-cv/cv-swipe-action-item → ui-uni/uni-swipe-action-item}/mpalipay.js +0 -0
  93. package/{ui-cv/cv-swipe-action-item → ui-uni/uni-swipe-action-item}/mpother.js +0 -0
  94. package/{ui-cv/cv-swipe-action-item → ui-uni/uni-swipe-action-item}/mpwxs.js +0 -0
  95. package/{ui-cv/cv-swipe-action-item/cv-swipe-action-item.vue → ui-uni/uni-swipe-action-item/uni-swipe-action-item.vue} +0 -0
  96. package/ui-uni/uni-swiper-dot/uni-swiper-dot.vue +205 -0
  97. package/ui-uni/uni-table/uni-table.vue +455 -0
  98. package/ui-uni/uni-tag/uni-tag.vue +283 -0
  99. package/ui-uni/uni-tbody/uni-tbody.vue +30 -0
  100. package/ui-uni/uni-td/uni-td.vue +88 -0
  101. package/{ui-cv/cv-test/cv-test.vue → ui-uni/uni-test/uni-test.vue} +0 -0
  102. package/{ui-cv/cv-th → ui-uni/uni-th}/filter-dropdown.vue +0 -0
  103. package/ui-uni/uni-th/uni-th.vue +259 -0
  104. package/ui-uni/uni-thead/uni-thead.vue +114 -0
  105. package/ui-uni/uni-title/uni-title.vue +171 -0
  106. package/{ui-cv/cv-tr → ui-uni/uni-tr}/table-checkbox.vue +0 -0
  107. package/ui-uni/uni-tr/uni-tr.vue +156 -0
  108. package/{ui-cv/cv-transition → ui-uni/uni-transition}/createAnimation.js +0 -0
  109. package/ui-uni/uni-transition/uni-transition.vue +287 -0
  110. package/ui-cv/cv-badge/cv-badge.vue +0 -249
  111. package/ui-cv/cv-calendar/calendar.js +0 -963
  112. package/ui-cv/cv-calendar/cv-calendar-item.vue +0 -198
  113. package/ui-cv/cv-calendar/cv-calendar.vue +0 -508
  114. package/ui-cv/cv-card/cv-card.vue +0 -427
  115. package/ui-cv/cv-col/cv-col.vue +0 -2965
  116. package/ui-cv/cv-collapse/cv-collapse.vue +0 -146
  117. package/ui-cv/cv-collapse-item/cv-collapse-item.vue +0 -395
  118. package/ui-cv/cv-combox/cv-combox.vue +0 -250
  119. package/ui-cv/cv-countdown/cv-countdown.vue +0 -245
  120. package/ui-cv/cv-data-checkbox/cv-data-checkbox.vue +0 -841
  121. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list-item.vue +0 -154
  122. package/ui-cv/cv-data-indexed-list/cv-data-indexed-list.vue +0 -376
  123. package/ui-cv/cv-data-picker/cv-data-picker.vue +0 -486
  124. package/ui-cv/cv-data-pickerview/cv-data-pickerview.vue +0 -304
  125. package/ui-cv/cv-dateformat/cv-dateformat.vue +0 -86
  126. package/ui-cv/cv-datetime-picker/calendar.vue +0 -761
  127. package/ui-cv/cv-datetime-picker/cv-datetime-picker.vue +0 -958
  128. package/ui-cv/cv-datetime-picker/time-picker.vue +0 -907
  129. package/ui-cv/cv-drawer/cv-drawer.vue +0 -185
  130. package/ui-cv/cv-drawer/keypress.js +0 -45
  131. package/ui-cv/cv-easyinput/cv-easyinput.vue +0 -514
  132. package/ui-cv/cv-fab/cv-fab.vue +0 -465
  133. package/ui-cv/cv-fav/cv-fav.vue +0 -150
  134. package/ui-cv/cv-file-picker/cv-file-picker.vue +0 -619
  135. package/ui-cv/cv-form-base/cv-form-base.vue +0 -470
  136. package/ui-cv/cv-form-base/validate.js +0 -477
  137. package/ui-cv/cv-grid-group/cv-grid-group.vue +0 -148
  138. package/ui-cv/cv-grid-item/cv-grid-item.vue +0 -132
  139. package/ui-cv/cv-icon2/cv-icon2.vue +0 -78
  140. package/ui-cv/cv-icon2/icons.js +0 -132
  141. package/ui-cv/cv-indexed-list/cv-indexed-list-item.vue +0 -154
  142. package/ui-cv/cv-indexed-list/cv-indexed-list.vue +0 -371
  143. package/ui-cv/cv-link2/cv-link2.vue +0 -130
  144. package/ui-cv/cv-list/cv-list.vue +0 -107
  145. package/ui-cv/cv-list/cv-refresh.vue +0 -65
  146. package/ui-cv/cv-list-ad/cv-list-ad.vue +0 -113
  147. package/ui-cv/cv-list-item/cv-list-item.vue +0 -449
  148. package/ui-cv/cv-nav-bar/cv-nav-bar.vue +0 -256
  149. package/ui-cv/cv-notice-bar/cv-notice-bar.vue +0 -453
  150. package/ui-cv/cv-number-box/cv-number-box.vue +0 -223
  151. package/ui-cv/cv-pagination/cv-pagination.vue +0 -397
  152. package/ui-cv/cv-popup/cv-popup.vue +0 -429
  153. package/ui-cv/cv-popup-message/cv-popup-message.vue +0 -143
  154. package/ui-cv/cv-row/cv-row.vue +0 -157
  155. package/ui-cv/cv-search-bar/cv-search-bar.vue +0 -280
  156. package/ui-cv/cv-steps/cv-steps.vue +0 -293
  157. package/ui-cv/cv-swiper-dot/cv-swiper-dot.vue +0 -255
  158. package/ui-cv/cv-table/cv-table.vue +0 -460
  159. package/ui-cv/cv-tag/cv-tag.vue +0 -276
  160. package/ui-cv/cv-tbody/cv-tbody.vue +0 -28
  161. package/ui-cv/cv-td/cv-td.vue +0 -93
  162. package/ui-cv/cv-th/cv-th.vue +0 -270
  163. package/ui-cv/cv-thead/cv-thead.vue +0 -114
  164. package/ui-cv/cv-title/cv-title.vue +0 -168
  165. package/ui-cv/cv-tr/cv-tr.vue +0 -166
  166. package/ui-cv/cv-transition/cv-transition.vue +0 -279
@@ -0,0 +1,468 @@
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>