import Mock from 'mockjs'
import loginApi from './login'
import departmentApi from './department'
import menulistApi from './menulist'
import majorApi from './major'
import classApi from './class'
import dicApi from './dictionary'
import schoolyearApi from './schoolyear'
import auditscopeApi from './auditscope'
import autoaudittypeApi from './autoaudittype'
import rostersyncinterfaceApi from './rostersyncinterface'
import departmentleaderApi from './departmentleader'
import instructorApi from './instructor'
import newspublishApi from './newspublish'

import handlingApi from './handling'
import leavestudentApi from './leavestudent'
import nodereportApi from './nodereport'
import deptreportApi from './deptreport'
import majorreportApi from './majorreport'
import sectionreportApi from './sectionreport'

import leaveschoolnodeApi from './leaveschoolnode'
import userApi from './user'

// 登录
Mock.mock(/\/api\/login\/login/, 'post', loginApi.loginByUsername)
Mock.mock(/\/api\/system\/user\/info/, 'get', loginApi.getUserInfo)
Mock.mock(/\/api\/login\/logout-api/, 'post', loginApi.logout)

// 数据字典
Mock.mock(/\/api\/system\/dictionary\/getdiclist/, 'get', dicApi.getDicList)

// 菜单列表
Mock.mock(/\/api\/system\/menu\/list/, 'get', menulistApi.getMenuList)

// 院系部门管理
Mock.mock(/\/api\/system\/department\/list-api/, 'get', departmentApi.getList)
Mock.mock(/\/api\/system\/department\/dept-list/, 'get', departmentApi.getDeptList)
Mock.mock(/\/api\/system\/department\/section-list/, 'get', departmentApi.getSectionList)
Mock.mock(/\/api\/system\/department\/create-department/, 'post', departmentApi.createData)
Mock.mock(/\/api\/system\/department\/delete-department/, 'delete', departmentApi.deleteData)
Mock.mock(/\/api\/system\/department\/get-item/, 'get', departmentApi.getItem)

// 专业管理
Mock.mock(/\/api\/system\/major\/list-api/, 'get', majorApi.getList)
Mock.mock(/\/api\/system\/major\/create-major/, 'post', majorApi.createData)
Mock.mock(/\/api\/system\/major\/delete-major/, 'delete', majorApi.deleteData)
Mock.mock(/\/api\/system\/major\/get-item/, 'get', majorApi.getItem)
Mock.mock(/\/api\/system\/major\/list-byyx-api/, 'get', majorApi.getZyListByYx)

// 班级管理
Mock.mock(/\/api\/system\/class\/list-api/, 'get', classApi.getList)
Mock.mock(/\/api\/system\/class\/all-list/, 'get', classApi.getAllList)
Mock.mock(/\/api\/system\/class\/create-class/, 'post', classApi.createData)
Mock.mock(/\/api\/system\/class\/delete-class/, 'delete', classApi.deleteData)
Mock.mock(/\/api\/system\/class\/get-item/, 'get', classApi.getItem)
Mock.mock(/\/api\/system\/major\/list-byzy-api/, 'get', classApi.getBjListByZy)

// 学年管理
Mock.mock(/\/api\/system\/schoolyear\/list-api/, 'get', schoolyearApi.getList)
Mock.mock(/\/api\/system\/schoolyear\/create-schoolyear/, 'post', schoolyearApi.createData)
Mock.mock(/\/api\/system\/schoolyear\/delete-schoolyear/, 'delete', schoolyearApi.deleteData)
Mock.mock(/\/api\/system\/schoolyear\/get-item/, 'get', schoolyearApi.getItem)

// 名单同步接口设置
Mock.mock(/\/api\/system\/rostersyncinterface\/list-api/, 'get', rostersyncinterfaceApi.getList)
Mock.mock(/\/api\/system\/rostersyncinterface\/create-rostersyncinterface/, 'post', rostersyncinterfaceApi.createData)
Mock.mock(/\/api\/system\/rostersyncinterface\/delete-rostersyncinterface/, 'delete', rostersyncinterfaceApi.deleteData)
Mock.mock(/\/api\/system\/rostersyncinterface\/get-item/, 'get', rostersyncinterfaceApi.getItem)

// 审核学生范围控制
Mock.mock(/\/api\/system\/auditscope\/list-api/, 'get', auditscopeApi.getList)
Mock.mock(/\/api\/system\/auditscope\/create-auditscope/, 'post', auditscopeApi.createData)
Mock.mock(/\/api\/system\/auditscope\/delete-auditscope/, 'delete', auditscopeApi.deleteData)
Mock.mock(/\/api\/system\/auditscope\/get-item/, 'get', auditscopeApi.getItem)

// 离校自动审核类型设置
Mock.mock(/\/api\/system\/autoaudittype\/list-api/, 'get', autoaudittypeApi.getList)
Mock.mock(/\/api\/system\/autoaudittype\/create-autoaudittype/, 'post', autoaudittypeApi.createData)
Mock.mock(/\/api\/system\/autoaudittype\/delete-autoaudittype/, 'delete', autoaudittypeApi.deleteData)
Mock.mock(/\/api\/system\/autoaudittype\/get-item/, 'get', autoaudittypeApi.getItem)

// 学院负责人信息管理
Mock.mock(/\/api\/workteam\/departmentleader\/list-api/, 'get', departmentleaderApi.getList)
Mock.mock(/\/api\/workteam\/departmentleader\/create-departmentleader/, 'post', departmentleaderApi.createData)
Mock.mock(/\/api\/workteam\/departmentleader\/delete-departmentleader/, 'delete', departmentleaderApi.deleteData)
Mock.mock(/\/api\/workteam\/departmentleader\/get-item/, 'get', departmentleaderApi.getItem)

// 辅导员信息管理
Mock.mock(/\/api\/workteam\/instructor\/list-api/, 'get', instructorApi.getList)
Mock.mock(/\/api\/workteam\/instructor\/create-instructor/, 'post', instructorApi.createData)
Mock.mock(/\/api\/workteam\/instructor\/delete-instructor/, 'delete', instructorApi.deleteData)
Mock.mock(/\/api\/workteam\/instructor\/get-item/, 'get', instructorApi.getItem)

// 院系部门管理
Mock.mock(/\/api\/news\/newspublish\/list-api/, 'get', newspublishApi.getList)
Mock.mock(/\/api\/news\/newspublish\/create-newspublish/, 'post', newspublishApi.createData)
Mock.mock(/\/api\/news\/newspublish\/delete-newspublish/, 'delete', newspublishApi.deleteData)
Mock.mock(/\/api\/news\/newspublish\/get-item/, 'get', newspublishApi.getItem)

// 办理情况查询
Mock.mock(/\/api\/statistical\/handling\/list-api/, 'get', handlingApi.getList)
Mock.mock(/\/api\/statistical\/handling\/get-item/, 'get', handlingApi.getItem)

// 离校学生审核查询
Mock.mock(/\/api\/leaveprocess\/leavestudent\/auditlist-api/, 'get', leavestudentApi.getList)

// 环节统计报表查询
Mock.mock(/\/api\/statistical\/nodereport\/list-api/, 'get', nodereportApi.getList)
Mock.mock(/\/api\/statistical\/nodereport\/get-item/, 'get', nodereportApi.getItem)
Mock.mock(/\/api\/statistical\/nodereport\/leaveresult/, 'get', nodereportApi.getLeaveAuditResult)

// 院系统计报表查询
Mock.mock(/\/api\/statistical\/deptreport\/list-api/, 'get', deptreportApi.getList)

// 专业统计报表查询
Mock.mock(/\/api\/statistical\/majorreport\/list-api/, 'get', majorreportApi.getList)

// 部门统计报表查询
Mock.mock(/\/api\/statistical\/sectionreport\/list-api/, 'get', sectionreportApi.getList)

// 离校环节管理
Mock.mock(/\/api\/procedures\/node\/list-api/, 'get', leaveschoolnodeApi.getList)
Mock.mock(/\/api\/procedures\/node\/create-node/, 'post', leaveschoolnodeApi.createData)
Mock.mock(/\/api\/procedures\/node\/delete-node/, 'delete', leaveschoolnodeApi.deleteData)
Mock.mock(/\/api\/procedures\/node\/get-item/, 'get', leaveschoolnodeApi.getItem)
Mock.mock(/\/api\/procedures\/node\/get-user/, 'get', leaveschoolnodeApi.getUser)
Mock.mock(/\/api\/procedures\/node\/auditor-list/, 'get', leaveschoolnodeApi.getAuditorList)
Mock.mock(/\/api\/procedures\/node\/create-node-auditor/, 'post', leaveschoolnodeApi.createNodeAuditor)
Mock.mock(/\/api\/procedures\/node\/delete-node-auditor/, 'delete', leaveschoolnodeApi.deleteNodeAuditor)
Mock.mock(/\/api\/procedures\/node\/principal-list/, 'get', leaveschoolnodeApi.getPrincipalList)
Mock.mock(/\/api\/procedures\/node\/create-node-principal/, 'post', leaveschoolnodeApi.createNodeAuditor)
Mock.mock(/\/api\/procedures\/node\/delete-node-principal/, 'delete', leaveschoolnodeApi.deleteNodeAuditor)

// 用户管理
Mock.mock(/\/api\/system\/user\/list-api/, 'get', userApi.getPage)
Mock.mock(/\/api\/system\/user\/dept-list/, 'get', userApi.getUserList)
Mock.mock(/\/api\/system\/user\/create-user/, 'post', userApi.createData)
Mock.mock(/\/api\/system\/user\/delete-user/, 'delete', userApi.deleteData)
Mock.mock(/\/api\/system\/user\/get-item/, 'get', userApi.getItem)

export default Mock
