<template>
  <div id="dialysis-print-box" style="position: relative">
    <div class="dialysis-print-order">
      <div class="order-yy-name">{{ orgname }}</div>
      <div class="order-title">血液透析（滤过）记录表单</div>

      <!-- <table class="table-box" style="margin-top: 10px;">
            <tbody>
            <tr>

              <td width="40">诊 断:</td>
              <td width="">
                <div class="under-line">&nbsp;{{patientInfo.diagnose}}</div>
              </td>

            </tr>
            </tbody>
          </table> -->
      <table class="print-table" border="1">
        <tbody>
          <tr>
            <td width="80" colspan="11" style="text-align: center">
              治 疗 日 期:&nbsp;<span>{{ queryParams.xtdate }}</span>
            </td>
          </tr>
          <tr>
            <td colspan="11">
              <div class="list_table">
                <div>姓 名:&nbsp;{{ patientInfo.name }}</div>
                <div>
                  性别：{{ patientInfo_gender_1 == true ? "男" : "女" }}
                </div>
                <div>透析机号:&nbsp;{{ getNumber() }}</div>
              </div>
            </td>
          </tr>
          <tr class="list_table_1">
            <td colspan="11">
              <div style="display: flex">
                <div style="width: 400px">
                  病情评估:&nbsp;<span>{{ sick_condition ? sick_condition : "" }}</span>
                </div>
                <div style="width: 400px">
                  入科方式:&nbsp;<span
                    v-for="(item, index) in way_arr"
                    :key="index"
                    class="under_line"
                    v-if="receiverTreatmentAccess.way == item.id"
                    style="width: 180px; text-align: left"
                    >{{ item.name }}
                  </span>
                </div>
              </div>
            </td>
          </tr>
          <tr class="list_table_1">
            <td width="250" style="border-right: none" colspan="2">
              治疗方式:
              <label-box
                :isChecked="prescription.mode_id == 1 ? true : false"
                showValue="HD"
              >
              </label-box>
              <label-box
                :isChecked="prescription.mode_id == 2 ? true : false"
                showValue="HDF"
              ></label-box>
              (<label-box
                :isChecked="
                  prescription.mode_id == 2 &&
                  prescription.displace_liqui_part == 1
                    ? true
                    : false
                "
                showValue="前稀释"
              ></label-box>
              <label-box
                :isChecked="
                  prescription.mode_id == 2 &&
                  prescription.displace_liqui_part == 2
                    ? true
                    : false
                "
                showValue="后稀释"
              ></label-box>
              ， 置换量：&nbsp;{{
                prescription.displace_liqui_value
                  ? prescription.displace_liqui_value
                  : "/"
              }}ml&nbsp; )

              <label-box
                :isChecked="prescription.mode_id > 2 ? true : false"
                showValue="其他:"
              ></label-box>
              &nbsp;
              <span v-if="prescription.mode_id > 2">
                {{ prescription.mode }}
              </span>
            </td>
            <!-- <td width="20" style="border: none"></td> -->
            <td width="200">
              治疗时间：&nbsp;{{
                afterdialysis.actual_treatment_hour
                  ? afterdialysis.actual_treatment_hour
                  : "0"
              }}&nbsp;小时&nbsp;{{
                afterdialysis.actual_treatment_minute
                  ? afterdialysis.actual_treatment_minute
                  : 0
              }}&nbsp;分
            </td>
          </tr>
          <tr class="list_table_1">
            <td colspan="12">
              治疗抗凝:
              <label-box
                :isChecked="prescription.anticoagulant == 3 ? true : false"
                showValue="低分子肝素:"
              ></label-box>
              &nbsp;&nbsp;{{prescription.anticoagulant_zongliang && prescription.anticoagulant == "3" ? prescription.anticoagulant_zongliang : ""}}U；&nbsp;&nbsp;
              <label-box
                :isChecked="prescription.anticoagulant == 2 ? true : false"
                showValue="普通肝素:"
              ></label-box
              >首剂 &nbsp;&nbsp;<span><span style="width:35px;display: inline-block;">
                {{ prescription.anticoagulant_shouji && (prescription.anticoagulant != 3 ) && prescription.anticoagulant == 2 ? prescription.anticoagulant_shouji : "" }}
              </span></span> mg&nbsp;&nbsp;&nbsp;
              追加&nbsp;&nbsp;<span>{{ prescription.anticoagulant_weichi && prescription.anticoagulant == 2 ? prescription.anticoagulant_weichi : "" }}</span>&nbsp;&nbsp;mg/h&nbsp;
              总量&nbsp;&nbsp;<span>{{ prescription.anticoagulant_zongliang && prescription.anticoagulant == 2 ? prescription.anticoagulant_zongliang : "" }}</span>&nbsp;&nbsp;mg；
              <label-box
                :isChecked="prescription.anticoagulant == 1 ? true : false"
                showValue="无肝素"
              ></label-box>
              <label-box :isChecked="prescription.anticoagulant == 5 ? true : false" showValue="枸橼酸"></label-box>
            </td>
          </tr>
          <tr class="list_table_1" style="line-height: 30px">
            <td width="100" style="border-right: none" colspan="2">
              处方脱水量:
              <p style="display: inline-block; width: 40px">{{ prescription.target_ultrafiltration ? prescription.target_ultrafiltration : "" }}</p>
              ml; 透析液流量：
              <p style="display: inline-block; width: 40px">{{ prescription.dialysate_flow ? prescription.dialysate_flow : "" }}</p>
              ml/h;
            </td>
            <!-- <td style="border: none"></td> -->
            <td width="20">
              医师签名：
              <span v-if="setAdminUserES(prescription.creater) == ''">
                {{ getAdminUser(prescription.creater) }}
              </span>
              <img
                class="es-img"
                style="height: 30px"
                :src="setAdminUserES(prescription.creater)"
                alt
                srcset
                v-else
              />
            </td>
          </tr>
          <tr colspan="13" class="list_table_1">
            <!-- <td >透析机：{{ dialysisOrder && dialysisOrder.DeviceNumber && dialysisOrder.DeviceNumber.number.length > 0 ? dialysisOrder.DeviceNumber.number : patientInfo.DialysisSchedule.device_number.number }}</td>
            <td style="width: 175px;">透析（滤）器：{{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "" }}</td>
            <td width="150">透析液：钾：
              <span style="width:30px;display: inline-block;">
                {{ prescription.kalium ? prescription.kalium : "" }}
              </span>mmol/L&nbsp; 钙：
              <span style="width:30px;display: inline-block;">
                {{ prescription.calcium ? prescription.calcium : "" }}
              </span>mmol/L&nbsp; 碳酸氢根：
              <span style="width:30px;display: inline-block;">
                {{ prescription.bicarbonate ? prescription.bicarbonate : "" }}
              </span>mmol/L</td> -->
              <td colspan="13">
                <div style="display:flex;">
                  <div style="width: 230px;border-right: 1px solid;" >透析机：{{ dialysisOrder && dialysisOrder.DeviceNumber && dialysisOrder.DeviceNumber.number.length > 0 ? dialysisOrder.DeviceNumber.number : patientInfo.DialysisSchedule.device_number.number }}</div>
                  <div style="width: 213px;border-right: 1px solid;">透析（滤）器：{{ prescription.dialyzer_perfusion_apparatus ? prescription.dialyzer_perfusion_apparatus : "" }}</div>
                  <div>透析液：钾：
              <span style="width:30px;display: inline-block;">
                {{ prescription.kalium ? prescription.kalium : "" }}
              </span>mmol/L&nbsp; 钙：
              <span style="width:30px;display: inline-block;">
                {{ prescription.calcium ? prescription.calcium : "" }}
              </span>mmol/L&nbsp; 碳酸氢根：
              <span style="width:30px;display: inline-block;">
                {{ prescription.bicarbonate ? prescription.bicarbonate : "" }}
              </span>mmol/L</div>
                </div>
              </td>
          </tr>
          <tr class="list_table_1">
            <td colspan="11">
              <div style="display: flex; justify-content: flex-start">
                <div style="width: 75%">
                  血管通路: &nbsp;
                  <label-box
                    :isChecked="
                      predialysis.blood_access_part_opera_name.indexOf(
                        '自体内瘘'
                      ) > -1
                        ? true
                        : false
                    "
                    showValue="自体内瘘"
                  ></label-box>
                  &nbsp;
                  <label-box
                    :isChecked="
                      predialysis.blood_access_part_opera_name.indexOf(
                        '人造血管'
                      ) > -1
                        ? true
                        : false
                    "
                    showValue="人造血管"
                  ></label-box>
                  &nbsp; &nbsp;
                  <label-box
                    :isChecked="
                      predialysis.blood_access_part_opera_name.indexOf('直穿') >
                      -1
                        ? true
                        : false
                    "
                    showValue="直穿"
                  ></label-box>
                  &nbsp;
                  <label-box
                    :isChecked="
                      predialysis.blood_access_part_opera_name.indexOf(
                        '颈内静脉'
                      ) > -1
                        ? true
                        : false
                    "
                    showValue="颈内静脉"
                  ></label-box>
                  &nbsp;
                  <label-box
                    :isChecked="
                      predialysis.blood_access_part_opera_name.indexOf(
                        '股静脉'
                      ) > -1
                        ? true
                        : false
                    "
                    showValue="股静脉"
                  ></label-box>
                  &nbsp;
                  <label-box
                    :isChecked="
                      predialysis.blood_access_part_opera_name.indexOf(
                        '锁骨下'
                      ) > -1
                        ? true
                        : false
                    "
                    showValue="锁骨下"
                  ></label-box>
                  &nbsp;
                </div>
                <div style="width: 25%">穿刺者：
                <span v-if="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) == ''">
                  {{ getAdminUser(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse) }}
                </span>
                <img class="es-img" style="height:30px;" :src="setAdminUserES(dialysisOrder == null ? 0 : dialysisOrder.puncture_nurse)" alt srcset v-else /></div>
              </div>
            </td>
          </tr>
        </tbody>
      </table>

      <table
        class="print-table"
        border="1"
        style="text-align: center"
        table-layout="fixed"
      >
        <tbody>
          <tr class="tr_top" style="border-top: none">
            <td class="tr_top" colspan="11" style="text-align: center">
              治疗过程记录
            </td>
          </tr>
          <tr>
            <td width="60">时间</td>
            <td width="300" class="td_sp">
              <table
                class="print-table-3"
                border="1"
                style="text-align: center"
              >
                <tr class="tr_3">
                  <td colspan="4">透析参数</td>
                </tr>
                <td width="70" class="td_3_2">TMP/<br />mmHg</td>
                <td width="70" class="td_3">静脉压/<br />mmHg</td>
                <td width="70" class="td_3">血流量/<br />(ml·min)⁻¹</td>
                <td width="70">脱水量/<br />ml</td>
              </table>
            </td>

            <td width="300">
              <table
                class="print-table-3"
                border="1"
                style="text-align: center"
                frame="void"
              >
                <tbody>
                  <tr class="tr_3">
                    <td colspan="5">生命体征</td>
                  </tr>
                  <td width="59" class="td_3_1">T/<br />℃</td>
                  <td width="60" class="td_3">HR/<br />bpm</td>
                  <td width="60" class="td_3">R/<br />bpm</td>
                  <td width="60" class="td_3">BP/<br />mmHg</td>
                  <td width="60">SpO₂/<br />%</td>
                </tbody>
              </table>
            </td>

            <td width="300">
              <table
                class="print-table-2"
                border="1"
                style="text-align: center"
                frame="void"
              >
                <tbody>
                  <tr>
                    <td>治疗中病情变化</td>
                  </tr>
                  <td width="220" style="height: 80.85px; text-align: center">
                    记录
                  </td>
                </tbody>
              </table>
            </td>
          </tr>

          <tr v-for="monitor in monitors" :key="monitor.id">
            <td>
              &nbsp;
              {{ getTime(monitor.operate_time, "{h}:{i}") }}
            </td>

            <td>
              <table
                table-layout="fixed"
                class="print-table"
                border="1"
                style="text-align: center; width: 300px"
                frame="void"
              >
                <td width="25%">
                  &nbsp;{{
                    monitor.transmembrane_pressure
                      ? monitor.transmembrane_pressure
                      : ""
                  }}
                </td>
                <td width="25%">
                  &nbsp;{{
                    monitor.venous_pressure ? monitor.venous_pressure : ""
                  }}
                </td>
                <td width="25%">
                  &nbsp;{{
                    monitor.blood_flow_volume ? monitor.blood_flow_volume : ""
                  }}
                </td>
                <td width="25%">
                  &nbsp;{{ monitor.ultrafiltration_volume ? monitor.ultrafiltration_volume : "" }}
                </td>
              </table>
            </td>
            <td width="300">
              <table
                table-layout="fixed"
                class="print-table"
                border="1"
                style="text-align: center; width: 300px"
                frame="void"
              >
                <td style="width: 20%">
                  &nbsp;{{
                    monitor.monitor_temperature
                      ? monitor.monitor_temperature
                      : ""
                  }}
                </td>
                <td style="width: 20%">
                  &nbsp;{{
                    monitor.pulse_frequency ? monitor.pulse_frequency : ""
                  }}
                </td>
                <td style="width: 20%">
                  &nbsp;{{
                    monitor.breathing_rate ? monitor.breathing_rate : ""
                  }}
                </td>
                <td style="width: 20%">
                  &nbsp;{{
                    monitor.systolic_blood_pressure ? monitor.systolic_blood_pressure : ""
                  }}
                </td>
                <td style="width: 20%">
                  &nbsp;{{
                    monitor.blood_oxygen_saturation ? monitor.blood_oxygen_saturation : ""
                  }}
                </td>
              </table>
            </td>
            <td>
              <span style="line-height:18px;display:block;">
              {{ monitor.symptom }}&nbsp;{{ monitor.dispose }}&nbsp;{{
              monitor.result
              }}
            </span>
            </td>

          </tr>
        </tbody>
      </table>

      <table class="print-table" border="1" style="text-align: center">
        <tbody>
          <tr>
            <td style="width: 25px; height: 40px">
              <p style="height: 20px; line-height: 20px">时间</p>
            </td>
            <td style="width: 150px; height: 40px">
              <p style="height: 20px; line-height: 20px">医嘱执行记录</p>
            </td>
            <td style="width: 32px; height: 40px">
              <p style="height: 20px; line-height: 20px">执行</p>
            </td>
            <td style="width: 60px; height: 60px">
              <p style="height: 20px; line-height: 20px">核对</p>
            </td>
            <td style="width: 60px; height: 40px">
              <p style="height: 20px; line-height: 20px">上次透后体重</p>
            </td>
            <td style="width: 45px; height: 40px">{{assessmentafter.weight_after}}kg</td>
          </tr>

          <tr v-for="(advice, advice_index) in advices">
            <td>{{ 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: 40px"
                :src="setAdminUserES(advice.execution_staff)"
                alt=""
                srcset=""
                v-else
              />
            </td>
            <td>
              <span v-if="setAdminUserES(advice.checker) == ''">{{
                getAdminUser(advice.checker)
              }}</span>
              <img
                style="height: 40px"
                :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">
              {{
                (
                  predialysis.weight_before - assessmentafter.weight_after
                ).toFixed(1)
              }}kg
            </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">
              {{
                (
                  assessmentafter.weight_after -
                  predialysis.dry_weight
                ).toFixed(2)
              }}kg
            </td>
            <td v-if="advice_index === 4">净脱水量:</td>
            <td v-if="advice_index === 4">
              {{ afterdialysis.actual_ultrafiltration }}L
            </td>
            <td v-if="advice_index === 5">透后体重:</td>
            <td v-if="advice_index === 5">
              {{ assessmentafter.weight_after }}kg
            </td>
             <td v-if="advice_index === 6">本次透析体重下降量:</td>
            <td v-if="advice_index === 6">
              {{ afterdialysis.weight_after }}kg
            </td>
          </tr>
        </tbody>
      </table>
      <table class="print-table" border="1">
         <tr style="height:60px;text-align:left;border:none;">
            <td style="padding-left:5px;border:none">
              治疗小结：{{ summary.dialysis_summary ? summary.dialysis_summary : "" }}
            </td>
          </tr>
          <tr style="height:40px">
            <td rowspan="11" style="border:none;text-align:right;height:40px">
              医生签名
              <span style="display: inline-block;width:100px;text-align: left;">
                &nbsp;
                  <span v-if="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) == ''"> {{ getAdminUser(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:'')) }} </span>
                  <img style="height:30px;" :src="setAdminUserES(prescription==null?0:(prescription.prescription_doctor?prescription.prescription_doctor:''))" alt="" srcset="" v-else />
              </span>
              护士签名
              <span style="display: inline-block;width:100px;text-align: left;">
                &nbsp;
                <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>
              </span>
       
            </td>
          </tr>
      </table >

      <table class="table-box" style="margin-top: 10px">
        <tbody>
          <tr>
            <td width="" style="font-size: 13px">
              注：透析器凝血评价标准：“0 级” 无凝血或数条纤维束凝血，“Ⅰ 级”
              少于10%纤维凝血，“Ⅱ 级” 少于50%纤维凝血，“Ⅲ 级” 大于50%纤维凝血。
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <div style="position: absolute; top: 1380px; left: 50%">1</div>
  </div>
</template>

<script>
import { getDialysisRecord } from "@/api/dialysis";
import { jsGetAge, uParseTime } from "@/utils/tools";
import LabelBox from "../printItem/LabelBox";
import { getDataConfig } from "@/utils/data";
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: "dialysisPrintOrderFour",
  components: {
    // DialysisPrintOrderOne,
    // DialysisPrintOrderTwo,
    LabelBox,
    BreadCrumb,
  },
  data() {
    return {
      way_arr: [],
      consciousness_arr: [],
      appetite_arr: [],
      posture_arr: [],
      sick_condition_arr: [],
      precaution_arr: [],
      intake_arr: [],
      nutrition_arr: [],
      bloodAccessParOpera: {},
      crumbs: [
        { path: false, name: "透析管理" },
        { path: false, name: "打印单" },
      ],
      operators: [],
      adminUser: [],
      check: {},
      dialysisOrder: {
        DeviceNumber: [],
      },
      operatorMaps: {},
      complications: [
        "低血压",
        "高血压",
        "心律失常",
        "头晕",
        "头痛",
        "呕吐",
        "抽搐",
        "出血",
        "心衰",
        "腹痛",
      ],
      jilurow: 0,
      assessmentafter: {},
      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: [],
      sick_condition:"",
      summary: {},
      receiverTreatmentAccess: {},
      org_template_info: {},

      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: "",
      },
    };
  },
  methods: {
    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) {
      console.log(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;
          this.patientInfo = response.data.data.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;
          this.predialysis = response.data.data.PredialysisEvaluation;
          this.predialysis.blood_access_part_opera_name =
            this.bloodAccessParOperaName(
              this.predialysis.blood_access_part_opera_id
            );

            console.log(this.predialysis.blood_access_part_opera_name,'this.predialysis.blood_access_part_opera_name')
          this.afterdialysis = response.data.data.AssessmentAfterDislysis;
          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(",");

          this.prescription = response.data.data.dialysisPrescription;
          this.receiverTreatmentAccess =
            response.data.data.receiverTreatmentAccess;
          this.assessmentafter = response.data.data.assessmentAfterDislysis;
          this.sick_condition_arr.forEach(o => {
            // console.log(o,'hh')
            if(this.receiverTreatmentAccess.sick_condition == o.id){
              this.sick_condition = o.name
            }
          })
          console.log(this.sick_condition,'hh')

          console.log("上次透后体重", this.assessmentafter);

          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;
          this.summary = response.data.data.summary;
          this.org_template_info = response.data.data.org_template_info;
          if (this.monitors.length < 8) {
            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 tableAdvice =  this.advices;
          console.log("医生", tableAdvice);
           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: "" };
            tableAdvice.push(obj);
            tableAdvice.push(obj1);
            tableAdvice.push(obj2);
            tableAdvice.push(obj3);
            tableAdvice.push(obj4);
            tableAdvice.push(obj5);
            this.advices = 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: "" };
            tableAdvice.push(obj);
            tableAdvice.push(obj1);
            tableAdvice.push(obj2);
            tableAdvice.push(obj3);
            tableAdvice.push(obj4);
            this.advices = 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: "" };
            tableAdvice.push(obj);
            tableAdvice.push(obj1);
            tableAdvice.push(obj2);
            tableAdvice.push(obj3);
            this.advices = 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
            tableAdvice.push(obj);
            tableAdvice.push(obj1);
            tableAdvice.push(obj2);

            this.advices = 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

            tableAdvice.push(obj);
            tableAdvice.push(obj1);
            this.advices = 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.advices = tableAdvice;
          }
          if (tableAdvice.length === 6) {
            var obj1 = { advice_name: "", start_time: "" };
            tableAdvice.push(obj1);
            this.advices = tableAdvice;
          }
     

          console.log(this.advices,'this.advices')

          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) {
      console.log(this.bloodAccessParOpera)
      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,
        }
      );
    },
  },
  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() {
    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");
        var bloodAccessParOpera = getDataConfig(
      "hemodialysis",
      "vascular_access_desc"
    );

    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.bloodAccessParOpera = getDataConfig('hemodialysis', 'vascular_access_desc')

    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: 890px;
  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: left;
  border-collapse: collapse;
  line-height: 40px;
  font-size: 14px;
}

.dialysis-print-order .print-table-2 {
  width: 100%;
  text-align: left;
  border-collapse: collapse;
  line-height: 38px;
  font-size: 14px;
}
.print-table-3 {
  text-align: center;
  width: 300px;
  border-collapse: inherit;
  height: 129px !important;
  border: none;
}
.print-table-3 .tr_3 {
  border-bottom: 1px solid;
}

.print-table-3 .td_3_1 {
  border-right: 1px solid;
}

.print-table-3 .td_3_2 {
  border-right: 1px solid;
}

.print-table-3 .td_3 {
  border-right: 1px solid;
}

.dialysis-print-order .print-table-no {
  width: 100%;
  text-align: left;
  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;
}

.print-table {
  text-align: center;
}

.dialysis-print-order .print-table tr td {
  padding: 0px 0px;
  /*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;
}

.list_table {
  display: flex;
  justify-content: flex-start;
}
.list_table div {
  text-align: left;
  flex: 1;
}
.print-table-list {
  width: 100%;
  text-align: left;
  border-collapse: collapse;
  line-height: 40px;
  font-size: 14px;
  border-spacing: 0;
}

.print-table-list tr td {
  padding: 0;
  border: 1px solid #dcdfe6;
}
</style>
