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.
112 lines
2.8 KiB
112 lines
2.8 KiB
4 years ago
|
<template>
|
||
|
<view class="u-demo">
|
||
|
<view class="u-demo-wrap" style="background-color: #FFFFFF;">
|
||
|
<view class="u-demo-title">演示效果</view>
|
||
|
<view class="u-demo-area">
|
||
|
<u-calendar v-model="show" ref="calendar" @change="change" :mode="mode"
|
||
|
:start-text="startText" :end-text="endText" :range-color="rangeColor"
|
||
|
:range-bg-color="rangeBgColor" :active-bg-color="activeBgColor" :btn-type="btnType"
|
||
|
>
|
||
|
</u-calendar>
|
||
|
<view class="u-demo-result-line">
|
||
|
{{result}}
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
<view class="u-config-wrap">
|
||
|
<view class="u-config-title u-border-bottom">
|
||
|
参数配置
|
||
|
</view>
|
||
|
<view class="u-config-item">
|
||
|
<view class="u-item-title">状态</view>
|
||
|
<u-subsection :current="showBtnStatus" :list="['显示', '隐藏']" @change="showChange"></u-subsection>
|
||
|
</view>
|
||
|
<view class="u-config-item">
|
||
|
<view class="u-item-title">模式</view>
|
||
|
<u-subsection current="1" :list="['单个日期', '日期范围']" @change="modeChange"></u-subsection>
|
||
|
</view>
|
||
|
<view class="u-config-item">
|
||
|
<view class="u-item-title">自定义样式</view>
|
||
|
<u-subsection current="1" :list="['是', '否']" @change="styleChange"></u-subsection>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
export default {
|
||
|
data() {
|
||
|
return {
|
||
|
show: false,
|
||
|
mode: 'range',
|
||
|
result: "请选择日期",
|
||
|
startText: '开始',
|
||
|
endText: '结束',
|
||
|
rangeColor: '#2979ff',
|
||
|
rangeBgColor: 'rgba(41,121,255,0.13)',
|
||
|
activeBgColor: '#2979ff',
|
||
|
btnType: 'primary',
|
||
|
}
|
||
|
},
|
||
|
computed: {
|
||
|
showBtnStatus() {
|
||
|
return this.show ? 0 : 1;
|
||
|
}
|
||
|
},
|
||
|
methods: {
|
||
|
showChange(index) {
|
||
|
this.show = !index;
|
||
|
},
|
||
|
modeChange(index) {
|
||
|
this.mode = index == 0 ? 'date' : 'range';
|
||
|
this.show = true;
|
||
|
},
|
||
|
styleChange(index) {
|
||
|
if(index == 0) {
|
||
|
this.startText = '住店';
|
||
|
this.endText = '离店';
|
||
|
this.activeBgColor = '#19be6b';
|
||
|
this.rangeColor = '#19be6b';
|
||
|
this.rangeBgColor = 'rgba(25,190,107, 0.13)';
|
||
|
this.btnType = 'success';
|
||
|
} else {
|
||
|
this.startText = '开始';
|
||
|
this.endText = '结束';
|
||
|
this.activeBgColor = '#2979ff';
|
||
|
this.rangeColor = '#2979ff';
|
||
|
this.rangeBgColor = 'rgba(41,121,255,0.13)';
|
||
|
this.btnType = 'primary';
|
||
|
}
|
||
|
this.show = true;
|
||
|
},
|
||
|
customChange(index) {
|
||
|
if(index == 0) {
|
||
|
this.icon1 = 'map';
|
||
|
this.icon2 = 'photo';
|
||
|
this.arrow = true;
|
||
|
} else {
|
||
|
this.icon1 = '';
|
||
|
this.icon2 = '';
|
||
|
this.arrow = false;
|
||
|
}
|
||
|
},
|
||
|
textareaChange(index) {
|
||
|
this.type = index == 0 ? 'textarea' : 'text';
|
||
|
},
|
||
|
change(e) {
|
||
|
if (this.mode == 'range') {
|
||
|
this.result = e.startDate + " - " + e.endDate;
|
||
|
} else {
|
||
|
this.result = e.result;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style lang="scss" scoped>
|
||
|
.u-demo {
|
||
|
|
||
|
}
|
||
|
</style>
|