Browse Source

厦心疾病筛查需求

chenyubai 10 months ago
parent
commit
f2f4d7483f

+ 8 - 1
api/jbsc-api.js

@ -121,7 +121,14 @@
    },
    getOrgDeptList: function (data) {
      return httpRequest.post('/doctor/guahao/GetOrgDepListToMysql', { data: data })
    }
    },
	listMedical: function (data) {
	  return httpRequest.post('/doctor/health_record/list_medical', { data: data })
	},
	findMedicalDetail: function(data) {
		return httpRequest.post("doctor/health_record/medical_detail", { data: data })
	},
	
  }
  exports.jbscAPI = jbscAPI

+ 3 - 1
app/jbsc/appointment/appoint-hospital.js

@ -37,7 +37,9 @@ Vue.component('appoint-hospital', {
        '&patient=' +
        patient +
        '&callCode=' +
        callCode
        callCode+
        '&surveyCode=' +
        surveyCode
      if (backToSynergy) {
        content += '&backToSynergy=1'
      }

+ 0 - 5
app/jbsc/appointment/visitor-info.js

@ -17,11 +17,6 @@ Vue.component('visitor-info', {
					<span class="fc-999 mr40 w100">手机号码</span>\
					<input class="bd1 ti1" v-model="param.patientPhone" placeholder="输入手机号码" />\
				</li>\
				<li class="h34">\
					<span class="fc-999 mr40 w100">验证码</span>\
					<input class="bd1 ti1" id="validateCode" maxlength="4" v-model="param.text" value="">\
					<img id="validateDiv" @click="initValidate" :src="imgCode" style="width: 80px; height: 32px; background-size: 90% 32px; vertical-align: middle;"></img>\
				</li>\
			</ul>\
			</div>',
	props: ["param"],

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

@ -72,7 +72,7 @@
}
.btn{
	color:#fff;
	width: 80px;	
	/* min-width: 80px;	 */
	padding: 4px 8px;
	height: 28px;
}

+ 5 - 2
app/jbsc/html/appointment/appoint-commit.html

@ -16,6 +16,8 @@
    <link href="../../../../css/style1.min.css?v=4.1.0" rel="stylesheet" />
	<link rel="stylesheet" type="text/css" href="../../../../css/element-ui.css"/>
	<link rel="stylesheet" type="text/css" href="../../../../css/element-ui.css" />
	<link rel="stylesheet" href="../../../../js/lgyslide/slide.css">
	<script src="../../../../js/lgyslide/mouse-simulator.js"></script>
	    <style>
	    	body {padding-top: 20px;}
	    	.w20 {
@ -68,7 +70,7 @@
					background-color: #f5f5f5;
					overflow-y: scroll;
					padding: 10px;
					bottom: 21px;
					bottom: 54px;
				}
				.item{
					display: flex;
@ -88,6 +90,7 @@
	</head>
	<body>
		<div id="app">
			<div id="imgscode"></div>
			<div  class="pl30 pr30">
				<visit-info :param="param"></visit-info>
				<visitor-info :param="param"></visitor-info>
@ -157,7 +160,7 @@
		</div>
    <script src="../../../../js/vue.js"></script>
	<script src="../../../../js/jquery-2.2.4.js" type="text/javascript" charset="utf-8"></script>
	
	<script src="../../../../js/lgyslide/jquery.lgyslide.js"></script>
	<script src="../../../../js/element-ui.js" type="text/javascript" charset="utf-8"></script>
	<script src="../../../../plugins/layer/layer.min.js"></script>
	<script src="../../../../api/http-request.js"></script>

+ 105 - 59
app/jbsc/html/appointment/appoint-commit.js

@ -2,8 +2,8 @@ var Request = new Object()
Request = GetRequest()
var param = JSON.parse(decodeURIComponent(Request.paramStr)),
  backToSynergy = Request.backToSynergy
param.key = ''
param.text = ''
// param.key = ''
// param.imgCaptcha = ''
$(function () {
	// document.getElementById('referenceInformation').bsSuggest({
	//   data: [{
@ -35,6 +35,48 @@ function closeLayer() {
  var index = top.layer.getFrameIndex(window.name)
  top.layer.close(index)
}
// 获取滑动验证码
function createcode(id, callback,patient) {
	APIService.createPicCaptcha({
		patient: patient
	}).then(function(res){
		if (res.status == 200) {
			var data = res.data
			if (data != null) {
				$("#"+id)
						.imgcode(
								{
									frontimg : 'data:image/png;base64,'
											+ data.slideImage,
									backimg : 'data:image/png;base64,'
											+ data.backImage,
									yHeight : data.y,
									refreshcallback : function() {
										//刷新验证码
										createcode(id, callback);
									},
									callback : function(msg) {
										console.log(msg);
										callback({
											key: data.imageToken,
											imgCaptcha: JSON.stringify([{
												x: msg.xpos,
												y: data.y
											}])
										})
									}
								});
			} else {
				mui.toast(res.msg || "验证码获取失败") 
				// reject()
			}
			
		} else {
			mui.toast("验证码获取失败"); 
			// reject()
		}
	})
}
new Vue({
  el: '#app',
  data: function () {
@ -68,72 +110,76 @@ new Vue({
	  },
  },
  methods: {
	  
	  submitBtn:function() {
		  var vm = this
		  var loadingid = top.layer.load(1, {
		    shade: [0.1, '#fff'] //0.1透明度的白色背景
		  })
		  
		  if (!param.patientPhone) {
		    top.showErrorMessage('请填写病人手机号码')
		    top.layer.close(loadingid)
		    return
		  }
		  if (!param.text) {
		    top.showErrorMessage('请填写验证码')
		    top.layer.close(loadingid)
		    return
		  }
		  var p = JSON.parse(JSON.stringify(param))
		  var user = JSON.parse(sessionStorage.getItem('LoginUser'))
		  p.dcode = user.code
		  p.dname = user.name
		  
		  p.relationCode = ''
		  p.reservationType = $('input:radio:checked').val()
		  p.incidentalMsgType = '11'  //筛查报告11
		  p.incidentalMsg = '筛查报告'    //参考信息
		  p.reservationReason = vm.EDUCATE_CONTENT // 转诊原因
		  var content = []
		  vm.checkList.forEach(function(s){
			  content.push({
				addinfoText:s.czrq+s.templateTitle,
				code:s.code,
				patient:s.patientCode,
				patientName:s.patientName,
			  })
		  })
		  var para = {
		  	type:"11",
		  	content:content,
		  }
		  p.paramJson = encodeURIComponent(encodeURIComponent(JSON.stringify([para])))
		  createcode('imgscode',function(content) {
		  	$('#imgscode').html('')
		  	vm.applyData(content)
		  },param.patient) 
		  
		  var arrangeDate = JSON.parse(p.arrangeDate)
		  arrangeDate.sectionType = 'a'
		  arrangeDate.clazz = 'div-time-enable'
		  p.arrangeDate = JSON.stringify(arrangeDate)
		  // "sectionType":"a","clazz":"div-time-enable"
		  // p.arrangeDate = JSON.stringify(p.arrangeDate)
		  // {"max":"1","startTime":"2020/4/17 8:00:00","used":"0","endTime":"2020/4/17 8:07:00","sectionType":"a","clazz":"div-time-enable"}
		   
		  APIService.createOrderByDoctor(p)
		    .then(function (res) {
		      top.layer.close(loadingid)
		      if (res.status == 200) {
		        top.showSuccessMessage('提交预约挂号成功!')
		        if (backToSynergy) {
		          top.setSynergyData(param)
		        }
		        closeLayer()
		      } else {
		        top.showErrorMessage(res.msg || '预约挂号提交失败!请稍后重试')
	  },
	  applyData:function(imgscodeContent) {
		var vm = this
		var loadingid = top.layer.load(1, {
		  shade: [0.1, '#fff'] //0.1透明度的白色背景
		})
		var p = JSON.parse(JSON.stringify(param))
		var user = JSON.parse(localStorage.getItem('docInfo'))
		p.imgCaptcha = imgscodeContent.imgCaptcha
		p.key = imgscodeContent.key
		p.dcode = user.code
		p.dname = user.name
		p.relationCode = param.surveyCode
		p.reservationType = $('input:radio:checked').val()
		p.incidentalMsgType = '11'  //筛查报告11
		p.incidentalMsg = '筛查报告'    //参考信息
		p.reservationReason = vm.EDUCATE_CONTENT // 转诊原因
		var content = []
		vm.checkList.forEach(function(s){
					  content.push({
						addinfoText:s.czrq+s.templateTitle,
						code:s.code,
						patient:s.patientCode,
						patientName:s.patientName,
					  })
		})
		var para = {
			type:"11",
			content:content,
		}
		p.paramJson = encodeURIComponent(encodeURIComponent(JSON.stringify([para])))
		
		var arrangeDate = JSON.parse(p.arrangeDate)
		arrangeDate.sectionType = 'a'
		arrangeDate.clazz = 'div-time-enable'
		p.arrangeDate = JSON.stringify(arrangeDate)
		// "sectionType":"a","clazz":"div-time-enable"
		// p.arrangeDate = JSON.stringify(p.arrangeDate)
		// {"max":"1","startTime":"2020/4/17 8:00:00","used":"0","endTime":"2020/4/17 8:07:00","sectionType":"a","clazz":"div-time-enable"}
		APIService.createOrderByDoctor(p)
		  .then(function (res) {
		    top.layer.close(loadingid)
		    if (res.status == 200) {
				parent.eventBuss.$emit('guan_results')
				top.showSuccessMessage('提交预约挂号成功!')
		      if (backToSynergy) {
		        top.setSynergyData(param)
		      }
		    })
		    .catch(function (e) {
		      top.layer.close(loadingid)
		      console && console.error(e)
		    })
		      closeLayer()
		    } else {
		      top.showErrorMessage(res.msg || '预约挂号提交失败!请稍后重试')
		    }
		  })
		  .catch(function (e) {
		    top.layer.close(loadingid)
		    console && console.error(e)
		  })
	  },
	  more:function() {
		  this.pageNo++

+ 5 - 3
app/jbsc/html/appointment/appoint-doctor-detail.js

@ -3,6 +3,7 @@ Request = GetRequest()
var hospital = JSON.parse(decodeURIComponent(Request.hospital)),
  patientCode = Request.patient,
  callCode = Request.callCode,
  surveyCode = Request.surveyCode,
  backToSynergy = Request.backToSynergy
var dept = null,
  bookDoctor = null,
@ -185,7 +186,7 @@ new Vue({
          top.layer.close(loadingid)
          if (res.status == 200) {
            vm.doptroon = res.data
            vm.doptroon = vm.data
            // vm.doptroon = vm.data
          } else {
            top.showErrorMessage(res.msg || '预约挂号详情获取失败!')
          }
@ -278,7 +279,8 @@ new Vue({
        dcode: '',
        dname: '',
        patientPhone: patientObj.mobile,
        callCode: callCode || ''
        callCode: callCode || '',
		surveyCode:surveyCode || ''
      }
      var content =
@ -292,7 +294,7 @@ new Vue({
        closeBtn: true,
        area: ['600px', '800px'],
        content: content,
		zIndex:'9'
		// zIndex:'99'
      })
      closeLayer()
    }

+ 1 - 0
app/jbsc/html/appointment/appoint-select.js

@ -2,6 +2,7 @@ var Request = new Object()
Request = GetRequest()
var patient = Request.patient,
  callCode = Request.callCode,
  surveyCode = Request.surveyCode,
  backToSynergy = Request.backToSynergy
$(function () {

+ 2 - 1
app/jbsc/html/filter_type.html

@ -213,6 +213,7 @@
				mounted: function(){
					this.currentType=(httpData['goDenizen'] || 0)
					this.getScreenList();
					this.getDoctorTeam()
				},
				methods: {
					getDataFunction:function() {
@ -473,7 +474,7 @@
						}
					},
					currentType:function(val){
						val &&  this.getDoctorTeam();
						// val &&  this.getDoctorTeam();
					},
					denizenName:function(){
						this.sPage=0

+ 167 - 35
app/jbsc/html/questionnaire.html

@ -64,12 +64,16 @@
										</div>
									</template>
									<template v-else>
										<div class="daan-list" v-if="qst.isThird==3 && (qst.question.thirdKey == 'assessDoctor' || qst.question.thirdKey == 'assessOrgId')">
										<div class="daan-list" v-if="qst.isThird==3 && (qst.question.thirdKey == 'assessDoctor' || qst.question.thirdKey == 'assessOrgId'||(!shaowas&&qst.question.thirdKey == 'bmi'))">
											<textarea class="wenjuan-textarea" disabled rows="2"  v-model="qst.question.content"></textarea>
										</div>
										<div class="daan-list" v-else>
											<textarea class="wenjuan-textarea" @keyup="changeContent(qst.question,qst.question.content)" rows="2" v-model="qst.question.content"></textarea>
										<div class="daan-list" v-else-if="qst.question.thirdKey != 'bmi'">
											<textarea class="wenjuan-textarea" @keyup="changeContent(qst.question,qst.question.content,1)" rows="2"  v-model="qst.question.content"></textarea>
										</div>
										<div class="daan-list" v-if="qst.isThird==3 && (shaowas&&qst.question.thirdKey == 'bmi')">
											<textarea class="wenjuan-textarea" disabled rows="2"  v-model="shaowas"></textarea>
										</div>
										
									</template>
								</div>
							</li>
@ -171,6 +175,7 @@
					ascvdS2:'',
					ascvdS3:'',
					ascvdS4:'',
					shaowas:'',
				},
				mounted: function(){
					this.getHealth();
@ -193,7 +198,7 @@
						
					},
					//计算选中个数,组装成后台接收格式
					selectItem:function(qst,select){
					selectItem:function(qst,select,num){
						var vm = this
						if(vm.ascvdShow) {
							if(select.thirdKey == 'acs' || select.thirdKey == 'myocardialInfarct' || select.thirdKey == 'ischemicStroke' || select.thirdKey == 'seriousMedicalHistory') {
@ -208,6 +213,7 @@
						}
						var options=[];
						var ls = []
						var lsTo = []
						if(select){
							options=[{
								optionCode:select.code,
@ -222,14 +228,19 @@
								for(var i in this.questions) {
									if(this.questions[i].question.thirdKey == 'acs' || this.questions[i].question.thirdKey == 'myocardialInfarct' || this.questions[i].question.thirdKey == 'ischemicStroke' || this.questions[i].question.thirdKey == 'seriousMedicalHistory') {
										var s = this.questions[i].option[1]
										var v = this.questions[i].question
										ls.push({
											optionCode:s.code,
											comment:s.content,
											score:s.score,
											thirdKey:s.thirdKey,
											thirdValue:s.thirdValue
											qstCode:v.code,
											type:v.questionType,
											thirdKey:v.thirdKey,
											options:[{
												optionCode:s.code,
												comment:s.content,
												score:s.score,
												thirdKey:s.thirdKey,
												thirdValue:s.thirdValue
											}],
										})
										this.questions[i].question.content = '0'
									}
								}
								document.getElementById("myInput1").disabled = true;
@ -255,13 +266,56 @@
							if(select.thirdKey == 'ischemicStroke') {vm.ascvdS3 = select.thirdValue}
							if(select.thirdKey == 'seriousMedicalHistory') {vm.ascvdS4 = select.thirdValue}
						}
						if(num && qst.thirdKey == 'weight' || qst.thirdKey == 'height') {
							var weight = ''
							var height = ''
							for(var i in vm.questions){
								if(vm.questions[i].question.thirdKey == "weight") {
									weight = vm.questions[i].question.content
								}
								if(vm.questions[i].question.thirdKey == "height") {
									height = vm.questions[i].question.content
								}
								
							}
							var w = qst.thirdKey == 'weight'?qst.content:weight
							var h = qst.thirdKey == 'height'?qst.content:height / 100
							var s = (w / (h * h)).toFixed(2)
							vm.selectArr.forEach(function(v,i){
								if(v.thirdKey == 'bmi') {
									vm.selectArr.splice(i,1)
								}
							})
							for(var i in vm.questions) {
								if(vm.questions[i].question.thirdKey == "bmi") {
									lsTo.push({
										qstCode:vm.questions[i].question.code,
										type:vm.questions[i].question.questionType,
										content:s,
										thirdKey:vm.questions[i].question.thirdKey,
										options:[]
									})
									vm.shaowas = s
									// if(w && h) {
									// 	vm.shaowas = s
									// }
									// console.log(vm.questions[i].question.content,"0809")
									// vm.questions[i].question.content = ''
									// console.log(vm.questions[i].question.content,"00000---")
								}
							}
						}
						
						data.options=options;
						var oldLen = this.selectArr.length;
						this.selectArr = _.filter(this.selectArr,function(o) {
								return o.qstCode !=data.qstCode;
						}) || [];
						this.selectArr = this.selectArr.concat(lsTo)
						this.selectArr = this.selectArr.concat(ls)
						this.selectArr.push(data);
						
						// console.log(this.selectArr,'this.selectArr')
						var len=this.selectArr.length;
//						var questions=Object.values(this.questions)
                        var questions = _.toArray(this.questions)
@ -306,9 +360,9 @@
							top.layer.close(current); //再执行关闭
						});
					},
					changeContent:function(qst,content){
					changeContent:function(qst,content,num){
						if(!content) return ;
						this.selectItem(qst)
						this.selectItem(qst,'',num)
					},
					getQuestion:function(){
						var vm=this
@ -317,9 +371,12 @@
			    		}
			    		jbscAPI.getAllQuestions(data).then(function(res){
			    			if(res.status==200){
								console.log(res.data,"res.data")
								// console.log(res.data,"res.data")
								for(var i in res.data) {
									if(res.data[i].isThird == 3){
										if(res.data[i].question.thirdKey == 'assessTime') {
											res.data[i].question.content = new Date()
										}
										if(res.data[i].option.length!=0){
											res.data[i].question.thirdKey = res.data[i].option[0].thirdKey
										}
@ -344,6 +401,9 @@
								vm.questions = res.data;
								for(var i in res.data) {
									if(res.data[i].isThird == 3){
										if(res.data[i].question.thirdKey == 'assessTime') {
											vm.changeContent(res.data[i].question,new Date().format('yyyy-MM-dd HH:mm'))
										}
										if(res.data[i].question.thirdKey == 'assessDoctor') {
											vm.changeContent(res.data[i].question,docInfo.name)
										}
@ -367,29 +427,96 @@
					},
					getHealth:function(){
						var vm=this;
						var data={
							patient: vm.screeningResidents
						}
						jbscAPI.getHealth(data).then(function(res){
							if(res.status == 200) {
								vm.tizhongRecord = _.find(res.data,function(o) {
									return o.type =="3";
								}) || {};
								for(var i in vm.questions) {
									if(vm.questions[i].question.thirdKey == "height") {
										vm.questions[i].question.content = vm.tizhongRecord.value2
										vm.changeContent(vm.questions[i].question,vm.tizhongRecord.value2)
									} 
									if(vm.questions[i].question.thirdKey == "weight") {
										vm.questions[i].question.content = vm.tizhongRecord.value1
										vm.changeContent(vm.questions[i].question,vm.tizhongRecord.value1)
									} 
						jbscAPI.listMedical({
							patient: vm.screeningResidents,
							pageIndex: 1,
							pageSize: 1
						}).then(function(v){
							if(v.status == 200) {
								if(v.list[0]) {
									jbscAPI.findMedicalDetail({
										medicalNo: v.list[0].medicalNo
									}).then(function(res){
										if(res.status == 200) {
											var data = res.medical_detail
											for(var i in vm.questions) {
												if(vm.questions[i].question.thirdKey == "height") {
													vm.questions[i].question.content = data.height
													vm.changeContent(vm.questions[i].question,data.height)
												} 
												if(vm.questions[i].question.thirdKey == "weight") {
													vm.questions[i].question.content = data.weight
													vm.changeContent(vm.questions[i].question,data.weight)
												}
												if(vm.questions[i].question.thirdKey == "bmi") {
													if(data.height && data.weight) {
														var w = data.weight
														var h = data.height / 100
														var s = (w / (h * h)).toFixed(2)
														vm.questions[i].question.content = s
														vm.shaowas = s
														vm.changeContent(vm.questions[i].question,s)
													}
												}
												
												if(vm.questions[i].question.thirdKey == "systolicPressure") {
													vm.questions[i].question.content = data.bloodPressureRigthU
													vm.changeContent(vm.questions[i].question,data.bloodPressureRigthU)
												}
												if(vm.questions[i].question.thirdKey == "diastolicPressure") {
													vm.questions[i].question.content = data.bloodPressureRigthD
													vm.changeContent(vm.questions[i].question,data.bloodPressureRigthD)
												}
												
											}
											 
										}
									})
								}else{
									var data={
										patient: vm.screeningResidents
									}
									jbscAPI.getHealth(data).then(function(res){
										if(res.status == 200) {
											vm.tizhongRecord = _.find(res.data,function(o) {
												return o.type =="3";
											}) || {};
											for(var i in vm.questions) {
												if(vm.questions[i].question.thirdKey == "height") {
													vm.questions[i].question.content = vm.tizhongRecord.value2
													vm.changeContent(vm.questions[i].question,vm.tizhongRecord.value2)
												} 
												if(vm.questions[i].question.thirdKey == "weight") {
													vm.questions[i].question.content = vm.tizhongRecord.value1
													vm.changeContent(vm.questions[i].question,vm.tizhongRecord.value1)
												}
												if(vm.questions[i].question.thirdKey == "systolicPressure") {
													vm.questions[i].question.content = res.data.xy.value1
													vm.changeContent(vm.questions[i].question,res.data.xy.value1)
												}
												if(vm.questions[i].question.thirdKey == "diastolicPressure") {
													vm.questions[i].question.content = res.data.xy.value2
													vm.changeContent(vm.questions[i].question,res.data.xy.value2)
												}
												if(vm.questions[i].question.thirdKey == "bmi") {
													if(vm.tizhongRecord.value2 && vm.tizhongRecord.value1) {
														var w = vm.tizhongRecord.value1
														var h = vm.tizhongRecord.value2 / 100
														var s = (w / (h * h)).toFixed(2)
														vm.questions[i].question.content = s
														vm.shaowas = s
														vm.changeContent(vm.questions[i].question,s)
													}
												}
											}
										} else {
											top.layer.msg(res.msg, {icon: 5});
										}
										
									})
								}
							} else {
								top.layer.msg(res.msg, {icon: 5});
							}
			    			
					    })
						})
					},
					save:function(){
						var vm=this;
@ -398,6 +525,11 @@
							return ;
						}
						var loadding = top.layer.load(0, {shade: false}); //0代表加载的风格,支持0-2
						vm.selectArr.forEach(function(v){
							if(v.thirdKey == "assessTime") {
								v.content = v.content.format('yyyy-MM-dd HH:mm')
							}
						})
						var data={
							patientCode:vm.screeningResidents,
							labelType:vm.labelType,
@ -486,7 +618,7 @@
				},watch:{
					screeningType:function(){
						$('.daan-list input').attr('checked',false)
					}
					},
				}
			})
		</script>

+ 4 - 4
app/jbsc/html/statistics.html

@ -99,10 +99,10 @@
                  </div>
                </div>
                <div class="border-FAB675 bgc-FAB675">
                  <div class="c-fff c-f16 lheight-24">社区随访</div>
                  <div class="c-fff c-f16 lheight-24">社区管理</div>
                  <div class="c-FF9630 smallbox">
                    <span class="c-f20">{{Statics.followupCount}}</span>
                  </div>
                </div>
              </div>
@ -243,7 +243,7 @@
					  <div v-else-if="data.isOrder==2" class="c-12B7F5">已接诊</div>
					</div>
					<div class="" v-if="docInfo.level==2&&!data.surveyStatus&&data.screenResultScore==-1&&(data.isDanger==1)&&(data.following==0&&data.isOrder==0)">
					  <span class="btn bgc-FF9630 fl ml10" @click="sqsf(data) ">社区随访</span>
					  <span class="btn bgc-FF9630 fl ml10" @click="sqsf(data) ">纳入社区管理</span>
					  <span class="btn bgc-02cfb9 fl ml10" @click="zhuanzhen(data)">转诊</span>
					</div>
					<div v-else-if="data.isDanger==0">
@ -269,7 +269,7 @@
          :size="pagesize"></navigation>
      </div>
      <el-dialog title="提示" :visible.sync="centerDialogVisible" width="40%" center>
        <span>是否纳入本社区随访</span>
        <span>是否确认纳入社区进行管理</span>
        <span slot="footer" class="dialog-footer">
          <el-button @click="centerDialogVisible = false">取 消</el-button>
          <el-button type="primary" @click="centerDialogClick">确 定</el-button>

+ 3 - 3
app/jbsc/html/view_screening_results.html

@ -543,7 +543,7 @@
	  <template v-if="docInfo.level=='2'">
		  <div class="clear-bottom" v-if="!userInfo.survey_status&&userInfo.screen_result_score==-1&&(userInfo.isDanger == 1 || userInfo.is_danger == 1)&&(userInfo.following == 0 && (userInfo.isOrder == 0 || userInfo.is_order == 0))">
			  <div class="btn-group-bottom flex-box">
				  <button class="btn bgc-FF9630" @click="sqsf" >社区随访</button>
				  <button class="btn bgc-FF9630" style="width: 120px;" @click="sqsf" >纳入社区管理</button>
				  <button class="btn bgc-02cfb9" @click="referral">转诊</button>
			  </div>
		  </div>
@ -555,7 +555,7 @@
        </div>
      </div>
      <el-dialog title="提示" :visible.sync="centerDialogVisible" width="65%" center>
        <span>是否纳入本社区随访</span>
        <span>是否确认纳入社区进行管理</span>
        <span slot="footer" class="dialog-footer">
          <el-button @click="centerDialogVisible = false">取 消</el-button>
          <el-button type="primary" @click="centerDialogClick">确 定</el-button>
@ -808,7 +808,7 @@
              closeBtn: 1, // 显示关闭按钮
              area: ['800px', '90%'],
              title: '预约挂号',
              content: '../../jbsc/html/appointment/appoint-select.html?patient=' + patient + '&callCode=' + callCode
              content: '../../jbsc/html/appointment/appoint-select.html?patient=' + patient + '&callCode=' + callCode+'&surveyCode='+vm.resultCode
            })
          },
          reScreening: function () {

+ 6 - 2
app/jbsc/js/api-service.js

@ -14,8 +14,8 @@
		imgUrlDomain = "http://www.xmtyw.cn/"; //正式环境
		serverWlyy = "http://www.xmtyw.cn/wlyy"
	} else {
		 // server = "https://www.xmtyw.cn/wlyytest"//测试
		 server = "http://172.26.0.118:8081/wlyy/";   //ip
		 server = "https://www.xmtyw.cn/wlyytest"//测试
		 // server = "http://172.26.0.118:8081/wlyy/";   //ip
		//  server = "http://192.168.131.243:8180"//培强
//       server = "http://192.168.131.123:8180/wlyy_manager" // 文杰
//       server = "http://192.168.131.144:8180/wlyy_manager" // 冬梅
@ -249,6 +249,10 @@
		regDeptSpeDoctorList: function(data) {
			return httpPost('/doctor/guahao/GetDoctorList', {data: data})
		},
		createPicCaptcha: function(data) {
			return httpGet('/open/captcha/createPicCaptcha', {data: data})
		},
		
		
		// regDeptSpeDoctorList: function(data) {

+ 2 - 1
app/jbsc/js/statistics.js

@ -284,6 +284,7 @@ new Vue({
    },
    //转诊
    zhuanzhen: function (data) {
	console.log(data,"ssss")
      // showInfoMessage('PC上暂不支持,请打开手机端疑似高危记录进行转诊预约!')
      // top.layer.msg('PC上暂不支持,请打开手机端疑似高危记录进行转诊预约', { icon: 5 })
      top.layer.open({
@ -291,7 +292,7 @@ new Vue({
        closeBtn: 1, // 显示关闭按钮
        area: ['800px', '90%'],
        title: '预约挂号',
        content: '../../jbsc/html/appointment/appoint-select.html?patient=' + data.patientCode + '&callCode='
        content: '../../jbsc/html/appointment/appoint-select.html?patient=' + data.patientCode + '&surveyCode='+data.code
      })
    },
    //健康教育

+ 1 - 1
component/guidance/person-new-panel.js

@ -72,7 +72,7 @@ var PersonNewPanel = {
        },
        imgUploaded: function(url) {
        	var vm = this
        	vm.imgs.push(httpRequest.getImgUrl(url))
        	vm.imgs.push(url)
        },
        save: function() {
        	var vm = this

+ 195 - 0
js/lgyslide/jquery.lgyslide.js

@ -0,0 +1,195 @@
/**
 * Created by lgy on 2017/10/21. 图片验证码
 */
(function($) {
	$.fn.imgcode = function(options) {
		// 初始化参数
		var defaults = {
			frontimg : "",
			backimg : "",
			refreshImg : "",
			getsuccess : "",
			getfail : "",
			maskclose : true,
			callback : "", // 回调函数
			refreshcallback : "",
			yHeight : 1
		};
		var opts = $.extend(defaults, options);
		return this
				.each(function() {
					var $this = $(this);// 获取当前对象
					var html = '<div class="code-k-div">'
							+ '<div class="code_bg"></div>'
							+ '<div class="code-con">'
							+ '<div class="code-img">'
							+ '<div class="code-img-con">'
							+ '<div class="code-mask"><img class="code-front-img" src="'
							+ opts.frontimg
							+ '"></div>'
							+ '<img class="code-back-img" src="'
							+ opts.backimg
							+ '"></div>'
							+ '<div class="code-push"><i class="icon-login-bg icon-w-25 icon-push">刷新</i><span class="code-tip"></span></div>'
							+ '</div>' + '<div class="code-btn">'
							+ '<div class="code-btn-img code-btn-m"></div>'
							+ '<span class="code-span">按住滑块,拖动完成上方拼图</span>'
							+ '</div></div></div>';
					$this.html(html);
					$(".code-mask").css("margin-top",opts.yHeight+"px")
					// 定义拖动参数
					var $divMove = $(this).find(".code-btn-img"); // 拖动按钮
					var $divWrap = $(this).find(".code-btn");// 鼠标可拖拽区域
					var mX = 0, mY = 0;// 定义鼠标X轴Y轴
					var dX = 0, dY = 0;// 定义滑动区域左、上位置
					var isDown = false;// mousedown标记
					if (document.attachEvent) {// ie的事件监听,拖拽div时禁止选中内容,firefox与chrome已在css中设置过-moz-user-select:
												// none; -webkit-user-select:
												// none;
						$divMove[0].attachEvent('onselectstart', function() {
							return false;
						});
					}
					// 按钮拖动事件
					$divMove.unbind('mousedown').on({
						mousedown : function(e) {
							// 清除提示信息
							$this.find(".code-tip").html("");
							var event = e || window.event;
							mX = event.pageX;
							dX = $divWrap.offset().left;
							dY = $divWrap.offset().top;
							isDown = true;// 鼠标拖拽启
							$(this).addClass("active");
							// 修改按钮阴影
							$divMove.css({
								"box-shadow" : "0 0 8px #666"
							});
						}
					});
					// 点击背景关闭
					if (opts.maskclose) {
						$this.find(".code_bg").unbind('click').click(
								function() {
									$this.html("");
								})
					}
					// 刷新code码
					$this.find(".icon-push").unbind('click').click(function() {
						opts.refreshcallback();
					});
					// 鼠标点击松手事件
					$divMove.unbind('mouseup')
							.mouseup(
									function(e) {
										console.log(e)
										var lastX = $this.find(".code-mask")
												.offset().left
												- dX - 1;
										isDown = false;// 鼠标拖拽启
										$divMove.removeClass("active");
										// 还原按钮阴影
										$divMove.css({
											"box-shadow" : "0 0 3px #ccc"
										});
										returncode(lastX);
									});
					// 滑动事件
					$divWrap
							.mousemove(function(event) {
								
								var event = event || window.event;
								var x = event.pageX;// 鼠标滑动时的X轴
								if (isDown) {
									if (x > (dX + 20)
											&& x < dX + $(this).width() - 20) {
										$divMove.css({
											"left" : (x - dX - 20) + "px"
										});// div动态位置赋值
										$this.find(".code-mask").css({
											"left" : (x - dX - 20) + "px"
										});
									}
								}
							});
					// 返回坐标系
					function returncode(xpos) {
						opts.callback({
							xpos : xpos
						});
					}
					// 验证数据
					function checkcode(code) {
						var iscur = true;
						// 模拟ajax
						setTimeout(function() {
							if (iscur) {
								checkcoderesult(1, "验证通过");
								$this.find(".code-k-div").remove();
								opts.callback({
									code : 1000,
									msg : "验证通过",
									msgcode : "23dfdf123"
								});
							} else {
								$divMove.addClass("error");
								checkcoderesult(0, "验证不通过");
								opts.callback({
									code : 1001,
									msg : "验证不通过"
								});
								setTimeout(function() {
									$divMove.removeClass("error");
									$this.find(".code-mask").animate({
										"left" : "0px"
									}, 200);
									$divMove.animate({
										"left" : "10px"
									}, 200);
								}, 300);
							}
						}, 500)
					}
					// 刷新图标
					opts.refreshImg = function(data) {
						console.log(data)
						$this.find(".code-img-con .code-front-img").attr("src",
								data.frontImg);
						$this.find(".code-img-con .code-back-img").attr("src",
								data.backGoundImg);
					}
					// 验证成功
					opts.getsuccess = function() {
						checkcoderesult(1, "验证通过");
						setTimeout(function() {
							$this.find(".code-k-div").remove();
						}, 800);
					}
					// 验证失败
					opts.getfail = function(txt) {
						$divMove.addClass("error");
						checkcoderesult(0, txt);
						setTimeout(function() {
							$divMove.removeClass("error");
							$this.find(".code-mask").animate({
								"left" : "0px"
							}, 200);
							$divMove.animate({
								"left" : "10px"
							}, 200);
						}, 400);
					}
					// 验证结果
					function checkcoderesult(i, txt) {
						if (i == 0) {
							$this.find(".code-tip").addClass("code-tip-red");
						} else {
							$this.find(".code-tip").addClass("code-tip-green");
						}
						$this.find(".code-tip").html(txt);
					}
				})
	}
})(jQuery);

+ 52 - 0
js/lgyslide/mouse-simulator.js

@ -0,0 +1,52 @@
;(function() {
	/**
	* 模拟PC端 mouse 事件
	*/
	function touchEventToMouseEvent(event, eventType) {
	
	var te = event.targetTouches[0] || event.changedTouches[0];
	var clientX = te.clientX, clientY = te.clientY, screenX = te.screenX, screenY = te.screenY;
	
	var simEvent = new MouseEvent(eventType, {
		clientX: clientX,
		clientY: clientY,
		screenX: screenX,
		screenY: screenY,
		button: 0,
		buttons: 0,
		bubbles: true
	});
	return simEvent;
	}
	
	/**
	* only trigger touches when the left mousebutton has been pressed
	* @param touchType
	* @returns {Function}
	*/
	function onMouse(touchType) {
	
	return function(ev) {
	if(touchType == "mousemove") {
		// ev.preventDefault()
	}
	var simEvent = touchEventToMouseEvent(ev, touchType);
	if (simEvent != null) {
		ev.target.dispatchEvent(simEvent);
	}
	};
	}
	
	
	/**
	* MouseEmulator initializer
	*/
	function MouseEmulator() {
	
		window.addEventListener('touchstart', onMouse('mousedown'), true);
		window.addEventListener('touchmove', onMouse('mousemove'), true);
		window.addEventListener('touchend', onMouse('mouseup'), true);
	}
	
	MouseEmulator();
})();

+ 106 - 0
js/lgyslide/slide.css

@ -0,0 +1,106 @@
.code_bg{
    position: fixed;
    top:0;
    left: 0;
    right:0;
    bottom:0;
    background-color: rgba(0,0,0,.5);
    z-index: 999;
}
.icon-login-bg{
    background-repeat: no-repeat;
}
.code-con{
    position: absolute;
    top:30%;
    width: 320px;
    left: 50%;
    margin-left: -160px;
    background-color: #fff;
    z-index: 1000;
    -moz-user-select: none;
    -webkit-user-select: none;
}
.code-img{
    margin: 5px 5px;
    padding: 5px 5px;
    background-color: #f5f6f7;
}
.code-img img{
    display: block;
}
.icon-w-25{
    display: inline-block;
    width: 25px;
    height: 25px;
    text-indent: -9999px;
}
.icon-push{
    cursor: pointer;
    background-position: -149px -98px;
}
.code-push{
    height: 25px;
}
.code-btn{
    position: relative;
    height: 30px;
    text-align: center;
    color: #999;
    margin: 10px 10px;
    box-sizing: border-box;
    background-color: #f5f6f7;
    border-radius: 15px;
    border: 1px solid #e1e1e1;
}
.code-btn-m{
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f5f6f7;
    border: 1px solid #e1e1e1;
    z-index: 5;
    top:-8px;
    left: 0;
    box-shadow: 0 0 3px #ccc;
    cursor: pointer;
    background-position: -63px 10px;
}
.code-btn-img{
    /* background-image:url(../img/icon/arrow.png); */
    background-repeat: no-repeat;
}
.code-btn-img.active{
    background-position: -134px 10px;
}
.code-span{
    line-height: 28px;
}
.code-btn-img.error{
    background-position: 8px 10px;
}
.code-img-con{
    position: relative;
}
.code-mask{
    position: absolute;
    top:0;
    left: 0;
    z-index: 10;
}
.code-tip{
    line-height: 30px;
    padding-left: 10px;
    font-size: 12px;
    color: #999;
}
.code-tip-red{
    color: red;
}
.code-tip-green{
    color: green;
}
.code-back-img {
	width: 100%
}