Parcourir la source

update job order list part , can use record part again. and updated but not yet finish consuble pick order

MergeProblem1
CANCERYS\kw093 il y a 1 semaine
Parent
révision
d90a57cb16
4 fichiers modifiés avec 1298 ajouts et 237 suppressions
  1. +4
    -2
      src/app/api/pickOrder/actions.ts
  2. +2
    -1
      src/components/Jodetail/JodetailSearch.tsx
  3. +7
    -2
      src/components/NavigationContent/NavigationContent.tsx
  4. +1285
    -232
      src/components/PickOrderSearch/WorkbenchPickExecution.tsx

+ 4
- 2
src/app/api/pickOrder/actions.ts Voir le fichier

@@ -927,11 +927,12 @@ export const resuggestPickOrder = async (pickOrderId: number) => {
* Current backend route is shared with legacy resuggest, but we expose a dedicated
* API name so PickOrder workbench pages can migrate independently.
*/
export const suggestPickOrderWorkbenchV2 = async (pickOrderId: number) => {
export const suggestPickOrderWorkbenchV2 = async (pickOrderId: number, userId: number) => {
const result = await serverFetchJson<PostPickOrderResponse>(
`${BASE_API_URL}/suggestedPickLot/resuggest/${pickOrderId}`,
`${BASE_API_URL}/pickOrder/workbench/suggest-v2/${pickOrderId}`,
{
method: "POST",
body: JSON.stringify({ userId }),
headers: { "Content-Type": "application/json" },
},
);
@@ -1105,6 +1106,7 @@ export interface PickOrderLotDetailResponse {
lotNo: string | null; // ✅ 改为可空
expiryDate: string | null; // ✅ 改为可空
location: string | null; // ✅ 改为可空
itemId: number | null;
stockUnit: string | null;
inQty: number | null;
availableQty: number | null; // ✅ 改为可空


+ 2
- 1
src/components/Jodetail/JodetailSearch.tsx Voir le fichier

@@ -15,6 +15,7 @@ import {
import {
arrayToDayjs,
} from "@/app/utils/formatUtil";
import JoPickOrderList from "@/components/JoWorkbench/JoPickOrderList";
import { Button, Grid, Stack, Tab, Tabs, TabsProps, Typography, Box, TextField, Autocomplete } from "@mui/material";
import Jodetail from "./Jodetail"
import PickExecution from "./JobPickExecution";
@@ -26,7 +27,7 @@ import JobPickExecutionsecondscan from "./JobPickExecutionsecondscan";
import FInishedJobOrderRecord from "./FInishedJobOrderRecord";
import JobPickExecution from "./JobPickExecution";
import CompleteJobOrderRecord from "./completeJobOrderRecord";
import JoPickOrderList from "./JoPickOrderList";
//import JoPickOrderList from "./JoPickOrderList";
import {
fetchUnassignedJobOrderPickOrders,
assignJobOrderPickOrder,


+ 7
- 2
src/components/NavigationContent/NavigationContent.tsx Voir le fichier

@@ -175,7 +175,7 @@ const NavigationContent: React.FC = () => {
icon: <Inventory />,
label: "Job Order Pickexcution",
requiredAbility: [AUTH.JOB_PICK, AUTH.JOB_MAT, AUTH.ADMIN],
path: "/jo/workbench",
path: "/jodetail",
},
{
icon: <Kitchen />,
@@ -398,7 +398,12 @@ const NavigationContent: React.FC = () => {
if (pathname === "/productionProcess" || pathname.startsWith("/productionProcess/")) {
ensureOpen.push("Management Job Order");
}
if (pathname === "/jo/workbench" || pathname.startsWith("/jo/workbench/")) {
if (
pathname === "/jo/workbench" ||
pathname.startsWith("/jo/workbench/") ||
pathname === "/jodetail" ||
pathname.startsWith("/jodetail/")
) {
ensureOpen.push("Management Job Order");
}
if (


+ 1285
- 232
src/components/PickOrderSearch/WorkbenchPickExecution.tsx
Fichier diff supprimé car celui-ci est trop grand
Voir le fichier


Chargement…
Annuler
Enregistrer