Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/9
This commit was merged in pull request #9.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { getSP } from '../pnp/pnpjs';
|
||||
import '@pnp/sp/webs';
|
||||
import '@pnp/sp/lists';
|
||||
import { IList } from '@pnp/sp/lists';
|
||||
import '@pnp/sp/items';
|
||||
import { ApprovalListService } from './approvalList.service';
|
||||
import { REQUEST_STATUS, APPROVAL_PHASE } from './models/statuses';
|
||||
@@ -33,9 +34,17 @@ const ROW_STATUS: Record<ApproverDecision, string> = {
|
||||
// заявке (requestId). Пока в портале нет маршрутизации на форму заявки, этот сервис
|
||||
// готов, но UI-режим согласующего ещё не подключён (см. план).
|
||||
export class ApproverService {
|
||||
/**
|
||||
* dataListRef — либо Title списка данных (текущая партиция, как раньше), либо
|
||||
* его серверный относительный url (конкретная, в т.ч. архивная партиция —
|
||||
* см. shared/listTitles.ts). Различаем по ведущему '/': Title списка в
|
||||
* SharePoint с него не начинается, url — всегда начинается. Так конструктору
|
||||
* не нужен третий параметр «что именно передали» — вызывающая сторона просто
|
||||
* передаёт то, что у неё есть (см. submit.ts каждой формы).
|
||||
*/
|
||||
constructor(
|
||||
private readonly approval: ApprovalListService,
|
||||
private readonly dataListTitle: string
|
||||
private readonly dataListRef: string
|
||||
) {}
|
||||
|
||||
// Ожидающая строка текущего пользователя, если сейчас его очередь; иначе undefined.
|
||||
@@ -162,8 +171,14 @@ export class ApproverService {
|
||||
return REQUEST_STATUS.execution;
|
||||
}
|
||||
|
||||
private dataList(): IList {
|
||||
return this.dataListRef.startsWith('/')
|
||||
? getSP().web.getList(this.dataListRef)
|
||||
: getSP().web.lists.getByTitle(this.dataListRef);
|
||||
}
|
||||
|
||||
private async updateRequestStatus(id: number, status: string): Promise<void> {
|
||||
await getSP().web.lists.getByTitle(this.dataListTitle).items.getById(id).update({
|
||||
await this.dataList().items.getById(id).update({
|
||||
RequestStatus: status,
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user