Browse Source

厦门i健康/V1.7.2.8需求

chenyubai 2 years ago
parent
commit
4162a8cef0

+ 16 - 2
api/statistics-api.js

@ -186,6 +186,14 @@
		getDoorServerOrderReport: function(data){
		    return httpRequest.get("statisticsExport/getDoorServerOrderReport", {data: data});
		},
		// 居民积分明细
		patinetIntegralAnalysis: function(data){
		    return httpRequest.get("statisticsExport/patinetIntegralAnalysis", {data: data});
		},
		// 入户访视明细
		findPatientFollowListByCondition: function(data){
		    return httpRequest.get("statisticsExport/findPatientFollowListByCondition", {data: data});
		},
		
		
		
@ -253,8 +261,14 @@
		exportDoorServerOrderReport: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportDoorServerOrderReport", filename, data);
		},
		
		
		// 居民积分明细导出
		exPatinetIntegralAnalysis: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exPatinetIntegralAnalysis", filename, data);
		},
		// 入户访视明细导出
		exfindPatientFollowListByCondition: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exfindPatientFollowListByCondition", filename, data);
		},
		
        
    }

+ 64 - 0
app/statistics/html/comprehensive-query.html

@ -153,6 +153,14 @@
										</el-form-item>
									</el-form>
								</div>
								<div class="mt10  flex line1" >
									<div >签约年限:</div>
									<el-radio-group v-model="radio10">
										<el-radio :label="1">一年</el-radio>
										<el-radio :label="2">两年</el-radio>
										<el-radio :label="3">三年</el-radio>
									</el-radio-group>
								</div>
							</div>
							<div v-if="handleNodeId==35" class="searchDiv">
								<div class="mt10 flex line1" >
@ -333,6 +341,30 @@
									
								</div>
							</div>
							<div v-if="handleNodeId==42" class="searchDiv">
								<div  style="height: 35px;" class="mt5">
									<el-form  :model="form7" class="flex">
										<el-form-item label="居民姓名:" class="flex">
											<el-input v-model="form9.resident"  placeholder="请输入患者姓名查询"></el-input>
										</el-form-item>
										<el-form-item label="签约医生:" class="flex formLeft">
											<el-input v-model="form9.doctorTwo"  placeholder="请输入签约医生姓名查询"></el-input>
										</el-form-item>
									</el-form>
								</div>
							</div>
							<div v-if="handleNodeId==43" class="searchDiv">
								<div  style="height: 35px;" class="mt5">
									<el-form  :model="form7" class="flex">
										<el-form-item label="居民姓名:" class="flex">
											<el-input v-model="form10.resident"  placeholder="请输入患者姓名查询"></el-input>
										</el-form-item>
										<el-form-item label="医生姓名:" class="flex formLeft">
											<el-input v-model="form10.doctorTwo"  placeholder="请输入服务医生姓名查询"></el-input>
										</el-form-item>
									</el-form>
								</div>
							</div>
						</template>
						
						
@ -433,6 +465,7 @@
									<el-table-column  prop="healthDocorName" label="健管师" align="center" v-if="handleNodeId==34 || handleNodeId==35"></el-table-column>
									<template v-if="handleNodeId==34">
										<el-table-column  prop="replyTime" label="签约时间" align="center"></el-table-column>
										<el-table-column  prop="signYearAge" label="签约年限" align="center"></el-table-column>
										<el-table-column  prop="serverTypeName" label="人群" align="center"></el-table-column>
										<el-table-column  prop="isUpdateStr" label="改签" align="center"></el-table-column>
										<el-table-column  prop="isAddStr" label="续签" align="center"></el-table-column>
@ -520,6 +553,37 @@
										<el-table-column  prop="bindingState" label="是否关注" align="center"></el-table-column>
									</template>
								</el-table>
								<el-table v-if="handleNodeId==42" border :data="jifenData" style="width: 100%" v-loading="loadingTwo" class="mt20" >
									<template >
										<el-table-column  type="index" label="序号" align="center"></el-table-column>
										<el-table-column  prop="hospitalName" label="社区名称" align="center"></el-table-column>
										<el-table-column  prop="name" label="居民" align="center"></el-table-column>
										<el-table-column  prop="ssc" label="医保卡" align="center"></el-table-column>
										<el-table-column  prop="idcard" label="身份证" align="center"></el-table-column>
										<el-table-column  prop="mobile" label="手机号" align="center"></el-table-column>
										<el-table-column  prop="address" label="地址" align="center"></el-table-column>
										<el-table-column  prop="sign_doctor_name" label="签约医生" align="center"></el-table-column>
										<el-table-column  prop="total" label="累计积分" align="center"></el-table-column>
										<el-table-column  prop="useJf" label="已使用积分" align="center"></el-table-column>
										<el-table-column  prop="surJf" label="未使用积分" align="center"></el-table-column>
									</template>
								</el-table>
								<el-table v-if="handleNodeId==43" border :data="ruhuData" style="width: 100%" v-loading="loadingTwo" class="mt20" >
									<template >
										<el-table-column  type="index" label="序号" align="center"></el-table-column>
										<el-table-column  prop="patient_name" label="姓名" align="center"></el-table-column>
										<el-table-column  prop="mobile" label="电话" align="center"></el-table-column>
										<el-table-column  prop="idcard" label="身份证号码" align="center"></el-table-column>
										<el-table-column  prop="doctor_name" label="服务医生" align="center"></el-table-column>
										<el-table-column  prop="org_name" label="服务机构" align="center"></el-table-column>
										<el-table-column  prop="create_time" label="签到时间" align="center"></el-table-column>
										<el-table-column  prop="img" label="签到图片" align="center">
											<template slot-scope="scope">
												<img :src="getImgurl(scope.row.img)" style="height: 40px;width: 40px;">
											</template>
										</el-table-column>
									</template>
								</el-table>
							</div>
							<div v-if="handleNodeShow == 3">
								<el-table v-if="collectCode == 1" border :data="diseaseReport" style="width: 100%" v-loading="loadingTwo" class="mt20" >

+ 181 - 73
app/statistics/js/comprehensive-query.js

@ -59,6 +59,8 @@ new Vue({
			  {label: '体征数据分析', id:'39'},
			  {label: '上转预约明细', id:'40'},
			  {label: '微信绑定明细', id:'41'},
			  {label: '居民积分明细', id:'42'},
			  {label: '入户访视明细', id:'43'},
			]
		}],
		handleNodeShow:1,
@ -72,6 +74,7 @@ new Vue({
		radio7:'',
		radio8:'',
		radio9:'',
		radio10:'',
		cities:[{value:'高血压',num:'4'}, 
				{value:'糖尿病',num:'5'},
				{value:'65岁以上人群',num:'3'},
@ -158,6 +161,14 @@ new Vue({
			doctorTwo:'',
			administrativeOffice:'',
		},
		form9:{
			resident:'',
			doctorTwo:'',
		},
		form10:{
			resident:'',
			doctorTwo:'',
		},
		getHealthData:[],
		form8:{
			renew:'',
@ -166,6 +177,8 @@ new Vue({
		wexinBindingData:[],
		hospitalData:[],
		administrativeOffice:[],
		jifenData:[],
		ruhuData:[],
		collect:[
			{
				id: "kfxzrs,kfxzrc,szrs,szrc",
@ -246,6 +259,9 @@ new Vue({
		}
	},
	methods: {
		getImgurl: function(url){
			return httpRequest.getImgUrl(url)
		},
		reset:function() {
			if(this.tabsId == 1) {
				this.getTreeList()
@ -296,6 +312,7 @@ new Vue({
			this.radio7 = ''
			this.radio8 = ''
			this.radio9 = ''
			this.radio10 = ''
			this.form = {
				endorseTheTicket:'',
				renew:'',
@ -332,6 +349,14 @@ new Vue({
				doctorTwo:'',
				administrativeOffice:'',
			}
			this.form9 = {
				resident:'',
				doctorTwo:'',
			},
			this.form10 = {
				resident:'',
				doctorTwo:'',
			},
			this.form8 = {
				renew : ''
			}
@ -461,6 +486,8 @@ new Vue({
			vm.radio6 = ''
			vm.radio7 = ''
			vm.radio8 = ''
			vm.radio9 = ''
			vm.radio10 = ''
			vm.checkedCities = [] //签约人群清空
			vm.specialCheckedCities = [] //下转病种清空
			vm.serveSpecialCities = [] //服务类型清空
@ -489,6 +516,28 @@ new Vue({
				family:'',
				resident:'',
			},
			this.form6 = {
				resident:'',
				doctor:'',
			}
			this.form7 = {
				resident:'',
				doctorOne:'',
				hospital:'',
				doctorTwo:'',
				administrativeOffice:'',
			}
			this.form9 = {
				resident:'',
				doctorTwo:'',
			},
			this.form10 = {
				resident:'',
				doctorTwo:'',
			},
			this.form8 = {
				renew : ''
			}
			initTime(vm)      //时间初始化
			initScope(vm)    //数据范围初始化
			vm.currentPage = 1
@ -499,35 +548,7 @@ new Vue({
		analysFunction:function(id) {
			var vm = this
			// idcard =  idcard.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2")    身份证 医保卡 脱敏显示
			
			if(id == 33) {
				// 咨询分析
				vm.getConsultList()
			}else if(id == 34) {
				// 签约分析
				vm.getSignList()
			}else if(id == 35) {
				// 专病分析
				vm.getSickList()
			}else if(id == 36) {
				// 生日祝福分析
				vm.getBirthdayPatientList()
			}else if(id == 37) {
				// 上门服务分析
				vm.getDoorServiceList()
			}else if(id == 38) {
				// 长处方分析
				vm.getPrescriptionList()
			}else if(id == 39) {
				// 体征数据
				vm.physicalSignData()
			}else if(id == 40) {
				// 上转预约
				vm.upTransferAppointment()
			}else if(id == 41) {
				// 微信绑定
				vm.wechatBinding()
			}
			vm.detailFunction(id)
		},
		// 下转预约获取医生,科室
		getReservationHosAndDept:function(data) {
@ -615,6 +636,7 @@ new Vue({
				area :vm.areaCode=='350200'?'':vm.areaCode,   //地区
				hospital :vm.communityCode, //社区
				rang :vm.rangeCode,      //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) 
				signYearAge:vm.radio10, // 签约年限
				pageSize:vm.currentSize,
				page:vm.currentPage,
			}).then(function(res){
@ -904,6 +926,81 @@ new Vue({
				}
			})
		},
		// 居民积分明细传参
		residentIntegralParameter:function() {
			var vm = this
			var parameter = {
				signYear:vm.radio=='1'?vm.chooseYear:'',     //签约年度
				team:vm.teamCode,     //团队
				area:vm.areaCode=='350200'?'':vm.areaCode,   //地区
				hospital :vm.specHosName?vm.specHosName:vm.communityCode, //专病医院
				range:vm.rangeCode,      //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) 
				startDate:vm.radio=='2'?vm.searchJsonTime.start:'',   //开始时间
				endDate:vm.radio=='2'?vm.searchJsonTime.end:'',    //结束时间
				pageSize:vm.currentSize,
				page:vm.currentPage,
				patientName:vm.form9.resident || '',
				doctorName:vm.form9.doctorTwo || '',
			}
			return parameter
		},
		// 居民积分明细
		residentIntegral:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.patinetIntegralAnalysis(vm.residentIntegralParameter()).then(function(res){
				if(res.status == 200) {
					vm.loadingTwo = false
					res.data.list.forEach(function(item){
						item.ssc = item.ssc.replace(/^(.{4})(?:\d+)(.{1})$/,"$1****$2")
						// item.idcard = item.idcard.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2")
					})
					vm.jifenData = res.data.list
					vm.datatotal = res.data.total
				}else{
					vm.loadingTwo = false
					vm.$message.error(res.msg)
				}
			})
		},
		// 入户访视明细传参
		interviewParameter:function() {
			var vm = this
			var parameter = {
				// signYear:'2020',     //签约年度
				signYear:vm.radio=='1'?vm.chooseYear:'',     //签约年度
				team:vm.teamCode,     //团队
				area:vm.areaCode=='350200'?'':vm.areaCode,   //地区
				hospital :vm.specHosName?vm.specHosName:vm.communityCode, //专病医院
				range:vm.rangeCode,      //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) 
				startDate:vm.radio=='2'?vm.searchJsonTime.start:'',   //开始时间
				endDate:vm.radio=='2'?vm.searchJsonTime.end:'',    //结束时间
				pageSize:vm.currentSize,
				page:vm.currentPage,
				patientName:vm.form10.resident || '',
				doctorName:vm.form10.doctorTwo || '',
			}
			return parameter
		},
		interview:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.findPatientFollowListByCondition(vm.interviewParameter()).then(function(res){
				if(res.status == 200) {
					vm.loadingTwo = false
					vm.ruhuData = res.data.list
					vm.datatotal = res.data.total
				}else{
					vm.loadingTwo = false
					vm.$message.error(res.msg)
				}
			})
		},
		
		
		
		
		
		//专病汇总传参
		getSpecialParameter:function() {
			var vm = this
@ -1131,33 +1228,6 @@ new Vue({
					}
					vm.getStatisticDataList()
				}
			}else if(vm.handleNodeId == 33) {
				// 咨询分析
				vm.getConsultList()
			}else if(vm.handleNodeId == 34) {
				// 签约分析
				vm.getSignList()
			}else if(vm.handleNodeId == 35) {
				// 专病分析
				vm.getSickList()
			}else if(vm.handleNodeId == 36) {
				// 生日祝福分析
				vm.getBirthdayPatientList()
			}else if(vm.handleNodeId == 37) {
				// 上门服务分析
				vm.getDoorServiceList()
			}else if(vm.handleNodeId == 38) {
				// 长处方分析
				vm.getPrescriptionList()
			}else if(vm.handleNodeId == 39) {
				// 体征数据
				vm.physicalSignData()
			}else if(vm.handleNodeId == 40) {
				// 上转预约
				vm.upTransferAppointment()
			}else if(vm.handleNodeId == 41) {
				// 微信绑定
				vm.wechatBinding()
			}else if(vm.collectCode == 1) {
				// 专病汇总
				vm.getSpecialDiseaseReport()
@ -1167,6 +1237,8 @@ new Vue({
			}else if(vm.collectCode == 3) {
				// 上门服务汇总
				vm.getDoorServerOrderReport()
			}else{
				vm.detailFunction(vm.handleNodeId)
			}
		},
		getStatisticDataList:function(){
@ -1246,9 +1318,6 @@ new Vue({
						team: vm.teamCode,
					},vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
						// var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
						// FileSaver.saveAs(blob, "hello world.txt");
						// FileSaver()
					})
					.catch(function(err){
						toastr.info(err)
@ -1278,6 +1347,7 @@ new Vue({
						hospital: vm.communityCode,
						rang:vm.rangeCode,
						team: vm.teamCode,
						signYearAge:vm.radio10,
					},vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
					})
@ -1438,6 +1508,32 @@ new Vue({
					 
				}else{vm.fullscreenLoading = false}
				
			}else if(vm.handleNodeId == 42) {
				// 居民积分明细导出
				if(vm.jifenData.length!=0) {
					statisticAPI.exPatinetIntegralAnalysis(vm.residentIntegralParameter(),vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
					})
					.catch(function(err){
						toastr.info(err)
						vm.fullscreenLoading = false
						console.error(err)
					})
					 
				}else{vm.fullscreenLoading = false}
			}else if(vm.handleNodeId == 43) {
				// 入户访视导出
				if(vm.ruhuData.length!=0) {
					statisticAPI.exfindPatientFollowListByCondition(vm.interviewParameter(),vm.derive+".xls").then(function(res){
						vm.fullscreenLoading = false
					})
					.catch(function(err){
						toastr.info(err)
						vm.fullscreenLoading = false
						console.error(err)
					})
					 
				}else{vm.fullscreenLoading = false}
			}else if(vm.collectCode == 1) {
				// 专病汇总
				if(vm.diseaseReport.length!=0) {
@ -1496,39 +1592,51 @@ new Vue({
			});
			$("#main").removeClass("c-hide");
		},
		// 下一页  上一页
      	handleCurrentChange:function(val) {
		detailFunction:function(id) {
			var vm = this
      		vm.currentPage = val
			if(vm.handleNodeId == 0) {
				vm.getStatisticDataList()
			}else if(vm.handleNodeId == 33) {
			if(id == 33) {
				// 咨询分析
				vm.getConsultList()
			}else if(vm.handleNodeId == 34) {
			}else if(id == 34) {
				// 签约分析
				vm.getSignList()
			}else if(vm.handleNodeId == 35) {
			}else if(id == 35) {
				// 专病分析
				vm.getSickList()
			}else if(vm.handleNodeId == 36) {
			}else if(id == 36) {
				// 生日祝福分析
				vm.getBirthdayPatientList()
			}else if(vm.handleNodeId == 37) {
			}else if(id == 37) {
				// 上门服务分析
				vm.getDoorServiceList()
			}else if(vm.handleNodeId == 38) {
			}else if(id == 38) {
				// 长处方分析
				vm.getPrescriptionList()
			}else if(vm.handleNodeId == 39) {
			}else if(id == 39) {
				// 体征数据
				vm.physicalSignData()
			}else if(vm.handleNodeId == 40) {
			}else if(id == 40) {
				// 上转预约
				vm.upTransferAppointment()
			}else if(vm.handleNodeId == 41) {
			}else if(id == 41) {
				// 微信绑定
				vm.wechatBinding()
			}else if(id == 42) {
				// 居民积分明细
				vm.residentIntegral()
			}else if(id == 43) {
				// 入户访视
				vm.interview()
			}
		},
		// 下一页  上一页
      	handleCurrentChange:function(val) {
			var vm = this
      		vm.currentPage = val
			if(vm.handleNodeId == 0) {
				vm.getStatisticDataList()
			}else{
				vm.detailFunction(vm.handleNodeId)
			}
      	},
      	//获取省市区  type:区3