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