1 |
- var k=Object.defineProperty;var K=(e,a,t)=>a in e?k(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t;var o=(e,a,t)=>(K(e,typeof a!="symbol"?a+"":a,t),t);import{d as w,a as P,e as b,r as I,p as N,O,y as l,U as T,f as U,dk as B}from"./index-e6046b8b.js";class d{constructor(a){o(this,"saveKey","searchs");o(this,"initSearch",{form:{},page:{}});o(this,"searchs",{});o(this,"key","");this.key=a,this.searchs=this.parse()}save(){localStorage.setItem(this.saveKey,JSON.stringify(this.searchs))}parse(){let a={...p};try{const t=localStorage.getItem(this.saveKey);a=JSON.parse(t)||a}catch(t){}return a}get(a){const t=a||this.key;return this.searchs[t]||(this.searchs[t]={...p}),this.searchs[t]}remove(a){return this.searchs&&this.searchs[this.key]&&(a?delete this.searchs[this.key][a]:delete this.searchs[this.key],this.save()),this.searchs}getSearchs(){return this.searchs}removeByKey(a){return console.log("真正的删",a),delete this.searchs[a],this.save(),this.searchs}removeAll(){return this.searchs={},localStorage.setItem(this.saveKey,JSON.stringify(this.searchs)),this.searchs}removeByRouter(a){var t;this.searchs=this.parse();for(const s in this.searchs)(a===s||a===((t=this.searchs[s])==null?void 0:t.bind))&&(console.log("清除的页面",s),this.removeByKey(s))}removeByOtherRouter(a){var t;this.searchs=this.parse();for(const s in this.searchs)a===s||a===((t=this.searchs[s])==null?void 0:t.bind)||this.removeByKey(s)}update(a,t,s){this.searchs=this.parse();const r=t||this.key;return this.searchs[r]||(this.searchs[r]={...p}),s?this.searchs[r][s]=a:this.searchs[r]=a,this.save(),this.searchs}}const p={form:{},page:{}},j=w({name:"table-container",props:{page:{type:Number,default:1,required:!0},pageSize:{type:Number,default:10},pageTotal:{type:Number,default:0},saveKey:{type:String,default:""},sync:{type:Boolean,default:!1},checkedRowKeysRef:{type:Object},pageSizes:{type:Array,default:()=>[10,20,30,40]}},emits:["update:page","update:pageSize","list"],setup(e,{slots:a,attrs:t,emit:s}){const r=P(),g=b({pageInformation:null}),h=I(0);h.value=Math.ceil(e.pageTotal/e.pageSize);const f=i=>{s("update:page",i),s("list"),c()},v=i=>{s("update:pageSize",i),s("list"),c()};N(()=>{if(e.sync){const i=new d(e.saveKey||r.path),n=i.get(e.saveKey||r.path);if(g.pageInformation=n,n&&n.page){for(const u in n.page)if(n.page.hasOwnProperty(u)&&["page","pageSize"].includes(u)){const m=n.page[u],z="update:".concat(u);s(z,m)}}e.saveKey&&i.update(r.path,void 0,"bind")}window.addEventListener("watchStorage",y)}),O(()=>{window.removeEventListener("watchStorage",y)}),l(()=>e.pageSize,()=>{h.value=Math.ceil(e.pageTotal/e.pageSize),c()}),l(()=>e.page,()=>{c()}),l(()=>e.pageTotal,()=>{h.value=Math.ceil(e.pageTotal/e.pageSize),c()});const S=T({get(){return e.page},set(i){s("update:page",i)}}),c=()=>{e.sync&&new d(e.saveKey||r.path).update({page:e.page,pageCount:h.value,pageSize:e.pageSize,saveKey:e.saveKey},void 0,"page")},y=()=>{const i=g.pageInformation&&g.pageInformation.page?g.pageInformation.page:null;S.value=i&&i.page?i.page:1};return()=>U(B,{style:{marginTop:"12px",justifyContent:"flex-end"},page:e.page,"onUpdate:page":i=>e.page=i,displayOrder:["quick-jumper","pages","size-picker"],pageCount:h.value,showQuickJumper:!0,showSizePicker:!0,pageSize:e.pageSize,prefix:()=>"共 ".concat(e.pageTotal," 条"),pageSizes:e.pageSizes,onUpdatePage:f,onUpdatePageSize:v},null)}});export{j as P,d as S};
|