Обходной лист (#12)
Tests / backend-test (push) Successful in 1m38s
Tests / frontend-test (push) Successful in 47s

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/12
This commit was merged in pull request #12.
This commit is contained in:
2026-08-17 05:43:52 +00:00
parent d076f4e98d
commit 48ede1420d
37 changed files with 1351 additions and 435 deletions
+11 -3
View File
@@ -43,6 +43,12 @@ export interface IAdminRoute {
/** Id маршрута — только при tab='routes': сразу открывает шаги ЭТОГО маршрута,
* минуя список (см. AdminApp — по нему домаршрут дочитывается через api.templateRoutes.get). */
routeId?: number;
/**
* Фильтр списка маршрутов по типу заявки (id как строка, '' — все типы).
* Живёт и при открытых шагах (routeId): возврат «к маршрутам» должен вернуть
* к тому же отфильтрованному списку, а не сбросить фильтр.
*/
routesFilter?: string;
/** Задан только при tab='resolve' и непустом requestTypeId. */
resolve?: IResolveRouteParams;
/** Задан только при tab='manageRequests' и непустых requestTypeId+requestId. */
@@ -56,7 +62,7 @@ const ROUTE_CHANGE_EVENT = 'aa-route-change';
const TABS: ScreenKey[] = ['dashboard', 'requestTypes', 'routes', 'resolve', 'manageRequests'];
const PARAM_KEYS = [
'aatab', 'aaroute',
'aatab', 'aaroute', 'aarfilter',
'aartype', 'aauser', 'aaproject', 'aaprojectname', 'aastatus', 'aafields', 'aadept',
'aamtype', 'aamreq'
];
@@ -114,6 +120,7 @@ export function parseRoute(search: string = window.location.search): IAdminRoute
return {
tab,
routeId: routeId && !isNaN(routeId) ? routeId : undefined,
routesFilter: (tab === 'routes' ? params.get('aarfilter') : null) || undefined,
resolve,
manage
};
@@ -127,8 +134,9 @@ function buildQuery(route: IAdminRoute): string {
if (route.tab !== 'dashboard') params.set('aatab', route.tab);
if (route.tab === 'routes' && route.routeId) {
params.set('aaroute', String(route.routeId));
if (route.tab === 'routes') {
if (route.routeId) params.set('aaroute', String(route.routeId));
if (route.routesFilter) params.set('aarfilter', route.routesFilter);
}
if (route.tab === 'resolve' && route.resolve && route.resolve.requestTypeId) {