CANCERYS\kw093 1 неделю назад
Родитель
Сommit
7a63698f86
4 измененных файлов: 22 добавлений и 26 удалений
  1. +2
    -0
      src/components/PickOrderSearch/AssignAndRelease.tsx
  2. +4
    -4
      src/components/PickOrderSearch/PickOrderSearch.tsx
  3. +11
    -22
      src/components/PickOrderSearch/WorkbenchPickExecution.tsx
  4. +5
    -0
      src/i18n/zh/pickOrder.json

+ 2
- 0
src/components/PickOrderSearch/AssignAndRelease.tsx Просмотреть файл

@@ -626,6 +626,7 @@ const AssignAndRelease: React.FC<Props> = ({ filterArgs }) => {
<Button variant="outlined" onClick={() => setModalOpen(false)}> <Button variant="outlined" onClick={() => setModalOpen(false)}>
{t("Cancel")} {t("Cancel")}
</Button> </Button>
{/*
<Button <Button
variant="contained" variant="contained"
color="primary" color="primary"
@@ -633,6 +634,7 @@ const AssignAndRelease: React.FC<Props> = ({ filterArgs }) => {
> >
{t("Assign")} {t("Assign")}
</Button> </Button>
*/}
<Button <Button
variant="contained" variant="contained"
color="secondary" color="secondary"


+ 4
- 4
src/components/PickOrderSearch/PickOrderSearch.tsx Просмотреть файл

@@ -120,9 +120,9 @@ const PickOrderSearch: React.FC<Props> = () => {
<Tab label={t("Select Items")} iconPosition="end" /> <Tab label={t("Select Items")} iconPosition="end" />
{/* <Tab label={t("Select Job Order Items")} iconPosition="end" /> */} {/* <Tab label={t("Select Job Order Items")} iconPosition="end" /> */}
<Tab label={t("Assign")} iconPosition="end" /> <Tab label={t("Assign")} iconPosition="end" />
<Tab label={t("Release")} iconPosition="end" />
{/* <Tab label={t("Release")} iconPosition="end" /> */}
{/* <Tab label={t("Pick Execution")} iconPosition="end" /> */}
<Tab label={t("Pick Execution")} iconPosition="end" /> <Tab label={t("Pick Execution")} iconPosition="end" />
<Tab label={t("Pick Execution V2")} iconPosition="end" />
</Tabs> </Tabs>
</Box> </Box>


@@ -130,8 +130,8 @@ const PickOrderSearch: React.FC<Props> = () => {
<Box sx={{ <Box sx={{
p: 2 p: 2
}}> }}>
{tabIndex === 4 && <WorkbenchPickExecution filterArgs={filterArgs} />}
{tabIndex === 3 && <PickExecution filterArgs={filterArgs} />}
{tabIndex === 2 && <WorkbenchPickExecution filterArgs={filterArgs} />}
{/* {tabIndex === 3 && <PickExecution filterArgs={filterArgs} />} */}
{tabIndex === 0 && ( {tabIndex === 0 && (
<NewCreateItem <NewCreateItem
filterArgs={filterArgs} filterArgs={filterArgs}


+ 11
- 22
src/components/PickOrderSearch/WorkbenchPickExecution.tsx Просмотреть файл

@@ -34,7 +34,6 @@ import {
confirmLotSubstitution, confirmLotSubstitution,
suggestPickOrderWorkbenchV2, suggestPickOrderWorkbenchV2,
type PickOrderLotDetailResponse, type PickOrderLotDetailResponse,
updateStockOutLineStatusByQRCodeAndLotNo,
} from "@/app/api/pickOrder/actions"; } from "@/app/api/pickOrder/actions";
import { workbenchScanPick } from "@/app/api/doworkbench/actions"; import { workbenchScanPick } from "@/app/api/doworkbench/actions";
import { workbenchScanPickResponseNeedsFullRefresh } from "@/app/api/doworkbench/workbenchScanPickUtils"; import { workbenchScanPickResponseNeedsFullRefresh } from "@/app/api/doworkbench/workbenchScanPickUtils";
@@ -917,27 +916,6 @@ const WorkbenchPickExecution: React.FC<Props> = ({ filterArgs }) => {
const warnMsg = (res.message as string) || t("Lot switch rejected. Continue with scan-pick."); const warnMsg = (res.message as string) || t("Lot switch rejected. Continue with scan-pick.");
setMessage(warnMsg); setMessage(warnMsg);
} }
} else {
const res = await updateStockOutLineStatusByQRCodeAndLotNo({
pickOrderLineId: expected.row.pickOrderLineId,
inventoryLotNo: scanned.lotNo,
stockInLineId: scanned.stockInLineId ?? null,
stockOutLineId: expected.row.stockOutLineId,
itemId: Number(expected.row.itemId ?? 0),
status: "checked",
});
switchedToUnavailable = res.code === "BOUND_UNAVAILABLE";
if (res.code !== "SUCCESS" && res.code !== "checked" && !switchedToUnavailable) {
const msg = (res.message as string) || t("Lot switch failed");
setLotConfirmationError(msg);
setError(msg);
startTransition(() => {
setQrScanError(true);
setQrScanSuccess(false);
setQrScanErrorMsg(msg);
});
return;
}
} }


if (!switchedToUnavailable) { if (!switchedToUnavailable) {
@@ -1518,6 +1496,17 @@ const WorkbenchPickExecution: React.FC<Props> = ({ filterArgs }) => {
size="small" size="small"
type="number" type="number"
value={qtyBySolId[r.stockOutLineId] ?? Number(r.requiredQty)} value={qtyBySolId[r.stockOutLineId] ?? Number(r.requiredQty)}
onKeyDown={(e) => {
const editable = qtyEditableBySolId[r.stockOutLineId] === true;
if (!editable) return;
if (e.key !== "{") return;
e.preventDefault();
setQtyEditableBySolId((prev) => ({
...prev,
[r.stockOutLineId]: false,
}));
(e.currentTarget as HTMLInputElement).blur();
}}
onChange={(e) => { onChange={(e) => {
const v = e.target.value; const v = e.target.value;
setQtyBySolId((prev) => { setQtyBySolId((prev) => {


+ 5
- 0
src/i18n/zh/pickOrder.json Просмотреть файл

@@ -9,7 +9,12 @@
"Status": "來貨狀態", "Status": "來貨狀態",
"N/A": "不適用", "N/A": "不適用",
"Release Pick Orders": "放單", "Release Pick Orders": "放單",
"released": "已放單",
"Loading...": "載入中...",
"Suggestion success": "建議成功",
"Remark": "備註", "Remark": "備註",
"Available Qty": "可用數量",
"Picked Qty": "已提料數量",
"Escalated": "上報狀態", "Escalated": "上報狀態",
"NotEscalated": "無上報", "NotEscalated": "無上報",
"Assigned To": "已分配", "Assigned To": "已分配",


Загрузка…
Отмена
Сохранить