<template>
<div v-else class="cardLists" v-load-more="loadMore" @scroll.passive="getScroll($event)">
<a-form-model-item label="医院等级:">
<a-radio-group default-value="全部" button-style="solid" v-model="filterData.hospitalLevel">
<a-radio-button value="全部">全部</a-radio-button>
<a-radio-button value="一级">一级</a-radio-button>
<a-radio-button value="二级">二级</a-radio-button>
<a-radio-button value="三级">三级</a-radio-button>
<a-radio-button value="私立">私立</a-radio-button>
<a-radio-button value="其他">其他</a-radio-button>
<a-radio-button value="未定级">未定级</a-radio-button>
</a-radio-group>
</a-form-model-item>
<a-row :gutter="16">
<a-col :span="8" v-for="(item, idx) in list" :key="idx">
<a-card :bordered="true">
<span slot="title">
{{ hosData[idx].hospitalCode + ' ' + hosData[idx].hospitalName }}
</span>
<span slot="extra">
<a-button
type="link"
@click="onClick(hosData[idx].hospitalName, hosData[idx].hospitalCode, $event)">
筛查
</a-button>
</span>
<span class="n-Level" :class="nameMap[hosData[idx].hospitalLevel]">
<span>{{ hosData[idx].hospitalLevel }}</span>
</span>
<a-descriptions>
<a-descriptions-item label='结算数据'>
{{ hosData[idx].hisCount }}
</a-descriptions-item>
</a-descriptions>
</a-card>
</a-col>
</a-row>
</div>
</div>
</template>
<script>
import $ from 'jquery';
export default {
props: [ 'hosData' ],
computed: {
rowLen: function() {
this.page.totalPages = Math.ceil(this.hosData.length / 60);
return this.hosData.length
},
list: {
get: function() {
let res = this.hosData.length - this.listNum;
if(this.hosData.length < 60) {
this.listNum = 60;
return this.hosData.length
} else if(res <= 0) {
this.listNum = 60;
return this.listNum
} else if(res < 60) {
res += this.listNum;
this.listNum = 60;
return res
} else {
return this.listNum
}
}
}
},
data() {
return {
result: [],
filterData: {
hospitalLevel: undefined
}
}
},
watch: {
// 监听对象变化
filterData: {
handler(val, oldVal) {
if (val) {
// 如果筛选条件全为空,查全部;否则按条件筛选
console.log("===进来了===");
console.log(this.hosData);
var objIsEmpty = this.filterData.hospitalLevel == '';
if (objIsEmpty) {
this.result = this.hosData
} else {
// /拿到有值的参数
let tempFilter = {};
for (var key in this.filterData) {
if (typeof(this.filterData[key]) != "undefined" && typeof(this.filterData[key]) != "null" && this.filterData[key] != null && this.filterData[key] != "") {
tempFilter[key] = this.filterData[key]
}
}
this.result = this.hosData.filter((item) => {
let flag = false;
for (key in tempFilter) {
if (item[key].toString().indexOf(tempFilter[key].toString()) >= 0) {
flag = true
} else {
flag = false;
break
}
}
if (flag) {
console.log("===item===");
console.log(item);
return item
}
})
// console.log(this.result, '输出筛选结果')
}
}
},
deep: true
}
},
methods: {
onClick(hospitalName, hospitalCode) {
const hospitalInfo = {
'hospitalName' : hospitalName,
'hospitalCode' : hospitalCode
}
this.$emit('getCode', hospitalInfo);
}
}
}
</script>
没展示内容 是数据的问题 。如果筛选有数据 。那就是 你 展示代码的问题