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