Files

2 lines
16 KiB
JavaScript

import{_ as I,i as G}from"./index.76a66f15.js";import{s as W}from"./staff-edit-modal.32eb567e.js";import{bj as x,a$ as v,C as r,D as R,aJ as l,b2 as a,aV as u,aG as B,b4 as P,b1 as f,b3 as m,E as F,b5 as C,bo as L,bs as A,bS as N,bI as H,bJ as Q,bT as X,bU as V,cf as Y,bV as Z,bW as K,bR as z,bP as $,bL as O,bM as ee,c8 as te,cp as ae,bE as se,bF as le,ci as ie,bK as oe,bO as ne,c4 as ue}from"./arco.f3c60d68.js";/* empty css *//* empty css */import"./chart.a626c034.js";import"./vue.7d1f2b31.js";const re={components:{Modal:x,staffEditModal:W},data(){return{modal:{staffEdit:!1},attr:{statusList:[]},tableLoading:!1,collapsed:!1,rowSelection:{type:"checkbox",showCheckedAll:!0,onlyCurrent:!1},scroll:{x:1400},columns:[{title:"\u8D26\u53F7",dataIndex:"username"},{title:"\u59D3\u540D",dataIndex:"name"},{title:"\u89D2\u8272",slotName:"role"},{title:"\u6700\u8FD1\u767B\u5F55IP",slotName:"loginip",dataIndex:"loginip"},{title:"\u6700\u8FD1\u767B\u5F55\u65F6\u95F4",dataIndex:"logintime",slotName:"logintime",width:190,sortable:{sortDirections:["ascend","descend"]}},{title:"\u6DFB\u52A0\u65F6\u95F4",dataIndex:"createtime",slotName:"createtime",width:190,sortable:{sortDirections:["ascend","descend"]}},{title:"\u72B6\u6001",dataIndex:"status",slotName:"status"},{title:"\u64CD\u4F5C",dataIndex:"operations",slotName:"operations",align:"right",fixed:"right"}],data:[],dataTotal:0,searchParams:{sort:"updatetime",order:"desc",offset:0,limit:10},searchFieldType:{username:"LIKE","admin.status":"=",group_id:"=",updatetime:"RANGE"},searchFilter:{username:"","admin.status":"",group_id:"",updatetime:""},tableCheckedList:[],pageParams:{},roleList:[],editStaffId:0}},methods:{edit(t){this.editStaffId=t,this.modal.staffEdit=!0},handleStaffEditOk(){this.modal.staffEdit=!1,this.refresh()},getSearchParams(){this.searchParams.op="",this.searchParams.filter="";var t=this.searchParams,e={},n={};if(this.searchFilter){for(var h in this.searchFilter)this.searchFilter[h]!==""&&(h=="updatetime"&&this.searchFilter[h]?e[h]=this.searchFilter[h].join(" - "):e[h]=this.searchFilter[h],n[h]=this.searchFieldType[h]);JSON.stringify(e)!=="{}"&&(t.op=JSON.stringify(n),t.filter=JSON.stringify(e))}return t},getData(){this.tableLoading=!0,this.$request.post("admin/auth/admin/index",this.getSearchParams()).then(t=>{this.data=t.data.rows,this.attr=t.data.attr,this.dataTotal=t.data.total,this.tableLoading=!1})},pageChange(t){this.searchParams.offset=t,this.getData()},pageSizeChange(t){this.searchParams.limit=t,this.refresh()},handleChange(t,e,n){e.type=="sorter"&&e.sorter&&(this.searchParams.order=e.sorter.direction=="ascend"?"asc":"desc",this.searchParams.sort=e.sorter.field,this.refresh())},refresh(){this.searchParams.offset=0,this.getData()},delAlone(t){this.del([t])},delBatch(){this.del(this.tableCheckedList)},del(t){if(!t)return this.$message.warning("\u8BF7\u5148\u9009\u62E9\u8981\u5220\u9664\u7684\u5458\u5DE5"),!1;x.warning({title:"\u63D0\u793A",titleAlign:"start",content:"\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u5458\u5DE5\u5417",hideCancel:!1,onOk:()=>{this.$request.post("admin/auth/admin/del",{ids:t}).then(e=>{this.$message.success(e.msg),this.refresh()}).catch(e=>{this.$message.error(e.msg)})}})},changeStatusBatch(t){this.changeStatus(this.tableCheckedList,t)},changeStatusAlone(t,e){this.changeStatus([t],e)},changeStatus(t,e){if(!t)return this.$message.warning("\u8BF7\u5148\u9009\u62E9\u8981\u5220\u9664\u7684\u5458\u5DE5"),!1;x.warning({title:"\u63D0\u793A",titleAlign:"start",content:"\u786E\u5B9A\u8981\u64CD\u4F5C\u9009\u4E2D\u5458\u5DE5\u72B6\u6001\u5417",hideCancel:!1,onOk:()=>{this.$request.post("admin/auth/admin/status",{ids:t,status:e}).then(n=>{this.$message.success(n.msg),this.refresh()}).catch(n=>{this.$message.error(n.msg)})}})},tablecheckedChange(t){this.tableCheckedList=t},getRole(){this.loadingRole=!0,this.$request.post("admin/auth/group/index",{}).then(t=>{for(var e in t.data)t.data[e].id==0&&(t.data[e].id=this.groupNullId);this.roleList=t.data,this.loadingRole=!1})}},mounted(){this.pageParams=this.$route.params,this.searchFilter.type=this.$route.params.type,this.getData(),this.getRole()}},de={class:"container"},he={style:{width:"100%"}};function ce(t,e,n,h,s,o){const p=v("icon-refresh"),d=L,k=A,g=N,_=H,D=Q,w=X,E=V,S=Y,y=Z,T=v("staff-edit-modal");return r(),R("div",de,[l(E,{style:{"margin-bottom":"16px"}},{default:a(()=>[l(g,{span:7},{default:a(()=>[l(k,null,{default:a(()=>[l(d,{type:"primary",onClick:o.refresh},{icon:a(()=>[l(p)]),_:1},8,["onClick"]),l(d,{type:"primary",onClick:e[0]||(e[0]=i=>o.edit(0))},{default:a(()=>[...e[7]||(e[7]=[u(" \u6DFB\u52A0\u5458\u5DE5 ",-1)])]),_:1})]),_:1})]),_:1}),l(g,{span:16,style:{display:"flex","align-items":"center","justify-content":"end"}},{default:a(()=>[l(k,null,{default:a(()=>[l(D,{modelValue:s.searchFilter.group_id,"onUpdate:modelValue":e[1]||(e[1]=i=>s.searchFilter.group_id=i),placeholder:"\u89D2\u8272",onChange:o.refresh},{default:a(()=>[l(_,{value:""},{default:a(()=>[...e[8]||(e[8]=[u("\u5168\u90E8\u89D2\u8272",-1)])]),_:1}),(r(!0),R(B,null,P(s.roleList,(i,b)=>(r(),f(_,{value:i.id},{default:a(()=>[u(m(i.name),1)]),_:2},1032,["value"]))),256))]),_:1},8,["modelValue","onChange"]),l(D,{modelValue:s.searchFilter["admin.status"],"onUpdate:modelValue":e[2]||(e[2]=i=>s.searchFilter["admin.status"]=i),placeholder:"\u72B6\u6001",onChange:o.refresh},{default:a(()=>[l(_,{value:""},{default:a(()=>[...e[9]||(e[9]=[u("\u5168\u90E8\u72B6\u6001",-1)])]),_:1}),(r(!0),R(B,null,P(s.attr.statusList,(i,b)=>(r(),f(_,{value:b},{default:a(()=>[u(m(i),1)]),_:2},1032,["value"]))),256))]),_:1},8,["modelValue","onChange"]),l(w,{onPressEnter:o.refresh,style:{width:"320px"},modelValue:s.searchFilter.username,"onUpdate:modelValue":e[3]||(e[3]=i=>s.searchFilter.username=i),placeholder:"\u8BF7\u8F93\u5165\u5458\u5DE5\u8D26\u53F7"},null,8,["onPressEnter","modelValue"]),l(d,{type:"primary",onClick:o.refresh},{default:a(()=>[...e[10]||(e[10]=[u("\u641C\u7D22",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1}),l(y,{"row-key":"id",scroll:s.scroll,pagination:{total:s.dataTotal,showTotal:!0,pageSize:s.searchParams.limit,showPageSize:!0,showJumper:!0},"row-selection":s.rowSelection,bordered:!1,columns:s.columns,data:s.data,loading:s.tableLoading,onPageChange:o.pageChange,onPageSizeChange:o.pageSizeChange,onChange:o.handleChange,onSelectionChange:o.tablecheckedChange},{status:a(({record:i})=>[i.status!="normal"?(r(),f(S,{key:0,bordered:""},{default:a(()=>[...e[11]||(e[11]=[u("\u505C\u7528",-1)])]),_:1})):(r(),f(S,{key:1,color:"green",bordered:""},{default:a(()=>[...e[12]||(e[12]=[u("\u6B63\u5E38",-1)])]),_:1}))]),createtime:a(({record:i})=>[F("span",null,m(i.createtime?t.$format.formatDate(i.createtime):"-"),1)]),logintime:a(({record:i})=>[F("span",null,m(i.logintime?t.$format.formatDate(i.logintime):"-"),1)]),role:a(({record:i})=>[F("span",null,m(i.group_id==0?"\u8D85\u7EA7\u7BA1\u7406\u5458":i.group_id==9?"\u76F4\u64AD\u8BB2\u5E08":i.group.id?i.group.name:"-"),1)]),loginip:a(({record:i})=>[F("span",null,m(i.loginip?i.loginip:"-"),1)]),operations:a(({record:i})=>[i.username!="admin"?(r(),f(k,{key:0,size:10},{default:a(()=>[l(d,{style:{padding:"0"},type:"text",size:"small",onClick:b=>o.edit(i.id)},{default:a(()=>[...e[13]||(e[13]=[u(" \u7F16\u8F91 ",-1)])]),_:1},8,["onClick"]),l(d,{style:{padding:"0"},type:"text",size:"small",onClick:b=>o.changeStatusAlone(i.id,i.status!="normal"?"normal":"hidden")},{default:a(()=>[u(m(i.status!="normal"?"\u542F\u7528":"\u7981\u7528"),1)]),_:2},1032,["onClick"]),l(d,{style:{padding:"0"},type:"text",size:"small",onClick:b=>o.del(i.id)},{default:a(()=>[...e[14]||(e[14]=[u(" \u5220\u9664 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)):C("",!0)]),"pagination-left":a(()=>[F("div",he,[l(E,{gutter:24},{default:a(()=>[l(g,{span:20},{default:a(()=>[l(k,null,{default:a(()=>[l(d,{onClick:e[4]||(e[4]=i=>o.changeStatusBatch("normal")),disabled:s.tableCheckedList.length==0},{default:a(()=>[...e[15]||(e[15]=[u(" \u542F\u7528 ",-1)])]),_:1},8,["disabled"]),l(d,{onClick:e[5]||(e[5]=i=>o.changeStatusBatch("hidden")),disabled:s.tableCheckedList.length==0},{default:a(()=>[...e[16]||(e[16]=[u(" \u7981\u7528 ",-1)])]),_:1},8,["disabled"]),l(d,{onClick:o.delBatch,disabled:s.tableCheckedList.length==0},{default:a(()=>[...e[17]||(e[17]=[u(" \u6279\u91CF\u5220\u9664 ",-1)])]),_:1},8,["onClick","disabled"])]),_:1})]),_:1})]),_:1})])]),_:1},8,["scroll","pagination","row-selection","columns","data","loading","onPageChange","onPageSizeChange","onChange","onSelectionChange"]),l(T,{"staff-id":s.editStaffId,"is-show":s.modal.staffEdit,onOk:o.handleStaffEditOk,onCancel:e[6]||(e[6]=i=>s.modal.staffEdit=!1)},null,8,["staff-id","is-show","onOk"])])}const me=I(re,[["render",ce]]),fe={components:{Modal:x,externalIcon:G},data(){return{all_check_status:!0,expandedKeys:[],checkedKeys:[],allRoleKeys:[],loading:!1,groupList:[],form:{name:"",remark:"",rules:[]},authTree:[],checkedKeys:[],editRoleStatus:!1,groupNullId:"_",editRoleId:"_",checkedRole:{id:0,name:"",remark:""}}},watch:{},methods:{onTreeExpand(t){this.expandedKeys=t},toggleChecked(){this.form.rules.length==0?this.form.rules=this.allRoleKeys:this.form.rules=[]},toggleExpanded(){this.expandedKeys.length==0?this.expandedKeys=this.allRoleKeys:this.expandedKeys=[]},eachTree(t,e=[]){return t.forEach(n=>{e.push(n.id),n.children&&n.children.length>0&&this.eachTree(n.children,e)}),e},cancelRole(){this.editRoleStatus=!1},delRole(){x.warning({title:"\u63D0\u793A",titleAlign:"start",content:"\u786E\u5B9A\u8981\u5220\u9664\u9009\u4E2D\u89D2\u8272\u5417",hideCancel:!1,onOk:()=>{this.loading=!0,this.$request.post("admin/auth/group/del",{ids:this.checkedRole.id==this.groupNullId?0:this.checkedRole.id}).then(t=>{this.checkedRole.id=this.groupNullId,this.$message.success(t.msg),this.setCheckRole(),this.refresh(),this.loading=!1}).catch(t=>{this.loading=!1,this.$message.error(t.msg)})}})},setCheckRole(t=0){this.checkedRole=this.groupList[t],this.checkedRole.id=this.groupList[t].id,this.getRoletree()},saveRole(){var t="admin/auth/group/add";if(!this.form.name)return!1;var e={row:this.form};this.checkedRole.id!=this.groupNullId&&this.checkedRole.id!=0&&(t="admin/auth/group/edit",e.ids=this.checkedRole.id),this.loading=!0,this.$request.post(t,e).then(n=>{n.code==1?(this.$message.success(n.msg),this.editRoleStatus=!1,this.loading=!1,this.getRole()):this.$message.error(n.msg)})},editRole(){this.editRoleStatus=!0,this.$request.post("admin/auth/group/detail",{id:this.checkedRole.id==this.groupNullId?0:this.checkedRole.id}).then(t=>{this.form.name=t.data.name,this.form.remark=t.data.remark,this.getRoletree()}).catch(t=>(this.$message.error(t.msg),!1))},getRole(){this.loading=!0,this.$request.post("admin/auth/group/index",{}).then(t=>{for(var e in t.data)t.data[e].id==0&&(t.data[e].id=this.groupNullId);this.groupList=t.data,this.loading=!1,this.groupNullId=this.groupList[0].id,this.setCheckRole(0)})},getRoletree(){this.loading=!0,this.$request.post("admin/auth/group/roleTree",{id:this.checkedRole.id==this.groupNullId?0:this.checkedRole.id}).then(t=>{this.authTree=this.buildTree(t.data),this.loading=!1})},buildTree(t){return this.form.rules=[],this.allRoleKeys=[],this.parsePhpDataToTree(t)},parsePhpDataToTree(t,e=""){const n=[];for(const[h,s]of Object.entries(t)){this.allRoleKeys.push(s.roles),s.selected&&this.form.rules.push(s.roles);const o={title:s.locale,key:s.roles};this.editRoleStatus||(o.disabled=!0),s.children&&Object.keys(s.children).length>0&&(o.children=this.parsePhpDataToTree(s.children,s.roles)),n.push(o)}return n},roletreeCheck(t){this.form.rules=t},groupMenuClick(t){this.editRoleStatus=!1;for(var e in this.groupList)this.groupList[e].id==t&&this.setCheckRole(e)},refresh(){this.getRole()}},mounted(){this.refresh()}};const pe={style:{width:"100%"}},ge={key:0},_e={class:"form-submit-btn"};function ke(t,e,n,h,s,o){const p=L,d=K,k=z,g=$,_=O,D=N,w=ee,E=te,S=ae,y=A,T=v("externalIcon"),i=se,b=le,q=ie,U=oe,J=ne,j=ue,M=V;return r(),R("div",null,[l(M,{class:"grid-demo",gutter:24},{default:a(()=>[l(D,{span:6},{default:a(()=>[l(_,{title:"\u89D2\u8272","body-style":{padding:"0 5px"}},{extra:a(()=>[l(p,{type:"outline",size:"mini",onClick:e[0]||(e[0]=c=>{s.checkedRole.id=0,o.editRole()})},{default:a(()=>[...e[3]||(e[3]=[u("\u6DFB\u52A0\u89D2\u8272",-1)])]),_:1})]),default:a(()=>[l(g,{loading:s.loading,tip:"\u52A0\u8F7D\u4E2D",style:{width:"100%",padding:"10px"}},{default:a(()=>[l(k,{type:"rounded",size:"medium",onTabClick:o.groupMenuClick,"active-key":s.checkedRole.id,direction:"vertical","default-active-key":s.checkedRole.id,"hide-content":!0},{default:a(()=>[(r(!0),R(B,null,P(s.groupList,(c,Fe)=>(r(),f(d,{key:c.id},{title:a(()=>[F("div",pe,m(c.name),1)]),_:2},1024))),128))]),_:1},8,["onTabClick","active-key","default-active-key"])]),_:1},8,["loading"])]),_:1})]),_:1}),l(D,{span:18},{default:a(()=>[s.editRoleStatus?C("",!0):(r(),f(y,{key:0,class:"mb-8",style:{width:"100%","margin-bottom":"20px"}},{split:a(()=>[l(w,{direction:"vertical"})]),default:a(()=>[l(y,{direction:"vertical",fill:""},{default:a(()=>[l(E,{heading:6},{default:a(()=>[u(m(s.checkedRole.name),1)]),_:1}),l(S,null,{default:a(()=>[u(m(s.checkedRole.remark),1)]),_:1})]),_:1}),s.checkedRole.id!=s.groupNullId&&s.checkedRole.is_lecturer!=1?(r(),R("div",ge,[l(y,null,{default:a(()=>[l(T,{name:"editor",onClick:o.editRole,style:{color:"#0f5cfb"},size:18},null,8,["onClick"]),l(T,{onClick:o.delRole,name:"empty",style:{color:"#0f5cfb"},size:18},null,8,["onClick"])]),_:1})])):C("",!0)]),_:1})),s.editRoleStatus?(r(),f(U,{key:1,form:s.form,ref:"formRef"},{default:a(()=>[l(g,{loading:s.loading,tip:"\u52A0\u8F7D\u4E2D",style:{width:"100%"}},{default:a(()=>[l(b,{label:"\u89D2\u8272\u540D\u79F0",field:"name"},{default:a(()=>[l(i,{modelValue:s.form.name,"onUpdate:modelValue":e[1]||(e[1]=c=>s.form.name=c),style:{width:"400px"},placeholder:"\u8BF7\u8F93\u5165\u89D2\u8272\u540D\u79F0","max-length":20,"show-word-limit":!0},null,8,["modelValue"])]),_:1}),l(b,{label:"\u63CF\u8FF0",field:"remark"},{default:a(()=>[l(q,{modelValue:s.form.remark,"onUpdate:modelValue":e[2]||(e[2]=c=>s.form.remark=c),style:{width:"400px"},placeholder:"\u8BF7\u5BF9\u89D2\u8272\u8FDB\u884C\u63CF\u8FF0","max-length":100,"show-word-limit":!0},null,8,["modelValue"])]),_:1})]),_:1},8,["loading"])]),_:1},8,["form"])):C("",!0),l(_,{title:"\u529F\u80FD\u6743\u9650",class:"mb-8 mt-8"},{default:a(()=>[l(g,{loading:s.loading,tip:"\u52A0\u8F7D\u4E2D",style:{width:"100%"}},{default:a(()=>[l(y,{direction:"vertical",fill:""},{default:a(()=>[l(y,{size:"0"},{default:a(()=>[s.editRoleStatus?(r(),f(p,{key:0,onClick:o.toggleChecked},{default:a(()=>{var c;return[u(m((c=this.form.rules)!=null&&c.length?"\u53D6\u6D88\u5168\u9009":"\u5168\u9009"),1)]}),_:1},8,["onClick"])):C("",!0),l(p,{onClick:o.toggleExpanded},{default:a(()=>{var c;return[u(m((c=s.expandedKeys)!=null&&c.length?"\u5168\u90E8\u6298\u53E0":"\u5168\u90E8\u5C55\u5F00"),1)]}),_:1},8,["onClick"])]),_:1}),l(J,{onExpand:o.onTreeExpand,"checked-keys":s.form.rules,"selected-keys":s.form.rules,"expanded-keys":s.expandedKeys,blockNode:"",checkable:!0,onCheck:o.roletreeCheck,"show-line":!0,data:s.authTree,multiple:""},null,8,["onExpand","checked-keys","selected-keys","expanded-keys","onCheck","data"])]),_:1})]),_:1},8,["loading"])]),_:1}),s.editRoleStatus?(r(),f(j,{key:2,offsetBottom:0},{default:a(()=>[F("div",_e,[l(y,null,{default:a(()=>[l(p,{onClick:o.cancelRole},{default:a(()=>[...e[4]||(e[4]=[u("\u53D6\u6D88",-1)])]),_:1},8,["onClick"]),l(p,{onClick:o.saveRole,type:"primary"},{default:a(()=>[...e[5]||(e[5]=[u("\u4FDD\u5B58",-1)])]),_:1},8,["onClick"])]),_:1})])]),_:1})):C("",!0)]),_:1})]),_:1})])}const ye=I(fe,[["render",ke]]),be={components:{staffTab:me,roleTab:ye},data(){return{pageParams:{tab:this.$route.params.tab}}},methods:{tabsChange(t){this.pageParams.tab=t}},mounted(){this.pageParams=this.$route.params}};const Ce={class:"container"};function De(t,e,n,h,s,o){const p=v("staff-tab"),d=K,k=v("role-tab"),g=z,_=O;return r(),R("div",Ce,[l(_,{class:"content-card"},{default:a(()=>[l(g,{"default-active-key":s.pageParams.tab,modelValue:s.pageParams.tab,"onUpdate:modelValue":e[0]||(e[0]=D=>s.pageParams.tab=D),onTabClick:o.tabsChange},{default:a(()=>[l(d,{key:"staff",title:"\u5458\u5DE5\u7BA1\u7406"},{default:a(()=>[s.pageParams.tab=="staff"?(r(),f(p,{key:0})):C("",!0)]),_:1}),l(d,{key:"role",title:"\u89D2\u8272\u7BA1\u7406"},{default:a(()=>[s.pageParams.tab=="role"?(r(),f(k,{key:0})):C("",!0)]),_:1})]),_:1},8,["default-active-key","modelValue","onTabClick"])]),_:1})])}const Be=I(be,[["render",De],["__scopeId","data-v-bf283d7c"]]);export{Be as default};