Compare commits

...

6 Commits

Author SHA1 Message Date
Patrick Fic
739265ee6a Improve display of job lines preset display. 2023-02-10 09:08:39 -08:00
Allan Carr
038aaf249e IO-2160 Purchase & Return Ratio by Vendor Reports 2023-02-08 18:37:10 -08:00
Patrick Fic
e0eb4657d2 Resolve null displays of vehicle names. 2023-02-06 12:45:19 -08:00
Patrick Fic
02a6ccd481 Add indexes to export logs. 2023-02-06 10:39:47 -08:00
Patrick Fic
79e75a5e73 Merged in release/2023-02-03 (pull request #672)
IO-2162 Resolve display issues on scheduling modal .

Approved-by: Patrick Fic
2023-02-06 18:09:14 +00:00
Patrick Fic
bb8024ba9c Merged in release/2023-02-03 (pull request #670)
release/2023-02-03

Approved-by: Patrick Fic
2023-02-04 01:20:00 +00:00
13 changed files with 77 additions and 8 deletions

View File

@@ -22,9 +22,20 @@ export function JoblinePresetButton({ bodyshop, form }) {
};
const menu = (
<Menu>
<Menu
style={{
columnCount: Math.max(
Math.floor(bodyshop.md_jobline_presets.length / 15),
1
),
}}
>
{bodyshop.md_jobline_presets.map((i, idx) => (
<Menu.Item onClick={() => handleSelect(i)} key={idx}>
<Menu.Item
onClick={() => handleSelect(i)}
key={idx}
style={{ breakInside: "avoid" }}
>
{i.label}
</Menu.Item>
))}

View File

@@ -34,7 +34,9 @@ function OwnerDetailJobsComponent({ bodyshop, owner }) {
render: (text, record) =>
record.vehicleid ? (
<Link to={`/manage/vehicles/${record.vehicleid}`}>
{`${record.v_model_yr} ${record.v_make_desc} ${record.v_model_desc}`}
{`${record.v_model_yr || ""} ${record.v_make_desc || ""} ${
record.v_model_desc || ""
}`.trim()}
</Link>
) : (
t("jobs.errors.novehicle")

View File

@@ -39,9 +39,11 @@ export function VehicleDetailContainer({
document.title = t("titles.vehicledetail", {
vehicle:
data && data.vehicles_by_pk
? `${data.vehicles_by_pk && data.vehicles_by_pk.v_model_yr} ${
data.vehicles_by_pk && data.vehicles_by_pk.v_make_desc
} ${data.vehicles_by_pk && data.vehicles_by_pk.v_model_desc}`
? `${(data.vehicles_by_pk && data.vehicles_by_pk.v_model_yr) || ""} ${
(data.vehicles_by_pk && data.vehicles_by_pk.v_make_desc) || ""
} ${
(data.vehicles_by_pk && data.vehicles_by_pk.v_model_desc) || ""
}`
: "",
});
setSelectedHeader("vehicles");
@@ -53,7 +55,14 @@ export function VehicleDetailContainer({
label: t("titles.bc.vehicle-details", {
vehicle:
data && data.vehicles_by_pk
? `${data.vehicles_by_pk.v_model_yr} ${data.vehicles_by_pk.v_make_desc} ${data.vehicles_by_pk.v_model_desc}`
? `${
(data.vehicles_by_pk && data.vehicles_by_pk.v_model_yr) || ""
} ${
(data.vehicles_by_pk && data.vehicles_by_pk.v_make_desc) || ""
} ${
(data.vehicles_by_pk && data.vehicles_by_pk.v_model_desc) ||
""
}`
: "",
}),
},
@@ -64,7 +73,11 @@ export function VehicleDetailContainer({
CreateRecentItem(
vehId,
"vehicle",
`${data.vehicles_by_pk.v_vin} | ${data.vehicles_by_pk.v_model_yr} ${data.vehicles_by_pk.v_make_desc} ${data.vehicles_by_pk.v_model_desc}`,
`${data.vehicles_by_pk.v_vin || "N/A"} | ${
data.vehicles_by_pk.v_model_yr || ""
} ${data.vehicles_by_pk.v_make_desc || ""} ${
data.vehicles_by_pk.v_model_desc || ""
}`.trim(),
`/manage/vehicles/${vehId}`
)
);

View File

@@ -2486,6 +2486,8 @@
"production_by_technician": "Production by Technician",
"production_by_technician_one": "Production filtered by Technician",
"psr_by_make": "Percent of Sales by Vehicle Make",
"purchase_return_ratio_grouped_by_vendor_detail": "Purchase & Return Ratio by Vendor (Detail)",
"purchase_return_ratio_grouped_by_vendor_summary": "Purchase & Return Ratio by Vendor (Summary)",
"purchases_by_cost_center_detail": "Purchases by Cost Center (Detail)",
"purchases_by_cost_center_summary": "Purchases by Cost Center (Summary)",
"purchases_by_date_range_detail": "Purchases by Date - Detail",

View File

@@ -2486,6 +2486,8 @@
"production_by_technician": "",
"production_by_technician_one": "",
"psr_by_make": "",
"purchase_return_ratio_grouped_by_vendor_detail": "",
"purchase_return_ratio_grouped_by_vendor_summary": "",
"purchases_by_cost_center_detail": "",
"purchases_by_cost_center_summary": "",
"purchases_by_date_range_detail": "",

View File

@@ -2486,6 +2486,8 @@
"production_by_technician": "",
"production_by_technician_one": "",
"psr_by_make": "",
"purchase_return_ratio_grouped_by_vendor_detail": "",
"purchase_return_ratio_grouped_by_vendor_summary": "",
"purchases_by_cost_center_detail": "",
"purchases_by_cost_center_summary": "",
"purchases_by_date_range_detail": "",

View File

@@ -1813,6 +1813,34 @@ export const TemplateList = (type, context) => {
},
group: "jobs",
},
purchase_return_ratio_grouped_by_vendor_detail: {
title: i18n.t("reportcenter.templates.purchase_return_ratio_grouped_by_vendor_detail"),
subject: i18n.t(
"reportcenter.templates.purchase_return_ratio_grouped_by_vendor_detail"
),
key: "purchase_return_ratio_grouped_by_vendor_detail",
//idtype: "vendor",
disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.bills"),
field: i18n.t("bills.fields.date"),
},
group: "purchases",
},
purchase_return_ratio_grouped_by_vendor_summary: {
title: i18n.t("reportcenter.templates.purchase_return_ratio_grouped_by_vendor_summary"),
subject: i18n.t(
"reportcenter.templates.purchase_return_ratio_grouped_by_vendor_summary"
),
key: "purchase_return_ratio_grouped_by_vendor_summary",
//idtype: "vendor",
disabled: false,
rangeFilter: {
object: i18n.t("reportcenter.labels.objects.bills"),
field: i18n.t("bills.fields.date"),
},
group: "purchases",
},
}
: {}),
...(!type || type === "courtesycarcontract"

View File

@@ -0,0 +1 @@
DROP INDEX IF EXISTS "public"."exportlog_billid";

View File

@@ -0,0 +1,2 @@
CREATE INDEX "exportlog_billid" on
"public"."exportlog" using btree ("billid");

View File

@@ -0,0 +1 @@
DROP INDEX IF EXISTS "public"."exportlog_jobid";

View File

@@ -0,0 +1,2 @@
CREATE INDEX "exportlog_jobid" on
"public"."exportlog" using btree ("jobid");

View File

@@ -0,0 +1 @@
DROP INDEX IF EXISTS "public"."exportlog_payments";

View File

@@ -0,0 +1,2 @@
CREATE INDEX "exportlog_payments" on
"public"."exportlog" using btree ("paymentid");