Commit 1b9bae95933d739ae3eb46228383f6cd442bce3f

Authored by 梁保满
1 parent b21d90ef

级联选择器调整,日志接口调整

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 &quot;utils&quot;; @@ -68,7 +110,7 @@ import { formatDate } from &quot;utils&quot;;
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 } =