离校前端框架,包括数据字典、工作队伍、新闻公告模块
diff --git a/leave-school-vue/src/mock/class.js b/leave-school-vue/src/mock/class.js
new file mode 100644
index 0000000..01fc0ae
--- /dev/null
+++ b/leave-school-vue/src/mock/class.js
@@ -0,0 +1,88 @@
+import Mock from 'mockjs'
+import { param2Obj } from '@/utils'
+
+const clsList = Mock.mock({
+  'list|26': [{
+    'id': '@increment',
+    'nj|1': ['6', '7', '8'],
+    'njmc|1': ['2017', '2018', '2019'],
+    'yx|1-26': 26,
+    'yxmc': '@cword(6, 15)',
+    'zy|27-375': 375,
+    'zymc': '@cword(3, 5)',
+    'bjdm': '@word(5)',
+    'bjmc': '@cword(6, 10)',
+    'sfky|1': ['1', '0'],
+    'sfkymc|1': ['可用', '不可用']
+  }]
+}).list
+
+export default{
+  getList: config => {
+    const { yx, zy, bjmc, nj, bjdm, sfky, pageIndex = 1, pageSize = 20 } = param2Obj(config.url)
+    const mockList = clsList.filter(item => {
+      if (yx && item.yx + '' !== yx + '') return false
+      if (zy && item.zy !== zy) return false
+      if (bjmc && item.bjmc !== bjmc) return false
+      if (nj && item.nj !== nj) return false
+      if (bjdm && item.bjdm !== bjdm) return false
+      if (sfky && item.sfky !== sfky) 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
+    }
+  },
+  getAllList: config => {
+    return {
+      items: clsList,
+      code: 200
+    }
+  },
+  getItem: config => {
+    const { id } = param2Obj(config.url)
+    const mockList = clsList.filter(item => item.id + '' === id + '')
+    return {
+      data: mockList.length > 0 ? mockList[0] : null,
+      code: 200
+    }
+  },
+  createData: config => {
+    const cls = JSON.parse(config.body)
+    if (!cls.id) {
+      cls.id = '' + parseInt(Math.random() * 100) + 1024 // mock a id
+      clsList.unshift(cls)
+    } else {
+      for (let i = 0; i < clsList.length; i++) {
+        if (clsList[i].id + '' === cls.id + '') {
+          clsList.splice(i, 1, cls)
+          break
+        }
+      }
+    }
+    return {
+      item: cls,
+      code: 200
+    }
+  },
+  deleteData: config => {
+    const cls = JSON.parse(config.body)
+    let index = -1
+    for (let i = 0; i < clsList.length; i++) {
+      if (clsList[i].id + '' === cls.id + '') {
+        index = i
+        break
+      }
+    }
+    if (index > -1) {
+      clsList.splice(index, 1)
+    }
+    return {
+      code: 200
+    }
+  }
+}