| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090 | <!DOCTYPE html><html>	<head>		<meta charset="UTF-8">		<title>新建计划</title>		<link rel="stylesheet" type="text/css" href="../../../css/bootstrap.min.css" />		<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" type="text/css" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css" />		<link rel="stylesheet" type="text/css" href="../css/new_recover.css" />	</head>	<body class="m0">	<div id="app" v-cloak>		<div class="c-position-a" style="top: -999px; left: -999px;" v-show="isTest"></div>		<div class="c-h100 clearfix">	        <div class="fl c-h100 w300 person_info c-border-r" style="overflow: hidden;">	        	<div v-if="!patiInfo" class="c-h100" style="overflow: auto;">		        	<div  class="c-border-b c-t-center pt20">		        		<div class="set-photo imgw80">		        			<img src="../../../images/p-female.png" alt="居民头像" />		        		</div>		        		<p class="ptb10">患者名</p>		        	</div>		        	<div>		        		<div class="no-result c-t-center pt20">		        			<img src="../images/wushuju01_img.png" alt="无数据" />		        			<p class="c-999">暂无相关信息</p>		        			<div class="pt30">		        				<span class="c-fff btn cur-pit plr10 ptb5 bgc-12b7f5 b-r-3" @click="selectPatient()">同步信息</span>		        			</div>		        		</div>		        	</div>	        	</div>	        	<div v-else class="c-h100 plr10" style="overflow: auto;">	        		<div  class="c-t-center pt20 c-position-r">		        		<div class="set-photo imgw80">		        			<img :src="setPatImg(patiInfo.photo)" alt="居民头像" />		        		</div>		        		<h3 class="ptb10 m0 c-f16">{{patiInfo.name}}</h3>		        		<span class="c-position-a set-qiehuan cur-pit" @click="selectPatient()"></span>		        	</div>		        	<h4 class="h30 m0 c-f14 c-border-b f-w500">基本信息</h4>		        	<ul class="c-333 m0 p0 pb20">		        		<li class="pt10"><span class="c-999">性  别:</span>{{patiInfo.sex == 1 ? "男" : "女"}}</li>		        		<li class="pt10"><span class="c-999">年  龄:</span>{{patiInfo.age}}岁</li>		        		<li class="pt10"><span class="c-999">身份证号:</span>{{patiInfo.idcard}}</li>		        		<li class="pt10"><span class="c-999">地  址:</span>{{patiInfo.address}}</li>		        	</ul>		        	<h4 class="h30 m0 c-f14 c-border-b f-w500">家庭医生</h4>		        	<ul class="c-333 m0 p0 pb20">		        		<li class="pt10"><span class="c-999">签约社区:</span>{{patiInfo.ssHospitalName || patiInfo.jtHospitalName}}</li>		        		<li class="pt10"><span class="c-999">全科医生:</span>{{patiInfo.ssDoctorName || patiInfo.jtDoctorName}}</li>		        		<li class="pt10"><span class="c-999">健 管 师:</span>{{patiInfo.ssDoctorHealthName || patiInfo.jtDoctorHealthName}}</li>		        	</ul>		        	<h4 class="h30 m0 c-f14 c-border-b">诊疗信息</h4>		        	<ul class="c-333 m0 p0 pb20" >	        			<div class="input-group" >	        				<label style="transform: translateY(50%); color: #999999;font-weight: normal;">就诊事件:</label>							<div class="input-group-btn" style="width: 80%; transform: translateY(50%);top: -5px;">								<button style="width:223px;padding: 0; text-overflow: ellipsis; overflow: hidden;" v-bind:disabled="edit" type="button" class="btn btn-white dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">									{{diagnosisInfo[indexOrder].orgName}}									<span class="caret" style="position: absolute; top: 50%; right: 20px; margin-top: -2px;"></span>								</button>								<ul class="dropdown-menu" style="min-width: 206px;" >									<li class="c-f14 c-border-b" style="text-align: center; padding: 2px;cursor:pointer;" v-for="(v, i) in diagnosisInfo" @click="orderHospital(i)" v-html="v.orgName"></li>								</ul>							</div>						</div>		        		<li class="pt10"style="display: flex;" id="department">		        			<label class="c-999" style="font-weight: normal;">入院科室:</label>		        			<input class="form-control" v-bind:disabled="edit" v-bind:value="nodata == true? '请输入': subsidiaryInfo.data.department" style=" text-align: center; height: 22px; border-radius: 3px; width: 80%;">		        		</li>		        		<li class="pt10"style="display: flex;" id="attendingDoctor">		        			<label class="c-999" style="font-weight: normal;">主治医师:</label>		        			<input class="form-control" v-bind:disabled="edit" v-bind:value="nodata == true? '请输入': subsidiaryInfo.data.attendingDoctor" style="text-align: center; height: 22px; border-radius: 3px; width: 80%;">		        		</li>		        		<li class="pt10"style="display: flex;" id="admissionDiagnosis">		        			<label class="c-999" style="font-weight: normal;">入院诊断:</label>		        			<input class="form-control" v-bind:disabled="edit" v-bind:value="nodata == true? '请输入': subsidiaryInfo.data.admissionDiagnosis" style="text-align: center; height: 22px; border-radius: 3px; width: 80%;">		        		</li>		        		<li class="pt10"style="display: flex;" id="dischargeDiagnosis">		        			<label class="c-999" style="font-weight: normal;">出院诊断:</label>		        			<input class="form-control" v-bind:disabled="edit" v-bind:value="nodata == true? '请输入': subsidiaryInfo.data.dischargeDiagnosis" style="text-align: center; height: 22px; border-radius: 3px; width: 80%;">		        		</li>		        	</ul>		        	<h4 class="h30 m0 c-f14 c-border-b c-999">医嘱小结</h4>		        	<!--<p class="m0 pt10 c-333">依旧本次判断,对新消息进行出院诊断做出以下结论:忧郁啥啥事等等等问题</p>-->		        	<textarea v-bind:disabled="edit" class="tipText m0 pt10 c-333 mt10" style="width: 100%; border:1px solid #e1e1e1; resize:none;text-indent:28px" v-html="subsidiaryInfo.data.dischargeOrder"></textarea>		        	<button type="button" class="btn btn-default fr" style="width: 60px; background: #12B7F5; border-radius: 0px ;border: 0px ;" @click="editdiagnosis()" v-html="edit == true? '编辑':'保存'"></button>	        	</div>	        </div>	        <div class="fl c-h100 w-100-300">	        	<div class="c-h100 plr5" v-if="!isPlan">		        	<h4 class="m0 pl15 lh40 c-border-b f-w500 c-position-r"><span class="c-position-a set-blue-span"></span>配置康复计划</h4>		        	<div style="overflow: hidden; height: calc(100% - 41px);">		        		<div style="overflow: auto; height: 100%;">				        	<div class="un-select c-t-center pt45" v-if="!patiInfo">				        		<img src="../images/wushuju_img.png" alt="" />				        		<p class="c-999">您还没有选择居民</p>				        	</div>				        	<ul class="muban_con lh40 c-t-center pt30" v-else>				        		<li class="mb20" v-for="(muban, index) in mubanList" :key="index" @click="addMuban(muban.id)">{{muban.title}}</li>				        		<li class="addmuban-btn c-fff" @click="addMuban()">新增模板</li>				        	</ul>			        	</div>			        </div>		        </div>		        <div class="clearfix c-h100" v-else>		        	<div class="fl w-100-300 c-h100">		        		<div class="plr5 c-h100-79">		        			<h4 class="m0 pl15 lh40 c-border-b set-label f-w500 c-position-r">		        				<em class="c-position-a set-blue-span"></em>		        				配置康复计划		        				<span v-for="(label, index) in spanLabel" :key="index" class="fr ml20 pl20 c-f14 c-999 cur-pit" :class="{'active': index == labelIndex}" @click="setLabelIndex(index, label)">{{label.labelName}}</span>		        			</h4>		        			<div class="c-h100-41" style="overflow: hidden;">		        				<ul class="c-h100 p0 m0" style="overflow: auto;">		        					<li class="mt10 plr10 ptb5 c-border b-r-3 clearfix" v-for="(detail, index) in templateDetail" :key="index">		        						<div class="fl w-100-78 c-333">		        							<p :class='detail.isTimeSame ? "m0 p0 mb10 txt-ells cur-pit c-red" : "m0 p0 mb10 txt-ells cur-pit"' @click="lookProject(detail)">{{detail.specialistServiceItemDO.title}}</p>	        								<div class="clearfix">	        									<p class="w300 m0 mb10 p0 fl"><span class="c-999">医  院:</span>{{detail.hospitalName}}</p>	        									<p class="m0 p0 mb10 fl"><span class="c-999">费  用:</span>{{detail.expense}}{{detail.specialistServiceItemDO.unit}}</p>	        								</div>		        							<div class="m0 p0 clearfix">		        								<div class="w300 m0 mb10 p0 fl clearfix">	        										<span class="fl c-999">选择频次:</span>	        										<div class="fl c-position-r w100">	        											<p class="m0 p0 plr10 c-border cur-pit set-xia" :class="{'set-shang':detail.selectFre}" @click="changeSelectFre(index, detail.selectFre)">{{detail.frequencyCode}}</p>	        											<ul class="m0 p0 c-border-b c-border-l c-border-r c-position-a doc_list" v-if="detail.selectFre" style="overflow-y: auto; height: 100px;">	        												<li class="plr10 c-border-t cur-pit" v-for="(list, indDoc) in detail.frequencyList" :key="indDoc" @click="selectFre(index, list)">{{list.code}}</li>	        											</ul>	        										</div>	        									</div>        										<div class="m0 mb10 p0 fl clearfix">	        										<span class="fl c-999">执行人员:</span>	        										<div class="fl c-position-r w100">	        											<p class="m0 p0 plr10 c-border cur-pit set-xia" :class="{'set-shang':detail.selectDoc}" @click="changeSelectDoc(index, detail.selectDoc)">{{detail.executeDoctorName}}</p>	        											<ul class="m0 p0 c-border-b c-border-l c-border-r c-position-a doc_list" v-if="detail.selectDoc" style="overflow-y: auto; max-height: 100px;">	        												<li class="plr10 c-border-t cur-pit" v-for="(list, indDoc) in detail.docList" :key="indDoc" @click="selectLi(index, list)">{{list.name}}</li>	        											</ul>	        										</div>	        									</div>        									</div>        									<div class="pl65 mb10 set-label" v-if="detail.frequency.unit == 'H'">        										<span :class="detail.timeType == 1 ? 'pl20 mr5 cur-pit active' : 'pl20 mr5 cur-pit'" @click="selectTimeType(index, 1)">白天</span>        										<span :class="detail.timeType == 2 ? 'pl20 mr5 cur-pit active' : 'pl20 mr5 cur-pit'" @click="selectTimeType(index, 2)">晚上</span>        										<span :class="detail.timeType == 0 ? 'pl20 cur-pit active' : 'pl20 cur-pit'" @click="selectTimeType(index, 0)">全天</span>        									</div>        									<div>        										<div class="clearfix">	        										<span class="fl c-999 lh24">起始时间:</span>	        										<div class="fl maxw600 c-border mb10">	        											<!--<p class="lh24 pl10 mb5 mr20 clearfix" v-for="(time, ind) in detail.specialistServiceItemDO.selectDateRange" :key="ind" v-if="detail.specialistServiceItemDO.selectDateRange.length">		        											<span class="pb10 mr10">{{time.startTime}}</span>至<span class="pb10 ml10">{{time.endTime}}</span><span class="pb10 ml5 c-red cur-pit" @click="spliceTimeRange(index, ind)">删除</span>		        										</p>-->	        											<el-date-picker v-model="detail.value14" type="daterange" :picker-options="pickerOptions1" value-format="yyyy-MM-dd" @input="getRandgeDate(index)" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>	        										</div>	        										<span class="fl lh24 mlr10 c-999">或</span>	        										<div class="fl maxw600 c-border mb10">	        											<!--<p class="fl pl10 lh24 mb5 mr20 clearfix" v-for="(time, ind) in detail.specialistServiceItemDO.executeTime" :key="ind" v-if="detail.specialistServiceItemDO.executeTime.length">		        											<span class="fl pb10">{{time}}</span><span class="fl pb10 ml5 c-red cur-pit" @click="spliceTimeArr(index, ind)">删除</span>		        										</p>-->	        											<el-date-picker type="dates" :picker-options="pickerOptions1" v-model="detail.value15" value-format="yyyy-MM-dd" @input="getSelectDate(index)" placeholder="选择一个或者多个日期"></el-date-picker>	        										</div>        										</div>        									</div>        									<div class="clearfix">        										<span class="fl c-999">备  注:</span>        										<div class="fl maxw600 plr15 ptb10 c-border set-textarea">        											<textarea placeholder="不补充说明特殊用法、方式" v-model="detail.remark" name="" rows="" cols=""></textarea>        										</div>        									</div>		        						</div>		        						<div class='fr w60 c-t-right clearfix'>		        							<p class="m0 p0 mb10">×{{mul(detail.specialistServiceItemDO.executeTime.length, detail.frequency.count)}}</p>		        							<div class="clearfix mb10"><span class="fr sub-tap cur-pit" @click="subTemplate(index, detail)"></span></div>		        							<div class="clearfix"><span class="fr fuzhi-tap cur-pit" @click="copyTemplate(index, detail)"></span></div>		        						</div>		        					</li>		        					<li class="pt100 c-t-center" v-if="!templateDetail.length">		        						<span class="set-right-arraw pr20">请在右侧“服务项”列表中选择</span>		        					</li>		        				</ul>		        			</div>		        		</div>		        		<div>	        				<p class="m0 p0 pl20 ptb10 c-border-b set-label">支付方式:<span class="ml10 pl20 active">按服务支付</span><em class="c-red ml20">(按选择支付方式完成收费)</em></p>	        				<div class="pl20 lh40">总费用:	        					<span class="c-red c-f16">¥{{allFee}}</span>	        					<span class="fr lh30 cur-pit plr15 c-t-center bgc-green c-fff" @click="canclePlan()">取消</span>	        					<span class="fr lh30 cur-pit plr15 c-t-center c-fff" :class="havePlan ? 'bgc-12b7f5' : 'bgc-d7dce6'" @click="createRehabilitationPlan()">生成计划</span>	        				</div>	        			</div>		        	</div>		        	<div class="fr w300 c-h100 c-border-l">		        		<div class="plr5 c-h100">		        			<h4 class="m0 pl15 lh40 c-border-b c-position-r f-w500">		        				<em class="c-position-a set-blue-span"></em>添加其他项目		        			</h4>		        			<div class="clearfix mtb10 c-border">								<input class="fl search-input plr10" type="text" v-model="searchKey" placeholder="输入项目名称" />								<span class="fr search-btn" @click="searchProject()"></span>							</div>							<div class="c-h100-99" style="overflow: hidden;">								<ul class="c-h100 p0 m0" style="overflow: auto;">									<li v-for="(project1, index) in projectList" :key="index">										<h4 class="set-arrow c-f14 h30 p0 m0 pl20 f-w500 cur-pit" :class="{'active': index == proIndex1}" @click="selectPro(1, index)">{{project1.itemType == 1 ? '诊疗服务' : '健康服务'}}</h4>										<ul class="c-h100 p0 m0 pl10" v-if="index == proIndex1">											<li v-for="(project2, index2) in project1.item" :key="index2">												<p class="set-arrow h30 c-f14 pl20 m0 c-333 cur-pit" :class="{'active': index2 == proIndex2}" @click="selectPro(2, index2)">{{project2.itemName}}</p>												<ul class="p0 m0 pr10" v-if="index2 == proIndex2">													<li v-for="(project3, index3) in project2.hospitalServiceItems" :key="index3" class="clearfix ptb5">														<div class="fl c-border w-100-66 cur-pit border-c12b7f5 ptb5 plr5 b-r-3 clearfix" :class="project3.isSelect ? 'bgc-12b7f5' : 'bgc-fff'" @click="selectProject(index, index2, index3, project3)">															<p class="fl w-100-78 txt-ells lh18" :class="project3.isSelect ? 'c-fff' : 'c-666'">{{project3.specialistServiceItemDO.title}}</p>															<span class="fr lh18 b-r-3 c-f12 ml5 bgc-4dcd70 plr5 c-fff" v-if="project3.flag == 1 || project3.flag == 3">社区</span>															<span class="fr lh18 b-r-3 c-f12 ml5 bgc-55cefc plr5 c-fff" v-if="project3.flag == 2 || project3.flag == 3">医院</span>														</div>														<span class="fr h30 btn cur-pit plr10 bgc-12b7f5 c-fff b-r-3" v-if="!project3.isSelect" @click="addProject(index, index2, index3, project3)">添加</span>														<span class="fr h30 btn plr10 bgc-e1e1e1 c-fff b-r-3" v-else>添加</span>													</li>												</ul>											</li>										</ul>									</li>								</ul>							</div>		        		</div>		        	</div>		        </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 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="https://unpkg.com/element-ui/lib/index.js" type="text/javascript" charset="utf-8"></script>		<script src="../../../api/http-request.js" type="text/javascript"></script>		<script src="../../../api/recover_api.js" type="text/javascript"></script>		<script type="text/javascript">			var doctorType = (JSON.parse(window.localStorage.getItem('wlyyAgent'))||{}).doctorType,				docInfo = JSON.parse(window.localStorage.getItem('wlyyAgent'))			var httpData=GetRequest()			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				})			}			top.recoverVue = new Vue({                el: "#app",                data: {                	pickerOptions1: {			        	disabledDate(time) {			            	return time.getTime() < Date.now() - 8.64e7;			        	}			        },                	surefont: '添加',                	isTest: false,                	pati: null,                	isPlan: false,                	proIndex1: null,                	proIndex2: null,                	patiInfo: null,                	diseaseObj: null,                	mubanList: [],                	templateDetail: [],                	templateResult: [],                	allFee: 0,                	projectList: null,                	labelIndex: 2,                	labelCode: 1,                	spanLabel: [{                		labelName: "(转)家庭病床",                		code: 3                	}, {                		labelName: "(转)社区医院",                		code: 2                	}, {                		labelName: "康复计划",                		code: 1                	}],                	jDlist: null,                	zDlist: null,                	selectProjectDetail: null,                	searchKey: null,                	havePlan: false,                	frequencyList: [],                	diagnosisInfo:"",                	indexOrder:0,                	profileRes:[],                	nodata:false,                	subsidiaryInfo:{},                	edit:true,                	selectDiseaseIndex:'',                	isPlanId :''                },                mounted: function() {                	this.selectFrequencys()                	if(httpData.patient) {                		this.isPlan = false                		this.allFee = 0                		this.templateDetail = []                		this.pati = {patient: httpData.patient}                		this.getPatientInfo()                		this.findTemplateList()                		this.diagnosisQuery()                	}                },                methods: {                	//获取诊疗信息                	diagnosisQuery:function(){                		var vm = this;                		loadding = layer.load(0, {shade: false});                		params = {//              			patient: this.pati.patient,                			patient:"3b26a7905e034c36a5ba8e65bdc0dc7f",							type: '2',							page: 1,							pageSize: 50,							lastTime: ''                		}                		recoverAPI.diagnosisQuery(params).then(function(res){                			layer.close(loadding)                			if (res.status == 200) {                				if(res.data.length == 0){                					vm.diagnosisInfo = [{orgName:'无'}]                					console.log(vm.diagnosisInfo)                					vm.nodata = true                				}else{                					vm.diagnosisInfo = res.data;                				}                				vm.orderHospital(0)                			}else{                				vm.diagnosisInfo = [{orgName:'无'}]                				vm.orderHospital(0)                				showErrorMessage(res.msg);                			}                		})                	},                	//按照医院查询诊疗信息                	orderHospital:function(index){                		var vm = this;                		vm.indexOrder = index                		loadding = layer.load(0, {shade: false});                		var sec_params = {//              			patient: vm.pati.patient,//							event:vm.diagnosisInfo[index].id || "",							patient:"3b26a7905e034c36a5ba8e65bdc0dc7f",							event:"26eec2df-caa9-4b7e-9993-0ad7ae8d0a15",							catalog:'0213',							serial:"1"		                	}                		recoverAPI.diagnosisSubsidiary(sec_params).then(function(res){        					layer.close(loadding)        					vm.subsidiaryInfo = vm.selectXmlDom(res,'0213')        					console.log(vm.subsidiaryInfo)                		})                	},                	//获取xml数据					selectXmlDom: function (profileRes,tempalteCode) {						var vm = this;						if(profileRes.status == 200){							var $dom = $(profileRes.data.replace(/<\?xml .*\?>/,'')),								version = $dom.find(">version").length?$dom.find(">version").attr("code"):$dom.attr('version');							$.trim(version) || (function () {								version = $dom.find(">ClinicalDocument").length? '2.0.0.1' : '';							})();							if($.trim(version)) {								var verNum = version.split('.')[0];									var  jsonData = {}									// xml 转 json									if((typeof profileRes.data=='string')&&profileRes.data.constructor==String) {										// 去除携带的脚本内容										profileRes.data = profileRes.data.replace(/<script[^>]*?>[\s\S]*?<\/script>/ig,'');//										console.log(profileRes.data.replace(/<\?xml .*\?>/,''))										jsonData = vm.handleData(profileRes.data.replace(/<\?xml .*\?>/,''));									}							}						}else{							showErrorMessage(profileRes.msg)							jsonData = {data:{}}						}						return jsonData;					},					handleData :function (xmlStr) {						var $xmlDom = $(xmlStr),							$nodes = {														} ;						var resultData = []; 						return {							data:{								"department": $xmlDom.find('component section entry inDept').text(),//科室								"dednumber": $xmlDom.find('component section entry bed').text(),//床号								"HospitalizationNumber": "",//住院号								"name": $xmlDom.find('recordTarget patient name').text(),//姓名								"sex": $xmlDom.find('recordTarget patient sex').text(),//性别								"nation": $xmlDom.find('recordTarget nation').text(),//民族								"marriage": $xmlDom.find('recordTarget marriage').text(),//婚姻								"admissionTime": $xmlDom.find('component section entry inTime').attr('value'),//入院时间								"dischargeTime": $xmlDom.find('component section entry outTime').attr('value'),//出院时间								"lengthStay": $xmlDom.find('component section entry inHospitalDay').text(),//住院天数								"admissionStatus": $xmlDom.find('component section entry inCondition').text(),//入院情况								"admissionDiagnosis": $xmlDom.find('component section entry inDiagnosis').text(),//入院诊断								"dischargeDiagnosis": $xmlDom.find('component section entry outDiagnosis').text(),//出院诊断								"DiagnosisProcess": $xmlDom.find('component section entry remedialCourse').text(),//诊疗经过								"dischargeStatus": $xmlDom.find('component section entry outCondition').text(),//出院情况								"dischargeOrder": $xmlDom.find('component section entry outOrder').text(),//出院医嘱								"treatmentOutcome": $xmlDom.find('component section entry remedialResult').text(),//治疗结果								"residentPhysician": $xmlDom.find('residentDoctor name').text(),//住院医师								"attendingDoctor": $xmlDom.find('inChargeDoctor name').text(),//主治医师								"time": $xmlDom.find('inChargeDoctor time').attr('value')//时间							}						}					},					//编辑诊疗					editdiagnosis:function(){						var  vm = this;						vm.edit = !vm.edit;						vm.subsidiaryInfo.data.department = $('#department').find('input').val()						vm.subsidiaryInfo.data.attendingDoctor = $('#attendingDoctor').find('input').val()						vm.subsidiaryInfo.data.admissionDiagnosis = $('#department').find('input').val()						vm.subsidiaryInfo.data.dischargeDiagnosis = $('#dischargeDiagnosis').find('input').val()					},                	// 获取频次列表                	selectFrequencys: function() {                		var vm = this,			    			loadding = layer.load(0, {shade: false});			    		recoverAPI.selectFrequencys().then(function(res) {							layer.close(loadding)							if(res.status == 200) {								vm.frequencyList = res.data							} else {								showErrorMessage(res.msg);							}						})                	},                	// 获取居民信息                	getPatientInfo: function() {                		this.findPatientSignSpecialistInfo()                		var vm = this,			    			loadding = layer.load(0, {shade: false}),			    			params = {			    				patient: this.pati.patient			    			}						recoverAPI.getPatientInfo(params).then(function(res) {							layer.close(loadding)							if(res.status == 200) {								vm.patiInfo = res.data								vm.pati.patientName = res.data.name								vm.jDlist = [{									name: vm.patiInfo.ssDoctorName || vm.patiInfo.jtDoctorName,									code: vm.patiInfo.ssDoctor || vm.patiInfo.jtDoctor								}, {									name: vm.patiInfo.ssDoctorHealthName || vm.patiInfo.jtDoctorHealthName,									code: vm.patiInfo.ssDoctorHealth || vm.patiInfo.jtDoctorHealth								}]							} else {								showErrorMessage(res.msg);							}						})                	},                	// 签约专科信息                	findPatientSignSpecialistInfo: function() {                		var vm = this,			    			params = {			    				patient: this.pati.patient,			    				doctor: docInfo.uid			    			}						recoverAPI.findPatientSignSpecialistInfo(params).then(function(res) {							if(res.status == 200) {								vm.pati.teamCode = res.data.teamCode								vm.specialistTeam(res.data.teamCode)							} else {								showErrorMessage(res.msg);							}						})                	},                	// 获取专科团队                	specialistTeam: function(teamcode) {                		var vm = this,			    			params = {			    				teamId: teamcode			    			}						recoverAPI.specialistTeam(params).then(function(res) {							if(res.status == 200) {								vm.zDlist = res.data.members							} else {								showErrorMessage(res.msg);							}						})                	},                	// 模板列表                	findTemplateList: function() {                		var vm = this,			    			loadding = layer.load(0, {shade: false}),			    			params = {			    				patient: this.pati.patient,			    				doctor: docInfo.uid			    			}						recoverAPI.findTemplateList(params).then(function(res) {							layer.close(loadding)							if(res.status == 200) {								vm.mubanList = res.data							} else {								showErrorMessage(res.msg);							}						})                	},                	// 模板详细                	findTemplateDetail: function(templateId) {                		var vm = this,			    			loadding = layer.load(0, {shade: false}),			    			params = {			    				templateId: templateId			    			}						recoverAPI.findTemplateDetail(params).then(function(res) {							layer.close(loadding)							if(res.status == 200) {								vm.templateDetail = []								vm.templateResult = res.data								vm.findServiceItemsByHospital()							} else {								showErrorMessage(res.msg);							}						})                	},                	// 服务项目列表                	findServiceItemsByHospital: function() {                		var vm = this,			    			loadding = layer.load(0, {shade: false}),			    			params = {			    				doctor: docInfo.uid,								patient: this.pati.patient,								serviceItemName: this.searchKey			    			}						recoverAPI.findServiceItemsByHospital(params).then(function(res) {							layer.close(loadding)							if(res.status == 200) {								vm.projectList = $.each(res.data[0], function(index, o) {									$.each(vm.templateResult, function(index1, o1) {										if(o1.specialistServiceItemDO.itemType == o.itemType) {											$.each(o.item, function(index2, o2) {												if(o1.specialistServiceItemDO.diseaseItem == o2.itemName) {													$.each(o2.hospitalServiceItems, function(index3, o3) {														if(o3.serviceItemId == o1.serviceItemId) {															o3.isSelect = true															o3.selectDoc = false															o3.selectDate = 1															o3.value14 = null															o3.value15 = null															o3.specialistServiceItemDO.executeTime = []															o3.specialistServiceItemDO.selectDateRange = []															// 默认频次															o3.selectFre = false															o3.frequencyCode = vm.frequencyList[0].code															o3.frequency = vm.frequencyList[0]															o3.frequencyList = vm.frequencyList															o3.timeType = 0															o3.remark = null															if(o3.flag == 2) {																o3.executeDoctor = vm.zDlist[0].code																o3.executeDoctorName = vm.zDlist[0].name																o3.docList = vm.zDlist															} else {																o3.executeDoctor = vm.jDlist[0].code																o3.executeDoctorName = vm.jDlist[0].name																o3.docList = vm.jDlist															}															vm.templateDetail.push(o3)														}													});												}											});										}									});									return o;								});							} else {								showErrorMessage(res.msg);							}						})                	},                	searchProject: function() {                		this.findServiceItemsByHospital()                	},                	setPatImg: function(src) {			    		if(!src) {			    			return "../../../images/p-female.png"			    		} else {			    			var str = httpRequest.getImgUrl(src);			    			return str			    		}			    	},			    	changeSelectFre: function(index, bool) {			    		this.templateDetail[index].selectFre = !bool			    		this.isTest = !this.isTest			    	},			    	changeSelectDoc: function(index, bool) {			    		this.templateDetail[index].selectDoc = !bool			    		this.isTest = !this.isTest			    	},			    	// 选择频次			    	selectFre: function(index, list) {			    		this.templateDetail[index].selectFre = false			    		this.templateDetail[index].frequencyCode = list.code			    		this.templateDetail[index].frequency = list			    		this.templateDetail[index] = this.templateDetail[index]			    		this.isTest = !this.isTest			    	},			    	// 选择时间段			    	selectTimeType: function(index, timetype) {			    		this.templateDetail[index].timeType = timetype			    		this.isTest = !this.isTest			    	},//			    	选择执行医生			    	selectLi: function(index, list) {			    		this.templateDetail[index].selectDoc = false			    		this.templateDetail[index].executeDoctor = list.code			    		this.templateDetail[index].executeDoctorName = list.name			    		this.templateDetail[index] = this.templateDetail[index]			    		this.isTest = !this.isTest			    	},			    	// 删除配置计划			    	subTemplate: function(index, detail) {			    		var vm = this			    		this.isTest = !this.isTest			    		this.templateDetail.splice(index, 1)			    		var len = detail.specialistServiceItemDO.executeTime.length			    		if(len) {			    			this.checkAllMoney()			    		}			    		var deleteJudge = true			    		$.each(vm.templateDetail, function(index, o) {			    			if(o.hospitalServiceItemId == detail.hospitalServiceItemId) {			    				deleteJudge = false			    			}			    		});			    		if(deleteJudge) {			    			$.each(vm.projectList, function(index, o) {								if(detail.specialistServiceItemDO.itemType == o.itemType) {									$.each(o.item, function(index2, o2) {										if(detail.specialistServiceItemDO.diseaseItem == o2.itemName) {											$.each(o2.hospitalServiceItems, function(index3, o3) {												if(o3.serviceItemId == detail.serviceItemId) {													o3.isSelect = false													o3.specialistServiceItemDO.executeTime = []												}											});										}									});								}							});			    		}						vm.judgeHavePlan()			    	},			    	// 复制计划			    	copyTemplate: function(index, detail) {			    		var vm = this,			    			obj = JSON.parse(JSON.stringify(detail))//			    		this.templateDetail[index] = detail			    		this.isTest = !this.isTest			    		obj.specialistServiceItemDO.executeTime = []			    		obj.value14 = null			    		obj.value15 = null			    		this.templateDetail.push(obj)			    		this.checkAllMoney()			    	},			    	// 选择项目			    	selectProject: function(index, index2, index3, o) {			    		this.selectProjectDetail = o                		selectPatientIndex = layer.open({							type: 2,							area: ['400px', '500px'],							shade: 0.5,							title: '选择项目',							closeBtn: 1,							shift: 5,							shadeClose: false, //点击遮罩关闭层							content: "select-project.html?isLook=true&projectId=" + o.id + "&index=" + index + "&index3=" + index3 + "&index2=" + index2						});                	},                	// 添加项目                	addProject: function(index, index2, index3, obj) {                		if(obj) {                			this.selectProjectDetail = obj                		}                		if(this.selectProjectDetail.isSelect) {                			showWarningMessage("已添加!")                			return false;                		}                		this.selectProjectDetail.isSelect = true                		this.selectProjectDetail.selectDoc = false                		this.selectProjectDetail.selectDate = 1						this.selectProjectDetail.value14 = null						this.selectProjectDetail.value15 = null                		this.selectProjectDetail.specialistServiceItemDO.executeTime = []                		this.selectProjectDetail.specialistServiceItemDO.selectDateRange = []                		// 频次选择                		this.selectProjectDetail.selectFre = false                		this.selectProjectDetail.frequencyCode = this.frequencyList[0].code                		this.selectProjectDetail.frequency = this.frequencyList[0]                		this.selectProjectDetail.frequencyList = this.frequencyList                		this.selectProjectDetail.timeType = 0						this.selectProjectDetail.remark = null						if(this.selectProjectDetail.flag == 2) {							this.selectProjectDetail.executeDoctor = this.zDlist[0].code							this.selectProjectDetail.executeDoctorName = this.zDlist[0].name							this.selectProjectDetail.docList = this.zDlist						} else {							this.selectProjectDetail.executeDoctor = this.jDlist[0].code							this.selectProjectDetail.executeDoctorName = this.jDlist[0].name							this.selectProjectDetail.docList = this.jDlist						}                		this.templateDetail.push(this.selectProjectDetail)                		this.projectList[index].item[index2].hospitalServiceItems[index3] = this.selectProjectDetail                	},                	// 查看项目                	lookProject: function(o) {                		selectPatientIndex = layer.open({							type: 2,							area: ['400px', '500px'],							shade: 0.5,							title: '查看项目',							closeBtn: 1,							shift: 5,							shadeClose: false, //点击遮罩关闭层							content: "select-project.html?projectId=" + o.id						});                	},                	// 选择居民                	selectPatient: function() {                		selectPatientIndex = layer.open({							type: 2,							area: ['400px', '500px'],							shade: 0.5,							title: '同步出院小结',							closeBtn: 1,							shift: 5,							shadeClose: false, //点击遮罩关闭层							content: "select-patient.html"						});                	},                	// 选择居民回调                	selectPatientOk: function(pati) {                		this.isPlan = false                		this.allFee = 0                		this.templateDetail = []                		this.pati = pati                		this.getPatientInfo()                		this.findTemplateList()                		this.diagnosisQuery()                	},                	// 添加模板                	addMuban: function(oId) {                		var vm = this                		vm.selectDiseaseIndex = layer.open({							type: 2,							area: ['400px', '500px'],							shade: 0.5,							title: '选择疾病',							closeBtn: 1,							shift: 5,							shadeClose: false, //点击遮罩关闭层							content: "select-disease.html?teamCode=" + vm.pati.teamCode +"&templateId=" + oId || ''						});                	},                	// 取消计划                	canclePlan: function(obj) {                		var vm = this                		cancleIndex = layer.open({							type: 2,							area: ['400px', '180px'],							shade: 0.5,							title: '取消确认',							closeBtn: 1,							shift: 5,							shadeClose: false, //点击遮罩关闭层							content: "cancle_sure.html"						});                	},                	cancleSure: function() {                		this.isPlan = false                		this.allFee = 0                		this.templateDetail = []                	},                	newPlan: function(disease, templateId) {                		this.diseaseObj = disease                		this.isPlan = true                		if(templateId) {                			this.findTemplateDetail(templateId)                		} else {	                		this.templateDetail = []	                		this.findServiceItemsByHospital()	                	}                	},                	selectPro: function(pro, index) {                		if(pro == 1) {                			this.proIndex2 = null;                			this.proIndex1 == index ? this.proIndex1 = null : this.proIndex1 = index                		} else {                			this.proIndex2 == index ? this.proIndex2 = null : this.proIndex2 = index                		}                	},                	setLabelIndex: function(index, label) {                		this.labelIndex = index                		this.labelCode = label.code                	},                	changeSelectDate: function(index, num) {                		if(this.templateDetail[index].specialistServiceItemDO.executeTime.length) {                			showWarningMessage("请先清除此选项的计划时间!");                			return false;                		}                		this.isTest = !this.isTest                		this.templateDetail[index].selectDate = num                	},                	openSelectTime: function(index) {                		var vm = this                		selectTimeIndex = layer.open({							type: 2,							area: ['600px', '500px'],							shade: 0.5,							title: '服务时间选择',							closeBtn: 1,							shift: 5,							shadeClose: false, //点击遮罩关闭层							content: "select_timer.html"						});                	},                	// 选择日期                	getSelectDate: function(index) {                		var vm = this,                			projectId = vm.templateDetail[index].hospitalServiceItemId;                		vm.templateDetail = $.map(vm.templateDetail, function(o, index) {								if(projectId == o.hospitalServiceItemId) {									o.isTimeSame = false								}								return o							})                		this.templateDetail[index].specialistServiceItemDO.executeTime = []                		if(!this.templateDetail[index].value15) {                			this.checkAllMoney()                			return false;                		}                		var arr = this.templateDetail[index].value15                		this.templateDetail[index].specialistServiceItemDO.executeTime = arr                		this.templateDetail[index].value14 = null                		this.isTest = !this.isTest                		this.checkAllMoney()                		this.judgeHavePlan()                	},                	// 选择周期                	getRandgeDate: function(index) {                		var vm = this,                			projectId = vm.templateDetail[index].hospitalServiceItemId;                		vm.templateDetail = $.map(vm.templateDetail, function(o, index) {								if(projectId == o.hospitalServiceItemId) {									o.isTimeSame = false								}								return o							})                		this.templateDetail[index].specialistServiceItemDO.executeTime = []                		if(!this.templateDetail[index].value14) {                			this.checkAllMoney()                			return false;                		}                		var arr = this.templateDetail[index].value14,                			startTime = new Date(arr[0]).getTime(),                			endTime = new Date(arr[1]).getTime(),                			absTime = endTime - startTime,                			oneday = 60 * 60 *24 * 1000,                			i = 0;                		for(i; i * oneday <= absTime; i++) {                			var num = i * oneday + startTime,                				str = new Date(num).format("yyyy-MM-dd")                			this.templateDetail[index].specialistServiceItemDO.executeTime.push(str)                		}                		this.checkAllMoney()                		var obj = {                			startTime: arr[0],                			endTime: arr[1],                			length: i                		}                		this.templateDetail[index].specialistServiceItemDO.selectDateRange.push(obj)                		this.templateDetail[index].value15 = null                		this.isTest = !this.isTest                		this.judgeHavePlan()                	},                	// 计算总费用                	checkAllMoney: function() {                		var vm = this                		this.allFee = 0                		$.each(vm.templateDetail, function(index, o) {                			var fee = vm.mul(vm.mul(o.expense, o.frequency.count), o.specialistServiceItemDO.executeTime.length)                			vm.allFee = vm.add(vm.allFee, fee)                		});                	},//              	spliceTimeArr: function(index, ind) {//              		var vm = this//              		this.templateDetail[index].specialistServiceItemDO.executeTime.splice(ind, 1)//              		this.isTest = !this.isTest//              		vm.allFee = vm.sub(vm.allFee, vm.templateDetail[index].expense)//              		vm.judgeHavePlan()//              	},//              	spliceTimeRange: function(index, ind) {//              		var startPos = 0,//              			len = this.templateDetail[index].specialistServiceItemDO.selectDateRange[ind].length,//              			vm = this//              		for(var i = 0; i < ind; i++) {//              			startPos += this.templateDetail[index].specialistServiceItemDO.selectDateRange[i].length//              		}//              		this.templateDetail[index].specialistServiceItemDO.selectDateRange.splice(ind, 1)//              		this.templateDetail[index].specialistServiceItemDO.executeTime.splice(startPos, len)//              		this.isTest = !this.isTest//              		vm.allFee = vm.sub(vm.allFee, vm.mul(vm.templateDetail[index].expense, len))//              		vm.judgeHavePlan()//              	},                	judgeHavePlan: function() {                		for(var k = 0; k < this.templateDetail.length; k++) {                			for(var i = 0; i < this.templateDetail[k].specialistServiceItemDO.executeTime.length; i++) {		    					if(this.templateDetail[k].specialistServiceItemDO.executeTime[i]) {		    						this.havePlan = true;		    						return false;		    					}		    				}                		}                		this.havePlan = false                	},                	createRehabilitationPlan: function() {                		if(!this.havePlan) {                			showWarningMessage("请选择计划时间!")                			return false;                		}//              		for(var k = 0; k < this.templateDetail.length; k++) {//              			for(var i = 0; i < this.templateDetail[k].specialistServiceItemDO.executeTime.length; i++) {//		    					for(var j = i + 1; j < this.templateDetail[k].specialistServiceItemDO.executeTime.length; j++) {//		    						if(this.templateDetail[k].specialistServiceItemDO.executeTime[i] == this.templateDetail[k].specialistServiceItemDO.executeTime[j]) {//		    							showWarningMessage("请核对项目“" + this.templateDetail[k].specialistServiceItemDO.title + "”的计划时间选择!");//		    							return false;//		    						}//		    					}//		    				}//              		}                								var vm = this;			    		if(vm.edit == true){			    			var loadding = layer.load(0, {shade: false}),			    			data = {			    				patient: this.pati.patient,			    				name: this.pati.patientName,			    				title: this.pati.patientName + this.diseaseObj.diseaseName + "康复计划",			    				disease: this.diseaseObj.diseaseCode,			    				diseaseName: this.diseaseObj.diseaseName,			    				planType: this.labelCode,			    				payment: 2,			    				totalExpense: this.allFee,			    				detail: []			    			},			    			params = {};				    		$.each(vm.templateDetail, function(index, o) {				    			if(o.specialistServiceItemDO.executeTime.length) {				    				var executeTime = []				    				$.each(o.specialistServiceItemDO.executeTime, function(ind, v) {				    					v += ' 00:00'				    					executeTime.push(v)				    				});				    				var obj = {				    					hospitalServiceItemId: o.id,				    					type: o.flag == 2 ? 2 : 1,				    					doctor: o.executeDoctor,				    					doctorName: o.executeDoctorName,				    					executeTimes: executeTime.join(","),				    					frequencyCode: o.frequencyCode,				    					timeType: o.timeType,				    					remark: o.remark || ''				    				}				    				data.detail.push(obj)				    			}				    		});				    		params = {				    			json: JSON.stringify(data)				    		}							recoverAPI.createRehabilitationPlan(params).then(function(res) {								layer.close(loadding)								if(res.status == 200) {									vm.isPlanId = res.data									if(vm.isPlanId){										var thr_parems ={											patient:vm.pati.patient,											patientName:vm.pati.patientName,											planId:vm.isPlanId,											hospitalName:$('.input-group-btn button').text().trim(),											department:$('#department').find('input').val(),//vm.subsidiaryInfo.data.department|| ""											attendingDoctorName:$('#attendingDoctor').find('input').val(),//vm.subsidiaryInfo.data.attendingDoctor ||""											admittingDiagnosis:$('#admissionDiagnosis').find('input').val(),//vm.subsidiaryInfo.data.admissionDiagnosis || ""											dischargeDiagnosis:$('#dischargeDiagnosis').find('input').val(),//vm.subsidiaryInfo.data.dischargeDiagnosis|| ""											advice:$('.tipText').val().trim(),//vm.subsidiaryInfo.data.dischargeOrder ||""											dischargeTime:vm.subsidiaryInfo.data.dischargeTime || ""										}										loadding = layer.load(0, {shade: false});										recoverAPI.preservationInfo(thr_parems).then(function(res){				        					layer.close(loadding)				        					if (res.status == 200) {				        						setTimeout(function() {													window.location.href = "../../rehabilitation/html/health_control.html"												}, 1000)				                				showSuccessMessage('保存成功')			            					}else{			                					showErrorMessage(res.msg);			                				}			                			})									}									showSuccessMessage("康复计划配置成功!")								} else {									showErrorMessage(res.msg || "同康复计划项目创建时间重复!");									vm.templateDetail = $.map(vm.templateDetail, function(o, index) {										$.each(res.data, function(ind, v) {											if(v == o.id) {												o.isTimeSame = true											}										});										return o									})								}							})			    		}else{			    			showSuccessMessage("请先保存诊疗信息!")			    		}    				},    				// 字符串方法计算加减乘除(精确度百分位)               		add: function(num1,num2){			            var r1,r2,m,n;			            try{r1=num1.toString().split(".")[1].length}catch(e){r1=0}			            try{r2=num2.toString().split(".")[1].length}catch(e){r2=0}			            m = Math.pow(10,Math.max(r1,r2));			            n = (r1>=r2)?r1:r2;			            return ((num1*m + num2*m)/m).toFixed(n);			        },			        sub: function(num1,num2){			            var r1,r2,m,n;			            try{r1=num1.toString().split(".")[1].length}catch(e){r1=0}			            try{r2=num2.toString().split(".")[1].length}catch(e){r2=0}			            n = (r1>=r2)?r1:r2;			            m = Math.pow(10,Math.max(r1,r2));			            return ((num1*m - num2*m)/m).toFixed(n);			        },			        mul: function(num1,num2){			            var m = 0;			            try{m+=num1.toString().split(".")[1].length}catch(e){}			            try{m+=num2.toString().split(".")[1].length}catch(e){}			            return (Number(num1.toString().replace(".",""))*Number(num2.toString().replace(".","")))/Math.pow(10,m)			        },			        div: function(arg1,arg2){			            var t1=0,t2=0,r1,r2;			            try{t1=arg1.toString().split(".")[1].length}catch(e){}			            try{t2=arg2.toString().split(".")[1].length}catch(e){}			            r1=Number(arg1.toString().replace(".",""));			            r2=Number(arg2.toString().replace(".",""));			            return (r1/r2)*Math.pow(10,t2-t1);			        }                }            })		</script>	</body></html>
 |