Files
prod/frontend/dist/assets/UsersView-D2temI3y.js
T
2026-10-17 15:22:26 +07:00

1 line
5.3 KiB
JavaScript

import{Ct as e,Dt as t,Jt as n,Kt as r,Ot as i,St as a,an as o,gn as s,ht as c,kt as l,wt as u,xn as d,xt as f,zn as p}from"./client-Cs6K6NLD.js";import{t as m}from"./Card-D2xv6XzP.js";import{i as h,r as g}from"./ui-DTRKi8Fz.js";import{t as _}from"./Modal-QST9v9Ct.js";import{t as v}from"./FormItem-IMgcqJ9F.js";import{t as y}from"./Button-201Ogk_1.js";import{t as b}from"./_plugin-vue_export-helper-DPScEKW6.js";import{t as x}from"./Input-BbyYywoz.js";import{t as S}from"./Space-534bZ1xJ.js";import{t as C}from"./Flex-CLr0laO-.js";import{i as w,o as T,ut as E}from"./index-DSWrUwih.js";import{t as D}from"./HeaderMenu-D1IvPsyw.js";var O={class:`center-block-custom`},k={class:`width700`},A={class:`user-field`},j={class:`user-field`},M={class:`user-field`},N=b(l({__name:`UsersPage`,setup(l){let b=w(),N=g(),P=s([]),F=T(),I=s(null),L=s(``),R=s(``),z=s(!1);function B(){I.value=null,L.value=``,R.value=``}async function V(){if(!(!I.value||z.value)){if([...L.value].length<8||[...L.value].length>16){N.error(`Пароль должен содержать минимум 8 символов и не более 16 символов`);return}if(L.value!==R.value){N.error(`Пароли не совпадают`);return}z.value=!0;try{await b.ChangeUserPassword({ID:I.value.ID,newPassword:L.value}),B(),N.success(`Пароль изменён`)}catch(e){N.error(e instanceof Error?e.message:`Не удалось изменить пароль`)}finally{z.value=!1}}}async function H(){try{let e=await b.GetUsers({});P.value=e.users}catch(e){N.error(e instanceof Error?e.message:`Не удалось загрузить пользователей`)}}H();async function U(e,t){try{await b.AddUserRole({ID:e,role:t}),await H()}catch(e){N.error(e instanceof Error?e.message:`Не удалось изменить роль`)}}async function W(e,t){try{await b.DeleteUserRole({ID:e,role:t}),await H()}catch(e){N.error(e instanceof Error?e.message:`Не удалось изменить роль`)}}return(s,l)=>(r(),u(c,null,[f(`div`,O,[f(`div`,k,[(r(!0),u(c,null,n(P.value,s=>(r(),u(`div`,{key:s.ID,class:`user-block`},[f(`div`,A,`Позывной: `+p(s.username),1),f(`div`,j,`Почта: `+p(s.email),1),f(`div`,M,[i(d(S),null,{default:o(()=>[l[3]||=t(` Роли: `,-1),(r(!0),u(c,null,n(s.roles,e=>(r(),a(d(h),{bordered:!1,key:e},{default:o(()=>[t(p(e),1)]),_:2},1024))),128))]),_:2},1024)]),i(d(C),{justify:`end`,class:`roles-buttons-block`},{default:o(()=>[d(F).hasRole(`admin`)&&d(F).user&&s.ID!==d(F).user.ID?(r(),a(d(y),{key:0,onClick:e=>I.value=s},{default:o(()=>[...l[4]||=[t(`Изменить пароль`,-1)]]),_:1},8,[`onClick`])):e(``,!0),s.roles?.includes(`developer`)?(r(),a(d(y),{key:2,onClick:e=>W(s.ID,`developer`)},{default:o(()=>[...l[6]||=[t(`Забрать роль разработчика`,-1)]]),_:1},8,[`onClick`])):(r(),a(d(y),{key:1,onClick:e=>U(s.ID,`developer`)},{default:o(()=>[...l[5]||=[t(`Выдать роль разработчика`,-1)]]),_:1},8,[`onClick`])),s.roles?.includes(`author`)?(r(),a(d(y),{key:4,onClick:e=>W(s.ID,`author`)},{default:o(()=>[...l[8]||=[t(`Забрать роль автора`,-1)]]),_:1},8,[`onClick`])):(r(),a(d(y),{key:3,onClick:e=>U(s.ID,`author`)},{default:o(()=>[...l[7]||=[t(`Сделать автором`,-1)]]),_:1},8,[`onClick`])),s.roles?.includes(`organizer`)?(r(),a(d(y),{key:6,onClick:e=>W(s.ID,`organizer`)},{default:o(()=>[...l[10]||=[t(`Забрать роль организатора`,-1)]]),_:1},8,[`onClick`])):(r(),a(d(y),{key:5,onClick:e=>U(s.ID,`organizer`)},{default:o(()=>[...l[9]||=[t(`Сделать организатором`,-1)]]),_:1},8,[`onClick`]))]),_:2},1024)]))),128))])]),i(d(_),{show:I.value!==null,style:{width:`min(94vw, 480px)`},closable:!z.value,"mask-closable":!z.value,"close-on-esc":!z.value,"onUpdate:show":l[2]||=e=>{e||B()}},{default:o(()=>[i(d(m),{title:`Изменить пароль`,bordered:!1,role:`dialog`,"aria-modal":`true`,closable:!z.value,onClose:B},{default:o(()=>[f(`p`,null,p(I.value?.username)+` — `+p(I.value?.email),1),f(`form`,{onSubmit:E(V,[`prevent`])},[i(d(v),{label:`Новый пароль`,"label-for":`new-user-password`},{default:o(()=>[i(d(x),{value:L.value,"onUpdate:value":l[0]||=e=>L.value=e,"input-props":{id:`new-user-password`,autocomplete:`new-password`},type:`password`,"show-password-on":`click`,disabled:z.value,placeholder:`От 8 символов, не более 16 символов`},null,8,[`value`,`disabled`])]),_:1}),i(d(v),{label:`Повторите пароль`,"label-for":`confirm-user-password`},{default:o(()=>[i(d(x),{value:R.value,"onUpdate:value":l[1]||=e=>R.value=e,"input-props":{id:`confirm-user-password`,autocomplete:`new-password`},type:`password`,"show-password-on":`click`,disabled:z.value,placeholder:`Повторите новый пароль`},null,8,[`value`,`disabled`])]),_:1}),i(d(C),{justify:`end`},{default:o(()=>[i(d(y),{disabled:z.value,onClick:B},{default:o(()=>[...l[11]||=[t(`Отмена`,-1)]]),_:1},8,[`disabled`]),i(d(y),{"attr-type":`submit`,type:`primary`,loading:z.value},{default:o(()=>[...l[12]||=[t(`Сохранить`,-1)]]),_:1},8,[`loading`])]),_:1})],32)]),_:1},8,[`closable`])]),_:1},8,[`show`,`closable`,`mask-closable`,`close-on-esc`]),i(D,{active:`users`})],64))}}),[[`__scopeId`,`data-v-da30be55`]]),P=l({__name:`UsersView`,setup(e){return(e,t)=>(r(),a(N))}});export{P as default};