index-61a0d972.js 2.0 KB

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