elementplus-vue-审核按钮-对话框(Dialog )

效果图:

 代码:

<template>

  <el-button type="success" @click="dialogVisible = true" :icon="Edit">审核</el-button>

  <el-dialog

    v-model="dialogVisible"

    title="是否通过"

    width="500"

    align-center

  >

  <el-dialog

      v-model="innerVisible"

      width="500"

      title="说明理由"

      append-to-body

    >

  <!-- 新增不通过原因输入区域 -->

  <div v-if="value === 'not_pass'" style="margin-top: 16px;">

    <el-form>

      <el-form-item label="不通过原因">

        <el-input v-model="rejectReason" placeholder="请输入不通过原因"></el-input>

      </el-form-item>

    </el-form>

      <!-- 新增不通过原因确认按钮 -->

    <div class="dialog-footer" v-if="value === 'not_pass'">

      <el-button @click="RejectReasonCancel">取消</el-button>

      <el-button type="primary" @click="RejectReasonSubmit">确认并关闭</el-button>

    </div>

  </div>

    </el-dialog>

     <template #footer>

    <div class="dialog-footer">

      <el-select v-model="value" placeholder="请选择审核结果">

        <el-option

        v-for="item in options"

        :key="item.value"

        :label="item.label"

        :value="item.value"

        />          

      </el-select>

      <el-button @click="handleClose">取消</el-button>

      <el-button type="primary" @click="handleSubmit">确定</el-button>

    </div>

  </template>

  </el-dialog>

 

</template>

<script lang="ts" setup>

import { ElMessage, ElMessageBox } from 'element-plus'

import { Edit } from '@element-plus/icons-vue'

import { ref } from 'vue'

const dialogVisible = ref(false);

// 嵌套的对话框

const innerVisible = ref(false);

const value = ref('')

const rejectReason = ref('');

const RejectReasonSubmit = () => {

// 提交不通过原因的逻辑,这里仅为演示关闭对话框

  ElMessage({

    message: '不通过原因已记录',

    type: 'success',

  });

// 关闭内外两个对话框

  innerVisible.value = false;

  dialogVisible.value = false;

};


 

const RejectReasonCancel = () => {

    innerVisible.value = false;

};

const handleClose =() =>{

  ElMessage({

    message:'取消操作',

    type:'info'

  })

  dialogVisible.value = false;

};

const handleSubmit =() =>{

  if(value.value ==='not_pass'){

    innerVisible.value = true;

  }else{

  ElMessage({

    message: '审核通过',

    type:'success'

  })

  dialogVisible.value = false;

  }

};

const options = [

  {

    value: 'pass',

    label: '通过',

  },

  {

    value: 'not_pass',

    label: '不通过',

  },

];

</script>

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值