城阳工作端uniH5前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
3.7 KiB

10 months ago
<template>
<view class="van-progress custom-class" :style="computed.rootStyle({ strokeWidth, trackColor })">
<view class="van-progress__portion" :style="computed.portionStyle({ percentage, inactive, color })">
<view
v-if="showPivot && computed.pivotText(pivotText, percentage)"
:style="computed.pivotStyle({ textColor, pivotColor, inactive, color, right })"
class="van-progress__pivot"
>
{{ computed.pivotText(pivotText, percentage) }}
</view>
</view>
</view>
</template>
<script module="utils" lang="wxs" src="@/miniprogram_npm/@vant/weapp/wxs/utils.wxs"></script>
<script module="computed" lang="wxs" src="@/miniprogram_npm/@vant/weapp/progress/index.wxs"></script>
<script>
'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
var component_1 = require('../common/component');
var color_1 = require('../common/color');
var utils_1 = require('../common/utils');
export default {
data() {
return {
right: 0
};
},
props: {
inactive: Boolean,
percentage: {
type: Number
},
pivotText: String,
pivotColor: String,
trackColor: String,
showPivot: {
type: Boolean,
default: true
},
color: {
type: String,
default: color_1.BLUE
},
textColor: {
type: String,
default: '#fff'
},
strokeWidth: {
type: null,
default: 4
}
},
mounted: function () {
this.setLeft();
},
methods: {
setLeft: function () {
var that = this;
Promise.all([(0, utils_1.getRect)(this, '.van-progress'), (0, utils_1.getRect)(this, '.van-progress__pivot')]).then(function (_a) {
var portion = _a[0];
var pivot = _a[1];
if (portion && pivot) {
that.setData({
right: (pivot.width * (that.percentage - 100)) / 100
});
}
});
}
},
watch: {
percentage: {
handler: function () {
var that = this;
Promise.all([(0, utils_1.getRect)(this, '.van-progress'), (0, utils_1.getRect)(this, '.van-progress__pivot')]).then(function (_a) {
var portion = _a[0];
var pivot = _a[1];
if (portion && pivot) {
that.setData({
right: (pivot.width * (that.percentage - 100)) / 100
});
}
});
},
immediate: true
}
}
};
</script>
<style>
@import '../common/index.css';
.van-progress {
background: var(--progress-background-color, #ebedf0);
border-radius: var(--progress-height, 4px);
height: var(--progress-height, 4px);
position: relative;
}
.van-progress__portion {
background: var(--progress-color, #1989fa);
border-radius: inherit;
height: 100%;
left: 0;
position: absolute;
}
.van-progress__pivot {
background-color: var(--progress-pivot-background-color, #1989fa);
border-radius: 1em;
box-sizing: border-box;
color: var(--progress-pivot-text-color, #fff);
font-size: var(--progress-pivot-font-size, 10px);
line-height: var(--progress-pivot-line-height, 1.6);
min-width: 3.6em;
padding: var(--progress-pivot-padding, 0 5px);
position: absolute;
text-align: center;
top: 50%;
transform: translateY(-50%);
word-break: keep-all;
}
</style>