Anna Ho 1 год назад
Родитель
Сommit
1e7bb5d8b1
11 измененных файлов: 200 добавлений и 224 удалений
  1. +27
    -31
      src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js
  2. +127
    -136
      src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js
  3. +3
    -7
      src/pages/User/SearchPage/UserSearchForm.js
  4. +3
    -4
      src/pages/User/SearchPage/UserTable.js
  5. +4
    -6
      src/pages/User/SearchPage/index.js
  6. +2
    -3
      src/pages/User/SearchPage_Individual/UserSearchForm_Individual.js
  7. +2
    -3
      src/pages/User/SearchPage_Individual/UserTable_Individual.js
  8. +1
    -3
      src/pages/User/SearchPage_Individual/index.js
  9. +0
    -1
      src/pages/User/SearchPage_Organization/UserSearchForm_Organization.js
  10. +30
    -27
      src/pages/User/SearchPage_Organization/UserTable_Organization.js
  11. +1
    -3
      src/pages/User/SearchPage_Organization/index.js

+ 27
- 31
src/pages/User/DetailsPage_Individual/UserInformationCard_Individual.js Просмотреть файл

@@ -6,8 +6,7 @@ import {
IconButton
} from '@mui/material';
import MainCard from "components/MainCard";
import * as React from "react";
import { useEffect, useState } from "react";
import { useEffect, useState, lazy } from "react";
import * as yup from 'yup';

import { useFormik } from 'formik';
@@ -17,7 +16,6 @@ import * as UrlUtils from "utils/ApiPathConst";
import * as ComboData from "utils/ComboData";
const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent')));
import Loadable from 'components/Loadable';
import { lazy } from 'react';
import { notifyActiveSuccess, notifyLockSuccess, notifySaveSuccess, notifyVerifySuccess } from 'utils/CommonFunction';
import { useIntl } from "react-intl";
import { PNSPS_BUTTON_THEME } from "themes/buttonConst";
@@ -335,7 +333,7 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => {
<Typography variant="h5">Verified:</Typography>
</Grid>
{
currentUserData.verifiedBy || editMode ?
!isGrantedAny("MAINTAIN_USER") || currentUserData.verifiedBy || editMode ?
<Grid item xs={12} sm={12} md={6} lg={6} sx={{ mb: 2 }}>
{FieldUtils.initField({
valueName: "verifiedStatus",
@@ -504,7 +502,7 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => {
</Grid>

{
editMode ?
!isGrantedAny("MAINTAIN_USER") || editMode ?
<Grid item xs={8} sm={8} md={6} lg={6}>
{FieldUtils.initField({
valueName: "status",
@@ -522,32 +520,30 @@ const UserInformationCard_Individual = ({ formData, loadDataFun }) => {
})}
</Grid>
{
isGrantedAny("MAINTAIN_USER") ? (
locked ?
<Grid item xs={2} sm={2} md={2} lg={2} sx={{ ml: 2 }}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
color="success"
onClick={doUnlock}
>
Active
</Button>
</ThemeProvider>
</Grid>
:
<Grid item xs={2} sm={2} md={2} lg={2} sx={{ ml: 2 }}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
color="error"
onClick={doLock}
>
Lock
</Button>
</ThemeProvider>
</Grid>
) : <></>
locked ?
<Grid item xs={2} sm={2} md={2} lg={2} sx={{ ml: 2 }}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
color="success"
onClick={doUnlock}
>
Active
</Button>
</ThemeProvider>
</Grid>
:
<Grid item xs={2} sm={2} md={2} lg={2} sx={{ ml: 2 }}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
color="error"
onClick={doLock}
>
Lock
</Button>
</ThemeProvider>
</Grid>
}
</>
}


+ 127
- 136
src/pages/User/DetailsPage_Organization/UserInformationCard_Organization.js Просмотреть файл

@@ -4,37 +4,36 @@ import {
Dialog, DialogTitle, DialogContent, DialogActions,
} from '@mui/material';
import MainCard from "components/MainCard";
import * as React from "react";

import { useState, useEffect, lazy } from 'react';
import * as FieldUtils from "utils/FieldUtils";
import * as HttpUtils from 'utils/HttpUtils';
import * as UrlUtils from "utils/ApiPathConst";
import { POST_ORG_USER, GET_IND_USER_VERIFY, GET_USER_LOCK, GET_USER_UNLOCK } from "utils/ApiPathConst";
import * as ComboData from "utils/ComboData";

import { useFormik } from 'formik';
import * as yup from 'yup';
const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent')));
const LoadingComponent = Loadable(lazy(() => import('pages/extra-pages/LoadingComponent')));
import Loadable from 'components/Loadable';
import { lazy } from 'react';
import { notifyActiveSuccess, notifyLockSuccess, notifySaveSuccess, notifyVerifySuccess } from 'utils/CommonFunction';
import {useIntl} from "react-intl";
import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst";
import {ThemeProvider} from "@emotion/react";
import { useIntl } from "react-intl";
import { PNSPS_BUTTON_THEME } from "themes/buttonConst";
import { ThemeProvider } from "@emotion/react";
import { isGrantedAny } from "auth/utils";
// ==============================|| DASHBOARD - DEFAULT ||============================== //


const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) => {

const [currentUserData, setCurrentUserData] = React.useState(userData);
const [isWarningPopUp, setIsWarningPopUp] = React.useState(false);
const [warningText, setWarningText] = React.useState("");
const [isConfirmPopUp, setIsConfirmPopUp] = React.useState(false);
const [confirmText, setConfirmText] = React.useState("");
const [confirmAction, setConfirmAction] = React.useState();
const [editMode, setEditMode] = React.useState(false);
const [onReady, setOnReady] = React.useState(false);
const [currentUserData, setCurrentUserData] = useState(userData);
const [isWarningPopUp, setIsWarningPopUp] = useState(false);
const [warningText, setWarningText] = useState("");
const [isConfirmPopUp, setIsConfirmPopUp] = useState(false);
const [confirmText, setConfirmText] = useState("");
const [confirmAction, setConfirmAction] = useState();
const [editMode, setEditMode] = useState(false);
const [onReady, setOnReady] = useState(false);
const intl = useIntl();
React.useEffect(() => {
useEffect(() => {
//if state data are ready and assign to different field
// console.log(currentApplicationDetailData)
if (Object.keys(currentUserData).length > 0) {
@@ -50,57 +49,42 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
enableReinitialize: true,
initialValues: currentUserData,
validationSchema: yup.object().shape({
contactPerson: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'userRequireName'}))),
enCompanyName: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'userRequireEnglishName'}))),
contactPerson: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({ id: 'userRequireName' }))),
enCompanyName: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({ id: 'userRequireEnglishName' }))),
chCompanyName: yup.string().max(255).nullable(),
addressLine1: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({id: 'validateAddressLine1'}))),
addressLine1: yup.string().max(40).required(displayErrorMsg(intl.formatMessage({ id: 'validateAddressLine1' }))),
addressLine2: yup.string().max(40).nullable(),
addressLine3: yup.string().max(40).nullable(),
emailBus: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({id: 'requireEmail'}))),
tel_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({id: 'require3Number'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireDialingCode'}))),
fax_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({id: 'require3Number'}))).nullable(),
phoneNumber: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'require8Number'}))).required(displayErrorMsg(intl.formatMessage({id: 'requireContactNumber'}))),
faxNumber: yup.string().min(8, displayErrorMsg(intl.formatMessage({id: 'require8Number'}))).nullable(),
brExpiryDate: yup.string().min(8, 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
emailBus: yup.string().max(255).required(displayErrorMsg(intl.formatMessage({ id: 'requireEmail' }))),
tel_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({ id: 'require3Number' }))).required(displayErrorMsg(intl.formatMessage({ id: 'requireDialingCode' }))),
fax_countryCode: yup.string().min(3, displayErrorMsg(intl.formatMessage({ id: 'require3Number' }))).nullable(),
phoneNumber: yup.string().min(8, displayErrorMsg(intl.formatMessage({ id: 'require8Number' }))).required(displayErrorMsg(intl.formatMessage({ id: 'requireContactNumber' }))),
faxNumber: yup.string().min(8, displayErrorMsg(intl.formatMessage({ id: 'require8Number' }))).nullable(),
brExpiryDate: yup.string().min(8, 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) => {
HttpUtils.post({
url: UrlUtils.POST_ORG_USER + "/" + userData.id,
url: POST_ORG_USER + "/" + userData.id,
params: {
contactTel: {
countryCode: values.tel_countryCode,
phoneNumber: values.phoneNumber
},
// faxNo: {
// countryCode: values.fax_countryCode,
// faxNumber: values.faxNumber
// },
// addressBus: {
// country: values.country,
// district: values.district,
// addressLine1: values.addressLine1,
// addressLine2: values.addressLine2,
// addressLine3: values.addressLine3,
// },
identification: values.identification,
emailBus: values.emailBus,
contactPerson: values.contactPerson,
// enCompanyName: values.enCompanyName,
// chCompanyName: values.chCompanyName,
orgId: values.orgId?.id,
// brNo: values.brNo,
// brExpiryDate: values.brExpiryDate,
preferLocale: values.preferLocale.type
},
onSuccess: function () {
@@ -113,7 +97,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
});


React.useEffect(() => {
useEffect(() => {
if (Object.keys(userData).length > 0) {
setCurrentUserData(userData);
}
@@ -136,7 +120,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
const onVerifiedClick = () => {
if (formik?.values?.orgId) {
HttpUtils.get({
url: UrlUtils.GET_IND_USER_VERIFY + "/" + userData.id,
url: GET_IND_USER_VERIFY + "/" + userData.id,
onSuccess: function () {
notifyVerifySuccess()
loadDataFun();
@@ -154,7 +138,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
setConfirmAction({
function: function () {
HttpUtils.get({
url: UrlUtils.GET_USER_LOCK + "/" + userData.id,
url: GET_USER_LOCK + "/" + userData.id,
onSuccess: function () {
notifyLockSuccess()
loadDataFun();
@@ -171,7 +155,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
setConfirmAction({
function: function () {
HttpUtils.get({
url: UrlUtils.GET_USER_UNLOCK + "/" + userData.id,
url: GET_USER_UNLOCK + "/" + userData.id,
onSuccess: function () {
notifyActiveSuccess()
loadDataFun();
@@ -194,50 +178,57 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
<form onSubmit={formik.handleSubmit}>

{/*top button*/}
<Grid item s={12} md={12} lg={12} sx={{ mb: 3, mt: 2 }} alignItems={"start"} justifyContent="center">
<Grid container maxWidth justifyContent="flex-start">
{editMode ?
<>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Grid item sx={{ ml: 3, mr: 3 }}>
<Button
variant="contained"
onClick={loadDataFun}
color="cancel"
>
Reset & Back
</Button>
</Grid>
<Grid item sx={{ ml: 3, mr: 3 }}>
<Button
variant="contained"
type="submit"
color="success"
>
Save
</Button>
</Grid>
</ThemeProvider>
</>
:
<>

<Grid item sx={{ ml: 3, mr: 3 }}>
{isGrantedAny("MAINTAIN_USER") ?
<Grid item s={12} md={12} lg={12} sx={{ mb: 3, mt: 2 }} alignItems={"start"} justifyContent="center">
<Grid container maxWidth justifyContent="flex-start">
{editMode ?
<>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
onClick={onEditClick}
>
Edit
</Button>
<Grid item sx={{ ml: 3, mr: 3 }}>
<Button
variant="contained"
onClick={loadDataFun}
color="cancel"
>
Reset & Back
</Button>
</Grid>
<Grid item sx={{ ml: 3, mr: 3 }}>
<Button
variant="contained"
type="submit"
color="success"
>
Save
</Button>
</Grid>
</ThemeProvider>
</Grid>
</>
}
</>
:
<>

<Grid item sx={{ ml: 3, mr: 3 }}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
onClick={onEditClick}
>
Edit
</Button>
</ThemeProvider>
</Grid>
</>
}


</Grid>
</Grid>
</Grid>
: <></>
}



{/*end top button*/}
<div style={{ paddingLeft: 24, paddingRight: 24 }}>
<Typography variant="h4" sx={{ mt: 3, mb: 2, mr: 3, borderBottom: "1px solid black" }}>
@@ -305,9 +296,9 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
{FieldUtils.getComboField({
label: "Organisation:",
valueName: "orgId",
getOptionLabel: (option) => option.enCompanyName?option.enCompanyName:option.chCompanyName? option.chCompanyName : "",
getOptionLabel: (option) => option.enCompanyName ? option.enCompanyName : option.chCompanyName ? option.chCompanyName : "",
dataList: orgData,
disabled: (!editMode),
disabled: (!editMode),
form: formik
})}
{/* {FieldUtils.getComboField({
@@ -361,7 +352,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
</Grid>

{
currentUserData.verifiedBy || editMode ?
!isGrantedAny("MAINTAIN_USER") || currentUserData.verifiedBy || editMode ?
<Grid item xs={12} md={6} lg={6}>
{FieldUtils.initField({
valueName: "verifiedStatus",
@@ -380,12 +371,12 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
</Grid>
<Grid item xs={1} md={1} lg={1}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
onClick={() => { onVerifiedClick() }}
>
Verify
</Button>
<Button
variant="contained"
onClick={() => { onVerifiedClick() }}
>
Verify
</Button>
</ThemeProvider>
</Grid>
</>
@@ -404,10 +395,10 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
</Grid>
<Grid item xs={12} sm={12} md={12} lg={4}>
{FieldUtils.getComboField({
label: intl.formatMessage({id: 'language'}) + ":",
label: intl.formatMessage({ id: 'language' }) + ":",
valueName: "preferLocale",
dataList: ComboData.Locale,
getOptionLabel: (option) => option.label? option.label: "",
getOptionLabel: (option) => option.label ? option.label : "",
disabled: (!editMode),
form: formik
})}
@@ -420,7 +411,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
<Typography variant="h5">Status:</Typography>
</Grid>
{
editMode ?
!isGrantedAny("MAINTAIN_USER") || editMode ?
<Grid item xs={12} md={6} lg={6}>
{FieldUtils.initField({
valueName: "status",
@@ -442,25 +433,25 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
{formik.values.locked ?
<Grid item xs={1} md={1} lg={1} sx={{ ml: 1 }}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
color="success"
onClick={doUnlock}
>
Active
</Button>
<Button
variant="contained"
color="success"
onClick={doUnlock}
>
Active
</Button>
</ThemeProvider>
</Grid>
:
<Grid item xs={1} md={1} lg={1} sx={{ ml: 1 }}>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button
variant="contained"
color="error"
onClick={doLock}
>
Lock
</Button>
<Button
variant="contained"
color="error"
onClick={doLock}
>
Lock
</Button>
</ThemeProvider>
</Grid>
}
@@ -478,11 +469,11 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
{currentUserData.orgId == null ?
<Grid item lg={2} >
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button variant="contained"
onClick={createOrgClick}
>
Create Organisation
</Button>
<Button variant="contained"
onClick={createOrgClick}
>
Create Organisation
</Button>
</ThemeProvider>
</Grid>
: null
@@ -525,7 +516,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
{FieldUtils.getComboField({
label: "Country:",
valueName: "country",
getOptionLabel: (option) => option.type? intl.formatMessage({ id: option.type }) : "",
getOptionLabel: (option) => option.type ? intl.formatMessage({ id: option.type }) : "",
dataList: ComboData.country,
disabled: true,
form: formik
@@ -558,7 +549,7 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
label: "District:",
valueName: "district",
dataList: ComboData.district,
getOptionLabel: (option) => option.type? intl.formatMessage({ id: option.type }) : "",
getOptionLabel: (option) => option.type ? intl.formatMessage({ id: option.type }) : "",
disabled: true,
form: formik
})}
@@ -595,9 +586,9 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
</DialogContent>
<DialogActions>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button onClick={() => setIsWarningPopUp(false)}>
Close
</Button>
<Button onClick={() => setIsWarningPopUp(false)}>
Close
</Button>
</ThemeProvider>
</DialogActions>
</Dialog>
@@ -620,12 +611,12 @@ const UserInformationCard_Organization = ({ userData, loadDataFun, orgData }) =>
</DialogContent>
<DialogActions>
<ThemeProvider theme={PNSPS_BUTTON_THEME}>
<Button onClick={() => { setIsConfirmPopUp(false) }}>
Close
</Button>
<Button onClick={() => { confirmAction?.function(); }}>
Confirm
</Button>
<Button onClick={() => { setIsConfirmPopUp(false) }}>
Close
</Button>
<Button onClick={() => { confirmAction?.function(); }}>
Confirm
</Button>
</ThemeProvider>
</DialogActions>
</Dialog>


+ 3
- 7
src/pages/User/SearchPage/UserSearchForm.js Просмотреть файл

@@ -5,19 +5,15 @@ import {
Grid, TextField,
Typography
} from '@mui/material';
import MainCard from "../../../components/MainCard";
import MainCard from "components/MainCard";
import { useForm } from "react-hook-form";

import {
useState
} from "react";

import {useState} from "react";
import Checkbox from "@mui/material/Checkbox";
import AddCircleOutlineIcon from '@mui/icons-material/AddCircleOutline';
import { useNavigate } from "react-router";
import axios from "axios";
import { GET_EMAIL_LIST } from 'utils/ApiPathConst';
import { PNSPS_BUTTON_THEME } from "../../../themes/buttonConst";
import { PNSPS_BUTTON_THEME } from "themes/buttonConst";
import { ThemeProvider } from "@emotion/react";

import { isGrantedAny } from "auth/utils";


+ 3
- 4
src/pages/User/SearchPage/UserTable.js Просмотреть файл

@@ -1,7 +1,6 @@
// material-ui
import * as React from 'react';
import {FiDataGrid} from "components/FiDataGrid";
import {useEffect} from "react";
import {useState, useEffect} from "react";
import {useNavigate} from "react-router-dom";
import { useTheme } from '@mui/material/styles';
import Checkbox from '@mui/material/Checkbox';
@@ -13,8 +12,8 @@ import { isGrantedAny } from "auth/utils";
// ==============================|| EVENT TABLE ||============================== //

export default function UserTable({searchCriteria}) {
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);
const [reloadTime, setReloadTime] = React.useState(new Date());
const [_searchCriteria, set_searchCriteria] = useState(searchCriteria);
const [reloadTime, setReloadTime] = useState(new Date());
const theme = useTheme();

const navigate = useNavigate()


+ 4
- 6
src/pages/User/SearchPage/index.js Просмотреть файл

@@ -6,11 +6,9 @@ import {
// Button
} from '@mui/material';
import MainCard from "../../../components/MainCard";
import { useEffect, useState } from "react";
import * as React from "react";
import { useEffect, useState, lazy } from "react";

import Loadable from 'components/Loadable';
import { lazy } from 'react';
const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent')));
const SearchForm = Loadable(lazy(() => import('./UserSearchForm')));
const EventTable = Loadable(lazy(() => import('./UserTable')));
@@ -31,9 +29,9 @@ const UserSettingPage = () => {
// const [record, setRecord] = useState([]);
const [searchCriteria, setSearchCriteria] = useState({});
const [onReady, setOnReady] = useState(false);
//const [changelocked, setChangeLocked] = React.useState(false);
//const [changelocked, setChangeLocked] = useState(false);

// React.useLayoutEffect(() => {
// useLayoutEffect(() => {
// getUserList();
// }, [changelocked]);

@@ -41,7 +39,7 @@ const UserSettingPage = () => {
setOnReady(true);
}, [searchCriteria]);

// React.useLayoutEffect(() => {
// useLayoutEffect(() => {
// getUserList();
// }, [searchCriteria]);



+ 2
- 3
src/pages/User/SearchPage_Individual/UserSearchForm_Individual.js Просмотреть файл

@@ -5,11 +5,10 @@ import {
Autocomplete,
Typography
} from '@mui/material';
import MainCard from "../../../components/MainCard";
import MainCard from "components/MainCard";
import { useForm } from "react-hook-form";
import { useState } from "react";
import * as React from "react";
import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst";
import {PNSPS_BUTTON_THEME} from "themes/buttonConst";
import {ThemeProvider} from "@emotion/react";
// ==============================|| DASHBOARD - DEFAULT ||============================== //



+ 2
- 3
src/pages/User/SearchPage_Individual/UserTable_Individual.js Просмотреть файл

@@ -1,11 +1,10 @@
// material-ui
import * as React from 'react';
import { GridActionsCellItem } from "@mui/x-data-grid";
import { FiDataGrid } from "components/FiDataGrid";
//import VisibilityIcon from '@mui/icons-material/Visibility';
import HighlightOff from '@mui/icons-material/HighlightOff';
import CheckCircleOutline from '@mui/icons-material/CheckCircleOutline';
import { useEffect } from "react";
import {useState, useEffect } from "react";
import { useNavigate } from "react-router-dom";
import * as DateUtils from "utils/DateUtils";
import { GET_IND_USER_PATH } from "utils/ApiPathConst";
@@ -13,7 +12,7 @@ import { clickableLink} from 'utils/CommonFunction';
// ==============================|| EVENT TABLE ||============================== //

export default function UserTable_Individual({ searchCriteria }) {
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);
const [_searchCriteria, set_searchCriteria] = useState(searchCriteria);

const navigate = useNavigate()



+ 1
- 3
src/pages/User/SearchPage_Individual/index.js Просмотреть файл

@@ -3,10 +3,8 @@ import {
Grid, Typography, Stack
} from '@mui/material';
import MainCard from "components/MainCard";
import { useEffect, useState } from "react";
import * as React from "react";
import { useEffect, useState, lazy } from "react";
import Loadable from 'components/Loadable';
import { lazy } from 'react';
const LoadingComponent = Loadable(lazy(() => import('pages/extra-pages/LoadingComponent')));
const SearchForm = Loadable(lazy(() => import('./UserSearchForm_Individual')));
const EventTable = Loadable(lazy(() => import('./UserTable_Individual')));


+ 0
- 1
src/pages/User/SearchPage_Organization/UserSearchForm_Organization.js Просмотреть файл

@@ -9,7 +9,6 @@ import MainCard from "../../../components/MainCard";
import {useForm} from "react-hook-form";

import { useState} from "react";
import * as React from "react";
import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst";
import {ThemeProvider} from "@emotion/react";
// ==============================|| DASHBOARD - DEFAULT ||============================== //


+ 30
- 27
src/pages/User/SearchPage_Organization/UserTable_Organization.js Просмотреть файл

@@ -1,22 +1,22 @@
// material-ui
import * as React from 'react';

import {
GridActionsCellItem,
} from "@mui/x-data-grid";

import {FiDataGrid} from "components/FiDataGrid";
import VisibilityIcon from '@mui/icons-material/Visibility';
import {useEffect} from "react";
//import VisibilityIcon from '@mui/icons-material/Visibility';
import {useState, useEffect} from "react";
import {useNavigate} from "react-router-dom";
import HighlightOff from '@mui/icons-material/HighlightOff';
import CheckCircleOutline from '@mui/icons-material/CheckCircleOutline';
import * as DateUtils from 'utils/DateUtils';
import { GET_ORG_USER_PATH } from "utils/ApiPathConst";
import { clickableLink} from 'utils/CommonFunction';

// ==============================|| EVENT TABLE ||============================== //

export default function UserTable_Organization({searchCriteria}) {
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);
const [_searchCriteria, set_searchCriteria] = useState(searchCriteria);

const navigate = useNavigate()

@@ -24,35 +24,38 @@ export default function UserTable_Organization({searchCriteria}) {
set_searchCriteria(searchCriteria);
}, [searchCriteria]);

const handleActionClick = (id) => () => {
navigate('/orgUser/'+ id);
};
// const handleActionClick = (id) => () => {
// navigate('/orgUser/'+ id);
// };

const columns = [
{
field: 'actions',
type: 'actions',
headerName: 'Actions',
width: 100,
cellClassName: 'actions',
getActions: ({id}) => {
return [
<GridActionsCellItem
key="OutSave"
icon={<VisibilityIcon/>}
label="View"
className="textPrimary"
onClick={handleActionClick(id)}
color="primary"
/>]
},
},
// {
// field: 'actions',
// type: 'actions',
// headerName: 'Actions',
// width: 100,
// cellClassName: 'actions',
// getActions: ({id}) => {
// return [
// <GridActionsCellItem
// key="OutSave"
// icon={<VisibilityIcon/>}
// label="View"
// className="textPrimary"
// onClick={handleActionClick(id)}
// color="primary"
// />]
// },
// },
{
id: 'username',
field: 'username',
headerName: 'Username',
flex: 1,
minWidth: 150,
renderCell: (params) => {
return clickableLink('/orgUser/'+ params.row.id, params.row.username);
},
},
{
id: 'contactPerson',
@@ -142,7 +145,7 @@ export default function UserTable_Organization({searchCriteria}) {
<div style={{height: "fit-content", width: '100%'}}>
<FiDataGrid
columns={columns}
customPageSize={5}
customPageSize={10}
onRowDoubleClick={handleRowDoubleClick}
doLoad={{
url: GET_ORG_USER_PATH,


+ 1
- 3
src/pages/User/SearchPage_Organization/index.js Просмотреть файл

@@ -3,10 +3,8 @@ import {
Grid, Typography, Stack
} from '@mui/material';
import MainCard from "components/MainCard";
import { useEffect, useState } from "react";
import * as React from "react";
import { useEffect, useState, lazy } from "react";
import Loadable from 'components/Loadable';
import { lazy } from 'react';
const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent')));
const SearchForm = Loadable(lazy(() => import('./UserSearchForm_Organization')));
const EventTable = Loadable(lazy(() => import('./UserTable_Organization')));


Загрузка…
Отмена
Сохранить