diff --git a/leave-school-vue/src/api/leaveschoolnode-api.js b/leave-school-vue/src/api/leaveschoolnode-api.js
new file mode 100644
index 0000000..be89f15
--- /dev/null
+++ b/leave-school-vue/src/api/leaveschoolnode-api.js
@@ -0,0 +1,39 @@
+import request from '@/utils/request'
+
+export function getList(params) {
+  return request({
+    url: '/api/procedures/node/list-api',
+    method: 'get',
+    params
+  })
+}
+export function getAllList(params) {
+  return request({
+    url: '/api/procedures/node/all-list',
+    method: 'get',
+    params
+  })
+}
+export function getItem(params) {
+  return request({
+    url: '/api/procedures/node/get-item',
+    method: 'get',
+    params
+  })
+}
+
+export function createNode(data) {
+  return request({
+    url: '/api/procedures/node/create-node',
+    method: 'post',
+    data
+  })
+}
+
+export function deleteNode(data) {
+  return request({
+    url: '/api/procedures/node/delete-node',
+    method: 'delete',
+    data
+  })
+}
diff --git a/leave-school-vue/src/icons/svg/audit.svg b/leave-school-vue/src/icons/svg/audit.svg
new file mode 100644
index 0000000..0b86c3a
--- /dev/null
+++ b/leave-school-vue/src/icons/svg/audit.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1534819354565" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9694" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M185.6 745.6v-92.8c0-51.2 41.6-92.8 92.8-92.8h140.8v-73.6c-54.4-32-92.8-92.8-92.8-160 0-102.4 83.2-185.6 185.6-185.6 102.4 0 185.6 83.2 185.6 185.6 0 70.4-38.4 128-92.8 160v73.6h140.8c51.2 0 92.8 41.6 92.8 92.8v92.8H185.6z m512 140.8H326.4v-92.8h374.4v92.8z" p-id="9695"></path></svg>
\ No newline at end of file
diff --git a/leave-school-vue/src/icons/svg/batch.svg b/leave-school-vue/src/icons/svg/batch.svg
new file mode 100644
index 0000000..368d217
--- /dev/null
+++ b/leave-school-vue/src/icons/svg/batch.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1534818723597" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5413" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M704 320H320a32 32 0 0 1 0-64h384a32 32 0 0 1 0 64z m0 448H320a32 32 0 0 1 0-64h384a32 32 0 0 1 0 64z m64-128H256a32 32 0 0 1-32-32v-192a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32zM288 576h448v-128H288v128z" p-id="5414"></path></svg>
\ No newline at end of file
diff --git a/leave-school-vue/src/icons/svg/batchAudit.svg b/leave-school-vue/src/icons/svg/batchAudit.svg
new file mode 100644
index 0000000..446e973
--- /dev/null
+++ b/leave-school-vue/src/icons/svg/batchAudit.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1534819231339" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9553" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M753.5 624.9h-90.4c-12.7 0-23-10.3-23-23s10.3-23 23-23h90.4c12.7 0 23 10.3 23 23s-10.3 23-23 23zM793 750.6H635.1c-12.7 0-23-10.3-23-23s10.3-23 23-23H793c12.7 0 23 10.3 23 23s-10.3 23-23 23zM762.3 495.8h-563c-12.7 0-23-10.3-23-23s10.3-23 23-23h563c12.7 0 23 10.3 23 23s-10.3 23-23 23zM473.4 623.2H199.7c-12.7 0-23-10.3-23-23s10.3-23 23-23h273.7c12.7 0 23 10.3 23 23s-10.3 23-23 23zM444.3 750.6H199.7c-12.7 0-23-10.3-23-23s10.3-23 23-23h244.6c12.7 0 23 10.3 23 23s-10.3 23-23 23zM434.1 347.9c-6.5-15.3-15.7-29.1-27.5-40.8-11.8-11.8-25.6-21.1-40.8-27.5-1.3-0.6-2.7-1.1-4-1.6 1.3-1.1 2.5-2.3 3.7-3.5 13.2-13.2 20.6-30.9 20.6-49.6s-7.3-36.3-20.6-49.6c-13.2-13.2-30.9-20.6-49.6-20.6-18.7 0-36.3 7.3-49.6 20.6-13.2 13.2-20.6 30.9-20.6 49.6s7.3 36.3 20.6 49.6c1.2 1.2 2.3 2.3 3.6 3.3-1.4 0.5-2.8 1.1-4.2 1.7-15.3 6.5-29.1 15.7-40.8 27.5-11.8 11.8-21.1 25.6-27.5 40.8-5.9 13.8-9.2 28.4-9.9 43.5-0.2 3.5 1.1 7 3.5 9.5s5.8 4 9.3 4c6.8 0 12.5-5.4 12.8-12.2 2.8-54.7 48-97.7 102.8-97.7 54.9 0 100 42.9 102.8 97.7 0.3 6.8 5.9 12.2 12.8 12.2 3.5 0 6.8-1.4 9.3-4 2.4-2.5 3.7-6 3.5-9.5-1-15-4.4-29.6-10.2-43.4z m-118.4-86.5c-18.5 0-33.6-15.1-33.6-33.6s15.1-33.6 33.6-33.6 33.6 15.1 33.6 33.6-15.1 33.6-33.6 33.6z m0 0M751.2 240.7h-210c-12.7 0-23-10.3-23-23s10.3-23 23-23h210c12.7 0 23 10.3 23 23s-10.2 23-23 23zM751.2 367.9h-210c-12.7 0-23-10.3-23-23s10.3-23 23-23h210c12.7 0 23 10.3 23 23s-10.2 23-23 23z" p-id="9554"></path><path d="M136.2 848.6c-15.8 0-28.7-13.9-28.7-30.9V141.8c0-17.1 12.9-31 28.7-31h689.1c15.8 0 28.7 13.9 28.7 31v348.5c0 12.1 9.8 21.8 21.8 21.8 12.1 0 21.8-9.8 21.8-21.8V141.8c0-43-32.5-78-72.4-78h-689c-39.9 0-72.4 35-72.4 78v675.8c0 43 32.5 78 72.4 78h354.9c12.1 0 21.8-9.8 21.8-21.8v-3.4c0-12.1-9.8-21.8-21.8-21.8H136.2z" p-id="9555"></path><path d="M868.9 832.8c-4.2-4.2-9.9-6.6-15.9-6.6s-11.7 2.3-15.9 6.6l-2.6 2.6c-8.8 8.8-8.8 23 0 31.8l85.6 85.6a22.5 22.5 0 0 0 15.9 6.6c5.8 0 11.5-2.2 15.9-6.6 10.2-10.2 10.2-26.8 0-37l-83-83zM876.2 773.9c9.8-23.3 14.8-48 14.8-73.5s-5-50.2-14.8-73.5c-9.5-22.5-23.1-42.6-40.5-60-17.3-17.4-37.5-31-60-40.5-23.3-9.8-48-14.8-73.5-14.8s-50.2 5-73.5 14.8c-22.5 9.5-42.6 23.1-60 40.5-17.4 17.3-31 37.5-40.5 60-9.8 23.3-14.8 48-14.8 73.5s5 50.2 14.8 73.5c9.5 22.5 23.1 42.6 40.5 60 17.3 17.4 37.5 31 60 40.5 23.3 9.8 48 14.8 73.5 14.8s50.2-5 73.5-14.8c22.5-9.5 42.6-23.1 60-40.5s31-37.5 40.5-60z m-173.9 93.3c-92 0-166.8-74.8-166.8-166.8 0-92 74.8-166.8 166.8-166.8 92 0 166.8 74.8 166.8 166.8 0 92-74.9 166.8-166.8 166.8z" p-id="9556"></path><path d="M594.7 616.2l-1.8-1.3c-4.5-3.4-11-2.4-14.2 2.3-0.1 0.1-0.2 0.3-0.3 0.5-3.1 4.7-1.6 11.1 3.3 13.9l2 1.1c4.5 2.6 10.3 1.2 13.1-3.1 0 0 0-0.1 0.1-0.1 3-4.3 2-10.1-2.2-13.3zM574.4 649c-5.8-2.5-12.6 0.5-14.6 6.5-5.9 17.2-8.9 35.2-8.9 53.7v0.3c0 6.3 5.4 11.4 11.7 10.9 5.8-0.4 10.2-5.2 10.2-11v-0.1c0-16 2.6-31.6 7.6-46.5 2-5.5-0.6-11.5-6-13.8z m0 0" p-id="9557"></path></svg>
\ No newline at end of file
diff --git a/leave-school-vue/src/icons/svg/manifest.svg b/leave-school-vue/src/icons/svg/manifest.svg
new file mode 100644
index 0000000..0efaa87
--- /dev/null
+++ b/leave-school-vue/src/icons/svg/manifest.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1534821920000" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11152" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M896 1023.957333 128 1023.957333C80.853333 1023.957333 42.666667 985.770667 42.666667 938.624L42.666667 85.333333C42.666667 38.186667 80.853333-0.042667 128-0.042667L896-0.042667C943.104-0.042667 981.333333 38.186667 981.333333 85.333333L981.333333 938.624C981.333333 985.770667 943.104 1023.957333 896 1023.957333ZM896 85.290667 128 85.290667 128 938.666667 896 938.666667 896 85.290667ZM277.333333 469.290667 746.666667 469.290667C758.442667 469.290667 768 478.848 768 490.624L768 533.333333C768 545.109333 758.442667 554.666667 746.666667 554.666667L277.333333 554.666667C265.557333 554.666667 256 545.109333 256 533.333333L256 490.624C256 478.848 265.557333 469.290667 277.333333 469.290667ZM277.333333 682.666667 746.666667 682.666667C758.442667 682.666667 768 692.224 768 704L768 746.666667C768 758.442667 758.442667 768 746.666667 768L277.333333 768C265.557333 768 256 758.442667 256 746.666667L256 704C256 692.224 265.557333 682.666667 277.333333 682.666667ZM746.666667 341.333333 277.333333 341.333333C265.557333 341.333333 256 331.776 256 320L256 277.290667C256 265.514667 265.557333 255.957333 277.333333 255.957333L746.666667 255.957333C758.442667 255.957333 768 265.514667 768 277.290667L768 320C768 331.776 758.442667 341.333333 746.666667 341.333333Z" p-id="11153"></path></svg>
\ No newline at end of file
diff --git a/leave-school-vue/src/icons/svg/node.svg b/leave-school-vue/src/icons/svg/node.svg
new file mode 100644
index 0000000..172f992
--- /dev/null
+++ b/leave-school-vue/src/icons/svg/node.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1534818186763" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4238" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M778.4 599.5c-32.3 0-60.7 16-78.3 40.3l-102.4-52.7c8.3-17.9 13.3-37.6 13.3-58.6 0-23.9-6.5-46-17.1-65.6l59.8-24.7c5.3 9 11.8 17.5 20.3 24.6 40.8 34.6 101.8 29.6 136.4-11.2 34.6-40.8 29.6-101.8-11.2-136.4-40.8-34.6-101.8-29.6-136.4 11.2-20.9 24.6-27.1 56.6-19.9 85.8l-65.1 26.9c-22.7-26.9-55.2-44.9-92.2-48.7v-95c46.7-6.9 82.7-46.7 82.7-95.4 0-53.5-43.3-96.8-96.8-96.8s-96.8 43.3-96.8 96.8c0 48.6 36 88.5 82.7 95.4v95C387.1 397.6 332 456.3 332 528.5c0 34.7 13.1 66.1 34.1 90.5L324 640.7c-17.5-25.3-46.6-41.9-79.6-41.9-53.5 0-96.8 43.3-96.8 96.8s43.3 96.8 96.8 96.8S341 749 341 695.6c0-10.3-2-20.1-5-29.4l51.7-26.6c23.4 17.7 52.2 28.5 83.7 28.5 45.9 0 86.3-22.5 111.7-56.7L687.3 665c-3.4 9.9-5.7 20.3-5.7 31.4 0 53.5 43.3 96.8 96.8 96.8s96.8-43.3 96.8-96.8-43.3-96.9-96.8-96.9z" fill="#bfcbd9" p-id="4239"></path></svg>
\ No newline at end of file
diff --git a/leave-school-vue/src/icons/svg/procedures.svg b/leave-school-vue/src/icons/svg/procedures.svg
new file mode 100644
index 0000000..8e7c60d
--- /dev/null
+++ b/leave-school-vue/src/icons/svg/procedures.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1534818378854" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5250" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M796.1 370.11h72.56a15.5 15.5 0 0 0 15.5-15.5V214.42a5.25 5.25 0 0 0-1.54-3.75c-13-12.72-28.46-3.75-28.46 8.84v115.43a5.17 5.17 0 0 1-5.17 5.17H791a5.25 5.25 0 0 0-3.75 1.54c-12.71 12.95-3.74 28.46 8.85 28.46z" fill="#7B808B" p-id="5251"></path><path d="M736.85 355.6m-15 0a15 15 0 1 0 30 0 15 15 0 1 0-30 0Z" fill="#7B808B" p-id="5252"></path><path d="M391.16 38.11h-345v345a100 100 0 0 0 100 100h345v-345a100 100 0 0 0-100-100z m20 365h-265a20 20 0 0 1-20-20v-265h265a20 20 0 0 1 20 20zM552.16 138.11v345h345a100 100 0 0 0 100-100v-345h-345a100 100 0 0 0-100 100z m345 265h-265v-265a20 20 0 0 1 20-20h265v265a20 20 0 0 1-20 20zM46.16 641.11v345h345a100 100 0 0 0 100-100v-345h-345a100 100 0 0 0-100 100z m345 265h-265v-265a20 20 0 0 1 20-20h265v265a20 20 0 0 1-20 20zM897.16 541.11h-345v345a100 100 0 0 0 100 100h345v-345a100 100 0 0 0-100-100z m20 365h-265a20 20 0 0 1-20-20v-265h265a20 20 0 0 1 20 20z" fill="#7B808B" p-id="5253"></path></svg>
\ No newline at end of file
diff --git a/leave-school-vue/src/icons/svg/view.svg b/leave-school-vue/src/icons/svg/view.svg
new file mode 100644
index 0000000..0ebd413
--- /dev/null
+++ b/leave-school-vue/src/icons/svg/view.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1534819407004" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10476" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M819.2 0H204.8a136.533333 136.533333 0 0 0-136.533333 136.533333v750.933334a136.533333 136.533333 0 0 0 136.533333 136.533333h614.4a136.533333 136.533333 0 0 0 136.533333-136.533333V136.533333a136.533333 136.533333 0 0 0-136.533333-136.533333z m68.266667 887.466667a68.266667 68.266667 0 0 1-68.266667 68.266666H204.8a68.266667 68.266667 0 0 1-68.266667-68.266666V136.533333a68.266667 68.266667 0 0 1 68.266667-68.266666h614.4a68.266667 68.266667 0 0 1 68.266667 68.266666z" fill="" p-id="10477"></path><path d="M735.914667 273.066667h-307.2a34.133333 34.133333 0 0 0 0 68.266666h307.2a34.133333 34.133333 0 0 0 0-68.266666zM735.914667 477.866667h-307.2a34.133333 34.133333 0 0 0 0 68.266666h307.2a34.133333 34.133333 0 0 0 0-68.266666zM735.914667 682.666667h-307.2a34.133333 34.133333 0 0 0 0 68.266666h307.2a34.133333 34.133333 0 0 0 0-68.266666zM313.344 273.066667h-25.258667a34.133333 34.133333 0 0 0 0 68.266666h25.941334a34.133333 34.133333 0 0 0 0-68.266666zM313.344 477.866667h-25.258667a34.133333 34.133333 0 0 0 0 68.266666h25.941334a34.133333 34.133333 0 0 0 0-68.266666zM313.344 682.666667h-25.258667a34.133333 34.133333 0 0 0 0 68.266666h25.941334a34.133333 34.133333 0 0 0 0-68.266666z" fill="" p-id="10478"></path></svg>
\ No newline at end of file
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' },
diff --git a/leave-school-vue/src/views/procedures/node/index.vue b/leave-school-vue/src/views/procedures/node/index.vue
new file mode 100644
index 0000000..648e4f2
--- /dev/null
+++ b/leave-school-vue/src/views/procedures/node/index.vue
@@ -0,0 +1,231 @@
+<template>
+  <div class="app-container">
+    <div class="filter-container">
+      <el-row :gutter="20">
+        <el-col :span="5">
+          <el-input @keyup.enter.native="handleFilter" style="width: 200px;" class="filter-item" placeholder="审核环节名称" v-model="listQuery.name">
+          </el-input>
+        </el-col>
+        <el-col :span="5">
+          <el-select class="filter-item" v-model="listQuery.auditType" placeholder="审核方式">
+            <el-option v-for="item in auditTypeList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-col>
+        <el-col :span="9">
+          <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">查询</el-button>
+          <el-button class="filter-item" style="margin-left: 10px;" @click="handleCreate(null, 'create')" type="primary" icon="el-icon-edit">添加</el-button>
+          <el-button class="filter-item" style="margin-left: 10px;" @click="handleReset" type="primary" icon="el-icon-edit">重置</el-button>
+        </el-col>
+      </el-row>
+    </div>
+    <el-table :height="height" :data="items" v-loading="listLoading" element-loading-text="Loading" border fit highlight-current-row>
+      <el-table-column align="center" type="index" label='序号' width="95">
+      </el-table-column>
+      <el-table-column label="审核环节名称" align="center">
+        <template slot-scope="scope">
+          {{scope.row.name}}
+        </template>
+      </el-table-column>
+      <el-table-column label="所属部门" align="center">
+        <template slot-scope="scope">
+          <span>{{scope.row.department.dwmc}}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="联系人" align="center">
+        <template slot-scope="scope">
+          {{scope.row.contact}}
+        </template>
+      </el-table-column>
+      <el-table-column label="联系电话" align="center">
+        <template slot-scope="scope">
+          {{scope.row.phoneNumber}}
+        </template>
+      </el-table-column>
+      <el-table-column label="审核环节地址" align="center">
+        <template slot-scope="scope">
+          {{scope.row.auditNodeAddress}}
+        </template>
+      </el-table-column>
+      <el-table-column label="审核环节职责" align="center">
+        <template slot-scope="scope">
+          {{scope.row.auditNodeDuty}}
+        </template>
+      </el-table-column>
+      <el-table-column label="审核方式" align="center">
+        <template slot-scope="scope">
+          {{scope.row.auditType.name}}
+        </template>
+      </el-table-column>
+      <el-table-column label="范围控制" align="center">
+        <template slot-scope="scope">
+          {{scope.row.scope.name}}
+        </template>
+      </el-table-column>
+      <el-table-column label="默认审核状态" align="center">
+        <template slot-scope="scope">
+          {{scope.row.defaultAuditStatus.name}}
+        </template>
+      </el-table-column>
+      <el-table-column
+        fixed="right"
+        header-align="center"
+        align="center"
+        width="150"
+        label="操作">
+        <template slot-scope="scope">
+          <el-button type="text" size="small" @click="handleCreate(scope.row.id, 'update')">修改</el-button>
+          <el-button type="text" size="small" @click="handleDelete(scope.row.id)">删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="pagination-container">
+      <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="listQuery.pageIndex" :page-sizes="[10,20,30, 50]" :page-size="listQuery.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="recordCount">
+      </el-pagination>
+    </div>
+
+    <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" width="80%" top="10vh">
+      <el-form :rules="rules" ref="dataForm" :model="temp" label-position="left" label-width="150px" style='margin-left:50px;'>
+        <el-form-item label="审核环节名称" prop="name">
+          <el-input v-model="temp.name"></el-input>
+          <input type="hidden" v-model="temp.id" />
+        </el-form-item>
+        <el-form-item label="所属部门" prop="department">
+          <el-select class="filter-item" v-model="temp.department" placeholder="所属部门">
+            <el-option v-for="item in departmentList" :key="item.id" :label="item.dwmc" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="联系人" prop="contact">
+          <el-input v-model="temp.contact"></el-input>
+        </el-form-item>
+        <el-form-item label="联系电话" prop="phoneNumber">
+          <el-input v-model="temp.phoneNumber"></el-input>
+        </el-form-item>
+        <el-form-item label="审核方式" prop="auditType">
+          <el-select class="filter-item" v-model="temp.auditType" placeholder="请选择">
+            <el-option v-for="item in auditTypeList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="控制范围" prop="scope">
+          <el-select class="filter-item" v-model="temp.scope" placeholder="请选择">
+            <el-option v-for="item in scopeList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="默认审核状态" prop="defaultAuditStatus">
+          <el-select class="filter-item" v-model="temp.defaultAuditStatus" placeholder="请选择">
+            <el-option v-for="item in statusList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="审核环节职责" prop="auditNodeDuty">
+          <el-input type="textarea" :rows="4" v-model="temp.auditNodeDuty"></el-input>
+        </el-form-item>
+        <el-form-item label="审核环节地址" prop="auditNodeAddress">
+          <el-input type="textarea" :rows="4" v-model="temp.auditNodeAddress"></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">返回</el-button>
+        <el-button type="primary" @click="createData">提交</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { getList, getItem, createNode, deleteNode } from '@/api/leaveschoolnode-api'
+import { getDicList } from '@/api/dictionary-api'
+import { getDeptList } from '@/api/department-api'
+import waves from '@/directive/waves' // 水波纹指令
+import { resetForm } from '@/utils'
+import { crudPageList, crudGetItem, crudCreate, crudDelete } from '@/utils/crud'
+import mixindata from '@/utils/crud'
+
+const initData = { auditType: '25', defaultAuditStatus: '22' }
+export default {
+  name: 'node',
+  directives: {
+    waves
+  },
+  mixins: [mixindata],
+  data() {
+    return {
+      config: {
+        initialFrameWidth: null,
+        initialFrameHeight: 350
+      },
+      departmentList: [],
+      auditTypeList: [],
+      scopeList: [],
+      statusList: [],
+      rules: {
+        name: [{ required: true, message: '环节名称', trigger: 'blur' }],
+        scope: [{ required: true, message: '范围控制', trigger: 'change' }],
+        department: [{ required: true, message: '所属部门', trigger: 'change' }]
+      }
+    }
+  },
+  created() {
+    this.getDepartmentList()
+    this.getAuditTypeList()
+    this.getStatusList()
+    this.getScopeList()
+    this.handlePageList()
+    this.height = window.innerHeight - 266
+  },
+  methods: {
+    getDepartmentList() {
+      getDeptList().then(response => {
+        this.departmentList = response.items
+      })
+    },
+    getAuditTypeList() {
+      getDicList({ type: 'auditType' }).then(response => {
+        this.auditTypeList = response.items
+      })
+    },
+    getScopeList() {
+      getDicList({ type: 'scope' }).then(response => {
+        this.scopeList = response.items
+      })
+    },
+    getStatusList() {
+      getDicList({ type: 'defaultAuditStatus' }).then(response => {
+        this.statusList = response.items
+      })
+    },
+    handlePageList() {
+      crudPageList(this, getList)
+    },
+    handleCreate(rowid, dialogStatus) {
+      this.dialogStatus = dialogStatus
+      crudGetItem(this, getItem, rowid, initData)
+    },
+    handleReset() {
+      resetForm(this.listQuery)
+    },
+    handleFilter() {
+      this.listQuery.pageIndex = 1
+      this.handlePageList()
+    },
+    handleSizeChange(val) {
+      this.listQuery.pageSize = val
+      this.handlePageList()
+    },
+    handleCurrentChange(val) {
+      this.listQuery.pageIndex = val
+      this.handlePageList()
+    },
+    createData() {
+      // this.temp.ggnr = this.$refs.ue.getUEContent()
+      crudCreate(this, createNode, this.handlePageList)
+    },
+    handleDelete(rowid) {
+      crudDelete(this, deleteNode, rowid, this.handlePageList)
+    }
+  }
+}
+</script>
