Explorar o código

明细查询-复诊明细页面开发

lincl hai 1 ano
pai
achega
02ade42f65

+ 8 - 1
api/statistics-api.js

@ -162,6 +162,10 @@
		getDoctorReservationList: function(data){
		    return httpRequest.get("statisticsExport/getDoctorReservationList", {data: data});
		},
		// 专病复诊明细列表
		getXxzxMedicalHistoryList: function(data){
		    return httpRequest.get("statisticsExport/getXxzxMedicalHistoryList", {data: data});
		},
		// 微信绑定列表
		getWexinBindingList: function(data){
		    return httpRequest.get("statisticsExport/getWexinBindingList", {data: data});
@ -326,7 +330,10 @@
		exportHospitalEntryCount: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportHospitalEntryCount", filename, data);
		},
		// 	专病复诊明细表导出
		exportXxzxMedicalHistoryList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportXxzxMedicalHistoryList", filename, data);
		},
		 
    }

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

@ -62,7 +62,7 @@
						<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&& handleNodeId != 47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52' >
						<template v-if='handleNodeId != 46&& handleNodeId != 47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52&&handleNodeId!=53' >
							<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>
@ -430,7 +430,7 @@
						
		        		<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">
							<template v-if="handleNodeId!=44&&handleNodeId!=46&&handleNodeId != 47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52&&handleNodeId!=53">
								<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>
@ -453,7 +453,7 @@
									<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&&handleNodeId != 47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52">
							<template v-if="handleNodeId!=46&&handleNodeId != 47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52&&handleNodeId!=53">
								<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>
@ -655,6 +655,7 @@
										<el-table-column  prop="name" label="患者姓名" align="center"></el-table-column>
										<el-table-column  prop="age" label="年龄" align="center"></el-table-column>
										<el-table-column  prop="sex" label="性别" align="center"></el-table-column>
										<el-table-column  prop="signHospitalName" label="社区医院" align="center"></el-table-column>
										<el-table-column  prop="signDoctorName" label="签约医生" align="center"></el-table-column>
										<el-table-column  prop="mobile" label="患者手机号码" align="center"></el-table-column>
										<el-table-column  prop="reservationHospitalName" label="预约医院" align="center"></el-table-column>
@ -760,6 +761,7 @@
								<mzf-sfjd v-if="handleNodeId==50"></mzf-sfjd>
								<mzf-sfzmx v-if="handleNodeId==51"></mzf-sfzmx> -->
								<mzf-v1rzreport v-if="handleNodeId==52"></mzf-v1rzreport>
								<zbfz-detail v-if="handleNodeId==53"></zbfz-detail>
							</div>
							<div v-if="handleNodeShow == 3">
								<el-table v-if="collectCode == 1" border :data="diseaseReport" style="width: 100%" v-loading="loadingTwo" class="mt20" >
@ -801,7 +803,7 @@
							</div>
							<template v-if="handleNodeId!=46&&handleNodeId!=47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52">
							<template v-if="handleNodeId!=46&&handleNodeId!=47&&handleNodeId!=48&&handleNodeId!=49&&handleNodeId!=50&&handleNodeId!=51&&handleNodeId!=52&&handleNodeId!=53">
								<div class="c-t-right mt20">
									<el-pagination 
									  @current-change="handleCurrentChange"
@ -858,7 +860,7 @@
    <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>
    <script src="../js/zbfzDetail.js" type="text/javascript" charset="utf-8"></script>
</body>
</html>

+ 58 - 0
app/statistics/html/zbfzDetail.html

@ -0,0 +1,58 @@
    <div id="main" class="">
       <div class="ui-col-1 bgc-fff" style="min-width: 900px;">
		   <div class="searchDiv">
				<span class="c-f14">查询时间:</span> 
				<el-date-picker
				  v-model="startTime"
				  type="date"
				  placeholder="选择日期"
				  :clearable="false"
				  :picker-options="setDisabled">
				</el-date-picker> ~
				<el-date-picker
				  v-model="endTime"
				  type="date"
				  placeholder="选择日期"
				  :clearable="false"
				  :picker-options="setDisabled">
				</el-date-picker>
		   </div>
		   <div class="searchDiv mt5">
			   <el-form  :model="form" class="flex handleNodeId-40">
					<el-form-item label="患者姓名:" class="">
						<el-input v-model="form.patientName"  placeholder="请输入患者姓名查询"></el-input>
					</el-form-item>
					<el-form-item label="签约医生:" class=" formLeft">
						<el-input v-model="form.doctorName"  placeholder="请输入签约医生姓名查询"></el-input>
					</el-form-item>
					<div class="dept-select formLeft" style="width: 300px;line-height: 38px;">
						<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="eliminateClick">清除筛选条件</el-button>
					</div>
			   </el-form>
		   </div>
		   
			<el-table  border :data="mzfWorksheetData" style="width: 100%" v-loading="loadingTwo" class="mt20" >
				<template >
					<el-table-column  type="index" label="序号" align="center" width="50"></el-table-column>
					<el-table-column  prop="patientName" label="患者姓名" align="center"></el-table-column>
					<el-table-column  prop="age" label="年龄" align="center"></el-table-column>
					<el-table-column  prop="sex" label="性别" align="center"></el-table-column>
					<el-table-column  prop="hospitalName" label="社区医院" align="center"></el-table-column>
					<el-table-column  prop="doctorName" label="签约医生" align="center"></el-table-column>
					<el-table-column  prop="visitTime" 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>

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

@ -61,6 +61,7 @@ new Vue({
			  {label: '长处方分析', id:'38'},
			  {label: '体征数据分析', id:'39'},
			  {label: '上转预约明细', id:'40'},
			  {label: '专病复诊明细', id:'53'},
			  {label: '微信绑定明细', id:'41'},
			  {label: '居民积分明细', id:'42'},
			  {label: '入户访视明细', id:'43'},

+ 174 - 0
app/statistics/js/zbfzDetail.js

@ -0,0 +1,174 @@
var template = ''
$.ajax('../html/zbfzDetail.html',{
	data: {},
	dataType: 'html',
	cache: false,
	timeout: 60000, 
	async: false,
	error: function(res) {
	},
	success: function(res) {
		template = res
	}
})
Vue.component('zbfz-detail', {
	props: [],
	template: template,
	data: function() {
		return {
			form: {
				patientName: '',
				doctorName: ''
			},
			mzfWorksheetData:[],
			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: function(time) {
					return time.getTime() > Date.now()
				}
			},
			s:'',
			e:'',
		}
	},
	created: function(){
		let setDate = (new Date()).getTime();
		let one = 30 * 24 * 3600 * 1000;  //一个月
		let oneMonths = setDate - one;
		this.startTime = new Date(oneMonths)
		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(page) {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.getXxzxMedicalHistoryList({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd'),
				name: vm.form.patientName,
				doctorName: vm.form.doctorName,
				page: page,
				pageSize: '10'
			}).then(function(res){
				if(res.status == 200) {
					vm.loadingTwo = false
					vm.mzfWorksheetData = res.detailModelList
					vm.datatotal = res.totalCount
				}
			}).catch(function(err){
				vm.loadingTwo = false
			})
		},
		startTimeChange:function(o) {
			console.log(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
			this.hospitalWorkStatistics(val)
		},
		change:function(val) {
			this.list = this.list.concat(val)
		},
		// 确定
		confirm:function() {
			this.hospitalWorkStatistics()
		},
		// 清除
		eliminateClick:function() {
			this.form.patientName = ''
			this.form.doctorName = ''
		},
		// 导出
		exportHandle:function() {
			var vm = this
			vm.loadingTwo = true
			statisticAPI.exportXxzxMedicalHistoryList({
				startDate:this.startTime.format('yyyy-MM-dd'),
				endDate:this.endTime.format('yyyy-MM-dd'),
				name: vm.form.patientName,
				doctorName: vm.form.doctorName,
			},'专病复诊明细表.xls').then(function(res){
				vm.loadingTwo = false
			})
		},
		
	}
})