diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index 20d3d8d98..2e46c1f8b 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -1300,6 +1300,32 @@ + + labels + + + actions + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + + + successes diff --git a/client/src/components/owner-find-modal/owner-find-modal.component.jsx b/client/src/components/owner-find-modal/owner-find-modal.component.jsx index 49bbf385e..301ed230d 100644 --- a/client/src/components/owner-find-modal/owner-find-modal.component.jsx +++ b/client/src/components/owner-find-modal/owner-find-modal.component.jsx @@ -17,51 +17,26 @@ export default function OwnerFindModalComponent({ title: t("owners.fields.ownr_ln"), dataIndex: "ownr_ln", key: "ownr_ln" - //width: "8%", - // onFilter: (value, record) => record.ro_number.includes(value), - // // filteredValue: state.filteredInfo.text || null, - // sorter: (a, b) => alphaSort(a, b), - // sortOrder: - // state.sortedInfo.columnKey === "cieca_id" && state.sortedInfo.order }, { title: t("owners.fields.ownr_fn"), dataIndex: "ownr_fn", key: "ownr_fn" - // ellipsis: true, - // sorter: (a, b) => alphaSort(a.ownr_ln, b.ownr_ln), - // //width: "25%", - // sortOrder: - // state.sortedInfo.columnKey === "ownr_name" && state.sortedInfo.order }, { title: t("owners.fields.ownr_addr1"), dataIndex: "ownr_addr1", key: "ownr_addr1" - // sorter: (a, b) => alphaSort(a.vehicle_info, b.vehicle_info), - // sortOrder: - // state.sortedInfo.columnKey === "vehicle_info" && state.sortedInfo.order - //ellipsis: true }, { title: t("owners.fields.ownr_city"), dataIndex: "ownr_city", key: "ownr_city" - // sorter: (a, b) => alphaSort(a.clm_no, b.clm_no), - // sortOrder: - // state.sortedInfo.columnKey === "clm_no" && state.sortedInfo.order - //width: "12%", - //ellipsis: true }, { title: t("owners.fields.ownr_ea"), dataIndex: "ownr_ea", key: "ownr_ea" - // sorter: (a, b) => a.clm_amt - b.clm_amt, - // sortOrder: - // state.sortedInfo.columnKey === "clm_amt" && state.sortedInfo.order - //width: "12%", - //ellipsis: true }, { title: t("owners.fields.ownr_ph1"), @@ -70,11 +45,6 @@ export default function OwnerFindModalComponent({ render: (text, record) => ( {record.ownr_ph1} ) - // sorter: (a, b) => alphaSort(a.uploaded_by, b.uploaded_by), - // sortOrder: - // state.sortedInfo.columnKey === "uploaded_by" && state.sortedInfo.order - //width: "12%", - //ellipsis: true } ]; @@ -118,7 +88,6 @@ export default function OwnerFindModalComponent({ checked={selectedOwner ? false : true} onClick={() => setSelectedOwner(null)} > - {t("owners.labels.create_new")} diff --git a/client/src/components/shop-employees/shop-employees-form.component.jsx b/client/src/components/shop-employees/shop-employees-form.component.jsx index 1d99fc545..73541dddc 100644 --- a/client/src/components/shop-employees/shop-employees-form.component.jsx +++ b/client/src/components/shop-employees/shop-employees-form.component.jsx @@ -1,6 +1,6 @@ import { Button, DatePicker, Form, Input, InputNumber, Switch } from "antd"; import moment from "moment"; -import React from "react"; +import React, { useEffect } from "react"; import { useTranslation } from "react-i18next"; export default function ShopEmployeesFormComponent({ @@ -9,8 +9,11 @@ export default function ShopEmployeesFormComponent({ handleFinish }) { const { t } = useTranslation(); + useEffect(() => { + if (selectedEmployee) form.resetFields(); + }, [selectedEmployee, form]); - if (!selectedEmployee) return "//TODO No employee selected."; + if (!selectedEmployee) return null; return (
diff --git a/client/src/components/shop-employees/shop-employees-list.component.jsx b/client/src/components/shop-employees/shop-employees-list.component.jsx index 9984eacee..f60ae6247 100644 --- a/client/src/components/shop-employees/shop-employees-list.component.jsx +++ b/client/src/components/shop-employees/shop-employees-list.component.jsx @@ -1,51 +1,98 @@ -import { Button, List } from "antd"; +import { Button, Table } from "antd"; import React from "react"; import { useTranslation } from "react-i18next"; import CurrencyFormatter from "../../utils/CurrencyFormatter"; export default function ShopEmployeesListComponent({ loading, employees, + selectedEmployee, setSelectedEmployee, handleDelete }) { const { t } = useTranslation(); + + const handleOnRowClick = record => { + if (record) { + setSelectedEmployee(record); + } else setSelectedEmployee({}); + }; + const columns = [ + { + title: t("employees.fields.employee_number"), + dataIndex: "employee_number", + key: "employee_number" + }, + { + title: t("employees.fields.first_name"), + dataIndex: "first_name", + key: "first_name" + }, + { + title: t("employees.fields.last_name"), + dataIndex: "last_name", + key: "last_name" + }, + { + title: t("employees.fields.cost_center"), + dataIndex: "cost_center", + key: "cost_center" + }, + { + title: t("employees.fields.base_rate"), + dataIndex: "base_rate", + key: "base_rate", + render: (text, record) => ( + {record.base_rate} + ) + }, + { + title: t("employees.labels.actions"), + dataIndex: "actions", + key: "actions", + render: (text, record) => ( +
+ +
+ ) + } + ]; return (
-