90 lines
2.6 KiB
TypeScript
90 lines
2.6 KiB
TypeScript
'use client'
|
|
|
|
import { useServey } from '@/hooks/useSurvey'
|
|
import { useParams, useSearchParams } from 'next/navigation'
|
|
import { useEffect, useState } from 'react'
|
|
import DetailForm from './DetailForm'
|
|
import { SurveyBasicInfo } from '@/types/Survey'
|
|
|
|
export default function DataTable() {
|
|
const params = useParams()
|
|
const id = params.id
|
|
|
|
const searchParams = useSearchParams()
|
|
const isTemp = searchParams.get('isTemporary')
|
|
|
|
const { surveyDetail, isLoadingSurveyDetail } = useServey(Number(id))
|
|
const [isTemporary, setIsTemporary] = useState(isTemp === 'true')
|
|
|
|
const { validateSurveyDetail } = useServey(Number(id))
|
|
|
|
useEffect(() => {
|
|
if (surveyDetail?.detailInfo) {
|
|
const validate = validateSurveyDetail(surveyDetail.detailInfo)
|
|
if (validate.trim() !== '') {
|
|
setIsTemporary(false)
|
|
}
|
|
}
|
|
}, [surveyDetail])
|
|
|
|
if (isLoadingSurveyDetail) {
|
|
return <div>Loading...</div>
|
|
}
|
|
|
|
return (
|
|
<>
|
|
<div className="sale-data-table-wrap">
|
|
<table className="sale-data-table">
|
|
<colgroup>
|
|
<col style={{ width: '80px' }} />
|
|
<col />
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<th>登録番号</th>
|
|
{isTemporary ? (
|
|
<td>
|
|
<span className="text-red-500">仮保存</span>
|
|
</td>
|
|
) : (
|
|
<td>{surveyDetail?.id}</td>
|
|
)}
|
|
</tr>
|
|
<tr>
|
|
<th>登録日</th>
|
|
<td>{surveyDetail?.regDt ? new Date(surveyDetail.regDt).toLocaleString() : ''}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>更新日時</th>
|
|
<td>{surveyDetail?.uptDt ? new Date(surveyDetail.uptDt).toLocaleString() : ''}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>提出可否</th>
|
|
<td>
|
|
{surveyDetail?.submissionStatus && surveyDetail?.submissionDate ? (
|
|
<>
|
|
{/* TODO: 제출한 판매점 ID 추가 필요 */}
|
|
<div>{new Date(surveyDetail.submissionDate).toLocaleString()}</div>
|
|
<div>{surveyDetail.store}</div>
|
|
</>
|
|
) : (
|
|
'-'
|
|
)}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>ダウンロード</th>
|
|
<td>
|
|
<button className="data-down">
|
|
HWJ現地調査票確認<i className="down-icon"></i>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<DetailForm surveyInfo={surveyDetail as SurveyBasicInfo} mode="READ" />
|
|
</>
|
|
)
|
|
}
|