diff --git a/package-lock.json b/package-lock.json index bbd0e4d0..644acf0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "core-js": "^3.8.3", "element-plus": "^2.2.17", "jquery": "^3.6.1", + "qs": "^6.11.0", "vue": "^3.2.13", "vue-router": "^4.0.3", "vuex": "^4.0.0" @@ -3779,6 +3780,18 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + } + }, "node_modules/bonjour-service": { "version": "1.0.14", "resolved": "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.0.14.tgz", @@ -3866,7 +3879,6 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -5879,6 +5891,18 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/express/node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + } + }, "node_modules/express/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -6164,8 +6188,7 @@ "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "node_modules/functional-red-black-tree": { "version": "1.0.1", @@ -6195,7 +6218,6 @@ "version": "1.1.3", "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz", "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -6303,7 +6325,6 @@ "version": "1.0.3", "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -6333,7 +6354,6 @@ "version": "1.0.3", "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, "engines": { "node": ">= 0.4" } @@ -7840,8 +7860,7 @@ "node_modules/object-inspect": { "version": "1.12.2", "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" }, "node_modules/object-keys": { "version": "1.1.1", @@ -8914,10 +8933,9 @@ } }, "node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmmirror.com/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dependencies": { "side-channel": "^1.0.4" }, @@ -9562,7 +9580,6 @@ "version": "1.0.4", "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -14198,6 +14215,15 @@ "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } } } }, @@ -14276,7 +14302,6 @@ "version": "1.0.2", "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "requires": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -15874,6 +15899,15 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -16105,8 +16139,7 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "functional-red-black-tree": { "version": "1.0.1", @@ -16130,7 +16163,6 @@ "version": "1.1.3", "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz", "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", - "dev": true, "requires": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -16220,7 +16252,6 @@ "version": "1.0.3", "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "requires": { "function-bind": "^1.1.1" } @@ -16243,8 +16274,7 @@ "has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "hash-sum": { "version": "2.0.0", @@ -17444,8 +17474,7 @@ "object-inspect": { "version": "1.12.2", "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz", - "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", - "dev": true + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==" }, "object-keys": { "version": "1.1.1", @@ -18218,10 +18247,9 @@ "dev": true }, "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmmirror.com/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, + "version": "6.11.0", + "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "requires": { "side-channel": "^1.0.4" } @@ -18742,7 +18770,6 @@ "version": "1.0.4", "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", diff --git a/package.json b/package.json index b58bbc98..41b11993 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "core-js": "^3.8.3", "element-plus": "^2.2.17", "jquery": "^3.6.1", + "qs": "^6.11.0", "vue": "^3.2.13", "vue-router": "^4.0.3", "vuex": "^4.0.0" @@ -54,4 +55,4 @@ "not dead", "not ie 11" ] -} \ No newline at end of file +} diff --git a/src/api/config.js b/src/api/config.js index 717e68d7..3e659a63 100644 --- a/src/api/config.js +++ b/src/api/config.js @@ -1,8 +1,45 @@ import axios from "axios"; +axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'; + +axios.defaults.withCredentials = true; + const http = axios.create({ - baseURL: 'http://localhost:8082/api', - timeout: 1000 * 100 + baseURL: '/api', + timeout: 1000 * 5 }); +http.interceptors.request.use( + (config) => { + const token = localStorage.getItem('token'); + if (token) { + config.headers.token = token; + } else { + console.log("当前请求页面无token,请执行操作!!!") + } + return config; + }, + (err) => { + console.log('登陆前拦截', err) + return Promise.reject(err); + } +); + + +http.interceptors.response.use( + (response) => { + const { data: { code, msg } } = response; + if (code === 0 || code === 200) { + return response; + } else { + console.log('api %o', msg); + } + return response; + }, + function (error) { + console.log('api error %o', error); + return Promise.reject(error); + } +); + export default http; \ No newline at end of file diff --git a/src/api/index.js b/src/api/index.js index e1c0c215..1297c5d5 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,19 +1,74 @@ import http from "./config"; - -// 接口 -export const getUserInfo = () => http.get('/'); -export const getUserById = (x, y, z) => http.post('/getuserbyid', { x, y, z }); +import qs from 'qs'; -// 使用方法 +/** + * 接口传参数方式(get) + * axios.get('/user', { + * params: { + * id: 12345, + * name: user + * } + * }).then(res => console.log(res)) + * + * 接口传参三种方式(post/put/patch) + * + * 1.'Content-Type'= 'multipart/form-data',传参格式为 formData。 + * (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded') + * (request的Header:'Content-Type'= 'multipart/form-data') + * var formData=new FormData(); + * formData.append('user',123456);formData.append('pass',12345678); + * axios.post("/notice",formData).then() + * + * 2.'Content-Type'= 'application/x-www-form-urlencoded',传参格式为 query 形式,使用$qs.stringify。 + * (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded') + * (request的Header:'Content-Type'= 'application/x-www-form-urlencoded') + * let data = {"code":"1234","name":"yyyy"}; + * axios.post(`${this.$url}/test/testRequest`,qs.stringify({data})).then() + * + * 3.'Content-Type'= 'application/json,传参格式为 raw (JSON格式)。 + * (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded') + * (request的Header:'Content-Type'= 'application/json;charset=UTF-8') + * let data = {"code":"1234","name":"yyyy"} + * axios.post(`${this.$url}/test/testRequest`,data).then() + * + */ + + +// 接口-请求 + +// 根据投票ID获取题干信息 +export const getStemInfo = (stemId) => http.post('/vote/queryStemByStemId', qs.stringify({ stemId: stemId })); + +// 测试方法 // import * as api from '../../api/index' -// api.getUserById(6, 7, 8).then(res => { +// api.getStemInfo(4).then(res => { // console.log(res) // }).catch(err => { // console.log(err) // }) -// api.getUserInfo().then(res => { +// 获取字典列表 +export const getList = (pageno, pagesize) => http.post('/dict/getList', { + "dictCode": "", + "pageNo": pageno, + "pageSize": pagesize +}) + +// 测试方法 +// import * as api from '../../api/index' +// api.getList(0,0).then(res => { +// console.log(res) +// }).catch(err => { +// console.log(err) +// }) + +// 根据活动ID获取活动信息接口 +export const getActivityList = (activityId) => http.get('/activity', { params: { "activityId": activityId } }) + +// 测试方法 +// import * as api from '../../api/index' +// api.getActivityList(4).then(res => { // console.log(res) // }).catch(err => { // console.log(err) diff --git a/src/components/drawers/ActiveAttendance.vue b/src/components/drawers/ActiveAttendance.vue index f81985a1..2110c4fe 100644 --- a/src/components/drawers/ActiveAttendance.vue +++ b/src/components/drawers/ActiveAttendance.vue @@ -533,13 +533,15 @@ export default { width: 100%; height: 100%; // background-color: #bfa; - // overflow-y: auto; + overflow-y: auto; + .titl { display: flex; .endtime { font-size: 16px; font-weight: 500; color: #333333; + white-space: nowrap; } } .search { @@ -551,6 +553,7 @@ export default { .leftchoose { display: flex; margin-right: 20px; + flex-wrap: wrap; .namecon { display: flex; flex-wrap: nowrap; @@ -754,16 +757,17 @@ export default { // } } } - // .botm { - // width: 100%; - // height: 100%; - // background-color: red; - // // flex-shrink: 1; - // } + .botm { + width: 100%; + height: 90px; + // background-color: red; + // flex-shrink: 1; + } .btnn { height: 72px; width: 100%; position: absolute; + background-color: #fff; bottom: 0; left: 0; display: flex; diff --git a/src/components/drawers/AddLevelAddStu.vue b/src/components/drawers/AddLevelAddStu.vue index acee1b3f..98c35cb1 100644 --- a/src/components/drawers/AddLevelAddStu.vue +++ b/src/components/drawers/AddLevelAddStu.vue @@ -1076,7 +1076,6 @@ export default { display: flex; // height: 80%; margin-bottom: 72px; - .left { // overflow-y: auto; width: 65%; @@ -1275,7 +1274,8 @@ export default { // bottom: 20px; .ant-pagination-item, .ant-pagination-prev, - .ant-pagination-next { + .ant-pagination-next, + .ant-pagination-options { margin-bottom: 10px; } } diff --git a/src/components/drawers/CheckStu.vue b/src/components/drawers/CheckStu.vue new file mode 100644 index 00000000..1e35333f --- /dev/null +++ b/src/components/drawers/CheckStu.vue @@ -0,0 +1,406 @@ + + + + + \ No newline at end of file diff --git a/src/components/drawers/CheckStuMess.vue b/src/components/drawers/CheckStuMess.vue new file mode 100644 index 00000000..34b824f3 --- /dev/null +++ b/src/components/drawers/CheckStuMess.vue @@ -0,0 +1,141 @@ + + + + + \ No newline at end of file diff --git a/src/components/drawers/FaceManage.vue b/src/components/drawers/FaceManage.vue index f422311b..7d7c5936 100644 --- a/src/components/drawers/FaceManage.vue +++ b/src/components/drawers/FaceManage.vue @@ -482,8 +482,9 @@ export default { //面授管理弹窗 .FaceManage { + // overflow: auto; .drawerMain { - min-width: 600px; + min-width: 550px; margin: 0px 32px 0px 32px; overflow-x: scroll; display: flex; @@ -512,7 +513,7 @@ export default { height: 100%; // background-color: #bfa; - // overflow-y: auto; + overflow: auto; .endtime { font-size: 16px; font-weight: 500; @@ -694,7 +695,15 @@ export default { padding: 0px !important; // padding-left: 45px !important; } - + // .ant-pagination-prev { + // margin-bottom: 5px; + // } + .ant-pagination-item, + .ant-pagination-prev, + .ant-pagination-next, + .ant-pagination-options { + margin-bottom: 10px; + } .ant-table-thead > tr > th { background-color: rgba(239, 244, 252, 1) !important; } @@ -735,6 +744,7 @@ export default { height: 72px; width: 100%; position: absolute; + background-color: #fff; bottom: 0; left: 0; display: flex; diff --git a/src/components/drawers/ManageRight.vue b/src/components/drawers/ManageRight.vue new file mode 100644 index 00000000..b978e012 --- /dev/null +++ b/src/components/drawers/ManageRight.vue @@ -0,0 +1,1271 @@ + + + + + + diff --git a/src/components/drawers/Ownership.vue b/src/components/drawers/Ownership.vue index f0267f44..ef808712 100644 --- a/src/components/drawers/Ownership.vue +++ b/src/components/drawers/Ownership.vue @@ -1,3 +1,4 @@ +