<template>
  <el-dialog
    class="newDialog"
    title="治疗小结"
    width="854px"
    :visible.sync="isVisibility"
    :modal-append-to-body="false"
  > 
    <div class="warnTxt" v-if="showTxt != ''">{{ showTxt }}</div>
    <el-form :model="treatmentSummary">
      <el-row :gutter="20">
        <el-col :span="24">
          <el-form-item label="宣教知识：">
            <el-select @change="dialysisAfterTeachSelectChange" v-model="value">
              <el-option v-for="(item,index) in education" :label="item.text" :value="item.value" :key="index"></el-option>
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-form-item>
        <el-input type="textarea" v-model="treatmentSummary.mission" :rows="4"></el-input>
      </el-form-item>
      <el-row :gutter="20">
        <el-col :span="24">
          <el-form-item label="透析小结：">
            <el-select @change="dialysisSummarySelectChange" v-model="value2">
              <el-option v-for="(item,index) in summary" :label="item.text" :value="item.value" :key="index"></el-option>
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-form-item>
        <el-input type="textarea" v-model="treatmentSummary.dialysis_summary" :rows="4"></el-input>
      </el-form-item>
    </el-form>
    <div slot="footer" class="dialog-footer">
      <el-button @click="handleCancle">取 消</el-button>
      <el-button type="primary" @click="handleComfirm" v-if="hasPermission">保 存</el-button>
    </div>
  </el-dialog>
</template>

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

import request from '@/utils/request'

export default {
    name: 'treatmentSummaryDialog',

    props: {
      treatment_summary: { // 治疗小结
        type: Object,
        default: () => {
          return { id: 0 }
        }
      }, patient: { // 患者信息
        type: Object,
        default: () => {
          return { id: 0 }
        }
      }

    },
    data() {
      return {
        showTxt:'',
        hasPermission:true,
        value: '',
        value2: '',

        isVisibility: false,
        record_date: '',
        education: [],
        summary: [],
        treatmentSummary: {
          mission: '',
          dialysis_summary: '',
          sj_nurse: '',
          zl_nurse: '',
          hd_nurse: '',
          xj_nurse: '',
          zl_doctor: ''
        }
      }
  },
    methods: {
      show(record) {
        this.isVisibility = true
        this.record = record
        console.log("治疗小结",record)
        this.getPermission()
      },
      hide() {
        this.isVisibility = false
      },
      dialysisAfterTeachSelectChange: function(values) {
        if (this.treatmentSummary.mission == '') {
          this.treatmentSummary.mission = values
        } else {
          if (this.treatmentSummary.mission.indexOf(values) == -1) {
            if (this.treatmentSummary.mission.charAt(this.treatmentSummary.mission.length - 1).indexOf('。') == -1) {
              this.treatmentSummary.mission = this.treatmentSummary.mission + ',' + values
            } else {
              this.treatmentSummary.mission = this.treatmentSummary.mission + values
            }
          }
        }
      }, dialysisSummarySelectChange: function(values) {
        if (this.treatmentSummary.dialysis_summary == '') {
          this.treatmentSummary.dialysis_summary = values
        } else {
          if (this.treatmentSummary.dialysis_summary.indexOf(values) == -1) {
            if (this.treatmentSummary.dialysis_summary.charAt(this.treatmentSummary.dialysis_summary.length - 1).indexOf('。') == -1) {
              this.treatmentSummary.dialysis_summary = this.treatmentSummary.dialysis_summary + ',' + values
            } else {
              this.treatmentSummary.dialysis_summary = this.treatmentSummary.dialysis_summary + ',' + values
              this.treatmentSummary.dialysis_summary = this.treatmentSummary.dialysis_summary + values
            }
          }
        }
      }, handleCancle: function() {
        this.isVisibility = false
      }, handleComfirm: function() {
        const ParamsQuery = this.treatmentSummary
        ParamsQuery['patient'] = this.patient.id
        ParamsQuery['record_date'] = this.record_date
        ParamsQuery['mode'] = "1"
        if(this.treatment_summary.id > 0){
          ParamsQuery['mode'] = "2"
          if(this.treatment_summary.creater != this.$store.getters.xt_user.user.id){
            ParamsQuery['mode'] = "3"
          }
        }
        postTreatmentsummary(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
            })

            const summary_resp = response.data.data.summary
            // prop
            var treatment_summary = this.treatment_summary
            for (var index in summary_resp) {
              // treatment_summary[index] = summary_resp[index];
              this.$set(treatment_summary, index, summary_resp[index])
            }

            this.hide()
          }
        })
      },
      getPermission(){
        request.get("/api/func_per/get",{
          params:{
            create_url:"/api/dialysis/treatmentsummary?mode=1",
            modify_url:"/api/dialysis/treatmentsummary?mode=2",
            modify_other_url:"/api/dialysis/treatmentsummary?mode=3",
            module:9
          }
        }).then(res => {
          console.log(res)
          console.log("小结",this.record)
          if(res.data.state == 0){
            this.hasPermission = false
          }else if(res.data.state == 1){
            if(this.record.id != "" && this.record.creater != 0){//有数据
              if(this.record.creater == this.$store.getters.user.admin.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.record.id == "" || this.record.creater == 0){
              if(res.data.data.is_has_create  == false){
                this.hasPermission = false
                this.showTxt = "你没有新增治疗小结权限"
              }
            }
          }
        })
      }
    }, watch: {
      isVisibility(val) {

      },
      'treatment_summary.id': function() {
        if (this.treatment_summary.id > 0) {
          for (var index in this.treatmentSummary) {
            this.treatmentSummary[index] = this.treatment_summary[index]
          }
        }
      }
    }, created() {
      this.education = getDataConfig('education', 'education')
      this.summary = getDataConfig('summary', 'summary')

      var date = this.$route.query && this.$route.query.date
      this.record_date = uParseTime(date, '{y}-{m}-{d}')
  }
  }
</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>
