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