2 lines
8.2 KiB
JavaScript
2 lines
8.2 KiB
JavaScript
var e=Object.defineProperty,a=(a,t,l)=>(((a,t,l)=>{t in a?e(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l})(a,"symbol"!=typeof t?t+"":t,l),l);import{d as t,ar as l,a as o,r,M as s,J as i,as as n,b as d,w as c,aj as p,o as u,e as g,at as h,j as f,l as b,i as y,U as m,V as w,au as S,S as _,al as v,z as A,av as C,ao as U,x as M,f as z,ap as k,aq as x,O as E,E as D,I as P,aw as T,ax as F,ay as H,az as O,aA as R,A as I,v as N,aB as j,aC as B}from"../.pnpm/.pnpm.38b82a0b.js";import{C as K,_ as J,R as V}from"../../assets/index.3788c556.js";const $=t({components:{Draggable:l},props:{toModel:{default:null,type:Object},toUrl:{default:"",type:String},showModal:{default:!1,type:Boolean},tableTitle:{default:[],type:Array},attribute:{type:Array,default:[]}},setup(e,a){const t=o();let l=r(""),d=r({}),c=r(!1),p=r(t.getters["tableStore/getSelectDragArr"]);l.value=e.toUrl,d.value=e.toModel,c.value=e.showModal,s((()=>e.showModal),(e=>{c.value=e}));const u=K.Encrypt(e.toUrl),g=i({animation:200,group:"description",disabled:!1,ghostClass:"ghost"});let h=i({drag:!1,dragArr:[]});return s((()=>e.tableTitle),((e,a)=>{const t=[];e.forEach((e=>{t.push(e.prop)})),p.value=t})),s(c,(e=>{if(e){let e=window.localStorage.getItem(u);if(e&&(e=JSON.parse(e),e&&e.dragArr.length>0)){const a=[];e.dragArr.forEach((e=>{a.push(e.prop)})),p.value=a,h.dragArr=e.dragArr}}a.emit("update:showModal",e)})),s((()=>p.value),((a,t)=>{const l=n(a,t),o=n(t,a);e.attribute.forEach((e=>{l.forEach((a=>{e.prop==a&&h.dragArr.push(e)}))})),o.forEach((e=>{h.dragArr.forEach(((a,t)=>{e==a.prop&&h.dragArr.splice(t,1)}))}))})),{toUrl:l,toModel:d,showModal:c,loading:r(!1),dragOptions:g,dragData:h,selectArr:p,name:u}},methods:{async onSubmit(){const e={dragArr:this.dragData.dragArr},a=JSON.stringify(e);window.localStorage.setItem(this.name,a),this.$emit("updateSelect",this.dragData.dragArr),this.showModal=!1},close(){if(this.loading)return!1;this.showModal=!1}}}),q={class:"custom-card"};const L=J($,[["render",function(e,a,t,l,o,r){const s=v,i=A,n=C,E=U,D=M,P=z("draggable"),T=k,F=x,H=p;return u(),d(H,{show:e.showModal,"onUpdate:show":a[4]||(a[4]=a=>e.showModal=a),placement:"left",width:"268"},{default:c((()=>[g(F,{title:"筛选"},{footer:c((()=>[h(e.$slots,"footer",{},(()=>[g(i,null,{default:c((()=>[g(D,{onClick:e.close,strong:"",secondary:""},{default:c((()=>[f("取消")])),_:1},8,["onClick"]),g(D,{type:"primary",onClick:e.onSubmit,loading:e.loading,strong:"",secondary:""},{default:c((()=>[f("确定")])),_:1},8,["onClick","loading"])])),_:1})]),!0)])),default:c((()=>[b("div",q,[g(T,{"arrow-placement":"right"},{default:c((()=>[g(E,{title:"自选择列",name:"1"},{default:c((()=>[g(n,{value:e.selectArr,"onUpdate:value":a[0]||(a[0]=a=>e.selectArr=a)},{default:c((()=>[g(i,{"item-style":"display: flex;"},{default:c((()=>[(u(!0),y(w,null,m(e.attribute,(e=>(u(),d(s,{key:e.prop,label:e.label,value:e.prop},null,8,["label","value"])))),128))])),_:1})])),_:1},8,["value"])])),_:1}),g(E,{title:"显示顺序",name:"2"},{default:c((()=>[g(i,null,{default:c((()=>[g(P,S({class:"wrapper",modelValue:e.dragData.dragArr,"onUpdate:modelValue":a[1]||(a[1]=a=>e.dragData.dragArr=a)},e.dragOptions,{onStart:a[2]||(a[2]=a=>e.dragData.drag=!0),onEnd:a[3]||(a[3]=a=>{e.dragData.drag=!1}),"item-key":"prop"}),{item:c((({element:e})=>[g(D,{tertiary:"",class:"drag-bt"},{default:c((()=>[f(_(e.label),1)])),_:2},1024)])),_:1},16,["modelValue"])])),_:1})])),_:1}),g(E,{title:"其他操作",name:"3"},{default:c((()=>[g(i,{class:"action-btn"},{default:c((()=>[g(D,{tertiary:""},{default:c((()=>[f(" 导出所选 ")])),_:1}),g(D,{tertiary:"",type:"primary"},{default:c((()=>[f(" 导出所有 ")])),_:1}),g(D,{tertiary:"",type:"error"},{default:c((()=>[f(" 删除所选 ")])),_:1})])),_:1})])),_:1})])),_:1})])])),_:3})])),_:3},8,["show"])}],["__scopeId","data-v-c35acc95"]]);const X=class{constructor(e){a(this,"getDataLists",(async(e,a)=>await V.get(e,a))),a(this,"pagination",i({page:1,pageSize:20,pageCount:0,showSizePicker:!0,pageSizes:[20,50,100],onChange:e=>{this.pagination.page=e},onUpdatePageSize:e=>{this.pagination.pageSize=e,this.pagination.page=1}})),a(this,"config",{url:"",handle:[]});const t=this.config;this.config={...t,...e}}async getTableData(e=null){const a=this.pagination,t={page:a.page,limit:a.pageSize,...e},{data:l}=await this.getDataLists(this.config.url,t);if(l&&l.list){const e=l.attribute,t=l.tabTitle,o=Math.ceil(l.list.count/this.pagination.pageSize);this.pagination.pageCount=o;const r=[];return this.config.isSelection&&r.push({type:"selection",fixed:"left"}),t.forEach((e=>{"image"==e.template?r.push({title:e.label,key:e.prop,width:e.width,ellipsis:{tooltip:!0},sorter:!0,render:a=>E(D,{width:30,height:30,src:a[e.prop]})}):r.push({title:e.label,key:e.prop,width:e.width,ellipsis:{tooltip:!0},sorter:!0})})),this.config.handle.length>0&&this.config.handle.forEach((e=>{r.push(e)})),{columns:r,attribute:e,tabTitle:l.tabTitle,lists:l.list.data,loading:!1,paginationReactive:a,listCount:o}}}selectRowArray(e){}handlePageChange(e){}handleFiltersChange(e){}},G=t({components:{Icon:P,Filter24Filled:T,Search24Filled:F,TablePop:L},props:{size:{default:"medium",type:String},search:{default:{},type:Object},url:{default:"",type:String},minHeight:{default:200,type:Number},maxHeight:{default:600,type:Number},handle:{default:[],type:Array},subHeight:{default:0,type:Number},isSelection:{default:!0,type:Boolean},bordered:{default:!0,type:Boolean},scrollX:{default:1800,type:Number}},setup(e,a){const t=e.handle;t.forEach((e=>{e.render=t=>e.NButtons.map((e=>E(M,{style:{marginRight:"6px"},size:e.size,type:e.type,secondary:!0,onClick:()=>{a.emit(e.emitFunction,t)}},{default:()=>e.text})))}));const l=new X({url:e.url,handle:t,isSelection:e.isSelection});let o=r([]),i=r([]),n=r([]),d=r([]),c=r(0),p=r(!0),u=l.pagination,g=e.search;g.select=[];const h=K.Encrypt(e.url);let f=window.localStorage.getItem(h);if(f&&(f=JSON.parse(f),f&&f.dragArr.length>0)){const e=[];f.dragArr.forEach((a=>{e.push(a.prop)})),g.select=e}const b=async()=>{p.value=!0;const e=await l.getTableData(g);e&&(o.value=e.lists,d.value=e.columns,c.value=e.listCount,i.value=e.attribute,n.value=e.tabTitle),p.value=!1};H(b),s([()=>u.page,()=>u.pageSize,()=>g],b,{deep:!0});let y=r(window.innerHeight-75);return window.onresize=()=>{y.value=window.innerHeight-75},{search:g,tableHelper:l,loading:p,rowKey:e=>e.id,pagination:u,lists:o,columns:d,listCount:c,selectRowArray:l.selectRowArray,handlePageChange:l.handlePageChange,handleFiltersChange:l.handleFiltersChange,screenHeight:y,useSlot:!!O().default,showPopModal:r(!1),attribute:i,tableTitle:n}},methods:{handleSorterChange(e){this.search._order_by=e.columnKey+"-"+("descend"==e.order?"desc":"ascending")},updateSelect(e){const a=this.search.select,t=[];e.forEach((e=>{t.push(e.prop)})),R(t,a)||(this.search.select=t)}}}),Q={class:"table-head-box"},W={class:"button-group"};const Y=J(G,[["render",function(e,a,t,l,o,r){const s=z("Filter24Filled"),i=z("Icon"),n=M,p=z("Search24Filled"),f=A,y=j,m=B,w=L,S=I;return u(),d(S,{class:"table-data-box"},{default:c((()=>[b("div",Q,[b("div",W,[g(n,{quaternary:"",onClick:a[0]||(a[0]=a=>e.showPopModal=!0)},{default:c((()=>[g(i,null,{default:c((()=>[g(s)])),_:1})])),_:1}),h(e.$slots,"btn",{},void 0,!0)]),e.useSlot?(u(),d(f,{key:0,class:"slot-head"},{default:c((()=>[h(e.$slots,"default",{},void 0,!0),g(n,{strong:"",secondary:"",circle:""},{default:c((()=>[g(i,null,{default:c((()=>[g(p)])),_:1})])),_:1})])),_:3})):N("",!0)]),g(m,null,{default:c((()=>[g(y,{"max-height":e.screenHeight-e.subHeight,bordered:e.bordered,size:e.size,ref:"table",loading:e.loading,remote:"",columns:e.columns,data:e.lists,"row-key":e.rowKey,"scroll-x":e.scrollX,pagination:e.pagination,"onUpdate:page":e.handlePageChange,"onUpdate:checkedRowKeys":e.selectRowArray,"onUpdate:sorter":e.handleSorterChange,"onUpdate:filters":e.handleFiltersChange},null,8,["max-height","bordered","size","loading","columns","data","row-key","scroll-x","pagination","onUpdate:page","onUpdate:checkedRowKeys","onUpdate:sorter","onUpdate:filters"])])),_:1}),g(w,{ref:"tablePop_"+e.url,showModal:e.showPopModal,"onUpdate:showModal":a[1]||(a[1]=a=>e.showPopModal=a),attribute:e.attribute,toUrl:e.url,tableTitle:e.tableTitle,onUpdateSelect:e.updateSelect},null,8,["showModal","attribute","toUrl","tableTitle","onUpdateSelect"])])),_:3})}],["__scopeId","data-v-47bc34da"]]);export{Y as _};
|