Files
YG_FT/frontend/dist/assets/ProjectDetailView-BXpXNuUF.js

2 lines
7.8 KiB
JavaScript
Raw Normal View History

2026-07-27 09:12:47 +08:00
import{E as te,a as oe}from"./index-DOmj2wT1.js";import{E as G}from"./index-CunlXsH6.js";import{a as H,E as K}from"./index-uEvcRnhb.js";import{E as se}from"./index-DcESg4sN.js";import{E as re,a as ne}from"./index-CUZ1e7n7.js";import{E as O}from"./index-Dn5wkPSB.js";import{E as ue}from"./index-RB3L_ftg.js";import{a as ie,E as de}from"./index-DbiC_J6H.js";import{v as J}from"./directive-DnYsEmpc.js";import{aH as me,aF as pe,d as Q,D as ce,e as A,w as a,j as W,o as i,K as X,c as $,s as e,x as s,M as N,ad as R,aa as x,g as Y,y as f,A as U,G as _e,f as z,ac as ve,v as fe,da as be,q as F}from"./index-_T_ZwAU8.js";import{E as ye}from"./index-C-WN4qF8.js";import{a as Ve,b as ge,d as we,u as Ee,r as ke,e as Ce}from"./project-rPDb_gVb.js";import{E as je}from"./index-DOTsJDGF.js";import{E as xe,a as $e}from"./index-dqKVgrM4.js";import{E as De}from"./index-DeTpqSIv.js";import{_ as Z}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./castArray-BlzMMKhq.js";import"./_baseClone-BuLLSdZ_.js";import"./index-DPr6SX3u.js";import"./vnode-BBSgohgu.js";import"./index-DrL-DdXi.js";import"./index-CaL9AHzU.js";import"./index-CnFjh-NG.js";import"./index-jXIxALr6.js";import"./index-LblaQ-sT.js";import"./raf-BSHx3Xj9.js";import"./scroll-xdnWlbe1.js";import"./index-I-t9u_Se.js";import"./clamp-eKDmixUu.js";import"./toNumber-B7ieOfxs.js";import"./_baseIteratee-C37ZLjhl.js";import"./index-CwdOMQew.js";import"./use-dialog-CuUtYO5o.js";import"./index-D1ZBBHpl.js";import"./index-BWwMJoxR.js";import"./debounce-CtiCYe7I.js";import"./validator-CXbrKCjC.js";import"./omit-BNuYgpQl.js";const Ue=(k,n)=>pe(`/resources/${k}/${n}/acl`),Me=(k,n,d)=>me(`/resources/${k}/${n}/acl`,{entries:d}),Ae=Q({__name:"AclDialog",props:{modelValue:{type:Boolean},resourceType:{},resourceId:{}},emits:["update:modelValue"],setup(k,{emit:n}){const d=k,m=n,p=W({get:()=>d.modelValue,set:b=>m("update:modelValue",b)}),c=f([]),V=f(!1),g=["read","write","execute","download","delete","share"];async function _(){V.value=!0;try{c.value=await Ue(d.resourceType,d.resourceId)}finally{V.value=!1}}ce(p,b=>{b&&_()});function D(){c.value.push({subject_type:"user",subject_id:"",permissions:[]})}function I(b){c.value.splice(b,1)}async function w(){await Me(d.resourceType,d.resourceId,c.value),U.success("ACL 已保存"),p.value=!1}return(b,r)=>{const C=G,M=H,P=K,v=je,l=xe,B=$e,E=De,L=O,y=J;return i(),A(L,{modelValue:p.value,"onUpdate:modelValue":r[1]||(r[1]=u=>p.value=u),title:"资源授权 (ACL)",width:"640px"},{footer:a(()=>[e(C,{onClick:r[0]||(r[0]=u=>p.value=!1)},{default:a(()=>[...r[4]||(r[4]=[s("取消",-1)])]),_:1}),e(C,{type:"primary",onClick:w},{default:a(()=>[...r[5]||(r[5]=[s("保存",-1)])]),_:1})]),default:a(()=>[X((i(),$("div",null,[e(C,{type:"primary",size:"small",onClick:D},{default:a(()=>[...r[2]||(r[2]=[s("添加授权项",-1)])]),_:1}),(i(!0),$(N,null,R(c.value,(u,j)=>(i(),$("div",{key:j,class:"acl-row"},[e(P,{modelValue:u.subject_type,"onUpdate:modelValue":t=>u.subject_type=t,style:{width:"140px"}},{default:a(()=>[e(M,{label:"用户",value:"user"}),e(M,{label:"项目角色",value:"project_role"})]),_:1},8,["modelValue","onUpdate:modelValue"]),e(v,{modelValue:u.subject_id,"onUpdate:modelValue":t=>u.subject_id=t,placeholder:"subject ID",style:{width:"200px"}},null,8,["modelValue","onUpdate:modelValue"]),e(B,{modelValue:u.permissions,"onUpdate:modelValue":t=>u.permissions=t},{default:a(()=>[(i(),$(N,null,R(g,t=>e(l,{key:t,value:t},{default:a(()=>[s(x(t),1)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue","onUpdate:modelValue"]),e(C,{link:"",type:"danger",onClick:t=>I(j)},{default:a(()=>[...r[3]||(r[3]=[s("删除",-1)])]),_:1},8,["onClick"])]))),128)),c.value.length===0?(i(),A(E,{key:0,description:"暂无授权"})):Y("",!0)])),[[y,V.value]])]),_:1},8,["modelValue"])}}}),Ie=Z(Ae,[["__scopeId","data-v-64940f3b"]]),Pe={class:"page-wrap"},Be={class:"detail-actions"},Le={class:"card-header"},Te=Q({__name:"ProjectDetailView",setup(k){const n=ve(),d=fe(),m=f(null),p=f([]),c=f([]),V=f(!1),g=f(!1),_=f({user_id:"",role:"developer"}),D=f(!1),I=W(()=>{const v=new Set(p.value.map(l=>l.user_id)