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