Pārlūkot izejas kodu

translate again

production
tommy pirms 2 nedēļām
vecāks
revīzija
228312633a
36 mainītis faili ar 79 papildinājumiem un 52 dzēšanām
  1. +1
    -1
      src/app/(main)/do copy 2/edit/page.tsx
  2. +1
    -1
      src/app/(main)/do copy 2/page.tsx
  3. +1
    -1
      src/app/(main)/do copy/edit/page.tsx
  4. +1
    -1
      src/app/(main)/do copy/page.tsx
  5. +1
    -1
      src/app/(main)/do/edit/page.tsx
  6. +1
    -1
      src/app/(main)/do/page.tsx
  7. +1
    -1
      src/app/(main)/doworkbenchsearch/page.tsx
  8. +1
    -1
      src/app/(main)/finishedGood/detail/page.tsx
  9. +1
    -1
      src/app/(main)/finishedGood/management/page.tsx
  10. +1
    -1
      src/app/(main)/finishedGood/page.tsx
  11. +1
    -1
      src/app/(main)/inventory/page.tsx
  12. +1
    -1
      src/app/(main)/jodetail/page.tsx
  13. +1
    -1
      src/app/(main)/pickOrder/detail/page.tsx
  14. +1
    -1
      src/app/(main)/pickOrder/page.tsx
  15. +1
    -1
      src/app/(main)/po/edit/page.tsx
  16. +1
    -1
      src/app/(main)/production/page.tsx
  17. +1
    -1
      src/app/(main)/settings/deliveryOrderFloor/page.tsx
  18. +1
    -1
      src/app/(main)/settings/masterDataIssues/page.tsx
  19. +5
    -3
      src/app/(main)/settings/qcCategory/page.tsx
  20. +1
    -1
      src/app/(main)/settings/qcItem copy/create/page.tsx
  21. +1
    -1
      src/app/(main)/settings/qcItem copy/edit/page.tsx
  22. +1
    -1
      src/app/(main)/settings/qcItem copy/page.tsx
  23. +1
    -1
      src/app/(main)/settings/shop/board/page.tsx
  24. +1
    -1
      src/app/(main)/settings/shop/detail/page.tsx
  25. +1
    -1
      src/app/(main)/settings/shop/page.tsx
  26. +1
    -1
      src/app/(main)/settings/shop/truckdetail/page.tsx
  27. +1
    -1
      src/app/(main)/stockOutIssueRecord/detail/page.tsx
  28. +1
    -1
      src/app/(main)/stockOutIssueRecord/page.tsx
  29. +1
    -1
      src/app/(main)/stocktakemanagement/page.tsx
  30. +5
    -3
      src/app/(main)/tasks/create/page.tsx
  31. +6
    -3
      src/app/(main)/tasks/page.tsx
  32. +5
    -3
      src/components/Shop/RouteBoard.tsx
  33. +1
    -1
      src/components/Shop/Shop.tsx
  34. +9
    -9
      src/components/Shop/routeBoardVersionLog.ts
  35. +10
    -1
      src/i18n/en/shop.json
  36. +10
    -1
      src/i18n/zh/shop.json

+ 1
- 1
src/app/(main)/do copy 2/edit/page.tsx Parādīt failu

@@ -24,7 +24,7 @@ const DoEdit: React.FC<Props> = async ({ searchParams }) => {
return ( return (
<> <>
<PageTitleBar title={t("Edit Delivery Order Detail")} className="mb-4" /> <PageTitleBar title={t("Edit Delivery Order Detail")} className="mb-4" />
<I18nProvider namespaces={["do", "common"]}>
<I18nProvider namespaces={["do","navigation","common","home"]}>
<Suspense fallback={<DoDetail.Loading />}> <Suspense fallback={<DoDetail.Loading />}>
<DoDetail id={parseInt(id)} /> <DoDetail id={parseInt(id)} />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/do copy 2/page.tsx Parādīt failu

@@ -23,7 +23,7 @@ const Page: React.FC = async () => {
/doworkbench /doworkbench
</Link> </Link>
</p> </p>
<I18nProvider namespaces={["do", "common"]}>
<I18nProvider namespaces={["do","navigation","common","home"]}>
<Suspense fallback={<GeneralLoading />}> <Suspense fallback={<GeneralLoading />}>
<DoSearchWorkbench workbenchHrefBase="/do copy 2" /> <DoSearchWorkbench workbenchHrefBase="/do copy 2" />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/do copy/edit/page.tsx Parādīt failu

@@ -24,7 +24,7 @@ const DoEdit: React.FC<Props> = async ({ searchParams }) => {
return ( return (
<> <>
<PageTitleBar title={t("Edit Delivery Order Detail")} className="mb-4" /> <PageTitleBar title={t("Edit Delivery Order Detail")} className="mb-4" />
<I18nProvider namespaces={["do", "common"]}>
<I18nProvider namespaces={["do","navigation","common","home"]}>
<Suspense fallback={<DoDetail.Loading />}> <Suspense fallback={<DoDetail.Loading />}>
<DoDetail id={parseInt(id)} /> <DoDetail id={parseInt(id)} />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/do copy/page.tsx Parādīt failu

@@ -17,7 +17,7 @@ const DeliveryOrder: React.FC = async () => {
return ( return (
<> <>
<PageTitleBar title={t("Delivery Order")} className="mb-4" /> <PageTitleBar title={t("Delivery Order")} className="mb-4" />
<I18nProvider namespaces={["do", "common"]}>
<I18nProvider namespaces={["do","navigation","common","home"]}>
<Suspense fallback={<DoSearch.Loading />}> <Suspense fallback={<DoSearch.Loading />}>
<DoSearch /> <DoSearch />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/do/edit/page.tsx Parādīt failu

@@ -24,7 +24,7 @@ const DoEdit: React.FC<Props> = async ({ searchParams }) => {
return ( return (
<> <>
<PageTitleBar title={t("Edit Delivery Order Detail")} className="mb-4" /> <PageTitleBar title={t("Edit Delivery Order Detail")} className="mb-4" />
<I18nProvider namespaces={["do","navigation","common"]}>
<I18nProvider namespaces={["do","navigation","common","home"]}>
<Suspense fallback={<DoDetail.Loading />}> <Suspense fallback={<DoDetail.Loading />}>
<DoDetail id={parseInt(id)} /> <DoDetail id={parseInt(id)} />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/do/page.tsx Parādīt failu

@@ -17,7 +17,7 @@ const DeliveryOrder: React.FC = async () => {
return ( return (
<> <>
<PageTitleBar title={t("Delivery Order")} className="mb-4" /> <PageTitleBar title={t("Delivery Order")} className="mb-4" />
<I18nProvider namespaces={["do","navigation","common"]}>
<I18nProvider namespaces={["do","navigation","common","home"]}>
<Suspense fallback={<DoSearch.Loading />}> <Suspense fallback={<DoSearch.Loading />}>
<DoSearch /> <DoSearch />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/doworkbenchsearch/page.tsx Parādīt failu

@@ -19,7 +19,7 @@ const DoWorkbenchSearchPage: React.FC = async () => {
title={t("DO Workbench Search", { defaultValue: "DO Workbench Search" })} title={t("DO Workbench Search", { defaultValue: "DO Workbench Search" })}
className="mb-4" className="mb-4"
/> />
<I18nProvider namespaces={["doWorkbench","navigation","common","do"]}>
<I18nProvider namespaces={["doWorkbench","navigation","common","do","home"]}>
<Suspense fallback={<GeneralLoading />}> <Suspense fallback={<GeneralLoading />}>
<DoSearchWorkbench /> <DoSearchWorkbench />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/finishedGood/detail/page.tsx Parādīt failu

@@ -18,7 +18,7 @@ const PickOrder: React.FC<Props> = async ({ searchParams }) => {


return ( return (
<> <>
<I18nProvider namespaces={["finishedGood","navigation","common","pickOrder","ticketReleaseTable"]}>
<I18nProvider namespaces={["finishedGood","navigation","common","pickOrder","ticketReleaseTable","purchaseOrder","home","item"]}>
<Suspense fallback={<FinishedGoodSearchWrapper.Loading />}> <Suspense fallback={<FinishedGoodSearchWrapper.Loading />}>
<FinishedGoodSearchWrapper /> <FinishedGoodSearchWrapper />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/finishedGood/management/page.tsx Parādīt failu

@@ -18,7 +18,7 @@ const Page = async () => {
redirect("/dashboard"); redirect("/dashboard");
} }
return ( return (
<I18nProvider namespaces={["finishedgoodmanagement", "navigation"]}>
<I18nProvider namespaces={["finishedgoodmanagement","navigation","common"]}>
<Suspense fallback={<FinishedGoodManagement.Loading />}> <Suspense fallback={<FinishedGoodManagement.Loading />}>
<FinishedGoodManagement /> <FinishedGoodManagement />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/finishedGood/page.tsx Parādīt failu

@@ -17,7 +17,7 @@ const PickOrder: React.FC = async () => {


return ( return (
<> <>
<I18nProvider namespaces={["finishedGood","navigation","common","pickOrder","ticketReleaseTable"]}>
<I18nProvider namespaces={["finishedGood","navigation","common","pickOrder","ticketReleaseTable","purchaseOrder","home","item"]}>
<Suspense fallback={<FinishedGoodSearch.Loading />}> <Suspense fallback={<FinishedGoodSearch.Loading />}>
<FinishedGoodSearch /> <FinishedGoodSearch />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/inventory/page.tsx Parādīt failu

@@ -30,7 +30,7 @@ const Inventory: React.FC = async () => {
{t("Inventory")} {t("Inventory")}
</Typography> </Typography>
</Stack> </Stack>
<I18nProvider namespaces={["inventory","navigation","common"]}>
<I18nProvider namespaces={["inventory","navigation","common","item"]}>
<Suspense fallback={<InventorySearch.Loading />}> <Suspense fallback={<InventorySearch.Loading />}>
<InventorySearch /> <InventorySearch />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/jodetail/page.tsx Parādīt failu

@@ -18,7 +18,7 @@ const Jodetail: React.FC = async () => {
return ( return (
<> <>
<PageTitleBar title={t("Job Order Pick Execution")} className="mb-4" /> <PageTitleBar title={t("Job Order Pick Execution")} className="mb-4" />
<I18nProvider namespaces={["jo","navigation","common","pickOrder"]}>
<I18nProvider namespaces={["jo","navigation","common","pickOrder","purchaseOrder","home","item"]}>
<Suspense fallback={<GeneralLoading />}> <Suspense fallback={<GeneralLoading />}>
<JodetailSearchWrapper /> <JodetailSearchWrapper />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/pickOrder/detail/page.tsx Parādīt failu

@@ -18,7 +18,7 @@ const PickOrder: React.FC<Props> = async ({ searchParams }) => {


return ( return (
<> <>
<I18nProvider namespaces={["pickOrder","navigation","common"]}>
<I18nProvider namespaces={["pickOrder","navigation","common","purchaseOrder"]}>
<Suspense fallback={<PickOrderDetail.Loading />}> <Suspense fallback={<PickOrderDetail.Loading />}>
<PickOrderDetail consoCode={`${searchParams["consoCode"]}`} /> <PickOrderDetail consoCode={`${searchParams["consoCode"]}`} />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/pickOrder/page.tsx Parādīt failu

@@ -17,7 +17,7 @@ const PickOrder: React.FC = async () => {


return ( return (
<> <>
<I18nProvider namespaces={["pickOrder","navigation","common"]}>
<I18nProvider namespaces={["pickOrder","navigation","common","purchaseOrder","home","item"]}>
<Suspense fallback={<PickOrderSearch.Loading />}> <Suspense fallback={<PickOrderSearch.Loading />}>
<PickOrderSearch /> <PickOrderSearch />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/po/edit/page.tsx Parādīt failu

@@ -31,7 +31,7 @@ const PoEdit: React.FC<Props> = async ({ searchParams }) => {
return ( return (
<> <>
{/* <Typography variant="h4">{t("Create Material")}</Typography> */} {/* <Typography variant="h4">{t("Create Material")}</Typography> */}
<I18nProvider namespaces={[type, "navigation", "common", "dashboard"]}>
<I18nProvider namespaces={[type, "navigation", "common", "dashboard", "home"]}>
<Suspense fallback={<PoDetail.Loading />}> <Suspense fallback={<PoDetail.Loading />}>
<PoDetail id={id} /> <PoDetail id={id} />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/production/page.tsx Parādīt failu

@@ -38,7 +38,7 @@ const production: React.FC = async () => {
{t("Create Process")} {t("Create Process")}
</Button> */} </Button> */}
</Stack> </Stack>
<I18nProvider namespaces={["production","productionProcess","navigation","common","purchaseOrder","jo"]}>
<I18nProvider namespaces={["production","productionProcess","navigation","common","purchaseOrder","jo","dashboard"]}>
<ProductionProcessPage printerCombo={printerCombo} /> {/* Use new component */} <ProductionProcessPage printerCombo={printerCombo} /> {/* Use new component */}
</I18nProvider> </I18nProvider>
</> </>


+ 1
- 1
src/app/(main)/settings/deliveryOrderFloor/page.tsx Parādīt failu

@@ -11,7 +11,7 @@ export default async function DeliveryOrderFloorPage() {
const { t } = await getServerI18n("deliveryOrderFloor"); const { t } = await getServerI18n("deliveryOrderFloor");


return ( return (
<I18nProvider namespaces={["deliveryOrderFloor","navigation"]}>
<I18nProvider namespaces={["deliveryOrderFloor","navigation","common"]}>
<Stack spacing={2}> <Stack spacing={2}>
<Typography variant="h4">{t("title")}</Typography> <Typography variant="h4">{t("title")}</Typography>
<DeliveryOrderFloorSettings /> <DeliveryOrderFloorSettings />


+ 1
- 1
src/app/(main)/settings/masterDataIssues/page.tsx Parādīt failu

@@ -13,7 +13,7 @@ const MasterDataIssuesPage: React.FC = async () => {
return ( return (
<> <>
<PageTitleBar title={t("masterDataIssue_pageTitle")} className="mb-4" /> <PageTitleBar title={t("masterDataIssue_pageTitle")} className="mb-4" />
<I18nProvider namespaces={["masterDataIssue"]}>
<I18nProvider namespaces={["masterDataIssue","navigation","common"]}>
<MasterDataIssuesTabs /> <MasterDataIssuesTabs />
</I18nProvider> </I18nProvider>
</> </>


+ 5
- 3
src/app/(main)/settings/qcCategory/page.tsx Parādīt failu

@@ -36,9 +36,11 @@ const qcCategory: React.FC = async () => {
{t("Create Qc Category")} {t("Create Qc Category")}
</Button> </Button>
</Stack> </Stack>
<Suspense fallback={<QcCategorySearch.Loading />}>
<QcCategorySearch />
</Suspense>
<I18nProvider namespaces={["qcCategory","navigation","common"]}>
<Suspense fallback={<QcCategorySearch.Loading />}>
<QcCategorySearch />
</Suspense>
</I18nProvider>
</> </>
); );
}; };


+ 1
- 1
src/app/(main)/settings/qcItem copy/create/page.tsx Parādīt failu

@@ -16,7 +16,7 @@ const qcItem: React.FC = async () => {
<Typography variant="h4" marginInlineEnd={2}> <Typography variant="h4" marginInlineEnd={2}>
{t("Create Qc Item")} {t("Create Qc Item")}
</Typography> </Typography>
<I18nProvider namespaces={["qcItem"]}>
<I18nProvider namespaces={["qcItem","navigation","common"]}>
<QcItemSave /> <QcItemSave />
</I18nProvider> </I18nProvider>
</> </>


+ 1
- 1
src/app/(main)/settings/qcItem copy/edit/page.tsx Parādīt failu

@@ -43,7 +43,7 @@ const qcItem: React.FC<Props> = async ({ searchParams }) => {
<Typography variant="h4" marginInlineEnd={2}> <Typography variant="h4" marginInlineEnd={2}>
{t("Edit Qc Item")} {t("Edit Qc Item")}
</Typography> </Typography>
<I18nProvider namespaces={["qcItem"]}>
<I18nProvider namespaces={["qcItem","navigation","common"]}>
<QcItemSave id={id} /> <QcItemSave id={id} />
</I18nProvider> </I18nProvider>
</> </>


+ 1
- 1
src/app/(main)/settings/qcItem copy/page.tsx Parādīt failu

@@ -37,7 +37,7 @@ const qcItem: React.FC = async () => {
</Button> </Button>
</Stack> </Stack>
<Suspense fallback={<QcItemSearch.Loading />}> <Suspense fallback={<QcItemSearch.Loading />}>
<I18nProvider namespaces={["common", "qcItem"]}>
<I18nProvider namespaces={["qcItem","navigation","common"]}>
<QcItemSearch /> <QcItemSearch />
</I18nProvider> </I18nProvider>
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/settings/shop/board/page.tsx Parādīt failu

@@ -16,7 +16,7 @@ export default async function ShopRouteBoardPage() {
flexDirection: "column", flexDirection: "column",
}} }}
> >
<I18nProvider namespaces={["shop","navigation"]}>
<I18nProvider namespaces={["shop","navigation","common"]}>
<Suspense fallback={<GeneralLoading />}> <Suspense fallback={<GeneralLoading />}>
<RouteBoard /> <RouteBoard />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/settings/shop/detail/page.tsx Parādīt failu

@@ -6,7 +6,7 @@ import GeneralLoading from "@/components/General/GeneralLoading";
export default async function ShopDetailPage() { export default async function ShopDetailPage() {
await getServerI18n("shop"); await getServerI18n("shop");
return ( return (
<I18nProvider namespaces={["shop","navigation"]}>
<I18nProvider namespaces={["shop","navigation","common"]}>
<Suspense fallback={<GeneralLoading />}> <Suspense fallback={<GeneralLoading />}>
<ShopDetail /> <ShopDetail />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/settings/shop/page.tsx Parādīt failu

@@ -10,7 +10,7 @@ import { notFound } from "next/navigation";
export default async function ShopPage() { export default async function ShopPage() {
await getServerI18n("shop"); await getServerI18n("shop");
return ( return (
<I18nProvider namespaces={["shop","navigation"]}>
<I18nProvider namespaces={["shop","navigation","common"]}>
<Suspense fallback={<ShopWrapper.Loading />}> <Suspense fallback={<ShopWrapper.Loading />}>
<ShopWrapper /> <ShopWrapper />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/settings/shop/truckdetail/page.tsx Parādīt failu

@@ -6,7 +6,7 @@ import GeneralLoading from "@/components/General/GeneralLoading";
export default async function TruckLaneDetailPage() { export default async function TruckLaneDetailPage() {
await getServerI18n("shop"); await getServerI18n("shop");
return ( return (
<I18nProvider namespaces={["shop","navigation"]}>
<I18nProvider namespaces={["shop","navigation","common"]}>
<Suspense fallback={<GeneralLoading />}> <Suspense fallback={<GeneralLoading />}>
<TruckLaneDetail /> <TruckLaneDetail />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/stockOutIssueRecord/detail/page.tsx Parādīt failu

@@ -12,7 +12,7 @@ type Props = {} & SearchParams;
const StockOutIssueRecordDetail: React.FC<Props> = async ({ searchParams }) => { const StockOutIssueRecordDetail: React.FC<Props> = async ({ searchParams }) => {
return ( return (
<> <>
<I18nProvider namespaces={["pickOrder", "navigation", "common"]}>
<I18nProvider namespaces={["pickOrder","navigation","common","purchaseOrder"]}>
<Suspense fallback={<PickOrderDetail.Loading />}> <Suspense fallback={<PickOrderDetail.Loading />}>
<PickOrderDetail consoCode={`${searchParams["consoCode"]}`} /> <PickOrderDetail consoCode={`${searchParams["consoCode"]}`} />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/stockOutIssueRecord/page.tsx Parādīt failu

@@ -10,7 +10,7 @@ export const metadata: Metadata = {
const StockOutIssueRecord: React.FC = async () => { const StockOutIssueRecord: React.FC = async () => {
return ( return (
<> <>
<I18nProvider namespaces={["pickOrder", "navigation", "common"]}>
<I18nProvider namespaces={["pickOrder","navigation","common","purchaseOrder","home","item"]}>
<Suspense fallback={<PickOrderSearch.Loading />}> <Suspense fallback={<PickOrderSearch.Loading />}>
<PickOrderSearch /> <PickOrderSearch />
</Suspense> </Suspense>


+ 1
- 1
src/app/(main)/stocktakemanagement/page.tsx Parādīt failu

@@ -10,7 +10,7 @@ import { notFound } from "next/navigation";
export default async function InventoryManagementPage() { export default async function InventoryManagementPage() {
const { t } = await getServerI18n("stockTake"); const { t } = await getServerI18n("stockTake");
return ( return (
<I18nProvider namespaces={["stockTake", "navigation", "common"]}>
<I18nProvider namespaces={["stockTake","navigation","common","pickOrder"]}>
<Suspense fallback={<StockTakeManagementWrapper.Loading />}> <Suspense fallback={<StockTakeManagementWrapper.Loading />}>
<StockTakeManagementWrapper /> <StockTakeManagementWrapper />
</Suspense> </Suspense>


+ 5
- 3
src/app/(main)/tasks/create/page.tsx Parādīt failu

@@ -1,6 +1,6 @@
import { preloadAllTasks } from "@/app/api/tasks"; import { preloadAllTasks } from "@/app/api/tasks";
import CreateTaskTemplate from "@/components/CreateTaskTemplate"; import CreateTaskTemplate from "@/components/CreateTaskTemplate";
import { getServerI18n } from "@/i18n";
import { getServerI18n, I18nProvider } from "@/i18n";
import Typography from "@mui/material/Typography"; import Typography from "@mui/material/Typography";
import { Metadata } from "next"; import { Metadata } from "next";


@@ -14,8 +14,10 @@ const Projects: React.FC = async () => {


return ( return (
<> <>
<Typography variant="h4">{t("Create Task Template")}</Typography>
<CreateTaskTemplate />
<I18nProvider namespaces={["tasks","project","navigation","common"]}>
<Typography variant="h4">{t("Create Task Template")}</Typography>
<CreateTaskTemplate />
</I18nProvider>
</> </>
); );
}; };


+ 6
- 3
src/app/(main)/tasks/page.tsx Parādīt failu

@@ -7,6 +7,7 @@ import Stack from "@mui/material/Stack";
import Typography from "@mui/material/Typography"; import Typography from "@mui/material/Typography";
import { Metadata } from "next"; import { Metadata } from "next";
import Link from "next/link"; import Link from "next/link";
import { I18nProvider } from "@/i18n";
import { Suspense } from "react"; import { Suspense } from "react";


export const metadata: Metadata = { export const metadata: Metadata = {
@@ -37,9 +38,11 @@ const TaskTemplates: React.FC = async () => {
{t("Create Template")} {t("Create Template")}
</Button> </Button>
</Stack> </Stack>
<Suspense fallback={<TaskTemplateSearch.Loading />}>
<TaskTemplateSearch />
</Suspense>
<I18nProvider namespaces={["project","tasks","navigation","common"]}>
<Suspense fallback={<TaskTemplateSearch.Loading />}>
<TaskTemplateSearch />
</Suspense>
</I18nProvider>
</> </>
); );
}; };


+ 5
- 3
src/components/Shop/RouteBoard.tsx Parādīt failu

@@ -476,8 +476,10 @@ function formatLaneWarningsClipboard(
} }


function formatDiffFieldLabel(label: string, tr: TFunction<"shop">): string { function formatDiffFieldLabel(label: string, tr: TFunction<"shop">): string {
if (label === "物流公司") return tr("diffField_logisticsCompany");
return label;
if (label === "versionLogField_logisticId") return tr("diffField_logisticsCompany");
// Translate i18n keys; fallback to raw label if not found
const translated = tr(label as any);
return translated !== label ? translated : label;
} }


function downloadBase64Xlsx(base64: string, filename: string) { function downloadBase64Xlsx(base64: string, filename: string) {
@@ -5598,7 +5600,7 @@ const RouteBoard: React.FC = () => {
(fe, fei) => { (fe, fei) => {
const isLogistic = const isLogistic =
fe.label === fe.label ===
"物流公司";
"versionLogField_logisticId";
const resolveLogisticDisplay = const resolveLogisticDisplay =
(raw: string) => { (raw: string) => {
const s = String( const s = String(


+ 1
- 1
src/components/Shop/Shop.tsx Parādīt failu

@@ -317,7 +317,7 @@ const Shop: React.FC = () => {
<Stack direction="row" alignItems="center" justifyContent="space-between" spacing={2}> <Stack direction="row" alignItems="center" justifyContent="space-between" spacing={2}>
<Typography variant="h4">{t("ShopAndTruck")}</Typography> <Typography variant="h4">{t("ShopAndTruck")}</Typography>
<Button variant="outlined" onClick={() => router.push("/settings/shop/board")}> <Button variant="outlined" onClick={() => router.push("/settings/shop/board")}>
車線看板
{t("Route Board")}
</Button> </Button>
</Stack> </Stack>
</Box> </Box>


+ 9
- 9
src/components/Shop/routeBoardVersionLog.ts Parādīt failu

@@ -54,18 +54,18 @@ function isRowInsertedInDiff(ch: DiffFieldChange[]): boolean {
return laneOk && codeOk; return laneOk && codeOk;
} }


export const VERSION_LOG_LOADING_SEQUENCE_LABEL = "裝載順序";
export const VERSION_LOG_LOADING_SEQUENCE_LABEL = "versionLogField_loadingSequence";


const VERSION_LOG_FIELD_LABEL: Record<string, string> = { const VERSION_LOG_FIELD_LABEL: Record<string, string> = {
departureTime: "發車時段",
departureTime: "versionLogField_departureTime",
loadingSequence: VERSION_LOG_LOADING_SEQUENCE_LABEL, loadingSequence: VERSION_LOG_LOADING_SEQUENCE_LABEL,
branchName: "分店名稱",
districtReference: "區域",
shopCode: "店鋪代碼",
storeId: "樓層/店別",
remark: "備註",
truckLanceCode: "車線代碼",
logisticId: "物流公司",
branchName: "versionLogField_branchName",
districtReference: "versionLogField_districtReference",
shopCode: "versionLogField_shopCode",
storeId: "versionLogField_storeId",
remark: "versionLogField_remark",
truckLanceCode: "versionLogField_truckLanceCode",
logisticId: "versionLogField_logisticId",
}; };


/** 版本 LOG 用:時段顯示為 HH:mm,避免 ISO / 帶秒過長 */ /** 版本 LOG 用:時段顯示為 HH:mm,避免 ISO / 帶秒過長 */


+ 10
- 1
src/i18n/en/shop.json Parādīt failu

@@ -458,5 +458,14 @@
"Truck ID is required": "Truck ID is required", "Truck ID is required": "Truck ID is required",
"Are you sure you want to delete this truck lane?": "Are you sure you want to delete this truck lane?", "Are you sure you want to delete this truck lane?": "Are you sure you want to delete this truck lane?",
"Search or select branch": "Search or select branch", "Search or select branch": "Search or select branch",
"Search or select shop code": "Search or select shop code"
"Search or select shop code": "Search or select shop code",
"versionLogField_departureTime": "Departure time",
"versionLogField_loadingSequence": "Load sequence",
"versionLogField_branchName": "Branch name",
"versionLogField_districtReference": "District",
"versionLogField_shopCode": "Shop code",
"versionLogField_storeId": "Floor / Store",
"versionLogField_remark": "Remark",
"versionLogField_truckLanceCode": "Lane code",
"versionLogField_logisticId": "Logistics"
} }

+ 10
- 1
src/i18n/zh/shop.json Parādīt failu

@@ -458,5 +458,14 @@
"Truck ID is required": "需要卡車ID", "Truck ID is required": "需要卡車ID",
"Are you sure you want to delete this truck lane?": "您確定要刪除此車線嗎?", "Are you sure you want to delete this truck lane?": "您確定要刪除此車線嗎?",
"Search or select branch": "搜索或選擇分店", "Search or select branch": "搜索或選擇分店",
"Search or select shop code": "搜索或選擇店鋪編號"
"Search or select shop code": "搜索或選擇店鋪編號",
"versionLogField_departureTime": "發車時段",
"versionLogField_loadingSequence": "裝載順序",
"versionLogField_branchName": "分店名稱",
"versionLogField_districtReference": "區域",
"versionLogField_shopCode": "店鋪代碼",
"versionLogField_storeId": "樓層/店別",
"versionLogField_remark": "備註",
"versionLogField_truckLanceCode": "車線代碼",
"versionLogField_logisticId": "物流公司"
} }

Notiek ielāde…
Atcelt
Saglabāt