<template>
  <el-dialog title="接诊评估"
              class="newDialog"
             :modal-append-to-body="false"
             :visible.sync="isVisibility"
             width="854px">
    <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
    <el-form :model="receiveTreatmentAsses" label-width="80px">
      <el-form-item label="入室方式 : " v-if="isShow('入室方式')">
        <!--<el-radio-group v-model="receiveTreatmentAsses.way">-->
          <el-radio v-for="(item,index) in way_arr" :key="index"
                    :label="item.id" v-model="receiveTreatmentAsses.way">{{item.name}}
          </el-radio>
        <!--</el-radio-group>-->

      </el-form-item>
      <el-form-item label="病人意识 : " v-if="isShow('病人意识')">



        <!--<el-radio-group v-model="receiveTreatmentAsses.consciousness">-->
          <el-radio v-for="(item,index) in consciousness_arr" :key="index"
                    :label="item.id" v-model="receiveTreatmentAsses.consciousness">{{item.name}}
          </el-radio>
        <!--</el-radio-group>-->



        <!--<el-radio v-model="receiveTreatmentAsses.consciousness" label="1">清醒</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.consciousness" label="2">嗜睡</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.consciousness" label="3">昏迷</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.consciousness" label="4">模糊</el-radio>-->


      </el-form-item>
      <el-form-item label="病人食欲 : " v-if="isShow('病人食欲')">

          <el-radio v-for="(item,index) in appetite_arr" :key="index"
                    :label="item.id" v-model="receiveTreatmentAsses.appetite">{{item.name}}
          </el-radio>



        <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="1">正常</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="2">减退</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="3">恶心</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="4">呕吐</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.appetite" label="5">腹泻</el-radio>-->
      </el-form-item>
      <el-form-item label="病人情况 : " v-if="isShow('病人情况')">
        <el-radio v-model="receiveTreatmentAsses.condition" label="1">住院</el-radio>
        <el-radio v-model="receiveTreatmentAsses.condition" label="2">门诊</el-radio>
        <el-radio v-model="receiveTreatmentAsses.condition" label="3">手术期</el-radio>
      </el-form-item>


      <el-form-item label="住院号 : "
                    v-if="this.receiveTreatmentAsses.condition == '1'">
        <el-input v-model="receiveTreatmentAsses.admission_number"></el-input>
      </el-form-item>


      <el-form-item label="体位 : " v-if="isShow('体位')">

          <el-radio v-for="(item,index) in posture_arr" :key="index"
                    :label="item.id" v-model="receiveTreatmentAsses.posture">{{item.name}}
          </el-radio>
        <!--<el-radio v-model="receiveTreatmentAsses.posture" label="1">自动体位</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.posture" label="2">平卧位</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.posture" label="3">半卧位</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.posture" label="4">端坐位</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.posture" label="5">躁动不安</el-radio>-->
      </el-form-item>

      <el-form-item label="病情: " v-if="isShow('病情')">

          <el-radio v-for="(item,index) in sick_condition_arr" :key="index"
                    :label="item.id" v-model="receiveTreatmentAsses.sick_condition">{{item.name}}
          </el-radio>
        <!--<el-radio v-model="receiveTreatmentAsses.sick_condition" label="1">一般</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.sick_condition" label="2">严重</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.sick_condition" label="3">危</el-radio>-->

      </el-form-item>

      <el-form-item label-width="100px" label="其他病情 : "
                    v-if="isShow('其他病情')">
        <el-input v-model="receiveTreatmentAsses.sick_condition_other"></el-input>
      </el-form-item>

      <el-form-item label-width="150px" label="跌倒风险评估评分 : "
                    v-if="isShow('跌倒风险评估评分')">
        <el-input v-model="receiveTreatmentAsses.score" style="width: 100px"></el-input>
      </el-form-item>


      <el-form-item label="风险程度: " v-if="isShow('风险程度')">
        <el-radio v-model="receiveTreatmentAsses.danger_level" label="1">无</el-radio>
        <el-radio v-model="receiveTreatmentAsses.danger_level" label="2">低风险</el-radio>
        <el-radio v-model="receiveTreatmentAsses.danger_level" label="3">中度风险</el-radio>
        <el-radio v-model="receiveTreatmentAsses.danger_level" label="4">高风险</el-radio>

      </el-form-item>


      <el-form-item label-width="150px" label="跌倒风险预防措施: " v-if="isShow('跌倒风险预防措施')">
        <!--<el-radio v-model="receiveTreatmentAsses.precaution" label="1">镇定剂</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.precaution" label="2">约束带</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.precaution" label="3">床栏</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.precaution" label="4">加强宣教</el-radio>-->


          <el-radio v-for="(item,index) in precaution_arr" :key="index"
                    :label="item.id" v-model="receiveTreatmentAsses.precaution">{{item.name}}
          </el-radio>
      </el-form-item>
      <el-form-item label-width="200px" label="其他跌倒风险预防措施 : "
                    v-if="isShow('其他跌倒风险预防措施')">
        <el-input v-model="receiveTreatmentAsses.precaution_other"></el-input>
      </el-form-item>


      <el-form-item label="摄入量: " v-if="isShow('摄入量')">
        <!--<el-radio v-model="receiveTreatmentAsses.intake" label="1">正常</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.intake" label="2">减少</el-radio>-->

          <el-radio v-for="(item,index) in intake_arr" :key="index"
                    :label="item.id" v-model="receiveTreatmentAsses.intake">{{item.name}}
          </el-radio>


      </el-form-item>
      <el-form-item label="营养状况: " v-if="isShow('营养状况')">
        <!--<el-radio v-model="receiveTreatmentAsses.nutrition" label="1">正常</el-radio>-->
        <!--<el-radio v-model="receiveTreatmentAsses.nutrition" label="2">营养不良</el-radio>-->

          <el-radio v-for="(item,index) in nutrition_arr" :key="index"
                    :label="item.id" v-model="receiveTreatmentAsses.nutrition">{{item.name}}
          </el-radio>


      </el-form-item>
      <el-form-item label="心理评估: " v-if="isShow('心理评估')">
        <el-radio v-model="receiveTreatmentAsses.psychological_assessment" label="1">正常</el-radio>
        <el-radio v-model="receiveTreatmentAsses.psychological_assessment" label="2">异常</el-radio>
      </el-form-item>
      <el-form-item label-width="150px" label="心理评估异常情况 : "
                    v-if="isShow('心理评估异常情况')&&receiveTreatmentAsses.psychological_assessment == 2">
        <el-input v-model="receiveTreatmentAsses.psychological_assessment_other"></el-input>
      </el-form-item>

      <el-form-item label-width="150px" label="其他心理评估 : "
                    v-if="isShow('其他心理评估')">
        <el-input v-model="receiveTreatmentAsses.psychological_other"></el-input>
      </el-form-item>

    </el-form>
    <div slot="footer" class="dialog-footer">
      <el-button @click="handleCancle">取 消</el-button>
      <el-button type="primary" v-if="hasPermission" @click="handleComfirm">保 存</el-button>
    </div>
  </el-dialog>
</template>

<script>
  import { postAccepts } from '@/api/dialysis'
  import { uParseTime } from '@/utils/tools'
  import store from '@/store'
  import { getDataConfig } from '@/utils/data'

  import request from '@/utils/request'

  export default {
    name: 'acceptsTreatmentDialog',
    data() {
      return {
        showTxt:'',
        hasPermission:true,
        isVisibility: false,
        record_date: '',
        way_arr: [],
        consciousness_arr: [],
        appetite_arr: [],
        posture_arr: [],
        sick_condition_arr: [],
        precaution_arr: [],
        intake_arr: [],
        nutrition_arr: [],
        receiveTreatmentAsses: {
          way: '1',
          consciousness: '1',
          appetite: '1',
          condition: '1',
          posture: '1',
          sick_condition: '1',
          danger_level: '1',
          intake: '1',
          nutrition: '1',
          psychological_assessment: '1',
          psychological_assessment_other: '',
          sick_condition_other: '',
          score: '',
          psychological_other: '',
          precaution: '1',
          precaution_other: '',
          admission_number:'',



        }
      }
    },
    methods: {
      isShow(name) {
        var filedList = store.getters.xt_user.fileds
        for (let i = 0; i < filedList.length; i++) {
          if (filedList[i].module == 2 && filedList[i].filed_name_cn == name && filedList[i].is_show == 1) {
            return true
          }
        }
        return false
      },
      show(accepts) {
        this.accepts = accepts
        console.log("accepts",accepts)
        this.getPermission()
        for (var index in this.receiveTreatmentAsses) {
          if (index == 'condition' || index == 'danger_level' || index == 'psychological_assessment') {
            this.receiveTreatmentAsses[index] = this.receiver_treatment_access[index] + ''
          } else {
            this.receiveTreatmentAsses[index] = this.receiver_treatment_access[index]
          }
        }
        this.isVisibility = true
      },
      hide() {
        this.isVisibility = false
      },
      handleCancle: function() {
        this.isVisibility = false

      },
      handleComfirm: function() {
        let ParamsQuery = this.receiveTreatmentAsses
        ParamsQuery['patient'] = this.patient.id
        ParamsQuery['record_date'] = this.record_date
        console.log(this.receiver_treatment_access)
        ParamsQuery['mode'] = "1"
        if(this.receiver_treatment_access.id > 0){
          ParamsQuery['mode'] = "2"
          if(this.$store.getters.xt_user.user.id != this.receiver_treatment_access.creater){
            ParamsQuery['mode'] = "3"
          }
        }

        postAccepts(ParamsQuery).then(response => {
          if (response.data.state == 0) {
            this.$message.error(response.data.msg)
            return false
          } else {
            this.$notify({
              title: '成功',
              message: '提交成功',
              type: 'success',
              duration: 2000
            })

            let receive_treatment_asses_resp = response.data.data.receiveTreatmentAsses
            //prop
            var receiver_treatment_access = this.receiver_treatment_access
            for (var index in receive_treatment_asses_resp) {
              // receiver_treatment_access[index] = receive_treatment_asses_resp[index];
              this.$set(receiver_treatment_access, index, receive_treatment_asses_resp[index])
            }
            this.hide()
          }
        })

      },
      getPermission(){
      request.get("/api/func_per/get",{
        params:{
          create_url:"/api/dialysis/accepts?mode=1",
          modify_url:"/api/dialysis/accepts?mode=2",
          modify_other_url:"/api/dialysis/accepts?mode=3",
          module:2
        }
      }).then(res => {
        console.log(res)
        console.log("接诊",this.accepts)
        if(res.data.state == 0){
          this.hasPermission = false
        }else if(res.data.state == 1){
          if(this.accepts.id != "" && this.accepts.creater != 0){//有数据
            if(this.accepts.creater == this.$store.getters.xt_user.user.id){//创建人是自己
              if(res.data.data.is_has_modify == false){
                this.hasPermission = false
                this.showTxt = "你没有修改接诊评估权限"
              }
            }else{//创建人不是自己
              if(res.data.data.is_has_modify_other == false){
                this.hasPermission = false
                this.showTxt = "你没有修改他人接诊评估权限"
              }
            }
          }else if(this.accepts.id == "" || this.accepts.creater == 0){
            if(res.data.data.is_has_create  == false){
              this.hasPermission = false
              this.showTxt = "你没有新增接诊评估权限"
            }
          }
        }
      })
    }
    },
    props: {
      receiver_treatment_access: { // 双人核对
        type: Object,
        default: () => {
          return { id: 0 }
        }
      },
      patient: { // 患者信息
        type: Object,
        default: () => {
          return { id: 0 }
        }
      }
    }, watch: {
      isVisibility(val) {

      },
      'receiver_treatment_access.id': function() {
        if (this.receiver_treatment_access.id > 0) {
          for (var index in this.receiveTreatmentAsses) {
            this.receiveTreatmentAsses[index] = this.receiver_treatment_access[index]
          }
        }
      }
    }, created() {
      console.log("接诊评估",this.receiver_treatment_access)
      var date = this.$route.query && this.$route.query.date
      this.record_date = uParseTime(date, '{y}-{m}-{d}')

      this.way_arr = getDataConfig('hemodialysis', 'way')
      this.consciousness_arr = getDataConfig('hemodialysis', 'consciousness')
      this.appetite_arr = getDataConfig('hemodialysis', 'appetite')
      this.posture_arr = getDataConfig('hemodialysis', 'posture')
      this.sick_condition_arr = getDataConfig('hemodialysis', 'sick_condition')
      this.precaution_arr = getDataConfig('hemodialysis', 'precaution')
      this.intake_arr = getDataConfig('hemodialysis', 'intake')
      this.nutrition_arr = getDataConfig('hemodialysis', 'nutrition')

    }

  }
</script>

<style scoped>
.warnTxt{
  text-align: center;
  margin: 0 auto;
  background: #faa331;
  max-width: 240px;
  padding: 10px 20px;
  border-radius: 4px;
  margin-bottom: 10px;
  color:#fff;
}
</style>
<style lang="scss">
.newDialog{
  .el-dialog__body{
    padding: 10px 20px 30px;
  }
}
</style>
