index.CTyRa5qW.js 4.8 KB

1
  1. import{x as g,E as i,n as G}from"./index.BJ1zLQPa.js";import{a as I,r as p,q as h,aj as r,c as T,o as x,S as l,K as o,b as m,Q as j,P as c,R as A,a9 as F,u as J,J as K}from"./vue.D1BjjNmv.js";import{_ as L}from"./_plugin-vue_export-helper.DlAUqK2U.js";const Q=[{value:1,label:"学校"},{value:2,label:"院系"},{value:3,label:"专业"},{value:4,label:"班级"}];function Y(){return g({url:"/api/system/organization/tree/",method:"get"})}function H(s){return g({url:"/api/system/organization/",method:"post",data:{...s}})}function W(s,_){return g({url:`/api/system/organization/${s}/`,method:"put",data:{..._}})}function X(s){return g({url:`/api/system/organization/${s}/`,method:"delete"})}const Z={class:"organization-container"},ee={class:"card-header"},le={class:"custom-tree-node"},te={class:"dialog-footer"},oe=I({__name:"index",setup(s){const _=p([]),d=p(!1),v=p("add"),C=p(null),B={children:"children",label:"name"},y=p(),n=p({name:"",code:"",org_type:1,parent:null,sort:0,description:"",status:!0}),O={name:[{required:!0,message:"请输入机构名称",trigger:"blur"}],code:[{required:!0,message:"请输入机构编码",trigger:"blur"}],org_type:[{required:!0,message:"请选择机构类型",trigger:"change"}],sort:[{required:!0,message:"请输入排序号",trigger:"blur"}]},b=async()=>{try{const a=await Y();_.value=a.data}catch(a){console.error("获取组织机构树失败:",a),i.error("获取组织机构树失败")}},w=a=>{v.value="add",n.value={name:"",code:"",org_type:a?a.org_type===1?2:a.org_type===2?3:4:1,parent:(a==null?void 0:a.id)||null,sort:0,description:"",status:!0},d.value=!0},U=a=>{v.value="edit",C.value=a,n.value={...a},d.value=!0},q=async(a,e)=>{try{await G.confirm("确认删除该组织机构吗?","提示",{type:"warning",confirmButtonText:"确定",cancelButtonText:"取消"}),await X(e.id),i.success("删除成功"),await b()}catch(u){u!=="cancel"&&(console.error("删除失败:",u),i.error("删除失败"))}},E=async()=>{if(y.value)try{await y.value.validate(),v.value==="add"?(await H(n.value),i.success("新增成功")):(await W(C.value.id,n.value),i.success("更新成功")),d.value=!1,await b()}catch(a){console.error("提交失败:",a),i.error("提交失败")}};return h(()=>{b()}),(a,e)=>{const u=r("el-button"),$=r("el-tree"),D=r("el-card"),V=r("el-input"),f=r("el-form-item"),N=r("el-option"),P=r("el-select"),R=r("el-input-number"),S=r("el-form"),M=r("el-dialog");return x(),T("div",Z,[l(D,{class:"box-card"},{header:o(()=>[m("div",ee,[e[8]||(e[8]=m("span",null,"组织架构管理",-1)),l(u,{type:"primary",onClick:w},{default:o(()=>e[7]||(e[7]=[c("新增组织架构")])),_:1})])]),default:o(()=>[l($,{data:_.value,props:B,"node-key":"id","default-expand-all":"","expand-on-click-node":!1},{default:o(({node:t,data:k})=>[m("span",le,[m("span",null,j(t.label),1),m("span",null,[l(u,{link:"",type:"primary",onClick:z=>w(k)},{default:o(()=>e[9]||(e[9]=[c(" 添加子级 ")])),_:2},1032,["onClick"]),l(u,{link:"",type:"primary",onClick:z=>U(k)},{default:o(()=>e[10]||(e[10]=[c(" 编辑 ")])),_:2},1032,["onClick"]),l(u,{link:"",type:"danger",onClick:z=>q(t,k)},{default:o(()=>e[11]||(e[11]=[c(" 删除 ")])),_:2},1032,["onClick"])])])]),_:1},8,["data"])]),_:1}),l(M,{modelValue:d.value,"onUpdate:modelValue":e[6]||(e[6]=t=>d.value=t),title:v.value==="add"?"新增组织架构":"编辑组织架构",width:"500px"},{footer:o(()=>[m("span",te,[l(u,{onClick:e[5]||(e[5]=t=>d.value=!1)},{default:o(()=>e[12]||(e[12]=[c("取消")])),_:1}),l(u,{type:"primary",onClick:E},{default:o(()=>e[13]||(e[13]=[c(" 确定 ")])),_:1})])]),default:o(()=>[l(S,{ref_key:"formRef",ref:y,model:n.value,rules:O,"label-width":"100px"},{default:o(()=>[l(f,{label:"组织名称",prop:"name"},{default:o(()=>[l(V,{modelValue:n.value.name,"onUpdate:modelValue":e[0]||(e[0]=t=>n.value.name=t),placeholder:"请输入组织名称"},null,8,["modelValue"])]),_:1}),l(f,{label:"组织编码",prop:"code"},{default:o(()=>[l(V,{modelValue:n.value.code,"onUpdate:modelValue":e[1]||(e[1]=t=>n.value.code=t),placeholder:"请输入组织编码"},null,8,["modelValue"])]),_:1}),l(f,{label:"组织类型",prop:"org_type"},{default:o(()=>[l(P,{modelValue:n.value.org_type,"onUpdate:modelValue":e[2]||(e[2]=t=>n.value.org_type=t),placeholder:"请选择组织类型"},{default:o(()=>[(x(!0),T(A,null,F(J(Q),t=>(x(),K(N,{key:t.value,value:t.value,label:t.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"排序",prop:"sort"},{default:o(()=>[l(R,{modelValue:n.value.sort,"onUpdate:modelValue":e[3]||(e[3]=t=>n.value.sort=t),min:0},null,8,["modelValue"])]),_:1}),l(f,{label:"描述",prop:"description"},{default:o(()=>[l(V,{modelValue:n.value.description,"onUpdate:modelValue":e[4]||(e[4]=t=>n.value.description=t),type:"textarea",placeholder:"请输入描述"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),ue=L(oe,[["__scopeId","data-v-36816903"]]);export{ue as default};