diff --git a/src/api/customer.ts b/src/api/customer.ts index 6b987a5..2ed9eac 100644 --- a/src/api/customer.ts +++ b/src/api/customer.ts @@ -28,3 +28,17 @@ export const verifyChangeEmail = async (param: VerifyChangeEmailRequest) => { }); return res; }; + +// -------利用者情報変更申請--------------- +export type UpdateCustomerInfoOrderParam = {}; +export const orderCustomerInfoUpdate = async ( + param: UpdateCustomerInfoOrderParam +) => { + const sendData = makeParam(param); + const res = await request({ + url: getUrl(ApiId.CUSTOMER_UPDATE_INFO_ORDER), + method: HttpMethod.POST, + data: sendData, + }); + return res; +}; diff --git a/src/api/index.ts b/src/api/index.ts index 165ac77..9827710 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -9,32 +9,36 @@ let id = 0; export const ApiId = { // 共通--------------------------------------- CSRF_TOKEN: id++, - ME: id++, + // 認証関連 ---------------------------------- + ME: id++, LOGIN: id++, LOGOUT: id++, - PASSWORD_SETTING_START: id++, PASSWORD_SETTING_VERIFY: id++, + // 定期券連 --------------------------------- SEASON_TICKET_CONTRACTS: id++, PAYMENT_PLANS: id++, - - STICKER_RE_ORDER: id++, - PARKING_CERTIFICATE_ORDER: id++, + SEASON_TICKET_CONTRACT_STICKER_RE_ORDER: id++, + SEASON_TICKET_CONTRACT_SEASON_TICKET_RE_ORDER: id++, + SEASON_TICKET_CONTRACT_PARKING_CERTIFICATE_ORDER: id++, SEASON_TICKET_CONTRACT_TERMINATE_ORDER: id++, SEASON_TICKET_CONTRACT_TERMINATE_ORDER_OPTIONS: id++, - UPDATE_VEHICLE_INFO_ORDER: id++, + SEASON_TICKET_CONTRACT_UPDATE_VEHICLE_INFO_ORDER: id++, + SEASON_TICKET_CONTRACT_CHANGE_PAYMENT_INTERVAL_ORDER: id++, + SEASON_TICKET_CONTRACT_UPLOAD_STUDENT_LICENSE_IMAGES: id++, + SEASON_TICKET_CONTRACT_UPLOAD_OTHER_LICENSE_IMAGES: id++, + // 問い合わせ関連------------------------------- FAQ: id++, FAQ_GENRES: id++, ASK: id++, - UPLOAD_STUDENT_LICENSE_IMAGES: id++, - UPLOAD_OTHER_LICENSE_IMAGES: id++, - + // 利用者情報関連------------------------------- START_CHANGE_EMAIL: id++, VERIFY_CHANGE_EMAIL: id++, + CUSTOMER_UPDATE_INFO_ORDER: id++, } as const; export type ApiId = (typeof ApiId)[keyof typeof ApiId]; diff --git a/src/api/season-ticket-contract.ts b/src/api/season-ticket-contract.ts index 65501c9..314b011 100644 --- a/src/api/season-ticket-contract.ts +++ b/src/api/season-ticket-contract.ts @@ -66,7 +66,19 @@ type StickerReOrderRequest = { }; export const reOrderSticker = async (data: StickerReOrderRequest) => { const res = await request({ - url: getUrl(ApiId.STICKER_RE_ORDER), + url: getUrl(ApiId.SEASON_TICKET_CONTRACT_STICKER_RE_ORDER), + method: HttpMethod.POST, + data: makeParam(data), + }); + return res; +}; +// -------定期券再発行依頼------------------ +type SeasonTicketReOrderRequest = { + season_ticket_contract_record_no: string; +}; +export const reOrderSeasonTicket = async (data: SeasonTicketReOrderRequest) => { + const res = await request({ + url: getUrl(ApiId.SEASON_TICKET_CONTRACT_STICKER_RE_ORDER), method: HttpMethod.POST, data: makeParam(data), }); @@ -76,17 +88,13 @@ export const reOrderSticker = async (data: StickerReOrderRequest) => { // -------車庫証明発行依頼------------------ type ParkingCertificateOrderRequest = { season_ticket_contract_record_no: string; - date: Date; - reason: string; - reson_other: string; - opinion: string; - memo: string; + memo?: string; }; export const orderParkingCertificate = async ( data: ParkingCertificateOrderRequest ) => { const res = await request({ - url: getUrl(ApiId.PARKING_CERTIFICATE_ORDER), + url: getUrl(ApiId.SEASON_TICKET_CONTRACT_PARKING_CERTIFICATE_ORDER), method: HttpMethod.POST, data: makeParam(data), }); @@ -140,7 +148,22 @@ export const orderUpdateVehicleInfo = async ( data: UpdateVehicleInfoOrderRequest ) => { const res = await request({ - url: getUrl(ApiId.UPDATE_VEHICLE_INFO_ORDER), + url: getUrl(ApiId.SEASON_TICKET_CONTRACT_UPDATE_VEHICLE_INFO_ORDER), + method: HttpMethod.POST, + data: makeParam(data), + }); + return res; +}; + +// -------振替頻度変更依頼------------------ +type ChangePaymentIntervalOrderRequest = { + season_ticket_contract_record_no: string; +}; +export const orderChangePaymentInterval = async ( + data: ChangePaymentIntervalOrderRequest +) => { + const res = await request({ + url: getUrl(ApiId.SEASON_TICKET_CONTRACT_CHANGE_PAYMENT_INTERVAL_ORDER), method: HttpMethod.POST, data: makeParam(data), }); @@ -157,7 +180,7 @@ export const uploadStudentLicenseImages = async ( ) => { const sendData = makeFormData(param); const res = await request({ - url: getUrl(ApiId.UPLOAD_STUDENT_LICENSE_IMAGES), + url: getUrl(ApiId.SEASON_TICKET_CONTRACT_UPLOAD_STUDENT_LICENSE_IMAGES), method: HttpMethod.POST, data: sendData, multipart: true, @@ -175,7 +198,7 @@ export const uploadOtherLicenseImages = async ( ) => { const sendData = makeFormData(param); const res = await request({ - url: getUrl(ApiId.UPLOAD_OTHER_LICENSE_IMAGES), + url: getUrl(ApiId.SEASON_TICKET_CONTRACT_UPLOAD_OTHER_LICENSE_IMAGES), method: HttpMethod.POST, data: sendData, multipart: true, diff --git a/src/api/url.ts b/src/api/url.ts index 9971867..e4bf298 100644 --- a/src/api/url.ts +++ b/src/api/url.ts @@ -10,22 +10,30 @@ const urls = { [A.PASSWORD_SETTING_VERIFY]: "password/setting/verify", [A.SEASON_TICKET_CONTRACTS]: "season-ticket-contracts", [A.PAYMENT_PLANS]: "season-ticket-contract/payment-plans", - [A.STICKER_RE_ORDER]: "season-ticket-contract/sticker-re-order", - [A.PARKING_CERTIFICATE_ORDER]: + [A.SEASON_TICKET_CONTRACT_SEASON_TICKET_RE_ORDER]: + "season-ticket-contract/season-ticket-re-order", + [A.SEASON_TICKET_CONTRACT_STICKER_RE_ORDER]: + "season-ticket-contract/sticker-re-order", + [A.SEASON_TICKET_CONTRACT_PARKING_CERTIFICATE_ORDER]: "season-ticket-contract/parking-certificate-order", [A.SEASON_TICKET_CONTRACT_TERMINATE_ORDER]: "season-ticket-contract/termination-order", [A.SEASON_TICKET_CONTRACT_TERMINATE_ORDER_OPTIONS]: "season-ticket-contract/termination-order/options", - [A.UPDATE_VEHICLE_INFO_ORDER]: + [A.SEASON_TICKET_CONTRACT_UPDATE_VEHICLE_INFO_ORDER]: "season-ticket-contract/update-vehicle-info-order", + [A.SEASON_TICKET_CONTRACT_CHANGE_PAYMENT_INTERVAL_ORDER]: + "season-ticket-contract/change-payment-interval-order", [A.FAQ]: "faq", [A.FAQ_GENRES]: "faq/genres", [A.ASK]: "ask", - [A.UPLOAD_STUDENT_LICENSE_IMAGES]: "upload/student-license-images", - [A.UPLOAD_OTHER_LICENSE_IMAGES]: "upload/other-license-images", + [A.SEASON_TICKET_CONTRACT_UPLOAD_STUDENT_LICENSE_IMAGES]: + "upload/student-license-images", + [A.SEASON_TICKET_CONTRACT_UPLOAD_OTHER_LICENSE_IMAGES]: + "upload/other-license-images", [A.START_CHANGE_EMAIL]: "email/change/start", [A.VERIFY_CHANGE_EMAIL]: "email/change/verify", + [A.CUSTOMER_UPDATE_INFO_ORDER]: "customer/update-info-order", }; const prefixs = { diff --git a/src/pages/dashboard/contract/change-paying-interval-order.tsx b/src/pages/dashboard/contract/change-payment-interval-order.tsx similarity index 83% rename from src/pages/dashboard/contract/change-paying-interval-order.tsx rename to src/pages/dashboard/contract/change-payment-interval-order.tsx index 4761ff3..ca1f698 100644 --- a/src/pages/dashboard/contract/change-paying-interval-order.tsx +++ b/src/pages/dashboard/contract/change-payment-interval-order.tsx @@ -1,6 +1,9 @@ import { Box, Button, Stack, Typography } from "@mui/material"; import { HasChildren } from "@types"; -import { reOrderSticker } from "api/season-ticket-contract"; +import { + orderChangePaymentInterval, + reOrderSticker, +} from "api/season-ticket-contract"; import { FormProvider, RHFTextField } from "components/hook-form"; import { useSeasonTicketContractContext } from "contexts/dashboard/SeasonTicketContractContext"; import useAPICall from "hooks/useAPICall"; @@ -28,9 +31,9 @@ type FormProps = { upload1: File[]; }; -export default function ChangePayingIntervalOrder() { +export default function ChangPaymentIntervalOrder() { const { setHeaderTitle, setTabs } = useDashboard( - PageID.DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYING_INTERVAL_ORDER, + PageID.DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYMENT_INTERVAL_ORDER, TabID.NONE ); @@ -49,8 +52,8 @@ export default function ChangePayingIntervalOrder() { const [done, setDone] = useState(false); - const { callAPI: callReOrderSticker } = useAPICall({ - apiMethod: reOrderSticker, + const { callAPI: callOrderChangePaymentInterval } = useAPICall({ + apiMethod: orderChangePaymentInterval, backDrop: true, onSuccess: () => { setDone(true); @@ -61,13 +64,11 @@ export default function ChangePayingIntervalOrder() { }); const handleSubmit = (data: FormProps) => { - console.log(data); - return; - // if (selectedseasonTicketContract === null) return; - // callReOrderSticker({ - // season_ticket_contract_record_no: - // selectedseasonTicketContract.season_ticekt_contract_record_no ?? "", - // }); + callOrderChangePaymentInterval({ + season_ticket_contract_record_no: + selectedseasonTicketContract?.season_ticekt_contract_record_no ?? "", + ...data, + }); }; useEffect(() => { diff --git a/src/pages/dashboard/contract/detail.tsx b/src/pages/dashboard/contract/detail.tsx index c446744..0347f6e 100644 --- a/src/pages/dashboard/contract/detail.tsx +++ b/src/pages/dashboard/contract/detail.tsx @@ -202,7 +202,7 @@ export default function ContractDetail() { onClick={() => { navigateWhenChanged( getPath( - PageID.DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYING_INTERVAL_ORDER + PageID.DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYMENT_INTERVAL_ORDER ) ); }} diff --git a/src/pages/dashboard/contract/parking-certificate-order.tsx b/src/pages/dashboard/contract/parking-certificate-order.tsx index 6018f2c..6ae180f 100644 --- a/src/pages/dashboard/contract/parking-certificate-order.tsx +++ b/src/pages/dashboard/contract/parking-certificate-order.tsx @@ -2,6 +2,7 @@ import { Box, Button, Stack, Typography } from "@mui/material"; import { HasChildren } from "@types"; import { getSeasonTicketContractTerminateOptions, + orderParkingCertificate, orderSeasonTicketContractTerminate, reOrderSticker, } from "api/season-ticket-contract"; @@ -92,12 +93,27 @@ export default function ParkingCertificateOrder() { const { selectedseasonTicketContract, backToDetailHome } = useSeasonTicketContractContext(); - const [monthes, setMonthes] = useState([]); - const [done, setDone] = useState(false); + const { callAPI: callOrderParkingCertificate } = useAPICall({ + apiMethod: orderParkingCertificate, + backDrop: true, + form, + onSuccess: () => { + setDone(true); + }, + onFailed: () => { + error("失敗しました"); + }, + }); + const handleSubmit = (data: FormProps) => { console.log(data); + callOrderParkingCertificate({ + season_ticket_contract_record_no: + selectedseasonTicketContract?.season_ticekt_contract_record_no ?? "", + ...data, + }); }; const payingTypes: SelectOptionProps[] = useMemo(() => { diff --git a/src/pages/dashboard/contract/season-ticket-re-order.tsx b/src/pages/dashboard/contract/season-ticket-re-order.tsx index 0af637e..a16cd8d 100644 --- a/src/pages/dashboard/contract/season-ticket-re-order.tsx +++ b/src/pages/dashboard/contract/season-ticket-re-order.tsx @@ -1,6 +1,9 @@ import { Box, Button, Stack, Typography } from "@mui/material"; import { HasChildren } from "@types"; -import { reOrderSticker } from "api/season-ticket-contract"; +import { + reOrderSeasonTicket, + reOrderSticker, +} from "api/season-ticket-contract"; import { FormProvider, RHFTextField } from "components/hook-form"; import { useSeasonTicketContractContext } from "contexts/dashboard/SeasonTicketContractContext"; import useAPICall from "hooks/useAPICall"; @@ -49,8 +52,8 @@ export default function SeasonTicketReOrder() { const [done, setDone] = useState(false); - const { callAPI: callReOrderSticker } = useAPICall({ - apiMethod: reOrderSticker, + const { callAPI: callReOrderSeasonTicket } = useAPICall({ + apiMethod: reOrderSeasonTicket, backDrop: true, onSuccess: () => { setDone(true); @@ -61,13 +64,11 @@ export default function SeasonTicketReOrder() { }); const handleSubmit = (data: FormProps) => { - console.log(data); - return; - // if (selectedseasonTicketContract === null) return; - // callReOrderSticker({ - // season_ticket_contract_record_no: - // selectedseasonTicketContract.season_ticekt_contract_record_no ?? "", - // }); + callReOrderSeasonTicket({ + season_ticket_contract_record_no: + selectedseasonTicketContract?.season_ticekt_contract_record_no ?? "", + ...data, + }); }; useEffect(() => { diff --git a/src/pages/dashboard/contract/terminate-order.tsx b/src/pages/dashboard/contract/terminate-order.tsx index 1a401f0..43039ae 100644 --- a/src/pages/dashboard/contract/terminate-order.tsx +++ b/src/pages/dashboard/contract/terminate-order.tsx @@ -104,8 +104,6 @@ export default function TerminateOrder() { }); const handleSubmit = (data: FormProps) => { - console.log(data); - if (selectedseasonTicketContract === null) return; callOrderSeasonTicketContractTerminate({ diff --git a/src/pages/dashboard/contract/update-vehicle-info-order.tsx b/src/pages/dashboard/contract/update-vehicle-info-order.tsx index aca1c9c..5a3dcca 100644 --- a/src/pages/dashboard/contract/update-vehicle-info-order.tsx +++ b/src/pages/dashboard/contract/update-vehicle-info-order.tsx @@ -1,6 +1,9 @@ import { Box, Button, Stack, Typography } from "@mui/material"; import { HasChildren } from "@types"; -import { reOrderSticker } from "api/season-ticket-contract"; +import { + orderUpdateVehicleInfo, + reOrderSticker, +} from "api/season-ticket-contract"; import { FormProvider, RHFTextField } from "components/hook-form"; import { useSeasonTicketContractContext } from "contexts/dashboard/SeasonTicketContractContext"; import useAPICall from "hooks/useAPICall"; @@ -49,9 +52,10 @@ export default function UpdateVehicleInfoOrder() { const [done, setDone] = useState(false); - const { callAPI: callReOrderSticker } = useAPICall({ - apiMethod: reOrderSticker, + const { callAPI: callOrderUpdateVehicleInfo } = useAPICall({ + apiMethod: orderUpdateVehicleInfo, backDrop: true, + form, onSuccess: () => { setDone(true); }, @@ -61,13 +65,11 @@ export default function UpdateVehicleInfoOrder() { }); const handleSubmit = (data: FormProps) => { - console.log(data); - return; - // if (selectedseasonTicketContract === null) return; - // callReOrderSticker({ - // season_ticket_contract_record_no: - // selectedseasonTicketContract.season_ticekt_contract_record_no ?? "", - // }); + callOrderUpdateVehicleInfo({ + season_ticket_contract_record_no: + selectedseasonTicketContract?.season_ticekt_contract_record_no ?? "", + ...data, + }); }; useEffect(() => { diff --git a/src/pages/dashboard/user/update-user-info.tsx b/src/pages/dashboard/user/update-user-info.tsx index 6b16546..18a09b6 100644 --- a/src/pages/dashboard/user/update-user-info.tsx +++ b/src/pages/dashboard/user/update-user-info.tsx @@ -1,6 +1,6 @@ import { Box, Button, Stack, Typography } from "@mui/material"; import { HasChildren } from "@types"; -import { startChangeEmail } from "api/customer"; +import { orderCustomerInfoUpdate, startChangeEmail } from "api/customer"; import RequireChip from "components/chip/RequireChip"; import InputAlert from "components/form/InputAlert"; import { FormProvider, RHFTextField } from "components/hook-form"; @@ -63,11 +63,11 @@ export default function UpdateUserInfo() { }); const { - callAPI: callStartChangeEmail, + callAPI: callOrderCustomerInfoUpdate, errorMode, generalErrorMessage, } = useAPICall({ - apiMethod: startChangeEmail, + apiMethod: orderCustomerInfoUpdate, backDrop: true, form, onSuccess: () => { @@ -79,7 +79,7 @@ export default function UpdateUserInfo() { }); const handleSubmit = (data: FormProps) => { - // callStartChangeEmail({ new_email: data.new_email }); + callOrderCustomerInfoUpdate({ ...data }); }; useEffect(() => { diff --git a/src/pages/index.ts b/src/pages/index.ts index 07f1c43..a189e55 100644 --- a/src/pages/index.ts +++ b/src/pages/index.ts @@ -18,7 +18,7 @@ export const PageID = { DASHBOARD_SEASON_TICKET_CONTRACT_PARKING_CERTIFICATE_ORDER: id++, DASHBOARD_SEASON_TICKET_CONTRACT_TERMINATE_ORDER: id++, DASHBOARD_SEASON_TICKET_CONTRACT_UPDATE_VEHICLE_INFO_ORDER: id++, - DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYING_INTERVAL_ORDER: id++, + DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYMENT_INTERVAL_ORDER: id++, DASHBOARD_RECEIPT_DOWNLOAD: id++, diff --git a/src/routes/path.ts b/src/routes/path.ts index 139bad0..c1eb05e 100644 --- a/src/routes/path.ts +++ b/src/routes/path.ts @@ -50,7 +50,7 @@ const PATHS_DASHBOARD = { PageID.DASHBOARD_SEASON_TICKET_CONTRACT_UPDATE_VEHICLE_INFO_ORDER )]: "/dashboard/contract/update-vehicle-info-order", [makePathKey( - PageID.DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYING_INTERVAL_ORDER + PageID.DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYMENT_INTERVAL_ORDER )]: "/dashboard/contract/change-paying-interval-order", [makePathKey(PageID.DASHBOARD_USER_STUDENT_LICENSE_IMAGES_UPLOAD)]: "/dashboard/contract/upload/student-license", diff --git a/src/routes/sub/dashboard.tsx b/src/routes/sub/dashboard.tsx index 547c4e2..9acae3d 100644 --- a/src/routes/sub/dashboard.tsx +++ b/src/routes/sub/dashboard.tsx @@ -93,9 +93,9 @@ export default function DashboardRoutes(): RouteObject[] { const UpdateVehicleInfoOrder = Loadable( lazy(() => import("pages/dashboard/contract/update-vehicle-info-order")) ); - const ChangePayingIntervalOrder = Loadable( + const ChangePaymentIntervalOrder = Loadable( lazy( - () => import("pages/dashboard/contract/change-paying-interval-order") + () => import("pages/dashboard/contract/change-payment-interval-order") ) ); const StudentLicenseImagesUpload = Loadable( @@ -140,8 +140,8 @@ export default function DashboardRoutes(): RouteObject[] { }, { pageId: - PageID.DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYING_INTERVAL_ORDER, - element: , + PageID.DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYMENT_INTERVAL_ORDER, + element: , }, { pageId: PageID.DASHBOARD_USER_STUDENT_LICENSE_IMAGES_UPLOAD,