2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
import{a as ge,D,b as ye,H as _e,r as P,d as R,I as le,e as h,k as w,v as te,i as v,g as B,t as ve,f as z,F as M,j as q,J as U,x as N,K as L,y as d,L as I,p as k,c as V,h as S,l as ae,_ as Y,q as oe,s as re,M as be,N as we,O as Q,P as K,Q as X,w as Se,R as Ce,S as ke,T as Pe,U as Be,V as $e,W as Ee,X as Ne,Y as Ve,Z as Re}from"./index-ccab2584.js";import{_ as ne}from"./notData-cf10628e.js";import{_ as Fe}from"./Pagination.vue_vue_type_script_setup_true_name_Pagination_lang-6796c038.js";import{p as Te}from"./print-eaefcdaa.js";const De=(f,s={},r=!0,b)=>{const t=ge({tableData:[],pageable:{pageNo:1,pageSize:10,total:0},searchParam:{},searchInitParam:{},totalParam:{}}),C=D({get:()=>({pageNo:t.pageable.pageNo,pageSize:t.pageable.pageSize}),set:p=>{}});ye(()=>{o()});const e=async()=>{try{Object.assign(t.totalParam,s,r?C.value:{});let{result:p}=await f(t.totalParam);b&&(p=b(p)),t.tableData=r?p.list:p;const{pageNo:g,pageSize:E,total:H}=p;r&&l({pageNo:g,pageSize:E,total:H})}catch{}},i=()=>{t.totalParam={};let p={};for(let g in t.searchParam)(t.searchParam[g]||t.searchParam[g]===!1||t.searchParam[g]===0)&&(p[g]=t.searchParam[g]);Object.assign(t.totalParam,p,r?C.value:{})},l=p=>{Object.assign(t.pageable,p)},u=()=>{t.pageable.pageNo=1,i(),e()},o=()=>{t.pageable.pageNo=1,t.searchParam={},Object.keys(t.searchInitParam).forEach(p=>{t.searchParam[p]=t.searchInitParam[p]}),i(),e()},m=p=>{t.pageable.pageNo=1,t.pageable.pageSize=p,e()},$=p=>{t.pageable.pageNo=p,e()};return{..._e(t),getTableList:e,search:u,reset:o,handleSizeChange:m,handleCurrentChange:$}},ze=(f="id")=>{const s=P(!1),r=P([]),b=D(()=>{let e=[];return r.value.forEach(i=>{e.push(i[f])}),e});return{isSelected:s,selectedList:r,selectedListIds:b,selectionChange:e=>{e.length===0?s.value=!1:s.value=!0,r.value=e},getRowKeys:e=>e[f]}},Le=R({name:"SearchFormItem"}),Me=R({...Le,props:{column:{},searchParam:{}},setup(f){const s=f,r=D(()=>{var l,u,o,m;return{label:(u=(l=s.column.fieldNames)==null?void 0:l.label)!=null?u:"label",value:(m=(o=s.column.fieldNames)==null?void 0:o.value)!=null?m:"value"}}),b=le("enumMap",P(new Map)),t=D(()=>{var u;let l=b.value.get(s.column.prop);return l?(((u=s.column.search)==null?void 0:u.el)==="select-v2"&&s.column.fieldNames&&(l=l.map(o=>({...o,label:o[r.value.label],value:o[r.value.value]}))),l):[]}),C=D(()=>{var p,g,E;const l=r.value.label,u=r.value.value,o=(p=s.column.search)==null?void 0:p.el,m=(E=(g=s.column.search)==null?void 0:g.props)!=null?E:{};let $=m;return o==="tree-select"&&($={...m,props:{label:l,...m.props},nodeKey:u}),o==="cascader"&&($={...m,props:{label:l,value:u,...m.props}}),$}),e=D(()=>{var u,o;const l=s.column.search;return(o=(u=l==null?void 0:l.props)==null?void 0:u.placeholder)!=null?o:(l==null?void 0:l.el)==="input"?"\u8BF7\u8F93\u5165":"\u8BF7\u9009\u62E9"}),i=D(()=>{var u,o;const l=s.column.search;return(o=(u=l==null?void 0:l.props)==null?void 0:u.clearable)!=null?o:(l==null?void 0:l.defaultValue)==null||(l==null?void 0:l.defaultValue)==null});return(l,u)=>{var o,m,$,p;return(o=l.column.search)!=null&&o.el?(h(),w(U(`el-${l.column.search.el}`),L({key:0},C.value,{modelValue:l.searchParam[(m=l.column.search.key)!=null?m:d(I)(l.column.prop)],"onUpdate:modelValue":u[0]||(u[0]=g=>{var E;return l.searchParam[(E=l.column.search.key)!=null?E:d(I)(l.column.prop)]=g}),modelModifiers:{trim:!0},data:(($=l.column.search)==null?void 0:$.el)==="tree-select"?t.value:[],options:["cascader","select-v2"].includes((p=l.column.search)==null?void 0:p.el)?t.value:[],placeholder:e.value,clearable:i.value,"range-separator":"\u81F3","start-placeholder":"\u5F00\u59CB\u65F6\u95F4","end-placeholder":"\u7ED3\u675F\u65F6\u95F4"}),te({default:v(()=>[l.column.search.el==="select"?(h(!0),z(M,{key:0},q(t.value,(g,E)=>(h(),w(U("el-option"),{key:E,label:g[r.value.label],value:g[r.value.value]},null,8,["label","value"]))),128)):N(l.$slots,"default",{key:1})]),_:2},[l.column.search.el==="cascader"?{name:"default",fn:v(({data:g})=>[B("span",null,ve(g[r.value.label]),1)]),key:"0"}:void 0]),1040,["modelValue","data","options","placeholder","clearable"])):k("",!0)}}}),Oe={key:0,class:"card table-search"},je={class:"operation"},Ie=R({name:"SearchForm"}),Ke=R({...Ie,props:{columns:{default:()=>[]},searchParam:{default:()=>({})},searchCol:{},search:{},reset:{},onReset:{}},setup(f){return P(),(s,r)=>{const b=V("el-form-item"),t=V("el-button"),C=V("el-form");return s.columns.length?(h(),z("div",Oe,[S(C,{inline:!0,style:{display:"flex","flex-wrap":"wrap"},ref:"formRef",model:s.searchParam},{default:v(()=>[(h(!0),z(M,null,q(s.columns,(e,i)=>(h(),z("div",{class:"girdItem",key:e.prop},[S(b,{label:`${e.label} `},{default:v(()=>[S(Me,{column:e,searchParam:s.searchParam},null,8,["column","searchParam"])]),_:2},1032,["label"])]))),128)),B("div",je,[S(t,{type:"primary",onClick:s.search},{default:v(()=>[ae("\u67E5\u8BE2")]),_:1},8,["onClick"]),s.onReset?(h(),w(t,{key:0,style:{"background-color":"#ffb750",color:"#fff"},onClick:s.reset},{default:v(()=>[ae("\u5237\u65B0")]),_:1},8,["onClick"])):k("",!0),N(s.$slots,"formButton",{style:"margin: 0 10px"},void 0,!0)])]),_:3},8,["model"])])):k("",!0)}}});const Ue=Y(Ke,[["__scopeId","data-v-4e2403e6"]]),He=f=>(oe("data-v-c9191283"),f=f(),re(),f),xe={class:"table-main"},Je=He(()=>B("div",{class:"table-empty"},[B("img",{src:ne,alt:"notData"}),B("div",null,"\u6682\u65E0\u53EF\u914D\u7F6E\u5217")],-1)),qe=R({name:"ColSetting"}),Ae=R({...qe,props:{colSetting:{}},setup(f,{expose:s}){const r=P(!1);return s({openColSetting:()=>{r.value=!0}}),(t,C)=>{const e=V("el-table-column"),i=V("el-switch"),l=V("el-table"),u=V("el-drawer");return h(),w(u,{title:"\u5217\u8BBE\u7F6E",modelValue:r.value,"onUpdate:modelValue":C[0]||(C[0]=o=>r.value=o),size:"450px"},{default:v(()=>[B("div",xe,[S(l,{data:t.colSetting,border:!0,"row-key":"prop","default-expand-all":"","tree-props":{children:"_children"}},{empty:v(()=>[Je]),default:v(()=>[S(e,{prop:"label",align:"center",label:"\u5217\u540D"}),S(e,{prop:"isShow",align:"center",label:"\u663E\u793A"},{default:v(o=>[S(i,{modelValue:o.row.isShow,"onUpdate:modelValue":m=>o.row.isShow=m},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),S(e,{prop:"sortable",align:"center",label:"\u6392\u5E8F"},{default:v(o=>[S(i,{modelValue:o.row.sortable,"onUpdate:modelValue":m=>o.row.sortable=m},null,8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["data"])])]),_:1},8,["modelValue"])}}});const We=Y(Ae,[["__scopeId","data-v-c9191283"]]);function Qe(f){return typeof f=="function"||Object.prototype.toString.call(f)==="[object Object]"&&!we(f)}const Xe=R({name:"TableColumn"}),Ye=R({...Xe,props:{column:{}},setup(f){const s=be(),r=le("enumMap",P(new Map)),b=(e,i)=>r.value.get(e.prop)&&e.isFilterEnum?Q(K(i.row,e.prop),r.value.get(e.prop),e.fieldNames):X(K(i.row,e.prop)),t=(e,i)=>Q(K(i.row,e.prop),r.value.get(e.prop),e.fieldNames,"tag"),C=e=>{var i,l;return S(M,null,[e.isShow&&S(V("el-table-column"),L(e,{align:(i=e.align)!=null?i:"center",showOverflowTooltip:(l=e.showOverflowTooltip)!=null?l:e.prop!=="operation"}),{default:u=>{let o;return e._children?e._children.map(m=>C(m)):e.render?e.render(u):s[e.prop]?s[e.prop](u):e.tag?S(V("el-tag"),{type:t(e,u)},Qe(o=b(e,u))?o:{default:()=>[o]}):b(e,u)},header:()=>e.headerRender?e.headerRender(e):s[`${e.prop}Header`]?s[`${e.prop}Header`]({row:e}):e.label})])};return(e,i)=>(h(),w(U(C(e.column))))}}),se=f=>(oe("data-v-e900e994"),f=f(),re(),f),Ze={class:"card table-main"},Ge={class:"table-header"},ea={class:"header-button-lf"},aa={key:0,class:"header-button-ri"},la={class:"table-empty"},ta=se(()=>B("img",{src:ne,alt:"notData"},null,-1)),oa=se(()=>B("div",null,"\u6682\u65E0\u6570\u636E",-1)),ra=R({name:"ProTable"}),na=R({...ra,props:{columns:{default:()=>[]},requestApi:{},dataCallback:{},tableRowClassName:{},treeProps:{},title:{},pagination:{type:Boolean,default:!0},initParam:{default:{}},border:{type:Boolean,default:!1},toolButton:{type:Boolean,default:!0},selectId:{default:"id"},searchCol:{default:()=>({xs:1,sm:2,md:4,lg:5,xl:5})},addButton:{type:Boolean},background:{type:Boolean},onReset:{type:Boolean},stripe:{type:Boolean,default:!0},size:{},width:{},height:{},maxHeight:{},fit:{type:Boolean},rowKey:{},context:{},showHeader:{type:Boolean},showSummary:{type:Boolean},sumText:{},summaryMethod:{},rowClassName:{},rowStyle:{},cellClassName:{},cellStyle:{},headerRowClassName:{},headerRowStyle:{},headerCellClassName:{},headerCellStyle:{},highlightCurrentRow:{type:Boolean},currentRowKey:{},emptyText:{},expandRowKeys:{},defaultExpandAll:{type:Boolean},defaultSort:{},tooltipEffect:{},tooltipOptions:{},spanMethod:{},selectOnIndeterminate:{type:Boolean},indent:{},lazy:{type:Boolean},load:{},className:{},style:{},tableLayout:{},scrollbarAlwaysOn:{type:Boolean},flexible:{type:Boolean}},setup(f,{expose:s}){const r=f,b=P(!0),t=P(),{selectionChange:C,getRowKeys:e,selectedList:i,selectedListIds:l,isSelected:u}=ze(r.selectId),{tableData:o,pageable:m,searchParam:$,searchInitParam:p,getTableList:g,search:E,reset:H,handleSizeChange:ue,handleCurrentChange:ce}=De(r.requestApi,r.initParam,r.pagination,r.dataCallback),pe=()=>t.value.clearSelection();Se(()=>r.initParam,g,{deep:!0});const A=P(r.columns),O=P(new Map);Ce("enumMap",O);const de=async a=>{if(!a.enum)return;if(typeof a.enum!="function")return O.value.set(a.prop,a.enum);const{data:_}=await a.enum();O.value.set(a.prop,_)},Z=(a,_=[])=>(a.forEach(async c=>{var y,n,F;(y=c._children)!=null&&y.length&&_.push(...Z(c._children)),_.push(c),c.isShow=(n=c.isShow)!=null?n:!0,c.isFilterEnum=(F=c.isFilterEnum)!=null?F:!0,de(c)}),_.filter(c=>{var y;return!((y=c._children)!=null&&y.length)})),x=P();x.value=Z(A.value);const J=x.value.filter(a=>{var _;return(_=a.search)==null?void 0:_.el});J.forEach((a,_)=>{var c,y,n,F,j;a.search.order=(c=a.search.order)!=null?c:_+2,((y=a.search)==null?void 0:y.defaultValue)!==void 0&&((n=a.search)==null?void 0:n.defaultValue)!==null&&(p.value[(F=a.search.key)!=null?F:I(a.prop)]=(j=a.search)==null?void 0:j.defaultValue)}),J.sort((a,_)=>a.search.order-_.search.order);const G=P(),W=A.value.filter(a=>a.type!=="selection"&&a.type!=="index"&&a.type!=="expand"&&a.prop!=="operation"),ie=()=>G.value.openColSetting(),he=D(()=>{let a=JSON.parse(JSON.stringify(i.value.length?i.value:o.value));return x.value.filter(c=>(c.enum||c.prop&&c.prop.split(".").length>1)&&c.isFilterEnum).forEach(c=>{a.forEach(y=>{y[I(c.prop)]=c.prop.split(".").length>1&&!c.enum?X(K(y,c.prop)):Q(K(y,c.prop),O.value.get(c.prop),c.fieldNames);for(const n in y)y[n]===null&&(y[n]=X(y[n]))})}),a}),fe=()=>{Te({printable:he.value,header:r.title&&`<div style="display: flex;flex-direction: column;text-align: center"><h2>${r.title}</h2></div>`,properties:x.value.filter(a=>a.isShow&&a.type!=="selection"&&a.type!=="index"&&a.type!=="expand"&&a.prop!=="operation").map(a=>({field:I(a.prop),displayName:a.label})),type:"json",gridHeaderStyle:"border: 1px solid #ebeef5;height: 45px;font-size: 14px;color: #232425;text-align: center;background-color: #fafafa;",gridStyle:"border: 1px solid #ebeef5;height: 40px;font-size: 14px;color: #494b4e;text-align: center"})};return s({element:t,tableData:o,searchParam:$,pageable:m,getTableList:g,reset:H,clearSelection:pe,enumMap:O,isSelected:u,selectedList:i,selectedListIds:l}),(a,_)=>{const c=V("el-button"),y=V("el-table-column");return h(),z(M,null,[ke(S(Ue,{search:d(E),reset:d(H),onReset:a.onReset,searchParam:d($),columns:d(J),searchCol:a.searchCol},{formButton:v(()=>[N(a.$slots,"formButton",{selectedListIds:d(l),selectedList:d(i),isSelected:d(u)},void 0,!0)]),_:3},8,["search","reset","onReset","searchParam","columns","searchCol"]),[[Pe,b.value]]),B("div",Ze,[B("div",Ge,[B("div",ea,[N(a.$slots,"tableHeader",{selectedListIds:d(l),selectedList:d(i),isSelected:d(u)},void 0,!0)]),a.toolButton?(h(),z("div",aa,[S(c,{icon:d(Be),circle:"",onClick:d(g)},null,8,["icon","onClick"]),a.columns.length?(h(),w(c,{key:0,icon:d($e),circle:"",onClick:fe},null,8,["icon"])):k("",!0),a.columns.length?(h(),w(c,{key:1,icon:d(Ee),circle:"",onClick:ie},null,8,["icon"])):k("",!0),d(J).length?(h(),w(c,{key:2,icon:d(Ne),circle:"",onClick:_[0]||(_[0]=n=>b.value=!b.value)},null,8,["icon"])):k("",!0)])):k("",!0)]),S(d(Ve),L({ref_key:"tableRef",ref:t},a.$attrs,{data:d(o),stripe:a.stripe,"row-key":d(e),onSelectionChange:d(C),"row-class-name":a.tableRowClassName,"header-cell-style":{fontWeight:500},"cell-style":{fontSize:"12px"},"tree-props":a.treeProps,class:"protable"}),{append:v(()=>[N(a.$slots,"append",{},void 0,!0)]),empty:v(()=>[B("div",la,[N(a.$slots,"empty",{},()=>[ta,oa],!0)])]),default:v(()=>[N(a.$slots,"default",{},void 0,!0),(h(!0),z(M,null,q(A.value,n=>{var F,j,ee;return h(),z(M,{key:n},[n.type=="selection"||n.type=="index"?(h(),w(y,L({key:0},n,{align:(F=n.align)!=null?F:"center","reserve-selection":n.type=="selection"}),null,16,["align","reserve-selection"])):k("",!0),n.type=="html"?(h(),w(y,L({key:1},n,{align:(j=n.align)!=null?j:"center"}),{default:v(T=>[n.render?(h(),w(U(n.render),{key:0,row:T.row},null,8,["row"])):N(a.$slots,n.type,{key:1,row:T.row},void 0,!0)]),_:2},1040,["align"])):k("",!0),n.type=="expand"?(h(),w(y,L({key:2},n,{align:(ee=n.align)!=null?ee:"center"}),{default:v(T=>[n.render?(h(),w(U(n.render),{key:0,row:T.row},null,8,["row"])):N(a.$slots,n.type,{key:1,row:T.row},void 0,!0)]),_:2},1040,["align"])):k("",!0),!n.type&&n.prop&&n.isShow?(h(),w(Ye,{key:3,column:n},te({_:2},[q(Object.keys(a.$slots),T=>({name:T,fn:v(me=>[N(a.$slots,T,{row:me.row},void 0,!0)])}))]),1032,["column"])):k("",!0)],64)}),128))]),_:3},16,["data","stripe","row-key","onSelectionChange","row-class-name","tree-props"]),N(a.$slots,"pagination",{},()=>[a.pagination?(h(),w(Fe,{key:0,pageable:d(m),handleSizeChange:d(ue),handleCurrentChange:d(ce),background:a.background},null,8,["pageable","handleSizeChange","handleCurrentChange","background"])):k("",!0)],!0)]),a.toolButton?(h(),w(We,{key:0,ref_key:"colRef",ref:G,colSetting:d(W),"onUpdate:colSetting":_[1]||(_[1]=n=>Re(W)?W.value=n:null)},null,8,["colSetting"])):k("",!0)],64)}}});const da=Y(na,[["__scopeId","data-v-e900e994"]]);export{da as P};
|