Minor bug fixes related to production schedule list.
This commit is contained in:
@@ -8719,6 +8719,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>inproduction</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>job</name>
|
<name>job</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ export function JobsDetailHeaderActions({ job, bodyshop }) {
|
|||||||
</Menu.Item>
|
</Menu.Item>
|
||||||
<Menu.Item
|
<Menu.Item
|
||||||
key='addtoproduction'
|
key='addtoproduction'
|
||||||
disabled={!!!job.converted}
|
disabled={!!!job.converted || !!job.inproduction}
|
||||||
onClick={() => AddToProduction(client, job.id)}>
|
onClick={() => AddToProduction(client, job.id)}>
|
||||||
{t("jobs.actions.addtoproduction")}
|
{t("jobs.actions.addtoproduction")}
|
||||||
</Menu.Item>
|
</Menu.Item>
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ export function JobsDetailHeader({
|
|||||||
|
|
||||||
const tombstoneTitle = (
|
const tombstoneTitle = (
|
||||||
<div>
|
<div>
|
||||||
<Avatar size="large" alt="Vehicle Image" src={CarImage} />
|
<Avatar size='large' alt='Vehicle Image' src={CarImage} />
|
||||||
{job.ro_number
|
{job.ro_number
|
||||||
? `${t("jobs.fields.ro_number")} ${job.ro_number}`
|
? `${t("jobs.fields.ro_number")} ${job.ro_number}`
|
||||||
: `EST-${job.est_number}`}
|
: `EST-${job.est_number}`}
|
||||||
@@ -57,8 +57,7 @@ export function JobsDetailHeader({
|
|||||||
<Menu
|
<Menu
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
updateJobStatus(e.key);
|
updateJobStatus(e.key);
|
||||||
}}
|
}}>
|
||||||
>
|
|
||||||
{bodyshop.md_ro_statuses.statuses.map((item) => (
|
{bodyshop.md_ro_statuses.statuses.map((item) => (
|
||||||
<Menu.Item key={item}>{item}</Menu.Item>
|
<Menu.Item key={item}>{item}</Menu.Item>
|
||||||
))}
|
))}
|
||||||
@@ -66,12 +65,12 @@ export function JobsDetailHeader({
|
|||||||
);
|
);
|
||||||
|
|
||||||
const menuExtra = [
|
const menuExtra = [
|
||||||
<Dropdown overlay={statusmenu} key="changestatus">
|
<Dropdown overlay={statusmenu} key='changestatus'>
|
||||||
<Button>
|
<Button>
|
||||||
{t("jobs.actions.changestatus")} <DownCircleFilled />
|
{t("jobs.actions.changestatus")} <DownCircleFilled />
|
||||||
</Button>
|
</Button>
|
||||||
</Dropdown>,
|
</Dropdown>,
|
||||||
<Badge key="schedule" count={job.appointments_aggregate.aggregate.count}>
|
<Badge key='schedule' count={job.appointments_aggregate.aggregate.count}>
|
||||||
<Button
|
<Button
|
||||||
//TODO Enabled logic based on status.
|
//TODO Enabled logic based on status.
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
@@ -81,14 +80,13 @@ export function JobsDetailHeader({
|
|||||||
jobId: job.id,
|
jobId: job.id,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}}
|
}}>
|
||||||
>
|
|
||||||
{t("jobs.actions.schedule")}
|
{t("jobs.actions.schedule")}
|
||||||
</Button>
|
</Button>
|
||||||
</Badge>,
|
</Badge>,
|
||||||
<Button
|
<Button
|
||||||
key="convert"
|
key='convert'
|
||||||
type="dashed"
|
type='dashed'
|
||||||
disabled={job.converted}
|
disabled={job.converted}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
mutationConvertJob({
|
mutationConvertJob({
|
||||||
@@ -100,12 +98,11 @@ export function JobsDetailHeader({
|
|||||||
message: t("jobs.successes.converted"),
|
message: t("jobs.successes.converted"),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}}
|
}}>
|
||||||
>
|
|
||||||
{t("jobs.actions.convert")}
|
{t("jobs.actions.convert")}
|
||||||
</Button>,
|
</Button>,
|
||||||
<JobsDetailHeaderActions key="actions" job={job} />,
|
<JobsDetailHeaderActions key='actions' job={job} />,
|
||||||
<Button type="primary" key="submit" htmlType="submit">
|
<Button type='primary' key='submit' htmlType='submit'>
|
||||||
{t("general.actions.save")}
|
{t("general.actions.save")}
|
||||||
</Button>,
|
</Button>,
|
||||||
];
|
];
|
||||||
@@ -118,50 +115,48 @@ export function JobsDetailHeader({
|
|||||||
title={tombstoneTitle}
|
title={tombstoneTitle}
|
||||||
//subTitle={tombstoneSubtitle}
|
//subTitle={tombstoneSubtitle}
|
||||||
tags={
|
tags={
|
||||||
<span key="job-status">
|
<span key='job-status'>
|
||||||
{job.status ? <Tag color="blue">{job.status}</Tag> : null}
|
{job.status ? <Tag color='blue'>{job.status}</Tag> : null}
|
||||||
|
{job.inproduction ? (
|
||||||
|
<Tag color='#f50'>{t("jobs.labels.inproduction")}</Tag>
|
||||||
|
) : null}
|
||||||
<OwnerTagPopoverComponent job={job} />
|
<OwnerTagPopoverComponent job={job} />
|
||||||
<VehicleTagPopoverComponent job={job} />
|
<VehicleTagPopoverComponent job={job} />
|
||||||
<BarcodePopup value={job.id} />
|
<BarcodePopup value={job.id} />
|
||||||
</span>
|
</span>
|
||||||
}
|
}
|
||||||
extra={menuExtra}
|
extra={menuExtra}>
|
||||||
>
|
<Descriptions size='small' column={5}>
|
||||||
<Descriptions size="small" column={5}>
|
<Descriptions.Item key='total' label={t("jobs.fields.repairtotal")}>
|
||||||
<Descriptions.Item key="total" label={t("jobs.fields.repairtotal")}>
|
|
||||||
<CurrencyFormatter>{job.clm_total}</CurrencyFormatter>
|
<CurrencyFormatter>{job.clm_total}</CurrencyFormatter>
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
|
||||||
<Descriptions.Item
|
<Descriptions.Item
|
||||||
key="custowing"
|
key='custowing'
|
||||||
label={t("jobs.fields.customerowing")}
|
label={t("jobs.fields.customerowing")}>
|
||||||
>
|
|
||||||
<CurrencyFormatter>{job.owner_owing}</CurrencyFormatter>
|
<CurrencyFormatter>{job.owner_owing}</CurrencyFormatter>
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
|
||||||
<Descriptions.Item
|
<Descriptions.Item
|
||||||
key="scp"
|
key='scp'
|
||||||
label={t("jobs.fields.specialcoveragepolicy")}
|
label={t("jobs.fields.specialcoveragepolicy")}>
|
||||||
>
|
|
||||||
<Checkbox checked={job.special_coverage_policy} />
|
<Checkbox checked={job.special_coverage_policy} />
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
|
||||||
<Descriptions.Item
|
<Descriptions.Item
|
||||||
key="sched_comp"
|
key='sched_comp'
|
||||||
label={t("jobs.fields.scheduled_completion")}
|
label={t("jobs.fields.scheduled_completion")}>
|
||||||
>
|
|
||||||
{job.scheduled_completion ? (
|
{job.scheduled_completion ? (
|
||||||
<Moment format="MM/DD/YYYY">{job.scheduled_completion}</Moment>
|
<Moment format='MM/DD/YYYY'>{job.scheduled_completion}</Moment>
|
||||||
) : null}
|
) : null}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
|
|
||||||
<Descriptions.Item key="servicecar" label={t("jobs.fields.servicecar")}>
|
<Descriptions.Item key='servicecar' label={t("jobs.fields.servicecar")}>
|
||||||
{job.cccontracts &&
|
{job.cccontracts &&
|
||||||
job.cccontracts.map((item) => (
|
job.cccontracts.map((item) => (
|
||||||
<Link
|
<Link
|
||||||
key={item.id}
|
key={item.id}
|
||||||
to={`/manage/courtesycars/contracts/${item.id}`}
|
to={`/manage/courtesycars/contracts/${item.id}`}>
|
||||||
>
|
|
||||||
<div>{`${item.agreementnumber} - ${item.start} - ${item.scheduledreturn}`}</div>
|
<div>{`${item.agreementnumber} - ${item.start} - ${item.scheduledreturn}`}</div>
|
||||||
</Link>
|
</Link>
|
||||||
))}
|
))}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ export default function OwnerTagPopoverComponent({ job }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Popover placement='bottom' content={content}>
|
<Popover placement='bottom' content={content}>
|
||||||
<Tag color='red'>
|
<Tag color='cyan'>
|
||||||
{job.owner
|
{job.owner
|
||||||
? `${job.ownr_co_nm || ""}${job.ownr_fn || ""} ${job.ownr_ln || ""}`
|
? `${job.ownr_co_nm || ""}${job.ownr_fn || ""} ${job.ownr_ln || ""}`
|
||||||
: t("jobs.errors.noowner")}
|
: t("jobs.errors.noowner")}
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ export const GET_JOB_BY_PK = gql`
|
|||||||
est_number
|
est_number
|
||||||
ro_number
|
ro_number
|
||||||
clm_total
|
clm_total
|
||||||
|
inproduction
|
||||||
vehicleid
|
vehicleid
|
||||||
plate_no
|
plate_no
|
||||||
v_vin
|
v_vin
|
||||||
@@ -247,6 +248,7 @@ export const GET_JOB_BY_PK = gql`
|
|||||||
date_exported
|
date_exported
|
||||||
status
|
status
|
||||||
owner_owing
|
owner_owing
|
||||||
|
|
||||||
joblines {
|
joblines {
|
||||||
id
|
id
|
||||||
unq_seq
|
unq_seq
|
||||||
@@ -350,7 +352,7 @@ export const QUERY_JOB_CARD_DETAILS = gql`
|
|||||||
}
|
}
|
||||||
documents(limit: 3, order_by: { created_at: desc }) {
|
documents(limit: 3, order_by: { created_at: desc }) {
|
||||||
id
|
id
|
||||||
thumb_url
|
key
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -557,6 +557,7 @@
|
|||||||
"existing_jobs": "Existing Jobs",
|
"existing_jobs": "Existing Jobs",
|
||||||
"hrs_claimed": "Hours Claimed",
|
"hrs_claimed": "Hours Claimed",
|
||||||
"hrs_total": "Hours Total",
|
"hrs_total": "Hours Total",
|
||||||
|
"inproduction": "In Production",
|
||||||
"job": "Job Details",
|
"job": "Job Details",
|
||||||
"laborallocations": "Labor Allocations",
|
"laborallocations": "Labor Allocations",
|
||||||
"lines": "Estimate Lines",
|
"lines": "Estimate Lines",
|
||||||
|
|||||||
@@ -557,6 +557,7 @@
|
|||||||
"existing_jobs": "Empleos existentes",
|
"existing_jobs": "Empleos existentes",
|
||||||
"hrs_claimed": "",
|
"hrs_claimed": "",
|
||||||
"hrs_total": "",
|
"hrs_total": "",
|
||||||
|
"inproduction": "",
|
||||||
"job": "",
|
"job": "",
|
||||||
"laborallocations": "",
|
"laborallocations": "",
|
||||||
"lines": "Líneas estimadas",
|
"lines": "Líneas estimadas",
|
||||||
|
|||||||
@@ -557,6 +557,7 @@
|
|||||||
"existing_jobs": "Emplois existants",
|
"existing_jobs": "Emplois existants",
|
||||||
"hrs_claimed": "",
|
"hrs_claimed": "",
|
||||||
"hrs_total": "",
|
"hrs_total": "",
|
||||||
|
"inproduction": "",
|
||||||
"job": "",
|
"job": "",
|
||||||
"laborallocations": "",
|
"laborallocations": "",
|
||||||
"lines": "Estimer les lignes",
|
"lines": "Estimer les lignes",
|
||||||
|
|||||||
Reference in New Issue
Block a user