This commit is contained in:
parent
cb5e274ac1
commit
1be47c1a58
@ -54,7 +54,7 @@
|
|||||||
<p>{{ selectedPerson.MEMBERARR }} {{ selectedPerson.MEMBERDTL }}</p>
|
<p>{{ selectedPerson.MEMBERARR }} {{ selectedPerson.MEMBERDTL }}</p>
|
||||||
<hr />
|
<hr />
|
||||||
<!-- 추가 정보: 사용자가 속한 프로젝트 목록 -->
|
<!-- 추가 정보: 사용자가 속한 프로젝트 목록 -->
|
||||||
<h5>소속 프로젝트</h5>
|
<h5>참여 프로젝트</h5>
|
||||||
<div v-if="memberProjects.length > 0">
|
<div v-if="memberProjects.length > 0">
|
||||||
<ul>
|
<ul>
|
||||||
<li
|
<li
|
||||||
@ -64,13 +64,20 @@
|
|||||||
>
|
>
|
||||||
<span class="project-name">{{ project.PROJCTNAM }}</span>
|
<span class="project-name">{{ project.PROJCTNAM }}</span>
|
||||||
<span class="project-period">
|
<span class="project-period">
|
||||||
{{ project.userStartDate }} ~ {{ project.userEndtDate }}
|
<!-- projectEndDate가 있는 경우 -->
|
||||||
|
<template v-if="project.projectEndDate">
|
||||||
|
{{ project.userStartDate ? project.userStartDate : project.projectStartDate }} ~ {{ project.userEndDate ? project.userEndDate : project.projectEndDate }}
|
||||||
|
</template>
|
||||||
|
<!-- 없으면 종료일 표시 안함 -->
|
||||||
|
<template v-else>
|
||||||
|
{{ project.userStartDate ? project.userStartDate : project.projectStartDate }} ~
|
||||||
|
</template>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<p>소속된 프로젝트가 없습니다.</p>
|
<p>참여중인 프로젝트가 없습니다.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -92,8 +99,8 @@ setup() {
|
|||||||
const allUserList = ref([]) // 전체 사원 목록
|
const allUserList = ref([]) // 전체 사원 목록
|
||||||
const user = ref({}) // 현재 로그인한 사용자 (필요 시 사용)
|
const user = ref({}) // 현재 로그인한 사용자 (필요 시 사용)
|
||||||
const showModal = ref(false) // 모달 표시 여부
|
const showModal = ref(false) // 모달 표시 여부
|
||||||
const selectedPerson = ref({}) // 모달에 표시할 선택된 사원 정보
|
const selectedPerson = ref({})// 모달에 표시할 선택된 사원 정보
|
||||||
const memberProjects = ref([]) // 선택된 사원의 프로젝트 목록
|
const memberProjects = ref([])// 선택된 사원의 프로젝트 목록
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
try {
|
try {
|
||||||
@ -118,38 +125,12 @@ setup() {
|
|||||||
event.target.src = defaultProfile
|
event.target.src = defaultProfile
|
||||||
}
|
}
|
||||||
|
|
||||||
// 선택된 사원의 프로젝트 목록을 API로 조회하고,
|
// 참여 프로젝트
|
||||||
// 각 프로젝트에 대해 "project/period/{projctSeq}"를 호출하여
|
|
||||||
// 선택된 사원의 MEMBERSEQ와 일치하는 기간 정보를 설정합니다.
|
|
||||||
const fetchMemberProjects = async (memberSeq) => {
|
const fetchMemberProjects = async (memberSeq) => {
|
||||||
try {
|
try {
|
||||||
const res = await axios.get(`project/${memberSeq}`)
|
const res = await axios.get(`project/people/${memberSeq}`)
|
||||||
let projects = res.data.data
|
memberProjects.value = res.data.data
|
||||||
const projectsWithPeriod = await Promise.all(
|
console.log(memberProjects.value)
|
||||||
projects.map(async (project) => {
|
|
||||||
try {
|
|
||||||
const periodRes = await axios.get(`project/period/${project.PROJCTSEQ}`)
|
|
||||||
if (periodRes.data.data && periodRes.data.data.length > 0) {
|
|
||||||
const matchingPeriod = periodRes.data.data.find(
|
|
||||||
item => item.MEMBERSEQ == selectedPerson.value.MEMBERSEQ
|
|
||||||
)
|
|
||||||
if (matchingPeriod) {
|
|
||||||
project.userStartDate = matchingPeriod.projectStartDate
|
|
||||||
project.userEndtDate = matchingPeriod.projectEndDate
|
|
||||||
} else {
|
|
||||||
project.userStartDate = ""
|
|
||||||
project.userEndtDate = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
console.error("프로젝트 기간 조회 실패:", project.PROJCTSEQ, err)
|
|
||||||
project.userStartDate = ""
|
|
||||||
project.userEndtDate = ""
|
|
||||||
}
|
|
||||||
return project
|
|
||||||
})
|
|
||||||
)
|
|
||||||
memberProjects.value = projectsWithPeriod
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('프로젝트 조회 실패:', error)
|
console.error('프로젝트 조회 실패:', error)
|
||||||
memberProjects.value = []
|
memberProjects.value = []
|
||||||
@ -303,7 +284,7 @@ font-weight: 600;
|
|||||||
.project-period {
|
.project-period {
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
color: #888;
|
color: #888;
|
||||||
margin-left: 10px; /* 기간 텍스트를 프로젝트 이름과 조금 더 가깝게 배치 */
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes slideDown {
|
@keyframes slideDown {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user