투표수정정

This commit is contained in:
khj0414 2025-03-20 14:56:00 +09:00
parent 733510213a
commit 946ec28ec8
5 changed files with 29 additions and 13 deletions

View File

@ -19,6 +19,9 @@
@focusout="$emit('focusout', modelValue)"
@input="handleInput"
/>
<div v-if="isBtn" class="ms-2">
<slot name="append"></slot>
</div>
</div>
<div class="invalid-feedback" :class="isAlert ? 'd-block' : ''">{{ title }} 확인해주세요.</div>
<div class="invalid-feedback" :class="isCateAlert ? 'd-block' : ''">카테고리 중복입니다.</div>

View File

@ -28,7 +28,6 @@
</button>
<DeleteBtn v-if="!data.localVote.LOCVOTDDT" @click="voteDelete(data.localVote.LOCVOTSEQ)" />
</div>
<p v-if="data.localVote.LOCVOTDDT" class="btn-icon btn-danger rounded-2 pe-none"><i class="bx bx-power-off"></i></p>
</div>
</div>
</div>
@ -53,7 +52,7 @@
<small v-if="yesVotetotal != 0 && !data.localVote.LOCVOTDDT">투표 완료 : 종료시 투표 결과가 나타납니다.</small>
<!-- 투표 결과 -->
<div v-if="data.localVote.LOCVOTDDT" class="mt-3">
<vote-result-list :data="topVoters" @randomList="randomList" :randomResultNum="data.localVote.LOCVOTRES" :locvotreg="data.localVote.LOCVOTREG"/>
<vote-result-list :data="topVoters" @randomList="randomList" :randomResultNum="data.localVote.LOCVOTRES" :locvotreg="data.localVote.LOCVOTREG" />
</div>
<!-- 투표완/미완 인원 -->
<vote-user-list
@ -68,7 +67,7 @@
</template>
<script setup>
import { computed, onMounted, ref } from 'vue'
import { computed, onMounted, ref, watch } from 'vue'
import EditBtn from '@c/button/EditBtn.vue';
import DeleteBtn from '@c/button/DeleteBtn.vue';
import voteUserList from '@c/voteboard/voteUserList.vue';
@ -117,7 +116,19 @@ onMounted(() => {
if (isVoteEnded.value && !props.data.localVote.LOCVOTDDT) {
emit('voteEnded', { id: props.data.localVote.LOCVOTSEQ });
}
checkVoteCompletion();
});
//
watch(() => props.data.localVote.total_voted, () => {
checkVoteCompletion();
});
//
const checkVoteCompletion = () => {
if (props.data.localVote.total_votable === props.data.localVote.total_voted && !props.data.localVote.LOCVOTDDT) {
emit('voteEnded', { id: props.data.localVote.LOCVOTSEQ });
}
};
const addContents = (itemList, voteId) =>{
emit('addContents',itemList,voteId)
}

View File

@ -136,7 +136,7 @@ const endVoteId = (endVoteId) => {
endVoteId :endVoteId
}).then((res)=>{
if(res.data.status === 'OK'){
toastStore.onToast('투표가 종료되었습니다.', 's');
//toastStore.onToast(' .', 's');
getvoteList();
}
})

View File

@ -23,7 +23,7 @@
<form-input
title="종료날짜"
name="endDate"
type="date"
type="datetime-local"
:is-essential="true"
:is-alert="endDateAlert"
v-model="endDate"
@ -45,8 +45,14 @@
<delete-btn @click="removeItem(index)" :disabled="index < 2" />
</template>
</form-input>
<link-input v-model="item.url" class="mb-1"/>
<form-input
:title="'URL ' + (index + 1)"
:name="'url' + index"
v-model="item.url"
:is-essential="false"
class="mb-1"
/>
<!-- <link-input v-model="item.url" class="mb-1"/> -->
</div>
<plus-btn @click="addItem" :disabled="itemList.length >= 10" class="mb-3" />
@ -98,7 +104,6 @@ import PlusBtn from "@c/button/PlusBtn.vue";
import DeleteBtn from "@c/button/DeleteBtn.vue";
import $api from "@api";
import router from "@/router";
import LinkInput from "@/components/voteboard/voteLinkInput.vue";
import { voteCommon } from '@s/voteCommon';
import { useUserStore } from '@s/userList';
import { useRoute } from "vue-router";
@ -123,8 +128,6 @@ const userSet = ({ userList, userTotal }) => {
activeUserList.value = userList;
userListTotal.value = userTotal;
};
const handleUserListUpdate = ({ activeUsers, disabledUsers: updatedDisabledUsers }) => {
activeUserList.value = activeUsers;
disabledUsers.value = updatedDisabledUsers;
@ -135,7 +138,6 @@ const handleUserListUpdate = ({ activeUsers, disabledUsers: updatedDisabledUsers
UserListAlert.value = false;
}
};
const saveValid = () => {
let valid = true;
if (disabledUsers.value.length === 0) {
@ -175,7 +177,6 @@ const saveValid = () => {
}
};
const saveVote = () => {
console.log('itemList',itemList)
const filteredItemList = itemList.value.filter(item => item.content && item.content.trim() !== '');
const unwrappedUserList = toRaw(activeUserList.value);
const listId = unwrappedUserList.map(item => ({
@ -218,4 +219,5 @@ const goList = () => {
.item-input {
max-width: 200px;
}
</style>