| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316 | 
							- <!DOCTYPE html>
 
- <html>
 
- 	<head>
 
- 		<meta charset="UTF-8">
 
- 		<title>完成项目服务</title>
 
- 		<link rel="stylesheet" href="../../../css/bootstrap.min.css" />
 
- 	    <link rel="stylesheet" type="text/css" href="../../../css/style.min.css"/>
 
- 	    <link rel="stylesheet" type="text/css" href="../../../css/cross.css"/>
 
- 		<style type="text/css">
 
- 			[v-cloak]{display: none;}
 
- 			.flex-box{display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */         /* OLD - Firefox 19- (buggy but mostly works) */
 
- 				  display: -ms-flexbox;      /* TWEENER - IE 10 */     /* NEW - Chrome */
 
- 				  display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */
 
- 				  -webkit-box-pack: center;
 
- 				  -ms-flex-pack: center;
 
- 				  justify-content: center;
 
- 				  -webkit-box-align: center;
 
- 				  -ms-flex-align: center;
 
- 				  align-items: center;
 
- 				  -ms-flex-wrap: wrap;
 
- 				      flex-wrap: wrap;
 
- 				  }
 
- 			.flex-box-item{-webkit-box-flex: 1;      /* OLD - iOS 6-, Safari 3.1-6 */
 
- 				  -moz-box-flex: 1;         /* OLD - Firefox 19- */
 
- 				  -webkit-flex: 1;          /* Chrome */
 
- 				  -ms-flex: 1;              /* IE 10 */
 
- 				  width: 50%;               /* For old syntax, otherwise collapses. */
 
- 				  flex: 1;                  /* NEW, Spec - Opera 12.1, Firefox 20+ */
 
- 				 position: relative;}
 
- 			.icon{width: 12px;height: 12px;vertical-align: middle;background-size: 100% auto;background-repeat: no-repeat;display: inline-block;background-position: center center;}
 
- 			.icon-arrow-down{background-image: url(../images/icon/tiaozhuan_xia_icon.png);}
 
- 			.icon-gouxuan{background-image: url(../images/icon/gouxuan_lanse_icon.png);}
 
- 			.icon-check{background-image: url(../images/icon/zhankai_btn.png);}
 
- 			.icon-arrow-right{background-image: url(../images/icon/tiaozhuan_icon.png);background-size: auto 100%;}
 
- 			.icon-check,.icon-arrow-down{transition: all .3s ease-in-out;}
 
- 			.active .icon-check,.collapsed .icon-arrow-down{transform: rotateZ(180deg);}
 
- 			.icon-16{width: 16px;height: 16px;}
 
- 			.icon-18{width: 18px;height: 18px;}
 
- 			.service-top{font-size: 0;line-height: 1;font-weight: 500;}
 
- 			.service-name span{vertical-align: middle;font-size: 16px;}
 
- 			.service-name span+span{margin-left: 10px;}
 
- 			.service-name{line-height: 1.5;margin-bottom: 0;}
 
- 			.service-index{border: 1px solid #12b7f5;width: 16px;line-height: 1;height: 16px;font-size: 14px;display: inline-block;text-align: center;color: #12b7f5;}
 
- 			.label-group{padding-left: 26px;}
 
- 			.label-group span{color: #12b7f5;font-size: 14px;line-height: 1;margin-top: 10px;}
 
- 			.label-blue{border-radius: 5px;border: solid 1px #12b7f5;padding: 4px 15px;display: inline-block;margin-right: 27px;}
 
- 			.panel-body{padding: 20px 20px 0;font-size: 14px;color: #999;}
 
- 			.service-content{line-height: 30px;padding-bottom: 15px;border-bottom: 1px solid #d7dce6;}
 
- 			.service-address{border-bottom: 1px solid #d7dce6;}
 
- 			.btn-yuyue{background-color: #02cfb9;color: #fff;}
 
- 			.btn-yuyue:hover,.btn-yuyue:link{color: #fff;background-color: #01c1ad;}
 
- 			.btn-fuwuma{background-color: #2dbe55;color: #fff;}
 
- 			.btn-fuwuma:hover,.btn-fuwuma:link{color: #fff;background-color: #209440;}
 
- 			.btn-zhidao{background-color: #12b7f5;color: #fff;}
 
- 			.btn-zhidao:hover,.btn-zhidao:link{color: #fff;background-color: #10a0d6;}
 
- 			.service-operation .btn{width: 90px;}
 
- 			.view-detail{color: #12b7f5;cursor: pointer;}
 
- 			.record-list{max-height: 0;overflow: hidden;transition: all .3s linear;}
 
- 			.record-list.active{max-height: 999px;}
 
- 			.record-item{background-color: #f5f5fa;margin-bottom: 10px;padding: 10px;}
 
- 			.complete-title{font-size: 14px;color: #333;padding: 10px 0;border-bottom: 1px solid #D7DCE6;}
 
- 			.guanlian-list{border: 1px solid #d7dce6;padding: 3px 5px;}
 
- 			.upload-box{padding: 10px 0 10px 10px;overflow: hidden;border: 1px solid #d7dce6;}
 
- 			.upload-box li{width: 60px;height: 60px;position: relative;display: block;float: left;margin-right: 10px;}
 
- 			.upload-box li img{width: 100%;display: block;}
 
- 			.upload-img-box{width: 100%;height: 100%;overflow: hidden;}
 
- 			.delete-img{position: absolute;right: -5px;top: -5px;color: #fff;background-color: #ccc;border-radius: 100%;text-align: center;line-height: 15px;width: 15px;height: 15px;}
 
- 			.upload-img{position: absolute;left: 0;right: 0;top: 0;bottom: 0;opacity: 0;z-index: 3;font-size: 0;width: 100%;height: 100%;}
 
- 			.add-img{font-size: 40px;line-height: 60px;font-weight: 500;width: 60px;height: 60px;display: block;text-align: center;border: 1px dashed #d7dce6;color: #bec8d2;}
 
- 			.yslb>span:after{content: '、';}
 
- 			.yslb>span:last-child:after{display: none;}
 
- 		</style>
 
- 	</head>
 
- 	<body>
 
- 		<div id="app" v-cloak role="tablist" aria-multiselectable="true">
 
- 		  <div class="panelcurPage">
 
- 		    <div class="panel-heading" role="tab" @click="changeCollapseIndex(index)">
 
- 		      <h4 class="panel-title">
 
- 		        <a role="button" class="flex-box">
 
- 		          <div class="flex-box-item service-top">
 
- 		          	<p class="service-name"><span class="service-index">1</span><span>{{service.title}}</span></p>
 
- 		         	<div class="label-group">
 
- 		         		<span class="pull-right mt5"><i v-if="service.statusName=='已完成'" class="icon icon-gouxuan icon-18 mr5"></i>{{service.statusName}}</span>
 
- 		         		<span class="label-blue">{{service.shortExecuteTime}}</span>
 
- 		         		<span class="label-blue" v-for="doctor in service.executeDoctorList">{{doctor}}</span>
 
- 		         	</div>
 
- 		          </div>
 
- 		          <!--<span class="icon icon-arrow-down ml50"></span>-->
 
- 		        </a>
 
- 		      </h4>
 
- 		    </div>
 
- 		    <div class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
 
- 		      	<div class="panel-body">
 
- 		      		<div class="service-content">{{service.content}}</div>
 
- 		      		<div class="service-address ptb20">
 
- 		      			<div class="flex-box">
 
- 		      				<div class="flex-box-item">
 
- 		      					<p class="m0">地点:{{service.hospitalName}}</p>
 
- 		      					<p class="m0">时间:{{service.executeTime | formatDate}}</p>
 
- 		      				</div>
 
- 		      				<div class="flex-box-item">
 
- 		      					<p class="m0 yslb">执行:<span v-for="(doctor,index) in service.executeDoctorList">{{doctor}}</span></p>
 
- 		      					<p class="m0">收费:{{service.expense}}元</p>
 
- 		      				</div>
 
- 		      			</div>
 
- 		      		</div>
 
- 		   		</div>
 
- 	       </div>
 
- 		  </div>
 
- 	   		<div class="panel-body">
 
- 	      		<div class="service-operation pt10">
 
- 	      			<p><span class="pull-right view-detail" :class="{active:isCollapse}" @click="chakan"><i class="icon icon-check mr5 icon-16"></i>{{isCollapse?'收起详情':'查看详情'}}</span>指导与汇报记录</p>
 
- 	      			<div class="record-list" :class="{active:isCollapse}">
 
- 	      				<div class="record-item" v-for="item in service.messageList">
 
- 	      					<div class="flex-box c-999 f14">
 
- 		      					<div class="flex-box-item">
 
- 		      						{{item.adminTeamName}}
 
- 		      					</div>
 
- 		      					<div class="flex-box-item">
 
- 		      						{{item.createTime}}
 
- 		      					</div>
 
- 		      				</div>
 
- 		      				<div class="f14 c-333">{{item.content}}</div>
 
- 	      				</div>
 
- 	      			</div>
 
- 	      		</div>
 
- 	      		<div class="complete-info pt10">
 
- 	      			<div class="complete-title">完成情况</div>
 
- 	      			<div class="ptb10">
 
- 	      				<p class="f14 mb5"><span class="c-999">完成情况:</span>{{service.completeTime}}</p>
 
- 	      				<p class="f14 mb5"><span class="c-999">执行医生:</span>{{service.operatorDoctorName}}</p>
 
- 	      			</div>
 
- 	      		</div>
 
- 	      		<div class="note-info pt10">
 
- 	      			<p class="f14 c-333">服务完成笔记</p>
 
- 	      			<textarea v-if="service.status!=1" class="form-control" style="resize: none;" rows="4" placeholder="可备注您的服务记录" v-model="service.node"></textarea>
 
- 	      			<div v-if="service.status==1">{{service.node}}</div>
 
- 	      		</div>
 
- 	      		<div class="note-info pt10" style="display: none;">
 
- 	      			<p class="f14 c-333">关联记录</p>
 
- 	      			<p class="guanlian-list text-center">
 
- 	      				<span class="pull-right"><i class="icon icon-arrow-right"></i></span>随访记录sfs
 
- 	      			</p>
 
- 	      		</div>
 
- 	      		<div class="note-info pt10">
 
- 	      			<p class="f14 c-333">相关记录</p>
 
- 	      			<ul class="upload-box"  v-if="service.status!=1">
 
- 	      				<li class="flex-box" v-for="(img,index) in upImgs">
 
- 	      					<div class="upload-img-box">      						
 
- 		      					<img :src="img.baseUrl" />
 
- 	      					</div>
 
- 	      					<a class="delete-img" @click="deleteImg(index)">×</a>
 
- 	      				</li>
 
- 	      				<li class="flex-box" v-if="upImgs.length<5">
 
- 	      					<span class="add-img">+</span>
 
- 	      					<input type="file" @change="upLoadImgToBase64" class="upload-img" />
 
- 	      				</li>
 
- 	      			</ul>
 
- 	      			<ul class="upload-box"  v-if="service.status==1">
 
- 	      				<li class="flex-box" v-for="img in service.relationRecordImg">
 
- 	      					<div class="upload-img-box">      						
 
- 		      					<img :src="img | getImgUrl" />
 
- 	      					</div>
 
- 	      				</li>
 
- 	      			</ul>
 
- 	      		</div>
 
- 	      		<div class="text-center ptb50" v-if="service.status!=1">
 
- 	      			<button class="btn btn-zhidao" @click="qrwc">确认完成</button>
 
- 	      		</div>
 
- 	      	</div>
 
- 		</div>
 
- 		<script type="text/javascript" src="../../../js/vue.js"></script>
 
- 		<script type="text/javascript" src="../../../js/jquery-2.2.4.js" ></script>
 
- 		<script type="text/javascript" src="../../../api/http-request.js"></script>
 
- 		<script type="text/javascript" src="../../../api/rehabilitation-api.js"></script>
 
- 		<script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
 
- 		<script type="text/javascript">
 
- 			!function(){
 
- 				var httpData=GetRequest();
 
- 				new Vue({
 
- 					el:"#app",
 
- 					data:{
 
- 						imgData: {
 
- 				            accept: 'image/gif, image/jpeg, image/png, image/jpg',
 
- 				        },
 
- 				        isCollapse:false,
 
- 				        upImgs:[],
 
- 				        upImgArr:[],
 
- 				        planid:httpData['planid'],
 
- 				        service:[]
 
- 					},
 
- 					mounted:function(){
 
- 						this.getServiceItem();
 
- 					},
 
- 					methods:{
 
- 						getServiceItem:function(){
 
- 							var vm=this;
 
- 							var loadding = top.layer.load(0, {shade: false}); //0代表加载的风格,支持0-2
 
- 							rehaAPI.serviceItem({planDetailId:vm.planid}).then(function(res){
 
- 								top.layer.close(loadding);
 
- 								if(res.status==200){
 
- 									vm.service=res.data;
 
- 								}else{
 
- 									top.layer.msg(res.msg,{icon:5});
 
- 								}
 
- 							})
 
- 						},
 
- 						deleteImg:function(idx){
 
- 							console.log(idx)
 
- 							this.upImgs.splice(idx,1)
 
- 						},
 
- 						chakan:function(){
 
- 							this.isCollapse=!this.isCollapse;
 
- 						},
 
- 						upLoadImgToBase64:function(){
 
- 							var vm=this;
 
- 				            var img1=event.target.files[0];  
 
- 				            console.log(img1)
 
- 				            var reader =new FileReader();  
 
- 				            var type=img1.type;//文件的类型,判断是否是图片  
 
- 				            var size=img1.size;//文件的大小,判断图片的大小  
 
- 				            if(this.imgData.accept.indexOf(type) == -1){  
 
- 				                alert('请选择我们支持的图片格式!');  
 
- 				                return false;  
 
- 				            }  
 
- 				            if(size>3145728){  
 
- 				                alert('请选择3M以内的图片!');  
 
- 				                return false;  
 
- 				            }
 
- 				            reader.readAsDataURL(img1);
 
- 			             	reader.onload = function (e) {
 
- 			             		vm.upImgs.push({baseUrl:e.target.result});
 
- 			             		vm.upImgArr.push(img1);
 
- //			             		vm.uploadImg(vm.upImgArr);
 
- 			             	}
 
- 						},
 
- 						qrwc:function(){
 
- 							var vm=this;
 
- 							vm.uploadImg(vm.upImgArr,vm.updateNoteAndImageRehabilitationOperate);
 
- 						},
 
- 						 //上传图片
 
- 				        uploadImg:function(data,cb){
 
- 				        	var vm=this;
 
- 				        	var len = data.length;
 
- 						    if (!len){
 
- 						        cb && cb();
 
- 						    }else{
 
- 						    	var file=data[len-1];
 
- 						    	var formData = new FormData();
 
- 								formData.append('file', file);
 
- 						    	rehaAPI.upload(formData).then(function(res){
 
- 						    		console.log(res)
 
- 						    		if(res.status==200){
 
- 						    			console.log(vm.upImgs[len-1])
 
- 						    			vm.upImgs[len-1].img=res.data;
 
- 						    			data.pop();
 
- 						    			vm.uploadImg(data,cb);
 
- 						    		}
 
- 								})
 
- 						    }
 
- 						},
 
- 						updateNoteAndImageRehabilitationOperate:function(){
 
- 							var vm=this;
 
- 							var _image=[];
 
- 							for(var i in vm.upImgs){
 
- 								_image.push(vm.upImgs[i].img);
 
- 							}
 
- 							var params={
 
- 								planDetailId:vm.planid,
 
- 								node:vm.service.node,
 
- 								image:JSON.stringify(_image)
 
- 							}
 
- 							var loadding = top.layer.load(0, {shade: false}); //0代表加载的风格,支持0-2
 
- 							rehaAPI.updateNoteAndImageRehabilitationOperate(params).then(function(res){
 
- 					    		top.layer.close(loadding);
 
- 					    		console.log(res)
 
- 					    		if(res.status==200){
 
- 					    			vm.getServiceItem();
 
- 					    			parent.serviceItem.getServiceItemList();
 
- 					    		}
 
- 							})
 
- 						},
 
- 			       	},
 
- 					filters:{
 
- 					  	formatDate:function(value, format) {
 
- 					  		if(!value) return ;
 
- 					  		var fmt=format || "yyyy-MM-dd hh:mm";
 
- 							var date = new Date(value);
 
- 							if (/(y+)/.test(fmt)) {
 
- 								fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
 
- 							}
 
- 							let o = {
 
- 								'M+': date.getMonth() + 1,
 
- 								'd+': date.getDate(),
 
- 								'h+': date.getHours(),
 
- 								'm+': date.getMinutes(),
 
- 								's+': date.getSeconds()
 
- 							};
 
- 							for (let k in o) {
 
- 								if (new RegExp(`(${k})`).test(fmt)) {
 
- 									let str = o[k] + '';
 
- 									fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : ('00' + str).substr(str.length));
 
- 								}
 
- 							}
 
- 							return fmt;
 
- 						},
 
- 						getImgUrl:function(value){
 
- 							var url=httpRequest.getImgUrl(value);
 
- 							return url;
 
- 						}
 
- 					}
 
- 				})
 
- 			}()
 
- 		</script>
 
- 	</body>
 
- </html>
 
 
  |