diff --git a/package-lock.json b/package-lock.json index 6a934b9..46b293e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6320,7 +6320,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -6341,12 +6342,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -6361,17 +6364,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -6488,7 +6494,8 @@ "inherits": { "version": "2.0.4", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -6500,6 +6507,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -6514,6 +6522,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -6521,12 +6530,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.9.0", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -6545,6 +6556,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -6634,7 +6646,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -6646,6 +6659,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1" } @@ -6731,7 +6745,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -6767,6 +6782,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -6786,6 +6802,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6829,12 +6846,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -12175,10 +12194,9 @@ "dev": true }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz", + "integrity": "sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==" }, "query-string": { "version": "5.1.1", @@ -12607,6 +12625,14 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } } }, "request-promise-core": { @@ -12829,7 +12855,8 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true + "dev": true, + "optional": true }, "rx-lite-aggregates": { "version": "4.0.8", diff --git a/package.json b/package.json index b52f14a..4a53056 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "normalize.css": "7.0.0", "nprogress": "0.2.0", "path-to-regexp": "2.4.0", + "qs": "^6.9.1", "vue": "2.6.10", "vue-router": "3.0.6", "vuex": "3.1.0" diff --git a/src/api/role.js b/src/api/role.js new file mode 100644 index 0000000..9554529 --- /dev/null +++ b/src/api/role.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +export function getRoleList(params) { + return request({ + url: '/role/list', + method: 'get', + params + }) +} + diff --git a/src/api/subject.js b/src/api/subject.js new file mode 100644 index 0000000..da43031 --- /dev/null +++ b/src/api/subject.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getSubjectList(params) { + return request({ + url: '/subject/list', + method: 'get', + params + }) +} diff --git a/src/api/teacher.js b/src/api/teacher.js new file mode 100644 index 0000000..800f164 --- /dev/null +++ b/src/api/teacher.js @@ -0,0 +1,16 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: '/teacher/add', + method: 'post', + data + }) +} +export function deluser(id) { + return request({ + url: '/teacher/del', + method: 'post', + data: { id } + }) +} diff --git a/src/api/user.js b/src/api/user.js index 2ee8b75..bdbcb6a 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -18,7 +18,40 @@ export function getInfo(token) { export function logout() { return request({ - url: '/vue-admin-template/user/logout', + url: '/logout', method: 'post' }) } + +export function getUserList(schoolId) { + return request({ + url: '/user/schoolusers', + method: 'post', + data: { schoolId } + }) +} + +export function enableUser(id, enable) { + return request({ + url: '/user/enableuser', + method: 'post', + data: { id, enable } + }) +} + +export function searchUser(data) { + return request({ + url: '/user/search', + method: 'post', + data + }) +} + +export function resetpass(data) { + return request({ + url: '/user/resetpass', + method: 'post', + data + }) +} + diff --git a/src/layout/index.vue b/src/layout/index.vue index db22a7b..30fbea8 100644 --- a/src/layout/index.vue +++ b/src/layout/index.vue @@ -58,7 +58,7 @@ export default { @include clearfix; position: relative; height: 100%; - width: 100%; + width:100%; &.mobile.openSidebar{ position: fixed; top: 0; diff --git a/src/permission.js b/src/permission.js index fa1ea19..ee26a4c 100644 --- a/src/permission.js +++ b/src/permission.js @@ -32,7 +32,7 @@ router.beforeEach(async(to, from, next) => { } else { try { // get user info - await store.dispatch('user/getInfo') + // await store.dispatch('user/getInfo') next() } catch (error) { diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 094fdb0..d1da8a1 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -3,7 +3,11 @@ import { getToken, setToken, removeToken, - setLogoLayout + removeUser, + setLogoLayout, + saveuser, + setuserinfo, + removeuserinfo } from '@/utils/auth' import { resetRouter } from '@/router' @@ -12,7 +16,8 @@ const getDefaultState = () => { token: getToken(), name: '', avatar: '', - logoLayout: '' + logoLayout: '', + userInfo: {} } } @@ -33,6 +38,9 @@ const mutations = { }, SET_LOGOLAYOUT: (state, logoLayout) => { state.logoLayout = logoLayout + }, + SET_USERINFO: (state, userInfo) => { + state.userInfo = userInfo } } @@ -44,9 +52,12 @@ const actions = { login({ username: username.trim(), password: password }) .then(response => { const { data } = response - commit('SET_TOKEN', data.token) + console.log(data) + commit('SET_TOKEN', data.username) commit('SET_LOGOLAYOUT', data.logoLayout) - setToken(data.token) + commit('SET_USERINFO', JSON.stringify(data)) + setuserinfo(JSON.stringify(data)) + setToken(data.username) setLogoLayout(data.logoLayout) resolve(response) }) @@ -79,12 +90,22 @@ const actions = { }) }, + saveuser({ commit }, userInfo) { + console.log(userInfo) + const { username, password } = userInfo + const param = { username: username.trim(), password: password } + console.log(param) + saveuser(JSON.stringify(param)) + }, + // user logout logout({ commit, state }) { return new Promise((resolve, reject) => { logout(state.token) .then(() => { removeToken() // must remove token first + removeUser() + removeuserinfo() resetRouter() commit('RESET_STATE') resolve() diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index d5299fc..48715c7 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -106,6 +106,9 @@ [class^="el-icon-"] { margin-left: 20px; } + [class^="el-ump-"] { + margin-left: 20px; + } .svg-icon { margin-left: 20px; } diff --git a/src/utils/auth.js b/src/utils/auth.js index a4be227..46fc890 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -22,3 +22,25 @@ export function getLogoLayout() { export function setLogoLayout(token) { return Cookies.set(LogoLayout, token) } + +export function saveuser(userinfo) { + return Cookies.set('logininfo', userinfo) +} + +export function getuser() { + return Cookies.get('logininfo') +} + +export function removeUser() { + return Cookies.remove('logininfo') +} + +export function setuserinfo(userinfo) { + return Cookies.set('userinfo', userinfo) +} +export function getuserinfo() { + return Cookies.set('userinfo') +} +export function removeuserinfo() { + return Cookies.remove('userinfo') +} diff --git a/src/utils/request.js b/src/utils/request.js index 28c6c96..94a082d 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -2,6 +2,7 @@ import axios from 'axios' import { MessageBox, Message } from 'element-ui' import store from '@/store' import { getToken } from '@/utils/auth' +import qs from 'qs' // create an axios instance const service = axios.create({ @@ -14,7 +15,8 @@ const service = axios.create({ service.interceptors.request.use( config => { // do something before request is sent - + console.log(config) + config.data = qs.stringify(config.data) if (store.getters.token) { // let each request carry token // ['X-Token'] is a custom headers key @@ -46,7 +48,7 @@ service.interceptors.response.use( const res = response.data // if the custom code is not 20000, it is judged as an error. - if (res.code !== 20000) { + if (res.code !== 0) { Message({ message: res.message || 'Error', type: 'error', diff --git a/src/views/account/index.vue b/src/views/account/index.vue index 04c327d..bb633cb 100644 --- a/src/views/account/index.vue +++ b/src/views/account/index.vue @@ -4,31 +4,30 @@
- 新增账号 + 新增账号 批量导入 批量导出 批量删除
- + - - + - + - + - + - - + + @@ -51,11 +50,18 @@ width="55" /> + + + + > + + @@ -89,55 +99,52 @@ - + - {{ item.label }} + {{ item.name }} {{ item.dec }} - - + +

初始密码统一为123456

- + - + - - - - + + + - +
- 取 消 - 保 存 + 取 消 + 保 存

第一步:下载模板并编辑完成用户的信息 下载导入模板

第二步:上传编辑完成的模板文件,完成导入

@@ -161,8 +168,12 @@