From 2aec6ec0a5c90f9ffc564ae1ef2c140ec1ca8e8f Mon Sep 17 00:00:00 2001 From: Alex Cheung Date: Mon, 11 Dec 2023 17:48:41 +0800 Subject: [PATCH] add careOf --- src/pages/Payment/Details_Public/DataGrid.js | 9 ++-- src/pages/Proof/Search_Public/DataGrid.js | 10 ++-- .../ApplyForm/PublicNoticeApplyForm.js | 23 +++++---- .../Details_Public/ApplicationDetailCard.js | 13 +++++ src/pages/PublicNotice/ListPanel/BaseGrid.js | 21 ++++++-- .../ListPanel/PendingPaymentTab.js | 48 +++++++++++++++++-- .../ListPanel/SearchPublicNoticeForm.js | 18 +++++++ .../ListPanel/SearchPublicNoticeTable.js | 18 ++++++- 8 files changed, 137 insertions(+), 23 deletions(-) diff --git a/src/pages/Payment/Details_Public/DataGrid.js b/src/pages/Payment/Details_Public/DataGrid.js index 34ef9dc..ad1f57a 100644 --- a/src/pages/Payment/Details_Public/DataGrid.js +++ b/src/pages/Payment/Details_Public/DataGrid.js @@ -2,7 +2,9 @@ import { Typography, } from '@mui/material'; - +import { + isORGLoggedIn, + } from "utils/Utils"; import * as React from 'react'; import * as FormatUtils from "utils/FormatUtils" import { FiDataGrid } from "components/FiDataGrid"; @@ -26,11 +28,12 @@ export default function SearchPublicNoticeTable({ recordList }) { { id: 'appNo', field: 'appNo', - headerName: '申請編號/我的備註', + headerName: isORGLoggedIn()?'申請編號/Care Of/我的備註':'申請編號/我的備註', flex: 1, renderCell: (params) => { let appNo = params.row.appNo; - return
{appNo}
{params.row.remarks}
+ console.log(params) + return
{appNo}
{isORGLoggedIn()?<>{params.row.careOf}
:null}{params.row.remarks}
}, }, { diff --git a/src/pages/Proof/Search_Public/DataGrid.js b/src/pages/Proof/Search_Public/DataGrid.js index 004a483..c70e17f 100644 --- a/src/pages/Proof/Search_Public/DataGrid.js +++ b/src/pages/Proof/Search_Public/DataGrid.js @@ -8,6 +8,9 @@ import * as FormatUtils from "utils/FormatUtils" import * as ProofStatus from "utils/statusUtils/ProofStatus"; import { useNavigate } from "react-router-dom"; import { FiDataGrid } from "components/FiDataGrid"; +import { + isORGLoggedIn, + } from "utils/Utils"; // ==============================|| EVENT TABLE ||============================== // export default function SearchPublicNoticeTable({ recordList }) { @@ -69,17 +72,18 @@ export default function SearchPublicNoticeTable({ recordList }) { { id: 'appId', field: 'appId', - headerName: '申請編號 / 憲報期數 / 我的備註', + headerName: isORGLoggedIn()?"憲報期數 / Care Of/ 我的備註":"憲報期數 / 我的備註", flex: 1, renderCell: (params) => { - let appNo = params.row.appNo; + // let appNo = params.row.appNo; // let code = params.row.groupNo; let isssue = params.row.issueYear + " Vol. " + FormatUtils.zeroPad(params.row.issueVolume, 3) + ", No. " + FormatUtils.zeroPad(params.row.issueNo, 2) + ", " + DateUtils.dateFormat(params.row.issueDate, "D MMM YYYY (ddd)"); - return
{appNo}
{isssue}
{params.row.appRemarks}
+ // return
{appNo}
{isssue}
{params.row.appRemarks}
+ return
{isssue}
{isORGLoggedIn()?<>{params.row.appCareOf}
:null}{params.row.appRemarks}
}, }, { diff --git a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js index 999a4b8..f6f5441 100644 --- a/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js +++ b/src/pages/PublicNotice/ApplyForm/PublicNoticeApplyForm.js @@ -15,6 +15,9 @@ import * as UrlUtils from "utils/ApiPathConst"; import * as FieldUtils from "utils/FieldUtils"; import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' import ForwardIcon from '@mui/icons-material/Forward'; +import { + isORGLoggedIn, + } from "utils/Utils"; import { useNavigate } from "react-router-dom"; import { notifyActionSuccess } from 'utils/CommonFunction'; @@ -38,7 +41,7 @@ const PublicNoticeApplyForm = ({ loadedData, selections }) => { backgroundColor: '#0C489E', backgroundPosition: 'right' } - + // React.useEffect(()=>{ // loadedData.careOf = loadedData.contactPerson // },[]); @@ -225,14 +228,16 @@ const PublicNoticeApplyForm = ({ loadedData, selections }) => { - - {FieldUtils.getTextField({ - label: "代理人:", - valueName: "careOf", - form: formik, - // disabled: true - })} - + {isORGLoggedIn()? + + {FieldUtils.getTextField({ + label: "Care Of:", + valueName: "careOf", + form: formik, + // disabled: true + })} + :null + } {FieldUtils.getTextArea({ label: "備註:", diff --git a/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js b/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js index b7aacd5..abc1ebc 100644 --- a/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js +++ b/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js @@ -513,6 +513,19 @@ const ApplicationDetailCard = ( + {currentApplicationDetailData.orgId === null ? null: + + + + Care Of: + + + {currentApplicationDetailData.careOf} + + + + } ( + params.row.orgId === null? +
+ {params.row.remarks} +
: +
+ Care Of: {params.row.careOf} + 我的備註: {params.row.remarks} +
+ ) }, { id: 'status', diff --git a/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js b/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js index 0a07356..0e1136d 100644 --- a/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js +++ b/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js @@ -11,11 +11,15 @@ import * as DateUtils from "utils/DateUtils" import * as FormatUtils from "utils/FormatUtils" import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils"; import { useNavigate } from "react-router-dom"; +import { + isORGLoggedIn, + } from "utils/Utils"; // ==============================|| EVENT TABLE ||============================== // export default function SubmittedTab({ rows }) { const [selectedRowItems, setSelectedRowItems] = React.useState([]); const [isPopUp, setIsPopUp] = React.useState(false); + const [checkCareOf, setCheckCareOf] = React.useState(false); //const [amount, setAmount] = React.useState(0); const navigate = useNavigate() @@ -68,9 +72,18 @@ export default function SubmittedTab({ rows }) { { id: 'remarks', field: 'remarks', - headerName: '我的備註', + headerName: isORGLoggedIn()?"Care Of / 我的備註":"我的備註", flex: 3, - + renderCell: (params) => ( + params.row.orgId === null? +
+ {params.row.remarks} +
: +
+ Care Of: {params.row.careOf} + 我的備註: {params.row.remarks} +
+ ) }, { id: 'fee', @@ -135,11 +148,23 @@ export default function SubmittedTab({ rows }) { const datas = rows?.filter((row) => selectedRowItems.includes(row.id) ); + console.log(datas) for (var i = 0; i < datas?.length; i++) { totalAmount += datas[i].fee; appIdList.push(datas[i].id); } - navigate('/paymentPage', { state: { amount: totalAmount, appIdList: appIdList } }); + console.log(appIdList) + console.log(totalAmount) + const firstCareOf = datas[0].careOf; + const areAllCareOfEqual = datas.every(obj => obj.careOf === firstCareOf); + + + if (appIdList.length>0&&areAllCareOfEqual){ + navigate('/paymentPage', { state: { amount: totalAmount, appIdList: appIdList } }); + }else{ + setCheckCareOf(true); + console.log("The selected applications should be from the same Care of.") + } } return ( @@ -180,6 +205,23 @@ export default function SubmittedTab({ rows }) { + +
+ setCheckCareOf(false)} > + + {/* 確認付款 */} + + + + The selected applications should be from the same Care of. + + + + + + + +
); diff --git a/src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js b/src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js index fe500a1..b5166e8 100644 --- a/src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js +++ b/src/pages/PublicNotice/ListPanel/SearchPublicNoticeForm.js @@ -11,6 +11,9 @@ import { useForm } from "react-hook-form"; import * as React from "react"; import * as ComboData from "utils/ComboData"; import * as DateUtils from "utils/DateUtils"; +import { + isORGLoggedIn, + } from "utils/Utils"; // ==============================|| DASHBOARD - DEFAULT ||============================== // @@ -37,6 +40,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { dateFrom: data.dateFrom, dateTo: data.dateTo, contact: data.contact, + careOf: data.careOf?data.careOf:"", status: (data.status === "" || data.status.includes('all')) ? "" : data.status, }; applySearch(temp); @@ -111,6 +115,20 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { }} />
+ {isORGLoggedIn()? + + + :null + } ( + params.row.orgId === null? +
+ {params.row.remarks} +
: +
+ Care Of: {params.row.careOf} + 我的備註: {params.row.remarks} +
+ ) }, { id: 'status',