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