summaryrefslogtreecommitdiff
path: root/lib/vendors/table/request-project-pq-dialog.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-04-28 02:13:30 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-04-28 02:13:30 +0000
commitef4c533ebacc2cdc97e518f30e9a9350004fcdfb (patch)
tree345251a3ed0f4429716fa5edaa31024d8f4cb560 /lib/vendors/table/request-project-pq-dialog.tsx
parent9ceed79cf32c896f8a998399bf1b296506b2cd4a (diff)
~20250428 작업사항
Diffstat (limited to 'lib/vendors/table/request-project-pq-dialog.tsx')
-rw-r--r--lib/vendors/table/request-project-pq-dialog.tsx24
1 files changed, 17 insertions, 7 deletions
diff --git a/lib/vendors/table/request-project-pq-dialog.tsx b/lib/vendors/table/request-project-pq-dialog.tsx
index c590d7ec..a9fe0e1a 100644
--- a/lib/vendors/table/request-project-pq-dialog.tsx
+++ b/lib/vendors/table/request-project-pq-dialog.tsx
@@ -44,6 +44,7 @@ import { Label } from "@/components/ui/label"
import { Vendor } from "@/db/schema/vendors"
import { requestPQVendors } from "../service"
import { getProjects, type Project } from "@/lib/rfqs/service"
+import { useSession } from "next-auth/react"
interface RequestProjectPQDialogProps
extends React.ComponentPropsWithoutRef<typeof Dialog> {
@@ -63,6 +64,7 @@ export function RequestProjectPQDialog({
const [projects, setProjects] = React.useState<Project[]>([])
const [selectedProjectId, setSelectedProjectId] = React.useState<number | null>(null)
const [isLoadingProjects, setIsLoadingProjects] = React.useState(false)
+ const { data: session } = useSession()
// 프로젝트 목록 로드
React.useEffect(() => {
@@ -95,15 +97,23 @@ export function RequestProjectPQDialog({
}
function onApprove() {
+
if (!selectedProjectId) {
toast.error("프로젝트를 선택해주세요.")
return
}
+ if (!session?.user?.id) {
+ toast.error("사용자 인증 정보를 찾을 수 없습니다.")
+ return
+ }
+
startApproveTransition(async () => {
const { error } = await requestPQVendors({
ids: vendors.map((vendor) => vendor.id),
projectId: selectedProjectId,
+ userId: Number(session.user.id)
+
})
if (error) {
@@ -113,7 +123,7 @@ export function RequestProjectPQDialog({
props.onOpenChange?.(false)
- toast.success(`벤더에게 프로젝트 PQ가 성공적으로 요청되었습니다.`)
+ toast.success(`협력업체에게 프로젝트 PQ가 성공적으로 요청되었습니다.`)
onSuccess?.()
})
}
@@ -165,8 +175,8 @@ export function RequestProjectPQDialog({
<DialogTitle>프로젝트 PQ 요청 확인</DialogTitle>
<DialogDescription>
<span className="font-medium">{vendors.length}</span>
- {vendors.length === 1 ? "개의 벤더" : "개의 벤더들"}에게 프로젝트 PQ 제출을 요청하시겠습니까?
- 요청을 보내면 벤더에게 알림이 발송되고 프로젝트 PQ 정보를 입력할 수 있게 됩니다.
+ {vendors.length === 1 ? "개의 협력업체" : "개의 협력업체들"}에게 프로젝트 PQ 제출을 요청하시겠습니까?
+ 요청을 보내면 협력업체에게 알림이 발송되고 프로젝트 PQ 정보를 입력할 수 있게 됩니다.
</DialogDescription>
</DialogHeader>
@@ -177,7 +187,7 @@ export function RequestProjectPQDialog({
<Button variant="outline">취소</Button>
</DialogClose>
<Button
- aria-label="선택한 벤더에게 요청하기"
+ aria-label="선택한 협력업체에게 요청하기"
variant="default"
onClick={onApprove}
disabled={isApprovePending || !selectedProjectId}
@@ -211,8 +221,8 @@ export function RequestProjectPQDialog({
<DrawerTitle>프로젝트 PQ 요청 확인</DrawerTitle>
<DrawerDescription>
<span className="font-medium">{vendors.length}</span>
- {vendors.length === 1 ? "개의 벤더" : "개의 벤더들"}에게 프로젝트 PQ 제출을 요청하시겠습니까?
- 요청을 보내면 벤더에게 알림이 발송되고 프로젝트 PQ 정보를 입력할 수 있게 됩니다.
+ {vendors.length === 1 ? "개의 협력업체" : "개의 협력업체들"}에게 프로젝트 PQ 제출을 요청하시겠습니까?
+ 요청을 보내면 협력업체에게 알림이 발송되고 프로젝트 PQ 정보를 입력할 수 있게 됩니다.
</DrawerDescription>
</DrawerHeader>
@@ -225,7 +235,7 @@ export function RequestProjectPQDialog({
<Button variant="outline">취소</Button>
</DrawerClose>
<Button
- aria-label="선택한 벤더에게 요청하기"
+ aria-label="선택한 협력업체에게 요청하기"
variant="default"
onClick={onApprove}
disabled={isApprovePending || !selectedProjectId}