1import{r as c,B as te,j as re,w as ne,q as i,v as f,K as d,L as s,H as h,I as g,O as S,J as I,M as _,W as C,X as R,Y as k,aC as ae,Z as se,x as O,E as oe,bg as le,Q as ie,c as ue,a1 as ce}from"./index.ffc94709.js";import{Q as T,a as de,b as me}from"./xlsx.10463859.js";import{Q as P}from"./vuedraggable.umd.8f8738b2.js";import{Q as fe}from"./QChip.fe119b88.js";import{Q as $}from"./QSelect.c91fdc80.js";import{Q as pe}from"./QBanner.37bd4f5e.js";import{Q as ve}from"./QPopupProxy.4a157547.js";import{C as we}from"./ClosePopup.ba161f55.js";import{u as ye}from"./user-store.7c8321b2.js";import{_ as be}from"./plugin-vue_export-helper.21dcd24c.js";import"./QList.ca2ba6e3.js";import"./QMarkupTable.c50c07ad.js";import"./QLinearProgress.0dee265b.js";import"./_commonjsHelpers.2cf1d77b.js";import"./QItemLabel.84530776.js";import"./format.1cd22366.js";import"./position-engine.f57fab2a.js";import"./rtl.276c3f1b.js";import"./axios.36a39e6f.js";import"./open-tabs-store.1ee82cf0.js";import"./apiExecutor.cb7c10ea.js";const he={class:"header-content row no-wrap justify-center items-center"},ge={class:"chip-text"},Se={key:1,class:"text-body1"},_e={key:0,class:"custom-hr"},Ce={class:"text-body1"},ke={__name:"SelectionCustomTable2",props:{rows:Array,columns:Array,loading:Boolean,fullPage:Boolean,singleSelect:Boolean,height:{type:String,default:"80vh"},refreshDate:{type:Function,required:!1}},emits:["selected-rows"],setup(V,{emit:U}){const q=ye(),u=V,x=c(!1),p=c([]),B=c(0),l=c({}),v=c({}),D=c(!1),y=c({}),b=c({}),j=U,Q=te(()=>b.value?u.columns.filter(e=>b.value[e.name]&&b.value[e.name].visible).filter(e=>e.requiredPermission?q.currentUser.permission.includes(e.requiredPermission):!0):u.columns.filter(e=>e.requiredPermission?q.currentUser.permission.includes(e.requiredPermission):!0)),A={contains:(e,n)=>String(e).toLowerCase().includes(String(n).toLowerCase()),equal:(e,n)=>String(e).toLowerCase()===String(n).toLowerCase(),startsWith:(e,n)=>String(e).toLowerCase().startsWith(String(n).toLowerCase()),greaterThan:(e,n)=>Number(e)>Number(n),lessThan:(e,n)=>Number(e)<Number(n)},K=e=>{const n=p.value.findIndex(a=>a===e);u.singleSelect&&(p.value=[]),n===-1?p.value.push(e):p.value.splice(n,1),J()},M=e=>p.value.some(n=>n===e),W=e=>y.value[e]||[],z=(e,n,a)=>{if(e===""){n(()=>{y.value[a]=Array.from(new Set(u.rows.map(t=>t[a]))).filter(t=>`${t}`.includes(e)).slice(0,100).sort((t,r)=>typeof t=="number"&&typeof r=="number"?t-r:String(t).localeCompare(String(r)))});return}n(()=>{const t=e.toLowerCase();y.value[a]=Array.from(new Set(u.rows.map(r=>r[a]).filter(r=>r&&r.toString().toLowerCase().indexOf(t)>-1))).sort((r,o)=>typeof r=="number"&&typeof o=="number"?r-o:String(r).localeCompare(String(o)))})},E=(e,n)=>{x.value&&(l.value[e]||(l.value[e]=[]),n&&!l.value[e].includes(n)&&(l.value[e]=[...l.value[e],n]))},H=e=>{if(Object.values(l.value).every(a=>Array.isArray(a)?a.length===0:a.trim()===""))return B.value=e.length,e;var n=e.filter(a=>Object.keys(l.value).every(t=>{const r=l.value[t],o=v.value[t],m=a[t];if(Array.isArray(r)&&r.length===0||!Array.isArray(r)&&r.trim()==="")return!0;const F=A[o]||A.contains;return Array.isArray(r)?r.some(ee=>F(m,ee)):F(m,r)}));return B.value=n.length,n},J=()=>{j("selected-rows",p.value)};re(()=>{u.columns.forEach(e=>{v.value[e.name]||(v.value[e.name]="contains"),y.value[e.name]=[...new Set(u.rows.map(n=>n[e.name]))],b.value[e.name]={visible:!0,name:e.label}})});const w=c([]),X=e=>{if(e.sortable===!1)return;const n=w.value.find(a=>a.column===e.name);n?n.direction==="asc"?w.value=[{column:e.name,direction:"desc"}]:w.value=[]:w.value=[{column:e.name,direction:"asc"}],L.value=Y()},L=c([]);ne(()=>u.rows,e=>{L.value=[...e]},{immediate:!0});const Y=()=>!u.rows||w.value.length===0?[...u.rows]:[...u.rows].sort((e,n)=>{for(const a of w.value){const t=e[a.column],r=n[a.column];if(t==null&&r!=null)return a.direction==="asc"?-1:1;if(t!=null&&r==null)return a.direction==="asc"?1:-1;if(t==null&&r==null)continue;const o=String(t).toLowerCase(),m=String(r).toLowerCase();if(o<m)return a.direction==="asc"?-1:1;if(o>m)return a.direction==="asc"?1:-1}return 0}),Z=c(null);function G(e){(e.ctrlKey||e.metaKey)&&["a","c","x","s","p","u"].includes(e.ke
1y.toLowerCase())&&e.preventDefault()}function N(e){e.detail>1&&e.preventDefault()}return(e,n)=>{var a;return i(),f("div",{ref_key:"tableWrapper",ref:Z,onDragstart:n[1]||(n[1]=ce(()=>{},["prevent"])),onMousedown:N,onKeydown:G,class:"table-container cool-table q-pa-sm table-wrapper"},[d(me,le({class:"my-sticky-header-table q-pa-none",columns:Q.value,filter:l.value,"filter-method":H,"row-key":"field",rows:L.value,dense:"",bordered:"",separator:"cell","rows-per-page-options":[5],"rows-per-page":5,loading:(a=V.loading)!=null?a:ie(ue).isActive,fullscreen:D.value,"wrap-cells":"",flat:"","virtual-scroll":""},e.$attrs),{header:s(()=>[d(P,{class:"header-cell","no-hover":""},{default:s(()=>[(i(!0),f(h,null,g(Q.value,t=>(i(),S(T,{"auto-width":"",key:t.name,align:"center",class:I({sortable:t.sortable!==!1,"cursor-pointer":t.sortable!==!1}),style:_(t.headerStyle),onClick:r=>X(t)},{default:s(()=>[C("div",he,[d(R,{name:t.direction==="asc"?"keyboard_arrow_up":"keyboard_arrow_down",class:"sort-icon"},null,8,["name"]),C("span",null,k(t.label),1)])]),_:2},1032,["class","style","onClick"]))),128))]),_:1}),d(P,{"no-hover":"",class:"filter-row"},{default:s(()=>[(i(!0),f(h,null,g(Q.value,t=>(i(),S(T,{"auto-width":"",key:t.name,align:"center",class:"filter-cell",style:_(t.headerStyle)},{default:s(()=>[d($,{style:_(t.headerStyle),"fill-input":"",behavior:"menu",modelValue:l.value[t.name],"onUpdate:modelValue":r=>l.value[t.name]=r,placeholder:t.label,dense:"",outlined:"",clearable:"",multiple:"","use-input":"","use-chips":"","input-debounce":"1000",onClear:r=>delete l.value[t.name],hint:v.value[t.name],options:W(t.name),onFilter:(r,o)=>z(r,o,t.name),onInputValue:r=>E(t.name,r),class:"cool-select"},{"selected-item":s(r=>[d(fe,{removable:"",onRemove:o=>r.removeAtIndex(r.index),class:"custom-chip"},{default:s(()=>[C("span",ge,k(r.opt),1)]),_:2},1032,["onRemove"])]),counter:s(()=>[d(R,{name:"filter_list",size:"xs",class:"filter-icon"},{default:s(()=>[ae((i(),S(ve,null,{default:s(()=>[d(pe,{class:"filter-banner"},{default:s(()=>[d($,{dense:"",filled:"",modelValue:v.value[t.name],"onUpdate:modelValue":r=>v.value[t.name]=r,behavior:"menu",options:Object.keys(A),label:t.label,class:"cool-select"},null,8,["modelValue","onUpdate:modelValue","options","label"]),d(se,{dense:"",modelValue:x.value,"onUpdate:modelValue":n[0]||(n[0]=r=>x.value=r),label:"\u0627\u0644\u062A\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0645\u062F\u062E\u0644\u0627\u062A",class:"cool-checkbox"},null,8,["modelValue"])]),_:2},1024)]),_:2},1024)),[[we]])]),_:2},1024)]),_:2},1032,["style","modelValue","onUpdate:modelValue","placeholder","onClear","hint","options","onFilter","onInputValue"])]),_:2},1032,["style"]))),128))]),_:1})]),body:s(t=>[d(P,{props:t,class:I([M(t.row)?"selected-row cursor-pointer":"table-row",t.rowIndex%2===0?"even-row":"odd-row"]),onClick:r=>K(t.row)},{default:s(()=>[(i(!0),f(h,null,g(V.columns,r=>(i(),S(de,{"auto-width":"",key:r.name,props:t,style:_(r.style),class:"table-cell"},{default:s(()=>[r.name==="avatar"?O(e.$slots,"avatar",{key:0,row:t.row},void 0,!0):r.format?(i(),f("span",Se,k(r.format(t.row[r.field])),1)):(i(!0),f(h,{key:2},g(String(t.row[r.field]||"").split(";"),(o,m)=>(i(),f("div",{key:m},[m>0?(i(),f("hr",_e)):oe("",!0),C("div",Ce,k(o),1)]))),128)),O(e.$slots,"proxy-meny",{row:t.row,col:r,selectRow:p.value},void 0,!0)]),_:2},1032,["props","style"]))),128))]),_:2},1032,["props","class","onClick"])]),_:3},16,["columns","filter","rows","loading","fullscreen"]),O(e.$slots,"footer-selected-rows",{},void 0,!0)],544)}}};var Ee=be(ke,[["__scopeId","data-v-b9ffbf0c"]]);export{Ee as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.