2 lines
6.2 KiB
JavaScript
2 lines
6.2 KiB
JavaScript
|
|
import{u as K,a2 as Y,r,j as e,T as G,Y as N,ab as Q,B as c,a4 as E,ac as U,ad as W,a7 as y,a8 as X,c as Z,a5 as ee,a6 as se,ae as te,af as ae,s as _}from"./index-2nzO_M0d.js";import{l as re}from"./tenant-DIAbFuKr.js";import{l as oe,d as ne,u as le,c as ie}from"./org-U7JXFZc6.js";import{u as ce}from"./useDict-Cjy4qKoT.js";import{P as de}from"./index-Ds3G3GDW.js";import{F as l}from"./index-BNTgrN92.js";import{T as P}from"./index-CASbXnpp.js";import{P as me}from"./index-t62uv_8b.js";import{C as k}from"./index-ESbS3nHt.js";import{F as ue}from"./Table-UD3nj3r6.js";import{I as v}from"./index-fAufRegR.js";import{R as pe,C as F}from"./row-CR991LIl.js";import"./useForm-CzLkm9RK.js";import"./index-z7YG9RTL.js";import"./Pagination-CRtRHhmu.js";const{Text:R}=G;function ge(s){const n=new Map,d=[];s.forEach(a=>{n.set(a.id,{...a,children:[]})}),n.forEach(a=>{a.parentId&&n.has(a.parentId)?n.get(a.parentId).children.push(a):d.push(a)});const g=a=>{a.sort((m,x)=>(m.sortOrder||0)-(x.sortOrder||0)),a.forEach(m=>m.children&&g(m.children))};return g(d),d}function _e(){var O;const{t:s}=K(),{can:n}=Y(),{items:d}=ce("sys_common_status"),[g,a]=r.useState(!1),[m,x]=r.useState(!1),[f,D]=r.useState([]),[b,M]=r.useState([]),[i,I]=r.useState(void 0),[V,u]=r.useState(!1),[w,T]=r.useState(null),[p]=l.useForm(),h=r.useMemo(()=>{const t=sessionStorage.getItem("userProfile");return t?JSON.parse(t).isPlatformAdmin&&localStorage.getItem("activeTenantId")==="0":!1},[]),C=r.useMemo(()=>Number(localStorage.getItem("activeTenantId")||0),[]),z=async()=>{if(!h){I(C);return}try{const o=(await re({current:1,size:100})).records||[];M(o),o.length>0&&i===void 0&&I(o[0].id)}catch{}},j=async()=>{if(i!==void 0){a(!0);try{const t=await oe(i);D(t||[])}finally{a(!1)}}};r.useEffect(()=>{z()},[]),r.useEffect(()=>{j()},[i]);const $=r.useMemo(()=>ge(f),[f]),L=r.useMemo(()=>f.map(t=>({label:t.orgName,value:t.id})),[f]),S=t=>{T(null),p.resetFields(),p.setFieldsValue({tenantId:i,parentId:t,status:1,sortOrder:0}),u(!0)},q=t=>{T(t),p.setFieldsValue(t),u(!0)},A=async t=>{await ne(t),_.success(s("common.success")),j()},B=async()=>{const t=await p.validateFields();x(!0);try{w?await le(w.id,t):await ie(t),_.success(s("common.success")),u(!1),j()}finally{x(!1)}},H=[{title:s("orgs.orgName"),dataIndex:"orgName",key:"orgName",render:t=>e.jsx(R,{strong:!0,children:t})},{title:s("orgs.orgCode"),dataIndex:"orgCode",key:"orgCode",width:150,render:t=>e.jsx(P,{className:"tabular-nums",children:t||"-"})},{title:s("orgs.sort"),dataIndex:"sortOrder",width:100,className:"tabular-nums"},{title:s("common.status"),dataIndex:"status",width:100,render:t=>{const o=d.find(J=>J.itemValue===String(t));return e.jsx(P,{color:t===1?"green":"red",children:o?o.itemLabel:s(t===1?"orgsExt.enabled":"orgsExt.disabled")})}},{title:s("common.action"),key:"action",width:180,render:(t,o)=>e.jsxs(N,{children:[n("sys:org:create")&&e.jsx(Q,{title:s("orgs.addSub"),children:e.jsx(c,{type:"text",size:"small",icon:e.jsx(E,{"aria-hidden":"true"}),onClick:()=>S(o.id),"aria-label":s("orgs.addSub")})}),n("sys:org:update")&&e.jsx(c,{type:"text",size:"small",icon:e.jsx(U,{"aria-hidden":"true"}),onClick:()=>q(o),"aria-label":s("common.edit")}),n("sys:org:delete")&&e.jsx(me,{title:s("orgsExt.deleteConfirm",{name:o.orgName}),okText:s("common.confirm"),cancelText:s("common.cancel"),onConfirm:()=>A(o.id),children:e.jsx(c,{type:"text",size:"small",danger:!0,icon:e.jsx(W,{"aria-hidden":"true"}),"aria-label":s("common.delete")})})]})}];return e.jsxs("div",{className:"app-page",children:[e.jsx(de,{title:s("orgs.title"),subtitle:s("orgs.subtitle")}),e.jsx("div",{className:"app-page__page-actions",children:n("sys:org:create")&&e.jsx(c,{type:"primary",icon:e.jsx(E,{"aria-hidden":"true"}),onClick:()=>S(),children:s("common.create")})}),h&&e.jsx(k,{className:"app-page__filter-card",styles:{body:{padding:"16px"}},children:e.jsxs(N,{className:"app-page__toolbar",children:[e.jsx(R,{strong:!0,children:s("users.tenant")}),e.jsx(y,{style:{width:220},placeholder:s("orgs.selectTenant"),value:i,onChange:I,options:b.map(t=>({label:t.tenantName,value:t.id}))
|