import{V as H,aM as y,aL as q,E as z,aB as W,K as F,W as Q}from"./index.17037962789732.js";import"./index.170379627897337.js";import"./index.170379627897315.js";import"./index.1703796278973308.js";import"./index.170379627897334.js";import"./index.170379627897319.js";import"./index.170379627897327.js";import{G as X}from"./system.1703796278973.js";import"./index.1703796278973304.js";import{d as Y,e as Z}from"./initHome.1703796278973.js";import{B as $}from"./baseMenu.1703796278973.js";import{o as w}from"./comm.1703796278973.js";import{U as A,M as K}from"./consts.1703796278973.js";import{d as O,k as D,p as ee,r as b,o as B,c as N,a as x,b as C,z as M,u as E,A as ne,B as te,t as T,G as oe,H as re}from"./vue.1703796278973.js";import{_ as se}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./index.170379627897332.js";import"./index.170379627897333.js";import"./default.1703796278973.js";import"./permission.1703796278973.js";import"./404.1703796278973.js";const P=(o,t)=>t.filter(n=>{var r;let l=!1;return n.showPage&&n.showPage.length&&(l=n.showPage.every(c=>o.includes(c))),n.children&&(n.children=P(o,n.children)),l||!!((r=n.children)!=null&&r.length)}),ce=(o,t)=>{const n=[],{checkedKeys:l}=k(H(t)),r=new Set(l),c=(e,d)=>{if(!e)return d;if(!e.children&&d.children)return e.children=d.children,e;if(e.children&&d.children){const u=[],s=[...d.children];for(const h of e.children){const _=s.findIndex(m=>m.code===h.code);_!==-1?(u.push(c(h,s[_])),s.splice(_,1)):r.has(h.code)||u.push(h)}return{...e,children:u.concat(s)}}return e};for(const e of t){const d=o.find(u=>u.code===e.code);n.push(c(d,e))}for(const e of o)r.has(e.code)||t.find(u=>u.code===e.code)||(r.has(e.code)||e.children&&(e.children=e.children.filter(u=>!r.has(u.code))),n.push(e));return n},k=o=>{const t=[],n=l=>{l.forEach(r=>{r.title=r.code,r.key=r.code,t.push(r.code),r!=null&&r.children&&n(r==null?void 0:r.children)})};return n(o),{checkedKeys:t}},L=(o,t)=>{const n={parents:[],children:[]};function l(c){if(c.code===t)return c.children&&(n.children=c.children.flatMap(e=>e.children?[e.code,...r(e.children)]:[e.code])),!0;if(c.children){for(let e of c.children)if(l(e))return n.parents.push(c.code),!0}return!1}function r(c){return c.flatMap(e=>e.children?[e.code,...r(e.children)]:[e.code])}for(let c of o)if(l(c))break;return n},le=(o,t,n)=>{const{node:l,selected:r}=t,{parents:c,children:e}=L(n,l.code),d=new Set(o);return(r?[...c,...e]:[...e]).forEach(s=>{d[r?"add":"delete"](s)}),[...d]},ae=(o,t)=>{const n=o.node.key,l=o.dragNode.key,r=o.node.pos.split("-"),c=o.dropPosition-Number(r[r.length-1]),e=(s,h,_)=>{s.forEach((m,S)=>{if(m.key===h)return _(m,S,s);if(m.children)return e(m.children,h,_)})},d=[...t];let u;if(e(d,l,(s,h,_)=>{_.splice(h,1),u=s}),!o.dropToGap)e(d,n,s=>{s.children=s.children||[],s.children.unshift(u)});else if((o.node.children||[]).length>0&&o.node.expanded&&c===1)e(d,n,s=>{s.children=s.children||[],s.children.unshift(u)});else{let s=[],h=0;e(d,n,(_,m,S)=>{s=S,h=m}),c===-1?s.splice(h,0,u):s.splice(h+1,0,u)}return d},de=o=>{let t=0;return o.forEach(n=>{const l=j(n);l>t&&(t=l)}),t},j=o=>{let t=1;return o.children&&o.children.forEach(n=>{const l=j(n)+1;l>t&&(t=l)}),t},J=o=>o?o.map((t,n)=>(t.index!==n&&(t.sortIndex=n,t.children&&(t.children=J(t.children))),t)):[],ie=o=>(oe("data-v-dd287f38"),o=o(),re(),o),ue={class:"top"},pe=ie(()=>M("span",null,"单击可切换菜单未选中/选中状态;操作父级菜单时,对应子菜单状态将默认与其同步,可以单独操作调整;支持拖拽菜单调整展示顺序。 ",-1)),he={class:"content"},fe={class:"tree"},_e={class:"tree-content"},ve={class:"tree-content-title"},me={style:{"margin-left":"8px"}},ge=O({name:"MenuSetting"}),ye=O({...ge,setup(o){const t=D([]),n=D([]),l=D([]),r=D([]),c=D(!1),e=D(!1),d=D(!1),u={paging:!1,terms:[{terms:[{column:"owner",termType:"eq",value:"iot"},{column:"owner",termType:"isnull",value:"1",type:"or"}]}]};function s(f,p){const a=[];for(let v=0;v0&&a.push(i)))}return a}const h=async()=>{const f=s(y.cloneDeep(n.value),t.value),p=J(f);e.value=!0;const a=await Z(p).catch(()=>{});(a==null?void 0:a.status)===200&&w("操作成功","success"),e.value=!1,c.value=!1},_=()=>{c.value=!1},m=(f,p)=>{t.value=le(f,p,y.cloneDeep(n.value))},S=f=>{const p=y.cloneDeep(n.value),a=ae(f,n.value);de(a)>3?(w("仅支持3级菜单","error"),d.value=!1,n.value=p):(d.value=!0,n.value=a)},R=f=>{const{node:p}=f,{children:a}=L(y.cloneDeep(n.value),p.code),v=[p.code,...a],i=new Set(y.cloneDeep(t.value));v.forEach(g=>{i.has(g)&&i.delete(g)}),d.value&&(t.value=[...i])};return ee(()=>{Y().then(f=>{const p=$.filter(a=>![A,K].includes(a.code));r.value=P(f.result.map(a=>JSON.parse(a).id),p),X(u).then(a=>{var v;if(a.status==200){l.value=(v=a.result)==null?void 0:v.filter(g=>![A,K].includes(g.code)),k(r.value);const i=k(l.value);t.value=i.checkedKeys,ce(y.cloneDeep(p),y.cloneDeep(l.value)),n.value=l.value}})})}),(f,p)=>{const a=b("AIcon"),v=q,i=z,g=W,U=F,V=Q,G=b("page-container");return B(),N(G,null,{default:x(()=>[C(g,null,{default:x(()=>[M("div",ue,[C(a,{style:{padding:"12px"},type:"ExclamationCircleOutlined"}),pe]),M("div",he,[C(g,{title:"菜单配置",style:{width:"80%"}},{default:x(()=>[M("div",fe,[C(i,null,{default:x(()=>[E(n).length!==0?(B(),N(v,{key:0,"show-line":"",defaultExpandAll:"",multiple:"",draggable:"","tree-data":E(n),onSelect:m,selectedKeys:E(t),onDrop:S,onDragend:R},{title:x(I=>[M("div",_e,[M("div",ve,[C(a,{type:"HolderOutlined"}),M("div",me,ne(I.name),1)])])]),_:1},8,["tree-data","selectedKeys"])):te("",!0)]),_:1})])]),_:1})]),C(U,{type:"primary",onClick:p[0]||(p[0]=()=>c.value=!0),style:{"margin-left":"10%"}},{default:x(()=>[T("保存")]),_:1})]),_:1}),C(V,{visible:E(c),onOk:h,onCancel:_,modalType:"message",confirmLoading:E(e)},{default:x(()=>[T(" 保存后当前系统菜单数据将被覆盖,确认操作? ")]),_:1},8,["visible","confirmLoading"])]),_:1})}}});const ze=se(ye,[["__scopeId","data-v-dd287f38"]]);export{ze as default};