@10yun/cv-mobile-ui 0.5.62 → 0.5.63
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.
- package/package.json +1 -1
- package/plugins/uni-extend.js +10 -10
- package/ui-fireui/components/u-action-sheet/u-action-sheet.vue +46 -16
- package/ui-fireui/components/u-alert/u-alert.vue +11 -5
- package/ui-fireui/components/u-badge/u-badge.vue +52 -69
- package/ui-fireui/components/u-bottom-navigation/u-bottom-navigation.vue +28 -20
- package/ui-fireui/components/u-bottom-popup/u-bottom-popup.vue +40 -11
- package/ui-fireui/components/u-bubble-popup/u-bubble-popup.vue +3 -6
- package/ui-fireui/components/u-button/u-button.vue +262 -259
- package/ui-fireui/components/u-calendar/u-calendar.vue +227 -44
- package/ui-fireui/components/u-calendar/u-calendar2.js +562 -0
- package/ui-fireui/components/u-card/u-card.vue +50 -32
- package/ui-fireui/components/u-cascade-selection/u-cascade-selection.vue +197 -74
- package/ui-fireui/components/u-circular-progress/u-circular-progress.vue +324 -0
- package/ui-fireui/components/u-clipboard2/tui-clipboard.js +53 -0
- package/ui-fireui/components/u-collapse/u-collapse.vue +8 -8
- package/ui-fireui/components/u-config/index.js +129 -0
- package/ui-fireui/components/u-count-down/u-count-down.vue +124 -19
- package/ui-fireui/components/u-datetime/u-datetime.vue +416 -176
- package/ui-fireui/components/u-divider/u-divider.vue +3 -3
- package/ui-fireui/components/u-drawer/u-drawer.vue +55 -12
- package/ui-fireui/components/u-dropdown-list/u-dropdown-list.vue +103 -0
- package/ui-fireui/components/u-fab/u-fab.vue +344 -0
- package/ui-fireui/components/u-footer/u-footer.vue +148 -0
- package/ui-fireui/components/u-grid/u-grid.vue +2 -8
- package/ui-fireui/components/u-grid-item/u-grid-item.vue +22 -5
- package/ui-fireui/components/u-icon/u-icon-new.js +190 -0
- package/ui-fireui/components/u-icon/u-icon-new.vue +100 -0
- package/ui-fireui/components/u-image-cropper/u-image-cropper.vue +1144 -0
- package/ui-fireui/components/u-image-group/u-image-group.vue +164 -0
- package/ui-fireui/components/u-keyboard/u-keyboard.vue +3 -2
- package/ui-fireui/components/u-keyboard-input/u-keyboard-input.vue +1 -1
- package/ui-fireui/components/u-list-cell/u-list-cell.vue +82 -72
- package/ui-fireui/components/u-list-view/u-list-view.vue +33 -8
- package/ui-fireui/components/u-loading/u-loading.vue +107 -27
- package/ui-fireui/components/u-loadmore/u-loadmore.vue +21 -3
- package/ui-fireui/components/u-modal/u-modal.vue +140 -176
- package/ui-fireui/components/u-navigation-bar/u-navigation-bar.vue +121 -28
- package/ui-fireui/components/u-no-data/u-no-data.vue +58 -20
- package/ui-fireui/components/u-nomore/u-nomore.vue +5 -4
- package/ui-fireui/components/u-numberbox/u-numberbox.vue +88 -45
- package/ui-fireui/components/u-picture-cropper/u-picture-cropper.vue +94 -36
- package/ui-fireui/components/u-picture-cropper/u-picture-cropper.wxs +27 -17
- package/ui-fireui/components/u-rate/u-rate.vue +197 -0
- package/ui-fireui/components/u-round-progress/u-round-progress.vue +62 -42
- package/ui-fireui/components/u-scroll-top/u-scroll-top.vue +4 -3
- package/ui-fireui/components/u-section/u-section.vue +149 -0
- package/ui-fireui/components/u-skeleton/u-skeleton.vue +37 -6
- package/ui-fireui/components/u-steps/u-steps.vue +110 -27
- package/ui-fireui/components/u-sticky/u-sticky.vue +35 -21
- package/ui-fireui/components/u-sticky-wxs/u-sticky-wxs.vue +7 -4
- package/ui-fireui/components/u-sticky-wxs/u-sticky.wxs +39 -36
- package/ui-fireui/components/u-swipe-action/u-swipe-action.vue +76 -19
- package/ui-fireui/components/u-tabbar/u-tabbar.vue +71 -38
- package/ui-fireui/components/u-tabs/u-tabs.vue +133 -51
- package/ui-fireui/components/u-tag/u-tag.vue +109 -226
- package/ui-fireui/components/u-time-axis/u-time-axis.vue +1 -1
- package/ui-fireui/components/u-timeaxis-item/u-timeaxis-item.vue +1 -1
- package/ui-fireui/components/u-tips/u-tips.vue +35 -15
- package/ui-fireui/components/u-toast/u-toast.vue +9 -5
- package/ui-fireui/components/u-top-dropdown/u-top-dropdown.vue +8 -6
- package/ui-fireui/components/u-upload/u-upload-old.vue +462 -0
- package/ui-fireui/components/u-upload/u-upload.vue +648 -446
- package/ui-fireui/components/u-white-space/u-white-space.vue +68 -0
- package/ui-fireui/components/u-wing-blank/u-wing-blank.vue +100 -0
- package/uview-plus/libs/ctocode/index.js +1 -0
- package/uview-plus/libs/ctocode/richText.js +0 -1
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<view
|
|
3
|
+
class="up-image-container"
|
|
4
|
+
:style="{ marginBottom: multiLine ? `-${distance}rpx` : 0 }"
|
|
5
|
+
:class="{ 'up-image-direction': direction == 'column', 'up-image__warp': multiLine }"
|
|
6
|
+
>
|
|
7
|
+
<view
|
|
8
|
+
v-for="(item, index) in imageList"
|
|
9
|
+
:key="index"
|
|
10
|
+
class="up-image__itembox"
|
|
11
|
+
:style="{
|
|
12
|
+
width: width,
|
|
13
|
+
height: height,
|
|
14
|
+
borderRadius: radius,
|
|
15
|
+
marginLeft: direction == 'column' || multiLine ? 0 : (index && distance) + 'rpx',
|
|
16
|
+
marginRight: multiLine ? distance + 'rpx' : 0,
|
|
17
|
+
marginBottom: multiLine ? distance + 'rpx' : 0,
|
|
18
|
+
marginTop: direction == 'row' ? 0 : (index && distance) + 'rpx'
|
|
19
|
+
}"
|
|
20
|
+
@tap="bindClick(index, item.id)"
|
|
21
|
+
>
|
|
22
|
+
<image
|
|
23
|
+
class="up-image-item"
|
|
24
|
+
:mode="mode"
|
|
25
|
+
:lazy-load="lazyLoad"
|
|
26
|
+
fade-show="fadeShow"
|
|
27
|
+
:webp="webp"
|
|
28
|
+
:show-menu-by-longpress="longpress"
|
|
29
|
+
@error="error"
|
|
30
|
+
@load="load"
|
|
31
|
+
:style="{ width: width, height: height, borderRadius: radius, borderWidth: borderWidth, borderColor: borderColor }"
|
|
32
|
+
:src="item.src"
|
|
33
|
+
></image>
|
|
34
|
+
<slot></slot>
|
|
35
|
+
</view>
|
|
36
|
+
</view>
|
|
37
|
+
</template>
|
|
38
|
+
|
|
39
|
+
<script>
|
|
40
|
+
export default {
|
|
41
|
+
name: 'tuiImageGroup',
|
|
42
|
+
emits: ['errorEvent', 'loaded', 'click'],
|
|
43
|
+
props: {
|
|
44
|
+
//图片集合
|
|
45
|
+
/*
|
|
46
|
+
[{id:1,src:"1.png"}]
|
|
47
|
+
*/
|
|
48
|
+
imageList: {
|
|
49
|
+
type: Array,
|
|
50
|
+
default: () => {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
//图片宽度
|
|
55
|
+
width: {
|
|
56
|
+
type: String,
|
|
57
|
+
default: '120rpx'
|
|
58
|
+
},
|
|
59
|
+
//图片高度
|
|
60
|
+
height: {
|
|
61
|
+
type: String,
|
|
62
|
+
default: '120rpx'
|
|
63
|
+
},
|
|
64
|
+
//图片边框宽度 rpx
|
|
65
|
+
borderWidth: {
|
|
66
|
+
type: String,
|
|
67
|
+
default: '0'
|
|
68
|
+
},
|
|
69
|
+
//图片边框颜色 可传rgba
|
|
70
|
+
borderColor: {
|
|
71
|
+
type: String,
|
|
72
|
+
default: '#fff'
|
|
73
|
+
},
|
|
74
|
+
//图片圆角
|
|
75
|
+
radius: {
|
|
76
|
+
type: String,
|
|
77
|
+
default: '50%'
|
|
78
|
+
},
|
|
79
|
+
//图片裁剪、缩放的模式
|
|
80
|
+
mode: {
|
|
81
|
+
type: String,
|
|
82
|
+
default: 'scaleToFill'
|
|
83
|
+
},
|
|
84
|
+
//图片懒加载。只针对page与scroll-view下的image有效
|
|
85
|
+
lazyLoad: {
|
|
86
|
+
type: Boolean,
|
|
87
|
+
default: true
|
|
88
|
+
},
|
|
89
|
+
//图片显示动画效果 | 仅App-nvue 2.3.4+ Android有效
|
|
90
|
+
fadeShow: {
|
|
91
|
+
type: Boolean,
|
|
92
|
+
default: true
|
|
93
|
+
},
|
|
94
|
+
//默认不解析 webP 格式,只支持网络资源 | 微信小程序2.9.0
|
|
95
|
+
webp: {
|
|
96
|
+
type: Boolean,
|
|
97
|
+
default: false
|
|
98
|
+
},
|
|
99
|
+
//开启长按图片显示识别小程序码菜单 | 微信小程序2.7.0
|
|
100
|
+
longpress: {
|
|
101
|
+
type: Boolean,
|
|
102
|
+
default: false
|
|
103
|
+
},
|
|
104
|
+
//是否组合排列
|
|
105
|
+
isGroup: {
|
|
106
|
+
type: Boolean,
|
|
107
|
+
default: false
|
|
108
|
+
},
|
|
109
|
+
//排列方向 row ,column
|
|
110
|
+
direction: {
|
|
111
|
+
type: String,
|
|
112
|
+
default: 'row'
|
|
113
|
+
},
|
|
114
|
+
//偏移距离 rpx
|
|
115
|
+
distance: {
|
|
116
|
+
type: [Number, String],
|
|
117
|
+
default: -16
|
|
118
|
+
},
|
|
119
|
+
//是否可多行展示,排列方向 row时生效,distance需设置为大于0的数
|
|
120
|
+
multiLine: {
|
|
121
|
+
type: Boolean,
|
|
122
|
+
default: false
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
data() {
|
|
126
|
+
return {};
|
|
127
|
+
},
|
|
128
|
+
methods: {
|
|
129
|
+
error(e) {
|
|
130
|
+
this.$emit('errorEvent', e);
|
|
131
|
+
},
|
|
132
|
+
load(e) {
|
|
133
|
+
this.$emit('loaded', e);
|
|
134
|
+
},
|
|
135
|
+
bindClick(index, id) {
|
|
136
|
+
this.$emit('click', {
|
|
137
|
+
index: index,
|
|
138
|
+
id: id || ''
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
</script>
|
|
144
|
+
|
|
145
|
+
<style scoped>
|
|
146
|
+
.up-image-container {
|
|
147
|
+
display: inline-flex;
|
|
148
|
+
align-items: center;
|
|
149
|
+
}
|
|
150
|
+
.up-image-direction {
|
|
151
|
+
flex-direction: column;
|
|
152
|
+
}
|
|
153
|
+
.up-image__warp {
|
|
154
|
+
flex-wrap: wrap;
|
|
155
|
+
}
|
|
156
|
+
.up-image__itembox {
|
|
157
|
+
position: relative;
|
|
158
|
+
}
|
|
159
|
+
.up-image-item {
|
|
160
|
+
border-style: solid;
|
|
161
|
+
flex-shrink: 0;
|
|
162
|
+
display: block;
|
|
163
|
+
}
|
|
164
|
+
</style>
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
|
|
30
30
|
<script>
|
|
31
31
|
export default {
|
|
32
|
-
name: '
|
|
32
|
+
name: 'tuiKeyboard',
|
|
33
|
+
emits: ['click', 'close'],
|
|
33
34
|
props: {
|
|
34
35
|
//是否需要mask
|
|
35
36
|
mask: {
|
|
@@ -58,7 +59,7 @@ export default {
|
|
|
58
59
|
};
|
|
59
60
|
},
|
|
60
61
|
methods: {
|
|
61
|
-
getKeyBoard(index, action) {
|
|
62
|
+
getKeyBoard: function (index, action) {
|
|
62
63
|
var content = index + 1;
|
|
63
64
|
if (index == 9) {
|
|
64
65
|
content = action ? '取消' : '清除';
|
|
@@ -1,34 +1,44 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<view
|
|
3
3
|
class="up-list-class up-list-cell"
|
|
4
|
-
:class="[
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
:style="{ backgroundColor: backgroundColor, fontSize: size + 'rpx', color: color, padding: padding }"
|
|
15
|
-
:hover-stay-time="150"
|
|
4
|
+
:class="[radius && radius != '0' ? 'up-radius' : '', hover ? 'up-cell-hover' : '']"
|
|
5
|
+
:style="{
|
|
6
|
+
backgroundColor: backgroundColor,
|
|
7
|
+
fontSize: getSize + 'rpx',
|
|
8
|
+
color: getColor,
|
|
9
|
+
padding: getPadding,
|
|
10
|
+
borderRadius: radius + 'rpx',
|
|
11
|
+
marginTop: marginTop + 'rpx',
|
|
12
|
+
marginBottom: marginBottom + 'rpx'
|
|
13
|
+
}"
|
|
16
14
|
@tap="handleClick"
|
|
17
15
|
>
|
|
18
16
|
<slot></slot>
|
|
17
|
+
<view
|
|
18
|
+
class="up-cell__line"
|
|
19
|
+
:style="{ borderBottomColor: getLineColor, left: getLineLeft + 'rpx', right: lineRight + 'rpx' }"
|
|
20
|
+
v-if="!unlined"
|
|
21
|
+
></view>
|
|
22
|
+
<view class="up-cell__arrow" :style="{ borderColor: getArrowColor, right: arrowRight + 'rpx' }" v-if="arrow"></view>
|
|
19
23
|
</view>
|
|
20
24
|
</template>
|
|
21
25
|
|
|
22
26
|
<script>
|
|
23
27
|
export default {
|
|
24
|
-
name: '
|
|
28
|
+
name: 'tuiListCell',
|
|
29
|
+
emits: ['click'],
|
|
30
|
+
// #ifdef MP-WEIXIN
|
|
31
|
+
options: {
|
|
32
|
+
virtualHost: true
|
|
33
|
+
},
|
|
34
|
+
// #endif
|
|
25
35
|
props: {
|
|
26
36
|
//是否有箭头
|
|
27
37
|
arrow: {
|
|
28
38
|
type: Boolean,
|
|
29
39
|
default: false
|
|
30
40
|
},
|
|
31
|
-
|
|
41
|
+
//V2.3.0+
|
|
32
42
|
arrowColor: {
|
|
33
43
|
type: String,
|
|
34
44
|
default: ''
|
|
@@ -43,19 +53,32 @@ export default {
|
|
|
43
53
|
type: Boolean,
|
|
44
54
|
default: false
|
|
45
55
|
},
|
|
46
|
-
|
|
56
|
+
//V2.3.0+
|
|
57
|
+
lineColor: {
|
|
58
|
+
type: String,
|
|
59
|
+
default: ''
|
|
60
|
+
},
|
|
61
|
+
//线条左偏移距离
|
|
47
62
|
lineLeft: {
|
|
48
|
-
type:
|
|
49
|
-
default:
|
|
63
|
+
type: [Number, String],
|
|
64
|
+
default: -1
|
|
50
65
|
},
|
|
51
|
-
|
|
66
|
+
//线条右偏移距离
|
|
52
67
|
lineRight: {
|
|
53
|
-
type:
|
|
54
|
-
default:
|
|
68
|
+
type: [Number, String],
|
|
69
|
+
default: 0
|
|
55
70
|
},
|
|
56
71
|
padding: {
|
|
57
72
|
type: String,
|
|
58
|
-
default: '
|
|
73
|
+
default: ''
|
|
74
|
+
},
|
|
75
|
+
marginTop: {
|
|
76
|
+
type: [Number, String],
|
|
77
|
+
default: 0
|
|
78
|
+
},
|
|
79
|
+
marginBottom: {
|
|
80
|
+
type: [Number, String],
|
|
81
|
+
default: 0
|
|
59
82
|
},
|
|
60
83
|
//背景颜色
|
|
61
84
|
backgroundColor: {
|
|
@@ -65,28 +88,52 @@ export default {
|
|
|
65
88
|
//字体大小
|
|
66
89
|
size: {
|
|
67
90
|
type: Number,
|
|
68
|
-
default:
|
|
91
|
+
default: 0
|
|
69
92
|
},
|
|
70
93
|
//字体颜色
|
|
71
94
|
color: {
|
|
72
95
|
type: String,
|
|
73
|
-
default: '
|
|
96
|
+
default: ''
|
|
74
97
|
},
|
|
75
|
-
|
|
98
|
+
//圆角值
|
|
76
99
|
radius: {
|
|
77
|
-
type:
|
|
78
|
-
default:
|
|
100
|
+
type: [Number, String],
|
|
101
|
+
default: 0
|
|
79
102
|
},
|
|
80
|
-
|
|
103
|
+
//箭头偏移距离
|
|
81
104
|
arrowRight: {
|
|
82
|
-
type:
|
|
83
|
-
default:
|
|
105
|
+
type: [Number, String],
|
|
106
|
+
default: 30
|
|
84
107
|
},
|
|
85
108
|
index: {
|
|
86
109
|
type: Number,
|
|
87
110
|
default: 0
|
|
88
111
|
}
|
|
89
112
|
},
|
|
113
|
+
computed: {
|
|
114
|
+
getArrowColor() {
|
|
115
|
+
return this.arrowColor || (uni && uni.$tui && uni.$tui.tuiListCell.arrowColor) || '#c0c0c0';
|
|
116
|
+
},
|
|
117
|
+
getLineColor() {
|
|
118
|
+
return this.lineColor || (uni && uni.$tui && uni.$tui.tuiListCell.lineColor) || '#eaeef1';
|
|
119
|
+
},
|
|
120
|
+
getLineLeft() {
|
|
121
|
+
let left = this.lineLeft;
|
|
122
|
+
if (left === -1) {
|
|
123
|
+
left = uni && uni.$tui && uni.$tui.tuiListCell.lineLeft;
|
|
124
|
+
}
|
|
125
|
+
return left === undefined || left === null ? 30 : left;
|
|
126
|
+
},
|
|
127
|
+
getPadding() {
|
|
128
|
+
return this.padding || (uni && uni.$tui && uni.$tui.tuiListCell.padding) || '26rpx 30rpx';
|
|
129
|
+
},
|
|
130
|
+
getColor() {
|
|
131
|
+
return this.color || (uni && uni.$tui && uni.$tui.tuiListCell.color) || '#333';
|
|
132
|
+
},
|
|
133
|
+
getSize() {
|
|
134
|
+
return this.size || (uni && uni.$tui && uni.$tui.tuiListCell.size) || 28;
|
|
135
|
+
}
|
|
136
|
+
},
|
|
90
137
|
methods: {
|
|
91
138
|
handleClick() {
|
|
92
139
|
this.$emit('click', {
|
|
@@ -105,16 +152,14 @@ export default {
|
|
|
105
152
|
}
|
|
106
153
|
|
|
107
154
|
.up-radius {
|
|
108
|
-
border-radius: 6rpx;
|
|
109
155
|
overflow: hidden;
|
|
110
156
|
}
|
|
111
157
|
|
|
112
|
-
.up-cell-hover {
|
|
113
|
-
background-color:
|
|
158
|
+
.up-cell-hover:active {
|
|
159
|
+
background-color: rgba(0, 0, 0, 0.1) !important;
|
|
114
160
|
}
|
|
115
161
|
|
|
116
|
-
.up-
|
|
117
|
-
content: '';
|
|
162
|
+
.up-cell__line {
|
|
118
163
|
position: absolute;
|
|
119
164
|
border-bottom: 1px solid #eaeef1;
|
|
120
165
|
-webkit-transform: scaleY(0.5) translateZ(0);
|
|
@@ -123,22 +168,11 @@ export default {
|
|
|
123
168
|
bottom: 0;
|
|
124
169
|
right: 0;
|
|
125
170
|
left: 0;
|
|
171
|
+
pointer-events: none;
|
|
172
|
+
z-index: 1;
|
|
126
173
|
}
|
|
127
174
|
|
|
128
|
-
.up-
|
|
129
|
-
left: 30rpx !important;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
.up-line-right::after {
|
|
133
|
-
right: 30rpx !important;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
.up-cell-unlined::after {
|
|
137
|
-
border-bottom: 0 !important;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
.up-cell-arrow::before {
|
|
141
|
-
content: ' ';
|
|
175
|
+
.up-cell__arrow {
|
|
142
176
|
height: 10px;
|
|
143
177
|
width: 10px;
|
|
144
178
|
border-width: 2px 2px 0 0;
|
|
@@ -151,28 +185,4 @@ export default {
|
|
|
151
185
|
margin-top: -6px;
|
|
152
186
|
right: 30rpx;
|
|
153
187
|
}
|
|
154
|
-
|
|
155
|
-
.up-arrow-right::before {
|
|
156
|
-
right: 0 !important;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.up-arrow-gray::before {
|
|
160
|
-
border-color: #666666 !important;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.up-arrow-white::before {
|
|
164
|
-
border-color: #ffffff !important;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
.up-arrow-warning::before {
|
|
168
|
-
border-color: #ff7900 !important;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
.up-arrow-success::before {
|
|
172
|
-
border-color: #19be6b !important;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
.up-arrow-danger::before {
|
|
176
|
-
border-color: #eb0909 !important;
|
|
177
|
-
}
|
|
178
188
|
</style>
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<view
|
|
3
|
-
|
|
2
|
+
<view
|
|
3
|
+
class="up-list-view up-view-class"
|
|
4
|
+
:class="{ 'up-radius': radius && radius != '0' }"
|
|
5
|
+
:style="{ backgroundColor: backgroundColor, marginTop: marginTop, borderRadius: radius + 'rpx' }"
|
|
6
|
+
>
|
|
7
|
+
<view class="up-list-title" :style="{ color: color, fontSize: size + 'rpx', lineHeight: 30 + 'rpx' }" v-if="title">
|
|
8
|
+
{{ title }}
|
|
9
|
+
</view>
|
|
4
10
|
<view class="up-list-content" :class="[unlined ? 'up-border-' + unlined : '']">
|
|
5
11
|
<slot></slot>
|
|
6
12
|
</view>
|
|
@@ -9,12 +15,21 @@
|
|
|
9
15
|
|
|
10
16
|
<script>
|
|
11
17
|
export default {
|
|
12
|
-
name: '
|
|
18
|
+
name: 'tuiListView',
|
|
13
19
|
props: {
|
|
14
20
|
title: {
|
|
15
21
|
type: String,
|
|
16
22
|
default: ''
|
|
17
23
|
},
|
|
24
|
+
color: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: '#666'
|
|
27
|
+
},
|
|
28
|
+
//rpx
|
|
29
|
+
size: {
|
|
30
|
+
type: Number,
|
|
31
|
+
default: 30
|
|
32
|
+
},
|
|
18
33
|
backgroundColor: {
|
|
19
34
|
type: String,
|
|
20
35
|
default: 'transparent'
|
|
@@ -22,6 +37,15 @@ export default {
|
|
|
22
37
|
unlined: {
|
|
23
38
|
type: String,
|
|
24
39
|
default: '' //top,bottom,all
|
|
40
|
+
},
|
|
41
|
+
marginTop: {
|
|
42
|
+
type: String,
|
|
43
|
+
default: '0'
|
|
44
|
+
},
|
|
45
|
+
//圆角值
|
|
46
|
+
radius: {
|
|
47
|
+
type: [Number, String],
|
|
48
|
+
default: 0
|
|
25
49
|
}
|
|
26
50
|
}
|
|
27
51
|
};
|
|
@@ -32,9 +56,6 @@ export default {
|
|
|
32
56
|
width: 100%;
|
|
33
57
|
padding: 30rpx;
|
|
34
58
|
box-sizing: border-box;
|
|
35
|
-
font-size: 30rpx;
|
|
36
|
-
line-height: 30rpx;
|
|
37
|
-
color: #666;
|
|
38
59
|
}
|
|
39
60
|
|
|
40
61
|
.up-list-content {
|
|
@@ -48,7 +69,7 @@ export default {
|
|
|
48
69
|
top: 0;
|
|
49
70
|
right: 0;
|
|
50
71
|
left: 0;
|
|
51
|
-
border-top:
|
|
72
|
+
border-top: 1px solid #eaeef1;
|
|
52
73
|
-webkit-transform: scaleY(0.5) translateZ(0);
|
|
53
74
|
transform: scaleY(0.5) translateZ(0);
|
|
54
75
|
transform-origin: 0 0;
|
|
@@ -60,7 +81,7 @@ export default {
|
|
|
60
81
|
content: '';
|
|
61
82
|
width: 100%;
|
|
62
83
|
position: absolute;
|
|
63
|
-
border-bottom:
|
|
84
|
+
border-bottom: 1px solid #eaeef1;
|
|
64
85
|
-webkit-transform: scaleY(0.5) translateZ(0);
|
|
65
86
|
transform: scaleY(0.5) translateZ(0);
|
|
66
87
|
transform-origin: 0 100%;
|
|
@@ -84,4 +105,8 @@ export default {
|
|
|
84
105
|
.up-border-all::before {
|
|
85
106
|
border-top: 0;
|
|
86
107
|
}
|
|
108
|
+
|
|
109
|
+
.up-radius {
|
|
110
|
+
overflow: hidden;
|
|
111
|
+
}
|
|
87
112
|
</style>
|
|
@@ -1,59 +1,139 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<view
|
|
3
|
-
<view
|
|
4
|
-
|
|
2
|
+
<view>
|
|
3
|
+
<view
|
|
4
|
+
class="up-loading up-loading__box"
|
|
5
|
+
:class="{ 'up-loading__fixed': fixed }"
|
|
6
|
+
:style="{ backgroundColor: backgroundColor, color: color, position: fixed ? 'fixed' : 'static' }"
|
|
7
|
+
v-if="type === 'column'"
|
|
8
|
+
>
|
|
9
|
+
<image class="up-loading__ani" :src="src"></image>
|
|
10
|
+
<view class="up-loading__text">{{ text }}</view>
|
|
11
|
+
</view>
|
|
12
|
+
<view
|
|
13
|
+
v-else
|
|
14
|
+
class="up-loading up-loading__row"
|
|
15
|
+
:class="{ 'up-loading__fixed': fixed }"
|
|
16
|
+
:style="{ position: fixed ? 'fixed' : 'static' }"
|
|
17
|
+
>
|
|
18
|
+
<image class="up-loading-row__ani" :src="rowsrc"></image>
|
|
19
|
+
<view class="up-loading__text">{{ text }}</view>
|
|
20
|
+
</view>
|
|
21
|
+
<view class="up-loading__mask" :style="{ background: maskColor }" v-if="isMask && fixed"></view>
|
|
5
22
|
</view>
|
|
6
23
|
</template>
|
|
7
24
|
|
|
8
25
|
<script>
|
|
9
26
|
export default {
|
|
10
|
-
name: '
|
|
27
|
+
name: 'tuiLoading',
|
|
11
28
|
props: {
|
|
29
|
+
//column or row
|
|
30
|
+
type: {
|
|
31
|
+
type: String,
|
|
32
|
+
default: 'column'
|
|
33
|
+
},
|
|
12
34
|
text: {
|
|
13
35
|
type: String,
|
|
14
|
-
default: '
|
|
36
|
+
default: '加载中'
|
|
37
|
+
},
|
|
38
|
+
//type=column时生效
|
|
39
|
+
color: {
|
|
40
|
+
type: String,
|
|
41
|
+
default: '#fff'
|
|
42
|
+
},
|
|
43
|
+
//type=column时生效
|
|
44
|
+
backgroundColor: {
|
|
45
|
+
type: String,
|
|
46
|
+
default: 'rgba(0, 0, 0, 0.6)'
|
|
47
|
+
},
|
|
48
|
+
//type=column时生效
|
|
49
|
+
src: {
|
|
50
|
+
type: String,
|
|
51
|
+
default:
|
|
52
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgAAAARVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////9SnXPCAAAAFnRSTlMA8ECgECCAYDDQ4MCwUL9wkN9vP49fRXb34AAAA1dJREFUaN7tmtmSozAMReXdxuyk+f9PnaW6o06CAdtSumqG8xqSi6QrGwfBxcXFD2OW5cP+pVsWDe9AL7YP6xO9mj1w0t3CmkK0H0yhd0qsBzBoazutZxDKACFSrefpJZmFUfad0vpVtonWOvkHZ62Kzas0QcLnJ0dFuxGOHNqny8QMVfjw6By5c+n4GHnwVOGq7tiDD3G74uq234Idzbmue7hVXZtmYfEncqRDicekKPSo+Z6o/EI7bB6Zfc+hXBl1R13V+0Jm6uL3inCiKGZX6g7ENwXKrrwfEB3uyubszYovXahBx3ve9LkvoG4lcc36pf7zagu16JCzeo4E8aLy+TJL1CXAfJWtP7zHKcsPp+NYh6NEY2posOeSbT4v64CMiLU7dvQIVGAsqzyuSKOBEHvCXwHvjZAGQ94PuAVaJIa8X2EDxMSDkGXh0lG9KCkMmCnkbdNq6oARt7t8Oa6A0dhhx1oREPpe9ukVxgEHBnOdyLQAHkI61wqtxcCQ9rXATDPgk9uef7kjFl+PiRJH4EKlijwmniyp15DEqtYBFz7VyQKXLR5ST9iJLibvZLuZiQh8qO1+kizPHq+hNXpT2AIjrlnX+GIii8J8eJPatyQwcwn/j8ISu5uZwj7+d4QBl8w3I3CT4EOnjjcCeJHJXUsDJ35LeHhDPw0yaesROIkmaesAjJgVtmjZizygd99b5CnunCQVsNGlFsbAnOs+tfkNTMdFzOjuqb0HJlR6J4h4uKHH7CSz47SX2tsIGr6Dm9mNyPGFrHZrqBuuKvuD1dhxGbs/6tOGuJcxoObMM5/QQIoWx8G0HA99IwZ89EZzAEI6PKMc+kt4ykRjix4ne6IrczhjGmzmoAn/dOlyXpgrumPoeLrr6JRd1hOkJVN2mW9mFZGywwbJU+51pa/QWJnKk6/o3xbX/Xxl0ZUPvxXp4nREqyuG31zZnFD5nJHp8ZsVc0I9NkTOFFsw9UN7t5x8W1E9oQSdyJ2p1fP04srKSUUlz0zLiqQlKwbwppvfVZ0DjvkR/bWO2urDbIp2t2n9knWk/+ojorfzsty9v8y2n/DTZgBKZLueInZAjR7CkWoYDLBgXCvSs/uoyoJ3Y3zWjOPg4T14KQf7m0FKqeHi4uJH+QUYYoTOYC/s2wAAAABJRU5ErkJggg=='
|
|
53
|
+
},
|
|
54
|
+
//type=row时生效
|
|
55
|
+
rowsrc: {
|
|
56
|
+
type: String,
|
|
57
|
+
default:
|
|
58
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAMAAAAPdrEwAAAAM1BMVEUAAACPj4+IiIiIiIiIiIiIiIiKioqHh4eHh4eHh4eHh4eIiIiIiIiJiYmIiIiJiYmIiIi8awvKAAAAEHRSTlMAEEDw4NAwwKAgYICQULBwL0wVnQAAAmpJREFUWMPtmOmO4yAQhLlvMO//tDuyjfAaCEcj7UqTT5o/iafSVLcLY/TldyHID8fPH94oir2TLD6QyugdxVoeazAnYPUaFtsws+yNVjR+htolcWz/luHyhL7F55XNQ0Narx+L8TY8bSGTXsiYUB5V8A+zHJ4rud+p3GI+PiwqCXv0Ec+T42awf3L8+iMtzwwp36UEPHR1SIYPKueS+xxJe1CZiYkooNmTvjLHUzHDR7TVgnI2UXR9k/OhQHslieKCcb87reRnB5fCzMeTVp5cUbeY8O6arEYknYs60CJXK21zOvot7DSK4lrR51eA7dQ1y1bFF9MT2Chb358DsLHeLJeKhpZdDgkDFp1jQtRGXiEYOtZU1PLdUt7OFT84gnJUHNE5XOCO2PLnCALDzl21HD2Yam4ZRU9kER8Qs/V7IQ7BIWVqp10TTCFN0gdgwvumJmkcwWDFgigsQtv4Sv8baZ2lt5Pn+n+Wfm+CMsUsHFIJQ7VH+l2hSXsaHFUbEb1l2GRt5zFb/FC1nSfskGam+lSP4cqmks10jyOc1fditiGMXD1G4DekTH5sf14gkTeD1QOdbrRLXodGAKb1hC7gh5nmvzvgI0NoHyswA1niP7WKQE4dmtYHDH4MwzxS3T2MmCWje5OL2aK26j9EC7qkrVIk97XtrM+RYzSoHSZmUCTlLoLNvTs+aFLug+XEu2Mt59boRl9+4vk7gbD79fXnii2dsS6Xc4lb3fx5lX1bfKfPD1HJInetS64lJQnxhkrryV2+INbxeCHXN1PtaGxClUYgvGJ1XY82IA7Fn7IyFO7DIDcYfflN/AFNdjdeDj7M+wAAAABJRU5ErkJggg=='
|
|
59
|
+
},
|
|
60
|
+
fixed: {
|
|
61
|
+
type: Boolean,
|
|
62
|
+
default: true
|
|
63
|
+
},
|
|
64
|
+
//v2.9.0+
|
|
65
|
+
isMask: {
|
|
66
|
+
type: Boolean,
|
|
67
|
+
default: false
|
|
68
|
+
},
|
|
69
|
+
//v2.9.0+
|
|
70
|
+
maskColor: {
|
|
71
|
+
type: String,
|
|
72
|
+
default: 'rgba(0,0,0,.3)'
|
|
15
73
|
}
|
|
16
74
|
}
|
|
17
75
|
};
|
|
18
76
|
</script>
|
|
19
77
|
|
|
20
78
|
<style scoped>
|
|
21
|
-
.up-loading
|
|
22
|
-
min-width: 200rpx;
|
|
23
|
-
min-height: 200rpx;
|
|
24
|
-
max-width: 500rpx;
|
|
79
|
+
.up-loading {
|
|
25
80
|
display: flex;
|
|
26
81
|
align-items: center;
|
|
27
82
|
justify-content: center;
|
|
28
|
-
|
|
29
|
-
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.up-loading__fixed {
|
|
30
86
|
top: 50%;
|
|
31
87
|
left: 50%;
|
|
32
88
|
transform: translate(-50%, -50%);
|
|
33
89
|
z-index: 9999;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.up-loading__mask {
|
|
93
|
+
width: 100%;
|
|
94
|
+
position: fixed;
|
|
95
|
+
top: 0;
|
|
96
|
+
left: 0;
|
|
97
|
+
right: 0;
|
|
98
|
+
bottom: 0;
|
|
99
|
+
z-index: 9900;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.up-loading__box {
|
|
103
|
+
min-width: 200rpx;
|
|
104
|
+
min-height: 200rpx;
|
|
105
|
+
max-width: 500rpx;
|
|
106
|
+
flex-direction: column;
|
|
37
107
|
border-radius: 10rpx;
|
|
38
108
|
}
|
|
39
109
|
|
|
40
|
-
.up-
|
|
41
|
-
width:
|
|
42
|
-
height:
|
|
43
|
-
border: 3px solid #fff;
|
|
44
|
-
border-radius: 50%;
|
|
110
|
+
.up-loading__ani {
|
|
111
|
+
width: 64rpx;
|
|
112
|
+
height: 64rpx;
|
|
45
113
|
margin: 0 6px;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
114
|
+
animation: rotate 0.9s linear infinite;
|
|
115
|
+
margin-bottom: 30rpx;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.up-loading__row {
|
|
119
|
+
width: 100%;
|
|
120
|
+
height: 36rpx;
|
|
121
|
+
color: #888;
|
|
51
122
|
}
|
|
52
123
|
|
|
53
|
-
.up-
|
|
124
|
+
.up-loading-row__ani {
|
|
125
|
+
width: 36rpx;
|
|
126
|
+
height: 36rpx;
|
|
127
|
+
display: block;
|
|
128
|
+
border-radius: 50%;
|
|
129
|
+
animation: rotate 0.9s linear infinite;
|
|
130
|
+
margin-right: 20rpx;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.up-loading__text {
|
|
134
|
+
font-size: 26rpx;
|
|
135
|
+
line-height: 26rpx;
|
|
54
136
|
text-align: center;
|
|
55
|
-
padding: 0 20rpx;
|
|
56
|
-
box-sizing: border-box;
|
|
57
137
|
}
|
|
58
138
|
|
|
59
139
|
@-webkit-keyframes rotate {
|