<template> <view class="timeContainer"> <view class="title">{{title}}</view> <view class="subTitle">{{subTitle}}</view> <view class="bottomSection"> <view class="selValue" @click="selectTimeLevelAction"> {{selValue.title}} </view> <view class="rightSection"> <image class="bottimIcon" src="../../static/icons/icon_aboutUs_DropDown.png" mode=""></image> <view class="line"></view> <view class="sort" :style="`background-color: ${sortType==0 ? '#fff': '#F7F8F9'}; color: ${sortType==0 ? '#333333': '#999999'};`" @click="sortAction(0)">正序</view> <view class="desSort" :style="`background-color: ${sortType==1 ? '#fff': '#F7F8F9'}; color: ${sortType==1 ? '#333333': '#999999'};`" @click="sortAction(1)">倒序</view> </view> </view> <dm-picker-view ref="timeLevelPicker" :options="timeLevelList" :value="selValue.value" @confirm="confirm" title="筛选时间维度"></dm-picker-view> </view> </template> <script> import dmPickerView from './dmPickerView.vue' export default { props: { title: { type: String, default: '筛选时间维度' }, subTitle: { type: String, default: '倒序表示最近到最远排列' }, sortType: { type: [Number, String], default: '1' }, queryDateType: { type: [Number, String], default: 2 }, isChengjiao2: { type: Boolean, default: false } }, data() { return { selValue: Object, timeLevelList: [] } }, mounted() { }, methods: { selectTimeLevelAction() { this.$refs.timeLevelPicker.show() }, confirm(e) { this.selValue = e.selItem this.$emit('queryDateTypeAction', e.selItem.value) }, sortAction(e) { // this.sortType = e this.$emit('sortTypeAction', e) }, reloadTimeLevelList() { if (this.isChengjiao2) { this.timeLevelList = [{ title: '最新成交时间', value: 0 }, { title: '按认购时间', value: 1 }, { title: '按签约时间', value: 2 }, { title: '按已结首付时间', value: 3 }, { title: '按已结全款时间', value: 4 } ] } else { this.timeLevelList = [{ 'title': '按首次报备时间', 'value': '1' }, { 'title': '按最新报备时间', 'value': '2' }, { 'title': '按客户动态时间', 'value': '3' }, { 'title': '按保护期截止时间', 'value': '4' } ] this.selValue = { title: '按最新报备时间', value: '2' } } } }, watch: { queryDateType: { handler(e) { this.reloadTimeLevelList() if (this.isChengjiao2) { this.selValue = this.timeLevelList[parseInt(e)] } else { this.selValue = this.timeLevelList[parseInt(this.queryDateType - 1)] } this.$forceUpdate() }, immediate: true }, isChengjiao2: { handler(e) { this.reloadTimeLevelList() }, immediate: true } }, components: { dmPickerView } } </script> <style scoped lang="scss"> .timeContainer { width: 100%; padding: 0 30rpx; box-sizing: border-box; font-family: Verdana; .title { color: #454545; font-size: 32rpx; font-weight: bold; } .subTitle { color: #999999; font-size: 24rpx; margin-top: 8rpx; } .bottomSection { margin-top: 20rpx; height: 94rpx; background-color: #F1F5F9; border-radius: 16rpx; display: flex; align-items: center; padding: 0 30rpx; box-sizing: border-box; justify-content: space-between; .selValue { color: #333333; font-size: 28rpx; flex-grow: 1; } .rightSection { display: flex; align-items: center; .bottimIcon { width: 14rpx; height: 9rpx; } .line { width: 2rpx; height: 52rpx; background-color: #EFEFEF; margin-left: 37rpx; } .sort { color: #333333; font-size: 28rpx; background-color: #FFFFFF; border: 2rpx solid #EFEFEF; border-radius: 26rpx; width: 90rpx; height: 52rpx; line-height: 52rpx; text-align: center; margin-left: 37rpx; } .desSort { color: #333333; font-size: 28rpx; background-color: #FFFFFF; border: 2rpx solid #EFEFEF; border-radius: 26rpx; width: 90rpx; height: 52rpx; line-height: 52rpx; text-align: center; } } } } </style>