mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-06 00:18:51 +08:00
2 lines
5.9 KiB
JavaScript
2 lines
5.9 KiB
JavaScript
var ne=Object.defineProperty;var K=Object.getOwnPropertySymbols;var ue=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var G=(e,r,t)=>r in e?ne(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,O=(e,r)=>{for(var t in r||(r={}))ue.call(r,t)&&G(e,t,r[t]);if(K)for(var t of K(r))re.call(r,t)&&G(e,t,r[t]);return e};var M=(e,r,t)=>new Promise((A,d)=>{var b=i=>{try{c(t.next(i))}catch(f){d(f)}},m=i=>{try{c(t.throw(i))}catch(f){d(f)}},c=i=>i.done?A(i.value):Promise.resolve(i.value).then(b,m);c((t=t.apply(e,r)).next())});import{S as ie}from"./sortable.esm-VSgMS8pS.js";import{d as ce,a as s,aF as D,ag as v,p as $,f as l,a4 as oe,z as k,F as P,A as p,h as u,j as S,u as H,ab as V,g9 as se,g1 as de,aR as fe,x as ve,Z as me,aC as xe,V as be}from"./index-DI6gHrBb.js";import{u as he}from"./epTheme-DpkgvuKN.js";import{E as ge,R as Ce,C as ye,D as ke,S as pe}from"./collapse-L8IuVysb.js";function we(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!xe(e)}const Ee={title:{type:String,default:"列表"},vxeTableRef:{type:Object},columns:{type:Array,default:()=>[]},tree:{type:Boolean,default:!1},isExpandAll:{type:Boolean,default:!0},tableKey:{type:[String,Number],default:"0"}},Te=ce({name:"VxeTableBar",props:Ee,emits:["refresh","fullscreen"],setup(e,{emit:r,slots:t,attrs:A}){const d=s("small"),b=s(!1),m=s(!0),c=s(!1),i=s(!1),f=me(),h=s(e.isExpandAll);let x=D(v(e==null?void 0:e.columns),"title");const g=s(D(v(e==null?void 0:e.columns),"title")),o=s(v(e==null?void 0:e.columns)),B=$(()=>a=>({background:a===d.value?he().epThemeColor:"",color:a===d.value?"#fff":"var(--el-text-color-primary)"})),C=$(()=>["text-black","dark:text-white","duration-100","hover:text-primary!","cursor-pointer","outline-hidden"]),L=$(()=>["flex","justify-between","pt-[3px]","px-[11px]","border-b-[1px]","border-solid","border-[#dcdfe6]","dark:border-[#303030]"]);function U(){b.value=!0,r("refresh"),fe(500).then(()=>b.value=!1)}function Z(){h.value=!h.value,h.value?e.vxeTableRef.setAllTreeExpand(!0):e.vxeTableRef.clearTreeExpand(),e.vxeTableRef.refreshColumn()}function q(){c.value=!c.value,r("fullscreen",c.value)}function F(){const a=v(o.value).filter(n=>g.value.includes(n.title));e.vxeTableRef.reloadColumn(a)}function J(a){g.value=a?x:[],i.value=!1,F()}function Q(a){g.value=a;const n=a.length;m.value=n===x.length,i.value=n>0&&n<x.length}function W(){return M(this,null,function*(){m.value=!0,i.value=!1,o.value=v(e==null?void 0:e.columns),x=[],x=yield D(v(e==null?void 0:e.columns),"title"),g.value=D(v(e==null?void 0:e.columns),"title"),e.vxeTableRef.refreshColumn()})}function j(a){d.value=a,e.vxeTableRef.refreshColumn()}const X={dropdown:()=>l(u("el-dropdown-menu"),{class:"translation"},{default:()=>[l(u("el-dropdown-item"),{style:B.value("medium"),onClick:()=>j("medium")},{default:()=>[S("宽松")]}),l(u("el-dropdown-item"),{style:B.value("small"),onClick:()=>j("small")},{default:()=>[S("默认")]}),l(u("el-dropdown-item"),{style:B.value("mini"),onClick:()=>j("mini")},{default:()=>[S("紧凑")]})]})},Y=a=>{a.preventDefault(),ve(()=>{var E;const n=((E=f==null?void 0:f.proxy)==null?void 0:E.$refs[`VxeGroupRef${H(e.tableKey)}`]).$el.firstElementChild;ie.create(n,{animation:300,handle:".drag-btn",onEnd:({newIndex:y,oldIndex:T,item:te})=>{const z=te,_=z.parentNode,I=o.value[T],N=o.value[y];if(I!=null&&I.fixed||N!=null&&N.fixed){const R=_.children[T];y>T?_.insertBefore(z,R):_.insertBefore(z,R&&R.nextElementSibling);return}const ae=o.value.splice(T,1)[0];o.value.splice(y,0,ae),F()}})})},ee=a=>!!o.value.filter(n=>V(n.title)===V(a))[0].fixed,w=a=>({content:a,offset:[0,18],duration:[300,0],followCursor:!0,hideOnClick:"toggle"}),le={reference:()=>k(l(pe,{class:["w-[16px]",C.value]},null),[[p("tippy"),w("列设置")]])};return()=>{let a;return l(P,null,[l("div",oe(A,{class:["w-full","px-2","pb-2","bg-bg_color",c.value?["h-full!","z-2002","fixed","inset-0"]:"mt-2"]}),[l("div",{class:"flex justify-between w-full h-[60px] p-4"},[t!=null&&t.title?t.title():l("p",{class:"font-bold truncate"},[e.title]),l("div",{class:"flex items-center justify-around"},[t!=null&&t.buttons?l("div",{class:"flex mr-4"},[t.buttons()]):null,e.tree?l(P,null,[k(l(ge,{class:["w-[16px]",C.value],style:{transform:h.value?"none":"rotate(-90deg)"},onClick:()=>Z()},null),[[p("tippy"),w(h.value?"折叠":"展开")]]),l(u("el-divider"),{direction:"vertical"},null)]):null,k(l(Ce,{class:["w-[16px]",C.value,b.value?"animate-spin":""],onClick:()=>U()},null),[[p("tippy"),w("刷新")]]),l(u("el-divider"),{direction:"vertical"},null),k(l(u("el-dropdown"),{trigger:"click"},O({default:()=>[l(ye,{class:["w-[16px]",C.value]},null)]},X)),[[p("tippy"),w("密度")]]),l(u("el-divider"),{direction:"vertical"},null),l(u("el-popover"),{placement:"bottom-start","popper-style":{padding:0},width:"200",trigger:"click"},O({default:()=>[l("div",{class:[L.value]},[l(u("el-checkbox"),{class:"-mr-1!",label:"列展示",modelValue:m.value,"onUpdate:modelValue":n=>m.value=n,indeterminate:i.value,onChange:n=>J(n)},null),l(u("el-button"),{type:"primary",link:!0,onClick:()=>W()},{default:()=>[S("重置")]})]),l("div",{class:"pt-[6px] pl-[11px]"},[l(u("el-scrollbar"),{"max-height":"36vh"},{default:()=>[l(u("el-checkbox-group"),{ref:`VxeGroupRef${H(e.tableKey)}`,modelValue:g.value,onChange:n=>Q(n)},{default:()=>[l(u("el-space"),{direction:"vertical",alignment:"flex-start",size:0},we(a=x.map((n,E)=>l("div",{class:"flex items-center"},[l(ke,{class:["drag-btn w-[16px] mr-2",ee(n)?"cursor-no-drop!":"cursor-grab!"],onMouseenter:y=>Y(y)},null),l(u("el-checkbox"),{key:E,label:n,value:n,onChange:F},{default:()=>[l("span",{title:V(n),class:"inline-block w-[120px] truncate hover:text-text_color_primary"},[V(n)])]})])))?a:{default:()=>[a]})]})]})])]},le)),l(u("el-divider"),{direction:"vertical"},null),k(l(u("iconifyIconOffline"),{class:["w-[16px]",C.value],icon:c.value?se:de,onClick:()=>q()},null),[[p("tippy"),c.value?"退出全屏":"全屏"]])])]),t.default({size:d.value,dynamicColumns:o.value})])])}}}),Be=be(Te);export{Be as V};
|