<style lang="less" >
@import url('../../../styles/common.less');
#healthCardStatisticsIndex{
background: white;
height:100%;
display: flex;
flex-direction: column;
.items{
flex-grow:1;
height:1px;
overflow: auto;
-webkit-overflow-scrolling: touch;
.item{
margin:15px 15px 0 15px;
.HEAD{
border-top-left-radius: 6px;
border-top-right-radius: 6px;
background: #6b9bf7;
height:60px;
display: flex;
align-items: center;
padding:0 10px;
.left{
flex:1;
color:white;
font-size:18px;
font-weight: bold;
}
.right{
flex:1;
text-align: right;
display:flex;
flex-wrap: wrap;
div{
width:100%;
color:white;
}
.month{
font-size:14px;
}
.day{
font-size:18px;
font-weight: bold;
}
}
}
.CONTENT{
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
border:2px solid #6b9bf7;
border-top:0;
padding:10px;
display: flex;
justify-content: center;
align-items: center;
.left,.right,.center{
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
flex:1;
.n{
width:100%;
color:#527cd9;
font-weight: bold;
font-size:20px;
text-align: center;
}
.t{
width:100%;
font-size:14px;
text-align: center;
}
}
}
}
.item:last-child{
margin-bottom:15px;
}
}
.img{
width:100%;
display: flex;
justify-content: center;
img{
width:100%;
height:300px;
}
}
.btn{
height:40px;
margin:0 15px 10px 15px;
>button{
height:40px;
color:white;
width:100%;
line-height: 40px;
background: #2d8cf0;
border-radius: 5px;
font-size:14px;
}
}
}
</style>
<template>
<div id="healthCardStatisticsIndex">
<div class="items" v-if="list.length > 0">
<div class="item" v-for="(item,index) in list" :key="index" @click="routerToChart(item)" >
<div class="HEAD" >
<div class="left">
<span>{{item.iAllJoin}}/{{item.iAll}}</span>
</div>
<div class="right">
<div class="day">{{item.iDay}}</div>
<div class="month">{{item.sMonth}}</div>
</div>
</div>
<div class="CONTENT">
<div class="left">
<div class="n">{{item.iAll}}</div>
<div class="t">应参与人员</div>
</div>
<div class="center">
<div class="n">{{item.iAllJoin}}</div>
<div class="t">已参与人员</div>
</div>
<div class="right">
<div class="n">{{item.iAllNotJoin}}</div>
<div class="t">未参与人员</div>
</div>
</div>
</div>
</div>
<div class="img" v-if="list.length <= 0">
<img src="@/assets/noData.jpg" class="_img" alt="">
</div>
<div class="btn" v-if="list.length > 0">
<!-- <span v-show="false" id="copyUrl">{{copyUrl}}</span> -->
<button @click="exportExcel" class="copy" :data-clipboard-text="copyUrl">导出excel</button>
</div>
</div>
</template>
<script>
import Util from '@/libs/util.js';
import {mapState} from 'vuex';
import axios from 'axios';
import ClipboardJS from 'clipboard'
import { setTimeout } from 'timers';
export default {
name: 'healthCardStatisticsIndex',
data () {
return {
list:[],
openId:'',
copyUrl:''
}
},
components:{
},
computed:{
...mapState({
})
},
async mounted(){
this.openId=this.$route.query.openId;
this.$store.dispatch('saveHealthStatisticsOpen',this.openId);
},
async activated(){
window.d = this;
await this.getData();
// axios({
// method: 'get',
// url:'https://weixin.huansi.net/apiproxy/huansi/service/proxy/1227787695263191040/sendmessage/excel/?iCompanyID=1382&t=0.34324224',
// responseType: 'blob'
// })
// .then(data => {
// let url = window.URL.createObjectURL(data.data)
// let link = document.createElement('a')
// link.style.display = 'none'
// link.href = url
// console.log(url)
// link.setAttribute('download', 'product.xls')
// document.body.appendChild(link)
// link.click()
// })
},
methods:{
async getData(){
let res = await this.request('getStatisticalDetails',{
data:[
{key:'url',value:'statistical_details'},
{key:'openid',value:this.openId}
],
params:{},
},'加载中',{});
if(res && res.length > 0) {
this.list = res;
this.copyUrl = `https://weixin.huansi.net/apiproxy/huansi/service/proxy/1225621052093239296/sendmessage/excel/?iCompanyID=${this.list[0].iCompanyId}&t=${Math.random()}`
new ClipboardJS('.copy');
}
},
routerToChart(item){
this.$store.dispatch('saveHealthStatisticsHdr',item);
this.$router.push({name:'healthCardStatisticsChart'});
},
async exportExcel(){
this.$vux.loading.show();
setTimeout(async ()=>{
new ClipboardJS('.copy');
this.$vux.loading.hide();
this.$vux.confirm.show({
title:"提示",
content:'已复制导出链接,请手动打开浏览器粘贴并下载!',
showCancelButton:false,
})
},1000)
}
}
}
</script>