PermissionResource-BU4v5fr7.js 6.0 KB

1
  1. import{C as T}from"./ContentContainer-D_D4NfTU.js";import{_ as w,B as x}from"./Modal-DyTqFfyi.js";import{T as B}from"./TreeParts-CnaTb9ea.js";import{m as $,r as b,$ as S,z as L,c as f,o as y,g as h,a3 as D,w as n,f as a,j as u,l as F,_ as q,b as A,d as M,e as R,i as k,M as U}from"./index-CAiT_9zb.js";import{Q as z,a as P,D as Q,U as j,C as O}from"./resource-V1v9itTv.js";const E={__name:"Upload",props:{limit:{type:Number,default:1},action:String,url:String},emits:["fileListChange","fileListRemove","success"],setup(v,{emit:p}){const m=v,_=p,e=$(()=>m.url),o=b([]);S(()=>m.url,l=>{l&&(o.value=l.split(",").map(t=>({uid:t,name:t,status:"done",url:t})))},{deep:!0}),L(()=>{e.value&&(o.value=e.value.split(",").map(l=>({uid:l,name:l,status:"done",url:l})))});const C=l=>{_("fileListRemove"),o.value=[]},V=l=>{_("fileListChange",l);const t=l.filter(r=>r.status==="done");t.length>0&&_("success",t.map(r=>r.response.data))};return(l,t)=>{const r=f("a-upload");return y(),h(r,{fileList:o.value,"onUpdate:fileList":t[0]||(t[0]=c=>o.value=c),"list-type":"picture-card",limit:v.limit,action:v.action,onChange:V,onBeforeRemove:C,"image-preview":""},null,8,["fileList","limit","action"])}}},G="/api/v1/llm/upload",I={__name:"ResourceForm",props:{resource_form:{type:Object,required:!0,default:()=>({parentName:"",status:"0",menuName:"",icon:"",menuType:"0",description:"",perms:"",component:"",orderNum:0,path:""})}},setup(v){const p=b([]),m=b([]),_=v,e=[{value:"3",label:"目录"},{value:"0",label:"菜单"},{value:"1",label:"按钮"}],{resource_form:o}=D(_),C=l=>{p.value=l},V=l=>{uploadUrl.value=l;const t=l.map(r=>httpUrl+r);m.value=t};return(l,t)=>{const r=f("a-input"),c=f("a-form-item"),i=f("a-switch"),s=f("a-select"),g=f("a-space"),N=f("a-form");return y(),h(N,{model:u(o),layout:"horizontal"},{default:n(()=>[a(c,{field:"parentName",label:"上级资源",disabled:""},{default:n(()=>[a(r,{modelValue:u(o).parentName,"onUpdate:modelValue":t[0]||(t[0]=d=>u(o).parentName=d)},null,8,["modelValue"])]),_:1}),a(c,{field:"status",label:"资源状态"},{default:n(()=>[a(i,{"checked-value":"1","unchecked-value":"0",modelValue:u(o).status,"onUpdate:modelValue":t[1]||(t[1]=d=>u(o).status=d)},null,8,["modelValue"])]),_:1}),a(c,{field:"menuName",label:"资源名称",rules:[{required:!0,message:"资源名称必填"},{maxLength:50,message:"长度不超过50"}]},{default:n(()=>[a(r,{modelValue:u(o).menuName,"onUpdate:modelValue":t[2]||(t[2]=d=>u(o).menuName=d)},null,8,["modelValue"])]),_:1}),a(c,{field:"icon",label:"资源图标"},{default:n(()=>[a(E,{action:G,limit:1,url:u(o).icon,"onUpdate:fileList":C,onSuccess:V},null,8,["url"])]),_:1}),a(c,{field:"menuType",label:"资源类型",rules:[{required:!0,message:"资源类型必填"}]},{default:n(()=>[a(s,{modelValue:u(o).menuType,"onUpdate:modelValue":t[3]||(t[3]=d=>u(o).menuType=d),options:e,"field-names":l.fieldNames,style:{width:"320px"},placeholder:"请选择"},null,8,["modelValue","field-names"])]),_:1}),a(c,{field:"description",label:"提示词"},{default:n(()=>[a(r,{modelValue:u(o).description,"onUpdate:modelValue":t[4]||(t[4]=d=>u(o).description=d),placeholder:"请输入提示词"},null,8,["modelValue"])]),_:1}),a(c,{field:"perms",label:"资源控制权限字符",rules:[{required:!0,message:"资源控制权限字符必填"},{maxLength:50,message:"长度不超过50"}]},{default:n(()=>[a(r,{modelValue:u(o).perms,"onUpdate:modelValue":t[5]||(t[5]=d=>u(o).perms=d)},null,8,["modelValue"])]),_:1}),a(c,{field:"component",label:"资源地址",style:{align:"start"},rules:[{required:!0,message:"资源地址必填"},{maxLength:50,message:"长度不超过50"}]},{default:n(()=>[a(r,{modelValue:u(o).component,"onUpdate:modelValue":t[6]||(t[6]=d=>u(o).component=d)},null,8,["modelValue"])]),_:1}),a(c,null,{default:n(()=>[a(g,null,{default:n(()=>[F(l.$slots,"actions")]),_:3})]),_:3})]),_:3},8,["model"])}}},H={class:"organization-container"},J={class:"left"},K={class:"right"},W={__name:"index",setup(v){const p=b(!1),m=b(!0),_=b([]),e=A({parentName:"",status:0,menuName:"",icon:"",menuType:"0",description:"",perms:"",component:""}),o=async()=>{const{code:i,data:{rows:s}}=await z();i==200&&(_.value=s)},C=async i=>{const{data:{data:s}}=await P(i);e.resourceId=i,e.parentId=s.parentId,e.parentName=s.parentName,e.menuName=s.menuName,e.status=s.status,e.icon=s.icon,e.menuType=s.menuType,e.description=s.description,e.perms=s.perms,e.component=s.component,m.value=!0,e.orderNum=0,e.path=""},V=i=>{e.resourceId=null,e.parentId=i.menuId,e.parentName=i.menuName,e.menuName="",e.status="0",e.icon="",e.menuType="0",e.description="",e.perms="",e.component="",e.orderNum=0,e.path="",p.value=!0,m.value=!1},l=async({menuId:i})=>{const{code:s}=await Q(i);s===200&&U.success({title:"删除",content:"删除成功"}),o()},t=async()=>{console.log("is_edit_mode.value",m.value),console.log("resource_form.resourceId",e.resourceId);const i={...e,menuId:m.value&&e.resourceId?e.resourceId[0]:null},s=m.value?j:O,{code:g}=await s(i);if(g===200){const N=m.value?"编辑":"新增";U.success({title:`${N}用户`,content:`${N}成功`}),o(),p.value=!1}},r=()=>{e.resourceId=null,e.parentName="",e.status=0,e.resourceName="",e.leader="",e.orderNum="",e.address=""},c=()=>{m.value=!0,p.value=!1};return L(()=>{o()}),(i,s)=>{const g=f("a-button"),N=f("a-card");return y(),M("div",H,[R("div",J,[a(B,{treeData:_.value,title:"资源",fieldNames:{key:"menuId",title:"menuName",children:"children"},onNodeClick:C,onAddBtnClick:V,onDeleteBtnClick:l},null,8,["treeData"])]),R("div",K,[a(N,{title:"详情",style:{height:"100%"}},{default:n(()=>[a(I,{resource_form:e,onSave:t,onReset:r},{actions:n(()=>[a(g,{onClick:t},{default:n(()=>s[0]||(s[0]=[k("保存")])),_:1}),a(g,{onClick:r},{default:n(()=>s[1]||(s[1]=[k("重置")])),_:1})]),_:1},8,["resource_form"])]),_:1})]),a(w,{visible:p.value,onOk:t,onCancel:c,title:"新增"},{default:n(()=>[a(I,{resource_form:e},null,8,["resource_form"])]),_:1},8,["visible"])])}}},X=q(W,[["__scopeId","data-v-e9d04637"]]),oe={__name:"PermissionResource",setup(v){return(p,m)=>(y(),h(T,null,{default:n(()=>[a(x,{current_label:"资源"}),a(X)]),_:1}))}};export{oe as default};