<template>
  <div class="patient-container">
    <patient-sidebar :id="patientID" defaultActive="5-13" @tran-patient="tranpatient"></patient-sidebar>
    <div>
      <div class="patient-app-container advice-container app-container">
        <div class="content_top">
          <!-- 左 -->
          <div style="width: 58%;">
            <div style="margin-bottom: 20px; display: flex;">
              <div style="flex:2" >
                <el-button type="primary" @click="Glas_add" v-if="Glasadd_show">新增</el-button>
                <el-button style="background:#00B6D7;color:white" @click="Glas_editor" v-if="Glas_gzdayin">编辑</el-button>
                <el-button type="danger"  @click="Glas_dele" v-if="Glas_gzdayin">删除</el-button>
                <el-button type="success" @click="open_print=true" v-if="Glas_gzdayin">打印</el-button>
              </div>
              <div style="flex:1" v-if="Glas_baoxiao">
                <el-button type="primary" @click="Glas_save" v-if="qufen == false">保存</el-button>
                <el-button type="primary" @click="Glas_save2" v-if="qufen == true && dele_id != ''">保存1</el-button>
                <el-button  @click="Glas_quxiao" >取消</el-button>
              </div>

            </div>
            <div style="font-size: 20px;margin-bottom: 20px;">Glasgow昏迷评分量表</div>
            <div style="width: 100%;">
              <table class="table" border="1" style="width: 100%;">
                <thead>
                  <tr>
                    <th style="width: 150px;">项目</th>
                    <th>分值</th>
                  </tr>
                </thead>
                <tbody>
                  <tr class="bg_color">
                    <td class="start">睁眼反应（E）</td>
                    <td>
                      <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
                        <span v-for="item in zhengyan" class="ttbwzz-type-a" @change="handleCheckedCitiesChange(item)">
                          <label><input type="checkbox" class="checkbox1" :value="item.value" v-model="item.is_check" />&nbsp;{{ item.label }}</label>
                        </span>
                      </div>
                    </td>
                  </tr>

                  <tr>
                    <td class="start">言语反映 （V）</td>
                    <td>
                      <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
                        <span v-for="item in yanyu" class="ttbwzz-type-a" @change="yuyan_change(item)">
                          <label><input type="checkbox" class="checkbox2" :value="item.value" v-model="item.is_check" />&nbsp;{{ item.label }}</label>
                        </span>
                      </div>
                    </td>
                  </tr>

                  <tr class="bg_color">
                    <td class="start">运动反应（M）</td>
                    <td>
                      <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
                        <span v-for="item in yundong" class="ttbwzz-type-a" @change="yundong_change(item)">
                          <label><input type="checkbox" class="checkbox3" :value="item.value" v-model="item.is_check" />&nbsp;{{ item.label }}</label>
                        </span>
                      </div>
                    </td>
                  </tr>

                </tbody>
              </table>
            </div>

            <div style="vertical-align: top;  margin: 10px 0px; position: relative;">
              <span style="position: relative; top: -55px;">护理措施：</span>
              <div style="margin-top: 20px;display: inline-block; width: 85%;">
                <el-input maxlength="200" type = "textarea" :rows="3" v-model="glasgow_input" placeholder="输入护理措施，200字以内" ></el-input>
              </div>
            </div>

            <div>
              <div class="bottoms">
                <span>总分:</span>
                <el-input v-model="Glasgow_Totalpoints" style="width: 80px;"></el-input>分
              </div>

              <div class="bottoms">
                <span>评估日期:</span>
                <el-date-picker
                    v-model="date"
                    type="date"
                    value-format="yyyy-MM-dd"
                    placeholder="选择日期"
                    :clearable="false"
                    style="width: 150px;">
                </el-date-picker>
              </div>

              <div class="bottoms">
                <span>评估人:</span>
                <el-select v-model="Glas_pinggu" placeholder="请选择" style="width:120px;">
                    <el-option
                    v-for="item in pinggr"
                    :key="item.id"
                    :label="item.label"
                    :value="item.id"
                    >
                    </el-option>
                </el-select>
              </div>
            </div>
            <div id="ctrl-xgtlpic-mask" class="readonly" data-text="图片操作的遮罩层" v-show="append == false"></div>
            <hr style=" background-color: #DCDFE6;margin-top: 20px; height: 1px;border: none;"/>
            <div class="shuoming">
              <p>说明：</p>
              <p>总分15分，其中 14-15分为正常，8-13分为中度意识障碍，≦7分为浅昏迷 ，3分为深昏迷 。</p>
            </div>
          </div>
          <!-- 虚线 -->
          <div style="height: 100vh; width: 1px; border-left:1px dashed #DCDFE6 ;"></div>
          <!-- 右 -->
          <div style="width: 38%;">
            <div style="font-size: 20px; margin-bottom: 20px;">评估历史记录</div>
            <div style="width: 100%;">
              <el-table
              :data="history_Glasgow"
              stripe
              border
              @row-click="glasgow_click"
              :highlight-current-row="true"
              :header-cell-style="{
                  background: '#0077ff9f',color:'white'}"
              style="width: 100%">
                  <el-table-column
                  prop="date"
                  label="评估日期"
                  width="180">
                  </el-table-column>
                  <el-table-column
                  prop="mark"
                  label="总分"
                  >
                  </el-table-column>
                  <el-table-column
                  prop="evaluate"
                  label="评估人"
                  >
                  </el-table-column>
              </el-table>
            </div>
          </div>
        </div>
      </div>
      <!-- 打印 -->
      <el-dialog
      title="提示"
      :visible.sync="open_print"
      width="67%"
      >
      <div>
        <el-button type="primary" @click="print_pingfen" style="float:right">打印</el-button>
        <div id="mingxi" >
          <div class="diedao_content" style="">
            <div style="width:100%;margin-top: 20px;">
              <div style="text-align: center;"><h1>血液透析中心跌倒评估记录</h1></div>
              <div style="margin-top: 20px;font-size: 16px;">
                <span>患者姓名：{{ Patient_info.name }}</span>
                <span>透析号：{{ Patient_info.dialysis_no }}</span>
                <span>评估日期：{{ date }}</span>
                <span>评估护士：{{ getpinggr(Glas_pinggu) }}</span>
                <span>总分：{{ Glasgow_Totalpoints }}</span>
                <span>打印时间：{{ dayintime }}</span>
              </div>
              <table class="tables" border="1" style="width: 100%;border-collapse: collapse;font-size: 16px;">
                <thead>
                  <tr>
                    <th style="width: 150px;padding: 5px;">项目</th>
                    <th style="padding: 5px;">分值</th>
                  </tr>
                </thead>
                <tbody>
                  <tr class="bg_color">
                    <td class="start">睁眼反应（E）</td>
                    <td>
                      <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
                        <span v-for="item in zhengyan" class="ttbwzz-type-a" @change="handleCheckedCitiesChange(item)">
                          <label><input type="checkbox" class="checkbox1" :value="item.value" v-model="item.is_check" />&nbsp;{{ item.label }}</label>
                        </span>
                      </div>
                    </td>
                  </tr>

                  <tr>
                    <td class="start">言语反映 （V）</td>
                    <td>
                      <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
                        <span v-for="item in yanyu" class="ttbwzz-type-a" @change="yuyan_change(item)">
                          <label><input type="checkbox" class="checkbox2" :value="item.value" v-model="item.is_check" />&nbsp;{{ item.label }}</label>
                        </span>
                      </div>
                    </td>
                  </tr>

                  <tr class="bg_color">
                    <td class="start">运动反应（M）</td>
                    <td>
                      <div style="display: flex;flex-wrap: wrap;padding:4px 0 4px 8px;">
                        <span v-for="item in yundong" class="ttbwzz-type-a" @change="yundong_change(item)">
                          <label><input type="checkbox" class="checkbox3" :value="item.value" v-model="item.is_check" />&nbsp;{{ item.label }}</label>
                        </span>
                      </div>
                    </td>
                  </tr>

                </tbody>
              </table>
              <div style="vertical-align: top;  margin: 10px 0px;">
                  <span style=" top: -55px;">护理措施：</span>
                  <div style="margin-top: 20px;display: inline-block; width: 85%;height: 80px;">
                    {{ glasgow_input }}
                  </div>
              </div>

            </div>
          </div>
        </div>
      </div>

    </el-dialog>

    </div>
     <!-- 删除弹窗 -->
     <el-dialog
      title="提示"
      :visible.sync="dele_dialogVisible"
      width="30%">
      <span>确认删除该数据</span>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dele_Cancel">取 消</el-button>
        <el-button type="primary" @click="deleclick">确 定</el-button>
      </span>
    </el-dialog>
  </div>
</template>
<script>
import PatientSidebar from '../components/PatientSidebar.vue'
import { uParseTime } from '@/utils/tools'
import {getAllNurseList,savePatientHpressuresore,getPatientBedlist,getPedPatientFallAssessmentById,deletePedPatientFallassment,updateBedPatientList} from '@/api/fallassement'
export default {
  components:{
    PatientSidebar
  },
  data(){
    return{
      patientID:0,
      checkList:'',
      checkList1:'',
      checkList2:'',
      value1:'',
      value:'',
      input:'',
      zhengyan_num:null,
      yuyan_num:null,
      yundong_num:null,
      options:[],
      tableData:[],
      glasgow_input:'',
      limit:10,
      page:1,
      date:this.getTime(new Date()),
      zhengyan:[{value:4,label:'自动睁眼(4分)',is_check:false,check:0},{value:3,label:'互换睁眼(3分)',is_check:false,check:0},{value:2,label:'刺激睁眼(2分)',is_check:false,check:0},{value:1,label:'无反应(1分)',is_check:false,check:0}],
      yanyu:[{value:5,label:'正常(5分)',is_check:false,check:0},{value:4,label:'不准确回答问题(4分)',is_check:false,check:0},
      {value:3,label:'不恰当词句(3分)',is_check:false,check:0},{value:2,label:'不能理解的言语(2分)',is_check:false,check:0},{value:1,label:'无言语反映(1分)',is_check:false,check:0}],
      yundong:[{value:6,label:'能按指令运动肢体(6分)',is_check:false,check:0},{value:5,label:'对刺痛能定位(5分)',is_check:false,check:0},{value:4,label:'对刺痛能躲避(4分)',is_check:false,check:0},
      {value:3,label:'刺痛肢体屈曲(3分)',is_check:false,check:0},{value:2,label:'刺痛肢体过伸(2分)',is_check:false,check:0},{value:1,label:'无反应(1分)',is_check:false,check:0}],

      pinggr:[{id:1,label:'小米'},{id:2,label:'千仞雪'},{id:3,label:'千亦雪'},],
      history_Glasgow:[],

      append:false,//显示遮罩层
      Glasadd_show:true,//显示新增
      Glas_gzdayin:false,//显示编辑删除
      Glas_baoxiao:false,//显示保存
      qufen:false,//区分新增保存和修改保存
      cancel_num:0,
      Glas_pinggu:null,
      open_print:false,
      dele_id:'',
      dele_dialogVisible:false,
      dayintime:this.getTime2(new Date()),
      glasgow_zong:0,
      Patient_info:{name:'',dialysis_no:''},
    }
  },
  created(){
    const id = this.$route.params && this.$route.params.id
    this.patientID = parseInt(id)
    this.getlist()
  },
  methods:{
    //睁眼
    handleCheckedCitiesChange(item){
      for(let i=0;i<this.zhengyan.length;i++){
        if(item.value == this.zhengyan[i].value){
          if(this.zhengyan[i].check == 0){
            this.zhengyan[i].check =1
            this.zhengyan[i].is_check = true
            this.zhengyan_num = item.value
          }else{
            this.zhengyan[i].check =0
            this.zhengyan[i].is_check = false
            this.zhengyan_num = 0
          }
        }else{
          this.zhengyan[i].check =0
          this.zhengyan[i].is_check = false
        }
      }
    },
    // 语言
    yuyan_change(item){
      for(let i=0;i<this.yanyu.length;i++){
        if(item.value == this.yanyu[i].value){
          if(this.yanyu[i].check == 0){
            this.yanyu[i].check =1
            this.yanyu[i].is_check = true
            this.yuyan_num = item.value
          }else{
            this.yanyu[i].check =0
            this.yanyu[i].is_check = false
            this.yuyan_num = 0
          }
        }else{
          this.yanyu[i].check =0
          this.yanyu[i].is_check = false
        }
      }
    },
    // 运动
    yundong_change(item){

      for(let i=0;i<this.yundong.length;i++){
        if(item.value == this.yundong[i].value){
          if(this.yundong[i].check == 0){
            this.yundong[i].check =1
            this.yundong[i].is_check = true
            this.yundong_num = item.value
          }else{
            this.yundong[i].check =0
            this.yundong[i].is_check = false
            this.yundong_num = 0
          }
        }else{
          this.yundong[i].check =0
          this.yundong[i].is_check = false
        }
      }
    },
    // 新增
    Glas_add(){
      this.cancel_num=0
      this.append=true
      this.Glas_baoxiao=true
      this.Glasadd_show =false
      this.Glas_gzdayin = false
      this.qufen = false
    },
    // 新增保存
    Glas_save(){
      if(this.Glas_pinggu==null){
        this.$message('请选择评估人')
      }else{
        this.Glasadd_show = true
        this.Glas_baoxiao = false
        this.Glas_gzdayin = true
        this.cancel_num = 1

        const data = {}
        var list = []
        data['zhengyan'] = this.zhengyan_num
        data['yanyu'] = this.yuyan_num
        data['yundong'] = this.yundong_num
        data['glasgow_input'] = this.glasgow_input
        data['Glas_pinggu'] = this.Glas_pinggu
        data['date'] = this.date
        data['total'] = this.Glasgow_Totalpoints
        list.push(data)
        var params={
          patient_id:this.patientID,
          record_date:this.date,
          is_type:11,
          list:list,
        }
        savePatientHpressuresore(params).then(response =>{
            if(response.data.state == 1){
              const Glasgow = response.data.data.pedFallssessment
              console.log('response.data.state',response.data.data.pedFallssessment);
              if(Glasgow.text !=''){
                var text = JSON.parse(Glasgow.text)
                const arr ={
                  id:Glasgow.id,
                  date:text.date,
                  mark:text.total,
                  evaluate:this.getpinggr(text.Glas_pinggu),
                  list:text
                }
                this.history_Glasgow.push(arr)
              }
            }
        })
        // console.log('1111111',params);
        // const arr={
        //   date:this.date,
        //   mark:this.Glasgow_Totalpoints,
        //   evaluate:this.Glas_pinggu
        // }
        // console.log('2121212',arr,params);
        // this.history_Glasgow.push(arr)
        // const Glalen=this.pinggr
        // const historylen = this.history_Glasgow
        // var pingguname =''
        // for(let x=0;x<historylen.length;x++){
        //   historylen[x].mark = this.Glasgow_Totalpoints
        //   for(let i=0;i<Glalen.length;i++){
        //     if(this.Glas_pinggu==Glalen[i].id){
        //       pingguname = Glalen[i].label

        //     }
        //   }
        //   historylen[x].evaluate = pingguname
        //       // return historylen[x].evaluate
        // }
        return this.history_Glasgow
      }
    },
    // 修改保存
    Glas_save2(){
      this.Glasadd_show = false
      this.Glas_baoxiao = true
      this.Glas_gzdayin = false
      this.cancel_num = 1

      const data = {}
      var list = []
      data['zhengyan'] = this.zhengyan_num
      data['yanyu'] = this.yuyan_num
      data['yundong'] = this.yundong_num
      data['glasgow_input'] = this.glasgow_input
      data['Glas_pinggu'] = this.Glas_pinggu
      data['date'] = this.date
      data['total'] = this.Glasgow_Totalpoints
      list.push(data)
      var params={
        patient_id:this.patientID,
        record_date:this.date,
        is_type:11,
        list:list,
        id:this.dele_id
      }
      updateBedPatientList(params).then(response =>{
          if(response.data.state == 1){
            const Glasgow = response.data.data.pedFallssessment
            console.log('response.data.state',response.data.data.pedFallssessment);
            if(Glasgow.text !=''){
              var text = JSON.parse(Glasgow.text)
              for(let i in this.history_Glasgow){
                if(Glasgow.id ==this.history_Glasgow[i].id){
                  this.history_Glasgow[i].date = text.date
                  this.history_Glasgow[i].mark = text.total
                  this.history_Glasgow[i].evaluate = this.getpinggr(text.Glas_pinggu)
                  this.history_Glasgow[i].glasgow_input = text.glasgow_input
                }
              }
            }
            this.Glasadd_show = true
            this.Glas_baoxiao = false
            this.Glas_gzdayin = true
          }
      })
      return this.history_Glasgow
    },
    // 编辑
    Glas_editor(){
      this.Glas_gzdayin=false
      this.Glas_baoxiao=true
      this.Glasadd_show=false
      this.cancel_num =1
      this.qufen = true
    },
    // 选中数据
    glasgow_click(row,column, event){
      this.dele_id=row.id
      // if(this.cancel_num == 1){
      //   this.Glasadd_show = true
      //   this.Glas_gzdayin = true
      //   this.Glas_baoxiao = false
      //   // this.append2 = false
      // }
      if(this.Glas_baoxiao == true){
        this.Glasadd_show = true
        this.Glas_gzdayin = true
        this.Glas_baoxiao = false
        this.qufen = false
        // this.append2 = false
      }
      getPedPatientFallAssessmentById(this.dele_id).then(response =>{
        if(response.data.state ==1){
          const glasgow = response.data.data.fallassessment
          // console.log('response.data.',response.data.data.fallassessment);
          if(glasgow.text !=''){
            const text =JSON.parse(glasgow.text)
            for(let i in this.zhengyan){
              if(text.zhengyan == this.zhengyan[i].value){
                this.zhengyan[i].is_check = true
                this.zhengyan[i].check = 1
                this.zhengyan_num = text.zhengyan
              }else{
                this.zhengyan[i].is_check = false
                this.zhengyan[i].check = 0
              }
            }
            for(let i in this.yanyu){
              if(text.yanyu == this.yanyu[i].value){
                this.yanyu[i].is_check = true
                this.yanyu[i].check = 1
                this.yuyan_num = text.yanyu
              }else{
                this.yanyu[i].is_check = false
                this.yanyu[i].check = 0
              }
            }
            for(let i in this.yundong){
              if(text.yundong == this.yundong[i].value){
                this.yundong[i].is_check = true
                this.yundong[i].check = 1
                this.yundong_num = text.yundong
              }else{
                this.yundong[i].is_check = false
                this.yundong[i].check = 0
              }
            }
            this.date = text.date
            this.Glas_pinggu = text.Glas_pinggu
            this.glasgow_input = text.glasgow_input
            this.Glasgow_Totalpoints =text.total
          }
        }
      })
    },
    // 删除
    Glas_dele(){
      if(this.dele_id !=''){
        this.append=false
        this.Glas_gzdayin=false
        this.Glasadd_show=true
        this.Glas_baoxiao=false
        this.cancel_num=0
        this.dele_dialogVisible=true
      }else{
        this.$message('请选择需要删除的记录')
      }

    },
    // 确认删除
    deleclick(){
      deletePedPatientFallassment(this.dele_id).then(response =>{
        if(response.data.state == 1){
          for(let i=0;i<this.history_Glasgow.length;i++){
            if(this.dele_id==this.history_Glasgow[i].id){
              this.history_Glasgow.splice(i,1)
            }
          }
        }
      })
      this.dele_dialogVisible=false
      return this.history_Glasgow
    },
    // 取消删除
    dele_Cancel(){
      this.append=false
      this.Glasadd_show=true
      this.Glas_gzdayin=true
      this.dele_dialogVisible=false
    },
    // 取消
    Glas_quxiao(){
      // console.log('1111',this.cancel_num);
      if(this.cancel_num==0){
        this.append=false
        this.Glasadd_show=true
        this.Glas_gzdayin=false
        this.Glas_baoxiao=false
        
      //  return this.append
      }else{
        this.Glasadd_show=true
        this.Glas_gzdayin=true
        this.Glas_baoxiao=false
        this.append=true
      }
      for(let i in this.zhengyan){
        this.zhengyan[i].is_check = false
        this.zhengyan_num = 0
      }
      for(let i in this.yanyu){
        this.yanyu[i].is_check = false
        this.yuyan_num = 0
      }
      for(let i in this.yundong){
        this.yundong[i].is_check = false
        this.yundong_num = 0
      }
      this.Glas_pinggu = ''
      this.date =this.date
      this.glasgow_input = ''
      this.Glasgow_Totalpoints = 0
      // console.log('2222', this.apppend);
    },
    // 打印
    print_pingfen(){
      const style= '@media print {.diedao_content{background-color: white; width:960px;  margin:0 auto; padding: 0 0 20px 0;} .tables thead th{ text-align: center;height: 40px;} .tables tbody td{height: 40px;padding:0 10px} .tables{font-size: 16px;}}'
      printJS({
        printable: 'mingxi',
        type: 'html',
        style: style,
        scanStyles: false
      })
      this.open_print=false
    },
    // 转换时间
    getTime(val) {
        if(val < 0){
          return ""
        }
        if(val == ""){
        return ""
        }else {
        return uParseTime(val, '{y}-{m}-{d}')
        }
    },
    getTime2(val) {
        if(val < 0){
          return ""
        }
        if(val == ""){
        return ""
        }else {
        return uParseTime(val, '{y}-{m}-{d} {h}:{i}:{s}')
        }
    },
    // 评估护士
    getpinggr(id){
      for(let i in this.pinggr){
        if(id == this.pinggr[i].id){
          return this.pinggr[i].label
        }
      }
    },
    // 数据源
    getlist(){
        var params = {
          patient_id:this.patientID,
          limit:this.limit,
          is_type:11,
          page:this.page,
        }
      getPatientBedlist(params).then(response=>{
        if(response.data.state ==1){
          var list = response.data.data.list
          list.forEach((item) => {
            if(item.text !=''){
              var text = JSON.parse(item.text)
                const arr ={
                  id:item.id,
                  date:text.date,
                  mark:text.total,
                  evaluate:this.getpinggr(text.Glas_pinggu),
                  glasgow_input:text.glasgow_input,
                  list:text
                }
                this.history_Glasgow.push(arr)
            }
          });
          var total = response.data.data.total
          console.log('list',list);
        }
      })
      return this.history_OH
    },
    // 患者信息
    tranpatient(event){
      console.log('event',event);
      this.Patient_info={
        name:event.name,
        dialysis_no:event.dialysis_no
      }
    },
  },
  computed:{
    Glasgow_Totalpoints:{
      get(){
        this.glasgow_zong = this.zhengyan_num*1 + this.yuyan_num*1 + this.yundong_num*1
        return this.glasgow_zong
      },
      set(val){
        return this.glasgow_zong = val
      }
       
    }
  }
}
</script>
<style lang="scss" scoped>
  .content_top{
    display: flex;
    justify-content: space-between;
  }
  .bottoms{
      display: inline-block;
      margin-left: 10px;
      margin-top: 5px;
  }
  .shuoming p{
    margin-top: 5px;
    color: rgb(167, 165, 165);
  }
  .table{
      border: 1px solid #DCDFE6;
      border-collapse:collapse;
      border-spacing: 0;
      thead th{
          background: #0077ff9f;
          color: white;
          text-align: center;
          height: 40px;
      }
      tbody td{
          height: 40px;
      }
      .start{
          text-align: center;
      }
      .bing{
          width: 150px;
          text-align: center;
      }
      .bg_color{
          background: rgb(243, 240, 240);
      }
      .jiange{
          margin: 5px 0px 5px 20px;
          color: black;
      }
      .rightjiange{
        margin-right: 40px;
        font-size: 15px;
      }
      .ttbwzz-type-a {
        min-width: 80px;
        margin-right: 30px;
        padding: 5px 0px;
        font-size: 15px;
      }
      input{
          -webkit-appearance: checkbox;
      }
  }
#ctrl-xgtlpic-mask.readonly {
  z-index: 2000;
}
#ctrl-xgtlpic-mask {
    width: 85%;
    height: 100%;
    position: absolute;
    left: 196px;
    top: 131px;
    opacity: 0;
    z-index: -1;
}
.tables {

  thead th{
    text-align: center;
    height: 40px;
  }
  tbody td{
    padding:0 10px;
    height: 40px;
  }
  input{
    -webkit-appearance: checkbox;
  }
}
</style>
