Files
xj-admin/src/views/check/components/RejectReasonModal.vue
T
wanghao a2a0e274f4 feat(resource): 新增急救宣教资源管理、分类标签、审核管理模块
- 资源管理:列表筛选 + 新增/编辑弹窗 + 移动端预览 + 版本历史,已接入后端 RESTful 接口
- 分类与标签:左侧分类树(支持新增子分类/编辑/删除)+ 右侧标签云管理
- 审核管理:待审核/已通过/已驳回/审核记录四个 tab,驳回原因弹窗已接入审核接口
- 开发环境 API 地址切换为同事本地后台
2026-06-23 17:54:28 +08:00

44 lines
1.5 KiB
Vue

<template>
<BasicModal v-bind="$attrs" @register="registerModal" title="填写驳回原因" :width="520" :minHeight="300" @ok="handleSubmit">
<a-form layout="vertical">
<a-form-item label="驳回原因" required>
<a-textarea v-model:value="reason" :rows="5" placeholder="请填写驳回原因,将通知内容编辑人员修改..." />
</a-form-item>
</a-form>
</BasicModal>
</template>
<script setup lang="ts">
import { ref } from 'vue';
import { BasicModal, useModalInner } from '/@/components/Modal';
import { useMessage } from '/@/hooks/web/useMessage';
import { rejectApi } from '../check.api';
const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage();
const reason = ref('');
const record = ref<any>({});
const submitting = ref(false);
const [registerModal, { closeModal, setModalProps }] = useModalInner(async (data) => {
record.value = data?.record || {};
reason.value = '';
});
async function handleSubmit() {
if (!reason.value.trim()) {
createMessage.warning('请填写驳回原因');
return;
}
setModalProps({ confirmLoading: true });
try {
await rejectApi({ id: record.value.id, reason: reason.value });
createMessage.success('已驳回,通知已发送');
emit('success');
closeModal();
} finally {
setModalProps({ confirmLoading: false });
}
}
</script>