2e42cac14c
- feature Membership/ExitFromCoop: кнопка «Выход из кооператива» (BaseButton danger) на WalletPage в шапке рядом с возвратом паевого; диалог-предупреждение (BaseDialog+Form+BaseBanner) с предрасчётом суммы возврата (MembershipExitReturnPreview) и текстом «паевой будет возвращён, аккаунт заблокирован, возврат невозможен»; submit генерит заявление (200), подписывает и подаёт createMembershipExit (push exitcoop). Канон-компоненты, Material-иконки; - feature Membership/GenerateMembershipExitDecision: генерация решения совета (201); - process-decisions: handler `leavecoop` в реестре повесток — Совет генерирует решение по выходу так же, как по вступлению/возврату. ESLint чисто. Type-check — в CI (полный vue-tsc локально не гоняем). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
import { client } from 'src/shared/api/client';
|
|
import { Mutations } from '@coopenomics/sdk';
|
|
import { useSystemStore } from 'src/entities/System/model';
|
|
|
|
export type IGenerateMembershipExitDecisionData =
|
|
Mutations.MembershipExit.GenerateMembershipExitDecision.IInput['data'];
|
|
export type IGenerateMembershipExitDecisionResult =
|
|
Mutations.MembershipExit.GenerateMembershipExitDecision.IOutput[typeof Mutations.MembershipExit.GenerateMembershipExitDecision.name];
|
|
|
|
/**
|
|
* Композабл генерации документа решения собрания совета о выходе пайщика (registry 201).
|
|
*/
|
|
export function useGenerateMembershipExitDecision() {
|
|
const { info } = useSystemStore();
|
|
|
|
async function generateMembershipExitDecision(
|
|
data: Omit<IGenerateMembershipExitDecisionData, 'coopname'>,
|
|
): Promise<IGenerateMembershipExitDecisionResult> {
|
|
const {
|
|
[Mutations.MembershipExit.GenerateMembershipExitDecision.name]: result,
|
|
} = await client.Mutation(
|
|
Mutations.MembershipExit.GenerateMembershipExitDecision.mutation,
|
|
{
|
|
variables: {
|
|
data: {
|
|
coopname: info.coopname,
|
|
...data,
|
|
},
|
|
options: {
|
|
lang: 'ru',
|
|
},
|
|
},
|
|
},
|
|
);
|
|
|
|
return result;
|
|
}
|
|
|
|
return {
|
|
generateMembershipExitDecision,
|
|
};
|
|
}
|