Browse Source

数据统计导出

chenyubai 2 years ago
parent
commit
c3a5066087

+ 79 - 0
api/statistics-api.js

@ -113,6 +113,85 @@
		    return httpRequest.get("third/door/getWHFInfoList", {data: data});
		},
		
		// 咨询分析明细  
		getConsultList: function(data){
		    return httpRequest.get("statisticsExport/getConsultList", {data: data});
		},
			
		// 签约分析明细
		getSignList: function(data){
		    return httpRequest.get("statisticsExport/getSignList", {data: data});
		},
		// 专病分析明细
		getSickList: function(data){
		    return httpRequest.get("statisticsExport/getSickList", {data: data});
		},
		
		// 生日祝福分析明细
		getBirthdayPatientList: function(data){
		    return httpRequest.get("statisticsExport/getBirthdayPatientList", {data: data});
		},
		//导出生日祝福分析明细
		getBirthdayPatientListExport: function(data){
		    return httpRequest.get("statisticsExport/getBirthdayPatientListExport", {data: data});
		},
		
		// 上门服务分析明细
		getDoorServiceList: function(data){
		    return httpRequest.get("statisticsExport/getDoorServiceList", {data: data});
		},
		
		// 长处方分析明细
		getPrescriptionList: function(data){
		    return httpRequest.get("statisticsExport/getPrescriptionList", {data: data});
		},
		
		// 获取专病疾病类型
		getDiseaseTypeList: function(data){
		    return httpRequest.get("statisticsExport/getDiseaseTypeList", {data: data});
		},
		// 年度考核报表
		getAnnualAssessment: function(data){
		    return httpRequest.get("statisticsExport/getAnnualAssessment", {data: data});
		},
		
		// 综合分析导出
		statisticsExportExport: function(data, filename){
		    return httpRequest.downLoadFileForAjax("statisticsExport/export", filename, data);
		},
		// 咨询分析导出
		statisticsExportExportConsultList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportConsultList", filename, data);
		},
		// 签约分析导出
		statisticsExportExportSignList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportSignList", filename, data);
		},
		// 专病分析导出
		statisticsExportExportSickList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportSickList", filename, data);
		},
		// 生日祝福分析导出
		statisticsExportGetBirthdayPatientListExport: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/getBirthdayPatientListExport", filename, data);
		},
		// 上门服务导出
		statisticsExportExportDoorServiceList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportDoorServiceList", filename, data);
		},
		// 长处方导出
		statisticsExportExportPrescriptionList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportPrescriptionList", filename, data);
		},
		// 年度考核报表导出
		statisticsExportExportAnnualAssessment: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportAnnualAssessment", filename, data);
		},
		// 咨询未及时回复导出
		appAdminToExcel: function(data, filename){
			return httpRequest.downLoadFileForAjax("third/door/appAdminToExcel", filename, data);
		},
		
        
    }

+ 1 - 0
app/home/html/index.html

@ -43,6 +43,7 @@
        <frame src="menu.html" noresize="noresize" id="tab">
        <frame src="href:aboutblank;" name="view_frame" id="main" class="p10" noresize="noresize">
    </frameset>-->
	<script src="../../../js/FileSaver/FileSaver.js" type="text/javascript" charset="utf-8"></script>
     <script src="../../../js/vue.js" type="text/javascript" charset="utf-8"></script>
     <script type="text/javascript" src="../../../js/jquery-2.2.4.js"></script>
     <script src="../../../plugins/layer/layer.min.js"></script>

+ 47 - 48
app/statistics/html/annual-appraisal-report.html

@ -33,7 +33,7 @@
<body style="margin: 0;overflow-x: auto;">
    <div id="main" class="c-hide ">
        <header-tab appname="年度考核报表" isback="true" isrefresh="true"></header-tab>
        <div class="p20 bgc-f2f3f5">  
        <div class="p20 bgc-f2f3f5" v-loading.fullscreen.lock="fullscreenLoading">  
        	<div  style="border:1px solid #d7dce6">
		        <div class="ui-grid  bgc-f2f3f5">
		        	<div class="ui-col-1 bgc-fff p20" style="min-width: 900px;" :style="{ height: height + 'px' }">
@ -62,60 +62,59 @@
		        			<el-select v-model="communityCode" style="width:200px;" class="pr10" v-show="rangeCode!='town'">
				                <el-option v-for="(item , index) in communityList" :key="index" :label="item.name" :value="item.code"></el-option>
				            </el-select>
		        			<!-- <label class="c-333 c-f14" for="" v-show="rangeCode == 'team'">团队:</label>
		        			<label class="c-333 c-f14" for="" v-show="rangeCode == 'team'">团队:</label>
		        			<el-select v-model="teamCode" style="width:150px;" class="pr10" v-show="rangeCode == 'team'">
				                <el-option v-for="(item , index) in teamList" :key="index" :label="item.name" :value="item.id"></el-option>
				            </el-select> -->
				            </el-select>
				            <el-button type="primary" size="mini" @click="searchHandle">查询</el-button>
				            <el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
		        		</div>
			        	<div>
			        		<el-table border :data="tabledata" style="width: 100%" class="mt20" v-loading="isloading">
			        		<el-table border :data="tabledata" style="width: 100%" max-height="720" class="mt20" v-loading="isloading">
			        			<el-table-column fixed type="index" label="序号" width="50" min-width="50" align="center"></el-table-column>
								<el-table-column prop="symptoms" label="社区名称"  show-overflow-tooltip></el-table-column>
								<el-table-column prop="name" label="社区code" align="center" ></el-table-column>
								<el-table-column prop="create_time" label="签约量(已扣费)" align="center" ></el-table-column>
								<el-table-column prop="reply_time" label="人口数" align="center" ></el-table-column>
								<el-table-column prop="content" label="签约率"  show-overflow-tooltip></el-table-column>
								<el-table-column prop="team_name" label="老年人签约量" align="center"></el-table-column>
								<el-table-column prop="doctor_name" label="老年人人口数" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="老年人签约率" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="绑定量  " align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="绑定率" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="生日祝福推送量 " align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="生日祝福未推送量 " align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="生日祝福推送率" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="健康教育推送量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="健康教育指导量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="普通人群签约量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="老年人签约量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="高血压签约量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="糖尿病签约量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="孕产妇签约量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="0-6岁儿童签约量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="贫困人口签约量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="计生特殊人群签约量 " align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="续签量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="高血压患者续签量 " align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="糖尿病患者续签量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="65岁以上续签量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="高血压续签率" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="糖尿病续签率" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="65岁以上续签率" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="咨询量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="未及时回复数" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="及时回复数" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="咨询回复量" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="未回复" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="下转居民数" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="服务居民数 " align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="下转服务率" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="机构续签签出居民数量  " align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="改签占比" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="管理人数" align="center" ></el-table-column>
								<el-table-column prop="doctor_health_name" label="管理率" align="center" ></el-table-column>
								<el-table-column prop="hospitalName" label="社区名称" width="250" align="center" show-overflow-tooltip></el-table-column>
								<el-table-column prop="hospital" label="社区code" align="center" width="100"></el-table-column>
								<el-table-column prop="signAmount" label="签约量(已扣费)" align="center" width="120"></el-table-column>
								<el-table-column prop="peopleNum" label="人口数" align="center"></el-table-column>
								<el-table-column prop="signRange" label="签约率" align="center" show-overflow-tooltip></el-table-column>
								<el-table-column prop="sixFiveNumSign" width="130" label="老年人签约量" align="center"></el-table-column>
								<el-table-column prop="sixFiveNum" width="130" label="老年人人口数" align="center" ></el-table-column>
								<el-table-column prop="sixFiveNumSignRange" width="130" label="老年人签约率" align="center" ></el-table-column>
								<el-table-column prop="binding" label="绑定量  " align="center" ></el-table-column>
								<el-table-column prop="bindingRange" label="绑定率" align="center" ></el-table-column>
								<el-table-column prop="birthdaySend" width="130" label="生日祝福推送量 " align="center" ></el-table-column>
								<el-table-column prop="birthdayNotSend" width="150" label="生日祝福未推送量 " align="center" ></el-table-column>
								<el-table-column prop="birthdaySendRange" width="130" label="生日祝福推送率" align="center" ></el-table-column>
								<el-table-column prop="healthEdu" width="130" label="健康教育推送量" align="center" ></el-table-column>
								<el-table-column prop="healthGuide" width="130" label="健康教育指导量" align="center" ></el-table-column>
								<el-table-column prop="ptrqSign" width="130" label="普通人群签约量" align="center" ></el-table-column>
								<el-table-column prop="gxySign" width="130" label="高血压签约量" align="center" ></el-table-column>
								<el-table-column prop="tnbSign" width="130" label="糖尿病签约量" align="center" ></el-table-column>
								<el-table-column prop="ycfSign" width="130" label="孕产妇签约量" align="center" ></el-table-column>
								<el-table-column prop="childSignAmount" width="130" label="0-6岁儿童签约量" align="center" ></el-table-column>
								<el-table-column prop="pkrkSign" width="130" label="贫困人口签约量" align="center" ></el-table-column>
								<el-table-column prop="jstsjtSign" width="150" label="计生特殊人群签约量 " align="center" ></el-table-column>
								<el-table-column prop="renewNum" label="续签量" align="center" ></el-table-column>
								<el-table-column prop="gxyRenew" width="140" label="高血压患者续签量 " align="center" ></el-table-column>
								<el-table-column prop="tnbRenew" width="140" label="糖尿病患者续签量" align="center" ></el-table-column>
								<el-table-column prop="sixFiveRenew" width="160" label="65岁以上续签量" align="center" ></el-table-column>
								<el-table-column prop="gxyRenewRange" width="130" label="高血压续签率" align="center" ></el-table-column>
								<el-table-column prop="tnbRenewRange" width="130" label="糖尿病续签率" align="center" ></el-table-column>
								<el-table-column prop="sinFiveRenewRange" width="160" label="65岁以上续签率" align="center" ></el-table-column>
								<el-table-column prop="consultAmount"  label="咨询量" align="center" ></el-table-column>
								<el-table-column prop="consultNotInTimeReplay" width="130" label="未及时回复数" align="center" ></el-table-column>
								<el-table-column prop="consultInTimeReplay" width="130" label="及时回复数" align="center" ></el-table-column>
								<el-table-column prop="consultReplay" width="130" label="咨询回复量" align="center" ></el-table-column>
								<el-table-column prop="consultNotReplay" label="未回复" align="center" ></el-table-column>
								<el-table-column prop="rehabilitationTotal" width="130" label="下转居民数" align="center" ></el-table-column>
								<el-table-column prop="rehabilitationServed" width="130" label="服务居民数 " align="center" ></el-table-column>
								<el-table-column prop="rehabilitationServedRange" width="130" label="下转服务率" align="center" ></el-table-column>
								<el-table-column prop="hospitalSingOut" width="170" label="机构续签签出居民数量  " align="center" ></el-table-column>
								<el-table-column prop="changeSignRange" label="改签占比" align="center" ></el-table-column>
								<el-table-column prop="manageNum" label="管理人数" align="center" ></el-table-column>
								<el-table-column prop="manageRate" label="管理率" align="center" ></el-table-column>
							</el-table>
							<div class="c-t-right mt20">
							<!-- <div class="c-t-right mt20">
								<el-pagination 
							      @current-change="handleCurrentChange"
							      :current-page.sync="currentPage"
@ -123,7 +122,7 @@
							      layout="total, prev, pager, next, jumper"
							      :total="datatotal">
							    </el-pagination>
							</div>
							</div> -->
			        	</div>
		        	</div>
		        </div>

+ 95 - 86
app/statistics/html/comprehensive-query.html

@ -43,13 +43,13 @@
<body style="margin: 0;overflow-x: auto;">
    <div id="main" class="c-hide ">
        <header-tab appname="综合查询" isback="true" isrefresh="true"></header-tab>
        <div class="p20 bgc-f2f3f5">  
        <div class="p20 bgc-f2f3f5"  v-loading.fullscreen.lock="fullscreenLoading">  
        	<div  style="border:1px solid #d7dce6">
		        <div class="ui-grid  bgc-f2f3f5">
		        	<div class="ui-col-0 pr15" style="min-width: 220px;border-right:1px solid #d7dce6;overflow-y:auto;" :style="{ height: height + 'px' }">
		        		<el-tree class="bgc-f2f3f5" ref="tree"  :data="treedata" show-checkbox node-key="id" :props="defaultProps" @node-click="treedataClick"  @check-change="treedataClick">
						</el-tree>
						<el-tree class="bgc-f2f3f5" :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
						<el-tree highlight-current class="bgc-f2f3f5" :data="data" :props="defaultProps" @node-click="handleNodeClick"></el-tree>
		        	</div>
		        	<div class="ui-col-1 bgc-fff p20" style="min-width: 900px;">
						<div class="searchDiv">
@ -67,8 +67,8 @@
						<div class="mt10 flex line1" v-if="handleNodeId==3">
							<div >咨询状态:</div>
							<el-radio-group v-model="radio1">
								<el-radio :label="0">已回复</el-radio>
								<el-radio :label="1">未回复</el-radio>
								<el-radio :label="1">已回复</el-radio>
								<el-radio :label="0">未回复</el-radio>
								<el-radio :label="2">未及时回复</el-radio>
							</el-radio-group>
						</div>
@ -76,8 +76,8 @@
							<div class="mt10  flex line1" >
								<div >咨询状态:</div>
								<el-radio-group v-model="radio2">
									<el-radio :label="0">已签约</el-radio>
									<el-radio :label="1">待审核</el-radio>
									<el-radio :label="1">已签约</el-radio>
									<el-radio :label="0">待审核</el-radio>
									<el-radio :label="2">代缴费</el-radio>
								</el-radio-group>
							</div>
@ -116,15 +116,15 @@
							<div class="mt10 flex line1" >
								<div >下转状态:</div>
								<el-radio-group v-model="radio3">
									<el-radio :label="0">已接收</el-radio>
									<el-radio :label="1">未接收</el-radio>
									<el-radio :label="2">未管理</el-radio>
									<el-radio :label="1">已接收未管理</el-radio>
									<el-radio :label="0">未接收</el-radio>
									<el-radio :label="2">已接收已管理</el-radio>
								</el-radio-group>
							</div>
							<div class="mt10  flex" >
								<div >下转病种:</div>
								<el-checkbox-group v-model="specialCheckedCities" @change="diseaseChange">
									<el-checkbox v-for="(city,index) in specialCities" :label="city" :key="city+index">{{city.value}}</el-checkbox>
									<el-checkbox v-for="(city,index) in specialCities" :label="city" :key="city+index">{{city.name}}</el-checkbox>
								</el-checkbox-group>
							</div>
							<div  style="height: 35px;" class="mt5">
@ -145,8 +145,8 @@
							<div class="mt10 flex line1" >
								<div >发送状态:</div>
								<el-radio-group v-model="radio4">
									<el-radio :label="0">已发送</el-radio>
									<el-radio :label="1">未发送</el-radio>
									<el-radio :label="1">已发送</el-radio>
									<el-radio :label="2">未发送</el-radio>
								</el-radio-group>
							</div>
							<div  style="height: 35px;" class="mt5">
@ -164,15 +164,13 @@
							<div class="mt10 flex line1" >
								<div >工单状态:</div>
								<el-radio-group v-model="radio5">
									<el-radio :label="0">已服务</el-radio>
									<el-radio :label="1">未服务</el-radio>
									<el-radio :label="2">已评价</el-radio>
									<el-radio :label="3">未评价</el-radio>
									<el-radio :label="4">已完成</el-radio>
									<el-radio :label="5">待派单</el-radio>
									<el-radio :label="6">待接单</el-radio>
									<el-radio :label="7">已接单</el-radio>
									<el-radio :label="8">已取消</el-radio>
									<el-radio :label="3">已接单</el-radio>
									<el-radio :label="2">待接单</el-radio>
									<el-radio :label="5">待评价</el-radio>
									<el-radio :label="4">待服务</el-radio>
									<el-radio :label="1">待派单</el-radio>
									<el-radio :label="-1">已取消</el-radio>
									<el-radio :label="6">已完成</el-radio>
								</el-radio-group>
							</div>
							<div class="mt10  flex" >
@ -196,30 +194,31 @@
							<div class="mt10 flex line1" >
								<div >续方状态:</div>
								<el-radio-group v-model="radio6">
									<el-radio :label="0">代缴费</el-radio>
									<el-radio :label="1">已取消</el-radio>
									<el-radio :label="2">进行中</el-radio>
									<el-radio :label="3">已完成</el-radio>
									<el-radio :label="4">审核未通过</el-radio>
									<el-radio :label="40">代缴费</el-radio>
									<el-radio :label="0">待审核</el-radio>
									<el-radio :label="20">审核中</el-radio>
									<el-radio :label="100">已完成</el-radio>
									<el-radio :label="999">其他</el-radio>
								</el-radio-group>
							</div>
							<div class="mt10 flex line1" >
								<div >疾病类型:</div>
								<el-radio-group v-model="radio7">
									<el-radio :label="0">糖尿病</el-radio>
									<el-radio :label="2">糖尿病</el-radio>
									<el-radio :label="1">高血压</el-radio>
									<el-radio :label="2">其他</el-radio>
									<el-radio :label="3">其他</el-radio>
								</el-radio-group>
							</div>
							<div class="mt10 flex line1" >
								<div >取药方式:</div>
								<el-radio-group v-model="radio8">
									<el-radio :label="0">快递</el-radio>
									<el-radio :label="2">快递</el-radio>
									<el-radio :label="1">自取</el-radio>
									<!-- <el-radio :label="3">健管师配送</el-radio> -->
								</el-radio-group>
							</div>
							<div  style="height: 35px;" class="mt5">
								<el-form  :model="form5" class="flex" >
								<el-form  :model="form5" class="flex">
									<el-form-item label="家庭医生:" class="flex">
										<el-input v-model="form5.family"  placeholder="请输入家庭医生姓名查询"></el-input>
									</el-form-item>
@ -252,75 +251,85 @@
		        		</div>
			        	<div>
			        		<el-table border :data="tabledata" style="width: 100%" class="mt20" v-loading="isloading" v-if="handleNodeShow==1">
			        			<el-table-column fixed type="index" label="序号" width="50" min-width="50" align="center"></el-table-column>
								<el-table-column fixed prop="townName" label="地区" align="center" v-if="searchJson.range == 'town'" min-width="100"></el-table-column>
								<el-table-column fixed prop="hospitalName" label="社区" align="center"  v-if="searchJson.range == 'hospital'" min-width="180"></el-table-column>
								<el-table-column fixed prop="name" label="团队" align="center" v-if="searchJson.range == 'team'" min-width="180"></el-table-column>
			        			<el-table-column fixed  type="index" label="序号" width="50" min-width="50" align="center"></el-table-column>
								<el-table-column  prop="townName" label="地区" align="center" v-if="searchJson.range == 'town'" min-width="100"></el-table-column>
								<el-table-column  prop="hospitalName" label="社区" align="center"  v-if="searchJson.range == 'hospital'" min-width="180"></el-table-column>
								<el-table-column  prop="name" label="团队" align="center" v-if="searchJson.range == 'team'" min-width="180"></el-table-column>
								<el-table-column :prop="item.prop" :label="item.label"  align="right" header-align="center" v-for="(item,index) in tableHeader" :key="index">
			                    </el-table-column>
							</el-table>
							<div v-if="handleNodeShow==2">
								<el-table border :data="analyseData" style="width: 100%" class="mt20" v-if="handleNodeId==3">
									<el-table-column fixed type="index" label="序号" width="50" min-width="50" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="社区名称" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="居民" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="咨询内容" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="咨询时间" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="回复内容" align="center" v-if="radio1==0"></el-table-column>
									<el-table-column fixed prop="townName" label="回复时间" align="center" v-if="radio1==0"></el-table-column>
									<el-table-column fixed prop="townName" label="咨询医生" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="健管师" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="家庭医生" align="center"></el-table-column>
								<el-table border :data="analyseData" style="width:100%" class="mt20" v-if="handleNodeId==3" v-loading="loadingTwo">
									<el-table-column fixed  type="index" label="序号" width="50" min-width="50" align="center"></el-table-column>
									<el-table-column  prop="hospitalName" label="社区名称" align="center"></el-table-column>
									<el-table-column  prop="name" label="居民" align="center"></el-table-column>
									<el-table-column  prop="symptoms" label="咨询内容" align="center"></el-table-column>
									<el-table-column  prop="createTime" label="咨询时间" align="center"></el-table-column>
									<el-table-column  prop="content" label="回复内容" align="center" v-if="radio1Show"></el-table-column>
									<el-table-column  prop="replyTime" label="回复时间" align="center" v-if="radio1Show"></el-table-column>
									<el-table-column  prop="talkDoctor" label="咨询医生" align="center"></el-table-column>
									<el-table-column  prop="healthDochor" label="健管师" align="center"></el-table-column>
									<el-table-column  prop="familyDoctor" label="家庭医生" align="center"></el-table-column>
								</el-table>
								<el-table border :data="analyseData" style="width: 100%" class="mt20" v-if="handleNodeId==4 || handleNodeId==5 || handleNodeId==6 || handleNodeId==7 || handleNodeId==8">
									<el-table-column fixed type="index" label="序号" width="50" min-width="50" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="社区名称" align="center" ></el-table-column>
									<el-table-column fixed prop="townName" label="居民" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="医保卡" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="身份证" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="手机号" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="地址" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="签约医生" align="center"></el-table-column>
									<el-table-column fixed prop="townName" label="健管师" align="center"></el-table-column>
								<el-table border :data="analyseData" style="width: 100%" v-loading="loadingTwo" class="mt20" v-if="handleNodeId==4 || handleNodeId==5 || handleNodeId==6 || handleNodeId==7 || handleNodeId==8">
									<el-table-column fixed  type="index" label="序号" width="50" min-width="50" align="center"></el-table-column>
									<el-table-column  prop="hospitalName" label="社区名称" align="center"></el-table-column>
									
									<el-table-column  prop="name" label="居民" align="center" v-if="handleNodeId<=5 || handleNodeId==7 || handleNodeId==8"></el-table-column>
									<el-table-column  prop="patientName" label="居民" align="center" v-if="handleNodeId>=6 && handleNodeId!=7 && handleNodeId!=8"></el-table-column>
									
									<el-table-column  prop="sscNum" label="医保卡" align="center" v-if="handleNodeId<=5"></el-table-column>
									<el-table-column  prop="ssc" label="医保卡" align="center" v-if="handleNodeId>=6"></el-table-column>
									
									<el-table-column  prop="idcardNum" label="身份证" align="center" v-if="handleNodeId<=5"></el-table-column>
									<el-table-column  prop="idcard" label="身份证" align="center" v-if="handleNodeId>=6"></el-table-column>
									
									<el-table-column  prop="mobile" label="手机号" align="center"></el-table-column>
									<el-table-column  prop="address" label="地址" align="center"></el-table-column>  
									<el-table-column  prop="doctorName" label="签约医生" align="center" v-if="handleNodeId!=8"></el-table-column>
									<el-table-column  prop="signDoctor" label="签约医生" align="center" v-if="handleNodeId==8"></el-table-column>
									<el-table-column  prop="doctorHealthName" label="健管师" align="center" v-if="handleNodeId==6"></el-table-column>
									<el-table-column  prop="doctorHealth" label="健管师" align="center" v-if="handleNodeId==7 || handleNodeId==8"></el-table-column>
									<el-table-column  prop="healthDocorName" label="健管师" align="center" v-if="handleNodeId==4 || handleNodeId==5"></el-table-column>
									<template v-if="handleNodeId==4">
										<el-table-column fixed prop="townName" label="签约时间" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="人群" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="改签" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="续签" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="退签" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="绑定微信" align="center"></el-table-column>
										<el-table-column  prop="replyTime" label="签约时间" align="center"></el-table-column>
										<el-table-column  prop="serverTypeName" label="人群" align="center"></el-table-column>
										<el-table-column  prop="isUpdateStr" label="改签" align="center"></el-table-column>
										<el-table-column  prop="isAddStr" label="续签" align="center"></el-table-column>
										<el-table-column  prop="isOutStr" label="退签" align="center"></el-table-column>
										<el-table-column  prop="isBindWX" label="绑定微信" align="center"></el-table-column>
									</template>
									<template v-if="handleNodeId==5">
										<el-table-column fixed prop="townName" label="下转时间" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="下转状态" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="专科医生" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="专科医院" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="疾病类型" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="是否管理" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="管理时间" align="center"></el-table-column>
										<el-table-column  prop="createTime" label="下转时间" align="center"></el-table-column>
										<el-table-column  prop="statusStr" label="下转状态" align="center"></el-table-column>
										<el-table-column  prop="doctorName" label="专科医生" align="center"></el-table-column>
										<el-table-column  prop="sHospitalName" label="专科医院" align="center"></el-table-column>
										<el-table-column  prop="diseaseName" label="疾病类型" align="center"></el-table-column>
										<el-table-column  prop="isManagerStr" label="是否管理" align="center"></el-table-column>
										<el-table-column  prop="managerTime" label="管理时间" align="center"></el-table-column>
									</template>
									<template v-if="handleNodeId==6">
										<el-table-column fixed prop="townName" label="祝福时间" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="发送状态" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="发送人" align="center"></el-table-column>
										<el-table-column  prop="createTime" label="祝福时间" align="center"></el-table-column>
										<el-table-column  prop="status" label="发送状态" align="center"></el-table-column>
										<el-table-column  prop="sendDoctorName" label="发送人" align="center"></el-table-column>
									</template>
									<template v-if="handleNodeId==7">
										<el-table-column fixed prop="townName" label="服务医生" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="工单状态" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="服务类型" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="服务项目" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="服务时间" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="调度员" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="服务次数" align="center"></el-table-column>
										<el-table-column  prop="serverDoctor" label="服务医生" align="center"></el-table-column>
										<el-table-column  prop="statusName" label="工单状态" align="center"></el-table-column>
										<el-table-column  prop="typeValue" label="服务类型" align="center"></el-table-column>
										<el-table-column  prop="fedNames" label="服务项目" align="center"></el-table-column>
										<el-table-column  prop="serviceTime" label="服务时间" align="center"></el-table-column>
										<el-table-column  prop="dispatcher_name" label="调度员" align="center"></el-table-column>
										<el-table-column  prop="serviceTimes" label="服务次数" align="center"></el-table-column>
									</template>
									<template v-if="handleNodeId==8">
										<el-table-column fixed prop="townName" label="服务医生" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="状态" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="疾病类型" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="取药方式" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="续方时间" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="结算时间" align="center"></el-table-column>
										<el-table-column fixed prop="townName" label="取药时间" align="center"></el-table-column>
										<el-table-column  prop="serverDoctor" label="服务医生" align="center"></el-table-column>
										<el-table-column  prop="statusName" label="状态" align="center"></el-table-column>
										<el-table-column  prop="diagnosisName" label="疾病类型" align="center"></el-table-column>
										<el-table-column  prop="dispensaryTypeName" label="取药方式" align="center"></el-table-column>
										<el-table-column  prop="create_time" label="续方时间" align="center"></el-table-column>
										<el-table-column  prop="pay_time" label="结算时间" align="center"></el-table-column>
										<el-table-column  prop="finish_time" label="取药时间" align="center"></el-table-column>
									</template>
								</el-table>
								 
@ -342,7 +351,7 @@
        <!--模态框组件-->
        <vuedals></vuedals>
    </div>
	<script src="../../../js/FileSaver/FileSaver.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/vue.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/jquery-2.2.4.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/element-ui.js" type="text/javascript" charset="utf-8"></script>

+ 1 - 1
app/statistics/html/consult-not-reply.html

@ -33,7 +33,7 @@
<body style="margin: 0;overflow-x: auto;">
    <div id="main" class="c-hide ">
        <header-tab appname="咨询未及时回复" isback="true" isrefresh="true"></header-tab>
        <div class="p20 bgc-f2f3f5">  
        <div class="p20 bgc-f2f3f5" v-loading.fullscreen.lock="fullscreenLoading">  
        	<div  style="border:1px solid #d7dce6">
		        <div class="ui-grid  bgc-f2f3f5">
		        	<div class="ui-col-1 bgc-fff p20" style="min-width: 900px;" :style="{ height: height + 'px' }">

+ 93 - 55
app/statistics/js/annual-appraisal-report.js

@ -41,6 +41,7 @@ new Vue({
       	communityCode:"",
       	teamList:[{code:"",name:"全部"}],
       	teamCode:"",
		fullscreenLoading:false,
	},
	components: {
		vuedals: Vuedals.Component
@ -66,58 +67,79 @@ new Vue({
		var vm=this
		//初始化数据
		initData(vm);
		vm.height = document.body.offsetHeight - 85
		vm.height = document.body.offsetHeight - 125
		window.onresize = function () {
			vm.height = document.body.offsetHeight - 85
			vm.height = document.body.offsetHeight - 125
			console.log(vm.height)
		}
		vm.listFunction()
	},
	methods: {
		beforeReq:function(flag){
			var vm=this,startDate="",endDate=""
			if(vm.radio=="1"){
				startDate = getStartDate(vm.chooseYear-1)
				endDate = getEndDate(vm.chooseYear)
			}else{
				if(!vm.start&&!vm.end){
					this.$message({
			          message: '请选择创建时间',
			          type: 'warning'
			        });
			        return false
				}else{
					if(vm.start>vm.end){
						this.$message({
				          message: '开始时间应早于结束时间',
				          type: 'warning'
				        });
				        return false
					}else{
						startDate = vm.start
						endDate = vm.end
					}
		listFunction:function(){
			var vm = this
			vm.isloading = true
			statisticAPI.getAnnualAssessment({
				signYear:vm.chooseYear,
				team:vm.teamCode,
				area:vm.areaCode=="350200"?"":vm.areaCode,
				hospital:vm.communityCode,
				range:vm.rangeCode,
			}).then(function(res){
				console.log(res,"年度考核报表")
				if(res.status == 200) {
					vm.tabledata = res.data
					vm.isloading = false
				}
			}
			return {start:startDate,end:endDate}
			})
		},
		// beforeReq:function(flag){
		// 	var vm=this,startDate="",endDate=""
		// 	if(vm.radio=="1"){
		// 		startDate = getStartDate(vm.chooseYear-1)
		// 		endDate = getEndDate(vm.chooseYear)
		// 	}else{
		// 		if(!vm.start&&!vm.end){
		// 			this.$message({
		// 	          message: '请选择创建时间',
		// 	          type: 'warning'
		// 	        });
		// 	        return false
		// 		}else{
		// 			if(vm.start>vm.end){
		// 				this.$message({
		// 		          message: '开始时间应早于结束时间',
		// 		          type: 'warning'
		// 		        });
		// 		        return false
		// 			}else{
		// 				startDate = vm.start
		// 				endDate = vm.end
		// 			}
		// 		}
		// 	}
		// 	return {start:startDate,end:endDate}
		// },
		searchHandle:function(){
			var vm = this,searchJson=undefined
			searchJson = vm.beforeReq()
			if(searchJson){
				vm.currentPage = 1
				vm.searchJson = {
					startDate:searchJson.start,
					endDate:searchJson.end,
					range:vm.rangeCode,
					team:vm.teamCode,
					hospital:vm.communityCode,
					area:vm.areaCode=="350200"?"":vm.areaCode,
					size:vm.currentSize,
					page:vm.currentPage,
				}
				vm.getWHFInfoList()
			}
			
			var vm = this
			vm.listFunction()
			
			// searchJson = vm.beforeReq()
			// if(searchJson){
			// 	vm.currentPage = 1
			// 	vm.searchJson = {
			// 		startDate:searchJson.start,
			// 		endDate:searchJson.end,
			// 		range:vm.rangeCode,
			// 		team:vm.teamCode,
			// 		hospital:vm.communityCode,
			// 		area:vm.areaCode=="350200"?"":vm.areaCode,
			// 		size:vm.currentSize,
			// 		page:vm.currentPage,
			// 	}
			// 	vm.getWHFInfoList()
			// }
		},
		getWHFInfoList:function(){
			var vm = this
@ -138,13 +160,29 @@ new Vue({
		},
		exportHandle:function(){
			var vm =this
			var vm = this,searchJson=undefined
			searchJson = vm.beforeReq()
			if(searchJson){
			    var areaCode = vm.areaCode=="350200"?"":vm.areaCode
				let str = httpRequest.server + 'third/door/appAdminToExcel?startDate='+searchJson.start+'&endDate='+searchJson.end+'&range='+vm.rangeCode+'&area='+areaCode+'&hospital='+vm.communityCode+'&team='+vm.teamCode
	            console.log(str)
	            window.location.href = str
			var vm = this
			
			var areaCode = vm.areaCode=="350200"?"":vm.areaCode
			vm.fullscreenLoading = true
			if(vm.datatotal.length!=0){
				statisticAPI.statisticsExportExportAnnualAssessment({
					signYear: vm.chooseYear,
					area: areaCode,
					hospital: vm.communityCode,
					range:vm.rangeCode,
					team: vm.teamCode,
				},"年度考核报表.xls").then(function(res){
					vm.fullscreenLoading = false
					// var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
					// FileSaver.saveAs(blob, "hello world.txt");
					// FileSaver()
				})
				.catch(function(err){
					console.error(err)
				})
				// let str = httpRequest.server + 'statisticsExport/exportAnnualAssessment?signYear='+vm.chooseYear+
				// '&team='+vm.teamCode+'&area='+areaCode+'&hospital='+vm.communityCode+'&range='+vm.rangeCode
	   //          window.location.href = str
			}
		},
		backClick:function(){
@ -164,10 +202,10 @@ new Vue({
			});
			$("#main").removeClass("c-hide");
		},
      	handleCurrentChange:function(val) {
      		this.currentPage = val
      		this.getWHFInfoList()
      	},
      	// handleCurrentChange:function(val) {
      	// 	this.currentPage = val
      	// 	this.getWHFInfoList()
      	// },
      	//获取省市区  type:区3
        getDistrict: function(type,code,name) {
            var vm=this,list = [],param=""

+ 533 - 147
app/statistics/js/comprehensive-query.js

@ -68,38 +68,28 @@ new Vue({
		radio6:'',
		radio7:'',
		radio8:'',
		cities:[{value:'高血压',num:'1'}, 
				{value:'糖尿病',num:'2'},
		cities:[{value:'高血压',num:'4'}, 
				{value:'糖尿病',num:'5'},
				{value:'65岁以上人群',num:'3'},
				{value:'0-6岁小孩',num:'4'},
				{value:'计划生育家庭',num:'5'},
				{value:'严重精神障碍',num:'6'},
				{value:'残疾人',num:'7'},
				{value:'普通人群',num:'8'},
				{value:'结核病',num:'9'},
				{value:'低保人群',num:'10'},
				{value:'孕产妇',num:'11'},
				{value:'0-6岁小孩',num:'7'},
				{value:'计划生育家庭',num:'9'},
				{value:'严重精神障碍',num:'10'},
				{value:'残疾人',num:'11'},
				{value:'普通人群',num:'1'},
				{value:'结核病',num:'12'},
				{value:'低保人群',num:'8'},
				{value:'孕产妇',num:'6'},
		],
		checkedCities: [],
		specialCities:[{value:'冠心病',num:'1'},
				{value:'慢性前列腺',num:'2'},
				{value:'脑卒中',num:'3'},
				{value:'慢性乳腺疾病',num:'4'},
				{value:'慢性阻塞性肺病',num:'5'},
				{value:'慢性肝病',num:'6'},
				{value:'肺癌',num:'7'},
				{value:'慢性肾病',num:'8'},
				{value:'慢性胃肠病',num:'9'},
				{value:'慢性妇科炎症',num:'10'},
		],
		specialCities:[],
		specialCheckedCities:[],
		serveCities:[{value:'残疾人',num:'1'},
				{value:'失能/半失能老人',num:'2'},
				{value:'80岁以上老人',num:'3'},
				{value:'肺结核患者',num:'4'},
				{value:'计生特殊家庭',num:'5'},
				{value:'重性精神病',num:'6'},
				{value:'其他',num:'7'},
				{value:'失能/半失能老人',num:'5'},
				{value:'80岁以上老人',num:'7'},
				{value:'肺结核患者',num:'2'},
				{value:'计生特殊家庭',num:'3'},
				{value:'重性精神病',num:'4'},
				{value:'其他',num:'6'},
		],
		serveSpecialCities:[],
		options: [{
@ -140,6 +130,14 @@ new Vue({
		diseaseData:[],
		serviceTypeData:[],
		analyseData:[],   //分析数据
		searchJsonTime:undefined,
		loadingTwo:false,
		radio1Show:null,
		serverType:'',
		diseaseDataType:'',
		serviceTypeDataType:'',
		fullscreenLoading:false,
		derive:'',
	},
	components: {
		vuedals: Vuedals.Component
@ -166,6 +164,7 @@ new Vue({
		var vm=this
		//初始化数据
		initData(vm);
		vm.getDiseaseTypeList()
		vm.height = document.body.offsetHeight - 85
		window.onresize = function () {
			vm.height = document.body.offsetHeight - 85
@ -173,6 +172,14 @@ new Vue({
		}
	},
	methods: {
		getDiseaseTypeList:function() {
			var vm = this
			statisticAPI.getDiseaseTypeList({}).then(function(res){
				if(res.status == 200) {
					vm.specialCities = res.list
				}
			})
		},
		// 签约人群
		handleCheckedCitiesChange:function(value) {
			var vm = this
@ -188,46 +195,292 @@ new Vue({
			var vm = this
			vm.serviceTypeData = value
		},
		
		
		// 统计分析树形图
		treedataClick:function(name,data) {
			var vm = this
			vm.handleNodeShow = 1
			vm.handleNodeId = 0
			vm.radio = '1'
			vm.currentPage = 1
			vm.radio = '1'    //签约年度  --创建时间
			// initTime(vm)    
			// initScope(vm)
		},
		// 点击明细分析树形图
		handleNodeClick:function(name,data) {
			var vm = this
			if(data.id>=3) {
				vm.handleNodeShow = 2
				vm.tableHeader = []
				vm.analyseData = []
			vm.derive = name.label
			if(data.id>=3) {      //明细查询以下
				vm.handleNodeShow = 2  //  明细查询tabs为2
				vm.tableHeader = []    //  选择统计的数组
				vm.analyseData = []    //  明细查询数组
			}
			vm.handleNodeId = data.id    //切换后的id
			vm.radio = '1'        //签约年度  --创建时间
			vm.radio1 = ''      //咨询分析咨询状态
			vm.radio2 = ''
			vm.radio3 = ''
			vm.radio4 = ''
			vm.radio5 = ''
			vm.radio6 = ''
			vm.radio7 = ''
			vm.radio8 = ''
			vm.checkedCities = [] //签约人群清空
			vm.specialCheckedCities = [] //下转病种清空
			vm.serveSpecialCities = [] //服务类型清空
			vm.form = {
				endorseTheTicket:'',
				renew:'',
				backToSign:'',
				WeChat:'',
			}
			vm.handleNodeId = data.id
			vm.radio = '1'
			initTime(vm)
			initScope(vm)
			vm.analysFunction(vm.handleNodeId)
			vm.form2 = {
				juniorCollege:'',
				family:'',
				resident:'',
			}
			vm.form3 = {
				family:'',
				resident:'',
			},
			vm.form4 = {
				family:'',
				resident:'',
			},
			vm.form5 = {
				family:'',
				resident:'',
			},
			initTime(vm)      //时间初始化
			initScope(vm)    //数据范围初始化
			vm.currentPage = 1
			
			vm.analysFunction(vm.handleNodeId)    //明细查询列表查询 
		},
		// 咨询分析
		getConsultList:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.getConsultList({
				year :vm.radio=='1'?vm.chooseYear:'',     //签约年度
				startDate :vm.radio=='2'?vm.searchJsonTime.start:'',   //开始时间
				endDate :vm.radio=='2'?vm.searchJsonTime.end:'',    //结束时间
				status :vm.radio1,    //咨询状态,1已回复,0未回复,2未及时回复
				team :vm.teamCode,     //团队
				area :vm.areaCode,   //地区
				hospital :vm.communityCode, //社区
				rang :vm.rangeCode,      //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) 
				pageSize:vm.currentSize,
				page:vm.currentPage,
			}).then(function(res){
				console.log(res,"咨询分析")
				if(res.status == 200) {
					vm.analyseData = res.data.list
					vm.datatotal = res.data.total
					vm.loadingTwo = false
				}
			})
		},
		// 签约分析
		getSignList:function() {
			var vm = this
			vm.loadingTwo = true
			var handleDataList = []
			vm.serverType = ''
			vm.handleData.forEach(function(res){
				handleDataList.push(res.num)
			})
			vm.serverType = handleDataList.join(',')
			statisticAPI.getSignList({
				year :vm.radio=='1'?vm.chooseYear:'',     //签约年度
				startDate :vm.radio=='2'?vm.searchJsonTime.start:'',   //开始时间
				endDate :vm.radio=='2'?vm.searchJsonTime.end:'',    //结束时间
				serverType:vm.serverType, //签约人群
				status :vm.radio2,    //签约状态,1已签约,0待审核,2代缴费
				isUpdate:vm.form.endorseTheTicket,    //是否改签 1是0否
				isAdd:vm.form.renew,    //是否续签 1是0否
				isOut:vm.form.backToSign,    //是否退签 1是0否
				isBindWX:vm.form.WeChat,    //是否绑定微信 1是0否
				team :vm.teamCode,     //团队
				area :vm.areaCode=='350200'?'':vm.areaCode,   //地区
				hospital :vm.communityCode, //社区
				rang :vm.rangeCode,      //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) 
				pageSize:vm.currentSize,
				page:vm.currentPage,
			}).then(function(res){
				console.log(res,"签约分析")
				if(res.status == 200) {
					res.data.list.forEach(function(item){
						item.sscNum = item.sscNum.replace(/^(.{4})(?:\d+)(.{1})$/,"$1****$2")
						item.idcardNum = item.idcardNum.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2")
					})
					vm.analyseData = res.data.list
					vm.datatotal = res.data.total
					vm.loadingTwo = false
				}
			})
		},
		// 专病分析
		getSickList:function() {
			var vm = this
			// vm.diseaseData
			vm.loadingTwo = true
			var handleDataList = []
			vm.diseaseDataType = ''
			vm.diseaseData.forEach(function(res){
				handleDataList.push(res.code)
			})
			vm.diseaseDataType = handleDataList.join(',')
			statisticAPI.getSickList({
				year :vm.radio=='1'?vm.chooseYear:'',     //年度
				startDate :vm.radio=='2'?vm.searchJsonTime.start:'',   //开始时间
				endDate :vm.radio=='2'?vm.searchJsonTime.end:'',    //结束时间
				diseaseType:vm.diseaseDataType, //病种类型
				status :vm.radio3,    //下转状态,1已接受,0未接受,2未管理
				doctorName:vm.form2.juniorCollege, //专科医生
				familyDoctorName:vm.form2.family, //家庭医生名字
				patientName:vm.form2.resident,   // 居民姓名
				team :vm.teamCode,     //团队
				area :vm.areaCode=='350200'?'':vm.areaCode,   //地区
				hospital :vm.communityCode, //社区
				rang :vm.rangeCode,      //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) 
				pageSize:vm.currentSize,
				page:vm.currentPage,
			}).then(function(res){
				console.log(res,"专病分析")
				if(res.status == 200) {
					res.data.list.forEach(function(item){
						item.sscNum = item.sscNum.replace(/^(.{4})(?:\d+)(.{1})$/,"$1****$2")
						item.idcardNum = item.idcardNum.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2")
					})
					vm.analyseData = res.data.list
					vm.datatotal = res.data.total
					vm.loadingTwo = false
				}
			})
		},
		// 生日祝福分析明细
		getBirthdayPatientList:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.getBirthdayPatientList({
				patientName:vm.form3.resident,   // 居民姓名
				doctorName:vm.form3.family,   //医生姓名
				signYear :vm.radio=='1'?vm.chooseYear:'',     //签约年度
				startDate :vm.radio=='2'?vm.searchJsonTime.start:'',   //开始时间
				endDate :vm.radio=='2'?vm.searchJsonTime.end:'',    //结束时间
				status :vm.radio4,    //状态(不传为全部,1、已发送,2、未发送)
				team :vm.teamCode,     //团队
				area :vm.areaCode=='350200'?'':vm.areaCode,   //地区
				hospital :vm.communityCode, //社区
				range :vm.rangeCode,      //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) 
				pageSize:vm.currentSize,
				page:vm.currentPage,
			}).then(function(res){
				if(res.status == 200) {
					console.log(res,"Sddddd")
					res.data.detailModelList.forEach(function(item){
						item.ssc = item.ssc.replace(/^(.{4})(?:\d+)(.{1})$/,"$1****$2")
						item.idcard = item.idcard.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2")
					})
					vm.analyseData = res.data.detailModelList
					vm.datatotal = res.data.total
					vm.loadingTwo = false
				}
			})
		},
		// 长处方分析明细
		getPrescriptionList:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.getPrescriptionList({
				patientName:vm.form5.resident,   // 居民姓名
				doctorName :vm.form5.family,   //医生姓名
				signYear :vm.radio=='1'?vm.chooseYear:'',     //签约年度
				startDate :vm.radio=='2'?vm.searchJsonTime.start:'',   //开始时间
				endDate :vm.radio=='2'?vm.searchJsonTime.end:'',    //结束时间
				status :vm.radio6,    //续方状态 0待审核 20药师审核中 40待支付 100已完成 999其他
				diagnosis :vm.radio7,  //续方疾病类型1高血压2糖尿病3其他
				dispensaryType :vm.radio8, //	取药方式1自取2快递3健管师配送
				team :vm.teamCode,     //团队
				area :vm.areaCode=='350200'?'':vm.areaCode,   //地区
				hospital :vm.communityCode, //社区
				range :vm.rangeCode,      //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) 
				pageSize:vm.currentSize,
				page:vm.currentPage,
			}).then(function(res){
				if(res.status == 200) {
					res.data.detailModelList.forEach(function(item){
						console.log(item.finish_time,"长处方分析")
						item.ssc = item.ssc.replace(/^(.{4})(?:\d+)(.{1})$/,"$1****$2")
						item.idcard = item.idcard.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2")
					})
					vm.analyseData = res.data.detailModelList
					vm.datatotal = res.data.total
					vm.loadingTwo = false
				}
			})
		},
		// 上门服务分析明细
		getDoorServiceList:function() {
			var vm = this
			vm.loadingTwo = true
			var handleDataList = []
			vm.serviceTypeDataType = ''
			vm.serviceTypeData.forEach(function(res){
				handleDataList.push(res.num)
			})
			vm.serviceTypeDataType = handleDataList.join(',')
			statisticAPI.getDoorServiceList({
				patientName:vm.form4.resident,   // 居民姓名
				doctorName :vm.form4.family,   //医生姓名
				signYear :vm.radio=='1'?vm.chooseYear:'',     //签约年度
				startDate :vm.radio=='2'?vm.searchJsonTime.start:'',   //开始时间
				endDate :vm.radio=='2'?vm.searchJsonTime.end:'',    //结束时间
				status :vm.radio5,    //工单状态 -1已取消,1待派单、2待接单、3已接单、4待服务、5待评价
				type :vm.serviceTypeDataType,  //服务类型 1残疾人,2肺结核患者,3计生特殊家庭,4重性精神病,5失能/半失能老人,6其他,7  80岁以上老人
				team :vm.teamCode,     //团队
				area :vm.areaCode=='350200'?'':vm.areaCode,   //地区
				hospital :vm.communityCode, //社区
				range :vm.rangeCode,      //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) 
				pageSize:vm.currentSize,
				page:vm.currentPage,
			}).then(function(res){
				if(res.status == 200) {
					console.log(res,"上门服务分析明细")
					res.data.detailModelList.forEach(function(item){
						item.ssc = item.ssc.replace(/^(.{4})(?:\d+)(.{1})$/,"$1****$2")
						item.idcard = item.idcard.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2")
					})
					vm.analyseData = res.data.detailModelList
					vm.datatotal = res.data.total
					vm.loadingTwo = false
				}
			})
		},
		analysFunction:function(id) {
			var vm = this
			// idcard =  idcard.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2")    身份证 医保卡 脱敏显示
			
			if(id == 3) {
				// 咨询分析
				vm.getConsultList()
			}else if(id == 4) {
				// 签约分析
				
				vm.getSignList()
			}else if(id == 5) {
				// 专病分析
				
				vm.getSickList()
			}else if(id == 6) {
				// 生日祝福分析
				
				vm.getBirthdayPatientList()
			}else if(id == 7) {
				// 上门服务分析
				
				vm.getDoorServiceList()
			}else if(id == 8) {
				// 长处方分析
				vm.getPrescriptionList()
			}
		},
		getTreeList:function(){
@ -255,8 +508,16 @@ new Vue({
		beforeReq:function(flag){
			var vm=this,startDate="",endDate="",checked=[]
			if(vm.radio=="1"){
				startDate = getStartDate(vm.chooseYear-1)
				endDate = getEndDate(vm.chooseYear)
				if(vm.chooseYear == 2022) {
					startDate = '2022-07-01'
					endDate = getEndDate(vm.chooseYear)
				}else if(vm.chooseYear > 2022) {
					startDate = vm.chooseYear + '-01-01'  
					endDate = getEndDate(vm.chooseYear)
				}else{
					startDate = getStartDate(vm.chooseYear)
					endDate = getEndDate(vm.chooseYear)
				}
				vm.timeLevel = 2
			}else{
				if(!vm.start&&!vm.end){
@ -309,16 +570,16 @@ new Vue({
		},
		// 查询
		searchHandle:function(){
			var vm = this,searchJson=undefined
			console.log("before-pass")
			searchJson = vm.beforeReq()
			var vm = this
			vm.searchJsonTime = vm.beforeReq()
			vm.currentPage = 1
			if(this.radio1 == 1) {this.radio1Show = true}else{this.radio1Show = false}
			if(vm.handleNodeId == 0) {
				if(searchJson){
					vm.currentPage = 1
				if(vm.searchJsonTime){
					vm.searchJson = {
						startDate:searchJson.start,
						endDate:searchJson.end,
						quotaStr:searchJson.checked,
						startDate:vm.searchJsonTime.start,
						endDate:vm.searchJsonTime.end,
						quotaStr:vm.searchJsonTime.checked,
						range:vm.rangeCode,
						team:vm.teamCode,
						hospital:vm.communityCode,
@ -327,103 +588,26 @@ new Vue({
						page:vm.currentPage,
						timeLevel: vm.timeLevel
					}
					console.log(vm.searchJson,"vm.searchJson")
					vm.getStatisticDataList()
				}
			}else if(vm.handleNodeId == 3) {
				// 咨询分析
				var par = {
					'开始时间':searchJson.start,
					'结束时间':searchJson.end,
					'咨询状态':vm.radio1,
					'数据范围':vm.rangeCode,
					'地区':vm.areaCode=="350200"?"":vm.areaCode,
					'社区':vm.communityCode,
					'团队':vm.teamCode,
				}
				console.log(par,'查询')
				 
				vm.getConsultList()
			}else if(vm.handleNodeId == 4) {
				// 签约分析
				var par = {
					'开始时间':searchJson.start,
					'结束时间':searchJson.end,
					'咨询状态':vm.radio2,
					'签约人群':vm.handleData,
					"是否改签":vm.form.endorseTheTicket,
					"是否续签":vm.form.renew,
					"是否退签":vm.form.backToSign,
					"绑定微信":vm.form.WeChat,
					'数据范围':vm.rangeCode,
					'地区':vm.areaCode=="350200"?"":vm.areaCode,
					'社区':vm.communityCode,
					'团队':vm.teamCode,
				}
				console.log(vm.handleData,"签约人群多选")
				console.log(par,'查询')
				vm.getSignList()
			}else if(vm.handleNodeId == 5) {
				// 专病分析
				var par = {
					'开始时间':searchJson.start,
					'结束时间':searchJson.end,
					'下转状态':vm.radio3,
					'下转病种':vm.diseaseData,
					"专科医生":vm.form2.juniorCollege,
					"家庭医生":vm.form2.family,
					"居民姓名":vm.form2.resident,
					'数据范围':vm.rangeCode,
					'地区':vm.areaCode=="350200"?"":vm.areaCode,
					'社区':vm.communityCode,
					'团队':vm.teamCode,
				}
				console.log(vm.diseaseData,"下转病种多选")
				console.log(par,'查询')
				vm.getSickList()
			}else if(vm.handleNodeId == 6) {
				// 生日祝福分析
				var par = {
					'开始时间':searchJson.start,
					'结束时间':searchJson.end,
					'发送状态':vm.radio4,
					"家庭医生":vm.form3.family,
					"居民姓名":vm.form3.resident,
					'数据范围':vm.rangeCode,
					'地区':vm.areaCode=="350200"?"":vm.areaCode,
					'社区':vm.communityCode,
					'团队':vm.teamCode,
				}
				console.log(par,'查询')
				vm.getBirthdayPatientList()
			}else if(vm.handleNodeId == 7) {
				// 上门服务分析
				var par = {
					'开始时间':searchJson.start,
					'结束时间':searchJson.end,
					'工单状态':vm.radio5,
					'服务类型':vm.serviceTypeData,
					"家庭医生":vm.form4.family,
					"居民姓名":vm.form4.resident,
					'数据范围':vm.rangeCode,
					'地区':vm.areaCode=="350200"?"":vm.areaCode,
					'社区':vm.communityCode,
					'团队':vm.teamCode,
				}
				console.log(vm.serviceTypeData,"服务类型多选")
				console.log(par,'查询')
				vm.getDoorServiceList()
			}else if(vm.handleNodeId == 8) {
				// 长处方分析
				var par = {
					'开始时间':searchJson.start,
					'结束时间':searchJson.end,
					'续方状态':vm.radio6,
					'疾病类型':vm.radio7,
					'取药方式':vm.radio8,
					"家庭医生":vm.form5.family,
					"居民姓名":vm.form5.resident,
					'数据范围':vm.rangeCode,
					'地区':vm.areaCode=="350200"?"":vm.areaCode,
					'社区':vm.communityCode,
					'团队':vm.teamCode,
				}
				console.log(par,'查询')
				vm.getPrescriptionList()
			}
		},
		getStatisticDataList:function(){
@ -450,33 +634,234 @@ new Vue({
		},
		// 导出
		exportHandle:function(){
			// var uid = JSON.parse(window.localStorage.getItem('wlyyAgentForDoc')).uid
			// var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
			// saveAs(blob, "hello world.txt");
			// return
			var vm =this
			var vm = this,searchJson=undefined
			vm.fullscreenLoading = true
			searchJson = vm.beforeReq('export')
			var areaCode = vm.areaCode=="350200"?"":vm.areaCode
			var chooseYear = vm.radio=='1'?vm.chooseYear:''     //年份
			var startDate = vm.radio=='2'?vm.searchJsonTime.start:''   
			var endDate = vm.radio=='2'?vm.searchJsonTime.end:''
			if(vm.handleNodeId == 0) {
				if(searchJson){
					var areaCode = vm.areaCode=="350200"?"":vm.areaCode
					let str = httpRequest.server + 'statisticsExport/export?startDate='+searchJson.start+'&endDate='+searchJson.end+'&quotaStr='+searchJson.checked+'&range='+vm.rangeCode+'&area='+areaCode+'&hospital='+vm.communityCode+'&team='+vm.teamCode+'&timeLevel='+vm.timeLevel
					console.log(str)
					window.location.href = str
					statisticAPI.statisticsExportExport({
						startDate: searchJson.start,
						endDate: searchJson.end,
						quotaStr: searchJson.checked,
						range: vm.rangeCode,
						area: areaCode,
						hospital: vm.communityCode,
						team: vm.teamCode,
						timeLevel: vm.timeLevel,
					}, "综合查询.xls").then(function(res){
						vm.fullscreenLoading = false
						// toastr.info("导出成功")
						
						// var blob = new Blob(["Hello, world!"]);
						// FileSaver.saveAs(blob, "hello world.txt");
						
						// console.log(res)
						// FileSaver()
					})
					.catch(function(err){
						console.error(err)
					})
					// let str = httpRequest.server + 'statisticsExport/export?startDate='+searchJson.start+'&endDate='+searchJson.end+'&quotaStr='+searchJson.checked+'&range='+vm.rangeCode+'&area='+areaCode+'&hospital='+vm.communityCode+'&team='+vm.teamCode+'&timeLevel='+vm.timeLevel
					// window.location.href = str
				}
			}else if(vm.handleNodeId == 3) {
				// 咨询分析
				if(vm.analyseData.length!=0) {
					statisticAPI.statisticsExportExportConsultList({
						year: chooseYear,
						startDate: startDate,
						endDate: endDate,
						status: vm.radio1,
						area: areaCode,
						hospital: vm.communityCode,
						rang:vm.rangeCode,
						team: vm.teamCode,
					},vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
						// var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
						// FileSaver.saveAs(blob, "hello world.txt");
						// FileSaver()
					})
					.catch(function(err){
						console.error(err)
					})
					
					// var str = httpRequest.server + 'statisticsExport/exportConsultList?year='+chooseYear+'&startDate='+startDate+'&endDate='+endDate+
					// '&status='+vm.radio1+'&area='+areaCode+'&hospital='+vm.communityCode+'&rang='+vm.rangeCode+'&team='+vm.teamCode
					// window.location.href = str
				}
				
			}else if(vm.handleNodeId == 4) {
				// 签约分析
				if(vm.analyseData.length!=0) {
					statisticAPI.statisticsExportExportSignList({
						year: chooseYear,
						startDate: startDate,
						endDate: endDate,
						serverType:vm.serverType,
						status:vm.radio2,
						isUpdate:vm.form.endorseTheTicket,
						isAdd:vm.form.renew,
						isOut:vm.form.backToSign,
						isBindWX:vm.form.WeChat,
						area: areaCode,
						hospital: vm.communityCode,
						rang:vm.rangeCode,
						team: vm.teamCode,
					},vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
						// var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
						// FileSaver.saveAs(blob, "hello world.txt");
						// FileSaver()
					})
					.catch(function(err){
						console.error(err)
					})
					
					// var str = httpRequest.server + 'statisticsExport/exportSignList?year='+chooseYear+'&startDate='+startDate+'&endDate='+endDate+
					// '&serverType='+vm.serverType+'&status='+vm.radio2+'&isUpdate='+vm.form.endorseTheTicket+'&isAdd='+vm.form.renew+'&isOut='+vm.form.backToSign+'&isBindWX='+vm.form.WeChat+
					// '&area='+areaCode+'&hospital='+vm.communityCode+'&rang='+vm.rangeCode+'&team='+vm.teamCode
					// window.location.href = str
				}
				
			}else if(vm.handleNodeId == 5) {
				// 专病分析
				if(vm.analyseData.length!=0) {
					statisticAPI.statisticsExportExportSickList({
						year: chooseYear,
						startDate: startDate,
						endDate: endDate,
						diseaseType:vm.diseaseDataType,
						status:vm.radio3,
						doctorName:vm.form2.juniorCollege,
						familyDoctorName:vm.form2.family,
						patientName:vm.form2.resident,
						area: areaCode,
						hospital: vm.communityCode,
						rang:vm.rangeCode,
						team: vm.teamCode,
					},vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
						// var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
						// FileSaver.saveAs(blob, "hello world.txt");
						// FileSaver()
					})
					.catch(function(err){
						console.error(err)
					})
					// var str = httpRequest.server + 'statisticsExport/exportSickList?year='+chooseYear+'&startDate='+startDate+'&endDate='+endDate+
					// '&diseaseType='+vm.diseaseDataType+'&status='+vm.radio3+'&doctorName='+vm.form2.juniorCollege+'&familyDoctorName='+vm.form2.family+'&patientName='+vm.form2.resident+
					// '&area='+areaCode+'&hospital='+vm.communityCode+'&rang='+vm.rangeCode+'&team='+vm.teamCode
					// window.location.href = str
				}
				
			}else if(vm.handleNodeId == 6) {
				// 生日祝福分析
				if(vm.analyseData.length!=0) {
					statisticAPI.statisticsExportGetBirthdayPatientListExport({
						signYear: chooseYear,
						startDate: startDate,
						endDate: endDate,
						patientName:vm.form3.resident,
						doctorName:vm.form3.family,
						status:vm.radio4,
						area: areaCode,
						hospital: vm.communityCode,
						range:vm.rangeCode,
						team: vm.teamCode,
						pageSize:'50000',
						page:vm.currentPage,
					},vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
						// var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
						// FileSaver.saveAs(blob, "hello world.txt");
						// FileSaver()
					})
					.catch(function(err){
						console.error(err)
					})
					// var str = httpRequest.server + 'statisticsExport/getBirthdayPatientListExport?signYear='+chooseYear+'&startDate='+startDate+'&endDate='+endDate+
					// '&patientName='+vm.form5.resident+'&doctorName='+vm.form5.family+'&status='+vm.radio4+
					// '&area='+areaCode+'&hospital='+vm.communityCode+'&range='+vm.rangeCode+'&team='+vm.teamCode+'&pageSize=500000'+'&page='+vm.currentPage
					// console.log(str,"str生日祝福")
					// window.location.href = str
				}
				
			}else if(vm.handleNodeId == 7) {
				// 上门服务分析
				if(vm.analyseData.length!=0) {
					statisticAPI.statisticsExportExportDoorServiceList({
						signYear: chooseYear,
						startDate: startDate,
						endDate: endDate,
						patientName:vm.form4.resident,
						doctorName:vm.form4.family,
						status:vm.radio5,
						type:vm.serviceTypeDataType,
						area: areaCode,
						hospital: vm.communityCode,
						range:vm.rangeCode,
						team: vm.teamCode,
						pageSize:vm.currentSize,
						page:vm.currentPage,
					},vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
						// var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
						// FileSaver.saveAs(blob, "hello world.txt");
						// FileSaver()
					})
					.catch(function(err){
						console.error(err)
					})
					// var str = httpRequest.server + 'statisticsExport/exportDoorServiceList?signYear='+chooseYear+'&startDate='+startDate+'&endDate='+endDate+
					// '&patientName='+vm.form5.resident+'&doctorName='+vm.form5.family+'&status='+vm.radio5+'&type='+vm.serviceTypeDataType+
					// '&area='+areaCode+'&hospital='+vm.communityCode+'&range='+vm.rangeCode+'&team='+vm.teamCode+'&pageSize'+vm.currentSize+'&page='+vm.currentPage
					// // console.log(str,"str上门服务分析")
					// window.location.href = str
				}
				
			}else if(vm.handleNodeId == 8) {
				// 长处方分析
				// 长处方分析 
				if(vm.analyseData.length!=0) {
					statisticAPI.statisticsExportExportPrescriptionList({
						signYear: chooseYear,
						startDate: startDate,
						endDate: endDate,
						patientName:vm.form5.resident,
						doctorName:vm.form5.family,
						status:vm.radio6,
						diagnosisName:vm.radio7,
						dispensaryType:vm.radio8,
						area: areaCode,
						hospital: vm.communityCode,
						range:vm.rangeCode,
						team: vm.teamCode,
						pageSize:vm.currentSize,
						page:vm.currentPage,
					},vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
						// var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
						// FileSaver.saveAs(blob, "hello world.txt");
						// FileSaver()
					})
					.catch(function(err){
						console.error(err)
					})
					// var str = httpRequest.server + 'statisticsExport/exportPrescriptionList?signYear='+chooseYear+'&startDate='+startDate+'&endDate='+endDate+
					// '&patientName='+vm.form5.resident+'&doctorName='+vm.form5.family+'&status='+vm.radio6+'&diagnosisName='+vm.radio7+'&dispensaryType='+vm.radio8+
					// '&area='+areaCode+'&hospital='+vm.communityCode+'&range='+vm.rangeCode+'&team='+vm.teamCode+'&pageSize=500000'+'&page='+vm.currentPage
					// console.log(str,"str长处方分析")
					// window.location.href = str
				}
				
			}
		},
@ -499,27 +884,28 @@ new Vue({
		},
		// 下一页  上一页
      	handleCurrentChange:function(val) {
      		this.currentPage = val
			var vm = this
      		vm.currentPage = val
			if(vm.handleNodeId == 0) {
				this.getStatisticDataList()
				vm.getStatisticDataList()
			}else if(vm.handleNodeId == 3) {
				// 咨询分析
				
				vm.getConsultList()
			}else if(vm.handleNodeId == 4) {
				// 签约分析
				
				vm.getSignList()
			}else if(vm.handleNodeId == 5) {
				// 专病分析
				
				vm.getSickList()
			}else if(vm.handleNodeId == 6) {
				// 生日祝福分析
				
				vm.getBirthdayPatientList()
			}else if(vm.handleNodeId == 7) {
				// 上门服务分析
				
				vm.getDoorServiceList()
			}else if(vm.handleNodeId == 8) {
				// 长处方分析
				
				vm.getPrescriptionList()
			}
      	},
      	//获取省市区  type:区3

+ 29 - 4
app/statistics/js/consult-not-reply.js

@ -41,6 +41,7 @@ new Vue({
       	communityCode:"",
       	teamList:[{code:"",name:"全部"}],
       	teamCode:"",
		fullscreenLoading:false,
	},
	components: {
		vuedals: Vuedals.Component
@ -139,12 +140,36 @@ new Vue({
		exportHandle:function(){
			var vm =this
			var vm = this,searchJson=undefined
			vm.fullscreenLoading = true
			searchJson = vm.beforeReq()
			if(searchJson){
			    var areaCode = vm.areaCode=="350200"?"":vm.areaCode
				let str = httpRequest.server + 'third/door/appAdminToExcel?startDate='+searchJson.start+'&endDate='+searchJson.end+'&range='+vm.rangeCode+'&area='+areaCode+'&hospital='+vm.communityCode+'&team='+vm.teamCode
	            console.log(str)
	            window.location.href = str
				var areaCode = vm.areaCode=="350200"?"":vm.areaCode
				statisticAPI.appAdminToExcel({
					startDate: searchJson.start,
					endDate: searchJson.end,
					range: vm.rangeCode,
					area: areaCode,
					hospital: vm.communityCode,
					team: vm.teamCode,
				}, "咨询未及时回复.xls").then(function(res){
					vm.fullscreenLoading = false
					// toastr.info("导出成功")
					
					// var blob = new Blob(["Hello, world!"]);
					// FileSaver.saveAs(blob, "hello world.txt");
					
					// console.log(res)
					// FileSaver()
				})
				.catch(function(err){
					console.error(err)
				})
				
				
			 //    var areaCode = vm.areaCode=="350200"?"":vm.areaCode
				// let str = httpRequest.server + 'third/door/appAdminToExcel?startDate='+searchJson.start+'&endDate='+searchJson.end+'&range='+vm.rangeCode+'&area='+areaCode+'&hospital='+vm.communityCode+'&team='+vm.teamCode
	   //          console.log(str)
	   //          window.location.href = str
			}
		},
		backClick:function(){

+ 4 - 2
app/statistics/js/home.js

@ -110,12 +110,14 @@ new Vue({
			label: '咨询未及时回复',
			url: 'consult-not-reply.html',
			allowArea:"",
		},{
		},
		{
			photo: '../../../images/icon-baobiao.png',
			label: '年度考核报表',
			url: 'annual-appraisal-report.html',
			allowArea:"",
		}]
		},
		]
	},
	methods: {
		open: function() {

+ 188 - 0
js/FileSaver/FileSaver.js

@ -0,0 +1,188 @@
(function (global, factory) {
  if (typeof define === "function" && define.amd) {
    define([], factory);
  } else if (typeof exports !== "undefined") {
    factory();
  } else {
    var mod = {
      exports: {}
    };
    factory();
    global.FileSaver = mod.exports;
  }
})(this, function () {
  "use strict";
  /*
  * FileSaver.js
  * A saveAs() FileSaver implementation.
  *
  * By Eli Grey, http://eligrey.com
  *
  * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)
  * source  : http://purl.eligrey.com/github/FileSaver.js
  */
  // The one and only way of getting global scope in all environments
  // https://stackoverflow.com/q/3277182/1008999
  var _global = typeof window === 'object' && window.window === window ? window : typeof self === 'object' && self.self === self ? self : typeof global === 'object' && global.global === global ? global : void 0;
  function bom(blob, opts) {
    if (typeof opts === 'undefined') opts = {
      autoBom: false
    };else if (typeof opts !== 'object') {
      console.warn('Deprecated: Expected third argument to be a object');
      opts = {
        autoBom: !opts
      };
    } // prepend BOM for UTF-8 XML and text/* types (including HTML)
    // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
    if (opts.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
      return new Blob([String.fromCharCode(0xFEFF), blob], {
        type: blob.type
      });
    }
    return blob;
  }
  function download(url, name, opts) {
    var xhr = new XMLHttpRequest();
    xhr.open('GET', url);
    xhr.responseType = 'blob';
    xhr.onload = function () {
      saveAs(xhr.response, name, opts);
    };
    xhr.onerror = function () {
      console.error('could not download file');
    };
    xhr.send();
  }
  function corsEnabled(url) {
    var xhr = new XMLHttpRequest(); // use sync to avoid popup blocker
    xhr.open('HEAD', url, false);
    try {
      xhr.send();
    } catch (e) {}
    return xhr.status >= 200 && xhr.status <= 299;
  } // `a.click()` doesn't work for all browsers (#465)
  function click(node) {
    try {
      node.dispatchEvent(new MouseEvent('click'));
    } catch (e) {
      var evt = document.createEvent('MouseEvents');
      evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);
      node.dispatchEvent(evt);
    }
  } // Detect WebView inside a native macOS app by ruling out all browsers
  // We just need to check for 'Safari' because all other browsers (besides Firefox) include that too
  // https://www.whatismybrowser.com/guides/the-latest-user-agent/macos
  var isMacOSWebView = /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent);
  var saveAs = _global.saveAs || ( // probably in some web worker
  typeof window !== 'object' || window !== _global ? function saveAs() {}
  /* noop */
  // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView
  : 'download' in HTMLAnchorElement.prototype && !isMacOSWebView ? function saveAs(blob, name, opts) {
    var URL = _global.URL || _global.webkitURL;
    var a = document.createElement('a');
    name = name || blob.name || 'download';
    a.download = name;
    a.rel = 'noopener'; // tabnabbing
    // TODO: detect chrome extensions & packaged apps
    // a.target = '_blank'
    if (typeof blob === 'string') {
      // Support regular links
      a.href = blob;
      if (a.origin !== location.origin) {
        corsEnabled(a.href) ? download(blob, name, opts) : click(a, a.target = '_blank');
      } else {
        click(a);
      }
    } else {
      // Support blobs
      a.href = URL.createObjectURL(blob);
      setTimeout(function () {
        URL.revokeObjectURL(a.href);
      }, 4E4); // 40s
      setTimeout(function () {
        click(a);
      }, 0);
    }
  } // Use msSaveOrOpenBlob as a second approach
  : 'msSaveOrOpenBlob' in navigator ? function saveAs(blob, name, opts) {
    name = name || blob.name || 'download';
    if (typeof blob === 'string') {
      if (corsEnabled(blob)) {
        download(blob, name, opts);
      } else {
        var a = document.createElement('a');
        a.href = blob;
        a.target = '_blank';
        setTimeout(function () {
          click(a);
        });
      }
    } else {
      navigator.msSaveOrOpenBlob(bom(blob, opts), name);
    }
  } // Fallback to using FileReader and a popup
  : function saveAs(blob, name, opts, popup) {
    // Open a popup immediately do go around popup blocker
    // Mostly only available on user interaction and the fileReader is async so...
    popup = popup || open('', '_blank');
    if (popup) {
      popup.document.title = popup.document.body.innerText = 'downloading...';
    }
    if (typeof blob === 'string') return download(blob, name, opts);
    var force = blob.type === 'application/octet-stream';
    var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari;
    var isChromeIOS = /CriOS\/[\d]+/.test(navigator.userAgent);
    if ((isChromeIOS || force && isSafari || isMacOSWebView) && typeof FileReader !== 'undefined') {
      // Safari doesn't allow downloading of blob URLs
      var reader = new FileReader();
      reader.onloadend = function () {
        var url = reader.result;
        url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;');
        if (popup) popup.location.href = url;else location = url;
        popup = null; // reverse-tabnabbing #460
      };
      reader.readAsDataURL(blob);
    } else {
      var URL = _global.URL || _global.webkitURL;
      var url = URL.createObjectURL(blob);
      if (popup) popup.location = url;else location.href = url;
      popup = null; // reverse-tabnabbing #460
      setTimeout(function () {
        URL.revokeObjectURL(url);
      }, 4E4); // 40s
    }
  });
  _global.saveAs = saveAs.saveAs = saveAs;
  if (typeof module !== 'undefined') {
    module.exports = saveAs;
  }
});

File diff suppressed because it is too large
+ 3 - 0
js/FileSaver/FileSaver.min.js