index.7086297e.js 3.9 KB

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