<template>
  <div>
    <el-dialog
      title="透析处方"
      :visible.sync="isVisibility"
      width="1010px"
      :modal-append-to-body="false"
      :append-to-body="true"
      class="newDialog"
    >
      <el-button style="position: absolute;left: 12%;top: 2%" @click="handlePatientInfo">{{patient.name}}</el-button>
      <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
      <el-form ref="dialysisPrescription" :model="dialysisPrescription" label-width="148px">
        <el-row :gutter="24">
          <el-col :span="8" v-if="isShows('透析模式')">
            <el-form-item label="透析模式">
              <el-select v-model="dialysisPrescription.mode_id"
                         @change="changePrescription(dialysisPrescription.mode_id)">
                <el-option :key="0" label="请选择" :value="0"></el-option>
                <el-option v-for="(item,index) in treatment_mode" :label="item.name" :value="item.id"
                           :key="index+1"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8" v-if="isShows('透析时长')">
            <el-form-item label="透析时长(h)： ">
              <el-input type="number" v-model="dialysisPrescription.dialysis_duration_hour"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8" v-if="isShows('透析时长')">
            <el-form-item label="透析时长(min)： ">
              <el-input type="number" v-model="dialysisPrescription.dialysis_duration_minute"></el-input>
            </el-form-item>
          </el-col>
          <!-- </el-row>

          <el-row :gutter="20"> -->
          <el-col :span="8" v-if="isShows('血流量')">
            <el-form-item label="血流量(ml/min)：">
              <el-input type="number" v-model="dialysisPrescription.blood_flow_volume"></el-input>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('目标超滤量')">

            <el-form-item label="目标超滤量(L)：">
              <el-input type="number" v-model="dialysisPrescription.target_ultrafiltration"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="8" v-if="isShows('透析液配方')">
            <el-form-item label="透析液配方：">
              <!-- <el-input type="number" v-model="dialysisPrescription.dialysate_formulation"></el-input> -->
              <el-select v-model="dialysisPrescription.dialysate_formulation" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>
                <el-option v-for="(option, index) in dialysate_formulation_options" :key="index+1" :label="option.name"
                           :value="option.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <!-- </el-row>

          <el-row :gutter="20"> -->


          <el-col :span="8" v-if="isShows('抗凝剂')">
            <el-form-item label="抗凝剂：">
              <el-select v-model="dialysisPrescription.anticoagulant" placeholder="请选择" style="width:100%;"
                         @change="changeThisAnticoagulant">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(item,index) in anticoagulantsConfit" :label="item.name" :key="index + 1"
                           :value="item.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="anticoagulant.shouji != -1&&isShows('首剂')">
            <el-form-item :label="'首剂('+anticoagulant.shouji_unit+') : '">
              <el-input type="number" v-if="dialysisPrescription.anticoagulant != 1"
                        v-model="dialysisPrescription.anticoagulant_shouji"></el-input>
              <el-input type="number" disabled v-if="dialysisPrescription.anticoagulant == 1"
                        v-model="dialysisPrescription.no_anticoagulant_shouji"></el-input>

            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="anticoagulant.weichi != -1&&isShows('维持')">
            <el-form-item :label="'维持('+anticoagulant.weichi_unit+') : '" v-if="anticoagulant.weichi != -1">
              <el-input type="number" v-if="dialysisPrescription.anticoagulant != 1"
                        v-model="dialysisPrescription.anticoagulant_weichi"></el-input>
              <el-input type="number" disabled v-if="dialysisPrescription.anticoagulant == 1"
                        v-model="dialysisPrescription.no_anticoagulant_weichi"></el-input>

            </el-form-item>
          </el-col>

          <el-col :span="8" v-if="anticoagulant.zongliang != -1&&isShows('总量')">
            <el-form-item :label="'总量('+anticoagulant.zongliang_unit+') : '">
              <el-input type="number" v-if="dialysisPrescription.anticoagulant != 1"
                        v-model="dialysisPrescription.anticoagulant_zongliang"></el-input>
              <el-input type="number" disabled v-if="dialysisPrescription.anticoagulant == 1"
                        v-model="dialysisPrescription.no_anticoagulant_zongliang"></el-input>

            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('置换量')" v-show="zhiShow">
            <el-form-item label="置换量(L)：">
              <el-input type="number" v-model="dialysisPrescription.replacement_total"></el-input>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="anticoagulant.gaimingcheng != -1&&isShows('钙名称')">
            <el-form-item label="钙名称 : ">
              <el-input v-model="dialysisPrescription.anticoagulant_gaimingcheng"
                        :disabled="anticoagulant.gaimingcheng==1?false:true" placeholder="钙名称"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8" v-if="anticoagulant.gaijiliang != -1&&isShows('钙剂量')">
            <el-form-item label="钙剂量(ml) : ">
              <el-input type="number" v-model="dialysisPrescription.anticoagulant_gaijiliang"
                        :disabled="anticoagulant.gaijiliang==1?false:true" placeholder="钙剂量"></el-input>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('钾')">
            <el-form-item label="钾(mmol/L)： ">
              <el-input type="number" v-model="dialysisPrescription.kalium"></el-input>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('钠')">
            <el-form-item label="钠(mmol/L)：">
              <el-input type="number" v-model="dialysisPrescription.sodium"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="8" v-if="isShows('钙')">
            <el-form-item label="钙(mmol/L)：">
              <el-input type="number" v-model="dialysisPrescription.calcium"></el-input>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('碳酸氢盐')">
            <el-form-item label="碳酸氢盐(mmol/L)：">
              <el-input type="number" v-model="dialysisPrescription.bicarbonate"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="8" v-if="isShows('葡萄糖')">
            <el-form-item label="葡萄糖(mmol/L)：">
              <el-input type="number" v-model="dialysisPrescription.glucose"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8" v-if="isShows('透析液流量')">
            <el-form-item label="透析液流量(ml/min)：">
              <el-input type="number" v-model="dialysisPrescription.dialysate_flow"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="8" v-if="isShows('透析液温度')">
            <el-form-item label="透析液温度(°C)：">
              <el-input type="number" v-model="dialysisPrescription.dialysate_temperature"></el-input>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('电导率')">
            <el-form-item label="电导率(mS/cm)： ">
              <el-input type="number" v-model="dialysisPrescription.conductivity"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="8" v-if="isShows('透析器/灌流器')">
            <el-form-item label="透析器/灌流器：">
              <el-input v-model="dialysisPrescription.dialyzer_perfusion_apparatus"></el-input>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('体液过多症状')">
            <el-form-item label="体液过多症状：">
              <el-select v-model="dialysisPrescription.body_fluid" placeholder="请选择" style="width:100%;"
              >
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(item,index) in body_fluid_option" :label="item.name" :key="index+1"
                           :value="item.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <!-- </el-row>


          <el-row :gutter="20" > -->

          <el-col :span="8" v-if="isShows('体液过多其他症状')">
            <el-form-item label="体液过多其他症状">
              <el-input v-model="dialysisPrescription.body_fluid_other"></el-input>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('透析前使用特殊药物')">
            <el-form-item label="透析前使用特殊药物">
              <el-select v-model="dialysisPrescription.special_medicine" placeholder="请选择" style="width:100%;"
              >
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(item,index) in special_medicine_option" :label="item.name" :key="index+1"
                           :value="item.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('透析前使用其他特殊药物')">
            <el-form-item label="透析前使用其他特殊药物">
              <el-input v-model="dialysisPrescription.special_medicine_other"></el-input>
            </el-form-item>
          </el-col>


          <!-- </el-row>

          <el-row :gutter="20" > -->
          <el-col :span="8">
            <el-form-item label="置换液：" v-if="isShows('置换液')"
                          v-show="huShow">
              <el-select v-model="dialysisPrescription.displace_liqui_part" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>
                <el-option v-for="(option, index) in displace_liqui_part_option" :key="index+1"
                           :label="option.name" :value="option.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>

          <el-col :span="8" v-if="isShows('置换液总量')" v-show="totalShow">
            <el-form-item label="置换液总量(L)">
              <el-input v-model="dialysisPrescription.displace_liqui_value"></el-input>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('目标KT/V')">
            <el-form-item label="目标KT/V">
              <el-input v-model="dialysisPrescription.target_ktv"></el-input>
            </el-form-item>
          </el-col>

          <el-col :span="8" v-if="isShows('血管通路')">
            <el-form-item label="血管通路：">
              <el-select v-model="dialysisPrescription.blood_access" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in blood_access_option" :key="index+1"
                           :label="option.name" :value="option.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>

          <!-- </el-row>
          <el-row :gutter="20" > -->
<!--          <el-col :span="8" v-if="isShows('实际超滤量')">-->
<!--            <el-form-item label="实际超滤量(L)">-->
<!--              <el-input v-model="dialysisPrescription.ultrafiltration"></el-input>-->
<!--            </el-form-item>-->
<!--          </el-col>-->


          <!--透析耗材-->
          <el-col :span="8" v-if="isShows('血液透析干粉')&&config.is_open == 1">
            <el-form-item label="血液透析干粉：">
              <el-select v-model="dialysisPrescription.niprocart" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>
                <el-option v-for="(option, index) in niprocart_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('一次性使用动静脉穿刺针')&&config.is_open == 1">
            <el-form-item label="一次性使用动静脉穿刺针：">
              <el-select v-model="dialysisPrescription.jms" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in jms_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('内瘘管翼状针')&&config.is_open == 1">
            <el-form-item label="内瘘管翼状针：">
              <el-select v-model="dialysisPrescription.fistula_needle_set" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in fistula_needle_set_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('内瘘管翼状针16G')&&config.is_open == 1">
            <el-form-item label="内瘘管翼状针16G：">
              <el-select v-model="dialysisPrescription.fistula_needle_set_16" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in fistula_needle_set_16_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('一次性使用血液灌流器')&&config.is_open == 1">
            <el-form-item label="一次性使用血液灌流器：">
              <el-select v-model="dialysisPrescription.hemoperfusion" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in hemoperfusion_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('空心纤维血液透析器')&&config.is_open == 1">
            <el-form-item label="空心纤维血液透析器：">
              <el-select v-model="dialysisPrescription.dialyser_sterilised" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in dialyser_sterilised_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('中空纤维透析器')&&config.is_open == 1">
            <el-form-item label="中空纤维透析器：">
              <el-select v-model="dialysisPrescription.filtryzer" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in filtryzer_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('透析器')&&config.is_open == 1">
            <el-form-item label="透析器：">
              <el-select v-model="dialysisPrescription.dialyzers" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in dialyzers_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('注射器')&&config.is_open == 1">
            <el-form-item label="注射器：">
              <el-select v-model="dialysisPrescription.injector" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in injector_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('体外循环血路管')&&config.is_open == 1">
            <el-form-item label="体外循环血路管：">
              <el-select v-model="dialysisPrescription.bloodlines" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in bloodlines_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('血液净化补液管路(置换管)')&&config.is_open == 1">
            <el-form-item label="血液净化补液管路(置换管)：">
              <el-select v-model="dialysisPrescription.tubing_hemodialysis" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in tubingHemodialysis_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('护理包')&&config.is_open == 1">
            <el-form-item label="护理包：">
              <el-select v-model="dialysisPrescription.package" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in safe_package_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


          <el-col :span="8" v-if="isShows('A液')&&config.is_open == 1">
            <el-form-item label="A液：">
              <el-select v-model="dialysisPrescription.a_liquid" placeholder="请选择">
                <el-option :key="0" label="请选择" :value="0"></el-option>

                <el-option v-for="(option, index) in aliquid_info" :key="index+1"
                           :label="option.GoodInfo.specification_name" :value="option.GoodInfo.id"></el-option>
              </el-select>
            </el-form-item>
          </el-col>


        </el-row>


        <el-row :gutter="20">
          <el-col :span="24">
            <el-form-item label="备注： ">
              <el-input type="textarea" v-model="dialysisPrescription.remark" :rows="5"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <span slot="footer" class="dialog-footer">
                <el-button @click="handleCancle">取 消</el-button>
                <!-- <el-button type="primary" @click="handleCommit" v-if="isPermission()">保 存</el-button> -->
                <el-button type="primary" @click="handleCommit" v-if="hasPermission">保 存</el-button>
                <el-button type="primary" @click="handleSolution" v-if="isPermission()">保存为长期处方</el-button>

    </span>
    </el-dialog>


    <el-dialog
      title="长期医嘱推送"
      :visible.sync="isShowRemindAdvice"
      width="1010px"
      :modal-append-to-body="false"
      :append-to-body="true"
    >

      <el-checkbox-group v-model="checkedCities">
        <el-checkbox style="display: flex;align-items: center" v-for="(advice, index) in targetAdvices"
                     :label="advice.id"
                     :key="index"
                     :value="advice.id"
                     :name="advice.id">
          <div style="padding-top: 10px;padding-left: 10px">开嘱医生&nbsp;{{ getDoctorName(advice.advice_doctor) }}</div>
          <br/>
          <div style="padding-left: 10px">开嘱时间&nbsp;{{ getTime(advice.created_time) }}</div>
          <br/>
          <div style="padding-bottom: 10px;padding-left: 10px"> 医嘱内容&nbsp;{{getContent(advice)}}</div>
          <div style="padding-bottom: 10px;padding-left: 10px" v-if="advice.frequency_type == 1"> 推送频率 每次必推</div>
          <div style="padding-bottom: 10px;padding-left: 10px" v-if="advice.frequency_type == 2"> 推送频率&nbsp;{{advice.day_count}}天/次</div>
          <div style="padding-bottom: 10px;padding-left: 10px" v-if="advice.frequency_type == 3"> 推送频率&nbsp;每周{{advice.week_day}}</div>
        </el-checkbox>
      </el-checkbox-group>


      <span slot="footer" class="dialog-footer">
                <el-button @click="handleAdviceCancle">取 消</el-button>
                <el-button type="primary" @click="handleAdviceCommit">保 存</el-button>
    </span>
    </el-dialog>


    <el-dialog
      :title="patient.name"
      :visible.sync="msgtip_visibility"
      :close-on-click-modal="false"
      :close-on-press-escape="false"
      :show-close="false"
      width="30%"
    >
      <div class="newLine">
        <span>本次透析日期</span>
        <span>{{dialysis_date}}</span>
      </div>
      <div class="newLine">
        <span>透前称重(kg)</span>
        <span>{{ getBeforeWeight(predialysis)}}</span>
      </div>
      <div class="newLine">
        <span>干体重(kg)</span>
        <span>{{ getDryWeight()}}</span>
      </div>
      <div class="newLine">
        <span>衣物重(kg)</span>
        <span>{{
            predialysis.additional_weight
          }}</span>
      </div>
      <div class="newLine">
        <span>体重增加(kg)</span>
        <span>{{ add_weight }}</span>
      </div>
      <div class="newLine">
        <span>透后称重(kg)</span>
        <span>{{ getAfterWeight(record) }}</span>
      </div>
      <div class="newLine">
        <span>体重减少(kg)</span>
        <span>{{ record.weight_loss }}</span>
      </div>
      <div class="newLine">
        <span>上次透后称重(kg)</span>
        <span>{{getLastAfterWeight(last_record)}}</span>
      </div>

      <span slot="footer" class="dialog-footer">
            <el-button @click="cancleMsg()">取 消</el-button>
            <el-button type="primary" @click="cancleMsg()">确 定</el-button>
          </span>
    </el-dialog>

  </div>

</template>

<script>
  import { CreateGroupAdvice, GetSolution, postPrescription, postSoulution } from '@/api/dialysis'
  import { getDataConfig } from '@/utils/data'
  import { calculateAnticoagulantZL, uParseTime } from '@/utils/tools'
  import store from '@/store'
  import MsgTip from './MsgTip'

  import request from '@/utils/request'

  export default {
    name: 'dialysisPrescriptionDialog',
    components: { MsgTip },
    props: {
      schedual: {
        type: Object
      },
      is_open: {
        type: Number,
        default: () => {
          return 0
        }
      },
      waitUploadAdvices: {
        type: Array,
        default: () => {
          return []
        }
      },

      targetAdvices: {
        type: Array,
        default: () => {
          return []
        }
      },
      admin_users: {
        type: Array,
        default: () => {
          return []
        }
      },
      niprocart_info: {
        type: Array,
        default: () => {
          return []
        }
      },

      jms_info: {
        type: Array,
        default: () => {
          return []
        }
      },

      fistula_needle_set_info: {
        type: Array,
        default: () => {
          return []
        }
      },

      fistula_needle_set_16_info: {
        type: Array,
        default: () => {
          return []
        }
      },

      hemoperfusion_info: {
        type: Array,
        default: () => {
          return []
        }
      },

      dialyser_sterilised_info: {
        type: Array,
        default: () => {
          return []
        }
      },

      filtryzer_info: {
        type: Array,
        default: () => {
          return []
        }
      },

      dialyzers_info: {
        type: Array,
        default: () => {
          return []
        }
      },
      injector_info: {
        type: Array,
        default: () => {
          return []
        }
      },
      bloodlines_info: {
        type: Array,
        default: () => {
          return []
        }
      },
      tubingHemodialysis_info: {
        type: Array,
        default: () => {
          return []
        }
      },
      safe_package_info: {
        type: Array,
        default: () => {
          return []
        }
      },
      aliquid_info: {
        type: Array,
        default: () => {
          return []
        }
      },
      config: {
        type: Object,
        default: () => {
          return { id: 0 }
        }
      },

      prescription: { // 透析处方
        type: Object,
        default: () => {
          return { id: 0 }
        }
      },

      solution: { // 长期处方
        type: Object,
        default: () => {
          return { id: 0 }
        }
      },

      dialysis_order: { // 透析记录
        type: Object,
        default: () => {
          return { id: 0 }
        }
      },
      patient: { // 患者信息
        type: Object,
        default: () => {
          return { id: 0 }
        }
      },

      devices: {
        type: Array,
        default: function() {
          return new Array()
        }
      },

      predialysis: {
        type: Object,
        default: () => {
          return { id: 0 }
        }
      },
      last_predialysis: {
        type: Object,
        default: () => {
          return { id: 0 }
        }
      },
      record: {
        type: Object,
        default: () => {
          return { id: 0 }
        }
      },
      last_record: {
        type: Object,
        default: () => {
          return { id: 0 }
        }
      }, dry_weight: {
        type: Object,
        default: () => {
          return { id: 0 }
        }
      }, last_prescription: {
        type: Object,
        default: () => {
          return { id: 0 }
        }
      }

    },
    computed: {
      dialysis_date: function() {
        return uParseTime(this.$route.query.date, '{y}/{m}/{d}')
      }
    },
    data() {
      return {
        showTxt:'',
        hasPermission:true,
        zhiShow: false,
        totalShow: false,
        huShow: false,
        showName: '',
        isShowRemindAdvice: false,
        checkedCities: [],
        isVisibility: false,
        isShowTime: false,
        isClose: false,
        isShow: false,
        record_date: '',
        time: '',
        treatment_mode: [],
        timeValue: '',
        deviceList: [],
        replacement_ways: [],
        anticoagulantsConfit: {},
        dialysate_formulation_options: [],
        add_weight: 0,
        body_fluid_option: [],
        special_medicine_option: [],
        displace_liqui_part_option: [],
        blood_access_option: [],
        is_pre: 0,
        msgtip_visibility: false,

        dialysisPrescription: {
          replacement_total: '',
          mode_id: '',
          dialysis_duration: '',
          dialysis_duration_hour: '',
          dialysis_duration_minute: '',
          mode_name: '',
          dialyzer: '',
          perfusion_apparatus: '',
          blood_flow_volume: '',
          dewater_amount: '',
          displace_liqui: '',
          replacement_way: '',
          anticoagulant: '',
          anticoagulant_shouji: '',
          anticoagulant_weichi: '',
          anticoagulant_zongliang: '',
          anticoagulant_gaimingcheng: '',
          anticoagulant_gaijiliang: '',
          kalium: '',
          sodium: '',
          calcium: '',
          bicarbonate: '',
          glucose: '',
          dry_weight: '',
          dialysate_flow: '',
          dialysate_temperature: '',
          target_ultrafiltration: '',
          dialysate_formulation: '',
          conductivity: '',
          doctor: '',
          remark: '',
          dialyzer_perfusion_apparatus: '',

          body_fluid: '',
          body_fluid_other: '',
          special_medicine: '',
          special_medicine_other: '',
          displace_liqui_part: '',
          displace_liqui_value: '',
          ultrafiltration: '',
          blood_access: '',

          niprocart: '',
          jms: '',
          fistula_needle_set: '',
          fistula_needle_set_16: '',
          hemoperfusion: '',
          dialyser_sterilised: '',
          filtryzer: '',
          target_ktv: '',
          dialyzers: '',
          injector: '',
          bloodlines: '',
          tubing_hemodialysis: '',
          package: '',
          a_liquid: '',

          no_anticoagulant_shouji: '0',
          no_anticoagulant_weichi: '0',
          no_anticoagulant_zongliang: '0',

          creater: 0

        },

        anticoagulant: {
          id: 0,
          name: '',
          type: 1,
          shouji: 1,
          weichi: 1,
          zongliang: 1,
          gaimingcheng: -1,
          gaijiliang: -1,
          shouji_unit: 'mg',
          weichi_unit: 'mg/h',
          zongliang_unit: 'mg',
          gaimingcheng_unit: '',
          gaijiliang_unit: ''
        },

        doctorAdvices: []

      }
    },
    methods: {
      getDryWeight() {
        if (this.dry_weight != null && this.dry_weight.id > 0) {
          return this.dry_weight.dry_weight
        } else {
          if (this.last_predialysis != null && this.last_predialysis.id > 0) {
            return this.last_predialysis.dry_weight
          } else {
            return ''
          }
        }
      },
      getLastAfterWeight(record) {
        if (record != null && record.id > 0) {
          if (record.weight_after > 0) {
            let additional_weight = 0
            if (this.predialysis.additional_weight != undefined) {
              additional_weight = this.predialysis.additional_weight
            }
            return parseFloat(record.weight_after - additional_weight).toFixed(1)
          } else {
            return ''
          }
        }
      },
      getBeforeWeight(predialysis) {
        if (predialysis.id > 0) {
          if (predialysis.weight_before > 0) {
            return predialysis.weight_before - predialysis.additional_weight
          } else {
            return ''
          }
        }
      }, getAfterWeight(record) {
        if (record.id > 0) {
          if (record.weight_after > 0) {
            return record.weight_after - this.predialysis.additional_weight
          } else {
            return ''
          }
        }
      },
      isPermission() {
        if (this.$store.getters.xt_user.user.user_type == 3 && (this.$store.getters.xt_user.template_info.template_id == 2 || this.$store.getters.xt_user.template_info.template_id == 6)) {
          return false
        } else {
          return true
        }
      },
      setLastRecord: function(schedual, lastAssessmentAfterDislysis, lastPredialysisEvaluation, lastDialysisPrescribe, lastDryWeightDislysis, system_prescribe) {
        this.treatment_mode = this.$store.getters.treatment_mode
        this.perfusion_apparatus = getDataConfig('hemodialysis', 'perfusion_apparatus')
        this.replacement_ways = getDataConfig('hemodialysis', 'replacement_ways')
        this.dialysate_formulation_options = getDataConfig('hemodialysis', 'dialysate_formulation')
        this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit
        this.dialysisList = this.devices

        this.body_fluid_option = this.$store.getters.body_fluid
        this.special_medicine_option = this.$store.getters.special_medicine
        this.displace_liqui_part_option = this.$store.getters.displace_liqui
        this.blood_access_option = this.$store.getters.blood_access_internal_fistula

        var date = this.$route.query && this.$route.query.date
        this.record_date = uParseTime(date, '{y}-{m}-{d}')

        if (this.prescription != null && typeof (this.prescription.id) !== 'undefined' && this.prescription.id > 0) {
          for (const key in this.prescription) {
            this.dialysisPrescription[key] = this.prescription[key]
          }
        } else if (this.solution != null && typeof this.solution.id !== 'undefined' && this.solution.id > 0) {
          for (const key in this.solution) {
            if (key != 'target_ultrafiltration') {
              this.dialysisPrescription[key] = this.solution[key]
            }
          }
        } else if (lastDialysisPrescribe != null && typeof lastDialysisPrescribe.id !== 'undefined' && lastDialysisPrescribe.id > 0) {
          for (const key in lastDialysisPrescribe) {
            if (key != 'target_ultrafiltration') {
              this.dialysisPrescription[key] = lastDialysisPrescribe[key]
            }
          }
        } else if (system_prescribe != null && typeof system_prescribe.id !== 'undefined' && system_prescribe.id > 0) {
          for (const key in system_prescribe) {
            if (key != 'target_ultrafiltration') {
              this.dialysisPrescription[key] = system_prescribe[key]
            }
          }
        } else {
          this.dialysisPrescription.mode_id = schedual.mode_id
        }

        var thismode = parseInt(this.dialysisPrescription.anticoagulant)
        if (isNaN(thismode) || thismode <= 0) {
          return false
        }
        if (typeof (this.anticoagulantsConfit[thismode]) === 'undefined' || this.anticoagulantsConfit[thismode] == null) {
          return false
        }
        this.anticoagulant = this.anticoagulantsConfit[thismode]
      },
      menuMsgTip: function() {
        this.msgtip_visibility = false
        this.isVisibility = true
      },
      handleAdviceCommit() {
        let results = []
        for (let i = 0; i < this.targetAdvices.length; i++) {
          for (let a = 0; a < this.checkedCities.length; a++) {
            if (this.targetAdvices[i].id == this.checkedCities[a]) {
              results.push(this.targetAdvices[i])
            }
          }
        }
        var obj5 = {}
        results = results.reduce((cur, next) => {
          obj5[next.id] ? '' : obj5[next.id] = true && cur.push(next)
          return cur
        }, [])

        var date = new Date()
        var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
        var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()

        if (results.length > 0) {
          if (this.is_pre == 1) {
            if (this.patient.id <= 0) {
              this.$message.error('没有选择患者')
              this.loading = false
              return
            }

            const ParamsQuery = this.dialysisPrescription
            ParamsQuery['patient'] = this.patient.id
            ParamsQuery['record_date'] = this.record_date


            if (this.prescription.creater <= 0) {
              ParamsQuery['mode'] = "1"
            } else {
              ParamsQuery['mode'] = "2"
              if (this.$store.getters.xt_user.user.id  != this.dialysisPrescription.creater){
                ParamsQuery['mode'] = "3"
              }
            }
            postPrescription(ParamsQuery).then(response => {
              if (response.data.state == 0) {
                this.$message.error(response.data.msg)
                return false
              } else {
                this.$notify({
                  title: '成功',
                  message: '提交成功',
                  type: 'success',
                  duration: 2000
                })
                var date = new Date()

                var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
                var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()

                const params = {
                  advices: results,
                  advice_date: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
                  advice_doctor: results[0].advice_doctor,
                  advice_type: results[0].advice_type,
                  parent_id: this.patient_id,
                  start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}') + ' ' + hour + ':' + minute,
                  remark: ''
                }
                CreateGroupAdvice(this.$route.query.patient_id, 0, params).then(rs => {
                  var resp = rs.data
                  if (resp.state == 1) {
                    this.doctorAdvices = resp.data.advices
                    this.$emit('advice')
                  } else {

                  }
                })

                const prescription_resp = response.data.data.prescription
                var prescription = this.prescription
                for (var index in prescription_resp) {
                  // prescription[index] = prescription_resp[index];
                  this.$set(prescription, index, prescription_resp[index])
                }
                this.hide()
              }
            })
          } else if (this.is_pre == 2) {
            if (this.patient.id <= 0) {
              this.$message.error('没有选择患者')
              this.loading = false
              return
            }
            const ParamsQuery = this.dialysisPrescription
            ParamsQuery['patient'] = this.patient.id
            ParamsQuery['record_date'] = this.record_date
            ParamsQuery['mode'] = 1
            postSoulution(ParamsQuery).then(response => {
              if (response.data.state == 0) {
                this.$message.error(response.data.msg)
                return false
              } else {
                this.$notify({
                  title: '成功',
                  message: '提交成功',
                  type: 'success',
                  duration: 2000
                })
                console.log(hour + ':' + minute)
                var date = new Date()

                var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
                var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()

                const params = {
                  advices: results,
                  advice_date: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
                  advice_doctor: results[0].advice_doctor,
                  advice_type: results[0].advice_type,
                  parent_id: this.patient_id,
                  start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}') + ' ' + hour + ':' + minute,
                  remark: ''
                }
                CreateGroupAdvice(this.$route.query.patient_id, 0, params).then(rs => {
                  var resp = rs.data
                  if (resp.state == 1) {
                    // this.doctorAdvices = resp.data.advices
                    this.$emit('advice')
                  } else {

                  }
                })

                const prescription_resp = response.data.data.prescription
                const solution_resp = response.data.data.solution
                var prescription = this.prescription
                var solution = this.solution
                for (var index in prescription_resp) {
                  // prescription[index] = prescription_resp[index];
                  this.$set(prescription, index, prescription_resp[index])
                }
                for (var index in solution_resp) {
                  // solution[index] = solution_resp[index];
                  this.$set(solution, index, solution_resp[index])
                }

                this.hide()
              }
            })
          }
        } else {
          if (this.is_pre == 1) {
            if (this.patient.id <= 0) {
              this.$message.error('没有选择患者')
              this.loading = false
              return
            }

            const ParamsQuery = this.dialysisPrescription
            ParamsQuery['patient'] = this.patient.id
            ParamsQuery['record_date'] = this.record_date
            console.log(this.prescription)
            let mode = ""
            if (this.prescription.creater <= 0) {
              mode = 1
            } else {
              mode = 2
            }
            ParamsQuery['mode'] = mode

            postPrescription(ParamsQuery).then(response => {
              if (response.data.state == 0) {
                this.$message.error(response.data.msg)
                return false
              } else {
                this.$notify({
                  title: '成功',
                  message: '提交成功',
                  type: 'success',
                  duration: 2000
                })

                const prescription_resp = response.data.data.prescription
                var prescription = this.prescription
                for (var index in prescription_resp) {
                  // prescription[index] = prescription_resp[index];
                  this.$set(prescription, index, prescription_resp[index])
                }
                this.hide()
              }
            })
          } else if (this.is_pre == 2) {
            if (this.patient.id <= 0) {
              this.$message.error('没有选择患者')
              this.loading = false
              return
            }
            const ParamsQuery = this.dialysisPrescription
            ParamsQuery['patient'] = this.patient.id
            ParamsQuery['record_date'] = this.record_date
            ParamsQuery['mode'] = 1

            postSoulution(ParamsQuery).then(response => {
              if (response.data.state == 0) {
                this.$message.error(response.data.msg)
                return false
              } else {
                this.$notify({
                  title: '成功',
                  message: '提交成功',
                  type: 'success',
                  duration: 2000
                })
                const prescription_resp = response.data.data.prescription
                const solution_resp = response.data.data.solution
                var prescription = this.prescription
                var solution = this.solution
                for (var index in prescription_resp) {
                  // prescription[index] = prescription_resp[index];
                  this.$set(prescription, index, prescription_resp[index])
                }
                for (var index in solution_resp) {
                  // solution[index] = solution_resp[index];
                  this.$set(solution, index, solution_resp[index])
                }

                this.hide()
              }
            })
          }
        }

        this.isShowRemindAdvice = false
        this.isVisibility = true
      },
      handleAdviceCancle() {
        this.isShowRemindAdvice = false
        this.isVisibility = true
      },
      getTime(val) {
        return uParseTime(val, '{y}-{m}-{d} {h}:{i}')
      },
      show(pre) {
        this.pre = pre
        console.log("pre",pre)
        this.getPermission()

        let last_weight_after = 0
        let weight_before = 0

        if (this.last_record == null) {
          last_weight_after = 0
        } else {
          last_weight_after = this.last_record.weight_after
        }

        if (this.predialysis == null || this.predialysis.id == 0) {
          weight_before = 0
        } else {
          weight_before = this.predialysis.weight_before
        }

        if (weight_before > 0 && last_weight_after > 0) {
          this.add_weight = parseFloat(weight_before - last_weight_after).toFixed(2)
        }

        this.isVisibility = true
        this.checkedCities = []
        for (let i = 0; i < this.targetAdvices.length; i++) {
          if (this.targetAdvices[i].isCheck == 1) {
            this.checkedCities.push(this.targetAdvices[i].id)
          }
        }
      },
      hide() {
        this.isVisibility = false
      },
      changeThisAnticoagulant: function(val) {
        var thismode = parseInt(val)
        if (isNaN(thismode) || thismode <= 0) {
          return false
        }
        if (typeof (this.anticoagulantsConfit[thismode]) === 'undefined' || this.anticoagulantsConfit[thismode] == null) {
          return false
        }
        this.anticoagulant = this.anticoagulantsConfit[thismode]
      }, handleCommit: function() {
        if (this.dialysisPrescription.anticoagulant == 1) {
          this.dialysisPrescription.anticoagulant_weichi = '0'
          this.dialysisPrescription.anticoagulant_shouji = '0'
          this.dialysisPrescription.anticoagulant_zongliang = '0'
        }
        if (this.$store.getters.xt_user.template_info.template_id == 6) {
          if (this.dialysisPrescription.mode_id == 2) {
            if (this.dialysisPrescription.displace_liqui_part == 0 || this.dialysisPrescription.displace_liqui_part == -2 || this.dialysisPrescription.displace_liqui_value == 0 || this.dialysisPrescription.displace_liqui_value == '') {
              this.$message.error('HDF模式下置换液和置换液总量不能为空!')
              return
            }
          }
        }

        this.is_pre = 1
        if (this.prescription.id == 0) {
          if (this.is_open == 0) {
            if (this.patient.id <= 0) {
              this.$message.error('没有选择患者')
              this.loading = false
              return
            }

            const ParamsQuery = this.dialysisPrescription
            ParamsQuery['patient'] = this.patient.id
            ParamsQuery['record_date'] = this.record_date
            ParamsQuery['mode'] = '1'

            postPrescription(ParamsQuery).then(response => {
              if (response.data.state == 0) {
                this.$message.error(response.data.msg)
                return false
              } else {
                this.$notify({
                  title: '成功',
                  message: '提交成功',
                  type: 'success',
                  duration: 2000
                })

                const prescription_resp = response.data.data.prescription
                var prescription = this.prescription
                for (var index in prescription_resp) {
                  // prescription[index] = prescription_resp[index];
                  this.$set(prescription, index, prescription_resp[index])
                }
                this.hide()
              }
            })
          } else if (this.is_open == 1) {
            if (this.targetAdvices.length > 0) {
              // 弹框推送提醒
              this.isShowRemindAdvice = true
              this.isVisibility = false
            } else {
              if (this.patient.id <= 0) {
                this.$message.error('没有选择患者')
                this.loading = false
                return
              }

              const ParamsQuery = this.dialysisPrescription
              ParamsQuery['patient'] = this.patient.id
              ParamsQuery['record_date'] = this.record_date
              ParamsQuery['mode'] = '1'

              postPrescription(ParamsQuery).then(response => {
                if (response.data.state == 0) {
                  this.$message.error(response.data.msg)
                  return false
                } else {
                  this.$notify({
                    title: '成功',
                    message: '提交成功',
                    type: 'success',
                    duration: 2000
                  })

                  const prescription_resp = response.data.data.prescription
                  var prescription = this.prescription
                  for (var index in prescription_resp) {
                    // prescription[index] = prescription_resp[index];
                    this.$set(prescription, index, prescription_resp[index])
                  }
                  this.hide()
                }
              })
            }
          } else if (this.is_open == 2) {
            var date = new Date()

            var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
            var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()

            if (this.waitUploadAdvices.length > 0) {


              if (this.patient.id <= 0) {
                this.$message.error('没有选择患者')
                this.loading = false
                return
              }

              const ParamsQuery = this.dialysisPrescription
              ParamsQuery['patient'] = this.patient.id
              ParamsQuery['record_date'] = this.record_date
              ParamsQuery['mode'] = '1'

              postPrescription(ParamsQuery).then(response => {
                if (response.data.state == 0) {
                  this.$message.error(response.data.msg)
                  return false
                } else {
                  this.$notify({
                    title: '成功',
                    message: '提交成功',
                    type: 'success',
                    duration: 2000
                  })

                  const params = {
                    advices: this.waitUploadAdvices,
                    advice_date: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
                    advice_doctor: this.waitUploadAdvices[0].advice_doctor,
                    advice_type: this.waitUploadAdvices[0].advice_type,
                    parent_id: this.patient_id,
                    // start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
                    start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}') + ' ' + hour + ':' + minute,

                    remark: ''
                  }
                  CreateGroupAdvice(this.$route.query.patient_id, 0, params).then(rs => {
                    var resp = rs.data
                    if (resp.state == 1) {
                      // this.doctorAdvices = resp.data.advices
                      this.$emit('advice')
                    } else {

                    }
                  })

                  const prescription_resp = response.data.data.prescription
                  var prescription = this.prescription
                  for (var index in prescription_resp) {
                    // prescription[index] = prescription_resp[index];
                    this.$set(prescription, index, prescription_resp[index])
                  }
                  this.hide()
                }
              })
            } else {
              if (this.patient.id <= 0) {
                this.$message.error('没有选择患者')
                this.loading = false
                return
              }

              const ParamsQuery = this.dialysisPrescription
              ParamsQuery['patient'] = this.patient.id
              ParamsQuery['record_date'] = this.record_date
              console.log(this.prescription)

              if (this.prescription.creater <= 0) {
                mode = 1
              } else {
                mode = 2
              }

              postPrescription(ParamsQuery).then(response => {
                if (response.data.state == 0) {
                  this.$message.error(response.data.msg)
                  return false
                } else {
                  this.$notify({
                    title: '成功',
                    message: '提交成功',
                    type: 'success',
                    duration: 2000
                  })

                  const prescription_resp = response.data.data.prescription
                  var prescription = this.prescription
                  for (var index in prescription_resp) {
                    // prescription[index] = prescription_resp[index];
                    this.$set(prescription, index, prescription_resp[index])
                  }
                  this.hide()
                }
              })
            }
          }
        } else {
          if (this.prescription.creater == 0) {
            if (this.is_open == 0) {
              if (this.patient.id <= 0) {
                this.$message.error('没有选择患者')
                this.loading = false
                return
              }

              const ParamsQuery = this.dialysisPrescription
              ParamsQuery['patient'] = this.patient.id
              ParamsQuery['record_date'] = this.record_date
              ParamsQuery['mode'] = '1'

              postPrescription(ParamsQuery).then(response => {
                if (response.data.state == 0) {
                  this.$message.error(response.data.msg)
                  return false
                } else {
                  this.$notify({
                    title: '成功',
                    message: '提交成功',
                    type: 'success',
                    duration: 2000
                  })

                  const prescription_resp = response.data.data.prescription
                  var prescription = this.prescription
                  for (var index in prescription_resp) {
                    // prescription[index] = prescription_resp[index];
                    this.$set(prescription, index, prescription_resp[index])
                  }
                  this.hide()
                }
              })
            } else if (this.is_open == 1) {
              if (this.targetAdvices.length > 0) {
                // 弹框推送提醒
                this.isShowRemindAdvice = true
                this.isVisibility = false
              } else {
                if (this.patient.id <= 0) {
                  this.$message.error('没有选择患者')
                  this.loading = false
                  return
                }

                const ParamsQuery = this.dialysisPrescription
                ParamsQuery['patient'] = this.patient.id
                ParamsQuery['record_date'] = this.record_date
                ParamsQuery['mode'] = '1'

                postPrescription(ParamsQuery).then(response => {
                  if (response.data.state == 0) {
                    this.$message.error(response.data.msg)
                    return false
                  } else {
                    this.$notify({
                      title: '成功',
                      message: '提交成功',
                      type: 'success',
                      duration: 2000
                    })

                    const prescription_resp = response.data.data.prescription
                    var prescription = this.prescription
                    for (var index in prescription_resp) {
                      // prescription[index] = prescription_resp[index];
                      this.$set(prescription, index, prescription_resp[index])
                    }
                    this.hide()
                  }
                })
              }
            } else if (this.is_open == 2) {
              var date = new Date()

              var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
              var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()

              if (this.waitUploadAdvices.length > 0) {

                if (this.patient.id <= 0) {
                  this.$message.error('没有选择患者')
                  this.loading = false
                  return
                }

                const ParamsQuery = this.dialysisPrescription
                ParamsQuery['patient'] = this.patient.id
                ParamsQuery['record_date'] = this.record_date
                ParamsQuery['mode'] = '1'

                postPrescription(ParamsQuery).then(response => {
                  if (response.data.state == 0) {
                    this.$message.error(response.data.msg)
                    return false
                  } else {
                    this.$notify({
                      title: '成功',
                      message: '提交成功',
                      type: 'success',
                      duration: 2000
                    })

                    const params = {
                      advices: this.waitUploadAdvices,
                      advice_date: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
                      advice_doctor: this.waitUploadAdvices[0].advice_doctor,
                      advice_type: this.waitUploadAdvices[0].advice_type,
                      parent_id: this.patient_id,
                      // start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
                      start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}') + ' ' + hour + ':' + minute,

                      remark: ''
                    }
                    CreateGroupAdvice(this.$route.query.patient_id, 0, params).then(rs => {
                      var resp = rs.data
                      if (resp.state == 1) {
                        // this.doctorAdvices = resp.data.advices
                        this.$emit('advice')
                      } else {

                      }
                    })


                    const prescription_resp = response.data.data.prescription
                    var prescription = this.prescription
                    for (var index in prescription_resp) {
                      // prescription[index] = prescription_resp[index];
                      this.$set(prescription, index, prescription_resp[index])
                    }
                    this.hide()
                  }
                })
              } else {
                if (this.patient.id <= 0) {
                  this.$message.error('没有选择患者')
                  this.loading = false
                  return
                }

                const ParamsQuery = this.dialysisPrescription
                ParamsQuery['patient'] = this.patient.id
                ParamsQuery['record_date'] = this.record_date
                ParamsQuery['mode'] = '1'


                postPrescription(ParamsQuery).then(response => {
                  if (response.data.state == 0) {
                    this.$message.error(response.data.msg)
                    return false
                  } else {
                    this.$notify({
                      title: '成功',
                      message: '提交成功',
                      type: 'success',
                      duration: 2000
                    })

                    const prescription_resp = response.data.data.prescription
                    var prescription = this.prescription
                    for (var index in prescription_resp) {
                      // prescription[index] = prescription_resp[index];
                      this.$set(prescription, index, prescription_resp[index])
                    }
                    this.hide()
                  }
                })
              }
            }
          } else {
            if (this.patient.id <= 0) {
              this.$message.error('没有选择患者')
              this.loading = false
              return
            }

            const ParamsQuery = this.dialysisPrescription
            ParamsQuery['patient'] = this.patient.id
            ParamsQuery['record_date'] = this.record_date
            ParamsQuery['mode'] = "2"

            if (this.$store.getters.xt_user.user.id  != this.dialysisPrescription.creater){
              ParamsQuery['mode'] = "3"
            }

            postPrescription(ParamsQuery).then(response => {
              if (response.data.state == 0) {
                this.$message.error(response.data.msg)
                return false
              } else {
                this.$notify({
                  title: '成功',
                  message: '提交成功',
                  type: 'success',
                  duration: 2000
                })

                const prescription_resp = response.data.data.prescription
                var prescription = this.prescription
                for (var index in prescription_resp) {
                  // prescription[index] = prescription_resp[index];
                  this.$set(prescription, index, prescription_resp[index])
                }
                this.hide()
              }
            })
          }
        }
      }, handleCancle: function() {
        this.hide()
      }, handleSolution: function() {
        if (this.dialysisPrescription.anticoagulant == 1) {
          this.dialysisPrescription.anticoagulant_weichi = '0'
          this.dialysisPrescription.anticoagulant_shouji = '0'
          this.dialysisPrescription.anticoagulant_zongliang = '0'
        }
        if (this.$store.getters.xt_user.template_info.template_id == 6) {
          if (this.dialysisPrescription.mode_id == 2) {
            if (this.dialysisPrescription.displace_liqui_part == 0 || this.dialysisPrescription.displace_liqui_part == -2 || this.dialysisPrescription.displace_liqui_value == 0 || this.dialysisPrescription.displace_liqui_value == '') {
              this.$message.error('HDF模式下置换液和置换液总量不能为空!')
              return
            }
          }
        }

        this.is_pre = 2
        if (this.prescription.id == 0) {
          if (this.is_open == 0) {
            if (this.patient.id <= 0) {
              this.$message.error('没有选择患者')
              this.loading = false
              return
            }
            const ParamsQuery = this.dialysisPrescription
            ParamsQuery['patient'] = this.patient.id
            ParamsQuery['record_date'] = this.record_date
            ParamsQuery['mode'] = "1"

            postSoulution(ParamsQuery).then(response => {
              if (response.data.state == 0) {
                this.$message.error(response.data.msg)
                return false
              } else {
                this.$notify({
                  title: '成功',
                  message: '提交成功',
                  type: 'success',
                  duration: 2000
                })
                const prescription_resp = response.data.data.prescription
                const solution_resp = response.data.data.solution
                var prescription = this.prescription
                var solution = this.solution
                for (var index in prescription_resp) {
                  // prescription[index] = prescription_resp[index];
                  this.$set(prescription, index, prescription_resp[index])
                }
                for (var index in solution_resp) {
                  // solution[index] = solution_resp[index];
                  this.$set(solution, index, solution_resp[index])
                }

                this.hide()
              }
            })
          } else if (this.is_open == 1) {
            if (this.targetAdvices.length > 0) {
              // 弹框推送提
              this.isShowRemindAdvice = true
              this.isVisibility = false
            } else {
              if (this.patient.id <= 0) {
                this.$message.error('没有选择患者')
                this.loading = false
                return
              }
              const ParamsQuery = this.dialysisPrescription
              ParamsQuery['patient'] = this.patient.id
              ParamsQuery['record_date'] = this.record_date
              ParamsQuery['mode'] = "1"

              postSoulution(ParamsQuery).then(response => {
                if (response.data.state == 0) {
                  this.$message.error(response.data.msg)
                  return false
                } else {
                  this.$notify({
                    title: '成功',
                    message: '提交成功',
                    type: 'success',
                    duration: 2000
                  })
                  const prescription_resp = response.data.data.prescription
                  const solution_resp = response.data.data.solution
                  var prescription = this.prescription
                  var solution = this.solution
                  for (var index in prescription_resp) {
                    // prescription[index] = prescription_resp[index];
                    this.$set(prescription, index, prescription_resp[index])
                  }
                  for (var index in solution_resp) {
                    // solution[index] = solution_resp[index];
                    this.$set(solution, index, solution_resp[index])
                  }

                  this.hide()
                }
              })
            }
          } else if (this.is_open == 2) {
            var date = new Date()

            var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
            var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()

            if (this.waitUploadAdvices.length > 0) {


              if (this.patient.id <= 0) {
                this.$message.error('没有选择患者')
                this.loading = false
                return
              }

              const ParamsQuery = this.dialysisPrescription
              ParamsQuery['patient'] = this.patient.id
              ParamsQuery['record_date'] = this.record_date
              console.log(this.prescription)

              ParamsQuery['mode'] = "1"


              postPrescription(ParamsQuery).then(response => {
                if (response.data.state == 0) {
                  this.$message.error(response.data.msg)
                  return false
                } else {
                  this.$notify({
                    title: '成功',
                    message: '提交成功',
                    type: 'success',
                    duration: 2000
                  })
                  const params = {
                    advices: this.waitUploadAdvices,
                    advice_date: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
                    advice_doctor: this.waitUploadAdvices[0].advice_doctor,
                    advice_type: this.waitUploadAdvices[0].advice_type,
                    parent_id: this.patient_id,
                    // start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
                    start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}') + ' ' + hour + ':' + minute,

                    remark: ''
                  }
                  CreateGroupAdvice(this.$route.query.patient_id, 0, params).then(rs => {
                    var resp = rs.data
                    if (resp.state == 1) {
                      // this.doctorAdvices = resp.data.advices
                      this.$emit('advice')
                    } else {

                    }
                  })

                  const prescription_resp = response.data.data.prescription
                  var prescription = this.prescription
                  for (var index in prescription_resp) {
                    // prescription[index] = prescription_resp[index];
                    this.$set(prescription, index, prescription_resp[index])
                  }
                  this.hide()
                }
              })
            } else {
              if (this.patient.id <= 0) {
                this.$message.error('没有选择患者')
                this.loading = false
                return
              }
              const ParamsQuery = this.dialysisPrescription
              ParamsQuery['patient'] = this.patient.id
              ParamsQuery['record_date'] = this.record_date
              ParamsQuery['mode'] = "1"

              postSoulution(ParamsQuery).then(response => {
                if (response.data.state == 0) {
                  this.$message.error(response.data.msg)
                  return false
                } else {
                  this.$notify({
                    title: '成功',
                    message: '提交成功',
                    type: 'success',
                    duration: 2000
                  })
                  const prescription_resp = response.data.data.prescription
                  const solution_resp = response.data.data.solution
                  var prescription = this.prescription
                  var solution = this.solution
                  for (var index in prescription_resp) {
                    // prescription[index] = prescription_resp[index];
                    this.$set(prescription, index, prescription_resp[index])
                  }
                  for (var index in solution_resp) {
                    // solution[index] = solution_resp[index];
                    this.$set(solution, index, solution_resp[index])
                  }

                  this.hide()
                }
              })
            }
          }
        } else {
          if (this.prescription.creater == 0) {
            if (this.is_open == 0) {
              if (this.patient.id <= 0) {
                this.$message.error('没有选择患者')
                this.loading = false
                return
              }
              const ParamsQuery = this.dialysisPrescription
              ParamsQuery['patient'] = this.patient.id
              ParamsQuery['record_date'] = this.record_date
              ParamsQuery['mode'] = "1"

              postSoulution(ParamsQuery).then(response => {
                if (response.data.state == 0) {
                  this.$message.error(response.data.msg)
                  return false
                } else {
                  this.$notify({
                    title: '成功',
                    message: '提交成功',
                    type: 'success',
                    duration: 2000
                  })
                  const prescription_resp = response.data.data.prescription
                  const solution_resp = response.data.data.solution
                  var prescription = this.prescription
                  var solution = this.solution
                  for (var index in prescription_resp) {
                    // prescription[index] = prescription_resp[index];
                    this.$set(prescription, index, prescription_resp[index])
                  }
                  for (var index in solution_resp) {
                    // solution[index] = solution_resp[index];
                    this.$set(solution, index, solution_resp[index])
                  }

                  this.hide()
                }
              })
            } else if (this.is_open == 1) {
              if (this.targetAdvices.length > 0) {
                // 弹框推送提醒
                this.isShowRemindAdvice = true
                this.isVisibility = false
              } else {
                if (this.patient.id <= 0) {
                  this.$message.error('没有选择患者')
                  this.loading = false
                  return
                }
                const ParamsQuery = this.dialysisPrescription
                ParamsQuery['patient'] = this.patient.id
                ParamsQuery['record_date'] = this.record_date
                ParamsQuery['mode'] = "1"

                postSoulution(ParamsQuery).then(response => {
                  if (response.data.state == 0) {
                    this.$message.error(response.data.msg)
                    return false
                  } else {
                    this.$notify({
                      title: '成功',
                      message: '提交成功',
                      type: 'success',
                      duration: 2000
                    })
                    const prescription_resp = response.data.data.prescription
                    const solution_resp = response.data.data.solution
                    var prescription = this.prescription
                    var solution = this.solution
                    for (var index in prescription_resp) {
                      // prescription[index] = prescription_resp[index];
                      this.$set(prescription, index, prescription_resp[index])
                    }
                    for (var index in solution_resp) {
                      // solution[index] = solution_resp[index];
                      this.$set(solution, index, solution_resp[index])
                    }

                    this.hide()
                  }
                })
              }
            } else if (this.is_open == 2) {
              var date = new Date()

              var hour = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
              var minute = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()

              if (this.waitUploadAdvices.length > 0) {


                if (this.patient.id <= 0) {
                  this.$message.error('没有选择患者')
                  this.loading = false
                  return
                }
                const ParamsQuery = this.dialysisPrescription
                ParamsQuery['patient'] = this.patient.id
                ParamsQuery['record_date'] = this.record_date
                ParamsQuery['mode'] = "1"

                postSoulution(ParamsQuery).then(response => {
                  if (response.data.state == 0) {
                    this.$message.error(response.data.msg)
                    return false
                  } else {
                    this.$notify({
                      title: '成功',
                      message: '提交成功',
                      type: 'success',
                      duration: 2000
                    })
                    const params = {
                      advices: this.waitUploadAdvices,
                      advice_date: uParseTime(this.$route.query.date, '{y}-{m}-{d}'),
                      advice_doctor: this.waitUploadAdvices[0].advice_doctor,
                      advice_type: this.waitUploadAdvices[0].advice_type,
                      parent_id: this.patient_id,
                      // start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d} {h}{i}'),
                      start_time: uParseTime(this.$route.query.date, '{y}-{m}-{d}') + ' ' + hour + ':' + minute,

                      remark: ''
                    }
                    CreateGroupAdvice(this.$route.query.patient_id, 0, params).then(rs => {
                      var resp = rs.data
                      if (resp.state == 1) {
                        // this.doctorAdvices = resp.data.advices
                        this.$emit('advice')
                      } else {

                      }
                    })
                    const prescription_resp = response.data.data.prescription
                    const solution_resp = response.data.data.solution
                    var prescription = this.prescription
                    var solution = this.solution
                    for (var index in prescription_resp) {
                      // prescription[index] = prescription_resp[index];
                      this.$set(prescription, index, prescription_resp[index])
                    }
                    for (var index in solution_resp) {
                      // solution[index] = solution_resp[index];
                      this.$set(solution, index, solution_resp[index])
                    }

                    this.hide()
                  }
                })
              } else {
                if (this.patient.id <= 0) {
                  this.$message.error('没有选择患者')
                  this.loading = false
                  return
                }
                const ParamsQuery = this.dialysisPrescription
                ParamsQuery['patient'] = this.patient.id
                ParamsQuery['record_date'] = this.record_date
                ParamsQuery['mode'] = "1"

                postSoulution(ParamsQuery).then(response => {
                  if (response.data.state == 0) {
                    this.$message.error(response.data.msg)
                    return false
                  } else {
                    this.$notify({
                      title: '成功',
                      message: '提交成功',
                      type: 'success',
                      duration: 2000
                    })
                    const prescription_resp = response.data.data.prescription
                    const solution_resp = response.data.data.solution
                    var prescription = this.prescription
                    var solution = this.solution
                    for (var index in prescription_resp) {
                      // prescription[index] = prescription_resp[index];
                      this.$set(prescription, index, prescription_resp[index])
                    }
                    for (var index in solution_resp) {
                      // solution[index] = solution_resp[index];
                      this.$set(solution, index, solution_resp[index])
                    }

                    this.hide()
                  }
                })
              }
            }
          } else {
            if (this.patient.id <= 0) {
              this.$message.error('没有选择患者')
              this.loading = false
              return
            }
            const ParamsQuery = this.dialysisPrescription
            ParamsQuery['patient'] = this.patient.id
            ParamsQuery['record_date'] = this.record_date
            ParamsQuery['mode'] = "1"

            postSoulution(ParamsQuery).then(response => {
              if (response.data.state == 0) {
                this.$message.error(response.data.msg)
                return false
              } else {
                this.$notify({
                  title: '成功',
                  message: '提交成功',
                  type: 'success',
                  duration: 2000
                })
                const prescription_resp = response.data.data.prescription
                const solution_resp = response.data.data.solution
                var prescription = this.prescription
                var solution = this.solution
                for (var index in prescription_resp) {
                  // prescription[index] = prescription_resp[index];
                  this.$set(prescription, index, prescription_resp[index])
                }
                for (var index in solution_resp) {
                  // solution[index] = solution_resp[index];
                  this.$set(solution, index, solution_resp[index])
                }

                this.hide()
              }
            })
          }
        }
      }, isShows(name) {
        var filedList = store.getters.xt_user.fileds
        for (let i = 0; i < filedList.length; i++) {
          if (filedList[i].module == 1 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
            return true
          }
        }
        return false
      }, getDoctorName(doctor_id) {
        for (let i = 0; i < this.admin_users.length; i++) {
          if (this.admin_users[i].id == doctor_id) {
            return this.admin_users[i].name
          }
        }
      }, getContent(val) {
        let prescribing_number = ''
        let single_dose = ''
        let advice_desc = ''

        if (val.prescribing_number > 0) {
          prescribing_number = val.prescribing_number + val.prescribing_number_unit
        }
        if (val.single_dose > 0) {
          single_dose = ' 单次用量 ' + val.single_dose + val.single_dose_unit
        }

        if (val.advice_desc > 0) {
          advice_desc = val.advice_desc + val.drug_spec_unit
        }

        let name = ''
        if (val.child.length > 0) {
          for (let i = 0; i < val.child.length; i++) {
            if (val.child[i].prescribing_number > 0) {
              val.child[i]['presc'] = val.child[i].prescribing_number + val.child[i].prescribing_number_unit
            } else {
              val.child[i]['presc'] = ''
            }

            if (val.child[i].single_dose > 0) {
              val.child[i]['single'] = ' ' + ' 单次用量 ' + ' ' + val.child[i].single_dose + val.child[i].single_dose_unit
            } else {
              val.child[i]['single'] = ''
            }
            name = name + '▲' + val.child[i].advice_name + '' +
              val.child[i].advice_desc +
              val.child[i].drug_spec_unit +
              val.child[i].presc +
              val.child[i].single
          }
          return val.advice_name + '  ' + advice_desc + ' ' +
            val.drug_spec_unit +
            prescribing_number +
            ' ' + single_dose + ' ' + ' ' + val.delivery_way + ' ' + val.execution_frequency + val.remark + name
        } else {
          return val.advice_name + '  ' + advice_desc +
            prescribing_number +
            ' ' + single_dose + ' ' + ' ' + val.delivery_way + ' ' + val.execution_frequency + val.remark
        }
      },
      changePrescription(id) {
        const ParamsQuery = {}
        ParamsQuery['patient_id'] = this.$route.query.patient_id
        ParamsQuery['mode_id'] = id
        GetSolution(ParamsQuery).then(response => {
          if (response.data.state == 0) {
            this.$message.error(response.data.msg)
            return false
          } else {
            this.$message.success('切换成功')
            if (response.data.data.solution != null) {
              for (const key in response.data.data.solution) { // 长期处方不为空
                if (key != 'target_ultrafiltration') {
                  this.dialysisPrescription[key] = response.data.data.solution[key]
                }
              }
            } else {
              if (response.data.data.prescription != null) { // 临时处方不为空
                for (const key in response.data.data.prescription) {
                  if (key != 'target_ultrafiltration') {
                    this.dialysisPrescription[key] = response.data.data.prescription[key]
                  }
                }
              } else if (response.data.data.system_prescription != null) { // 临时处方不为空
                for (const key in response.data.data.system_prescription) {
                  if (key != 'target_ultrafiltration') {
                    this.dialysisPrescription[key] = response.data.data.system_prescription[key]
                  }
                }
              } else {
                for (const key in this.dialysisPrescription) { // 临时处方为空
                  if (key != 'target_ultrafiltration') {
                    this.dialysisPrescription[key] = ''
                  }
                }
                this.dialysisPrescription.mode_id = id
              }
            }
          }

          if (this.dialysisPrescription.dialysis_duration_hour === '' || this.dialysisPrescription.dialysis_duration_minute === '') {
            this.timeValue = ''
            this.time = '03:00'
          } else {
            this.timeValue = this.dialysisPrescription.dialysis_duration_hour + '小时' + this.dialysisPrescription.dialysis_duration_minute + '分钟'
            this.time = (this.dialysisPrescription.dialysis_duration_hour > 10 ? this.dialysisPrescription.dialysis_duration_hour : '0' + this.dialysisPrescription.dialysis_duration_hour) + ':' + (this.dialysisPrescription.dialysis_duration_minute > 10 ? this.dialysisPrescription.dialysis_duration_minute : '0' + this.dialysisPrescription.dialysis_duration_minute)
          }
        })

        if (id === 1 || id === 3 || id === 4 || id === 6 || id === 7 || id === 8 || id === 9 || id === 10 || id === 11 || id === 13 || id === 14 || id === 15 || id === 16) {
          this.zhiShow = false
          this.huShow = false
          this.totalShow = false
        } else {
          this.zhiShow = true
          this.huShow = true
          this.totalShow = true
        }
      }, handlePatientInfo() {
        this.isVisibility = false
        this.msgtip_visibility = true
      }, cancleMsg() {
        this.isVisibility = true
        this.msgtip_visibility = false
      },
      getPermission() {
        request.get("/api/func_per/get", {
          params: {
            create_url: "/api/dialysis/prescription?mode=1",
            modify_url: "/api/dialysis/prescription?mode=2",
            modify_other_url: "/api/dialysis/prescription?mode=3",
            module: 1
          }
        }).then(res => {
          console.log(res)
          console.log("predialysis.creater", this.pre.creater)
          console.log("admin.id", this.$store.getters.xt_user.user.id)
          if (res.data.state == 0) {
            this.hasPermission = false
          } else if (res.data.state == 1) {
            if (this.pre.id != "" && this.pre.creater != 0) {//有数据
              if (this.pre.creater == this.$store.getters.xt_user.user.id) {//创建人是自己
                if (res.data.data.is_has_modify == false) {
                  this.hasPermission = false
                  this.showTxt = "你没有修改透析处方权限"
                }
              } else {//创建人不是自己
                if (res.data.data.is_has_modify_other == false) {
                  this.hasPermission = false
                  this.showTxt = "你没有修改他人透析处方权限"
                }
              }
            } else if (this.pre.id == "" || this.pre.creater == 0) {
              if (res.data.data.is_has_create == false) {
                this.hasPermission = false
                this.showTxt = "你没有新增透析处方权限"
              }
            }
          }
        })
      }
    },

    watch: {
      'dialysisPrescription.dialysis_duration_hour': function() {
        let dialysis_duration_minute = 0
        let dialysis_duration_hour = 0
        let duration = 0

        if (this.dialysisPrescription.dialysis_duration_minute == '') {
          dialysis_duration_minute = 0
        } else {
          dialysis_duration_minute = this.dialysisPrescription.dialysis_duration_minute
        }

        if (this.dialysisPrescription.dialysis_duration_hour == '') {
          dialysis_duration_hour = 0
        } else {
          dialysis_duration_hour = this.dialysisPrescription.dialysis_duration_hour
        }
        duration = parseFloat(dialysis_duration_hour) + parseFloat(dialysis_duration_minute) / 60

        this.dialysisPrescription.anticoagulant_zongliang = calculateAnticoagulantZL(1,
          this.dialysisPrescription.anticoagulant_shouji,
          duration,
          this.dialysisPrescription.anticoagulant_weichi
        )
        if (isNaN(this.dialysisPrescription.anticoagulant_zongliang)) {
          this.dialysisPrescription.anticoagulant_zongliang = ''
        }
      },
      'dialysisPrescription.dialysis_duration_minute': function() {
        let dialysis_duration_minute = 0
        let dialysis_duration_hour = 0
        let duration = 0

        if (this.dialysisPrescription.dialysis_duration_minute == '') {
          dialysis_duration_minute = 0
        } else {
          dialysis_duration_minute = this.dialysisPrescription.dialysis_duration_minute
        }

        if (this.dialysisPrescription.dialysis_duration_hour == '') {
          dialysis_duration_hour = 0
        } else {
          dialysis_duration_hour = this.dialysisPrescription.dialysis_duration_hour
        }
        duration = parseFloat(dialysis_duration_hour) + parseFloat(dialysis_duration_minute) / 60

        this.dialysisPrescription.anticoagulant_zongliang = calculateAnticoagulantZL(1,
          this.dialysisPrescription.anticoagulant_shouji,
          duration,
          this.dialysisPrescription.anticoagulant_weichi
        )
        if (isNaN(this.dialysisPrescription.anticoagulant_zongliang)) {
          this.dialysisPrescription.anticoagulant_zongliang = ''
        }
      },
      'dialysisPrescription.anticoagulant_shouji': function() {
        let dialysis_duration_minute = 0
        let dialysis_duration_hour = 0
        let duration = 0
        if (this.dialysisPrescription.dialysis_duration_minute == '') {
          dialysis_duration_minute = 0
        } else {
          dialysis_duration_minute = this.dialysisPrescription.dialysis_duration_minute
        }
        if (this.dialysisPrescription.dialysis_duration_hour == '') {
          dialysis_duration_hour = 0
        } else {
          dialysis_duration_hour = this.dialysisPrescription.dialysis_duration_hour
        }
        duration = parseFloat(dialysis_duration_hour) + parseFloat(dialysis_duration_minute) / 60
        this.dialysisPrescription.anticoagulant_zongliang = calculateAnticoagulantZL(1,
          this.dialysisPrescription.anticoagulant_shouji,
          duration,
          this.dialysisPrescription.anticoagulant_weichi
        )
        if (isNaN(this.dialysisPrescription.anticoagulant_zongliang)) {
          this.dialysisPrescription.anticoagulant_zongliang = ''
        }
      },
      'dialysisPrescription.anticoagulant_weichi': function() {
        let dialysis_duration_minute = 0
        let dialysis_duration_hour = 0
        let duration = 0

        if (this.dialysisPrescription.dialysis_duration_minute == '') {
          dialysis_duration_minute = 0
        } else {
          dialysis_duration_minute = this.dialysisPrescription.dialysis_duration_minute
        }

        if (this.dialysisPrescription.dialysis_duration_hour == '') {
          dialysis_duration_hour = 0
        } else {
          dialysis_duration_hour = this.dialysisPrescription.dialysis_duration_hour
        }
        duration = parseFloat(dialysis_duration_hour) + parseFloat(dialysis_duration_minute) / 60

        this.dialysisPrescription.anticoagulant_zongliang = calculateAnticoagulantZL(1,
          this.dialysisPrescription.anticoagulant_shouji,
          duration,
          this.dialysisPrescription.anticoagulant_weichi
        )
        if (isNaN(this.dialysisPrescription.anticoagulant_zongliang)) {
          this.dialysisPrescription.anticoagulant_zongliang = ''
        }
      }, 'prescription.id': function() {
        if (this.prescription.id > 0) {
          for (var index in this.dialysisPrescription) {
            this.dialysisPrescription[index] = this.prescription[index]
          }

          if (this.prescription['dialysate_formulation'] == 0) {
            this.dialysisPrescription['dialysate_formulation'] = ''
          }

          if (this.prescription['anticoagulant'] == 0) {
            this.dialysisPrescription['anticoagulant'] = ''
          }

          if (this.prescription['dialysis_duration_hour'] == 0) {
            this.dialysisPrescription['dialysis_duration_hour'] = ''
          }
          if (this.prescription['dialysis_duration_minute'] == 0) {
            this.dialysisPrescription['dialysis_duration_minute'] = ''
          }
          if (this.prescription['blood_flow_volume'] == 0) {
            this.dialysisPrescription['blood_flow_volume'] = ''
          }
          if (this.prescription['target_ultrafiltration'] == 0) {
            this.dialysisPrescription['target_ultrafiltration'] = ''
          }
          if (this.prescription['dialysate_temperature'] == 0) {
            this.dialysisPrescription['dialysate_temperature'] = ''
          }
          if (this.prescription['anticoagulant_shouji'] == 0) {
            this.dialysisPrescription['anticoagulant_shouji'] = ''
          }
          if (this.prescription['anticoagulant_weichi'] == 0) {
            this.dialysisPrescription['anticoagulant_weichi'] = ''
          }
          if (this.prescription['anticoagulant_zongliang'] == 0) {
            this.dialysisPrescription['anticoagulant_zongliang'] = ''
          }
          if (this.prescription['anticoagulant_gaijiliang'] == 0) {
            this.dialysisPrescription['anticoagulant_gaijiliang'] = ''
          }
          if (this.prescription['kalium'] == 0) {
            this.dialysisPrescription['kalium'] = ''
          }
          if (this.prescription['sodium'] == 0) {
            this.dialysisPrescription['sodium'] = ''
          }
          if (this.prescription['calcium'] == 0) {
            this.dialysisPrescription['calcium'] = ''
          }
          if (this.prescription['bicarbonate'] == 0) {
            this.dialysisPrescription['bicarbonate'] = ''
          }
          if (this.prescription['glucose'] == 0) {
            this.dialysisPrescription['glucose'] = ''
          }
          if (this.prescription['dialysate_flow'] == 0) {
            this.dialysisPrescription['dialysate_flow'] = ''
          }
          if (this.prescription['conductivity'] == 0) {
            this.dialysisPrescription['conductivity'] = ''
          }
          if (this.prescription['replacement_total'] == 0) {
            this.dialysisPrescription['replacement_total'] = ''
          }
          if (this.prescription['target_ktv'] == 0) {
            this.dialysisPrescription['target_ktv'] = ''
          }
        }
      },
      'solution.id': function() {
        if (this.solution.id > 0) {
          if (this.prescription != null && typeof (this.prescription.id) !== 'undefined' && this.prescription.id > 0) {
            for (const key in this.prescription) {
              this.dialysisPrescription[key] = this.prescription[key]
            }
            if (this.prescription['dialysate_formulation'] == 0) {
              this.dialysisPrescription['dialysate_formulation'] = ''
            }
            if (this.prescription['anticoagulant'] == 0) {
              this.dialysisPrescription['anticoagulant'] = ''
            }

            if (this.prescription['dialysis_duration_hour'] == 0) {
              this.dialysisPrescription['dialysis_duration_hour'] = ''
            }
            if (this.prescription['dialysis_duration_minute'] == 0) {
              this.dialysisPrescription['dialysis_duration_minute'] = ''
            }
            if (this.prescription['blood_flow_volume'] == 0) {
              this.dialysisPrescription['blood_flow_volume'] = ''
            }
            if (this.prescription['target_ultrafiltration'] == 0) {
              this.dialysisPrescription['target_ultrafiltration'] = ''
            }
            if (this.prescription['dialysate_temperature'] == 0) {
              this.dialysisPrescription['dialysate_temperature'] = ''
            }
            if (this.prescription['anticoagulant_shouji'] == 0) {
              this.dialysisPrescription['anticoagulant_shouji'] = ''
            }
            if (this.prescription['anticoagulant_weichi'] == 0) {
              this.dialysisPrescription['anticoagulant_weichi'] = ''
            }
            if (this.prescription['anticoagulant_zongliang'] == 0) {
              this.dialysisPrescription['anticoagulant_zongliang'] = ''
            }
            if (this.prescription['anticoagulant_gaijiliang'] == 0) {
              this.dialysisPrescription['anticoagulant_gaijiliang'] = ''
            }
            if (this.prescription['kalium'] == 0) {
              this.dialysisPrescription['kalium'] = ''
            }
            if (this.prescription['sodium'] == 0) {
              this.dialysisPrescription['sodium'] = ''
            }
            if (this.prescription['calcium'] == 0) {
              this.dialysisPrescription['calcium'] = ''
            }
            if (this.prescription['bicarbonate'] == 0) {
              this.dialysisPrescription['bicarbonate'] = ''
            }
            if (this.prescription['glucose'] == 0) {
              this.dialysisPrescription['glucose'] = ''
            }
            if (this.prescription['dialysate_flow'] == 0) {
              this.dialysisPrescription['dialysate_flow'] = ''
            }
            if (this.prescription['conductivity'] == 0) {
              this.dialysisPrescription['conductivity'] = ''
            }
            if (this.prescription['replacement_total'] == 0) {
              this.dialysisPrescription['replacement_total'] = ''
            }
            if (this.prescription['target_ktv'] == 0) {
              this.dialysisPrescription['target_ktv'] = ''
            }
          } else if (this.solution != null && typeof this.solution.id !== 'undefined' && this.solution.id) {
            for (const key in this.solution) {
              this.dialysisPrescription[key] = this.solution[key]
            }

            if (this.solution['dialysate_formulation'] == 0) {
              this.dialysisPrescription['dialysate_formulation'] = ''
            }

            if (this.solution['anticoagulant'] == 0) {
              this.dialysisPrescription['anticoagulant'] = ''
            }

            if (this.solution['dialysis_duration_hour'] == 0) {
              this.dialysisPrescription['dialysis_duration_hour'] = ''
            }
            if (this.solution['dialysis_duration_minute'] == 0) {
              this.dialysisPrescription['dialysis_duration_minute'] = ''
            }
            if (this.solution['blood_flow_volume'] == 0) {
              this.dialysisPrescription['blood_flow_volume'] = ''
            }
            if (this.solution['target_ultrafiltration'] == 0) {
              this.dialysisPrescription['target_ultrafiltration'] = ''
            }
            if (this.solution['dialysate_temperature'] == 0) {
              this.dialysisPrescription['dialysate_temperature'] = ''
            }
            if (this.solution['anticoagulant_shouji'] == 0) {
              this.dialysisPrescription['anticoagulant_shouji'] = ''
            }
            if (this.solution['anticoagulant_weichi'] == 0) {
              this.dialysisPrescription['anticoagulant_weichi'] = ''
            }
            if (this.solution['anticoagulant_zongliang'] == 0) {
              this.dialysisPrescription['anticoagulant_zongliang'] = ''
            }
            if (this.solution['anticoagulant_gaijiliang'] == 0) {
              this.dialysisPrescription['anticoagulant_gaijiliang'] = ''
            }
            if (this.solution['kalium'] == 0) {
              this.dialysisPrescription['kalium'] = ''
            }
            if (this.solution['sodium'] == 0) {
              this.dialysisPrescription['sodium'] = ''
            }
            if (this.solution['calcium'] == 0) {
              this.dialysisPrescription['calcium'] = ''
            }
            if (this.solution['bicarbonate'] == 0) {
              this.dialysisPrescription['bicarbonate'] = ''
            }
            if (this.solution['glucose'] == 0) {
              this.dialysisPrescription['glucose'] = ''
            }
            if (this.solution['dialysate_flow'] == 0) {
              this.dialysisPrescription['dialysate_flow'] = ''
            }
            if (this.solution['conductivity'] == 0) {
              this.dialysisPrescription['conductivity'] = ''
            }
            if (this.solution['replacement_total'] == 0) {
              this.dialysisPrescription['replacement_total'] = ''
            }
            if (this.solution['target_ktv'] == 0) {
              this.dialysisPrescription['target_ktv'] = ''
            }
          }
        }
      }
    },
  }

</script>

<style rel="stylesheet/scss" lang="scss" scoped>
  .el-checkbox, .el-checkbox__input {
    vertical-align: middle;
  }


  .newLine {
    display: flex;
    justify-content: space-between;
    height: 40px;
    line-height: 40px;
    border-bottom: 1px solid #ccc;
  }
.warnTxt{
  text-align: center;
  margin: 0 auto;
  background: #faa331;
  max-width: 240px;
  padding: 10px 20px;
  border-radius: 4px;
  margin-bottom: 10px;
  color:#fff;
}
</style>
<style lang="scss">
.newDialog{
  .el-dialog__body{
    padding: 10px 20px 30px;
  }
}
</style>
