浏览代码

company department checking add

tags/Baseline_30082024_FRONTEND_UAT
MSI\derek 1年前
父节点
当前提交
19e8a9e4df
共有 6 个文件被更改,包括 48 次插入8 次删除
  1. +7
    -1
      src/components/CreateCompany/CompanyDetails.tsx
  2. +15
    -2
      src/components/CreateCompany/CreateCompany.tsx
  3. +4
    -3
      src/components/CreateCompany/CreateCompanyWrapper.tsx
  4. +12
    -0
      src/components/CreateDepartment/CreateDepartment.tsx
  5. +4
    -2
      src/components/CreateDepartment/CreateDepartmentWrapper.tsx
  6. +6
    -0
      src/components/CreateDepartment/DepartmentDetails.tsx

+ 7
- 1
src/components/CreateCompany/CompanyDetails.tsx 查看文件

@@ -69,6 +69,12 @@ const CompanyDetails: React.FC<Props> = ({
required: "Company code required!",
})}
error={Boolean(errors.companyCode)}
helperText={
Boolean(errors.companyCode) &&
(errors.companyCode?.message
? t(errors.companyCode.message)
: t("Please input correct company code"))
}
/>
</Grid>
<Grid item xs={6}>
@@ -83,7 +89,7 @@ const CompanyDetails: React.FC<Props> = ({
</Grid>
<Grid item xs={6}>
<TextField
label={t("Company brNo")}
label={t("Company BR NO.")}
fullWidth
{...register("brNo", {
required: "Please enter a brNo",


+ 15
- 2
src/components/CreateCompany/CreateCompany.tsx 查看文件

@@ -24,16 +24,20 @@ import { convertTimeArrayToString } from "@/app/utils/formatUtil";
interface Props {
isEdit: Boolean;
company?: EditCompanyInputs;
companyCodes: string[];
}

const CreateCompany: React.FC<Props> = ({
isEdit,
company,
companyCodes,
}) => {
const [serverError, setServerError] = useState("");
const { t } = useTranslation();
const router = useRouter();

console.log(companyCodes)

const handleCancel = () => {
router.back();
};
@@ -41,11 +45,20 @@ const CreateCompany: React.FC<Props> = ({
const onSubmit = useCallback<SubmitHandler<CreateCompanyInputs>>(
async (data) => {
try {
let haveError = false
if (companyCodes.includes(data.companyCode)) {
haveError = true
formProps.setError("companyCode", { message: t("Duplicated Code."), type: "required" })
}
console.log(data);
if (haveError) {
return
}
console.log("passed")
setServerError("");
// console.log(JSON.stringify(data));
await saveCompany(data)
router.replace("/settings/company");
// await saveCompany(data)
// router.replace("/settings/company");
} catch (e) {
setServerError(t("An error has occurred. Please try again later."));
}


+ 4
- 3
src/components/CreateCompany/CreateCompanyWrapper.tsx 查看文件

@@ -1,4 +1,4 @@
import { fetchCompanyDetails } from "@/app/api/companys";
import { fetchCompanyDetails, fetchCompanys } from "@/app/api/companys";
import CreateCompany from "./CreateCompany";

type CreateCompanyProps = {isEdit: false}
@@ -16,9 +16,10 @@ const CreateCompanyWrapper: React.FC<Props> = async (props) => {
const companyDetails = props.isEdit
? await fetchCompanyDetails(props.companyId!)
: undefined;

const [ company ] = await Promise.all([fetchCompanys()])
console.log(company)
return (
<CreateCompany isEdit company={companyDetails}
<CreateCompany companyCodes={company.map(c => c.companyCode)} isEdit company={companyDetails}
/>
)
}


+ 12
- 0
src/components/CreateDepartment/CreateDepartment.tsx 查看文件

@@ -27,17 +27,20 @@ import { DepartmentResult } from "@/app/api/departments";
interface Props {
isEdit: Boolean;
department?: CreateDepartmentInputs;
depCodes: string[]
}

const CreateDepartment: React.FC<Props> = ({
isEdit,
department,
depCodes,
}) => {
const [serverError, setServerError] = useState("");
const { t } = useTranslation();
const router = useRouter();

console.log(department)
console.log(depCodes)
const handleCancel = () => {
router.back();
@@ -47,6 +50,15 @@ const CreateDepartment: React.FC<Props> = ({
async (data) => {
try {
console.log(data);
let haveError = false
if (depCodes.includes(data.code)) {
formProps.setError("code", { message: t("Duplicated code."), type: "required" })
haveError = true
}
if (haveError) {
return
}
console.log("passed")
setServerError("");
// console.log(JSON.stringify(data));
await saveDepartment(data)


+ 4
- 2
src/components/CreateDepartment/CreateDepartmentWrapper.tsx 查看文件

@@ -1,7 +1,7 @@
import { fetchAllTasks, fetchTaskTemplates } from "@/app/api/tasks";
import CreateDepartment from "./CreateDepartment";
import { fetchTeamLeads } from "@/app/api/staff";
import { DepartmentResult, fetchDepartmentDetails } from "@/app/api/departments";
import { DepartmentResult, fetchDepartmentDetails, fetchDepartments } from "@/app/api/departments";

type CreateDepartmentProps = { isEdit: false };
interface EditDepartmentProps {
@@ -17,8 +17,10 @@ const CreateDepartmentWrapper: React.FC<Props> = async (props) => {
? await fetchDepartmentDetails(props.departmentId!)
: undefined;

const [ department ] = await Promise.all([fetchDepartments()])

return (
<CreateDepartment isEdit department={departmentInfo}
<CreateDepartment depCodes={department.map(d => d.code)} isEdit department={departmentInfo}
/>
);
};


+ 6
- 0
src/components/CreateDepartment/DepartmentDetails.tsx 查看文件

@@ -43,6 +43,12 @@ const DepartmentDetails: React.FC = ({
required: "Department code required!",
})}
error={Boolean(errors.code)}
helperText={
Boolean(errors.code) &&
(errors.code?.message
? t(errors.code.message)
: t("Please input correct department code"))
}
/>
</Grid>
<Grid item xs={6}>


正在加载...
取消
保存