| 1 |
- import{C as M}from"./ContentContainer-0J5mcnfB.js";import{h as R,_ as j,B as z}from"./permission-DskaWIOW.js";import{T as S}from"./TreeParts-AwOw4KPX.js";import{a4 as A,c as h,o as b,g as x,w as l,f as a,j as u,l as E,C as V,_ as Q,r as $,b as G,x as H,U as J,d as K,e as B,E as W,i as U,M as P}from"./index-DSBfL06P.js";import{a as X}from"./common-fhUcOxo6.js";const O={__name:"OrgForm",props:{org_form:{type:Object,required:!0,default:()=>({parentName:"",status:0,deptName:"",leader:"",phone:"",address:""})}},setup(d){const m=d,{org_form:s}=A(m);return(N,r)=>{const e=h("a-input"),p=h("a-form-item"),D=h("a-switch"),k=h("a-space"),y=h("a-form");return b(),x(y,{model:u(s),layout:"horizontal",ref:"formRef"},{default:l(()=>[a(p,{field:"parentName",label:"上级机构",disabled:""},{default:l(()=>[a(e,{modelValue:u(s).parentName,"onUpdate:modelValue":r[0]||(r[0]=n=>u(s).parentName=n)},null,8,["modelValue"])]),_:1}),a(p,{field:"status",label:"机构状态"},{default:l(()=>[a(D,{"checked-value":"1","unchecked-value":"0",modelValue:u(s).status,"onUpdate:modelValue":r[1]||(r[1]=n=>u(s).status=n)},null,8,["modelValue"])]),_:1}),a(p,{field:"deptName",label:"机构名称",rules:[{required:!0,message:"机构名称必填"},{maxLength:50,message:"长度不超过50"}]},{default:l(()=>[a(e,{modelValue:u(s).deptName,"onUpdate:modelValue":r[2]||(r[2]=n=>u(s).deptName=n)},null,8,["modelValue"])]),_:1}),a(p,{field:"leader",label:"联系人",rules:[{required:!0,message:"联系人必填"},{maxLength:50,message:"长度不超过50"}]},{default:l(()=>[a(e,{modelValue:u(s).leader,"onUpdate:modelValue":r[3]||(r[3]=n=>u(s).leader=n)},null,8,["modelValue"])]),_:1}),a(p,{field:"phone",label:"联系电话",rules:[{required:!0,message:"联系电话必填"},{maxLength:50,message:"长度不超过50"}]},{default:l(()=>[a(e,{modelValue:u(s).phone,"onUpdate:modelValue":r[4]||(r[4]=n=>u(s).phone=n)},null,8,["modelValue"])]),_:1}),a(p,{field:"address",label:"机构地址"},{default:l(()=>[a(e,{modelValue:u(s).address,"onUpdate:modelValue":r[5]||(r[5]=n=>u(s).address=n)},null,8,["modelValue"])]),_:1}),a(p,null,{default:l(()=>[a(k,null,{default:l(()=>[E(N.$slots,"actions")]),_:3})]),_:3})]),_:3},8,["model"])}}},C="/api/dept";function Y(d){return V({url:`${C}/${d}`,method:"get"})}function Z(d){return V({url:`${C}/edit_dept`,method:"put",data:d})}function ee(d){return V({url:`${C}/dept_parent`,method:"put",data:d})}function te(d){return V({url:`${C}/add_dept`,method:"post",data:d})}function ae(d){return V({url:`${C}/${d}`,method:"delete"})}const se={class:"organization-container"},oe={class:"left"},ne={class:"right"},le={__name:"index",setup(d){const m=$(!1),s=$(!0),N=$([]),r={add_permission:"system:dept:add",delete_permission:"system:dept:delete"},e=G({parentName:"",status:0,deptName:"",leader:"",phone:"",address:"",orderNum:0}),p=async()=>{const{code:o,data:{rows:t}}=await X();o==200&&(N.value=t)},D=async o=>{const{data:{data:t}}=await Y(o);e.deptId=o,e.parentName=t.parentName,e.status=t.status,e.deptName=t.deptName,e.leader=t.leader,e.phone=t.phone,e.address=t.address,s.value=!0},k=o=>{e.deptId="",e.parentName=o.deptName,e.parentId=o.deptId,e.status=0,e.deptName="",e.leader="",e.phone="",e.address="",m.value=!0,s.value=!1},y=async({deptId:o})=>{const{code:t}=await ae(o);t===200&&P.success({title:"删除",content:"删除成功"}),p()},n=async()=>{const o={...e,deptId:s.value&&e.deptId?e.deptId[0]:null},t=s.value?Z:te,{code:c}=await t(o);if(c===200){const i=s.value?"编辑":"新增";P.success({title:`${i}用户`,content:`${i}成功`}),p(),m.value=!1}},w=()=>{e.deptId=null,e.parentName="",e.status=0,e.deptName="",e.leader="",e.phone="",e.address=""},T=()=>{s.value=!0,m.value=!1},q=async({dropNode:o,dragNode:t,dropPosition:c})=>{const i=N.value;ee({orderNum:"0",parentId:o.deptId,deptId:t.deptId});const v=(_,f,g)=>{_.some((I,F,L)=>I.deptId===f?(g(I,F,L),!0):I.children?v(I.children,f,g):!1)};v(i,t.deptId,(_,f,g)=>{g.splice(f,1)}),c===0?v(i,o.deptId,_=>{_.children=_.children||[],_.children.push(t)}):v(i,o.deptId,(_,f,g)=>{g.splice(c<0?f:f+1,0,t)})};return H(()=>{R("system:dept:list")&&p()}),(o,t)=>{const c=h("a-button"),i=h("a-card"),v=J("hasPerm");return b(),K("div",se,[B("div",oe,[a(S,{treeData:N.value,title:"机构",showLock:!0,fieldNames:{key:"deptId",title:"deptName",children:"children"},permission:r,onNodeClick:D,onAddBtnClick:k,onDeleteBtnClick:y,onDrop:q},null,8,["treeData"])]),B("div",ne,[a(i,{title:"详情",style:{height:"100%"}},{default:l(()=>[a(O,{org_form:e,onSave:n,onReset:w},{actions:l(()=>[W((b(),x(c,{onClick:n},{default:l(()=>t[0]||(t[0]=[U("保存")])),_:1})),[[v,"system:dept:edit"]]),a(c,{onClick:w},{default:l(()=>t[1]||(t[1]=[U("重置")])),_:1})]),_:1},8,["org_form"])]),_:1})]),a(j,{visible:m.value,onOk:n,onCancel:T,title:"新增"},{default:l(()=>[a(O,{org_form:e},null,8,["org_form"])]),_:1},8,["visible"])])}}},re=Q(le,[["__scopeId","data-v-12d515b9"]]),ce={__name:"PermissionOrganization",setup(d){return(m,s)=>(b(),x(M,null,{default:l(()=>[a(z,{current_label:"机构"}),a(re)]),_:1}))}};export{ce as default};
|