<template>
    <div>
        <template v-if="showBtn">
          <el-button
            style="float:right;"
            :loading="loading"
            size="small"
            icon="el-icon-printer"
            @click="printThisPage"
            type="primary"
            >打印</el-button
          >
        </template>

        <div class='dialysisPage'>
            <div v-if="org_id != 10138">
                <printOne v-if="org_id != 10088 && org_id != 10215 && org_id!=0" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printOne>
                <printFour v-if="org_id == 10088 || org_id == 0" v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFour>
                <printFive v-if="org_id == 10215 " v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printFive>
            </div>
            <div v-else>
                <printThree v-bind:childResponse="childResponse" :advicePrint="advicePrint" :ids="ids" :patient="patient" :hisPatient="hisPatient" :doctorPorject="doctorPorject" :patient_id="patient_id" :record_date="record_date" :prescription_id="prescription_id"></printThree>
            </div>
        </div>
    </div>
</template>

<script>


  import { parseTime } from "@/utils";
  import { getDialysisRecord } from "@/api/dialysis";
  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 printOne from "./template/printOne"
  import printThree from "./template/printThree"
  import printFour from "./template/printFour"
  import printFive from "./template/printFive"
  import { getAllDoctorList,getAllHisPatientList,getPrescriptionPrint } from "@/api/project/project"
  export default {
    name: "dialysisPrintOrder",
    components: {
      BreadCrumb,
      printOne,
      printThree,
      printFour,
      printFive
    },
    props:{
      paramsObj:Object,
      showBtn:Boolean
    },
    data() {
      return {
        crumbs: [
          { path: false, name: '门诊医生站' },
          { path: false, name: '打印' }
        ],
        record_date:"",
        patientTableData:[],
        advicePrint:[],
        hisPatient:{},
        patient:{},
        doctorPorject:{},
        search_input:"",
        loading:false,
        patient_id:"",
        prescription_id:"",
        ids:'',
        paramsObj:{},
        org_id:'',
        p_type:1,
      };
    },
    methods:{
      printThisPage() {
        var ptime = Math.round(new Date().getTime() / 1000);
        this.print_time = uParseTime(ptime, "{y}-{m}-{d} {h}:{i}");

        if(this.org_id == 10138){
          setTimeout(() => {
            const style =
              '@media print {#prescription-print{font-size:14px;border:1px solid white}.prescription-print:last-child {page-break-after: auto;}.printTitle{font-size: 22px;text-align: center;font-weight: bold;margin-bottom: 10px;}.infoTitle{display: flex;margin-top:10px;}.infoTitle div{width: 200px;}.infoMain{display: flex;flex-wrap: wrap;margin-top:10px;}.infoMain div{width: 50%;line-height: 24px;}.prescriptionBox{min-height:350px;}.Rp{font-size: 18px;font-weight: bold;}.drugsBox{padding-left: 40px;margin-bottom: 10px;}.drugsBox div{line-height: 20px;}.drugsOne{line-height: 24px;}.drugsOne span{margin-right: 20px;}.doctorBox{display: flex;justify-content: space-between;padding:0 10px;line-height: 24px;border-bottom: 2px solid #000;}.actionBar{display: flex;justify-content: space-between; line-height: 24px;padding:0 10px;}.actionBar p{width:150px;}.under_line{display: inline-block;border-bottom: 1px solid #000;flex: 1;}@media print {html {zoom: 90%;}}}';
            printJS({
              printable: "prescriptionPrint1",
              type: "html",
              style: style,
              scanStyles: false
            });
          },500)
        }else{
          const style =
            '@media print {#prescription-print{font-size:14px;}.prescription-print:last-child {page-break-after: auto;}.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: "prescriptionPrint",
            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
        //   });
        // }
      },
      getAllDoctorList(){
        getAllDoctorList().then(response=>{
          if(response.data.state == 1){
            var doctor =  response.data.data.doctor

            this.doctorList = doctor
          }
        })
      },
      getAllHisPatientList(){
        const params = {
          record_date:this.record_date
        }
        getAllHisPatientList(params).then(response=>{
          if(response.data.state == 1){
            this.patientTableData = response.data.data.list
            this.patientTableDataTwo = response.data.data.list

            let cal_one = 0
            let cal_two = 0
            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) {
                cal_one = cal_one + 1
              }
              if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
                cal_two = cal_two + 1
              }
            }
            // this.$refs.tab.setCurrentRow(this.patientTableData[0])
            // console.log(this.patientTableData[0])
            // this.choosePatient(this.patientTableData[0])
            this.cal_one = cal_one
            this.cal_two = cal_two
          }
        })
      },

      changePatient(row){
        this.patient_id = row.patient_id
        this.record_date = this.record_date
        this.prescription_id = this.prescription_id
        console.log("row",row)
        // var params = {
        //   patient_id:row.patient_id,
        //   record_date:this.record_date,
        //   prescription_id:this.prescription_id,
        // }
        // getPrescriptionPrint(params).then(response=>{
        //     if(response.data.state == 1){
        //       var advicePrint =  response.data.data.advicePrint
        //       console.log("adviceprint",advicePrint)
        //       this.advicePrint = advicePrint
        //       var patient =  response.data.data.patient
        //       console.log("patient",patient)
        //       this.patient = patient
        //       //  var hisPatient =  response.data.data.hisPatient
        //       // console.log("hispatient",hisPatient)
        //       // this.hisPatient = hisPatient
        //       var doctorPorject = response.data.data.doctorPorject
        //       console.log("doctorporject",doctorPorject)
        //       this.doctorPorject = doctorPorject
        //     }
        // })
      },
      searchAction(){

      }

    },

    created() {
      this.org_id = this.$store.getters.xt_user.org_id
      this.getAllDoctorList()
      var record_date = this.paramsObj.record
      this.record_date = record_date
      console.log("record_date",record_date)
      var prescription_id = this.paramsObj.prescription_id
      this.prescription_id = prescription_id
      this.patient_id = this.paramsObj.patient_id
      this.ids = this.paramsObj.ids

      // var record_date = this.$route.query.record
      // this.record_date = record_date
      // console.log("record_date",record_date)
      // var prescription_id = this.$route.query.prescription_id
      // this.prescription_id = prescription_id
      this.getAllHisPatientList(record_date)
    },
    watch:{
      paramsObj:{//深度监听，可监听到对象、数组的变化
        handler(val, oldVal){
          this.paramsObj = val
          this.patient_id = this.paramsObj.patient_id
          var record_date = this.paramsObj.record
          this.record_date = record_date
          console.log("record_date",record_date)
          var prescription_id = this.paramsObj.prescription_id
          this.prescription_id = prescription_id
          this.ids = this.paramsObj.ids
        },
        deep:true
      }
    }

  };
</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">
    .dialysisPage{
      padding-top:40px;
    }
    .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>
