| 1 |
- import{C as w}from"./ContentContainer-0J5mcnfB.js";import{h as x,_ as B,B as D}from"./permission-DskaWIOW.js";import{T as S}from"./TreeParts-AwOw4KPX.js";import{m as $,r as y,a0 as F,x as L,c as p,o as C,g as V,a4 as P,w as r,f as s,j as u,l as q,_ as A,b as M,U as Q,d as j,e as R,E as z,i as U,M as k}from"./index-DSBfL06P.js";import{Q as E,a as O,D as G,U as H,C as J}from"./resource-DEf4JFXk.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([]);F(()=>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=[]},b=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 C(),V(n,{fileList:e.value,"onUpdate:fileList":t[0]||(t[0]=i=>e.value=i),"list-type":"picture-card",limit:_.limit,action:_.action,onChange:b,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}=P(f),v=o=>{d.value=o},b=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"),h=p("a-switch"),m=p("a-select"),a=p("a-space"),N=p("a-form");return C(),V(N,{model:u(e),layout:"horizontal"},{default:r(()=>[s(i,{field:"parentName",label:"上级资源",disabled:""},{default:r(()=>[s(n,{modelValue:u(e).parentName,"onUpdate:modelValue":t[0]||(t[0]=l=>u(e).parentName=l)},null,8,["modelValue"])]),_:1}),s(i,{field:"status",label:"资源状态"},{default:r(()=>[s(h,{"checked-value":"1","unchecked-value":"0",modelValue:u(e).status,"onUpdate:modelValue":t[1]||(t[1]=l=>u(e).status=l)},null,8,["modelValue"])]),_:1}),s(i,{field:"menuName",label:"资源名称",rules:[{required:!0,message:"资源名称必填"},{maxLength:50,message:"长度不超过50"}]},{default:r(()=>[s(n,{modelValue:u(e).menuName,"onUpdate:modelValue":t[2]||(t[2]=l=>u(e).menuName=l)},null,8,["modelValue"])]),_:1}),s(i,{field:"icon",label:"资源图标"},{default:r(()=>[s(K,{action:W,limit:1,url:u(e).icon,"onUpdate:fileList":v,onSuccess:b},null,8,["url"])]),_:1}),s(i,{field:"menuType",label:"资源类型",rules:[{required:!0,message:"资源类型必填"}]},{default:r(()=>[s(m,{modelValue:u(e).menuType,"onUpdate:modelValue":t[3]||(t[3]=l=>u(e).menuType=l),options:g,"field-names":o.fieldNames,style:{width:"320px"},placeholder:"请选择"},null,8,["modelValue","field-names"])]),_:1}),s(i,{field:"description",label:"提示词"},{default:r(()=>[s(n,{modelValue:u(e).description,"onUpdate:modelValue":t[4]||(t[4]=l=>u(e).description=l),placeholder:"请输入提示词"},null,8,["modelValue"])]),_:1}),s(i,{field:"perms",label:"资源控制权限字符",rules:[{required:!0,message:"资源控制权限字符必填"},{maxLength:50,message:"长度不超过50"}]},{default:r(()=>[s(n,{modelValue:u(e).perms,"onUpdate:modelValue":t[5]||(t[5]=l=>u(e).perms=l)},null,8,["modelValue"])]),_:1}),s(i,{field:"component",label:"资源地址",style:{align:"start"},rules:[{required:!0,message:"资源地址必填"},{maxLength:50,message:"长度不超过50"}]},{default:r(()=>[s(n,{modelValue:u(e).component,"onUpdate:modelValue":t[6]||(t[6]=l=>u(e).component=l)},null,8,["modelValue"])]),_:1}),s(i,null,{default:r(()=>[s(a,null,{default:r(()=>[q(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:"",icon:"",menuType:"0",description:"",perms:"",component:""}),v=async()=>{const{code:m,data:{rows:a}}=await E();m==200&&(f.value=a)},b=async m=>{const{data:{data:a}}=await O(m);e.resourceId=m,e.parentId=a.parentId,e.parentName=a.parentName,e.menuName=a.menuName,e.status=a.status,e.icon=a.icon,e.menuType=a.menuType,e.description=a.description,e.perms=a.perms,e.component=a.component,c.value=!0,e.orderNum=0,e.path=""},o=m=>{e.resourceId=null,e.parentId=m.menuId,e.parentName=m.menuName,e.menuName="",e.status="0",e.icon="",e.menuType="0",e.description="",e.perms="",e.component="",e.orderNum=0,e.path="",d.value=!0,c.value=!1},t=async({menuId:m})=>{const{code:a}=await G(m);a===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},a=c.value?H:J,{code:N}=await a(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=""},h=()=>{c.value=!0,d.value=!1};return L(()=>{x("system:resource:list")&&v()}),(m,a)=>{const N=p("a-button"),l=p("a-card"),T=Q("hasPerm");return C(),j("div",X,[R("div",Y,[s(S,{treeData:f.value,title:"资源",fieldNames:{key:"menuId",title:"menuName",children:"children"},permission:g,onNodeClick:b,onAddBtnClick:o,onDeleteBtnClick:t},null,8,["treeData"])]),R("div",Z,[s(l,{title:"详情",style:{height:"100%"}},{default:r(()=>[s(I,{resource_form:e,onSave:n,onReset:i},{actions:r(()=>[z((C(),V(N,{onClick:n},{default:r(()=>a[0]||(a[0]=[U("保存")])),_:1})),[[T,"system:resource:edit"]]),s(N,{onClick:i},{default:r(()=>a[1]||(a[1]=[U("重置")])),_:1})]),_:1},8,["resource_form"])]),_:1})]),s(B,{visible:d.value,onOk:n,onCancel:h,title:"新增"},{default:r(()=>[s(I,{resource_form:e},null,8,["resource_form"])]),_:1},8,["visible"])])}}},te=A(ee,[["__scopeId","data-v-c7fc2031"]]),re={__name:"PermissionResource",setup(_){return(d,c)=>(C(),V(w,null,{default:r(()=>[s(D,{current_label:"资源"}),s(te)]),_:1}))}};export{re as default};
|