코드수정정

This commit is contained in:
khj0414 2025-03-14 15:37:42 +09:00
parent 9e4207de95
commit c51da7f56d
8 changed files with 135 additions and 133 deletions

View File

@ -1,6 +1,6 @@
<template> <template>
<div v-if="data.voteMembers.some(item => item.MEMBERSEQ === userStore.user.id)" <div v-if="data.voteMembers.some(item => item.MEMBERSEQ === userStore.user.id)"
class="card mb-6" :class="{ 'disabled-class': data.localVote.LOCVOTDDT && (topVoters.length == 1 || data.localVote.LOCVOTRES || voteResult == 0)}"> class="card mb-6" :class="{ 'disabled-class': data.localVote.LOCVOTDDT && (topVoters.length == 1 || data.localVote.LOCVOTRES || voteResult == 0)}">
<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">
@ -11,29 +11,29 @@
@error="$event.target.src = '/img/icons/icon.png'" @error="$event.target.src = '/img/icons/icon.png'"
alt="user" alt="user"
/> />
<div class="w-100"> <div class="w-100">
<div class="d-flex justify-content-between"> <div class="d-flex justify-content-between">
<div class="user-info"> <div class="user-info">
<h6 class="mb-1">{{ data.localVote.MEMBERNAM }}</h6> <h6 class="mb-1">{{ data.localVote.MEMBERNAM }}</h6>
<!-- 투표완료시 --> <!-- 투표완료시 -->
</div> </div>
<div class="add-btn d-flex align-items-center"> <div class="add-btn d-flex align-items-center">
<!-- 투표작성자만 수정/삭제/종료 가능 --> <!-- 투표작성자만 수정/삭제/종료 가능 -->
<div v-if="userStore.user.id === data.localVote.LOCVOTREG"> <div v-if="userStore.user.id === data.localVote.LOCVOTREG">
<button <button
v-if="!data.localVote.LOCVOTDDT" v-if="!data.localVote.LOCVOTDDT"
type="button" type="button"
class="btn btn-label-danger btn-icon m-1" class="btn btn-label-danger btn-icon m-1"
@click="endBtn(data.localVote.LOCVOTSEQ)" @click="endBtn(data.localVote.LOCVOTSEQ)"
><i class="bx bx-power-off"></i> ><i class="bx bx-power-off"></i>
</button> </button>
<DeleteBtn v-if="!data.localVote.LOCVOTDDT" @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>
<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>
</h5> </h5>
<h5 class="mb-1">{{ data.localVote.LOCVOTTTL }} <h5 class="mb-1">{{ data.localVote.LOCVOTTTL }}
<i v-if="yesVotetotal != '0'" class="bx bxs-check-circle link-success"></i> <i v-if="yesVotetotal != '0'" class="bx bxs-check-circle link-success"></i>
@ -44,21 +44,21 @@
<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="yesVotetotal == 0 && !data.localVote.LOCVOTDDT" 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> <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="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> </div>
<!-- 투표완/미완 인원 --> <!-- 투표완/미완 인원 -->
<vote-user-list <vote-user-list
:data="data.voteMembers"/> :data="data.voteMembers"/>
</div> </div>
</div> </div>
<div v-else class="card-body"> <div v-else class="card-body">

View File

@ -2,8 +2,7 @@
<div class="card-text"> <div class="card-text">
<div class="demo-inline-spacing"> <div class="demo-inline-spacing">
<!-- 투표리스트 --> <!-- 투표리스트 -->
<div v-for="(item, index) in data" <div v-for="(item, index) in data" :key="index">
:key="index">
<vote-card-check-list <vote-card-check-list
:data="item" :data="item"
:multiIs = voteInfo.LOCVOTMUL :multiIs = voteInfo.LOCVOTMUL

View File

@ -2,11 +2,11 @@
<div class="d-flex align-items-center "> <div class="d-flex align-items-center ">
<ul class="list-group list-group-flush"> <ul class="list-group list-group-flush">
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap border-top-0 p-0"> <li class="list-group-item d-flex justify-content-between align-items-center flex-wrap border-top-0 p-0">
<div class="d-flex flex-wrap align-items-center"> <div class="d-flex flex-wrap align-items-center">
<ul class="list-unstyled users-list d-flex align-items-center avatar-group m-0 me-2"> <ul class="list-unstyled users-list d-flex align-items-center avatar-group m-0 me-2">
<vote-in-complete-user-list-card :data="data" /> <vote-in-complete-user-list-card :data="data" />
</ul> </ul>
</div> </div>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -6,13 +6,13 @@
class="avatar pull-up" class="avatar pull-up"
:aria-label="data.MEMBERSEQ" :aria-label="data.MEMBERSEQ"
:data-bs-original-title="getTooltipTitle(data)"> :data-bs-original-title="getTooltipTitle(data)">
<img <img
class="rounded-circle user-avatar border border-3" class="rounded-circle user-avatar border border-3"
:src="`${baseUrl}upload/img/profile/${data.MEMBERPRF}`" :src="`${baseUrl}upload/img/profile/${data.MEMBERPRF}`"
:style="`border-color: ${data.usercolor} !important;`" :style="`border-color: ${data.usercolor} !important;`"
@error="$event.target.src = '/img/icons/icon.png'" @error="$event.target.src = '/img/icons/icon.png'"
alt="user" alt="user"
/> />
</li> </li>
</template> </template>

View File

@ -7,7 +7,7 @@
</span> </span>
<div class="timeline-event ps-1"> <div class="timeline-event ps-1">
<div class="timeline-header"> <div class="timeline-header">
<small class="text-primary text-uppercase">투표결과</small> <small class="text-primary text-uppercase">투표결과</small>
</div> </div>
<h6 v-if="data" class="my-50">{{ data[0].LOCVOTCON }}</h6> <h6 v-if="data" class="my-50">{{ data[0].LOCVOTCON }}</h6>
<h6 v-if="randomResultNum" class="my-50">{{randomResultNum }}</h6> <h6 v-if="randomResultNum" class="my-50">{{randomResultNum }}</h6>

View File

@ -16,7 +16,7 @@
random.. random..
</button> </button>
<div class="d-grid w-100 mt-6" v-if="userStore.user.id === locvotreg"> <div class="d-grid w-100 mt-6" v-if="userStore.user.id === locvotreg">
<button v-if="!isRandom && !randomResultNum" @click="randomList" class="btn btn-primary"><i class='bx bx-sync'></i></button> <button v-if="!isRandom && !randomResultNum" @click="randomList" class="btn btn-primary"><i class='bx bx-sync'></i></button>
</div> </div>
</template> </template>

View File

@ -3,6 +3,7 @@
<div class=""> <div class="">
<!-- 투표 작성 --> <!-- 투표 작성 -->
<WriteBtn @click="voteWrite" /> <WriteBtn @click="voteWrite" />
<!-- 투표마감/투표중 셀렉트 --> <!-- 투표마감/투표중 셀렉트 -->
<div v-for="(item, index) in categoryList" @change="selectHandler" <div v-for="(item, index) in categoryList" @change="selectHandler"
:key="index" :key="index"
@ -11,13 +12,15 @@
:value="index" v-model="category"> :value="index" v-model="category">
<label class="form-check-label" :for="'inlineRadio' + index">{{ item }}</label> <label class="form-check-label" :for="'inlineRadio' + index">{{ item }}</label>
</div> </div>
<!-- 내가한 투표 보기 --> <!-- 내가한 투표 보기 -->
<div class=""> <div class="">
<div class="form-check"> <div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="defaultCheck1" v-model="ischeked" @change="changeCheck"> <input class="form-check-input" type="checkbox" value="" id="defaultCheck1" v-model="ischeked" @change="changeCheck">
<label class="form-check-label" for="defaultCheck1"> 내가 투표 </label> <label class="form-check-label" for="defaultCheck1"> 내가 투표 </label>
</div> </div>
</div> </div>
<!-- 투표리스트 --> <!-- 투표리스트 -->
<div v-if="voteListCardData.length == 0 " >투표가 없습니다.</div> <div v-if="voteListCardData.length == 0 " >투표가 없습니다.</div>
<vote-list <vote-list
@ -41,8 +44,8 @@
:currentPage="currentPage" :currentPage="currentPage"
@update:currentPage="handlePageChange" @update:currentPage="handlePageChange"
/> />
</div>
</div> </div>
</div>
</template> </template>
<script setup> <script setup>
import { getCurrentInstance, onMounted, ref } from 'vue'; import { getCurrentInstance, onMounted, ref } from 'vue';

View File

@ -1,88 +1,88 @@
<template> <template>
<div class="container-xxl flex-grow-1 container-p-y"> <div class="container-xxl flex-grow-1 container-p-y">
<div class="card mb-6"> <div class="card mb-6">
<div class="card-body"> <div class="card-body">
<div class="user-list-container"> <div class="user-list-container">
<ul class="timeline mb-1"> <ul class="timeline mb-1">
<li class="timeline-item timeline-item-transparent"> <li class="timeline-item timeline-item-transparent">
<span class="timeline-point timeline-point-info"></span> <span class="timeline-point timeline-point-info"></span>
<div class="timeline-event"> <div class="timeline-event">
<div class="timeline-header mb-2"> <div class="timeline-header mb-2">
<h6 class="mb-0">투표 인원</h6> <h6 class="mb-0">투표 인원</h6>
</div> </div>
<UserList @userListInfo="userSet" @user-list-update="handleUserListUpdate" class="mb-3" /> <UserList @userListInfo="userSet" @user-list-update="handleUserListUpdate" class="mb-3" />
<div v-if="UserListAlert" class="red">2명이상 선택해주세요 </div> <div v-if="UserListAlert" class="red">2명이상 선택해주세요 </div>
<form-input <form-input
title="제목" title="제목"
name="title" name="title"
:is-essential="true" :is-essential="true"
:is-alert="titleAlert" :is-alert="titleAlert"
v-model="title" v-model="title"
@keyup="ValidHandler('title')" @keyup="ValidHandler('title')"
/> />
<form-input <form-input
title="종료날짜" title="종료날짜"
name="endDate" name="endDate"
type="date" type="date"
:is-essential="true" :is-essential="true"
:is-alert="endDateAlert" :is-alert="endDateAlert"
v-model="endDate" v-model="endDate"
:min="today" :min="today"
@change="ValidHandlerendDate" @change="ValidHandlerendDate"
/> />
<!-- 항목 입력 반복 --> <!-- 항목 입력 반복 -->
<div v-for="(item, index) in itemList" :key="index"> <div v-for="(item, index) in itemList" :key="index">
<form-input <form-input
:title="'항목 ' + (index + 1)" :title="'항목 ' + (index + 1)"
:name="'content' + index" :name="'content' + index"
:is-essential="index < 2" :is-essential="index < 2"
:is-alert="contentAlerts[index]" :is-alert="contentAlerts[index]"
v-model="item.content" v-model="item.content"
@keyup="ValidHandler('content' + (index + 1))" @keyup="ValidHandler('content' + (index + 1))"
:is-btn="true" :is-btn="true"
> >
<template v-slot:append> <template v-slot:append>
<delete-btn @click="removeItem(index)" :disabled="index < 2" /> <delete-btn @click="removeItem(index)" :disabled="index < 2" />
</template> </template>
</form-input> </form-input>
<link-input v-model="item.url" class="mb-1"/> <link-input v-model="item.url" class="mb-1"/>
</div> </div>
<plus-btn @click="addItem" :disabled="itemList.length >= 10" class="mb-3" /> <plus-btn @click="addItem" :disabled="itemList.length >= 10" class="mb-3" />
<div> <div>
<label class="list-group-item"> <label class="list-group-item">
<input <input
class="form-check-input me-1" class="form-check-input me-1"
type="checkbox" type="checkbox"
id="addvoteitem" id="addvoteitem"
v-model="addvoteitem" v-model="addvoteitem"
/> />
항목 추가여부 항목 추가여부
</label> </label>
<label class="list-group-item"> <label class="list-group-item">
<input <input
class="form-check-input me-1" class="form-check-input me-1"
type="checkbox" type="checkbox"
id="addvotemulti" id="addvotemulti"
v-model="addvotemulti" v-model="addvotemulti"
/> />
다중투표 허용여부 다중투표 허용여부
</label> </label>
</div> </div>
</div>
</li>
</ul>
<div class="mb-4 d-flex justify-content-end">
<button type="button" class="btn btn-info" @click="goList">
<i class="bx bx-left-arrow-alt"></i>
</button>
<button type="button" class="btn btn-primary ms-1" @click="saveValid">
<i class="bx bx-check"></i>
</button>
</div> </div>
</li> </div>
</ul>
<div class="mb-4 d-flex justify-content-end">
<button type="button" class="btn btn-info" @click="goList">
<i class="bx bx-left-arrow-alt"></i>
</button>
<button type="button" class="btn btn-primary ms-1" @click="saveValid">
<i class="bx bx-check"></i>
</button>
</div> </div>
</div>
</div>
</div> </div>
</div> </div>
</template> </template>