Parcourir la source

疾病筛查统计

chenyue il y a 6 ans
Parent
commit
d27c0476f9

+ 2 - 2
app/home/html/menu.html

@ -41,13 +41,13 @@
                    </a>                    
                </div>
                <div class="col-xs-6" :class="{'active': selectedTab==2, 'disabled': disableTabs.indexOf(2)>-1}">
                    <a href="" target="view_frame">
                    <a href="../../../../health-education/index.html" target="view_frame">
                        <img :src="selectedTab==2?'../../../images/jiankangjiaoyu02_icon.png':'../../../images/jiankangjiaoyu_icon.png'">
                        <div class="mt10 c-f16">健康教育</div>
                    </a>
                </div>
                <div class="col-xs-6" :class="{'active': selectedTab == 3, 'disabled': disableTabs.indexOf(3)>-1}">
                    <a href="../../record/html/census.html" target="view_frame" @click="chooseTab(3)">
                    <a href="../../followup/html/followup_tabs.html" target="view_frame" @click="chooseTab(3)">
                        <img :src="selectedTab==3?'../../../images/suifangjihua02_icon.png':'../../../images/suifangjihua_icon.png'">
                        <div class="mt10 c-f16">随访计划</div>
                    </a>

+ 24 - 0
app/jbsc/css/statistics.css

@ -96,3 +96,27 @@ select.form-control{
    color: #909090;
    font-weight: normal;
}
.div-item{
	color:#333333;
	font-size: 16px;
	text-align: center;
	position: relative;
	padding: 5px 10px;
}
.div-item:first-child:after {
	content: ' ';
	display: block;
	width: 1px;
	height: 26px;
	background: #12B7F5;
	position: absolute;
	top: 0;
	right: 0;
}
.canclick{
	line-height: 29px;
	color:#12B7F5;
	font-size: 14px;
	cursor: pointer;
}

+ 62 - 53
app/jbsc/html/statistics.html

@ -22,8 +22,8 @@
			<div class="re-title no-select">
				<div class="name">筛查统计</div>
			</div>
			<!--筛查数据模型-->
			<div  class="p20">
			<div class="p20">
				<!--筛查数据模型-->
				<div id="sc_datamodel">
					<div class="c-f16">筛查数据模型</div>
					<div class="div-table c-border-b pb25" style="margin-top: -17px;">
@ -38,7 +38,7 @@
											使用筛查表
										</div>
										<div class="c-12B7F5 lheight-40">
											<span class="c-f16">1000</span>个
											<span class="c-f16">{{Statics.useTemplateCount}}</span>个
										</div>
									</div>
								</div>
@ -50,10 +50,10 @@
									</div>
									<div class="w3-rest data-model c-f12">
										<div class="c-909090 c-border-b lheight-20">
											使用筛查表
											下发问卷
										</div>
										<div class="c-12B7F5 lheight-40">
											<span class="c-f16">1000</span>个
											<span class="c-f16">{{Statics.grantCount}}</span>个
										</div>
									</div>
								</div>
@ -65,10 +65,10 @@
									</div>
									<div class="w3-rest data-model c-f12">
										<div class="c-909090 c-border-b lheight-20">
											使用筛查表
											筛查记录
										</div>
										<div class="c-12B7F5 lheight-40">
											<span class="c-f16">1000</span>个
											<span class="c-f16">{{Statics.overCount}}</span>个
										</div>
									</div>
								</div>
@ -81,16 +81,16 @@
									</div>
									<div class="w3-rest data-model c-f12">
										<div class="c-909090 c-border-b lheight-20">
											使用筛查表
											疑似高危
										</div>
										<div class="c-12B7F5 lheight-40">
											<span class="c-f16">1000</span>个
											<span class="c-f16">{{Statics.dangetCount}}</span>个
										</div>
										<div class="c-909090 c-border-tb lheight-20">
											使用筛查表
											健康跟踪
										</div>
										<div class="c-12B7F5 lheight-40">
											<span class="c-f16">1000</span>个
											<span class="c-f16">{{Statics.followCount}}</span>个
										</div>
									</div>
								</div>
@ -102,10 +102,10 @@
									</div>
									<div class="w3-rest data-model c-f12">
										<div class="c-909090 c-border-b lheight-20">
											使用筛查表
											预约转诊
										</div>
										<div class="c-12B7F5 lheight-40">
											<span class="c-f16">1000</span>个
											<span class="c-f16">{{Statics.orderCount}}</span>个
										</div>
									</div>
								</div>
@ -115,44 +115,45 @@
									</div>
									<div class="w3-rest data-model c-f12">
										<div class="c-909090 c-border-b lheight-20">
											使用筛查表
											再次筛查
										</div>
										<div class="c-12B7F5 lheight-40">
											<span class="c-f16">1000</span>个
											<span class="c-f16">{{Statics.againCount}}</span>个
										</div>
										<div class="c-909090 c-border-tb lheight-20">
											使用筛查表
											健康教育
										</div>
										<div class="c-12B7F5 lheight-40">
											<span class="c-f16">1000</span>个
											<span class="c-f16">{{Statics.eduCount}}</span>个
										</div>
									</div>
								</div>
							</div>
							<div class="table-cell" style="width:80px;">
								<span class="btn bgc-12B7F5">人工筛查</span>
								<span class="btn bgc-12B7F5" @click="shaicha()">人工筛查</span>
							</div>
						</div>
					</div>
				</div>
				<!--疑似高危记录表-搜索-->
				<div id="sc_searchbar" class="pt20">
					<div class="c-f16">疑似高危记录表</div>
					<div><span class="div-item" :class="{canclick:isDanger==''}" @click="gettable('1')">疑似高危记录表</span><span class="div-item" :class="{canclick:isDanger=='1'}"  @click="gettable('')">所有记录</span></div>
					<div class="mt20 clearfix">
						<select class="form-control w-160 fl">
							<option value="">请选择筛查类型</option>
							<option value="3">全部</option>
							<option value="1">冠心病高危人群筛查</option>
							<option value="2" class=" w-160">冠心病患者PCI术后30天随访</option>
						<select class="form-control w-160 fl" v-model="type">
							<option value="" disabled>请选择筛查类型</option>
							<option value="">全部</option>
							<option :value="data.code" v-for="(data, index) in types">{{data.name}}</option>
						</select>
						<select class="form-control w-160 fl ml20">
							<option value="" >请选择管理情况</option>
							<option value="1">已预约转诊</option>
							<option value="3">已转诊</option>
							<option value="2">健康跟踪</option>
						<select class="form-control w-160 fl ml20" v-model="status">
							<option value="" disabled>请选择管理情况</option>
							<option value="">全部</option>
							<option value="1">已预约</option>
							<option value="2">已跟踪</option>
							<option value="3">已接诊</option>
							<option value="4">待处理</option>
						</select>
						<input  class="form-control w-220 fl ml20" style="height: 28px;" placeholder="请输入居民姓名"/>
						<span class="btn bgc-12B7F5 fl ml20">查询</span>
						<input class="form-control w-220 fl ml20" style="height: 28px;" placeholder="请输入居民姓名" v-model="name" />
						<span class="btn bgc-12B7F5 fl ml20" @click="search(1)">查询</span>
					</div>
				</div>
				<!--疑似高危记录表-表格-->
@ -168,33 +169,40 @@
								<th style="width:200px;">管理情况</th>
							</tr>
						</thead>
						<tbody> 
							<tr v-for="(data, index) in tablelist">
								<td>{{data.name}}</td>
								<td>{{data.type}}</td>
								<td class="c-FF9630">{{data.score}}</td>
								<td>{{data.assess}}</td>
								<td>{{data.time}}</td>
						<tbody>
							<tr v-if="!wujilu" v-for="(data, index) in tablelist">
								<td>{{data.patientName}}</td>
								<td>{{data.templateTitle}}</td>
								<td class="c-FF9630">{{data.screenResultScore}}</td>
								<td>{{data.screenResult}}</td>
								<td>{{data.czrq}}</td>
								<td style="width:200px;">
									<div v-if="data.dtype==1" class="c-12B7F5">
										已预约
									</div>
									<div v-else-if="data.dtype==2">
										<span class="btn bgc-FF9630 fl ml10">健康跟踪</span>
										<span class="btn bgc-12B7F5 fl ml10">立刻预约</span>
									</div>
									<div v-else-if="data.dtype==3">										
										<span class="btn bgc-2DBE55 fl ml10">健康教育</span>
										<span class="btn bgc-12B7F5 fl ml10">再次筛查</span>
									</div>
									<div v-else-if="data.dtype==4" class="c-12B7F5">
										已接诊
									</div>									
									<!--<div v-if="data.isAgain==1">-->
										<div v-if="data.order==1" class="c-12B7F5">
											已预约
										</div>
										<div v-else-if="data.following==0 && data.order==0">
											<span class="btn bgc-FF9630 fl ml10" @click="jkgz(data.id)">健康跟踪</span>
											<span class="btn bgc-12B7F5 fl ml10" @click="zhuanzhen">转诊</span>
										</div>
										<div v-else-if="data.following==1">
											<span v-if="data.isEducate==1" class="btn bgc-2DBE55 fl ml10" @click="jkjy(data)">健康教育</span>
											<span v-if="data.isAgain==1" class="btn bgc-12B7F5 fl ml10" @click="shaicha(1)">再次筛查</span>
										</div>
										<div v-else-if="data.order==2" class="c-12B7F5">
											已接诊
										</div>
									<!--</div>-->
								</td>
							</tr>
							<tr v-if="wujilu">
								<td colspan="6">
									无记录
								</td>
							</tr>
						</tbody>
					</table>
					<navigation :pages="total" :current="currentPage" @navpage="ListGo"></navigation>
					<navigation :pages="pagetotal" :current="currentPage" @navpage="search" :total="total" :size="pagesize"></navigation>
				</div>
			</div>
@ -206,6 +214,7 @@
		<script src="../../../js/util.js"></script>
		<script src="../../../api/http-request.js"></script>
		<script src="../../../component/common/pagination.js"></script>
		<script src="../../../api/cjbsc-api.js"></script>
		<script src="../js/statistics.js"></script>
	</body>

+ 107 - 38
app/jbsc/js/statistics.js

@ -15,48 +15,117 @@ function showWarningMessage(msg) {
    toastr.warning(msg)
}
function showInfoMessage(msg) {
    toastr.info(msg)
}
new Vue({
  el: '#app',
  data: {
  	total:'10',//总页数
  	modal:"",
  	type:"",
  	status:"",
  	name:"",
  	isDanger:"1",
  	pagesize:10,
  	total:"",
  	pagetotal:'',//总页数
  	currentPage:1,//当前页数
    tablelist:[{
    	id:"001",
    	name:"姓名1",
    	type:"冠心病高危人群筛查",
    	score:"85分",
    	assess:"患冠心病危险性极大",
    	time:"2018/06/24",
    	dtype:"1"
    },{
    	id:"001",
    	name:"姓名2",
    	type:"冠心病患者PCI术后30天随访",
    	score:"85分",
    	assess:"患冠心病危险性极大",
    	time:"2018/06/24",
    	dtype:"2"
    },{
    	id:"001",
    	name:"姓名姓名",
    	type:"冠心病高危人群筛查",
    	score:"85分",
    	assess:"患冠心病危险性极大",
    	time:"2018/06/24",
    	dtype:"3"
    },{
    	id:"001",
    	name:"姓名4",
    	type:"冠心病高危人群筛查",
    	score:"85分",
    	assess:"患冠心病危险性极大",
    	time:"2018/06/24",
    	dtype:"4"
    }]
    tablelist:[],
    types:[],
    Statics:{},
    wujilu:false,
  },
  mounted(){
  	var vm=this
  	vm.getModal()
  	vm.getDatas()
  	vm.gettypes()
  },
  methods:{
  	ListGo:function(page){
  		alert(page)
  	}
  methods:{ 
  	//获取筛查数据模型
  	getModal:function(){
  		var vm=this
  		jbscAPI.screenStatics().then(function(res){
			if(res.status==200){ 				
				vm.Statics=res.data;
			}else{
				showErrorMessage(res.msg);
			}
		})
  	},
  	//获取数据
  	getDatas:function(){
  		var vm=this
  		var params={
  			diseaseType: vm.type, //疾病类型
			dealType: vm.status, //处理方式(全部为空 1已预约 2已跟踪 3已接诊4待处理)
			patientName: vm.name, //搜索居民的姓名
			isDanger:vm.isDanger,  //是否高危预警(0否 1是)
			pageNo: vm.currentPage,
			pageSize: vm.pagesize
  		}  
  		jbscAPI.getResultList(params).then(function(res){
			if(res.status==200){
				vm.wujilu=false
				vm.total=res.data.num
				vm.pagetotal= Math.ceil(res.data.num/vm.pagesize) 
				vm.tablelist=res.data.data;
				if(vm.tablelist.length==0){
					vm.wujilu=true
				}
			}else{
				showErrorMessage(res.msg);
			}
		})
  	},
  	gettypes:function(){
  		var vm=this
  		jbscAPI.getSpecialDisease().then(function(res){
			if(res.status==200){ 				
				vm.types=res.data;
			}else{
				showErrorMessage(res.msg);
			}
		})
  	},
  	gettable:function(type){
  		var vm=this
  		vm.isDanger=type
  		vm.search(1)
  	},
	//页面跳转
  	search:function(page){
  		var vm=this
  		vm.currentPage=page
  		vm.getDatas()
  	},
  	//转诊
  	zhuanzhen:function(){
  		showInfoMessage("PC上暂不支持,请打开手机端疑似高危记录进行转诊预约!")
  	},
  	//健康教育
  	jkjy:function(data){
  		var receiver={"code":data.patientCode,name:data.patientName}
  		sessionStorage.setItem("jbsc-jkwzreceiver",JSON.stringify(receiver))
  		location.href="../../../../health-education/index.html?origin=jbsc"
  	},
  	//筛查
  	shaicha:function(isNew){
  		var vm=this
  		if(isNew){
  			//再次筛查数+1
  			vm.Statics.againCount++
  			showInfoMessage("再次筛查数+1")
  		}
		//跳转到筛查流程页面
		showInfoMessage("开始筛查")
  	},
  	//健康跟踪
  	jkgz:function(id){
  		var vm=this
  		//跳转到筛查结果页面
		showInfoMessage(id+"筛查结果")
  	},
  }
})

+ 9 - 0
component/common/pagination.js

@ -7,6 +7,7 @@
var pageComponent = Vue.extend({
    template: '<nav v-if="pages>0" aria-label="Page navigation" class="text-center">\
        <ul class="pagination">\
        	<li class="fl" style="line-height:30px;"><div v-if="total" class="c-909090 pr10 fl">共{{total}}条记录</div><div  v-if="total" class="c-333333 pr10 fl">每页{{size}}条</div></li>\
            <li :class="{\'disabled\':curPage==1}">\
                <a href="javascript:;" @click="goPage(curPage==1?1:curPage-1)" aria-label="Previous">\
                    <span aria-hidden="true">&laquo;</span>\
@ -31,6 +32,14 @@ var pageComponent = Vue.extend({
        current: {
            type: Number,
            default: 1
        },
        total: {
            type: Number,
            default: false
        },
        size: {
            type: Number,
            default: false
        }
    },
    data(){