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