<template>
  <div class="main-contain">
    <div class="position">
      <bread-crumb :crumbs="crumbs"></bread-crumb>
       <template>
        <el-button
          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"  v-model.trim="search_input" class="filter-item"/>
                    <el-button size="small" class="filter-item" type="primary" :model="keyword" @click="searchAction">搜索</el-button>
                </div>
                <el-table ref="tab" @row-click="changePatient" highlight-current-row :data="patientTableData" height="480" border style="width: 100%">
                    <el-table-column prop="date"  label="患者">
                        <template slot-scope="scope">
                            {{scope.row.patients.name?scope.row.patients.name:''}}
                        </template>
                    </el-table-column>
                    <el-table-column prop="name" label="就诊号">
                        <template slot-scope="scope">
                           {{ scope.row.his_patient.number ?scope.row.his_patient.number:''}}
                        </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" :patient="patient" :hispatient = "hispatient" :history="history"></printOne>
            </div>
        </el-container>
    </div>
  </div>
</template>

<script>

import { parseTime } from "@/utils";
import { getDataConfig } from "@/utils/data";
import { jsGetAge, uParseTime } from "@/utils/tools";
import BreadCrumb from "@/xt_pages/components/bread-crumb";
import print from "print-js";
import { getSchedulePatientList } from '@/api/his/his'
import { getPatientCaseHistory } from "@/api/project/project"
import printOne from "./recordTemplate/printOne"
export default {
  name: "dialysisPrintOrder",
  components: {
    BreadCrumb,
    printOne
  },
  data() {
    return {
      crumbs: [
        { path: false, name: "透析管理" },
        { path: false, name: "打印单" }
      ],
      childResponse: {},
      patientTableData: [],
      search_input:"",
      patient:{},
      hispatient:{},
      educationOptions:[],
      history:{},
      keyword:""
    };
  },
  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 {.printTitle{font-size: 22px;text-align: center;font-weight: bold;}.infoTitle{display: flex;margin-top:10px;padding:0 10px;}.infoTitle div{width: 200px;}.otherInfo{display: flex;margin-top:20px;padding:0 10px;}.otherInfo span{display:inline-block;}.recordTitle{display: flex;margin-top:10px;line-height: 24px;padding:0 10px;border-bottom: 2px solid #000;}.recordTitle div{width: 200px;}}';
      printJS({
        printable: "prescription-print",
        type: "html",
        style: style,
        scanStyles: false
      });
    },

     //患者列表
      getPatientList(){
        
         let params = {
           'record_date':this.$route.query.record,
        }
     
      getSchedulePatientList(params).then(response => {
         if (response.data.state == 0) {
            this.$message.error(response.data.msg)
            return false
         } else {
            this.patientTableData = []
            console.log("list0000000",response.data.data.list)
            // for (let i = 0; i < response.data.data.list.length; i++) {
            //   if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
            //      this.patientTableData.push(response.data.data.list[i])
            //     }
            //   }
              this.patientTableData = response.data.data.list
             }  
          })
      },

    changePatient(val){

        const params = {
          patient_id:val.patient_id
        }
        console.log("params",params)
      getPatientCaseHistory(params).then(response=>{
         if(response.data.state == 1){
           var patient = response.data.data.patient
           console.log("patinet",patient)
           this.patient = patient
           var history = response.data.data.history
           console.log("history",history)
           this.history = history
           var hispatient = response.data.data.hispatient
           console.log("hispatient",hispatient)
           this.hispatient = hispatient
         }
      })
    },
    searchAction(){
      this.getPatientList()
    },
    
  },
  created() {
    this.getPatientList() 
   
  },
  // 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>
