audit-dialog.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <!-- 审核弹窗 -->
  2. <template>
  3. <ele-modal v-model="visible" title="提现审核" width="500">
  4. <el-form ref="formRef" :model="form" label-width="100px">
  5. <el-form-item label="审核结果" required>
  6. <el-radio-group v-model="form.auditResult">
  7. <el-radio :label="1">通过</el-radio>
  8. <el-radio :label="2">拒绝</el-radio>
  9. </el-radio-group>
  10. </el-form-item>
  11. </el-form>
  12. <template #footer>
  13. <el-button @click="visible = false">取消</el-button>
  14. <el-button type="primary" @click="handleSubmit">确定</el-button>
  15. </template>
  16. </ele-modal>
  17. </template>
  18. <script setup>
  19. import { ref, reactive } from 'vue';
  20. import request from '@/utils/request';
  21. import { ElMessage } from 'element-plus';
  22. const emit = defineEmits(['success']);
  23. const visible = defineModel({ type: Boolean });
  24. const form = reactive({
  25. auditResult: 1,
  26. idList: []
  27. });
  28. const formRef = ref();
  29. // 打开弹窗
  30. const handleOpen = (ids) => {
  31. form.idList = Array.isArray(ids) ? ids : [ids];
  32. form.auditResult = 1;
  33. visible.value = true;
  34. };
  35. // 提交审核
  36. const handleSubmit = async () => {
  37. try {
  38. request
  39. .post('/sys/finance/withdrawAudit', {
  40. idList: form.idList,
  41. auditResult: form.auditResult
  42. })
  43. .then((res) => {
  44. if (res.data.code === 200) {
  45. ElMessage.success('审核成功');
  46. visible.value = false;
  47. emit('success');
  48. } else {
  49. ElMessage.error(res.data.msg);
  50. }
  51. });
  52. } catch (error) {
  53. console.error('审核失败:', error);
  54. }
  55. };
  56. defineExpose({
  57. handleOpen
  58. });
  59. </script>