|
|
@@ -1,8 +1,7 @@
|
|
|
<template>
|
|
|
<view class="select-bg_bx">
|
|
|
<view v-if="isShowTit" @click="switchCut" :class="['select-title',dropdownShow?'select_corlor':'']">
|
|
|
- <text v-if="typeTime">{{selectItemId?menuObjActive:menuObj.title}}</text>
|
|
|
- <text v-else>{{menuObjActive?menuObjActive:getMyShopInfo.shopName}}</text>
|
|
|
+ <text>{{menuObjActive?menuObjActive:getMyShopInfo.shopName}}</text>
|
|
|
<text v-if="placeholder" style="color: #ccc;">{{placeholder}}</text>
|
|
|
<i v-if="isShowMore" class="iconfont iconsanjiao_xia"></i>
|
|
|
</view>
|
|
|
@@ -15,50 +14,26 @@
|
|
|
<view class="select-item-box">
|
|
|
<view class="title">{{menuObj.titleChild}}</view>
|
|
|
<view class="item-child_box">
|
|
|
- <button
|
|
|
- v-for="(item,index) in menuObj.list"
|
|
|
- :key="index"
|
|
|
- @click="changeItem(item)"
|
|
|
- :class="['admin-button-com','mini-btn',selectItemId === item.id?'blue':'default']">
|
|
|
- {{item.name}}
|
|
|
- </button>
|
|
|
+ <button v-for="(item,index) in menuObj.list" :key="index" @click="changeItem(item)"
|
|
|
+ :class="['admin-button-com','mini-btn',selectItemId === item.id?'blue':'default']"> {{item.name}} </button>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view v-if="typeSelect === 1" class="select-item-box">
|
|
|
- <view class="title">自定义</view>
|
|
|
- <view class="item-child_box" ><view class="admin-button-com mini-btn default custom" @click="DatePicker()">选择时间段(滑动切换月份)</view></view>
|
|
|
- </view>
|
|
|
</slot>
|
|
|
</view>
|
|
|
- <mx-date-picker :show="showPicker" format="yyyy-mm-dd" type="range" :value="defaultPickerDate"
|
|
|
- :show-tips="false" :begin-text="'开始'" :end-text="'结束'" @confirm="confirmPicker" @cancel="cancelPicker" />
|
|
|
</view>
|
|
|
</template>
|
|
|
-
|
|
|
<script>
|
|
|
import DropdownList from "@/components/plugin/dropdown-list";
|
|
|
-import AppDatePicker from "@/components/app-date-picker";
|
|
|
-import rangeDatePick from '@/components/pyh-rdtpicker/pyh-rdtpicker.vue';
|
|
|
-import MxDatePicker from '@/components/mx-datepicker/mx-datepicker.vue';
|
|
|
import {mapGetters} from "vuex";
|
|
|
export default {
|
|
|
name:'DorpdownSelect',
|
|
|
components:{
|
|
|
- DropdownList,AppDatePicker,rangeDatePick,MxDatePicker
|
|
|
+ DropdownList
|
|
|
},
|
|
|
props:{
|
|
|
menuObj:{
|
|
|
type: Object,
|
|
|
- default: ()=>({
|
|
|
- title:'时间',
|
|
|
- titleChild:'时间',
|
|
|
- list: [{name:'昨天',id:'0'},{name:'今天',id:'1'},{name:'本月',id:'2'},{name:'上月',id:'3'},{name:'今年',id:'4'}]
|
|
|
- })
|
|
|
- },
|
|
|
- // 1 时间 2 其他
|
|
|
- typeSelect:{
|
|
|
- type:Number,
|
|
|
- default: 2
|
|
|
+ default: ()=>({ title:'门店', titleChild:'门店', list: [] })
|
|
|
},
|
|
|
top:{
|
|
|
type: String,
|
|
|
@@ -95,78 +70,20 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
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(["getMyShopInfo"])
|
|
|
},
|
|
|
mounted(){
|
|
|
-
|
|
|
- },
|
|
|
- onLoad(){
|
|
|
},
|
|
|
methods:{
|
|
|
- DatePicker(){//显示
|
|
|
- this.showPicker = true;
|
|
|
- },
|
|
|
- confirmPicker(e) {//选择
|
|
|
-
|
|
|
- this.showPicker = false;
|
|
|
- this.dropdownShow = false;
|
|
|
- this.$emit('update:selectItemId','custom')
|
|
|
- this.$emit('selectSussess',{
|
|
|
- custom:1,start:e['value'][0],end:e['value'][1]
|
|
|
- })
|
|
|
- this.menuObjActive = '自定义';
|
|
|
- },
|
|
|
- cancelPicker(e){//取消
|
|
|
- this.showPicker = false;
|
|
|
- },
|
|
|
switchCut(){
|
|
|
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.$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;
|
|
|
-
|
|
|
- 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.$emit('selectSussess',{ select: this.$util.isString(val)?val:val.name, selectItem: val })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -229,4 +146,4 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-</style>
|
|
|
+</style>
|