PermissionOrganization-D_g2Mjf9.js 5.8 KB

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