fix:chain activity for dynamic form loading
This commit is contained in:
parent
686f5e8acd
commit
45197280d4
17
src/App.tsx
17
src/App.tsx
@ -14,17 +14,18 @@ function App() {
|
|||||||
<Routes>
|
<Routes>
|
||||||
<Route path="/login" element={<LoginPage />} />
|
<Route path="/login" element={<LoginPage />} />
|
||||||
<Route element={<ConsoleLayout />}>
|
<Route element={<ConsoleLayout />}>
|
||||||
<Route path="/orders" element={<OrdersPage />} />
|
<Route path="orders" element={<OrdersPage />} />
|
||||||
<Route path="/orders/:instanceId" element={<OrdersPage />} />
|
<Route path="orders/:instanceId" element={<OrdersPage />} />
|
||||||
|
|
||||||
<Route path="/calls" element={<CallsPage />} />
|
<Route path="calls" element={<CallsPage />} />
|
||||||
<Route path="/calls/:instanceId" element={<CallsPage />} />
|
<Route path="calls/:instanceId" element={<CallsPage />} />
|
||||||
|
|
||||||
<Route path="/stores" element={<StoresPage />} />
|
<Route path="stores" element={<StoresPage />} />
|
||||||
<Route path="/stores/:instanceId" element={<StoresPage />} />
|
<Route path="stores/:instanceId" element={<StoresPage />} />
|
||||||
|
|
||||||
<Route path="/daily" element={<DailyLogsPage />} />
|
<Route path="daily" element={<DailyLogsPage />} />
|
||||||
<Route path="/daily/:instanceId" element={<DailyLogsPage />} />
|
<Route path="daily/:instanceId" element={<DailyLogsPage />} />
|
||||||
|
<Route path="*" element={<Navigate to="/orders" replace />} />
|
||||||
</Route>
|
</Route>
|
||||||
</Routes>
|
</Routes>
|
||||||
</BrowserRouter>
|
</BrowserRouter>
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import {
|
|||||||
WfLookupField,
|
WfLookupField,
|
||||||
RadioField,
|
RadioField,
|
||||||
} from './fields';
|
} from './fields';
|
||||||
|
import { ORDER_BOOKING } from '../../api/config';
|
||||||
|
|
||||||
export interface DynamicFormProps {
|
export interface DynamicFormProps {
|
||||||
client: ZinoClient;
|
client: ZinoClient;
|
||||||
@ -172,8 +173,21 @@ export function DynamicForm({ client, activityId: initialActivityId, instanceId:
|
|||||||
}
|
}
|
||||||
|
|
||||||
let pending = [...chainQueue];
|
let pending = [...chainQueue];
|
||||||
const newActivities = (schema.activity_chain || []).filter(
|
let chainSource = (res as any).activity_chain || schema.activity_chain || [];
|
||||||
a => a.activity_uid !== currentActivityId
|
|
||||||
|
// Centralized activity chaining logic
|
||||||
|
if (currentActivityId === ORDER_BOOKING.activities.PRODUCTIVITY_OF_VISIT.uid) {
|
||||||
|
const actionValue = String(payload[ORDER_BOOKING.activities.PRODUCTIVITY_OF_VISIT.fields.action] || '').toLowerCase().trim();
|
||||||
|
const normalized = actionValue.replace(/[\s_]+/g, '');
|
||||||
|
if (normalized === 'order') {
|
||||||
|
chainSource = [{ activity_uid: ORDER_BOOKING.activities.PLACE_ORDER.uid, activity_name: 'Place Order' }];
|
||||||
|
} else if (normalized === 'noorder') {
|
||||||
|
chainSource = [{ activity_uid: ORDER_BOOKING.activities.POTENTIAL_MINING.uid, activity_name: 'Potential Mining' }];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const newActivities = chainSource.filter(
|
||||||
|
(a: any) => a.activity_uid !== currentActivityId
|
||||||
);
|
);
|
||||||
|
|
||||||
// Remove any existing occurrences from pending to avoid duplicates
|
// Remove any existing occurrences from pending to avoid duplicates
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user