@burdenoff/microfe-movethewheels 2026.1014.1 → 2026.1016.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/dist/components/EntityCombobox.js +80 -74
- package/dist/components/pending-pick/PendingPickHistory.js +47 -38
- package/dist/components/pending-pick/PickReviewPanel.js +317 -0
- package/dist/dev/main.d.ts +0 -1
- package/dist/generated/pending-pick-operations.d.ts +356 -0
- package/dist/index.d.ts +2 -4
- package/dist/movethewheels/MoveTheWheelsRoot.d.ts +0 -1
- package/dist/movethewheels/MoveTheWheelsRoutes.d.ts +1 -1
- package/dist/movethewheels/components/AssignmentSuggestions.d.ts +1 -2
- package/dist/movethewheels/components/CarbonFootprintPanel.d.ts +1 -1
- package/dist/movethewheels/components/ContainerEvidencePicker.d.ts +1 -2
- package/dist/movethewheels/components/CustomerPicker.d.ts +1 -2
- package/dist/movethewheels/components/DataTable.d.ts +1 -2
- package/dist/movethewheels/components/DocumentsCard.d.ts +1 -2
- package/dist/movethewheels/components/EntityCombobox.d.ts +1 -1
- package/dist/movethewheels/components/FleetAlertsPanel.d.ts +1 -2
- package/dist/movethewheels/components/FormError.d.ts +1 -1
- package/dist/movethewheels/components/FreeTimeAgreementForm.d.ts +1 -2
- package/dist/movethewheels/components/GlassPanel.d.ts +1 -2
- package/dist/movethewheels/components/MetricCard.d.ts +3 -4
- package/dist/movethewheels/components/Notice.d.ts +1 -1
- package/dist/movethewheels/components/OrderItemRow.d.ts +1 -2
- package/dist/movethewheels/components/PageLayout.d.ts +5 -6
- package/dist/movethewheels/components/ProofOfDeliveryCard.d.ts +1 -1
- package/dist/movethewheels/components/ReturnInstructionForm.d.ts +1 -2
- package/dist/movethewheels/components/ReuseControls.d.ts +4 -5
- package/dist/movethewheels/components/ReusePermissionForm.d.ts +1 -2
- package/dist/movethewheels/components/ReuseProposalForm.d.ts +1 -2
- package/dist/movethewheels/components/ReuseSourceFields.d.ts +1 -2
- package/dist/movethewheels/components/ShippingQuoteResults.d.ts +1 -2
- package/dist/movethewheels/components/StatusBadge.d.ts +5 -6
- package/dist/movethewheels/components/StockActionDialogs.d.ts +3 -3
- package/dist/movethewheels/components/UpcomingDemandPanel.d.ts +1 -2
- package/dist/movethewheels/components/VehicleServiceCard.d.ts +1 -2
- package/dist/movethewheels/components/charts/ChartShell.d.ts +2 -3
- package/dist/movethewheels/components/charts/Sparkline.d.ts +1 -1
- package/dist/movethewheels/components/charts/StatusDonut.d.ts +1 -1
- package/dist/movethewheels/components/charts/TrendChart.d.ts +1 -1
- package/dist/movethewheels/components/charts/VolumeBar.d.ts +1 -1
- package/dist/movethewheels/components/consolidation/ConsolidationHistory.d.ts +3 -4
- package/dist/movethewheels/components/consolidation/ConsolidationLotEditor.d.ts +1 -2
- package/dist/movethewheels/components/consolidation/ConsolidationManifestWorkbench.d.ts +1 -2
- package/dist/movethewheels/components/consolidation/ConsolidationPlanForm.d.ts +1 -2
- package/dist/movethewheels/components/consolidation/ConsolidationPlanWorkbench.d.ts +1 -2
- package/dist/movethewheels/components/consolidation/ConsolidationReportForm.d.ts +1 -2
- package/dist/movethewheels/components/consolidation/ConsolidationReportsWorkbench.d.ts +1 -2
- package/dist/movethewheels/components/consolidation/ConsolidationSummary.d.ts +1 -2
- package/dist/movethewheels/components/consolidation/OriginalConsolidationHistory.d.ts +1 -2
- package/dist/movethewheels/components/freight-cost/FreightDraftForm.d.ts +1 -2
- package/dist/movethewheels/components/freight-cost/FreightFields.d.ts +3 -4
- package/dist/movethewheels/components/freight-cost/FreightFxEditor.d.ts +1 -2
- package/dist/movethewheels/components/freight-cost/FreightHistory.d.ts +1 -2
- package/dist/movethewheels/components/freight-cost/FreightLineEditor.d.ts +1 -2
- package/dist/movethewheels/components/freight-cost/FreightScopeEditor.d.ts +1 -2
- package/dist/movethewheels/components/freight-cost/FreightTotals.d.ts +1 -2
- package/dist/movethewheels/components/logistics-procedure/ProcedureDecisionForm.d.ts +2 -3
- package/dist/movethewheels/components/logistics-procedure/ProcedureFields.d.ts +3 -4
- package/dist/movethewheels/components/logistics-procedure/ProcedureHistory.d.ts +1 -2
- package/dist/movethewheels/components/logistics-procedure/ProcedurePolicyForm.d.ts +1 -2
- package/dist/movethewheels/components/logistics-procedure/ProcedurePolicyWorkbench.d.ts +1 -2
- package/dist/movethewheels/components/logistics-procedure/ProcedureReviewWorkbench.d.ts +1 -2
- package/dist/movethewheels/components/logistics-procedure/ProcedureRunWorkbench.d.ts +1 -2
- package/dist/movethewheels/components/logistics-procedure/ProcedureSubjectPicker.d.ts +1 -2
- package/dist/movethewheels/components/maps/LogisticsMap.d.ts +1 -2
- package/dist/movethewheels/components/maps/MapCanvas.d.ts +1 -2
- package/dist/movethewheels/components/maps/RouteMap.d.ts +1 -1
- package/dist/movethewheels/components/maps/TrackingMap.d.ts +1 -1
- package/dist/movethewheels/components/maps/leaflet-setup.d.ts +0 -1
- package/dist/movethewheels/components/pending-pick/PendingPickDraft.d.ts +1 -2
- package/dist/movethewheels/components/pending-pick/PendingPickHistory.d.ts +1 -1
- package/dist/movethewheels/components/pending-pick/PickCapture.d.ts +1 -2
- package/dist/movethewheels/components/pending-pick/PickLineSelection.d.ts +1 -2
- package/dist/movethewheels/components/pending-pick/PickReviewPanel.d.ts +4 -0
- package/dist/movethewheels/components/stock-binding/StockAssessmentDraft.d.ts +1 -2
- package/dist/movethewheels/components/stock-binding/StockAssessmentHistory.d.ts +1 -2
- package/dist/movethewheels/components/stock-binding/StockAssessmentSummary.d.ts +1 -2
- package/dist/movethewheels/components/stock-binding/StockFactForm.d.ts +1 -2
- package/dist/movethewheels/components/stock-observation/StockIssueForm.d.ts +1 -2
- package/dist/movethewheels/components/stock-observation/StockIssueHistory.d.ts +1 -2
- package/dist/movethewheels/components/stock-observation/StockIssueReadPanel.d.ts +1 -1
- package/dist/movethewheels/components/trip-utilization/TripReportForm.d.ts +1 -2
- package/dist/movethewheels/components/trip-utilization/TripReportHistory.d.ts +1 -2
- package/dist/movethewheels/components/trip-utilization/TripReportSummary.d.ts +1 -2
- package/dist/movethewheels/components/trip-utilization/TripSegmentFields.d.ts +1 -2
- package/dist/movethewheels/hooks/useAnalytics.d.ts +0 -1
- package/dist/movethewheels/hooks/useConsolidationAction.d.ts +0 -1
- package/dist/movethewheels/hooks/useContainerCondition.d.ts +0 -1
- package/dist/movethewheels/hooks/useContainerLifecycle.d.ts +0 -1
- package/dist/movethewheels/hooks/useCustomers.d.ts +0 -1
- package/dist/movethewheels/hooks/useEmptyReuseAction.d.ts +0 -1
- package/dist/movethewheels/hooks/useEpod.d.ts +0 -1
- package/dist/movethewheels/hooks/useFleet.d.ts +0 -1
- package/dist/movethewheels/hooks/useFreightRecoveryAction.d.ts +0 -1
- package/dist/movethewheels/hooks/useInventory.d.ts +0 -1
- package/dist/movethewheels/hooks/useOrders.d.ts +0 -1
- package/dist/movethewheels/hooks/useProcedureAction.d.ts +0 -1
- package/dist/movethewheels/hooks/useProcedureSelection.d.ts +0 -1
- package/dist/movethewheels/hooks/useReuseRecoveryAction.d.ts +0 -1
- package/dist/movethewheels/hooks/useRoutes.d.ts +0 -1
- package/dist/movethewheels/hooks/useShipmentStatusAuthority.d.ts +0 -1
- package/dist/movethewheels/hooks/useTracking.d.ts +0 -1
- package/dist/movethewheels/hooks/useTrackingEventQuality.d.ts +0 -1
- package/dist/movethewheels/pages/AIAssistantPage.d.ts +1 -1
- package/dist/movethewheels/pages/AnalyticsPage.d.ts +1 -1
- package/dist/movethewheels/pages/ConsolidationPage.d.ts +1 -1
- package/dist/movethewheels/pages/ContainerConditionPage.d.ts +1 -1
- package/dist/movethewheels/pages/ContainersPage.d.ts +1 -1
- package/dist/movethewheels/pages/CreateOrderPage.d.ts +1 -1
- package/dist/movethewheels/pages/CustomerDetailsPage.d.ts +1 -1
- package/dist/movethewheels/pages/CustomersPage.d.ts +1 -1
- package/dist/movethewheels/pages/DashboardPage.d.ts +1 -1
- package/dist/movethewheels/pages/DeliveryCapturePage.d.ts +1 -1
- package/dist/movethewheels/pages/DriverDetailsPage.d.ts +1 -1
- package/dist/movethewheels/pages/DriversPage.d.ts +1 -1
- package/dist/movethewheels/pages/EmptyReusePage.d.ts +1 -1
- package/dist/movethewheels/pages/FinancePage.d.ts +1 -1
- package/dist/movethewheels/pages/FleetPage.d.ts +1 -1
- package/dist/movethewheels/pages/FreeTimePage.d.ts +1 -1
- package/dist/movethewheels/pages/FreightEstimatePage.d.ts +1 -1
- package/dist/movethewheels/pages/ImportExportPage.d.ts +1 -1
- package/dist/movethewheels/pages/InventoryPage.d.ts +1 -1
- package/dist/movethewheels/pages/LiveTrackingPage.d.ts +1 -1
- package/dist/movethewheels/pages/LogisticsProceduresPage.d.ts +1 -1
- package/dist/movethewheels/pages/MarketplacePage.d.ts +1 -1
- package/dist/movethewheels/pages/MultiModalShipmentPage.d.ts +1 -1
- package/dist/movethewheels/pages/OrderDetailsPage.d.ts +1 -1
- package/dist/movethewheels/pages/OrdersListPage.d.ts +1 -1
- package/dist/movethewheels/pages/PendingPickPage.d.ts +1 -1
- package/dist/movethewheels/pages/ProductDetailsPage.d.ts +1 -1
- package/dist/movethewheels/pages/ProductsPage.d.ts +1 -1
- package/dist/movethewheels/pages/ReportsPage.d.ts +1 -1
- package/dist/movethewheels/pages/RouteDetailsPage.d.ts +1 -1
- package/dist/movethewheels/pages/RoutesPage.d.ts +1 -1
- package/dist/movethewheels/pages/SettingsPage.d.ts +1 -1
- package/dist/movethewheels/pages/ShipmentStatusAuthorityPage.d.ts +1 -1
- package/dist/movethewheels/pages/ShippingRatesPage.d.ts +1 -1
- package/dist/movethewheels/pages/StockBindingPage.d.ts +1 -1
- package/dist/movethewheels/pages/StockObservationsPage.d.ts +1 -1
- package/dist/movethewheels/pages/TrackingEventQualityPage.d.ts +1 -1
- package/dist/movethewheels/pages/TrackingPage.d.ts +1 -1
- package/dist/movethewheels/pages/TripUtilizationPage.d.ts +1 -1
- package/dist/movethewheels/pages/VehicleDetailsPage.d.ts +1 -1
- package/dist/movethewheels/pages/VehiclesPage.d.ts +1 -1
- package/dist/movethewheels/pages/WarehouseDetailsPage.d.ts +1 -1
- package/dist/movethewheels/pages/WarehousesPage.d.ts +1 -1
- package/dist/movethewheels/providers/MoveTheWheelsProvider.d.ts +0 -1
- package/dist/movethewheels/store/movethewheelsStore.d.ts +0 -1
- package/dist/movethewheels/types/index.d.ts +0 -1
- package/dist/movethewheels/utils/cn.d.ts +0 -1
- package/dist/movethewheels/utils/consolidationHistoryTarget.d.ts +0 -1
- package/dist/movethewheels/utils/consolidationInput.d.ts +0 -1
- package/dist/movethewheels/utils/consolidationLot.d.ts +0 -1
- package/dist/movethewheels/utils/consolidationPins.d.ts +0 -1
- package/dist/movethewheels/utils/consolidationRecovery.d.ts +0 -1
- package/dist/movethewheels/utils/consolidationReportHead.d.ts +0 -1
- package/dist/movethewheels/utils/formatters.d.ts +0 -1
- package/dist/movethewheels/utils/freightDraft.d.ts +0 -1
- package/dist/movethewheels/utils/freightRecovery.d.ts +0 -1
- package/dist/movethewheels/utils/mapMarkers.d.ts +0 -1
- package/dist/movethewheels/utils/orderValidation.d.ts +0 -1
- package/dist/movethewheels/utils/pendingPickDraft.d.ts +0 -1
- package/dist/movethewheels/utils/pickReviewAcknowledgement.d.ts +3 -0
- package/dist/movethewheels/utils/procedureInput.d.ts +0 -1
- package/dist/movethewheels/utils/procedureRecovery.d.ts +0 -1
- package/dist/movethewheels/utils/reuseForm.d.ts +0 -1
- package/dist/movethewheels/utils/reuseRecovery.d.ts +0 -1
- package/dist/movethewheels/utils/stockBindingForm.d.ts +0 -1
- package/dist/movethewheels/utils/stockObservationForm.d.ts +0 -1
- package/dist/movethewheels/utils/tripDraftContext.d.ts +0 -1
- package/dist/movethewheels/utils/tripUtilizationForm.d.ts +0 -1
- package/dist/services/createSandboxAssistantTransport.d.ts +2 -1
- package/dist/src/generated/pending-pick-operations.js +75 -6
- package/dist/stories/EntityCombobox.stories.d.ts +6 -0
- package/dist/stories/MetricCard.stories.d.ts +0 -1
- package/dist/stories/Notice.stories.d.ts +0 -1
- package/dist/stories/StatusBadge.stories.d.ts +0 -1
- package/dist/utils/pickReviewAcknowledgement.js +10 -0
- package/package.json +7 -5
- package/src/generated/pending-pick-operations.ts +239 -1
- package/src/movethewheels/components/EntityCombobox.tsx +8 -2
- package/src/movethewheels/components/pending-pick/PendingPickHistory.tsx +6 -0
- package/src/movethewheels/components/pending-pick/PickReviewPanel.tsx +326 -0
- package/src/movethewheels/utils/pickReviewAcknowledgement.ts +51 -0
- package/src/operations/pending-pick/pick-review.graphql +14 -0
- package/src/stories/EntityCombobox.stories.tsx +58 -0
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
import { useMoveTheWheels as e } from "../../providers/MoveTheWheelsProvider.js";
|
|
2
|
+
import { Button as t } from "../ui.js";
|
|
3
|
+
import { useConditionApi as n, useConditionQuery as r } from "../../hooks/useContainerCondition.js";
|
|
4
|
+
import { ReuseField as i, ReusePager as a, ReuseState as o, reuseCard as s } from "../ReuseControls.js";
|
|
5
|
+
import { ContainerEvidencePicker as c } from "../ContainerEvidencePicker.js";
|
|
6
|
+
import { ApprovePickReviewDocument as l, PickReviewHistoryDocument as u, RejectPickReviewDocument as d, RevokePickReviewDocument as f } from "../../src/generated/pending-pick-operations.js";
|
|
7
|
+
import { confirmPickReviewAcknowledgement as p } from "../../utils/pickReviewAcknowledgement.js";
|
|
8
|
+
import { useRef as m, useState as h } from "react";
|
|
9
|
+
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
10
|
+
import { PermissionProvider as y, usePermissions as b } from "@burdenoff/fe-libs/shared/providers/shell";
|
|
11
|
+
//#region src/movethewheels/components/pending-pick/PickReviewPanel.tsx
|
|
12
|
+
function x({ task: t }) {
|
|
13
|
+
let { workspaceId: n, currentUser: r, apiGatewayUrl: i } = e();
|
|
14
|
+
return /* @__PURE__ */ _(y, {
|
|
15
|
+
scopeId: n ?? null,
|
|
16
|
+
gateway: "workspace",
|
|
17
|
+
children: /* @__PURE__ */ _(S, { task: t }, JSON.stringify([
|
|
18
|
+
n,
|
|
19
|
+
r?.id,
|
|
20
|
+
i,
|
|
21
|
+
t.id,
|
|
22
|
+
t.intentHash
|
|
23
|
+
]))
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function S({ task: y }) {
|
|
27
|
+
let x = b(), { currentUser: S, workspaceId: C } = e(), w = n("SINGLE_ATTEMPT"), T = JSON.stringify([
|
|
28
|
+
"mtw-review-intent",
|
|
29
|
+
C,
|
|
30
|
+
S?.id,
|
|
31
|
+
y.id,
|
|
32
|
+
y.intentHash
|
|
33
|
+
]), [E, D] = h(() => {
|
|
34
|
+
try {
|
|
35
|
+
let e = sessionStorage.getItem(T);
|
|
36
|
+
return e === null || /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(e) ? e : "UNAVAILABLE";
|
|
37
|
+
} catch {
|
|
38
|
+
return "UNAVAILABLE";
|
|
39
|
+
}
|
|
40
|
+
}), O = E !== null, [k, A] = h(0), [j, M] = h(0), [N, P] = h([]), [F, I] = h(!1), [L, R] = h(null), z = m(!1), B = r(u, x.hasPermission("mtw-move-review:list") ? {
|
|
41
|
+
taskId: y.id,
|
|
42
|
+
limit: 10,
|
|
43
|
+
offset: k
|
|
44
|
+
} : null, j), V = B.data?.mtwPickReviewPage, H = V?.latestDecision, U = S?.id && S.id !== y.createdBy && S.id !== y.executorActorId, W = async (e, t) => {
|
|
45
|
+
if (z.current || O || !V || !U || !x.hasPermission(`mtw-move-review:${t.toLowerCase()}`)) return;
|
|
46
|
+
let n = new FormData(e), r = (e) => String(n.get(e) ?? "").trim(), i;
|
|
47
|
+
try {
|
|
48
|
+
if (t === "APPROVE" && (!/(Z|[+-]\d{2}:\d{2})$/.test(r("validFrom")) || !/(Z|[+-]\d{2}:\d{2})$/.test(r("validUntil")))) throw Error("Use explicit ISO timezone offsets for both validity bounds.");
|
|
49
|
+
let e = t === "APPROVE" ? new Date(r("validFrom")).toISOString() : null, a = t === "APPROVE" ? new Date(r("validUntil")).toISOString() : null, o = t === "APPROVE" ? Number(r("quantity")) : null, s = t === "APPROVE" ? [
|
|
50
|
+
"RESERVE",
|
|
51
|
+
"STAGE",
|
|
52
|
+
"RELEASE_UNPICKED",
|
|
53
|
+
"RELEASE_STAGED_CUSTODY",
|
|
54
|
+
"SHORT_PICK"
|
|
55
|
+
].filter((e) => n.has(e)) : [];
|
|
56
|
+
if (!r("note") || t === "APPROVE" && (!s.length || !Number.isInteger(o) || o === null || o < 1 || o > y.requestedQuantity || !N.length || !r("handlingReference") || !r("handlingRevision") || !r("sopReference") || !r("sopRevision"))) throw Error("Review all required fields and select exact evidence.");
|
|
57
|
+
i = {
|
|
58
|
+
taskId: y.id,
|
|
59
|
+
intentHash: y.intentHash,
|
|
60
|
+
subjectActorId: y.executorActorId,
|
|
61
|
+
expectedPreviousDecisionId: H?.id ?? null,
|
|
62
|
+
expectedVersion: H?.version ?? 0,
|
|
63
|
+
actions: s,
|
|
64
|
+
quantityCeiling: o,
|
|
65
|
+
validFrom: e,
|
|
66
|
+
validUntil: a,
|
|
67
|
+
handlingPolicy: t === "APPROVE" ? {
|
|
68
|
+
reference: r("handlingReference"),
|
|
69
|
+
revision: r("handlingRevision")
|
|
70
|
+
} : null,
|
|
71
|
+
sop: t === "APPROVE" ? {
|
|
72
|
+
reference: r("sopReference"),
|
|
73
|
+
revision: r("sopRevision")
|
|
74
|
+
} : null,
|
|
75
|
+
evidence: t === "APPROVE" ? N.map(({ fileId: e, versionId: t }) => ({
|
|
76
|
+
fileId: e,
|
|
77
|
+
versionId: t
|
|
78
|
+
})) : [],
|
|
79
|
+
note: r("note"),
|
|
80
|
+
idempotencyKey: crypto.randomUUID()
|
|
81
|
+
};
|
|
82
|
+
} catch (e) {
|
|
83
|
+
R(e instanceof Error ? e.message : "Check the review fields.");
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
try {
|
|
87
|
+
sessionStorage.setItem(T, i.idempotencyKey), D(i.idempotencyKey);
|
|
88
|
+
} catch {
|
|
89
|
+
D("UNAVAILABLE"), R("The intended request key could not be preserved. No decision was submitted.");
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
z.current = !0, I(!0), R(null);
|
|
93
|
+
try {
|
|
94
|
+
p(await w(t === "APPROVE" ? l : t === "REJECT" ? d : f, { input: i }), i, t, S?.id ?? ""), sessionStorage.removeItem(T), D(null), M((e) => e + 1), R("Review recorded. Stock is unchanged.");
|
|
95
|
+
} catch {
|
|
96
|
+
R("The outcome is not confirmed. Preserve the intended request key and match it against review history; do not resend this decision.");
|
|
97
|
+
} finally {
|
|
98
|
+
z.current = !1, I(!1);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
return /* @__PURE__ */ v("section", {
|
|
102
|
+
className: s,
|
|
103
|
+
"aria-label": "Independent move review",
|
|
104
|
+
children: [
|
|
105
|
+
/* @__PURE__ */ _("h4", {
|
|
106
|
+
className: "font-semibold",
|
|
107
|
+
children: "Independent move review"
|
|
108
|
+
}),
|
|
109
|
+
/* @__PURE__ */ _("p", { children: "Review only. No stock reservation, movement, qualification or physical safety certification. Current stock and permissions must be checked again before any future execution." }),
|
|
110
|
+
/* @__PURE__ */ v("p", {
|
|
111
|
+
className: "break-all",
|
|
112
|
+
children: [
|
|
113
|
+
"Exact intent SHA-256: ",
|
|
114
|
+
y.intentHash,
|
|
115
|
+
"; fixed executor: ",
|
|
116
|
+
y.executorActorId
|
|
117
|
+
]
|
|
118
|
+
}),
|
|
119
|
+
x.isLoading && /* @__PURE__ */ _("p", {
|
|
120
|
+
role: "status",
|
|
121
|
+
children: "Checking review permissions…"
|
|
122
|
+
}),
|
|
123
|
+
x.error && /* @__PURE__ */ _("p", {
|
|
124
|
+
role: "alert",
|
|
125
|
+
children: "Review permissions are unavailable."
|
|
126
|
+
}),
|
|
127
|
+
!x.isLoading && !x.hasPermission("mtw-move-review:list") && /* @__PURE__ */ _("p", { children: "You do not have permission to list move reviews." }),
|
|
128
|
+
/* @__PURE__ */ _(o, {
|
|
129
|
+
loading: B.loading,
|
|
130
|
+
error: B.error
|
|
131
|
+
}),
|
|
132
|
+
V && /* @__PURE__ */ v(g, { children: [
|
|
133
|
+
/* @__PURE__ */ v("p", { children: [
|
|
134
|
+
"Latest review: ",
|
|
135
|
+
V.reviewState,
|
|
136
|
+
", evaluated ",
|
|
137
|
+
V.evaluatedAt,
|
|
138
|
+
". Older approvals never override a later rejection or revocation."
|
|
139
|
+
] }),
|
|
140
|
+
V.items.map((e) => /* @__PURE__ */ v("article", {
|
|
141
|
+
className: "min-w-0 break-words rounded border p-3",
|
|
142
|
+
children: [
|
|
143
|
+
/* @__PURE__ */ v("p", { children: [
|
|
144
|
+
"Version ",
|
|
145
|
+
e.version,
|
|
146
|
+
": ",
|
|
147
|
+
e.kind,
|
|
148
|
+
" · ",
|
|
149
|
+
e.note
|
|
150
|
+
] }),
|
|
151
|
+
/* @__PURE__ */ v("p", {
|
|
152
|
+
className: "break-all",
|
|
153
|
+
children: [
|
|
154
|
+
"Reviewer ",
|
|
155
|
+
e.reviewerActorId,
|
|
156
|
+
"; receipt ",
|
|
157
|
+
e.id,
|
|
158
|
+
"; request key",
|
|
159
|
+
" ",
|
|
160
|
+
e.idempotencyKey,
|
|
161
|
+
"; intent ",
|
|
162
|
+
e.intentHash
|
|
163
|
+
]
|
|
164
|
+
}),
|
|
165
|
+
/* @__PURE__ */ v("p", { children: [
|
|
166
|
+
e.actions.join(", ") || "No actions granted",
|
|
167
|
+
"; ceiling",
|
|
168
|
+
" ",
|
|
169
|
+
e.quantityCeiling ?? "none",
|
|
170
|
+
"; validity ",
|
|
171
|
+
e.validFrom ?? "none",
|
|
172
|
+
" to",
|
|
173
|
+
" ",
|
|
174
|
+
e.validUntil ?? "none",
|
|
175
|
+
" (exclusive)."
|
|
176
|
+
] }),
|
|
177
|
+
/* @__PURE__ */ v("p", { children: [
|
|
178
|
+
"Handling source",
|
|
179
|
+
" ",
|
|
180
|
+
e.handlingPolicy ? `${e.handlingPolicy.reference} · revision ${e.handlingPolicy.revision}` : "none",
|
|
181
|
+
"; SOP ",
|
|
182
|
+
e.sop ? `${e.sop.reference} · revision ${e.sop.revision}` : "none",
|
|
183
|
+
"."
|
|
184
|
+
] }),
|
|
185
|
+
e.evidence.map((e) => /* @__PURE__ */ v("p", {
|
|
186
|
+
className: "break-all",
|
|
187
|
+
children: [
|
|
188
|
+
"Evidence ",
|
|
189
|
+
e.fileId,
|
|
190
|
+
", version ",
|
|
191
|
+
e.versionId,
|
|
192
|
+
", SHA-256 ",
|
|
193
|
+
e.sha256Hash,
|
|
194
|
+
"; checked ",
|
|
195
|
+
e.checkedAt,
|
|
196
|
+
"."
|
|
197
|
+
]
|
|
198
|
+
}, e.versionId))
|
|
199
|
+
]
|
|
200
|
+
}, e.id)),
|
|
201
|
+
/* @__PURE__ */ _(a, {
|
|
202
|
+
page: V,
|
|
203
|
+
offset: k,
|
|
204
|
+
onChange: A,
|
|
205
|
+
busy: F || B.loading
|
|
206
|
+
})
|
|
207
|
+
] }),
|
|
208
|
+
!U && /* @__PURE__ */ _("p", { children: "The creator and fixed executor cannot review this task." }),
|
|
209
|
+
U && V && /* @__PURE__ */ _("form", {
|
|
210
|
+
onSubmit: (e) => e.preventDefault(),
|
|
211
|
+
children: /* @__PURE__ */ v("fieldset", {
|
|
212
|
+
disabled: F || O,
|
|
213
|
+
className: "space-y-3",
|
|
214
|
+
children: [
|
|
215
|
+
/* @__PURE__ */ _("legend", { children: "Record a decision on the exact intent" }),
|
|
216
|
+
/* @__PURE__ */ _(i, {
|
|
217
|
+
label: "Decision note",
|
|
218
|
+
name: "note",
|
|
219
|
+
maxLength: 1e3
|
|
220
|
+
}),
|
|
221
|
+
x.hasPermission("mtw-move-review:approve") && /* @__PURE__ */ v("details", { children: [
|
|
222
|
+
/* @__PURE__ */ _("summary", { children: "Approval scope and sourced handling review" }),
|
|
223
|
+
/* @__PURE__ */ _(i, {
|
|
224
|
+
label: `Quantity ceiling (1–${y.requestedQuantity})`,
|
|
225
|
+
name: "quantity",
|
|
226
|
+
type: "number"
|
|
227
|
+
}),
|
|
228
|
+
/* @__PURE__ */ _(i, {
|
|
229
|
+
label: "Valid from (ISO with timezone)",
|
|
230
|
+
name: "validFrom"
|
|
231
|
+
}),
|
|
232
|
+
/* @__PURE__ */ _(i, {
|
|
233
|
+
label: "Valid until (exclusive, ISO with timezone)",
|
|
234
|
+
name: "validUntil"
|
|
235
|
+
}),
|
|
236
|
+
[
|
|
237
|
+
"RESERVE",
|
|
238
|
+
"STAGE",
|
|
239
|
+
"RELEASE_UNPICKED",
|
|
240
|
+
"RELEASE_STAGED_CUSTODY",
|
|
241
|
+
"SHORT_PICK"
|
|
242
|
+
].map((e) => /* @__PURE__ */ v("label", {
|
|
243
|
+
className: "block",
|
|
244
|
+
children: [
|
|
245
|
+
/* @__PURE__ */ _("input", {
|
|
246
|
+
type: "checkbox",
|
|
247
|
+
name: e
|
|
248
|
+
}),
|
|
249
|
+
" ",
|
|
250
|
+
e
|
|
251
|
+
]
|
|
252
|
+
}, e)),
|
|
253
|
+
/* @__PURE__ */ _(i, {
|
|
254
|
+
label: "Handling policy reference",
|
|
255
|
+
name: "handlingReference"
|
|
256
|
+
}),
|
|
257
|
+
/* @__PURE__ */ _(i, {
|
|
258
|
+
label: "Handling policy revision",
|
|
259
|
+
name: "handlingRevision"
|
|
260
|
+
}),
|
|
261
|
+
/* @__PURE__ */ _(i, {
|
|
262
|
+
label: "SOP reference",
|
|
263
|
+
name: "sopReference"
|
|
264
|
+
}),
|
|
265
|
+
/* @__PURE__ */ _(i, {
|
|
266
|
+
label: "SOP revision",
|
|
267
|
+
name: "sopRevision"
|
|
268
|
+
}),
|
|
269
|
+
/* @__PURE__ */ _(c, {
|
|
270
|
+
value: N,
|
|
271
|
+
onChange: P,
|
|
272
|
+
description: "Select readable exact Files versions supporting this handling/SOP review. References alone do not certify physical facts."
|
|
273
|
+
})
|
|
274
|
+
] }),
|
|
275
|
+
/* @__PURE__ */ _("div", {
|
|
276
|
+
className: "flex flex-wrap gap-2",
|
|
277
|
+
children: [
|
|
278
|
+
"APPROVE",
|
|
279
|
+
"REJECT",
|
|
280
|
+
"REVOKE"
|
|
281
|
+
].filter((e) => x.hasPermission(`mtw-move-review:${e.toLowerCase()}`)).map((e) => /* @__PURE__ */ _(t, {
|
|
282
|
+
type: "button",
|
|
283
|
+
disabled: F || O || e === "REVOKE" && !H,
|
|
284
|
+
onClick: (t) => {
|
|
285
|
+
let n = t.currentTarget.form;
|
|
286
|
+
n && W(n, e);
|
|
287
|
+
},
|
|
288
|
+
children: e.toLowerCase()
|
|
289
|
+
}, e))
|
|
290
|
+
})
|
|
291
|
+
]
|
|
292
|
+
})
|
|
293
|
+
}),
|
|
294
|
+
/* @__PURE__ */ _(t, {
|
|
295
|
+
type: "button",
|
|
296
|
+
variant: "outline",
|
|
297
|
+
disabled: F,
|
|
298
|
+
onClick: () => M((e) => e + 1),
|
|
299
|
+
children: "Refresh review history"
|
|
300
|
+
}),
|
|
301
|
+
O && !F && /* @__PURE__ */ v("p", {
|
|
302
|
+
role: "alert",
|
|
303
|
+
children: [
|
|
304
|
+
"Submission remains stopped. Intended request key: ",
|
|
305
|
+
E,
|
|
306
|
+
". This tab preserves it across refresh for this actor, workspace and exact task. Match it to the read-only history; an absent page result does not prove no commit. Do not resend or clear browser storage to retry. If the key is unavailable, obtain read-only reconciliation before any new decision."
|
|
307
|
+
]
|
|
308
|
+
}),
|
|
309
|
+
L && /* @__PURE__ */ _("p", {
|
|
310
|
+
role: "status",
|
|
311
|
+
children: L
|
|
312
|
+
})
|
|
313
|
+
]
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
//#endregion
|
|
317
|
+
export { x as PickReviewPanel };
|
package/dist/dev/main.d.ts
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
|