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