|  | @ -0,0 +1,178 @@
 | 
	
		
			
				|  |  | <!DOCTYPE html>
 | 
	
		
			
				|  |  | <html>
 | 
	
		
			
				|  |  | 	<head>
 | 
	
		
			
				|  |  | 		<meta charset="UTF-8">
 | 
	
		
			
				|  |  | 		<title>扫码下转</title>
 | 
	
		
			
				|  |  | 		<link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
 | 
	
		
			
				|  |  | 		<link rel="stylesheet" type="text/css" href="../../../css/cross.ui.css" />
 | 
	
		
			
				|  |  | 		<link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
 | 
	
		
			
				|  |  | 		<link href="../../../plugins/toastr/toastr.min.css" rel="stylesheet">
 | 
	
		
			
				|  |  | 		<link rel="stylesheet" href="../../../plugins/element-ui/element-ui.css" />
 | 
	
		
			
				|  |  |         <link rel="stylesheet" type="text/css" href="../css/common.css" />
 | 
	
		
			
				|  |  |         <style>
 | 
	
		
			
				|  |  |             body{height: auto}
 | 
	
		
			
				|  |  |             .c-t-center{text-align: center;}
 | 
	
		
			
				|  |  |             .teamGroupImg{}
 | 
	
		
			
				|  |  |         </style>
 | 
	
		
			
				|  |  | 	</head>
 | 
	
		
			
				|  |  | 	<body>
 | 
	
		
			
				|  |  | 	<div id="app" v-cloak>
 | 
	
		
			
				|  |  |         <div class="qrcode-wrap">
 | 
	
		
			
				|  |  |             <div class="qrcode-inner c-t-center">
 | 
	
		
			
				|  |  |                 <div>
 | 
	
		
			
				|  |  |                     <img :src="getTeamPhoto(photo)" class="teamGroupImg" width="60px" height="60px" style="border-radius: 100%"/>
 | 
	
		
			
				|  |  |                     <div class="c-333 mt20">{{name}}</div>
 | 
	
		
			
				|  |  |                 </div>
 | 
	
		
			
				|  |  |                 <div class="mt20">
 | 
	
		
			
				|  |  |                     <img :src="qrCodeImg" width="250px" height="250px"/>
 | 
	
		
			
				|  |  |                 </div>
 | 
	
		
			
				|  |  |             </div>
 | 
	
		
			
				|  |  |         </div>
 | 
	
		
			
				|  |  | 	</div>
 | 
	
		
			
				|  |  | 		<script src="../../../js/vue.js" type="text/javascript" charset="utf-8"></script>
 | 
	
		
			
				|  |  | 		<script src="../../../js/jquery-2.2.4.js"></script>
 | 
	
		
			
				|  |  |         <script src="../../../plugins/layer/layer.min.js"></script>
 | 
	
		
			
				|  |  | 		<script src="../../../plugins/toastr/toastr.min.js"></script>
 | 
	
		
			
				|  |  | 		<script type="text/javascript" src="../../../plugins/element-ui/element-ui.js"></script>
 | 
	
		
			
				|  |  |         <script src="../../../js/bootstrap.min.js"></script>
 | 
	
		
			
				|  |  |         <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
 | 
	
		
			
				|  |  |         <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
 | 
	
		
			
				|  |  |         <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
 | 
	
		
			
				|  |  | 		<script src="../../../api/http-request.js" type="text/javascript"></script>
 | 
	
		
			
				|  |  | 		<script type="text/javascript" src="../../../api/rehabilitation-api.js"></script>
 | 
	
		
			
				|  |  | 		<script type="text/javascript" src="../../../api/recover_api.js"></script>
 | 
	
		
			
				|  |  | 		<script type="text/javascript">
 | 
	
		
			
				|  |  | 			var doctorType = (JSON.parse(window.localStorage.getItem('wlyyAgent'))||{}).doctorType
 | 
	
		
			
				|  |  | 			var httpData=GetRequest()
 | 
	
		
			
				|  |  | 			var docInfo = JSON.parse(window.localStorage.getItem("docInfo"));
 | 
	
		
			
				|  |  | 			function showSuccessMessage(msg) {
 | 
	
		
			
				|  |  | 				layer.msg(msg, {
 | 
	
		
			
				|  |  | 					icon: 1
 | 
	
		
			
				|  |  | 				})
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 			
 | 
	
		
			
				|  |  | 			function showErrorMessage(msg) {
 | 
	
		
			
				|  |  | 				layer.msg(msg, {
 | 
	
		
			
				|  |  | 					icon: 5
 | 
	
		
			
				|  |  | 				})
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 			
 | 
	
		
			
				|  |  | 			function showWarningMessage(msg) {
 | 
	
		
			
				|  |  | 				layer.msg(msg, {
 | 
	
		
			
				|  |  | 					icon: 2
 | 
	
		
			
				|  |  | 				})
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 			
 | 
	
		
			
				|  |  | 			function showInfoMessage(msg) {
 | 
	
		
			
				|  |  | 				layer.msg(msg, {
 | 
	
		
			
				|  |  | 					icon: 6
 | 
	
		
			
				|  |  | 				})
 | 
	
		
			
				|  |  | 			}
 | 
	
		
			
				|  |  | 			selectVue = new Vue({
 | 
	
		
			
				|  |  |                 el: "#app",
 | 
	
		
			
				|  |  |                 data: {
 | 
	
		
			
				|  |  | 					id: httpData['id'], // 专科团队code
 | 
	
		
			
				|  |  | 					name: decodeURI(httpData['name']), // 专科团队名称
 | 
	
		
			
				|  |  | 					photo: httpData['photo'], // 专科团队头像
 | 
	
		
			
				|  |  | 					qrCodeImg: ''
 | 
	
		
			
				|  |  |                 },
 | 
	
		
			
				|  |  |                 mounted: function() {
 | 
	
		
			
				|  |  | 					var vm = this
 | 
	
		
			
				|  |  | 					vm.loadSocket()
 | 
	
		
			
				|  |  | 					vm.createSpecialDoctorQrCode()
 | 
	
		
			
				|  |  | 				},
 | 
	
		
			
				|  |  |                 methods: {
 | 
	
		
			
				|  |  | 					loadSocket:function(){
 | 
	
		
			
				|  |  | 						var vm =this;
 | 
	
		
			
				|  |  | 						var imurl = httpRequest.socketUrl;
 | 
	
		
			
				|  |  | 						jQuery.getScript(imurl+"/socket.io/socket.io.js").done(function() {
 | 
	
		
			
				|  |  | 							var socket = io.connect(imurl);
 | 
	
		
			
				|  |  | 							var sessionId = 'system';
 | 
	
		
			
				|  |  | 							socket.emit('login', {userId: docInfo.code, password: docInfo.code,sessionId:sessionId,clientType:"doctor"});
 | 
	
		
			
				|  |  | 							socket.on('message', function (data) {
 | 
	
		
			
				|  |  | 								var content=JSON.parse(data.content)
 | 
	
		
			
				|  |  | 								vm.dialogShow(content)
 | 
	
		
			
				|  |  | 								setTimeout(function(){
 | 
	
		
			
				|  |  | 									vm.qrModal=false;
 | 
	
		
			
				|  |  | 								},1000/60)
 | 
	
		
			
				|  |  | 							});
 | 
	
		
			
				|  |  | 					
 | 
	
		
			
				|  |  | 							socket.on('error', function (data) {
 | 
	
		
			
				|  |  | 								console.log(data);
 | 
	
		
			
				|  |  | 							});
 | 
	
		
			
				|  |  | 					
 | 
	
		
			
				|  |  | 							socket.on('ack', function (data) {
 | 
	
		
			
				|  |  | 								console.log(data);
 | 
	
		
			
				|  |  | 							});   
 | 
	
		
			
				|  |  | 						})
 | 
	
		
			
				|  |  | 						.fail(function() {
 | 
	
		
			
				|  |  | 							layer.msg('医生实时对话连接失败!',{icon:5});    
 | 
	
		
			
				|  |  | 						});
 | 
	
		
			
				|  |  | 					},
 | 
	
		
			
				|  |  | 					dialogShow: function(data){
 | 
	
		
			
				|  |  | 						var vm = this
 | 
	
		
			
				|  |  | 						if(data.is_sign){  //已家签,要判断居民是否签约该专医团队
 | 
	
		
			
				|  |  | 							var text = "请问您是否确认为"+data.patient_name+"患者进行康复下转?"
 | 
	
		
			
				|  |  | 							var current=layer.confirm(text, { 
 | 
	
		
			
				|  |  | 								btn: ['确定', '取消'],
 | 
	
		
			
				|  |  | 								title: "提示"
 | 
	
		
			
				|  |  | 							}, function (index) {
 | 
	
		
			
				|  |  | 								vm.findPatientSignSpecialistInfo(data)
 | 
	
		
			
				|  |  | 								layer.close(current); //再执行关闭
 | 
	
		
			
				|  |  | 							})
 | 
	
		
			
				|  |  | 						} else {
 | 
	
		
			
				|  |  | 							var text = data.patient_name+"患者暂未家签,请先提醒居民签约家庭医生"
 | 
	
		
			
				|  |  | 							var current=layer.confirm(text, { 
 | 
	
		
			
				|  |  | 								btn: ['好, 我知道了', '取消'],
 | 
	
		
			
				|  |  | 								title: "提示"
 | 
	
		
			
				|  |  | 							}, function (index) {
 | 
	
		
			
				|  |  | 								top.addRecoveryDownVue.isSignSpecialist(false)
 | 
	
		
			
				|  |  | 								layer.close(current); //再执行关闭
 | 
	
		
			
				|  |  | 							})
 | 
	
		
			
				|  |  | 						}
 | 
	
		
			
				|  |  | 					},
 | 
	
		
			
				|  |  | 					getTeamPhoto: function(photo){
 | 
	
		
			
				|  |  | 						return httpRequest.getImgUrl(photo);
 | 
	
		
			
				|  |  | 					},
 | 
	
		
			
				|  |  | 					//获取团队二维码
 | 
	
		
			
				|  |  |                     createSpecialDoctorQrCode:function(){
 | 
	
		
			
				|  |  |                         var vm=this
 | 
	
		
			
				|  |  |                         var params = {
 | 
	
		
			
				|  |  |                             doctorCode: docInfo.code,
 | 
	
		
			
				|  |  |                             teamName: vm.name,
 | 
	
		
			
				|  |  |                             teamCode: vm.id,
 | 
	
		
			
				|  |  |                         };
 | 
	
		
			
				|  |  |                         rehaAPI.createSpecialDoctorQrCode(params).then(function(res){
 | 
	
		
			
				|  |  |                             if(res.status == 200) {
 | 
	
		
			
				|  |  | 								vm.qrCodeImg = res.data
 | 
	
		
			
				|  |  |                             } else {
 | 
	
		
			
				|  |  |                                 showErrorMessage(res.msg)
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                         });
 | 
	
		
			
				|  |  | 					},
 | 
	
		
			
				|  |  | 					//判断居民是否签约专科医生
 | 
	
		
			
				|  |  | 					findPatientSignSpecialistInfo: function(data) {
 | 
	
		
			
				|  |  | 						var vm = this,
 | 
	
		
			
				|  |  | 						params = {
 | 
	
		
			
				|  |  | 							patient: data.patient_code,
 | 
	
		
			
				|  |  | 							doctor: docInfo.code
 | 
	
		
			
				|  |  | 						}
 | 
	
		
			
				|  |  | 						recoverApi.findPatientSignSpecialistInfo(params).then(function(res){
 | 
	
		
			
				|  |  | 							if(res.status == 200) {
 | 
	
		
			
				|  |  | 								if(res.data.teamCode){
 | 
	
		
			
				|  |  | 									if(res.data.teamCode==vm.teamInfo.id){  //签约团队与二维码团队一致
 | 
	
		
			
				|  |  | 										top.addRecoveryDownVue.isSignSpecialist(true, data.idcard)
 | 
	
		
			
				|  |  | 									}else{
 | 
	
		
			
				|  |  | 										vm.createSpecialDoctorQrCode()
 | 
	
		
			
				|  |  | 									}
 | 
	
		
			
				|  |  | 								}
 | 
	
		
			
				|  |  | 							} else {
 | 
	
		
			
				|  |  | 								showErrorMessage(res.msg)
 | 
	
		
			
				|  |  | 							}
 | 
	
		
			
				|  |  | 						})
 | 
	
		
			
				|  |  | 					},
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             })
 | 
	
		
			
				|  |  | 		</script>
 | 
	
		
			
				|  |  | 	</body>
 | 
	
		
			
				|  |  | </html>
 |