index-e86d3027.js 1.8 KB

1
  1. import{s as k,A as R}from"./index-e2f32207.js";import{u as B}from"./vue-router-e674635e.js";import{u as _}from"./base-a97bc293.js";import{a as d,o as x,f as N,U as v,V as b,W as A,R as g,j as V,X as S,a3 as D,G as K,a5 as $}from"./vue-f0dec34d.js";const F={__name:"index",props:{columns:Array,param:Object,hideBorder:Boolean,size:String,loading:Boolean,tableRowStyle:Function},emits:["onSelect"],setup(l,{expose:f,emit:w}){const n=l,h=_();let{tableRecord:t}=k(h);B();const m=d([]),r=d([]),p=d(0),y=(e,s)=>{r.value=e},C=(e,s,o,{currentDataSource:u})=>{r.value=t.value.map(a=>a.itemid),n.param.content.pageNumber=e.current,n.param.content.pageSize=e.pageSize,i()},i=async(e,s)=>{const o=await R.requested(n.param);m.value=o.data,p.value=o.total},z=async(e,s,o,u)=>{s?t.value.push(e):t.value=t.value.filter(a=>a.itemid!==e.itemid),w("onSelect",t.value)};return x(()=>{i()}),N(()=>{t.value=[]}),f({listData:i,selectedRowKeys:r,tableRecord:t}),(e,s)=>{const o=v("a-button"),u=v("a-table");return b(),A("div",null,[g(e.$slots,"operation"),V(u,{loading:l.loading,class:"ant-table-striped","row-selection":{type:"checkbox",selectedRowKeys:r.value,onChange:y,fixed:!0,onSelect:z,hideSelectAll:!0},rowKey:"itemid","keep-selection":!0,columns:n.columns,"data-source":m.value,scroll:{x:"max-content"},pagination:{showSizeChanger:!0,defaultPageSize:20,total:p.value,current:n.param.content.pageNumber},onChange:C,size:l.size,bordered:!l.hideBorder,"row-class-name":(a,c)=>c%2===1?"table-striped":null},{bodyCell:S(({column:a,record:c})=>[g(e.$slots,"tb_cell",{data:{column:a,record:c}}),a.dataIndex==="operation"?(b(),D(o,{key:0,type:"link",size:"small",onClick:j=>e.openDrawer(c)},{default:S(()=>[K("详情")]),_:2},1032,["onClick"])):$("",!0)]),_:3},8,["loading","row-selection","columns","data-source","pagination","size","bordered","row-class-name"])])}}};export{F as _};