Files
iqudo-top1/web/dist/assets/MembersView-6hfD_lrO.js
2026-08-08 23:29:56 +08:00

1 line
5.1 KiB
JavaScript

import{A as e,Bt as t,D as n,F as r,I as i,O as a,P as o,Q as s,S as c,Tt as l,Y as u,_t as d,j as f,k as p,lt as m,n as h,r as g,t as _,tt as v,vt as y}from"./client-Bk7n1O1W.js";import{a as b}from"./config-provider-CxhqvDI_.js";import{t as x}from"./auth-D6Tj4g1X.js";import{t as S}from"./PlusOutlined-CosM7zFe.js";import{t as C}from"./EditOutlined-BIUW-zYI.js";import{t as w}from"./TeamOutlined-DCK_-ckK.js";var T={class:`page-shell members-page`},E={class:`page-heading`},D={class:`member-summary`},O={class:`surface`},k={key:0,class:`member-cell`},A={class:`form-grid`},j={key:0,class:`editing-name`},M=g(i({__name:`MembersView`,setup(i){let g=x(),M=y(!1),N=y(!1),P=y(null),F=y([]),I=y([]),L=y(!1),R=d({username:``,display_name:``,password:``,role_code:`operator`}),z=d({role_code:`operator`,status:`active`}),B=n(()=>I.value.map(e=>({value:e.code,label:e.name}))),V=[{title:`成员`,key:`member`},{title:`角色`,dataIndex:`role_name`,width:150},{title:`状态`,dataIndex:`status`,width:110},{title:``,key:`action`,width:80}];async function H(){M.value=!0;try{let e=await _.get(`/members`);F.value=e.items||[],I.value=e.roles||[]}catch(e){b.error(h(e))}finally{M.value=!1}}async function U(){L.value=!0;try{await _.post(`/members`,R),b.success(`成员已创建`),N.value=!1,Object.assign(R,{username:``,display_name:``,password:``,role_code:`operator`}),await H()}catch(e){b.error(h(e))}finally{L.value=!1}}function W(e){P.value=e,Object.assign(z,{role_code:e.role_code,status:e.status})}async function G(){if(P.value){L.value=!0;try{await _.put(`/members/${P.value.id}`,z),b.success(`成员权限已更新`),P.value=null,await H()}catch(e){b.error(h(e))}finally{L.value=!1}}}return u(H),(n,i)=>{let u=v(`a-button`),d=v(`a-tag`),h=v(`a-table`),_=v(`a-input`),y=v(`a-form-item`),b=v(`a-input-password`),x=v(`a-select`),I=v(`a-form`),H=v(`a-drawer`),K=v(`a-segmented`),q=v(`a-modal`);return s(),f(`div`,T,[a(`div`,E,[i[10]||=a(`div`,null,[a(`h1`,null,`企业成员`),a(`p`,null,`分配 SOP 编辑、审核和一线执行职责,权限变更会立即生效。`)],-1),r(u,{type:`primary`,onClick:i[0]||=e=>N.value=!0},{default:m(()=>[r(l(S)),i[9]||=o(`添加成员`,-1)]),_:1})]),a(`section`,D,[r(l(w)),a(`div`,null,[a(`b`,null,t(F.value.filter(e=>e.status===`active`).length),1),i[11]||=a(`span`,null,`在用账号`,-1)]),i[12]||=a(`p`,null,`管理员拥有全部权限;编辑者维护场景与草稿;审核者负责发布;执行者只使用已发布 SOP 和自己的记录。`,-1)]),a(`section`,O,[r(h,{"row-key":`id`,loading:M.value,"data-source":F.value,columns:V,pagination:!1},{bodyCell:m(({column:n,record:i})=>[n.key===`member`?(s(),f(`div`,k,[a(`span`,null,t(i.display_name.slice(0,1)),1),a(`div`,null,[a(`b`,null,t(i.display_name),1),a(`small`,null,t(i.username),1)])])):n.dataIndex===`role_name`?(s(),p(d,{key:1},{default:m(()=>[o(t(i.role_name),1)]),_:2},1024)):n.dataIndex===`status`?(s(),p(d,{key:2,color:i.status===`active`?`green`:`default`},{default:m(()=>[o(t(i.status===`active`?`使用中`:`已停用`),1)]),_:2},1032,[`color`])):n.key===`action`?(s(),f(c,{key:3},[i.user_id===l(g).user?.user_id?e(``,!0):(s(),p(u,{key:0,type:`text`,"aria-label":`编辑成员权限`,onClick:e=>W(i)},{default:m(()=>[r(l(C))]),_:1},8,[`onClick`]))],64)):e(``,!0)]),_:1},8,[`loading`,`data-source`])]),r(H,{open:N.value,"onUpdate:open":i[5]||=e=>N.value=e,title:`添加企业成员`,width:`480`},{default:m(()=>[r(I,{layout:`vertical`,model:R,onFinish:U},{default:m(()=>[a(`div`,A,[r(y,{label:`登录用户名`,name:`username`,rules:[{required:!0,message:`请输入用户名`}]},{default:m(()=>[r(_,{value:R.username,"onUpdate:value":i[1]||=e=>R.username=e},null,8,[`value`])]),_:1}),r(y,{label:`显示名称`,name:`display_name`,rules:[{required:!0,message:`请输入显示名称`}]},{default:m(()=>[r(_,{value:R.display_name,"onUpdate:value":i[2]||=e=>R.display_name=e},null,8,[`value`])]),_:1})]),r(y,{label:`初始密码`,name:`password`,rules:[{required:!0,min:6,message:`密码至少 6 位`}]},{default:m(()=>[r(b,{value:R.password,"onUpdate:value":i[3]||=e=>R.password=e},null,8,[`value`])]),_:1}),r(y,{label:`角色`,name:`role_code`,rules:[{required:!0}]},{default:m(()=>[r(x,{value:R.role_code,"onUpdate:value":i[4]||=e=>R.role_code=e,options:B.value},null,8,[`value`,`options`])]),_:1}),r(u,{type:`primary`,"html-type":`submit`,block:``,loading:L.value},{default:m(()=>[...i[13]||=[o(`创建成员`,-1)]]),_:1},8,[`loading`])]),_:1},8,[`model`])]),_:1},8,[`open`]),r(q,{open:!!P.value,title:`调整成员权限`,"ok-text":`保存`,"confirm-loading":L.value,onOk:G,onCancel:i[8]||=e=>P.value=null},{default:m(()=>[P.value?(s(),f(`div`,j,[a(`b`,null,t(P.value.display_name),1),a(`span`,null,t(P.value.username),1)])):e(``,!0),r(I,{layout:`vertical`},{default:m(()=>[r(y,{label:`角色`},{default:m(()=>[r(x,{value:z.role_code,"onUpdate:value":i[6]||=e=>z.role_code=e,options:B.value},null,8,[`value`,`options`])]),_:1}),r(y,{label:`账号状态`},{default:m(()=>[r(K,{value:z.status,"onUpdate:value":i[7]||=e=>z.status=e,options:[{value:`active`,label:`使用中`},{value:`disabled`,label:`停用`}]},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`open`,`confirm-loading`])])}}}),[[`__scopeId`,`data-v-00e79f6a`]]);export{M as default};