1 line
5.3 KiB
JavaScript
1 line
5.3 KiB
JavaScript
import{D as e,E as t,Ht as n,M as r,N as i,O as a,Q as o,T as s,X as c,ct as l,j as u,wt as d,y as f,yt as p}from"./client-BfLkiLXr.js";import{t as m}from"./Card-Bd33-XLP.js";import{t as h}from"./Modal-Bf1YRxqZ.js";import{t as g}from"./FormItem-BLQJ5pA1.js";import{t as _}from"./Button-CQugdyX-.js";import{t as v}from"./Input-DtkYsIjo.js";import{t as y}from"./Tag-Cc78OBPZ.js";import{n as b}from"./es-Cl6F7gM1.js";import{t as x}from"./Space-Cor4u6Cp.js";import{t as S}from"./Flex-DYgSVOkz.js";import{at as C,n as w,t as T}from"./index-CHmzhHGh.js";import{t as E}from"./HeaderMenu-DDKHYZjb.js";import{t as D}from"./_plugin-vue_export-helper-BDNMzG2s.js";var O={class:`center-block-custom`},k={class:`width700`},A={class:`user-field`},j={class:`user-field`},M={class:`user-field`},N=D(i({__name:`UsersPage`,setup(i){let D=w(),N=b(),P=p([]),F=T(),I=p(null),L=p(``),R=p(``),z=p(!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 D.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 D.GetUsers({});P.value=e.users}catch(e){N.error(e instanceof Error?e.message:`Не удалось загрузить пользователей`)}}H();async function U(e,t){try{await D.AddUserRole({ID:e,role:t}),await H()}catch(e){N.error(e instanceof Error?e.message:`Не удалось изменить роль`)}}async function W(e,t){try{await D.DeleteUserRole({ID:e,role:t}),await H()}catch(e){N.error(e instanceof Error?e.message:`Не удалось изменить роль`)}}return(i,p)=>(c(),a(f,null,[s(`div`,O,[s(`div`,k,[(c(!0),a(f,null,o(P.value,i=>(c(),a(`div`,{key:i.ID,class:`user-block`},[s(`div`,A,`Позывной: `+n(i.username),1),s(`div`,j,`Почта: `+n(i.email),1),s(`div`,M,[r(d(x),null,{default:l(()=>[p[3]||=u(` Роли: `,-1),(c(!0),a(f,null,o(i.roles,e=>(c(),t(d(y),{bordered:!1,key:e},{default:l(()=>[u(n(e),1)]),_:2},1024))),128))]),_:2},1024)]),r(d(S),{justify:`end`,class:`roles-buttons-block`},{default:l(()=>[d(F).hasRole(`admin`)&&d(F).user&&i.ID!==d(F).user.ID?(c(),t(d(_),{key:0,onClick:e=>I.value=i},{default:l(()=>[...p[4]||=[u(`Изменить пароль`,-1)]]),_:1},8,[`onClick`])):e(``,!0),i.roles?.includes(`developer`)?(c(),t(d(_),{key:2,onClick:e=>W(i.ID,`developer`)},{default:l(()=>[...p[6]||=[u(`Забрать роль разработчика`,-1)]]),_:1},8,[`onClick`])):(c(),t(d(_),{key:1,onClick:e=>U(i.ID,`developer`)},{default:l(()=>[...p[5]||=[u(`Выдать роль разработчика`,-1)]]),_:1},8,[`onClick`])),i.roles?.includes(`author`)?(c(),t(d(_),{key:4,onClick:e=>W(i.ID,`author`)},{default:l(()=>[...p[8]||=[u(`Забрать роль автора`,-1)]]),_:1},8,[`onClick`])):(c(),t(d(_),{key:3,onClick:e=>U(i.ID,`author`)},{default:l(()=>[...p[7]||=[u(`Сделать автором`,-1)]]),_:1},8,[`onClick`])),i.roles?.includes(`organizer`)?(c(),t(d(_),{key:6,onClick:e=>W(i.ID,`organizer`)},{default:l(()=>[...p[10]||=[u(`Забрать роль организатора`,-1)]]),_:1},8,[`onClick`])):(c(),t(d(_),{key:5,onClick:e=>U(i.ID,`organizer`)},{default:l(()=>[...p[9]||=[u(`Сделать организатором`,-1)]]),_:1},8,[`onClick`]))]),_:2},1024)]))),128))])]),r(d(h),{show:I.value!==null,style:{width:`min(94vw, 480px)`},closable:!z.value,"mask-closable":!z.value,"close-on-esc":!z.value,"onUpdate:show":p[2]||=e=>{e||B()}},{default:l(()=>[r(d(m),{title:`Изменить пароль`,bordered:!1,role:`dialog`,"aria-modal":`true`,closable:!z.value,onClose:B},{default:l(()=>[s(`p`,null,n(I.value?.username)+` — `+n(I.value?.email),1),s(`form`,{onSubmit:C(V,[`prevent`])},[r(d(g),{label:`Новый пароль`,"label-for":`new-user-password`},{default:l(()=>[r(d(v),{value:L.value,"onUpdate:value":p[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}),r(d(g),{label:`Повторите пароль`,"label-for":`confirm-user-password`},{default:l(()=>[r(d(v),{value:R.value,"onUpdate:value":p[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}),r(d(S),{justify:`end`},{default:l(()=>[r(d(_),{disabled:z.value,onClick:B},{default:l(()=>[...p[11]||=[u(`Отмена`,-1)]]),_:1},8,[`disabled`]),r(d(_),{"attr-type":`submit`,type:`primary`,loading:z.value},{default:l(()=>[...p[12]||=[u(`Сохранить`,-1)]]),_:1},8,[`loading`])]),_:1})],32)]),_:1},8,[`closable`])]),_:1},8,[`show`,`closable`,`mask-closable`,`close-on-esc`]),r(E,{active:`users`})],64))}}),[[`__scopeId`,`data-v-da30be55`]]),P=i({__name:`UsersView`,setup(e){return(e,n)=>(c(),t(N))}});export{P as default}; |