From 9a25d344497ee2a9d238c3d20fd74c52d50d0fe4 Mon Sep 17 00:00:00 2001 From: TkymHrt <23.h.takayama.nutfes@gmail.com> Date: Tue, 6 Aug 2024 16:56:19 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[fix]=20index.tsx=E3=81=8B=E3=82=89?= =?UTF-8?q?=E5=80=A4=E3=82=92=E6=B8=A1=E3=81=99=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- view/next-project/src/pages/purchasereports/index.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/view/next-project/src/pages/purchasereports/index.tsx b/view/next-project/src/pages/purchasereports/index.tsx index 5a9caa5f8..0ffa37c37 100644 --- a/view/next-project/src/pages/purchasereports/index.tsx +++ b/view/next-project/src/pages/purchasereports/index.tsx @@ -397,6 +397,8 @@ export default function PurchaseReports(props: Props) { ? purchaseReportViewItem.purchaseReport.id : 0 } + purchaseReportViewItem={purchaseReportViewItem} + expenses={props.expenses} isDisabled={isDisabled(purchaseReportViewItem)} /> From 7e42385c9a628aa25c6a221e47adeec92dbf7b3a Mon Sep 17 00:00:00 2001 From: TkymHrt <23.h.takayama.nutfes@gmail.com> Date: Tue, 6 Aug 2024 16:57:07 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[fix]=20=E3=83=9C=E3=82=BF=E3=83=B3?= =?UTF-8?q?=E3=81=8B=E3=82=89=E3=83=A2=E3=83=BC=E3=83=80=E3=83=AB=E3=81=B8?= =?UTF-8?q?=E5=80=A4=E3=82=92=E6=B8=A1=E3=81=99=E3=82=88=E3=81=86=E3=81=AB?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/purchasereports/OpenEditModalButton.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/view/next-project/src/components/purchasereports/OpenEditModalButton.tsx b/view/next-project/src/components/purchasereports/OpenEditModalButton.tsx index 8349ebfd2..a21eeca90 100644 --- a/view/next-project/src/components/purchasereports/OpenEditModalButton.tsx +++ b/view/next-project/src/components/purchasereports/OpenEditModalButton.tsx @@ -2,11 +2,14 @@ import * as React from 'react'; import { useState } from 'react'; import { DetailEditModal } from './DetailEditModal'; +import { Expense, PurchaseReportView } from '@/type/common'; import { CloseButton, EditButton, Modal, PrimaryButton } from '@components/common'; import EditModal from '@components/purchasereports/EditModal'; interface Props { children?: React.ReactNode; + purchaseReportViewItem: PurchaseReportView; + expenses: Expense[]; id: number; isDisabled: boolean; } @@ -47,6 +50,8 @@ const OpenEditModalButton: React.FC = (props) => { {step === 'editDetails' && ( Date: Tue, 6 Aug 2024 16:57:29 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[fix]=20=E3=83=87=E3=83=BC=E3=82=BF?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E3=81=AE=E4=BB=95=E7=B5=84=E3=81=BF=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchasereports/DetailEditModal.tsx | 48 +++++-------------- 1 file changed, 11 insertions(+), 37 deletions(-) diff --git a/view/next-project/src/components/purchasereports/DetailEditModal.tsx b/view/next-project/src/components/purchasereports/DetailEditModal.tsx index aa3e1002b..84dc90eb8 100644 --- a/view/next-project/src/components/purchasereports/DetailEditModal.tsx +++ b/view/next-project/src/components/purchasereports/DetailEditModal.tsx @@ -1,8 +1,7 @@ import router from 'next/router'; -import { useEffect, useState } from 'react'; -import { Expense, PurchaseOrder, PurchaseReport } from '@/type/common'; +import { useState } from 'react'; +import { Expense, PurchaseOrder, PurchaseReportView } from '@/type/common'; import { put } from '@/utils/api/purchaseOrder'; -import { get } from '@api/api_methods'; import { CloseButton, Input, @@ -14,38 +13,13 @@ import { export const DetailEditModal: React.FC<{ purchaseReportId: number; + purchaseReportViewItem: PurchaseReportView; + expenses: Expense[]; isOpen: boolean; setIsOpen: () => void; onOpenInitial: () => void; -}> = ({ purchaseReportId, setIsOpen, onOpenInitial }) => { - const [expenses, setExpenses] = useState([]); - const [purchaseOrder, setPurchaseOrder] = useState({ - id: 0, - deadline: '', - userID: 0, - expenseID: 0, - financeCheck: false, - }); - - useEffect(() => { - const fetchData = async () => { - try { - const purchaseReportRes: PurchaseReport = await get( - `${process.env.CSR_API_URI}/purchasereports/${purchaseReportId}`, - ); - const purchaseOrderId = purchaseReportRes.purchaseOrderID; - const expensesRes: Expense[] = await get(`${process.env.CSR_API_URI}/expenses`); - const purchaseOrderRes: PurchaseOrder = await get( - `${process.env.CSR_API_URI}/purchaseorders/${purchaseOrderId}`, - ); - setExpenses(expensesRes); - setPurchaseOrder(purchaseOrderRes); - } catch (error) { - console.error('Failed to fetch data:', error); - } - }; - fetchData(); - }, [purchaseReportId]); +}> = ({ purchaseReportViewItem, expenses, setIsOpen, onOpenInitial }) => { + const [formData, setFormData] = useState(purchaseReportViewItem.purchaseOrder); const formatDate = (date: string) => { const d = new Date(date); @@ -57,15 +31,15 @@ export const DetailEditModal: React.FC<{ const submit = async () => { try { - const updatePurchaseOrderUrl = `${process.env.CSR_API_URI}/purchaseorders/${purchaseOrder.id}`; - await put(updatePurchaseOrderUrl, purchaseOrder); + const updatePurchaseOrderUrl = `${process.env.CSR_API_URI}/purchaseorders/${formData.id}`; + await put(updatePurchaseOrderUrl, formData); } finally { router.reload(); } }; const handleInputChange = (key: keyof PurchaseOrder, value: string | number) => { - setPurchaseOrder((prev) => ({ ...prev, [key]: value })); + setFormData((prev) => ({ ...prev, [key]: value })); }; return ( @@ -80,7 +54,7 @@ export const DetailEditModal: React.FC<{

購入した局

handleInputChange('deadline', e.target.value)} className='w-full' />