import{d as N,O as V,K as L,k,v as D,r as G,o as m,x as I,z as u,b as s,a as o,u as a,t as C,c as y,B as w,M as J,G as z,H as A}from"./vue.1703796278973.js";import{M,r as O,I as E,av as H,a6 as K,aw as Q,aG as Y,F as W,Y as X,cE as Z,k as ee,a5 as te,n as ae}from"./index.17037962789732.js";import"./index.170379627897326.js";import"./index.170379627897316.js";import"./index.170379627897317.js";import"./index.1703796278973301.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./index.170379627897314.js";import"./index.170379627897315.js";import"./index.170379627897325.js";import"./index.170379627897327.js";import{_ as se}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import oe from"./ChooseIconDialog.1703796278973.js";import re from"./PermissChoose.1703796278973.js";import{I as ne,G as le,K as ie,L as ue,M as de,N as pe}from"./system.1703796278973.js";import{_ as me}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./permission.1703796278973.js";import"./index.170379627897337.js";import"./index.1703796278973302.js";import"./permission.17037962789732.js";import"./comm.1703796278973.js";import"./index.170379627897332.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";const v=g=>(z("data-v-5e390ebd"),g=g(),A(),g),ce={class:"basic-info-container"},_e={class:"card"},fe=v(()=>u("h3",null,"基本信息",-1)),ve={class:"row",style:{display:"flex"}},ge={key:0,class:"icon-upload has-icon"},ye=v(()=>u("p",null,"点击选择图标",-1)),he={class:"card"},be=v(()=>u("h3",null,"权限配置",-1)),xe=v(()=>u("span",{style:{"margin-right":"3px"}},"数据权限控制",-1)),ke=v(()=>u("span",{style:{"margin-right":"3px"}},"间接控制",-1)),Ie=N({__name:"BasicInfo",setup(g){const P="system/Menu",c=V(),T=L(),p={id:c.params.id===":id"?void 0:c.params.id,...c.query,url:c.query.basePath,parentId:c.query.pid},h=k(),b=k(),e=D({data:{name:"",code:"",sortIndex:"",icon:"",describe:"",permissions:[],accessSupport:"unsupported",assetType:void 0,indirectMenus:[],...p},treeData:[],assetsType:[],saveLoading:!1,sourceCode:"",init:()=>{p.id&&ne(p.id).then(l=>{var t,i;e.data={...l.result,accessSupport:((i=(t=l.result)==null?void 0:t.accessSupport)==null?void 0:i.value)||"unsupported"},e.sourceCode=l.result.code}),le({paging:!1}).then(l=>{e.treeData=l.result}),ie().then(l=>{e.assetsType=l.result.map(t=>({label:t.name,value:t.id}))})},checkCode:async(l,t)=>t?t.length>64?Promise.reject("最多可输入64个字符"):p.id&&t===e.sourceCode?Promise.resolve(""):(await ue({code:t,owner:"iot"})).result.passed?Promise.resolve():Promise.reject("该编码重复"):Promise.reject(""),clickSave:()=>{var l,t;!h||!b||Promise.all([(l=h.value)==null?void 0:l.validate(),(t=b.value)==null?void 0:t.validate()]).then(()=>{const i=p.id?de:pe;e.saveLoading=!0;const n=e.data.accessSupport,f={...e.data,accessSupport:{value:n,label:n==="unsupported"?"不支持":n==="support"?"支持":"间接控制"},owner:"iot"};i(f).then(d=>{d.status===200?(M.success("操作成功!"),p.id||(T.push(`/system/Menu/detail/${d.result.id}`),p.id=d.result.id,e.init())):M.error("操作失败!")}).finally(()=>e.saveLoading=!1)}).catch(i=>{})}});e.init();const _=k(!1);return(l,t)=>{const i=G("AIcon"),n=O,f=E,d=H,q=K,U=Q,R=Y,S=W,j=X,x=Z,B=ee,$=te,F=ae;return m(),I("div",ce,[u("div",_e,[fe,s(S,{ref_key:"basicFormRef",ref:h,model:a(e).data,class:"basic-form"},{default:o(()=>[u("div",ve,[s(n,{label:"菜单图标",name:"icon",rules:[{required:!0,message:"请上传图标",trigger:"change"}],style:{flex:"0 0 186px"}},{default:o(()=>[a(e).data.icon?(m(),I("div",ge,[s(i,{type:a(e).data.icon,style:{"font-size":"90px"}},null,8,["type"]),u("span",{class:"mark",onClick:t[0]||(t[0]=r=>_.value=!0)},"点击修改")])):(m(),I("div",{key:1,onClick:t[1]||(t[1]=r=>_.value=!0),class:"icon-upload no-icon"},[u("span",null,[s(i,{type:"PlusOutlined",style:{"font-size":"30px"}}),ye])]))]),_:1}),s(U,{gutter:24,style:{flex:"1 1 auto"}},{default:o(()=>[s(d,{span:12},{default:o(()=>[s(n,{label:"名称",name:"name",rules:[{required:!0,message:"请输入名称",trigger:"change"},{max:64,message:"最多可输入64个字符",trigger:"change"}]},{default:o(()=>[s(f,{value:a(e).data.name,"onUpdate:value":t[2]||(t[2]=r=>a(e).data.name=r),placeholder:"请输入名称"},null,8,["value"])]),_:1})]),_:1}),s(d,{span:12},{default:o(()=>[s(n,{label:"编码",name:"code",rules:[{required:!0,message:"请输入编码",trigger:"change"},{max:64,message:"最多可输入64个字符",trigger:"change"},{validator:a(e).checkCode,trigger:"blur"}]},{default:o(()=>[s(f,{value:a(e).data.code,"onUpdate:value":t[3]||(t[3]=r=>a(e).data.code=r),placeholder:"请输入编码"},null,8,["value"])]),_:1},8,["rules"])]),_:1}),s(d,{span:12},{default:o(()=>[s(n,{label:"页面地址",name:"url",rules:[{required:!0,message:"请输入页面地址"},{max:128,message:"最多可输入128字符"},{pattern:/^\//,message:"请正确填写地址,以/开头"}]},{default:o(()=>[s(f,{value:a(e).data.url,"onUpdate:value":t[4]||(t[4]=r=>a(e).data.url=r),placeholder:"请输入页面地址"},null,8,["value"])]),_:1})]),_:1}),s(d,{span:12},{default:o(()=>[s(n,{label:"排序",name:"sortIndex",rules:[{pattern:/^[0-9]*[1-9][0-9]*$/,message:"请输入大于0的整数"}]},{default:o(()=>[s(q,{value:a(e).data.sortIndex,"onUpdate:value":t[5]||(t[5]=r=>a(e).data.sortIndex=r),placeholder:"请输入排序",style:{width:"100%"}},null,8,["value"])]),_:1})]),_:1})]),_:1})]),s(n,{label:"说明",name:"describe"},{default:o(()=>[s(R,{value:a(e).data.describe,"onUpdate:value":t[6]||(t[6]=r=>a(e).data.describe=r),rows:4,"show-count":"",maxlength:200,placeholder:"请输入说明"},null,8,["value"])]),_:1})]),_:1},8,["model"])]),u("div",he,[be,s(S,{ref_key:"permissFormRef",ref:b,model:a(e).data,class:"basic-form permiss-form"},{default:o(()=>[s(n,{name:"accessSupport",required:""},{label:o(()=>[xe,s(j,{title:"此菜单页面数据所对应的资产类型"},{default:o(()=>[s(i,{type:"QuestionCircleOutlined",class:"img-style",style:{color:"#a6a6a6"}})]),_:1})]),default:o(()=>[s(B,{value:a(e).data.accessSupport,"onUpdate:value":t[7]||(t[7]=r=>a(e).data.accessSupport=r),name:"radioGroup"},{default:o(()=>[s(x,{value:"unsupported"},{default:o(()=>[C("不支持")]),_:1}),s(x,{value:"support"},{default:o(()=>[C("支持")]),_:1}),s(x,{value:"indirect"},{default:o(()=>[ke,s(j,{title:"此菜单内的数据基于其他菜单的数据权限控制"},{default:o(()=>[s(i,{type:"QuestionCircleFilled",class:"img-style"})]),_:1})]),_:1})]),_:1},8,["value"]),a(e).data.accessSupport==="support"?(m(),y(n,{key:0,name:"assetType",rules:[{required:!0,message:"请选择资产类型"}],style:{"margin-top":"24px","margin-bottom":"0"}},{default:o(()=>[s($,{value:a(e).data.assetType,"onUpdate:value":t[8]||(t[8]=r=>a(e).data.assetType=r),style:{width:"500px"},placeholder:"请选择资产类型","show-search":"",options:a(e).assetsType},null,8,["value","options"])]),_:1})):w("",!0),a(e).data.accessSupport==="indirect"?(m(),y(n,{key:1,name:"indirectMenus",rules:[{required:!0,message:"请选择关联菜单"}],style:{"margin-top":"24px","margin-bottom":"0"}},{default:o(()=>[s(F,{value:a(e).data.indirectMenus,"onUpdate:value":t[9]||(t[9]=r=>a(e).data.indirectMenus=r),style:{width:"400px"},"dropdown-style":{maxHeight:"400px",overflow:"auto"},placeholder:"请选择关联菜单",multiple:"","show-search":"","tree-data":a(e).treeData,"field-names":{children:"children",label:"name",value:"id"}},null,8,["value","tree-data"])]),_:1})):w("",!0)]),_:1}),s(n,{label:"权限"},{default:o(()=>[(m(),y(re,{"first-width":3,"max-height":"350px",value:a(e).data.permissions,"onUpdate:value":t[10]||(t[10]=r=>a(e).data.permissions=r),key:a(e).data.id||""},null,8,["value"]))]),_:1})]),_:1},8,["model"]),s(se,{type:"primary",hasPermission:`${P}:${a(c).params.id===":id"?"add":"update"}`,onClick:a(e).clickSave,loading:a(e).saveLoading},{default:o(()=>[C(" 保存 ")]),_:1},8,["hasPermission","onClick","loading"])]),a(_)?(m(),y(oe,{key:0,visible:a(_),"onUpdate:visible":t[11]||(t[11]=r=>J(_)?_.value=r:null),onConfirm:t[12]||(t[12]=r=>a(e).data.icon=r)},null,8,["visible"])):w("",!0)])}}});const nt=me(Ie,[["__scopeId","data-v-5e390ebd"]]);export{nt as default};