菜单冲突
diff --git a/leave-school-vue/src/mock/dictionary.js b/leave-school-vue/src/mock/dictionary.js
index 0f8166b..da85881 100644
--- a/leave-school-vue/src/mock/dictionary.js
+++ b/leave-school-vue/src/mock/dictionary.js
@@ -100,6 +100,46 @@
   'id': '20',
   'type': 'xslb',
   'name': '研究生'
+},
+{
+  'id': '21',
+  'type': 'scope',
+  'name': '辅导员范围'
+},
+{
+  'id': '22',
+  'type': 'defaultAuditStatus',
+  'name': '待审核'
+},
+{
+  'id': '23',
+  'type': 'defaultAuditStatus',
+  'name': '审核通过'
+},
+{
+  'id': '24',
+  'type': 'defaultAuditStatus',
+  'name': '审核不通过'
+},
+{
+  'id': '25',
+  'type': 'auditType',
+  'name': '手动'
+},
+{
+  'id': '26',
+  'type': 'auditType',
+  'name': '自动'
+},
+{
+  'id': '27',
+  'type': 'scope',
+  'name': '全校范围'
+},
+{
+  'id': '28',
+  'type': 'scope',
+  'name': '院系范围'
 }]
 
 export default{
diff --git a/leave-school-vue/src/mock/index.js b/leave-school-vue/src/mock/index.js
index fe83b76..475cf75 100644
--- a/leave-school-vue/src/mock/index.js
+++ b/leave-school-vue/src/mock/index.js
@@ -12,11 +12,14 @@
 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 leaveschoolnodeApi from './leaveschoolnode'
+
 // 登录
 Mock.mock(/\/api\/login\/login/, 'post', loginApi.loginByUsername)
 Mock.mock(/\/api\/system\/user\/info/, 'get', loginApi.getUserInfo)
@@ -108,4 +111,10 @@
 // 院系统计报表查询
 Mock.mock(/\/api\/statistical\/deptreport\/list-api/, 'get', deptreportApi.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)
+
 export default Mock
diff --git a/leave-school-vue/src/mock/leaveschoolnode.js b/leave-school-vue/src/mock/leaveschoolnode.js
new file mode 100644
index 0000000..10c7257
--- /dev/null
+++ b/leave-school-vue/src/mock/leaveschoolnode.js
@@ -0,0 +1,103 @@
+import { param2Obj } from '@/utils'
+
+const nodeList = [
+  {
+    'id': '26',
+    'name': '后勤处',
+    'department': { 'id': '2', 'dwmc': '后勤处' },
+    'contact': '张三',
+    'phoneNumber': '021-65431991',
+    'scope': { 'id': '27', 'name': '全校范围' },
+    'auditType': { 'id': '25', 'name': '手动' },
+    'defaultAuditStatus': { 'id': '22', 'name': '待审核' },
+    'auditNodeDuty': '',
+    'auditNodeAddress': '',
+    'deleted': '0'
+  },
+  {
+    'id': '27',
+    'name': '财务处',
+    'department': { 'id': '3', 'dwmc': '财务处' },
+    'contact': '李四',
+    'phoneNumber': '021-65431921',
+    'scope': { 'id': '27', 'name': '全校范围' },
+    'auditType': { 'id': '26', 'name': '自动' },
+    'defaultAuditStatus': { 'id': '22', 'name': '待审核' },
+    'auditNodeDuty': '',
+    'auditNodeAddress': '',
+    'deleted': '0'
+  },
+  {
+    'id': '28',
+    'name': '图书馆',
+    'department': { 'id': '4', 'dwmc': '图书馆' },
+    'contact': '王五',
+    'phoneNumber': '021-65431931',
+    'scope': { 'id': '27', 'name': '全校范围' },
+    'auditType': { 'id': '25', 'name': '手动' },
+    'defaultAuditStatus': { 'id': '22', 'name': '待审核' },
+    'auditNodeDuty': '',
+    'auditNodeAddress': '',
+    'deleted': '0'
+  }
+]
+
+export default{
+  getList: config => {
+    const { name, auditType, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
+    const mockList = nodeList.filter(item => {
+      if (name && item.name !== name) return false
+      if (auditType && item.auditType.id !== auditType) return false
+      return true
+    })
+
+    const pageList = mockList.filter((item, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1))
+    return {
+      items: pageList,
+      recordCount: mockList.length,
+      code: 200
+    }
+  },
+  getItem: config => {
+    const { id } = param2Obj(config.url)
+    const mockList = nodeList.filter(item => item.id + '' === id + '')
+    return {
+      data: mockList.length > 0 ? mockList[0] : null,
+      code: 200
+    }
+  },
+  createData: config => {
+    const node = JSON.parse(config.body)
+    if (!node.id) {
+      node.id = '' + parseInt(Math.random() * 100) + 1024 // mock a id
+      nodeList.unshift(node)
+    } else {
+      for (let i = 0; i < nodeList.length; i++) {
+        if (nodeList[i].id + '' === node.id + '') {
+          nodeList.splice(i, 1, node)
+          break
+        }
+      }
+    }
+    return {
+      item: node,
+      code: 200
+    }
+  },
+  deleteData: config => {
+    const node = JSON.parse(config.body)
+    let index = -1
+    for (let i = 0; i < nodeList.length; i++) {
+      if (nodeList[i].id + '' === node.id + '') {
+        index = i
+        break
+      }
+    }
+    if (index > -1) {
+      nodeList.splice(index, 1)
+    }
+    return {
+      code: 200
+    }
+  }
+}
diff --git a/leave-school-vue/src/mock/menulist.js b/leave-school-vue/src/mock/menulist.js
index 659e74f..4e0c3fa 100644
--- a/leave-school-vue/src/mock/menulist.js
+++ b/leave-school-vue/src/mock/menulist.js
@@ -90,6 +90,49 @@
     ]
   },
   {
+    path: '/procedures',
+    code: 'procedures',
+    meta: { title: '离校手续管理', icon: 'procedures' },
+    children: [
+      {
+        path: 'node',
+        code: 'Node',
+        resource: '/views/procedures/node/index',
+        meta: { title: '离校环节设置', icon: 'node' }
+      },
+      {
+        path: 'batch',
+        code: 'Batch',
+        resource: '/views/procedures/batch/index',
+        meta: { title: '离校批次管理', icon: 'batch' }
+      },
+      {
+        path: 'manifest',
+        code: 'manifest',
+        resource: '/views/procedures/manifest/index',
+        meta: { title: '离校名单管理', icon: 'manifest' }
+      },
+      {
+        path: 'batchaudit',
+        code: 'BatchAudit',
+        resource: '/views/procedures/batchAudit/index',
+        meta: { title: '离校批量审核管理', icon: 'batchAudit' }
+      },
+      {
+        path: 'audit',
+        code: 'Audit',
+        resource: '/views/procedures/audit/index',
+        meta: { title: '离校学生审核', icon: 'audit' }
+      },
+      {
+        path: 'view',
+        code: 'View',
+        resource: '/views/procedures/view/index',
+        meta: { title: '办理情况学生查看', icon: 'view' }
+      }
+    ]
+  },
+  {
     path: '/statistical',
     code: 'statistical',
     meta: { title: '离校统计查询', icon: 'news' },