# Conflicts: # src/translations/en.jsonmaster
| @@ -32,7 +32,7 @@ const DnDetailCard = ({ data }) => { | |||
| fileId: dnData.fileId, | |||
| skey: dnData.skey, | |||
| filename: dnData.filename, | |||
| onResponse: function(){ | |||
| onResponse: function () { | |||
| notifyDownloadSuccess(); | |||
| } | |||
| }); | |||
| @@ -89,7 +89,7 @@ const DnDetailCard = ({ data }) => { | |||
| {getDisplayField("Issue Date", dnData.issueDate)} | |||
| {getDisplayField("DN Sent", dnData?.sentDate ? dnData.sentDate + " - " + dnData.sentBy : "")} | |||
| {getDisplayField("DN Sent", dnData?.sentDate ? dnData.sentDate + " - " + dnData.sentBy : "--")} | |||
| </Grid> | |||
| <Grid container direction="row" justifyContent="space-between" alignItems="center"> | |||
| @@ -103,16 +103,19 @@ const DnDetailCard = ({ data }) => { | |||
| <Typography variant="h5">{dnData.filename} </Typography> | |||
| </Grid> | |||
| <Grid item md={4} lg={4}> | |||
| <Button | |||
| size="small" | |||
| variant="contained" | |||
| onClick={onDownloadClick()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| }}> | |||
| <DownloadIcon /> | |||
| </Button> | |||
| {dnData.filename ? | |||
| <Button | |||
| size="small" | |||
| variant="contained" | |||
| onClick={onDownloadClick()} | |||
| sx={{ | |||
| textTransform: 'capitalize', | |||
| alignItems: 'end', | |||
| }}> | |||
| <DownloadIcon /> | |||
| </Button> | |||
| : <></> | |||
| } | |||
| </Grid> | |||
| </Grid> | |||
| </Grid> | |||
| @@ -50,7 +50,7 @@ const DemandNote_index = () => { | |||
| onSuccess: (response) => { | |||
| response["issueDate"] = DateUtils.dateStr(response["issueDate"]); | |||
| response["sentDate"] = DateUtils.datetimeStr(response["sentDate"]); | |||
| response["sentDate"] = response["sentDate"]?DateUtils.datetimeStr(response["sentDate"]):""; | |||
| response["gazetteIssueDate"] = DateUtils.datetimeStr(response["gazetteIssueDate"]); | |||
| response["contactFaxNo"] =JSON.parse(response["contactFaxNo"]); | |||
| response["contactTelNo"] =JSON.parse(response["contactTelNo"]); | |||
| @@ -64,9 +64,20 @@ export default function SearchDemandNote({ recordList, reloadFun, exportXmlFun } | |||
| } | |||
| const doUploadFile = (event) => { | |||
| let dnMap = {}; | |||
| const datas = rows?.filter((row) => | |||
| selectedRowItems.includes(row.id) | |||
| ); | |||
| for (var i = 0; i < datas?.length; i++) { | |||
| let dnNo = datas[i].dnNo.replaceAll("-",""); | |||
| dnMap[dnNo] = datas[i].id | |||
| } | |||
| let file = event.target.files[0]; | |||
| HttpUtils.postWithFiles({ | |||
| url:UrlUtils.DEMAND_NOTE_ATTACH, | |||
| params:{ | |||
| dnMap:dnMap | |||
| }, | |||
| files:[file], | |||
| onSuccess() { | |||
| if (reloadFun) reloadFun(); | |||
| @@ -180,7 +180,7 @@ const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData | |||
| <Autocomplete | |||
| {...register("status")} | |||
| id="status" | |||
| options={ComboData.denmandNoteStatus} | |||
| options={ComboData.denmandNoteStatus_Public} | |||
| getOptionLabel={(option) => option.labelCht} | |||
| inputValue={selectedStatus?.labelCht ? selectedStatus?.labelCht : ""} | |||
| value={selectedStatus} | |||
| @@ -38,7 +38,7 @@ const Index = () => { | |||
| <Grid item xs={12} width="100%"> | |||
| <div style={BackgroundHead} width="100%"> | |||
| <Stack direction="row" height='70px'> | |||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ pt: 2 }}>iAmSmart 成功登入</Typography> | |||
| <Typography ml={15} color='#FFF' variant="h4" sx={{ pt: 2 }}>iAM Smart 成功登入</Typography> | |||
| </Stack> | |||
| </div> | |||
| </Grid> | |||
| @@ -49,7 +49,7 @@ const Index = () => { | |||
| <Grid item xs={12} md={12} > | |||
| <Typography variant="h3" sx={{ ml: 8, mt: 4, mr: 8, textAlign: "center" }}> | |||
| iAmSmart 成功登入 | |||
| iAM Smart 成功登入 | |||
| </Typography> | |||
| </Grid> | |||
| @@ -12,6 +12,7 @@ const RegisterForm = Loadable(lazy(() => import('pages/authentication/Register') | |||
| const BusRegisterForm = Loadable(lazy(() => import('pages/authentication/BusRegister'))); | |||
| const IAmSmartRegister = Loadable(lazy(() => import('pages/authentication/IAmSmartRegister'))); | |||
| const ErrorPage = Loadable(lazy(() => import('pages/extra-pages/ErrorPage'))); | |||
| const IAmSmart_FallCallback = Loadable(lazy(() => import('pages/iAmSmart/FallCallback'))); | |||
| const IAmSmart_FailCallback = Loadable(lazy(() => import('pages/iAmSmart/FailCallback'))); | |||
| const IAmSmart_SuccessCallback = Loadable(lazy(() => import('pages/iAmSmart/SuccessCallback'))); | |||
| const IAmSmart_AuthCallback = Loadable(lazy(() => import('pages/iAmSmart/AuthCallback'))); | |||
| @@ -57,6 +58,10 @@ const LoginRoutes = { | |||
| path: 'error', | |||
| element: <ErrorPage/> | |||
| }, | |||
| { | |||
| path: 'iamsmart/loginfallback', | |||
| element: <IAmSmart_FallCallback/> | |||
| }, | |||
| { | |||
| path: 'iamsmart/authcallback', | |||
| element: <IAmSmart_AuthCallback/> | |||
| @@ -21,7 +21,7 @@ | |||
| "companyOrUserRecord": "Company/Institutional User Records", | |||
| "login": "Login", | |||
| "iAmSmartLogin": "iAmSmart login", | |||
| "iAmSmartLogin": "iAM Smart Login", | |||
| "continueWithIAmSmart": "Continue with iAmSmart", | |||
| "authorizeIAmSmartForInfo": "Authorize iAmSmart to provide personal information", | |||
| "iAmSmartSubTitle": "In order to complete the account opening and establish a connection with \"iAmStart\", please authorize \"iAmSmart\" to provide the following personal information:", | |||
| @@ -85,19 +85,6 @@ | |||
| "pleaseEnterOrgOrCompName": "Please enter the English/Chinese name of the organisation/company", | |||
| "sameAsBusinessRegistrationCert": "Same as Business Registration Certificate", | |||
| "businessRegCertNumber": "Business Reg Cert Number", | |||
| "businessRegCertAndDoc":"Business Registration Certificate and other documents", | |||
| "pleaseUploadDoc": "Please upload a digital file of your valid business registration certificate and other documents to verify your identity.", | |||
| "uploadFile": "Upload business registration certificate and other documents", | |||
| "fileName": "File name", | |||
| "fileSize": "File size", | |||
| "fileSizeWarning": "Upload file size should be <10MB", | |||
| "noFile": "No file uploaded", | |||
| "termsAndCondition": "Terms and Conditions", | |||
| "acceptTerms": "I accept", | |||
| "rejectTerms": "I do not accept", | |||
| "verify": "Verify", | |||
| "validVerify": "Please enter valid verification", | |||
| "autoLogout": "Login verification has expired, please login again.", | |||
| "pleaseFillInBusinessRegCertNumber": "Please fill in Business Registration Certificate Number", | |||
| "pleaseFillInValidBusinessRegCertNumber": "Please fill in valid Business Registration Certificate Number", | |||
| "businessRegCertValidityDate": "Business Reg Cert validity date", | |||
| @@ -106,23 +93,6 @@ | |||
| "addressLine1": "First line", | |||
| "addressLine2": "Second line", | |||
| "addressLine3": "Third line", | |||
| "validateAddressLine1": "Please enter the first line of address", | |||
| "validateAddressLine2": "Please enter the second line of address", | |||
| "validateAddressLine3": "Please enter the third line of address", | |||
| "validateEngOrChiName": "Please enter the English or Chinese name", | |||
| "notContainSpecialChar": "Does not contain special characters $/^/*/(/)", | |||
| "samePassword": "Please enter the same password", | |||
| "atLeast8CharPassword": "Please enter a password of at least 8 digits", | |||
| "atLeast1SpecialChar": "Please include at least 1 special character", | |||
| "atLeast1Number": "Please include at least 1 number", | |||
| "atLeastOneCapLetter": "Please include at least 1 capital letter", | |||
| "atLeastOneSmallLetter": "Please include at least 1 lowercase letter", | |||
| "noSpacePassword": "Password does not contain spaces", | |||
| "noSpaceAccount": "User name does not contain spaces", | |||
| "noSpecialCharAccount": "User name does not contain special characters", | |||
| "atLeast6CharAccount": "User name must be at least 6 characters", | |||
| "requireUsername": "Please enter user name", | |||
| "requirePassword": "Please enter password", | |||
| "region": "Region (only applicable to Hong Kong)", | |||
| "regionOrCountry": "Country/Region", | |||
| "hongKong": "Hong Kong", | |||
| @@ -89,6 +89,12 @@ export const denmandNoteStatus = [ | |||
| { key: 1, labelCht: '待辦', label:'Pending', type: 'pending' }, | |||
| { key: 2, labelCht: '待支付', label:'To be Paid', type: 'to be paid' }, | |||
| { key: 3, labelCht: '已付費', label:'Paid', type: 'paid' }, | |||
| ]; | |||
| export const denmandNoteStatus_Public = [ | |||
| { key: 0, labelCht: '全部', label: 'All', type: 'all' }, | |||
| { key: 2, labelCht: '待支付', label:'To be Paid', type: 'to be paid' }, | |||
| { key: 3, labelCht: '已付費', label:'Paid', type: 'paid' }, | |||
| ]; | |||