| @@ -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; | |||
| }; | |||
| @@ -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]; | |||
| @@ -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, | |||
| @@ -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 = { | |||
| @@ -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(() => { | |||
| @@ -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 | |||
| ) | |||
| ); | |||
| }} | |||
| @@ -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<string[]>([]); | |||
| 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(() => { | |||
| @@ -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(() => { | |||
| @@ -104,8 +104,6 @@ export default function TerminateOrder() { | |||
| }); | |||
| const handleSubmit = (data: FormProps) => { | |||
| console.log(data); | |||
| if (selectedseasonTicketContract === null) return; | |||
| callOrderSeasonTicketContractTerminate({ | |||
| @@ -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(() => { | |||
| @@ -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(() => { | |||
| @@ -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++, | |||
| @@ -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", | |||
| @@ -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: <ChangePayingIntervalOrder />, | |||
| PageID.DASHBOARD_SEASON_TICKET_CONTRACT_CHANGE_PAYMENT_INTERVAL_ORDER, | |||
| element: <ChangePaymentIntervalOrder />, | |||
| }, | |||
| { | |||
| pageId: PageID.DASHBOARD_USER_STUDENT_LICENSE_IMAGES_UPLOAD, | |||