Forráskód Böngészése

Merge branch 'master' of http://192.168.1.220:10080/raolu/PC-application

lincl 1 éve
szülő
commit
357b72e098

+ 11 - 1
api/http-request.js

@ -33,10 +33,20 @@
        socketUrl = "https://172.26.0.118:3000";
        loginUrl = "../../login/login.html";
//      loginUrl = "/PC-prescription/login.html"; //自己本地测试时的路径
        // loginUrl = "/PC-prescription/login.html"; //自己本地测试时的路径
        imgServer = "http://172.26.0.110:8888/";
        teamworkService="//ehr.yihu.com/hlwyy/ims-web";
        videoChatIntranetFlag = false;
//         server = "http://172.26.0.118:8081/wlyy/"  //测试环境
//         imserver = "https://172.26.0.118:3000/api/v2";
//         socketUrl = "https://172.26.0.118:3000";
//         loginUrl = "../../login/login.html";
// //      loginUrl = "/PC-prescription/login.html"; //自己本地测试时的路径
//         imgServer = "http://172.26.0.110:8888/";
//         teamworkService="//ehr.yihu.com/hlwyy/ims-web";
//         videoChatIntranetFlag = false;
    }
    var baseInfo = window.localStorage.getItem(docInfo);

+ 15 - 2
api/statistics-api.js

@ -224,8 +224,15 @@
		    return httpRequest.get("copd/statistics/hospitalWorkStatistics", {data: data});
		},
		
		
		
		// 级联查询医院
		cascadingFindHosptail: function(data){
		    return httpRequest.get("copd/statistics/cascadingFindHosptail", {data: data});
		},
		// 获取慢阻肺V1\入组情况报表
		findHospitalEntryCount: function(data){
		    return httpRequest.get("copd/statistics/findHospitalEntryCount", {data: data}); 
		},
		
		
		
@ -315,6 +322,12 @@
			return httpRequest.downLoadFileForAjax("copd/statistics/exportHospitalWorkStatistics", filename, data);
		},
		
		// v1入组导出
		exportHospitalEntryCount: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportHospitalEntryCount", filename, data);
		},
		 
    }

+ 128 - 7
app/statistics/html/comprehensive-query.html

@ -18,6 +18,7 @@
    <link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="../css/common.css" />
    <link rel="stylesheet" type="text/css" href="../css/comprehensive-query.css" />
	<link rel="stylesheet" type="text/css" href="../css/mzfWorksheet.css" />
</head>
<style>
	
@ -54,11 +55,15 @@
							<!-- <el-tree class="bgc-f2f3f5" ref="collectTreeExpert"  :data="treedataExpert" show-checkbox node-key="id" :props="defaultProps"   @check-change="collectClick" @check='collCheck'>
							</el-tree> -->
						</template>
						<template v-if="tabsId == 5">
							<el-tree class="bgc-f2f3f5" ref="tree"  :data="mzftjTree"  node-key="id" :props="defaultProps" default-expand-all>
							</el-tree>
						</template>
						<div class="resetSelected" v-if="tabsId != 2"> <div @click="reset">重置已选</div>  </div>
		        	</div>
		        	<div class="ui-col-1 bgc-fff p20" style="min-width: 900px;">
						<template v-if='handleNodeId != 46'>
							<div class="searchDiv">
						<template v-if='handleNodeId != 46&& handleNodeId != 47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52' >
							<div class="searchDiv" v-if="tabsId!=5">
								<template v-if="handleNodeId!=44&&expertFamilyIdType != 'zhuanke1'&&handleNodeId!=45">
									<el-radio v-model="radio" label="1">按签约年度:</el-radio>
									<el-select v-model="chooseYear" class="pr20 formWidth">
@ -423,8 +428,9 @@
							</div>
						</template>
						
		        		<div class="searchDiv mt10">
							<template v-if="handleNodeId!=44&&handleNodeId!=46">
		        		<div class="searchDiv mt10" v-if="tabsId!=5">
							<template v-if="handleNodeId!=44&&handleNodeId!=46&&handleNodeId != 47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52">
								<label class="c-333 c-f14" for="">数据范围:</label>
								<el-select v-model="rangeCode" style="width:100px;" class="pr10">
									<el-option v-for="(item , index) in rangeList" :key="index" :label="item.name" :value="item.code"></el-option>
@ -447,12 +453,100 @@
									<el-option v-for="(item , index) in specHosList" :key="index" :label="item.name" :value="item.code"></el-option>
								</el-select>
							</template>
							<template v-if="handleNodeId!=46">
							<template v-if="handleNodeId!=46&&handleNodeId != 47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52">
								<el-button type="primary" size="mini" @click="searchHandle(true)">查询</el-button>
								<el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
								<span class="eliminate" @click="eliminateClick">清除筛选条件</span>
							</template>
		        		</div>
						<template v-if="tabsId==5">
							<div class="ui-col-1 bgc-fff" style="min-width: 900px;">
								<div class="flexibleBox">
									<div class="flex maxBox">
										<div class="title">已选</div>
										<div class="flex selectedBox">
											 <div class="selected" v-for="(item,index) in list" :key="index">
												 {{item.type==1?'地区':item.type==2?'三级医院':item.type==3?'社区医院':item.type==4?'分组':item.type==5?'管理状态':'时间'}}:{{item.label}} <i class="el-icon-circle-close" @click="deleteClick(item)"></i>
											 </div>
										</div>
										<div class="selectedButton">
											 <el-button type="primary" size="mini" @click="confirm">确定</el-button>
											 <el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
											 <el-button type="info" size="mini"  @click="cancel">取消</el-button>
										</div>
									</div>
									<div class="inquireTime">查询时间 
										 <el-date-picker
										   v-model="startTime"
										   type="date"
										   placeholder="选择日期"
										   :picker-options="setDisabled"
										   @change='startTimeChange'>
										 </el-date-picker> ~
										 <el-date-picker
										   v-model="endTime"
										   type="date"
										   placeholder="选择日期"
										   :picker-options="setDisabled"
										   @change='endTimeChange'>
										 </el-date-picker>
									</div>
									<div class="flex maxBox mt10">
										<div class="flex selectedBoxTwo">
											 <div class="selectedBoxTwoTitle">地区</div>
											 <el-checkbox-group v-model="regionList" @change="change">
												 <el-checkbox v-for="(t,x) in regionData" :key="x" :label="t" :key="t.label">{{t.label}}</el-checkbox>
											 </el-checkbox-group>
										</div>
									</div>
									<template v-if="show">
										<div class="flex maxBox mt10">
											<div class="titleHospital">三级医院</div>
											<div class="flex selectedHospital" :style="showTwo?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
												 <el-checkbox-group v-model="regionListList" @change="change">
													 <el-checkbox v-for="(m,i) in tertiaryHospitalsData" :key="i" :label="m" :key="m.label">{{m.label}}</el-checkbox>
												 </el-checkbox-group>
											</div>
											<div class="selectedButtonTwo" @click="showTwo = !showTwo">
												{{!showTwo?'更多选项':'收起'}}
												<i class="el-icon-arrow-down" v-if="!showTwo"></i><i class="el-icon-arrow-up" v-if="showTwo"></i>
											</div>
										</div>
										<div class="flex maxBox mt10">
											<div class="titleHospital">社区医院</div>
											<div class="flex selectedHospital" :style="showThree?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
												 <el-checkbox-group v-model="communityHospitalsList" @change="change">
													 <el-checkbox v-for="(q,n) in communityHospitalsData" :key="n" :label="q" :key="q.label">{{q.label}}</el-checkbox>
												 </el-checkbox-group>
											</div>
											<div class="selectedButtonTwo" @click="showThree = !showThree">
												{{!showThree?'更多选项':'收起'}}
												<i class="el-icon-arrow-down" v-if="!showThree"></i><i class="el-icon-arrow-up" v-if="showThree"></i>
											</div>
										</div>
										<div class="flex maxBox mt10">
											<div class="flex selectedBoxTwo">
												 <div class="selectedBoxTwoTitle">分组</div>
												  <el-checkbox-group v-model="groupingList" @change="change">
													 <el-checkbox v-for="(y,d) in groupingData" :key="d" :label="y" :key="y.label">{{y.label}}</el-checkbox>
												 </el-checkbox-group>
											</div>
										</div>
										<div class="flex maxBox mt10">
											<div class="flex selectedBoxTwo">
												<div class="selectedBoxTwoTitle">管理状态</div>
												 <el-checkbox-group v-model="administrationStatusList" @change="change">
													 <el-checkbox v-for="(k,e) in administrationStatusData" :key="e" :label="k" :key="k.label">{{k.label}}</el-checkbox>
												 </el-checkbox-group>
											</div>
										</div>
									</template>
									<div class="more" @click="show = !show">{{!show?'更多选项':'收起'}}<i class="el-icon-arrow-down" v-if="!show"></i><i class="el-icon-arrow-up" v-if="show"></i></div>
								</div>
							</div>
						</template>
			        	<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>
@ -660,7 +754,12 @@
									</template>
								</el-table>
								<mzf-worksheet v-if="handleNodeId==46"></mzf-worksheet>
								
								<!-- <mzf-hzcx v-if="handleNodeId==47"></mzf-hzcx>
								<mzf-rzjd v-if="handleNodeId==48"></mzf-rzjd>
								<mzf-rzmx v-if="handleNodeId==49"></mzf-rzmx>
								<mzf-sfjd v-if="handleNodeId==50"></mzf-sfjd>
								<mzf-sfzmx v-if="handleNodeId==51"></mzf-sfzmx> -->
								<mzf-v1rzreport v-if="handleNodeId==52"></mzf-v1rzreport>
							</div>
							<div v-if="handleNodeShow == 3">
								<el-table v-if="collectCode == 1" border :data="diseaseReport" style="width: 100%" v-loading="loadingTwo" class="mt20" >
@ -687,7 +786,22 @@
									<el-table-column  prop="status3" :render-header='renderHeadeRexpert'  align="center"></el-table-column>
								</el-table>
							</div>
							<template v-if="handleNodeId!=46">
							<div v-if="handleNodeShow == 5">
								<el-table border :data="mzfzhcxData" style="width: 100%" v-loading="loadingTwo" class="mt20" >
									<el-table-column  type="index" width='50'  label="序号" align="center"></el-table-column>
									<el-table-column  prop="name" label="区域" align="center"></el-table-column>
									<el-table-column  prop="name" label="社区医院" align="center"></el-table-column>
									<el-table-column  prop="name" label="患者人数" align="center"></el-table-column>
									<el-table-column  prop="name" label="下转人数" align="center"></el-table-column>
									<el-table-column  prop="name" label="已管理" align="center"></el-table-column>
									<el-table-column  prop="name" label="已入组" align="center"></el-table-column>
									<el-table-column  prop="name" label="已失访" align="center"></el-table-column>
									<el-table-column  prop="name" label="已出组" align="center"></el-table-column>
								</el-table>
							</div>
							<template v-if="handleNodeId!=46&&handleNodeId!=47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52">
								<div class="c-t-right mt20">
									<el-pagination 
									  @current-change="handleCurrentChange"
@ -738,6 +852,13 @@
    <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/comprehensive-query.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfWorksheet.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfHzcx.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfRzjd.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfRzmx.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfSfjd.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfSfzmx.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfV1rzReport.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>

+ 199 - 0
app/statistics/html/mzfHzcx.html

@ -0,0 +1,199 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>慢阻肺患者查询</title>
    <meta name="author" content="yihu.com" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"
    />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <link rel="stylesheet" type="text/css" href="../../../css/font-awesome.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/flex.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/element-ui.css" />
    <link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="../css/common.css" />
	<link rel="stylesheet" type="text/css" href="../css/mzfWorksheet.css" />
</head>
<style>
		
</style>
<body style="margin: 0;overflow-x: auto;" v-cloak>
    <div id="main" class="">
       <div class="ui-col-1 bgc-fff" style="min-width: 900px;">
		   <div class="flexibleBox">
			   <div class="flex maxBox">
				   <div class="title">已选</div>
				   <div class="flex selectedBox">
						<div class="selected" v-for="(item,index) in list" :key="index">
							{{item.type==1?'地区':item.type==2?'三级医院':item.type==3?'社区医院':item.type==4?'分组':item.type==5?'管理状态':'时间'}}:{{item.label}} <i class="el-icon-circle-close" @click="deleteClick(item)"></i>
						</div>
				   </div>
				   <div class="selectedButton">
						<el-button type="primary" size="mini" @click="confirm">确定</el-button>
						<el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
						<el-button type="info" size="mini"  @click="cancel">取消</el-button>
				   </div>
			   </div>
			   <div class="inquireTime">查询时间 
					<el-date-picker
					  v-model="startTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='startTimeChange'>
					</el-date-picker> ~
					<el-date-picker
					  v-model="endTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='endTimeChange'>
					</el-date-picker>
			   </div>
			   <div class="flex maxBox mt10">
				   <div class="flex selectedBoxTwo">
						<div class="selectedBoxTwoTitle">地区</div>
						<el-checkbox-group v-model="regionList" @change="change">
							<el-checkbox v-for="(t,x) in regionData" :key="x" :label="t" :key="t.label">{{t.label}}</el-checkbox>
						</el-checkbox-group>
				   </div>
			   </div>
			   <template v-if="show">
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">三级医院</div>
					   <div class="flex selectedHospital" :style="showTwo?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="regionListList" @change="change">
								<el-checkbox v-for="(m,i) in tertiaryHospitalsData" :key="i" :label="m" :key="m.label">{{m.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showTwo = !showTwo">
						   {{!showTwo?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showTwo"></i><i class="el-icon-arrow-up" v-if="showTwo"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">社区医院</div>
					   <div class="flex selectedHospital" :style="showThree?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="communityHospitalsList" @change="change">
								<el-checkbox v-for="(q,n) in communityHospitalsData" :key="n" :label="q" :key="q.label">{{q.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showThree = !showThree">
						   {{!showThree?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showThree"></i><i class="el-icon-arrow-up" v-if="showThree"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
							<div class="selectedBoxTwoTitle">分组</div>
							 <el-checkbox-group v-model="groupingList" @change="change">
								<el-checkbox v-for="(y,d) in groupingData" :key="d" :label="y" :key="y.label">{{y.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
						   <div class="selectedBoxTwoTitle">管理状态</div>
							<el-checkbox-group v-model="administrationStatusList" @change="change">
								<el-checkbox v-for="(k,e) in administrationStatusData" :key="e" :label="k" :key="k.label">{{k.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
			   </template>
			   <div class="more" @click="show = !show">{{!show?'更多选项':'收起'}}<i class="el-icon-arrow-down" v-if="!show"></i><i class="el-icon-arrow-up" v-if="show"></i></div>
		   </div>
		   
		   
			<el-table  border :data="mzfHzcxData" style="width: 100%" v-loading="loadingTwo" height='650' class="mt20" >
				<template >
					<el-table-column prop="name" label="患者姓名" align="center">
					</el-table-column>
					<el-table-column  prop="name"  label="受试者编号" align="center"></el-table-column>
					<el-table-column prop="name" label="年龄" align="center">
					</el-table-column>
					<el-table-column  prop="name" label="性别" align="center"></el-table-column>
					<el-table-column  prop="name"  label="身份证" align="center"></el-table-column>
					<el-table-column  prop="name" label="手机号" align="center"></el-table-column>
					<el-table-column  prop="name" label="社保卡号" align="center"></el-table-column>
					<el-table-column prop="name" label="关联社区医院" align="center"></el-table-column>
					<el-table-column prop="name" label="关联社区医生" align="center"></el-table-column>
					<el-table-column prop="name" label="管理状态" align="center"></el-table-column>
					<el-table-column prop="name" label="分组" align="center"></el-table-column>
					<el-table-column prop="name" label="添加时间" align="center"></el-table-column>
					<el-table-column prop="name" label="第一次纳排时间" align="center"></el-table-column>
					<el-table-column prop="name" label="入组时间" align="center"></el-table-column>
					<el-table-column  label="操作" align="center">
						<template slot-scope="scope">
							<div class="operate">
								<span @click="showSfjh(1, )">随访计划</span>
								<span @click="showSfjh(2, )">随访记录</span>
							</div>
						</template>
					</el-table-column>
				</template>
			</el-table>
			<div class="c-t-right mt20">
				<el-pagination 
				  @current-change="handleCurrentChange"
				  :current-page.sync="currentPage"
				  :page-size="currentSize"
				  layout="total, prev, pager, next, jumper"
				  :total="datatotal">
				</el-pagination>
			</div>
       </div>
	   <el-dialog
	   :title="num==1 ? '查看随访计划' : '查看随访记录'"
	   :visible.sync="dialogVisible"
	   width="70%">
	   <el-table v-if="num==1" v-loading="loadingTwo"  border :data="data" style="width: 100%" height="500"  class="mt20" >
			<el-table-column  type="index" width='50'  label="序号" align="center"></el-table-column>
			 <el-table-column  prop="" label="随访计划" align="center"></el-table-column>
			 <el-table-column  prop="" label="随访计划时间" align="center"></el-table-column>
			 <el-table-column  prop="" label="随访状态" align="center"></el-table-column>
			 <el-table-column  prop="" label="随访提交时间" align="center"></el-table-column>
			 <el-table-column  prop="" label="审核时间" align="center"></el-table-column>
			 <el-table-column  prop="" label="稽查时间" align="center"></el-table-column>
	   </el-table>
	   <el-table v-if="num ==2" v-loading="loadingTwo" border :data="data" style="width: 100%" height="500"  class="mt20" >
			<el-table-column  type="index" width='50'  label="序号" align="center"></el-table-column>
			<el-table-column  prop="" label="随访计划" align="center"></el-table-column>
			<el-table-column  prop="" label="随访表单" align="center"></el-table-column>
	   </el-table>
	   <div class="c-t-right mt20">
			<el-pagination 
			@current-change="handleCurrentChange"
			:current-page.sync="currentPage"
			:page-size="currentSize"
			layout="total, prev, pager, next, jumper"
			:total="datatotal">
			</el-pagination>
		</div>
	 </el-dialog>
    </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>
    <script src="../../../plugins/toastr/toastr.min.js"></script>
    <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/home-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/statistics-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/common/event-bus.js"></script>
    <script src="../../../component/statistics/header-tab.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/header-prompt.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript" src="../../../api/sign_api.js"></script>
    <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfHzcx.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>

+ 235 - 0
app/statistics/html/mzfRzjd.html

@ -0,0 +1,235 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>慢阻肺入组进度</title>
    <meta name="author" content="yihu.com" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"
    />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <link rel="stylesheet" type="text/css" href="../../../css/font-awesome.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/flex.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/element-ui.css" />
    <link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="../css/common.css" />
	<link rel="stylesheet" type="text/css" href="../css/mzfWorksheet.css" />
</head>
<style>
		
</style>
<body style="margin: 0;overflow-x: auto;" v-cloak>
    <div id="main" class="">
       <div class="ui-col-1 bgc-fff" style="min-width: 900px;">
		   <div class="flexibleBox">
			   <div class="flex maxBox">
				   <div class="title">已选</div>
				   <div class="flex selectedBox">
						<div class="selected" v-for="(item,index) in list" :key="index">
							{{item.type==1?'地区':item.type==2?'三级医院':item.type==3?'社区医院':item.type==4?'分组':item.type==5?'管理状态':'时间'}}:{{item.label}} <i class="el-icon-circle-close" @click="deleteClick(item)"></i>
						</div>
				   </div>
				   <div class="selectedButton">
						<el-button type="primary" size="mini" @click="confirm">确定</el-button>
						<el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
						<el-button type="info" size="mini"  @click="cancel">取消</el-button>
				   </div>
			   </div>
			   <div class="inquireTime">查询时间 
					<el-date-picker
					  v-model="startTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='startTimeChange'>
					</el-date-picker> ~
					<el-date-picker
					  v-model="endTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='endTimeChange'>
					</el-date-picker>
			   </div>
			   <div class="flex maxBox mt10">
				   <div class="flex selectedBoxTwo">
						<div class="selectedBoxTwoTitle">地区</div>
						<el-checkbox-group v-model="regionList" @change="change">
							<el-checkbox v-for="(t,x) in regionData" :key="x" :label="t" :key="t.label">{{t.label}}</el-checkbox>
						</el-checkbox-group>
				   </div>
			   </div>
			   <template v-if="show">
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">三级医院</div>
					   <div class="flex selectedHospital" :style="showTwo?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="regionListList" @change="change">
								<el-checkbox v-for="(m,i) in tertiaryHospitalsData" :key="i" :label="m" :key="m.label">{{m.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showTwo = !showTwo">
						   {{!showTwo?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showTwo"></i><i class="el-icon-arrow-up" v-if="showTwo"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">社区医院</div>
					   <div class="flex selectedHospital" :style="showThree?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="communityHospitalsList" @change="change">
								<el-checkbox v-for="(q,n) in communityHospitalsData" :key="n" :label="q" :key="q.label">{{q.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showThree = !showThree">
						   {{!showThree?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showThree"></i><i class="el-icon-arrow-up" v-if="showThree"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
							<div class="selectedBoxTwoTitle">分组</div>
							 <el-checkbox-group v-model="groupingList" @change="change">
								<el-checkbox v-for="(y,d) in groupingData" :key="d" :label="y" :key="y.label">{{y.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
						   <div class="selectedBoxTwoTitle">管理状态</div>
							<el-checkbox-group v-model="administrationStatusList" @change="change">
								<el-checkbox v-for="(k,e) in administrationStatusData" :key="e" :label="k" :key="k.label">{{k.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
			   </template>
			   <div class="more" @click="show = !show">{{!show?'更多选项':'收起'}}<i class="el-icon-arrow-down" v-if="!show"></i><i class="el-icon-arrow-up" v-if="show"></i></div>
		   </div>
		   
		   
			<el-table  border :data="mzfRzjdData" style="width: 100%" v-loading="loadingTwo" height='650' class="mt20" >
				<template >
					<!-- <el-table-column  type="index" width='50' label="序号" align="center"></el-table-column> -->
					<el-table-column prop="name" label="行政区" align="center">
					</el-table-column>
					<el-table-column  prop="name"  label="三级医院" align="center"></el-table-column>
					<el-table-column prop="name" label="目标入组例数" align="center">
					</el-table-column>
					<el-table-column  prop="name" label="首例入组时间" align="center"></el-table-column>
					<el-table-column  label="康复组(例)" align="center">
						<el-table-column
						  prop="name"
						  label="新增入组"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="新增失访"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="在管"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="失访"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="总计"
						  align="center">
						</el-table-column>
					</el-table-column>
					<el-table-column  label="对照组(例)" align="center">
						<el-table-column
						  prop="name"
						  label="新增入组"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="新增失访"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="在管"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="失访"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="总计"
						  align="center">
						</el-table-column>
					</el-table-column>
					<el-table-column  label="总计(例)" align="center">
						<el-table-column
						  prop="name"
						  label="新增入组"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="新增失访"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="在管"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="失访"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="总计"
						  align="center">
						</el-table-column>
					</el-table-column>
				</template>
			</el-table>
			<div class="c-t-right mt20">
				<el-pagination 
				  @current-change="handleCurrentChange"
				  :current-page.sync="currentPage"
				  :page-size="currentSize"
				  layout="total, prev, pager, next, jumper"
				  :total="datatotal">
				</el-pagination>
			</div>
       </div>
    </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>
    <script src="../../../plugins/toastr/toastr.min.js"></script>
    <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/home-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/statistics-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/common/event-bus.js"></script>
    <script src="../../../component/statistics/header-tab.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/header-prompt.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript" src="../../../api/sign_api.js"></script>
    <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfRzjd.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>

+ 179 - 0
app/statistics/html/mzfRzmx.html

@ -0,0 +1,179 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>慢阻肺入组明细</title>
    <meta name="author" content="yihu.com" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"
    />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <link rel="stylesheet" type="text/css" href="../../../css/font-awesome.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/flex.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/element-ui.css" />
    <link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="../css/common.css" />
	<link rel="stylesheet" type="text/css" href="../css/mzfWorksheet.css" />
</head>
<style>
		
</style>
<body style="margin: 0;overflow-x: auto;" v-cloak>
    <div id="main" class="">
       <div class="ui-col-1 bgc-fff" style="min-width: 900px;">
		   <div class="flexibleBox">
			   <div class="flex maxBox">
				   <div class="title">已选</div>
				   <div class="flex selectedBox">
						<div class="selected" v-for="(item,index) in list" :key="index">
							{{item.type==1?'地区':item.type==2?'三级医院':item.type==3?'社区医院':item.type==4?'分组':item.type==5?'管理状态':'时间'}}:{{item.label}} <i class="el-icon-circle-close" @click="deleteClick(item)"></i>
						</div>
				   </div>
				   <div class="selectedButton">
						<el-button type="primary" size="mini" @click="confirm">确定</el-button>
						<el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
						<el-button type="info" size="mini"  @click="cancel">取消</el-button>
				   </div>
			   </div>
			   <div class="inquireTime">查询时间 
					<el-date-picker
					  v-model="startTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='startTimeChange'>
					</el-date-picker> ~
					<el-date-picker
					  v-model="endTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='endTimeChange'>
					</el-date-picker>
			   </div>
			   <div class="flex maxBox mt10">
				   <div class="flex selectedBoxTwo">
						<div class="selectedBoxTwoTitle">地区</div>
						<el-checkbox-group v-model="regionList" @change="change">
							<el-checkbox v-for="(t,x) in regionData" :key="x" :label="t" :key="t.label">{{t.label}}</el-checkbox>
						</el-checkbox-group>
				   </div>
			   </div>
			   <template v-if="show">
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">三级医院</div>
					   <div class="flex selectedHospital" :style="showTwo?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="regionListList" @change="change">
								<el-checkbox v-for="(m,i) in tertiaryHospitalsData" :key="i" :label="m" :key="m.label">{{m.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showTwo = !showTwo">
						   {{!showTwo?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showTwo"></i><i class="el-icon-arrow-up" v-if="showTwo"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">社区医院</div>
					   <div class="flex selectedHospital" :style="showThree?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="communityHospitalsList" @change="change">
								<el-checkbox v-for="(q,n) in communityHospitalsData" :key="n" :label="q" :key="q.label">{{q.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showThree = !showThree">
						   {{!showThree?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showThree"></i><i class="el-icon-arrow-up" v-if="showThree"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
							<div class="selectedBoxTwoTitle">分组</div>
							 <el-checkbox-group v-model="groupingList" @change="change">
								<el-checkbox v-for="(y,d) in groupingData" :key="d" :label="y" :key="y.label">{{y.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
						   <div class="selectedBoxTwoTitle">管理状态</div>
							<el-checkbox-group v-model="administrationStatusList" @change="change">
								<el-checkbox v-for="(k,e) in administrationStatusData" :key="e" :label="k" :key="k.label">{{k.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
			   </template>
			   <div class="more" @click="show = !show">{{!show?'更多选项':'收起'}}<i class="el-icon-arrow-down" v-if="!show"></i><i class="el-icon-arrow-up" v-if="show"></i></div>
		   </div>
		   
		   
			<el-table  border :data="mzfRzmxData" style="width: 100%" v-loading="loadingTwo" height='650' class="mt20" >
				<template >
					<!-- <el-table-column  type="index" width='50' label="序号" align="center"></el-table-column> -->
					<el-table-column  label="社区中心基本信息" align="center">
						<el-table-column
						  prop="name"
						  label="所属区域"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="分管三级医院"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="社区中心名称"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="组别"
						  align="center">
						</el-table-column>
					</el-table-column>
					<el-table-column prop="name" label="首例入组时间YYYY/MM/DD" align="center">
					</el-table-column>
					<el-table-column  prop="name"  label="新增入组" align="center"></el-table-column>
					<el-table-column prop="name" label="新增失访" align="center">
					</el-table-column>
					<el-table-column  prop="name" label="在管" align="center"></el-table-column>
					<el-table-column  prop="name" label="失访" align="center"></el-table-column>
					<el-table-column  prop="name" label="入管合计" align="center"></el-table-column>
					<el-table-column  prop="name" label="备注(如果有)" align="center"></el-table-column>
				</template>
			</el-table>
			<div class="c-t-right mt20">
				<el-pagination 
				  @current-change="handleCurrentChange"
				  :current-page.sync="currentPage"
				  :page-size="currentSize"
				  layout="total, prev, pager, next, jumper"
				  :total="datatotal">
				</el-pagination>
			</div>
       </div>
    </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>
    <script src="../../../plugins/toastr/toastr.min.js"></script>
    <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/home-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/statistics-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/common/event-bus.js"></script>
    <script src="../../../component/statistics/header-tab.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/header-prompt.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript" src="../../../api/sign_api.js"></script>
    <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfRzmx.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>

+ 350 - 0
app/statistics/html/mzfSfjd.html

@ -0,0 +1,350 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>慢阻肺随访进度</title>
    <meta name="author" content="yihu.com" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"
    />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <link rel="stylesheet" type="text/css" href="../../../css/font-awesome.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/flex.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/element-ui.css" />
    <link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="../css/common.css" />
	<link rel="stylesheet" type="text/css" href="../css/mzfWorksheet.css" />
</head>
<style>
		
</style>
<body style="margin: 0;overflow-x: auto;" v-cloak>
    <div id="main" class="">
       <div class="ui-col-1 bgc-fff" style="min-width: 900px;">
		   <div class="flexibleBox">
			   <div class="flex maxBox">
				   <div class="title">已选</div>
				   <div class="flex selectedBox">
						<div class="selected" v-for="(item,index) in list" :key="index">
							{{item.type==1?'地区':item.type==2?'三级医院':item.type==3?'社区医院':item.type==4?'分组':item.type==5?'管理状态':'时间'}}:{{item.label}} <i class="el-icon-circle-close" @click="deleteClick(item)"></i>
						</div>
				   </div>
				   <div class="selectedButton">
						<el-button type="primary" size="mini" @click="confirm">确定</el-button>
						<el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
						<el-button type="info" size="mini"  @click="cancel">取消</el-button>
				   </div>
			   </div>
			   <div class="inquireTime">查询时间 
					<el-date-picker
					  v-model="startTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='startTimeChange'>
					</el-date-picker> ~
					<el-date-picker
					  v-model="endTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='endTimeChange'>
					</el-date-picker>
			   </div>
			   <div class="flex maxBox mt10">
				   <div class="flex selectedBoxTwo">
						<div class="selectedBoxTwoTitle">地区</div>
						<el-checkbox-group v-model="regionList" @change="change">
							<el-checkbox v-for="(t,x) in regionData" :key="x" :label="t" :key="t.label">{{t.label}}</el-checkbox>
						</el-checkbox-group>
				   </div>
			   </div>
			   <template v-if="show">
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">三级医院</div>
					   <div class="flex selectedHospital" :style="showTwo?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="regionListList" @change="change">
								<el-checkbox v-for="(m,i) in tertiaryHospitalsData" :key="i" :label="m" :key="m.label">{{m.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showTwo = !showTwo">
						   {{!showTwo?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showTwo"></i><i class="el-icon-arrow-up" v-if="showTwo"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">社区医院</div>
					   <div class="flex selectedHospital" :style="showThree?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="communityHospitalsList" @change="change">
								<el-checkbox v-for="(q,n) in communityHospitalsData" :key="n" :label="q" :key="q.label">{{q.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showThree = !showThree">
						   {{!showThree?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showThree"></i><i class="el-icon-arrow-up" v-if="showThree"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
							<div class="selectedBoxTwoTitle">分组</div>
							 <el-checkbox-group v-model="groupingList" @change="change">
								<el-checkbox v-for="(y,d) in groupingData" :key="d" :label="y" :key="y.label">{{y.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
						   <div class="selectedBoxTwoTitle">管理状态</div>
							<el-checkbox-group v-model="administrationStatusList" @change="change">
								<el-checkbox v-for="(k,e) in administrationStatusData" :key="e" :label="k" :key="k.label">{{k.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
			   </template>
			   <div class="more" @click="show = !show">{{!show?'更多选项':'收起'}}<i class="el-icon-arrow-down" v-if="!show"></i><i class="el-icon-arrow-up" v-if="show"></i></div>
		   </div>
		   
		   
			<el-table  border :data="mzfSfjdData" style="width: 100%" v-loading="loadingTwo" height='650' class="mt20" >
				<template >
					<!-- <el-table-column  type="index" width='50' label="序号" align="center"></el-table-column> -->
					<el-table-column prop="name" label="行政区" align="center">
					</el-table-column>
					<el-table-column  prop="name"  label="三级医院" align="center"></el-table-column>
					<el-table-column prop="name" label="分组" align="center">
					</el-table-column>
					<el-table-column  prop="name" label="目标入组数" align="center"></el-table-column>
					<el-table-column  prop="name"  label="启动筛选时间" align="center"></el-table-column>
					<el-table-column  prop="name" label="首例入组时间" align="center"></el-table-column>
					<el-table-column  prop="" label="随访例数" align="center">
						<el-table-column
						prop=""
						label="v1筛选"
						align="center">
							<el-table-column
							prop="name"
							label="-"
							align="center">
						</el-table-column>
					  </el-table-column>
					  <el-table-column
						prop=""
						label="v2入组"
						align="center">
							<el-table-column
							prop="name"
							label="正常访视"
							align="center">
							</el-table-column>
							<el-table-column
							prop="name"
							label="超窗"
							align="center">
							</el-table-column>
					  </el-table-column>
					  <el-table-column
						prop=""
						label="v3"
						align="center">
							<el-table-column
							prop="name"
							label="正常访视"
							align="center">
							</el-table-column>
							<el-table-column
							prop="name"
							label="超窗"
							align="center">
							</el-table-column>
					  </el-table-column>
					  <el-table-column
						prop=""
						label="v4"
						align="center">
							<el-table-column
							prop="name"
							label="正常访视"
							align="center">
							</el-table-column>
							<el-table-column
							prop="name"
							label="超窗"
							align="center">
							</el-table-column>
					  </el-table-column>
					  <el-table-column
						prop=""
						label="v5"
						align="center">
							<el-table-column
							prop="name"
							label="正常访视"
							align="center">
							</el-table-column>
							<el-table-column
							prop="name"
							label="超窗"
							align="center">
							</el-table-column>
						</el-table-column>
						<el-table-column
						prop=""
						label="v6"
						align="center">
							<el-table-column
							prop="name"
							label="正常访视"
							align="center">
							</el-table-column>
							<el-table-column
							prop="name"
							label="超窗"
							align="center">
							</el-table-column>
						</el-table-column>
						<el-table-column
						prop=""
						label="合计"
						align="center">
							<el-table-column
							prop="name"
							label="正常访视"
							align="center">
							</el-table-column>
							<el-table-column
							prop="name"
							label="超窗"
							align="center">
							</el-table-column>
						</el-table-column>
					</el-table-column>
					<el-table-column  prop="" label="提前结束研究例数" align="center">
						<el-table-column
						prop=""
						label="自愿退出"
						align="center">
							<el-table-column
								prop="name"
								label="-"
								align="center">
							</el-table-column>
					  	</el-table-column>
						  <el-table-column
						  prop=""
						  label="SAE"
						  align="center">
							  <el-table-column
								  prop="name"
								  label="-"
								  align="center">
							  </el-table-column>
						</el-table-column>
						<el-table-column
						  prop=""
						  label="不符合纳排"
						  align="center">
							  <el-table-column
								  prop="name"
								  label="-"
								  align="center">
							  </el-table-column>
						  </el-table-column>
						  <el-table-column
						  prop=""
						  label="失访"
						  align="center">
							  <el-table-column
								  prop="name"
								  label="-"
								  align="center">
							  </el-table-column>
					  </el-table-column>
					  <el-table-column
						  prop=""
						  label="妊娠"
						  align="center">
							  <el-table-column
								  prop="name"
								  label="-"
								  align="center">
							  </el-table-column>
					  </el-table-column>
					  <el-table-column
						  prop=""
						  label="死亡"
						  align="center">
							  <el-table-column
								  prop="name"
								  label="-"
								  align="center">
							  </el-table-column>
					  </el-table-column>
					  <el-table-column
						  prop=""
						  label="合计"
						  align="center">
							  <el-table-column
								  prop="name"
								  label="-"
								  align="center">
							  </el-table-column>
					  </el-table-column>
					  <el-table-column
						  prop=""
						  label="其他"
						  align="center">
							  <el-table-column
								  prop="name"
								  label="-"
								  align="center">
							  </el-table-column>
					  </el-table-column>
					</el-table-column>
					<el-table-column prop="name" label="总例数" align="center">
						<el-table-column
						prop="name"
						label="-"
						align="center">
						</el-table-column>
					</el-table-column>
					<el-table-column prop="name" label="备注(如果有)" align="center"></el-table-column>
				</template>
			</el-table>
			<div class="c-t-right mt20">
				<el-pagination 
				  @current-change="handleCurrentChange"
				  :current-page.sync="currentPage"
				  :page-size="currentSize"
				  layout="total, prev, pager, next, jumper"
				  :total="datatotal">
				</el-pagination>
			</div>
       </div>
    </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>
    <script src="../../../plugins/toastr/toastr.min.js"></script>
    <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/home-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/statistics-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/common/event-bus.js"></script>
    <script src="../../../component/statistics/header-tab.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/header-prompt.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript" src="../../../api/sign_api.js"></script>
    <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfSfjd.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>

+ 209 - 0
app/statistics/html/mzfSfzmx.html

@ -0,0 +1,209 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>慢阻肺随访总明细</title>
    <meta name="author" content="yihu.com" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"
    />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <link rel="stylesheet" type="text/css" href="../../../css/font-awesome.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/flex.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/element-ui.css" />
    <link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="../css/common.css" />
	<link rel="stylesheet" type="text/css" href="../css/mzfWorksheet.css" />
</head>
<style>
		
</style>
<body style="margin: 0;overflow-x: auto;" v-cloak>
    <div id="main" class="">
       <div class="ui-col-1 bgc-fff" style="min-width: 900px;">
		   <div class="flexibleBox">
			   <div class="flex maxBox">
				   <div class="title">已选</div>
				   <div class="flex selectedBox">
						<div class="selected" v-for="(item,index) in list" :key="index">
							{{item.type==1?'地区':item.type==2?'三级医院':item.type==3?'社区医院':item.type==4?'分组':item.type==5?'管理状态':'时间'}}:{{item.label}} <i class="el-icon-circle-close" @click="deleteClick(item)"></i>
						</div>
				   </div>
				   <div class="selectedButton">
						<el-button type="primary" size="mini" @click="confirm">确定</el-button>
						<el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
						<el-button type="info" size="mini"  @click="cancel">取消</el-button>
				   </div>
			   </div>
			   <div class="inquireTime">查询时间 
					<el-date-picker
					  v-model="startTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='startTimeChange'>
					</el-date-picker> ~
					<el-date-picker
					  v-model="endTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='endTimeChange'>
					</el-date-picker>
			   </div>
			   <div class="flex maxBox mt10">
				   <div class="flex selectedBoxTwo">
						<div class="selectedBoxTwoTitle">地区</div>
						<el-checkbox-group v-model="regionList" @change="change">
							<el-checkbox v-for="(t,x) in regionData" :key="x" :label="t" :key="t.label">{{t.label}}</el-checkbox>
						</el-checkbox-group>
				   </div>
			   </div>
			   <template v-if="show">
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">三级医院</div>
					   <div class="flex selectedHospital" :style="showTwo?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="regionListList" @change="change">
								<el-checkbox v-for="(m,i) in tertiaryHospitalsData" :key="i" :label="m" :key="m.label">{{m.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showTwo = !showTwo">
						   {{!showTwo?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showTwo"></i><i class="el-icon-arrow-up" v-if="showTwo"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">社区医院</div>
					   <div class="flex selectedHospital" :style="showThree?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="communityHospitalsList" @change="change">
								<el-checkbox v-for="(q,n) in communityHospitalsData" :key="n" :label="q" :key="q.label">{{q.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showThree = !showThree">
						   {{!showThree?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showThree"></i><i class="el-icon-arrow-up" v-if="showThree"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
							<div class="selectedBoxTwoTitle">分组</div>
							 <el-checkbox-group v-model="groupingList" @change="change">
								<el-checkbox v-for="(y,d) in groupingData" :key="d" :label="y" :key="y.label">{{y.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
						   <div class="selectedBoxTwoTitle">管理状态</div>
							<el-checkbox-group v-model="administrationStatusList" @change="change">
								<el-checkbox v-for="(k,e) in administrationStatusData" :key="e" :label="k" :key="k.label">{{k.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
			   </template>
			   <div class="more" @click="show = !show">{{!show?'更多选项':'收起'}}<i class="el-icon-arrow-down" v-if="!show"></i><i class="el-icon-arrow-up" v-if="show"></i></div>
		   </div>
		   
		   
			<el-table  border :data="mzfSfzmxData" style="width: 100%" v-loading="loadingTwo" height='650' class="mt20" >
				<template >
					<!-- <el-table-column  type="index" width='50' label="序号" align="center"></el-table-column> -->
					<el-table-column  label="社区中心基本信息" align="center">
						<el-table-column
						  prop="name"
						  label="所属区域"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="分管三级医院"
						  align="center">
						</el-table-column>
						<el-table-column
						  prop="name"
						  label="社区中心名称"
						  align="center">
						</el-table-column>
					</el-table-column>
					</el-table-column>
					<el-table-column prop="name" label="分组" align="center"></el-table-column>
					<el-table-column  prop="name"  label="启动筛选时间(YYYY/MM/DD)" align="center"></el-table-column>
					<el-table-column  prop="name" label="首例入组时间(YYYY/MM/DD)" align="center"></el-table-column>
					<el-table-column  prop="" label="随访例数" align="center">
						<el-table-column
						prop=""
						label="v1筛选"
						align="center">
					  </el-table-column>
					  <el-table-column
						prop=""
						label="v2入组"
						align="center">
					  </el-table-column>
					  <el-table-column
						prop=""
						label="v3"
						align="center">
					  </el-table-column>
					  <el-table-column
						prop=""
						label="v4"
						align="center">
					  </el-table-column>
					  <el-table-column
						prop=""
						label="v5"
						align="center">
						</el-table-column>
						<el-table-column
						prop=""
						label="v6"
						align="center">
						</el-table-column>
						<el-table-column
						prop=""
						label="合计"
						align="center">
						</el-table-column>
					</el-table-column>
					<el-table-column prop="name" label="在管人数(随访中)" align="center">
					</el-table-column>
					<el-table-column prop="name" label="脱落总例数(提前结束研究/到期未完成随访)" align="center"></el-table-column>
				</template>
			</el-table>
			<div class="c-t-right mt20">
				<el-pagination 
				  @current-change="handleCurrentChange"
				  :current-page.sync="currentPage"
				  :page-size="currentSize"
				  layout="total, prev, pager, next, jumper"
				  :total="datatotal">
				</el-pagination>
			</div>
       </div>
    </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>
    <script src="../../../plugins/toastr/toastr.min.js"></script>
    <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/home-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/statistics-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/common/event-bus.js"></script>
    <script src="../../../component/statistics/header-tab.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/header-prompt.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript" src="../../../api/sign_api.js"></script>
    <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfSfzmx.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>

+ 2 - 2
app/statistics/html/mzfWorksheet.html

@ -125,7 +125,7 @@
							</div>
						</template>
					</el-table-column>
					<el-table-column  prop="townManagedNum"  label="第二阶段累计已管理" align="center"></el-table-column>
					<el-table-column  prop="townManagedNum"  label="第二阶段累计在管" align="center"></el-table-column>
					<el-table-column  width='300'  label="三级医院第二阶段已稽查人数" align="center">
						<template slot-scope='scope'>
							<div class="flex">
@ -142,7 +142,7 @@
					<el-table-column  prop="hospitalName" width='200'  label="基层医疗卫生机构" align="center"></el-table-column>
					<!-- <el-table-column  prop="doctorName" label="目标数" align="center"></el-table-column> -->
					<el-table-column  prop="entryNum" label="当前入组" align="center"></el-table-column>
					<el-table-column  prop="managedNum" label="当前已管理" align="center"></el-table-column>
					<el-table-column  prop="managedNum" label="当前在管" align="center"></el-table-column>
					<el-table-column label="三级医院下转基层医疗机构人数(包括跨辖区下转)" align="center">
						<el-table-column
						  prop="turnDownDy"

+ 152 - 0
app/statistics/html/mzfv1rzReport.html

@ -0,0 +1,152 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>v1\入组情况报表</title>
    <meta name="author" content="yihu.com" />
    <meta name="format-detection" content="telephone=no" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"
    />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black" />
    <link rel="stylesheet" type="text/css" href="../../../css/font-awesome.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/flex.css" />
    <link rel="stylesheet" type="text/css" href="../../../css/element-ui.css" />
    <link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="../css/common.css" />
	<link rel="stylesheet" type="text/css" href="../css/mzfWorksheet.css" />
</head>
<style>
		
</style>
<body style="margin: 0;overflow-x: auto;" v-cloak>
    <div id="main" class="">
       <div class="ui-col-1 bgc-fff" style="min-width: 900px;">
		   <div class="flexibleBox">
			   <div class="flex maxBox">
				   <div class="title">已选</div>
				   <div class="flex selectedBox">
						<div class="selected" v-for="(item,index) in list" :key="index">
							{{item.type==1?'地区':item.type==2?'三级医院':item.type==3?'社区医院':item.type==4?'分组':item.type==5?'管理状态':'时间'}}:{{item.label}} <i class="el-icon-circle-close" @click="deleteClick(item)"></i>
						</div>
				   </div>
				   <div class="selectedButton">
						<el-button type="primary" size="mini" @click="confirm">确定</el-button>
						<el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
						<el-button type="info" size="mini"  @click="cancel">取消</el-button>
				   </div>
			   </div>
			   <div class="inquireTime">查询时间 
					<el-date-picker
					  v-model="startTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='startTimeChange'>
					</el-date-picker> ~
					<el-date-picker
					  v-model="endTime"
					  type="date"
					  placeholder="选择日期"
					  :picker-options="setDisabled"
					  @change='endTimeChange'>
					</el-date-picker>
			   </div>
			   <!-- <div class="flex maxBox mt10">
				   <div class="flex selectedBoxTwo">
						<div class="selectedBoxTwoTitle">地区</div>
						<el-checkbox-group ref="checked" v-model="regionList" @change="change">
							<el-checkbox v-for="(t,x) in regionData" :key="x" :label="t" :key="t.areaName" :checked="t.checked">{{t.areaName}}</el-checkbox>
						</el-checkbox-group>
				   </div>
			   </div>
			   <template v-if="show">
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">三级医院</div>
					   <div class="flex selectedHospital" :style="showTwo?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="threeHospitalList" @change="changeHospital">
								<el-checkbox v-for="(m,i) in tertiaryHospitalsData" :key="i" :label="m" :key="m.hospitalName">{{m.hospitalName}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showTwo = !showTwo">
						   {{!showTwo?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showTwo"></i><i class="el-icon-arrow-up" v-if="showTwo"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="titleHospital">社区医院</div>
					   <div class="flex selectedHospital" :style="showThree?'overflow: inherit;height: auto;':'overflow: hidden;height:20px;'">
							<el-checkbox-group v-model="communityHospitalsList" @change="changeCommunityHospitals">
								<el-checkbox v-for="(q,n) in communityHospitalsData" :key="n" :label="q" :key="q.hospitalName">{{q.hospitalName}}</el-checkbox>
							</el-checkbox-group>
					   </div>
					   <div class="selectedButtonTwo" @click="showThree = !showThree">
						   {{!showThree?'更多选项':'收起'}}
						   <i class="el-icon-arrow-down" v-if="!showThree"></i><i class="el-icon-arrow-up" v-if="showThree"></i>
					   </div>
				   </div>
				   <div class="flex maxBox mt10">
					   <div class="flex selectedBoxTwo">
							<div class="selectedBoxTwoTitle">分组</div>
							 <el-checkbox-group v-model="groupingList" @change="changeGroup">
								<el-checkbox v-for="(y,d) in groupingData" :key="d" :label="y" :key="y.label">{{y.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
				   <div class="flex maxBox mtb10">
					   <div class="flex selectedBoxTwo">
						   <div class="selectedBoxTwoTitle">管理状态</div>
							<el-checkbox-group v-model="administrationStatusList" @change="changeStatus">
								<el-checkbox v-for="(k,e) in administrationStatusData" :key="e" :label="k" :key="k.label" :disabled="k.disabled" :checked="k.checked">{{k.label}}</el-checkbox>
							</el-checkbox-group>
					   </div>
				   </div>
			   </template>
			   <div class="more" @click="show = !show">{{!show?'更多选项':'收起'}}<i class="el-icon-arrow-down" v-if="!show"></i><i class="el-icon-arrow-up" v-if="show"></i></div>
		   </div> -->
		   
		   
			<el-table  border :data="mzfWorksheetData" style="width: 100%" v-loading="loadingTwo" :header-cell-style="{background:'#eef1f6'}" class="mt20" >
					<el-table-column  prop="name" label="三级医院" align="center"></el-table-column>
					<el-table-column  prop="count5" label="目标数" align="center"></el-table-column>
					<el-table-column  prop="count1" label="新增完成v1数" align="center"></el-table-column>
					<el-table-column  prop="count2" label="累计完成v1数" align="center"></el-table-column>
					<el-table-column  prop="count3" label="新增入组数(v2)" align="center"></el-table-column>
					<el-table-column  prop="count4" label="累计入组数(v2)" align="center"></el-table-column>
					<el-table-column  prop="count6" label="入组完成率" align="center"></el-table-column>
			</el-table>
			<!-- <div class="c-t-right mt20">
				<el-pagination 
				  @current-change="handleCurrentChange"
				  :current-page.sync="currentPage"
				  :page-size="currentSize"
				  layout="total, prev, pager, next, jumper"
				  :total="datatotal">
				</el-pagination>
			</div> -->
       </div>
    </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>
    <script src="../../../plugins/toastr/toastr.min.js"></script>
    <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/home-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/statistics-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/common/event-bus.js"></script>
    <script src="../../../component/statistics/header-tab.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/header-prompt.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript" src="../../../api/sign_api.js"></script>
    <script src="../js/common.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/mzfV1rzReport.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>

+ 179 - 0
app/statistics/js/comprehensive-query.js

@ -67,6 +67,12 @@ new Vue({
			  {label: '康复下转明细', id:'44'},
			  {label: '邀请专科回复明细', id:'45'},
			  {label:'慢阻肺医院工作量表',id:'46'},
			//   {label: '慢阻肺患者查询', id:'47'},
			//   {label: '慢阻肺入组进度', id:'48'},
			//   {label: '慢阻肺入组总明细', id:'49'},
			//   {label: '慢阻肺随访进度', id:'50'},
			//   {label: '慢阻肺随访总明细', id:'51'},
			  {label: 'v1\入组情况报表', id:'52'},
			]
		}],
		handleNodeShow:1,
@ -153,6 +159,7 @@ new Vue({
			{id:'2',text:'明细查询',show:false},
			{id:'3',text:'汇总数据',show:false},
			{id:'4',text:'专科综合查询',show:false},
			// {id:'5',text:'慢阻肺综合查询',show:false},
		],
		tabsId:'1',
		facility:'',    //体征数据分析  - 设备类型
@ -269,6 +276,99 @@ new Vue({
		expertFamilyIdType:'',
		expertReplyData:[],
		specializedHospital:[{value:'',label:'全部'}],
		mzfzhcxData: [{name: '测试数据1条'}],
		mzftjTree:[
			{
				id: "zhzrs,yglrs,yrzrs,ysfrs,yczrs,bnrglrs,swrs",
				label: "患者管理统计",
				code:'1',
				children:[
					{id: "zhzrs",label:'总患者人数',code:'1',},
					{id: "yglrs",label:'已管理人数',code:'1',},
					{id: "yrzrs",label:'已入组人数',code:'1',},
					{id: "ysfrs",label:'已失访人数',code:'1',},
					{id: "yczrs",label:'已出组人数',code:'1',},
					{id: "bnrglrs",label:'不纳入管理人数',code:'1',},
					{id: "swrs",label:'死亡人数',code:'1',},
				],
			},
			{
				id: "yjcrs,yjccs,djcrs,djccs,djcrs,djccs",
				label: "监查稽查统计",
				code:'2',
				children:[
					{id: "yjcrs",label:'已稽查人数',code:'2'},
					{id: "yjccs",label:'已稽查次数',code:'2'},
					{id: "djcrs",label:'待监查人数',code:'2'},
					{id: "djccs",label:'待监查次数',code:'2'},
					{id: "djcrs",label:'待稽查人数',code:'2'},
					{id: "djccs",label:'待稽查次数',code:'2'},
				],
			},
			{
				id: "xzrs,jsxzrs",
				label: "下转接收统计",
				code:'3',
				children:[
					{id: "xzrs",label:'下转人数',code:'3'},
					{id: "jsxzrs",label:'接收下转人数',code:'3'}
				],
			},
			{
				id: "v1sxrs,v2rzrs,v3rs,v4rs,v5rs,v6rs,zgrs,tlzls",
				label: "随访进度统计",
				code:'4',
				children:[
					{id: "v1sxrs",label:'v1筛选人数',code:'4',},
					{id: "v2rzrs",label:'v2入组人数',code:'4',},
					{id: "v3rs",label:'v3人数',code:'4',},
					{id: "v4rs",label:'v4人数',code:'4',},
					{id: "v5rs",label:'v5人数',code:'4',},
					{id: "v6rs",label:'v6人数',code:'4',},
					{id: "zgrs",label:'在管人数',code:'4',},
					{id: "tlzls",label:'脱落总例数',code:'4',},
				],
			},
		],
		list:[],
		startTime:new Date('2023','05','26'),
		endTime:new Date(),
		regionList:[],
		regionData:[
			{label:'全市',id:'1',type:'1'}
		],
		regionListList:[],
		tertiaryHospitalsData:[
			{label:'全部',id:'1',type:'2'}
		],
		communityHospitalsList:[],
		communityHospitalsData:[
			{label:'全部',id:'1',type:'3'}
		],
		groupingList:[],
		groupingData:[
			{label:'全部',id:'1',type:'4'}
		],
		administrationStatusList:[],
		administrationStatusData:[
			{label:'全部',id:'1',type:'5'}
		],
		show:false,
		showTwo:false,
		showThree:false,
		currentPage:1,
		currentSize:10, 
		datatotal:0, //总数
		loadingTwo:false,
		setDisabled:{
			disabledDate(time) {
				return time.getTime() < new Date('2023','05','26') || time.getTime() > Date.now();
			}
		},
		s:'',
		e:'',
	},
	components: {
		vuedals: Vuedals.Component
@ -290,6 +390,24 @@ new Vue({
			var vm=this
			vm.selChange(5)
	    },
		'startTime':{
			handler:function(o) {
			   if(!o) {
				   this.list.splice(0,1)
			   }
			},
			deep: true,
			immediate: true
	   },
	   'endTime':{
			handler:function(o) {
			   if(!o) {
				   this.list.splice(0,1)
			   }
			},
			deep: true,
			immediate: true
	   },
	},
	mounted: function () {
		var vm=this
@ -300,8 +418,66 @@ new Vue({
		window.onresize = function () {
			vm.height = document.body.offsetHeight - 85
		}
		this.s = this.startTime.format('yyyy-MM-dd')
		this.e = this.endTime.format('yyyy-MM-dd')
		this.list.unshift({type:'0',id:'time',label:this.s +"~"+ this.e})
	},
	methods: {
		startTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		endTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
				this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')
			}
		},
		// 确定
		confirm:function() {
			this.hospitalWorkStatistics()
		},
		// 选择
		change:function(val) {
			this.list = this.list.concat(val)
		},
		// 已选
		deleteClick:function(item) {
			if(item.id == "time") {
				this.startTime = ''
				this.endTime = ''
				this.list.splice(0,1)
			}
			var index = this.list.findIndex(function(v){
				return item.id == v.id
			})
			this.list.splice(index,1)
		},
		// 取消
		cancel:function() {
			this.startTime = new Date('2023','05','26')
			this.endTime = new Date()
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		// 导出
		exportHandle:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.exportHospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			},'慢阻肺综合查询表.xls').then(function(res){
				vm.loadingTwo = false
			})
		},
		renderTableHeader:function(h, item) {
			var $index = item.$index
			return h("div", [
@ -562,6 +738,9 @@ new Vue({
			if(item.id != 4) {
				vm.expertFamilyIdType = ''
			}
			if(item.id == 5 ){
				vm.handleNodeShow = 5
			}
			vm.tabsList.forEach(function(res){
				if(res.id == item.id) {
					res.show = true

+ 169 - 0
app/statistics/js/mzfHzcx.js

@ -0,0 +1,169 @@
var template = ''
$.ajax('../html/mzfHzcx.html',{
	data: {},
	dataType: 'html',
	cache: false,
	timeout: 60000, 
	async: false,
	error: function(res) {
	},
	success: function(res) {
		template = res
	}
})
Vue.component('mzf-hzcx', {
	props: [],
	template: template,
	data: function() {
		return {
			mzfHzcxData:[{name: '测试数据'}],
			list:[],
			startTime:new Date('2023','05','26'),
			endTime:new Date(),
			regionList:[],
			regionData:[
				{label:'全市',id:'1',type:'1'}
			],
			regionListList:[],
			tertiaryHospitalsData:[
				{label:'全部',id:'1',type:'2'}
			],
			communityHospitalsList:[],
			communityHospitalsData:[
				{label:'全部',id:'1',type:'3'}
			],
			groupingList:[],
			groupingData:[
				{label:'全部',id:'1',type:'4'}
			],
			administrationStatusList:[],
			administrationStatusData:[
				{label:'全部',id:'1',type:'5'}
			],
			show:false,
			showTwo:false,
			showThree:false,
			currentPage:1,
			currentSize:10, 
			datatotal:0, //总数
			loadingTwo:false,
			setDisabled:{
				disabledDate(time) {
					return time.getTime() < new Date('2023','05','26') || time.getTime() > Date.now();
				}
			},
			s:'',
			e:'',
			dialogVisible: false,
			num: ''
		}
	},
	created: function(){
		this.s = this.startTime.format('yyyy-MM-dd')
		this.e = this.endTime.format('yyyy-MM-dd')
		this.list.unshift({type:'0',id:'time',label:this.s +"~"+ this.e})
		// this.hospitalWorkStatistics()
	},
	watch:{
		'startTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
		'endTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
	},
	methods: {
		hospitalWorkStatistics:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.hospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			}).then(function(res){
				if(res.status == 200) {
					vm.loadingTwo = false
					vm.mzfHzcxData = res.data
				}
			}).catch(function(err){
				vm.loadingTwo = false
			})
		},
		startTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		endTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
				this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')
			}
		},
		deleteClick:function(item) {
			if(item.id == "time") {
				this.startTime = ''
				this.endTime = ''
				this.list.splice(0,1)
			}
			var index = this.list.findIndex(function(v){
				return item.id == v.id
			})
			this.list.splice(index,1)
		},
		// 下一页  上一页
		handleCurrentChange:function(val) {
			var vm = this
			vm.currentPage = val
		},
		change:function(val) {
			this.list = this.list.concat(val)
		},
		// 确定
		confirm:function() {
			this.hospitalWorkStatistics()
		},
		// 取消
		cancel:function() {
			this.startTime = new Date('2023','05','26')
			this.endTime = new Date()
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		// 导出
		exportHandle:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.exportHospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			},'慢阻肺医院工作量表.xls').then(function(res){
				vm.loadingTwo = false
			})
		},
		// 计划/记录
		showSfjh: function(num,id) {
			var vm = this
			vm.num = num
			this.dialogVisible = true
		}
		
	}
})

+ 162 - 0
app/statistics/js/mzfRzjd.js

@ -0,0 +1,162 @@
var template = ''
$.ajax('../html/mzfRzjd.html',{
	data: {},
	dataType: 'html',
	cache: false,
	timeout: 60000, 
	async: false,
	error: function(res) {
	},
	success: function(res) {
		template = res
	}
})
Vue.component('mzf-rzjd', {
	props: [],
	template: template,
	data: function() {
		return {
			mzfRzjdData:[{name: '测试数据'}],
			list:[],
			startTime:new Date('2023','05','26'),
			endTime:new Date(),
			regionList:[],
			regionData:[
				{label:'全市',id:'1',type:'1'}
			],
			regionListList:[],
			tertiaryHospitalsData:[
				{label:'全部',id:'1',type:'2'}
			],
			communityHospitalsList:[],
			communityHospitalsData:[
				{label:'全部',id:'1',type:'3'}
			],
			groupingList:[],
			groupingData:[
				{label:'全部',id:'1',type:'4'}
			],
			administrationStatusList:[],
			administrationStatusData:[
				{label:'全部',id:'1',type:'5'}
			],
			show:false,
			showTwo:false,
			showThree:false,
			currentPage:1,
			currentSize:10, 
			datatotal:0, //总数
			loadingTwo:false,
			setDisabled:{
				disabledDate(time) {
					return time.getTime() < new Date('2023','05','26') || time.getTime() > Date.now();
				}
			},
			s:'',
			e:'',
		}
	},
	created: function(){
		this.s = this.startTime.format('yyyy-MM-dd')
		this.e = this.endTime.format('yyyy-MM-dd')
		this.list.unshift({type:'0',id:'time',label:this.s +"~"+ this.e})
		// this.hospitalWorkStatistics()
	},
	watch:{
		'startTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
		'endTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
	},
	methods: {
		hospitalWorkStatistics:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.hospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			}).then(function(res){
				if(res.status == 200) {
					vm.loadingTwo = false
					vm.mzfRzjdData = res.data
				}
			}).catch(function(err){
				vm.loadingTwo = false
			})
		},
		startTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		endTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
				this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')
			}
		},
		deleteClick:function(item) {
			if(item.id == "time") {
				this.startTime = ''
				this.endTime = ''
				this.list.splice(0,1)
			}
			var index = this.list.findIndex(function(v){
				return item.id == v.id
			})
			this.list.splice(index,1)
		},
		// 下一页  上一页
		handleCurrentChange:function(val) {
			var vm = this
			vm.currentPage = val
		},
		change:function(val) {
			this.list = this.list.concat(val)
		},
		// 确定
		confirm:function() {
			this.hospitalWorkStatistics()
		},
		// 取消
		cancel:function() {
			this.startTime = new Date('2023','05','26')
			this.endTime = new Date()
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		// 导出
		exportHandle:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.exportHospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			},'慢阻肺入组进度表.xls').then(function(res){
				vm.loadingTwo = false
			})
		},
		
		
	}
})

+ 162 - 0
app/statistics/js/mzfRzmx.js

@ -0,0 +1,162 @@
var template = ''
$.ajax('../html/mzfRzmx.html',{
	data: {},
	dataType: 'html',
	cache: false,
	timeout: 60000, 
	async: false,
	error: function(res) {
	},
	success: function(res) {
		template = res
	}
})
Vue.component('mzf-rzmx', {
	props: [],
	template: template,
	data: function() {
		return {
			mzfRzmxData:[{name: '测试数据'}],
			list:[],
			startTime:new Date('2023','05','26'),
			endTime:new Date(),
			regionList:[],
			regionData:[
				{label:'全市',id:'1',type:'1'}
			],
			regionListList:[],
			tertiaryHospitalsData:[
				{label:'全部',id:'1',type:'2'}
			],
			communityHospitalsList:[],
			communityHospitalsData:[
				{label:'全部',id:'1',type:'3'}
			],
			groupingList:[],
			groupingData:[
				{label:'全部',id:'1',type:'4'}
			],
			administrationStatusList:[],
			administrationStatusData:[
				{label:'全部',id:'1',type:'5'}
			],
			show:false,
			showTwo:false,
			showThree:false,
			currentPage:1,
			currentSize:10, 
			datatotal:0, //总数
			loadingTwo:false,
			setDisabled:{
				disabledDate(time) {
					return time.getTime() < new Date('2023','05','26') || time.getTime() > Date.now();
				}
			},
			s:'',
			e:'',
		}
	},
	created: function(){
		this.s = this.startTime.format('yyyy-MM-dd')
		this.e = this.endTime.format('yyyy-MM-dd')
		this.list.unshift({type:'0',id:'time',label:this.s +"~"+ this.e})
		// this.hospitalWorkStatistics()
	},
	watch:{
		'startTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
		'endTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
	},
	methods: {
		hospitalWorkStatistics:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.hospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			}).then(function(res){
				if(res.status == 200) {
					vm.loadingTwo = false
					vm.mzfRzmxData = res.data
				}
			}).catch(function(err){
				vm.loadingTwo = false
			})
		},
		startTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		endTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
				this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')
			}
		},
		deleteClick:function(item) {
			if(item.id == "time") {
				this.startTime = ''
				this.endTime = ''
				this.list.splice(0,1)
			}
			var index = this.list.findIndex(function(v){
				return item.id == v.id
			})
			this.list.splice(index,1)
		},
		// 下一页  上一页
		handleCurrentChange:function(val) {
			var vm = this
			vm.currentPage = val
		},
		change:function(val) {
			this.list = this.list.concat(val)
		},
		// 确定
		confirm:function() {
			this.hospitalWorkStatistics()
		},
		// 取消
		cancel:function() {
			this.startTime = new Date('2023','05','26')
			this.endTime = new Date()
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		// 导出
		exportHandle:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.exportHospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			},'慢阻肺医院工作量表.xls').then(function(res){
				vm.loadingTwo = false
			})
		},
		
		
	}
})

+ 162 - 0
app/statistics/js/mzfSfjd.js

@ -0,0 +1,162 @@
var template = ''
$.ajax('../html/mzfSfjd.html',{
	data: {},
	dataType: 'html',
	cache: false,
	timeout: 60000, 
	async: false,
	error: function(res) {
	},
	success: function(res) {
		template = res
	}
})
Vue.component('mzf-sfjd', {
	props: [],
	template: template,
	data: function() {
		return {
			mzfSfjdData:[{name: '测试数据'}],
			list:[],
			startTime:new Date('2023','05','26'),
			endTime:new Date(),
			regionList:[],
			regionData:[
				{label:'全市',id:'1',type:'1'}
			],
			regionListList:[],
			tertiaryHospitalsData:[
				{label:'全部',id:'1',type:'2'}
			],
			communityHospitalsList:[],
			communityHospitalsData:[
				{label:'全部',id:'1',type:'3'}
			],
			groupingList:[],
			groupingData:[
				{label:'全部',id:'1',type:'4'}
			],
			administrationStatusList:[],
			administrationStatusData:[
				{label:'全部',id:'1',type:'5'}
			],
			show:false,
			showTwo:false,
			showThree:false,
			currentPage:1,
			currentSize:10, 
			datatotal:0, //总数
			loadingTwo:false,
			setDisabled:{
				disabledDate(time) {
					return time.getTime() < new Date('2023','05','26') || time.getTime() > Date.now();
				}
			},
			s:'',
			e:'',
		}
	},
	created: function(){
		this.s = this.startTime.format('yyyy-MM-dd')
		this.e = this.endTime.format('yyyy-MM-dd')
		this.list.unshift({type:'0',id:'time',label:this.s +"~"+ this.e})
		// this.hospitalWorkStatistics()
	},
	watch:{
		'startTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
		'endTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
	},
	methods: {
		hospitalWorkStatistics:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.hospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			}).then(function(res){
				if(res.status == 200) {
					vm.loadingTwo = false
					vm.mzfSfjdData = res.data
				}
			}).catch(function(err){
				vm.loadingTwo = false
			})
		},
		startTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		endTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
				this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')
			}
		},
		deleteClick:function(item) {
			if(item.id == "time") {
				this.startTime = ''
				this.endTime = ''
				this.list.splice(0,1)
			}
			var index = this.list.findIndex(function(v){
				return item.id == v.id
			})
			this.list.splice(index,1)
		},
		// 下一页  上一页
		handleCurrentChange:function(val) {
			var vm = this
			vm.currentPage = val
		},
		change:function(val) {
			this.list = this.list.concat(val)
		},
		// 确定
		confirm:function() {
			this.hospitalWorkStatistics()
		},
		// 取消
		cancel:function() {
			this.startTime = new Date('2023','05','26')
			this.endTime = new Date()
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		// 导出
		exportHandle:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.exportHospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			},'慢阻肺随访进度.xls').then(function(res){
				vm.loadingTwo = false
			})
		},
		
		
	}
})

+ 162 - 0
app/statistics/js/mzfSfzmx.js

@ -0,0 +1,162 @@
var template = ''
$.ajax('../html/mzfSfzmx.html',{
	data: {},
	dataType: 'html',
	cache: false,
	timeout: 60000, 
	async: false,
	error: function(res) {
	},
	success: function(res) {
		template = res
	}
})
Vue.component('mzf-sfzmx', {
	props: [],
	template: template,
	data: function() {
		return {
			mzfSfzmxData:[{name: '测试数据'}],
			list:[],
			startTime:new Date('2023','05','26'),
			endTime:new Date(),
			regionList:[],
			regionData:[
				{label:'全市',id:'1',type:'1'}
			],
			regionListList:[],
			tertiaryHospitalsData:[
				{label:'全部',id:'1',type:'2'}
			],
			communityHospitalsList:[],
			communityHospitalsData:[
				{label:'全部',id:'1',type:'3'}
			],
			groupingList:[],
			groupingData:[
				{label:'全部',id:'1',type:'4'}
			],
			administrationStatusList:[],
			administrationStatusData:[
				{label:'全部',id:'1',type:'5'}
			],
			show:false,
			showTwo:false,
			showThree:false,
			currentPage:1,
			currentSize:10, 
			datatotal:0, //总数
			loadingTwo:false,
			setDisabled:{
				disabledDate(time) {
					return time.getTime() < new Date('2023','05','26') || time.getTime() > Date.now();
				}
			},
			s:'',
			e:'',
		}
	},
	created: function(){
		this.s = this.startTime.format('yyyy-MM-dd')
		this.e = this.endTime.format('yyyy-MM-dd')
		this.list.unshift({type:'0',id:'time',label:this.s +"~"+ this.e})
		// this.hospitalWorkStatistics()
	},
	watch:{
		'startTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
		'endTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
	},
	methods: {
		hospitalWorkStatistics:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.hospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			}).then(function(res){
				if(res.status == 200) {
					vm.loadingTwo = false
					vm.mzfSfzmxData = res.data
				}
			}).catch(function(err){
				vm.loadingTwo = false
			})
		},
		startTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		endTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
				this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')
			}
		},
		deleteClick:function(item) {
			if(item.id == "time") {
				this.startTime = ''
				this.endTime = ''
				this.list.splice(0,1)
			}
			var index = this.list.findIndex(function(v){
				return item.id == v.id
			})
			this.list.splice(index,1)
		},
		// 下一页  上一页
		handleCurrentChange:function(val) {
			var vm = this
			vm.currentPage = val
		},
		change:function(val) {
			this.list = this.list.concat(val)
		},
		// 确定
		confirm:function() {
			this.hospitalWorkStatistics()
		},
		// 取消
		cancel:function() {
			this.startTime = new Date('2023','05','26')
			this.endTime = new Date()
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		// 导出
		exportHandle:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.exportHospitalWorkStatistics({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd')
			},'慢阻肺随访总明细.xls').then(function(res){
				vm.loadingTwo = false
			})
		},
		
		
	}
})

+ 409 - 0
app/statistics/js/mzfV1rzReport.js

@ -0,0 +1,409 @@
var template = ''
$.ajax('../html/mzfv1rzReport.html',{
	data: {},
	dataType: 'html',
	cache: false,
	timeout: 60000, 
	async: false,
	error: function(res) {
	},
	success: function(res) {
		template = res
	}
})
let date = new Date();
let today = date.toISOString().split('T')[0];
let oneWeekBeforeDate = new Date(date.getTime() - (7 * 24 * 60 * 60 * 1000));
Vue.component('mzf-v1rzreport', {
	props: [],
	template: template,
	data: function() {
		return {
			mzfWorksheetData:[],
			list:[], // 已选列表
			startTime: oneWeekBeforeDate, //new Date('2023','05','26'),
			endTime: new Date(),
			regionList:[], // 地区
			regionData:[],
			threeHospitalList:[], // 三级医院
			tertiaryHospitalsData:[],
			communityHospitalsList:[], //社区医院
			communityHospitalsData:[],
			groupingList:[], // 分组
			groupingData:[],
			administrationStatusList:[], // 管理状态
			administrationStatusData:[
				{label:'全部',id:'8',type:'5', disabled: true, checked: false},
				{label:'已管理',id:'7',type:'5', disabled: true, checked: false},
				{label:'在管',id:'1',type:'5', disabled: true, checked: false},
				{label:'未管理',id:'0',type:'5', disabled: true, checked: false},
				{label:'不纳入管理',id:'4',type:'5', disabled: true, checked: false},
				{label:'入组',id:'5',type:'5', disabled: false , checked: false},
				{label:'出组',id:'3',type:'5', disabled: true, checked: false},
				{label:'失访',id:'2',type:'5', disabled: true, checked: false},
				{label:'死亡',id:'6',type:'5', disabled: true, checked: false},
			],
			show:false,
			showTwo:false,
			showThree:false, 
			currentPage:1,
			currentSize:10, 
			datatotal:10, //总数
			loadingTwo:false,
			setDisabled:{
				disabledDate(time) {
					return time.getTime() < new Date('2023','05','26') || time.getTime() > Date.now();
				}
			},
			s:'',
			e:'',
			findType: 1,
			groupState: '',
			copdState: false
		}
	},
	created: function(){
		// 初始化时间条件
		this.s = this.startTime.format('yyyy-MM-dd')
		this.e = this.endTime.format('yyyy-MM-dd')
		this.list.unshift({type:'0',id:'time',label:this.s +"~"+ this.e})
		// this.cascadingFindHosptail() // 地区
		// this.threeHospital() // 三级医院
		// this.communityHospital() // 社区医院
		// this.group() // 分组
		this.findHospitalEntryCount() // 表单
	},
	watch:{
		'startTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
		'endTime':{
			 handler:function(o) {
				if(!o) {
					this.list.splice(0,1)
				}
			 },
			 deep: true,
			 immediate: true
		},
	},
	methods: {
		// 级联查询医院
		// cascadingFindHosptail: function(type, areaCode, hospitalCode) {
		// 	var vm = this
		// 	var data = {
		// 		findType: type ? type : 1, // findType 1查地区  2查三级医院  3社区医院  4 分组【对照组、康复组】
		// 		areaCode: areaCode || '',
		// 		hosptialCode: hospitalCode || '',
		// 	}
		// 	var jsonStr = JSON.stringify(data)
		// 	statisticAPI.cascadingFindHosptail({
		// 		jsonStr
		// 	}).then(res => {
		// 		if(res.status == 200) {
		// 			console.log(res);
		// 			if(vm.findType == 1) {
		// 				res.data.forEach(v => {
		// 					v.checked = false
		// 				})
		// 				this.regionData = [{areaCode:'', areaName:'全市', checked: true}].concat(res.data)
		// 			}else if(vm.findType == 2) {
		// 				this.tertiaryHospitalsData = [{areaCode:'', areaName:'', hospitalCode: '', hospitalName: '全部'}].concat(res.data)
		// 			}else if(vm.findType == 3) {
		// 				this.communityHospitalsData = [{areaCode:'', areaName:'', hospitalCode: '', hospitalName: '全部'}].concat(res.data)
		// 			}
		// 			else if (vm.findType == 4) {
		// 				var data = _.map(res.data, function(v) {
		// 					var temp = {}
		// 					for(var k in v) {
		// 						temp.code = k
		// 						temp.label = v[k]
		// 					}
		// 					return temp
		// 				})
		// 				console.log(data, 'fenzu');
		// 				this.groupingData =  [{label:'全部',id:'1',type:'4'}].concat(data)
		// 			}
		// 		}
		// 	}).catch(function(err){
		// 		console.log(err);
		// 	})
		// },
		// // 获取全部三级医院
		// threeHospital: function() {
		// 	var vm = this
		// 	var data = {
		// 		findType: 2, // findType 1查地区  2查三级医院  3社区医院  4 分组【对照组、康复组】
		// 		areaCode:  '',
		// 		hosptialCode: '',
		// 	}
		// 	var jsonStr = JSON.stringify(data)
		// 	statisticAPI.cascadingFindHosptail({
		// 		jsonStr
		// 	}).then(res => {
		// 		if(res.status == 200) {
		// 			// this.tertiaryHospitalsData = [{areaCode:'', areaName:'', hospitalCode: '', hospitalName: '全部'}].concat(res.data)
		// 			this.tertiaryHospitalsData = res.data
		// 		}
		// 	})
		// },
		// // 获取全部社区医院
		// communityHospital: function() {
		// 	var vm = this
		// 	var data = {
		// 		findType: 3, // findType 1查地区  2查三级医院  3社区医院  4 分组【对照组、康复组】
		// 		areaCode:  '',
		// 		hosptialCode: '',
		// 	}
		// 	var jsonStr = JSON.stringify(data)
		// 	statisticAPI.cascadingFindHosptail({
		// 		jsonStr
		// 	}).then(res => {
		// 		if(res.status == 200) {
		// 			// this.communityHospitalsData = [{areaCode:'', areaName:'', hospitalCode: '', hospitalName: '全部'}].concat(res.data)
		// 			this.communityHospitalsData = res.data
		// 		}
		// 	})
		// },
		// // 获取分组
		// group: function() {
		// 	var vm = this
		// 	var data = {
		// 		findType: 4, // findType 1查地区  2查三级医院  3社区医院  4 分组【对照组、康复组】
		// 		areaCode:  '',
		// 		hosptialCode: '',
		// 	}
		// 	var jsonStr = JSON.stringify(data)
		// 	statisticAPI.cascadingFindHosptail({
		// 		jsonStr
		// 	}).then(res => {
		// 		if(res.status == 200) {
		// 			var data = _.map(res.data, function(v) {
		// 				var temp = {}
		// 				for(var k in v) {
		// 					temp.code = k
		// 					temp.label = v[k]
		// 				}
		// 				return temp
		// 			})
		// 			console.log(data, 'fenzu');
		// 			// this.groupingData =  [{label:'全部',id:'1',type:'4'}].concat(data)
		// 			this.groupingData = data
		// 		}
		// 	})
		// },
		// 查询数据接口 1默认时间,和 三级医院
		findHospitalEntryCount: function(code, hospitalCode, communityHospitalCode,groupingCode) {
			var vm = this
			vm.loadingTwo = true
			var data = {
				startTime:this.startTime.format('yyyy-MM-dd'),
				endTime:this.endTime.format('yyyy-MM-dd'),
				areaCode: code || '', // 地区code
				hosptialCode: hospitalCode || '', // 医院code
				communityHospitalCode: communityHospitalCode || '', // 社区医院code
				groupState: groupingCode || '', // 3 康复组 4 对照组
				copdState: 5
			}
			var jsonStr = JSON.stringify(data)
			statisticAPI.findHospitalEntryCount({
				jsonStr
			}).then(res => {
				if(res.status == 200) {
					console.log(res);
					vm.loadingTwo = false
					vm.mzfWorksheetData = res.data
					vm.datatotal = res.total
				}
			}).catch(function(err){
				console.log(err);
			})
		},
		// 开始时间
		startTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = o.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
		},
		// 结束时间
		endTimeChange:function(o) {
			if(!this.list[0] || this.list[0].type!=0) {
				this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ o.format('yyyy-MM-dd')
			}
		},
		// 删除所选的条件
		deleteClick:function(item) {
			// 如果id==time 删除时间选择
			if(item.id == "time") {
				this.startTime = ''
				this.endTime = ''
				this.list.splice(0,1)
			}
			// 找对应当前点击的index 进行移除
			var index = this.list.findIndex(function(v){
				return item.id == v.id
			})
			this.list.splice(index,1)
		},
		// 下一页  上一页
		handleCurrentChange:function(val) {
			var vm = this
			vm.currentPage = val
		},
		// // 选择地区
		// change:function(val) {
		//  	console.log(val, '选择的数据');
		// 	 var code = [] // 地区code
		// 		val.forEach(v => {
		// 			v.type = 1
		// 			v.label = v.areaName
		// 			code.push(v.areaCode)
		// 		})
		// 		this.findType = 2
		// 		this.cascadingFindHosptail(this.findType, code.join(',') , '',)
		// 		this.list = Array.from(new Set(this.list.concat(val)))
		// },
		// // 选择三级医院
		// changeHospital(val) {
		// 	var hospitalCode = [] // 三级医院code
		// 	val.forEach(v => {
		// 		v.type = 2
		// 		v.label = v.hospitalName
		// 		hospitalCode.push(v.hospitalCode) 
		// 	})
		// 	this.findType = 3
		// 	this.cascadingFindHosptail(this.findType, '', hospitalCode.join(','))
		// 	this.list = Array.from(new Set(this.list.concat(val)))
		// },
		// // 选择社区
		// changeCommunityHospitals(val) {
		// 	console.log(val)
		// 	var communityHospitalCode = []
		// 	val.forEach(v => {
		// 		v.type = 3
		// 		v.label = v.hospitalName
		// 		communityHospitalCode.push(v.hospitalCode)
		// 	})
		// 	this.findType = 4
		// 	this.cascadingFindHosptail(this.findType, '', '')
		// 	this.list = Array.from(new Set(this.list.concat(val)))
		// },
		// // 分组
		// changeGroup(val) {
		// 	val.forEach(v => {
		// 		v.type = 4
		// 	})
		// 	this.list = Array.from(new Set(this.list.concat(val)))
		// },
		// // 管理状态
		// changeStatus(val) {
		// 	console.log(val);
		// 	this.list = Array.from(new Set(this.list.concat(val)))
		// },
		// 确定
		confirm:function() {
			// // 地区
			// var regionCode = []
			// this.regionList.forEach(v => {
			// 	regionCode.push(v.areaCode)
			// })
			// // 三级医院
			// var threeHospitaCode = []
			// this.threeHospitalList.forEach(v => {
			// 	threeHospitaCode.push(v.hospitalCode)
			// })
			// // 社区医院
			// var communityHospitalCode = []
			// this.communityHospitalsList.forEach(v => {
			// 	communityHospitalCode.push(v.hospitalCode)
			// })
			// var groupingCode = []
			// this.groupingList.forEach(v => {
			// 	groupingCode.push(v.code)
			// })
			// this.findHospitalEntryCount(regionCode.join(','), threeHospitaCode.join(','), communityHospitalCode.join(','), groupingCode.join(','))
			
			this.findHospitalEntryCount()
		},
		// 取消
		cancel:function() {
			this.startTime = oneWeekBeforeDate
			this.endTime = new Date()
			if(!this.list[0] || this.list[0].type!=0) {
			 this.list.unshift({type:'0',id:'time',label:this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')})
			}else{
				this.list[0].label = this.startTime.format('yyyy-MM-dd') +"~"+ this.endTime.format('yyyy-MM-dd')
			}
			// this.list = []
			// this.regionList = []
			// this.threeHospitalList = []
			// this.communityHospitalsList = []
			// this.groupingList = []
			// this.administrationStatusList = []
			// this.list.unshift({type:'0',id:'time',label:this.s +"~"+ this.e},{type:'2', id:'1', label:'全部'})
			// this.findHospitalEntryCount()
		},
		// 导出
		exportHandle:function() {
			// // 地区
			// var regionCode = []
			// // 三级医院
			// var threeHospitaCode = []
			// // 社区医院
			// var communityHospitalCode = []
			// // 分组
			// var groupingCode = []
			// this.list.forEach(v => {
			// 	regionCode.push(v.areaCode)
			// 	threeHospitaCode.push(v.hospitalCode)
			// 	communityHospitalCode.push(v.hospitalCode)
			// 	groupingCode.push(v.code)
			// })
			var vm = this
			vm.loadingTwo = true
			var data = {
				startTime: vm.startTime.format('yyyy-MM-dd'),
				endTime: vm.endTime.format('yyyy-MM-dd'),
				areaCode: '', // 地区code
				hosptialCode: '', // 医院code
				communityHospitalCode: '', // 社区医院code
				groupState: '', // 3 康复组 4 对照组
			}
			var jsonStr = JSON.stringify(data)
			statisticAPI.exportHospitalEntryCount({
				jsonStr
			},'v1\入组情况报表.xls').then(function(res){
				vm.loadingTwo = false
			})
		},
		
		
	}
})