diff --git a/client/src/components/jobs-list/jobs-list.component.jsx b/client/src/components/jobs-list/jobs-list.component.jsx
index e952d8fda..591bcae8b 100644
--- a/client/src/components/jobs-list/jobs-list.component.jsx
+++ b/client/src/components/jobs-list/jobs-list.component.jsx
@@ -176,11 +176,6 @@ export function JobsList({ bodyshop, setJoyRideSteps }) {
[],
onFilter: (value, record) => value.includes(record.status)
},
- {
- title: t('jobs.fields.active_tasks'),
- key: 'activetasks',
- render: (text, record) => {record.tasks_aggregate.aggregate.count},
- },
{
title: t("jobs.fields.vehicle"),
dataIndex: "vehicle",
diff --git a/client/src/components/task-list/task-list.component.jsx b/client/src/components/task-list/task-list.component.jsx
index a331612b7..7f2b5d75d 100644
--- a/client/src/components/task-list/task-list.component.jsx
+++ b/client/src/components/task-list/task-list.component.jsx
@@ -26,20 +26,17 @@ import {setModalContext} from '../../redux/modals/modals.actions';
* @constructor
*/
const DueDateRecord = ({dueDate}) => {
- if (dueDate) {
- const dueDateDayjs = dayjs(dueDate);
- const relativeDueDate = dueDateDayjs.fromNow();
- const today = dayjs();
+ if (!dueDate) return <>>;
- if (dueDateDayjs.isBefore(today)) {
- return
- {dueDate}
;
- } else {
- return {dueDate}
;
- }
- } else {
- return N/A
;
- }
+ const dueDateDayjs = dayjs(dueDate);
+ const relativeDueDate = dueDateDayjs.fromNow();
+ const isBeforeToday = dueDateDayjs.isBefore(dayjs());
+
+ return (
+
+ {dueDate}
+
+ );
}
/**
@@ -81,6 +78,7 @@ const mapStateToProps = (state) => ({
export default connect(mapStateToProps, mapDispatchToProps)(TaskListComponent);
function TaskListComponent({
+ bodyshop,
loading,
tasks,
total,
@@ -117,9 +115,13 @@ function TaskListComponent({
title: t("tasks.fields.assigned_to"),
dataIndex: "assigned_to",
key: "assigned_to",
- width: '10%',
+ width: '8%',
sorter: true,
sortOrder: sortcolumn === "assigned_to" && sortorder,
+ render: (text, record) => {
+ const employee = bodyshop?.employees?.find(e => e.user_email === record.assigned_to);
+ return employee ? `${ employee.first_name} ${ employee.last_name}` : t("general.labels.na");
+ }
}
);
}
@@ -129,12 +131,46 @@ function TaskListComponent({
title: t("tasks.fields.job.ro_number"),
dataIndex: ["job", "ro_number"],
key: "job.ro_number",
- width: '5%',
- render: (text, record) => (
-
- {record.job.ro_number}
-
- ),
+ width: '8%',
+ render: (text, record) =>
+ record.job
+ ? {record.job.ro_number || t("general.labels.na")}
+ : t("general.labels.na")
+ },
+ {
+ title: t("tasks.fields.jobline"),
+ dataIndex: ["jobline", "id"],
+ key: "jobline.id",
+ width: '8%',
+ render: (text, record) => record?.jobline?.line_desc || ''
+ },
+ {
+ title: t("tasks.fields.parts_order"),
+ dataIndex: ["parts_order", "id"],
+ key: "part_order.id",
+ width: '8%',
+ render: (text, record) =>
+ record.parts_order
+ ?
+ {record.parts_order.order_number && record.parts_order.vendor && record.parts_order.vendor.name
+ ? `${record.parts_order.order_number} - ${record.parts_order.vendor.name}`
+ : t("general.labels.na")}
+
+ : ''
+ },
+ {
+ title: t("tasks.fields.bill"),
+ dataIndex: ["bill", "id"],
+ key: "bill.id",
+ width: '8%',
+ render: (text, record) =>
+ record.bill
+ ?
+ {record.bill.invoice_number && record.bill.vendor && record.bill.vendor.name
+ ? `${record.bill.invoice_number} - ${record.bill.vendor.name}`
+ : t("general.labels.na")}
+
+ : ''
},
{
title: t("tasks.fields.title"),
@@ -143,13 +179,6 @@ function TaskListComponent({
sorter: true,
sortOrder: sortcolumn === "title" && sortorder,
},
- {
- title: t("tasks.fields.description"),
- dataIndex: "description",
- key: "description",
- sorter: true,
- sortOrder: sortcolumn === "description" && sortorder,
- },
{
title: t("tasks.fields.due_date"),
dataIndex: "due_date",
@@ -159,6 +188,15 @@ function TaskListComponent({
width: '8%',
render: (text, record) => ,
},
+ {
+ title: t("tasks.fields.remind_at"),
+ dataIndex: "remind_at",
+ key: "remind_at",
+ sorter: true,
+ sortOrder: sortcolumn === "remind_at" && sortorder,
+ width: '8%',
+ render: (text, record) => ,
+ },
{
title: t("tasks.fields.priority"),
dataIndex: "priority",
@@ -229,6 +267,12 @@ function TaskListComponent({
}
history({search: queryString.stringify(search)});
};
+
+ const expandableRow = (record) => {
+ return
+ {record.description}
+
+ };
/**
* Extra actions for the tasks
@@ -279,16 +323,21 @@ function TaskListComponent({
record.description,
+ }}
/>
);
diff --git a/client/src/components/task-list/task-list.container.jsx b/client/src/components/task-list/task-list.container.jsx
index d2b24ffcb..191b8a8b1 100644
--- a/client/src/components/task-list/task-list.container.jsx
+++ b/client/src/components/task-list/task-list.container.jsx
@@ -136,6 +136,7 @@ export default function TaskListContainer({bodyshop, titleTranslation ,query, r
return (