BookSystem/frontend/dist/assets/RoleManage-7Ni_fgq0.js
jayhgq 677d8a53b5 build(frontend): update frontend build artifacts for new deploy
update the hashed asset filenames in index.html, replace old deleted assets with new built ones, add all latest dist assets to the project bundle
2026-07-20 17:16:38 +08:00

2 lines
5.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{G as A,E as d,n as f,f as K,H as L,g as U,q as w,w as y,r as v,i as p,d as k,I as F,B as j,c as V,b as x,a as B,t as C,y as Y,F as G,z as J,o as c,J as Q,K as W,_ as X}from"./index-rb7Oshfn.js";import{t as Z}from"./list-query-4ZZvVtjn.js";function ee(b){return()=>({crudOptions:{pagination:{show:!1},search:{show:!0,options:{layout:"inline"},expand:!1},request:{transformQuery:({form:e})=>Z(e,["name"]),pageRequest:async e=>{const{data:t}=await f.post("/roles/search",e);return t},transformRes:({res:e})=>{const t=Array.isArray(e)?e:[];return{currentPage:1,pageSize:Math.max(t.length,1),total:t.length,records:t}},addRequest:async({form:e})=>{await f.post("/roles/",e),d.success({message:"添加成功",duration:5e3})},editRequest:async({form:e,row:t})=>{t&&(await f.put(`/roles/${t.id}`,e),d.success({message:"修改成功",duration:5e3}))},delRequest:async({row:e})=>{e&&(await f.delete(`/roles/${e.id}`),d.success({message:"删除成功",duration:5e3}))},onSuccess:({action:e})=>{e==="add"?d.success({message:"添加成功",duration:5e3}):e==="edit"&&d.success({message:"修改成功",duration:5e3})},onError:e=>{var r;let t="操作失败";if((r=e.response)!=null&&r.data){const a=e.response.data;a.message?t=a.message:a.detail&&(t=typeof a.detail=="string"?a.detail:"操作失败")}d.error({message:t,duration:5e3})}},table:{remove:{showSuccessNotification:!1}},rowHandle:{width:300,buttons:{view:{show:!1},viewPerm:{text:"查看",order:1,click:({row:e})=>{e&&b.onView(e)}},assignPerm:{text:"分配权限",order:2,click:({row:e})=>{e&&b.onAssign(e)}},edit:{text:"编辑",order:10},remove:{text:"删除",order:20}}},columns:{id:{title:"ID",key:"id",type:"number",column:{width:70},form:{show:!1}},name:{title:"角色名称",key:"name",type:"text",search:{show:!0},form:{rules:[{required:!0,message:"必填"}]}},creator:{title:"创建人",key:"creator",type:"text"},createtime:{title:"创建时间",key:"createtime",type:"text",form:{show:!1},column:{width:170},valueBuilder({value:e,row:t,key:r}){!t||e==null||(t[r]=A(e).format("YYYY-MM-DD HH:mm:ss"))}},updatetime:{title:"更新时间",key:"updatetime",type:"text",form:{show:!1},column:{width:170},valueBuilder({value:e,row:t,key:r}){!t||e==null||(t[r]=A(e).format("YYYY-MM-DD HH:mm:ss"))}}}}})}const se={key:0,class:"dlg-role"},te={key:1,class:"perm-tags"},oe={key:0,class:"dlg-role"},ae=K({__name:"RoleManage",setup(b){const e=p(!1),t=p(!1),r=p(null),a=p([]),_=p(null),D=p([]),R=p(),P=p(!1),E={label:"label",children:"children"};function M(o){return o.map(s=>{var l;return{id:s.id,label:`${s.name}${s.code}`,children:(l=s.children)!=null&&l.length?M(s.children):void 0}})}async function T(){const{data:o}=await f.get("/permissions/tree");D.value=M(o??[])}async function H(o){r.value=o,e.value=!0;try{const{data:s}=await f.get(`/permissions/role/${o.id}`);a.value=s.permissions??[]}catch{d.error("加载权限失败"),a.value=[]}}function S(o){_.value=o,t.value=!0}async function N(){var s,l,g,n,m;const o=_.value;if(o)try{console.log(`Loading permissions for role id: ${o.id}`);const i=await f.get(`/permissions/role/${o.id}`);console.log("Response data:",i.data);const h=(i.data.permissions??[]).map(q=>q.id);console.log("Permission IDs:",h),await Q(),(s=R.value)==null||s.setCheckedKeys(h)}catch(i){console.error("Error loading role permissions:",i),W(i)&&(console.error("Response status:",(l=i.response)==null?void 0:l.status),console.error("Response data:",(g=i.response)==null?void 0:g.data),console.error("Request URL:",(n=i.request)==null?void 0:n.url)),d.error("加载角色权限失败"),(m=R.value)==null||m.setCheckedKeys([])}}async function O(){var s,l,g;const o=_.value;if(o){P.value=!0;try{const n=((s=R.value)==null?void 0:s.getCheckedKeys(!1))??[];await f.post("/permissions/assign",{role_id:o.id,permission_ids:n}),d.success("保存成功"),t.value=!1,$.doRefresh()}catch(n){const m=(g=(l=n==null?void 0:n.response)==null?void 0:l.data)==null?void 0:g.detail;d.error(typeof m=="string"?m:"保存失败")}finally{P.value=!1}}}const{crudBinding:z,crudRef:I,crudExpose:$}=L({createCrudOptions:ee({onView:H,onAssign:S})});return U(async()=>{await T(),$.doRefresh()}),(o,s)=>{const l=v("fs-crud"),g=v("el-tag"),n=v("el-empty"),m=v("el-dialog"),i=v("el-tree"),h=v("el-button"),q=v("fs-page");return c(),w(q,null,{default:y(()=>[k(l,F({ref_key:"crudRef",ref:I},j(z)),null,16),k(m,{modelValue:e.value,"onUpdate:modelValue":s[0]||(s[0]=u=>e.value=u),title:"查看角色权限",width:"560px","destroy-on-close":"",onClosed:s[1]||(s[1]=u=>a.value=[])},{default:y(()=>[r.value?(c(),V("p",se,[s[4]||(s[4]=x(" 角色:",-1)),B("strong",null,C(r.value.name),1)])):Y("",!0),a.value.length?(c(),V("div",te,[(c(!0),V(G,null,J(a.value,u=>(c(),w(g,{key:u.id,class:"perm-tag",type:"info"},{default:y(()=>[x(C(u.name)+""+C(u.code)+" ",1)]),_:2},1024))),128))])):(c(),w(n,{key:2,description:"暂未分配权限","image-size":72}))]),_:1},8,["modelValue"]),k(m,{modelValue:t.value,"onUpdate:modelValue":s[3]||(s[3]=u=>t.value=u),title:"分配权限",width:"640px","destroy-on-close":"",onOpen:N},{footer:y(()=>[k(h,{onClick:s[2]||(s[2]=u=>t.value=!1)},{default:y(()=>[...s[6]||(s[6]=[x("取消",-1)])]),_:1}),k(h,{type:"primary",loading:P.value,onClick:O},{default:y(()=>[...s[7]||(s[7]=[x(" 保存 ",-1)])]),_:1},8,["loading"])]),default:y(()=>[_.value?(c(),V("p",oe,[s[5]||(s[5]=x(" 角色:",-1)),B("strong",null,C(_.value.name),1)])):Y("",!0),D.value.length?(c(),w(i,{key:1,ref_key:"permTreeRef",ref:R,class:"perm-tree",data:D.value,"show-checkbox":"","node-key":"id",props:E,"default-expand-all":"","check-strictly":!1},null,8,["data"])):(c(),w(n,{key:2,description:"暂无权限数据","image-size":64}))]),_:1},8,["modelValue"])]),_:1})}}}),le=X(ae,[["__scopeId","data-v-0e80fdd4"]]);export{le as default};