diff --git a/src/pages/Organization/DetailPage_FromUser/OrganizationCard_loadFromUser.js b/src/pages/Organization/DetailPage_FromUser/OrganizationCard_loadFromUser.js
index c9fa273..9f67e23 100644
--- a/src/pages/Organization/DetailPage_FromUser/OrganizationCard_loadFromUser.js
+++ b/src/pages/Organization/DetailPage_FromUser/OrganizationCard_loadFromUser.js
@@ -2,12 +2,13 @@
import {
Grid, Button, Typography,
Dialog, DialogTitle, DialogContent, DialogActions,
- FormHelperText
+ FormHelperText, TextField
} from '@mui/material';
import MainCard from "components/MainCard";
import * as React from "react";
import * as yup from 'yup';
import { useEffect, useState } from "react";
+import * as DateUtils from 'utils/DateUtils';
import * as HttpUtils from 'utils/HttpUtils';
import * as UrlUtils from "utils/ApiPathConst";
import * as FieldUtils from "utils/FieldUtils";
@@ -18,7 +19,7 @@ const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingCo
import Loadable from 'components/Loadable';
import { lazy } from 'react';
import { notifyCreateSuccess } from 'utils/CommonFunction';
-import {useIntl} from "react-intl";
+import { useIntl } from "react-intl";
// ==============================|| DASHBOARD - DEFAULT ||============================== //
@@ -48,34 +49,34 @@ const OrganizationCard_loadFromUser = ({ userData, userId }) => {
enableReinitialize: true,
initialValues: currentUserData,
validationSchema: yup.object().shape({
- enCompanyName: yup.string().max(255, displayErrorMsg(intl.formatMessage({id: 'userRequireEnglishName'}))).required(displayErrorMsg(intl.formatMessage({id: 'userRequireEnglishName'}))),
- chCompanyName: yup.string().max(255, displayErrorMsg(intl.formatMessage({id: 'userRequireChineseName'}))).nullable(),
- addressLine1: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))),
+ enCompanyName: yup.string().max(255, displayErrorMsg(intl.formatMessage({ id: 'userRequireEnglishName' }))).required(displayErrorMsg(intl.formatMessage({ id: 'userRequireEnglishName' }))),
+ chCompanyName: yup.string().max(255, displayErrorMsg(intl.formatMessage({ id: 'userRequireChineseName' }))).nullable(),
+ addressLine1: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({ id: 'validateAddressLine1' }))),
addressLine2: yup.string().max(40).nullable(),
addressLine3: yup.string().max(40).nullable(),
- fax_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))).nullable(),
- tel_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))),
- phoneNumber: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'requiredValidNumber'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireContactNumber'}))),
+ fax_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({ id: 'requireDialingCode' }))).nullable(),
+ tel_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({ id: 'requireDialingCode' }))),
+ phoneNumber: yup.string().min(8, displayErrorMsg(intl.formatMessage({ id: 'requiredValidNumber' }))).required(displayErrorMsg(intl.formatMessage({ id: 'requireContactNumber' }))),
faxNumber: yup.string().min(8).nullable(),
- brExpiryDate: yup.string().min(8).required(displayErrorMsg(intl.formatMessage({id: 'pleaseFillInBusinessRegCertValidityDate'}))),
- brNo: yup.string().max(8).required(displayErrorMsg(intl.formatMessage({id: 'pleaseFillInBusinessRegCertNumber'})))
- .test('checkBrNoFormat', displayErrorMsg(`${intl.formatMessage({id: 'pleaseFillInValidBusinessRegCertNumber'})} (e.g. 12341234)`), function (value) {
- var brNo_pattern = /[0-9]{8}/
- if (value !== undefined) {
- if (value.match(brNo_pattern)) {
- return true
- } else {
- return false
+ brExpiryDate: yup.string().min(8).required(displayErrorMsg(intl.formatMessage({ id: 'pleaseFillInBusinessRegCertValidityDate' }))),
+ brNo: yup.string().max(8).required(displayErrorMsg(intl.formatMessage({ id: 'pleaseFillInBusinessRegCertNumber' })))
+ .test('checkBrNoFormat', displayErrorMsg(`${intl.formatMessage({ id: 'pleaseFillInValidBusinessRegCertNumber' })} (e.g. 12341234)`), function (value) {
+ var brNo_pattern = /[0-9]{8}/
+ if (value !== undefined) {
+ if (value.match(brNo_pattern)) {
+ return true
+ } else {
+ return false
+ }
}
- }
- }),
+ }),
}),
onSubmit: values => {
- if (values.country==null){
- setErrorMsg(intl.formatMessage({id: 'pleaseFillInCountry'}))
+ if (values.country == null) {
+ setErrorMsg(intl.formatMessage({ id: 'pleaseFillInCountry' }))
} else {
- if (values.country.key ==1 && values.district == null){
- setErrorMsg(intl.formatMessage({id: 'pleaseFillInDistrict'}))
+ if (values.country.key == 1 && values.district == null) {
+ setErrorMsg(intl.formatMessage({ id: 'pleaseFillInDistrict' }))
} else {
HttpUtils.post({
url: UrlUtils.POST_ORG_SAVE_PATH,
@@ -107,7 +108,7 @@ const OrganizationCard_loadFromUser = ({ userData, userId }) => {
}
},
onSuccess: function (responseData) {
- if(responseData.msg){
+ if (responseData.msg) {
setFailText(responseData.msg);
setIsFailPopUp(true);
return;
@@ -143,131 +144,148 @@ const OrganizationCard_loadFromUser = ({ userData, userId }) => {
-
diff --git a/src/pages/Organization/SearchPage/OrganizationSearchForm.js b/src/pages/Organization/SearchPage/OrganizationSearchForm.js
index dc384b8..44aad85 100644
--- a/src/pages/Organization/SearchPage/OrganizationSearchForm.js
+++ b/src/pages/Organization/SearchPage/OrganizationSearchForm.js
@@ -123,7 +123,7 @@ const OrganizationSearchForm = ({ applySearch }) => {
renderInput={(params) => (
{
return params?.value?"Yes":"";
}
diff --git a/src/pages/Payment/Details_Public/DataGrid.js b/src/pages/Payment/Details_Public/DataGrid.js
index 7549c85..157a8ab 100644
--- a/src/pages/Payment/Details_Public/DataGrid.js
+++ b/src/pages/Payment/Details_Public/DataGrid.js
@@ -64,7 +64,7 @@ export default function SearchPublicNoticeTable({ recordList }) {
{
id: 'appNo',
field: 'appNo',
- headerName: intl.formatMessage({id: 'terms'}),
+ headerName: intl.formatMessage({id: 'particulars'}),
width: isMdOrLg ? 'auto' : 300,
flex: isMdOrLg ? 1 : undefined,
renderCell: (params) => {
@@ -81,7 +81,7 @@ export default function SearchPublicNoticeTable({ recordList }) {
{
id: 'fee',
field: 'fee',
- headerName: intl.formatMessage({id: 'currencyPrice'}) + ' (HK$)',
+ headerName: intl.formatMessage({id: 'currencyAmount'}) + ' ($)',
width: 200,
valueGetter: (params) => {
return (params?.value) ? "$ " + FormatUtils.currencyFormat(params?.value) : "";
@@ -102,9 +102,9 @@ export default function SearchPublicNoticeTable({ recordList }) {
- :
+ :
- (HK$) {FormatUtils.currencyFormat(total)}
+ $ {FormatUtils.currencyFormat(total)}
diff --git a/src/pages/Payment/Details_Public/PaymentDetails.js b/src/pages/Payment/Details_Public/PaymentDetails.js
index 8de776c..64f02cd 100644
--- a/src/pages/Payment/Details_Public/PaymentDetails.js
+++ b/src/pages/Payment/Details_Public/PaymentDetails.js
@@ -136,7 +136,7 @@ const PaymentDetails = ({ formData,doPrint,onDownload }) => {
- :
+ :
diff --git a/src/pages/Payment/FPS/FPS.js b/src/pages/Payment/FPS/FPS.js
index 692ee73..d7864d8 100644
--- a/src/pages/Payment/FPS/FPS.js
+++ b/src/pages/Payment/FPS/FPS.js
@@ -299,7 +299,7 @@ const Index = () => {
-
+
{"HK$ " + currencyFormat(paymentData.amount)}
diff --git a/src/pages/Payment/Search_GLD/DataGrid.js b/src/pages/Payment/Search_GLD/DataGrid.js
index f8e4e46..6051a59 100644
--- a/src/pages/Payment/Search_GLD/DataGrid.js
+++ b/src/pages/Payment/Search_GLD/DataGrid.js
@@ -64,7 +64,7 @@ export default function SearchPublicNoticeTable({ recordList }) {
headerName: 'Trans. Date',
flex: 1,
valueGetter: (params) => {
- return DateUtils.datetimeStr(params?.value);
+ return DateUtils.dateStr(params?.value);
}
},
{
@@ -72,7 +72,7 @@ export default function SearchPublicNoticeTable({ recordList }) {
headerName: 'Status',
width: 150,
renderCell: (params) => {
- return PaymentStatus.getStatus_Cht(params);
+ return PaymentStatus.getStatus_Eng(params);
}
},
{
diff --git a/src/pages/Payment/Search_Public/DataGrid.js b/src/pages/Payment/Search_Public/DataGrid.js
index fa58b16..5d96649 100644
--- a/src/pages/Payment/Search_Public/DataGrid.js
+++ b/src/pages/Payment/Search_Public/DataGrid.js
@@ -77,7 +77,7 @@ export default function SearchPublicNoticeTable({ recordList }) {
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
valueGetter: (params) => {
- return DateUtils.datetimeStr(params?.value);
+ return DateUtils.dateStr(params?.value);
}
},
{
@@ -94,7 +94,7 @@ export default function SearchPublicNoticeTable({ recordList }) {
{
id: 'payAmount',
field: 'payAmount',
- headerName: intl.formatMessage({id: 'fee'}),
+ headerName: intl.formatMessage({id: 'currencyAmount'}) + ' ($)',
width: 150,
valueGetter: (params) => {
return (params?.value) ? "$ " + FormatUtils.currencyFormat(params?.value) : "";
diff --git a/src/pages/Proof/Create_FromApp/ProofForm.js b/src/pages/Proof/Create_FromApp/ProofForm.js
index 2df0c4d..3dd7336 100644
--- a/src/pages/Proof/Create_FromApp/ProofForm.js
+++ b/src/pages/Proof/Create_FromApp/ProofForm.js
@@ -37,6 +37,9 @@ const FormPanel = ({ formData }) => {
const [saving, setSaving] = React.useState(false);
+ const [proofPaymentDeadlineMin, setProofPaymentDeadlineMin] = React.useState({});
+ const [reviseDeadlineMin, setReviseDeadlineMin] = React.useState({});
+
const navigate = useNavigate()
React.useEffect(() => {
@@ -46,6 +49,8 @@ const FormPanel = ({ formData }) => {
setColumnPrice(ComboData.proofPrice[1])
formData['length'] = 18;
}
+ setProofPaymentDeadlineMin(formData.proofPaymentDeadline);
+ setReviseDeadlineMin(formData.reviseDeadline);
}
}, [formData]);
@@ -206,6 +211,7 @@ const FormPanel = ({ formData }) => {
onChange={formik.handleChange}
name="reviseDeadline"
value={formik.values["reviseDeadline"]}
+ InputProps={{ inputProps: { min: DateUtils.datetimeStr(reviseDeadlineMin) } }}
variant="outlined"
sx={
{
@@ -232,6 +238,7 @@ const FormPanel = ({ formData }) => {
onChange={formik.handleChange}
name="proofPaymentDeadline"
value={formik.values["proofPaymentDeadline"]}
+ InputProps={{ inputProps: { min: DateUtils.datetimeStr(proofPaymentDeadlineMin) } }}
variant="outlined"
sx={
{
diff --git a/src/pages/Proof/Reply_GLD/ApplicationDetails.js b/src/pages/Proof/Reply_GLD/ApplicationDetails.js
index 557113f..214cdbd 100644
--- a/src/pages/Proof/Reply_GLD/ApplicationDetails.js
+++ b/src/pages/Proof/Reply_GLD/ApplicationDetails.js
@@ -139,7 +139,7 @@ const ApplicationDetailCard = ({
- App No.:
+ App. No.:
@@ -151,7 +151,7 @@ const ApplicationDetailCard = ({
- Status:
+ App. Status:
diff --git a/src/pages/Proof/Reply_Public/ProofForm.js b/src/pages/Proof/Reply_Public/ProofForm.js
index e7e24a3..9e4bda9 100644
--- a/src/pages/Proof/Reply_Public/ProofForm.js
+++ b/src/pages/Proof/Reply_Public/ProofForm.js
@@ -83,11 +83,7 @@ const FormPanel = ({ formData }) => {
onSuccess: function () {
notifyActionSuccess("提交成功!")
if (actionValue) {
- if(data.creditor){
- navigate("/proof/search");
- }else{
- navigate("/proof/pay/" + params.id);
- }
+ navigate("/proof/pay/" + params.id);
} else {
navigate("/proof/search");
}
diff --git a/src/pages/PublicNotice/Details_GLD/ApplicationDetailCard.js b/src/pages/PublicNotice/Details_GLD/ApplicationDetailCard.js
index 0b8d7b6..25095cd 100644
--- a/src/pages/PublicNotice/Details_GLD/ApplicationDetailCard.js
+++ b/src/pages/PublicNotice/Details_GLD/ApplicationDetailCard.js
@@ -20,6 +20,7 @@ import Loadable from 'components/Loadable';
import { lazy } from 'react';
const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent')));
import * as HttpUtils from "utils/HttpUtils"
+import * as DateUtils from "utils/DateUtils"
import * as UrlUtils from "utils/ApiPathConst"
import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils";
@@ -93,7 +94,11 @@ const ApplicationDetailCard = (
};
const complatedClick = () => () => {
- setStatus("complete")
+ let issueDate = DateUtils.convertToDate(applicationDetailData.gazetteIssueDetail.issueDate);
+ let current = new Date();
+ if(current.getTime() >= issueDate.getTime()){
+ setStatus("complete")
+ }
};
const withdrawnClick = () => () => {
@@ -225,11 +230,13 @@ const ApplicationDetailCard = (
// size="large"
variant="contained"
onClick={complatedClick()}
+ disabled={(new Date()).getTime() < DateUtils.convertToDate(applicationDetailData.gazetteIssueDetail.issueDate).getTime()}
sx={{
textTransform: 'capitalize',
alignItems: 'end',
backgroundColor: '#52b202'
}}>
+
Complete
diff --git a/src/pages/PublicNotice/Details_GLD/GazetteDetailCard.js b/src/pages/PublicNotice/Details_GLD/GazetteDetailCard.js
index c4e4b02..ba17d6e 100644
--- a/src/pages/PublicNotice/Details_GLD/GazetteDetailCard.js
+++ b/src/pages/PublicNotice/Details_GLD/GazetteDetailCard.js
@@ -119,6 +119,7 @@ const GazetteDetailCard = (
// size="large"
variant="contained"
onClick={groupDetailClick()}
+ disabled={applicationDetailData.data.status!="submitted"&&applicationDetailData.data.status!="reviewed"}
sx={{
textTransform: 'capitalize',
alignItems: 'end'
diff --git a/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js b/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js
index 1c09b23..ab689a5 100644
--- a/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js
+++ b/src/pages/PublicNotice/Details_Public/ApplicationDetailCard.js
@@ -167,7 +167,13 @@ const ApplicationDetailCard = (
variant="contained"
onClick={cancelledClick()}
color="edit"
- disabled={currentApplicationDetailData.status !== "submitted"}
+ disabled={currentApplicationDetailData.status == "rejected"
+ || currentApplicationDetailData.status == "cancelled"
+ || (!currentApplicationDetailData.creditor
+ && currentApplicationDetailData.status == "paid")
+ || (currentApplicationDetailData.creditor
+ && currentApplicationDetailData.status == "confirmed")
+ }
title={intl.formatMessage({ id: 'cancel' })}
startIcon={}
aria-label={intl.formatMessage({ id: 'cancel' })}
diff --git a/src/pages/PublicNotice/ListPanel/BaseGrid.js b/src/pages/PublicNotice/ListPanel/BaseGrid.js
index 6607aea..3c2bfe1 100644
--- a/src/pages/PublicNotice/ListPanel/BaseGrid.js
+++ b/src/pages/PublicNotice/ListPanel/BaseGrid.js
@@ -81,12 +81,16 @@ export default function BaseGrid({rows}) {
renderCell: (params) => (
isORGLoggedIn()?
+ : {params.row.issueVolume + "/" + params.row.issueYear
+ + " No. " + params.row.issueNo}
Care Of: {params.row.careOf}
: {params.row.remarks}
:
- {params.row.remarks}
+ : {params.row.issueVolume + "/" + params.row.issueYear
+ + " No. " + params.row.issueNo}
+ :{params.row.remarks}
{/* {params.row.remarks} */}
)
diff --git a/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js b/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js
index 0fae35a..7581c20 100644
--- a/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js
+++ b/src/pages/PublicNotice/ListPanel/PendingPaymentTab.js
@@ -19,9 +19,9 @@ import { useNavigate } from "react-router-dom";
import {
isORGLoggedIn,
} from "utils/Utils";
-import {ThemeProvider, useTheme} from "@emotion/react";
-import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst";
-import {FormattedMessage, useIntl} from "react-intl";
+import { ThemeProvider, useTheme } from "@emotion/react";
+import { PNSPS_BUTTON_THEME } from "../../../themes/buttonConst";
+import { FormattedMessage, useIntl } from "react-intl";
// ==============================|| EVENT TABLE ||============================== //
export default function SubmittedTab({ rows }) {
@@ -66,8 +66,8 @@ export default function SubmittedTab({ rows }) {
console.log(rows)
console.log(selectedCareOf)
rows.forEach((element) => {
- if (element.careOf===selectedCareOf.label){
- afteSelectedList.push(element)
+ if (element.careOf === selectedCareOf.label) {
+ afteSelectedList.push(element)
}
});
// afteSelectedList.push(rows.find(obj => obj.careOf ===(selectedCareOf.label)));
@@ -91,6 +91,11 @@ export default function SubmittedTab({ rows }) {
for (var i = 0; i < datas?.length; i++) {
appIdList.push(datas[i].id);
}
+ if(appIdList.length<1){
+ setExpiryDateErrText(intl.formatMessage({ id: 'MSG.plzSelectApp' }));
+ setExpiryDateErr(true);
+ return;
+ }
HttpUtils.post({
url: UrlUtils.POST_CHECK_APP_EXPRITY_DATE,
params: {
@@ -105,7 +110,7 @@ export default function SubmittedTab({ rows }) {
responData.msg.forEach((item) => {
str += "App: " + item.appNo + ", 到期日: " + DateUtils.datetimeStr_Cht(item.expiryDate) + "\n";
});
- setExpiryDateErrText(str.split('\n').map(str => <>{str}
>));
+ setExpiryDateErrText(str.split('\n').map(str => <>{str}
>));
setExpiryDateErr(true);
}
});
@@ -117,69 +122,41 @@ export default function SubmittedTab({ rows }) {
{
id: 'appNo',
field: 'appNo',
- headerName: intl.formatMessage({id: 'applicationId'}),
+ headerName: intl.formatMessage({ id: 'applicationId' }),
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
},
{
id: 'created',
field: 'created',
- headerName: intl.formatMessage({id: 'submitDate'}),
+ headerName: intl.formatMessage({ id: 'submitDate' }),
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
valueGetter: (params) => {
return DateUtils.datetimeStr(params.value);
}
},
- // {
- // id: 'contactPerson',
- // field: 'contactPerson',
- // headerName: '聯絡人',
- // flex: 2,
- // renderCell: (params) => {
- // let phone = JSON.parse(params.row.contactTelNo);
- // let faxNo = JSON.parse(params.row.contactFaxNo);
-
- // let contact = "";
- // if (phone) {
- // contact = "電話: " + phone?.countryCode + " " + phone?.phoneNumber
- // }
-
- // if (faxNo && faxNo?.faxNumber) {
- // if (contact != "")
- // contact = contact + ", "
- // contact = contact + "傳真:" + faxNo?.countryCode + " " + faxNo?.faxNumber
- // }
-
- // return (<>
- // {params?.value}
- // {contact}
- // >);
- // }
- // },
{
id: 'remarks',
field: 'remarks',
- headerName: isORGLoggedIn() ? intl.formatMessage({id: 'gazetteCount2_1'}) : intl.formatMessage({id: 'myRemarks'}),
+ headerName: isORGLoggedIn() ? intl.formatMessage({ id: 'gazetteCount2_1' }) : intl.formatMessage({ id: 'myRemarks' }),
width: isMdOrLg ? 'auto' : 400,
flex: isMdOrLg ? 3 : undefined,
renderCell: (params) => (
isORGLoggedIn() ?
- Care Of: {params.row.careOf}
- : {params.row.remarks}
+ Care Of: {params.row.careOf}
+ : {params.row.remarks}
:
- {/* */}
- {params.row.remarks}
- {/* */}
+ {params.row.remarks}
)
},
{
id: 'fee',
field: 'fee',
- headerName: intl.formatMessage({id: 'price'}),
+ headerName: intl.formatMessage({ id: 'price' }),
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
renderCell: (params) => {
@@ -189,11 +166,11 @@ export default function SubmittedTab({ rows }) {
{
id: 'status',
field: 'status',
- headerName: intl.formatMessage({id: 'status'}),
+ headerName: intl.formatMessage({ id: 'status' }),
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
renderCell: (params) => {
- return [StatusUtils.getStatusIntl(params,intl)]
+ return [StatusUtils.getStatusIntl(params, intl)]
},
},
{
@@ -203,8 +180,8 @@ export default function SubmittedTab({ rows }) {
width: 150,
cellClassName: 'actions',
renderCell: (params) => {
- return
@@ -343,7 +319,7 @@ export default function SubmittedTab({ rows }) {
>
-
+
@@ -352,15 +328,15 @@ export default function SubmittedTab({ rows }) {
- setIsPopUp(false)} aria-label={intl.formatMessage({id: 'close'})}>
+ setIsPopUp(false)} aria-label={intl.formatMessage({ id: 'close' })}>
-
+
- doPayment()} aria-label={intl.formatMessage({id: 'confirm'})}>
+ doPayment()} aria-label={intl.formatMessage({ id: 'confirm' })}>
-
-
+
+
@@ -387,15 +363,15 @@ export default function SubmittedTab({ rows }) {
- setCheckCareOf(false)} aria-label={intl.formatMessage({id: 'close'})}>
+ setCheckCareOf(false)} aria-label={intl.formatMessage({ id: 'close' })}>
-
+
- afterWarningPayment()} aria-label={intl.formatMessage({id: 'confirm'})}>
+ afterWarningPayment()} aria-label={intl.formatMessage({ id: 'confirm' })}>
-
-
+
+
@@ -413,7 +389,7 @@ export default function SubmittedTab({ rows }) {
}}
>
- 行動失敗
+
{
@@ -422,9 +398,9 @@ export default function SubmittedTab({ rows }) {
- setExpiryDateErr(false)} aria-label={intl.formatMessage({id: 'close'})}>
+ setExpiryDateErr(false)} aria-label={intl.formatMessage({ id: 'close' })}>
-
+
diff --git a/src/pages/PublicNotice/ListPanel/SearchPublicNoticeTable.js b/src/pages/PublicNotice/ListPanel/SearchPublicNoticeTable.js
index 7c84c05..e2a3d7b 100644
--- a/src/pages/PublicNotice/ListPanel/SearchPublicNoticeTable.js
+++ b/src/pages/PublicNotice/ListPanel/SearchPublicNoticeTable.js
@@ -6,13 +6,13 @@ import {
} from '@mui/material';
import * as DateUtils from "utils/DateUtils";
import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils";
-import {useNavigate} from "react-router-dom";
-import {FiDataGrid} from "components/FiDataGrid";
+import { useNavigate } from "react-router-dom";
+import { FiDataGrid } from "components/FiDataGrid";
import {
isORGLoggedIn,
- } from "utils/Utils";
-import {useTheme} from "@emotion/react";
-import {FormattedMessage, useIntl} from "react-intl";
+} from "utils/Utils";
+import { useTheme } from "@emotion/react";
+import { FormattedMessage, useIntl } from "react-intl";
// ==============================|| EVENT TABLE ||============================== //
export default function SearchPublicNoticeTable({ recordList }) {
@@ -23,7 +23,7 @@ export default function SearchPublicNoticeTable({ recordList }) {
const intl = useIntl();
const handleDetailClick = (params) => () => {
- navigate('/publicNotice/'+ params.id);
+ navigate('/publicNotice/' + params.id);
};
React.useEffect(() => {
@@ -34,14 +34,14 @@ export default function SearchPublicNoticeTable({ recordList }) {
{
id: 'appNo',
field: 'appNo',
- headerName: intl.formatMessage({id: 'applicationId'}),
+ headerName: intl.formatMessage({ id: 'applicationId' }),
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
},
{
id: 'created',
field: 'created',
- headerName: intl.formatMessage({id: 'submitDate'}),
+ headerName: intl.formatMessage({ id: 'submitDate' }),
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
valueGetter: (params) => {
@@ -77,24 +77,28 @@ export default function SearchPublicNoticeTable({ recordList }) {
{
id: 'remarks',
field: 'remarks',
- headerName: isORGLoggedIn()? intl.formatMessage({id: 'gazetteCount2_1'}) : intl.formatMessage({id: 'myRemarks'}),
+ headerName: isORGLoggedIn() ? intl.formatMessage({ id: 'gazetteCount2_1' }) : intl.formatMessage({ id: 'myRemarks' }),
width: isMdOrLg ? 'auto' : 400,
flex: isMdOrLg ? 3 : undefined,
renderCell: (params) => (
- isORGLoggedIn()?
-
- Care Of: {params.row.careOf}
- : {params.row.remarks}
-
:
-
- {params.row.remarks}
-
- )
+ isORGLoggedIn() ?
+
+ : {params.row.issueVolume + "/" + params.row.issueYear
+ + " No. " + params.row.issueNo}
+ Care Of: {params.row.careOf}
+ : {params.row.remarks}
+
:
+
+ : {params.row.issueVolume + "/" + params.row.issueYear
+ + " No. " + params.row.issueNo}
+ {params.row.remarks}
+
+ )
},
{
id: 'status',
field: 'status',
- headerName: intl.formatMessage({id: 'status'}),
+ headerName: intl.formatMessage({ id: 'status' }),
width: 200,
renderCell: (params) => {
return [StatusUtils.getStatusIntl(params, intl)]
@@ -108,16 +112,16 @@ export default function SearchPublicNoticeTable({ recordList }) {
cellClassName: 'actions',
renderCell: (params) => {
return
-
+
;
},
}
];
function handleRowDoubleClick(params) {
- navigate('/publicNotice/'+ params.id);
+ navigate('/publicNotice/' + params.id);
}
return (
diff --git a/src/pages/User/DetailPage/UserInformationCard.js b/src/pages/User/DetailPage/UserInformationCard.js
index 6b72383..832a362 100644
--- a/src/pages/User/DetailPage/UserInformationCard.js
+++ b/src/pages/User/DetailPage/UserInformationCard.js
@@ -6,6 +6,7 @@ import {
InputAdornment,
Typography, FormLabel,
OutlinedInput,
+ TextField
} from '@mui/material';
import MainCard from "../../../components/MainCard";
import * as React from "react";
@@ -18,6 +19,7 @@ const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingCo
//import {useParams} from "react-router-dom";
import Visibility from '@mui/icons-material/Visibility';
import VisibilityOff from '@mui/icons-material/VisibilityOff';
+import { useIntl } from "react-intl";
// ==============================|| DASHBOARD - DEFAULT ||============================== //
const UserInformationCard = ({ isCollectData, updateUserObject, userData, isNewRecord }) => {
@@ -25,8 +27,12 @@ const UserInformationCard = ({ isCollectData, updateUserObject, userData, isNewR
const [currentUserData, setCurrentUserData] = React.useState({});
const [locked, setLocked] = useState(false);
const [showPassword, setShowPassword] = React.useState(false);
- const [onReady, setOnReady] = useState(false);
- const { register, getValues, formState: { errors }, } = useForm()
+ const [onReady, setOnReady] = React.useState(false);
+ const [pw, setPw] = React.useState("");
+ const [pwErr, setPwErr] = React.useState("");
+ const { register, getValues } = useForm();
+
+ const intl = useIntl();
const handleClickShowPassword = () => setShowPassword((show) => !show);
const handleMouseDownPassword = () => setShowPassword(!showPassword);
@@ -49,9 +55,40 @@ const UserInformationCard = ({ isCollectData, updateUserObject, userData, isNewR
}
}, [currentUserData]);
+ useEffect(() => {
+ console.log("num");
+ console.log(pw.match(/^(?=.*[0-9])/));
+ console.log("small char");
+ console.log(pw.match(/^(?=.*[a-z])/));
+ console.log("SpecialChar");
+ console.log(pw.match(/^(?=.*[!@#%&]?)/));
+ setPwErr('');
+
+ if (pw.length == 0) {
+ setPwErr(intl.formatMessage({ id: 'requirePassword' }));
+ } else if (pw.length < 8) {
+ setPwErr(intl.formatMessage({ id: 'atLeast8CharPassword' }));
+ } else if (pw.length > 60) {
+ setPwErr(intl.formatMessage({ id: 'noMoreThenNWords' }, { num: num, fieldname: "" }));
+ }
+ else if (/\s/.test(pw) ) {
+ setPwErr(intl.formatMessage({ id: 'noSpacePassword' }));
+ } else if (! /[a-z]/.test(pw)) {
+ setPwErr(intl.formatMessage({ id: 'atLeastOneSmallLetter' }));
+ } else if (! /[A-Z]/.test(pw)) {
+ setPwErr(intl.formatMessage({ id: 'atLeastOneCapLetter' }));
+ } else if (! /[0-9]/.test(pw)) {
+ setPwErr(intl.formatMessage({ id: 'atLeast1Number' }));
+ } else if (! /[!@#%&]/.test(pw)) {
+ setPwErr(intl.formatMessage({ id: 'atLeast1SpecialChar' }));
+ }
+ }, [pw]);
+
useEffect(() => {
//upload latest data to parent
const values = getValues();
+ values.password = pw;
+ values.pwErr = pwErr;
const objectData = {
...values,
locked: locked,
@@ -110,19 +147,19 @@ const UserInformationCard = ({ isCollectData, updateUserObject, userData, isNewR
- value % 2 === 0 || "The number of servings must be an even number",
- })}
+ {...register("password")}
id='password'
type={showPassword ? 'text' : 'password'}
disabled={!isNewRecord}
+ error={pwErr}
+ helperText={pwErr}
+ onChange={(value) => {
+ setPw(value.target.value);
+ }}
endAdornment={
- {errors.password?.message}
: null
}
diff --git a/src/pages/User/DetailPage/index.js b/src/pages/User/DetailPage/index.js
index e3b7bd9..55aea6e 100644
--- a/src/pages/User/DetailPage/index.js
+++ b/src/pages/User/DetailPage/index.js
@@ -171,6 +171,7 @@ const UserMaintainPage = () => {
return false;
});
} else {
+ if(editedCustomerData.pwErr) return;
axios.post(POST_ADMIN_USER_REGISTER,
{
"username": editedCustomerData.username,
diff --git a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
index 97c31f3..08a719c 100644
--- a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
+++ b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
@@ -45,12 +45,6 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => {
return intl.formatMessage({ id: 'noMoreThenNWords' },{num:num, fieldname:fieldname?intl.formatMessage({ id: fieldname})+": ":""});
}
- function getRequiredErrStr(fieldname){
- return intl.formatMessage({ id: 'require'},{fieldname:fieldname?intl.formatMessage({ id: fieldname}):""});
- }
-
-
-
const formik = useFormik({
enableReinitialize: true,
initialValues: currentUserData,
@@ -68,7 +62,6 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => {
fax_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})),
phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})),
faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).nullable(),
- district: yup.string().required(getRequiredErrStr("district")),
}),
onSubmit: values => {
if (values.country==null){
@@ -102,6 +95,7 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => {
addressLine2: values.addressLine2,
addressLine3: values.addressLine3,
},
+ preferLocale: values.preferLocale.type
},
onSuccess: function () {
notifySaveSuccess();
@@ -519,6 +513,17 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => {
form: formik
})}
+
+
+ {FieldUtils.getComboField({
+ label: intl.formatMessage({id: 'language'}) + ":",
+ valueName: "preferLocale",
+ dataList: ComboData.Locale,
+ getOptionLabel: (option) => option.label? option.label: "",
+ disabled: (!editMode),
+ form: formik
+ })}
+
diff --git a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual_Pub.js b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual_Pub.js
index 0422ab0..bb2f6ae 100644
--- a/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual_Pub.js
+++ b/src/pages/User/DetailsPage_Individual/UserInformationCard_Individual_Pub.js
@@ -44,11 +44,6 @@ const UserInformationCard_Individual_Pub = ({ formData, loadDataFun }) => {
return intl.formatMessage({ id: 'noMoreThenNWords' },{num:num, fieldname:fieldname?intl.formatMessage({ id: fieldname})+": ":""});
}
- function getRequiredErrStr(fieldname){
- return intl.formatMessage({ id: 'require'},{fieldname:fieldname?intl.formatMessage({ id: fieldname}):""});
- }
-
-
const formik = useFormik({
enableReinitialize: true,
initialValues: currentUserData,
@@ -63,9 +58,9 @@ const UserInformationCard_Individual_Pub = ({ formData, loadDataFun }) => {
fax_countryCode: yup.string().min(3, intl.formatMessage({id: 'require3Number'})),
phoneNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).required(intl.formatMessage({id: 'requireContactNumber'})),
faxNumber: yup.string().min(8, intl.formatMessage({id: 'require8Number'})).nullable(),
- district: yup.string().required(getRequiredErrStr("district")),
}),
onSubmit: values => {
+ // console.log(values)
if (values.country==null){
setErrorMsg(intl.formatMessage({id: 'pleaseFillInCountry'}))
} else {
@@ -92,6 +87,7 @@ const UserInformationCard_Individual_Pub = ({ formData, loadDataFun }) => {
addressLine2: values.addressLine2,
addressLine3: values.addressLine3,
},
+ preferLocale: values.preferLocale.type
},
onSuccess: function () {
notifySaveSuccess();
@@ -357,6 +353,17 @@ const UserInformationCard_Individual_Pub = ({ formData, loadDataFun }) => {
form: formik
})}
+
+
+ {FieldUtils.getComboField({
+ label: intl.formatMessage({id: 'language'}) + ":",
+ valueName: "preferLocale",
+ dataList: ComboData.Locale,
+ getOptionLabel: (option) => option.label? option.label: "",
+ disabled: (!editMode),
+ form: formik
+ })}
+
diff --git a/src/pages/User/DetailsPage_Individual/index.js b/src/pages/User/DetailsPage_Individual/index.js
index fd8ec54..b935105 100644
--- a/src/pages/User/DetailsPage_Individual/index.js
+++ b/src/pages/User/DetailsPage_Individual/index.js
@@ -22,7 +22,7 @@ const BackgroundHead = {
}
import Loadable from 'components/Loadable';
import { useNavigate } from "react-router-dom";
-import {getObjectByValue} from "utils/CommonFunction";
+import {getObjectByValue,getObjectByType} from "utils/CommonFunction";
import * as ComboData from "utils/ComboData";
const LoadingComponent = Loadable(React.lazy(() => import('../../extra-pages/LoadingComponent')));
const UserInformationCard = Loadable(React.lazy(() => import('./UserInformationCard_Individual')));
@@ -80,6 +80,7 @@ const UserMaintainPage_Individual = () => {
response.data["fax_countryCode"] = response.data.faxNo?.countryCode;
response.data["lastLoginDate"] = response.data.lastLogin ? DateUtils.datetimeStr(response.data.lastLogin) : "";
+ response.data["preferLocale"] = getObjectByType(ComboData.Locale, "type", response.data?.preferLocale);
setFormData(response.data);
}
@@ -104,7 +105,9 @@ const UserMaintainPage_Individual = () => {
response.data["faxNumber"] = response.data.faxNo?.faxNumber;
response.data["fax_countryCode"] = response.data.faxNo?.countryCode;
-
+
+ response.data["preferLocale"] = getObjectByType(ComboData.Locale, "type", response.data?.preferLocale);
+ // console.log(response.data)
setFormData(response.data);
}
});
diff --git a/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js b/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
index 682535b..cb67bbb 100644
--- a/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
+++ b/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
@@ -101,7 +101,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
orgId: values.orgId,
// brNo: values.brNo,
// brExpiryDate: values.brExpiryDate,
-
+ preferLocale: values.preferLocale.type
},
onSuccess: function () {
notifySaveSuccess()
@@ -394,8 +394,17 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
form: formik
})}
-
-
+
+ {FieldUtils.getComboField({
+ label: intl.formatMessage({id: 'language'}) + ":",
+ valueName: "preferLocale",
+ dataList: ComboData.Locale,
+ getOptionLabel: (option) => option.label? option.label: "",
+ disabled: (!editMode),
+ form: formik
+ })}
+
+
diff --git a/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization_Pub.js b/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization_Pub.js
index 7b8b7a4..0dda060 100644
--- a/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization_Pub.js
+++ b/src/pages/User/DetailsPage_Organization/UserInformationCard_Organization_Pub.js
@@ -19,6 +19,7 @@ import { notifySaveSuccess, } from 'utils/CommonFunction';
import {FormattedMessage, useIntl} from "react-intl";
import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst";
import {ThemeProvider} from "@emotion/react";
+import * as ComboData from "utils/ComboData";
// import {
// isPrimaryLoggedIn,
@@ -67,6 +68,7 @@ const UserInformationCard_Organization_Pub = ({ userData, loadDataFun,}) => {
countryCode: values.tel_countryCode,
phoneNumber: values.phoneNumber
},
+ preferLocale: values.preferLocale.type
},
onSuccess: function () {
notifySaveSuccess()
@@ -202,6 +204,16 @@ const UserInformationCard_Organization_Pub = ({ userData, loadDataFun,}) => {
form: formik
})}
+
+ {FieldUtils.getComboField({
+ label: intl.formatMessage({id: 'language'}) + ":",
+ valueName: "preferLocale",
+ dataList: ComboData.Locale,
+ getOptionLabel: (option) => option.label? option.label: "",
+ disabled: (!editMode),
+ form: formik
+ })}
+
diff --git a/src/pages/User/DetailsPage_Organization/index.js b/src/pages/User/DetailsPage_Organization/index.js
index 4cc506b..3a795e0 100644
--- a/src/pages/User/DetailsPage_Organization/index.js
+++ b/src/pages/User/DetailsPage_Organization/index.js
@@ -19,7 +19,7 @@ import ForwardIcon from '@mui/icons-material/Forward';
import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png'
import { useNavigate } from 'react-router-dom';
import * as ComboData from "utils/ComboData";
-import {getObjectByValue} from "utils/CommonFunction";
+import {getObjectByValue,getObjectByType} from "utils/CommonFunction";
const BackgroundHead = {
backgroundImage: `url(${titleBackgroundImg})`,
@@ -139,6 +139,8 @@ const UserMaintainPage_Organization = () => {
response.data["faxNumber"] = response.data.faxNo?.faxNumber;
response.data["fax_countryCode"] = response.data.faxNo?.countryCode;
+ response.data["status"] = response.data?.locked?"locked":response.data?.status;
+ response.data["preferLocale"] = getObjectByType(ComboData.Locale, "type", response.data?.preferLocale);
//response.data["orgId"] = response.data.brExpiryDate?DateUtils.dateStr(response.data.brExpiryDate):"";
@@ -162,6 +164,7 @@ const UserMaintainPage_Organization = () => {
response.data["faxNumber"] = response.data.faxNo?.faxNumber;
response.data["fax_countryCode"] = response.data.faxNo?.countryCode;
+ response.data["preferLocale"] = getObjectByType(ComboData.Locale, "type", response.data?.preferLocale);
//response.data["orgId"] = response.data.brExpiryDate?DateUtils.dateStr(response.data.brExpiryDate):"";
setUserData(response.data);
diff --git a/src/pages/User/SearchPage/UserSearchForm.js b/src/pages/User/SearchPage/UserSearchForm.js
index a971b67..7d8b1e9 100644
--- a/src/pages/User/SearchPage/UserSearchForm.js
+++ b/src/pages/User/SearchPage/UserSearchForm.js
@@ -46,7 +46,6 @@ const UserSearchForm = ({ applySearch }) => {
enName: data.fullenName,
post: data.post,
email: data.email,
- phone: data.phone,
locked: locked,
};
applySearch(temp);
@@ -136,18 +135,6 @@ const UserSearchForm = ({ applySearch }) => {
/>
-
-
-
-
{
fullName: data.fullenName,
email: data.email,
phone: data.phone,
- accountFilter: accountFilter,
};
+ if(accountFilter!="All"){
+ temp["accountFilter"] = accountFilter;
+ }
applySearch(temp);
};
@@ -113,7 +115,7 @@ const UserSearchForm_Individual = ({ applySearch }) => {
disablePortal
id="accountFilter"
size="small"
- options={["Active", "Locked", "Not verified"]}
+ options={["All","Active", "Locked", "Not verified"]}
value={accountFilter}
onChange={(event, newValue) => {
if (newValue !== null) {
diff --git a/src/pages/authentication/auth-forms/AuthLoginCustom.js b/src/pages/authentication/auth-forms/AuthLoginCustom.js
index 3afe339..82d9fb3 100644
--- a/src/pages/authentication/auth-forms/AuthLoginCustom.js
+++ b/src/pages/authentication/auth-forms/AuthLoginCustom.js
@@ -109,6 +109,10 @@ const AuthLoginCustom = () => {
// setLocale("zh-CN");
localStorage.setItem('locale','zh-CN');
}
+ if (response.data.preferLocale ==="en"){
+ // setLocale("zh-CN");
+ localStorage.setItem('locale','en');
+ }
}
dispatch(handleLogin(data))
navigate('/dashboard');
@@ -118,7 +122,11 @@ const AuthLoginCustom = () => {
.catch((error) => {
// setSuccess(false)
setOnLogin(false)
- setErrorMassage(error.response.data.error)
+ if(error.response!= undefined){
+ setErrorMassage(error.response.data.error)
+ }else{
+ setErrorMassage("CONNECTION_ERROR")
+ }
setOpen(true)
});
} else {
diff --git a/src/pages/authentication/auth-forms/CustomFormWizard.js b/src/pages/authentication/auth-forms/CustomFormWizard.js
index 22b5922..d59cde9 100644
--- a/src/pages/authentication/auth-forms/CustomFormWizard.js
+++ b/src/pages/authentication/auth-forms/CustomFormWizard.js
@@ -303,13 +303,13 @@ const CustomFormWizard = (props) => {
selectedAddress4, selectedAddress5,
termsAndConAccept, termsAndConNotAccept, fileList])
- useEffect(()=>{
+ useEffect(() => {
setDistrictErrStr("");
- if(selectedAddress5?.type === "hongKong"){
- if(selectedAddress4 ==null || selectedAddress4 == ""|| selectedAddress4 == {})
+ if (selectedAddress5?.type === "hongKong") {
+ if (selectedAddress4 == null || selectedAddress4 == "" || selectedAddress4 == {})
setDistrictErrStr(getRequiredErrStr("district"))
}
- },[selectedAddress4, selectedAddress5])
+ }, [selectedAddress4, selectedAddress5])
useEffect(() => {
props.step == 2 ? _onSubmit() : null;
@@ -541,11 +541,11 @@ const CustomFormWizard = (props) => {
return {errorMsg}
}
- function getMaxErrStr(num, fieldname){
- return displayErrorMsg(intl.formatMessage({ id: 'noMoreThenNWords' },{num:num, fieldname:fieldname?intl.formatMessage({ id: fieldname})+": ":""}));
+ function getMaxErrStr(num, fieldname) {
+ return displayErrorMsg(intl.formatMessage({ id: 'noMoreThenNWords' }, { num: num, fieldname: fieldname ? intl.formatMessage({ id: fieldname }) + ": " : "" }));
}
- function getRequiredErrStr(fieldname){
- return displayErrorMsg(intl.formatMessage({ id: 'require'},{fieldname:fieldname?intl.formatMessage({ id: fieldname}):""}));
+ function getRequiredErrStr(fieldname) {
+ return displayErrorMsg(intl.formatMessage({ id: 'require' }, { fieldname: fieldname ? intl.formatMessage({ id: fieldname }) : "" }));
}
const formik = useFormik({
@@ -581,14 +581,17 @@ const CustomFormWizard = (props) => {
.matches(/^(?=.*[0-9])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeast1Number' })) })
.matches(/^(?=.*[!@#%&])/, { message: displayErrorMsg(intl.formatMessage({ id: 'atLeast1SpecialChar' })) }),
confirmPassword: yup.string().min(8, displayErrorMsg(intl.formatMessage({ id: 'atLeast8CharPassword' }))).required(displayErrorMsg(intl.formatMessage({ id: 'pleaseConfirmPassword' }))).oneOf([yup.ref('password'), null], displayErrorMsg(intl.formatMessage({ id: 'samePassword' }))),
- enName: yup.string().max(40, getMaxErrStr(40)).required(displayErrorMsg(intl.formatMessage({ id: 'userRequireEnglishName' }))),
- chName: yup.string().max(6, getMaxErrStr(6)).required(displayErrorMsg(intl.formatMessage({ id: 'userRequireChineseName' }))),
+ enName: yup.string().max(40, getMaxErrStr(40)),
+ chName: yup.string().max(6, getMaxErrStr(6)).when('enName', {
+ is: (enName) => enName?false:true,
+ then: yup.string().required(displayErrorMsg(intl.formatMessage({ id: 'userRequireChineseName' })))
+ }),
address1: yup.string().max(40, getMaxErrStr(40, "addressLine1")).required(displayErrorMsg(intl.formatMessage({ id: 'validateAddressLine1' }))),
address2: yup.string().max(40, getMaxErrStr(40, "addressLine2")),
address3: yup.string().max(40, getMaxErrStr(40, "addressLine3")),
email: yup.string().email(displayErrorMsg(intl.formatMessage({ id: 'validEmailFormat' }))).max(128, getMaxErrStr(128)).required(displayErrorMsg(intl.formatMessage({ id: 'requireEmail' }))),
emailConfirm: yup.string().email(displayErrorMsg(intl.formatMessage({ id: 'validEmailFormat' }))).max(128, getMaxErrStr(128)).required(displayErrorMsg(intl.formatMessage({ id: 'requireEmail' }))).oneOf([yup.ref('email'), null], displayErrorMsg(intl.formatMessage({ id: 'validSameEmail' }))),
- idNo: yup.string().required(displayErrorMsg(`${intl.formatMessage({ id: 'require' })}${selectedIdDocInputType}${intl.formatMessage({ id: 'number' })}`))
+ idNo: yup.string().required(getRequiredErrStr('number'))
.matches(/^[aA-zZ0-9\s]+$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({ id: 'noSpecialCharacter' })}`) })
.matches(/^\S*$/, { message: displayErrorMsg(`${selectedIdDocInputType}${intl.formatMessage({ id: 'noSpace' })}`) })
.test('checkIDCardFormat', displayErrorMsg(`${intl.formatMessage({ id: 'requiredValid' })}${selectedIdDocInputType}${intl.formatMessage({ id: 'number' })}`), function (value) {
@@ -648,7 +651,7 @@ const CustomFormWizard = (props) => {
// faxCountryCode: yup.string().min(3,'請輸入3位數字'),
phone: yup.string().min(8, displayErrorMsg(intl.formatMessage({ id: 'requireAtLeast8Number' }))).required(displayErrorMsg(intl.formatMessage({ id: 'requireContactNumber' }))),
// fax: yup.string().min(8,'請輸入8位數字'),
- captchaField: yup.string().max(5, getMaxErrStr(5)).required(displayErrorMsg(intl.formatMessage({ id: 'requireVerify' }))),//.oneOf([captcha], displayErrorMsg('請輸入有效驗證')),
+ captchaField: yup.string().max(5, getMaxErrStr(5)).required(displayErrorMsg(intl.formatMessage({ id: 'requireVerify' }))),//.oneOf([captcha], displayErrorMsg('請輸入有效驗證')),
}),
});
@@ -934,7 +937,7 @@ const CustomFormWizard = (props) => {
/>
{formik.touched.idDocType && (
selectedIdDocType === null || selectedIdDocType?.type == null ?
-
+
: ''
)}
@@ -1067,12 +1070,17 @@ const CustomFormWizard = (props) => {
}
+
+
+ ()
+
+
- {selectedIdDocType.type === "CNID" ? "" : *}
+ {selectedIdDocType.type === "CNID" ? "" : }
{
- *
+
{
value={selectedAddress4}
options={ComboData.district}
disabled={checkCountry}
- error={Boolean(districtErrStr!="")}
+ error={Boolean(districtErrStr != "")}
onBlur={formik.handleBlur}
getOptionLabel={(option) => option.type ? intl.formatMessage({ id: option.type }) : ""}
onChange={(event, newValue) => {
@@ -1252,7 +1260,7 @@ const CustomFormWizard = (props) => {
{formik.errors.address3}
)}
- {districtErrStr!= "" && (
+ {districtErrStr != "" && (
{districtErrStr}
@@ -1685,8 +1693,8 @@ const CustomFormWizard = (props) => {
:
- {intl.formatMessage({ id: selectedIdDocType?.label??" " })}
-
+ {intl.formatMessage({ id: selectedIdDocType?.label ?? " " })}
+
diff --git a/src/pages/authentication/auth-forms/PasswordAlertDialog.js b/src/pages/authentication/auth-forms/PasswordAlertDialog.js
index ba25ac5..305a139 100644
--- a/src/pages/authentication/auth-forms/PasswordAlertDialog.js
+++ b/src/pages/authentication/auth-forms/PasswordAlertDialog.js
@@ -29,22 +29,27 @@ const PasswordAlertDialog = (props) => {
- {props.errorMassage === 'ACCOUNT_LOCKED_ERROR' ?
-
-
- 帳戶將被封鎖
-
-
- 帳戶連續五次登入錯誤,請與系統管理員聯絡
-
- :
- props.errorMassage === 'ACCOUNT_VERIFIED_ERROR' ?
-
- 帳戶尚未驗證
- :
-
- 用戶名或密碼錯誤
-
+ {
+ props.errorMassage === 'ACCOUNT_LOCKED_ERROR' ?
+
+
+
+
+
+
+
+ :
+ props.errorMassage === 'ACCOUNT_VERIFIED_ERROR' ?
+
+
+ :
+ props.errorMassage === 'CONNECTION_ERROR' ?
+
+
+ :
+
+
+
}
diff --git a/src/pages/dashboard/GLD/index.js b/src/pages/dashboard/GLD/index.js
index 9d60aac..42608f5 100644
--- a/src/pages/dashboard/GLD/index.js
+++ b/src/pages/dashboard/GLD/index.js
@@ -20,13 +20,26 @@ const DashboardDefault = () => {
backgroundColor: '#0C489E',
backgroundPosition: 'right'
}
+ const getWelcomeMsg=()=>{
+ var current = new Date()
+ var curHr = current.getHours()
+
+ if (curHr < 12) {
+ return "Good Morning"
+ } else if (curHr < 18) {
+ return "Good Afternoon"
+ } else {
+ //evening
+ return "Good Evening"
+ }
+ }
return (
- Morning, {userData.fullenName}
+ {getWelcomeMsg()}, {userData.fullenName}
diff --git a/src/pages/dashboard/Public/index.js b/src/pages/dashboard/Public/index.js
index ee7f1df..00f3deb 100644
--- a/src/pages/dashboard/Public/index.js
+++ b/src/pages/dashboard/Public/index.js
@@ -35,6 +35,20 @@ const DashboardDefault = () => {
backgroundColor: '#0C489E',
backgroundPosition: 'right'
}
+
+ const getWelcomeMsg=()=>{
+ var current = new Date()
+ var curHr = current.getHours()
+
+ if (curHr < 12) {
+ return
+ } else if (curHr < 18) {
+ return
+ } else {
+ return
+ }
+ }
+
return (
@@ -42,7 +56,7 @@ const DashboardDefault = () => {
{/* 我的公共啟事 */}
- {isORGLoggedIn() ? userData.fullenName : userData.fullchName},
+ {isORGLoggedIn() ? userData.fullenName : userData.fullchName}, {getWelcomeMsg()}
diff --git a/src/pages/iAmSmart/AuthCallback/index.js b/src/pages/iAmSmart/AuthCallback/index.js
index 91c1f9f..c10758c 100644
--- a/src/pages/iAmSmart/AuthCallback/index.js
+++ b/src/pages/iAmSmart/AuthCallback/index.js
@@ -61,6 +61,10 @@ const Index = () => {
// setLocale("zh-CN");
localStorage.setItem('locale','zh-CN');
}
+ if (response.data.preferLocale ==="en"){
+ // setLocale("zh-CN");
+ localStorage.setItem('locale','en');
+ }
}
dispatch(handleLogin(data))
navigate('/dashboard');
diff --git a/src/translations/en.json b/src/translations/en.json
index c9f0312..85a3d29 100644
--- a/src/translations/en.json
+++ b/src/translations/en.json
@@ -2,15 +2,16 @@
"en": "English",
"zh-HK": "繁體中文",
"zh-CN": "简体中文",
-
+ "language":"Language",
+
"PNSPS": "PNSPS",
"HKSARGOV": "HKSAR Government",
"HKGLD": "Government Logistics Department",
"importantNotice": "Important Notice",
"privacyPolicy": "Privacy Policy",
"Gazette": "Gazette",
- "gazetteDate": "GazetteDate",
- "gazetteLength": "length",
+ "gazetteDate": "Gazette Date",
+ "gazetteLength": "Length",
"gazetteSampleName": "Gazette Supplement No. 6",
"reason": "Reason",
@@ -64,6 +65,8 @@
"MSG.payMsg3": "If you have multiple public notice applications within the Year {issueYear}, Volume {issueVolume}, Issue {issueNo} of the Official Gazette, you can choose to merge the payment for all the approved manuscripts within this issue in 'My Public Notice' before the payment deadline.",
"MSG.proofOutOfTime": "Response out of time, please apply again.",
+ "MSG.plzSelectApp": "Please select application",
+ "MSG.actionFail": "Action failed",
"registerTitle1": "Become",
"registerTitle2": "Gazette Notice",
@@ -78,7 +81,7 @@
"registerFail": "Application failed, please try again later",
"mainPage": "Main Page",
- "myPublicNotice": "My Public Notice",
+ "myPublicNotice": "My Public Notices",
"publicNotice": "Public Notice",
"publicNoticePayment": "Public Notice: Payment",
"publicNoticePaymentFail": "Public Notice: Payment Failed",
@@ -93,7 +96,10 @@
"onlinePaymentHistory": "Online Payment History",
"setting": "Settings",
"companyOrUserRecord": "Company/Institutional User Records",
- "welcomeMsg": "Good afternoon! Please select the required service.",
+ "welcomeMsg_am": "Good morning! Please select the required service.",
+ "welcomeMsg_pm": "Good afternoon! Please select the required service.",
+ "welcomeMsg_night": "Good evening! Please select the required service.",
+
"login": "Login",
"logout": "Logout",
@@ -105,6 +111,13 @@
"register": "Register",
"userLoginName": "Username",
"userPassword": "Password",
+
+ "loginErrorMessage1":"Account will be blocked",
+ "loginErrorMessage2":"Account login errors for Five Consecutive Times, please contact the system administrator",
+ "loginErrorMessage3":"Account has not been Verified",
+ "loginErrorMessage4":"System Connection Failed",
+ "loginErrorMessage5":"Incorrect Username or Password",
+
"newPassword": "New Password",
"setNewPassword": "Please enter new password",
"forgotUserPassword": "Forgot Password",
@@ -137,6 +150,7 @@
"registerNewBusinessUser": "Apply as organisation/company user",
"becomeNewBusinessUser": "Become New Organisation/Company user",
"userName": "Username",
+ "registerNameLabel": "Please provide either an English name or a Chinese name, at a minimum.",
"userChineseName": "Chinese Name",
"userEnglishName": "English Name",
"userContactName": "Name",
@@ -312,12 +326,13 @@
"price": "Price",
"pay": "Pay",
"payDate": "Payment Date",
- "payDateFrom": "Payment date (from)",
+ "payDateFrom": "Payment Date (from)",
"payStatus": "Payment Status",
"payId": "Payment Code",
"payConfirm": "Confirm payment",
"payCancel": "Cancel payment",
- "payTotal": "Payment total",
+ "payTotalDeatail": "Total Payment Amount",
+ "payTotal": "Total",
"payDetail": "Payment Details",
"payMethod": "Payment method",
"selectPaymentMethod": "Please select a payment method",
@@ -331,8 +346,9 @@
"totalAmount": "Total Amount",
"close": "Close",
"confirm": "Confirm",
- "terms": "Terms",
+ "particulars": "Particulars",
"currencyPrice": "Price",
+ "currencyAmount": "Amount",
"transactionRefNo": "Transaction Reference Number",
"selectedPaymentMethod": "Selected payment method",
"paymentMethodNotAvailable":"The payment function is currently not available",
@@ -342,7 +358,7 @@
"publicNoticeDetailTitle": "Public Notice Application Information",
"applyPerson": "Applicant",
- "applyStatus": "Application Status",
+ "applyStatus": "App. Status",
"gazetteCount": "Gazette issues number",
"gazetteCount2" :"Gazette issues number / Remarks",
"gazetteCount2_1" :"Care Of / Remarks",
@@ -383,7 +399,7 @@
"transactionNo": "Transaction number",
"transactionDate": "Transaction date",
"transactionTime": "Transaction time",
- "paymentRefCode": "Payment Reference Number",
+ "paymentRefCode": "Payment reference number",
"paymentInfoRecord": "Payment Notice Record",
"paymentRecordId": "Payment record number",
@@ -434,9 +450,9 @@
"organizationProfile": "Organisation Profile",
"organizationDetails": "Organisation Details",
"brNo": "BR No.",
- "creditorAccount": "Creditor account",
+ "creditorAccount": "Credit Client",
"nameEng": "Name (Eng)",
- "nameChi": "Name (Ch)",
+ "nameChi": "Name (Chi)",
"expiryDate": "Expiry date",
"create": "Create",
"confirmTo": "Confirm to ",
diff --git a/src/translations/zh-CN.json b/src/translations/zh-CN.json
index 72d0ef9..ba8d170 100644
--- a/src/translations/zh-CN.json
+++ b/src/translations/zh-CN.json
@@ -2,6 +2,7 @@
"en": "English",
"zh-HK": "繁體中文",
"zh-CN": "简体中文",
+ "language":"語言",
"PNSPS": "公共启事提交及缴费系统",
"HKSARGOV": "香港特别行政区政府",
@@ -11,7 +12,7 @@
"Gazette": "宪报",
"gazetteDate": "宪报日期",
"gazetteLength": "长度",
- "gazetteSampleName": "宪报第6号副刊公告",
+ "gazetteSampleName": "宪报第6号副刊公共启事",
"reason": "原因",
"payInstantly": "即时网上缴费",
@@ -63,9 +64,11 @@
"MSG.payMsg3": "如你在宪报期数{issueYear} 年{issueVolume} 卷, 第{issueNo} 期内有多于一个公共启事的申请,你可选择完成所有此期所有稿件校对确定后,于缴费期限前在「我的公共启事」内合并付款。 ",
"MSG.proofOutOfTime": "回覆逾时,请重新申请。",
+ "MSG.plzSelectApp": "请选择公共启事。",
+ "MSG.actionFail": "行动失败",
"registerTitle1": "立即成为",
- "registerTitle2": "宪报刊登公告",
+ "registerTitle2": "宪报刊登公共启事",
"registerTitle3": "用户",
"registerSubTitle": "只需4-5分钟",
"or": "或",
@@ -92,7 +95,9 @@
"onlinePaymentHistory": "网上付款记录",
"setting": "设置",
"companyOrUserRecord": "公司/机构用户记录",
- "welcomeMsg": "午安! 请选择所需服务。",
+ "welcomeMsg_am": "早安! 请选择所需服务。",
+ "welcomeMsg_pm": "午安! 请选择所需服务。",
+ "welcomeMsg_night": "晚安! 请选择所需服务。",
"login": "登录",
"logout": "登出",
@@ -104,6 +109,13 @@
"register": "申请",
"userLoginName": "用户登入名称",
"userPassword": "密码",
+
+ "loginErrorMessage1":"帐户将被封锁",
+ "loginErrorMessage2":"帐户连续五次登入错误,请与系统管理员联络",
+ "loginErrorMessage3":"帐户尚未验证",
+ "loginErrorMessage4":"系统连接失败",
+ "loginErrorMessage5":"用户名或密码错误",
+
"newPassword": "新密码",
"setNewPassword": "请输入新密码",
"forgotUserPassword": "忘记密码",
@@ -132,6 +144,7 @@
"registerNewBusinessUser": "申请机构/公司用户",
"becomeNewBusinessUser": "成为新的机构/公司用户",
"userName": "用户名称",
+ "registerNameLabel": "请至少输入英文姓名或中文姓名。",
"userChineseName": "中文姓名",
"userEnglishName": "英文姓名",
"userContactName": "姓名",
@@ -312,6 +325,7 @@
"payId": "付款编号",
"payConfirm": "确认付款",
"payCancel": "取消付款",
+ "payTotalDeatail": "付款总额",
"payTotal": "付款总额",
"payDetail": "付款详情",
"payMethod": "付款方式",
@@ -326,8 +340,9 @@
"totalAmount": "总额",
"close": "关闭",
"confirm": "确认",
- "terms": "项目",
+ "particulars": "项目",
"currencyPrice": "金额",
+ "currencyAmount": "金额",
"transactionRefNo": "交易參考編號",
"selectedPaymentMethod": "已選擇付款方法",
"paymentMethodNotAvailable":"付款功能現在不可用",
@@ -400,8 +415,8 @@
"submitApplication": "提交公共启事申请",
"applicationSubheading": "提供你的启事内容作排版,校对及计价。",
- "announcement": "公告",
- "viewAllAnnouncement": "显示所有公告",
+ "announcement": "公共启事",
+ "viewAllAnnouncement": "显示所有公共启事",
"systemMessage": "系统消息",
"viewAllSystemMessage": "显示所有消息",
"msgDetails": "消息详情",
diff --git a/src/translations/zh-HK.json b/src/translations/zh-HK.json
index d80cf84..beb67c8 100644
--- a/src/translations/zh-HK.json
+++ b/src/translations/zh-HK.json
@@ -2,6 +2,7 @@
"en": "English",
"zh-HK": "繁體中文",
"zh-CN": "简体中文",
+ "language":"語言",
"PNSPS": "公共啟事提交及繳費系統",
"HKSARGOV": "香港特別行政區政府",
@@ -11,7 +12,7 @@
"Gazette": "憲報",
"gazetteDate": "憲報日期",
"gazetteLength": "長度",
- "gazetteSampleName": "憲報第6號副刊公告",
+ "gazetteSampleName": "憲報第6號副刊公共啟事",
"reason": "原因",
"payInstantly": "即時網上繳費",
@@ -63,9 +64,11 @@
"MSG.payMsg3": "如你在憲報期數 {issueYear} 年 {issueVolume} 卷, 第 {issueNo} 期內有多於一個公共啟事的申請,你可選擇完成所有此期所有稿件校對確定後,於繳費期限前在「我的公共啟事」內合併付款。",
"MSG.proofOutOfTime": "回覆逾時,請重新申請。",
+ "MSG.plzSelectApp": "請選擇公共啟事。",
+ "MSG.actionFail": "行動失敗",
"registerTitle1": "立即成為",
- "registerTitle2": "憲報刊登公告",
+ "registerTitle2": "憲報刊登公共啟事",
"registerTitle3": "用戶",
"registerSubTitle": "只需4-5分鐘",
"or": "或",
@@ -92,7 +95,9 @@
"onlinePaymentHistory": "網上付款記錄",
"setting": "設定",
"companyOrUserRecord": "公司/機構用戶記錄",
- "welcomeMsg": "午安! 請選擇所需服務。",
+ "welcomeMsg_am": "早安! 請選擇所需服務。",
+ "welcomeMsga_pm": "午安! 請選擇所需服務。",
+ "welcomeMsg_night": "晚安! 請選擇所需服務。",
"login": "登入",
"logout": "登出",
@@ -104,6 +109,13 @@
"register": "申請",
"userLoginName": "用戶登入名稱",
"userPassword": "密碼",
+
+ "loginErrorMessage1":"帳戶將被封鎖",
+ "loginErrorMessage2":"帳戶連續五次登入錯誤,請與系統管理員聯絡",
+ "loginErrorMessage3":"帳戶尚未驗證",
+ "loginErrorMessage4":"系統連接失敗",
+ "loginErrorMessage5":"用戶名或密碼錯誤",
+
"newPassword": "新密碼",
"setNewPassword": "請輸入新密碼",
"forgotUserPassword": "忘記密碼",
@@ -112,10 +124,8 @@
"forgotPasswordSubTitle": "請輸入你的用戶登入名稱以重設密碼",
"forgotPasswordSubTitle1": "請輸入你的用戶登入名稱",
"forgotPasswordSubTitle2": "以重設密碼",
-
"forgotUsernameSubTitle": "請輸入你的電郵以重設密碼",
"forgotUsernameSubTitle1": "請輸入你的電郵",
-
"resetPasswordSuccess": "已成功重設密碼。",
"securityCode": "安全驗證碼",
"sentSecurityCode1": "我們已將驗證碼送至你的電郵:",
@@ -137,6 +147,7 @@
"registerNewBusinessUser": "申請機構/公司用戶",
"becomeNewBusinessUser": "成為新的機構/公司用戶",
"userName": "用戶名稱",
+ "registerNameLabel": "請至少輸入英文姓名或中文姓名。",
"userChineseName": "中文姓名",
"userEnglishName": "英文姓名",
"userContactName": "姓名",
@@ -317,6 +328,7 @@
"payId": "付款編號",
"payConfirm": "確認付款",
"payCancel": "取消付款",
+ "payTotalDeatail": "付款總額",
"payTotal": "付款總額",
"payDetail": "付款詳情",
"payMethod": "付款方式",
@@ -331,8 +343,9 @@
"totalAmount": "總額",
"close": "關閉",
"confirm": "確認",
- "terms": "項目",
+ "particulars": "項目",
"currencyPrice": "金額",
+ "currencyAmount": "金額",
"transactionRefNo": "交易參考編號",
"selectedPaymentMethod": "已選擇付款方法",
"paymentMethodNotAvailable":"付款功能現在不可用",
@@ -405,8 +418,8 @@
"submitApplication": "提交公共啟事申請",
"applicationSubheading": "提供你的啟事內容作排版,校對及計價。",
- "announcement": "公告",
- "viewAllAnnouncement": "顯示所有公告",
+ "announcement": "通告",
+ "viewAllAnnouncement": "顯示所有通告",
"systemMessage": "系統消息",
"viewAllSystemMessage": "顯示所有消息",
"msgDetails": "消息詳情",
diff --git a/src/utils/ComboData.js b/src/utils/ComboData.js
index b420866..7b880f3 100644
--- a/src/utils/ComboData.js
+++ b/src/utils/ComboData.js
@@ -122,6 +122,12 @@ export const denmandNoteStatus_Public = [
export const CreditorStatus = [
{ key: 0, labelCht: '全部', label: 'All', type: 'all' },
- { key: 1, labelCht: '債權人', label:'Creditor', type: 'true' },
- { key: 2, labelCht: '非債權人', label:'No-Creditor', type: 'false' },
+ { key: 1, labelCht: '債權人', label:'Credit Client', type: 'true' },
+ { key: 2, labelCht: '非債權人', label:'Non-Credit Client', type: 'false' },
+];
+
+export const Locale = [
+ { id: 1, key: 1, label: 'English', type: 'en' },
+ { id: 2, key: 2, label: '繁體中文', type: 'zh_HK' },
+ { id: 3, key: 3, label: '简体中文', type: 'zh_CN' },
];
\ No newline at end of file
diff --git a/src/utils/CommonFunction.js b/src/utils/CommonFunction.js
index b5d4627..7e8f7c7 100644
--- a/src/utils/CommonFunction.js
+++ b/src/utils/CommonFunction.js
@@ -30,7 +30,19 @@ export function getObjectByValue(list, valueName, value) {
const obj = list.find((element) => {
return element[valueName] === parseInt(value);
});
- console.log(obj);
+ // console.log(obj);
+ return obj === undefined || Object.keys(obj).length <= 0 ? null : obj
+}
+
+export function getObjectByType(list, valueName, value) {
+ // console.log(list)
+ // console.log(valueName)
+ // console.log(value)
+ const obj = list.find((element) => {
+ // console.log(element[valueName])
+ return element[valueName] === value;
+ });
+ // console.log(obj);
return obj === undefined || Object.keys(obj).length <= 0 ? null : obj
}
diff --git a/src/utils/statusUtils/PublicNoteStatusUtils.js b/src/utils/statusUtils/PublicNoteStatusUtils.js
index 4b67d0a..1916d02 100644
--- a/src/utils/statusUtils/PublicNoteStatusUtils.js
+++ b/src/utils/statusUtils/PublicNoteStatusUtils.js
@@ -21,7 +21,7 @@ export function getStatusByText(status, creditor) {
return getStatusTag({ color: "#22a13f", text: "待付款" })
case "paid":
return getStatusTag({ color: "#22a13f", text: "待發佈" })
- case "complated":
+ case "completed":
return getStatusTag({ color: "#8a8784", text: "已完成" })
case "notAccepted":
return getStatusTag({ color: "#d9372b", text: "不接受" })
@@ -54,7 +54,7 @@ export function getStatusByTextEng(status, creditor) {
return getStatusTag({ color: "#F39C12", text: "Pending Payment" })
case "paid":
return getStatusTag({ color: "#3498DB", text: "Pending Publish" })
- case "complated":
+ case "completed":
return getStatusTag({ color: "#8a8784", text: "Completed" })
case "notAccepted":
return getStatusTag({ color: "#d9372b", text: "Not accepted" })
@@ -88,7 +88,7 @@ export function getStatusByTextIntl(status, creditor, intl) {
return getStatusTag({ color: "#22a13f", text: intl.formatMessage({id: 'pendingPayment'}) })
case "paid":
return getStatusTag({ color: "#22a13f", text: intl.formatMessage({id: 'pendingPublish'}) })
- case "complated":
+ case "completed":
return getStatusTag({ color: "#8a8784", text: intl.formatMessage({id: 'completed'}) })
case "notAccepted":
return getStatusTag({ color: "#d9372b", text: intl.formatMessage({id: 'notAccepted'}) })