@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
@@ -1,429 +0,0 @@
1
- <template>
2
- <view
3
- v-if="showPopup"
4
- class="uni-popup"
5
- :class="[popupstyle, isDesktop ? 'fixforpc-z-index' : '']"
6
- @touchmove.stop.prevent="clear"
7
- >
8
- <view @touchstart="touchstart">
9
- <cv-transition
10
- key="1"
11
- v-if="maskShow"
12
- name="mask"
13
- mode-class="fade"
14
- :styles="maskClass"
15
- :duration="duration"
16
- :show="showTrans"
17
- @click="onTap"
18
- />
19
- <cv-transition
20
- key="2"
21
- :mode-class="ani"
22
- name="content"
23
- :styles="transClass"
24
- :duration="duration"
25
- :show="showTrans"
26
- @click="onTap"
27
- >
28
- <view class="uni-popup__wrapper" :style="{ backgroundColor: bg }" :class="[popupstyle]" @click="clear">
29
- <slot />
30
- </view>
31
- </cv-transition>
32
- </view>
33
- <!-- #ifdef H5 -->
34
- <keypress v-if="maskShow" @esc="onTap" />
35
- <!-- #endif -->
36
- </view>
37
- </template>
38
-
39
- <script>
40
- // #ifdef H5
41
- import keypress from './keypress.js';
42
- // #endif
43
-
44
- /**
45
- * PopUp 弹出层
46
- * @description 弹出层组件,为了解决遮罩弹层的问题
47
- * @tutorial https://ext.dcloud.net.cn/plugin?id=329
48
- * @property {String} type = [top|center|bottom|left|right|message|dialog|share] 弹出方式
49
- * @value top 顶部弹出
50
- * @value center 中间弹出
51
- * @value bottom 底部弹出
52
- * @value left 左侧弹出
53
- * @value right 右侧弹出
54
- * @value message 消息提示
55
- * @value dialog 对话框
56
- * @value share 底部分享示例
57
- * @property {Boolean} animation = [ture|false] 是否开启动画
58
- * @property {Boolean} maskClick = [ture|false] 蒙版点击是否关闭弹窗
59
- * @property {String} backgroundColor 主窗口背景色
60
- * @property {Boolean} safeArea 是否适配底部安全区
61
- * @event {Function} change 打开关闭弹窗触发,e={show: false}
62
- */
63
-
64
- export default {
65
- name: 'cvPopup',
66
- components: {
67
- // #ifdef H5
68
- keypress
69
- // #endif
70
- },
71
- emits: ['change', 'maskClick'],
72
- props: {
73
- // 开启动画
74
- animation: {
75
- type: Boolean,
76
- default: true
77
- },
78
- // 弹出层类型,可选值,top: 顶部弹出层;bottom:底部弹出层;center:全屏弹出层
79
- // message: 消息提示 ; dialog : 对话框
80
- type: {
81
- type: String,
82
- default: 'center'
83
- },
84
- // maskClick
85
- maskClick: {
86
- type: Boolean,
87
- default: true
88
- },
89
- backgroundColor: {
90
- type: String,
91
- default: 'none'
92
- },
93
- safeArea: {
94
- type: Boolean,
95
- default: true
96
- }
97
- },
98
-
99
- watch: {
100
- /**
101
- * 监听type类型
102
- */
103
- type: {
104
- handler: function (type) {
105
- if (!this.config[type]) return;
106
- this[this.config[type]](true);
107
- },
108
- immediate: true
109
- },
110
- isDesktop: {
111
- handler: function (newVal) {
112
- if (!this.config[newVal]) return;
113
- this[this.config[this.type]](true);
114
- },
115
- immediate: true
116
- },
117
- /**
118
- * 监听遮罩是否可点击
119
- * @param {Object} val
120
- */
121
- maskClick: {
122
- handler: function (val) {
123
- this.mkclick = val;
124
- },
125
- immediate: true
126
- }
127
- },
128
- data() {
129
- return {
130
- duration: 300,
131
- ani: [],
132
- showPopup: false,
133
- showTrans: false,
134
- popupWidth: 0,
135
- popupHeight: 0,
136
- config: {
137
- top: 'top',
138
- bottom: 'bottom',
139
- center: 'center',
140
- left: 'left',
141
- right: 'right',
142
- message: 'top',
143
- dialog: 'center',
144
- share: 'bottom'
145
- },
146
- maskClass: {
147
- position: 'fixed',
148
- bottom: 0,
149
- top: 0,
150
- left: 0,
151
- right: 0,
152
- backgroundColor: 'rgba(0, 0, 0, 0.4)'
153
- },
154
- transClass: {
155
- position: 'fixed',
156
- left: 0,
157
- right: 0
158
- },
159
- maskShow: true,
160
- mkclick: true,
161
- popupstyle: this.isDesktop ? 'fixforpc-top' : 'top'
162
- };
163
- },
164
- computed: {
165
- isDesktop() {
166
- return this.popupWidth >= 500 && this.popupHeight >= 500;
167
- },
168
- bg() {
169
- if (this.backgroundColor === '' || this.backgroundColor === 'none') {
170
- return 'transparent';
171
- }
172
- return this.backgroundColor;
173
- }
174
- },
175
- mounted() {
176
- const fixSize = () => {
177
- const { windowWidth, windowHeight, windowTop, safeAreaInsets } = uni.getSystemInfoSync();
178
- this.popupWidth = windowWidth;
179
- this.popupHeight = windowHeight + windowTop;
180
- // 是否适配底部安全区
181
- if (this.safeArea) {
182
- this.safeAreaInsets = safeAreaInsets;
183
- } else {
184
- this.safeAreaInsets = 0;
185
- }
186
- };
187
- fixSize();
188
- // #ifdef H5
189
- // window.addEventListener('resize', fixSize)
190
- // this.$once('hook:beforeDestroy', () => {
191
- // window.removeEventListener('resize', fixSize)
192
- // })
193
- // #endif
194
- },
195
- created() {
196
- this.mkclick = this.maskClick;
197
- if (this.animation) {
198
- this.duration = 300;
199
- } else {
200
- this.duration = 0;
201
- }
202
- // TODO 处理 message 组件生命周期异常的问题
203
- this.messageChild = null;
204
- // TODO 解决头条冒泡的问题
205
- this.clearPropagation = false;
206
- },
207
- methods: {
208
- /**
209
- * 公用方法,不显示遮罩层
210
- */
211
- closeMask() {
212
- this.maskShow = false;
213
- },
214
- /**
215
- * 公用方法,遮罩层禁止点击
216
- */
217
- disableMask() {
218
- this.mkclick = false;
219
- },
220
- // TODO nvue 取消冒泡
221
- clear(e) {
222
- // #ifndef APP-NVUE
223
- e.stopPropagation();
224
- // #endif
225
- this.clearPropagation = true;
226
- },
227
-
228
- open(direction) {
229
- let innerType = ['top', 'center', 'bottom', 'left', 'right', 'message', 'dialog', 'share'];
230
- if (!(direction && innerType.indexOf(direction) !== -1)) {
231
- direction = this.type;
232
- }
233
- if (!this.config[direction]) {
234
- console.error('缺少类型:', direction);
235
- return;
236
- }
237
- this[this.config[direction]]();
238
- this.$emit('change', {
239
- show: true,
240
- type: direction
241
- });
242
- },
243
- close(type) {
244
- this.showTrans = false;
245
- this.$emit('change', {
246
- show: false,
247
- type: this.type
248
- });
249
- clearTimeout(this.timer);
250
- // // 自定义关闭事件
251
- // this.customOpen && this.customClose()
252
- this.timer = setTimeout(() => {
253
- this.showPopup = false;
254
- }, 300);
255
- },
256
- // TODO 处理冒泡事件,头条的冒泡事件有问题 ,先这样兼容
257
- touchstart() {
258
- this.clearPropagation = false;
259
- },
260
-
261
- onTap() {
262
- if (this.clearPropagation) {
263
- // fix by mehaotian 兼容 nvue
264
- this.clearPropagation = false;
265
- return;
266
- }
267
- this.$emit('maskClick');
268
- if (!this.mkclick) return;
269
- this.close();
270
- },
271
- /**
272
- * 顶部弹出样式处理
273
- */
274
- top(type) {
275
- this.popupstyle = this.isDesktop ? 'fixforpc-top' : 'top';
276
- this.ani = ['slide-top'];
277
- this.transClass = {
278
- position: 'fixed',
279
- left: 0,
280
- right: 0,
281
- backgroundColor: this.bg
282
- };
283
- // TODO 兼容 type 属性 ,后续会废弃
284
- if (type) return;
285
- this.showPopup = true;
286
- this.showTrans = true;
287
- this.$nextTick(() => {
288
- if (this.messageChild && this.type === 'message') {
289
- this.messageChild.timerClose();
290
- }
291
- });
292
- },
293
- /**
294
- * 底部弹出样式处理
295
- */
296
- bottom(type) {
297
- this.popupstyle = 'bottom';
298
- this.ani = ['slide-bottom'];
299
-
300
- this.transClass = {
301
- position: 'fixed',
302
- left: 0,
303
- right: 0,
304
- bottom: 0,
305
- paddingBottom: (this.safeAreaInsets && this.safeAreaInsets.bottom) || 0,
306
- backgroundColor: this.bg
307
- };
308
- // TODO 兼容 type 属性 ,后续会废弃
309
- if (type) return;
310
- this.showPopup = true;
311
- this.showTrans = true;
312
- },
313
- /**
314
- * 中间弹出样式处理
315
- */
316
- center(type) {
317
- this.popupstyle = 'center';
318
- this.ani = ['zoom-out', 'fade'];
319
- this.transClass = {
320
- position: 'fixed',
321
- /* #ifndef APP-NVUE */
322
- display: 'flex',
323
- flexDirection: 'column',
324
- /* #endif */
325
- bottom: 0,
326
- left: 0,
327
- right: 0,
328
- top: 0,
329
- justifyContent: 'center',
330
- alignItems: 'center'
331
- };
332
- // TODO 兼容 type 属性 ,后续会废弃
333
- if (type) return;
334
- this.showPopup = true;
335
- this.showTrans = true;
336
- },
337
- left(type) {
338
- this.popupstyle = 'left';
339
- this.ani = ['slide-left'];
340
- this.transClass = {
341
- position: 'fixed',
342
- left: 0,
343
- bottom: 0,
344
- top: 0,
345
- backgroundColor: this.bg,
346
- /* #ifndef APP-NVUE */
347
- display: 'flex',
348
- flexDirection: 'column'
349
- /* #endif */
350
- };
351
- // TODO 兼容 type 属性 ,后续会废弃
352
- if (type) return;
353
- this.showPopup = true;
354
- this.showTrans = true;
355
- },
356
- right(type) {
357
- this.popupstyle = 'right';
358
- this.ani = ['slide-right'];
359
- this.transClass = {
360
- position: 'fixed',
361
- bottom: 0,
362
- right: 0,
363
- top: 0,
364
- backgroundColor: this.bg,
365
- /* #ifndef APP-NVUE */
366
- display: 'flex',
367
- flexDirection: 'column'
368
- /* #endif */
369
- };
370
- // TODO 兼容 type 属性 ,后续会废弃
371
- if (type) return;
372
- this.showPopup = true;
373
- this.showTrans = true;
374
- }
375
- }
376
- };
377
- </script>
378
- <style scoped>
379
- @charset "UTF-8";
380
-
381
- .uni-popup {
382
- position: fixed;
383
- /* #ifndef APP-NVUE */
384
- z-index: 99;
385
- /* #endif */
386
- }
387
-
388
- .uni-popup.top,
389
- .uni-popup.left,
390
- .uni-popup.right {
391
- /* #ifdef H5 */
392
- top: var(--window-top);
393
- /* #endif */
394
- /* #ifndef H5 */
395
- top: 0;
396
- /* #endif */
397
- }
398
-
399
- .uni-popup .uni-popup__wrapper {
400
- /* #ifndef APP-NVUE */
401
- display: block;
402
- /* #endif */
403
- position: relative;
404
- /* iphonex 等安全区设置,底部安全区适配 */
405
- /* #ifndef APP-NVUE */
406
- /* #endif */
407
- }
408
-
409
- .uni-popup .uni-popup__wrapper.left,
410
- .uni-popup .uni-popup__wrapper.right {
411
- /* #ifdef H5 */
412
- padding-top: var(--window-top);
413
- /* #endif */
414
- /* #ifndef H5 */
415
- padding-top: 0;
416
- /* #endif */
417
- flex: 1;
418
- }
419
-
420
- .fixforpc-z-index {
421
- /* #ifndef APP-NVUE */
422
- z-index: 999;
423
- /* #endif */
424
- }
425
-
426
- .fixforpc-top {
427
- top: 0;
428
- }
429
- </style>
@@ -1,143 +0,0 @@
1
- <template>
2
- <view class="uni-popup-message">
3
- <view class="uni-popup-message__box fixforpc-width" :class="'uni-popup__' + type">
4
- <slot>
5
- <text class="uni-popup-message-text" :class="'uni-popup__' + type + '-text'">{{ message }}</text>
6
- </slot>
7
- </view>
8
- </view>
9
- </template>
10
-
11
- <script>
12
- import popup from '../uni-popup/popup.js';
13
- /**
14
- * PopUp 弹出层-消息提示
15
- * @description 弹出层-消息提示
16
- * @tutorial https://ext.dcloud.net.cn/plugin?id=329
17
- * @property {String} type = [success|warning|info|error] 主题样式
18
- * @value success 成功
19
- * @value warning 提示
20
- * @value info 消息
21
- * @value error 错误
22
- * @property {String} message 消息提示文字
23
- * @property {String} duration 显示时间,设置为 0 则不会自动关闭
24
- */
25
-
26
- export default {
27
- name: 'cvPopupMessage',
28
- mixins: [popup],
29
- props: {
30
- /**
31
- * 主题 success/warning/info/error 默认 success
32
- */
33
- type: {
34
- type: String,
35
- default: 'success'
36
- },
37
- /**
38
- * 消息文字
39
- */
40
- message: {
41
- type: String,
42
- default: ''
43
- },
44
- /**
45
- * 显示时间,设置为 0 则不会自动关闭
46
- */
47
- duration: {
48
- type: Number,
49
- default: 3000
50
- },
51
- maskShow: {
52
- type: Boolean,
53
- default: false
54
- }
55
- },
56
- data() {
57
- return {};
58
- },
59
- created() {
60
- this.popup.maskShow = this.maskShow;
61
- this.popup.messageChild = this;
62
- },
63
- methods: {
64
- timerClose() {
65
- if (this.duration === 0) return;
66
- clearTimeout(this.timer);
67
- this.timer = setTimeout(() => {
68
- this.popup.close();
69
- }, this.duration);
70
- }
71
- }
72
- };
73
- </script>
74
- <style scoped>
75
- .uni-popup-message {
76
- /* #ifndef APP-NVUE */
77
- display: flex;
78
- /* #endif */
79
- flex-direction: row;
80
- justify-content: center;
81
- }
82
-
83
- .uni-popup-message__box {
84
- background-color: #e1f3d8;
85
- padding: 10px 15px;
86
- border-color: #eee;
87
- border-style: solid;
88
- border-width: 1px;
89
- flex: 1;
90
- }
91
-
92
- @media screen and (min-width: 500px) {
93
- .fixforpc-width {
94
- margin-top: 20px;
95
- border-radius: 4px;
96
- flex: none;
97
- min-width: 380px;
98
- /* #ifndef APP-NVUE */
99
- max-width: 50%;
100
- /* #endif */
101
- /* #ifdef APP-NVUE */
102
- max-width: 500px;
103
- /* #endif */
104
- }
105
- }
106
-
107
- .uni-popup-message-text {
108
- font-size: 14px;
109
- padding: 0;
110
- }
111
-
112
- .uni-popup__success {
113
- background-color: #e1f3d8;
114
- }
115
-
116
- .uni-popup__success-text {
117
- color: #67c23a;
118
- }
119
-
120
- .uni-popup__warn {
121
- background-color: #faecd8;
122
- }
123
-
124
- .uni-popup__warn-text {
125
- color: #e6a23c;
126
- }
127
-
128
- .uni-popup__error {
129
- background-color: #fde2e2;
130
- }
131
-
132
- .uni-popup__error-text {
133
- color: #f56c6c;
134
- }
135
-
136
- .uni-popup__info {
137
- background-color: #f2f6fc;
138
- }
139
-
140
- .uni-popup__info-text {
141
- color: #909399;
142
- }
143
- </style>
@@ -1,157 +0,0 @@
1
- <template>
2
- <view
3
- :class="['uni-row', typeClass, justifyClass, alignClass]"
4
- :style="{
5
- marginLeft: `${Number(marginValue)}rpx`,
6
- marginRight: `${Number(marginValue)}rpx`
7
- }"
8
- >
9
- <slot></slot>
10
- </view>
11
- </template>
12
-
13
- <script>
14
- const ComponentClass = 'uni-row';
15
- const modifierSeparator = '--';
16
- /**
17
- * Row 布局-行
18
- * @description 流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。
19
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3958
20
- *
21
- * @property {gutter} type = Number 栅格间隔
22
- * @property {justify} type = String flex 布局下的水平排列方式
23
- * 可选 start/end/center/space-around/space-between start
24
- * 默认值 start
25
- * @property {align} type = String flex 布局下的垂直排列方式
26
- * 可选 top/middle/bottom
27
- * 默认值 top
28
- * @property {width} type = String|Number nvue下需要自行配置宽度用于计算
29
- * 默认值 750
30
- */
31
-
32
- export default {
33
- name: 'cvRow',
34
- componentName: 'uniRow',
35
- // #ifdef MP-WEIXIN
36
- options: {
37
- virtualHost: true // 在微信小程序中将组件节点渲染为虚拟节点,更加接近Vue组件的表现,可使用flex布局
38
- },
39
- // #endif
40
- props: {
41
- type: String,
42
- gutter: Number,
43
- justify: {
44
- type: String,
45
- default: 'start'
46
- },
47
- align: {
48
- type: String,
49
- default: 'top'
50
- },
51
- // nvue如果使用span等属性,需要配置宽度
52
- width: {
53
- type: [String, Number],
54
- default: 750
55
- }
56
- },
57
- created() {
58
- // #ifdef APP-NVUE
59
- this.type = 'flex';
60
- // #endif
61
- },
62
- computed: {
63
- marginValue() {
64
- // #ifndef APP-NVUE
65
- if (this.gutter) {
66
- return -(this.gutter / 2);
67
- }
68
- // #endif
69
- return 0;
70
- },
71
- typeClass() {
72
- return this.type === 'flex' ? `${ComponentClass + modifierSeparator}flex` : '';
73
- },
74
- justifyClass() {
75
- return this.justify !== 'start' ? `${ComponentClass + modifierSeparator}flex-justify-${this.justify}` : '';
76
- },
77
- alignClass() {
78
- return this.align !== 'top' ? `${ComponentClass + modifierSeparator}flex-align-${this.align}` : '';
79
- }
80
- }
81
- };
82
- </script>
83
-
84
- <style scoped>
85
- .uni-row {
86
- position: relative;
87
- flex-direction: row;
88
- /* #ifdef APP-NVUE */
89
- flex: 1;
90
- /* #endif */
91
- /* #ifndef APP-NVUE */
92
- box-sizing: border-box;
93
- /* #endif */
94
- }
95
-
96
- /* #ifndef APP-NVUE */
97
- .uni-row::before,
98
- .uni-row::after {
99
- display: table;
100
- content: '';
101
- }
102
-
103
- .uni-row::after {
104
- clear: both;
105
- }
106
-
107
- /* #endif */
108
- /* #ifndef MP-QQ || MP-TOUTIAO || MP-BAIDU */
109
- .uni-row--flex {
110
- /* #ifndef APP-NVUE */
111
- display: flex;
112
- /* #endif */
113
- flex-direction: row;
114
- flex-wrap: wrap;
115
- flex: 1;
116
- }
117
-
118
- .uni-row--flex:before,
119
- .uni-row--flex:after {
120
- /* #ifndef APP-NVUE */
121
- display: none;
122
- /* #endif */
123
- }
124
-
125
- .uni-row--flex-justify-center {
126
- justify-content: center;
127
- }
128
-
129
- .uni-row--flex-justify-end {
130
- justify-content: flex-end;
131
- }
132
-
133
- .uni-row--flex-justify-space-between {
134
- justify-content: space-between;
135
- }
136
-
137
- .uni-row--flex-justify-space-around {
138
- justify-content: space-around;
139
- }
140
-
141
- .uni-row--flex-align-middle {
142
- align-items: center;
143
- }
144
-
145
- .uni-row--flex-align-bottom {
146
- align-items: flex-end;
147
- }
148
-
149
- /* #endif */
150
-
151
- /* #ifdef MP-WEIXIN || MP-TOUTIAO || MP-QQ */
152
- :host {
153
- display: block;
154
- }
155
-
156
- /* #endif */
157
- </style>