niucloud-admin/niucloud/public/admin/assets/edit-role-b565b92e.js
wangchen147 c0d930bae5 0.0.8
2023-12-09 11:11:53 +08:00

2 lines
5.2 KiB
JavaScript

import{d as q,r as c,w as J,an as L,R as Q,c as z,e as D,v as N,x as i,g as w,y as r,A as h,B as g,u as s,Q as W}from"./base-2de02574.js";/* empty css */import{E as X}from"./el-overlay-c29a408e.js";import{a as Y,E as Z}from"./el-form-item-aacba116.js";import{G as ee,H as le,I as oe,J as te}from"./index-4ca69875.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{t}from"./index-a7cd5616.js";import{e as ae}from"./common-655c495e.js";import{E as re}from"./index-f34dc67c.js";import{E as se,b as ne}from"./index-8a191767.js";import{E as ie}from"./index-7e51d50f.js";import{E as ue}from"./index-84eb3c18.js";import{E as me}from"./index-1e4d310e.js";import{E as de}from"./index-9c3282b5.js";import{v as ce}from"./directive-ce271fd4.js";import"./event-30fa88cc.js";import"./index-fa3f6669.js";import"./index-53431221.js";import"./focus-trap-852901de.js";import"./index-a556d0d2.js";import"./index-53f4bde2.js";import"./index-29aaa146.js";import"./vue-router-834a68c8.js";import"./index-e049ae93.js";import"./el-main-e7ca7755.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./index-907c8fa3.js";/* empty css */import"./index-99061637.js";import"./index-389593d1.js";import"./isEqual-aeead489.js";import"./index-ee983f90.js";const pe={class:"flex items-center justify-between w-11/12"},fe={class:"dialog-footer"},Ye=q({__name:"edit-role",emits:["complete"],setup(_e,{expose:O,emit:U}){const _=c(!1),d=c(!1),b=c(!0);let k="";const f=c([]);ee().then(l=>{f.value=l.data});const v=c(!1),E=c(!1),p=c(null);J(v,()=>{v.value?p.value.setCheckedNodes(L(f.value)):p.value.setCheckedNodes([])});const B=ae(l=>{a.rules=p.value.getCheckedKeys()}),F=()=>{b.value?(y(f.value),b.value=!1):(S(f.value),b.value=!0)},S=l=>{Object.keys(l).forEach(e=>{p.value.store.nodesMap[l[e].menu_key].expanded=!0,l[e].children&&l[e].children.length>0&&y(l[e].children)})},y=l=>{Object.keys(l).forEach(e=>{p.value.store.nodesMap[l[e].menu_key].expanded=!1,l[e].children&&l[e].children.length>0&&y(l[e].children)})},x={role_id:0,role_name:"",status:1,rules:[]},a=Q({...x}),C=c(),A=z(()=>({role_name:[{required:!0,message:t("roleNamePlaceholder"),trigger:"blur"}],rules:[{validator:(l,e,o)=>{e.length?o():o(new Error(t("rulesPlaceholder")))},trigger:"blur"}]})),I=async l=>{if(d.value||!l)return;const e=a.role_id?le:oe;await l.validate(async o=>{if(o){d.value=!0;const u=Object.assign({},a);u.rules=u.rules.concat(p.value.getHalfCheckedKeys()),e(u).then(n=>{d.value=!1,_.value=!1,U("complete")}).catch(()=>{d.value=!1})}})},T=async(l=null)=>{if(d.value=!0,v.value=!1,Object.assign(a,x),k=t("addRole"),l){k=t("updateRole");const e=await(await te(l.role_id)).data;Object.keys(a).forEach(o=>{if(e[o]!=null)if(o=="rules"){e.rules;var u=[];Object.keys(e.rules).forEach(n=>{R(e.rules[n],f.value,u)}),a[o]=u}else a[o]=e[o]})}d.value=!1};function R(l,e,o){Object.keys(e).forEach(u=>{let n=e[u];n.menu_key==l?(!n.children||n.children.length==0)&&o.push(n.menu_key):n.children&&n.children.length>0&&R(l,n.children,o)})}return O({showDialog:_,setFormData:T}),(l,e)=>{const o=re,u=Y,n=se,M=ne,j=ie,V=ue,P=me,$=de,G=Z,H=X,K=ce;return D(),N(H,{modelValue:_.value,"onUpdate:modelValue":e[7]||(e[7]=m=>_.value=m),title:s(k),width:"500px","destroy-on-close":!0},{footer:i(()=>[w("span",fe,[r(V,{onClick:e[5]||(e[5]=m=>_.value=!1)},{default:i(()=>[h(g(s(t)("cancel")),1)]),_:1}),r(V,{type:"primary",loading:d.value,onClick:e[6]||(e[6]=m=>I(C.value))},{default:i(()=>[h(g(s(t)("confirm")),1)]),_:1},8,["loading"])])]),default:i(()=>[W((D(),N(G,{model:a,"label-width":"90px",ref_key:"formRef",ref:C,rules:s(A),class:"page-form"},{default:i(()=>[r(u,{label:s(t)("roleName"),prop:"role_name"},{default:i(()=>[r(o,{modelValue:a.role_name,"onUpdate:modelValue":e[0]||(e[0]=m=>a.role_name=m),placeholder:s(t)("roleNamePlaceholder"),clearable:"",disabled:a.uid,class:"input-width",maxlength:"10","show-word-limit":!0},null,8,["modelValue","placeholder","disabled"])]),_:1},8,["label"]),r(u,{label:s(t)("status")},{default:i(()=>[r(M,{modelValue:a.status,"onUpdate:modelValue":e[1]||(e[1]=m=>a.status=m)},{default:i(()=>[r(n,{label:1},{default:i(()=>[h(g(s(t)("startUsing")),1)]),_:1}),r(n,{label:0},{default:i(()=>[h(g(s(t)("statusDeactivate")),1)]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["label"]),r(u,{label:s(t)("permission"),prop:"rules"},{default:i(()=>[w("div",pe,[w("div",null,[r(j,{modelValue:v.value,"onUpdate:modelValue":e[2]||(e[2]=m=>v.value=m),label:s(t)("selectAll")},null,8,["modelValue","label"]),r(j,{modelValue:E.value,"onUpdate:modelValue":e[3]||(e[3]=m=>E.value=m),label:s(t)("checkStrictly")},null,8,["modelValue","label"])]),r(V,{link:"",type:"primary",onClick:e[4]||(e[4]=m=>F())},{default:i(()=>[h(g(s(t)("foldText")),1)]),_:1})]),r($,{height:"35vh",class:"w-full"},{default:i(()=>[r(P,{data:f.value,props:{label:"menu_name"},"default-checked-keys":a.rules,"check-strictly":E.value,"show-checkbox":"","default-expand-all":"",onCheckChange:s(B),"node-key":"menu_key",ref_key:"treeRef",ref:p},null,8,["data","default-checked-keys","check-strictly","onCheckChange"])]),_:1})]),_:1},8,["label"])]),_:1},8,["model","rules"])),[[K,d.value]])]),_:1},8,["modelValue","title"])}}});export{Ye as default};