Files
2026-10-30 11:17:15 +08:00

1 line
9.4 KiB
JavaScript

import{o as e}from"./request-xrnk7ZJV.js";import{Pr as t,t as n}from"./jsx-runtime-OfKoVykY.js";import{t as r}from"./tooltip-DI_m69zk.js";import{t as i}from"./config-provider-DDrois2A.js";import{t as a}from"./PlusOutlined-CKNTdA7h.js";import{n as o,t as s}from"./table-DgVv7_C-.js";import{t as c}from"./space-JYtHxLjg.js";import{t as l}from"./button-DsOd0cni.js";import{t as u}from"./SearchOutlined-8sZx0As_.js";import{n as d}from"./LockOutlined-CM922FLC.js";import{a as f,i as p,n as m,o as h,s as ee,t as te}from"./XinForm-lkQQPJzP.js";import{t as ne}from"./card-C-jMUkpS.js";import{n as g,t as re}from"./row-DM2jDy-f.js";import{t as ie}from"./divider-j0hopRxQ.js";import{t as ae}from"./dropdown-C2Q1pw1q.js";import{t as oe}from"./flex-DlUpxjJi.js";import{t as _}from"./form-CDfHsmlW.js";import{t as se}from"./input-BOiVaS7w.js";import{r as ce}from"./CopyOutlined-Bb8Wrh2R.js";import{t as v}from"./useTranslation-C4ZVtLa2.js";import{Ct as le,J as ue,U as de,Ut as fe,Y as pe,b as me,ct as he,r as ge}from"./index-DLqXr84t.js";import{t as y}from"./AuthButton-CIGfKIUu.js";var b=e(t(),1),x=ge(),S=n();function _e(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},...u}=e,{t:d}=v(),[f]=_.useForm(i),p=(0,b.useCallback)((e,t)=>{let{dataIndex:n,valueType:r,title:i=``,fieldProps:o={},fieldRender:c}=e,l=(0,x.pick)(e,[`colon`,`extra`,`getValueFromEvent`,`help`,`htmlFor`,`initialValue`,`labelAlign`,`labelCol`,`name`,`normalize`,`noStyle`,`tooltip`,`wrapperCol`,`layout`]),u=String(n)||`form-item-${t}`,d=(0,S.jsx)(m,{valueType:r,placeholder:i,...o}),p=(0,S.jsx)(_.Item,{style:{marginBottom:0},name:u,label:e.title,...l,required:!1,children:c?c(f):d},u);return a?(0,b.createElement)(g,{...s,...e.colProps,key:u},p):p},[f,a,s]),h=(0,b.useMemo)(()=>{if(r?.render===!1)return null;let e={search:(0,S.jsx)(l,{type:`primary`,onClick:()=>f.submit(),...r?.submitButtonProps,children:r?.submitText||d(`xin.table.search.search`)}),reset:(0,S.jsx)(l,{onClick:()=>{f.resetFields(),f.submit()},...r?.resetButtonProps,children:r?.resetText||d(`xin.table.search.reset`)})};return typeof r?.render==`function`?r.render(e):(0,S.jsx)(_.Item,{style:{marginBottom:0},children:(0,S.jsxs)(c,{size:16,children:[e.reset,e.search]})})},[f,r,d]);return(0,S.jsx)(_,{...u,form:f,onFinish:n,style:{width:`100%`},children:a?(0,S.jsxs)(re,{...o,children:[t.map((e,t)=>p(e,t)),(0,S.jsx)(g,{...s,children:h})]}):(0,S.jsxs)(S.Fragment,{children:[t.map((e,t)=>p(e,t)),h]})})}var ve=e(d(),1),C=10,w=1;function T(e){let{api:t,accessName:n,rowKey:d,columns:m,tableRef:g,formProps:re,modalProps:ge,cardProps:T,searchProps:ye,operateProps:be={},pagination:xe={},addShow:Se=!0,editShow:E=!0,deleteShow:D=!0,searchShow:O=!0,searchDefaultOpen:Ce=!1,operateShow:k=!0,paginationShow:we=!0,keywordSearchShow:Te=!0,toolBarRender:A,actionBarRender:j,operateRender:M,handleRequest:N,requestParams:P,handleFinish:F}=e,{t:I}=v(),L=(0,b.useRef)(null),[R,z]=(0,b.useState)(!0),[B,V]=(0,b.useState)([]),[H,Ee]=(0,b.useState)(0),[U,W]=(0,b.useState)({page:w,pageSize:C}),[G,K]=(0,b.useState)(),[q,De]=(0,b.useState)(),[J]=_.useForm(),[Y,Oe]=(0,b.useState)([]),[ke,Ae]=(0,b.useState)(Ce),[X,je]=(0,b.useState)(`create`),[Z,Me]=(0,b.useState)(void 0),Q=(0,b.useCallback)(async e=>{try{z(!0);let n=Object.assign({page:w,pageSize:C},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),Ee(i.total)}finally{z(!1)}},[t,N,P]),Ne=(0,b.useCallback)(()=>{je(`create`),Me(void 0),L.current?.resetFields(),L.current?.open()},[]),Pe=(0,b.useCallback)(e=>{je(`update`),Me(e),L.current?.setFieldsValue(e),L.current?.open()},[]);(0,b.useImperativeHandle)(g,()=>({reload:async()=>{await Q(U)},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,b.useEffect)(()=>{Q()},[]);let Fe=async(e,t,n)=>{let r={...U,page:e.current??U.page,pageSize:e.pageSize??U.pageSize};(0,x.isEmpty)(t)||(r.filterValues=t),n&&!(0,x.isArray)(n)&&!(0,x.isEmpty)(n)&&n.field?r.sorterValue={field:String(n.field),order:n.order===`ascend`?`asc`:`desc`}:delete r.sorterValue,W(r),await Q(r)},Ie=async e=>{if(!e){window.$message?.warning(I(`xin.table.keywordEmpty`));return}let t={...U,page:1,keywordSearch:e};W(t),await Q(t)},Le=e=>{if(e.target.value)W({...U,keywordSearch:e.target.value});else{let e={...U};delete e.keywordSearch,W(e)}},Re=async()=>{let e=J.getFieldsValue(),t={};Object.keys(e).forEach(n=>{let r=e[n];r===``||r==null||(0,x.isArray)(r)&&r.length===0?delete e[n]:ve.default.isDayjs(r)?(t[n]=r.format(`YYYY-MM-DD`),delete e[n]):(0,x.isArray)(r)&&r.length>0&&r.every(e=>ve.default.isDayjs(e))&&(t[n]=r.map(e=>e.format(`YYYY-MM-DD`)),delete e[n])});let n={...U};m.forEach(e=>{!e.hideInSearch&&e.dataIndex&&delete n[String(e.dataIndex)]}),Object.assign(n,e,t,{page:1}),W(n),await Q(n)},ze=(0,b.useMemo)(()=>O?m.filter(e=>e.hideInSearch!==!0):[],[m,O]),Be=(0,b.useMemo)(()=>m.filter(e=>X===`update`?e.hideInForm!==!0&&e.hideInUpdate!==!0:e.hideInForm!==!0&&e.hideInCreate!==!0),[m,X]),$=(0,b.useMemo)(()=>m.filter(e=>e.hideInTable!==!0&&e.dataIndex).map(e=>(0,x.omit)(e,[`hideInTable`,`hideInForm`,`hideInSearch`,`search`])),[m]);(0,b.useEffect)(()=>{let e=$.filter(e=>!e.defaultHiddenInTable).map(e=>e.dataIndex);Oe(e)},[$]);let Ve=t=>{let n=()=>(typeof E==`function`?E(t):E)?(0,S.jsx)(y,{auth:e.accessName+`.update`,children:(0,S.jsx)(r,{title:I(`xin.table.edit`),children:(0,S.jsx)(l,{type:`primary`,icon:(0,S.jsx)(ce,{}),size:`small`,onClick:()=>Pe(t)})})},`update`):null,i=()=>(typeof D==`function`?D(t):D)?(0,S.jsx)(y,{auth:e.accessName+`.delete`,children:(0,S.jsx)(r,{title:I(`xin.table.delete`),children:(0,S.jsx)(l,{danger:!0,type:`primary`,icon:(0,S.jsx)(he,{}),size:`small`,onClick:()=>He(t)})})},`delete`):null;return M?M(t,{del:i(),edit:n()}):[i(),n()]},He=async e=>{window.$modal?.confirm({title:I(`xin.table.deleteConfirm`,{id:e[d]}),okText:I(`xin.table.deleteOk`),cancelText:I(`xin.table.deleteCancel`),onOk:async()=>{await f(t+`/${e[d]}`),window.$message?.success(I(`xin.table.deleteSuccess`)),await Q(U)}})},Ue=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&&d)await ee(t+`/${Z[d]}`,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)}},We={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`]},Ge=(0,b.useMemo)(()=>m.filter(e=>e.hideInTable!==!0&&e.dataIndex).map(e=>({key:String(e.dataIndex),title:e.title})),[m]),Ke=e=>{(0,x.isArray)(e)&&Oe(e)},qe=(0,b.useMemo)(()=>{let e=$.filter(e=>Y.includes(e.dataIndex));return k?[...e,{title:I(`xin.table.operate`),key:`operate`,align:`center`,...be,render:(e,t)=>(0,S.jsx)(c,{children:[...Ve(t)]})}]:e},[$,Y,k]),Je={showQuickJumper:!0,showSizeChanger:!0,showTotal:e=>I(`xin.table.total`,{total:e}),pageSize:U.pageSize,...xe,current:U.page,total:H},Ye=()=>{let e=Se?(0,S.jsx)(y,{auth:n+`.create`,children:(0,S.jsx)(l,{type:`primary`,onClick:Ne,icon:(0,S.jsx)(a,{}),children:I(`xin.table.add`)})}):null,t=O?(0,S.jsx)(l,{type:`primary`,icon:(0,S.jsx)(u,{}),onClick:()=>Ae(!ke),children:`搜索`}):null,r=Te?(0,S.jsx)(se.Search,{onChange:Le,placeholder:I(`xin.table.keywordPlaceholder`),style:{width:200},value:U.keywordSearch,onSearch:Ie}):null;return j?j({add:e,search:t,keywordSearch:r}).filter(Boolean):[e,t,r].filter(Boolean)},Xe=()=>{let e=(0,S.jsx)(r,{title:`刷新表格`,children:(0,S.jsx)(l,{type:`text`,icon:(0,S.jsx)(le,{}),onClick:()=>Q()})}),t=(0,S.jsx)(ae,{menu:We,trigger:[`click`],children:(0,S.jsx)(l,{type:`text`,icon:(0,S.jsx)(de,{})})}),n=(0,S.jsx)(r,{title:I(q?`xin.table.hideBorder`:`xin.table.showBorder`),children:(0,S.jsx)(l,{type:`text`,icon:q?(0,S.jsx)(pe,{}):(0,S.jsx)(ue,{}),onClick:()=>De(!q)})}),a=(0,S.jsx)(fe,{content:(0,S.jsx)(i,{theme:{components:{Tree:{switcherSize:12}}},children:(0,S.jsx)(o,{icon:!1,blockNode:!0,checkable:!0,treeData:Ge,selectable:!1,checkedKeys:Y,onCheck:Ke})}),trigger:`click`,placement:`bottomRight`,title:I(`xin.table.columnSettings`),children:(0,S.jsx)(r,{title:I(`xin.table.columnSettings`),children:(0,S.jsx)(l,{type:`text`,icon:(0,S.jsx)(me,{})})})});return A?A({reload:e,columnHeight:t,hideBorder:n,columnSetting:a}).filter(Boolean):[e,t,n,a]};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsxs)(ne,{...T,children:[ke&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(_e,{form:J,columns:ze,handleSearch:Re,...ye}),(0,S.jsx)(ie,{})]}),(0,S.jsxs)(oe,{justify:`space-between`,align:`center`,style:{marginBottom:20,overflow:`auto`},children:[(0,S.jsx)(c,{children:[...Ye()]}),(0,S.jsx)(c,{size:1,children:[...Xe()]})]}),(0,S.jsx)(s,{loading:R,dataSource:B,size:G,bordered:q,...e,scroll:e.scroll??{x:`max-content`},columns:qe,rowKey:d,onChange:Fe,pagination:we?Je:!1})]}),(0,S.jsx)(te,{...re,columns:Be,formRef:L,layoutType:`ModalForm`,modalProps:{title:I(X===`update`?`xin.table.form.editTitle`:`xin.table.form.createTitle`),styles:{header:{marginBottom:16}},...ge},onFinish:Ue})]})}export{T as t};