Merge branch 'khj'
This commit is contained in:
commit
e9c0b09d93
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="card mb-6">
|
||||
<div class="card mb-6" :class="{'disabled-class': data.localVote.LOCVOTDDT}" >
|
||||
<div class="card-body" v-if="!data.localVote.LOCVOTDEL" >
|
||||
<h5 class="card-title mb-1">
|
||||
<div class="list-unstyled users-list d-flex align-items-center gap-1">
|
||||
@ -18,7 +18,7 @@
|
||||
</div>
|
||||
<div class="add-btn d-flex align-items-center">
|
||||
<!-- 투표완료시 -->
|
||||
<i v-if="data.yesVotetotal == '1'" class="bx bxs-check-circle link-success"></i>
|
||||
<i v-if="yesVotetotal != '0'" class="bx bxs-check-circle link-success"></i>
|
||||
<!-- 투표작성자만 수정/삭제/종료 가능 -->
|
||||
<div v-if="userStore.user.id === data.localVote.LOCVOTREG">
|
||||
<button
|
||||
@ -27,8 +27,9 @@
|
||||
class="bx btn btn-danger"
|
||||
@click="endBtn(data.localVote.LOCVOTSEQ)"
|
||||
>종료</button>
|
||||
<DeleteBtn @click="voteDelete(data.localVote.LOCVOTSEQ)" />
|
||||
<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"><i class="bx bx-power-off"></i></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -37,21 +38,23 @@
|
||||
<h5 class="mb-1">{{ data.localVote.LOCVOTTTL }}</h5>
|
||||
<small >{{ data.localVote.formatted_LOCVOTRDT }} ~ {{ data.localVote.formatted_LOCVOTEDT }}</small>
|
||||
<!-- 투표안했을시-->
|
||||
<div v-if="data.localVote.LOCVOTDDT && data.voteResult.length == 0">
|
||||
<div v-if="data.localVote.LOCVOTDDT && voteResult == 0">
|
||||
<small class="text-primary text-uppercase">투표 결과없음 (😂아무도 투표하지 않았습니다)</small>
|
||||
</div>
|
||||
<div v-else>
|
||||
<vote-card-check
|
||||
v-if="data.yesVotetotal == 0"
|
||||
v-if="yesVotetotal == 0 && !data.localVote.LOCVOTDDT"
|
||||
@addContents="addContents"
|
||||
@checkedNames="checkedNames"
|
||||
:data="data.voteDetails"
|
||||
:voteInfo="data.localVote"
|
||||
:total="data.voteDetails.length "/>
|
||||
|
||||
<small v-if="yesVotetotal != 0 && !data.localVote.LOCVOTDDT">투표 완료 : 종료시 투표 결과가 나타납니다.</small>
|
||||
|
||||
<!-- 투표 결과 -->
|
||||
<div v-if="data.localVote.LOCVOTDDT" class="mt-3">
|
||||
<vote-result-list :data="data.voteResult" @randomList="randomList" :randomResultNum="data.localVote.LOCVOTRES"/>
|
||||
<vote-result-list :data="data.voteDetails" @randomList="randomList" :randomResultNum="data.localVote.LOCVOTRES"/>
|
||||
</div>
|
||||
<!-- 투표완/미완 인원 -->
|
||||
<vote-user-list
|
||||
@ -85,6 +88,13 @@ const props = defineProps({
|
||||
required: false,
|
||||
},
|
||||
});
|
||||
const voteResult = computed(() => {
|
||||
return props.data.voteDetails.reduce((sum, item) => sum + item.VOTE_COUNT, 0);
|
||||
});
|
||||
const yesVotetotal = computed(() => {
|
||||
return props.data.voteDetails.reduce((sum, item) => sum + item.yesvote, 0);
|
||||
});
|
||||
|
||||
const baseUrl = $api.defaults.baseURL.replace(/api\/$/, '');
|
||||
const userStore = useUserInfoStore();
|
||||
const currentDate = new Date();
|
||||
|
||||
@ -10,27 +10,26 @@
|
||||
:selectedValues="checkedNames"
|
||||
@update:selectedValues="updateCheckedNames"
|
||||
/>
|
||||
<div v-if="voteInfo.LOCVOTADD ==='1' && index === data.length - 1" class="d-flex align-items-center">
|
||||
<div class="d-flex flex-column gap-2">
|
||||
<div v-for="(item, index) in itemList" :key="index" class="d-flex align-items-start">
|
||||
<form-input
|
||||
class="flex-grow-1 me-2"
|
||||
<div v-if="voteInfo.LOCVOTADD ==='1' && index === data.length - 1">
|
||||
<div v-for="(item, index) in itemList" :key="index" class="d-flex align-items-start mt-2">
|
||||
<div class="flex-grow-1 me-2 ">
|
||||
<form-input
|
||||
:title="'항목 ' + (index + data.length + 1)"
|
||||
:name="'content' + index"
|
||||
:is-essential="false"
|
||||
:is-alert="contentAlerts[index]"
|
||||
v-model="item.content"
|
||||
/>
|
||||
<link-input v-model="item.url" />
|
||||
<delete-btn @click="removeItem(index)" class="ms-2" />
|
||||
/>
|
||||
<link-input v-model="item.url" />
|
||||
</div>
|
||||
<div class="mb-4 d-flex justify-content">
|
||||
<plus-btn @click="addItem" :disabled="total >= 10" class="mb-3" />
|
||||
<delete-btn @click="removeItem(index)" />
|
||||
</div>
|
||||
<div class="mb-4 d-flex justify-content mt-3">
|
||||
<plus-btn @click="addItem" :disabled="total >= 10" class="mb-2" />
|
||||
<button class="btn btn-primary btn-icon mb-3" @click="addContentSave(item.LOCVOTSEQ)" :disabled="isSaveDisabled">
|
||||
<i class="bx bx-check"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
@change="onChange"
|
||||
:value="formValue"
|
||||
:disabled="isDisabled"
|
||||
:isEssential="true"
|
||||
:isEssential="false"
|
||||
/>
|
||||
</div>
|
||||
<div class="col-2 btn-margin" v-if="!isDisabled">
|
||||
|
||||
@ -77,20 +77,23 @@ const changeCheck = () =>{
|
||||
getvoteList();
|
||||
}
|
||||
//투표목록
|
||||
const getvoteList = async () => {
|
||||
const response = await $api.get('vote/getVoteList',{
|
||||
params:
|
||||
{
|
||||
page: currentPage.value
|
||||
,voteset:voteset.value
|
||||
,myVote:ischeked.value ? '1':'0'
|
||||
}
|
||||
});
|
||||
if (response.data.status === "OK") {
|
||||
PageData.value = response.data.data;
|
||||
voteListCardData.value = response.data.data.list;
|
||||
}
|
||||
};
|
||||
const getvoteList = () => {
|
||||
isLoading.value = true;
|
||||
$api.get('vote/getVoteList',{
|
||||
//목록조회시 파라미터 전달
|
||||
params:
|
||||
{
|
||||
page: currentPage.value
|
||||
,voteset:voteset.value
|
||||
,myVote:ischeked.value ? '1':'0'
|
||||
}
|
||||
}).then(res => {
|
||||
PageData.value = res.data.data;
|
||||
voteListCardData.value = res.data.data.list;
|
||||
isLoading.value = false;
|
||||
})
|
||||
};
|
||||
|
||||
const selectHandler = () =>{
|
||||
voteset.value = category.value;
|
||||
getvoteList();
|
||||
@ -148,14 +151,17 @@ const voteDelete =(id) =>{
|
||||
}
|
||||
//랜덤 1위 뽑기
|
||||
const randomList = (data,id) =>{
|
||||
isLoading.value = false;
|
||||
$api.post('vote/randomList',{
|
||||
randomList :data
|
||||
,voteid:id
|
||||
}).then((res)=>{
|
||||
if(res.data.status === 'OK'){
|
||||
toastStore.onToast('랜덤뽑기 진행되었습니다.', 's');
|
||||
getvoteList();
|
||||
}
|
||||
toastStore.onToast('랜덤뽑기 진행되었습니다.', 's');
|
||||
setTimeout(() => {
|
||||
getvoteList();
|
||||
}, 2000); // 3000ms = 3초
|
||||
}
|
||||
})
|
||||
}
|
||||
//수정
|
||||
|
||||
Loading…
Reference in New Issue
Block a user