|  | @ -10,29 +10,22 @@
 | 
	
		
			
				|  |  |     <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" />
 | 
	
		
			
				|  |  |   </head>
 | 
	
		
			
				|  |  |   <style>
 | 
	
		
			
				|  |  |     #app {
 | 
	
		
			
				|  |  |       display: flex;
 | 
	
		
			
				|  |  |       /* display: flex; */
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .left {
 | 
	
		
			
				|  |  |       width: 550px;
 | 
	
		
			
				|  |  |       border-right: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  |       height: 100%;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .right {
 | 
	
		
			
				|  |  |       width: 300px;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .left .question-box {
 | 
	
		
			
				|  |  |       border-radius: 6px;
 | 
	
		
			
				|  |  |       border: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  |       margin: 20px 20px 0;
 | 
	
		
			
				|  |  |       padding: 10px 20px;
 | 
	
		
			
				|  |  |       height: 680px;
 | 
	
		
			
				|  |  |       padding: 10px 20px 50px 20px;
 | 
	
		
			
				|  |  |       box-sizing: border-box;
 | 
	
		
			
				|  |  |       overflow: auto;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .title {
 | 
	
		
			
				|  |  |       font-weight: bold;
 | 
	
	
		
			
				|  | @ -44,76 +37,112 @@
 | 
	
		
			
				|  |  |       border-top: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  |       font-size: 14px;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .form-label {
 | 
	
		
			
				|  |  |       margin: 2px 0 6px 0;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .mb8{
 | 
	
		
			
				|  |  |       margin-bottom: 8px;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .right .base-info{
 | 
	
		
			
				|  |  |       padding: 20px;
 | 
	
		
			
				|  |  |       border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .right .complete-rate{
 | 
	
		
			
				|  |  |       padding: 20px;
 | 
	
		
			
				|  |  |       border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  |     .el-checkbox + .el-checkbox {
 | 
	
		
			
				|  |  |       margin-left: 0;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .btn-box{
 | 
	
		
			
				|  |  |       padding: 20px;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .progress{
 | 
	
		
			
				|  |  |       /* margin: 10px auto 0; */
 | 
	
		
			
				|  |  |       background: #fff;
 | 
	
		
			
				|  |  |       height: 126px;
 | 
	
		
			
				|  |  |       display: flex;
 | 
	
		
			
				|  |  |       justify-content: center;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     .info-item{
 | 
	
		
			
				|  |  |       display: flex;
 | 
	
		
			
				|  |  |       font-size: 14px;
 | 
	
		
			
				|  |  |     .el-checkbox {
 | 
	
		
			
				|  |  |       margin-right: 0;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |   </style>
 | 
	
		
			
				|  |  |   <body>
 | 
	
		
			
				|  |  |     <div id="app" v-cloak>
 | 
	
		
			
				|  |  |       <div class="left">
 | 
	
		
			
				|  |  |       <div class="left" :style="flag=='2'?'pointer-events: none;':''">
 | 
	
		
			
				|  |  |         <div class="question-box">
 | 
	
		
			
				|  |  |           <div class="title mb8">随访问题</div>
 | 
	
		
			
				|  |  |           <div class="form-item">
 | 
	
		
			
				|  |  |             <div class="form-label">1、评估时间</div>
 | 
	
		
			
				|  |  |             <el-date-picker v-model="form.evaluationTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
 | 
	
		
			
				|  |  |           </div>
 | 
	
		
			
				|  |  |           <div class="form-item">
 | 
	
		
			
				|  |  |             <div class="form-label">2、评估医院</div>
 | 
	
		
			
				|  |  |             <el-input v-model="form.hospital"></el-input>
 | 
	
		
			
				|  |  |           </div>
 | 
	
		
			
				|  |  |           <div class="form-item">
 | 
	
		
			
				|  |  |             <div class="form-label">3、评估机构</div>
 | 
	
		
			
				|  |  |             <el-input v-model="form.insi"></el-input>
 | 
	
		
			
				|  |  |           </div>
 | 
	
		
			
				|  |  |           <div class="form-item">
 | 
	
		
			
				|  |  |             <div class="form-label">4、姓名</div>
 | 
	
		
			
				|  |  |             <el-input v-model="form.name"></el-input>
 | 
	
		
			
				|  |  |           </div>
 | 
	
		
			
				|  |  |           <div class="form-item">
 | 
	
		
			
				|  |  |             <div class="form-label">5、年龄</div>
 | 
	
		
			
				|  |  |             <el-input v-model="form.age"></el-input>
 | 
	
		
			
				|  |  |           </div>
 | 
	
		
			
				|  |  |           <div class="form-item">
 | 
	
		
			
				|  |  |             <div class="form-label">6、性别</div>
 | 
	
		
			
				|  |  |             <el-radio v-model="form.sex" label="1">男</el-radio>
 | 
	
		
			
				|  |  |             <el-radio v-model="form.sex" label="2">女</el-radio>
 | 
	
		
			
				|  |  |           </div>
 | 
	
		
			
				|  |  |           <div class="form-item">
 | 
	
		
			
				|  |  |             <div class="form-label">7、性别</div>
 | 
	
		
			
				|  |  |             <el-input v-model="form.sex1"></el-input>
 | 
	
		
			
				|  |  |           </div>
 | 
	
		
			
				|  |  |           <div class="form-item">
 | 
	
		
			
				|  |  |             <div class="form-label">7、性别</div>
 | 
	
		
			
				|  |  |             <el-input v-model="form.sex1"></el-input>
 | 
	
		
			
				|  |  |           </div>
 | 
	
		
			
				|  |  |           <el-form label-position="left" label-width="120px">
 | 
	
		
			
				|  |  |             <el-form-item label="姓名" required>
 | 
	
		
			
				|  |  |               <el-input v-model="form.patientName" placeholder="请输入姓名" :readonly="true"></el-input>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="随访日期" required>
 | 
	
		
			
				|  |  |               <el-date-picker v-model="form.followupDate" type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="请选择随访日期"></el-date-picker>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="随访医生" required>
 | 
	
		
			
				|  |  |               <el-input v-model="form.doctorName" placeholder="请输入随访医生" :readonly="true"></el-input>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="血压" required>
 | 
	
		
			
				|  |  |               <el-row :gutter="10" style="display: flex">
 | 
	
		
			
				|  |  |                 <el-col :span="8">
 | 
	
		
			
				|  |  |                   <el-input v-model="form.bloodPressure" placeholder="" :readonly="!editable"></el-input>
 | 
	
		
			
				|  |  |                 </el-col>
 | 
	
		
			
				|  |  |                 <el-col :span="2">/</el-col>
 | 
	
		
			
				|  |  |                 <el-col :span="8">
 | 
	
		
			
				|  |  |                   <el-input v-model="form.bloodPressureDown" placeholder="" :readonly="!editable"></el-input>
 | 
	
		
			
				|  |  |                 </el-col>
 | 
	
		
			
				|  |  |                 <el-col :span="6">mmHg</el-col>
 | 
	
		
			
				|  |  |               </el-row>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="心率" required>
 | 
	
		
			
				|  |  |               <el-input v-model="form.heartRate" placeholder="请输入心率" :readonly="!editable">
 | 
	
		
			
				|  |  |                 <template slot="append">次/分钟</template>
 | 
	
		
			
				|  |  |               </el-input>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="LDL-C" required>
 | 
	
		
			
				|  |  |               <el-input v-model="form.ldlc" placeholder="请输入LDL-C" :readonly="!editable">
 | 
	
		
			
				|  |  |                 <template slot="append">mmol/L</template>
 | 
	
		
			
				|  |  |               </el-input>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="糖化血红蛋白" required>
 | 
	
		
			
				|  |  |               <el-input v-model="form.thxhdb" placeholder="请输入糖化血红蛋白" :readonly="!editable">
 | 
	
		
			
				|  |  |                 <template slot="append">%</template>
 | 
	
		
			
				|  |  |               </el-input>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="吸烟情况" required>
 | 
	
		
			
				|  |  |               <el-radio-group v-model="form.smoking" :disabled="!editable">
 | 
	
		
			
				|  |  |                 <el-radio label="1">已戒烟或从未吸烟</el-radio>
 | 
	
		
			
				|  |  |                 <el-radio label="5">仍吸烟</el-radio>
 | 
	
		
			
				|  |  |               </el-radio-group>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="饮酒情况" required>
 | 
	
		
			
				|  |  |               <el-radio-group v-model="form.drinking" :disabled="!editable">
 | 
	
		
			
				|  |  |                 <el-radio label="1">戒酒或不饮酒</el-radio>
 | 
	
		
			
				|  |  |                 <el-radio label="4">仍饮酒</el-radio>
 | 
	
		
			
				|  |  |               </el-radio-group>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="目前服用药物" required>
 | 
	
		
			
				|  |  |               <el-checkbox-group v-model="takingListChecked" :disabled="!editable">
 | 
	
		
			
				|  |  |                 <el-checkbox v-for="(item,index) in takingList" :key="item.code" :label="index">{{ item.value }}</el-checkbox>
 | 
	
		
			
				|  |  |               </el-checkbox-group>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="不良事件种类">
 | 
	
		
			
				|  |  |               <el-checkbox-group v-model="adverseEventArr" :disabled="!editable">
 | 
	
		
			
				|  |  |                 <el-checkbox v-for="(item,index) in badEventList1" :key="item.key" :label="index">{{ item.name }}</el-checkbox>
 | 
	
		
			
				|  |  |               </el-checkbox-group>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="其他事件">
 | 
	
		
			
				|  |  |               <el-input type="textarea" v-model="form.otherEvents" placeholder="请输入其他事件情况" :rows="3" :maxlength="200" show-word-limit :readonly="!editable"></el-input>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="是否转诊上级医院" required label-width="150px">
 | 
	
		
			
				|  |  |               <el-radio-group v-model="form.isMoveSuperiorHospital" :disabled="!editable">
 | 
	
		
			
				|  |  |                 <el-radio label="1">是</el-radio>
 | 
	
		
			
				|  |  |                 <el-radio label="2">否</el-radio>
 | 
	
		
			
				|  |  |               </el-radio-group>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |             <el-form-item label="随访医院" required>
 | 
	
		
			
				|  |  |               <el-input v-model="form.followHospital" placeholder="请输入随访医院" :readonly="true"></el-input>
 | 
	
		
			
				|  |  |             </el-form-item>
 | 
	
		
			
				|  |  |           </el-form>
 | 
	
		
			
				|  |  |         </div>
 | 
	
		
			
				|  |  |         <div
 | 
	
		
			
				|  |  |           v-if="flag=='1'"
 | 
	
		
			
				|  |  |           class="btns"
 | 
	
		
			
				|  |  |           style="
 | 
	
		
			
				|  |  |             position: fixed;
 | 
	
		
			
				|  |  |             left: 0;
 | 
	
		
			
				|  |  |             bottom: 0;
 | 
	
		
			
				|  |  |             border: 1px solid #e5e5e5;
 | 
	
		
			
				|  |  |             background-color: #fff;
 | 
	
		
			
				|  |  |             z-index: 99;
 | 
	
		
			
				|  |  |             width: 100%;
 | 
	
		
			
				|  |  |             height: 60px;
 | 
	
		
			
				|  |  |             padding: 0 50px;
 | 
	
		
			
				|  |  |             display: flex;
 | 
	
		
			
				|  |  |             align-items: center;
 | 
	
		
			
				|  |  |             justify-content: space-between;
 | 
	
		
			
				|  |  |           ">
 | 
	
		
			
				|  |  |           <div style="height: 40px; width: 150px; background-color: #fff; color: red; line-height: 40px; text-align: center; border: 1px solid red" @click="close">退出</div>
 | 
	
		
			
				|  |  |           <div style="height: 40px; width: 150px; background-color: #17b3ec; line-height: 40px; text-align: center; color: #fff" @click="onSave">提交</div>
 | 
	
		
			
				|  |  |         </div>
 | 
	
		
			
				|  |  |       </div>
 | 
	
		
			
				|  |  |       <div class="right">
 | 
	
		
			
				|  |  |       <!-- <div class="right">
 | 
	
		
			
				|  |  |         <div class="base-info">
 | 
	
		
			
				|  |  |           <div class="title mb8">基本信息</div>
 | 
	
		
			
				|  |  |           <div class="info-item">
 | 
	
	
		
			
				|  | @ -138,8 +167,7 @@
 | 
	
		
			
				|  |  |         <div class="btn-box">
 | 
	
		
			
				|  |  |           <el-button type="primary" style="width: 100%;">提交</el-button>
 | 
	
		
			
				|  |  |         </div>
 | 
	
		
			
				|  |  |         <!-- <el-button>退出</el-button> -->
 | 
	
		
			
				|  |  |       </div>
 | 
	
		
			
				|  |  |       </div> -->
 | 
	
		
			
				|  |  |     </div>
 | 
	
		
			
				|  |  |     <script type="text/javascript" src="../../../js/vue.js"></script>
 | 
	
		
			
				|  |  |     <script type="text/javascript" src="../../../js/jquery-2.2.4.js"></script>
 | 
	
	
		
			
				|  | @ -153,17 +181,322 @@
 | 
	
		
			
				|  |  |     <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/vaile.js" charset="utf-8"></script>
 | 
	
		
			
				|  |  |     <script>
 | 
	
		
			
				|  |  |       var httpData = GetRequest()
 | 
	
		
			
				|  |  |       new Vue({
 | 
	
		
			
				|  |  |         el: '#app',
 | 
	
		
			
				|  |  |         data() {
 | 
	
		
			
				|  |  |           var vm = this
 | 
	
		
			
				|  |  |           return {
 | 
	
		
			
				|  |  |             form: {},
 | 
	
		
			
				|  |  |             takingListChecked: [],
 | 
	
		
			
				|  |  |             adverseEventArr: [],
 | 
	
		
			
				|  |  |             docInfo: JSON.parse(localStorage.docInfo),
 | 
	
		
			
				|  |  |             badEventListChecked: [],
 | 
	
		
			
				|  |  |             editable: true,
 | 
	
		
			
				|  |  |             isLoaded: false,
 | 
	
		
			
				|  |  |             followup: '',
 | 
	
		
			
				|  |  |             followTypes: [
 | 
	
		
			
				|  |  |               { code: '2', text: '家庭' },
 | 
	
		
			
				|  |  |               { code: '3', text: '电话' }
 | 
	
		
			
				|  |  |             ],
 | 
	
		
			
				|  |  |             PositiveList: [
 | 
	
		
			
				|  |  |               { name: '无阳性体征', checkBox: false, key: 'PositiveNo' },
 | 
	
		
			
				|  |  |               { name: '颈静脉怒张', checkBox: false, key: 'PositiveJugular' },
 | 
	
		
			
				|  |  |               { name: '肺部啰音', checkBox: false, key: 'PositiveLungs' },
 | 
	
		
			
				|  |  |               { name: '心脏杂音', checkBox: false, key: 'PositiveHeart' },
 | 
	
		
			
				|  |  |               { name: '双下肢水肿', checkBox: false, key: 'PositiveLower' }
 | 
	
		
			
				|  |  |             ],
 | 
	
		
			
				|  |  |             badEventList1: [
 | 
	
		
			
				|  |  |               { name: '无不良事件', checkBox: false, key: 'badEventNo' },
 | 
	
		
			
				|  |  |               { name: '心源性原因再次入院', checkBox: false, key: 'badEventCardiac' },
 | 
	
		
			
				|  |  |               { name: '再发心梗', checkBox: false, key: 'badEventMyocardial' },
 | 
	
		
			
				|  |  |               { name: '脑卒中', checkBox: false, key: 'badEventStroke' },
 | 
	
		
			
				|  |  |               { name: '严重出血', checkBox: false, key: 'badEventBleeding' },
 | 
	
		
			
				|  |  |               { name: '外周血管栓塞', checkBox: false, key: 'badEventVascular' },
 | 
	
		
			
				|  |  |               { name: '恶性心律失常(室速/室颤)', checkBox: false, key: 'badEventMalignant' },
 | 
	
		
			
				|  |  |               { name: '左室附壁血栓', checkBox: false, key: 'badEventBlood' },
 | 
	
		
			
				|  |  |               { name: '死亡', checkBox: false, key: 'badEventBusy' },
 | 
	
		
			
				|  |  |               { name: '其他', checkBox: false, key: 'badEventOther' }
 | 
	
		
			
				|  |  |             ],
 | 
	
		
			
				|  |  |             drugEffectsList: [
 | 
	
		
			
				|  |  |               { name: '无', checkBox: false, key: 'drugEffectsNo' },
 | 
	
		
			
				|  |  |               { name: '出血', checkBox: false, key: 'drugEffectsBleeding' },
 | 
	
		
			
				|  |  |               { name: '心率低于55次/分', checkBox: false, key: 'drugEffectsHeartLow' },
 | 
	
		
			
				|  |  |               { name: '收缩压低于100mmHg', checkBox: false, key: 'drugEffectspressureLow' },
 | 
	
		
			
				|  |  |               { name: '转氨酶升高', checkBox: false, key: 'drugEffectsTransaminase' },
 | 
	
		
			
				|  |  |               { name: '肌酶升高', checkBox: false, key: 'drugEffectsEnzymes' },
 | 
	
		
			
				|  |  |               { name: '其他', checkBox: false, key: 'drugEffectsOther' }
 | 
	
		
			
				|  |  |             ],
 | 
	
		
			
				|  |  |             bleedingList: [
 | 
	
		
			
				|  |  |               { name: '皮肤粘膜', checkBox: false, key: 'bleedingSkin' },
 | 
	
		
			
				|  |  |               { name: '消化道', checkBox: false, key: 'bleedingDigestive' },
 | 
	
		
			
				|  |  |               { name: '泌尿道', checkBox: false, key: 'bleedingUrinary' },
 | 
	
		
			
				|  |  |               { name: '呼吸道', checkBox: false, key: 'bleedingRespiratory' },
 | 
	
		
			
				|  |  |               { name: '脑出血', checkBox: false, key: 'bleedingCerebral' },
 | 
	
		
			
				|  |  |               { name: '其他', checkBox: false, key: 'bleedingOther' }
 | 
	
		
			
				|  |  |             ],
 | 
	
		
			
				|  |  |             followData: '',
 | 
	
		
			
				|  |  |             form: {
 | 
	
		
			
				|  |  |               type: '2', //版本 目前第二版
 | 
	
		
			
				|  |  |               followId: '',
 | 
	
		
			
				|  |  |               patientCode: '',
 | 
	
		
			
				|  |  |               doctorCode: '',
 | 
	
		
			
				|  |  |               patientName: '', // 姓名
 | 
	
		
			
				|  |  |               sex: '', // 性别
 | 
	
		
			
				|  |  |               followupDate: '', // 随访日期
 | 
	
		
			
				|  |  |               doctorName: '', //随访医生
 | 
	
		
			
				|  |  |               bloodPressure: '', // 血压1
 | 
	
		
			
				|  |  |               bloodPressureDown: '', // 血压2
 | 
	
		
			
				|  |  |               heartRate: '', // 心率
 | 
	
		
			
				|  |  |               ldlc: '', //LDL-C
 | 
	
		
			
				|  |  |               thxhdb: '', //糖化血红蛋白
 | 
	
		
			
				|  |  |               positiveSigns: '', // 阳性体征
 | 
	
		
			
				|  |  |               smoking: '', // 吸烟情况
 | 
	
		
			
				|  |  |               drinking: '', // 饮酒情况
 | 
	
		
			
				|  |  |               randomBloodSugar: '', // 血糖
 | 
	
		
			
				|  |  |               ccsLevel: '', // 心绞痛
 | 
	
		
			
				|  |  |               nyhaLevel: '', // 心功能
 | 
	
		
			
				|  |  |               takeMedicine: '', // 目前服用药物
 | 
	
		
			
				|  |  |               drugSideEffects: '', // 药物副作用
 | 
	
		
			
				|  |  |               otherDrugSideEffects: '', // 其他副作用情况
 | 
	
		
			
				|  |  |               bleedingSite: '', // 出血部位
 | 
	
		
			
				|  |  |               bleedingDegree: '', // 出血程度
 | 
	
		
			
				|  |  |               mace: '', // 不良心血管病事件(MACE)
 | 
	
		
			
				|  |  |               adverseEvent: '', // 不良事件种类 心源性原因再次入院
 | 
	
		
			
				|  |  |               otherEvents: '', // 其他事件
 | 
	
		
			
				|  |  |               isMoveSuperiorHospital: '', // 是否转诊上级医院
 | 
	
		
			
				|  |  |               followHospital: '' // 随访医院
 | 
	
		
			
				|  |  |             },
 | 
	
		
			
				|  |  |             serviceInfo: {},
 | 
	
		
			
				|  |  |             takingList: [],
 | 
	
		
			
				|  |  |             flag: '1',
 | 
	
		
			
				|  |  |             rules: {
 | 
	
		
			
				|  |  |               form: {
 | 
	
		
			
				|  |  |                 patientName: [{ required: true, message: '请输入姓名' }],
 | 
	
		
			
				|  |  |                 followupDate: [{ required: true, message: '请选择随访日期' }],
 | 
	
		
			
				|  |  |                 doctorName: [{ required: true, message: '请输入随访医生' }],
 | 
	
		
			
				|  |  |                 bloodPressure: [{ required: true, message: '请输入完整血压' }],
 | 
	
		
			
				|  |  |                 bloodPressureDown: [{ required: true, message: '请输入完整血压' }],
 | 
	
		
			
				|  |  |                 heartRate: [{ required: true, message: '请输入心率' }],
 | 
	
		
			
				|  |  |                 positiveSigns: {
 | 
	
		
			
				|  |  |                   value: function () {
 | 
	
		
			
				|  |  |                     return _.some(vm.PositiveList, function (v) {
 | 
	
		
			
				|  |  |                       return v.checkBox === true
 | 
	
		
			
				|  |  |                     })
 | 
	
		
			
				|  |  |                   }
 | 
	
		
			
				|  |  |                 },
 | 
	
		
			
				|  |  |                 smoking: [{ required: true, message: '请选择吸烟情况' }],
 | 
	
		
			
				|  |  |                 drinking: [{ required: true, message: '请选择饮酒情况' }],
 | 
	
		
			
				|  |  |                 // taking: {
 | 
	
		
			
				|  |  |                 //   value: function () {
 | 
	
		
			
				|  |  |                 //     return _.some(vm.takingList, function (v) {
 | 
	
		
			
				|  |  |                 //       return v.checkBox === true
 | 
	
		
			
				|  |  |                 //     })
 | 
	
		
			
				|  |  |                 //   },
 | 
	
		
			
				|  |  |                 //   rule: [{ required: true, message: '请选择目前服用药物' }]
 | 
	
		
			
				|  |  |                 // },
 | 
	
		
			
				|  |  |                 // drugEffects: {
 | 
	
		
			
				|  |  |                 //   value: function () {
 | 
	
		
			
				|  |  |                 //     return _.some(vm.drugEffectsList, function (v) {
 | 
	
		
			
				|  |  |                 //       return v.checkBox === true
 | 
	
		
			
				|  |  |                 //     })
 | 
	
		
			
				|  |  |                 //   },
 | 
	
		
			
				|  |  |                 //   rule: [{ required: true, message: '请选择药物副作用情况' }]
 | 
	
		
			
				|  |  |                 // },
 | 
	
		
			
				|  |  |                 // mace: [{ required: true, message: '请选择是否有不良心血管病事件' }],
 | 
	
		
			
				|  |  |                 isMoveSuperiorHospital: [{ required: true, message: '请选择是否转诊上级医院' }],
 | 
	
		
			
				|  |  |                 followHospital: [{ required: true, message: '请输入随访医院' }]
 | 
	
		
			
				|  |  |               }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |           }
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         watch: {
 | 
	
		
			
				|  |  |           'form.takeMedicine': {
 | 
	
		
			
				|  |  |             handler: function (value) {
 | 
	
		
			
				|  |  |               console.log(value, 'sssssssssssssss')
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |           }
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         mounted: function () {
 | 
	
		
			
				|  |  |           var vm = this
 | 
	
		
			
				|  |  |           this.getDictByDictName()
 | 
	
		
			
				|  |  |           if (httpData.serviceInfo) {
 | 
	
		
			
				|  |  |             vm.serviceInfo = JSON.parse(decodeURIComponent(httpData.serviceInfo))
 | 
	
		
			
				|  |  |             console.log(vm.serviceInfo, 'dsaaaaaaaaaaaaaa222')
 | 
	
		
			
				|  |  |           }
 | 
	
		
			
				|  |  |           this.form.patientName = vm.serviceInfo.patientName
 | 
	
		
			
				|  |  |           this.form.followId = vm.serviceInfo.relationCode
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |           this.form.followHospital = this.docInfo.hospitalName
 | 
	
		
			
				|  |  |           this.form.doctorName = this.docInfo.name
 | 
	
		
			
				|  |  |           this.form.doctorCode = this.docInfo.code
 | 
	
		
			
				|  |  |           this.getFollowup(vm.serviceInfo.relationCode)
 | 
	
		
			
				|  |  |           this.load()
 | 
	
		
			
				|  |  |           console.log('docInfo', this.docInfo)
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         methods: {
 | 
	
		
			
				|  |  |           load: function () {
 | 
	
		
			
				|  |  |             var vm = this
 | 
	
		
			
				|  |  |             httpRequest.get('doctor/visitDetail/selectFollowupDiseaseById', { data: { type: 'XiaXinCoronaryHear', followupId: vm.serviceInfo.relationCode } }).then(function (res) {
 | 
	
		
			
				|  |  |               console.log(res, '000000000')
 | 
	
		
			
				|  |  |               if (res.status == '200') {
 | 
	
		
			
				|  |  |                 vm.followup = _.assign(vm.followup, res.data.followup)
 | 
	
		
			
				|  |  |                 if (res.data.content) {
 | 
	
		
			
				|  |  |                   vm.form = _.assign(vm.form, res.data.content)
 | 
	
		
			
				|  |  |                   vm.$set(vm, 'takingListChecked', res.data.content && res.data.content.takeMedicine.split(','))
 | 
	
		
			
				|  |  |                   vm.$set(vm, 'adverseEventArr', res.data.content && res.data.content.adverseEvent.split(','))
 | 
	
		
			
				|  |  |                   vm.flag = '2'
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 console.log(vm.form, '122222222222', vm.takingListChecked, vm.adverseEventArr, vm.takingList)
 | 
	
		
			
				|  |  |               }
 | 
	
		
			
				|  |  |             })
 | 
	
		
			
				|  |  |           },
 | 
	
		
			
				|  |  |           getFollowup: function (code) {
 | 
	
		
			
				|  |  |             var vm = this
 | 
	
		
			
				|  |  |             httpRequest.get('doctor/followup/getFollowup', { data: { id: code } }).then(function (res) {
 | 
	
		
			
				|  |  |               if (res.status == 200) {
 | 
	
		
			
				|  |  |                 var data = res.data
 | 
	
		
			
				|  |  |                 vm.followData = res.data
 | 
	
		
			
				|  |  |                 vm.form.sex = data.sex
 | 
	
		
			
				|  |  |                 vm.form.followupDate = data.followupDate
 | 
	
		
			
				|  |  |                 vm.followup = {
 | 
	
		
			
				|  |  |                   followup_id: code,
 | 
	
		
			
				|  |  |                   // status: data.status,
 | 
	
		
			
				|  |  |                   // patientName: vm.serviceInfo.patientName,
 | 
	
		
			
				|  |  |                   followupNextDate: data.followupNextDate,
 | 
	
		
			
				|  |  |                   followupType: data.followupType,
 | 
	
		
			
				|  |  |                   followupClass: data.followupClass,
 | 
	
		
			
				|  |  |                   jwDoctorWorkType: data.jwDoctorWorkType,
 | 
	
		
			
				|  |  |                   followupDate: data.followupDate,
 | 
	
		
			
				|  |  |                   doctorName: data.doctorName,
 | 
	
		
			
				|  |  |                   orgName: data.orgName
 | 
	
		
			
				|  |  |                   // type: vm.serviceInfo.type
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 console.log(vm.followup, '我是vm.followup')
 | 
	
		
			
				|  |  |               }
 | 
	
		
			
				|  |  |             })
 | 
	
		
			
				|  |  |           },
 | 
	
		
			
				|  |  |           getDictByDictName: function () {
 | 
	
		
			
				|  |  |             var vm = this
 | 
	
		
			
				|  |  |             httpRequest.get('/common/getDictByDictName', { data: { name: 'CurrentlyTakingMedication' } }).then(function (res) {
 | 
	
		
			
				|  |  |               if (res.status == 200) {
 | 
	
		
			
				|  |  |                 var data = res.list
 | 
	
		
			
				|  |  |                 data.forEach(function (v) {
 | 
	
		
			
				|  |  |                   v.checkBox = false
 | 
	
		
			
				|  |  |                 })
 | 
	
		
			
				|  |  |                 vm.takingList = data
 | 
	
		
			
				|  |  |               }
 | 
	
		
			
				|  |  |             })
 | 
	
		
			
				|  |  |           },
 | 
	
		
			
				|  |  |           close: function () {
 | 
	
		
			
				|  |  |             var index = parent.layer.getFrameIndex(window.name) //先得到当前iframe层的索引
 | 
	
		
			
				|  |  |             parent.layer.close(index) //再执行关闭
 | 
	
		
			
				|  |  |           },
 | 
	
		
			
				|  |  |           onSave: function () {
 | 
	
		
			
				|  |  |             var vm = this
 | 
	
		
			
				|  |  |             var errors = suifangValidate.call(this)
 | 
	
		
			
				|  |  |             console.log(errors)
 | 
	
		
			
				|  |  |             if (errors.length) {
 | 
	
		
			
				|  |  |               layer.msg(errors[0].message)
 | 
	
		
			
				|  |  |               return Promise.reject()
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (vm.takingListChecked.length == 0) {
 | 
	
		
			
				|  |  |               layer.msg('请选择目前服用药物')
 | 
	
		
			
				|  |  |               return Promise.reject()
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (vm.adverseEventArr.length == 0) {
 | 
	
		
			
				|  |  |               layer.msg('请选择药物副作用情况')
 | 
	
		
			
				|  |  |               return Promise.reject()
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             var loadding = top.layer.load(0, { shade: false }) //0代表加载的风格,支持0-2
 | 
	
		
			
				|  |  |             var positiveSignsarr = []
 | 
	
		
			
				|  |  |             var takeMedicinearr = []
 | 
	
		
			
				|  |  |             var drugSideEffectsarr = []
 | 
	
		
			
				|  |  |             var bleedingSitearr = []
 | 
	
		
			
				|  |  |             for (var i = 0; i < vm.PositiveList.length; i++) {
 | 
	
		
			
				|  |  |               if (vm.PositiveList[i].checkBox == true) {
 | 
	
		
			
				|  |  |                 positiveSignsarr.push(i)
 | 
	
		
			
				|  |  |               }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             vm.form.positiveSigns = positiveSignsarr.join()
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // for (var i = 0; i < vm.takingList.length; i++) {
 | 
	
		
			
				|  |  |             //   if (vm.takingList[i].checkBox == true) {
 | 
	
		
			
				|  |  |             //     takeMedicinearr.push(i)
 | 
	
		
			
				|  |  |             //   }
 | 
	
		
			
				|  |  |             // }
 | 
	
		
			
				|  |  |             vm.form.takeMedicine = vm.takingListChecked.join()
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             for (var i = 0; i < vm.drugEffectsList.length; i++) {
 | 
	
		
			
				|  |  |               if (vm.drugEffectsList[i].checkBox == true) {
 | 
	
		
			
				|  |  |                 drugSideEffectsarr.push(i)
 | 
	
		
			
				|  |  |               }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             vm.form.drugSideEffects = drugSideEffectsarr.join()
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             for (var i = 0; i < vm.bleedingList.length; i++) {
 | 
	
		
			
				|  |  |               if (vm.bleedingList[i].checkBox == true) {
 | 
	
		
			
				|  |  |                 bleedingSitearr.push(i)
 | 
	
		
			
				|  |  |               }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             vm.form.bleedingSite = bleedingSitearr.join()
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             var badEventList = vm.form.type == 2 ? vm.badEventList1 : vm.badEventList
 | 
	
		
			
				|  |  |             // for (var i = 0; i < badEventList.length; i++) {
 | 
	
		
			
				|  |  |             //   if (badEventList[i].checkBox == true) {
 | 
	
		
			
				|  |  |             //     adverseEventarr.push(i)
 | 
	
		
			
				|  |  |             //   }
 | 
	
		
			
				|  |  |             // }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             vm.form.adverseEvent = vm.adverseEventArr.join()
 | 
	
		
			
				|  |  |             var content = vm.form
 | 
	
		
			
				|  |  |             content = _.mapObject(content, function (v) {
 | 
	
		
			
				|  |  |               if (v === false) {
 | 
	
		
			
				|  |  |                 return ''
 | 
	
		
			
				|  |  |               } else if (v === true) {
 | 
	
		
			
				|  |  |                 return 1
 | 
	
		
			
				|  |  |               }
 | 
	
		
			
				|  |  |               return v
 | 
	
		
			
				|  |  |             })
 | 
	
		
			
				|  |  |             return httpRequest
 | 
	
		
			
				|  |  |               .post('doctor/visitDetail/saveFollowupDiseaseArchives', {
 | 
	
		
			
				|  |  |                 data: {
 | 
	
		
			
				|  |  |                   type: 'XiaXinCoronaryHear',
 | 
	
		
			
				|  |  |                   followupId: vm.serviceInfo.relationCode,
 | 
	
		
			
				|  |  |                   jsonData: JSON.stringify({
 | 
	
		
			
				|  |  |                     followup: vm.followup,
 | 
	
		
			
				|  |  |                     content: content
 | 
	
		
			
				|  |  |                   })
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |               })
 | 
	
		
			
				|  |  |               .then(function (res) {
 | 
	
		
			
				|  |  |                 if (res.status == '200') {
 | 
	
		
			
				|  |  |                   httpRequest
 | 
	
		
			
				|  |  |                     .post('doctor/followup/finishFollowup', {
 | 
	
		
			
				|  |  |                       data: {
 | 
	
		
			
				|  |  |                         id: vm.followData.id
 | 
	
		
			
				|  |  |                       }
 | 
	
		
			
				|  |  |                     })
 | 
	
		
			
				|  |  |                     .then(function () {
 | 
	
		
			
				|  |  |                       httpRequest
 | 
	
		
			
				|  |  |                         .post('doctor/specialist/rehabilitation/updateNoteAndImageRehabilitationOperate', {
 | 
	
		
			
				|  |  |                           data: {
 | 
	
		
			
				|  |  |                             planDetailId: httpData.planDetailId,
 | 
	
		
			
				|  |  |                             node: '完成',
 | 
	
		
			
				|  |  |                             image: '',
 | 
	
		
			
				|  |  |                             relationCode: vm.serviceInfo.relationCode
 | 
	
		
			
				|  |  |                           }
 | 
	
		
			
				|  |  |                         })
 | 
	
		
			
				|  |  |                         .then(function (res) {
 | 
	
		
			
				|  |  |                           console.log(res, '我是完成随访')
 | 
	
		
			
				|  |  |                         })
 | 
	
		
			
				|  |  |                       top.layer.close(loadding)
 | 
	
		
			
				|  |  |                     })
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 return res
 | 
	
		
			
				|  |  |               })
 | 
	
		
			
				|  |  |           }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |       })
 | 
	
		
			
				|  |  |     </script>
 |