<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">{{ orgname }}</div>
        <div class="order-title">血液透析治疗记录单</div>
        <div style="display: flex;border: 1px solid black;padding: 5px;">
          <div style="flex: 1;">
            姓名
            <span class="under-line" style="display: inline-block;width: 50%;">{{ patientInfo.name ? patientInfo.name : "/" }}</span>
          </div>
          <div style="flex: 1;">
            性别
            <span class="under-line" style="display: inline-block;width: 50%;">{{ patientInfo.gender ? patientInfo.gender : "/" }}</span>
          </div>
          <div style="flex: 1;">
            年龄
            <span class="under-line" style="display: inline-block;width: 50%;">{{ checkIdCardNo(patientInfo.id_card_no) }}</span>
          </div>
          <div style="flex: 1;">
            透析号
            <span class="under-line" style="display: inline-block;width: 50%;">
               {{ patientInfo.dialysis_no }}
            </span>
          </div>
        </div>
        <div style="display: flex;border-left: 1px solid black;border-right: 1px solid black;padding: 5px;">
          <div style="flex: 1;">
            治疗日期
            <span class="under-line" style="display: inline-block;width: 50%;">
              {{ queryParams.xtdate ? queryParams.xtdate : "/" }}
            </span>
          </div>
          <div style="flex: 1;">
            治疗区域
            <span class="under-line" style="display: inline-block;width: 50%;">
              {{patientInfo.DialysisSchedule.device_zone.name? patientInfo.DialysisSchedule.device_zone.name: ""}}
            </span>
          </div>
          <div style="flex: 1;">
            透析床
            <span class="under-line" style="display: inline-block;width: 50%;">
              {{ dialysisOrder && dialysisOrder.DeviceNumber && dialysisOrder.DeviceNumber.number.length > 0 ? 
                dialysisOrder.DeviceNumber.number : patientInfo.DialysisSchedule.device_number.number 
              }}
            </span>
          </div>
        </div>
        <div style="border: 1px solid black;padding: 5px;">
          上机前病情
          <span class="under-line" style="display: inline-block;width: 50%;">
            <span v-if="predialysis&&predialysis.symptom_before_dialysis!=''">
              {{
                predialysis.symptom_before_dialysis
                  ? predialysis.symptom_before_dialysis
                  : "/"
              }}
            </span>
            <span v-if="predialysis&&predialysis.symptom_before_dialysis_other!=''">
              {{ predialysis.symptom_before_dialysis_other?predialysis.symptom_before_dialysis_other:"/" }}
            </span>
            <span v-if="predialysis&&predialysis.symptom_before_dialysis==''&&predialysis.symptom_before_dialysis_other==''">/</span>
            <!-- {{ receiverTreatmentAccess.sick_condition ? receiverTreatmentAccess.sick_condition : "/" }} -->
          </span>
        </div>
        <div style="display: flex;border-left: 1px solid black;border-right: 1px solid black;padding: 5px;">
          <div style="flex: 1;">
            治疗方式
           <span class="under-line" style="display: inline-block;width: 50%">
            {{ prescription.mode ? prescription.mode : "/" }}
           </span>
          </div>
          <div style="flex: 1;">
            置换方式
            <span class="under-line" style="display: inline-block;width: 50%;" v-if="prescription.mode_id == 2 || prescription.mode_id == 5 || prescription.mode_id == 12">
              <!-- {{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "/" }} -->
              {{
                getDisplaceLiquiPart(prescription.displace_liqui_part)
             }}
            </span>
            <span class="under-line" style="display: inline-block;width: 50%;" v-else>
              /
            </span>
          </div>
          <div style="flex: 1;">
            置换量
            <span class="under-line" style="display: inline-block;width: 50%;" >
              {{ prescription.displace_liqui_value ? prescription.displace_liqui_value : "/" }}
            </span>L
          </div>
          <div style="flex: 1;">
            治疗时间
            <span class="under-line" style="display: inline-block;width: 50%;">
              {{ prescription.dialysis_duration_hour ? prescription.dialysis_duration_hour : "0" }}小时
              {{ prescription.dialysis_duration_minute ? prescription.dialysis_duration_minute : "0" }}分钟
            </span>
          </div>
        </div>
        <div style="display: flex;border: 1px solid black;padding: 5px;">
          <div style="flex:1;">
            抗凝剂
              <span class="under-line" style="display:inline-block;width: 50%;">
                {{ prescription.anticoagulant ? prescription.anticoagulant : "/" }}
              </span>
          </div>
          <div style="flex:1;">
            首剂
            <span class="under-line" style="display:inline-block;width: 50%;">
              {{ prescription.anticoagulant_shouji ? prescription.anticoagulant_shouji : "0" }}
            </span>
            <span v-if="prescription.anticoagulant == '枸橼酸钠'">mg</span>
            <span v-if="prescription.anticoagulant == '阿加曲班'">mg</span>
            <span v-if="prescription.anticoagulant == '低分子肝素'">iu</span>
            <span v-if="prescription.anticoagulant == '普通肝素'">mg</span>
            <span v-if="prescription.anticoagulant == '无肝素'">mg</span>
            <span v-if="prescription.anticoagulant == '低分子肝素钙'">iu</span>
            <span v-if="prescription.anticoagulant == '低分子肝素钠'">iu</span>&nbsp;
          </div>
          <div style="flex:1;">
            维持
            <span class="under-line" style="display:inline-block; width: 50%;">
              {{ prescription.anticoagulant_weichi ? prescription.anticoagulant_weichi : "0" }}
            </span>
            <span v-if="prescription.anticoagulant == '枸橼酸钠'">ml/h</span>
            <span v-if="prescription.anticoagulant == '阿加曲班'">mg/h</span>
            <span v-if="prescription.anticoagulant == '低分子肝素'">iu/h</span>
            <span v-if="prescription.anticoagulant == '普通肝素'">mg/h</span>
            <span v-if="prescription.anticoagulant == '无肝素'">mg/h</span>
            <span v-if="prescription.anticoagulant == '低分子肝素钙'">iu/h</span>
            <span v-if="prescription.anticoagulant == '低分子肝素钠'">iu/h</span>
          </div>
          <div style="flex:1;">
            总量:
            <span class="under-line" style="display:inline-block;width: 50%;">
              {{ prescription.anticoagulant_zongliang ? prescription.anticoagulant_zongliang : "0"}}
            </span>
            <span v-if="prescription.anticoagulant == '枸橼酸钠'">mg</span>
            <span v-if="prescription.anticoagulant == '阿加曲班'">mg</span>
            <span v-if="prescription.anticoagulant == '低分子肝素'">iu</span>
            <span v-if="prescription.anticoagulant == '普通肝素'">mg</span>
            <span v-if="prescription.anticoagulant == '无肝素'">mg</span>
            <span v-if="prescription.anticoagulant == '低分子肝素钙'">iu</span>
            <span v-if="prescription.anticoagulant == '低分子肝素钠'">iu</span>
          </div>
        </div>
        <div style="display: flex;border-left: 1px solid black;border-right: 1px solid black;padding: 5px;">
          <div style="flex: 1;">
            处方脱水量
            <span class="under-line" style="display: inline-block;width: 50%;">
              <span v-if="org_id==10617">{{ prescription.target_ultrafiltration ? prescription.target_ultrafiltration : "/" }}L</span>
              <span v-if="org_id==10612">{{ prescription.prescription_water ? prescription.prescription_water : "/" }}L</span>
            </span>
          </div>
          <div style="flex: 1;">
            透析液流量
            <span class="under-line" style="display: inline-block;width: 50%;">
              {{ prescription.dialysate_flow ? prescription.dialysate_flow : "" }}ml/min
            </span>
          </div>
          <div style="flex: 1;">
            医师签名
            <span class="under-line" style="display: inline-block;width: 50%;" v-if="setAdminUserES(prescription.creater) == ''">
                {{ getAdminUser(prescription.creater)}}
              </span>
              <span class="under-line" style="display: inline-block;width: 50%;" v-else>
              <img style="height:30px;" :src="setAdminUserES(prescription.creater)" alt srcset />
            </span>
          </div>
        </div>
        <div style="display: flex;border: 1px solid black;padding: 5px;">
          <div style="flex: 1;">
            透析机
           <span class="under-line" style="display: inline-block;width: 50%">
            {{
              predialysis.machine_type ? predialysis.machine_type : ""
           }}
            <!-- {{ dialysisOrder &&dialysisOrder.DeviceNumber && dialysisOrder.DeviceNumber.number.length > 0
               ? dialysisOrder.DeviceNumber.number : patientInfo.DialysisSchedule.device_number.number
            }} -->
           </span>
          </div>
          <div style="flex: 1;">
            透 (滤) 器
            <span class="under-line" style="display: inline-block;width: 50%;" >
              {{ prescription.dialysis_dialyszers ? prescription.dialysis_dialyszers : "" }}

              {{ prescription.dialysis_strainer ? prescription.dialysis_strainer : "" }}
            </span>
          </div>
          <div style="flex: 1;">
            灌流器
            <span class="under-line" style="display: inline-block;width: 50%;">
              {{ prescription.dialysis_irrigation ? prescription.dialysis_irrigation : "/" }}
            </span>
          </div>
          <div style="flex: 1;display: flex">
            透析液：
            <div style="">
              碳酸
              <!-- <check-box text="碳酸" :checked="prescription_dialyzate1"></check-box>&nbsp;
              <check-box text="醋酸" :checked="prescription_dialyzate2"></check-box> -->
              <!-- <check-box :checked="patientInfo_gender_2"></check-box>&nbsp; -->
            </div>
              <!-- <div class="under_line" style="width: 100px; text-align: center;display: inline-block;" v-if="prescription.dialyzate.indexOf('碳酸')>-1">
                    碳酸
               </div>
            <div class="under_line" style="width: 100px; text-align: center;display: inline-block;" v-if="prescription.dialyzate.indexOf('醋酸')>-1">
                醋酸
            </div> -->
          </div>
        </div>
        <div style="display: flex;border-left: 1px solid black;border-right: 1px solid black;padding: 5px;">
          <div style="flex: 1;">
            血管通路
            <span class="under-line" style="display: inline-block;width: 50%;">
              {{ predialysis.blood_access_part_id ? predialysis.blood_access_part_id : '' }}&nbsp;
              {{ predialysis.blood_access_part_opera_name ? predialysis.blood_access_part_opera_name : "/" }}
            </span>
          </div>
          <div style="flex: 1;">
            操作者
            <div class="under-line" style="display: inline-block;width: 50%;">
              <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.start_nurse) == ''">
                {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.start_nurse) }}
              </span>
              <img style="height:20px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.start_nurse)" alt="" srcset="" v-else />
            </div>
          </div>
        </div>
        <div style="display: flex;border: 1px solid black;padding: 5px;" v-if="org_id == 10612 || org_id == 0">
          <div style="flex: 1;">
            穿刺针
            <span class="under-line" style="display: inline-block;width: 50%;">
              {{ predialysis.puncture_needle ? predialysis.puncture_needle : "/" }}
            </span>
          </div>
          <div style="flex: 1;">
            穿刺护士
            <div class="under-line" style="display: inline-block;width: 50%;">
               <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) == ''">
                  {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) }}
                </span>
                <img style="height:20px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse)" alt="" srcset="" v-else />
            </div>
          </div>
        </div>
        <div style="border-left: 1px solid black;border-right: 1px solid black;border-top: 1px solid black;padding: 5px;text-align: center;">
          治疗过程记录
        </div>
        <table border="1" style="border-collapse: collapse;text-align: center;">
          <tr>
            <td style="width: 60px;text-align: center;" rowspan="2" >时间</td>
            <td :colspan="org_id==10612 ?'6':'4'" style="text-align: center;">透析参数</td>
            <td colspan="5" style="text-align: center;">生命体征</td>
            <td :colspan="org_id==10612 ? '2' : '3'" style="text-align: center;">治疗中病情变化</td>
          </tr>
          <tr>
            <th style="width: 70px; font-weight: normal">
              <p style="height: 20px; line-height: 20px">TMP</p>
              <p style="height: 20px; line-height: 20px">mmHg</p>
            </th>
            <th style="width: 70px; font-weight: normal" v-if='org_id==10612'>
              <p style="height: 20px; line-height: 20px">动脉压</p>
              <p style="height: 20px; line-height: 20px">mmHg</p>
            </th>
            <th style="width: 70px; font-weight: normal">
              <p style="height: 20px; line-height: 20px">静脉压</p>
              <p style="height: 20px; line-height: 20px">mmHg</p>
            </th>
            <th style="width: 70px; font-weight: normal">
              <p style="height: 20px; line-height: 20px">血流量</p>
              <p style="height: 20px; line-height: 20px">ml/min</p>
            </th>
            <th style="width: 70px; font-weight: normal">
              <p style="height: 20px; line-height: 20px">脱水量</p>
              <p style="height: 20px; line-height: 20px">ml</p>
            </th>
            <th style="width: 130px; font-weight: normal" v-if='org_id==10612'>
              <p style="height: 20px; line-height: 30px">透析液温度</p>
              <p style="height: 20px; line-height: 20px">℃</p>
            </th>
            <th style="width: 60px; font-weight: normal">
              <p style="height: 20px; line-height: 20px">HR</p>
              <p style="height: 20px; line-height: 20px">bpm</p>
            </th>
            <th style="width: 60px; font-weight: normal">
              <p style="height: 20px; line-height: 30px">T</p>
              <p style="height: 20px; line-height: 20px">℃</p>
            </th>
            <th style="width: 60px; font-weight: normal">
              <p style="height: 20px; line-height: 20px">R</p>
              <p style="height: 20px; line-height: 20px">bpm</p>
            </th>
            <th style="width: 60px; font-weight: normal">
              <p style="height: 20px; line-height: 20px">BP</p>
              <p style="height: 20px; line-height: 20px">mmHg</p>
            </th>

            <th style="width: 80px; font-weight: normal" v-if='org_id==10612'>
              <p style="height: 20px; line-height: 20px">电导度</p>
              <p style="height: 20px; line-height: 20px">mS/m</p>
            </th>
            <th style="width: 80px; font-weight: normal" v-if='org_id!=10612'>
              <p style="height: 20px; line-height: 20px">SpO2</p>
              <p style="height: 20px; line-height: 20px">%</p>
            </th>
            <th style="width: 60px; font-weight: normal" v-if='org_id!=10612'>
              时间
            </th>
            <th style="width: 333px; font-weight: normal">
              <p style="height: 20px; line-height: 20px">
                记&nbsp;&nbsp;&nbsp;&nbsp;录
              </p>
            </th>
          </tr>
          <tr v-for="(monitor, monindex) in monitors" :key="monindex">
            <td style="min-width: 60px; height: 30px">
              {{ getTime(monitor.operate_time, "{h}:{i}") }}
            </td>

            <td>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{
                  monitor.transmembrane_pressure
                    ? monitor.transmembrane_pressure
                    : "/"
                }}
              </span>
            </td>

            <td style="width: 70px; font-weight: normal" v-if='org_id==10612'>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{
                  monitor.arterial_pressure
                    ? monitor.arterial_pressure
                    : "/"
                }}
              </span>
            </td>

            <td>
              <span v-if="getTime(monitor.operate_time) != ''">
                &nbsp;{{ monitor.venous_pressure ? monitor.venous_pressure : "/" }}
              </span>
            </td>
            <td>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{ monitor.blood_flow_volume ? monitor.blood_flow_volume : "/" }}
              </span>
            </td>
            <td style="min-width: 45px">
              <span v-if="getTime(monitor.operate_time) != ''">
                {{
                  monitor.ultrafiltration_volume
                    ? monitor.ultrafiltration_volume
                    : ""
                }}
              </span>
            </td>
            <!-- 透析液温度 -->
            <td v-if='org_id==10612'>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{ monitor.dialysate_temperature ? monitor.dialysate_temperature : "/" }}
              </span>
            </td>

            <td>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{ monitor.pulse_frequency ? monitor.pulse_frequency : "/" }}
              </span>
            </td>

            <td>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{ monitor.temperature ? monitor.temperature : "/" }}
              </span>
            </td>
            <td>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{ monitor.breathing_rate ? monitor.breathing_rate : "/" }}
              </span>
            </td>

            <td>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{
                  monitor.systolic_blood_pressure
                    ? monitor.systolic_blood_pressure
                    : "/"
                }}/{{
                  monitor.diastolic_blood_pressure
                    ? monitor.diastolic_blood_pressure
                    : "/"
                }}
              </span>
            </td>
            <td v-if='org_id==10612'>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{
                  monitor.conductivity
                    ? monitor.conductivity
                    : "/"
                }}
              </span>
            </td>
            <!-- SpO2 -->
            <td v-if='org_id!=10612'>
              <span v-if="getTime(monitor.operate_time) != ''">
                {{
                  monitor.blood_oxygen_saturation
                    ? monitor.blood_oxygen_saturation
                    : ""
                }}
              </span>
            </td>
            <!-- 时间 -->
            <td style="min-width: 60px; height: 30px" v-if='org_id!=10612'>
              {{ getTime(monitor.operate_time, "{h}:{i}") }}
            </td>
            <td>
              <template
              v-if=" (dialysisOrder && monitor.operate_time == dialysisOrder.start_time) "
              >
                开始上机，引血100ml/min
              </template>
              <span v-if="monitor.symptom || monitor.dispose || monitor.result || monitor.end ">
                {{ monitor.end }}  {{ monitor.symptom }} &nbsp;{{ monitor.dispose }} &nbsp;{{
                  monitor.result
                }}
              </span>
            </td>
          </tr>
        </table>
        <div style="border-left: 1px solid black;border-right: 1px solid black;padding: 5px;text-align: center;">
          医嘱内容
        </div>

        <table class="print-table" border="1">
          <tbody>
            <tr>
              <td style="width:13%;">
                <p style="height:20px;line-height:20px">时间</p>
              </td>
              <td style="">
                <p style="height:15px;line-height:15px">医嘱执行记录</p>
              </td>
              <td style="width:10%;">
                <p style="height:15px;line-height:15px">执行</p>
              </td>
              <td style="width:10%;">
                <p style="height:15px;line-height:15px">核对</p>
              </td>
              <td style="width:15%;">
                <p style="height:15px;line-height:15px">上次透后体重</p>
              </td>
              <td style="width:8%;">

                 <span v-if="assessmentafter.weight_after == 0">
                  {{ afterdialysis.last_after_weight ? afterdialysis.last_after_weight : "0" }}kg
                 </span>
                 <span v-if="assessmentafter.weight_after>0">
                  {{ assessmentafter.weight_after ? assessmentafter.weight_after : "0" }}kg
                 </span>

              </td>
            </tr>

            <tr v-for="(advice, advice_index) in tableAdvice" :key="advice_index">
              <td style="min-width:60px;height:40px">{{ getTime(advice.start_time, "{y}-{m}-{d} {h}:{i}") }}</td>
              <td>
                <span v-if="advice.parent_id > 0">---></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>
              </td>
              <td>
                <span v-if="setAdminUserES(advice.execution_staff) == ''">{{ getAdminUser(advice.execution_staff) }}</span>
                <img style="height:35px;" :src="setAdminUserES(advice.execution_staff)" alt="" srcset="" v-else />
              </td>
              <td>
                <span v-if="setAdminUserES(advice.checker) == ''">{{ getAdminUser(advice.checker) }}</span>
                <img style="height:35px;" :src="setAdminUserES(advice.checker)" alt="" srcset="" v-else />
              </td>
              <td v-if="advice_index === 0">透前体重</td>
              <td v-if="advice_index === 0">{{ predialysis.weight_before }}kg</td>
              <td v-if="advice_index === 1">体重增加量</td>
              <td v-if="advice_index === 1">
                <span v-if="assessmentafter.weight_after == 0">
                  {{ (predialysis.weight_before - afterdialysis.last_after_weight ).toFixed(1) }}kg
                 </span>
                 <span v-if="assessmentafter.weight_after>0">
                   {{ (predialysis.weight_before - assessmentafter.weight_after).toFixed(1) }}kg
                 </span>

              </td>
              <td v-if="advice_index === 2">干体重(DW)</td>
              <td v-if="advice_index === 2">{{ predialysis.dry_weight }}kg</td>
              <td v-if="advice_index === 3">较干体重增加量</td>
              <td v-if="advice_index === 3">{{ (predialysis.weight_before - predialysis.dry_weight - predialysis.additional_weight).toFixed(2) }}kg</td>
              <td v-if="advice_index === 4">净脱水量</td>
              <td v-if="advice_index === 4">{{ afterdialysis.actual_ultrafiltration }} 
                <span v-if="org_id ==10617"> ml</span>
                <span v-else>L</span>
              </td>
              <td v-if="advice_index === 5">透后体重</td>
              <td v-if="advice_index === 5">{{ afterdialysis.weight_after }}kg</td>
              <td v-if="advice_index === 6">本次透析体重下降量</td>
              <td v-if="advice_index === 6">
                {{afterdialysis.weight_after == 0 || predialysis.weight_before == 0 ?
                  0 : ( predialysis.weight_before - afterdialysis.weight_after ).toFixed(2)
                }}kg
              </td>
            </tr>
          </tbody>
        </table>

        <div style="border-top: none;border: 1px solid black;padding: 5px;">
          <div style="width: 100%;">
            治疗小结:
            <span class="under-line" style="">&nbsp;{{ summary.dialysis_summary }}</span>
          </div>
          <div style="display: flex;">
            <div style="flex: 1;"></div>
            <div style="flex: 1;display: flex; margin-top: 15px;">
              <div style="flex:1">
                医师签名
                <div class="under-line" style="display: inline-block;width: 50%;">
                  <!-- <span v-if="doctorForm.url === ''">{{ doctorForm.doctor }}</span>
                  <span v-if="doctorForm.url !== ''">
                    <img class="es-img" :src="doctorForm.url" style="height:30px;" />
                  </span> -->
                  <span style="display: inline-block;" v-if="setAdminUserES(prescription.creater) == ''">
                    {{ getAdminUser(prescription.creater)}}
                  </span>
                  <span style="display: inline-block;" v-else>
                    <img style="height:30px;" :src="setAdminUserES(prescription.creater)" alt srcset />
                  </span>
                </div>
              </div>
              <div style="flex:1">
                护士签名
                <div class="under-line" style="width: 50%;display: inline-block;">
                  <span v-if="setAdminUserES( dialysisOrder == null ? 0 : dialysisOrder.start_nurse) == '' ">
                    {{getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.start_nurse)}}
                  </span>
                    <img class="es-img" style="height: 30px"
                      :src=" setAdminUserES( dialysisOrder == null ? 0 : dialysisOrder.start_nurse) "
                      alt=""
                      srcset=""
                      v-else
                    />
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>

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

export default {
  name: "dialysisPrintOrderOne",
  components: {
    // DialysisPrintOrderOne,
    // DialysisPrintOrderTwo,
    CheckBox,
    LabelBox,
    BreadCrumb
  },
  // props:{
  //   x_tdate:{
  //     typr:String
  //   }
  // },
  data() {
    return {
      way_arr: [],
      consciousness_arr: [],
      appetite_arr: [],
      posture_arr: [],
      sick_condition_arr: [],
      precaution_arr: [],
      intake_arr: [],
      nutrition_arr: [],

      crumbs: [
        { path: false, name: "透析管理" },
        { path: false, name: "打印单" }
      ],
      operators: [],
      adminUser: [],
      check: {},
      dialysisOrder: {
        DeviceNumber: []
      },
      Order: {},
      operatorMaps: {},
      complications: [
        "低血压",
        "高血压",
        "心律失常",
        "头晕",
        "头痛",
        "呕吐",
        "抽搐",
        "出血",
        "心衰",
        "腹痛",
        "无"
      ],
      jilurow: 0,
      advice_jilurow: 0,
      loading: false,
      orgname: "",
      patientInfo_gender_1: false,
      patientInfo_gender_2: false,
      patientInfo_source_2: false,
      patientInfo_source_1: false,
      prescription_dialyzate1:false,
      prescription_dialyzate2:false,
      modeOptions: {},
      replacementWays: [],
      perfusionApparatus: [],
      anticoagulantsConfit: {},
      bloodAccessParOpera: {},
      dialysateFormulationOptions: {},

      queryParams: {
        xtdate: "",
        xtno: "",
        patient_id:0,
      },
      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: {},
        dialyzate:''
      },
      advices: [],
      users: [],
      monitors: [],
      summary: {},
      receiverTreatmentAccess: {},
      org_template_info: {},
      isShowZero: false,

      doctor_advices: [],
      advice_groups: [],

      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: ""
      },
      total: "",
      doctorForm: {
        doctor: "",
        url: ""
      },
      dialysisDoctor: {
        doctor: "",
        url: ""
      },
      tableAdvice: [],
      assessmentafter: {},
      orderForm: {
        start_nurse: "",
        url: ""
      },
      finshForm: {
        finish_nurse: "",
        url: ""
      },
      displaceLiquiPartOptions: [],
      org_id: 0,
      checked:false
    };
  },
  methods: {
    checkData(){
      var checkDate =[]
      if(this.patientInfo.name == ''){
        const obj ='姓名'
        checkDate.push(obj)
      } if(this.patientInfo.gender ==''){
        const obj1 ='性别'
        checkDate.push(obj1)
      } if(this.patientInfo.id_card_no ==''){
        const obj2 ='年龄'
        checkDate.push(obj2)
      } if(this.patientInfo.dialysis_no == ''){
        const obj3 ='透析号'
        checkDate.push(obj3)
      } if(this.queryParams.xtdate == ''){
        const obj4 ='治疗日期'
        checkDate.push(obj4)
      } if(this.patientInfo.DialysisSchedule.device_zone.name == ''){
        const obj5 ='治疗区域'
        checkDate.push(obj5)
      } if(this.dialysisOrder == '' && 
          this.dialysisOrder.DeviceNumber.number =='' && 
          this.patientInfo.DialysisSchedule.device_number.number ==''
      ){
        const obj6 ='透析床号'
        checkDate.push(obj6)
      } if(this.predialysis.symptom_before_dialysis == '' && 
        this.predialysis.symptom_before_dialysis_other == ''
      ){
        const obj7 ='上机前病情'
        checkDate.push(obj7)
      } if(this.prescription.mode ==''){
        const obj8 ='治疗方式'
        checkDate.push(obj8)
      } if(this.prescription.displace_liqui_part =='' && 
            this.prescription.mode_id == 2 && 
            this.prescription.mode_id == 5 && this.prescription.mode_id == 12
      ){
        const obj9 ='置换方式'
        checkDate.push(obj9)
      } if(this.prescription.displace_liqui_value =='' && this.prescription.mode_id == 2){
        const obj10 ='置换量 '
        checkDate.push(obj10)
      } if(this.prescription.dialysis_duration_hour =='' &&
          this.prescription.dialysis_duration_minute == ''
      ){
        const obj11 ='治疗时间'
        checkDate.push(obj11)
      } if(this.prescription.anticoagulant ==''){
        const obj12 ='抗凝剂'
        checkDate.push(obj12)
      } if(this.prescription.anticoagulant_shouji ==''){
        const obj13 ='首剂'
        checkDate.push(obj13)
      } if(this.prescription.anticoagulant_zongliang ==''){
        const obj14 ='总量'
        checkDate.push(obj14)
      } if(this.prescription.target_ultrafiltration ==''){
        const obj15 ='处方脱水量'
        checkDate.push(obj15)
      } if(this.prescription.dialysate_flow ==''){
        const obj16 ='透析液流量'
        checkDate.push(obj16)
      } if(this.prescription.creater ==0){
        const obj17 ='医师签名'
        checkDate.push(obj17)
      } if(this.predialysis.machine_type ==''){
        const obj18 ='透析机'
        checkDate.push(obj18)
      } if(this.prescription.dialysis_dialyszers =='' && 
            this.prescription.dialysis_strainer ==''
      ){
        const obj19 ='透 (滤) 器'
        checkDate.push(obj19)
      } if(this.prescription.dialysis_irrigation ==''){
        const obj20 ='灌流器'
        checkDate.push(obj20)
      } if (this.predialysis.blood_access_part_opera_name == ''){
        const obj21 = "血管通路"
        checkDate.push(obj21)
      } if(this.dialysisOrder !=null && this.dialysisOrder.start_nurse ==0){
        const obj22 = "操作者"
        checkDate.push(obj22)
      } if(this.predialysis.puncture_needle == '' && this.org_id == 10612){
        const obj23 = "穿刺针"
        checkDate.push(obj23)
      } if( this.dialysisOrder != null && this.dialysisOrder.puncture_nurse == 0 && 
            this.org_id == 10612
      ){
        const obj33 = "穿刺护士"
        checkDate.push(obj33)
      } if(this.assessmentafter.weight_after == '' && 
            this.afterdialysis.last_after_weight == ''
      ){
        const obj24 = "上次透后体重"
        checkDate.push(obj24)
      } if(this.predialysis.weight_before == 0){
        const obj25 = "透前体重"
        checkDate.push(obj25)
      } if(this.predialysis.dry_weight == 0){
        const obj26 = "干体重"
        checkDate.push(obj26)
      } if(this.afterdialysis.weight_after == 0){
        const obj27 = "透后体重"
        checkDate.push(obj27)
      } if(this.afterdialysis.actual_ultrafiltration == 0){
        const obj28 = "净脱水量"
        checkDate.push(obj28)
      } if (this.summary.dialysis_summary == "") {
        const obj29 = "透析小结"
        checkDate.push(obj29)
      } if(this.dialysisOrder != null && 
            this.dialysisOrder.start_nurse ==''
      ){
        const obj30 = "护士签名"
        checkDate.push(obj30)
      } if(this.tableAdvice.length > 0){
        this.tableAdvice.map(item => {
          if(item.id > 0 && (item.created_time || item.start_time)){
            if(item.execution_staff ==0 && item.checker ==0){
              const obj32 = '执行,核对'
              checkDate.push(obj32)
            }
          }
        })
      }
      this.getcheckData(checkDate)
    },
    getDisplaceLiquiPart: function(val) {
      let displace_liqui_part_name = "/";
      const displace_liqui_part = this.displaceLiquiPartOptions;
      for (let i = 0; i < displace_liqui_part.length; i++) {
        if (displace_liqui_part[i].id == val) {
          displace_liqui_part_name = displace_liqui_part[i].name;
        }
      }
      return displace_liqui_part_name;
    },
    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;
        }
      }
    },
    getTime(value, temp) {
      if (value == 0) {
        return "";
      }
      if (value != undefined) {
        return uParseTime(value, temp);
      }
      return "";
    },
    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;
      this.queryParams.patient_id = parseInt(this.$route.query.patient_id)
      getDialysisRecord(this.queryParams).then(response => {
        if (response.data.state === 1) {
          this.total = response.data.data.total;

          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 = "女";
          }
          console.log("patientInfo", patientInfo);
          this.patientInfo = 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;
          console.log("核对信息", this.check);
          this.predialysis = response.data.data.PredialysisEvaluation;
          //console.log("透前评估", this.predialysis);
          this.predialysis.blood_access_part_opera_name = this.bloodAccessParOperaName(
            this.predialysis.blood_access_part_opera_id
          );
          this.assessmentafter = response.data.data.assessmentAfterDislysis;
          console.log("上次透后体重", this.assessmentafter);
          var doctorAdevieInfo = response.data.data.doctorAdevieInfo;
          var tableAdvice = doctorAdevieInfo;
          console.log('医生', tableAdvice.length)
          if (tableAdvice.length === 0) {
            console.log('tableAdvice.length',tableAdvice.length);
            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: "" };
            // var obj7 = { 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);
            // tableAdvice.push(obj7);
            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(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: "" };
            var obj3 = { advice_name: "", start_time: "" };
            // eslint-disable-next-line no-redeclare
            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: "" };
            var obj2 = { advice_name: "", start_time: "" };
            tableAdvice.push(obj);
            tableAdvice.push(obj1);
            tableAdvice.push(obj2);
            this.tableAdvice = tableAdvice;
          }

          if (tableAdvice.length >= 6) {
            var obj = { advice_name: "", start_time: "" };
            tableAdvice.push(obj);
            this.tableAdvice = tableAdvice;
          }
          this.afterdialysis = response.data.data.AssessmentAfterDislysis;
          console.log("透后评估", this.afterdialysis);
          this.operators = response.data.data.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 doctorname = response.data.data.DoctorName;
          //console.log("医师签名", doctorname);
          this.doctorForm.doctor = doctorname.user_name;
          this.doctorForm.url = doctorname.url;
          console.log("医师签名", this.doctorForm);
          var prescription = response.data.data.dialysisPrescription;
          console.log("透析处方", prescription);
          if (prescription.anticoagulant == 6) {
            prescription.anticoagulant = "低分子肝素钙";
          }
          if (prescription.anticoagulant == 7) {
            prescription.anticoagulant = "低分子肝素钠";
          }
          if (prescription.blood_access === 1) {
            prescription.blood_access = "正常";
          }
          if (prescription.blood_access === 2) {
            prescription.blood_access = "震颤";
          }
          if (prescription.blood_access === 3) {
            prescription.blood_access = "堵塞";
          }
          if (prescription.blood_access === 4) {
            prescription.blood_access = "血肿";
          }
          if (prescription.blood_access === 5) {
            prescription.blood_access = "淤血";
          }
          if (prescription.blood_access === 6) {
            prescription.blood_access = "感染";
          }
          if (prescription.blood_access === 7) {
            prescription.blood_access = "自体内瘘";
          }
          if (prescription.blood_access === 8) {
            prescription.blood_access = "人工血管内瘘";
          }
          if (prescription.replacement_way === 1) {
            prescription.replacement_way = "前置换";
          }
          if (prescription.replacement_way === 2) {
            prescription.replacement_way = "后置换";
          }
          if (prescription.replacement_way === 3) {
            prescription.replacement_way = "中置换";
          }
          if (prescription.replacement_way === 4) {
            prescription.replacement_way = "混合置换";
          }
          if (prescription.anticoagulant === 1) {
            prescription.anticoagulant = "无肝素";
          }
          if (prescription.anticoagulant === 2) {
            prescription.anticoagulant = "普通肝素";
          }
          if (prescription.anticoagulant === 3) {
            prescription.anticoagulant = "低分子肝素";
          }
          if (prescription.anticoagulant === 4) {
            prescription.anticoagulant = "阿加曲班";
          }
          if (prescription.anticoagulant === 5) {
            prescription.anticoagulant = "枸橼酸钠";
          }
          this.prescription = prescription;
          var receiverTreatmentAccess =
            response.data.data.receiverTreatmentAccess;
          if (receiverTreatmentAccess.sick_condition === 1) {
            receiverTreatmentAccess.sick_condition = "一般";
          }
          if (receiverTreatmentAccess.sick_condition === 2) {
            receiverTreatmentAccess.sick_condition = "严重";
          }
          if (receiverTreatmentAccess.sick_condition === 3) {
            receiverTreatmentAccess.sick_condition = "危";
          }
          if (receiverTreatmentAccess.way === 1) {
            receiverTreatmentAccess.way = "步行";
          }
          if (receiverTreatmentAccess.way === 2) {
            receiverTreatmentAccess.way = "扶行";
          }
          if (receiverTreatmentAccess.way === 3) {
            receiverTreatmentAccess.way = "轮椅";
          }
          if (receiverTreatmentAccess.way === 4) {
            receiverTreatmentAccess.way = "平车";
          }
          console.log("接诊评估:", receiverTreatmentAccess);
          this.receiverTreatmentAccess = receiverTreatmentAccess;
          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
          );

          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;
            }
          }

          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;
          this.monitors = response.data.data.monitors;
          console.log("透析监测", this.monitors);
          this.summary = response.data.data.summary;
          this.Order = response.data.data.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 dialysisdoctor = response.data.data.dialysisdocotr;
          //this.dialysisDoctor.doctor = dialysisdoctor.user_name;
          // this.dialysisDoctor.url = dialysisdoctor.url;
          this.org_template_info = response.data.data.org_template_info;
          // 配置超滤量和置换量是否要显示0还是空
          if (this.org_template_info.org_id == 9535) {
            this.isShowZero = true;
          }
          if (this.monitors.length < 7) {
            var nl = 8 - this.monitors.length;
            for (let index = 0; index < nl; index++) {
              this.monitors.push([]);
            }
          }

          var tempmonitorflag = true;
          for (let index = 0; index < this.monitors.length; index++) {
            const monitor = this.monitors[index];
            this.monitors[index].end = "";
            if (Object.keys(monitor).length > 0 && index > 1) {
              if (
                (this.dialysisOrder &&
                monitor.operate_time == this.dialysisOrder.end_time)
              ) {
                this.monitors[index].end = "结束治疗，予下机";
                tempmonitorflag = false;
              }
              if ((tempmonitorflag && index == this.monitors.length - 1)) {
                this.monitors[index].end = "结束治疗，予下机";
              }
            }
          }

          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);
            }
          }
          console.log(this.advice_groups);
        } 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, "-");
      }
      return "";
    },
    checkIdCardNo(val) {
      var thisLen = val.length;
      var birth = "";
      if (thisLen == 15) {
        birth = "19" + val.substr(6, 6);
      } else {
        birth = val.substr(6, 8);
      }
      var birthTwo =
        birth.substr(0, 4) +
        "-" +
        birth.substr(4, 2) +
        "-" +
        birth.substr(6, 2);

      var age = jsGetAge(birthTwo, "-");
      return age;
    },
    newAdviceGroupObject: function() {
      return Object.assign(
        {},
        {
          group_no: 0,
          // advice_doctor: 0,
          // start_time: 0,
          advices: []
          // exec_staff: 0,
          // exec_time: 0,
          // checker: 0,
        }
      );
    },
    getcheckData(val){
      if(val.length >0){
        const a = val.join(',')
        console.log('a',a);
        this.$message.error(a +" 未填");
        return a
      }else{
        this.$message.success('核对完成')
      }
    }
  },
  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;
      }
    },
    "prescription.dialyzate": function() {
      console.log("this.prescription",this.prescription.dialyzate)
      if(this.prescription.dialyzate !='undefined'){
        this.prescription.dialyzate="碳酸"
        if(this.prescription.dialyzate.indexOf('碳酸')>-1){
          this.prescription_dialyzate1 =true
          this.prescription_dialyzate2 = false
        }else if(this.prescription.dialyzate.indexOf('醋酸')>-1){
          this.prescription_dialyzate1 =false
          this.prescription_dialyzate2 = true
        }else{
          this.prescription_dialyzate1 =false
          this.prescription_dialyzate2 = false
        }
      }
    }
  },
  created() {
    console.log('x_tdate',this.x_tdate);
    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;

    this.way_arr = getDataConfig("hemodialysis", "way");
    this.consciousness_arr = getDataConfig("hemodialysis", "consciousness");
    this.appetite_arr = getDataConfig("hemodialysis", "appetite");
    this.posture_arr = getDataConfig("hemodialysis", "posture");
    this.sick_condition_arr = getDataConfig("hemodialysis", "sick_condition");
    this.precaution_arr = getDataConfig("hemodialysis", "precaution");
    this.intake_arr = getDataConfig("hemodialysis", "intake");
    this.nutrition_arr = getDataConfig("hemodialysis", "nutrition");
    this.displaceLiquiPartOptions = this.$store.getters.displace_liqui;
    // this.bloodAccessParOpera = getDataConfig('hemodialysis', 'vascular_access_desc')
    this.org_id = this.$store.getters.xt_user.org.id;
    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;
    }
  }
};
</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: 67%;
  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;*/
}
.table-box .ta_top td{
  padding-top: 10px !important;
}

.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;
}
.check_box_panel .did_checke::after {
  font-size: 8px;
  margin-left: 2px;
  margin-top: 2px;
  position: absolute;
}
</style>
