|
@ -3,36 +3,52 @@
|
|
|
<van-popup v-model="filterShow" position="right">
|
|
|
<div class="fs-14 c-333 filter-panel">
|
|
|
<div class="inner-content plr15">
|
|
|
<div class="ptb10">按社区</div>
|
|
|
<div class="drop-menu" :class="{active: drowMenuShow}">
|
|
|
<div class="drop-menu-title tc fs-14" @click="drowMenuShow=!drowMenuShow">
|
|
|
<span class="v-middle">{{selcommunity? (selcommunity.hospitalCode? selcommunity.hospitalName : selcommunity.townName) : '全部'}}</span>
|
|
|
<van-icon name="arrow-down" />
|
|
|
</div>
|
|
|
<div class="drop-menu-area kitbox">
|
|
|
<div class="drop-menu-area-left" v-if="townList&&townList.length">
|
|
|
<van-sidebar v-model="activeKey">
|
|
|
<van-sidebar-item v-for="(item, i) in townList" :key="i" :title="item.townName" />
|
|
|
</van-sidebar>
|
|
|
<div class="filter-item-panel" v-if="hasCommunity">
|
|
|
<div class="ptb10">按社区</div>
|
|
|
<div class="drop-menu" :class="{active: drowMenuShow}">
|
|
|
<div class="drop-menu-title tc fs-14" @click="drowMenuShow=!drowMenuShow">
|
|
|
<span class="v-middle">{{selcommunity? (selcommunity.hospitalCode? selcommunity.hospitalName : selcommunity.townName) : '全部'}}</span>
|
|
|
<van-icon name="arrow-down" />
|
|
|
</div>
|
|
|
<div class="drop-menu-area-right">
|
|
|
<div v-for="(item, i) in communityList" :key="i" @click="selcommunity=item;drowMenuShow=false;">{{item.hospitalName}}</div>
|
|
|
<div class="drop-menu-area kitbox">
|
|
|
<div class="drop-menu-area-left" v-if="townList&&townList.length">
|
|
|
<van-sidebar v-model="activeKey">
|
|
|
<van-sidebar-item v-for="(item, i) in townList" :key="i" :title="item.townName" />
|
|
|
</van-sidebar>
|
|
|
</div>
|
|
|
<div class="drop-menu-area-right">
|
|
|
<div v-for="(item, i) in communityList" :key="i" @click="selcommunity=item;drowMenuShow=false;">{{item.hospitalName}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="ptb10 mt10">按时间</div>
|
|
|
<div class="">
|
|
|
<van-tag @click="endDate='';startDate='';dateType=item.value" v-for="(item, i) in dateTypeOpts" :key="i" :class="{active: item.value===dateType}" type="primary" round>{{item.name}}</van-tag>
|
|
|
|
|
|
<div class="filter-item-panel" v-if="hasDate">
|
|
|
<div class="ptb10">按时间</div>
|
|
|
<div class="">
|
|
|
<van-tag @click="endDate='';startDate='';dateType=item.value" v-for="(item, i) in dateTypeOpts" :key="i" :class="{active: item.value===dateType}" type="primary" round>{{item.name}}</van-tag>
|
|
|
|
|
|
<van-tag @click="pickDate(1)" type="primary" round :class="{active: startDate}">{{(startDate&&$moment(startDate).format('YYYY-MM-DD')) || '请选择日期'}}</van-tag>
|
|
|
<van-tag class="small" type="primary" round>至</van-tag>
|
|
|
<van-tag @click="pickDate(2)" type="primary" round :class="{active: endDate}">{{(endDate&&$moment(endDate).format('YYYY-MM-DD')) || '请选择日期'}}</van-tag>
|
|
|
<van-tag @click="pickDate(1)" type="primary" round :class="{active: startDate}">{{(startDate&&$moment(startDate).format('YYYY-MM-DD')) || '请选择日期'}}</van-tag>
|
|
|
<van-tag class="small" type="primary" round>至</van-tag>
|
|
|
<van-tag @click="pickDate(2)" type="primary" round :class="{active: endDate}">{{(endDate&&$moment(endDate).format('YYYY-MM-DD')) || '请选择日期'}}</van-tag>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div class="ptb10">按类型</div>
|
|
|
<div class="">
|
|
|
<van-tag @click="state=item.value" v-for="(item, i) in stateOpts" :key="i" :class="{active: item.value===state}" type="primary" round>{{item.name}}</van-tag>
|
|
|
<div class="filter-item-panel" v-if="hasType">
|
|
|
<div class="ptb10">按类型</div>
|
|
|
<div class="">
|
|
|
<van-tag @click="state=item.value" v-for="(item, i) in stateOpts" :key="i" :class="{active: item.value===state}" type="primary" round>{{item.name}}</van-tag>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<template v-if="extendList&&extendList.length>0">
|
|
|
<div v-for="(citem, k) in extendList" :key="k" class="filter-item-panel" >
|
|
|
<div class="ptb10">{{citem.name}}</div>
|
|
|
<div class="">
|
|
|
<van-tag @click="citem.value=item.value" v-for="(item, i) in citem.opts" :key="i" :class="{active: item.value===citem.value}" type="primary" round>{{item.name}}</van-tag>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
</div>
|
|
|
|
|
|
<div class="buttons kitbox ">
|
|
@ -59,7 +75,7 @@
|
|
|
import { findOneUser} from "@/api/login";
|
|
|
import medicineAbinetApi from '@/api/api-medicineAbinet'
|
|
|
export default{
|
|
|
props: ['value'],
|
|
|
props: ['value', 'filterOpts', 'extendList'],
|
|
|
data(){
|
|
|
return {
|
|
|
communityText: '全部',
|
|
@ -103,6 +119,17 @@ export default{
|
|
|
dateType: 3
|
|
|
}
|
|
|
},
|
|
|
computed:{
|
|
|
hasCommunity(){
|
|
|
return !this.filterOpts || this.filterOpts.indexOf('community')!=-1
|
|
|
},
|
|
|
hasDate(){
|
|
|
return !this.filterOpts || this.filterOpts.indexOf('date')!=-1
|
|
|
},
|
|
|
hasType(){
|
|
|
return !this.filterOpts || this.filterOpts.indexOf('type')!=-1
|
|
|
},
|
|
|
},
|
|
|
watch: {
|
|
|
value(n){
|
|
|
this.filterShow = n
|
|
@ -135,6 +162,11 @@ export default{
|
|
|
this.dateType = 3
|
|
|
this.selcommunity = ''
|
|
|
this.state = ''
|
|
|
if(this.extendList && this.extendList.length){
|
|
|
this.extendList.forEach(v=>{
|
|
|
v.value = v.defaultVal===undefined||v.defaultVal===''? '' : v.defaultVal
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
submit(selcommunity, state, allTime){
|
|
|
console.log('selcommunity', this.selcommunity)
|
|
@ -171,7 +203,8 @@ export default{
|
|
|
selcommunity: this.selcommunity,
|
|
|
sellState: this.state,
|
|
|
startTime,
|
|
|
endTime
|
|
|
endTime,
|
|
|
extendList: this.extendList
|
|
|
})
|
|
|
this.$emit('input', false)
|
|
|
},
|
|
@ -332,6 +365,12 @@ export default{
|
|
|
.inner-content{
|
|
|
overflow-y: auto;
|
|
|
height: calc(100% - 60px);
|
|
|
.filter-item-panel{
|
|
|
margin-top: 10px;
|
|
|
&:first-child{
|
|
|
margin-top: 0;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
.community-input{
|
|
|
border: 1px solid #ccc;
|