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

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