<template>
  <div class="main-contain">
    <div class="position">
      <bread-crumb :crumbs="crumbs"></bread-crumb>
       <template>
        <el-button
          :loading="loading"
          size="small"
          icon="el-icon-printer"
          @click="printThisPage"
          type="primary"
          >打印</el-button
        >
      </template>
    </div>
    <div class="app-container" style="min-height:0;">
        <el-container class="newContainer">
            <div style="width:270px;margin-right:20px;">
                <div class="cell clearfix" style="margin-bottom:10px;">
                    <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
                    <el-button size="small" class="filter-item" type="primary" @click="searchAction">搜索</el-button>
                </div>
                <el-table ref="tab" @row-click="changePatient" highlight-current-row :data="tableData" height="480" border style="width: 100%">
                    <el-table-column prop="date"  label="患者">
                        <template slot-scope="scope">
                            {{ scope.row.patient.name }}
                        </template>
                    </el-table-column>
                    <el-table-column prop="name" label="透析号">
                        <template slot-scope="scope">
                            {{ scope.row.patient.dialysis_no }}
                        </template>
                    </el-table-column>
                </el-table>
            </div>
            
            <div class='dialysisPage' style="flex: 1;height: calc(100vh - 178px);overflow-x:auto;::-webkit-scrollbar:height:15px">
              <printOne v-bind:childResponse="childResponse"></printOne>
            </div>
        </el-container>
    </div>
  </div>
</template>

<script>

import {
  getDialysisRecordInitData,
  getDialysisSchedules
} from "@/api/dialysis_record";
import { parseTime } from "@/utils";
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 print from "print-js";
import printOne from "./template/printOne"
export default {
  name: "dialysisPrintOrder",
  components: {
    BreadCrumb,
    printOne
  },
  data() {
    return {
      crumbs: [
        { path: false, name: "透析管理" },
        { path: false, name: "打印单" }
      ],
      childResponse: {},
      operators: [],
      adminUser: [],
      check: {},
      dialysisOrder: {
        DeviceNumber: []
      },
      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,
      modeOptions: {},
      replacementWays: [],
      perfusionApparatus: [],
      anticoagulantsConfit: {},
      bloodAccessParOpera: {},
      dialysateFormulationOptions: {},

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

      doctor_advices: [],
      advice_groups: [],

      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: ""
      },


      //
      tableData: [],
      selected_date: new Date(),
      // search_input 和 search_keyword，使输入关键字时不会经常刷新  filtedSchedules
      search_keyword: '', // 确定用于搜索的关键字
      search_input: '', // 输入中的关键字
      patient_state:[
          {value: 0,label: '全部'},
          {value: 1,label: '已签到'},
          {value: 2,label: '未签到'},
          {value: 3,label: '已上机'},
          {value: 4,label: '已下机'},
      ],
      patientStateVal: 0,
      treat_state:[
          {value: 0,label: '全部'},
          {value: 1,label: '待开处方'},
          {value: 2,label: '待开小结'},
      ],
      treatStateVal: 0,
      schedule_options:[
          {value: 0,label: '全部'},
          {value: 1,label: '上午'},
          {value: 2,label: '下午'},
          {value: 3,label: '晚上'},
      ],
      scheduleStateVal: 0,
      zone_options:[
          { id: 0, text: '全部' }
      ],
      zoneVal:0,
    };
  },
  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 {#prescription-print{font-size:14px;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoTitle{display: flex;border-bottom: 2px solid #000;margin-top:10px;line-height: 1px; padding:0 10px;}.infoTitle p{width: 200px;font-size:14px;}.infoMain{display: flex;flex-wrap: wrap;border-bottom: 2px solid #000;padding:0 10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{padding:0 10px;min-height:450px;}.Rp{font-size: 22px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;} .drugsOne{line-height: 1px;} .drugsOne span{margin-right: 20px;} .doctorBox{display: flex; justify-content: space-between; padding:0 10px; line-height: 1px; border-bottom: 2px solid #000;} .actionBar{display: flex; justify-content: space-between; line-height: 1px; padding:0 10px;} .actionBar p{width:150px;}}';
      printJS({
        printable: "prescription-print",
        type: "html",
        style: style,
        scanStyles: false
      });

      // if (this.org_template_info.template_id == 1) {
      //   printJS({
      //     printable: "dialysis-print-box",
      //     type: "html",
      //     style: style,
      //     scanStyles: false
      //   });
      // }
    },
    printThisOnePage() {
      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;}';
      const style2 =
        '@media print {.option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content {background-color: white;width: 960px;margin: 0 auto 50px;padding: 0 0 0 0; page-break-after: always;}.print_page_main_content .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.print_page_main_content .order_title {text-align: center;font-size: 23px; line-height: 50px;font-weight: 500;} .row {font-size: 14px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.flex {display: -webkit-box;display: -moz-box; display: -ms-flexbox; display: -webkit-flex;display: flex;align-items: center;-webkit-align-items: center;box-align: center;-moz-box-align: center;-webkit-box-align: center;text-align: center;-webkit-justify-content: space-between;justify-content: space-between;-moz-box-pack: space-between;-webkit--moz-box-pack: space-between;box-pack: space-between;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 16px;padding: 3px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid; text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-50{margin-bottom:50px;}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:200px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top: 1370px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}';

      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 ||
        this.org_template_info.template_id == 5 ||
        this.org_template_info.template_id == 22 
      ) {
        printJS({
          printable: "dialysis-print-box-1-1",
          type: "html",
          style: style2,
          scanStyles: false
        });
      } else if(this.org_template_info.template_id == 14){
        printJS({
          printable: "new-dialysis-1",
          type: "html",
          style: style,
          scanStyles: false
        });
      } else if(this.org_template_info.template_id == 21){
        printJS({
          printable: "new-dialysis-1",
          type: "html",
          style: style,
          scanStyles: false
        });
      }
    },
    printThisTwoPage() {
      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;}';
      const style2 =
        '@media print {.option_panel { margin: 0 5px 0 0; } .option_panel .check_box_panel { white-space: nowrap; outline: none; display: inline-block; line-height: 1; position: relative; vertical-align: middle; } .dialysis-print-order .order-title{margin:auto;font-weight:600;text-align:center;font-size:22px;padding:10px}.option_panel .check_box_panel .check_box { display: inline-block; position: relative; border: 1px solid #000; box-sizing: border-box; width: 14px; height: 12px; background-color: #fff; } .check_box_panel .did_checked::after { content: "√"; font-size: 15px; } .print_page_main_content {background-color: white;width: 960px;margin: 0 auto 50px;padding: 0 0 0 0; page-break-after: always;}.print_page_main_content .order-yy-name {margin: auto;text-align: center;font-size: 20px;letter-spacing: 5px;}.print_page_main_content .order_title {text-align: center;font-size: 23px; line-height: 50px;font-weight: 500;} .row {font-size: 14px;line-height: 20px;padding: 5px 0;}.inline_block { display: inline-block;}.under_line_two {display: inline-block;border-bottom: 1px solid #999;text-align: left;white-space: nowrap;width: 50%;}.under_line {display: inline-block;border-bottom: 1px solid #999;text-align: center;white-space: nowrap; width: 50%;}.flex {display: -webkit-box;display: -moz-box; display: -ms-flexbox; display: -webkit-flex;display: flex;align-items: center;-webkit-align-items: center;box-align: center;-moz-box-align: center;-webkit-box-align: center;text-align: center;-webkit-justify-content: space-between;justify-content: space-between;-moz-box-pack: space-between;-webkit--moz-box-pack: space-between;box-pack: space-between;}.print_page_main_content .proj_table {width: 100%;border: 1px solid;border-collapse: collapse;padding: 2px;}.print_page_main_content .proj_table tbody tr td {border: 1px solid;font-size: 16px;padding: 3px 8px;line-height: 30px;}.print_page_main_content .proj_table .inside_table {width: 100%;border: hidden; border-collapse: collapse;}.print_page_main_content .proj_table .inside_table tr td {border: 1px solid; text-align: center;font-size: 14px;padding: 6px 5px;line-height: 16px;}.print-table-no {width: 100%;text-align: center;border-collapse: collapse;font-size: 14px;}.es-img {height: 30px;}.advice-name {text-align: left !important;line-height: 16px !important;}.advice-children {display: flex;}}.margin-bottom-50{margin-bottom:50px;}.margin-bottom-300 {margin-bottom:450px;}.margin-bottom-600 {margin-bottom:600px;}.margin-bottom-900 {margin-bottom:900px;}.print-yema{ position: absolute;top: 920px;left: 50%;} .print-yema2{ position: absolute;top: 400px;left: 50%;}.print-yema3{position: absolute;top: 1230px;left: 50%;}.print-yema4{position: absolute;top: 1370px;left: 50%;}.check_box{width:15px !important;height:15px !important;}.did_checke::after {font-size: 8px;margin-left: 2px;margin-top: 12px !important;position: absolute;}';

      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 ||
        this.org_template_info.template_id == 5 ||
        this.org_template_info.template_id == 22 
      ) {
        printJS({
          printable: "dialysis-print-box-1-2",
          type: "html",
          style: style2,
          scanStyles: false
        });
      }else if(this.org_template_info.template_id == 14){
        printJS({
          printable: "new-dialysis-2",
          type: "html",
          style: style,
          scanStyles: false
        });
      } else if(this.org_template_info.template_id == 21){
        printJS({
          printable: "new-dialysis-2",
          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.childResponse = response;
          this.org_template_info = response.data.data.org_template_info;
          this.loading = false;
          //   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)
          //   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.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 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,
          //           execution_staff: this.doctor_advices[index].execution_staff,
          //           checker: this.doctor_advices[index].checker,
          //           advice_doctor: this.doctor_advices[index].advice_doctor,

          //         }
          //         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 (
        this.org_template_info.template_id == 2 ||
        this.org_template_info.template_id == 0
      ) {
        if (val.age == 0) {
          return jsGetAge(val.birth, "-");
        } else {
          return val.age;
        }
      } else {
        return jsGetAge(val.birth, "-");
      }
    },
    newAdviceGroupObject: function() {
      return Object.assign(
        {},
        {
          group_no: 0,
          // advice_doctor: 0,
          // start_time: 0,
          advices: []
          // exec_staff: 0,
          // exec_time: 0,
          // checker: 0,
        }
      );
    },
    //日期
        handleScheduleDateChange: function(index) {
            this.treatStateVal = 0
            this.patientStateVal = 0
            this.zoneVal = 0
            this.scheduleStateVal = 0
            this.search_keyword = this.search_input = ''
            // this.$store.dispatch("SaveDialysisAreaSelectIndexs", {
            //   zone: this.zone_selected,
            //   schedule_type: this.schedule_type_selected,
            //   schedule_date: this.selected_date,
            // })
            this.selected_date = index
            this.$store.dispatch('SetSelectedDate', { selected_date: index })
            this.requestDialysisSchedules()
        },
        //初始化数据
        getInitData: function() {
            getDialysisRecordInitData().then(rs => {
                var resp = rs.data
                if (resp.state == 1) {
                var zones = resp.data.zones
                var schedules = resp.data.schedules
                var zone_options = [{ id: 0, text: '全部' }]
                for (let z_i = 0; z_i < zones.length; z_i++) {
                    const zone = zones[z_i]
                    zone_options.push({ id: zone.id, text: zone.name })
                }
                this.zone_options = zone_options
                // this.zone_schedules = this.processedDialysisSchedules(schedules, this.zone_options)
                this.arr = this.processedDialysisSchedules(schedules, this.zone_options)
                this.requestDialysisSchedules()
                // this.getData()
                } else {
                this.$message.error(resp.msg)
                }
            })
        },
        // 班次
        handletimeType: function(index) {
            this.scheduleStateVal = index
            this.$store.dispatch('SetScheduleTypeSelected', { schedule_type_selected: index })
            this.search_keyword = this.search_input = ''
            this.getData()
        },
        //分区
        handleZoneChange: function(index) {
            this.zoneVal = index
            this.$store.dispatch('SetZoneSelected', { zone_selected: index })
            this.search_keyword = this.search_input = ''
            this.getData()
        },
        //患者状态
        handleStateChange: function(index) {
            this.patientStateVal = index
            this.$store.dispatch('SetPatientStateSelected', { patient_state_selected: index })
            this.search_keyword = this.search_input = ''
            this.getData()
        },
        handleTreatChange: function(index) {
            this.treatStateVal = index
            this.$store.dispatch('SetTreatStateSelected', { treat_state_selected: index })
            this.search_keyword = this.search_input = ''
            this.getData()
        },
        processedDialysisSchedules: function(schedules, zone_options) {
            var zoneMap = {}
            var scheduleMap = {}
            for (let z_i = 0; z_i < zone_options.length; z_i++) {
                const zone = zone_options[z_i]
                if (zone.id == 0) {
                continue
                }
                scheduleMap[zone.id] = []
            }
            for (let index = 0; index < schedules.length; index++) {
                const schedule = schedules[index]
                scheduleMap[schedule.device_number.zone.id].push(schedule)
            }
            var zone_schedules = []
            for (let index = 0; index < zone_options.length; index++) {
                const zone = zone_options[index]
                if (zone.id == 0) {
                continue
                }
                var schedules = scheduleMap[zone.id]
                zone_schedules.push({ zone_id: zone.id, zone_name: zone.text, schedules: schedules })
            }
            return zone_schedules
        },
        searchAction: function() {
            this.search_keyword = this.search_input
            this.scheduleStateVal = 0
            this.zoneVal = 0
            this.treatStateVal = 0
            this.patientStateVal = 0
            if(this.search_input != ''){
                let arr = []
                this.filtedSchedules.map(item => {
                arr.push(...item.schedules)
                })
                this.tableData = arr
                
            }else{
                this.getData()
            }
        },
        requestDialysisSchedules: function() {
            var ymd = parseTime(this.selected_date, '{y}-{m}-{d}')
            getDialysisSchedules(ymd).then(rs => {
                var resp = rs.data
                if (resp.state == 1) {
                var schedules = resp.data.schedules
                this.zone_schedules = this.processedDialysisSchedules(schedules, this.zone_options)
                
                let newArr = []
                this.zone_schedules.map(item => {
                    newArr.push(...item.schedules)
                })
                this.tableData = newArr
                this.getData()
                } else {
                this.$message.error(resp.msg)
                }
            })
        },
        changePatient(schedual){
              console.log(schedual)
              var xtdate = parseTime(schedual.schedule_date, '{y}-{m}-{d}')
              this.$router.push(
                '/dialysis/print?xtdate=' + xtdate + '&xtno=' + schedual.patient.dialysis_no
              )
            //   this.patient_id = schedual.patient_id;
            //   this.date = schedual.schedule_date;
            //   // this.getScheduleDetail();
            //   // this.getLongAdvice();
            
            //   var patient_id = schedual.patient_id;
            //   var date = schedual.schedule_date;
            //   this.$router.push({
            //     path: "/dialysis/details",
            //     query: {
            //       patient_id: patient_id,
            //       date: date,
            //       patient_name: schedual.patient.name
            //     }
            //   });
        },
        getData(){
            let patientArr = []
            patientArr = JSON.parse(JSON.stringify(this.zone_schedules))
            console.log('patientArr',patientArr)
            let arr1 = []
            if(this.patientStateVal == 0){
                arr1 = patientArr
                console.log(arr1)
            }else if(this.patientStateVal == 1){
                let arr = []
                arr = patientArr
                for (let i = 0; i <arr.length; i++) {
                    for (let j = 0; j < arr[i].schedules.length; j++) {
                        if (arr[i].schedules.length > 0 && (arr[i].schedules[j].assessment_before_dislysis == null || (arr[i].schedules[j].assessment_before_dislysis.weight_before == '' && arr[i].schedules[j].assessment_before_dislysis.diastolic_blood_pressure == '' && arr[i].schedules[j].assessment_before_dislysis.systolic_blood_pressure == ''))) {
                            // 删除元素后改变i的值
                            arr[i].schedules.splice(j--, 1);
                        }
                    }
                }
                console.log("执行1",arr)
                arr1 = arr
            }else if(this.patientStateVal == 2){
                let arr = []
                arr = patientArr
                for (let i = 0; i < arr.length; i++) {
                    for (let j = 0; j < arr[i].schedules.length; j++) {
                        if (arr[i].schedules.length > 0 && (arr[i].schedules[j].assessment_before_dislysis != null && (arr[i].schedules[j].assessment_before_dislysis.weight_before != 0 || arr[i].schedules[j].assessment_before_dislysis.diastolic_blood_pressure != 0 || arr[i].schedules[j].assessment_before_dislysis.systolic_blood_pressure != 0))) {
                            // 删除元素后改变i的值
                            console.log('几次')
                            arr[i].schedules.splice(j--, 1);
                        }
                    }
                }
                console.log("执行2",arr)
                arr1 = arr
            }else if(this.patientStateVal == 3){
                let arr = []
                arr = patientArr
                for (let i = 0; i <arr.length; i++) {
                    for (let j = 0; j < arr[i].schedules.length; j++) {
                        if (arr[i].schedules.length > 0 && (arr[i].schedules[j].dialysis_order == null || (arr[i].schedules[j].dialysis_order != null && arr[i].schedules[j].dialysis_order.stage != 1))) {
                            // 删除元素后改变i的值
                            arr[i].schedules.splice(j--, 1);
                        }
                    }
                }
                console.log("执行1",arr)
                arr1 = arr
            }else if(this.patientStateVal == 4){
                let arr = []
                arr = patientArr
                for (let i = 0; i < arr.length; i++) {
                    for (let j = 0; j < arr[i].schedules.length; j++) {
                        if (arr[i].schedules.length > 0 && (arr[i].schedules[j].dialysis_order == null || (arr[i].schedules[j].dialysis_order != null && arr[i].schedules[j].dialysis_order.stage != 2))) {
                            // 删除元素后改变i的值
                            arr[i].schedules.splice(j--, 1);
                        }
                    }
                }
                console.log("执行2",arr)
                arr1 = arr
            }

            let arr2 = []
            if(this.treatStateVal == 0){
                arr2 = JSON.parse(JSON.stringify(arr1))
            }else if(this.treatStateVal == 1){
                let arr = []
                arr = JSON.parse(JSON.stringify(arr1))
                for (let i = 0; i < arr.length; i++) {
                    for (let j = 0; j < arr[i].schedules.length; j++) {
                        if (arr[i].schedules.length > 0 && (arr[i].schedules[j].prescription != null || arr[i].schedules[j].prescription != null ? arr[i].schedules[j].prescription.creater != 0 : false)) {
                            // 删除元素后改变i的值
                            arr[i].schedules.splice(j--, 1);
                        }
                    }
                }
                arr2 = arr
            }else if(this.treatStateVal == 2){
                let arr = []
                arr = JSON.parse(JSON.stringify(arr1))
                for (let i = 0; i < arr.length; i++) {
                    for (let j = 0; j < arr[i].schedules.length; j++) {
                        if (arr[i].schedules.length > 0 && arr[i].schedules[j].treatment_summary != null && arr[i].schedules[j].treatment_summary.dialysis_summary != '') {
                            // 删除元素后改变i的值
                            arr[i].schedules.splice(j--, 1);
                        }
                    }
                }
                arr2 = arr
            }
            

            let arr3 = []
            if(this.scheduleStateVal == 0){
                arr3 = JSON.parse(JSON.stringify(arr2))
            }else{
                let arr = []
                arr = JSON.parse(JSON.stringify(arr2))
                for (let i = 0; i < arr.length; i++) {
                    for (let j = 0; j < arr[i].schedules.length; j++) {
                        if (this.scheduleStateVal != arr[i].schedules[j].schedule_type) {
                            // 删除元素后改变i的值
                            arr[i].schedules.splice(j--, 1);
                        }
                    }
                }
                arr3 = arr
                console.log("上午",arr)
            }
            

            let arr4 = []
            if(this.zoneVal == 0){
                arr4 = JSON.parse(JSON.stringify(arr3))
            }else{
                let arr = []
                arr = JSON.parse(JSON.stringify(arr3))
                for (let i = 0; i < arr.length; i++) {
                    if (this.zoneVal != arr[i].zone_id) {
                    // 删除元素后改变i的值
                    arr.splice(i--, 1);
                    }
                }
                arr4 = arr
            }
            let newArr = []
            arr4.map(item => {
            newArr.push(...item.schedules)
            })
            this.tableData = newArr
            console.log('table',this.tableData)
        },
  },
  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() {
  },
  computed:{
    filtedSchedules: function() {
      var search_keyword = this.search_keyword
      if (search_keyword.length > 0) {
        var schedules = []
        for (let o_i = 0; o_i < this.zone_schedules.length; o_i++) {
        const scheduleInfo = this.zone_schedules[o_i]
        var originSchedules = scheduleInfo.schedules
        if (originSchedules.length == 0) {
            continue
        }
        var filtedSchedules = []
        for (let s_i = 0; s_i < originSchedules.length; s_i++) {
            const schedule = originSchedules[s_i]
            if (schedule.patient.name.indexOf(search_keyword) != -1) {
            filtedSchedules.push(schedule)
            // break
            }
        }
        if (filtedSchedules.length > 0) {
            schedules.push({ zone_id: scheduleInfo.zone_id, zone_name: scheduleInfo.zone_name, schedules: filtedSchedules })
        }
        }
        return schedules
      }
    }
  },
};
</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;
}

.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;
  border-color: #000;
}

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

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

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

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

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

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

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

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

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

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

.es-img {
  height: 30px;
}

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

.table-box1 {
  border: 1px solid #000;
  width: 100%;
  line-height: 30px;
  font-size: 14px;
  border-collapse: collapse;
}
.table-box1 tr {
  border-bottom: 1px solid #000;
}
</style>

<style lang="scss">

.newContainer{
  .dialysisPage::-webkit-scrollbar {
    height: 15px;
  }
  
  .el-date-editor{
    .el-input__inner{
      padding-right:0px;
    }
  }
  .el-table td, .el-table th{
    text-align: center;
  }
}
.newContainer::-webkit-scrollbar{
  height: 15px !important;
}
</style>
