liu
3 天以前 fe2d6627b8f1002af7a31b08f6f43bec034d04ee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<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>