CANCERYS\kw093 преди 2 месеца
родител
ревизия
a3803b6cdd
променени са 4 файла, в които са добавени 26 реда и са изтрити 24 реда
  1. +2
    -16
      src/components/FinishedGoodSearch/FGPickOrderCard.tsx
  2. +10
    -5
      src/components/Jodetail/JobPickExecutionForm.tsx
  3. +4
    -0
      src/components/Jodetail/JobPickExecutionsecondscan.tsx
  4. +10
    -3
      src/components/Jodetail/JobmatchForm.tsx

+ 2
- 16
src/components/FinishedGoodSearch/FGPickOrderCard.tsx Целия файл

@@ -35,14 +35,7 @@ const FGPickOrderCard: React.FC<Props> = ({ fgOrder, onQrCodeClick }) => {
//helperText={fgOrder.pickOrderConsoCode}
/>
</Grid>
<Grid item xs={6}>
<TextField
label={t("Shop PO Code")}
fullWidth
disabled={true}
value={fgOrder.shopPoNo}
/>
</Grid>

<Grid item xs={6}>
<TextField
label={t("Store ID")}
@@ -51,14 +44,7 @@ const FGPickOrderCard: React.FC<Props> = ({ fgOrder, onQrCodeClick }) => {
value={fgOrder.storeId}
/>
</Grid>
<Grid item xs={6}>
<TextField
label={t("Shop ID")}
fullWidth
disabled={true}
value={fgOrder.shopCode}
/>
</Grid>

<Grid item xs={6}>
<TextField
label={t("Shop Name")}


+ 10
- 5
src/components/Jodetail/JobPickExecutionForm.tsx Целия файл

@@ -20,7 +20,8 @@ import { useCallback, useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { GetPickOrderLineInfo, PickExecutionIssueData } from "@/app/api/pickOrder/actions";
import { fetchEscalationCombo } from "@/app/api/user/actions";

import { useSession } from "next-auth/react";
import { SessionWithTokens } from "@/config/authConfig";
interface LotPickData {
id: number;
lotId: number;
@@ -82,7 +83,7 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({
const [loading, setLoading] = useState(false);
const [handlers, setHandlers] = useState<Array<{ id: number; name: string }>>([]);
const [verifiedQty, setVerifiedQty] = useState<number>(0);
// 计算剩余可用数量
const { data: session } = useSession() as { data: SessionWithTokens | null };
const calculateRemainingAvailableQty = useCallback((lot: LotPickData) => {
const remainingQty = lot.inQty - lot.outQty;
return Math.max(0, remainingQty);
@@ -149,7 +150,7 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({
missQty: 0,
badItemQty: 0,
issueRemark: '',
pickerName: '',
// pickerName: '',
handledBy: undefined,
});
}
@@ -212,7 +213,11 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({
// ✅ Use the verified quantity in the submission
const submissionData = {
...formData,
actualPickQty: verifiedQty
actualPickQty: verifiedQty,
lotId: formData.lotId || selectedLot?.lotId || 0,
lotNo: formData.lotNo || selectedLot?.lotNo || '',
pickOrderCode: formData.pickOrderCode || selectedPickOrderLine?.pickOrderCode || '',
pickerName: session?.user?.name || ''
} as PickExecutionIssueData;
await onSubmit(submissionData);
@@ -278,7 +283,7 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({
onChange={(e) => {
const newValue = parseFloat(e.target.value) || 0;
setVerifiedQty(newValue);
handleInputChange('actualPickQty', newValue);
// handleInputChange('actualPickQty', newValue);
}}
error={!!errors.actualPickQty}
helperText={errors.actualPickQty || `${t('Max')}: ${selectedLot?.actualPickQty || 0}`} // ✅ 使用原始接收数量


+ 4
- 0
src/components/Jodetail/JobPickExecutionsecondscan.tsx Целия файл

@@ -428,6 +428,8 @@ const JobPickExecution: React.FC<Props> = ({ filterArgs }) => {
// ✅ 使用 Job Order API
const jobOrderData = await fetchCompletedJobOrderPickOrders(userIdToUse);
console.log("✅ Job Order data:", jobOrderData);
console.log("✅ Pick Order Code from API:", jobOrderData.pickOrder?.code);
console.log("✅ Expected Pick Order Code: P-20251003-001");
setJobOrderData(jobOrderData);
@@ -870,6 +872,8 @@ const JobPickExecution: React.FC<Props> = ({ filterArgs }) => {
const handlePickExecutionForm = useCallback((lot: any) => {
console.log("=== Pick Execution Form ===");
console.log("Lot data:", lot);
console.log("lot.pickOrderCode:", lot.pickOrderCode); // ✅ 添加
console.log("lot.pickOrderId:", lot.pickOrderId);
if (!lot) {
console.warn("No lot data provided for pick execution form");


+ 10
- 3
src/components/Jodetail/JobmatchForm.tsx Целия файл

@@ -20,6 +20,8 @@ import { useCallback, useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import { GetPickOrderLineInfo, PickExecutionIssueData } from "@/app/api/pickOrder/actions";
import { fetchEscalationCombo } from "@/app/api/user/actions";
import { useSession } from "next-auth/react";
import { SessionWithTokens } from "@/config/authConfig";

interface LotPickData {
id: number;
@@ -82,6 +84,7 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({
const [loading, setLoading] = useState(false);
const [handlers, setHandlers] = useState<Array<{ id: number; name: string }>>([]);
const [verifiedQty, setVerifiedQty] = useState<number>(0);
const { data: session } = useSession() as { data: SessionWithTokens | null };
// 计算剩余可用数量
const calculateRemainingAvailableQty = useCallback((lot: LotPickData) => {
const remainingQty = lot.inQty - lot.outQty;
@@ -149,7 +152,7 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({
missQty: 0,
badItemQty: 0,
issueRemark: '',
pickerName: '',
// pickerName: '',
handledBy: undefined,
});
}
@@ -216,7 +219,11 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({
// ✅ Use the verified quantity in the submission
const submissionData = {
...formData,
actualPickQty: verifiedQty
actualPickQty: verifiedQty,
lotId: formData.lotId || selectedLot?.lotId || 0,
lotNo: formData.lotNo || selectedLot?.lotNo || '',
pickOrderCode: formData.pickOrderCode || selectedPickOrderLine?.pickOrderCode || '',
pickerName: session?.user?.name || ''
} as PickExecutionIssueData;
await onSubmit(submissionData);
@@ -291,7 +298,7 @@ const PickExecutionForm: React.FC<PickExecutionFormProps> = ({
onChange={(e) => {
const newValue = parseFloat(e.target.value) || 0;
setVerifiedQty(newValue);
handleInputChange('actualPickQty', newValue);
//handleInputChange('actualPickQty', newValue);
}}
error={!!errors.actualPickQty}
helperText={errors.actualPickQty || `${t('Max')}: ${selectedLot?.actualPickQty || 0}`} // ✅ 使用原始接收数量


Зареждане…
Отказ
Запис