useTable-7a4a5cf1.js 8.6 KB

1
  1. import{d as te,ap as c,r as P,b as re,a,e as $,w as R,l as se,X as ce,f as g,W as de,m as H,N as pe,V as I,H as ae,cP as ue,bN as ge,o as S,c as Q,aX as me,P as fe,B as L,aL as Y,A as N,G as B,D as M,E as z,aE as he,F as we,_ as ye,L as be,x as xe,bg as ne,bh as oe,n as ve}from"./index-bf9ff227.js";import{g as W,_ as Pe}from"./Form-62986f5d.js";import{E as Se}from"./index-1943929a.js";import{_ as Ae}from"./_plugin-vue_export-helper-1b428a4d.js";import{u as ke}from"./useForm-a240e461.js";import{d as Le}from"./download-20922b56.js";const ze=Ae(te({name:"Table",props:{pageSize:c.number.def(10),currentPage:c.number.def(1),selection:c.bool.def(!1),showOverflowTooltip:c.bool.def(!0),columns:{type:Array,default:()=>[]},expand:c.bool.def(!1),pagination:{type:Object,default:()=>{}},reserveSelection:c.bool.def(!1),loading:c.bool.def(!1),reserveIndex:c.bool.def(!1),align:c.string.validate(e=>["left","center","right"].includes(e)).def("center"),headerAlign:c.string.validate(e=>["left","center","right"].includes(e)).def("center"),data:{type:Array,default:()=>[]}},emits:["update:pageSize","update:currentPage","register"],setup(e,{attrs:o,slots:p,emit:m,expose:O}){const u=P();re(()=>{const t=a(u);m("register",t==null?void 0:t.$parent,u)});const b=P(e.pageSize),f=P(e.currentPage),n=P({}),i=P({}),l=$(()=>{const t={...e};return Object.assign(t,a(i)),t}),x=(t,_)=>{var A;const{columns:T}=a(l);for(const C of _||T)for(const j of t)C.field===j.field?pe(C,j.path,j.value):(A=C.children)!=null&&A.length&&x(t,C.children)},q=P([]),E=t=>{q.value=t};O({setProps:(t={})=>{i.value=Object.assign(a(i),t),n.value=t},setColumn:x,selections:q});const r=$(()=>Object.assign({small:!1,background:!0,pagerCount:document.body.clientWidth<992?5:7,layout:"total, sizes, prev, pager, next, jumper",pageSizes:[10,20,30,50,100],disabled:!1,hideOnSinglePage:!1,total:10},a(l).pagination));R(()=>a(l).pageSize,t=>{b.value=t}),R(()=>a(l).currentPage,t=>{f.value=t}),R(()=>b.value,t=>{m("update:pageSize",t)}),R(()=>f.value,t=>{m("update:currentPage",t)});const v=$(()=>{const t={...o,...e};return delete t.columns,delete t.data,t}),d=()=>{const{selection:t,reserveSelection:_,align:T,headerAlign:A}=a(l);return t?g(I,{type:"selection",reserveSelection:_,align:T,headerAlign:A,width:"50"},null):void 0},w=()=>{const{align:t,headerAlign:_,expand:T}=a(l);return T?g(I,{type:"expand",align:t,headerAlign:_},{default:A=>W(p,"expand",A)}):void 0},U=t=>{const{columns:_,reserveIndex:T,pageSize:A,currentPage:C,align:j,headerAlign:Z,showOverflowTooltip:ie}=a(l);return[w(),d()].concat((t||_).map(s=>{if(s.type==="index")return g(I,{type:"index",index:s.index?s.index:D=>((k,X,V,J)=>{const G=X+1;return k?V*(J-1)+G:G})(T,D,A,C),align:s.align||j,headerAlign:s.headerAlign||Z,label:s.label,width:"65px"},null);{const D={...s};return D.children&&delete D.children,g(I,H({showOverflowTooltip:ie,align:j,headerAlign:Z},D,{prop:s.field}),{default:k=>{var X;return s.children&&s.children.length?(V=>{const{align:J,headerAlign:G,showOverflowTooltip:le}=a(l);return V.map(h=>{const K={...h};return K.children&&delete K.children,g(I,H({showOverflowTooltip:le,align:J,headerAlign:G},K,{prop:h.field}),{default:F=>{var ee;return h.children&&h.children.length?U(h.children):W(p,h.field,F)||((ee=h==null?void 0:h.formatter)==null?void 0:ee.call(h,F.row,F.column,F.row[h.field],F.$index))||F.row[h.field]},header:W(p,`${h.field}-header`)})})})(s.children):W(p,s.field,k)||((X=s==null?void 0:s.formatter)==null?void 0:X.call(s,k.row,k.column,k.row[s.field],k.$index))||k.row[s.field]},header:()=>W(p,`${s.field}-header`)||s.label})}}))};return()=>se(g("div",null,[g(de,H({ref:u,data:a(l).data,"onSelection-change":E},a(v)),{default:()=>U(),append:()=>W(p,"append")}),a(l).pagination?g(Se,H({pageSize:b.value,"onUpdate:pageSize":t=>b.value=t,currentPage:f.value,"onUpdate:currentPage":t=>f.value=t,class:"float-right mb-15px mt-15px"},a(r)),null):void 0]),[[ce,a(l).loading]])}}),[["__scopeId","data-v-13b1dc86"]]),Oe={key:0},_e=te({name:"Search",__name:"Search",props:{schema:{type:Array,default:()=>[]},isCol:c.bool.def(!1),labelWidth:c.oneOfType([String,Number]).def("auto"),layout:c.string.validate(e=>["inline","bottom"].includes(e)).def("inline"),buttomPosition:c.string.validate(e=>["left","center","right"].includes(e)).def("center"),showSearch:c.bool.def(!0),showReset:c.bool.def(!0),expand:c.bool.def(!1),expandField:c.string.def(""),inline:c.bool.def(!0),model:{type:Object,default:()=>({})}},emits:["search","reset"],setup(e,{emit:o}){const{t:p}=ae(),m=e,O=o,u=P(!0),b=$(()=>{let r=ue(m.schema);if(m.expand&&m.expandField&&!a(u)){const v=ge(r,d=>d.field===m.expandField);if(v>-1){const d=r.length;r.splice(v+1,d)}}return m.layout==="inline"&&(r=r.concat([{field:"action",formItemProps:{labelWidth:"0px"}}])),r}),{register:f,elFormRef:n,methods:i}=ke({model:m.model||{}}),l=async()=>{var r;await((r=a(n))==null?void 0:r.validate(async v=>{if(v){const{getFormData:d}=i,w=await d();O("search",w)}}))},x=async()=>{var d;(d=a(n))==null||d.resetFields();const{getFormData:r}=i,v=await r();O("reset",v)},q=$(()=>({textAlign:m.buttomPosition})),E=()=>{var r;(r=a(n))==null||r.resetFields(),u.value=!a(u)};return(r,v)=>{const d=ye,w=be,U=Pe;return S(),Q(we,null,[g(U,{inline:e.inline,"is-col":e.isCol,"is-custom":!1,"label-width":e.labelWidth,schema:a(b),class:"-mb-15px","hide-required-asterisk":"",onRegister:a(f)},me({action:L(()=>[e.layout==="inline"?(S(),Q("div",Oe,[e.showSearch?(S(),N(w,{key:0,onClick:l},{default:L(()=>[g(d,{class:"mr-5px",icon:"ep:search"}),B(" "+M(a(p)("common.query")),1)]),_:1})):z("",!0),e.showReset?(S(),N(w,{key:1,onClick:x},{default:L(()=>[g(d,{class:"mr-5px",icon:"ep:refresh"}),B(" "+M(a(p)("common.reset")),1)]),_:1})):z("",!0),e.expand?(S(),N(w,{key:2,text:"",onClick:E},{default:L(()=>[B(M(a(p)(a(u)?"common.shrink":"common.expand"))+" ",1),g(d,{icon:a(u)?"ep:arrow-up":"ep:arrow-down"},null,8,["icon"])]),_:1})):z("",!0),Y(r.$slots,"actionMore")])):z("",!0)]),_:2},[fe(Object.keys(r.$slots),t=>({name:t,fn:L(()=>[Y(r.$slots,t)])}))]),1032,["inline","is-col","label-width","schema","onRegister"]),e.layout==="bottom"?(S(),Q("div",{key:0,style:he(a(q))},[e.showSearch?(S(),N(w,{key:0,type:"primary",onClick:l},{default:L(()=>[g(d,{class:"mr-5px",icon:"ep:search"}),B(" "+M(a(p)("common.query")),1)]),_:1})):z("",!0),e.showReset?(S(),N(w,{key:1,onClick:x},{default:L(()=>[g(d,{class:"mr-5px",icon:"ep:refresh-right"}),B(" "+M(a(p)("common.reset")),1)]),_:1})):z("",!0),e.expand?(S(),N(w,{key:2,text:"",onClick:E},{default:L(()=>[B(M(a(p)(a(u)?"common.shrink":"common.expand"))+" ",1),g(d,{icon:a(u)?"ep:arrow-up":"ep:arrow-down"},null,8,["icon"])]),_:1})):z("",!0),Y(r.$slots,"actionMore")],4)):z("",!0)],64)}}}),{t:y}=ae(),Te=e=>{const o=xe({pageSize:10,currentPage:1,total:10,tableList:[],params:{...(e==null?void 0:e.defaultParams)||{}},loading:!0,exportLoading:!1,currentRow:null}),p=$(()=>({...o.params,pageSize:o.pageSize,pageNo:o.currentPage}));R(()=>o.currentPage,()=>{f.getList()}),R(()=>o.pageSize,()=>{o.currentPage===1||(o.currentPage=1),f.getList()});const m=P(),O=P(),u=async()=>(await ve(),a(m)),b=async n=>{let i=1;n instanceof Array?(i=n.length,await Promise.all(n.map(async l=>{await((e==null?void 0:e.delListApi)&&(e==null?void 0:e.delListApi(l)))}))):await((e==null?void 0:e.delListApi)&&(e==null?void 0:e.delListApi(n))),ne.success(y("common.delSuccess")),o.currentPage=(o.total%o.pageSize===i||o.pageSize===1)&&o.currentPage>1?o.currentPage-1:o.currentPage,await f.getList()},f={getList:async()=>{o.loading=!0;const n=await(e==null?void 0:e.getListApi(a(p)).finally(()=>{o.loading=!1}));n&&(o.tableList=n.list,o.total=n.total??0)},setProps:async(n={})=>{const i=await u();i==null||i.setProps(n)},setColumn:async n=>{const i=await u();i==null||i.setColumn(n)},getSelections:async()=>{const n=await u();return(n==null?void 0:n.selections)||[]},setSearchParams:n=>{o.params=Object.assign(o.params,{pageSize:o.pageSize,pageNo:1,...n}),o.currentPage!==1?o.currentPage=1:f.getList()},delList:async(n,i,l=!0)=>{const x=await u();!i||x!=null&&x.selections.length?l?oe.confirm(y("common.delMessage"),y("common.confirmTitle"),{confirmButtonText:y("common.ok"),cancelButtonText:y("common.cancel"),type:"warning"}).then(async()=>{await b(n)}):await b(n):ne.warning(y("common.delNoData"))},exportList:async n=>{o.exportLoading=!0,oe.confirm(y("common.exportMessage"),y("common.confirmTitle"),{confirmButtonText:y("common.ok"),cancelButtonText:y("common.cancel"),type:"warning"}).then(async()=>{var l;const i=await((l=e==null?void 0:e.exportListApi)==null?void 0:l.call(e,a(p)));i&&Le.excel(i,n)}).finally(()=>{o.exportLoading=!1})}};return e!=null&&e.props&&f.setProps(e.props),{register:(n,i)=>{m.value=n,O.value=i},elTableRef:O,tableObject:o,methods:f,tableMethods:f}};export{_e as _,ze as a,Te as u};