|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
<template>
|
|
|
<view class="select-bg_bx">
|
|
<view class="select-bg_bx">
|
|
|
<view v-if="isShowTit" @click="switchCut" :class="['select-title',dropdownShow?'select_corlor':'']">
|
|
<view v-if="isShowTit" @click="switchCut" :class="['select-title',dropdownShow?'select_corlor':'']">
|
|
|
- <text>{{selectItemId?menuObjActive:menuObj.title}}</text>
|
|
|
|
|
|
|
+ <text>{{currentDateName}}</text>
|
|
|
<text v-if="placeholder" style="color: #ccc;">{{placeholder}}</text>
|
|
<text v-if="placeholder" style="color: #ccc;">{{placeholder}}</text>
|
|
|
<i v-if="isShowMore" class="iconfont iconsanjiao_xia"></i>
|
|
<i v-if="isShowMore" class="iconfont iconsanjiao_xia"></i>
|
|
|
</view>
|
|
</view>
|
|
@@ -12,12 +12,12 @@
|
|
|
<view v-if="dropdownShow" :style="{top}" class="select-fixed_bx">
|
|
<view v-if="dropdownShow" :style="{top}" class="select-fixed_bx">
|
|
|
<slot>
|
|
<slot>
|
|
|
<view class="select-item-box">
|
|
<view class="select-item-box">
|
|
|
- <view class="title">{{menuObj.titleChild}}</view>
|
|
|
|
|
|
|
+ <view class="title">时间</view>
|
|
|
<view class="item-child_box">
|
|
<view class="item-child_box">
|
|
|
<button
|
|
<button
|
|
|
- v-for="(item,index) in menuObj.list"
|
|
|
|
|
|
|
+ v-for="(item,index) in getDictionariesInfo.dateDefaultOption"
|
|
|
:key="index"
|
|
:key="index"
|
|
|
- @click="changeItem(item)"
|
|
|
|
|
|
|
+ @click="changeDateOption(item)"
|
|
|
:class="['admin-button-com','mini-btn',selectItemId === item.id?'blue':'default']">
|
|
:class="['admin-button-com','mini-btn',selectItemId === item.id?'blue':'default']">
|
|
|
{{item.name}}
|
|
{{item.name}}
|
|
|
</button>
|
|
</button>
|
|
@@ -28,7 +28,7 @@
|
|
|
<view class="item-child_box" >
|
|
<view class="item-child_box" >
|
|
|
<view class="admin-button-com mini-btn default custom" @click="showDatePicker(0)">{{startDate || '选择开始日期'}}</view>
|
|
<view class="admin-button-com mini-btn default custom" @click="showDatePicker(0)">{{startDate || '选择开始日期'}}</view>
|
|
|
<view class="admin-button-com mini-btn default custom" @click="showDatePicker(1)">{{endDate || '选择结束日期'}}</view>
|
|
<view class="admin-button-com mini-btn default custom" @click="showDatePicker(1)">{{endDate || '选择结束日期'}}</view>
|
|
|
- <view class="admin-button-com mini-btn blue custom" @click="setDateConfirm()">确认</view>
|
|
|
|
|
|
|
+ <view class="admin-button-com mini-btn blue custom" @click="customDateConfirm()">确认</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</slot>
|
|
</slot>
|
|
@@ -36,7 +36,6 @@
|
|
|
<mx-date-picker :show="showPicker" format="yyyy-mm-dd" type="date" :value="defaultPickerDate" :show-tips="true" @confirm="confirmPicker" @cancel="cancelPicker" />
|
|
<mx-date-picker :show="showPicker" format="yyyy-mm-dd" type="date" :value="defaultPickerDate" :show-tips="true" @confirm="confirmPicker" @cancel="cancelPicker" />
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|
|
|
-
|
|
|
|
|
<script>
|
|
<script>
|
|
|
import DropdownList from "@/components/plugin/dropdown-list";
|
|
import DropdownList from "@/components/plugin/dropdown-list";
|
|
|
import MxDatePicker from '@/components/mx-datepicker/mx-datepicker.vue';
|
|
import MxDatePicker from '@/components/mx-datepicker/mx-datepicker.vue';
|
|
@@ -47,14 +46,6 @@ export default {
|
|
|
DropdownList,MxDatePicker
|
|
DropdownList,MxDatePicker
|
|
|
},
|
|
},
|
|
|
props:{
|
|
props:{
|
|
|
- menuObj:{
|
|
|
|
|
- type: Object,
|
|
|
|
|
- default: ()=>({
|
|
|
|
|
- title:'时间',
|
|
|
|
|
- titleChild:'时间',
|
|
|
|
|
- list: [{name:'昨天',id:'0'},{name:'今天',id:'1'},{name:'本月',id:'2'},{name:'上月',id:'3'},{name:'今年',id:'4'}]
|
|
|
|
|
- })
|
|
|
|
|
- },
|
|
|
|
|
top:{
|
|
top:{
|
|
|
type: String,
|
|
type: String,
|
|
|
default: 'auto'
|
|
default: 'auto'
|
|
@@ -78,32 +69,23 @@ export default {
|
|
|
},
|
|
},
|
|
|
data(){
|
|
data(){
|
|
|
return {
|
|
return {
|
|
|
- defaultPickerDate:'2019-01-01',
|
|
|
|
|
|
|
+ defaultPickerDate:'',
|
|
|
showPicker: false,
|
|
showPicker: false,
|
|
|
dropdownShow: false,
|
|
dropdownShow: false,
|
|
|
selectItem:'',
|
|
selectItem:'',
|
|
|
- menuObjActive:'',
|
|
|
|
|
|
|
+ currentDateName:'今天',
|
|
|
startDate:'',
|
|
startDate:'',
|
|
|
endDate:'',
|
|
endDate:'',
|
|
|
dateIndex:0
|
|
dateIndex:0
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
computed:{
|
|
computed:{
|
|
|
- ...mapGetters(["getMyShopInfo"]),
|
|
|
|
|
- formatSelect(){
|
|
|
|
|
- if(!this.$util.isEmpty(this.selectItemId)&&
|
|
|
|
|
- this.$util.isString(this.selectItemId)&&
|
|
|
|
|
- this.selectItemId.split('-').length>1){
|
|
|
|
|
- return true
|
|
|
|
|
- }else{
|
|
|
|
|
- return false
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ ...mapGetters(["getDictionariesInfo"])
|
|
|
},
|
|
},
|
|
|
mounted(){
|
|
mounted(){
|
|
|
let nowDate = new Date();
|
|
let nowDate = new Date();
|
|
|
- let end = nowDate.Format("yyyy-MM-dd")
|
|
|
|
|
- this.defaultPickerDate = end
|
|
|
|
|
|
|
+ let currentDate = nowDate.Format("yyyy-MM-dd")
|
|
|
|
|
+ this.defaultPickerDate = currentDate
|
|
|
},
|
|
},
|
|
|
onLoad(){
|
|
onLoad(){
|
|
|
},
|
|
},
|
|
@@ -120,7 +102,7 @@ export default {
|
|
|
}
|
|
}
|
|
|
this.showPicker = false;
|
|
this.showPicker = false;
|
|
|
},
|
|
},
|
|
|
- setDateConfirm() {
|
|
|
|
|
|
|
+ customDateConfirm() {
|
|
|
if(this.$util.isEmpty(this.startDate)){
|
|
if(this.$util.isEmpty(this.startDate)){
|
|
|
this.$msg('请选择开始日期')
|
|
this.$msg('请选择开始日期')
|
|
|
return false
|
|
return false
|
|
@@ -129,60 +111,24 @@ export default {
|
|
|
this.$msg('请选择开始日期')
|
|
this.$msg('请选择开始日期')
|
|
|
return false
|
|
return false
|
|
|
}
|
|
}
|
|
|
- this.$emit('update:selectItemId','custom')
|
|
|
|
|
- this.$emit('selectSussess',{
|
|
|
|
|
- custom:1,start:this.startDate,end:this.endDate
|
|
|
|
|
- })
|
|
|
|
|
- this.menuObjActive = '时间段';
|
|
|
|
|
this.dropdownShow = false
|
|
this.dropdownShow = false
|
|
|
|
|
+ this.currentDateName = '时间段'
|
|
|
|
|
+ this.$emit('selectDateFn',{selectTime:'custom',start:this.startDate,end:this.endDate})
|
|
|
},
|
|
},
|
|
|
- cancelPicker(e){//取消
|
|
|
|
|
|
|
+ cancelPicker(){
|
|
|
this.showPicker = false;
|
|
this.showPicker = false;
|
|
|
},
|
|
},
|
|
|
switchCut(){
|
|
switchCut(){
|
|
|
this.dropdownShow = !this.dropdownShow
|
|
this.dropdownShow = !this.dropdownShow
|
|
|
},
|
|
},
|
|
|
- changeItem(val){
|
|
|
|
|
- if(val.id== this.selectItemId&&val.name!='时间段'){
|
|
|
|
|
- return false
|
|
|
|
|
- }
|
|
|
|
|
- this.$emit('update:selectItemId',val.id)
|
|
|
|
|
-
|
|
|
|
|
- this.dropdownShow = false;
|
|
|
|
|
-
|
|
|
|
|
- this.$emit('update:menuObj',{
|
|
|
|
|
- ...this.menuObj,
|
|
|
|
|
- title:val.name
|
|
|
|
|
- })
|
|
|
|
|
- this.menuObjActive = val.name;
|
|
|
|
|
-
|
|
|
|
|
- this.$emit('selectSussess',{
|
|
|
|
|
- select: this.$util.isString(val)?val:val.name,
|
|
|
|
|
- selectItem: val
|
|
|
|
|
- })
|
|
|
|
|
- },
|
|
|
|
|
- endTimeFn(e){
|
|
|
|
|
-
|
|
|
|
|
- this.selectItemId = e.detail.value;
|
|
|
|
|
-
|
|
|
|
|
|
|
+ changeDateOption(val){
|
|
|
this.dropdownShow = false;
|
|
this.dropdownShow = false;
|
|
|
-
|
|
|
|
|
- this.$emit('update:selectItemId',val.id)
|
|
|
|
|
-
|
|
|
|
|
- this.$emit('update:menuObj',{
|
|
|
|
|
- ...this.menuObj,
|
|
|
|
|
- title:e.detail.value
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- this.$emit('selectSussess',{
|
|
|
|
|
- select: e.detail.value,
|
|
|
|
|
- selectItem: val
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ this.currentDateName = val.name;
|
|
|
|
|
+ this.$emit('selectDateFn',{selectTime:val.value})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
</script>
|
|
</script>
|
|
|
-
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
.select-bg_bx {
|
|
.select-bg_bx {
|
|
|
.select-title {
|
|
.select-title {
|