Add comments field to parts queue.
This commit is contained in:
@@ -11,7 +11,7 @@ const mapDispatchToProps = (dispatch) => ({
|
|||||||
});
|
});
|
||||||
export default connect(mapStateToProps, mapDispatchToProps)(JobPartsQueueCount);
|
export default connect(mapStateToProps, mapDispatchToProps)(JobPartsQueueCount);
|
||||||
|
|
||||||
export function JobPartsQueueCount({ bodyshop, parts }) {
|
export function JobPartsQueueCount({ bodyshop, parts, style }) {
|
||||||
const partsStatus = useMemo(() => {
|
const partsStatus = useMemo(() => {
|
||||||
if (!parts) return null;
|
if (!parts) return null;
|
||||||
return parts.reduce(
|
return parts.reduce(
|
||||||
@@ -36,7 +36,7 @@ export function JobPartsQueueCount({ bodyshop, parts }) {
|
|||||||
if (!parts) return null;
|
if (!parts) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Row>
|
<Row style={style}>
|
||||||
<Col span={4}>
|
<Col span={4}>
|
||||||
<Tooltip title="Total">
|
<Tooltip title="Total">
|
||||||
<Tag>{partsStatus.total}</Tag>
|
<Tag>{partsStatus.total}</Tag>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import Icon from "@ant-design/icons";
|
import Icon from "@ant-design/icons";
|
||||||
import { useMutation } from "@apollo/client";
|
import { useMutation } from "@apollo/client";
|
||||||
import { Button, Input, Popover } from "antd";
|
import { Button, Input, Popover, Tooltip } from "antd";
|
||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { FaRegStickyNote } from "react-icons/fa";
|
import { FaRegStickyNote } from "react-icons/fa";
|
||||||
@@ -69,10 +69,11 @@ export default function ProductionListColumnComment({ record }) {
|
|||||||
cursor: "pointer",
|
cursor: "pointer",
|
||||||
overflow: "hidden",
|
overflow: "hidden",
|
||||||
textOverflow: "ellipsis",
|
textOverflow: "ellipsis",
|
||||||
|
display: "inline-block",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Icon component={FaRegStickyNote} style={{ marginRight: ".2rem" }} />
|
<Icon component={FaRegStickyNote} style={{ marginRight: ".2rem" }} />
|
||||||
{record.comment || " "}
|
<Tooltip title={record.comment}>{record.comment || " "}</Tooltip>
|
||||||
</div>
|
</div>
|
||||||
</Popover>
|
</Popover>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ export const QUERY_PARTS_QUEUE = gql`
|
|||||||
vehicleid
|
vehicleid
|
||||||
ownerid
|
ownerid
|
||||||
queued_for_parts
|
queued_for_parts
|
||||||
|
comment
|
||||||
joblines_status {
|
joblines_status {
|
||||||
count
|
count
|
||||||
part_type
|
part_type
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import AlertComponent from "../../components/alert/alert.component";
|
|||||||
import JobPartsQueueCount from "../../components/job-parts-queue-count/job-parts-queue-count.component";
|
import JobPartsQueueCount from "../../components/job-parts-queue-count/job-parts-queue-count.component";
|
||||||
import JobRemoveFromPartsQueue from "../../components/job-remove-from-parst-queue/job-remove-from-parts-queue.component";
|
import JobRemoveFromPartsQueue from "../../components/job-remove-from-parst-queue/job-remove-from-parts-queue.component";
|
||||||
import OwnerNameDisplay from "../../components/owner-name-display/owner-name-display.component";
|
import OwnerNameDisplay from "../../components/owner-name-display/owner-name-display.component";
|
||||||
|
import ProductionListColumnComment from "../../components/production-list-columns/production-list-columns.comment.component";
|
||||||
import { QUERY_PARTS_QUEUE } from "../../graphql/jobs.queries";
|
import { QUERY_PARTS_QUEUE } from "../../graphql/jobs.queries";
|
||||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
import { onlyUnique } from "../../utils/arrayHelper";
|
import { onlyUnique } from "../../utils/arrayHelper";
|
||||||
@@ -228,9 +229,18 @@ export function PartsQueuePageComponent({ bodyshop }) {
|
|||||||
dataIndex: "partsstatus",
|
dataIndex: "partsstatus",
|
||||||
key: "partsstatus",
|
key: "partsstatus",
|
||||||
render: (text, record) => (
|
render: (text, record) => (
|
||||||
<JobPartsQueueCount parts={record.joblines_status} />
|
<JobPartsQueueCount
|
||||||
|
style={{ minWidth: "10rem" }}
|
||||||
|
parts={record.joblines_status}
|
||||||
|
/>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: t("jobs.fields.comment"),
|
||||||
|
dataIndex: "comment",
|
||||||
|
key: "comment",
|
||||||
|
render: (text, record) => <ProductionListColumnComment record={record} />,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: t("jobs.fields.queued_for_parts"),
|
title: t("jobs.fields.queued_for_parts"),
|
||||||
dataIndex: "queued_for_parts",
|
dataIndex: "queued_for_parts",
|
||||||
@@ -247,7 +257,7 @@ export function PartsQueuePageComponent({ bodyshop }) {
|
|||||||
value: false,
|
value: false,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
//onFilter: (value, record) => record.queued_for_parts === value,
|
onFilter: (value, record) => record.queued_for_parts === value,
|
||||||
render: (text, record) => (
|
render: (text, record) => (
|
||||||
<JobRemoveFromPartsQueue
|
<JobRemoveFromPartsQueue
|
||||||
checked={record.queued_for_parts}
|
checked={record.queued_for_parts}
|
||||||
|
|||||||
Reference in New Issue
Block a user