<template>
  <div>
    <el-button type="primary" @click="checkData">一键核对</el-button>
    <div id="dialysis-print-box">
      <div class="dialysis-print-order">
        <div class="order-yy-name"></div>
        <div class="order-title">{{ orgname }}&nbsp;&nbsp;&nbsp;血液净化治疗记录单</div>
        <table class="print-table" border="1" style="margin-top: 10px;">
          <tr>
            <td style="text-align:center;width:170px" colspan="1" rowspan="3">
              姓名:
              <span style="display:inline-block;margin-left:10px;">
                {{patientInfo.name}}
              </span>
            </td>
            <td style="text-align:center;" colspan="1">
              性别:
              <span style="display:inline-block;margin-left:10px;">
                {{patientInfo.gender}}
              </span>
            </td>
            <td style="text-align:center;" colspan="1">
              年龄:
              <span style="display:inline-block;margin-left:10px;">
                {{
                getAge(patientInfo)
                }}
              </span>
            </td>
            <td style="text-align:center;" colspan="1">
              透析号:
              <span style="display:inline-block;margin-left:10px;">
                  {{ patientInfo.dialysis_no }}
              </span>
            </td>
            <td style="text-align:center;" colspan="2">
              透析年限:
              <span style="display:inline-block;margin-left:10px;">
                  {{ patientInfo.first_dialysis_date ? getMonths(patientInfo.first_dialysis_date) : '/' }}
              </span>
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="5">
              <span style="display:inline-block;margin-left:15px;">透析方式:</span>
              <label-box :isChecked="prescription.mode_id == 8 ? true : false" showValue="HFHD"></label-box>&nbsp;
              <label-box :isChecked="prescription.mode_id == 1 ? true : false" showValue="HD"></label-box>&nbsp;
              <label-box :isChecked="prescription.mode_id == 9 ? true : false" showValue="HFHD+HP"></label-box>&nbsp;
              <label-box :isChecked="prescription.mode_id == 2 ? true : false" showValue="HDF"></label-box>&nbsp;
              <label-box :isChecked="prescription.mode_id == 5 ? true : false" showValue="HF"></label-box>&nbsp;
              <label-box :isChecked="prescription.mode_id == 4 ? true : false" showValue="HP"></label-box>&nbsp;
              <label-box :isChecked="prescription.mode_id == 24 ? true : false" showValue="I-HDF"></label-box>&nbsp;
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="5">
              <span style="display:inline-block;margin-left:15px;">血管通路类型:</span>
              <label-box :isChecked="prescription.blood_access_part_opera_name ? prescription.blood_access_part_opera_name.indexOf('自体内瘘')>-1?true:false : false"
                  showValue='自体内瘘'></label-box>
              &nbsp;
              <label-box :isChecked="prescription.blood_access_part_opera_name ? prescription.blood_access_part_opera_name.indexOf('移植物内瘘')>-1?true:false : false"
                  showValue='移植物内瘘'></label-box>
              &nbsp;
              <label-box :isChecked="prescription.blood_access_part_opera_name ? prescription.blood_access_part_opera_name.indexOf('临时插管')>-1?true:false : false"
                  showValue='临时股静脉导管'></label-box>
              &nbsp;
              <label-box :isChecked="prescription.blood_access_part_opera_name ? prescription.blood_access_part_opera_name.indexOf('长期插管')>-1?true:false : false"
                  showValue='长期插管'></label-box>
              <label-box :isChecked="prescription.blood_access_part_opera_name ? prescription.blood_access_part_opera_name.indexOf('长期静脉导管')>-1?true:false : false"
                  showValue='长期静脉导管'></label-box>
              &nbsp;
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px;">
                血压:
                {{ predialysis.systolic_blood_pressure ? predialysis.systolic_blood_pressure : "" }}/
                {{ predialysis.diastolic_blood_pressure ? predialysis.diastolic_blood_pressure : "" }}mmHg
              </span>
            </td>
            <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px;">
                脉搏:
                {{ predialysis.pulse_frequency ? predialysis.pulse_frequency : "" }} 次/分
              </span>
            </td>
            <td style="text-align:left;" colspan="4">
              <span style="display:inline-block;margin-left:15px;">意识状态:</span>
              <label-box v-for="(item, index) in consciousness_arr" :key="index" :isChecked="receiverTreatmentAccess.consciousness == item.id ? true : false" :showValue="item.name"></label-box>
              &nbsp;
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="1" rowspan="2">
              <span style="display:inline-block;margin-left:15px;">
                透前体重:{{ predialysis.weight_before ? predialysis.weight_before : "/" }}kg
              </span>
            </td>
            <td style="text-align:left;" colspan="1" rowspan="2">
              <span style="display:inline-block;margin-left:15px;">
                上次透后体重:{{ assessmentafter.weight_after ? assessmentafter.weight_after : "/" }}kg
              </span>
            </td>
            <td style="text-align:left;" colspan="1" rowspan="2">
              <span style="display:inline-block;margin-left:15px;">
                干体重:
                {{ predialysis.dry_weight ? predialysis.dry_weight : "/" }}kg
              </span>
            </td>
            <td style="text-align:left;" colspan="1" rowspan="2">
              <span style="display:inline-block;margin-left:15px;">
                拟脱水:
                {{ prescription.target_ultrafiltration ? prescription.target_ultrafiltration : "/" }}kg
              </span>
            </td>
            <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px;">
                实际脱水:
                {{ afterdialysis.actual_ultrafiltration ? afterdialysis.actual_ultrafiltration : '/'}}kg
              </span>
            </td>
            <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px;">
                透后体重:
                {{ afterdialysis.weight_after ? afterdialysis.weight_after : '/' }} kg
              </span>
            </td>
          </tr>
          <tr>
            <!-- <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px;">
                净脱水:
                {{ afterdialysis.weight_loss ? afterdialysis.weight_loss : "/" }}kg
              </span>
            </td> -->
            <td style="text-align:left;" colspan="2">
              <span style="display:inline-block;margin-left:15px;">
                透析时长:
                {{ afterdialysis.actual_treatment_hour ? afterdialysis.actual_treatment_hour : "0" }}h
                {{ afterdialysis.actual_treatment_minute ? afterdialysis.actual_treatment_minute : "0" }}min
              </span>
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px;">
                  <label-box :isChecked="prescription.mode_id == 2 ? true : false" showValue="HDF"></label-box>&nbsp;
                  <label-box :isChecked="prescription.mode_id == 5 ? true : false" showValue="HF"></label-box>&nbsp;
              </span>
            </td>
            <td style="text-align:left;" colspan="2">
              <span style="display:inline-block;margin-left:15px;">
                  <label-box :isChecked="prescription.displace_liqui_part == 1 ? true : false" showValue="前置换"></label-box>&nbsp;
                  <label-box :isChecked="prescription.displace_liqui_part == 2 ? true : false" showValue="后置换"></label-box>
              </span>
            </td>
            <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px;">
                  置换液总量：{{ prescription.displace_liqui_value ? prescription.displace_liqui_value : "/" }} L
              </span>
            </td>
            <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px;">
                  透析液温度: {{ prescription.dialysate_temperature ? prescription.dialysate_temperature : "/" }} ℃
              </span>
            </td>
            <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px;">
                  血流量: {{ prescription.blood_flow_volume ? prescription.blood_flow_volume : "/" }} ml/min
              </span>
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="3">
              <span style="display:inline-block;margin-left:15px;">
                  透析液流速:
                  <label-box :isChecked="prescription.dialysate_flow ? prescription.dialysate_flow == 500 ? true : false : false" showValue="500ml/min"></label-box>&nbsp;
                  <label-box :isChecked="prescription.dialysate_flow ? prescription.dialysate_flow == 600 ? true : false : false" showValue="600ml/min"></label-box>&nbsp;
              </span>
            </td>
            <td style="text-align:left;" colspan="3">
              <span style="display:inline-block;margin-left:15px;">
                  透析液处方:
                  Na: <span style="display:inline-block;text-align:center;">{{ prescription.sodium ? prescription.sodium : "/" }}</span>mmol/L&nbsp;
                  K: <span style="display:inline-block;text-align:center;">{{ prescription.kalium ? prescription.kalium : "/" }}</span>mmol/L&nbsp;
                  Ca: <span style="display:inline-block;text-align:center;">{{ prescription.calcium ? prescription.calcium : "/" }}</span>mmol/L&nbsp;
                  HCO3-: <span style="display:inline-block;text-align:center;">{{ prescription.bicarbonate ? prescription.bicarbonate : "/" }}</span>mmol/L
              </span>
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="5">
              <span style="display:inline-block;margin-left:15px;">
                  总结：{{ dialysis_summary ? dialysis_summary : "/" }}
              </span>
            </td>
            <td style="text-align:left;" colspan="1">
              <span style="display:inline-block;margin-left:15px; display: flex;align-items: center;">
                  医生签名:
                  <span style="height: 30px;display: flex;align-items: center;" v-if="setAdminUserES(prescription.creater) == ''">
                  {{ getAdminUser(prescription.creater) }}
                  </span>
                  <img style="height:30px;" :src="setAdminUserES(prescription.creater)" alt="" srcset="" v-else />
              </span>
            </td>
          </tr>

        </table>
        <table class="print-table" border="1">
          <tr>
            <td width="120">时间</td>
            <td width="300">病情摘要</td>
            <td width="300">医嘱</td>
            <td width="60">医生签字</td>
            <td width="60">执行时间</td>
            <td width="60">护士签字</td>
          </tr>
          <tr v-for="(advice, advice_index) in tableAdvice" :key="advice_index">
            <td
              style="height:30px;line-height:30px"
            >{{ getTime(advice.start_time, "{y}-{m}-{d} {h}:{i}") }}</td>
            <td style="height:30px;line-height:30px">{{ advice.remark }}</td>
            
            <td class="parent" style="text-align:left;padding-left: 20px !important;line-height:20px;">
              <span v-if="advice.parent_id > 0">&nbsp;&nbsp;&nbsp;</span>
              <span>{{ advice.advice_name }}</span>
              <span
                v-if="advice && advice.advice_desc"
              >({{ advice.advice_desc }}{{ advice.drug_spec_unit }})</span>
              <span v-if="advice.prescribing_number">
                &nbsp;&nbsp; {{ advice.prescribing_number
                }}{{ advice.prescribing_number_unit }}
              </span>
              <span
                v-if="advice.single_dose != 0"
              >{{ advice.single_dose }}{{ advice.single_dose_unit }}</span>
              <span v-if="advice.parent_id == 0">{{ advice.delivery_way }}</span>
              <span v-if="advice.parent_id == 0">
                {{
                advice.execution_frequency
                }}
              </span>
              <!-- <span v-if="advice.parent_id == 0 && advice.remark.length > 0">({{ advice.remark }})</span> -->
            </td>
            <td>
              <span v-if="setAdminUserES(advice.advice_doctor) == ''">
                {{
                getAdminUser(advice.advice_doctor)
                }}
              </span>
              <span
                v-else
                style="display:flex;align-items:center;justify-content:space-around;height:36px;"
              >
                <img style="height:30px;" :src="setAdminUserES(advice.advice_doctor)" alt srcset />
              </span>
            </td>
            
            <td>{{ getTime(advice.execution_time, "{h}:{i}") }}</td>
            <td>
              <span v-if="setAdminUserES(advice.execution_staff) == ''">
                {{
                getAdminUser(advice.execution_staff)
                }}
              </span>
              <span
                v-else
                style="display:flex;align-items:center;justify-content:space-around;height:36px;"
              >
                <img style="height:30px;" :src="setAdminUserES(advice.execution_staff)" alt srcset />
              </span>
            </td>
          </tr>
        </table>

        <table class="print-table" border="1" style="line-height:30px;">
          <tr>
            <td style="text-align:center;" colspan="12">
              <span>血液透析监测记录</span>
            </td>
          </tr>
          <tr style="line-height:20px;">
            <td style="min-width:60px">时间</td>
            <td style="min-width:60px">
              血压
              <br />mmHg
            </td>
            <td style="min-width:60px">
              心率
              <br />次/分
            </td>
            <td style="min-width:60px">
              血流速
              <br />ml/min
            </td>
            <td style="min-width:60px">
              静脉压
              <br />mmHg
            </td>
            <td style="min-width:60px">
              跨膜压
              <br />mmHg
            </td>
            <td style="min-width:60px">
              电导率
              <br />mS/cm
            </td>
            <td style="min-width:60px">
              已超率
              <br />Kg
            </td>
            <td style="min-width:60px">
              超滤率
              <br />Kg/h
            </td>
            
            <td style="min-width:60px">
              机温
              <br />℃
            </td>
            <td style="min-width:60px">
              病情变化及处理
            </td>
            <td style="min-width:110px">护士签名</td>
          </tr>
          <tr v-for="(monitor, monindex) in monitors" :key="monindex">
            <td>&nbsp;{{ getTime(monitor.operate_time, "{h}:{i}") }}</td>
            <td>
              {{
              monitor.systolic_blood_pressure
              ? monitor.systolic_blood_pressure + "/"
              : ""
              }}{{
              monitor.diastolic_blood_pressure
              ? monitor.diastolic_blood_pressure
              : ""
              }}
            </td>
            <td>{{ monitor.pulse_frequency }}</td>
            <td>{{ monitor.blood_flow_volume }}</td>
            <td>{{ monitor.venous_pressure }}</td>
            <td>{{ monitor.transmembrane_pressure }}</td>
            <td>{{ monitor.conductivity }}</td>
            <td><span v-if="monitor.operate_time">{{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : '0' }}</span></td>
            <td><span v-if="monitor.operate_time">{{ monitor.ultrafiltration_rate ? monitor.ultrafiltration_rate : '0' }}</span></td>
            <td>{{ monitor.dialysate_temperature }}</td>
            <td style="text-align:left;padding-left:10px;">
              <div style="line-height:20px;text-align: left;display: inline-block;">
                  &nbsp;{{ monitor.symptom }}{{ monitor.dispose }}{{ monitor.result }}
              </div>
            </td>
            <td>
              <span v-if="setAdminUserES(monitor.monitoring_nurse) == ''">
                {{
                getAdminUser(monitor.monitoring_nurse)
                }}
              </span>
              <span
                v-else
                style="display:flex;align-items:center;justify-content:space-around;height:36px;"
              >
                <img style="height:30px;" :src="setAdminUserES(monitor.monitoring_nurse)" alt srcset />
              </span>
            </td>
          </tr>
          <tr>
              <td style="text-align:left;" colspan="4">
                  <span style="display:inline-block;margin-left:15px;">
                      透析器凝血：{{ afterdialysis.cruor ? afterdialysis.cruor : "/" }}
                  </span>
              </td>
              <td style="text-align:left;" colspan="6">
                  <span style="display:inline-block;margin-left:15px;">
                      血管通路皮肤情况:
                      {{ afterdialysis.internal_fistula ? afterdialysis.internal_fistula : '/' }}
                  </span>
              </td>
              <td style="text-align:left;" colspan="2">
                  <span style="display:inline-block;margin-left:15px;">
                      穿刺方式:
                      {{ predialysis.puncture_way ? predialysis.puncture_way : '/' }}
                  </span>
              </td>
          </tr>
          <tr>
              <td style="text-align:left;" colspan="8">
                  <span style="display:inline-block;margin-left:15px;">
                      导管评估：
                      {{ afterdialysis.catheter ? afterdialysis.catheter : "/" }}
                  </span>
              </td>
              <td style="text-align:left;" colspan="4">
                  <span style="display:inline-block;margin-left:15px;">
                      静脉管道:
                      <span v-if="afterdialysis.intravenous_tube == 1">静脉管道0</span>
                      <span v-if="afterdialysis.intravenous_tube == 2">静脉管道+</span>
                      <span v-if="afterdialysis.intravenous_tube == 3">静脉管道++</span>
                      <span v-if="afterdialysis.intravenous_tube == 4">静脉管道+++</span>
                  </span>
              </td>
          </tr>
          <tr>
              <td style="text-align:left;" colspan="4">
                  <span style="margin-left:15px;align-items: center;display: flex;">
                      责任护士：
                      <span style="height: 30px;display: flex;align-items: center;" v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.start_nurse) == ''">
                          {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.start_nurse) }}</span>
                      <img style="height:30px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.start_nurse)" alt="" srcset="" v-else />
                  </span>
              </td>
              <td style="text-align:left;" colspan="4">
                  <span style="margin-left:15px;align-items: center;display: flex;">
                      核对护士:
                      <span style="width: 80px;text-align: center;display: flex;align-items: center;" v-if="dialysisOrder == null">
                        <span style="height: 30px;display: flex;align-items: center;" v-if="setAdminUserES(check == null ? 0 : check.creater) == ''">
                          {{ getAdminUser(check == null ? 0 : check.creater) }}
                        </span>
                        <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt="" srcset="" v-else />
                      </span>
                      <span style="width: 80px;text-align: center;display: flex;align-items: center;" v-if="dialysisOrder != null && dialysisOrder.start_nurse == check.modifier">
                        <span style="height: 30px;display: flex;align-items: center;" v-if="setAdminUserES(check == null ? 0 : check.creater) == ''">
                          {{ getAdminUser(check == null ? 0 : check.creater) }}
                        </span>
                        <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt="" srcset="" v-else />
                      </span>
                      <span style="width: 80px;text-align: center;display: flex;align-items: center;" v-if="dialysisOrder != null && dialysisOrder.start_nurse == check.creater">
                        <span style="height: 30px;display: flex;align-items: center;" v-if="setAdminUserES(check == null ? 0 : check.modifier) == ''">
                          {{ getAdminUser(check == null ? 0 : check.modifier) }}
                        </span>
                        <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.modifier)" alt="" srcset="" v-else />
                      </span>
                      <span style="width: 80px;text-align: center;display: flex;align-items: center;" v-if="dialysisOrder != null && dialysisOrder.start_nurse != check.creater && dialysisOrder.start_nurse != check.modifier">
                        <span style="height: 30px;display: flex;align-items: center;" v-if="setAdminUserES(check == null ? 0 : check.creater) == ''">
                          {{ getAdminUser(check == null ? 0 : check.creater) }}
                        </span>
                        <img style="height:30px;" :src="setAdminUserES(check == null ? 0 : check.creater)" alt="" srcset="" v-else />
                      </span>
                  </span>
              </td>
              <td style="text-align:left;" colspan="4">
                  <span style="display:inline-block;margin-left:15px;">
                      {{getDatge(queryParams.xtdate)}}
                      
                  </span>
              </td>
          </tr>
          <!-- <tr>
            <td style="text-align:left;" colspan="12">
              <span style="display:inline-block;margin-left:15px;">透析护理记录:{{ nursing_record }}</span>
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="12">
              <span style="display:inline-block;margin-left:15px;">
                透后评估: 透析过程:
                <label-box
                  showValue="完成"
                  :isChecked="afterdialysis.dialysis_process == 1 ? true : false"
                ></label-box>
                <label-box
                  showValue="提前"
                  :isChecked="afterdialysis.dialysis_process == 2 ? true : false"
                ></label-box>&nbsp;&nbsp; 并发症:{{ afterdialysis.complication ? afterdialysis.complication : '' }}
                
              </span>
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="2">
              <span
                style="display:inline-block;margin-left:15px;"
              >实际置换量:{{ afterdialysis.actual_displacement ? afterdialysis.actual_displacement : '/' }} L</span>
            </td>
            <td style="text-align:left;" colspan="10">
              <span style="display:inline-block;margin-left:15px;">
                内瘘搏动及震颤音:
                <label-box
                  showValue="存在"
                  :isChecked="
                    afterdialysis.internal_fistula.indexOf('震颤-存在') > -1
                      ? true
                      : false
                  "
                ></label-box>
                <label-box
                  showValue="减弱"
                  :isChecked="
                    afterdialysis.internal_fistula.indexOf('震颤-减弱') > -1
                      ? true
                      : false
                  "
                ></label-box>
                <label-box
                  showValue="不存在"
                  :isChecked="
                    afterdialysis.internal_fistula.indexOf('震颤-无') > -1
                      ? true
                      : false
                  "
                ></label-box>
              </span>&nbsp;
              <span>
                透析器及管路凝血情况:
                <label-box showValue="0级" :isChecked="afterdialysis.cruor.indexOf('透析器-0级') > -1"></label-box>
                <label-box showValue="1级" :isChecked="afterdialysis.cruor.indexOf('透析器-1级') > -1"></label-box>
                <label-box showValue="2级" :isChecked="afterdialysis.cruor.indexOf('透析器-2级') > -1"></label-box>
                <label-box showValue="3级" :isChecked="afterdialysis.cruor.indexOf('透析器-3级') > -1"></label-box>&nbsp;&nbsp;
                {{ getCruor(afterdialysis.cruor) }}
              </span>
            </td>
          </tr>
          <tr>
            <td style="text-align:left;" colspan="10">
              <span style="display:inline-block;margin-left:15px;">
                透析中进食:
                <label-box
                  showValue="无"
                  :isChecked="afterdialysis.is_eat == 2 ? true : false"
                ></label-box>
                <label-box
                  showValue="有"
                  :isChecked="afterdialysis.is_eat == 1 ? true : false"
                ></label-box>
              </span>&nbsp;&nbsp;
              <span>
                患者去向:
                <label-box showValue="离院" :isChecked="afterdialysis.patient_gose == 1 ? true : false"></label-box>
                <label-box showValue="留观" :isChecked="afterdialysis.patient_gose == 2 ? true : false"></label-box>
                <label-box showValue="住院" :isChecked="afterdialysis.patient_gose == 3 ? true : false"></label-box>
              </span>
            </td>
            <td style="text-align:left;" colspan="2">
              <span>
                <span
                  v-if="finshForm.url === ''"
                  style="display:flex;align-items:center;height:36px;"
                >下机护士:{{ finshForm.finish_nurse }}</span>
                <span
                  v-if="finshForm.url !== ''"
                  style="display:flex;align-items:center;height:36px;"
                >
                  下机护士:
                  <img :src="finshForm.url" style="height:30px;" />
                </span>
              </span>
            </td>
          </tr> -->
        </table>
        
      </div>
    </div>
  </div>
</template>

<script>
import { getDialysisRecord } from '@/api/dialysis'
import { getDataConfig } from '@/utils/data'
import { jsGetAge, uParseTime } from '@/utils/tools'
import LabelBox from '../printItem/LabelBox'
import CheckBox from '../batch_print/option_check_box'
import BreadCrumb from '@/xt_pages/components/bread-crumb'
// import DialysisPrintOrderOne from './template/dialysisPrintOrderOne'
// import DialysisPrintOrderTwo from './template/dialysisPrintOrderTwo'

export default {
  name: 'dialysisPrintOrderOne',
  components: {
    // DialysisPrintOrderOne,
    // DialysisPrintOrderTwo,
    LabelBox,
    BreadCrumb,
    CheckBox
  },
  data() {
    return {
      crumbs: [
        { path: false, name: '透析管理' },
        { path: false, name: '打印单' }
      ],
      operators: [],
      adminUser: [],
      check: {},
      dialysisOrder: {
        DeviceNumber: []
      },
      posture_arr: [],
      operatorMaps: {},
      complications: [
        '低血压',
        '高血压',
        '心律失常',
        '头晕',
        '头痛',
        '呕吐',
        '抽搐',
        '出血',
        '心衰',
        '腹痛',
        '无'
      ],
      consciousness_arr: [],
      jilurow: 0,
      advice_jilurow: 0,
      loading: false,
      orgname: '',
      patientInfo_gender_1: false,
      patientInfo_gender_2: false,
      patientInfo_source_2: false,
      patientInfo_source_1: false,
      modeOptions: {},
      replacementWays: [],
      perfusionApparatus: [],
      anticoagulantsConfit: {},
      bloodAccessParOpera: {},
      dialysateFormulationOptions: {},

      queryParams: {
        xtdate: '',
        xtno: ''
      },
      patientInfo: {
        birth: '',
        age: '',
        DialysisSchedule: {
          device_number: { number: '' },
          device_zone: { name: '' }
        },
        gender: 0
      },
      predialysis: {
        score: '',
        internal_fistula: '',
        internal_fistula_skin: '',
        catheter: '',
        blood_access_part_opera_name: ''
      },
      afterdialysis: {
        complications_index: ''
      },
      prescription: {
        dialysate_formulation_name: '',
        device: {}
      },
      advices: [],
      users: [],
      monitors: [],
      summary: {},
      receiverTreatmentAccess: {},
      org_template_info: {},

      doctor_advices: [],
      advice_groups: [],
      schedule: [],

      AlPanel: {
        id: 0,
        name: '',
        type: 1,
        shouji: 2,
        weichi: 2,
        zongliang: 2,
        gaimingcheng: -1,
        gaijiliang: -1,
        shouji_unit: 'mg',
        weichi_unit: 'mg/h',
        zongliang_unit: 'mg',
        gaimingcheng_unit: '',
        gaijiliang_unit: ''
      },
      list: 5,
      replacement_total: '',
      actual_treatment_hour: '',
      actual_treatment_minute: '',
      anticoagulant: '',
      anticoagulant_shouji: '',
      anticoagulant_zongliang: '',
      prescription_dewatering: '',
      blood_flow_volume: '',
      dialysate_flow: '',
      bed: '',
      dialyzer_perfusion_apparatus: '',
      dialysate_formulation: '',
      blood_access: '',
      doctor: '',
      nurse: '',
      doctorAdvice: [],
      total: '',
      weight_before: '',
      dry_weight: '',
      weight_after: '',
      weightloss_after: '',
      actual_ultrafiltration: '',
      temperature: '',
      systolic_blood_pressure: '',
      diastolic_blood_pressure: '',
      mission: '',
      dialysis_summary: '',
      orderForm: {
        start_nurse: '',
        url: ''
      },
      doctorForm: {
        doctor: '',
        url: ''
      },
      finshForm: {
        finish_nurse: '',
        url: ''
      },
      tableAdvice: [],
      monitor: [],
      displace_liqui: '',
      kalium: '',
      sodium: '',
      calcium: '',
      weight_gain: '',
      afterWeightLast: '',
      anticoagulant_weichi: '',
      target_ultrafiltration: '',
      blood_access_internal_fistula: '',
      venous_catheterization: '',
      blood_access_part_opera_id: '',
      dryWeight_add: '',
      weight: '',
      vascularId: 0,
      PunctureNurse: {
        user_name: '',
        url: ''
      },
      arr: [],
      arrtwo: [],
      bloodAccess: [],
      vascularAccess: [],
      nursing_record: '',
      special_record: '',
      newTableAdvice: [],
      assessmentafter:{}
    }
  },
  methods: {
    checkData(){
      if(this.patientInfo.first_dialysis_date == 0){
        this.$message.error('透析年限未填')
      }else if(this.prescription.mode_id == ""){
        this.$message.error('透析方式未填')
      }else if(this.prescription.blood_access_part_opera_name == ''){
        this.$message.error('血管通路未填')
      }else if(this.predialysis.systolic_blood_pressure == 0 || this.predialysis.diastolic_blood_pressure == 0){
        this.$message.error('透前血压未填完整')
      }else if(this.predialysis.pulse_frequency == ""){
        this.$message.error('透前脉搏未填')
      }else if(this.receiverTreatmentAccess.consciousness == 0){
        this.$message.error('意识未填')
      }else if(this.predialysis.weight_before == 0){
        this.$message.error('透前体重未填')
      }else if(this.assessmentafter.weight_after == 0){
        this.$message.error('上次透后体重未填')
      }else if(this.predialysis.dry_weight == 0){
        this.$message.error('干体重未填')
      }else if(this.prescription.target_ultrafiltration == 0){
        this.$message.error('拟脱水未填')
      }else if(this.afterdialysis.actual_ultrafiltration == 0){
        this.$message.error('实际脱水未填')
      }else if(this.afterdialysis.weight_after == 0){
        this.$message.error('透后体重未填')
      }else if(this.afterdialysis.actual_treatment_hour == 0 && this.afterdialysis.actual_treatment_minute == 0){
        this.$message.error('透析时长未填')
      }else if(this.prescription.mode_id == 2 && this.prescription.displace_liqui_part == 0){
        this.$message.error('置换方式未填')
      }else if(this.prescription.mode_id == 2 && this.prescription.displace_liqui_value == 0){
        this.$message.error('置换液总量未填')
      }else if(this.prescription.dialysate_temperature == 0){
        this.$message.error('透析液温度未填')
      }else if(this.prescription.blood_flow_volume == 0){
        this.$message.error('血流量未填')
      }else if(this.prescription.dialysate_flow == 0){
        this.$message.error('透析液流速未填')
      }else if(this.prescription.sodium == 0){
        this.$message.error('钠未填')
      }else if(this.prescription.kalium == 0){
        this.$message.error('钾未填')
      }else if(this.prescription.calcium == 0){
        this.$message.error('钙未填')
      }else if(this.prescription.bicarbonate == 0){
        this.$message.error('碳酸氢根未填')
      }else if(this.dialysis_summary == ""){
        this.$message.error('总结未填')
      }else if(this.prescription.creater == 0){
        this.$message.error('医生签名未填')
      }else if(this.afterdialysis.cruor == ""){
        this.$message.error('透析器凝血未填')
      }else if(this.afterdialysis.internal_fistula == ''){
        this.$message.error('血管通路皮肤情况未填')
      }else if(this.predialysis.puncture_way == ''){
        this.$message.error('穿刺方式未填')
      }else if(this.afterdialysis.catheter == ''){
        this.$message.error('导管评估未填')
      }else if(this.afterdialysis.intravenous_tube == 0){
        this.$message.error('静脉管道未填')
      }else if(this.dialysisOrder == null || this.dialysisOrder.start_nurse == 0){
        this.$message.error('责任护士未填')
      }else if(this.dialysisOrder == null && this.check.creater == 0){
        this.$message.error('核对护士未填')
      }else if (this.dialysisOrder != null && this.check.creater == 0) {
        this.$message.error('核对护士未填')
      }else if(this.dialysisOrder != null && this.dialysisOrder.start_nurse == this.check.modifier && this.check.creater == 0){
        this.$message.error('核对护士未填')
      }else if(this.dialysisOrder != null && this.dialysisOrder.start_nurse == this.check.creater && this.check.modifier == 0){
        this.$message.error('核对护士未填')
      }else if(this.dialysisOrder != null && this.dialysisOrder.start_nurse != this.check.creater && this.dialysisOrder.start_nurse != this.check.modifier && this.check.creater == 0){
        this.$message.error('核对护士未填')
      }else if(this.tableAdvice.length > 0 || this.monitors.length > 0){
        let num = 0
        if(this.monitors.length > 0){
          this.monitors.map(item => {
            if(item.id > 0 && item.operate_time){
              this.users.map(it => {
                if(it.id == item.monitoring_nurse){
                  if(it.user_type == 2){
                    num++
                    this.$message.closeAll()
                    this.$message.error('存在不是护士保存的监测')
                  }
                }
              })
            }
          })
        }
        if(this.tableAdvice.length > 0){
          this.tableAdvice.map(item => {
            if(item.id > 0 && (item.created_time || item.start_time)){
              this.users.map(it => {
                if(it.id == item.advice_doctor){
                  if(it.user_type == 3){
                    num++
                    this.$message.closeAll()
                    this.$message.error('存在不是医生保存的医嘱')
                  }else if(it.id == item.execution_staff && item.execution_staff > 0){
                    if(it.user_type == 2){
                      num++
                      this.$message.closeAll()
                      this.$message.error('存在不是护士执行的医嘱')
                    }
                  }
                }else if(it.id == item.execution_staff && item.execution_staff > 0){
                  if(it.user_type == 2){
                    num++
                    this.$message.closeAll()
                    this.$message.error('存在不是护士执行的医嘱')
                  }
                }
              })
            }
        })
        }
        
        if(num == 0){
          this.$message.success('核对完成')
        }
      }else{
        this.$message.success('核对完成')
      }
    },
    getMonths(t){
      var ot=new Date(t); //转为时间对象（js的时间戳是毫秒数）
      var oy=ot.getFullYear(); //年
      var om=ot.getMonth()+1; //月
      var tt=new Date(); //今天
      var ty=tt.getFullYear(); //今天年
      var tm=tt.getMonth()+1; //今天月
      var gm=(ty-oy)*12+(tm-om); //距今月数
      if(gm < 12){
          return gm + '个月'
      }else{
          return parseInt(gm / 12) + '年' + gm % 12 + '个月'
      }
      
    },
    getCruor(cruor){
      if(cruor.indexOf(',') == -1){
        let str = cruor
        if(['透析器-0级','透析器-1级','透析器-2级','透析器-3级'].indexOf(str) == -1){
          return str
        }
      }else if(cruor.indexOf(',') > -1){
        let str = cruor
        if(['透析器-0级','透析器-1级','透析器-2级','透析器-3级'].indexOf(str) == -1){
          let newStr = ''
          str.split(',').map(item => {
            if(['透析器-0级','透析器-1级','透析器-2级','透析器-3级'].indexOf(item) == -1){
              newStr += item + ','
            }
          })
          return newStr.substring(0, newStr.length - 1)
        }
      }
    },
    getAdminUser(id) {
      if (id == 0) {
        return ''
      }
      if (id == undefined) {
        return ''
      }
      for (let i = 0; i < this.adminUser.length; i++) {
        if (this.adminUser[i].id == id) {
          return this.adminUser[i].name
        }
      }
    },
    getDatge(value) {
      var times = Date.parse(value) / 1000
      var timestr = uParseTime(times, '{y}年{m}月{d}日')
      return timestr
    },
    getTime(value, temp) {
      if (value == 0) {
        return ''
      }
      if (value != undefined) {
        return uParseTime(value, temp)
      }
      return ''
    },
    getTimes(time) {
      if (time === '') {
        return ''
      }
      return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
    },
    printThisPage() {
      var ptime = Math.round(new Date().getTime() / 1000)
      this.print_time = uParseTime(ptime, '{y}-{m}-{d} {h}:{i}')

      const style =
        '@media print {.dialysis-print-order{width:960px;margin:0 auto}.dialysis-print-order .order-yy-name{margin:auto;text-align:center;font-size:20px;letter-spacing:5px}.dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px 20px 20px 20px}.dialysis-print-order .table-box{width:100%;line-height:23px;font-size:14px}.dialysis-print-order .print-table{width:100%;text-align:center;border-collapse:collapse;line-height:25px;font-size:14px}.dialysis-print-order .print-table-no{width:100%;text-align:center;border-collapse:collapse;font-size:14px}.dialysis-print-order .under-line{border-bottom:1px solid #999;width:95%;text-align:center;margin-left:2px}.dialysis-print-order .title-box{text-align:center;font-size:16px;border:1px solid #666}.dialysis-print-order .radio-lebel-box{font-weight:400;cursor:pointer}.dialysis-print-order .radio-no{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.dialysis-print-order .radio-inner{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.dialysis-print-order .radio-fang{display:inline-block;position:relative;border:1px solid #000;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.dialysis-print-order .is-checked-radio::after{content:"√";font-size:15px}}.dialysis-print-order .print-table-no tr td { padding: 8px 5px; line-height: 25px; }.es-img{height: 20px; }.advice-name{text-align: left;}.advice-children{display:flex;} .dialysis-print-order .print-table tr td{padding: 0px 0px;} .print-template-two tr {line-height: 30px;}   .title-box-pro{border: 0 #fff;line-height: 40px;height: 40px;text-align: left;padding-left: 10px !important;}  .text-align-left{text-align: left !important;padding-left:10px !important;font-size: 14px !important;line-height: 25px;}'

      if (this.org_template_info.template_id == 1) {
        printJS({
          printable: 'dialysis-print-box',
          type: 'html',
          style: style,
          scanStyles: false
        })
      } else if (
        this.org_template_info.template_id == 2 ||
        this.org_template_info.template_id == 0
      ) {
        printJS({
          printable: 'dialysis-print-box-1',
          type: 'html',
          style: style,
          scanStyles: false
        })
      }
    },
    getNumber() {
      if (this.dialysisOrder != null) {
        return (
          this.patientInfo.DialysisSchedule.device_zone.name +
          this.dialysisOrder.DeviceNumber.number
        )
      } else {
        return (
          this.patientInfo.DialysisSchedule.device_zone.name +
          this.patientInfo.DialysisSchedule.device_number.number
        )
      }
    },

    getXuserName(id) {
      if (id <= 0) {
        return ''
      }
      var name = ''
      if (this.users == null || typeof this.users.length === 'undefined') {
        return name
      }
      var leng = this.users.length
      if (leng === 0) {
        return name
      }
      for (let index = 0; index < leng; index++) {
        if (this.users[index].id === id) {
          name = this.users[index].name
          break
        }
      }
      return name
    },
    setAdminUserES(id) {
      if (id === 0) {
        return ''
      }
      if (id in this.operatorMaps) {
        return this.operatorMaps[id].url
      } else {
        return ''
      }
    },
    modeName(mode_id) {
      return typeof this.modeOptions[mode_id] !== 'undefined' &&
        typeof this.modeOptions[mode_id].name !== 'undefined'
        ? this.modeOptions[mode_id].name
        : ''
    },
    getDialysisRecord() {
      this.loading = true

      getDialysisRecord(this.queryParams).then(response => {
        if (response.data.state === 1) {
          this.adminUser = response.data.data.users
          this.users = response.data.data.users
          var patientInfo = response.data.data.patientInfo
          if (patientInfo.gender === 1) {
            patientInfo.gender = '男'
          }
          if (patientInfo.gender === 2) {
            patientInfo.gender = '女'
          }
          this.patientInfo = response.data.data.patientInfo
          // console.log("透析记录", this.patientInfo);

          this.patientInfo.birth = uParseTime(
            this.patientInfo.birthday,
            '{y}-{m}-{d}'
          )
          // this.patientInfo.age = jsGetAge(this.patientInfo.birth, '-')
          if (response.data.data.patientInfo.first_dialysis_date != 0) {
            this.patientInfo.first_dialysis_date = uParseTime(
              response.data.data.patientInfo.first_dialysis_date,
              '{y}-{m}-{d}'
            )
          } else {
            this.patientInfo.first_dialysis_date = ''
          }
          this.check = response.data.data.check
          var predialysis = response.data.data.PredialysisEvaluation
          console.log('透前评估', predialysis)
          var predialysName = response.data.data.predialysName
          this.blood_access_part_opera_id = predialysName.name
          // console.log('血管', predialysName)
          // this.weight_before = predialysis.weight_before
          this.dry_weight = predialysis.dry_weight
          this.weight_gain = predialysis.weight_gain
          this.blood_access_internal_fistula =
            predialysis.blood_access_internal_fistula
          this.venous_catheterization = predialysis.venous_catheterization
          // this.blood_access_part_opera_id = predialysis.blood_access_part_opera_id
          // console.log('血管通路', this.blood_access_part_opera_id)
          var arry = []
          arry = getDataConfig('hemodialysis', 'vascular_access_desc')
          // eslint-disable-next-line no-empty
          var id = 0
          for (let i = 0; i < arry.length; i++) {
            if (arry[i].id === predialysis.blood_access_part_opera_id) {
              id = predialysis.blood_access_part_opera_id
            }
            this.vascularId = id
          }
          this.predialysis = predialysis
          // console.log('透前评估', this.predialysis)

          this.predialysis.blood_access_part_opera_name = this.bloodAccessParOperaName(
            this.predialysis.blood_access_part_opera_id
          )
          
          var afterdialysis = response.data.data.AssessmentAfterDislysis
          // eslint-disable-next-line no-undef
          console.log('透后评估', afterdialysis)
          this.temperature = afterdialysis.temperature
          this.actual_ultrafiltration = afterdialysis.actual_ultrafiltration
          this.actual_treatment_hour = afterdialysis.actual_treatment_hour
          this.actual_treatment_minute = afterdialysis.actual_treatment_minute
          this.systolic_blood_pressure = afterdialysis.systolic_blood_pressure
          this.diastolic_blood_pressure =
            afterdialysis.diastolic_blood_pressure
          this.afterdialysis = afterdialysis
          // eslint-disable-next-line no-unused-vars
          var doctoradvce = response.data.data.doctorAdvice
          var doctorAdevieInfo = response.data.data.doctorAdevieInfo
          this.newTableAdvice = response.data.data.doctorAdevieInfo
          console.log('哈哈哈哈哈哈哈哈哈', this.newTableAdvice)
          var tableAdvice = doctorAdevieInfo
          console.log('tableAdvice', tableAdvice)
          // console.log('医生', tableAdvice.length)
          if (tableAdvice.length === 0) {
            var obj = { advice_name: '', start_time: '' }
            var obj1 = { advice_name: '', start_time: '' }
            var obj2 = { advice_name: '', start_time: '' }
            var obj3 = { advice_name: '', start_time: '' }
            var obj4 = { advice_name: '', start_time: '' }
            var obj5 = { advice_name: '', start_time: '' }
            var obj6 = { advice_name: '', start_time: '' }
            tableAdvice.push(obj)
            tableAdvice.push(obj1)
            tableAdvice.push(obj2)
            tableAdvice.push(obj3)
            tableAdvice.push(obj4)
            tableAdvice.push(obj5)
            tableAdvice.push(obj6)
            this.tableAdvice = tableAdvice
          }
          if (tableAdvice.length === 1) {
            var obj = { advice_name: '', start_time: '' }
            var obj1 = { advice_name: '', start_time: '' }
            var obj2 = { advice_name: '', start_time: '' }
            var obj3 = { advice_name: '', start_time: '' }
            var obj4 = { advice_name: '', start_time: '' }
            var obj5 = { advice_name: '', start_time: '' }
            tableAdvice.push(obj)
            tableAdvice.push(obj1)
            tableAdvice.push(obj2)
            tableAdvice.push(obj3)
            tableAdvice.push(obj4)
            tableAdvice.push(obj5)
            this.tableAdvice = tableAdvice
          }
          if (tableAdvice.length === 2) {
            var obj = { advice_name: '', start_time: '' }
            var obj1 = { advice_name: '', start_time: '' }
            var obj2 = { advice_name: '', start_time: '' }
            var obj3 = { advice_name: '', start_time: '' }
            var obj4 = { advice_name: '', start_time: '' }
            tableAdvice.push(obj)
            tableAdvice.push(obj1)
            tableAdvice.push(obj2)
            tableAdvice.push(obj3)
            tableAdvice.push(obj4)
            this.tableAdvice = tableAdvice
          }
          if (tableAdvice.length === 3) {
            // eslint-disable-next-line no-redeclare
            var obj = { advice_name: '', start_time: '' }
            // eslint-disable-next-line no-redeclare
            var obj1 = { advice_name: '', start_time: '' }
            // eslint-disable-next-line no-redeclare
            var obj2 = { advice_name: '', start_time: '' }
            // eslint-disable-next-line no-redeclare
            var obj3 = { advice_name: '', start_time: '' }

            tableAdvice.push(obj)
            tableAdvice.push(obj1)
            tableAdvice.push(obj2)
            tableAdvice.push(obj3)

            this.tableAdvice = tableAdvice
          }
          if (tableAdvice.length === 4) {
            // eslint-disable-next-line no-redeclare
            var obj = { advice_name: '', start_time: '' }
            // eslint-disable-next-line no-redeclare
            var obj1 = { advice_name: '', start_time: '' }
            // eslint-disable-next-line no-redeclare
            var obj2 = { advice_name: '', start_time: '' }

            tableAdvice.push(obj)
            tableAdvice.push(obj1)
            tableAdvice.push(obj2)
            this.tableAdvice = tableAdvice
          }
          if (tableAdvice.length === 5) {
            // eslint-disable-next-line no-redeclare
            var obj = { advice_name: '', start_time: '' }
            // eslint-disable-next-line no-redeclare
            var obj1 = { advice_name: '', start_time: '' }
            tableAdvice.push(obj)
            tableAdvice.push(obj1)
            this.tableAdvice = tableAdvice
          }
          if (tableAdvice.length === 6) {
            // eslint-disable-next-line no-redeclare
            var obj = { advice_name: '', start_time: '' }
            tableAdvice.push(obj)
            this.tableAdvice = tableAdvice
          }
          if (tableAdvice.length >= 7) {
            this.tableAdvice = tableAdvice
          }
          var doctor = response.data.data.doctor
          this.doctor = doctor.user_name
          // console.log('医生', doctor)
          this.PunctureNurse = response.data.data.nurse
          // console.log('穿刺护士', this.PunctureNurse)
          var operators = response.data.data.operators
          // console.log('operators', operators)
          var total = response.data.data.total
          console.log('total', total)
          this.total = total
          this.operators = operators
          this.dialysisOrder =
            response.data.data.dialysisOrder === null
              ? null
              : response.data.data.dialysisOrder

          if (this.operators.length > 0) {
            var operatorsLen = this.operators.length
            for (var index = 0; index < operatorsLen; index++) {
              this.$set(
                this.operatorMaps,
                this.operators[index].creator,
                this.operators[index]
              )
            }
          }

          this.afterdialysis.txqnx = -1
          if (this.afterdialysis.cruor.indexOf('0度') > -1) {
            this.afterdialysis.txqnx = 0
          }
          if (this.afterdialysis.cruor.indexOf('Ⅰ度') > -1) {
            this.afterdialysis.txqnx = 1
          }
          if (this.afterdialysis.cruor.indexOf('Ⅱ度') > -1) {
            this.afterdialysis.txqnx = 2
          }
          if (this.afterdialysis.cruor.indexOf('Ⅲ度') > -1) {
            this.afterdialysis.txqnx = 3
          }

          this.afterdialysis.complications = this.afterdialysis.complication.split(
            ','
          )
          this.afterdialysis.complications_other = []
          this.afterdialysis.complications_index = []
          var acllen = this.afterdialysis.complications.length
          for (let index = 0; index < acllen; index++) {
            if (
              this.complications.indexOf(
                this.afterdialysis.complications[index]
              ) >= 0
            ) {
              this.afterdialysis.complications_index.push(
                this.afterdialysis.complications[index]
              )
            } else if (
              this.complications.indexOf(
                this.afterdialysis.complications[index]
              ) < 0 &&
              this.afterdialysis.complications_other.indexOf(
                this.afterdialysis.complications[index]
              ) < 0
            ) {
              this.afterdialysis.complications_other.push(
                this.afterdialysis.complications[index]
              )
            }
          }
          this.afterdialysis.complications_other = this.afterdialysis.complications_other.join(
            ','
          )

          var prescription = response.data.data.dialysisPrescription
          this.prescription = prescription
          var schedule = response.data.data.schedule
          // console.log('排班', schedule)
          this.schedule = schedule
          var receiverTreatmentAccess =
            response.data.data.receiverTreatmentAccess
          console.log('接诊评估', receiverTreatmentAccess)
          var obj = receiverTreatmentAccess.precaution
          var arr = obj.split(',')
          console.log('arr', arr)
          var arr2 = []
          for (let i = 0; i < this.precautions.length; i++) {
            for (let j = 0; j < arr.length; j++) {
              if (this.precautions[i].id == parseInt(arr[j])) {
                arr2.push(this.precautions[i].name)
              }
            }
          }
          var obj2 = arr2.join(',')
          console.log('obj2', obj2)
          receiverTreatmentAccess.precaution = obj2
          console.log('接诊评估', receiverTreatmentAccess)
          this.receiverTreatmentAccess = receiverTreatmentAccess
          var dialysisway = response.data.data.dialysisway
          console.log('透析处方', dialysisway)
          this.assessmentafter = response.data.data.assessmentAfterDislysis;
          this.target_ultrafiltration = dialysisway.target_ultrafiltration
          var order = response.data.data.order
          // console.log('上下机', order)
          var start_nurse = response.data.data.startNuse
          // console.log('上机护士', start_nurse)
          this.orderForm.start_nurse = start_nurse.user_name
          this.orderForm.url = start_nurse.url
          var finish_nurse = response.data.data.FinishNuse
          // console.log('下机护士', finish_nurse)
          this.finshForm.url = finish_nurse.url
          this.finshForm.finish_nurse = finish_nurse.user_name

          var doctorname = response.data.data.DoctorName
          // console.log('医师签名', doctorname)
          this.doctorForm.doctor = doctorname.user_name
          this.doctorForm.url = doctorname.url
          this.bed = order.number
          this.replacement_total = dialysisway.replacement_total
          this.anticoagulant = dialysisway.anticoagulant
          this.anticoagulant_shouji = dialysisway.anticoagulant_shouji
          this.anticoagulant_zongliang = dialysisway.anticoagulant_zongliang
          this.prescription_dewatering = dialysisway.prescription_dewatering
          this.blood_flow_volume = dialysisway.blood_flow_volume
          this.dialysate_flow = dialysisway.dialysate_flow
          this.dialyzer_perfusion_apparatus =
            dialysisway.dialyzer_perfusion_apparatus
          this.dialysate_formulation = dialysisway.dialysate_formulation
          this.blood_access = dialysisway.blood_access
          this.displace_liqui = dialysisway.displace_liqui
          this.kalium = dialysisway.kalium
          this.sodium = dialysisway.sodium
          this.calcium = dialysisway.calcium
          this.anticoagulant_weichi = dialysisway.anticoagulant_weichi
          // var afterWeightLast = response.data.data.assessmentAfterDislysis
          // this.afterWeightLast = afterWeightLast.weight_after
          // eslint-disable-next-line no-undef
          // console.log('透前体重', this.weight_before)
          // console.log('干体中', this.dry_weight)
          // console.log('什么体重', predialysis.additional_weight)
          // console.log('较干体中增加量', this.dryWeight_add)
          // this.afterWeightLast = afterWeightLast.weight_after
          this.prescription.mode = this.modeName(this.prescription.mode_id)
          var rwLen = this.replacementWays.length
          this.prescription.replacement = ''
          for (let index = 0; index < rwLen; index++) {
            if (
              this.replacementWays[index].id ==
              this.prescription.replacement_way
            ) {
              this.prescription.replacement = this.replacementWays[index].name
              break
            }
          }

          this.prescription.dialysate_formulation_name = this.dialysateFormulationName(
            this.prescription.dialysate_formulation
          )
          this.prescription.blood_access_part_opera_name = this.bloodAccessParOperaName(
            this.prescription.blood_access
          );

          var paLen = this.perfusionApparatus.length
          this.prescription.perfusion_apparatus_name = ''
          for (let index = 0; index < paLen; index++) {
            if (
              this.perfusionApparatus[index].id ==
              this.prescription.perfusion_apparatus
            ) {
              this.prescription.perfusion_apparatus_name = this.perfusionApparatus[
                index
              ].name
              break
            }
          }

          // eslint-disable-next-line no-unused-vars
          var acLen = this.anticoagulantsConfit.length
          var thisALID = this.prescription.anticoagulant
          this.prescription.anticoagulant_name = ''

          if (
            typeof this.anticoagulantsConfit[thisALID] !== 'undefined' &&
            this.anticoagulantsConfit[thisALID] != null
          ) {
            this.prescription.anticoagulant_name = this.anticoagulantsConfit[
              thisALID
            ].name
            this.AlPanel = this.anticoagulantsConfit[thisALID]
          }
          this.advices = response.data.data.advices
          // console.log('医嘱', this.advices)
          var monitor = response.data.data.monitor
          // console.log('透析监测', monitor)
          this.monitor = monitor
          // console.log('monitor', monitor)
          this.monitors = response.data.data.monitors
          // console.log("透析监测", this.monitors);
          var summary = response.data.data.summary
          console.log('透析小结', summary)
          this.mission = summary.mission
          this.dialysis_summary = summary.dialysis_summary
          this.nursing_record = summary.nursing_record
          this.special_record = summary.special_record
          this.org_template_info = response.data.data.org_template_info
          if (this.monitors.length < 7) {
            var nl = 8 - this.monitors.length
            for (let index = 0; index < nl; index++) {
              this.monitors.push([])
            }
          }
          this.jilurow = this.monitors.length + 1

          this.advice_jilurow = this.advices.length + 1

          var childMap = {}
          for (const index in this.advices) {
            if (this.advices[index].parent_id == 0) {
              continue
            }
            if (!(this.advices[index].parent_id in childMap)) {
              childMap[this.advices[index].parent_id] = []
            }
            childMap[this.advices[index].parent_id].push(this.advices[index])
          }

          var advices = []
          for (const index in this.advices) {
            if (this.advices[index].parent_id > 0) {
              continue
            }
            var item = this.advices[index]
            if (item.id in childMap) {
              item.children = childMap[item.id]
            } else {
              item.children = []
            }
            advices.push(item)
          }

          var leftAdvice = []
          var rightAdvice = []
          var adlen = advices.length

          var halfLen = adlen % 2 == 0 ? adlen / 2 : (adlen + 1) / 2
          for (var i = 0; i < halfLen; i++) {
            leftAdvice.push(advices[i])
            rightAdvice.push(advices[i + halfLen])
          }
          if (halfLen < 5) {
            var nl = 5 - leftAdvice.length
            for (let index = 0; index < nl; index++) {
              leftAdvice.push([])
            }
            var nl = 5 - rightAdvice.length
            for (let index = 0; index < nl; index++) {
              rightAdvice.push([])
            }
          }

          this.advices = []
          for (var i = 0; i < halfLen; i++) {
            var item = []
            item.push(leftAdvice[i])
            item.push(rightAdvice[i])
            this.advices.push(item)
          }
          this.loading = false

          this.doctor_advices =
            response.data.data.advices == null
              ? []
              : response.data.data.advices

          for (let index = 0; index < this.doctor_advices.length; index++) {
            this.doctor_advices[index]['isShow'] = 2
          }

          if (this.doctor_advices.length > 0) {
            var group = this.newAdviceGroupObject()
            var initGroupBlock = function(group, advice) {
              group.group_no = advice.groupno
            }
            for (
              let index = this.doctor_advices.length - 1;
              index >= 0;
              index--
            ) {
              var new_advice_index = 0

              if (
                'children' in this.doctor_advices[index] &&
                this.doctor_advices[index].children.length > 0
              ) {
                new_advice_index =
                  index + this.doctor_advices[index].children.length + 1

                var doctor_advice = {
                  delivery_way: this.doctor_advices[index].delivery_way,
                  execution_frequency: this.doctor_advices[index]
                    .execution_frequency,
                  groupno: this.doctor_advices[index].groupno,
                  id: this.doctor_advices[index].id,
                  parent_id: this.doctor_advices[index].parent_id,
                  children: this.doctor_advices[index].children,
                  remark: this.doctor_advices[index].remark
                }
                doctor_advice['isShow'] = 1
                this.doctor_advices.splice(new_advice_index, 0, doctor_advice)
                // this.doctor_advices.push(doctor_advice)
              }
            }

            for (let index = 0; index < this.doctor_advices.length; index++) {
              const advice = this.doctor_advices[index]
              if (advice.groupno == 0) {
                // 老版本的医嘱没有分组的概念，所以这一个 if 是解决这个问题的，将每个无分组的医嘱各自归为一组
                if (advice.parent_id > 0) {
                  if (this.advice_groups.length > 0) {
                    var parent_group = this.advice_groups[
                      this.advice_groups.length - 1
                    ]
                    if (parent_group.advices.length > 0) {
                      if (parent_group.advices[0].id == advice.parent_id) {
                        parent_group.advices.push(advice)
                      }
                    }
                  }
                  continue
                } else {
                  if (group.group_no > 0) {
                    this.advice_groups.push(group)
                    group = this.newAdviceGroupObject()
                  }

                  initGroupBlock(group, advice)
                  group.advices.push(advice)
                  this.advice_groups.push(group)
                  group = this.newAdviceGroupObject()
                  continue
                }
              }

              if (group.group_no > 0 && group.group_no != advice.groupno) {
                this.advice_groups.push(group)
                group = this.newAdviceGroupObject()
              }
              if (group.group_no == 0) {
                initGroupBlock(group, advice)
              }
              if (group.group_no == advice.groupno) {
                group.advices.push(advice)
              }
            }
            if (group.group_no > 0) {
              // 上述的算法会导致最后一组没有加到advice_groups，这里要手动加上
              this.advice_groups.push(group)
            }
          }
        } else {
          this.loading = false
          this.$message.error('请求数据失败')
          return false
        }
      })
    },
    bloodAccessParOperaName(id) {
      if (id in this.bloodAccessParOpera) {
        return this.bloodAccessParOpera[id].name
      }
      return ''
    },
    dialysateFormulationName(id) {
      if (id in this.dialysateFormulationOptions) {
        return this.dialysateFormulationOptions[id].name
      }
      return ''
    },
    getAge: function(val) {
      if (val.birthday != 0) {
        return jsGetAge(val.birth, '-')
      } else {
        return ''
      }
    },
    newAdviceGroupObject: function() {
      return Object.assign(
        {},
        {
          group_no: 0,
          // advice_doctor: 0,
          // start_time: 0,
          advices: []
          // exec_staff: 0,
          // exec_time: 0,
          // checker: 0,
        }
      )
    },
    getPartName(id) {
      for (let i = 0; i < this.vascularAccess.length; i++) {
        if (this.vascularAccess[i].id == id) {
          return this.vascularAccess[i].name
        }
      }
    }
  },
  watch: {
    'patientInfo.gender': function() {
      if (this.patientInfo.gender == 1) {
        this.patientInfo_gender_1 = true
        this.patientInfo_gender_2 = false
      } else if (this.patientInfo.gender == 2) {
        this.patientInfo_gender_2 = true
        this.patientInfo_gender_1 = false
      } else {
        this.patientInfo_gender_2 = false
        this.patientInfo_gender_1 = false
      }
    },
    'patientInfo.source': function() {
      if (this.patientInfo.source == 1) {
        this.patientInfo_source_1 = true
        this.patientInfo_source_2 = false
      } else if (this.patientInfo.source == 2) {
        this.patientInfo_source_2 = true
        this.patientInfo_source_1 = false
      } else {
        this.patientInfo_source_2 = false
        this.patientInfo_source_1 = false
      }
    }
  },
  created() {
    var xtuser = this.$store.getters.xt_user
    this.orgname = xtuser.org.org_name
    // this.orgname = "遂溪方济医院";
    this.modeOptions = this.$store.getters.treatment_mode
    this.replacementWays = this.$store.getters.replacement_ways
    this.perfusionApparatus = this.$store.getters.perfusion_apparatus
    this.anticoagulantsConfit = this.$store.getters.anticoagulants_confit
    var vascularAccess = getDataConfig('hemodialysis', 'vascular_access')
    this.vascularAccess = vascularAccess
    // console.log("hhe", vascularAccess);
    console.log(
      '血管通路部位',
      getDataConfig('hemodialysis', 'vascular_access')
    )
    this.consciousness_arr = getDataConfig('hemodialysis', 'consciousness')
    var bloodAccessParOpera = getDataConfig(
      'hemodialysis',
      'vascular_access_desc'
    )
    var arr = []
    var arrtwo = []
    for (let i = 0; i < bloodAccessParOpera.length; i++) {
      if (bloodAccessParOpera[i].name == '内瘘波动及震颤-存在') {
        bloodAccessParOpera[i].name = '存在'
        arr.push(bloodAccessParOpera[i])
      }
      if (bloodAccessParOpera[i].name == '内瘘波动及震颤-减弱') {
        bloodAccessParOpera[i].name = '减弱'
        arr.push(bloodAccessParOpera[i])
      }
      if (bloodAccessParOpera[i].name == '内瘘波动及震颤-消失') {
        bloodAccessParOpera[i].name = '消失'
        arr.push(bloodAccessParOpera[i])
      }
      if (bloodAccessParOpera[i].name == '直穿') {
        arrtwo.push(bloodAccessParOpera[i])
      }
      if (bloodAccessParOpera[i].name == '人造血管') {
        arrtwo.push(bloodAccessParOpera[i])
      }
      if (bloodAccessParOpera[i].name == '移植血管') {
        arrtwo.push(bloodAccessParOpera[i])
      }
      this.arr = arr
      this.arrtwo = arrtwo
    }
    console.log('arr', arr)
    console.log('arrtwo', arrtwo)

    var bloodAccessParOpera = getDataConfig(
      "hemodialysis",
      "vascular_access_desc"
    );
    for (var key in bloodAccessParOpera) {
      this.bloodAccessParOpera[bloodAccessParOpera[key].id] =
        bloodAccessParOpera[key];
    }
    

    var dialysateFormulationOptions = getDataConfig(
      'hemodialysis',
      'dialysate_formulation'
    )
    for (var key in dialysateFormulationOptions) {
      this.dialysateFormulationOptions[dialysateFormulationOptions[key].id] =
        dialysateFormulationOptions[key]
    }

    const xtdate = this.$route.query && this.$route.query.xtdate
    const xtno = this.$route.query && this.$route.query.xtno
    if (
      typeof xtdate === 'string' &&
      xtdate.length > 0 &&
      typeof xtno === 'string' &&
      xtno.length > 0
    ) {
      this.queryParams.xtdate = xtdate
      this.queryParams.xtno = xtno
      this.getDialysisRecord()
    } else {
      this.$message.error('参数不齐')
      return false
    }

    this.ways = getDataConfig('hemodialysis', 'way')
    console.log('ways', this.ways)
    this.consciousnesses = getDataConfig('hemodialysis', 'consciousness')
    this.appetites = getDataConfig('hemodialysis', 'appetite')
    this.postures = getDataConfig('hemodialysis', 'posture')
    this.sick_condition = getDataConfig('hemodialysis', 'sick_condition')
    this.precautions = getDataConfig('hemodialysis', 'precaution')
    console.log('跌倒', this.precautions)
    this.intake = getDataConfig('hemodialysis', 'intake')
    this.nutrition = getDataConfig('hemodialysis', 'nutrition')
  }
}
</script>

<style>
.dialysis-print-order {
  width: 960px;
  margin: 0 auto;
}

.dialysis-print-order .order-yy-name {
  margin: auto;
  text-align: center;
  font-size: 20px;
  letter-spacing: 5px;
}

.dialysis-print-order .order-title {
  margin: auto;
  font-weight: 600;
  text-align: center;
  font-size: 22px;
  padding: 10px 20px 20px 20px;
}

.dialysis-print-order .table-box {
  width: 100%;
  line-height: 23px;
  font-size: 14px;
}

.dialysis-print-order .print-table {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  line-height: 40px;
  font-size: 14px;
}

.dialysis-print-order .print-table-no {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  font-size: 14px;
}

.dialysis-print-order .under-line {
  border-bottom: 1px solid #999;
  width: 95%;
  text-align: center;
  margin-left: 2px;
}

.dialysis-print-order .title-box {
  text-align: center;
  font-size: 16px;
}

.dialysis-print-order .radio-lebel-box {
  font-weight: 400;
  cursor: pointer;
}

.dialysis-print-order .radio-no {
  opacity: 0;
  outline: none;
  position: absolute;
  margin: 0;
  width: 0;
  height: 0;
  z-index: -1;
}

.dialysis-print-order .radio-inner {
  white-space: nowrap;
  cursor: pointer;
  outline: none;
  display: inline-block;
  line-height: 1;
  position: relative;
  vertical-align: middle;
}

.dialysis-print-order .radio-fang {
  display: inline-block;
  position: relative;
  border: 1px solid #000;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  background-color: #fff;
  z-index: 1;
  transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),
    background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);
}

.dialysis-print-order .is-checked-radio::after {
  content: "√";
  font-size: 15px;
}

.dialysis-print-order .print-table-no tr td {
  padding: 8px 5px;
  line-height: 25px;
}

.dialysis-print-order .print-table tr td {
  padding: 1px 1px;
  /*line-height: 25px;*/
}

.es-img {
  height: 25px;
}

.advice-name {
  text-align: left;
}

.advice-children {
  display: flex;
}

.title-box-pro {
  border: 0 #fff;
  line-height: 25px;
  height: 25px;
  text-align: left;
  padding-left: 10px !important;
}
.title-box-pro-tr {
  border: 0 #fff;
}
.text-align-left {
  text-align: left !important;
  padding-left: 10px !important;
  font-size: 14px !important;
  line-height: 25px;
}
.print-table-tr-new td {
  line-height: 20px !important;
}
.border-top-solid {
  border: solid 1px #000;
}
.print-template-two tr {
  line-height: 30px;
}
.parent {
  text-align: left;
  padding-left: 20px !important;
}
</style>
