test_lgq/niucloud/public/admin/assets/edit-role.vue_vue_type_script_setup_true_async_true_lang-128c7f64.js
2024-01-24 17:36:08 +08:00

2 lines
4.5 KiB
JavaScript

import{d as H,r as m,s as K,ax as L,n as W,q as X,N as t,h as j,I as D,w as u,a as C,e as s,i as v,t as g,u as n,y as Y,ay as J,W as Q,X as Z,az as ee,aA as le,aB as ae,E as te,aC as oe,ap as se,Y as ne,aa as re,a0 as ue}from"./index-4dcc0234.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css */import{e as ie,f as ce,h as de,i as me}from"./sys-8ead7f22.js";const fe={class:"flex items-center justify-between w-11/12"},pe={class:"dialog-footer"},Ne=H({__name:"edit-role",emits:["complete"],setup(_e,{expose:O,emit:A}){const _=m(!1),d=m(!1),b=m(!0);let k="";const p=m([]);ie().then(l=>{p.value=l.data});const h=m(!1),y=m(!1),f=m(null);K(h,()=>{h.value?f.value.setCheckedNodes(L(p.value)):f.value.setCheckedNodes([])});const U=J(l=>{o.rules=f.value.getCheckedKeys()}),B=()=>{b.value?(w(p.value),b.value=!1):(F(p.value),b.value=!0)},F=l=>{Object.keys(l).forEach(e=>{f.value.store.nodesMap[l[e].menu_key].expanded=!0,l[e].children&&l[e].children.length>0&&w(l[e].children)})},w=l=>{Object.keys(l).forEach(e=>{f.value.store.nodesMap[l[e].menu_key].expanded=!1,l[e].children&&l[e].children.length>0&&w(l[e].children)})},x={role_id:0,role_name:"",status:1,rules:[]},o=W({...x}),E=m(),S=X(()=>({role_name:[{required:!0,message:t("roleNamePlaceholder"),trigger:"blur"}],rules:[{validator:(l,e,a)=>{e.length?a():a(new Error(t("rulesPlaceholder")))},trigger:"blur"}]})),I=async l=>{if(d.value||!l)return;const e=o.role_id?ce:de;await l.validate(async a=>{if(a){d.value=!0;const i=Object.assign({},o);i.rules=i.rules.concat(f.value.getHalfCheckedKeys()),e(i).then(r=>{d.value=!1,_.value=!1,A("complete")}).catch(()=>{d.value=!1})}})},T=async(l=null)=>{if(d.value=!0,h.value=!1,Object.assign(o,x),k=t("addRole"),l){k=t("updateRole");const e=await(await me(l.role_id)).data;Object.keys(o).forEach(a=>{if(e[a]!=null)if(a=="rules"){e.rules;const i=[];Object.keys(e.rules).forEach(r=>{R(e.rules[r],p.value,i)}),o[a]=i}else o[a]=e[a]})}d.value=!1};function R(l,e,a){Object.keys(e).forEach(i=>{const r=e[i];r.menu_key==l?(!r.children||r.children.length==0)&&a.push(r.menu_key):r.children&&r.children.length>0&&R(l,r.children,a)})}return O({showDialog:_,setFormData:T}),(l,e)=>{const a=Q,i=Z,r=ee,M=le,N=ae,V=te,P=oe,$=se,q=ne,z=re,G=ue;return j(),D(z,{modelValue:_.value,"onUpdate:modelValue":e[7]||(e[7]=c=>_.value=c),title:n(k),width:"500px","destroy-on-close":!0},{footer:u(()=>[C("span",pe,[s(V,{onClick:e[5]||(e[5]=c=>_.value=!1)},{default:u(()=>[v(g(n(t)("cancel")),1)]),_:1}),s(V,{type:"primary",loading:d.value,onClick:e[6]||(e[6]=c=>I(E.value))},{default:u(()=>[v(g(n(t)("confirm")),1)]),_:1},8,["loading"])])]),default:u(()=>[Y((j(),D(q,{model:o,"label-width":"90px",ref_key:"formRef",ref:E,rules:n(S),class:"page-form"},{default:u(()=>[s(i,{label:n(t)("roleName"),prop:"role_name"},{default:u(()=>[s(a,{modelValue:o.role_name,"onUpdate:modelValue":e[0]||(e[0]=c=>o.role_name=c),placeholder:n(t)("roleNamePlaceholder"),clearable:"",disabled:o.uid,class:"input-width",maxlength:"10","show-word-limit":!0},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["label"]),s(i,{label:n(t)("status")},{default:u(()=>[s(M,{modelValue:o.status,"onUpdate:modelValue":e[1]||(e[1]=c=>o.status=c)},{default:u(()=>[s(r,{label:1},{default:u(()=>[v(g(n(t)("startUsing")),1)]),_:1}),s(r,{label:0},{default:u(()=>[v(g(n(t)("statusDeactivate")),1)]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["label"]),s(i,{label:n(t)("permission"),prop:"rules"},{default:u(()=>[C("div",fe,[C("div",null,[s(N,{modelValue:h.value,"onUpdate:modelValue":e[2]||(e[2]=c=>h.value=c),label:n(t)("selectAll")},null,8,["modelValue","label"]),s(N,{modelValue:y.value,"onUpdate:modelValue":e[3]||(e[3]=c=>y.value=c),label:n(t)("checkStrictly")},null,8,["modelValue","label"])]),s(V,{link:"",type:"primary",onClick:e[4]||(e[4]=c=>B())},{default:u(()=>[v(g(n(t)("foldText")),1)]),_:1})]),s($,{height:"35vh",class:"w-full"},{default:u(()=>[s(P,{data:p.value,props:{label:"menu_name"},"default-checked-keys":o.rules,"check-strictly":y.value,"show-checkbox":"","default-expand-all":"",onCheckChange:n(U),"node-key":"menu_key",ref_key:"treeRef",ref:f},null,8,["data","default-checked-keys","check-strictly","onCheckChange"])]),_:1})]),_:1},8,["label"])]),_:1},8,["model","rules"])),[[G,d.value]])]),_:1},8,["modelValue","title"])}}});export{Ne as _};