/* eslint-disable */
<template>
  <el-form ref="taskAllocationRuleDataForm" v-loading="loading" :model="form" size="small" :rules="rules"
    label-width="130px">
    <div class="base-dialog-body">
      <!-- 阅片人 -->
      <el-form-item :label="$t('trials:reviewAssign:allocationRules:table:reader')" prop="DoctorUserId">
        <el-select v-model="form.DoctorUserId" :disabled="!!form.Id" clearable>
          <el-option v-for="item of doctorUserList" :key="item.DoctorUser.UserId"
            :label="`${item.DoctorUser.UserName}(${item.DoctorUser.FullName})`" :value="item.DoctorUser.UserId" />
        </el-select>
      </el-form-item>
      <!-- 计划受试者数量 -->
      <el-form-item :label="$t('trials:reviewAssign:allocationRules:table:plannedCount')" prop="PlanSubjectCount">
        <div style="display: flex;justify-content: left;align-items: center">
          <el-input-number v-model="form.PlanSubjectCount" :min="0" :max="1000" controls-position="right" />
        </div>
      </el-form-item>
      <!-- 状态 -->
      <el-form-item :label="$t('trials:reviewAssign:allocationRules:table:status')">
        <el-radio-group v-model="form.IsEnable">
          <el-radio v-for="item of $d.IsEnable" :key="'form.IsEnable' + item.value" :label="item.value">{{ item.label
          }}</el-radio>
        </el-radio-group>
      </el-form-item>
      <!-- 备注 -->
      <el-form-item :label="$t('trials:reviewAssign:allocationRules:table:remark')">
        <el-input v-model="form.Note" type="textarea" maxlength="100" show-word-limit />
      </el-form-item>
    </div>
    <div class="base-dialog-footer" style="text-align:right;margin-top:10px;">
      <el-form-item>
        <!-- 取消 -->
        <el-button :disabled="btnLoading" size="small" type="primary" @click="close">
          {{ $t('common:button:cancel') }}
        </el-button>
        <!-- 保存 -->
        <el-button size="small" type="primary" :loading="btnLoading" @click="save">
          {{ $t('common:button:save') }}
        </el-button>
      </el-form-item>
    </div>
  </el-form>
</template>
<script>
import { addOrUpdateTaskAllocationRule } from '@/api/trials/reading'

export default {
  name: 'AddOrUpdateTaskAllocationRuleData',
  props: {
    data: {
      type: Object,
      default() {
        return {}
      }
    },
    doctorUserList: {
      type: Array,
      default() {
        return []
      }
    },
    TaskAllocationRuleList: {
      type: Array,
      default() {
        return []
      }
    }
  },
  data() {
    return {
      form: {
        Id: null,
        TrialId: null,
        PlanSubjectCount: 0,
        DoctorUserId: null,
        IsEnable: true,
        Note: ''
      },
      rules: {
        DoctorUserId: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }],
        PlanSubjectCount: [{ required: true, message: this.$t('common:ruleMessage:select'), trigger: 'blur' }]
      },
      loading: false,
      btnLoading: false
    }
  },
  mounted() {
    this.form.TrialId = this.$route.query.trialId
    if (Object.keys(this.data).length && this.data.Id) {
      this.form = { ...this.data }
    }
  },
  methods: {
    save() {
      this.$refs.taskAllocationRuleDataForm.validate(valid => {
        console.log(valid)
        if (!valid) return
        this.btnLoading = true
        this.loading = true
        addOrUpdateTaskAllocationRule(this.form).then(res => {
          this.loading = false
          this.btnLoading = false
          // '保存成功'
          this.$message.success(this.$t('common:message:savedSuccessfully'))
          this.$emit('getList')
        }).catch(() => {
          this.loading = false
          this.btnLoading = false
        })
      })
    },
    close() { this.$emit('close') }
  }
}
</script>
<style lang="scss" scoped></style>
