| 1 |
- import{r as g,E as i,m as S}from"./index.BeV-poOC.js";import{a as I,r as p,q as h,ae as r,c as T,o as x,G as l,H as o,b as m,V as A,U as c,M as F,a8 as H,u as L,E as Y}from"./vue.D_RgHSVm.js";import{_ as j}from"./_plugin-vue_export-helper.DlAUqK2U.js";const J=[{value:1,label:"学校"},{value:2,label:"院系"},{value:3,label:"专业"},{value:4,label:"班级"}];function K(){return g({url:"/api/system/organization/tree/",method:"get"})}function Q(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),U={children:"children",label:"name"},y=p(),n=p({name:"",code:"",org_type:1,parent:null,sort:0,description:"",status:!0}),B={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 K();_.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},E=a=>{v.value="edit",C.value=a,n.value={...a},d.value=!0},O=async(a,e)=>{try{await S.confirm("确认删除该组织机构吗?","提示",{type:"warning",confirmButtonText:"确定",cancelButtonText:"取消"}),await X(e.id),i.success("删除成功"),await b()}catch(u){u!=="cancel"&&(console.error("删除失败:",u),i.error("删除失败"))}},q=async()=>{if(y.value)try{await y.value.validate(),v.value==="add"?(await Q(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"),M=r("el-select"),G=r("el-input-number"),P=r("el-form"),R=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)])]),_:1})])]),default:o(()=>[l($,{data:_.value,props:U,"node-key":"id","default-expand-all":"","expand-on-click-node":!1},{default:o(({node:t,data:k})=>[m("span",le,[m("span",null,A(t.label),1),m("span",null,[l(u,{link:"",type:"primary",onClick:z=>w(k)},{default:o(()=>[...e[9]||(e[9]=[c(" 添加子级 ",-1)])]),_:1},8,["onClick"]),l(u,{link:"",type:"primary",onClick:z=>E(k)},{default:o(()=>[...e[10]||(e[10]=[c(" 编辑 ",-1)])]),_:1},8,["onClick"]),l(u,{link:"",type:"danger",onClick:z=>O(t,k)},{default:o(()=>[...e[11]||(e[11]=[c(" 删除 ",-1)])]),_:1},8,["onClick"])])])]),_:1},8,["data"])]),_:1}),l(R,{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)])]),_:1}),l(u,{type:"primary",onClick:q},{default:o(()=>[...e[13]||(e[13]=[c(" 确定 ",-1)])]),_:1})])]),default:o(()=>[l(P,{ref_key:"formRef",ref:y,model:n.value,rules:B,"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(M,{modelValue:n.value.org_type,"onUpdate:modelValue":e[2]||(e[2]=t=>n.value.org_type=t),placeholder:"请选择组织类型"},{default:o(()=>[(x(!0),T(F,null,H(L(J),t=>(x(),Y(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(G,{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=j(oe,[["__scopeId","data-v-36816903"]]);export{ue as default};
|