<template>
  <div class="main-contain">
    <div class="position">
      <bread-crumb :crumbs="crumbs"></bread-crumb>
      <div class="print" style="float:left;">
        <el-button
          size="small"
          type="primary"
          @click="printOrder"
          icon="el-icon-printer"
          >打印</el-button
        >
      </div>
    </div>

    <div
      class="loadingBox"
      v-loading="loading"
      element-loading-text="拼命加载中"
      element-loading-spinner="el-icon-loading"
      element-loading-background="rgba(0, 0, 0, 0.8)"
    >
    <div class="patientBox" style="width:300px;padding-left:10px;position: relative;">
      <el-button
          style="position: absolute;right:0;top:2px;z-index:10"
          size="small"
          type="primary"
          @click="refresh"
          >刷新</el-button>
      <el-tabs v-model="activeName" @tab-click="handleClick">
        <el-tab-pane label="候诊区" name="first">
          <div class="cell clearfix" style="margin-bottom:10px;">
            <el-date-picker v-model="selected_date" prefix-icon="el-icon-date" @change="handleScheduleDateChange" :editable="false" :clearable="false" style="width: 45%;margin-right:10px;" type="date" placeholder="选择日期时间" align="right" ></el-date-picker>
            <el-input size="small" style="width:25%;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
            <el-button size="small" class="filter-item" type="primary" style="margin-right:20px;" @click="searchAction">搜索</el-button>
          </div>
          <div class="cell clearfix" style="margin-bottom:10px;display:flex;">
            <el-select v-model="patientStateVal" placeholder="全部患者状态" style="margin-right:10px;" @change="handleStateChange">
              <el-option
                v-for="item in patient_state"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
            <el-select v-model="treatStateVal" placeholder="全部治疗状态" style="margin-right:20px;" @change="handleTreatChange">
              <el-option
                v-for="item in treat_state"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
          </div>
          <div class="cell clearfix" style="margin-bottom:10px;display:flex;">
            <el-select v-model="scheduleStateVal" placeholder="班次" style="margin-right:10px;" @change="handletimeType">
              <el-option
                v-for="item in schedule_options"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
            <el-select v-model="zoneVal" placeholder="分区" style="margin-right:20px;" @change="handleZoneChange">
              <el-option
                v-for="item in zone_options"
                :key="item.id"
                :label="item.text"
                :value="item.id">
              </el-option>
            </el-select>
          </div>
          <div style="padding-right:20px;">
            <el-table
              ref="tab"
              @row-click="changePatient"
              highlight-current-row
              :data="tableData"
              height="500"
              border
              style="width: 100%">
              <el-table-column
                prop="date"
                label="患者"
                >
                <template slot-scope="scope">
                  {{ scope.row.patient.name }}
                  <span v-if="scope.row.assessment_before_dislysis && patientStateVal == 1">
                    （{{ getTime(scope.row.assessment_before_dislysis.created_time) }}）
                  </span>
                </template>
              </el-table-column>
              <el-table-column
                prop="name"
                label="状态"
                >
                <template slot-scope="scope">
                  <div style="display:flex;align-items:center;justify-content:space-around;">
                    <span class="tip1" v-if="scope.row.prescription == null || scope.row.prescription.creater == 0">
                      待开处方
                    </span>
                    <span class="tip2" v-if="scope.row.assessment_before_dislysis == null || scope.row.assessment_before_dislysis.weight_before == ''">
                      待称重
                    </span>
                  </div>
                </template>
              </el-table-column>
            </el-table>
          </div>
        </el-tab-pane>
        <el-tab-pane label="透析区" name="second">
          <div class="cell clearfix" style="margin-bottom:10px;">
            <el-date-picker v-model="selected_date" prefix-icon="el-icon-date" @change="handleScheduleDateChange" :editable="false" :clearable="false" style="width: 45%;margin-right:10px;" type="date" placeholder="选择日期时间" align="right" ></el-date-picker>
            <el-input size="small" style="width:25%;" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
            <el-button size="small" class="filter-item" style="margin-right:20px;" type="primary" @click="searchAction">搜索</el-button>
          </div>
          <div class="cell clearfix" style="margin-bottom:10px;display:flex;">
            <el-select v-model="patientStateVal" placeholder="全部患者状态" style="margin-right:10px;" @change="handleStateChange">
              <el-option
                v-for="item in patient_state"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
            <el-select v-model="treatStateVal" placeholder="全部治疗状态" style="margin-right:20px;" @change="handleTreatChange">
              <el-option
                v-for="item in treat_state"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
          </div>
          <div class="cell clearfix" style="margin-bottom:10px;display:flex;">
            <el-select v-model="scheduleStateVal" placeholder="班次" style="margin-right:10px;" @change="handletimeType">
              <el-option
                v-for="item in schedule_options"
                :key="item.value"
                :label="item.label"
                :value="item.value">
              </el-option>
            </el-select>
            <el-select v-model="zoneVal" placeholder="分区" style="margin-right:20px;" @change="handleZoneChange">
              <el-option
                v-for="item in zone_options"
                :key="item.id"
                :label="item.text"
                :value="item.id">
              </el-option>
            </el-select>
          </div>
          <div style="padding-right:20px;">
            <el-table
              ref="tab1"
              @row-click="changePatient"
              highlight-current-row
              :data="tableData1"
              height="500"
              border
              style="width: 100%">
              <el-table-column
                prop="date"
                label="患者"
                >
                <template slot-scope="scope">
                  {{ scope.row.patient.name }}
                  <span v-if="scope.row.assessment_before_dislysis && patientStateVal == 1">
                    （{{ getTime(scope.row.assessment_before_dislysis.created_time) }}）
                  </span>
                </template>
              </el-table-column>
              <el-table-column
                prop="name"
                label="状态"
                >
                <template slot-scope="scope">
                  <div style="display:flex;align-items:center;justify-content:space-around;">
                      <span class="tip3" v-if="scope.row.dialysis_order ? scope.row.dialysis_order.stage == 1 : false">
                        已上机
                      </span>
                      <span class="tip4" v-if="scope.row.dialysis_order ? scope.row.dialysis_order.stage == 2 : false">
                        已下机
                      </span>
                    <span class="tip5" v-if="scope.row.treatment_summary == null || scope.row.treatment_summary.dialysis_summary == ''">
                      待开小结
                    </span>
                  </div>
                </template>
              </el-table-column>
            </el-table>
          </div>
        </el-tab-pane>
      </el-tabs>




    </div>
    <div style="width:75%">
      <div style="margin-left:60px;color:#34495e">
        <span>{{ patient.name }}({{ patient.dialysis_no }})</span>
        <span v-if="newTime != ''">&nbsp;&nbsp;|&nbsp;&nbsp;</span>
        <span v-if="newTime != ''">签到时间：{{ newTime }}</span>
      </div>
      <nav-igation
        ref="nav"
        title="弹窗导航"
        @advice="adviceFunc"
        :patient="patient"
        :schedual="schedual"
        :prescription="prescription"
        :solution="solution"
        :receiver_treatment_access="receiver_treatment_access"
        :predialysis_evaluation="predialysis_evaluation"
        :doctor_advices="doctor_advices"
        :double_check="double_check"
        :assessment_after_dislysis="assessment_after_dislysis"
        :treatment_summary="treatment_summary"
        :monitor_records="monitor_records"
        :dialysis_order="dialysis_order"
        :admin_users="admin_users"
        :devices="devices"
        :device_numbers="device_numbers"
        :admin_user_map="admin_user_map"
        :device_map="device_map"
        :device_number_map="device_number_map"
        :niprocart_info="niprocart_info"
        :jms_info="jms_info"
        :fistula_needle_set_info="fistula_needle_set_info"
        :fistula_needle_set_16_info="fistula_needle_set_16_info"
        :hemoperfusion_info="hemoperfusion_info"
        :dialyser_sterilised_info="dialyser_sterilised_info"
        :filtryzer_info="filtryzer_info"
        :dialyzers_info="dialyzers_info"
        :injector_info="injector_info"
        :bloodlines_info="bloodlines_info"
        :tubingHemodialysis_info="tubingHemodialysis_info"
        :safe_package_info="safe_package_info"
        :aliquid_info="aliquid_info"
        :config="config"
        :longAdvices="longAdvices"
        :waitUploadAdvices="waitUploadAdvices"
        :is_open="is_open"
        :last_predialysis_evaluation="lastPredialysisEvaluation"
        :last_monitor_record="lastMonitorRecord"
        :last_assessment_after_dislysis="lastAssessmentAfterDislysis"
        :last_dialysis_prescribe="lastDialysisPrescribe"
        :last_dryWeight_dislysis="lastDryWeightDislysis"
        :special_premission="headNurses"
        @assessmentAfterDislysis="assessmentAfterDislysisFunc"
        :system_prescribe="system_prescribe"
      >
      </nav-igation>

      <basic-infor
        :patient="patient"
        :device_number="schedual.id == 0 ? '' : schedual.device_number.number"
        :steps="steps"
        title="基本信息"
      ></basic-infor>

      <dialysis-prescription
        :prescription="prescription"
        :solution="solution"
        :device_map="device_map"
        title="透析处方"
      ></dialysis-prescription>



    <!-- <past-data class="往期数据"></past-data> -->
      <div style="height: 20px;background-color: #f6f8f9"></div>
      <accepts-assessment
        :record="receiver_treatment_access"
        title="接诊评估"
      ></accepts-assessment>

      <assessment-before
        :record="predialysis_evaluation"
        ref="assessment_before"
        title="透前评估"
      ></assessment-before>

      <stat-order
        ref="stat_order"
        :advices="doctor_advices"
        :doctor_map="admin_user_map"
        title="临时医嘱"
      ></stat-order>

      <double-check
        ref="double_check"
        :record="double_check"
        :admin_map="admin_user_map"
        title="双人核对 "
      ></double-check>

      <dialysis-computer
        ref="dialysis_computer"
        :record="dialysis_order"
        :admin_map="admin_user_map"
        :device_number_map="device_number_map"
        title="透析上机 "
      ></dialysis-computer>

      <dialysis-monitoring
        ref="monitoring"
        :monitores="monitor_records"
        title="透析监测"
      ></dialysis-monitoring>

      <el-dialog
        title="长期医嘱单"
        :visible.sync="dialogFormVisible"
        width="960px"
      >
        <div class="printForm">
          <h1 class="title">长期医嘱单</h1>
          <div class="info">
            <ul>
              <li>
                <span class="name">姓名：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">性别：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">年龄：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">科别：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">床号：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">住院号：</span>
                <input type="text" class="InputBox" />
              </li>
            </ul>
          </div>
          <table
            border="1"
            style="border:1px #999 solid;margin-top:20px;"
            bordercolorlight="#fff"
            bordercolordark="#fff"
            width="100%"
            cellpadding="0"
            cellspacing="0"
            class="printTable"
          >
            <tbody>
              <tr align="center">
                <th style="width:20%;" colspan="2" align="center">起始</th>
                <th style="width:20%;" rowspan="2" align="center">医嘱</th>
                <th style="width:8%;" rowspan="2" align="center">医师签名</th>
                <th style="width:6%;" rowspan="2" align="center">执行护士签名</th>
                <th style="width:42%;" colspan="4" align="center">停止</th>
              </tr>
              <tr align="center">
                <th align="center">日期</th>
                <th align="center">时间</th>
                <th style="width:10%;" align="center">日期</th>
                <th style="width:10%;" align="center">时间</th>
                <th style="width:10%;" align="center">医师签名</th>
                <th style="width:6%;" align="center">执行护士签名</th>
              </tr>
              <tr align="center">
                <td>2018-90-09</td>
                <td>2018-90-09</td>
                <td>地方开发发地方开发发方发发发大渡岗</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
              </tr>
              <tr align="center">
                <td>2018-90-09</td>
                <td>2018-90-09</td>
                <td>地方开发发地方开发发方发发发大渡岗</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
              </tr>
            </tbody>
          </table>
        </div>
      </el-dialog>

      <el-dialog title="临时医嘱单" :visible.sync="orders" width="960px">
        <div class="printForm">
          <h1 class="title">临时医嘱单</h1>
          <div class="info">
            <ul>
              <li>
                <span class="name">姓名：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">性别：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">年龄：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">科：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">区：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">房：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">床：</span>
                <input type="text" class="InputBox" />
              </li>
              <li>
                <span class="name">住院号：</span>
                <input type="text" class="InputBox" />
              </li>
            </ul>
          </div>
          <table
            border="1"
            style="border:1px #999 solid;margin-top:20px;"
            bordercolorlight="#fff"
            bordercolordark="#fff"
            width="100%"
            cellpadding="0"
            cellspacing="0"
            class="printTable"
          >
            <tbody>
              <tr align="center">
                <th style="width:10%;" align="center">日期</th>
                <th style="width:10%;" align="center">时间</th>
                <th style="width:10%;" align="center">医生签名</th>
                <th style="width:40%;" align="center">医嘱内容</th>
                <th style="width:10%;" align="center">执行时间</th>
                <th style="width:10%;" align="center">护士签名</th>
                <th style="width:10%;" align="center">金额</th>
              </tr>
              <tr align="center">
                <td>2018-90-09</td>
                <td>2018-90-09</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
                <td>张三</td>
                <td>888</td>
              </tr>
              <tr align="center">
                <td>2018-90-09</td>
                <td>2018-90-09</td>
                <td>张三</td>
                <td>张三</td>
                <td>2018-90-09</td>
                <td>张三</td>
                <td>888</td>
              </tr>
            </tbody>
          </table>
        </div>
      </el-dialog>

      <dialysis-off
        ref="dialysis_off"
        :record="dialysis_order"
        :admin_map="admin_user_map"
        title="透析下机 "
      ></dialysis-off>

      <assessment-after
        ref="assessment_after"
        :record="assessment_after_dislysis"
        title="透后评估"
      ></assessment-after>

      <treatment-of
        ref="treatment_of"
        :record="treatment_summary"
        title="治疗小结"
      ></treatment-of>
      </div>
    </div>
  </div>
</template>

<script>
import NavIgation from './NavIgation'
import BasicInfor from './BasicInfor'
import DialysisPrescription from './DialysisPrescription'
import PastData from './pastData'
import AcceptsAssessment from './acceptsAssessment'
import AssessmentBefore from './assessmentBefore'
import StatOrder from './statOrder'
import DialysisComputer from './dialysisComputer'
import DoubleCheck from './doubleCheck'
import DialysisMonitoring from './dialysisMonitoring'
import DialysisOff from './dialysisOff'
import AssessmentAfter from './assessmentAfter'
import TreatmentOf from './treatmentOf'
import OperationStaff from './operationStaff'
import {
  getDialysisScheduleDetail,
  getLongAdvice,
  getDialysisRecordInitData,
  getDialysisSchedules
} from '@/api/dialysis_record'
import { parseTime } from '@/utils'
import BreadCrumb from '@/xt_pages/components/bread-crumb'

export default {
  name: 'index',
  components: {
    NavIgation,
    BasicInfor,
    DialysisPrescription,
    PastData,
    AcceptsAssessment,
    AssessmentBefore,
    StatOrder,
    DialysisComputer,
    DoubleCheck,
    DialysisMonitoring,
    DialysisOff,
    AssessmentAfter,
    TreatmentOf,
    OperationStaff,
    BreadCrumb
  },
  data() {
    return {
      crumbs: [
        { path: false, name: '透析管理' },
        { path: false, name: '透析记录' },
        { path: false, name: '透析单' }
      ],
      dialogFormVisible: false,
      orders: false,
      loading: false,
      patient_id: 0,
      date: 0,

      longAdvices: [],
      waitUploadAdvices: [],
      is_open: 0,
      targetAdvices: [],

      patient: { id: 0 }, // 患者信息
      schedual: { id: 0 }, // 患者排班信息
      prescription: { id: 0 }, // 透析处方
      solution: { id: 0 }, // 透析方案
      system_prescribe: { id: 0 },
      receiver_treatment_access: { id: 0 }, // 接诊评估
      predialysis_evaluation: { id: 0 }, // 透前评估
      doctor_advices: [], // 临时医嘱
      double_check: { id: 0 }, // 双人核对
      assessment_after_dislysis: { id: 0 }, // 透后评估
      treatment_summary: { id: 0 }, // 治疗小结
      monitor_records: [], // 透析监测
      dialysis_order: { id: 0 }, // 透析记录
      admin_users: [], // 系统用户列表
      devices: [], // 设备
      device_numbers: [], // 床位号

      admin_user_map: {}, // {user_id: admin_user object}
      device_map: {}, // {device_id: device}
      device_number_map: {}, // {device_number_id: device_number}

      niprocart_info: [],
      jms_info: [],
      fistula_needle_set_info: [],
      fistula_needle_set_16_info: [],
      hemoperfusion_info: [],
      dialyser_sterilised_info: [],
      filtryzer_info: [],
      dialyzers_info: [],
      injector_info: [],
      bloodlines_info: [],
      tubingHemodialysis_info: [],
      safe_package_info: [],
      aliquid_info: [],
      config: {},

      lastPredialysisEvaluation: { id: 0 },
      lastMonitorRecord: { id: 0 },
      lastAssessmentAfterDislysis: { id: 0 },
      lastDryWeightDislysis: { id: 0 },
      headNurses: [],
      lastDialysisPrescribe: { id: 0 },
      //
      activeName: 'first',
      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: '待开小结' },
        { value: 3, 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,
      tableData: [],
      tableData1: [],
      arr: [],
      newName: '',
      newTime: '',
      scheudle_mode:""
    }
  },
  created() {
    if(sessionStorage.getItem("nameActive")){
      this.activeName = sessionStorage.getItem("nameActive")
    }
    var patient_id = this.$route.query.patient_id
    var date = this.$route.query.date
    this.patient_id = patient_id
    this.date = date

    this.getScheduleDetail()
    this.getLongAdvice()

    this.selected_date = this.$route.query.date * 1000
    var schedule_type_selected = this.$store.getters.schedule_type_selected
    var zone_selected = this.$store.getters.zone_selected
    var patient_state_selected = this.$store.getters.patient_state_selected
    var treat_state_selected = this.$store.getters.treat_state_selected
    var selected_date = this.$store.getters.selected_date
    if (schedule_type_selected) {
      this.scheduleStateVal = schedule_type_selected.schedule_type_selected
    }
    if (zone_selected) {
      this.zoneVal = zone_selected.zone_selected
    }
    if (patient_state_selected) {
      this.patientStateVal = patient_state_selected.patient_state_selected
    }
    if (treat_state_selected) {
      this.treatStateVal = treat_state_selected.treat_state_selected
    }
    if (selected_date.selected_date) {
      this.selected_date = selected_date.selected_date
    }

    this.getInitData()
  },
  mounted() {
    const timer = setInterval(() => {
      // this.getInitData();
      this.requestDialysisSchedules()
    }, 1000 * 30)
    // 通过$once来监听定时器，在beforeDestroy钩子可以被清除。
    this.$once('hook:beforeDestroy', () => {
      clearInterval(timer)
    })
  },
  computed: {
    steps: function() {
      var steps = [
        { title: '透析处方', finish: false },
        { title: '接诊评估', finish: false },
        { title: '透前评估', finish: false },
        { title: '临时医嘱', finish: false },
        { title: '双人核对', finish: false },
        { title: '透析上机', finish: false },
        { title: '透析监测', finish: false },
        { title: '透析下机', finish: false },
        { title: '透后评估', finish: false },
        { title: '治疗小结', finish: false }
      ]

      steps[0].finish = this.prescription.id && this.prescription.creater > 0
      steps[1].finish = this.receiver_treatment_access.id > 0
      steps[2].finish =
        this.predialysis_evaluation.id > 0 &&
        this.predialysis_evaluation.creater > 0
      steps[3].finish = this.doctor_advices.length > 0
      steps[5].finish = this.dialysis_order.id > 0
      steps[7].finish =
        this.dialysis_order.id > 0 && this.dialysis_order.stage == 2

      steps[4].finish =
        this.double_check.id > 0 &&
        this.double_check.creater > 0 &&
        this.double_check.modifier > 0
      steps[6].finish = this.monitor_records.length > 0
      steps[8].finish =
        this.assessment_after_dislysis.id > 0 &&
        this.assessment_after_dislysis.creater > 0
      steps[9].finish = this.treatment_summary.id > 0

      return steps
    },
    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
      }

      // var zone_selected = this.zoneVal
      // var timetype_selected = this.scheduleStateVal
      // if ((zone_selected == 0 && timetype_selected == 0) || this.zone_options.length <= 1) {
      //   var schedules = []
      //   for (let index = 0; index < this.zone_schedules.length; index++) {
      //     const scheduleInfo = this.zone_schedules[index]
      //     if (scheduleInfo.schedules.length != 0) {
      //       schedules.push(scheduleInfo)
      //     }
      //   }
      //   return schedules
      // }

      // var schedules = []
      // for (let o_i = 0; o_i < this.zone_schedules.length; o_i++) {
      //   const scheduleInfo = this.zone_schedules[o_i]
      //   if (zone_selected == scheduleInfo.zone_id && timetype_selected == 0) {
      //     if (scheduleInfo.schedules.length == 0) {
      //       return []
      //     } else {
      //       return [scheduleInfo]
      //     }
      //   }
      //   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 (zone_selected != 0) {
      //       if (zone_selected == schedule.device_number.zone.id) {
      //         if (timetype_selected == 0 || schedule.schedule_type == timetype_selected) {
      //           filtedSchedules.push(schedule)
      //         }
      //       }
      //     } else {
      //       if (timetype_selected == 0 || schedule.schedule_type == timetype_selected) {
      //         filtedSchedules.push(schedule)
      //       }
      //     }
      //   }
      //   if (filtedSchedules.length > 0) {
      //     schedules.push({ zone_id: scheduleInfo.zone_id, zone_name: scheduleInfo.zone_name, schedules: filtedSchedules })
      //   }
      // }

      // return schedules
    }
  },
  methods: {
    adviceFunc() {
      this.getScheduleDetail()
    },
    getLongAdvice() {
      const params = {
        patient_id: this.patient_id
      }
      getLongAdvice(params).then(rs => {
        var resp = rs.data
        if (resp.state == 1) {
          var status = parseInt(resp.data.status)

          switch (status) {
            case 2:
              var totalAdvice = resp.data.advices
              var longAdvicesTwo = resp.data.advices_two
              var waitUploadAdvices = []
              for (let i = 0; i < totalAdvice.length; i++) {
                totalAdvice[i]['isCheck'] = 1
              }

              for (let i = 0; i < totalAdvice.length; i++) {
                for (let a = 0; a < longAdvicesTwo.length; a++) {
                  if (
                    totalAdvice[i].template_id ==
                      longAdvicesTwo[a].template_id &&
                    totalAdvice[i].frequency_type ==
                      longAdvicesTwo[a].frequency_type
                  ) {
                    totalAdvice[i]['isCheck'] = 0
                  }
                }
              }

              for (let i = 0; i < totalAdvice.length; i++) {
                if (totalAdvice[i].isCheck == 1) {
                  waitUploadAdvices.push(totalAdvice[i])
                }
              }

              this.is_open = resp.data.is_open_remind
              this.longAdvices = totalAdvice
              this.waitUploadAdvices = waitUploadAdvices
              break
          }
        } else {
          this.$message.error(resp.msg)
        }
      })
    },
    assessmentAfterDislysisFunc: function(val) {
      for (var index in val) {
        this.$set(this.assessment_after_dislysis, index, val[index])
      }
    },
    didDelMonitor(record_id) {
      var mrl = this.monitor_records.length
      for (let index = 0; index < mrl; index++) {
        if (this.monitor_records[index].id == record_id) {
          this.monitor_records.splice(index, 1)
          break
        }
      }
    },
    getScheduleDetail: function() {
      this.loading = true
      var dateStr = parseTime(this.date, '{y}-{m}-{d}')

      this.doctor_advices = []
      getDialysisScheduleDetail(this.patient_id, dateStr).then(rs => {
        var resp = rs.data
        if (resp.state == 1) {
          var patient = resp.data.patient // 患者信息
          var schedual = resp.data.schedual // 患者排班信息
          // console.log("患者排班信息99999999",schedual)
          var prescription = resp.data.prescription // 透析处方
          if (prescription != null) {
            if (prescription.body_fluid == -2) {
              prescription.body_fluid = 0
            }
          }
          // console.log('透析处方', prescription)
          var solution = resp.data.solution // 透析方案
          var receiver_treatment_access = resp.data.receiver_treatment_access // 接诊评估
          // console.log('receiver_treatment_access', receiver_treatment_access)
          var predialysis_evaluation = resp.data.predialysis_evaluation // 透前评估
          // console.log('透前评估22222', predialysis_evaluation)

          if (predialysis_evaluation != null) {
            if (predialysis_evaluation.blood_access_part_id == -2) {
              predialysis_evaluation.blood_access_part_id = 0
            }
          }
          var doctor_advices = resp.data.doctor_advices // 临时医嘱

          var double_check = resp.data.double_check // 双人核对
          var assessment_after_dislysis = resp.data.assessment_after_dislysis // 透后评估

          var treatment_summary = resp.data.treatment_summary // 治疗小结
          var monitor_records = resp.data.monitor_records // 透析监测
          var dialysis_order = resp.data.dialysis_order // 透析记录

          var niprocart_info = resp.data.niprocart_info
          var jms_info = resp.data.jms_info
          var fistula_needle_set_info = resp.data.fistula_needle_set_info
          var fistula_needle_set_16_info = resp.data.fistula_needle_set_16_info
          var hemoperfusion_info = resp.data.hemoperfusion_info
          var dialyser_sterilised_info = resp.data.dialyser_sterilised_info
          var filtryzer_info = resp.data.filtryzer_info
          var dialyzers_info = resp.data.dialyzers_info
          var injector_info = resp.data.injector_info
          var bloodlines_info = resp.data.bloodlines_info
          var tubingHemodialysis_info = resp.data.tubingHemodialysis_info
          var safe_package_info = resp.data.safe_package_info
          var aliquid_info = resp.data.aliquid_info

          var lastPredialysisEvaluation = resp.data.lastPredialysisEvaluation
          // console.log('上次透前评估', lastPredialysisEvaluation)
          if (lastPredialysisEvaluation != null) {
            if (lastPredialysisEvaluation.blood_access_part_id == -2) {
              lastPredialysisEvaluation.blood_access_part_id = 0
            }
          }
          var lastMonitorRecord = resp.data.lastMonitorRecord
          var lastAssessmentAfterDislysis =
            resp.data.lastAssessmentAfterDislysis
          var lastDialysisPrescribe = resp.data.lastDialysisPrescribe
          var lastDryWeightDislysis = resp.data.lastDryWeightDislysis
          // console.log("最后一次干体重",lastDryWeightDislysis)
          var system_prescribe = resp.data.system_prescribe

          this.$refs.nav.setLastRecord(
            lastPredialysisEvaluation,
            lastMonitorRecord,
            lastAssessmentAfterDislysis,
            lastDialysisPrescribe,
            lastDryWeightDislysis,
            schedual,
            system_prescribe
          )

          var headNurses = resp.data.headNurse

          var config = resp.data.config
          this.lastPredialysisEvaluation = lastPredialysisEvaluation
          this.lastMonitorRecord = lastMonitorRecord
          this.lastAssessmentAfterDislysis = lastAssessmentAfterDislysis
          this.lastDialysisPrescribe = lastDialysisPrescribe
          this.lastDryWeightDislysis = lastDryWeightDislysis
          this.headNurses = headNurses
          this.system_prescribe = system_prescribe 
          


          this.niprocart_info = []
          this.jms_info = []
          this.fistula_needle_set_info = []
          this.fistula_needle_set_16_info = []
          this.hemoperfusion_info = []
          this.dialyser_sterilised_info = []

          this.filtryzer_info = []
          this.dialyzers_info = []
          this.injector_info = []

          this.bloodlines_info = []
          this.tubingHemodialysis_info = []
          this.safe_package_info = []
          this.aliquid_info = []





          this.niprocart_info = niprocart_info
          this.jms_info = jms_info
          this.fistula_needle_set_info = fistula_needle_set_info
          this.fistula_needle_set_16_info = fistula_needle_set_16_info
          this.hemoperfusion_info = hemoperfusion_info
          this.dialyser_sterilised_info = dialyser_sterilised_info
          this.filtryzer_info = filtryzer_info
          this.dialyzers_info = dialyzers_info
          this.injector_info = injector_info
          this.bloodlines_info = bloodlines_info
          this.tubingHemodialysis_info = tubingHemodialysis_info
          this.safe_package_info = safe_package_info
          this.aliquid_info = aliquid_info
          this.config = config

          this.patient = patient
          this.schedual = schedual == null ? { id: 0 } : schedual
          this.prescription = prescription == null ? { id: 0 } : prescription
          this.solution = solution == null ? { id: 0 } : solution
          this.receiver_treatment_access =
            receiver_treatment_access == null
              ? { id: 0 }
              : receiver_treatment_access
          this.predialysis_evaluation =
            predialysis_evaluation == null ? { id: 0 } : predialysis_evaluation
          this.doctor_advices = doctor_advices == null ? [] : doctor_advices
          this.double_check = double_check == null ? { id: 0 } : double_check
          this.assessment_after_dislysis =
            assessment_after_dislysis == null
              ? { id: 0 }
              : assessment_after_dislysis
          this.treatment_summary =
            treatment_summary == null ? { id: 0 } : treatment_summary
          this.monitor_records = monitor_records == null ? [] : monitor_records
          this.dialysis_order =
            dialysis_order == null ? { id: 0 } : dialysis_order

          // this.$refs.stat_order.setAdvices(this.doctor_advices)
          // this.$refs.monitoring.setRecords(this.monitor_records)

          this.admin_users = resp.data.doctors
          this.devices = resp.data.devices
          this.device_numbers = resp.data.device_numbers

          var device_map = {}
          for (let index = 0; index < this.devices.length; index++) {
            const device = this.devices[index]
            device_map[device.id] = device
          }
          this.device_map = device_map

          var admin_map = {}
          for (let index = 0; index < this.admin_users.length; index++) {
            const admin = this.admin_users[index]
            admin_map[admin.id] = admin
          }
          this.admin_user_map = admin_map

          var device_number_map = {}
          for (let index = 0; index < this.device_numbers.length; index++) {
            const device_number = this.device_numbers[index]
            device_number_map[device_number.id] = device_number
          }
          this.device_number_map = device_number_map
        } else {
          this.$message.error(resp.msg)
        }

        if (this.lastDialysisPrescribe != null) {
          delete this.lastDialysisPrescribe.target_ultrafiltration
        }
        if (this.solution != null) {
          delete this.solution.target_ultrafiltration
        }
        if(this.predialysis_evaluation.id > 0){
          this.newTime = parseTime(this.predialysis_evaluation.created_time, '{h}:{i}')
        }

        this.loading = false
      })
    },
    printOrder() {
      var xtdate = parseTime(this.date, '{y}-{m}-{d}')
      this.$router.push(
        '/dialysis/print?xtdate=' + xtdate + '&xtno=' + this.patient.dialysis_no
      )
    },
    // 日期
    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()
        } 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 != '') {
        const arr = []
        this.filtedSchedules.map(item => {
          arr.push(...item.schedules)
        })
        if (this.activeName == 'first') {
          this.tableData = arr
        } else if (this.activeName == 'second') {
          this.tableData1 = 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)
          const patientArr = JSON.parse(JSON.stringify(this.zone_schedules))
          if (this.activeName == 'first') {
            for (let i = 0; i < patientArr.length; i++) {
              for (let j = 0; j < patientArr[i].schedules.length; j++) {
                if (patientArr[i].schedules.length > 0 && patientArr[i].schedules[j].dialysis_order != null) {
                  // 删除元素后改变i的值
                  patientArr[i].schedules.splice(j--, 1)
                }
              }
            }
          } else if (this.activeName == 'second') {
            for (let i = 0; i < patientArr.length; i++) {
              for (let j = 0; j < patientArr[i].schedules.length; j++) {
                if (patientArr[i].schedules.length > 0 && patientArr[i].schedules[j].dialysis_order == null) {
                  // 删除元素后改变i的值
                  patientArr[i].schedules.splice(j--, 1)
                }
              }
            }
          }
          const newArr = []
          patientArr.map(item => {
            newArr.push(...item.schedules)
          })
          this.tableData = newArr
          this.getData()
          // console.log(66666666666,this.tableData)
        } else {
          this.$message.error(resp.msg)
        }
      })
    },
    changePatient(schedual) {
      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
        }
      })
    },
    handleClick(type) {
      sessionStorage.setItem('nameActive', type.name);
      this.getData()
    },
    getData() {
      let patientArr = []
      patientArr = JSON.parse(JSON.stringify(this.zone_schedules))

      if (this.activeName == 'first') {
        for (let i = 0; i < patientArr.length; i++) {
          for (let j = 0; j < patientArr[i].schedules.length; j++) {
            if (patientArr[i].schedules.length > 0 && patientArr[i].schedules[j].dialysis_order != null) {
              // 删除元素后改变i的值

              // console.log('候诊区', patientArr[i].schedules[j])
              patientArr[i].schedules.splice(j--, 1)
            }
          }
        }
        let arr1 = []
        if (this.patientStateVal == 0) {
          arr1 = patientArr
        } 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的值
                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 == 3){
          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[j].doctor_advice.length == 0){
                arr[i].schedules.splice(j--, 1)
              }
              if(arr[i].schedules && arr[i].schedules[j] && arr[i].schedules[j].doctor_advice){
                let sign = 0
                arr[i].schedules[j].doctor_advice.map(item => {
                  if(item.check_state == 1){
                    sign++
                  }
                })
                if(sign == arr[i].schedules[j].doctor_advice.length && arr[i].schedules[j].doctor_advice.length > 0){
                  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
        }

        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
        }
        const newArr = []
        arr4.map(item => {
          newArr.push(...item.schedules)
        })
        if(this.patientStateVal == 1){
          newArr.map(item => {
            item.created_time = item.assessment_before_dislysis.created_time
          })
          newArr.sort(this.compare('created_time'))
        }
        // console.log('排序',newArr)
        this.tableData = newArr
        const name = this.$route.query.patient_name
        this.tableData.map((item, index) => {
          if (name == item.patient.name) {
            // if (item.assessment_before_dislysis != null) {
            //   this.newTime = parseTime(item.assessment_before_dislysis.created_time, '{h}:{i}')
            // }

            setTimeout(() => {
              this.$refs.tab.setCurrentRow(this.tableData[index])
            }, 10)
          }
        })
      } else if (this.activeName == 'second') {
        for (let i = 0; i < patientArr.length; i++) {
          for (let j = 0; j < patientArr[i].schedules.length; j++) {
            if (patientArr[i].schedules.length > 0 && patientArr[i].schedules[j].dialysis_order == null) {
              // 删除元素后改变i的值
              console.log('透析区', patientArr[i].schedules[j])
              patientArr[i].schedules.splice(j--, 1)
            }
          }
        }
        let arr1 = []
        console.log('patientArr', patientArr)
        // let patientArr =
        if (this.patientStateVal == 0) {
          arr1 = patientArr
        } 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的值
                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.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.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 == 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
        } else if(this.treatStateVal == 3){
          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++) {
              console.log(77777777777,arr[i].schedules)
              if(arr[i].schedules[j].doctor_advice.length == 0){
                arr[i].schedules.splice(j--, 1)
              }
              if(arr[i].schedules && arr[i].schedules[j] && arr[i].schedules[j].doctor_advice){
                let sign = 0
                arr[i].schedules[j].doctor_advice.map(item => {
                  if(item.check_state == 1){
                    sign++
                  }
                })
                if(sign == arr[i].schedules[j].doctor_advice.length && arr[i].schedules[j].doctor_advice.length > 0){
                  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
        }

        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
        }
        const newArr = []
        arr4.map(item => {
          newArr.push(...item.schedules)
        })
        if(this.patientStateVal == 1){
          newArr.map(item => {
            item.created_time = item.assessment_before_dislysis.created_time
          })
          newArr.sort(this.compare('created_time'))
        }
        this.tableData1 = newArr
        const name = this.$route.query.patient_name
        this.tableData1.map((item, index) => {
          if (name == item.patient.name) {
            // if (item.assessment_before_dislysis != null) {
            //   this.newTime = parseTime(item.assessment_before_dislysis.created_time, '{h}:{i}')
            // }

            setTimeout(() => {
              this.$refs.tab1.setCurrentRow(this.tableData1[index])
            }, 10)
          }
        })
      }
    },
    compare(property){
      return function(a,b){
        var value1 = a[property];
        var value2 = b[property];
        return value2 - value1;
      }
    },
    getTime(date){
      date = new Date(date * 1000)
      var Y = date.getFullYear() + '-';
      var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1);
      var D = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate());
      var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours());
      var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes());
      var s = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());

      let strDate = h  + ':' + m;
      return strDate;
    },
    refresh(){
      console.log('1111111')
      this.requestDialysisSchedules()
    }
  }
}
</script>

<style style="stylesheet/scss" lang="scss" scoped>
.details-bg {
  background: #fff;
  margin: 0 15px;
}
.printForm {
  .title {
    font-size: 30px;
    font-weight: 500;
    text-align: center;
    line-height: 60px;
  }
  .info {
    ul {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: center;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      -o-box-sizing: border-box;
      -ms-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-justify-content: space-around;
      -moz-justify-content: space-around;
      -ms-justify-content: space-around;
      -o-justify-content: space-around;
      justify-content: space-around;
      li {
        display: flex;
        box-sizing: border-box;
        justify-content: space-around;
        .name {
        }
        .InputBox {
          padding: 0;
          border: none;
          border-bottom: 1px #e5e5e5 solid;
          width: 60px;
          outline: none;
        }
      }
    }
  }
  .printTable {
    tr {
      padding: 2px;
      th {
        padding: 6px 4px;
      }
      td {
        padding: 6px 4px;
      }
    }
  }
}
.loadingBox{
  display: flex;
  .patientBox{
    background: #fff;
  }
  .tip1{
    background: #4fc7cb;
    border-radius: 5px;
    text-align: center;
    font-size: 12px;
    display: inline-block;
    width: 60px;
    color: #fff;
  }
  .tip2{
    background: #ee8556;
    border-radius: 5px;
    text-align: center;
    font-size: 12px;
    display: inline-block;
    width: 60px;
    color: #fff;
  }
  .tip3{
    background: #409eff;
    border-radius: 5px;
    text-align: center;
    font-size: 12px;
    display: inline-block;
    width: 60px;
    color: #fff;
  }
  .tip4{
    background: #a8b3ba;
    border-radius: 5px;
    text-align: center;
    font-size: 12px;
    display: inline-block;
    width: 60px;
    color: #fff;
  }
  .tip5{
    background: #7bce91;
    border-radius: 5px;
    text-align: center;
    font-size: 12px;
    display: inline-block;
    width: 60px;
    color: #fff;
  }
}
</style>

<style lang="scss">
.loadingBox{
  .el-loading-spinner{
    top:10%;
  }
  .el-button--small, .el-button--small.is-round{
    padding:9px 10px;
  }
  .el-date-editor{
    .el-input__inner{
      padding-right:0px;
    }
  }
  .el-table td, .el-table th{
    text-align: center;
  }
  .el-table .cell{
    padding: 0;
  }
}
</style>
