<script lang="ts" setup>
|
import { ref } from 'vue';
|
|
import { message, Modal, Textarea } from 'ant-design-vue';
|
|
import { rejectProfileChange } from '#/api/ums/member/profile';
|
|
const emit = defineEmits(['success']);
|
|
const open = ref(false);
|
const submitting = ref(false);
|
const changeId = ref<number>();
|
const remark = ref('');
|
|
function show(id: number) {
|
changeId.value = id;
|
remark.value = '';
|
open.value = true;
|
}
|
|
async function handleOk() {
|
if (!remark.value.trim()) {
|
message.warning('请填写驳回原因');
|
return;
|
}
|
if (!changeId.value) {
|
return;
|
}
|
submitting.value = true;
|
try {
|
await rejectProfileChange(changeId.value, remark.value.trim());
|
message.success('已驳回该资料变更申请');
|
open.value = false;
|
emit('success');
|
} finally {
|
submitting.value = false;
|
}
|
}
|
|
defineExpose({ show });
|
</script>
|
|
<template>
|
<Modal
|
v-model:open="open"
|
title="驳回资料变更申请"
|
:confirm-loading="submitting"
|
ok-text="确认驳回"
|
cancel-text="取消"
|
@ok="handleOk"
|
>
|
<div class="mb-2 text-sm text-gray-500">
|
驳回原因会展示给会员,请说明具体需要修改的内容。
|
</div>
|
<Textarea
|
v-model:value="remark"
|
:rows="4"
|
:maxlength="200"
|
show-count
|
placeholder="请输入驳回原因,例如:联系电话格式不正确,请填写 11 位手机号"
|
/>
|
</Modal>
|
</template>
|