This commit is contained in:
dyhj625 2025-04-10 15:44:30 +09:00
parent 4c5b4481b6
commit 2bd64142ac

View File

@ -47,12 +47,14 @@
<div class="col-2 d-flex align-items-center"> <div class="col-2 d-flex align-items-center">
<div> <div>
<div> <div>
<label class="switch" <label class="switch">
><input <input
type="checkbox" type="checkbox"
:checked="checked" :checked="member.isAccepted"
@change="handleRegisterMember(member.MEMBERSEQ)" /><span class="slider round"></span @click="handleToggle($event, member)"
></label> />
<span class="slider round"></span>
</label>
</div> </div>
<button <button
class="btn-close btn-close-sm" class="btn-close btn-close-sm"
@ -76,41 +78,73 @@
import $api from '@api'; import $api from '@api';
const memberList = ref([]); const memberList = ref([]);
const checked = ref(false);
const toast = useToastStore();
const imgURL = import.meta.env.VITE_SERVER_IMG_URL; const imgURL = import.meta.env.VITE_SERVER_IMG_URL;
const toast = useToastStore();
// api // API
const fetchRegisterMemberList = async () => { const fetchRegisterMemberList = async () => {
try {
const { data } = await $api.get('main/registerMemberList'); const { data } = await $api.get('main/registerMemberList');
if (data?.data) memberList.value = data.data;
};
// api
const handleRegisterMember = async memberSeq => {
const { data } = await $api.post('main/registerMember', { memberSeq: memberSeq });
if (data?.data) { if (data?.data) {
toast.onToast(data.data, 's'); // : MEMBERROL 'ROLE_REGISTERED' ()
fetchRegisterMemberList(); memberList.value = data.data
} else { .filter(member => member.MEMBERSEQ !== 1)
if (data?.message) toast.onToast(data.message, 'e'); .map(member => ({
...member,
isAccepted: member.MEMBERROL === 'ROLE_REGISTERED'
}));
}
} catch (error) {
toast.onToast('사용자 목록을 불러오지 못했습니다.', 'e');
} }
}; };
// api // API ()
// :
const handleRegisterMember = async (memberSeq, event) => {
event.preventDefault(); //
try {
const { data } = await $api.post('main/registerMember2', { memberSeq });
if (data?.data) {
toast.onToast(data.data, 's');
await fetchRegisterMemberList();
return true;
} else {
if (data?.message) toast.onToast(data.message, 'e');
return false;
}
} catch (error) {
toast.onToast('사원 등록에 실패했습니다.', 'e');
return false;
}
};
// API
const handleRejectMember = async memberSeq => { const handleRejectMember = async memberSeq => {
if (!confirm('해당 사원 등록을 거절하시겠습니까?')) return; if (!confirm('해당 사원 등록을 거절하시겠습니까?')) return;
try {
const { data } = await $api.post('main/rejectMember', { memberSeq: memberSeq }); const { data } = await $api.post('main/rejectMember', { memberSeq });
if (data?.data) { if (data?.data) {
toast.onToast(data.data, 's'); toast.onToast(data.data, 's');
fetchRegisterMemberList(); await fetchRegisterMemberList();
} else { } else {
if (data?.message) toast.onToast(data.message, 'e'); if (data?.message) toast.onToast(data.message, 'e');
} }
} catch (error) {
toast.onToast('사원 등록 거절에 실패했습니다.', 'e');
}
}; };
// : API
async function handleToggle(event, member) {
event.preventDefault(); // UI
await handleRegisterMember(member.MEMBERSEQ, event);
}
onMounted(async () => { onMounted(async () => {
await fetchRegisterMemberList(); await fetchRegisterMemberList();
}); });
</script> </script>
<style scoped>
</style>