From 3fae7a6ada3a86f988b74f754c67403bcfdbc903 Mon Sep 17 00:00:00 2001 From: Alex Cheung Date: Mon, 18 Sep 2023 18:26:52 +0800 Subject: [PATCH] update get application detail by backend --- .../ListPanel/PublicNoteStatusUtils.js | 25 ++ .../ApplicationDetailCard.js | 162 +++++--- .../ClientDetailCard.js | 358 ++++++++++++------ .../GazetteDetailCard.js | 72 ++-- src/pages/gldApplicationDetailPage/index.js | 46 ++- .../tabTableDetail/BaseGrid.js | 2 +- src/utils/ApiPathConst.js | 1 + 7 files changed, 448 insertions(+), 218 deletions(-) diff --git a/src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js b/src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js index 6111c8d..da8a691 100644 --- a/src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js +++ b/src/pages/PublicNotice/ListPanel/PublicNoteStatusUtils.js @@ -22,7 +22,32 @@ export function getStatus(params) { return getStatusTag({ text: params.row.status }) } + +} + +export function getStatusByText(status) { + switch (status) { + case "submitted": + return getStatusTag({ color: "#f5a83d", text: "已提交" }) + case "rejected": + return getStatusTag({ color: "#d9372b", text: "已拒絕" }) + case "cancelled": + return getStatusTag({ color: "#757373", text: "已取消" }) + case "accepted": + return getStatusTag({ color: "#22a13f", text: "已接受" }) + case "confirmed": + return getStatusTag({ color: "#22a13f", text: "已確認" }) + case "paid": + return getStatusTag({ color: "#22a13f", text: "已付費" }) + case "published": + return getStatusTag({ color: "#f5a83d", text: "已發表" }) + case "withdrawn": + return getStatusTag({ color: "#8a8784", text: "已撤銷" }) + default: + return getStatusTag({ text: params.row.status }) + } + } export function getStatusTag({ color = "#000", textColor = "#FFF", text = "" }) { diff --git a/src/pages/gldApplicationDetailPage/ApplicationDetailCard.js b/src/pages/gldApplicationDetailPage/ApplicationDetailCard.js index 83e499b..576fd33 100644 --- a/src/pages/gldApplicationDetailPage/ApplicationDetailCard.js +++ b/src/pages/gldApplicationDetailPage/ApplicationDetailCard.js @@ -8,18 +8,22 @@ import { OutlinedInput, Stack } from '@mui/material'; -import MainCard from "../../components/MainCard"; -import * as React from "react"; +// import MainCard from "../../components/MainCard"; +const MainCard = Loadable(lazy(() => import('components/MainCard'))); import {useForm} from "react-hook-form"; import { - // useEffect, + useEffect, useState } from "react"; // import Checkbox from "@mui/material/Checkbox"; import Loadable from 'components/Loadable'; + import { lazy } from 'react'; const LoadingComponent = Loadable(lazy(() => import('../extra-pages/LoadingComponent'))); -//import {useParams} from "react-router-dom"; +// import {useParams} from "react-router-dom"; +import * as HttpUtils from "utils/HttpUtils" +import * as StatusUtils from "../PublicNotice/ListPanel/PublicNoteStatusUtils"; + import BorderColorOutlinedIcon from '@mui/icons-material/BorderColorOutlined'; import DoneIcon from '@mui/icons-material/Done'; import CloseIcon from '@mui/icons-material/Close'; @@ -27,34 +31,46 @@ import EditNoteIcon from '@mui/icons-material/EditNote'; import DownloadIcon from '@mui/icons-material/Download'; // ==============================|| DASHBOARD - DEFAULT ||============================== // const ApplicationDetailCard = ( - // {isCollectData, updateUserObject,userData,isNewRecord} + { applicationDetailData, + // isCollectData, + // updateUserObject, + // isNewRecord + } ) => { // const params = useParams(); - const [currentApplicationDetailData, ] = React.useState({}); - // const [locked, setLocked] = useState(false); - const [onReady,] = useState(true); + const [currentApplicationDetailData, setCurrentApplicationDetailData] = useState({}); + const [companyName, setCompanyName] = useState({}); + const [fileDetail, setfileDetail] = useState({}); + const [onReady,setOnReady] = useState(false); const {register, // getValues } = useForm() - // useEffect(() => { - // //if user data from parent are not null - // if (Object.keys(userData).length > 0 && userData !== undefined) { - // setCurrentUserData(userData.data); - // } - // }, []); + useEffect(() => { + //if user data from parent are not null + // console.log(applicationDetailData) + if (Object.keys(applicationDetailData).length > 0) { + setCurrentApplicationDetailData(applicationDetailData.data); + setCompanyName(applicationDetailData.companyName); + setfileDetail(applicationDetailData.fileDetail); + } + }, [applicationDetailData]); - // useEffect(() => { - // //if state data are ready and assign to different field - // if (Object.keys(userData).length > 0 &¤tApplicationDetailData !== undefined&¤tApplicationDetailData.id!==undefined) { - // setLocked(currentApplicationDetailData.locked); - // setOnReady(true); - // }else if(isNewRecord){ - // setLocked(false); - // setOnReady(true); - // } - // }, [currentApplicationDetailData]); + useEffect(() => { + //if state data are ready and assign to different field + // console.log(currentApplicationDetailData) + if (Object.keys(currentApplicationDetailData).length > 0) { + setOnReady(true); + } + }, [currentApplicationDetailData]); + const onDownloadClick = () => () => { + HttpUtils.fileDownload({ + fileId:fileDetail.id, + skey:fileDetail.skey, + filename:fileDetail.filename, + }); + }; // useEffect(() => { // //upload latest data to parent // const values = getValues(); @@ -205,15 +221,7 @@ const ApplicationDetailCard = ( - + {StatusUtils.getStatusByText(currentApplicationDetailData.status)} @@ -230,15 +238,26 @@ const ApplicationDetailCard = ( + { currentApplicationDetailData.orgId===null? : + + } @@ -251,17 +270,28 @@ const ApplicationDetailCard = ( - - - + + + + + + + + @@ -298,17 +328,28 @@ const ApplicationDetailCard = ( - - - + + + + + + + + @@ -331,7 +372,7 @@ const ApplicationDetailCard = ( fullWidth id='fileName' > - Manuscript File Final.pdf + {fileDetail.filename} @@ -339,7 +380,7 @@ const ApplicationDetailCard = (