Browse Source

疾病筛查下拉框

chenyue 6 years ago
parent
commit
31d98d92b6
4 changed files with 318 additions and 192 deletions
  1. 34 1
      app/jbsc/css/statistics.css
  2. 46 20
      app/jbsc/html/statistics.html
  3. BIN
      app/jbsc/images/jiantou_xia_icon.png
  4. 238 171
      app/jbsc/js/statistics.js

+ 34 - 1
app/jbsc/css/statistics.css

@ -84,7 +84,7 @@ select.form-control{
    border-radius: 5px;
}
#sc_table{}
#sc_table tr:hover{
#sc_table tr td:nth-child(2):hover{
	color:#12B7F5;
	cursor: pointer;
}
@ -109,3 +109,36 @@ select.form-control{
	text-overflow:ellipsis;
	white-space: nowrap;
}
.dataCell {
    height: 24px;
    line-height: 24px;
    float: left;
    margin-right:10px;
}
.w160{
	width:160px;
}
.c-vam {
    vertical-align: middle;
}
.inline {
    display: inline-block!important;
    vertical-align: middle;
}
button.dropdown-toggle{
	width: 35px;
}
button.dropdown-toggle .caret,
button.dropdown-toggle:hover .caret {
	background: url(../images/jiantou_xia_icon.png) no-repeat;
    width: 11px;
    height: 11px;
    background-size: 100%;
    border: 0;
}
.form-control{
	height: 28px;
	background-color: #FFFFFF !important;
	
}

+ 46 - 20
app/jbsc/html/statistics.html

@ -143,7 +143,31 @@
							<a href="javascript:;" :class="{curr:isDanger==''}" @click="gettable('')"><span>所有记录</span></a>
						</div>
						<div class="tabs-bd mt20">
							<select class="form-control w-160 fl" v-model="type">
							<div class="dataCell form-group">
								<div class="w160 inline c-vam">
									<div class="input-group">
										<input id="Type" placeholder="请选择筛查类型" type="text" class="form-control bgc-fff" name="Type" readonly="readonly">
										<div class="input-group-btn">
											<button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span></button>
											<ul class="dropdown-menu dropdown-menu-right">
											</ul>
										</div>
									</div>
								</div>
							</div>
							<div class="dataCell form-group">
								<div class="w160 inline c-vam">
									<div class="input-group">
										<input id="Status" placeholder="请选择管理情况" type="text" class="form-control" name="Status" readonly="readonly">
										<div class="input-group-btn">
											<button type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span></button>
											<ul class="dropdown-menu dropdown-menu-right">
											</ul>
										</div>
									</div>
								</div>
							</div>
							<!--<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>
@ -155,8 +179,8 @@
								<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="请输入居民姓名" v-model="name" />
							</select>-->
							<input class="form-control w-220 fl" style="height: 28px;border-radius: 3px;" placeholder="请输入居民姓名" v-model="name" />
							<span class="btn bgc-12B7F5 fl ml20" @click="search(1)">查询</span>
						</div>
					</div>
@ -170,7 +194,7 @@
						<thead>
							<tr>
								<th>姓名</th>
								<th>类型</th>
								<th>筛查类型</th>
								<th>评分</th>
								<th>评估</th>
								<th>时间</th>
@ -178,28 +202,28 @@
							</tr>
						</thead>
						<tbody>
							<tr v-if="!wujilu" v-for="(data, index) in tablelist" @click="view(data)">
							<tr v-if="!wujilu" v-for="(data, index) in tablelist">
								<td style="width:80px">{{data.patientName}}</td>
								<td>{{data.templateTitle}}</td>
								<td @click="view(data)">{{data.templateTitle}}</td>
								<td class="c-FF9630" style="width:50px">{{data.screenResultScore}}分</td>
								<td>{{data.screenResult}}</td>
								<td style="width:155px;">{{data.czrq}}</td>
								<td style="width:200px;">
									<div v-if="data.isAgain==1">
									<div v-if="data.isOrder==1" class="c-12B7F5">
										已预约
									</div>
									<div v-else-if="data.following==0 && data.isOrder==0">
										<span class="btn bgc-FF9630 fl ml10" @click.stop="jkgz(data.id)">健康跟踪</span>
										<span class="btn bgc-12B7F5 fl ml10" @click.stop="zhuanzhen">转诊</span>
									</div>
									<div v-else-if="data.following==1">
										<span class="btn bgc-2DBE55 fl ml10" @click.stop="jkjy(data)">健康教育</span>
										<span class="btn bgc-12B7F5 fl ml10" @click.stop="shaicha(data,1)">再次筛查</span>
									</div>
									<div v-else-if="data.isOrder==2" class="c-12B7F5">
										已接诊
									</div>
										<div v-if="data.isOrder==1" class="c-12B7F5">
											已预约
										</div>
										<div v-else-if="data.following==0 && data.isOrder==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 class="btn bgc-2DBE55 fl ml10" @click="jkjy(data)">健康教育</span>
											<span class="btn bgc-12B7F5 fl ml10" @click="shaicha(data,1)">再次筛查</span>
										</div>
										<div v-else-if="data.isOrder==2" class="c-12B7F5">
											已接诊
										</div>
									</div>
								</td>
							</tr>
@ -220,6 +244,8 @@
		<script src="../../../plugins/layer/layer.min.js"></script>
		<script src="../../../js/util.js"></script>
		<script src="../../../api/http-request.js"></script>
		<script src="../../../js/underscore.js"></script>
    	<script src="../../../plugins/suggest/bootstrap-suggest.min.js"></script>
		<script src="../../../component/common/pagination.js"></script>
		<script src="../../../api/jbsc-api.js"></script>
		<script src="../js/statistics.js"></script>

BIN
app/jbsc/images/jiantou_xia_icon.png


+ 238 - 171
app/jbsc/js/statistics.js

@ -1,191 +1,258 @@
function showSuccessMessage(msg) {
    layer.msg(msg,{icon:1})
	layer.msg(msg, {
		icon: 1
	})
}
function showErrorMessage(msg) {
   	layer.msg(msg,{icon:5})
	layer.msg(msg, {
		icon: 5
	})
}
function showWarningMessage(msg) {
    layer.msg(msg,{icon:2})
	layer.msg(msg, {
		icon: 2
	})
}
function showInfoMessage(msg) {
    layer.msg(msg,{icon:6})
	layer.msg(msg, {
		icon: 6
	})
}
new Vue({
  el: '#app',
  data: {
  	modal:"",
  	type:"",
  	status:"",
  	name:"",
  	isDanger:"1",
  	pagesize:10,
  	total:"",
  	pagetotal:'',//总页数
  	currentPage:1,//当前页数
    tablelist:[],
    types:[],
    Statics:{},
    wujilu:false,
  },
  mounted(){
  	var vm=this
  	vm.getModal()
  	vm.getDatas()
  	vm.gettypes()
  },
  methods:{ 
  	//获取筛查数据模型
  	getModal:function(){
  		var vm=this
  		jbscAPI.screenStatics().then(function(res){
			if(res.status==200){ 				
				vm.Statics=res.data;
			}else{
				showErrorMessage(res.msg);
	el: '#app',
	data: {
		modal: "",
		type: "",
		status: "",
		name: "",
		isDanger: "1",
		pagesize: 10,
		total: "",
		pagetotal: '', //总页数
		currentPage: 1, //当前页数
		tablelist: [],
		types: [],
		Statics: {},
		wujilu: false,
	},
	mounted() {
		var vm = this
		vm.getModal()
		vm.getDatas()
		vm.gettypes()
	},
	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
			}
		})
  	},
  	//获取数据
  	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
			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);
				}
			})
		},
		createShareInterfaceTypeSelect: function(el, search) {
		},
		gettypes: function() {
			var vm = this
			var search = true
			$("#Status").bsSuggest({
				data: {
					value: [{
							code: "",
							name: "全部"
						},
						{
							code: "1",
							name: "已预约"
						},
						{
							code: "2",
							name: "已跟踪"
						},
						{
							code: "3",
							name: "已接诊"
						},
						{
							code: "4",
							name: "待处理"
						}						
					]
				},
				getDataMethod: "data",
				effectiveFields: ["name"],
				idField: "code",
				keyField: "name"
			});
			jbscAPI.getSpecialDisease().then(function(res) {
				if(res.status == 200) {
					var data = {}
					data.value = _.map(res.data, function(v) {
						return {
							code: v.code,
							name: v.name
						}
					})
					if(search) {
						data.value = [{
							code: "",
							name: "全部"
						}].concat(data.value)
					}
					$("#Type").bsSuggest({
						data: data,
						getDataMethod: "data",
						effectiveFields: ["name"],
						idField: "code",
						keyField: "name"
					});
					vm.types = res.data;
				} else {
					showErrorMessage(res.msg);
				}
			}else{
				showErrorMessage(res.msg);
			})
		},
		gettable: function(type) {
			var vm = this
			vm.isDanger = type
			vm.search(1)
		},
		//页面跳转
		search: function(page) {
			var vm = this
			vm.type = $("#Type").attr("data-id");
			vm.status = $("#Status").attr("data-id");
			console.log(vm.type +"   "+vm.status );
			vm.currentPage = page
			vm.getDatas()
		},
		//转诊
		zhuanzhen: function() {
			showInfoMessage("PC上暂不支持,请打开手机端疑似高危记录进行转诊预约!")
		},
		//健康教育
		jkjy: function(data) {
			var receiver = {
				"code": data.patientCode,
				name: data.patientName
			}
		})
  	},
  	gettypes:function(){
  		var vm=this
  		jbscAPI.getSpecialDisease().then(function(res){
			if(res.status==200){ 				
				vm.types=res.data;
			}else{
				showErrorMessage(res.msg);
			sessionStorage.setItem("jbsc-jkwzreceiver", JSON.stringify(receiver))
			layer.open({
				type: 2,
				//				  offset: ['100px'], //右下角弹出
				area: ['820px', '648px'],
				shade: 0.5,
				title: '健康教育',
				fixed: true, //不固定
				maxmin: true,
				closeBtn: 1,
				shift: 5,
				shadeClose: false, //点击遮罩关闭层
				content: "../../../../health-education/login.html?origin=jbsc"
			});
			//		location.href="../../../../health-education/login.html?origin=jbsc"
		},
		view: function(data) {
			layer.open({
				type: 2,
				//				  offset: ['100px'], //右下角弹出
				area: ['568px', '100%'],
				shade: 0.5,
				title: '查看筛选结果',
				fixed: true, //不固定
				maxmin: true,
				closeBtn: 1,
				shift: 5,
				shadeClose: false, //点击遮罩关闭层
				content: 'view_screening_results.html?isView=true&resultCode=' + data.code
			});
		},
		//筛查
		shaicha: function(data, isNew) {
			var vm = this
			if(isNew) {
				//再次筛查数+1
				vm.Statics.againCount++
					var vm = this
				layer.open({
					type: 2,
					area: ['820px', '648px'],
					shade: 0.5,
					id: "questionnaire",
					title: '筛选统计',
					fixed: true, //不固定
					maxmin: true,
					closeBtn: 1,
					shift: 5,
					shadeClose: false, //点击遮罩关闭层
					content: 'questionnaire.html?fliter_code=' + data.templateCode + '&fliter_title=' + data.templateTitle + '&resident_code=' + data.patientCode + '&resident_name=' + data.patientName
				});
				return;
			}
		})
  	},
  	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))
  		layer.open({
		  type: 2,
//				  offset: ['100px'], //右下角弹出
		  area: ['1000px', '100%'],
		  shade: 0.5,
		  title: '健康教育',
		  fixed: true, //不固定
		  maxmin: true,
		  closeBtn:1,
		  shift: 5,
		  shadeClose: false, //点击遮罩关闭层
		  content: "../../../../health-education/login.html?origin=jbsc"
		});
//		location.href="../../../../health-education/login.html?origin=jbsc"
  	},
  	view:function(data){
  		layer.open({
		  type: 2,
//				  offset: ['100px'], //右下角弹出
		  area: ['568px', '100%'],
		  shade: 0.5,
		  title: '查看筛选结果',
		  fixed: true, //不固定
		  maxmin: true,
		  closeBtn:1,
		  shift: 5,
		  shadeClose: false, //点击遮罩关闭层
		  content: 'view_screening_results.html?isView=true&resultCode='+data.code
		});
  	},
  	//筛查
  	shaicha:function(data,isNew){
  		var vm=this
  		if(isNew){
  			//再次筛查数+1
  			vm.Statics.againCount++
			var vm=this
    		layer.open({
			  type: 2,
			  area: ['820px', '648px'],
			  shade: 0.5,
			  id:"questionnaire",
			  title: '筛选统计',
			  fixed: true, //不固定
			  maxmin: true,
			  closeBtn:1,
			  shift: 5,
			  shadeClose: false, //点击遮罩关闭层
			  content: 'questionnaire.html?fliter_code='+data.templateCode+'&fliter_title='+data.templateTitle+'&resident_code='+data.patientCode+'&resident_name='+data.patientName
			layer.open({
				type: 2,
				offset: 'rb', //右下角弹出
				id: "filter_type",
				area: ['280px', '100%'],
				shade: 0.5,
				title: false,
				fixed: true, //不固定
				maxmin: false,
				closeBtn: 0,
				shift: 5,
				shadeClose: true, //点击遮罩关闭层
				content: 'filter_type.html'
			});
		},
		//健康跟踪
		jkgz: function(data) {
			var vm = this
			//跳转到筛查结果页面
			layer.open({
				type: 2,
				area: ['500px', '550px'],
				shade: 0.5,
				title: '家医建议',
				fixed: true, //不固定
				maxmin: false,
				closeBtn: 1,
				shift: 5,
				shadeClose: false, //点击遮罩关闭层
				content: 'advice.html?resultCode=' + data.code + '&filter_code=' + data.templateCode
			});
  			return ;
  		}
		layer.open({
		  type: 2,
		  offset: 'rb', //右下角弹出
		  id:"filter_type",
		  area: ['280px', '100%'],
		  shade: 0.5,
		  title: false,
		  fixed: true, //不固定
		  maxmin: false,
		  closeBtn:0,
		  shift: 5,
		  shadeClose: true, //点击遮罩关闭层
		  content: 'filter_type.html'
		});
  	},
  	//健康跟踪
  	jkgz:function(data){
  		var vm=this
  		//跳转到筛查结果页面
		layer.open({
		  type: 2,
		  area: ['500px', '550px'],
		  shade: 0.5,
		  title: '家医建议',
		  fixed: true, //不固定
		  maxmin: false,
		  closeBtn:1,
		  shift: 5,
		  shadeClose: false, //点击遮罩关闭层
		  content: 'advice.html?resultCode='+data.code+'&filter_code='+data.templateCode
		});
		}
	}
  }
})