@@ -138,7 +138,7 @@ function Header(props) { | |||||
<Link className="setting" ><Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 1 }}>Settings</Typography><KeyboardArrowDownIcon sx={{ fontSize: '1.0rem' }} /></Link> | <Link className="setting" ><Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 1 }}>Settings</Typography><KeyboardArrowDownIcon sx={{ fontSize: '1.0rem' }} /></Link> | ||||
<ul className='dropdown'> | <ul className='dropdown'> | ||||
<li> | <li> | ||||
<Link className="userProfileGld" to='/user/profile'><Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 2, mt: 1, mb: 1 }}>Users Profile</Typography></Link> | |||||
<Link className="userProfileGld" to='/user/profile'><Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 2, mt: 1, mb: 1 }}>My Profile</Typography></Link> | |||||
</li> | </li> | ||||
<li> | <li> | ||||
<Link className="emailTemplate" to='/emailTemplate'><Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 2, mt: 1, mb: 1 }}>Email Template</Typography></Link> | <Link className="emailTemplate" to='/emailTemplate'><Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 2, mt: 1, mb: 1 }}>Email Template</Typography></Link> | ||||
@@ -242,6 +242,7 @@ function Header(props) { | |||||
<Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 1 }} onClick={(event) => console.log(event)}> | <Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 1 }} onClick={(event) => console.log(event)}> | ||||
<FormattedMessage id="setting" /> | <FormattedMessage id="setting" /> | ||||
</Typography> | </Typography> | ||||
<KeyboardArrowDownIcon sx={{ fontSize: '1.0rem' }} /> | |||||
</Link> | </Link> | ||||
<ul className='dropdown' style={{ width: "max-content" }}> | <ul className='dropdown' style={{ width: "max-content" }}> | ||||
<li> | <li> | ||||
@@ -260,6 +261,7 @@ function Header(props) { | |||||
<Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 1 }} onClick={(event) => console.log(event)}> | <Typography style={{ opacity: 0.9 }} variant={"pnspsHeaderTitle"} sx={{ ml: 1 }} onClick={(event) => console.log(event)}> | ||||
<FormattedMessage id="setting" /> | <FormattedMessage id="setting" /> | ||||
</Typography> | </Typography> | ||||
<KeyboardArrowDownIcon sx={{ fontSize: '1.0rem' }} /> | |||||
</Link> | </Link> | ||||
<ul className='dropdown' style={{ width: "max-content" }}> | <ul className='dropdown' style={{ width: "max-content" }}> | ||||
<li> | <li> | ||||
@@ -11,7 +11,6 @@ import DownloadIcon from '@mui/icons-material/Download'; | |||||
import * as DateUtils from "utils/DateUtils"; | import * as DateUtils from "utils/DateUtils"; | ||||
import * as FormatUtils from "utils/FormatUtils"; | import * as FormatUtils from "utils/FormatUtils"; | ||||
import * as StatusUtils from "utils/statusUtils/DnStatus"; | import * as StatusUtils from "utils/statusUtils/DnStatus"; | ||||
import * as PublicNoteStatusUtils from "utils/statusUtils/PublicNoteStatusUtils"; | |||||
import { useNavigate } from "react-router-dom"; | import { useNavigate } from "react-router-dom"; | ||||
import { FiDataGrid } from "components/FiDataGrid"; | import { FiDataGrid } from "components/FiDataGrid"; | ||||
import { notifyDownloadSuccess } from 'utils/CommonFunction'; | import { notifyDownloadSuccess } from 'utils/CommonFunction'; | ||||
@@ -200,7 +199,7 @@ export default function SearchDemandNote({ recordList, reloadFun, applySearch }) | |||||
}, | }, | ||||
{ | { | ||||
field: 'cm', | field: 'cm', | ||||
headerName: 'Length(cm)', | |||||
headerName: 'Length', | |||||
width: 100, | width: 100, | ||||
renderCell: (params) => { | renderCell: (params) => { | ||||
return (<> | return (<> | ||||
@@ -213,6 +212,7 @@ export default function SearchDemandNote({ recordList, reloadFun, applySearch }) | |||||
field: 'amount', | field: 'amount', | ||||
headerName: 'Amount($)', | headerName: 'Amount($)', | ||||
width: 100, | width: 100, | ||||
align: 'right', | |||||
valueGetter: (params) => { | valueGetter: (params) => { | ||||
return FormatUtils.currencyFormat(params?.value); | return FormatUtils.currencyFormat(params?.value); | ||||
} | } | ||||
@@ -228,18 +228,13 @@ export default function SearchDemandNote({ recordList, reloadFun, applySearch }) | |||||
{ | { | ||||
id: 'issueDate', | id: 'issueDate', | ||||
field: 'issueDate', | field: 'issueDate', | ||||
headerName: 'DN Issue/Due Date', | |||||
width: 175, | |||||
valueGetter: (params) => { | |||||
return DateUtils.dateStr(params?.value); | |||||
} | |||||
}, | |||||
{ | |||||
field: 'sentDate', | |||||
headerName: 'DN Sent Date', | |||||
width: 175, | |||||
valueGetter: (params) => { | |||||
return params?.value ? DateUtils.datetimeStr(params?.value) + " - " + params.row.sentBy : ""; | |||||
headerName: 'Due Date / Sent Date', | |||||
width: 250, | |||||
renderCell: (params) => { | |||||
return (<> | |||||
{DateUtils.dateStr(params?.value)} | |||||
{params.row.sentDate ? "<br />" + DateUtils.datetimeStr(params.row.sentDate) + " - " + params.row.sentBy : " / To be sent"} | |||||
</>); | |||||
} | } | ||||
}, | }, | ||||
{ | { | ||||
@@ -253,14 +248,6 @@ export default function SearchDemandNote({ recordList, reloadFun, applySearch }) | |||||
return <Button onClick={onDownloadClick(params)}><u>{params.row.filename}</u></Button>; | return <Button onClick={onDownloadClick(params)}><u>{params.row.filename}</u></Button>; | ||||
}, | }, | ||||
}, | }, | ||||
{ | |||||
field: 'appStatus', | |||||
headerName: 'App Status', | |||||
width: 175, | |||||
renderCell: (params) => { | |||||
return [PublicNoteStatusUtils.getStatusByTextEng(params?.value, true)] | |||||
}, | |||||
}, | |||||
{ | { | ||||
field: 'status', | field: 'status', | ||||
headerName: 'Status', | headerName: 'Status', | ||||
@@ -26,7 +26,7 @@ export default function SearchPublicNoticeTable({ recordList }) { | |||||
{ | { | ||||
field: 'actions', | field: 'actions', | ||||
headerName: 'Proof No.', | headerName: 'Proof No.', | ||||
width: 150, | |||||
width: 170, | |||||
cellClassName: 'actions', | cellClassName: 'actions', | ||||
renderCell: (params) => { | renderCell: (params) => { | ||||
return <Button onClick={handleEditClick(params)}><u>{params.row.refNo}</u></Button>; | return <Button onClick={handleEditClick(params)}><u>{params.row.refNo}</u></Button>; | ||||
@@ -36,7 +36,7 @@ export default function SearchPublicNoticeTable({ recordList }) { | |||||
id: 'appId', | id: 'appId', | ||||
field: 'appId', | field: 'appId', | ||||
headerName: 'Application No./ Gazette Code/ Gazette Issue', | headerName: 'Application No./ Gazette Code/ Gazette Issue', | ||||
flex: 1.5, | |||||
width: 400, | |||||
renderCell: (params) => { | renderCell: (params) => { | ||||
let appNo = params.row.appNo; | let appNo = params.row.appNo; | ||||
let code = params.row.groupNo; | let code = params.row.groupNo; | ||||
@@ -76,9 +76,9 @@ const PublicNotice = ({ applicationDetailData, proofList, paymentList }) => { | |||||
<TabContext value={selectedTab}> | <TabContext value={selectedTab}> | ||||
<Box sx={{ borderBottom: 1, borderColor: 'divider', overflowX: 'auto' }}> | <Box sx={{ borderBottom: 1, borderColor: 'divider', overflowX: 'auto' }}> | ||||
<TabList onChange={handleChange} aria-label="lab API tabs example"> | <TabList onChange={handleChange} aria-label="lab API tabs example"> | ||||
<Tab label={"Proof(" + _proofList?.length + ") "} value="1" /> | |||||
<Tab label={"Payment(" + _paymentList.length + ") "} value="2" /> | |||||
<Tab label={"Status History(" + statusHistoryList.length + ") "} value="3" /> | |||||
<Tab label={"Proof (" + _proofList?.length + ") "} value="1" /> | |||||
<Tab label={"Payment (" + _paymentList.length + ") "} value="2" /> | |||||
<Tab label={"Status History (" + statusHistoryList.length + ") "} value="3" /> | |||||
</TabList> | </TabList> | ||||
</Box> | </Box> | ||||
<TabPanel value="1" sx={{p:0}}> | <TabPanel value="1" sx={{p:0}}> | ||||
@@ -59,11 +59,11 @@ const PublicNotice = ({ proofList, paymentList }) => { | |||||
<Tab | <Tab | ||||
aria-label={intl.formatMessage({id: 'proofRecord'})} | aria-label={intl.formatMessage({id: 'proofRecord'})} | ||||
label={ | label={ | ||||
intl.formatMessage({id: 'proofRecord'}) + "(" + _proofList.length + ") "} value="1" | |||||
intl.formatMessage({id: 'proofRecord'}) + " (" + _proofList.length + ") "} value="1" | |||||
/> | /> | ||||
<Tab | <Tab | ||||
aria-label={intl.formatMessage({id: 'paymentHistory'})} | aria-label={intl.formatMessage({id: 'paymentHistory'})} | ||||
label={ intl.formatMessage({id: 'paymentHistory'}) +"(" + _paymentList.length + ") "} value="2" | |||||
label={ intl.formatMessage({id: 'paymentHistory'}) +" (" + _paymentList.length + ") "} value="2" | |||||
/> | /> | ||||
</TabList> | </TabList> | ||||
</Box> | </Box> | ||||
@@ -85,7 +85,7 @@ export default function SearchPublicNoticeTable({ recordList }) { | |||||
id: 'groupNo', | id: 'groupNo', | ||||
field: 'groupNo', | field: 'groupNo', | ||||
headerName: 'Gazette Group', | headerName: 'Gazette Group', | ||||
flex: 1, | |||||
flex: 0.5, | |||||
valueGetter: (params) => { | valueGetter: (params) => { | ||||
return (params?.value) ? (params?.value) : ""; | return (params?.value) ? (params?.value) : ""; | ||||
} | } | ||||
@@ -94,7 +94,7 @@ export default function SearchPublicNoticeTable({ recordList }) { | |||||
id: 'issueId', | id: 'issueId', | ||||
field: 'issueId', | field: 'issueId', | ||||
headerName: 'Issue No', | headerName: 'Issue No', | ||||
flex: 1, | |||||
flex: 1.5, | |||||
valueGetter: (params) => { | valueGetter: (params) => { | ||||
return params.row.issueYear | return params.row.issueYear | ||||
+ " Vol. " + FormatUtils.zeroPad(params.row.issueVolume, 3) | + " Vol. " + FormatUtils.zeroPad(params.row.issueVolume, 3) | ||||
@@ -87,7 +87,7 @@ const UserMaintainPage = () => { | |||||
<div style={BackgroundHead}> | <div style={BackgroundHead}> | ||||
<Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> | ||||
<Typography ml={15} color='#FFF' variant="h4" sx={{display: { xs: 'none', sm: 'none', md: 'block', pt:2 }}}> | <Typography ml={15} color='#FFF' variant="h4" sx={{display: { xs: 'none', sm: 'none', md: 'block', pt:2 }}}> | ||||
User Profile | |||||
My Profile | |||||
</Typography> | </Typography> | ||||
</Stack> | </Stack> | ||||
</div> | </div> | ||||
@@ -80,7 +80,7 @@ const RegisterCustom = () => { | |||||
<Box alignItems="center"> | <Box alignItems="center"> | ||||
<Grid container> | <Grid container> | ||||
<Grid item xs={12} md={12}> | <Grid item xs={12} md={12}> | ||||
<Typography mt={4} variant="h2"> | |||||
<Typography mt={4} variant="h3"> | |||||
<FormattedMessage id="registerTitle1"/> | <FormattedMessage id="registerTitle1"/> | ||||
<strong style={{ color: '#FF5733' }}> | <strong style={{ color: '#FF5733' }}> | ||||
{" " + intl.formatMessage({id: 'registerTitle2'}) + " "} | {" " + intl.formatMessage({id: 'registerTitle2'}) + " "} | ||||
@@ -53,7 +53,7 @@ | |||||
"publicNoticePaymentProofDoneAndPaid": "Public Notice: Proofreading Completed and Payment", | "publicNoticePaymentProofDoneAndPaid": "Public Notice: Proofreading Completed and Payment", | ||||
"publicNoticePaymentProofComment": "Public Notice: Proofreading Reply", | "publicNoticePaymentProofComment": "Public Notice: Proofreading Reply", | ||||
"publicNoticePaymentProofInfo": "Public Notice: Proofreading Information", | "publicNoticePaymentProofInfo": "Public Notice: Proofreading Information", | ||||
"proofRecord": "Proof Record", | |||||
"proofRecord": "Proof Records", | |||||
"onlinePaymentHistory": "Online Payment History", | "onlinePaymentHistory": "Online Payment History", | ||||
"setting": "Settings", | "setting": "Settings", | ||||
"companyOrUserRecord": "Company/Institutional User Records", | "companyOrUserRecord": "Company/Institutional User Records", | ||||
@@ -96,20 +96,20 @@ | |||||
"user": "User", | "user": "User", | ||||
"personalUser": "Personal user", | "personalUser": "Personal user", | ||||
"becomeNewPersonalUser": "Become New Personal User", | "becomeNewPersonalUser": "Become New Personal User", | ||||
"registerNewPersonalUser": "Apply for personal user", | |||||
"businessUser": "Organization/Company User", | |||||
"registerNewBusinessUser": "Applying Organization/Company user", | |||||
"becomeNewBusinessUser": "Become New Organization/Company user", | |||||
"registerNewPersonalUser": "Apply as personal user", | |||||
"businessUser": "Organisation/Company User", | |||||
"registerNewBusinessUser": "Apply as organisation/company user", | |||||
"becomeNewBusinessUser": "Become New Organisation/Company user", | |||||
"userName": "Username", | "userName": "Username", | ||||
"userChineseName": "Chinese Name", | "userChineseName": "Chinese Name", | ||||
"userEnglishName": "English Name", | "userEnglishName": "English Name", | ||||
"userContactName": "Name", | "userContactName": "Name", | ||||
"userRequireChineseName": "Please enter your Chinese name", | "userRequireChineseName": "Please enter your Chinese name", | ||||
"userRequireEnglishName": "Please enter your English name", | "userRequireEnglishName": "Please enter your English name", | ||||
"userRequireName": "Please enter your name", | |||||
"userRequireName": "Name is required.", | |||||
"userContactEmail": "Email", | "userContactEmail": "Email", | ||||
"confirmEmail": "Confirm Email", | "confirmEmail": "Confirm Email", | ||||
"requireEmail": "Please enter your email", | |||||
"requireEmail": "Email address is required.", | |||||
"validEmailFormat": "Please enter a valid email", | "validEmailFormat": "Please enter a valid email", | ||||
"validSameEmail": "Please enter same email address", | "validSameEmail": "Please enter same email address", | ||||
"emailUsed": "This email has been registered, please use another email", | "emailUsed": "This email has been registered, please use another email", | ||||
@@ -117,7 +117,7 @@ | |||||
"userContactNumber": "Contact Number", | "userContactNumber": "Contact Number", | ||||
"contactFaxNumber": "Contact Fax", | "contactFaxNumber": "Contact Fax", | ||||
"requiredValidNumber": "Please enter a valid contact number", | "requiredValidNumber": "Please enter a valid contact number", | ||||
"requireContactNumber": "Please enter your contact number", | |||||
"requireContactNumber": "Contact number is required.", | |||||
"require3Number": "Please enter an 3-digit number", | "require3Number": "Please enter an 3-digit number", | ||||
"require8Number": "Please enter an 8-digit number", | "require8Number": "Please enter an 8-digit number", | ||||
"requireAtLeast8Number": "Please enter at least 8 digits", | "requireAtLeast8Number": "Please enter at least 8 digits", | ||||
@@ -135,9 +135,9 @@ | |||||
"personalInformation": "Personal Information", | "personalInformation": "Personal Information", | ||||
"yourPersonalInformation": "Your Personal Information", | "yourPersonalInformation": "Your Personal Information", | ||||
"yourLoginInformation": "Your Login Information", | "yourLoginInformation": "Your Login Information", | ||||
"yourBusinessInformation": "Your Organization/Company Information", | |||||
"businessEngName": "English name of Organization/Company", | |||||
"businessChName": "Chinese name of Organization/Company", | |||||
"yourBusinessInformation": "Your Organisation/Company Information", | |||||
"businessEngName": "English name of Organisation/Company", | |||||
"businessChName": "Chinese name of Organisation/Company", | |||||
"preview": "Preview", | "preview": "Preview", | ||||
"finishSubmission": "Finish Submission", | "finishSubmission": "Finish Submission", | ||||
"reset": "Reset", | "reset": "Reset", | ||||
@@ -370,7 +370,7 @@ | |||||
"msgDetails": "Message Details", | "msgDetails": "Message Details", | ||||
"userDetail": "User Details", | "userDetail": "User Details", | ||||
"userProfile": "User Profile", | |||||
"userProfile": "My Profile", | |||||
"primaryUser": "Primary User", | "primaryUser": "Primary User", | ||||
"resetAndBack": "Reset & Back", | "resetAndBack": "Reset & Back", | ||||
"edit": "Edit", | "edit": "Edit", | ||||
@@ -389,8 +389,8 @@ | |||||
"loading": "Loading...", | "loading": "Loading...", | ||||
"ok": "Ok", | "ok": "Ok", | ||||
"organizationProfile": "Organization Profile", | |||||
"organizationDetails": "Organization Details", | |||||
"organizationProfile": "Organisation Profile", | |||||
"organizationDetails": "Organisation Details", | |||||
"brNo": "BR No.", | "brNo": "BR No.", | ||||
"creditorAccount": "Creditor account", | "creditorAccount": "Creditor account", | ||||
"nameEng": "Name (Eng)", | "nameEng": "Name (Eng)", | ||||
@@ -366,7 +366,7 @@ | |||||
"msgDetails": "消息详情", | "msgDetails": "消息详情", | ||||
"userDetail": "用户详细信息", | "userDetail": "用户详细信息", | ||||
"userProfile": "用户个人资料", | |||||
"userProfile": "我的个人资料", | |||||
"primaryUser": "主要用户", | "primaryUser": "主要用户", | ||||
"resetAndBack": "重置并返回", | "resetAndBack": "重置并返回", | ||||
"edit": "编辑", | "edit": "编辑", | ||||
@@ -371,7 +371,7 @@ | |||||
"msgDetails": "消息詳情", | "msgDetails": "消息詳情", | ||||
"userDetail": "使用者詳細資料", | "userDetail": "使用者詳細資料", | ||||
"userProfile": "使用者個人資料", | |||||
"userProfile": "我的個人資料", | |||||
"primaryUser": "主要使用者", | "primaryUser": "主要使用者", | ||||
"resetAndBack": "重置並返回", | "resetAndBack": "重置並返回", | ||||
"edit": "編輯", | "edit": "編輯", | ||||
@@ -2,7 +2,7 @@ import dayjs from 'dayjs'; | |||||
export const datetimeStr = (date) =>{ | export const datetimeStr = (date) =>{ | ||||
return dateFormat(date,"DD-MM-YYYY HH:mm:ss") | |||||
return dateFormat(date,"YYYY-MM-DD HH:mm:ss") | |||||
}; | }; | ||||
export const dateStr = (date) =>{ | export const dateStr = (date) =>{ | ||||