Files
school2/public/assets/XinTable-Cyzgse09.js
T
2026-07-13 15:23:29 +08:00

1 line
8.5 KiB
JavaScript

import{Or as e,Tr as t,n,t as r,tt as i}from"./jsx-runtime-NwRKtVrk.js";import{r as a}from"./CopyOutlined-bJLUKQgS.js";import{r as o}from"./statusUtils-G17j4Ng-.js";import{n as s,t as c}from"./table-By97ouEx.js";import{t as l}from"./button-CM-rzMOH.js";import{t as u}from"./space-Dvitgohy.js";import{t as d}from"./card-D7XvzVif.js";import{a as f,i as p,n as m,o as h,s as ee,t as te}from"./XinForm-ihfVpzb6.js";import{C as ne,Wt as re,X as ie,mt as ae,nt as oe,rt as se,v as ce}from"./es-Do50EHua.js";import{t as le}from"./flex-CfpySdsa.js";import{C as g,M as ue,N as _,S as de,T as fe,X as pe,r as v,s as y,v as b}from"./index-B7MUL4ct.js";import{t as x}from"./AuthButton-MNxRWjhj.js";var S=e(t(),1),C=v(),w=r();function me(e){let{columns:t,handleSearch:n,submitter:r,form:i,grid:a=!0,rowProps:o={gutter:[20,20],wrap:!0},colProps:s={xs:24,sm:12,md:12,lg:8,xl:6,xxl:4},...c}=e,{t:d}=y(),[f]=g.useForm(i),p=(0,S.useCallback)((e,t)=>{let{dataIndex:n,valueType:r,title:i=``,fieldProps:o={},fieldRender:c}=e,l=(0,C.pick)(e,[`colon`,`extra`,`getValueFromEvent`,`help`,`htmlFor`,`initialValue`,`labelAlign`,`labelCol`,`name`,`normalize`,`noStyle`,`tooltip`,`wrapperCol`,`layout`]),u=String(n)||`form-item-${t}`,d=(0,w.jsx)(m,{valueType:r,placeholder:i,...o}),p=(0,w.jsx)(g.Item,{style:{marginBottom:0},name:u,label:e.title,...l,required:!1,children:c?c(f):d},u);return a?(0,S.createElement)(_,{...s,...e.colProps,key:u},p):p},[f,a,s]),h=(0,S.useMemo)(()=>{if(r?.render===!1)return null;let e={search:(0,w.jsx)(l,{type:`primary`,onClick:()=>f.submit(),...r?.submitButtonProps,children:r?.submitText||d(`xin.table.search.search`)}),reset:(0,w.jsx)(l,{onClick:()=>f.resetFields(),...r?.resetButtonProps,children:r?.resetText||d(`xin.table.search.reset`)})};return typeof r?.render==`function`?r.render(e):(0,w.jsx)(g.Item,{style:{marginBottom:0},children:(0,w.jsxs)(u,{size:16,children:[e.reset,e.search]})})},[f,r,d]);return(0,w.jsx)(g,{...c,form:f,onFinish:n,style:{width:`100%`},children:a?(0,w.jsxs)(b,{...o,children:[t.map((e,t)=>p(e,t)),(0,w.jsx)(_,{...s,children:h})]}):(0,w.jsxs)(w.Fragment,{children:[t.map((e,t)=>p(e,t)),h]})})}var he=10,ge=1;function T(e){let{api:t,accessName:r,rowKey:m,columns:_,tableRef:v,formProps:b,modalProps:T,cardProps:_e,searchProps:ve,operateProps:ye={},pagination:be={},addShow:xe=!0,editShow:E=!0,deleteShow:D=!0,searchShow:O=!0,operateShow:k=!0,paginationShow:Se=!0,keywordSearchShow:Ce=!0,toolBarRender:A,actionBarRender:j,operateRender:M,handleRequest:N,requestParams:P,handleFinish:F}=e,{t:I}=y(),L=(0,S.useRef)(null),[R,z]=(0,S.useState)(!0),[B,V]=(0,S.useState)([]),[H,we]=(0,S.useState)(0),[U,W]=(0,S.useState)({page:ge,pageSize:he}),[G,K]=(0,S.useState)(),[q,Te]=(0,S.useState)(),[J]=g.useForm(),[Y,Ee]=(0,S.useState)([]),[De,Oe]=(0,S.useState)(!1),[X,ke]=(0,S.useState)(`create`),[Z,Ae]=(0,S.useState)(void 0),Q=(0,S.useCallback)(async e=>{try{z(!0);let n=Object.assign({page:ge,pageSize:he},e),r=P?P(n):n,i;if(N)i=await N(r);else{let{data:e}=await h(t,r);i=e.data}V(i.data),we(i.total)}finally{z(!1)}},[t,N,P]),je=(0,S.useCallback)(()=>{ke(`create`),Ae(void 0),L.current?.resetFields(),L.current?.open()},[]),Me=(0,S.useCallback)(e=>{ke(`update`),Ae(e),L.current?.setFieldsValue(e),L.current?.open()},[]);(0,S.useImperativeHandle)(v,()=>({reload:async()=>{await Q()},reset:async()=>{J.resetFields(),W({page:1,pageSize:10}),await Q({page:1,pageSize:10})},getDataSource:()=>B,setDataSource:V,getTotal:()=>H,getLoading:()=>R,setLoading:z,setPageInfo:(e,t)=>{W(n=>({...n,...e!==void 0&&{page:e},...t!==void 0&&{pageSize:t}}))},getForm:()=>L.current,getSearchForm:()=>J})),(0,S.useEffect)(()=>{Q()},[]);let Ne=async(e,t,n)=>{let r={...U,page:e.current??U.page,pageSize:e.pageSize??U.pageSize};(0,C.isEmpty)(t)||(r.filterValues=t),n&&!(0,C.isArray)(n)&&!(0,C.isEmpty)(n)&&n.field?r.sorterValue={field:String(n.field),order:n.order===`ascend`?`asc`:`desc`}:delete r.sorterValue,W(r),await Q(r)},Pe=async e=>{if(!e){window.$message?.warning(I(`xin.table.keywordEmpty`));return}let t={...U,page:1,keywordSearch:e};W(t),await Q(t)},Fe=e=>{if(e.target.value)W({...U,keywordSearch:e.target.value});else{let e={...U};delete e.keywordSearch,W(e)}},Ie=async()=>{let e=J.getFieldsValue();Object.keys(e).forEach(t=>{(e[t]===``||e[t]===void 0)&&delete e[t]}),await Q({page:1,...U,...e})},Le=(0,S.useMemo)(()=>O?_.filter(e=>e.hideInSearch!==!0):[],[_,O]),Re=(0,S.useMemo)(()=>_.filter(e=>X===`update`?e.hideInForm!==!0&&e.hideInUpdate!==!0:e.hideInForm!==!0&&e.hideInCreate!==!0),[_,X]),$=(0,S.useMemo)(()=>_.filter(e=>e.hideInTable!==!0&&e.dataIndex).map(e=>(0,C.omit)(e,[`hideInTable`,`hideInForm`,`hideInSearch`,`search`])),[_]);(0,S.useEffect)(()=>{Ee($.map(e=>e.dataIndex))},[$]);let ze=t=>{let n=()=>(typeof E==`function`?E(t):E)?(0,w.jsx)(x,{auth:e.accessName+`.update`,children:(0,w.jsx)(o,{title:I(`xin.table.edit`),children:(0,w.jsx)(l,{type:`primary`,icon:(0,w.jsx)(a,{}),size:`small`,onClick:()=>Me(t)})})},`update`):null,r=()=>(typeof D==`function`?D(t):D)?(0,w.jsx)(x,{auth:e.accessName+`.delete`,children:(0,w.jsx)(o,{title:I(`xin.table.delete`),children:(0,w.jsx)(l,{danger:!0,type:`primary`,icon:(0,w.jsx)(ae,{}),size:`small`,onClick:()=>Be(t)})})},`delete`):null;return M?M(t,{del:r(),edit:n()}):[r(),n()]},Be=async e=>{window.$modal?.confirm({title:I(`xin.table.deleteConfirm`,{id:e[m]}),okText:I(`xin.table.deleteOk`),cancelText:I(`xin.table.deleteCancel`),onOk:async()=>{await f(t+`/${e[m]}`),window.$message?.success(I(`xin.table.deleteSuccess`)),await Q(U)}})},Ve=async e=>{try{if(L.current?.setLoading(!0),F){await F(e,X,L,Z)&&(await Q(U),L.current?.close());return}if(X===`create`)await p(t,e),window.$message?.success(I(`xin.table.form.createSuccess`));else if(Z&&m)await ee(t+`/${Z[m]}`,e),window.$message?.success(I(`xin.table.form.updateSuccess`));else{window.$message?.error(I(`xin.table.form.updateKeyUndefined`));return}await Q(U),L.current?.close()}finally{L.current?.setLoading(!1)}},He={items:[{key:`large`,label:I(`xin.table.density.default`),onClick:()=>K(`large`)},{key:`middle`,label:I(`xin.table.density.middle`),onClick:()=>K(`middle`)},{key:`small`,label:I(`xin.table.density.compact`),onClick:()=>K(`small`)}],selectedKeys:[G||`large`]},Ue=(0,S.useMemo)(()=>_.filter(e=>e.hideInTable!==!0&&e.dataIndex).map(e=>({key:String(e.dataIndex),title:e.title})),[_]),We=e=>{(0,C.isArray)(e)&&Ee(e)},Ge=(0,S.useMemo)(()=>{let e=$.filter(e=>Y.includes(e.dataIndex));return k?[...e,{title:I(`xin.table.operate`),key:`operate`,align:`center`,...ye,render:(e,t)=>(0,w.jsx)(u,{children:[...ze(t)]})}]:e},[$,Y,k]),Ke={showQuickJumper:!0,showSizeChanger:!0,showTotal:e=>I(`xin.table.total`,{total:e}),pageSize:U.pageSize,...be,current:U.page,total:H},qe=()=>{let e=xe?(0,w.jsx)(x,{auth:r+`.create`,children:(0,w.jsx)(l,{type:`primary`,onClick:je,icon:(0,w.jsx)(n,{}),children:I(`xin.table.add`)})}):null,t=O?(0,w.jsx)(l,{type:`primary`,icon:(0,w.jsx)(re,{}),onClick:()=>Oe(!De),children:`搜索`}):null,i=Ce?(0,w.jsx)(de.Search,{onChange:Fe,placeholder:I(`xin.table.keywordPlaceholder`),style:{width:200},value:U.keywordSearch,onSearch:Pe}):null;return j?j({add:e,search:t,keywordSearch:i}).filter(Boolean):[e,t,i].filter(Boolean)},Je=()=>{let e=(0,w.jsx)(o,{title:`刷新表格`,children:(0,w.jsx)(l,{type:`text`,icon:(0,w.jsx)(ne,{}),onClick:()=>Q()})}),t=(0,w.jsx)(fe,{menu:He,trigger:[`click`],children:(0,w.jsx)(l,{type:`text`,icon:(0,w.jsx)(ie,{})})}),n=(0,w.jsx)(o,{title:I(q?`xin.table.hideBorder`:`xin.table.showBorder`),children:(0,w.jsx)(l,{type:`text`,icon:q?(0,w.jsx)(se,{}):(0,w.jsx)(oe,{}),onClick:()=>Te(!q)})}),r=(0,w.jsx)(pe,{content:(0,w.jsx)(i,{theme:{components:{Tree:{switcherSize:12}}},children:(0,w.jsx)(s,{icon:!1,blockNode:!0,checkable:!0,treeData:Ue,selectable:!1,checkedKeys:Y,onCheck:We})}),trigger:`click`,placement:`bottomRight`,title:I(`xin.table.columnSettings`),children:(0,w.jsx)(o,{title:I(`xin.table.columnSettings`),children:(0,w.jsx)(l,{type:`text`,icon:(0,w.jsx)(ce,{})})})});return A?A({reload:e,columnHeight:t,hideBorder:n,columnSetting:r}).filter(Boolean):[e,t,n,r]};return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(d,{..._e,children:[De&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(me,{form:J,columns:Le,handleSearch:Ie,...ve}),(0,w.jsx)(ue,{})]}),(0,w.jsxs)(le,{justify:`space-between`,align:`center`,style:{marginBottom:20},children:[(0,w.jsx)(u,{children:[...qe()]}),(0,w.jsx)(u,{size:1,children:[...Je()]})]}),(0,w.jsx)(c,{loading:R,dataSource:B,size:G,bordered:q,...e,columns:Ge,rowKey:m,onChange:Ne,pagination:Se?Ke:!1})]}),(0,w.jsx)(te,{...b,columns:Re,formRef:L,layoutType:`ModalForm`,modalProps:{title:I(X===`update`?`xin.table.form.editTitle`:`xin.table.form.createTitle`),styles:{header:{marginBottom:16}},...T},onFinish:Ve})]})}export{T as t};