hwy 3 viikkoa sitten
vanhempi
commit
32cee424bc

+ 468 - 413
app/rehabilitation/html/rehabilitation_management.html

@ -1,419 +1,474 @@
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>康复管理</title>
    <link rel="shortcut icon" href="../../favicon.ico" />
    <link rel="stylesheet" type="text/css" 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" />
    <link rel="stylesheet" href="../../../plugins/toastr/toastr.min.css" />
    <link rel="stylesheet" href="../../../plugins/element-ui/element-ui.css" />
    <link rel="stylesheet" type="text/css" href="../css/date.css" />
    <link rel="stylesheet" href="../css/common.css" />
    <link rel="stylesheet" href="../css/rehabilitation_management.css" />
    <style>
      .plr11 {
        padding-left: 11px;
        padding-right: 11px;
      }
      .div-line {
        width: 4px;
        height: 20px;
        background: #12b7f5;
        margin-right: 9px;
        margin-top: 5px;
      }
      .lh30 {
        height: 30px;
        line-height: 30px;
      }
      .mr21 {
        margin-right: 21px;
      }
      .c-ff9630 {
        color: #ff9630;
      }
      .pb23 {
        padding-bottom: 23px;
      }
      .plr13 {
        padding-left: 13px;
        padding-right: 13px;
      }
      .dialos-textarea {
        padding: 25px 10px 25px 15px;
        min-height: 140px;
        width: 100%;
        background: #f5f5fa;
        border: 0;
        margin-top: 5px;
        text-indent: 28px;
        resize: none;
        line-height: 28px;
      }
      .bgc-2dbe55 {
        background-color: #2dbe55;
      }
      .layui-layer-loading {
        margin-left: auto;
        margin-right: auto;
      }
      .recoveryLabel {
        height: 28px;
        line-height: 28px;
        font-size: 14px;
        /* border-radius: 30px 0 0 30px; */
        padding: 0px 0px 0 10px;
        /* background-color: rgba(255, 149, 38, 0.05); */
        color: #ff9526;
        position: relative;
      }
      .recoveryLabel:after {
        content: '';
        height: 6px;
        width: 6px;
        border-radius: 50%;
        background-color: #ff9526;
        position: absolute;
        left: 0px;
        top: 10px;
      }
      .filter-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 6px 0;
      }
      .filter-info {
        display: flex;
        justify-content: space-between;
        border: 1px solid #e5e5e5;
        height: 50px;
        align-items: center;
        padding: 0 6px;
      }
    </style>
  </head>
	<head>
		<meta charset="UTF-8">
		<title>康复管理</title>
		<link rel="shortcut icon" href="../../favicon.ico">
		<link rel="stylesheet" type="text/css" 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" />
		<link rel="stylesheet" href="../../../plugins/toastr/toastr.min.css">
		<link rel="stylesheet" href="../../../plugins/element-ui/element-ui.css" />
		<link rel="stylesheet" type="text/css" href="../css/date.css" />
		<link rel="stylesheet" href="../css/common.css" />
		<link rel="stylesheet" href="../css/rehabilitation_management.css" />
		<style>
			.plr11{
				padding-left: 11px;
				padding-right: 11px;
			}
			.div-line{
				width: 4px; height: 20px;background: #12b7f5;
				margin-right: 9px;
				margin-top: 5px;
			}
			.lh30{
				height: 30px;
				line-height: 30px;
			}
			.mr21{
				margin-right: 21px;
			}
			.c-ff9630{
				color: #ff9630;
			}
			.pb23{
				padding-bottom: 23px;
			}
			.plr13{
				padding-left: 13px;
				padding-right: 13px;
			}
			.dialos-textarea{
				padding: 25px 10px 25px 15px;
				min-height: 140px;
				width: 100%;
				background: #F5F5FA;
				border: 0;
				margin-top: 5px;
				text-indent: 28px;
				resize: none;
				line-height: 28px;
			}
			.bgc-2dbe55 {background-color: #2dbe55;}
			.layui-layer-loading{
				margin-left: auto;
				margin-right: auto;
			}
			.recoveryLabel{
				height: 28px;
				line-height: 28px;
				font-size: 14px;
				/* border-radius: 30px 0 0 30px; */
				padding: 0px 0px 0 10px;
				/* background-color: rgba(255, 149, 38, 0.05); */
				color: #FF9526;
				position: relative;
			}
			.recoveryLabel:after{
				content: '';
				height: 6px;
				width: 6px;
				border-radius: 50%;
				background-color: #FF9526;
				position: absolute;
				left: 0px;
				top: 10px;
			}
			.filter-top{
				display: flex;
				justify-content: space-between;
				align-items: center;
				margin: 6px 0;
			}
			.filter-info{
				display: flex;
				justify-content: space-between;
				border: 1px solid #e5e5e5;
				height: 50px;
				align-items: center;
				padding: 0 6px;
			}
		</style>
	</head>
	<body>
		<div class="c-container ui-grid ui-grid-vertical" id="app" v-cloak>
			<div class="page-title flex-box ui-col-0" style="justify-content: flex-start">
				<div class="flex-box-item mw400" flex-grow="2">
					<span class="page-title-name">康复计划</span>
					<a class="icon icon-back icon-16 mr10" href="javascript:history.back();"></a><i class="icon icon-shuaxin icon-16" @click="refreshPage"></i>
				</div>
				<div v-if="!showServerItemDetail" class="flex-box-item text-center" flex-grow="5">
					<div class="div-kuaisu-task" @click="changeSearch(1)" v-show="tabStatus!=3">快速找任务</div>
					<div class="pull-right switch-list" v-show="tabStatus!=3">
						<span class="rili" :class="{active:(tabStatus==1)}" @click="tabStatus=1"><i class="icon icon-rili icon-20"></i></span>
						<span class="shijianzhou" :class="{active:(tabStatus==2)}" @click="tabStatus=2"><i class="icon icon-liebiao icon-20"></i></span>
					</div>
				</div>
			</div>
			<div class="rehabilition c-position-r bgc-f5f5f5 ui-col-1" style="margin: 0 !important">
				<div class="search-left w400 c-position-a">
					<span class="c-position-a set-close" @click="changeSearch(-1)"></span>
					<div class="search-condition">
						<p>快速找任务</p>
						<ul class="task-list">
							<li :class="{'active':(searchTask===task.code)}" v-for="task in taskArr" @click="changeTask(task)">{{task.name}}</li>
						</ul>
						<p>任务状态</p>
						<ul class="task-list">
							<li :class="{'active':(status===sts.code)}" v-for="sts in statusArr" @click="changeStatus(sts)">{{sts.name}}</li>
						</ul>
					</div>
					<div class="text-center">
						<button class="btn btn-search" @click="confirmSearch">确认</button>
					</div>
				</div>
				<div class="ui-grid c-h100">
					<div class="div-left ui-col-0 plr11" style="position: fixed;height: calc(100% - 50px);overflow: auto;padding-bottom: 10px;">
						<div class="ui-grid c-border-b lh30">
							<div class="ui-col-0 div-line"></div>
							<div class="ui-col-1 c-f16 c-333">居民信息</div>
						</div>
						<div class="ui-grid c-border-b pb15 pt15">
							<div class="ui-col-0 mr10">
								<img :src="setImgSrc(planInfo.patientPhoto)" width="40" class="c-images-cycle">
							</div>
							<div class="ui-col-1">
								<div class="mt10"><span class="c-f16 mr5">{{planInfo.patientName}}</span><span class="c-f16 c-999">({{planInfo.sex}} {{planInfo.age}}岁)</span></div>
								<div class="tag mt10 tag-1 ml20"></div>
								<div class="recoveryLabel" v-if="planInfo.changeStatus">{{planInfo.changeStatus==1?'签约医生变更':planInfo.changeStatus==2?'签约社区变更':planInfo.changeStatus==3?'签约过期':planInfo.changeStatus==4?'已解约':'已死亡'}}</div>
							</div>
							<div class="ui-col-0 div-patient-home c-f14 c-333">进入居民首页</div>
						</div>
						<div>
							<div class="filter-top">
								<span>筛查信息</span>
								<div class="div-patient-home" @click.stop="gotoCheck">查看筛查历史</div>
							</div>
							<div  @click="view(scList[0].code)" v-if="scList.length" style="display: flex;align-items: center; justify-content: space-between;border: 1px solid #e5e5e5;height: 50px;padding: 0 6px;">
								<div>
									<span style="margin-right: 10px;">{{scList[0].czrq}}</span>
									<span  style="margin-right: 10px;color: #12b7f5;">{{scList[0].templateTitle}}</span>
									<span >{{scList[0].screenResult}}</span>
								</div>
								<div>></div>
							</div>
							<div class="filter-info" v-else>
							<template v-if="planInfo.disease=='3'">
										<span>该患者近一年未进行冠心病的风险评估</span>
										<el-button type="text" @click="gotoSc" v-if="loginDoctor.doctorType!='1'">前往筛查</el-button>
									</template>
									<template v-else>
										<span>暂无筛查记录</span>
									</template>
								</div>
						</div>
						<div class="ui-grid mt15 pb15">
							<div class="ui-col-1 c-f16 c-333">康复计划</div>
							<div class="ui-col-1 c-f14 c-999">总进度:</div>
							<div class="ui-col-0 div-patient-comfirm c-f14 c-fff bgc-12b7f5" v-show="planInfo.status==2 && !planInfo.patientImg" @tap="weiXinConfirmClick">邀请居民确认</div>
						</div>
						<div class="ui-grid">
							<div class="ui-col-1">
								<div class="progress-bar">
									<span class="progress bgc-ff9526" :style="{width: (planInfo.finishedCount/planInfo.allCount*100)+'%'}"></span>
									<span class="p-text">{{planInfo.finishedCount}}/{{planInfo.allCount}}</span>
								</div>
							</div>
						</div>
						<div class="ui-grid c-border-b lh30 mt15">
							<div class="ui-col-0 div-line"></div>
							<div class="ui-col-1 c-f16 c-333">服务医生</div>
						</div>
						<div class="ui-grid pt15" v-for="(doc, index) in docList" :key="index">
							<div class="ui-col-0 ml30 mr21">
								<img :src="setImgSrc(doc.photo)" width="40" class="c-images-cycle">
							</div>
							<div class="ui-col-0" style="width: 150px;">
								<div class="c-f16 c-333">{{doc.name}}</div>
								<div class="c-f14 c-999">{{doc.levelName}}</div>
							</div>
							<!-- <div class="ui-col-1" style="width: 200px;">
  <body>
    <div class="c-container ui-grid ui-grid-vertical" id="app" v-cloak>
      <div class="page-title flex-box ui-col-0" style="justify-content: flex-start">
        <div class="flex-box-item mw400" flex-grow="2">
          <span class="page-title-name">康复计划</span>
          <a class="icon icon-back icon-16 mr10" href="javascript:history.back();"></a>
          <i class="icon icon-shuaxin icon-16" @click="refreshPage"></i>
        </div>
        <div v-if="!showServerItemDetail" class="flex-box-item text-center" flex-grow="5">
          <div class="div-kuaisu-task" @click="changeSearch(1)" v-show="tabStatus!=3">快速找任务</div>
          <div class="pull-right switch-list" v-show="tabStatus!=3">
            <span class="rili" :class="{active:(tabStatus==1)}" @click="tabStatus=1"><i class="icon icon-rili icon-20"></i></span>
            <span class="shijianzhou" :class="{active:(tabStatus==2)}" @click="tabStatus=2"><i class="icon icon-liebiao icon-20"></i></span>
          </div>
        </div>
      </div>
      <div class="rehabilition c-position-r bgc-f5f5f5 ui-col-1" style="margin: 0 !important">
        <div class="search-left w400 c-position-a">
          <span class="c-position-a set-close" @click="changeSearch(-1)"></span>
          <div class="search-condition">
            <p>快速找任务</p>
            <ul class="task-list">
              <li :class="{'active':(searchTask===task.code)}" v-for="task in taskArr" @click="changeTask(task)">{{task.name}}</li>
            </ul>
            <p>任务状态</p>
            <ul class="task-list">
              <li :class="{'active':(status===sts.code)}" v-for="sts in statusArr" @click="changeStatus(sts)">{{sts.name}}</li>
            </ul>
          </div>
          <div class="text-center">
            <button class="btn btn-search" @click="confirmSearch">确认</button>
          </div>
        </div>
        <div class="ui-grid c-h100">
          <div class="div-left ui-col-0 plr11" style="position: fixed; height: calc(100% - 50px); overflow: auto; padding-bottom: 10px">
            <div class="ui-grid c-border-b lh30">
              <div class="ui-col-0 div-line"></div>
              <div class="ui-col-1 c-f16 c-333">居民信息</div>
            </div>
            <div class="ui-grid c-border-b pb15 pt15">
              <div class="ui-col-0 mr10">
                <img :src="setImgSrc(planInfo.patientPhoto)" width="40" class="c-images-cycle" />
              </div>
              <div class="ui-col-1">
                <div class="mt10">
                  <span class="c-f16 mr5">{{planInfo.patientName}}</span>
                  <span class="c-f16 c-999">({{planInfo.sex}} {{planInfo.age}}岁)</span>
                </div>
                <div class="tag mt10 tag-1 ml20"></div>
                <div class="recoveryLabel" v-if="planInfo.changeStatus">
                  {{planInfo.changeStatus==1?'签约医生变更':planInfo.changeStatus==2?'签约社区变更':planInfo.changeStatus==3?'签约过期':planInfo.changeStatus==4?'已解约':'已死亡'}}
                </div>
              </div>
              <div class="ui-col-0 div-patient-home c-f14 c-333">进入居民首页</div>
            </div>
            <div>
              <div class="filter-top">
                <span>筛查信息</span>
                <div class="div-patient-home" @click.stop="gotoCheck">查看筛查历史</div>
              </div>
              <div
                @click="view(scList[0].code)"
                v-if="scList.length"
                style="display: flex; align-items: center; justify-content: space-between; border: 1px solid #e5e5e5; height: 50px; padding: 0 6px">
                <div>
                  <span style="margin-right: 10px">{{scList[0].czrq}}</span>
                  <span style="margin-right: 10px; color: #12b7f5">{{scList[0].templateTitle}}</span>
                  <span>{{scList[0].screenResult}}</span>
                </div>
                <div>></div>
              </div>
              <div class="filter-info" v-else>
                <template v-if="planInfo.disease=='3'">
                  <span>该患者近一年未进行冠心病的风险评估</span>
                  <el-button type="text" @click="gotoSc" v-if="loginDoctor.doctorType!='1'">前往筛查</el-button>
                </template>
                <template v-else>
                  <span>暂无筛查记录</span>
                </template>
              </div>
            </div>
            <div class="ui-grid mt15 pb15">
              <div class="ui-col-1 c-f16 c-333">康复计划</div>
              <div class="ui-col-1 c-f14 c-999">总进度:</div>
              <div class="ui-col-0 div-patient-comfirm c-f14 c-fff bgc-12b7f5" v-show="planInfo.status==2 && !planInfo.patientImg" @tap="weiXinConfirmClick">邀请居民确认</div>
            </div>
            <div class="ui-grid">
              <div class="ui-col-1">
                <div class="progress-bar">
                  <span class="progress bgc-ff9526" :style="{width: (planInfo.finishedCount/planInfo.allCount*100)+'%'}"></span>
                  <span class="p-text">{{planInfo.finishedCount}}/{{planInfo.allCount}}</span>
                </div>
              </div>
            </div>
            <div class="ui-grid c-border-b lh30 mt15">
              <div class="ui-col-0 div-line"></div>
              <div class="ui-col-1 c-f16 c-333">服务医生</div>
            </div>
            <div class="ui-grid pt15" v-for="(doc, index) in docList" :key="index">
              <div class="ui-col-0 ml30 mr21">
                <img :src="setImgSrc(doc.photo)" width="40" class="c-images-cycle" />
              </div>
              <div class="ui-col-0" style="width: 150px">
                <div class="c-f16 c-333">{{doc.name}}</div>
                <div class="c-f14 c-999">{{doc.levelName}}</div>
              </div>
              <!-- <div class="ui-col-1" style="width: 200px;">
								<div class="c-f14 c-333">完成项目:<span class="c-f14 c-ff9630">{{doc.finishedItem}}</span></div>
								<div class="c-f14 c-333">服务次数:<span class="c-f14 c-ff9630">{{doc.serviceCount}}</span></div>
							</div> -->
						</div>
						<div class="ui-grid c-border-b lh30 mt15">
							<div class="ui-col-0 div-line"></div>
							<div class="ui-col-1 c-f16 c-333">康复建议</div>
						</div>
						<div class="ui-grid">
							<textarea placeholder="此处内容是康复建议" readonly class="m0 p10 c-333 mt10 bg-f5f5fa" style="width: 100%;outline: 0;height: 200px;border: 1px solid rgb(225, 225, 225); resize: none;">{{planInfo.adviceContent}}</textarea>
						</div>
						<div class="ui-grid c-border-b lh30 mt15">
							<div class="ui-col-0 div-line"></div>
							<div class="ui-col-1 c-f16 c-333">住院病历</div>
						</div>
						<div>
							<div v-for="(o, i) in medicalRecordsList" class="w-row flex vc c-f14 c-border plr10 ptb5 link-control mt10" @click="viewMedicalDetail(o)">
								<span class="c-666 mr15" v-if="o">
									{{o&&o.admissionTime?formatter(o.admissionTime):formatter(o.createTime)}}
								</span>
								<div class="flex1 c-12b7f5 ellipsis-1">
									{{o&&o.hospitalName?o.hospitalName:''}}
								</div>
							</div>
						</div>
					</div>
					<div class="nav-content-center bgc-fff c-position-r c-h100 div-right ui-col-1" style="margin-left: 460px;height: 100%;" v-show="tabStatus==3">
						<iframe id="framePage" src="" style="width: 100%;height: 100%;border: 0;"></iframe>
					</div>
					<div class="nav-content-center bgc-fff c-position-r c-h100 div-right ui-col-1" style="margin-left: 460px;" v-show="tabStatus!=3">
						<div v-if="!showServerItemDetail" style="position: absolute;top: 15px;left: 101px;">
							<span v-if="!isFastSearch">
							<i class="icon icon-prev icon-20" @click="preMonth"></i>
							<span class="currentDay">{{currentDay}}</span>
							<i class="icon icon-next icon-20" @click="nextMonth"></i></span>
						</div>
						<div v-show="!showServerItemDetail&&tabStatus==1" class="calendar-content ui-grid ui-grid-vertical">
							<div class="calendar-descript">
								<span>图例注释: </span><i class="icon icon-blue"></i> <span>专科团队</span>&emsp;<i class="icon icon-green"></i> <span>家医团队</span>&emsp; <i class="icon icon-flag"></i> <span>我的任务</span>
							</div>
							<!--快速查找-->
							<div class="ui-col-1 c-border-t" style="overflow: hidden; overflow-y: scroll;" v-if="isFastSearch">
								<div v-if="searchData.length>0" class="calendar-days" v-for="searchData1 in searchData">
                                    <div v-for="items in searchData1" class="flex-box clearfix">
                                    	<div class="fl flex-box calendar-day c-fff c-f28 bgc-2dbe55">
                                    		<p class="p0">{{items[0].mounth}}月</p>
                                    	</div>
										<div class="fl calendar-day" v-for="item in items" @click="viewDetail(item.planDetailIds)" :is-future="item.future">
		                                    <span class="day-number">{{item.day}}</span>
		                                    <div class="task-icon">
		                                        <i v-if="item.myTaskFlag" class="icon icon-flag icon-20"></i>
		                                        <i v-if="item.finishFlag" class="icon icon-check"></i>
		                                    </div>
		                                    <div class="coloured-box">
		                                        <span v-if="item.specialist" class="coloured-ribbon coloured-ribbon-blue">专<br />科</span>
		                                        <span v-if="item.family" class="coloured-ribbon coloured-ribbon-green">家<br />医</span>
		                                    </div>
		                                    <div class="progress-box">
		                                        <div class="progress" :style="{opacity:item.specialist?'1':'0'}">
		                                            <span>{{(item.specialist && item.specialist.finish)+'/'+(item.specialist && item.specialist.all)}}</span>
		                                            <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" :style="{width: (item.specialist?(item.specialist.finish/item.specialist.all):0)*100+'%'}"></div>
		                                        </div>
		                                        <div class="progress" :style="{opacity:item.family?'1':'0'}">
		                                            <span>{{(item.family && item.family.finish)+'/'+(item.family && item.family.all)}}</span>
		                                            <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="100" :style="{width: (item.family?(item.family.finish/item.family.all):0)*100+'%'}"></div>
		                                        </div>
		                                        <p v-if="!item.noService" class="mb0 f12" :class="{'visibility-hide':!curTask}" style="line-height: 1;">{{curTaskName || '&emsp;'}}</p>
		                                    </div>
		                                    <p v-if="item.noService" class="no-server">无服务项</p>
		                                </div>
		                            </div>
		                       </div>
								<div v-else-if="!searchData[0].mouth" class="f16 ptb10 text-center">
									<img src="../../../images/wushuju_img.png"  class="mt50"/>
									<p class="c-666">暂无数据</p>
								</div>
							</div>
							<!--无快速查找-->
							<div class="ui-col-1" style="overflow: hidden; overflow-y: scroll;" v-if="!isFastSearch">
							    <div class="calendar-week">
                                    <div class="flex-box text-center">
                                        <div class="flex-box-item">
                                            周一
                                        </div>
                                        <div class="flex-box-item">
                                            周二
                                        </div>
                                        <div class="flex-box-item">
                                            周三
                                        </div>
                                        <div class="flex-box-item">
                                            周四
                                        </div>
                                        <div class="flex-box-item">
                                            周五
                                        </div>
                                        <div class="flex-box-item">
                                            周六
                                        </div>
                                        <div class="flex-box-item">
                                            周日
                                        </div>
                                    </div>
                                </div>
                                <div class="calendar-days">
                                    <div v-for="items in calendarData" class="flex-box">
                                        <div class="calendar-day" v-for="item in items" @click="viewDetail(item.planDetailIds)" :is-future="item.future">
                                            <span class="day-number">{{item.day}}</span>
                                            <div class="task-icon">
                                                <i v-if="item.myTaskFlag" class="icon icon-flag icon-20"></i>
                                                <i v-if="item.finishFlag" class="icon icon-check"></i>
                                            </div>
                                            <div class="coloured-box">
                                                <span v-if="item.specialist" class="coloured-ribbon coloured-ribbon-blue">专<br />科</span>
                                                <span v-if="item.family" class="coloured-ribbon coloured-ribbon-green">家<br />医</span>
                                            </div>
                                            <div class="progress-box">
                                                <div class="progress" :style="{opacity:item.specialist?'1':'0'}">
                                                    <span>{{(item.specialist && item.specialist.finish)+'/'+(item.specialist && item.specialist.all)}}</span>
                                                    <div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" :style="{width: (item.specialist?(item.specialist.finish/item.specialist.all):0)*100+'%'}"></div>
                                                </div>
                                                <div class="progress" :style="{opacity:item.family?'1':'0'}">
                                                    <span>{{(item.family && item.family.finish)+'/'+(item.family && item.family.all)}}</span>
                                                    <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="2" aria-valuemin="0" aria-valuemax="100" :style="{width: (item.family?(item.family.finish/item.family.all):0)*100+'%'}"></div>
                                                </div>
                                                <p v-if="!item.noService" class="mb0 f12" :class="{'visibility-hide':!curTask}" style="line-height: 1;">{{curTaskName || '&emsp;'}}</p>
                                            </div>
                                            <p v-if="item.noService" class="no-server">无服务项</p>
                                        </div>
                                    </div>
    							</div>
							</div>
						</div>
						<div v-show="!showServerItemDetail&&tabStatus==2" class="mt50" style="height:calc(100% - 50px); overflow-y: auto">
							<div class="time-axis" style="max-height: calc(100% - 200px); overflow-y: auto">							
								<div>
									<table class="table">
										<tr>
											<th style="padding-right: 50px;text-align: right;">时间</th>
											<th>项目</th>
											<th>执行人员</th>
											<th>执行地点</th>
											<th class="text-center">相关记录</th>
											<th class="text-center">状态</th>
										</tr>
										<tr v-for="item in timeAxisData" :is-future="item.future">
											<td class="time text-right time-box">
												<p class="mb5">{{item.date}}</p>
												<p class="mb0">{{item.time}}</p>
												<span class="cur-status">{{item.html}}</span>
											</td>
											<td class="project-name mw400">
												<p class="mt10">{{item.name}}</p>
												<p class="ellipsis mb0">{{item.content}}</p>
											</td>
											<td class="executor">{{item.doctor_name}}</td>
											<td class="place-of-execution">{{item.hospital_name}}</td>
											<td class="view-task" @click="viewDetail(item.id,1,item)">查看</td>
											<td class="task-status" :class="item.future==-1?'c-ff3b30':(item.status==0?'c-666':'')">{{item.status==0?'未完成':(item.status==1?'已完成':'已预约')}}</td>
										</tr>
										<tr v-if="!timeAxisData.length">
											<td colspan="6" class="f16 ptb10 text-center">
												<img src="../../../images/wushuju_img.png"  class="mt50"/>
												<p class="c-666">暂无数据</p>
											</td>
										</tr>
									</table>
								</div>
							</div>
							<div class="plr10 pb10">
								<div v-for="(o, i) in limitlessItems" class="flex vc c-f14 c-border plr10 ptb5 mt10 link-control" @click="viewServerItemsDetail(o)">
									<div class="flex1 c-12b7f5 ellipsis-1">
										{{o.name}}
									</div>
									<div style="width: 250px;">
										<div class="flex lh28">
											<span>完成情况:</span>
											<div class="flex1" v-if="!o.frequency_code"><span class="c-FF0000">{{o.compeletTotal}}</span>次</div>
											<div class="flex1" v-else><span class="c-FF0000">{{o.compeletTotal}}/{{o.total}}</span></div>
										</div>
										<div v-if="o.code!='3'" class="flex lh28">
											<span>上次完成:</span>
											<div class="flex1">{{o.firstDate?o.firstDate:'--'}}</div>
										</div>
										<div v-if="o.frequency_code" class="flex lh28">
											<span>下次计划:</span>
											<div class="flex1">{{o.lastDate?o.lastDate:'--'}}</div>
										</div>
										<div v-if="o.code=='3'" class="flex lh28">
											<!-- o.type 1: 血糖 2: 血压  -->
											<span>最近体征:</span>
											<div v-if="!o.type || o.compeletTotal==0" class="">--</div>
											<div v-else-if="o.type==1">
												<span class="zhibiao_icon" :class="{'low':o.levelClazz1=='low', 'high':o.levelClazz1=='high'}">{{o.levelName}}血糖:{{o.value1}}</span>
											</div>
											<div v-else-if="o.type==2" class="flex vc">
												<span class="zhibiao_icon" :class="{'low':o.levelClazz1=='low', 'high':o.levelClazz1=='high'}">收缩压:{{o.value1}}</span>
												<span class="zhibiao_icon" :class="{'low':o.levelClazz2=='low', 'high':o.levelClazz2=='high'}">舒张压:{{o.value2}}</span>
											</div>
										</div>
									</div>
								</div>
							</div>
						</div>
						<server-items-detail ref="serverItemsDetail" v-if="showServerItemDetail" :patientname="planInfo.patientName" :patientcode="planInfo.patientCode" :planid="planId" :plandetailid="serverItemInfo.id" @onclose="showServerItemDetail=false"></server-items-detail>
					</div>
				</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="../../../js/es6-promise.js" charset="utf-8"></script>
		<script type="text/javascript" src="../../../plugins/toastr/toastr.min.js"></script>
		<script type="text/javascript" src="../../../plugins/element-ui/element-ui.js"></script>
		<script type="text/javascript" src="../../../api/http-request.js"></script>
		<script type="text/javascript" src="../../../plugins/layer/layer.min.js"></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" src="../../../js/underscore-1.9.1.js"></script>
		<script type="text/javascript" src="../../../component/rehabilitation/server-items-detail.js"></script>
		<script type="text/javascript" src="../../../js/util.js" charset="utf-8"></script>
		<script type="text/javascript" src="../js/rehabilitation_management.js"></script>
	</body>
</html>
            </div>
            <div class="ui-grid c-border-b lh30 mt15">
              <div class="ui-col-0 div-line"></div>
              <div class="ui-col-1 c-f16 c-333">康复建议</div>
            </div>
            <div class="ui-grid">
              <textarea
                placeholder="此处内容是康复建议"
                readonly
                class="m0 p10 c-333 mt10 bg-f5f5fa"
                style="width: 100%; outline: 0; height: 200px; border: 1px solid rgb(225, 225, 225); resize: none">
{{planInfo.adviceContent}}</textarea
              >
            </div>
            <div class="ui-grid c-border-b lh30 mt15">
              <div class="ui-col-0 div-line"></div>
              <div class="ui-col-1 c-f16 c-333">住院病历</div>
            </div>
            <div>
              <div v-for="(o, i) in medicalRecordsList" class="w-row flex vc c-f14 c-border plr10 ptb5 link-control mt10" @click="viewMedicalDetail(o)">
                <span class="c-666 mr15" v-if="o">{{o&&o.admissionTime?formatter(o.admissionTime):formatter(o.createTime)}}</span>
                <div class="flex1 c-12b7f5 ellipsis-1">{{o&&o.hospitalName?o.hospitalName:''}}</div>
              </div>
            </div>
          </div>
          <div class="nav-content-center bgc-fff c-position-r c-h100 div-right ui-col-1" style="margin-left: 460px; height: 100%" v-show="tabStatus==3">
            <iframe id="framePage" src="" style="width: 100%; height: 100%; border: 0"></iframe>
          </div>
          <div class="nav-content-center bgc-fff c-position-r c-h100 div-right ui-col-1" style="margin-left: 460px" v-show="tabStatus!=3">
            <div v-if="!showServerItemDetail" style="position: absolute; top: 15px; left: 101px">
              <span v-if="!isFastSearch">
                <i class="icon icon-prev icon-20" @click="preMonth"></i>
                <span class="currentDay">{{currentDay}}</span>
                <i class="icon icon-next icon-20" @click="nextMonth"></i>
              </span>
            </div>
            <div v-show="!showServerItemDetail&&tabStatus==1" class="calendar-content ui-grid ui-grid-vertical">
              <div class="calendar-descript">
                <span>图例注释:</span>
                <i class="icon icon-blue"></i>
                <span>专科团队</span>
                &emsp;
                <i class="icon icon-green"></i>
                <span>家医团队</span>
                &emsp;
                <i class="icon icon-flag"></i>
                <span>我的任务</span>
              </div>
              <!--快速查找-->
              <div class="ui-col-1 c-border-t" style="overflow: hidden; overflow-y: scroll" v-if="isFastSearch">
                <div v-if="searchData.length>0" class="calendar-days" v-for="searchData1 in searchData">
                  <div v-for="items in searchData1" class="flex-box clearfix">
                    <div class="fl flex-box calendar-day c-fff c-f28 bgc-2dbe55">
                      <p class="p0">{{items[0].mounth}}月</p>
                    </div>
                    <div class="fl calendar-day" v-for="item in items" @click="viewDetail(item.planDetailIds)" :is-future="item.future">
                      <span class="day-number">{{item.day}}</span>
                      <div class="task-icon">
                        <i v-if="item.myTaskFlag" class="icon icon-flag icon-20"></i>
                        <i v-if="item.finishFlag" class="icon icon-check"></i>
                      </div>
                      <div class="coloured-box">
                        <span v-if="item.specialist" class="coloured-ribbon coloured-ribbon-blue">
                          <br />
                        </span>
                        <span v-if="item.family" class="coloured-ribbon coloured-ribbon-green">
                          <br />
                        </span>
                      </div>
                      <div class="progress-box">
                        <div class="progress" :style="{opacity:item.specialist?'1':'0'}">
                          <span>{{(item.specialist && item.specialist.finish)+'/'+(item.specialist && item.specialist.all)}}</span>
                          <div
                            class="progress-bar"
                            role="progressbar"
                            aria-valuenow="0"
                            aria-valuemin="0"
                            aria-valuemax="100"
                            :style="{width: (item.specialist?(item.specialist.finish/item.specialist.all):0)*100+'%'}"></div>
                        </div>
                        <div class="progress" :style="{opacity:item.family?'1':'0'}">
                          <span>{{(item.family && item.family.finish)+'/'+(item.family && item.family.all)}}</span>
                          <div
                            class="progress-bar progress-bar-success"
                            role="progressbar"
                            aria-valuenow="2"
                            aria-valuemin="0"
                            aria-valuemax="100"
                            :style="{width: (item.family?(item.family.finish/item.family.all):0)*100+'%'}"></div>
                        </div>
                        <p v-if="!item.noService" class="mb0 f12" :class="{'visibility-hide':!curTask}" style="line-height: 1">{{curTaskName || '&emsp;'}}</p>
                      </div>
                      <p v-if="item.noService" class="no-server">无服务项</p>
                    </div>
                  </div>
                </div>
                <div v-else-if="!searchData[0].mouth" class="f16 ptb10 text-center">
                  <img src="../../../images/wushuju_img.png" class="mt50" />
                  <p class="c-666">暂无数据</p>
                </div>
              </div>
              <!--无快速查找-->
              <div class="ui-col-1" style="overflow: hidden; overflow-y: scroll" v-if="!isFastSearch">
                <div class="calendar-week">
                  <div class="flex-box text-center">
                    <div class="flex-box-item">周一</div>
                    <div class="flex-box-item">周二</div>
                    <div class="flex-box-item">周三</div>
                    <div class="flex-box-item">周四</div>
                    <div class="flex-box-item">周五</div>
                    <div class="flex-box-item">周六</div>
                    <div class="flex-box-item">周日</div>
                  </div>
                </div>
                <div class="calendar-days">
                  <div v-for="items in calendarData" class="flex-box">
                    <div class="calendar-day" v-for="item in items" @click="viewDetail(item.planDetailIds)" :is-future="item.future">
                      <span class="day-number">{{item.day}}</span>
                      <div class="task-icon">
                        <i v-if="item.myTaskFlag" class="icon icon-flag icon-20"></i>
                        <i v-if="item.finishFlag" class="icon icon-check"></i>
                      </div>
                      <div class="coloured-box">
                        <span v-if="item.specialist" class="coloured-ribbon coloured-ribbon-blue">
                          <br />
                        </span>
                        <span v-if="item.family" class="coloured-ribbon coloured-ribbon-green">
                          <br />
                        </span>
                      </div>
                      <div class="progress-box">
                        <div class="progress" :style="{opacity:item.specialist?'1':'0'}">
                          <span>{{(item.specialist && item.specialist.finish)+'/'+(item.specialist && item.specialist.all)}}</span>
                          <div
                            class="progress-bar"
                            role="progressbar"
                            aria-valuenow="0"
                            aria-valuemin="0"
                            aria-valuemax="100"
                            :style="{width: (item.specialist?(item.specialist.finish/item.specialist.all):0)*100+'%'}"></div>
                        </div>
                        <div class="progress" :style="{opacity:item.family?'1':'0'}">
                          <span>{{(item.family && item.family.finish)+'/'+(item.family && item.family.all)}}</span>
                          <div
                            class="progress-bar progress-bar-success"
                            role="progressbar"
                            aria-valuenow="2"
                            aria-valuemin="0"
                            aria-valuemax="100"
                            :style="{width: (item.family?(item.family.finish/item.family.all):0)*100+'%'}"></div>
                        </div>
                        <p v-if="!item.noService" class="mb0 f12" :class="{'visibility-hide':!curTask}" style="line-height: 1">{{curTaskName || '&emsp;'}}</p>
                      </div>
                      <p v-if="item.noService" class="no-server">无服务项</p>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div v-show="!showServerItemDetail&&tabStatus==2" class="mt50" style="height: calc(100% - 50px); overflow-y: auto">
              <div class="time-axis" style="max-height: calc(100% - 200px); overflow-y: auto">
                <div>
                  <table class="table">
                    <tr>
                      <th style="padding-right: 50px; text-align: right">时间</th>
                      <th>项目</th>
                      <th>执行人员</th>
                      <th>执行地点</th>
                      <th class="text-center">相关记录</th>
                      <th class="text-center">状态</th>
                    </tr>
                    <tr v-for="item in timeAxisData" :is-future="item.future">
                      <td class="time text-right time-box">
                        <p class="mb5">{{item.date}}</p>
                        <p class="mb0">{{item.time}}</p>
                        <span class="cur-status">{{item.html}}</span>
                      </td>
                      <td class="project-name mw400">
                        <p class="mt10">{{item.name}}</p>
                        <p class="ellipsis mb0">{{item.content}}</p>
                      </td>
                      <td class="executor">{{item.doctor_name}}</td>
                      <td class="place-of-execution">{{item.hospital_name}}</td>
                      <td class="view-task" @click="viewDetail(item.id,1,item)">查看</td>
                      <td class="task-status" :class="item.future==-1?'c-ff3b30':(item.status==0?'c-666':'')">{{item.status==0?'未完成':(item.status==1?'已完成':'已预约')}}</td>
                    </tr>
                    <tr v-if="!timeAxisData.length">
                      <td colspan="6" class="f16 ptb10 text-center">
                        <img src="../../../images/wushuju_img.png" class="mt50" />
                        <p class="c-666">暂无数据</p>
                      </td>
                    </tr>
                  </table>
                </div>
              </div>
              <div class="plr10 pb10">
                <div v-for="(o, i) in limitlessItems" class="flex vc c-f14 c-border plr10 ptb5 mt10 link-control" @click="viewServerItemsDetail(o)">
                  <div class="flex1 c-12b7f5 ellipsis-1">{{o.name}}</div>
                  <div style="width: 250px">
                    <div class="flex lh28">
                      <span>完成情况:</span>
                      <div class="flex1" v-if="!o.frequency_code">
                        <span class="c-FF0000">{{o.compeletTotal}}</span>
                      </div>
                      <div class="flex1" v-else><span class="c-FF0000">{{o.compeletTotal}}/{{o.total}}</span></div>
                    </div>
                    <div v-if="o.code!='3'" class="flex lh28">
                      <span>上次完成:</span>
                      <div class="flex1">{{o.firstDate?o.firstDate:'--'}}</div>
                    </div>
                    <div v-if="o.frequency_code" class="flex lh28">
                      <span>下次计划:</span>
                      <div class="flex1">{{o.lastDate?o.lastDate:'--'}}</div>
                    </div>
                    <div v-if="o.code=='3'" class="flex lh28">
                      <!-- o.type 1: 血糖 2: 血压  -->
                      <span>最近体征:</span>
                      <div v-if="!o.type || o.compeletTotal==0" class="">--</div>
                      <div v-else-if="o.type==1">
                        <span class="zhibiao_icon" :class="{'low':o.levelClazz1=='low', 'high':o.levelClazz1=='high'}">{{o.levelName}}血糖:{{o.value1}}</span>
                      </div>
                      <div v-else-if="o.type==2" class="flex vc">
                        <span class="zhibiao_icon" :class="{'low':o.levelClazz1=='low', 'high':o.levelClazz1=='high'}">收缩压:{{o.value1}}</span>
                        <span class="zhibiao_icon" :class="{'low':o.levelClazz2=='low', 'high':o.levelClazz2=='high'}">舒张压:{{o.value2}}</span>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <server-items-detail
              ref="serverItemsDetail"
              v-if="showServerItemDetail"
              :patientname="planInfo.patientName"
              :patientcode="planInfo.patientCode"
              :planid="planId"
              :plandetailid="serverItemInfo.id"
              @onclose="showServerItemDetail=false"></server-items-detail>
          </div>
        </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="../../../js/es6-promise.js" charset="utf-8"></script>
    <script type="text/javascript" src="../../../plugins/toastr/toastr.min.js"></script>
    <script type="text/javascript" src="../../../plugins/element-ui/element-ui.js"></script>
    <script type="text/javascript" src="../../../api/http-request.js"></script>
    <script type="text/javascript" src="../../../plugins/layer/layer.min.js"></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" src="../../../js/underscore-1.9.1.js"></script>
    <script type="text/javascript" src="../../../component/rehabilitation/server-items-detail.js"></script>
    <script type="text/javascript" src="../../../js/util.js" charset="utf-8"></script>
    <script type="text/javascript" src="../js/rehabilitation_management.js"></script>
  </body>
</html>

+ 55 - 17
component/rehabilitation/server-items-detail.js

@ -188,6 +188,7 @@ Vue.component('server-items-detail', {
  data: function () {
    return {
      scList: [],
      patientInfo: {},
      ynow: currentGMT.getFullYear(), //年份
      mnow: currentGMT.getMonth(), //月份(比实际少一个月---0开始至11)
      dnow: currentGMT.getDate(), //当前日
@ -197,7 +198,7 @@ Vue.component('server-items-detail', {
      tabStatus: 1,
      title: '',
      docInfo: JSON.parse(window.localStorage.getItem('wlyyAgent')),
      docInfo1 : JSON.parse(window.localStorage.getItem('docInfo')),
      docInfo1: JSON.parse(window.localStorage.getItem('docInfo')),
      upImgs: [],
      upImgArr: [],
      imgData: {
@ -220,7 +221,7 @@ Vue.component('server-items-detail', {
      if (this.islimit) {
        this.goToLoadData(true)
      }
    },
    }
  },
  mounted: function () {
    _vm = this
@ -246,7 +247,7 @@ Vue.component('server-items-detail', {
          top.layer.close(loadding)
          if (res.status == 200) {
            vm.service = res.data
            vm.getPatientInfo(vm.service.patient)
            var isZK = vm.docInfo.doctorType == 1 ? true : false
            vm.service.isZK = isZK
            if (vm.service.isMyTask == 1) {
@ -947,6 +948,12 @@ Vue.component('server-items-detail', {
        }
      })
    },
    getPatientInfo(code) {
      var vm = this
      httpRequest.post('doctor/patient_label_info/patient', { data: { patient: code } }).then(function (res) {
        vm.patientInfo = res.data
      })
    },
    updateNoteAndImageRehabilitationOperate: function (planDetailId, relationCode) {
      var vm = this
      var _image = []
@ -974,18 +981,52 @@ Vue.component('server-items-detail', {
      })
    },
    onViewDetail: function (item, type) {
      var planids, recordId
      if (this.islimit) {
        planids = item.id
      console.log('DSADASDADAS', this.service)
      var vm = this
      if (this.scList == 0) {
        this.$confirm('提示该居民近一年没有进行冠心病风险评估,请先进行评估,再进行随访登记', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(function () {
          console.log('1277777')
          top.layer.open({
            type: 2,
            area: ['820px', '648px'],
            shade: 0.5,
            title: 'ASCVD风险评估',
            fixed: true, //不固定
            maxmin: true,
            closeBtn: 1,
            shift: 5,
            shadeClose: false, //点击遮罩关闭层
            content:
              '../../jbsc/html/questionnaire.html?fliter_code=6bcd306aaafb4e4381071346d86fadbb1' +
              '&fliter_title=ASCVD风险评估' +
              '&resident_code=' +
              vm.patientInfo.code +
              '&resident_name=' +
              vm.patientInfo.name +
              '&surveyStatus=2' +
              '&age=' +
              vm.patientInfo.age
          })
          console.log('999900000')
        })
      } else {
        planids = item.id
        recordId = item.recordId
        var planids, recordId
        if (this.islimit) {
          planids = item.id
        } else {
          planids = item.id
          recordId = item.recordId
        }
        this.viewDetail(planids, type, recordId)
      }
      this.viewDetail(planids, type, recordId)
    },
    getList: function () {
      var vm = this
      
      var params = {
        doctor: vm.docInfo1.code,
        diseaseType: vm.service.disease,
@ -998,13 +1039,10 @@ Vue.component('server-items-detail', {
        filterType: 1,
        isAscvd: vm.service.disease == '3' ? 1 : ''
      }
      
      rehaAPI
        .getList(params)
        .then(function (res) {
          vm.scList = res.data
        })
      rehaAPI.getList(params).then(function (res) {
        vm.scList = res.data
      })
    },
    viewDetail: function (planids, type, recordId) {
      var vm = this
@ -1101,7 +1139,7 @@ Vue.component('server-items-detail', {
        // shift: 5,
        shadeClose: false, //点击遮罩关闭层
        content: `../../rehabilitation/html/toDoorService.html?patient=${this.patientcode}&detailId=${this.plandetailid}`,
        end: function(){
        end: function () {
          vm.getServiceItem()
        }
      })