| 1 |
- import{g as Q,d as W,u as X,a as Y}from"./department-CoH15ARD.js";import{b as Z}from"./organization-2a8uQ3RE.js";import{_ as ee,r as p,m as le,c as z,o as f,d as l,w as a,e as r,E as v,F as E,p as H,k as V,h as u,t as te,b as $,l as ae}from"./index-5h6OXJS3.js";import"./request-4U-8Jl57.js";const oe={class:"department-container"},ne={style:{display:"flex","justify-content":"space-between","align-items":"center"}},re={__name:"Department",setup(de){const b=p(null),w=p([]),N=p([]),c=p(!1),C=p(""),g=p(null),o=p({organizationId:null,parentId:null,departmentCode:"",departmentName:"",departmentHeadId:null,costCenter:"",level:1,sortOrder:0,status:1}),P={organizationId:[{required:!0,message:"请选择所属组织",trigger:"change"}],departmentCode:[{required:!0,message:"请输入部门编码",trigger:"blur"}],departmentName:[{required:!0,message:"请输入部门名称",trigger:"blur"}]},h=p([]),q=async()=>{try{const n=await Z();w.value=n.data||[]}catch{v.error("获取组织列表失败")}},y=async()=>{try{const e=(await Q({organizationId:b.value})).data||[];N.value=I(e),h.value=I(e)}catch{v.error("查询失败")}},I=(n,e=null)=>{const s=[];return n.forEach(m=>{if((m.parentId||null)===(e||null)){const _=I(n,m.id);_.length>0&&(m.children=_),s.push(m)}}),s},U=n=>{C.value=n?"新增子部门":"新增顶级部门",o.value={organizationId:b.value,parentId:n,departmentCode:"",departmentName:"",departmentHeadId:null,costCenter:"",level:n?2:1,sortOrder:0,status:1},c.value=!0},F=n=>{C.value="编辑部门",o.value={...n},c.value=!0},L=async n=>{try{await ae.confirm("确认删除该部门吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await W(n.id),v.success("删除成功"),y()}catch(e){e!=="cancel"&&v.error("删除失败")}},M=async()=>{g.value&&await g.value.validate(async n=>{if(n)try{o.value.id?(await X(o.value.id,o.value),v.success("更新成功")):(await Y(o.value),v.success("新增成功")),c.value=!1,y()}catch(e){v.error(e.message||"操作失败")}})},S=()=>{var n;(n=g.value)==null||n.resetFields()},R=n=>n?n.replace("T"," "):"-";return le(()=>{q(),y()}),(n,e)=>{const s=r("el-button"),m=r("el-option"),k=r("el-select"),d=r("el-form-item"),_=r("el-form"),i=r("el-table-column"),O=r("el-tag"),j=r("el-table"),A=r("el-card"),G=r("el-tree-select"),D=r("el-input"),x=r("el-input-number"),T=r("el-radio"),J=r("el-radio-group"),K=r("el-dialog");return f(),z("div",oe,[l(A,null,{header:a(()=>[$("div",ne,[e[14]||(e[14]=$("span",null,"部门管理",-1)),l(s,{type:"primary",onClick:e[0]||(e[0]=t=>U(null))},{default:a(()=>[...e[13]||(e[13]=[u("新增顶级部门",-1)])]),_:1})])]),default:a(()=>[l(_,{inline:!0,style:{"margin-bottom":"20px"}},{default:a(()=>[l(d,{label:"所属组织"},{default:a(()=>[l(k,{modelValue:b.value,"onUpdate:modelValue":e[1]||(e[1]=t=>b.value=t),placeholder:"全部组织",clearable:"",onChange:y,style:{width:"220px"}},{default:a(()=>[(f(!0),z(E,null,H(w.value,t=>(f(),V(m,{key:t.id,label:t.organizationName,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),l(j,{data:N.value,"row-key":"id",border:"","tree-props":{children:"children",hasChildren:"hasChildren"},style:{width:"100%"}},{default:a(()=>[l(i,{prop:"departmentCode",label:"部门编码",width:"150"}),l(i,{prop:"departmentName",label:"部门名称",width:"200"}),l(i,{prop:"departmentHeadId",label:"部门负责人ID",width:"120"}),l(i,{prop:"costCenter",label:"成本中心",width:"120"}),l(i,{prop:"level",label:"层级",width:"80"}),l(i,{prop:"sortOrder",label:"排序",width:"80"}),l(i,{prop:"status",label:"状态",width:"100"},{default:a(({row:t})=>[t.status===1?(f(),V(O,{key:0,type:"success"},{default:a(()=>[...e[15]||(e[15]=[u("启用",-1)])]),_:1})):(f(),V(O,{key:1,type:"info"},{default:a(()=>[...e[16]||(e[16]=[u("禁用",-1)])]),_:1}))]),_:1}),l(i,{prop:"createTime",label:"创建时间",width:"180"},{default:a(({row:t})=>[u(te(R(t.createTime)),1)]),_:1}),l(i,{label:"操作",width:"300",fixed:"right"},{default:a(({row:t})=>[l(s,{type:"primary",size:"small",onClick:B=>U(t.id)},{default:a(()=>[...e[17]||(e[17]=[u("新增子部门",-1)])]),_:1},8,["onClick"]),l(s,{type:"warning",size:"small",onClick:B=>F(t)},{default:a(()=>[...e[18]||(e[18]=[u("编辑",-1)])]),_:1},8,["onClick"]),l(s,{type:"danger",size:"small",onClick:B=>L(t)},{default:a(()=>[...e[19]||(e[19]=[u("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1}),l(K,{modelValue:c.value,"onUpdate:modelValue":e[12]||(e[12]=t=>c.value=t),title:C.value,width:"600px",onClose:S},{footer:a(()=>[l(s,{onClick:e[11]||(e[11]=t=>c.value=!1)},{default:a(()=>[...e[22]||(e[22]=[u("取消",-1)])]),_:1}),l(s,{type:"primary",onClick:M},{default:a(()=>[...e[23]||(e[23]=[u("确定",-1)])]),_:1})]),default:a(()=>[l(_,{ref_key:"formRef",ref:g,model:o.value,rules:P,"label-width":"120px"},{default:a(()=>[l(d,{label:"所属组织",prop:"organizationId"},{default:a(()=>[l(k,{modelValue:o.value.organizationId,"onUpdate:modelValue":e[2]||(e[2]=t=>o.value.organizationId=t),placeholder:"请选择组织",style:{width:"100%"}},{default:a(()=>[(f(!0),z(E,null,H(w.value,t=>(f(),V(m,{key:t.id,label:t.organizationName,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(d,{label:"上级部门",prop:"parentId"},{default:a(()=>[l(G,{modelValue:o.value.parentId,"onUpdate:modelValue":e[3]||(e[3]=t=>o.value.parentId=t),data:h.value,placeholder:"请选择上级部门(可为空表示顶级部门)",clearable:"","check-strictly":"","render-after-expand":!1,props:{label:"departmentName",value:"id"},style:{width:"100%"}},null,8,["modelValue","data"])]),_:1}),l(d,{label:"部门编码",prop:"departmentCode"},{default:a(()=>[l(D,{modelValue:o.value.departmentCode,"onUpdate:modelValue":e[4]||(e[4]=t=>o.value.departmentCode=t),placeholder:"请输入部门编码",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(d,{label:"部门名称",prop:"departmentName"},{default:a(()=>[l(D,{modelValue:o.value.departmentName,"onUpdate:modelValue":e[5]||(e[5]=t=>o.value.departmentName=t),placeholder:"请输入部门名称",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(d,{label:"部门负责人ID",prop:"departmentHeadId"},{default:a(()=>[l(x,{modelValue:o.value.departmentHeadId,"onUpdate:modelValue":e[6]||(e[6]=t=>o.value.departmentHeadId=t),min:1,placeholder:"负责人ID",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(d,{label:"成本中心",prop:"costCenter"},{default:a(()=>[l(D,{modelValue:o.value.costCenter,"onUpdate:modelValue":e[7]||(e[7]=t=>o.value.costCenter=t),placeholder:"请输入成本中心",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(d,{label:"层级",prop:"level"},{default:a(()=>[l(x,{modelValue:o.value.level,"onUpdate:modelValue":e[8]||(e[8]=t=>o.value.level=t),min:1,max:10,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(d,{label:"排序",prop:"sortOrder"},{default:a(()=>[l(x,{modelValue:o.value.sortOrder,"onUpdate:modelValue":e[9]||(e[9]=t=>o.value.sortOrder=t),min:0,style:{width:"100%"}},null,8,["modelValue"])]),_:1}),l(d,{label:"状态",prop:"status"},{default:a(()=>[l(J,{modelValue:o.value.status,"onUpdate:modelValue":e[10]||(e[10]=t=>o.value.status=t)},{default:a(()=>[l(T,{label:1},{default:a(()=>[...e[20]||(e[20]=[u("启用",-1)])]),_:1}),l(T,{label:0},{default:a(()=>[...e[21]||(e[21]=[u("禁用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},me=ee(re,[["__scopeId","data-v-59920dc2"]]);export{me as default};
|