MenuDrawer-6d5e202e.js
4.64 KB
var _=Object.defineProperty;var d=Object.getOwnPropertySymbols;var S=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable;var f=(e,t,o)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,b=(e,t)=>{for(var o in t||(t={}))S.call(t,o)&&f(e,o,t[o]);if(d)for(var o of d(t))D.call(t,o)&&f(e,o,t[o]);return e};var m=(e,t,o)=>new Promise((s,a)=>{var c=n=>{try{r(o.next(n))}catch(l){a(l)}},u=n=>{try{r(o.throw(n))}catch(l){a(l)}},r=n=>n.done?s(n.value):Promise.resolve(n.value).then(c,u);r((o=o.apply(e,t)).next())});import{n as w,d as R,k as F,u as h,e as M,a8 as g,_ as N,a9 as k,aa as x,f as V,ad as G}from"./vue-5a35c3f5.js";import{B as T}from"./BasicForm-53100365.js";import"./componentMap-4d1c941b.js";import{u as $}from"./useForm-86d11f60.js";import"./RadioButtonGroup-72b65d2e.js";import{I as C,_ as q}from"./index.js";import{aR as L}from"./antd-6b087f69.js";import{B as O,a as j}from"./index-76664154.js";import{a as E}from"./system-c978e3dc.js";const ae=[{title:"菜单名称",dataIndex:"menuName",width:200,align:"left"},{title:"图标",dataIndex:"icon",width:50,customRender:({record:e})=>w(C,{icon:e.icon})},{title:"权限标识",dataIndex:"permission",width:180},{title:"组件",dataIndex:"component"},{title:"排序",dataIndex:"orderNo",width:50},{title:"状态",dataIndex:"status",width:80,customRender:({record:e})=>{const o=~~e.status===0,s=o?"green":"red",a=o?"启用":"停用";return w(L,{color:s},()=>a)}},{title:"创建时间",dataIndex:"createTime",width:180}],U=e=>e==="0",v=e=>e==="1",p=e=>e==="2",re=[{field:"menuName",label:"菜单名称",component:"Input",colProps:{span:8}},{field:"status",label:"状态",component:"Select",componentProps:{options:[{label:"启用",value:"0"},{label:"停用",value:"1"}]},colProps:{span:8}}],z=[{field:"type",label:"菜单类型",component:"RadioButtonGroup",defaultValue:"0",componentProps:{options:[{label:"目录",value:"0"},{label:"菜单",value:"1"},{label:"按钮",value:"2"}]},colProps:{lg:24,md:24}},{field:"menuName",label:"菜单名称",component:"Input",required:!0},{field:"parentMenu",label:"上级菜单",component:"TreeSelect",componentProps:{fieldNames:{label:"menuName",key:"id",value:"id"},getPopupContainer:()=>document.body}},{field:"orderNo",label:"排序",component:"InputNumber",required:!0},{field:"icon",label:"图标",component:"IconPicker",required:!0,ifShow:({values:e})=>!p(e.type)},{field:"routePath",label:"路由地址",component:"Input",required:!0,ifShow:({values:e})=>!p(e.type)},{field:"component",label:"组件路径",component:"Input",ifShow:({values:e})=>v(e.type)},{field:"permission",label:"权限标识",component:"Input",ifShow:({values:e})=>!U(e.type)},{field:"status",label:"状态",component:"RadioButtonGroup",defaultValue:"0",componentProps:{options:[{label:"启用",value:"0"},{label:"禁用",value:"1"}]}},{field:"isExt",label:"是否外链",component:"RadioButtonGroup",defaultValue:"0",componentProps:{options:[{label:"否",value:"0"},{label:"是",value:"1"}]},ifShow:({values:e})=>!p(e.type)},{field:"keepalive",label:"是否缓存",component:"RadioButtonGroup",defaultValue:"0",componentProps:{options:[{label:"否",value:"0"},{label:"是",value:"1"}]},ifShow:({values:e})=>v(e.type)},{field:"show",label:"是否显示",component:"RadioButtonGroup",defaultValue:"0",componentProps:{options:[{label:"是",value:"0"},{label:"否",value:"1"}]},ifShow:({values:e})=>!p(e.type)}],A=R({name:"MenuDrawer",components:{BasicDrawer:O,BasicForm:T},emits:["success","register"],setup(e,{emit:t}){const o=F(!0),[s,{resetFields:a,setFieldsValue:c,updateSchema:u,validate:r}]=$({labelWidth:100,schemas:z,showActionButtonGroup:!1,baseColProps:{lg:12,md:24}}),[n,{setDrawerProps:l,closeDrawer:P}]=j(i=>m(this,null,function*(){a(),l({confirmLoading:!1}),o.value=!!(i!=null&&i.isUpdate),h(o)&&c(b({},i.record));const I=yield E();u({field:"parentMenu",componentProps:{treeData:I}})})),y=M(()=>h(o)?"编辑菜单":"新增菜单");function B(){return m(this,null,function*(){try{const i=yield r();l({confirmLoading:!0}),console.log(i),P(),t("success")}finally{l({confirmLoading:!1})}})}return{registerDrawer:n,registerForm:s,getTitle:y,handleSubmit:B}}});function W(e,t,o,s,a,c){const u=g("BasicForm"),r=g("BasicDrawer");return N(),k(r,G(e.$attrs,{onRegister:e.registerDrawer,showFooter:"",title:e.getTitle,width:"50%",onOk:e.handleSubmit}),{default:x(()=>[V(u,{onRegister:e.registerForm},null,8,["onRegister"])]),_:1},16,["onRegister","title","onOk"])}const H=q(A,[["render",W],["__file","E:/allcode/erp/test7901/order-erp-front/src/views/demo/system/menu/MenuDrawer.vue"]]),le=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"}));export{H as M,le as a,ae as c,re as s};