packageAdd-CV2nK3LQ.js 5.8 KB

1
  1. import{d as X,u as Y,r as f,a as T,o as Z,f as i,i as r,w as a,s as ee,a9 as le,p as g,q as ne,x as u,m as b,t as y,F as R,y as U,aa as F,l as x,h as z,ab as oe,ac as re,E as D,_ as ae}from"./index-GCZD4BFP.js";import{g as se}from"./menus--MQrcQOR.js";const de={class:"permission-container"},te={key:0,class:"el-icon-arrow-down"},ce={key:0,class:"role-dropdown__list"},ie={class:"role-dropdown__label"},ue={key:0,class:"el-icon-arrow-right"},he={key:0,class:"role-dropdown__list"},pe={class:"role-dropdown__label"},fe=X({__name:"packageAdd",setup(me){const{t:k}=Y(),q=ee(),G=ne();f(!0),f([]),f([]);const m=T({data_scope:"ALL",role_name:"",dept_ids:"",role_describe:""}),j=T({role_name:[{required:!0,message:k("place")+k("function_name")+"!",trigger:"blur"},{min:1,max:10,message:k("role_name_error")+"!",trigger:"blur"}]}),s=f([]),P=f(!1),$=f(!1);f(!1);const V=f(q.query.id);console.log("role_id:",q.query);const _=l=>Array.isArray(l.children)&&l.children.length!==0,H=l=>{$.value=!1,s.value=E(s.value,l)},C=(l,e)=>{l.children&&l.children.length&&(l.children=E(l.children,l.checked)),A(s.value),L(s.value)},E=(l,e)=>{const n=[...l];return n.map(o=>{o.checked=e,o.children&&o.children.length&&(o.children=E(o.children,e))}),n},w=l=>{if(!Array.isArray(l))return!1;const e=l.length,n=l.filter(o=>o.checked).length;return n!==0&&e!==n},A=l=>{const e=l||s.value;if(!Array.isArray(e))return console.warn("permissions is not an array:",e),[];const n=[];e.forEach(v=>{n.push(v),v.children&&n.push(...A(v.children))});const o=n.length,h=n.filter(v=>v.checked).length;return P.value=o===h,$.value=h!==0&&o!==h,n},L=l=>{(l||s.value).forEach(n=>{if(n.children&&n.children.length){L(n.children),n.children.length;const o=n.children.filter(h=>h.checked).length;n.checked=!!o}})},M=f(),J=()=>{M.value.validate(l=>{if(l){let e={...m,menus:s.value};const n=()=>{D.success(k("sub_success")+"!"),G.push({name:"packageList"})};V.value==="0"?oe(e).then(()=>n()):re(V.value,e).then(()=>n())}else return D.error(k("form_erroe")),!1})},K=()=>{se().then(l=>{V.value!=="0"?le(V.value).then(e=>{const n=N(e.menus);s.value=B(l,n),Array.isArray(s.value)?A():console.warn("Invalid permissions data:",s.value),m.role_name=e.role_name,m.role_describe=e.role_describe}):(s.value=l,Array.isArray(s.value)?A():console.warn("Invalid permissions data:",s.value))})},N=l=>{const e=[];return l.forEach(n=>{n.checked&&e.push(n.identifier),n.children&&n.children.length&&e.push(...N(n.children))}),e},B=(l,e)=>{const n=[];return l.forEach(o=>{e.includes(o.identifier)||o.hidden?o.checked=!0:o.checked=!1,o.children&&(o.children=B(o.children,e)),n.push(o)}),n};return Z(()=>{K()}),(l,e)=>{const n=g("el-input"),o=g("el-form-item"),h=g("el-checkbox"),v=g("el-col"),I=g("el-popover"),O=g("el-row"),Q=g("el-button"),W=g("el-form");return u(),i("div",de,[r(W,{model:m,rules:j,ref_key:"permissionFormRef",ref:M,"label-width":"200px",class:"demo-ruleForm"},{default:a(()=>[r(o,{label:l.$t("function_name"),prop:"role_name"},{default:a(()=>[r(n,{modelValue:m.role_name,"onUpdate:modelValue":e[0]||(e[0]=d=>m.role_name=d)},null,8,["modelValue"])]),_:1},8,["label"]),r(o,{label:l.$t("function_describe"),prop:"role_describe"},{default:a(()=>[r(n,{modelValue:m.role_describe,"onUpdate:modelValue":e[1]||(e[1]=d=>m.role_describe=d)},null,8,["modelValue"])]),_:1},8,["label"]),r(o,{label:l.$t("function_permission"),prop:"permission"},{default:a(()=>[r(h,{indeterminate:$.value,modelValue:P.value,"onUpdate:modelValue":e[2]||(e[2]=d=>P.value=d),onChange:H},{default:a(()=>[b(y(l.$t("sel_all")),1)]),_:1},8,["indeterminate","modelValue"]),(u(!0),i(R,null,U(s.value,d=>(u(),i("div",{key:d.identifier,class:"level_1"},[r(O,{gutter:20},{default:a(()=>[r(v,{span:4},{default:a(()=>[r(h,{modelValue:d.checked,"onUpdate:modelValue":t=>d.checked=t,label:d.title,indeterminate:w(d.children),onChange:t=>C(d,"")},null,8,["modelValue","onUpdate:modelValue","label","indeterminate","onChange"])]),_:2},1024),r(v,{span:20},{default:a(()=>[(u(!0),i(R,null,U(d.children,t=>(u(),i("div",{key:t.identifier,class:"checkbox-dropdown"},[r(I,{placement:"bottom",trigger:"hover","open-delay":300,disabled:!_(t),"append-to-body":!1},{reference:a(()=>[r(h,{modelValue:t.checked,"onUpdate:modelValue":c=>t.checked=c,indeterminate:w(t.children),onClick:e[3]||(e[3]=F(()=>{},["stop"])),onChange:c=>C(t,d)},{default:a(()=>[b(y(t.title)+" ",1),_(t)?(u(),i("i",te)):x("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","indeterminate","onChange"])]),default:a(()=>[_(t)?(u(),i("div",ce,[(u(!0),i(R,null,U(t.children,c=>(u(),i("div",{class:"role-dropdown",key:c.identifier},[r(I,{placement:"right",trigger:"hover","open-delay":200,disabled:!_(c),"append-to-body":!1},{reference:a(()=>[z("div",ie,[r(h,{modelValue:c.checked,"onUpdate:modelValue":p=>c.checked=p,indeterminate:w(c.children),onClick:e[4]||(e[4]=F(()=>{},["stop"])),onChange:p=>C(c,t)},{default:a(()=>[b(y(c.title)+" ",1),_(c)?(u(),i("i",ue)):x("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","indeterminate","onChange"])])]),default:a(()=>[_(c)?(u(),i("div",he,[(u(!0),i(R,null,U(c.children,p=>(u(),i("div",{class:"role-dropdown",key:p.identifier},[r(I,{placement:"right",trigger:"hover","open-delay":200,disabled:!_(p),"append-to-body":!1},{reference:a(()=>[z("div",pe,[r(h,{modelValue:p.checked,"onUpdate:modelValue":S=>p.checked=S,indeterminate:w(p.children),onClick:e[5]||(e[5]=F(()=>{},["stop"])),onChange:S=>C(p,c)},{default:a(()=>[b(y(p.title),1)]),_:2},1032,["modelValue","onUpdate:modelValue","indeterminate","onChange"])])]),_:2},1032,["disabled"])]))),128))])):x("",!0)]),_:2},1032,["disabled"])]))),128))])):x("",!0)]),_:2},1032,["disabled"])]))),128))]),_:2},1024)]),_:2},1024)]))),128))]),_:1},8,["label"]),r(o,{label:""},{default:a(()=>[r(Q,{type:"primary",size:"small",style:{"margin-top":"15px"},onClick:J},{default:a(()=>[b(y(l.$t("set_save")),1)]),_:1})]),_:1})]),_:1},8,["model","rules"])])}}}),_e=ae(fe,[["__scopeId","data-v-7ee2ad4a"]]);export{_e as default};