1 |
- import{a as q,r as u,w as A,aj as a,c as w,o as C,S as t,b as v,u as r,y as S,K as l,L as x,T as N,P as E,Q as g,R as G,ai as J,ae as W}from"./vue.YrNK8sx4.js";import{g as X}from"./index.es.DmevZXPX.js";import{V as Z,Y as ee,P as L}from"./index.BsmLRken.js";import{d as te,a as oe,l as le}from"./api.XyYAK7wJ.js";import{_ as ne}from"./_plugin-vue_export-helper.DlAUqK2U.js";const ae={class:"dept-tree-com"},se={class:"tc-head"},ie={key:0,class:"text-center font-black font-normal"},de={key:1,color:"var(--el-color-primary)"},re={class:"tree-tags"},ce=q({__name:"index",props:{treeData:{default:()=>[]}},emits:["treeClick","deleteDept","updateDept"],setup(ue,{expose:B,emit:P}){const R=X(J),F={children:"children",label:"name",isLeaf:(o,e)=>!e.data.hasChild},h=P;let p=u(""),c=u(!1),f=u(!1),s=u({}),T=u(null);const D=u();A(p,o=>{D.value.filter(o)});const H=(o,e)=>{var n;return o?((n=W(e).name)==null?void 0:n.indexOf(o))!==-1:!0},I=(o,e)=>{o.level!==0&&le({parent:o.data.id}).then(n=>{e(n.data)})},M=(o,e)=>{s.value=o,T.value=e,h("treeClick",o)},V=o=>{if(o==="update"){if(!s.value.id){L("请选择菜单!");return}h("updateDept",o,s.value)}else h("updateDept",o)},U=()=>{if(!s.value.id){L("请选择菜单!");return}h("deleteDept",s.value.id,()=>{s.value={}})},y=async o=>{var i;if(!s.value.id){L("请选择菜单!");return}if(f.value)return;const e=((i=T.value)==null?void 0:i.parent.childNodes)||[],n=e.findIndex(m=>m.data.id===s.value.id),k=e.find(m=>m.data.id===s.value.id);if(o==="up"){if(n===0)return;e.splice(n-1,0,k),e.splice(n+1,1),f.value=!0,await te({dept_id:s.value.id}),f.value=!1}o==="down"&&(e.splice(n+2,0,k),e.splice(n,1),f.value=!0,await oe({dept_id:s.value.id}),f.value=!1)};return B({treeRef:D}),(o,e)=>{const n=a("el-input"),k=a("HomeFilled"),i=a("el-icon"),m=a("View"),$=a("Hide"),z=a("SvgIcon"),j=a("Plus"),_=a("el-tooltip"),K=a("Edit"),O=a("Top"),Q=a("Bottom"),Y=a("Delete");return C(),w(G,null,[t(n,{modelValue:r(p),"onUpdate:modelValue":e[0]||(e[0]=d=>S(p)?p.value=d:p=d),"prefix-icon":r(Z),placeholder:"请输入部门名称"},null,8,["modelValue","prefix-icon"]),v("div",ae,[v("div",se,[t(i,{size:"16",color:"#606266",class:"tc-head-icon"},{default:l(()=>[t(k)]),_:1}),e[6]||(e[6]=v("span",{class:"tc-head-txt"},"部门架构",-1)),t(i,{size:"16",color:"#606266",onClick:e[1]||(e[1]=()=>S(c)?c.value=!r(c):c=!r(c)),class:"tc-head-icon"},{default:l(()=>[x(t(m,null,null,512),[[N,!r(c)]]),x(t($,null,null,512),[[N,r(c)]])]),_:1})]),t(r(ee),{ref_key:"treeRef",ref:D,data:o.treeData,props:F,"filter-node-method":H,load:I,lazy:"",indent:38,onNodeClick:M,"highlight-current":""},{default:l(({node:d,data:b})=>[t(r(R),{node:d,showLabelLine:!1,indent:32},{default:l(()=>[b.status?(C(),w("span",ie,[t(z,{name:"iconfont icon-shouye",color:"var(--el-color-primary)"}),E(" "+g(d.label)+" ",1),x(v("span",null,"("+g(b.dept_user_count)+"人)",513),[[N,r(c)]])])):(C(),w("span",de,[t(z,{name:"iconfont icon-shouye"}),E(" "+g(d.label),1)]))]),_:2},1032,["node"])]),_:1},8,["data"]),v("div",re,[t(_,{effect:"dark",content:"新增"},{default:l(()=>[t(i,{size:"16",onClick:e[2]||(e[2]=d=>V("create")),class:"mlt-icon"},{default:l(()=>[t(j)]),_:1})]),_:1}),t(_,{effect:"dark",content:"编辑"},{default:l(()=>[t(i,{size:"16",onClick:e[3]||(e[3]=d=>V("update")),class:"mlt-icon"},{default:l(()=>[t(K)]),_:1})]),_:1}),t(_,{effect:"dark",content:"上移"},{default:l(()=>[t(i,{size:"16",onClick:e[4]||(e[4]=d=>y("up")),class:"mlt-icon"},{default:l(()=>[t(O)]),_:1})]),_:1}),t(_,{effect:"dark",content:"下移"},{default:l(()=>[t(i,{size:"16",onClick:e[5]||(e[5]=d=>y("down")),class:"mlt-icon"},{default:l(()=>[t(Q)]),_:1})]),_:1}),t(_,{effect:"dark",content:"删除"},{default:l(()=>[t(i,{size:"16",onClick:U,class:"mlt-icon"},{default:l(()=>[t(Y)]),_:1})]),_:1})])])],64)}}}),he=ne(ce,[["__scopeId","data-v-0a1dffe4"]]);export{he as default};
|