PermissionResource-ouGsH4IC.js 8.8 KB

1
  1. import A from"./ContentContainer-Ci9n2XtX.js";import{_ as M,B as E}from"./Modal-DmHjcEU4.js";import{aa as P,c as p,o as I,d as F,e as V,f as s,w as c,F as Q,s as j,k as a,h as k,ad as S,t as L,a as z,r as C,$ as G,y as O,u as W,b as H,p as J,ab as K,a1 as X,v as Y,j as U,C as B}from"./index-DHJ7oAA6.js";import{T as Z}from"./TreeParts-CaRfrblV.js";import{_ as q}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{Q as x,a as ee,D as oe,U as se,b as ne,C as te}from"./resource-CAnTPEjU.js";import"./DeleteModal-BShU_sAV.js";const re=["iconVoice","IconSunFill","IconApps","IconArchive","IconBarChart","IconBook","IconBookmark","IconBranch","IconBug","IconBulb","IconCalendar","IconCamera","IconCloud","IconCommand","IconCommon","IconCompass","IconComputer","IconCopyright","IconDashboard","IconDesktop","IconDice","IconDriveFile","IconEar","IconEmail","IconEmpty","IconExperiment","IconFileAudio","IconFileImage","IconFilePdf","IconFileVideo","IconFile","IconFire","IconFolderAdd","IconFolderDelete","IconFolder","IconGift","IconIdcard","IconImageClose","IconImage","IconInteraction","IconLanguage","IconLayers","IconLayout","IconLocation","IconLock","IconLoop","IconMan","IconMenu","IconMobile","IconMoon","IconMosaic","IconNav","IconPalette","IconPen","IconPhone","IconPrinter","IconPublic","IconPushpin","IconQrcode","IconRelation","IconRobotAdd","IconRobot","IconSafe","IconSchedule","IconShake","IconSkin","IconStamp","IconStorage","IconSun","IconTag","IconTags","IconThunderbolt","IconTool","IconTrophy","IconUnlock","IconUserAdd","IconUserGroup","IconUser","IconVideoCamera","IconWifi"],ae={iconsList:re},le={class:"icon-selector"},ce={class:"icon-box"},ie={class:"icons-grid"},ue=["onClick"],me={__name:"IconPicker",props:{modelValue:{type:String,default:""}},emits:["update:modelValue"],setup($,{emit:v}){const _=$,{modelValue:u}=P(_),d=v,h=ae.iconsList,b=e=>{d("update:modelValue",e)};return(e,f)=>{const n=p("a-scrollbar"),r=p("a-popover");return I(),F("div",le,[V("div",ce,[s(r,{trigger:"click",position:"right"},{content:c(()=>[s(n,{style:{height:"60vh",width:"45vw","overflow-y":"auto"}},{default:c(()=>[V("div",ie,[(I(!0),F(Q,null,j(a(h),(m,i)=>(I(),F("div",{key:i,onClick:g=>b(m),class:"icon-item"},[(I(),k(S(m))),V("span",null,L(m),1)],8,ue))),128))])]),_:1})]),default:c(()=>[(I(),k(S(a(u))))]),_:1})])])}}},de=q(me,[["__scopeId","data-v-ebbc3b3d"]]),D={__name:"ResourceForm",props:{resource_form:{type:Object,required:!0,default:()=>({parentName:"",status:"0",menuName:"",icon:"",menuType:"0",description:"",perms:"",component:"",orderNum:0,path:""})}},emits:["statusChange"],setup($,{emit:v}){const _=v,{t:u,locale:d}=z(),h=$,b=C([{value:"3",label:u("permission.resource.page")},{value:"0",label:u("permission.resource.menu")},{value:"1",label:u("permission.resource.button")}]),{resource_form:e}=P(h),f=n=>{_("statusChange",n)};return G(()=>d.value,()=>{b.value=[{value:"3",label:u("permission.resource.page")},{value:"0",label:u("permission.resource.menu")},{value:"1",label:u("permission.resource.button")}]}),(n,r)=>{const m=p("a-input"),i=p("a-form-item"),g=p("a-switch"),N=p("a-select"),R=p("a-space"),l=p("a-form");return I(),k(l,{model:a(e),layout:"horizontal",ref:"resourceFormRef"},{default:c(()=>[s(i,{field:"parentName",label:n.$t("permission.resource.parent_org"),disabled:""},{default:c(()=>[s(m,{modelValue:a(e).parentName,"onUpdate:modelValue":r[0]||(r[0]=o=>a(e).parentName=o)},null,8,["modelValue"])]),_:1},8,["label"]),s(i,{field:"status",label:n.$t("permission.resource.status")},{default:c(()=>[s(g,{modelValue:a(e).status,"onUpdate:modelValue":r[1]||(r[1]=o=>a(e).status=o),onChange:r[2]||(r[2]=o=>f(a(e).status)),"checked-value":"1","unchecked-value":"0"},null,8,["modelValue"])]),_:1},8,["label"]),s(i,{field:"menuName",label:n.$t("permission.resource.resource_name"),rules:[{required:!0,message:n.$t("permission.resource.resource_name_required")},{maxLength:30,message:n.$t("permission.max_length_30")}]},{default:c(()=>[s(m,{modelValue:a(e).menuName,"onUpdate:modelValue":r[3]||(r[3]=o=>a(e).menuName=o)},null,8,["modelValue"])]),_:1},8,["label","rules"]),s(i,{field:"path",label:n.$t("permission.resource.address"),rules:[{required:!0,message:n.$t("permission.resource.address_required")},{maxLength:30,message:n.$t("permission.max_length_30")}]},{default:c(()=>[s(m,{modelValue:a(e).path,"onUpdate:modelValue":r[4]||(r[4]=o=>a(e).path=o)},null,8,["modelValue"])]),_:1},8,["label","rules"]),s(i,{field:"icon",label:n.$t("permission.resource.icon")},{default:c(()=>[s(de,{modelValue:a(e).icon,"onUpdate:modelValue":r[5]||(r[5]=o=>a(e).icon=o)},null,8,["modelValue"])]),_:1},8,["label"]),s(i,{field:"menuType",label:n.$t("permission.resource.menu_type"),rules:[{required:!0,message:n.$t("permission.resource.menu_type_required")}]},{default:c(()=>[s(N,{modelValue:a(e).menuType,"onUpdate:modelValue":r[6]||(r[6]=o=>a(e).menuType=o),options:b.value,"field-names":n.fieldNames,style:{width:"320px"},placeholder:n.$t("permission.select_placeholder")},null,8,["modelValue","options","field-names","placeholder"])]),_:1},8,["label","rules"]),s(i,{field:"description",label:n.$t("permission.resource.description")},{default:c(()=>[s(m,{modelValue:a(e).description,"onUpdate:modelValue":r[7]||(r[7]=o=>a(e).description=o),placeholder:n.$t("permission.input_placeholder")},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),s(i,{field:"perms",label:n.$t("permission.resource.perms"),rules:[{required:!0,message:n.$t("permission.resource.perms_required")},{maxLength:30,message:n.$t("permission.max_length_30")}]},{default:c(()=>[s(m,{modelValue:a(e).perms,"onUpdate:modelValue":r[8]||(r[8]=o=>a(e).perms=o)},null,8,["modelValue"])]),_:1},8,["label","rules"]),s(i,{field:"component",label:n.$t("permission.resource.component"),style:{align:"start"},rules:[{required:!0,message:n.$t("permission.resource.component_required")},{maxLength:30,message:n.$t("permission.max_length_30")}]},{default:c(()=>[s(m,{modelValue:a(e).component,"onUpdate:modelValue":r[9]||(r[9]=o=>a(e).component=o)},null,8,["modelValue"])]),_:1},8,["label","rules"]),s(i,null,{default:c(()=>[s(R,null,{default:c(()=>[O(n.$slots,"actions")]),_:3})]),_:3})]),_:3},8,["model"])}}},pe={class:"resourceanization-container"},Ie={class:"left"},_e={class:"right"},fe={__name:"index",setup($){const v=W(),_=C(null),u=C(!1),d=C(!0),h=C([]),b={add_permission:"system:menu:add",delete_permission:"system:menu:delete"},e=H({parentName:"",status:0,menuName:"",path:"",icon:"",menuType:"0",description:"",perms:"",component:""}),f=async()=>{const{code:l,data:{rows:o}}=await x();l==200&&(h.value=o)},n=async l=>{const{data:{data:o}}=await ee(l);e.resourceId=l,e.parentId=o.parentId,e.parentName=o.parentName,e.menuName=o.menuName,e.path=o.path,e.status=o.status,e.icon=o.icon,e.menuType=o.menuType,e.description=o.description,e.perms=o.perms,e.component=o.component,d.value=!0,e.orderNum=0},r=l=>{e.resourceId=null,e.parentId=l.menuId,e.parentName=l.menuName,e.menuName="",e.path="",e.status="0",e.icon="",e.menuType="0",e.description="",e.perms="",e.component="",e.orderNum=0,u.value=!0,d.value=!1},m=async({menuId:l})=>{const{code:o}=await oe(l);o===200&&B.success({content:t("permission.org.delete_success")}),f()},i=async l=>{const o={menuId:e.resourceId[0],status:l},{code:y}=await se(o);y===200&&(B.success({content:t("permission.status_switch_success")}),f())},g=async()=>{_.value.$refs.resourceFormRef.validate&&_.value.$refs.resourceFormRef.validate(async l=>{if(!l){const o={...e,menuId:d.value&&e.resourceId?e.resourceId[0]:null},y=d.value?ne:te,{code:T}=await y(o);if(T===200){const w=d.value?t("permission.edit"):t("permission.add");B.success({content:`${w}${t("permission.success")}`}),f(),u.value=!1}}})},N=()=>{e.resourceId=null,e.parentName="",e.status=0,e.resourceName="",e.leader="",e.orderNum="",e.address=""},R=()=>{d.value=!0,u.value=!1};return J(()=>{K("system:menu:list")?f():v.push("/denied")}),(l,o)=>{const y=p("a-button"),T=p("a-card"),w=X("hasPerm");return I(),F("div",pe,[V("div",Ie,[s(Z,{treeData:h.value,title:l.$t("permission.resource.tree_title"),fieldNames:{key:"menuId",title:"menuName",children:"children"},permission:b,onNodeClick:n,onAddBtnClick:r,onDeleteBtnClick:m},null,8,["treeData","title"])]),V("div",_e,[s(T,{title:l.$t("permission.resource.details"),style:{height:"100%"}},{default:c(()=>[s(D,{resource_form:e,onStatusChange:i,onSave:g,onReset:N},{actions:c(()=>[Y((I(),k(y,{onClick:g},{default:c(()=>[U(L(l.$t("permission.resource.save")),1)]),_:1})),[[w,"system:menu:edit"]]),s(y,{onClick:N},{default:c(()=>[U(L(l.$t("permission.resource.reset")),1)]),_:1})]),_:1},8,["resource_form"])]),_:1},8,["title"])]),s(M,{visible:u.value,onOk:g,onCancel:R,title:l.$t("permission.resource.add")},{default:c(()=>[s(D,{ref_key:"resourceForm",ref:_,resource_form:e},null,8,["resource_form"])]),_:1},8,["visible","title"])])}}},ve=q(fe,[["__scopeId","data-v-addb5a3c"]]),ke={__name:"PermissionResource",setup($){return(v,_)=>(I(),k(A,null,{default:c(()=>[s(E,{current_label:"资源"}),s(ve)]),_:1}))}};export{ke as default};