Commit 1b9bae95933d739ae3eb46228383f6cd442bce3f
1 parent
b21d90ef
级联选择器调整,日志接口调整
Showing
8 changed files
with
263 additions
and
102 deletions
src/api/apis/apis.js
| @@ -186,6 +186,22 @@ export default { | @@ -186,6 +186,22 @@ export default { | ||
| 186 | data, | 186 | data, |
| 187 | }); | 187 | }); |
| 188 | }, | 188 | }, |
| 189 | + // 查询设备详情 | ||
| 190 | + deviceDetail(data) { | ||
| 191 | + return service({ | ||
| 192 | + url: setUpUrls.deviceDetail, | ||
| 193 | + method: "POST", | ||
| 194 | + data, | ||
| 195 | + }); | ||
| 196 | + }, | ||
| 197 | + // 分页查询设备日志列表 | ||
| 198 | + deviceLogList(data) { | ||
| 199 | + return service({ | ||
| 200 | + url: setUpUrls.deviceLogList, | ||
| 201 | + method: "POST", | ||
| 202 | + data, | ||
| 203 | + }); | ||
| 204 | + }, | ||
| 189 | // 修改设备自动升级状态 | 205 | // 修改设备自动升级状态 |
| 190 | modifyUpgradeFlag(data) { | 206 | modifyUpgradeFlag(data) { |
| 191 | return service({ | 207 | return service({ |
src/api/urls/apis.js
| @@ -46,6 +46,10 @@ export default { | @@ -46,6 +46,10 @@ export default { | ||
| 46 | keyboardReport: "/api_html/school/manager/keyboardReport", | 46 | keyboardReport: "/api_html/school/manager/keyboardReport", |
| 47 | // 分页查询设备列表 | 47 | // 分页查询设备列表 |
| 48 | deviceList: "/api_html/school/manager/deviceList", | 48 | deviceList: "/api_html/school/manager/deviceList", |
| 49 | + // 查询设备详情 | ||
| 50 | + deviceDetail: "/api_html/school/manager/deviceDetail", | ||
| 51 | + // 分页查询设备日志列表 | ||
| 52 | + deviceLogList: "/api_html/school/manager/deviceLogList", | ||
| 49 | // 修改设备自动升级状态 | 53 | // 修改设备自动升级状态 |
| 50 | modifyUpgradeFlag: "/api_html/school/manager/modifyUpgradeFlag", | 54 | modifyUpgradeFlag: "/api_html/school/manager/modifyUpgradeFlag", |
| 51 | // 修改基站信息 | 55 | // 修改基站信息 |
src/main.js
| @@ -28,6 +28,13 @@ Vue.use(permission) | @@ -28,6 +28,13 @@ Vue.use(permission) | ||
| 28 | NProgress.inc(0.2) | 28 | NProgress.inc(0.2) |
| 29 | NProgress.configure({ easing: "ease", speed: 500, showSpinner: false }) | 29 | NProgress.configure({ easing: "ease", speed: 500, showSpinner: false }) |
| 30 | 30 | ||
| 31 | + | ||
| 32 | +Array.prototype.remove = function (val) { | ||
| 33 | + var index = this.indexOf(val); | ||
| 34 | + if (index > -1) { | ||
| 35 | + this.splice(index, 1); | ||
| 36 | + } | ||
| 37 | +}; | ||
| 31 | /* eslint-disable no-new */ | 38 | /* eslint-disable no-new */ |
| 32 | new Vue({ | 39 | new Vue({ |
| 33 | el: "#app", | 40 | el: "#app", |
src/views/analysis/index.vue
| @@ -10,8 +10,8 @@ | @@ -10,8 +10,8 @@ | ||
| 10 | <div class="sel-box"> | 10 | <div class="sel-box"> |
| 11 | <el-select | 11 | <el-select |
| 12 | class="sel" | 12 | class="sel" |
| 13 | - v-model="query.gradeName" | ||
| 14 | - placeholder="选择年级" | 13 | + v-model="query.regionId" |
| 14 | + placeholder="选择区域" | ||
| 15 | @change="_QueryData" | 15 | @change="_QueryData" |
| 16 | > | 16 | > |
| 17 | <el-option | 17 | <el-option |
| @@ -71,22 +71,22 @@ | @@ -71,22 +71,22 @@ | ||
| 71 | style="width: 100%" | 71 | style="width: 100%" |
| 72 | show-summary | 72 | show-summary |
| 73 | > | 73 | > |
| 74 | - <el-table-column align="center" label="科目" prop="sub"> | 74 | + <el-table-column align="center" label="科目" prop="subjectName"> |
| 75 | </el-table-column> | 75 | </el-table-column> |
| 76 | <el-table-column | 76 | <el-table-column |
| 77 | align="center" | 77 | align="center" |
| 78 | v-for="(item, index) in dataList" | 78 | v-for="(item, index) in dataList" |
| 79 | :key="index" | 79 | :key="index" |
| 80 | - :label="item.name" | 80 | + :label="item.schoolName" |
| 81 | > | 81 | > |
| 82 | <template> | 82 | <template> |
| 83 | <el-table-column | 83 | <el-table-column |
| 84 | - :prop="'keshi' + index" | 84 | + :prop="'periodCount' + index" |
| 85 | label="课时数" | 85 | label="课时数" |
| 86 | align="center" | 86 | align="center" |
| 87 | ></el-table-column> | 87 | ></el-table-column> |
| 88 | <el-table-column | 88 | <el-table-column |
| 89 | - :prop="'celian' + index" | 89 | + :prop="'examCount' + index" |
| 90 | label="测练数" | 90 | label="测练数" |
| 91 | align="center" | 91 | align="center" |
| 92 | ></el-table-column> | 92 | ></el-table-column> |
| @@ -113,41 +113,14 @@ export default { | @@ -113,41 +113,14 @@ export default { | ||
| 113 | type: 1, //集团管理员 表格切换 | 113 | type: 1, //集团管理员 表格切换 |
| 114 | query: { | 114 | query: { |
| 115 | //搜索条件 | 115 | //搜索条件 |
| 116 | - gradeName: "", | 116 | + regionId: "", |
| 117 | startDay: "", | 117 | startDay: "", |
| 118 | endDay: "", | 118 | endDay: "", |
| 119 | day: "", | 119 | day: "", |
| 120 | }, | 120 | }, |
| 121 | gradeList: [], | 121 | gradeList: [], |
| 122 | - tableData: [ | ||
| 123 | - { | ||
| 124 | - sub: "科目一", | ||
| 125 | - keshi0: 1, | ||
| 126 | - celian0: 1, | ||
| 127 | - keshi1: 2, | ||
| 128 | - celian1: 2, | ||
| 129 | - }, | ||
| 130 | - { | ||
| 131 | - sub: "科目一", | ||
| 132 | - keshi0: 3, | ||
| 133 | - celian0: 4, | ||
| 134 | - keshi1: 5, | ||
| 135 | - celian1: 6, | ||
| 136 | - }, | ||
| 137 | - ], | ||
| 138 | - dataList: [ | ||
| 139 | - //table循环用数据 | ||
| 140 | - { | ||
| 141 | - name: "初一", | ||
| 142 | - keshi: 1, | ||
| 143 | - celian: 1, | ||
| 144 | - }, | ||
| 145 | - { | ||
| 146 | - name: "初二", | ||
| 147 | - keshi: 2, | ||
| 148 | - celian: 2, | ||
| 149 | - }, | ||
| 150 | - ], | 122 | + tableData: [], |
| 123 | + dataList: [], | ||
| 151 | }; | 124 | }; |
| 152 | }, | 125 | }, |
| 153 | created() { | 126 | created() { |
| @@ -155,7 +128,7 @@ export default { | @@ -155,7 +128,7 @@ export default { | ||
| 155 | (item) => item.roleName == this.$store.getters.info.showRoleName | 128 | (item) => item.roleName == this.$store.getters.info.showRoleName |
| 156 | )?.role; | 129 | )?.role; |
| 157 | this._QueryGradeList(); | 130 | this._QueryGradeList(); |
| 158 | - // this.setDate(1); | 131 | + this.setDate(1); |
| 159 | let startDay = this.query?.startDay; | 132 | let startDay = this.query?.startDay; |
| 160 | if (!startDay) { | 133 | if (!startDay) { |
| 161 | this.query.startDay = new Date(); | 134 | this.query.startDay = new Date(); |
| @@ -164,10 +137,10 @@ export default { | @@ -164,10 +137,10 @@ export default { | ||
| 164 | }, | 137 | }, |
| 165 | methods: { | 138 | methods: { |
| 166 | changeType(val) { | 139 | changeType(val) { |
| 167 | - if(val==1){ | ||
| 168 | - this.query.gradeName = "" | 140 | + if (val == 1) { |
| 141 | + this.query.regionId = ""; | ||
| 169 | } | 142 | } |
| 170 | - this._QueryData(val) | 143 | + this._QueryData(val); |
| 171 | }, | 144 | }, |
| 172 | setDate(index) { | 145 | setDate(index) { |
| 173 | const that = this; | 146 | const that = this; |
| @@ -247,7 +220,7 @@ export default { | @@ -247,7 +220,7 @@ export default { | ||
| 247 | } | 220 | } |
| 248 | } | 221 | } |
| 249 | if (this.role == "ROLE_JITUAN") { | 222 | if (this.role == "ROLE_JITUAN") { |
| 250 | - if (this.query.gradeName == "") { | 223 | + if (this.query.regionId == "") { |
| 251 | this.type = 1; | 224 | this.type = 1; |
| 252 | } else { | 225 | } else { |
| 253 | this.type = 2; | 226 | this.type = 2; |
| @@ -264,7 +237,18 @@ export default { | @@ -264,7 +237,18 @@ export default { | ||
| 264 | }); | 237 | }); |
| 265 | this.loading = false; | 238 | this.loading = false; |
| 266 | if (status === 0) { | 239 | if (status === 0) { |
| 267 | - this.tableData = [...data.list] || []; | 240 | + this.tableData = data.map((item)=>{ |
| 241 | + let params={} | ||
| 242 | + item.dataList.map((items,index)=>{ | ||
| 243 | + params['examCount'+index] = items.examCount | ||
| 244 | + params['periodCount'+index] = items.periodCount | ||
| 245 | + }) | ||
| 246 | + return { | ||
| 247 | + subjectName:item.subjectName, | ||
| 248 | + ...params, | ||
| 249 | + } | ||
| 250 | + }); | ||
| 251 | + this.dataList = data[0]?.dataList | ||
| 268 | } else { | 252 | } else { |
| 269 | this.$message.error(info); | 253 | this.$message.error(info); |
| 270 | } | 254 | } |
src/views/device/index.vue
| @@ -90,10 +90,7 @@ | @@ -90,10 +90,7 @@ | ||
| 90 | @click="_QueryData(true)" | 90 | @click="_QueryData(true)" |
| 91 | ></el-button> | 91 | ></el-button> |
| 92 | </el-input> | 92 | </el-input> |
| 93 | - <el-button | ||
| 94 | - class="serach-box" | ||
| 95 | - round | ||
| 96 | - @click="_QueryData(true)" | 93 | + <el-button class="serach-box" round @click="_QueryData(true)" |
| 97 | >筛选</el-button | 94 | >筛选</el-button |
| 98 | > | 95 | > |
| 99 | </div> | 96 | </div> |
| @@ -225,12 +222,9 @@ | @@ -225,12 +222,9 @@ | ||
| 225 | @click="_QueryData(true)" | 222 | @click="_QueryData(true)" |
| 226 | ></el-button> | 223 | ></el-button> |
| 227 | </el-input> | 224 | </el-input> |
| 228 | - <el-button | ||
| 229 | - class="serach-box" | ||
| 230 | - round | ||
| 231 | - @click="_QueryData(true)" | 225 | + <el-button class="serach-box" round @click="_QueryData(true)" |
| 232 | >筛选</el-button | 226 | >筛选</el-button |
| 233 | - >ƒ | 227 | + > |
| 234 | </div> | 228 | </div> |
| 235 | </div> | 229 | </div> |
| 236 | <el-table :data="tableData" border style="width: 100%"> | 230 | <el-table :data="tableData" border style="width: 100%"> |
| @@ -505,7 +499,7 @@ export default { | @@ -505,7 +499,7 @@ export default { | ||
| 505 | diaAnswerEqu: false, | 499 | diaAnswerEqu: false, |
| 506 | gradeList: [], | 500 | gradeList: [], |
| 507 | gradeListAll: [], | 501 | gradeListAll: [], |
| 508 | - props: { multiple: true, checkStrictly: false }, | 502 | + props: { multiple: true, checkStrictly: true }, |
| 509 | type: 1, | 503 | type: 1, |
| 510 | query: { | 504 | query: { |
| 511 | classId: [], | 505 | classId: [], |
| @@ -693,20 +687,19 @@ export default { | @@ -693,20 +687,19 @@ export default { | ||
| 693 | ? this.$request.gradeList | 687 | ? this.$request.gradeList |
| 694 | : this.$request.regionList; | 688 | : this.$request.regionList; |
| 695 | const { data, status, info } = await gradeList(); | 689 | const { data, status, info } = await gradeList(); |
| 696 | - console.log(status); | ||
| 697 | if (status === 0) { | 690 | if (status === 0) { |
| 698 | if (!!data.list) { | 691 | if (!!data.list) { |
| 699 | if (this.role != "ROLE_JITUAN") { | 692 | if (this.role != "ROLE_JITUAN") { |
| 700 | this.gradeList = | 693 | this.gradeList = |
| 701 | data.list?.map((item) => { | 694 | data.list?.map((item) => { |
| 702 | let gradeList = { | 695 | let gradeList = { |
| 703 | - value: item.grade, | 696 | + value: item.gradeName, |
| 704 | label: item.gradeName, | 697 | label: item.gradeName, |
| 705 | }; | 698 | }; |
| 706 | gradeList.children = | 699 | gradeList.children = |
| 707 | item.classList?.map((items) => { | 700 | item.classList?.map((items) => { |
| 708 | return { | 701 | return { |
| 709 | - value: items.classCode, | 702 | + value: Number(items.classCode), |
| 710 | label: items.className, | 703 | label: items.className, |
| 711 | }; | 704 | }; |
| 712 | }) || []; | 705 | }) || []; |
| @@ -792,23 +785,11 @@ export default { | @@ -792,23 +785,11 @@ export default { | ||
| 792 | this.$message.error(info); | 785 | this.$message.error(info); |
| 793 | } | 786 | } |
| 794 | }, | 787 | }, |
| 795 | - // 设备列表信息 | ||
| 796 | - async _QueryData(isRef) { | ||
| 797 | - this.loading = true; | ||
| 798 | - let query = {}; | ||
| 799 | - let gradeNames = []; | ||
| 800 | - let classIds = []; | ||
| 801 | - this.query.classId.map((item) => { | ||
| 802 | - if (!gradeNames.includes(item[0])) { | ||
| 803 | - gradeNames.push(item[0]); | ||
| 804 | - } | ||
| 805 | - classIds.push(item[1]); | ||
| 806 | - }); | 788 | + setQuery(){//整理传参 |
| 789 | + let query = {} | ||
| 807 | if (this.query.sn) { | 790 | if (this.query.sn) { |
| 808 | query.sn = this.query.sn; | 791 | query.sn = this.query.sn; |
| 809 | } else { | 792 | } else { |
| 810 | - gradeNames.length ? (query.gradeNames = gradeNames) : ""; | ||
| 811 | - classIds.length ? (query.classIds = classIds) : ""; | ||
| 812 | if (this.type == 1) { | 793 | if (this.type == 1) { |
| 813 | this.query.onlineStatus !== "" | 794 | this.query.onlineStatus !== "" |
| 814 | ? (query.onlineStatus = this.query.onlineStatus) | 795 | ? (query.onlineStatus = this.query.onlineStatus) |
| @@ -816,9 +797,51 @@ export default { | @@ -816,9 +797,51 @@ export default { | ||
| 816 | } else if (this.type == 2) { | 797 | } else if (this.type == 2) { |
| 817 | this.query.type !== "" ? (query.type = this.query.type) : ""; | 798 | this.query.type !== "" ? (query.type = this.query.type) : ""; |
| 818 | } | 799 | } |
| 800 | + if (this.role == "ROLE_JITUAN") { | ||
| 801 | + query.regionIds = []; | ||
| 802 | + query.schoolIds = []; | ||
| 803 | + this.query.classId?.map((item) => { | ||
| 804 | + if (item.length == 1) { | ||
| 805 | + if(!query.regionIds.includes(item[0])){ | ||
| 806 | + query.regionIds.push(item[0]); | ||
| 807 | + } | ||
| 808 | + } else { | ||
| 809 | + if (!query.schoolIds.includes(item[1])) { | ||
| 810 | + query.schoolIds.push(item[1]); | ||
| 811 | + } | ||
| 812 | + if (query.regionIds.includes(item[0])) { | ||
| 813 | + query.regionIds.remove(item[0]); | ||
| 814 | + } | ||
| 815 | + } | ||
| 816 | + }); | ||
| 817 | + } else { | ||
| 818 | + query.gradeNames = []; | ||
| 819 | + query.classIds = []; | ||
| 820 | + this.query.classId?.map((item) => { | ||
| 821 | + if (item.length == 1) { | ||
| 822 | + if(!query.gradeNames.includes(item[0])){ | ||
| 823 | + query.gradeNames.push(item[0]); | ||
| 824 | + } | ||
| 825 | + } else { | ||
| 826 | + if (!query.classIds.includes(item[1])) { | ||
| 827 | + query.classIds.push(item[1]); | ||
| 828 | + } | ||
| 829 | + if (query.gradeNames.includes(item[0])) { | ||
| 830 | + query.gradeNames.remove(item[0]); | ||
| 831 | + } | ||
| 832 | + } | ||
| 833 | + }); | ||
| 834 | + } | ||
| 835 | + delete query.classId; | ||
| 819 | } | 836 | } |
| 820 | - if(isRef){ | ||
| 821 | - this.page= 1 | 837 | + return query |
| 838 | + }, | ||
| 839 | + // 设备列表信息 | ||
| 840 | + async _QueryData(isRef) { | ||
| 841 | + this.loading = true; | ||
| 842 | + let query = this.setQuery() | ||
| 843 | + if (isRef) { | ||
| 844 | + this.page = 1; | ||
| 822 | } | 845 | } |
| 823 | this.loading = true; | 846 | this.loading = true; |
| 824 | const deviceList = | 847 | const deviceList = |
src/views/device/log.vue
| @@ -7,20 +7,26 @@ | @@ -7,20 +7,26 @@ | ||
| 7 | </back-box> | 7 | </back-box> |
| 8 | <div class="page-content"> | 8 | <div class="page-content"> |
| 9 | <el-descriptions :column="3" border> | 9 | <el-descriptions :column="3" border> |
| 10 | - <el-descriptions-item label="设备编码" | ||
| 11 | - >kooriookami</el-descriptions-item | ||
| 12 | - > | ||
| 13 | - <el-descriptions-item label="电量">18100000000</el-descriptions-item> | ||
| 14 | - <el-descriptions-item label="配对码">苏州市</el-descriptions-item> | ||
| 15 | - <el-descriptions-item label="关联班级" | ||
| 16 | - >江苏省苏州市吴中区</el-descriptions-item | ||
| 17 | - > | ||
| 18 | - <el-descriptions-item label="最后答题时间" | ||
| 19 | - >江苏省苏州市吴中区</el-descriptions-item | ||
| 20 | - > | ||
| 21 | - <el-descriptions-item label="答题次数" | ||
| 22 | - >江苏省苏州市吴中区</el-descriptions-item | ||
| 23 | - > | 10 | + <el-descriptions-item label="设备编码">{{ |
| 11 | + device.sn | ||
| 12 | + }}</el-descriptions-item> | ||
| 13 | + <el-descriptions-item label="电量">{{ | ||
| 14 | + device.electricity | ||
| 15 | + }}</el-descriptions-item> | ||
| 16 | + <el-descriptions-item label="配对码">{{ | ||
| 17 | + device.pairingCode | ||
| 18 | + }}</el-descriptions-item> | ||
| 19 | + <el-descriptions-item label="关联班级"> | ||
| 20 | + <span v-for="item in device.classList" :key="item.classId">{{ | ||
| 21 | + item.className | ||
| 22 | + }}</span> | ||
| 23 | + </el-descriptions-item> | ||
| 24 | + <el-descriptions-item label="最后答题时间">{{ | ||
| 25 | + device.latestReportTime | ||
| 26 | + }}</el-descriptions-item> | ||
| 27 | + <el-descriptions-item label="答题次数">{{ | ||
| 28 | + device.answerTimes | ||
| 29 | + }}</el-descriptions-item> | ||
| 24 | </el-descriptions> | 30 | </el-descriptions> |
| 25 | </div> | 31 | </div> |
| 26 | <div class="answer-header"> | 32 | <div class="answer-header"> |
| @@ -60,6 +66,42 @@ | @@ -60,6 +66,42 @@ | ||
| 60 | </p> | 66 | </p> |
| 61 | </div> | 67 | </div> |
| 62 | </div> | 68 | </div> |
| 69 | + <div class="table-box"> | ||
| 70 | + <el-table :data="tableData" border style="width: 100%"> | ||
| 71 | + <el-table-column | ||
| 72 | + prop="operationType" | ||
| 73 | + label="请求类型" | ||
| 74 | + align="center" | ||
| 75 | + width="200" | ||
| 76 | + ><template slot-scope="scoped">{{ | ||
| 77 | + setOperationType(scoped.row.operationType) | ||
| 78 | + }}</template></el-table-column | ||
| 79 | + > | ||
| 80 | + <el-table-column | ||
| 81 | + prop="operationTime" | ||
| 82 | + label="时间" | ||
| 83 | + align="center" | ||
| 84 | + width="200" | ||
| 85 | + ></el-table-column> | ||
| 86 | + <el-table-column | ||
| 87 | + prop="content" | ||
| 88 | + label="日志内容" | ||
| 89 | + align="center" | ||
| 90 | + ></el-table-column> | ||
| 91 | + </el-table> | ||
| 92 | + </div> | ||
| 93 | + <div class="pagination-box"> | ||
| 94 | + <el-pagination | ||
| 95 | + small="" | ||
| 96 | + layout="total,prev, pager, next" | ||
| 97 | + :hide-on-single-page="true" | ||
| 98 | + :total="total" | ||
| 99 | + @current-change="changePage" | ||
| 100 | + :current-page="page" | ||
| 101 | + :page-size="size" | ||
| 102 | + > | ||
| 103 | + </el-pagination> | ||
| 104 | + </div> | ||
| 63 | </div> | 105 | </div> |
| 64 | </template> | 106 | </template> |
| 65 | 107 | ||
| @@ -68,7 +110,7 @@ import { formatDate } from "utils"; | @@ -68,7 +110,7 @@ import { formatDate } from "utils"; | ||
| 68 | export default { | 110 | export default { |
| 69 | data() { | 111 | data() { |
| 70 | return { | 112 | return { |
| 71 | - id:'', | 113 | + id: "", |
| 72 | date: "", //今天-昨天-本周 | 114 | date: "", //今天-昨天-本周 |
| 73 | query: { | 115 | query: { |
| 74 | //搜索条件 | 116 | //搜索条件 |
| @@ -76,11 +118,24 @@ export default { | @@ -76,11 +118,24 @@ export default { | ||
| 76 | endDay: "", | 118 | endDay: "", |
| 77 | day: "", | 119 | day: "", |
| 78 | }, | 120 | }, |
| 121 | + tableData: [], | ||
| 122 | + device: { | ||
| 123 | + sn: "", | ||
| 124 | + electricity: "", | ||
| 125 | + pairingCode: "", | ||
| 126 | + classList: [], | ||
| 127 | + latestReportTime: "", | ||
| 128 | + answerTimes: "", | ||
| 129 | + }, | ||
| 130 | + total: 0, | ||
| 131 | + page: 1, | ||
| 132 | + size: 20, | ||
| 79 | }; | 133 | }; |
| 80 | }, | 134 | }, |
| 81 | created() { | 135 | created() { |
| 82 | - this.id = this.$route.query.id | ||
| 83 | - // await this.setDate(1); | 136 | + this.id = this.$route.query.id; |
| 137 | + this._QueryDetail(); | ||
| 138 | + this.setDate(1); | ||
| 84 | let startDay = this.query?.startDay; | 139 | let startDay = this.query?.startDay; |
| 85 | if (!startDay) { | 140 | if (!startDay) { |
| 86 | this.query.startDay = new Date(); | 141 | this.query.startDay = new Date(); |
| @@ -88,6 +143,36 @@ export default { | @@ -88,6 +143,36 @@ export default { | ||
| 88 | } | 143 | } |
| 89 | }, | 144 | }, |
| 90 | methods: { | 145 | methods: { |
| 146 | + setOperationType(type) { | ||
| 147 | + let txt; | ||
| 148 | + switch (type) { | ||
| 149 | + case 0: | ||
| 150 | + txt = "连接异常"; | ||
| 151 | + break; | ||
| 152 | + case 1: | ||
| 153 | + txt = "问"; | ||
| 154 | + break; | ||
| 155 | + case 2: | ||
| 156 | + txt = "测"; | ||
| 157 | + break; | ||
| 158 | + case 3: | ||
| 159 | + txt = "考"; | ||
| 160 | + break; | ||
| 161 | + case 4: | ||
| 162 | + txt = "抢答"; | ||
| 163 | + break; | ||
| 164 | + case 5: | ||
| 165 | + txt = "抽答"; | ||
| 166 | + break; | ||
| 167 | + case 6: | ||
| 168 | + txt = "再答"; | ||
| 169 | + break; | ||
| 170 | + case 7: | ||
| 171 | + txt = "签到"; | ||
| 172 | + break; | ||
| 173 | + } | ||
| 174 | + return txt; | ||
| 175 | + }, | ||
| 91 | setDate(index) { | 176 | setDate(index) { |
| 92 | const that = this; | 177 | const that = this; |
| 93 | this.date = index == this.date ? "" : index; | 178 | this.date = index == this.date ? "" : index; |
| @@ -156,21 +241,50 @@ export default { | @@ -156,21 +241,50 @@ export default { | ||
| 156 | } | 241 | } |
| 157 | } | 242 | } |
| 158 | }, | 243 | }, |
| 244 | + changePage(page) { | ||
| 245 | + this.page = page; | ||
| 246 | + this._QueryData(); | ||
| 247 | + }, | ||
| 248 | + async _QueryDetail() { | ||
| 249 | + const { data, status, info } = await this.$request.deviceDetail({ | ||
| 250 | + deviceId: this.id, | ||
| 251 | + }); | ||
| 252 | + if (status === 0) { | ||
| 253 | + this.device = { ...data }; | ||
| 254 | + for (let key in this.device) { | ||
| 255 | + this.device[key] = data[key]; | ||
| 256 | + } | ||
| 257 | + } else { | ||
| 258 | + this.$message.error(info); | ||
| 259 | + } | ||
| 260 | + }, | ||
| 159 | async _QueryData() { | 261 | async _QueryData() { |
| 160 | this.loading = true; | 262 | this.loading = true; |
| 161 | //多课时对比 | 263 | //多课时对比 |
| 162 | let query = {}; | 264 | let query = {}; |
| 163 | for (let key in this.query) { | 265 | for (let key in this.query) { |
| 164 | if (this.query[key] != "") { | 266 | if (this.query[key] != "") { |
| 165 | - query[key] = this.query[key]; | 267 | + if (key == "day" || key == "startDay" || key == "endDay") { |
| 268 | + query[key] = this.query[key].split("-").join(""); | ||
| 269 | + } else { | ||
| 270 | + query[key] = this.query[key]; | ||
| 271 | + } | ||
| 166 | } | 272 | } |
| 167 | } | 273 | } |
| 168 | - const { data, status, info } = await this.$request.fetchQuizList({ | 274 | + const { |
| 275 | + data = {}, | ||
| 276 | + status, | ||
| 277 | + info, | ||
| 278 | + } = await this.$request.deviceLogList({ | ||
| 169 | ...query, | 279 | ...query, |
| 170 | - id:this.id | 280 | + deviceId: Number(this.id), |
| 281 | + page: this.page, | ||
| 282 | + size: this.size, | ||
| 171 | }); | 283 | }); |
| 172 | this.loading = false; | 284 | this.loading = false; |
| 173 | if (status === 0) { | 285 | if (status === 0) { |
| 286 | + this.tableData = [...data?.list] || []; | ||
| 287 | + this.total = data.count; | ||
| 174 | } else { | 288 | } else { |
| 175 | this.$message.error(info); | 289 | this.$message.error(info); |
| 176 | } | 290 | } |
| @@ -183,4 +297,7 @@ export default { | @@ -183,4 +297,7 @@ export default { | ||
| 183 | .page-content { | 297 | .page-content { |
| 184 | padding: 20px; | 298 | padding: 20px; |
| 185 | } | 299 | } |
| 300 | +.table-box{ | ||
| 301 | + padding:0 20px; | ||
| 302 | +} | ||
| 186 | </style> | 303 | </style> |
| 187 | \ No newline at end of file | 304 | \ No newline at end of file |
src/views/login/index.vue
| @@ -91,14 +91,14 @@ export default { | @@ -91,14 +91,14 @@ export default { | ||
| 91 | disableClick: true, | 91 | disableClick: true, |
| 92 | passwordType: "password", | 92 | passwordType: "password", |
| 93 | loginForm: { | 93 | loginForm: { |
| 94 | - username: "13610050254", | ||
| 95 | - password: "Pw050254#", | 94 | + // username: "13610050254", |
| 95 | + // password: "Pw050254#", | ||
| 96 | // username: "18946034886", | 96 | // username: "18946034886", |
| 97 | // password: "Pw034886#", | 97 | // password: "Pw034886#", |
| 98 | // username: "18332123505", | 98 | // username: "18332123505", |
| 99 | // password: "Pw123505#", | 99 | // password: "Pw123505#", |
| 100 | - // username: "15911715665", | ||
| 101 | - // password: "Csiy88888", | 100 | + username: "15911715665", |
| 101 | + password: "Csiy88888", | ||
| 102 | }, | 102 | }, |
| 103 | loginRules: { | 103 | loginRules: { |
| 104 | username: [ | 104 | username: [ |
src/views/setUp/account.vue
| @@ -337,7 +337,7 @@ export default { | @@ -337,7 +337,7 @@ export default { | ||
| 337 | tenantRoleList: [], | 337 | tenantRoleList: [], |
| 338 | regionList: [], | 338 | regionList: [], |
| 339 | schoolList: [], | 339 | schoolList: [], |
| 340 | - props: { multiple: true, checkStrictly: false }, | 340 | + props: { multiple: true, checkStrictly: true }, |
| 341 | roleList: [], | 341 | roleList: [], |
| 342 | query: { | 342 | query: { |
| 343 | schoolId: [], | 343 | schoolId: [], |
| @@ -553,7 +553,7 @@ export default { | @@ -553,7 +553,7 @@ export default { | ||
| 553 | this.$message.error(info); | 553 | this.$message.error(info); |
| 554 | } | 554 | } |
| 555 | }, | 555 | }, |
| 556 | - async _QueryData(type) { | 556 | + setQuery(type) {//整理请求参数 |
| 557 | let query = {}; | 557 | let query = {}; |
| 558 | if (type == 1) { | 558 | if (type == 1) { |
| 559 | query.roleId = this.query.roleId; | 559 | query.roleId = this.query.roleId; |
| @@ -579,15 +579,25 @@ export default { | @@ -579,15 +579,25 @@ export default { | ||
| 579 | query.regionIds = []; | 579 | query.regionIds = []; |
| 580 | query.schoolIds = []; | 580 | query.schoolIds = []; |
| 581 | query.schoolId?.map((item) => { | 581 | query.schoolId?.map((item) => { |
| 582 | - if (!query.regionIds.includes(item[0])) { | ||
| 583 | - query.regionIds.push(item[0]); | ||
| 584 | - } | ||
| 585 | - if (!query.schoolIds.includes(item[1])) { | ||
| 586 | - query.schoolIds.push(item[1]); | 582 | + if (item.length == 1) { |
| 583 | + if (!query.regionIds.includes(item[0])) { | ||
| 584 | + query.regionIds.push(item[0]); | ||
| 585 | + } | ||
| 586 | + } else { | ||
| 587 | + if (!query.schoolIds.includes(item[1])) { | ||
| 588 | + query.schoolIds.push(item[1]); | ||
| 589 | + } | ||
| 590 | + if (query.regionIds.includes(item[0])) { | ||
| 591 | + query.regionIds.remove(item[0]); | ||
| 592 | + } | ||
| 587 | } | 593 | } |
| 588 | }); | 594 | }); |
| 589 | delete query.schoolId; | 595 | delete query.schoolId; |
| 590 | } | 596 | } |
| 597 | + return query; | ||
| 598 | + }, | ||
| 599 | + async _QueryData(type) { | ||
| 600 | + let query = this.setQuery(type); | ||
| 591 | this.loading = true; | 601 | this.loading = true; |
| 592 | this.tableData = []; | 602 | this.tableData = []; |
| 593 | const { data, status, info } = | 603 | const { data, status, info } = |