Commit 6d7bd86229932a5de41defb9a7ddb17252985e95
1 parent
9309dc5d
飞书bug
Showing
17 changed files
with
165 additions
and
158 deletions
public/331icon.ico
0 → 100644
No preview for this file type
public/index.html
| @@ -5,13 +5,21 @@ | @@ -5,13 +5,21 @@ | ||
| 5 | <meta charset="utf-8"> | 5 | <meta charset="utf-8"> |
| 6 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | 6 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| 7 | <meta name="viewport" content="width=device-width,initial-scale=1.0"> | 7 | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| 8 | - <link rel="icon" href="<%= BASE_URL %>favicon.ico"> | 8 | + <!-- <link rel="icon" href="<%= BASE_URL %>favicon.ico"> --> |
| 9 | <title> | 9 | <title> |
| 10 | <%= htmlWebpackPlugin.options.title %> | 10 | <%= htmlWebpackPlugin.options.title %> |
| 11 | </title> | 11 | </title> |
| 12 | </head> | 12 | </head> |
| 13 | 13 | ||
| 14 | <body> | 14 | <body> |
| 15 | + <script> | ||
| 16 | + var link = document.querySelector("link[rel*='icon']") || document.createElement('link'); | ||
| 17 | + link.type = 'image/x-icon'; | ||
| 18 | + link.rel = 'shortcut icon'; | ||
| 19 | + var csCode = localStorage.getItem("csCode")||"" | ||
| 20 | + link.href = csCode?"./331icon.ico":"./favicon.ico"; | ||
| 21 | + document.getElementsByTagName('head')[0].appendChild(link); | ||
| 22 | + </script> | ||
| 15 | <noscript> | 23 | <noscript> |
| 16 | <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. | 24 | <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. |
| 17 | Please enable it to continue.</strong> | 25 | Please enable it to continue.</strong> |
src/api/axios.js
| @@ -56,6 +56,7 @@ service.interceptors.response.use( | @@ -56,6 +56,7 @@ service.interceptors.response.use( | ||
| 56 | } | 56 | } |
| 57 | } | 57 | } |
| 58 | } | 58 | } |
| 59 | + return | ||
| 59 | } else { | 60 | } else { |
| 60 | // Cookies.set("access_token", response.data.message, { expires: 1 / 12 }) | 61 | // Cookies.set("access_token", response.data.message, { expires: 1 / 12 }) |
| 61 | } | 62 | } |
| @@ -64,32 +65,25 @@ service.interceptors.response.use( | @@ -64,32 +65,25 @@ service.interceptors.response.use( | ||
| 64 | }, | 65 | }, |
| 65 | (error) => { | 66 | (error) => { |
| 66 | const { data, status } = error.response; | 67 | const { data, status } = error.response; |
| 67 | - | ||
| 68 | - Message({ | ||
| 69 | - message: error, | ||
| 70 | - type: "error", | ||
| 71 | - duration: 3 * 1000, | ||
| 72 | - }); | ||
| 73 | if (error.response == undefined) { | 68 | if (error.response == undefined) { |
| 74 | return Promise.reject(error); | 69 | return Promise.reject(error); |
| 75 | } | 70 | } |
| 76 | 71 | ||
| 77 | if (status === 403 || status === 401) { | 72 | if (status === 403 || status === 401) { |
| 78 | if (data.status === 999) { | 73 | if (data.status === 999) { |
| 79 | - if (!location.href.includes("localhost")) { | ||
| 80 | - if (data.data) { | 74 | + debugger |
| 75 | + console.log(data.data) | ||
| 76 | + if (data.data) { | ||
| 81 | window.location.href = data.data; | 77 | window.location.href = data.data; |
| 82 | - } else { | ||
| 83 | - router.push({ path: "/login" }); | ||
| 84 | - if (res.message.includes("不存在")) { | ||
| 85 | - Message({ | ||
| 86 | - message: data.info, | ||
| 87 | - type: "error", | ||
| 88 | - duration: 3 * 1000, | ||
| 89 | - }); | ||
| 90 | - } | ||
| 91 | - } | 78 | + } else { |
| 79 | + Message({ | ||
| 80 | + message: data.info, | ||
| 81 | + type: "error", | ||
| 82 | + duration: 3 * 1000, | ||
| 83 | + }); | ||
| 84 | + router.push({ path: "/login" }); | ||
| 92 | } | 85 | } |
| 86 | + return | ||
| 93 | } | 87 | } |
| 94 | Message.closeAll(); | 88 | Message.closeAll(); |
| 95 | Message({ | 89 | Message({ |
| @@ -109,6 +103,11 @@ service.interceptors.response.use( | @@ -109,6 +103,11 @@ service.interceptors.response.use( | ||
| 109 | } | 103 | } |
| 110 | return; | 104 | return; |
| 111 | } | 105 | } |
| 106 | + Message({ | ||
| 107 | + message: data.info || error, | ||
| 108 | + type: "error", | ||
| 109 | + duration: 3 * 1000, | ||
| 110 | + }); | ||
| 112 | return Promise.reject(error.response); // 返回接口返回的错误信息 | 111 | return Promise.reject(error.response); // 返回接口返回的错误信息 |
| 113 | } | 112 | } |
| 114 | ); | 113 | ); |
src/assets/images/331logo.png
0 → 100644
2.74 KB
src/assets/images/E/photo_cache/98d71c21c679eccd804eab61885fe378713eb851.dat deleted
No preview for this file type
src/router/index.js
| @@ -220,7 +220,7 @@ let addrouters = [ //测试用,后续后端获取 | @@ -220,7 +220,7 @@ let addrouters = [ //测试用,后续后端获取 | ||
| 220 | { | 220 | { |
| 221 | path: "/", | 221 | path: "/", |
| 222 | iconCls: "fa fa-cog", | 222 | iconCls: "fa fa-cog", |
| 223 | - name: '学校设置', | 223 | + name: '学校管理', |
| 224 | component: Layout, | 224 | component: Layout, |
| 225 | children: [ | 225 | children: [ |
| 226 | { | 226 | { |
src/store/index.js
| @@ -36,7 +36,7 @@ const store = new Vuex.Store({ | @@ -36,7 +36,7 @@ const store = new Vuex.Store({ | ||
| 36 | }, | 36 | }, |
| 37 | setInfo(state, data) { | 37 | setInfo(state, data) { |
| 38 | state.info = { ...data }; | 38 | state.info = { ...data }; |
| 39 | - sessionStorage.setItem("info", JSON.stringify(state.info)); | 39 | + sessionStorage.setItem("info", JSON.stringify(data)); |
| 40 | }, | 40 | }, |
| 41 | setRouters: (state, routers) => { | 41 | setRouters: (state, routers) => { |
| 42 | let aRouters = addrouters.filter((item) => { | 42 | let aRouters = addrouters.filter((item) => { |
src/views/analysis/index.vue
| @@ -136,7 +136,7 @@ export default { | @@ -136,7 +136,7 @@ export default { | ||
| 136 | query: { | 136 | query: { |
| 137 | //搜索条件 | 137 | //搜索条件 |
| 138 | regionId: "", | 138 | regionId: "", |
| 139 | - gradeName: "", | 139 | + gradeName: "全部", |
| 140 | startDay: "", | 140 | startDay: "", |
| 141 | endDay: "", | 141 | endDay: "", |
| 142 | day: "", | 142 | day: "", |
| @@ -195,7 +195,7 @@ export default { | @@ -195,7 +195,7 @@ export default { | ||
| 195 | that.query.endDay = formatDate(new Date(), "yyyy-MM-dd"); | 195 | that.query.endDay = formatDate(new Date(), "yyyy-MM-dd"); |
| 196 | break; | 196 | break; |
| 197 | case 4: | 197 | case 4: |
| 198 | - if (aMonth > 1 && aMonth < 4) { | 198 | + if (aMonth > 0 && aMonth < 4) { |
| 199 | aMonth = "01"; | 199 | aMonth = "01"; |
| 200 | } else if (aMonth > 3 && aMonth < 7) { | 200 | } else if (aMonth > 3 && aMonth < 7) { |
| 201 | aMonth = "04"; | 201 | aMonth = "04"; |
| @@ -239,7 +239,11 @@ export default { | @@ -239,7 +239,11 @@ export default { | ||
| 239 | let query = {}; | 239 | let query = {}; |
| 240 | for (let key in this.query) { | 240 | for (let key in this.query) { |
| 241 | if (this.query[key] != "") { | 241 | if (this.query[key] != "") { |
| 242 | - query[key] = this.query[key]; | 242 | + if (key == gradeName) { |
| 243 | + query[key] = this.query[key]=="全部"?"":this.query[key]; | ||
| 244 | + } else { | ||
| 245 | + query[key] = this.query[key]; | ||
| 246 | + } | ||
| 243 | } | 247 | } |
| 244 | } | 248 | } |
| 245 | if (this.role == "ROLE_JITUAN") { | 249 | if (this.role == "ROLE_JITUAN") { |
| @@ -247,7 +251,7 @@ export default { | @@ -247,7 +251,7 @@ export default { | ||
| 247 | } else { | 251 | } else { |
| 248 | delete query.regionId; | 252 | delete query.regionId; |
| 249 | } | 253 | } |
| 250 | - this.tableData=[] | 254 | + this.tableData = []; |
| 251 | const Contrast = | 255 | const Contrast = |
| 252 | this.role != "ROLE_JITUAN" | 256 | this.role != "ROLE_JITUAN" |
| 253 | ? this.$request.usageAnalysis | 257 | ? this.$request.usageAnalysis |
| @@ -354,6 +358,10 @@ export default { | @@ -354,6 +358,10 @@ export default { | ||
| 354 | }; | 358 | }; |
| 355 | return gradeList; | 359 | return gradeList; |
| 356 | }) || []; | 360 | }) || []; |
| 361 | + this.gradeList.unshift({ | ||
| 362 | + value: "", | ||
| 363 | + label: "全部", | ||
| 364 | + }); | ||
| 357 | } else { | 365 | } else { |
| 358 | this.gradeList = | 366 | this.gradeList = |
| 359 | data.list?.map((item) => { | 367 | data.list?.map((item) => { |
src/views/ask/analysis.vue
| @@ -341,7 +341,7 @@ export default { | @@ -341,7 +341,7 @@ export default { | ||
| 341 | if (this.editLoading) return; | 341 | if (this.editLoading) return; |
| 342 | this.editLoading = true; | 342 | this.editLoading = true; |
| 343 | const { data, status, info } = await this.$request.periodQuestionList({ | 343 | const { data, status, info } = await this.$request.periodQuestionList({ |
| 344 | - examId: this.id, | 344 | + periodId: this.id, |
| 345 | }); | 345 | }); |
| 346 | this.editLoading = false; | 346 | this.editLoading = false; |
| 347 | if (status === 0) { | 347 | if (status === 0) { |
src/views/card/index.vue
| @@ -100,17 +100,7 @@ export default { | @@ -100,17 +100,7 @@ export default { | ||
| 100 | studentCode: "", | 100 | studentCode: "", |
| 101 | }, | 101 | }, |
| 102 | gradeList: [], | 102 | gradeList: [], |
| 103 | - tableData: [ | ||
| 104 | - { | ||
| 105 | - sn: 2543641, | ||
| 106 | - className: "xxx", | ||
| 107 | - studentName: "xxxx", | ||
| 108 | - studentId: 563456, | ||
| 109 | - type: "换卡", | ||
| 110 | - desc: "xxxxx", | ||
| 111 | - time: "20:00:00", | ||
| 112 | - }, | ||
| 113 | - ], | 103 | + tableData: [], |
| 114 | }; | 104 | }; |
| 115 | }, | 105 | }, |
| 116 | created() { | 106 | created() { |
src/views/device/index.vue
| @@ -99,7 +99,7 @@ | @@ -99,7 +99,7 @@ | ||
| 99 | </div> | 99 | </div> |
| 100 | <el-table :data="tableData" border style="width: 100%"> | 100 | <el-table :data="tableData" border style="width: 100%"> |
| 101 | <el-table-column | 101 | <el-table-column |
| 102 | - prop="deviceId" | 102 | + prop="sn" |
| 103 | label="设备编码" | 103 | label="设备编码" |
| 104 | align="center" | 104 | align="center" |
| 105 | ></el-table-column> | 105 | ></el-table-column> |
| @@ -126,23 +126,23 @@ | @@ -126,23 +126,23 @@ | ||
| 126 | </template> | 126 | </template> |
| 127 | </el-table-column> | 127 | </el-table-column> |
| 128 | <el-table-column | 128 | <el-table-column |
| 129 | - prop="otaVersionNumber" | 129 | + prop="otaVersionName" |
| 130 | label="固件版本号" | 130 | label="固件版本号" |
| 131 | align="center" | 131 | align="center" |
| 132 | ></el-table-column> | 132 | ></el-table-column> |
| 133 | <el-table-column | 133 | <el-table-column |
| 134 | - prop="latestReportTime" | 134 | + prop="onlineTime" |
| 135 | label="最近上报" | 135 | label="最近上报" |
| 136 | align="center" | 136 | align="center" |
| 137 | ></el-table-column> | 137 | ></el-table-column> |
| 138 | <el-table-column label="状态" align="center" | 138 | <el-table-column label="状态" align="center" |
| 139 | ><template slot-scope="scope"> | 139 | ><template slot-scope="scope"> |
| 140 | {{ | 140 | {{ |
| 141 | - scope.row.status == 1 | 141 | + scope.row.onlineStatus == 1 |
| 142 | ? "在线" | 142 | ? "在线" |
| 143 | - : scope.row.status == 0 | ||
| 144 | - ? "离线" | ||
| 145 | - : "异常" | 143 | + : scope.row.onlineStatus == 2 |
| 144 | + ? "异常" | ||
| 145 | + : "离线" | ||
| 146 | }} | 146 | }} |
| 147 | </template></el-table-column | 147 | </template></el-table-column |
| 148 | > | 148 | > |
| @@ -175,7 +175,7 @@ | @@ -175,7 +175,7 @@ | ||
| 175 | </el-table> | 175 | </el-table> |
| 176 | </div> | 176 | </div> |
| 177 | </div> | 177 | </div> |
| 178 | - <div v-if="type == 2"> | 178 | + <div v-else-if="type == 2"> |
| 179 | <div class="chart-box" v-if="count"> | 179 | <div class="chart-box" v-if="count"> |
| 180 | <div class="device-num"> | 180 | <div class="device-num"> |
| 181 | <p class="p1">{{ count }}</p> | 181 | <p class="p1">{{ count }}</p> |
| @@ -235,15 +235,15 @@ | @@ -235,15 +235,15 @@ | ||
| 235 | </div> | 235 | </div> |
| 236 | <el-table :data="tableData" border style="width: 100%"> | 236 | <el-table :data="tableData" border style="width: 100%"> |
| 237 | <el-table-column | 237 | <el-table-column |
| 238 | - prop="deviceId" | 238 | + prop="sn" |
| 239 | label="设备编码" | 239 | label="设备编码" |
| 240 | align="center" | 240 | align="center" |
| 241 | ></el-table-column> | 241 | ></el-table-column> |
| 242 | <el-table-column label="学生信息" align="center" | 242 | <el-table-column label="学生信息" align="center" |
| 243 | ><template slot-scope="scoped" | 243 | ><template slot-scope="scoped" |
| 244 | ><p | 244 | ><p |
| 245 | - v-for="item in scoped.row.studentList" | ||
| 246 | - :key="item.studentId" | 245 | + v-for="(item, index) in scoped.row.studentList" |
| 246 | + :key="index" | ||
| 247 | > | 247 | > |
| 248 | {{ item.studentName }} | 248 | {{ item.studentName }} |
| 249 | </p></template | 249 | </p></template |
| @@ -256,7 +256,7 @@ | @@ -256,7 +256,7 @@ | ||
| 256 | ></el-table-column> | 256 | ></el-table-column> |
| 257 | <el-table-column prop="class" label="关联班级" align="center"> | 257 | <el-table-column prop="class" label="关联班级" align="center"> |
| 258 | <template slot-scope="scoped"> | 258 | <template slot-scope="scoped"> |
| 259 | - <p v-for="item in scoped.row.classList" :key="item.classId"> | 259 | + <p v-for="(item, index) in scoped.row.classList" :key="index"> |
| 260 | {{ item.className }} | 260 | {{ item.className }} |
| 261 | </p> | 261 | </p> |
| 262 | </template></el-table-column | 262 | </template></el-table-column |
| @@ -291,7 +291,7 @@ | @@ -291,7 +291,7 @@ | ||
| 291 | </el-table> | 291 | </el-table> |
| 292 | </div> | 292 | </div> |
| 293 | </div> | 293 | </div> |
| 294 | - <div v-if="type == 3"> | 294 | + <div v-else-if="type == 3"> |
| 295 | <div class="table-box"> | 295 | <div class="table-box"> |
| 296 | <div class="answer-header"> | 296 | <div class="answer-header"> |
| 297 | <div class="sel-box"> | 297 | <div class="sel-box"> |
| @@ -323,10 +323,10 @@ | @@ -323,10 +323,10 @@ | ||
| 323 | style="width: 100%" | 323 | style="width: 100%" |
| 324 | @selection-change="handleSelectionChange" | 324 | @selection-change="handleSelectionChange" |
| 325 | > | 325 | > |
| 326 | - <el-table-column type="selection" width="55"> </el-table-column> | 326 | + <el-table-column type="selection" width="55"></el-table-column> |
| 327 | <el-table-column prop="class" label="关联班级" align="center" | 327 | <el-table-column prop="class" label="关联班级" align="center" |
| 328 | ><template slot-scope="scoped"> | 328 | ><template slot-scope="scoped"> |
| 329 | - <p v-for="item in scoped.row.classList" :key="item.classId"> | 329 | + <p v-for="(item, index) in scoped.row.classList" :key="index"> |
| 330 | {{ item.className }} | 330 | {{ item.className }} |
| 331 | </p> | 331 | </p> |
| 332 | </template></el-table-column | 332 | </template></el-table-column |
| @@ -354,11 +354,11 @@ | @@ -354,11 +354,11 @@ | ||
| 354 | <el-table-column label="状态" align="center" | 354 | <el-table-column label="状态" align="center" |
| 355 | ><template slot-scope="scope"> | 355 | ><template slot-scope="scope"> |
| 356 | {{ | 356 | {{ |
| 357 | - scope.row.status == 1 | 357 | + scope.row.onlineStatus == 1 |
| 358 | ? "在线" | 358 | ? "在线" |
| 359 | - : scope.row.status == 2 | ||
| 360 | - ? "离线" | ||
| 361 | - : "异常" | 359 | + : scope.row.onlineStatus == 2 |
| 360 | + ? "异常" | ||
| 361 | + : "离线" | ||
| 362 | }} | 362 | }} |
| 363 | </template></el-table-column | 363 | </template></el-table-column |
| 364 | > | 364 | > |
| @@ -398,14 +398,14 @@ | @@ -398,14 +398,14 @@ | ||
| 398 | <el-button @click="diaUp = false">取 消</el-button> | 398 | <el-button @click="diaUp = false">取 消</el-button> |
| 399 | </div> | 399 | </div> |
| 400 | </el-dialog> | 400 | </el-dialog> |
| 401 | - <el-dialog title="添加答题器" :visible.sync="diaAnswerEqu" width="400"> | 401 | + <el-dialog title="修改基站" :visible.sync="diaAnswerEqu" width="400"> |
| 402 | <el-form ref="forms" :model="form" :rules="formRules" label-width="140px"> | 402 | <el-form ref="forms" :model="form" :rules="formRules" label-width="140px"> |
| 403 | - <el-form-item label="设备编码:" prop="number"> | ||
| 404 | - <el-col :span="10" | 403 | + <el-form-item label="设备编码:" prop="deviceId"> |
| 404 | + <el-col :span="16" | ||
| 405 | ><el-input | 405 | ><el-input |
| 406 | type="text" | 406 | type="text" |
| 407 | placeholder="输入设备编码" | 407 | placeholder="输入设备编码" |
| 408 | - v-model.trim="form.number" | 408 | + v-model.trim="form.deviceId" |
| 409 | maxlength="30" | 409 | maxlength="30" |
| 410 | size="45" | 410 | size="45" |
| 411 | show-word-limit | 411 | show-word-limit |
| @@ -414,7 +414,7 @@ | @@ -414,7 +414,7 @@ | ||
| 414 | ></el-col> | 414 | ></el-col> |
| 415 | </el-form-item> | 415 | </el-form-item> |
| 416 | <el-form-item label="频点:" prop="frequency"> | 416 | <el-form-item label="频点:" prop="frequency"> |
| 417 | - <el-col :span="10" | 417 | + <el-col :span="16" |
| 418 | ><el-input | 418 | ><el-input |
| 419 | type="text" | 419 | type="text" |
| 420 | placeholder="输入频点" | 420 | placeholder="输入频点" |
| @@ -427,7 +427,7 @@ | @@ -427,7 +427,7 @@ | ||
| 427 | ></el-col> | 427 | ></el-col> |
| 428 | </el-form-item> | 428 | </el-form-item> |
| 429 | <el-form-item label="配对码:" prop="pairingCode"> | 429 | <el-form-item label="配对码:" prop="pairingCode"> |
| 430 | - <el-col :span="10" | 430 | + <el-col :span="16" |
| 431 | ><el-input | 431 | ><el-input |
| 432 | type="text" | 432 | type="text" |
| 433 | placeholder="输入配对码" | 433 | placeholder="输入配对码" |
| @@ -439,20 +439,20 @@ | @@ -439,20 +439,20 @@ | ||
| 439 | </el-input | 439 | </el-input |
| 440 | ></el-col> | 440 | ></el-col> |
| 441 | </el-form-item> | 441 | </el-form-item> |
| 442 | - <el-form-item label="选择班级:" prop="classId"> | ||
| 443 | - <el-col :span="10"> | 442 | + <el-form-item label="选择班级:" prop="classIds"> |
| 443 | + <el-col :span="16"> | ||
| 444 | <el-cascader | 444 | <el-cascader |
| 445 | - size="small" | 445 | + class="sel" |
| 446 | clearable | 446 | clearable |
| 447 | - v-model="form.classId" | 447 | + v-model="form.classIds" |
| 448 | :options="gradeList" | 448 | :options="gradeList" |
| 449 | - :props="{ expandTrigger: 'hover' }" | 449 | + :props="{ expandTrigger: 'hover',checkStrictly: true }" |
| 450 | :show-all-levels="false" | 450 | :show-all-levels="false" |
| 451 | ></el-cascader> | 451 | ></el-cascader> |
| 452 | </el-col> | 452 | </el-col> |
| 453 | </el-form-item> | 453 | </el-form-item> |
| 454 | <el-form-item label="所在教室:"> | 454 | <el-form-item label="所在教室:"> |
| 455 | - <el-col :span="10" | 455 | + <el-col :span="16" |
| 456 | ><el-input | 456 | ><el-input |
| 457 | type="text" | 457 | type="text" |
| 458 | placeholder="输入所在教室" | 458 | placeholder="输入所在教室" |
| @@ -531,21 +531,21 @@ export default { | @@ -531,21 +531,21 @@ export default { | ||
| 531 | { label: "3月以上", value: 6 }, | 531 | { label: "3月以上", value: 6 }, |
| 532 | ], | 532 | ], |
| 533 | form: { | 533 | form: { |
| 534 | - number: "", | 534 | + deviceId:"", |
| 535 | frequency: "", | 535 | frequency: "", |
| 536 | pairingCode: "", | 536 | pairingCode: "", |
| 537 | - classId: "", | 537 | + classIds: [], |
| 538 | roomName: "", | 538 | roomName: "", |
| 539 | }, | 539 | }, |
| 540 | formRules: { | 540 | formRules: { |
| 541 | - number: [ | 541 | + deviceId: [ |
| 542 | { required: true, message: "请输入设备编码", trigger: "blur" }, | 542 | { required: true, message: "请输入设备编码", trigger: "blur" }, |
| 543 | ], | 543 | ], |
| 544 | frequency: [{ required: true, message: "请输入频点", trigger: "blur" }], | 544 | frequency: [{ required: true, message: "请输入频点", trigger: "blur" }], |
| 545 | pairingCode: [ | 545 | pairingCode: [ |
| 546 | { required: true, message: "请输入配对码", trigger: "blur" }, | 546 | { required: true, message: "请输入配对码", trigger: "blur" }, |
| 547 | ], | 547 | ], |
| 548 | - classId: [{ required: true, message: "请选择班级", trigger: "blur" }], | 548 | + classIds: [{ required: true, message: "请选择班级", trigger: "blur" }], |
| 549 | }, | 549 | }, |
| 550 | tableData: [], | 550 | tableData: [], |
| 551 | total: 0, | 551 | total: 0, |
| @@ -573,7 +573,19 @@ export default { | @@ -573,7 +573,19 @@ export default { | ||
| 573 | } | 573 | } |
| 574 | }, | 574 | }, |
| 575 | methods: { | 575 | methods: { |
| 576 | - edit() {}, | 576 | + edit(obj) { |
| 577 | + for(let key in this.form){ | ||
| 578 | + if(key=="classIds"){ | ||
| 579 | + this.form[key] = obj.classList?.map(item=>{ | ||
| 580 | + return [item.classId] | ||
| 581 | + }) | ||
| 582 | + }else{ | ||
| 583 | + this.form[key] = obj[key] | ||
| 584 | + | ||
| 585 | + } | ||
| 586 | + } | ||
| 587 | + this.diaAnswerEqu=true | ||
| 588 | + }, | ||
| 577 | linkTo(obj, type) { | 589 | linkTo(obj, type) { |
| 578 | this.$router.push({ | 590 | this.$router.push({ |
| 579 | path: "/deviceLog", | 591 | path: "/deviceLog", |
| @@ -700,17 +712,28 @@ export default { | @@ -700,17 +712,28 @@ export default { | ||
| 700 | }, | 712 | }, |
| 701 | 713 | ||
| 702 | // 添加设备 | 714 | // 添加设备 |
| 703 | - async addAnswerEqu() { | ||
| 704 | - if (this.loadingAnswerEqu) return; | ||
| 705 | - this.loadingAnswerEqu = true; | ||
| 706 | - const { data, status, info } = await this.$request.fetchgradeList(); | ||
| 707 | - this.loadingAnswerEqu = false; | ||
| 708 | - console.log(status); | ||
| 709 | - if (status === 0) { | ||
| 710 | - this._QueryData(); | ||
| 711 | - } else { | ||
| 712 | - this.$message.error(info); | ||
| 713 | - } | 715 | + addAnswerEqu() { |
| 716 | + this.$refs.forms.validate(async (valid) => { | ||
| 717 | + if (valid) { | ||
| 718 | + if (this.loadingAnswerEqu) return; | ||
| 719 | + this.loadingAnswerEqu = true; | ||
| 720 | + let query = {...this.form} | ||
| 721 | + query.classIds = query.classIds.map(item=>{ | ||
| 722 | + return item[1] | ||
| 723 | + }) | ||
| 724 | + const { data, status, info } = await this.$request.updateDevice({...query}); | ||
| 725 | + this.loadingAnswerEqu = false; | ||
| 726 | + console.log(status); | ||
| 727 | + if (status === 0) { | ||
| 728 | + this.diaAnswerEqu=false | ||
| 729 | + this._QueryData(); | ||
| 730 | + } else { | ||
| 731 | + this.$message.error(info); | ||
| 732 | + } | ||
| 733 | + } else { | ||
| 734 | + this.$message.warning("数据有误,请检查!"); | ||
| 735 | + } | ||
| 736 | + }); | ||
| 714 | }, | 737 | }, |
| 715 | // 查找班级 | 738 | // 查找班级 |
| 716 | async _QueryGradeList() { | 739 | async _QueryGradeList() { |
| @@ -883,6 +906,7 @@ export default { | @@ -883,6 +906,7 @@ export default { | ||
| 883 | this.role != "ROLE_JITUAN" | 906 | this.role != "ROLE_JITUAN" |
| 884 | ? this.$request.deviceList | 907 | ? this.$request.deviceList |
| 885 | : this.$request.tenantDeviceList; | 908 | : this.$request.tenantDeviceList; |
| 909 | + this.tableData = []; | ||
| 886 | const { data, status, info } = await deviceList({ | 910 | const { data, status, info } = await deviceList({ |
| 887 | ...query, | 911 | ...query, |
| 888 | deviceType: this.type, | 912 | deviceType: this.type, |
| @@ -912,6 +936,9 @@ export default { | @@ -912,6 +936,9 @@ export default { | ||
| 912 | .tab-box { | 936 | .tab-box { |
| 913 | margin-bottom: 12px; | 937 | margin-bottom: 12px; |
| 914 | } | 938 | } |
| 939 | +.sel{ | ||
| 940 | + width:100%; | ||
| 941 | +} | ||
| 915 | .content { | 942 | .content { |
| 916 | background: #f8f8f8; | 943 | background: #f8f8f8; |
| 917 | border: 1px solid #e2e2e2; | 944 | border: 1px solid #e2e2e2; |
src/views/device/log.vue
| @@ -203,7 +203,7 @@ export default { | @@ -203,7 +203,7 @@ export default { | ||
| 203 | that.query.endDay = formatDate(new Date(), "yyyy-MM-dd"); | 203 | that.query.endDay = formatDate(new Date(), "yyyy-MM-dd"); |
| 204 | break; | 204 | break; |
| 205 | case 4: | 205 | case 4: |
| 206 | - if (aMonth > 1 && aMonth < 4) { | 206 | + if (aMonth > 0 && aMonth < 4) { |
| 207 | aMonth = "01"; | 207 | aMonth = "01"; |
| 208 | } else if (aMonth > 3 && aMonth < 7) { | 208 | } else if (aMonth > 3 && aMonth < 7) { |
| 209 | aMonth = "04"; | 209 | aMonth = "04"; |
src/views/layout/aside/aside.vue
| @@ -2,15 +2,12 @@ | @@ -2,15 +2,12 @@ | ||
| 2 | <div class="aside-box"> | 2 | <div class="aside-box"> |
| 3 | <el-aside id="asideNav"> | 3 | <el-aside id="asideNav"> |
| 4 | <div class="logo-name"> | 4 | <div class="logo-name"> |
| 5 | - <img | ||
| 6 | - v-if="$store.getters.logoShow" | ||
| 7 | - class="logo" | ||
| 8 | - src="../../../assets/images/logo.png" | ||
| 9 | - alt="" | ||
| 10 | - /> | 5 | + <img v-if="$store.getters.logoShow" class="logo" :src="code?csLogo:logo" alt="" /> |
| 11 | <template v-else> | 6 | <template v-else> |
| 12 | - <img class="logo" src="../../../assets/images/logo.png" alt="" /> | ||
| 13 | - <p class="ellipsis">中天易教中天易教中天易教</p> | 7 | + <img class="logo" :src="code?csLogo:logo" alt="" /> |
| 8 | + <p class="ellipsis"> | ||
| 9 | + {{ code ? "331互动课堂云平台" : "中天易教云平台" }} | ||
| 10 | + </p> | ||
| 14 | </template> | 11 | </template> |
| 15 | </div> | 12 | </div> |
| 16 | <el-menu | 13 | <el-menu |
| @@ -39,7 +36,12 @@ | @@ -39,7 +36,12 @@ | ||
| 39 | 36 | ||
| 40 | <menu-tree :menuData="item.children"></menu-tree> | 37 | <menu-tree :menuData="item.children"></menu-tree> |
| 41 | </el-submenu> | 38 | </el-submenu> |
| 42 | - <el-menu-item :index="item.path" v-else :key="item.path" :class="path.includes(item.path)?'is-active':''"> | 39 | + <el-menu-item |
| 40 | + :index="item.path" | ||
| 41 | + v-else | ||
| 42 | + :key="item.path" | ||
| 43 | + :class="path.includes(item.path) ? 'is-active' : ''" | ||
| 44 | + > | ||
| 43 | <i :class="item.iconCls ? item.iconCls : [fa, fa - file]" /> | 45 | <i :class="item.iconCls ? item.iconCls : [fa, fa - file]" /> |
| 44 | <span slot="title">{{ item.name }}</span> | 46 | <span slot="title">{{ item.name }}</span> |
| 45 | </el-menu-item> | 47 | </el-menu-item> |
| @@ -52,7 +54,9 @@ | @@ -52,7 +54,9 @@ | ||
| 52 | 54 | ||
| 53 | <script> | 55 | <script> |
| 54 | import menuTree from "./menuTree"; | 56 | import menuTree from "./menuTree"; |
| 55 | - | 57 | +import { getURLParams } from "@/utils"; |
| 58 | +const logo = require('../../../assets/images/logo.png') | ||
| 59 | +const csLogo = require('../../../assets/images/331logo.png') | ||
| 56 | export default { | 60 | export default { |
| 57 | name: "asideNav", | 61 | name: "asideNav", |
| 58 | components: { | 62 | components: { |
| @@ -62,16 +66,20 @@ export default { | @@ -62,16 +66,20 @@ export default { | ||
| 62 | // 监听浏览器直接输入路由,将此路由添加到tabnavBox | 66 | // 监听浏览器直接输入路由,将此路由添加到tabnavBox |
| 63 | "$route.path": function (val) { | 67 | "$route.path": function (val) { |
| 64 | // this.selectmenu(val); | 68 | // this.selectmenu(val); |
| 65 | - this.path = val | 69 | + this.path = val; |
| 66 | }, | 70 | }, |
| 67 | }, | 71 | }, |
| 68 | - data(){ | 72 | + data() { |
| 69 | return { | 73 | return { |
| 70 | - path:"" | ||
| 71 | - } | 74 | + path: "", |
| 75 | + code: "", | ||
| 76 | + logo:logo, | ||
| 77 | + csLogo:csLogo, | ||
| 78 | + }; | ||
| 72 | }, | 79 | }, |
| 73 | - created(){ | ||
| 74 | - this.path = this.$route.path | 80 | + created() { |
| 81 | + this.code = getURLParams("code") || localStorage.getItem("csCode") || ""; | ||
| 82 | + this.path = this.$route.path; | ||
| 75 | }, | 83 | }, |
| 76 | methods: { | 84 | methods: { |
| 77 | selectmenu(key, indexpath) { | 85 | selectmenu(key, indexpath) { |
| @@ -125,8 +133,8 @@ $right: right; | @@ -125,8 +133,8 @@ $right: right; | ||
| 125 | #{$side}-#{$prop}: $value; | 133 | #{$side}-#{$prop}: $value; |
| 126 | } | 134 | } |
| 127 | } | 135 | } |
| 128 | -.aside-box{ | ||
| 129 | - max-width:200px; | 136 | +.aside-box { |
| 137 | + max-width: 200px; | ||
| 130 | } | 138 | } |
| 131 | #asideNav { | 139 | #asideNav { |
| 132 | width: auto !important; | 140 | width: auto !important; |
| @@ -192,7 +200,7 @@ $right: right; | @@ -192,7 +200,7 @@ $right: right; | ||
| 192 | } | 200 | } |
| 193 | } | 201 | } |
| 194 | } | 202 | } |
| 195 | -:deep(.is-active){ | ||
| 196 | - color:#fff | 203 | +:deep(.is-active) { |
| 204 | + color: #fff; | ||
| 197 | } | 205 | } |
| 198 | </style> | 206 | </style> |
src/views/layout/layout.vue
| @@ -38,7 +38,7 @@ export default { | @@ -38,7 +38,7 @@ export default { | ||
| 38 | }; | 38 | }; |
| 39 | }, | 39 | }, |
| 40 | created() { | 40 | created() { |
| 41 | - this.initRouter(); | 41 | + // this.initRouter(); |
| 42 | }, | 42 | }, |
| 43 | methods: { | 43 | methods: { |
| 44 | initRouter() { | 44 | initRouter() { |
| @@ -55,46 +55,7 @@ export default { | @@ -55,46 +55,7 @@ export default { | ||
| 55 | code: this.code, | 55 | code: this.code, |
| 56 | }; | 56 | }; |
| 57 | } | 57 | } |
| 58 | - // const { data = {}, message, code } = await loginCheck(params); | ||
| 59 | - // if (code === 0) { | ||
| 60 | - // if (data) { | ||
| 61 | - const userInfo = { | ||
| 62 | - permissions: [ | ||
| 63 | - { | ||
| 64 | - role: "superAdmin", | ||
| 65 | - roleName: "超级管理员", | ||
| 66 | - }, | ||
| 67 | - ], | ||
| 68 | - name: "李老师", | ||
| 69 | - // avatar: data.avatar ? data.avatar : "", | ||
| 70 | - // uid: data.id, | ||
| 71 | - authorityRouter: [ | ||
| 72 | - "examinationPaper", | ||
| 73 | - "examinationPaperAdd", | ||
| 74 | - "examinationPaperEdit", | ||
| 75 | - "examinationPaperRecycle", | ||
| 76 | - "ask", | ||
| 77 | - "askAnalysis", | ||
| 78 | - "test", | ||
| 79 | - "testAnalysis", | ||
| 80 | - ], | ||
| 81 | - }; | ||
| 82 | - await this.$store.commit("setInfo", { ...userInfo }); | ||
| 83 | - await this.$store.commit("setRouters", userInfo.authorityRouter); | ||
| 84 | - let newAddRouters = this.$store.getters.addRouters; | ||
| 85 | - newAddRouters.forEach((res) => { | ||
| 86 | - this.$router.addRoute(res); | ||
| 87 | - }); | ||
| 88 | - this.$router.addRoute({ | ||
| 89 | - path: "*", | ||
| 90 | - redirect: "/404", | ||
| 91 | - hidden: true, | ||
| 92 | - children: [], | ||
| 93 | - }); | ||
| 94 | - // } | ||
| 95 | - // } else { | ||
| 96 | - // this.$message.error(message); | ||
| 97 | - // } | 58 | + this.$store.dispatch("CSLogin", this.code); |
| 98 | }, | 59 | }, |
| 99 | }, | 60 | }, |
| 100 | }; | 61 | }; |
src/views/login/index.vue
| 1 | -<template> | ||
| 2 | - <div class="login-container"> | 1 | +// <template> |
| 2 | + <div class="login-container" v-loading="loading" element-loading-text="努力加载中..."> | ||
| 3 | <el-form | 3 | <el-form |
| 4 | + v-if="!code && !dockkey" | ||
| 4 | ref="loginForm" | 5 | ref="loginForm" |
| 5 | :model="loginForm" | 6 | :model="loginForm" |
| 6 | :rules="loginRules" | 7 | :rules="loginRules" |
| @@ -88,22 +89,26 @@ import { getURLParams } from "@/utils"; | @@ -88,22 +89,26 @@ import { getURLParams } from "@/utils"; | ||
| 88 | export default { | 89 | export default { |
| 89 | data() { | 90 | data() { |
| 90 | return { | 91 | return { |
| 92 | + loading:false, | ||
| 91 | disableClick: true, | 93 | disableClick: true, |
| 92 | passwordType: "password", | 94 | passwordType: "password", |
| 93 | loginForm: { | 95 | loginForm: { |
| 94 | // username: "15911715665", | 96 | // username: "15911715665", |
| 95 | // password: "Csiy88888", | 97 | // password: "Csiy88888", |
| 96 | - // username: "13610050254", | ||
| 97 | - // password: "Pw050254#", | 98 | + username: "13610050254", |
| 99 | + password: "Pw050254#", | ||
| 98 | // username: "18332123505", | 100 | // username: "18332123505", |
| 99 | // password: "Pw123505#", | 101 | // password: "Pw123505#", |
| 102 | + // username: "18687826606", | ||
| 103 | + // password: "Pw826606#", | ||
| 100 | // username: "18946034886", | 104 | // username: "18946034886", |
| 101 | // password: "Pw034886#", | 105 | // password: "Pw034886#", |
| 102 | // username: "18893712576", | 106 | // username: "18893712576", |
| 103 | // password: "Pw712576#", | 107 | // password: "Pw712576#", |
| 104 | - username: "13247726488", | ||
| 105 | - password: "726488", | ||
| 106 | - | 108 | + // username: "13247726488", |
| 109 | + // password: "726488", | ||
| 110 | + // username: "13319607658", | ||
| 111 | + // password: "Pw607658#", | ||
| 107 | }, | 112 | }, |
| 108 | loginRules: { | 113 | loginRules: { |
| 109 | username: [ | 114 | username: [ |
| @@ -123,7 +128,8 @@ export default { | @@ -123,7 +128,8 @@ export default { | ||
| 123 | this.code = getURLParams("code") || localStorage.getItem("csCode") || ""; | 128 | this.code = getURLParams("code") || localStorage.getItem("csCode") || ""; |
| 124 | this.dockkey = getURLParams("dockkey") || ""; | 129 | this.dockkey = getURLParams("dockkey") || ""; |
| 125 | if (this.code || this.dockkey) { | 130 | if (this.code || this.dockkey) { |
| 126 | - this._LoginCheck(); | 131 | + this.loading = true |
| 132 | + // this._LoginCheck(); | ||
| 127 | } | 133 | } |
| 128 | }, | 134 | }, |
| 129 | methods: { | 135 | methods: { |
| @@ -188,7 +194,7 @@ $cursor: #000; | @@ -188,7 +194,7 @@ $cursor: #000; | ||
| 188 | border-radius: 0px; | 194 | border-radius: 0px; |
| 189 | font-size: 16px; | 195 | font-size: 16px; |
| 190 | color: $light_gray; | 196 | color: $light_gray; |
| 191 | - height:48px; | 197 | + height: 48px; |
| 192 | line-height: 48px; | 198 | line-height: 48px; |
| 193 | caret-color: $cursor; | 199 | caret-color: $cursor; |
| 194 | &:-webkit-autofill { | 200 | &:-webkit-autofill { |
src/views/setUp/conglomerate.vue
| @@ -190,7 +190,7 @@ | @@ -190,7 +190,7 @@ | ||
| 190 | </el-option> | 190 | </el-option> |
| 191 | </el-select> | 191 | </el-select> |
| 192 | </el-form-item> | 192 | </el-form-item> |
| 193 | - <el-form-item label="学段:"> | 193 | + <el-form-item label="学段:" prop="sections"> |
| 194 | <el-checkbox-group v-model="formSchool.sections"> | 194 | <el-checkbox-group v-model="formSchool.sections"> |
| 195 | <el-checkbox :label="1">小学</el-checkbox> | 195 | <el-checkbox :label="1">小学</el-checkbox> |
| 196 | <el-checkbox :label="2">初中</el-checkbox> | 196 | <el-checkbox :label="2">初中</el-checkbox> |
| @@ -446,7 +446,7 @@ export default { | @@ -446,7 +446,7 @@ export default { | ||
| 446 | this.$message.error(info); | 446 | this.$message.error(info); |
| 447 | } | 447 | } |
| 448 | } else { | 448 | } else { |
| 449 | - this.$message.error("学校名称数据有误,请检查!"); | 449 | + this.$message.error("数据有误,请检查!"); |
| 450 | return false; | 450 | return false; |
| 451 | } | 451 | } |
| 452 | }); | 452 | }); |
src/views/setUp/student.vue
| @@ -422,7 +422,6 @@ export default { | @@ -422,7 +422,6 @@ export default { | ||
| 422 | max-height: 80vh; | 422 | max-height: 80vh; |
| 423 | .h-title { | 423 | .h-title { |
| 424 | height: 40px; | 424 | height: 40px; |
| 425 | - overflow-y: scroll; | ||
| 426 | line-height: 40px; | 425 | line-height: 40px; |
| 427 | background: #eee; | 426 | background: #eee; |
| 428 | } | 427 | } |
| @@ -451,6 +450,7 @@ export default { | @@ -451,6 +450,7 @@ export default { | ||
| 451 | } | 450 | } |
| 452 | &.active { | 451 | &.active { |
| 453 | color: #667ffd; | 452 | color: #667ffd; |
| 453 | + background: #eee; | ||
| 454 | } | 454 | } |
| 455 | } | 455 | } |
| 456 | .sel { | 456 | .sel { |