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