选煤厂安全管理系统前端代码
houzhongjian
2024-11-25 37b2044f04a09e89f82f8484279b5f06b7194481
1
const g={id:"id",children:"children",pid:"pid"},y={children:"children",label:"name",value:"id",isLeaf:"leaf",emitPath:!1},f=r=>Object.assign({},g,r),b=(r,t={})=>{t=f(t);const{children:i}=t,e=[...r];for(let n=0;n<e.length;n++)e[n][i]&&e.splice(n+1,0,...e[n][i]);return e},A=(r,t,i={})=>{i=f(i);const e=[],n=[...r],a=new Set,{children:s}=i;for(;n.length;){const c=n[0];if(a.has(c))e.pop(),n.shift();else if(a.add(c),c[s]&&n.unshift(...c[s]),e.push(c),t(c))return e}return null},v=(r,t,i={})=>{const e=(i=f(i)).children;return function n(a){return a.map(s=>({...s})).filter(s=>(s[e]=s[e]&&n(s[e]),t(s)||s[e]&&s[e].length))}(r)},O=(r,t)=>r.map(i=>p(i,t)),p=(r,{children:t="children",conversion:i})=>{const e=Array.isArray(r[t])&&r[t].length>0,n=i(r)||{};return e?{...n,[t]:r[t].map(a=>p(a,{children:t,conversion:i}))}:{...n}},m=(r,t,i={})=>{r.forEach(e=>{const n=t(e,i)||e;e.children&&m(e.children,t,n)})},S=(r,t,i,e)=>{if(!Array.isArray(r))return console.warn("data must be an array"),[];const n=t||"id",a="parentId",s="children",c={},o={},h=[];for(const l of r){const d=l[a];c[d]==null&&(c[d]=[]),o[l[n]]=l,c[d].push(l)}for(const l of r)o[l[a]]==null&&h.push(l);for(const l of h)u(l);function u(l){if(c[l[n]]!==null&&(l[s]=c[l[n]]),l[s])for(const d of l[s])u(d)}return h},w=(r,t,i,e,n)=>{t=t||"id",i=i||"parentId",n=n||Math.min(...r.map(c=>c[i]))||0;const a=JSON.parse(JSON.stringify(r)),s=a.filter(c=>{const o=a.filter(h=>c[t]===h[i]);return o.length>0&&(c.children=o),c[i]===n});return s!==""?s:r};export{w as a,O as b,A as c,y as d,m as e,v as f,S as h,b as t};