2 lines
10 KiB
JavaScript
2 lines
10 KiB
JavaScript
var e=Object.defineProperty,t=(t,a,l)=>(((t,a,l)=>{a in t?e(t,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[a]=l})(t,"symbol"!=typeof a?a+"":a,l),l);import{d as a,as as l,t as s,a as o,r,M as i,ad as n,at as d,b as c,w as u,aj as p,o as h,e as g,au as f,j as w,l as y,i as m,U as b,V as S,av as v,S as A,A as M,am as _,y as C,aw as k,ap as R,v as U,f as x,ag as T,aq as D,ar as $,O as z,E,I as N,ax as P,ay as O,az as H,aA as q,aB as F,z as I,aC as j,aD as B}from"../.pnpm/.pnpm.66cdfca9.js";import{C as V,_ as J,R as K}from"../../assets/index.eb4846d5.js";const L=a({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:[]},selectRowArr:{type:Array,default:[]}},setup(e,t){const a=s("reload"),l=o();let c=r(""),u=r({}),p=r(!1),h=r(l.getters["tableStore/getSelectDragArr"]),g=r([]);c.value=e.toUrl,u.value=e.toModel,p.value=e.showModal,i((()=>e.showModal),(e=>{p.value=e})),i((()=>e.selectRowArr),(e=>{g.value=e}));const f=V.Encrypt(e.toUrl),w=n({animation:200,group:"description",disabled:!1,ghostClass:"ghost"});let y=n({drag:!1,dragArr:[]});return i((()=>e.tableTitle),((e,t)=>{const a=[];e.forEach((e=>{a.push(e.prop)})),h.value=a})),i(p,(e=>{if(e){let e=window.localStorage.getItem(f);if(e&&(e=JSON.parse(e),e&&e.dragArr.length>0)){const t=[];e.dragArr.forEach((e=>{t.push(e.prop)})),h.value=t,y.dragArr=e.dragArr}}t.emit("update:showModal",e)})),i((()=>h.value),((t,a)=>{const l=d(t,a),s=d(a,t);e.attribute.forEach((e=>{l.forEach((t=>{e.prop==t&&y.dragArr.push(e)}))})),s.forEach((e=>{y.dragArr.forEach(((t,a)=>{e==t.prop&&y.dragArr.splice(a,1)}))}))})),{name:f,toUrl:c,toModel:u,showModal:p,loading:r(!1),dragOptions:w,dragData:y,selectColumnArr:h,selectRowArray:g,deleteMsgModel:r({}),reload:a}},methods:{async onSubmit(){const e={dragArr:this.dragData.dragArr},t=JSON.stringify(e);window.localStorage.setItem(this.name,t),this.$emit("updateSelect",this.dragData.dragArr),this.showModal=!1},close(){if(this.loading)return!1;this.showModal=!1},async exportSelectRow(){var e;if(!this.plzSelectRow())return;this.loading=!0;const t=null==(e=this.$parent)?void 0:e.$parent,a=this.$store.getters["adminNavStore/getCurrentTab"],l={tableHeader:this.dragData.dragArr,search:t.search,selectRows:this.selectRowArray,uid:t.sqlUid,fileName:a.title};await this.$http.download("POST","admin/api/export/select",null,l),this.showModal=!1},async exportAll(){var e;this.loading=!0;const t=null==(e=this.$parent)?void 0:e.$parent,a=this.$store.getters["adminNavStore/getCurrentTab"],l={tableHeader:this.dragData.dragArr,search:t.search,selectRows:this.selectRowArray,uid:t.sqlUid,fileName:a.title};await this.$http.download("POST","admin/api/export/all",null,l),this.showModal=!1},async deleteSelectRows(){var e;if(!this.deleteMsgModel.show)return;if(!this.plzSelectRow())return;this.loading=!0;const t=null==(e=this.$parent)?void 0:e.$parent,a={list:this.selectRowArray,uid:t.sqlUid,deleteMsgModel:this.deleteMsgModel};this.loading=!1;const{msg:l}=await this.$http.post("admin/api/delete/select",a);window.$message.success(l),this.showModal=!1,this.reload()},plzSelectRow(){return!(this.selectRowArray.length<=0)||(window.$message.warning("请选择数据后重试"),!1)}}}),X={class:"custom-card"},G={key:0,class:"mt-2"};const Q=J(L,[["render",function(e,t,a,l,s,o){const r=_,i=C,n=k,d=R,z=U,E=x("draggable"),N=T,P=D,O=$,H=p;return h(),c(H,{show:e.showModal,"onUpdate:show":t[6]||(t[6]=t=>e.showModal=t),placement:"left",width:"268"},{default:u((()=>[g(O,{title:"筛选"},{footer:u((()=>[f(e.$slots,"footer",{},(()=>[g(i,null,{default:u((()=>[g(z,{onClick:e.close,strong:"",secondary:""},{default:u((()=>[w("取消")])),_:1},8,["onClick"]),g(z,{type:"primary",onClick:e.onSubmit,loading:e.loading,strong:"",secondary:""},{default:u((()=>[w("确定")])),_:1},8,["onClick","loading"])])),_:1})]),!0)])),default:u((()=>[y("div",X,[g(P,{"arrow-placement":"right"},{default:u((()=>[g(d,{title:"自选择列",name:"1"},{default:u((()=>[g(n,{value:e.selectColumnArr,"onUpdate:value":t[0]||(t[0]=t=>e.selectColumnArr=t)},{default:u((()=>[g(i,{"item-style":"display: flex;"},{default:u((()=>[(h(!0),m(S,null,b(e.attribute,(e=>(h(),c(r,{key:e.prop,label:e.label,value:e.prop},null,8,["label","value"])))),128))])),_:1})])),_:1},8,["value"])])),_:1}),g(d,{title:"显示顺序",name:"2"},{default:u((()=>[g(i,null,{default:u((()=>[g(E,v({class:"wrapper",modelValue:e.dragData.dragArr,"onUpdate:modelValue":t[1]||(t[1]=t=>e.dragData.dragArr=t)},e.dragOptions,{onStart:t[2]||(t[2]=t=>e.dragData.drag=!0),onEnd:t[3]||(t[3]=t=>{e.dragData.drag=!1}),"item-key":"prop"}),{item:u((({element:e})=>[g(z,{tertiary:"",class:"drag-bt"},{default:u((()=>[w(A(e.label),1)])),_:2},1024)])),_:1},16,["modelValue"])])),_:1})])),_:1}),g(d,{title:"其他操作",name:"3"},{default:u((()=>[g(i,{class:"action-btn"},{default:u((()=>[g(z,{tertiary:"",onClick:e.exportSelectRow},{default:u((()=>[w(" 导出所选 ")])),_:1},8,["onClick"]),g(z,{tertiary:"",type:"primary",onClick:e.exportAll},{default:u((()=>[w(" 导出所有 ")])),_:1},8,["onClick"]),g(z,{tertiary:"",type:"error",onClick:t[4]||(t[4]=t=>e.deleteMsgModel.show=!e.deleteMsgModel.show)},{default:u((()=>[w(" 删除所选 ")])),_:1}),e.deleteMsgModel.show?(h(),m("div",G,[g(N,{value:e.deleteMsgModel.msg,"onUpdate:value":t[5]||(t[5]=t=>e.deleteMsgModel.msg=t),type:"textarea",placeholder:"请输入删除原因"},null,8,["value"]),g(z,{class:"mt-2",onClick:e.deleteSelectRows,strong:"",secondary:""},{default:u((()=>[w(" 确定删除 ")])),_:1},8,["onClick"])])):M("",!0)])),_:1})])),_:1})])),_:1})])])),_:3})])),_:3},8,["show"])}],["__scopeId","data-v-d6a79dc4"]]);const W=class{constructor(e){t(this,"getDataLists",(async(e,t)=>await K.get(e,t))),t(this,"pagination",n({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}})),t(this,"config",{url:"",handle:[]});const a=this.config;this.config={...a,...e}}async getTableData(e=null){const t=this.pagination,a={page:t.page,limit:t.pageSize,...e},{data:l}=await this.getDataLists(this.config.url,a);if(l&&l.list){const e=l.attribute,a=l.tabTitle,s=Math.ceil(l.list.count/this.pagination.pageSize),o=l.list.uid;this.pagination.pageCount=s;const r=[];return this.config.isSelection&&r.push({type:"selection",fixed:"left"}),a.forEach((e=>{"image"==e.template?r.push({title:e.label,key:e.prop,width:e.width,ellipsis:{tooltip:!0},sorter:!0,render:t=>z(E,{width:30,height:30,lazy:!0,src:t[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:t,listCount:s,sqlUid:o}}}selectRowArray(e){}handlePageChange(e){}handleFiltersChange(e){}},Y=a({components:{Icon:N,Filter24Filled:P,Search24Filled:O,TablePop:Q},props:{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,t){const a=e.handle;a.forEach((e=>{e.render=a=>e.NButtons.map((e=>z(U,{style:{marginRight:"6px"},size:e.size||"small",type:e.type,secondary:!0,onClick:()=>{t.emit(e.emitFunction,a)}},{default:()=>"function"==typeof e.text?e.text(a):e.text})))}));const l=new W({url:e.url,handle:a,isSelection:e.isSelection});let s=r([]),o=r([]),n=r([]),d=r(""),c=r([]),u=r(0),p=r(!0),h=l.pagination,g=e.search;g.select=[];let f=r([]);const w=V.Encrypt(e.url);let y=window.localStorage.getItem(w);if(y&&(y=JSON.parse(y),y&&y.dragArr.length>0)){const e=[];y.dragArr.forEach((t=>{e.push(t.prop)})),g.select=e}const m=async()=>{p.value=!0;const e=await l.getTableData(g);e&&(s.value=e.lists,c.value=e.columns,u.value=e.listCount,o.value=e.attribute,n.value=e.tabTitle,d.value=e.sqlUid,f.value=[]),p.value=!1};H(m),i([()=>h.page,()=>h.pageSize,()=>g],m,{deep:!0});let b=r(window.innerHeight-75);return{search:g,loading:p,rowKey:e=>e.id,pagination:h,lists:s,columns:c,listCount:u,goToData:m,screenHeight:b,useSlot:!!q().default,showPopModal:r(!1),attribute:o,tableTitle:n,sqlUid:d,selectArrayRows:f}},methods:{handleSorterChange(e){this.search._order_by=e.columnKey+"-"+("descend"==e.order?"desc":"ascending")},updateSelect(e){const t=this.search.select,a=[];e.forEach((e=>{a.push(e.prop)})),F(a,t)||(this.search.select=a)}}}),Z={class:"table-head-box"},ee={class:"button-group"};const te=J(Y,[["render",function(e,t,a,l,s,o){const r=x("Filter24Filled"),i=x("Icon"),n=U,d=x("Search24Filled"),p=C,w=j,m=B,b=Q,S=I;return h(),c(S,{class:"table-data-box"},{default:u((()=>[y("div",Z,[y("div",ee,[g(n,{quaternary:"",onClick:t[0]||(t[0]=t=>e.showPopModal=!0)},{default:u((()=>[g(i,null,{default:u((()=>[g(r)])),_:1})])),_:1}),f(e.$slots,"btn",{},void 0,!0)]),e.useSlot?(h(),c(p,{key:0,class:"slot-head"},{default:u((()=>[f(e.$slots,"default",{},void 0,!0),g(n,{strong:"",secondary:"",circle:"",onClick:e.goToData},{default:u((()=>[g(i,null,{default:u((()=>[g(d)])),_:1})])),_:1},8,["onClick"])])),_:3})):M("",!0)]),g(m,null,{default:u((()=>[g(w,{"virtual-scroll":"","max-height":e.screenHeight-e.subHeight,bordered:e.bordered,ref:"tableRef",loading:e.loading,remote:"",columns:e.columns,data:e.lists,"row-key":e.rowKey,"scroll-x":180*e.columns.length,pagination:e.pagination,"checked-row-keys":e.selectArrayRows,"onUpdate:checked-row-keys":t[1]||(t[1]=t=>e.selectArrayRows=t),"onUpdate:sorter":e.handleSorterChange},null,8,["max-height","bordered","loading","columns","data","row-key","scroll-x","pagination","checked-row-keys","onUpdate:sorter"])])),_:1}),g(b,{ref:"tablePop_"+e.url,showModal:e.showPopModal,"onUpdate:showModal":t[2]||(t[2]=t=>e.showPopModal=t),attribute:e.attribute,toUrl:e.url,tableTitle:e.tableTitle,onUpdateSelect:e.updateSelect,selectRowArr:e.selectArrayRows,"onUpdate:selectRowArr":t[3]||(t[3]=t=>e.selectArrayRows=t)},null,8,["showModal","attribute","toUrl","tableTitle","onUpdateSelect","selectRowArr"])])),_:3})}],["__scopeId","data-v-98187ab5"]]);export{te as _};
|