Commit e5ff81a196fe9b5f80b8fea673117f7e373308ab

Authored by 阿宝
1 parent ca39cc52

集团管理员接口

src/api/apis/apis.js
1 -  
2 -import service from "../axios"  
3 -import setUpUrls from "../urls/apis" 1 +import service from "../axios";
  2 +import setUpUrls from "../urls/apis";
4 3
5 export default { 4 export default {
6 - // 学校管理员首页数据 5 + // 教师首页数据
7 teacherIndex(data) { 6 teacherIndex(data) {
8 return service({ 7 return service({
9 url: setUpUrls.teacherIndex, 8 url: setUpUrls.teacherIndex,
10 - method: 'POST',  
11 - data  
12 - }) 9 + method: "POST",
  10 + data,
  11 + });
13 }, 12 },
14 // 学校管理员首页数据 13 // 学校管理员首页数据
15 schoolIndex(data) { 14 schoolIndex(data) {
16 return service({ 15 return service({
17 url: setUpUrls.schoolIndex, 16 url: setUpUrls.schoolIndex,
18 - method: 'POST',  
19 - data  
20 - }) 17 + method: "POST",
  18 + data,
  19 + });
  20 + },
  21 + // 集团管理员首页数据
  22 + tenantIndex(data) {
  23 + return service({
  24 + url: setUpUrls.tenantIndex,
  25 + method: "POST",
  26 + data,
  27 + });
21 }, 28 },
22 // 查询角色列表 29 // 查询角色列表
23 roleList(data) { 30 roleList(data) {
24 return service({ 31 return service({
25 url: setUpUrls.roleList, 32 url: setUpUrls.roleList,
26 - method: 'POST',  
27 - data  
28 - }) 33 + method: "POST",
  34 + data,
  35 + });
29 }, 36 },
30 // 分页查询账号 37 // 分页查询账号
31 userPage(data) { 38 userPage(data) {
32 return service({ 39 return service({
33 url: setUpUrls.userPage, 40 url: setUpUrls.userPage,
34 - method: 'POST',  
35 - data  
36 - }) 41 + method: "POST",
  42 + data,
  43 + });
37 }, 44 },
38 // 修改账号 禁用账号、修改账号密码等 45 // 修改账号 禁用账号、修改账号密码等
39 updateUser(data) { 46 updateUser(data) {
40 return service({ 47 return service({
41 url: setUpUrls.updateUser, 48 url: setUpUrls.updateUser,
42 - method: 'POST',  
43 - data  
44 - }) 49 + method: "POST",
  50 + data,
  51 + });
45 }, 52 },
46 // 查询学校详情 53 // 查询学校详情
47 schoolDetail(data) { 54 schoolDetail(data) {
48 return service({ 55 return service({
49 url: setUpUrls.schoolDetail, 56 url: setUpUrls.schoolDetail,
50 - method: 'POST',  
51 - data  
52 - }) 57 + method: "POST",
  58 + data,
  59 + });
53 }, 60 },
54 // 修改学校信息 61 // 修改学校信息
55 updateSchool(data) { 62 updateSchool(data) {
56 return service({ 63 return service({
57 url: setUpUrls.updateSchool, 64 url: setUpUrls.updateSchool,
58 - method: 'POST',  
59 - data  
60 - }) 65 + method: "POST",
  66 + data,
  67 + });
61 }, 68 },
62 // 学校年级管理 69 // 学校年级管理
63 gradeList(data) { 70 gradeList(data) {
64 return service({ 71 return service({
65 url: setUpUrls.gradeList, 72 url: setUpUrls.gradeList,
66 - method: 'POST',  
67 - data  
68 - }) 73 + method: "POST",
  74 + data,
  75 + });
69 }, 76 },
70 // 查询学校所有科目 77 // 查询学校所有科目
71 subjectList(data) { 78 subjectList(data) {
72 return service({ 79 return service({
73 url: setUpUrls.subjectList, 80 url: setUpUrls.subjectList,
74 - method: 'POST',  
75 - data  
76 - }) 81 + method: "POST",
  82 + data,
  83 + });
77 }, 84 },
78 // 修改年级信息 85 // 修改年级信息
79 updateGrade(data) { 86 updateGrade(data) {
80 return service({ 87 return service({
81 url: setUpUrls.updateGrade, 88 url: setUpUrls.updateGrade,
82 - method: 'POST',  
83 - data  
84 - }) 89 + method: "POST",
  90 + data,
  91 + });
85 }, 92 },
86 // 查询学校班级列表 93 // 查询学校班级列表
87 schoolClassList(data) { 94 schoolClassList(data) {
88 return service({ 95 return service({
89 url: setUpUrls.classList, 96 url: setUpUrls.classList,
90 - method: 'POST',  
91 - data  
92 - }) 97 + method: "POST",
  98 + data,
  99 + });
93 }, 100 },
94 // 查询学生列表 101 // 查询学生列表
95 studentList(data) { 102 studentList(data) {
96 return service({ 103 return service({
97 url: setUpUrls.studentList, 104 url: setUpUrls.studentList,
98 - method: 'POST',  
99 - data  
100 - }) 105 + method: "POST",
  106 + data,
  107 + });
101 }, 108 },
102 // 修改班级信息 109 // 修改班级信息
103 updateClass(data) { 110 updateClass(data) {
104 return service({ 111 return service({
105 url: setUpUrls.updateClass, 112 url: setUpUrls.updateClass,
106 - method: 'POST',  
107 - data  
108 - }) 113 + method: "POST",
  114 + data,
  115 + });
109 }, 116 },
110 // 增加学生 117 // 增加学生
111 addStudent(data) { 118 addStudent(data) {
112 return service({ 119 return service({
113 url: setUpUrls.addStudent, 120 url: setUpUrls.addStudent,
114 - method: 'POST',  
115 - data  
116 - }) 121 + method: "POST",
  122 + data,
  123 + });
117 }, 124 },
118 // 删除学生 125 // 删除学生
119 delStudent(data) { 126 delStudent(data) {
120 return service({ 127 return service({
121 url: setUpUrls.delStudent, 128 url: setUpUrls.delStudent,
122 - method: 'POST',  
123 - data  
124 - }) 129 + method: "POST",
  130 + data,
  131 + });
125 }, 132 },
126 // 查询学校教师列表 133 // 查询学校教师列表
127 teacherList(data) { 134 teacherList(data) {
128 return service({ 135 return service({
129 url: setUpUrls.teacherList, 136 url: setUpUrls.teacherList,
130 - method: 'POST',  
131 - data  
132 - }) 137 + method: "POST",
  138 + data,
  139 + });
133 }, 140 },
134 // 新增教师 141 // 新增教师
135 addTeacher(data) { 142 addTeacher(data) {
136 return service({ 143 return service({
137 url: setUpUrls.addTeacher, 144 url: setUpUrls.addTeacher,
138 - method: 'POST',  
139 - data  
140 - }) 145 + method: "POST",
  146 + data,
  147 + });
141 }, 148 },
142 // 修改教师信息 149 // 修改教师信息
143 updateTeacher(data) { 150 updateTeacher(data) {
144 return service({ 151 return service({
145 url: setUpUrls.updateTeacher, 152 url: setUpUrls.updateTeacher,
146 - method: 'POST',  
147 - data  
148 - }) 153 + method: "POST",
  154 + data,
  155 + });
149 }, 156 },
150 // 删除教师管理班级或年级 157 // 删除教师管理班级或年级
151 delTeacherManager(data) { 158 delTeacherManager(data) {
152 return service({ 159 return service({
153 url: setUpUrls.delTeacherManager, 160 url: setUpUrls.delTeacherManager,
154 - method: 'POST',  
155 - data  
156 - }) 161 + method: "POST",
  162 + data,
  163 + });
157 }, 164 },
158 // 查询基站统计数据 165 // 查询基站统计数据
159 stationReport(data) { 166 stationReport(data) {
160 return service({ 167 return service({
161 url: setUpUrls.stationReport, 168 url: setUpUrls.stationReport,
162 - method: 'POST',  
163 - data  
164 - }) 169 + method: "POST",
  170 + data,
  171 + });
165 }, 172 },
166 // 查询答题器统计数据 173 // 查询答题器统计数据
167 keyboardReport(data) { 174 keyboardReport(data) {
168 return service({ 175 return service({
169 url: setUpUrls.keyboardReport, 176 url: setUpUrls.keyboardReport,
170 - method: 'POST',  
171 - data  
172 - }) 177 + method: "POST",
  178 + data,
  179 + });
173 }, 180 },
174 // 分页查询设备列表 181 // 分页查询设备列表
175 deviceList(data) { 182 deviceList(data) {
176 return service({ 183 return service({
177 url: setUpUrls.deviceList, 184 url: setUpUrls.deviceList,
178 - method: 'POST',  
179 - data  
180 - }) 185 + method: "POST",
  186 + data,
  187 + });
181 }, 188 },
182 // 修改设备自动升级状态 189 // 修改设备自动升级状态
183 modifyUpgradeFlag(data) { 190 modifyUpgradeFlag(data) {
184 return service({ 191 return service({
185 url: setUpUrls.modifyUpgradeFlag, 192 url: setUpUrls.modifyUpgradeFlag,
186 - method: 'POST',  
187 - data  
188 - }) 193 + method: "POST",
  194 + data,
  195 + });
189 }, 196 },
190 // 修改基站信息 197 // 修改基站信息
191 updateDevice(data) { 198 updateDevice(data) {
192 return service({ 199 return service({
193 url: setUpUrls.updateDevice, 200 url: setUpUrls.updateDevice,
194 - method: 'POST',  
195 - data  
196 - }) 201 + method: "POST",
  202 + data,
  203 + });
197 }, 204 },
198 // 查询下载配置列表 205 // 查询下载配置列表
199 appConfigList(data) { 206 appConfigList(data) {
200 return service({ 207 return service({
201 url: setUpUrls.appConfigList, 208 url: setUpUrls.appConfigList,
202 - method: 'POST',  
203 - data  
204 - }) 209 + method: "POST",
  210 + data,
  211 + });
205 }, 212 },
206 // 查询最新的授课端应用版本 213 // 查询最新的授课端应用版本
207 latestVersion(data) { 214 latestVersion(data) {
208 return service({ 215 return service({
209 url: setUpUrls.latestVersion, 216 url: setUpUrls.latestVersion,
210 - method: 'POST',  
211 - data  
212 - }) 217 + method: "POST",
  218 + data,
  219 + });
213 }, 220 },
214 // 下载指定配置的最新版本授课端 221 // 下载指定配置的最新版本授课端
215 getAppDownloadUrl(data) { 222 getAppDownloadUrl(data) {
216 return service({ 223 return service({
217 url: setUpUrls.getAppDownloadUrl, 224 url: setUpUrls.getAppDownloadUrl,
218 - method: 'POST',  
219 - data  
220 - }) 225 + method: "POST",
  226 + data,
  227 + });
221 }, 228 },
222 // 新增授课端应用配置 229 // 新增授课端应用配置
223 addAppConfig(data) { 230 addAppConfig(data) {
224 return service({ 231 return service({
225 url: setUpUrls.addAppConfig, 232 url: setUpUrls.addAppConfig,
226 - method: 'POST',  
227 - data  
228 - }) 233 + method: "POST",
  234 + data,
  235 + });
229 }, 236 },
230 // 修改授课端应用配置 237 // 修改授课端应用配置
231 updateAppConfig(data) { 238 updateAppConfig(data) {
232 return service({ 239 return service({
233 url: setUpUrls.updateAppConfig, 240 url: setUpUrls.updateAppConfig,
234 - method: 'POST',  
235 - data  
236 - }) 241 + method: "POST",
  242 + data,
  243 + });
237 }, 244 },
238 // 发卡记录 245 // 发卡记录
239 cardList(data) { 246 cardList(data) {
240 return service({ 247 return service({
241 url: setUpUrls.cardList, 248 url: setUpUrls.cardList,
242 - method: 'POST',  
243 - data  
244 - }) 249 + method: "POST",
  250 + data,
  251 + });
  252 + },
  253 +
  254 + /**
  255 + * 集团管理员-学校管理
  256 + */
  257 + // 区域列表
  258 + regionList(data) {
  259 + return service({
  260 + url: setUpUrls.regionList,
  261 + method: "POST",
  262 + data,
  263 + });
  264 + },
  265 + // 学校列表
  266 + schoolList(data) {
  267 + return service({
  268 + url: setUpUrls.schoolList,
  269 + method: "POST",
  270 + data,
  271 + });
  272 + },
  273 + // 新增或修改学校
  274 + saveSchool(data) {
  275 + return service({
  276 + url: setUpUrls.saveSchool,
  277 + method: "POST",
  278 + data,
  279 + });
  280 + },
  281 + // 删除学校
  282 + removeSchool(data) {
  283 + return service({
  284 + url: setUpUrls.removeSchool,
  285 + method: "POST",
  286 + data,
  287 + });
  288 + },
  289 + // 新增或修改区域
  290 + saveRegion(data) {
  291 + return service({
  292 + url: setUpUrls.saveRegion,
  293 + method: "POST",
  294 + data,
  295 + });
  296 + },
  297 + // 新增学校管理员
  298 + addSchoolManager(data) {
  299 + return service({
  300 + url: setUpUrls.addSchoolManager,
  301 + method: "POST",
  302 + data,
  303 + });
  304 + },
  305 + // 查询角色列表
  306 + tenantRoleList(data) {
  307 + return service({
  308 + url: setUpUrls.tenantRoleList,
  309 + method: "POST",
  310 + data,
  311 + });
  312 + },
  313 + // 账号列表
  314 + tenantUserPage(data) {
  315 + return service({
  316 + url: setUpUrls.tenantUserPage,
  317 + method: "POST",
  318 + data,
  319 + });
  320 + },
  321 + // 新增账号
  322 + addUser(data) {
  323 + return service({
  324 + url: setUpUrls.addUser,
  325 + method: "POST",
  326 + data,
  327 + });
  328 + },
  329 + // 禁用账号、修改账号密码等
  330 + tenantUpdateUser(data) {
  331 + return service({
  332 + url: setUpUrls.tenantUpdateUser,
  333 + method: "POST",
  334 + data,
  335 + });
  336 + },
  337 + // 查询基站统计数据
  338 + tenantStationReport(data) {
  339 + return service({
  340 + url: setUpUrls.tenantStationReport,
  341 + method: "POST",
  342 + data,
  343 + });
  344 + },
  345 + // 查询答题器统计数据
  346 + tenantKeyboardReport(data) {
  347 + return service({
  348 + url: setUpUrls.tenantKeyboardReport,
  349 + method: "POST",
  350 + data,
  351 + });
  352 + },
  353 + // 分页查询设备列表
  354 + tenantDeviceList(data) {
  355 + return service({
  356 + url: setUpUrls.tenantDeviceList,
  357 + method: "POST",
  358 + data,
  359 + });
  360 + },
  361 + // 查询学校年级
  362 + tenantGradeList(data) {
  363 + return service({
  364 + url: setUpUrls.tenantGradeList,
  365 + method: "POST",
  366 + data,
  367 + });
  368 + },
  369 + // 查询学校班级
  370 + tenantClassList(data) {
  371 + return service({
  372 + url: setUpUrls.tenantClassList,
  373 + method: "POST",
  374 + data,
  375 + });
  376 + },
  377 + // 学校使用对比
  378 + schoolContrast(data) {
  379 + return service({
  380 + url: setUpUrls.schoolContrast,
  381 + method: "POST",
  382 + data,
  383 + });
  384 + },
  385 + // 年级使用对比
  386 + gradeContrast(data) {
  387 + return service({
  388 + url: setUpUrls.gradeContrast,
  389 + method: "POST",
  390 + data,
  391 + });
245 }, 392 },
246 -  
247 -} 393 +};
src/api/axios.js
@@ -42,7 +42,7 @@ service.interceptors.response.use( @@ -42,7 +42,7 @@ service.interceptors.response.use(
42 // Cookies.set("access_token", response.data.message, { expires: 1 / 12 }) 42 // Cookies.set("access_token", response.data.message, { expires: 1 / 12 })
43 // console.log(response.status) 43 // console.log(response.status)
44 if (res.status == 999) { 44 if (res.status == 999) {
45 - // if (!location.href.includes("localhost")) { 45 + if (!location.href.includes("localhost")) {
46 if (res.data) { 46 if (res.data) {
47 window.location.href = res.data; 47 window.location.href = res.data;
48 } else { 48 } else {
@@ -55,7 +55,7 @@ service.interceptors.response.use( @@ -55,7 +55,7 @@ service.interceptors.response.use(
55 }); 55 });
56 } 56 }
57 } 57 }
58 - // } 58 + }
59 } else { 59 } else {
60 // Cookies.set("access_token", response.data.message, { expires: 1 / 12 }) 60 // Cookies.set("access_token", response.data.message, { expires: 1 / 12 })
61 } 61 }
src/api/urls/apis.js
@@ -4,6 +4,8 @@ export default { @@ -4,6 +4,8 @@ export default {
4 teacherIndex: "/api_html/teaching/index", 4 teacherIndex: "/api_html/teaching/index",
5 // 学校管理员首页数据 5 // 学校管理员首页数据
6 schoolIndex: "/api_html/school/manager/index", 6 schoolIndex: "/api_html/school/manager/index",
  7 + // 学校管理员首页数据
  8 + tenantIndex: "/api_html/tenant/index",
7 // 查询角色列表 9 // 查询角色列表
8 roleList: "/api_html/school/manager/roleList", 10 roleList: "/api_html/school/manager/roleList",
9 // 分页查询账号 11 // 分页查询账号
@@ -60,4 +62,41 @@ export default { @@ -60,4 +62,41 @@ export default {
60 updateAppConfig: "/api_html/school/manager/updateAppConfig", 62 updateAppConfig: "/api_html/school/manager/updateAppConfig",
61 // 发卡记录 63 // 发卡记录
62 cardList: "/api_html/school/manager/cardList", 64 cardList: "/api_html/school/manager/cardList",
  65 +
  66 +
  67 + // 查询区域列表
  68 + regionList: "/api_html/tenant/regionList",
  69 + // 查询学校列表
  70 + schoolList: "/api_html/tenant/schoolList",
  71 + // 新增或修改区域
  72 + saveRegion: "/api_html/tenant/saveRegion",
  73 + // 新增或修改学校
  74 + saveSchool: "/api_html/tenant/saveSchool",
  75 + // 删除学校
  76 + removeSchool: "/api_html/tenant/delSchool",
  77 + // 新增学校管理员
  78 + addSchoolManager: "/api_html/tenant/addSchoolManager",
  79 + // 查询角色列表
  80 + tenantRoleList: "/api_html/tenant/roleList",
  81 + // 账号列表
  82 + tenantUserPage: "/api_html/tenant/userPage",
  83 + // 新增账号
  84 + addUser: "/api_html/tenant/addUser",
  85 + // 禁用账号、修改账号密码等
  86 + tenantUpdateUser: "/api_html/tenant/updateUser",
  87 + // 查询基站统计数据
  88 + tenantStationReport: "/api_html/tenant/stationReport",
  89 + // 查询答题器统计数据
  90 + tenantKeyboardReport: "/api_html/tenant/keyboardReport",
  91 + // 分页查询设备列表
  92 + tenantDeviceList: "/api_html/tenant/deviceList",
  93 + // 查询学校年级
  94 + tenantGradeList: "/api_html/tenant/gradeList",
  95 + // 查询学校班级
  96 + tenantClassList: "/api_html/tenant/classList",
  97 +
  98 + // 学校使用对比
  99 + schoolContrast: "/api_html/tenant/schoolContrast",
  100 + // 年级使用对比
  101 + gradeContrast: "/api_html/tenant/gradeContrast",
63 } 102 }
src/assets/css/index.scss
@@ -42,7 +42,7 @@ @@ -42,7 +42,7 @@
42 border-radius: 20px; 42 border-radius: 20px;
43 border: 1px solid #e2e2e2; 43 border: 1px solid #e2e2e2;
44 box-sizing: border-box; 44 box-sizing: border-box;
45 - 45 + background: #fff;
46 .el-input__inner { 46 .el-input__inner {
47 border-radius: 20px; 47 border-radius: 20px;
48 border: none; 48 border: none;
src/router/index.js
@@ -68,22 +68,6 @@ let defaultRouter = [ @@ -68,22 +68,6 @@ let defaultRouter = [
68 } 68 }
69 ] 69 ]
70 }, 70 },
71 - // {  
72 - // path: "/setUpConglomerate",  
73 - // iconCls: "fa fa-building", // 图标样式class  
74 - // name: "学校管理",  
75 - // component: Layout,  
76 - // alone: true,  
77 - // children: [  
78 - // {  
79 - // path: "/setUpConglomerate",  
80 - // iconCls: "fa fa-building",  
81 - // name: '集团管理',  
82 - // component: SetUpConglomerate,  
83 - // children: []  
84 - // },  
85 - // ]  
86 - // },  
87 { 71 {
88 path: "/404", 72 path: "/404",
89 component: NotFound, 73 component: NotFound,
src/views/analysis/index.vue
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 class="sel" 12 class="sel"
13 v-model="query.gradeName" 13 v-model="query.gradeName"
14 placeholder="选择年级" 14 placeholder="选择年级"
15 - @change="_QueryData(1)" 15 + @change="_QueryData"
16 > 16 >
17 <el-option 17 <el-option
18 v-for="item in gradeList" 18 v-for="item in gradeList"
@@ -55,15 +55,15 @@ @@ -55,15 +55,15 @@
55 >本季度</span 55 >本季度</span
56 > 56 >
57 </p> 57 </p>
58 - <el-button type="primary" round @click="_QueryData()">筛选</el-button> 58 + <el-button type="primary" round @click="_QueryData">筛选</el-button>
59 </div> 59 </div>
60 </div> 60 </div>
61 <div class="table-box"> 61 <div class="table-box">
62 <div class="radio-box" v-if="role == 'ROLE_JITUAN'"> 62 <div class="radio-box" v-if="role == 'ROLE_JITUAN'">
63 <el-radio-group v-model="type" @change="changeType"> 63 <el-radio-group v-model="type" @change="changeType">
64 - <el-radio-button :label="1">学校使用对比</el-radio-button>  
65 - <el-radio-button :label="2">学段使用对比</el-radio-button>  
66 - </el-radio-group> 64 + <el-radio-button :label="1">学校使用对比</el-radio-button>
  65 + <el-radio-button :label="2">学段使用对比</el-radio-button>
  66 + </el-radio-group>
67 </div> 67 </div>
68 <el-table 68 <el-table
69 :data="tableData" 69 :data="tableData"
@@ -93,10 +93,7 @@ @@ -93,10 +93,7 @@
93 </template> 93 </template>
94 </el-table-column> 94 </el-table-column>
95 </el-table> 95 </el-table>
96 - <p  
97 - class="down"  
98 - v-if="role != 'ROLE_JITUAN'"  
99 - > 96 + <p class="down" v-if="role != 'ROLE_JITUAN'">
100 <el-button plain round icon="fa fa-cloud-download" 97 <el-button plain round icon="fa fa-cloud-download"
101 >导出报表</el-button 98 >导出报表</el-button
102 > 99 >
@@ -111,9 +108,9 @@ import { formatDate } from &quot;@/utils&quot;; @@ -111,9 +108,9 @@ import { formatDate } from &quot;@/utils&quot;;
111 export default { 108 export default {
112 data() { 109 data() {
113 return { 110 return {
114 - role:"", 111 + role: "",
115 date: "", //今天-本周-本月-本季度 112 date: "", //今天-本周-本月-本季度
116 - type:1, //集团管理员 表格切换 113 + type: 1, //集团管理员 表格切换
117 query: { 114 query: {
118 //搜索条件 115 //搜索条件
119 gradeName: "", 116 gradeName: "",
@@ -157,7 +154,7 @@ export default { @@ -157,7 +154,7 @@ export default {
157 this.role = this.$store.getters.info.permissions.find( 154 this.role = this.$store.getters.info.permissions.find(
158 (item) => item.roleName == this.$store.getters.info.showRoleName 155 (item) => item.roleName == this.$store.getters.info.showRoleName
159 )?.role; 156 )?.role;
160 - this._QueryDataGrade(); 157 + this._QueryGradeList();
161 // this.setDate(1); 158 // this.setDate(1);
162 let startDay = this.query?.startDay; 159 let startDay = this.query?.startDay;
163 if (!startDay) { 160 if (!startDay) {
@@ -166,8 +163,11 @@ export default { @@ -166,8 +163,11 @@ export default {
166 } 163 }
167 }, 164 },
168 methods: { 165 methods: {
169 - changeType(val){  
170 - // this._QueryData(val) 166 + changeType(val) {
  167 + if(val==1){
  168 + this.query.gradeName = ""
  169 + }
  170 + this._QueryData(val)
171 }, 171 },
172 setDate(index) { 172 setDate(index) {
173 const that = this; 173 const that = this;
@@ -246,32 +246,63 @@ export default { @@ -246,32 +246,63 @@ export default {
246 query[key] = this.query[key]; 246 query[key] = this.query[key];
247 } 247 }
248 } 248 }
249 - const { data, status, info } = await this.$request.fetchQuizList({ 249 + if (this.role == "ROLE_JITUAN") {
  250 + if (this.query.gradeName == "") {
  251 + this.type = 1;
  252 + } else {
  253 + this.type = 2;
  254 + }
  255 + }
  256 + const Contrast =
  257 + this.role != "ROLE_JITUAN"
  258 + ? this.$request.gradeContrast
  259 + : this.type == 1
  260 + ? this.$request.schoolContrast
  261 + : this.$request.gradeContrast;
  262 + const { data, status, info } = await Contrast({
250 ...query, 263 ...query,
251 }); 264 });
252 this.loading = false; 265 this.loading = false;
253 if (status === 0) { 266 if (status === 0) {
  267 + this.tableData = [...data.list] || [];
254 } else { 268 } else {
255 this.$message.error(info); 269 this.$message.error(info);
256 } 270 }
257 }, 271 },
258 - async _QueryDataGrade() {  
259 - //年级数据  
260 - const { data, status, info } = await this.$request.gradeList(); 272 + // 查找班级
  273 + async _QueryGradeList() {
  274 + this.loading = true;
  275 + const gradeList =
  276 + this.role != "ROLE_JITUAN"
  277 + ? this.$request.gradeList
  278 + : this.$request.regionList;
  279 + const { data, status, info } = await gradeList();
261 if (status === 0) { 280 if (status === 0) {
262 - this.gradeList =  
263 - data.list?.map((item) => {  
264 - return {  
265 - value: item.gradeName,  
266 - label: item.gradeName,  
267 - id: item.grade,  
268 - };  
269 - }) || [];  
270 - this.gradeList.unshift({  
271 - value: "",  
272 - label: "全部",  
273 - });  
274 - this.query.gradeName = this.gradeList[0]?.value; 281 + if (!!data.list) {
  282 + if (this.role != "ROLE_JITUAN") {
  283 + this.gradeList =
  284 + data.list?.map((item) => {
  285 + let gradeList = {
  286 + value: item.grade,
  287 + label: item.gradeName,
  288 + };
  289 + return gradeList;
  290 + }) || [];
  291 + } else {
  292 + this.gradeList =
  293 + data.list?.map((item) => {
  294 + let gradeList = {
  295 + value: item.id,
  296 + label: item.regionName,
  297 + };
  298 + return gradeList;
  299 + }) || [];
  300 + this.gradeList.unshift({
  301 + value: "",
  302 + label: "全部",
  303 + });
  304 + }
  305 + }
275 } else { 306 } else {
276 this.$message.error(info); 307 this.$message.error(info);
277 } 308 }
@@ -284,8 +315,8 @@ export default { @@ -284,8 +315,8 @@ export default {
284 .table-box { 315 .table-box {
285 padding: 0 20px; 316 padding: 0 20px;
286 } 317 }
287 -.radio-box{  
288 - padding-bottom:12px; 318 +.radio-box {
  319 + padding-bottom: 12px;
289 } 320 }
290 .down { 321 .down {
291 padding-top: 20px; 322 padding-top: 20px;
src/views/device/index.vue
@@ -296,7 +296,9 @@ @@ -296,7 +296,9 @@
296 :show-all-levels="false" 296 :show-all-levels="false"
297 @change="_QueryData(false)" 297 @change="_QueryData(false)"
298 ></el-cascader> 298 ></el-cascader>
299 - <span class="sel">共选择{{selectionTabIds.length}}个授课端</span> 299 + <span class="sel"
  300 + >共选择{{ selectionTabIds.length }}个授课端</span
  301 + >
300 <el-button plan round @click="autoUpDate(false)" 302 <el-button plan round @click="autoUpDate(false)"
301 >开启自动更新</el-button 303 >开启自动更新</el-button
302 > 304 >
@@ -485,6 +487,7 @@ export default { @@ -485,6 +487,7 @@ export default {
485 }, 487 },
486 data() { 488 data() {
487 return { 489 return {
  490 + role: "",
488 school: "", 491 school: "",
489 loading: false, 492 loading: false,
490 url: "/web/upLoadDevice", 493 url: "/web/upLoadDevice",
@@ -541,6 +544,13 @@ export default { @@ -541,6 +544,13 @@ export default {
541 }; 544 };
542 }, 545 },
543 created() { 546 created() {
  547 + let role = "";
  548 + this.$store.getters.info.permissions.map((item) => {
  549 + if (item.roleName == this.$store.getters.info.showRoleName) {
  550 + role = item.role;
  551 + }
  552 + });
  553 + this.role = role ? role : this.$store.getters.info.permissions[0].role;
544 this.stationReport(); 554 this.stationReport();
545 this._QueryGradeList(); 555 this._QueryGradeList();
546 this._QueryData(); 556 this._QueryData();
@@ -612,7 +622,7 @@ export default { @@ -612,7 +622,7 @@ export default {
612 this.loadingUpDate = false; 622 this.loadingUpDate = false;
613 if (data && !data.code) { 623 if (data && !data.code) {
614 this._QueryData(false); 624 this._QueryData(false);
615 - this.selectionTabIds = [] 625 + this.selectionTabIds = [];
616 this.$message.success("开启自动更新成功"); 626 this.$message.success("开启自动更新成功");
617 } else { 627 } else {
618 this.$message.error(data.message); 628 this.$message.error(data.message);
@@ -631,7 +641,7 @@ export default { @@ -631,7 +641,7 @@ export default {
631 }); 641 });
632 this.loadingUpDate = false; 642 this.loadingUpDate = false;
633 if (data && !data.code) { 643 if (data && !data.code) {
634 - this.selectionTabIds = [] 644 + this.selectionTabIds = [];
635 this._QueryData(false); 645 this._QueryData(false);
636 this.$message.success("关闭自动更新成功"); 646 this.$message.success("关闭自动更新成功");
637 } else { 647 } else {
@@ -668,25 +678,47 @@ export default { @@ -668,25 +678,47 @@ export default {
668 // 查找班级 678 // 查找班级
669 async _QueryGradeList() { 679 async _QueryGradeList() {
670 this.loading = true; 680 this.loading = true;
671 - const { data, status, info } = await this.$request.gradeList(); 681 + const gradeList =
  682 + this.role != "ROLE_JITUAN"
  683 + ? this.$request.gradeList
  684 + : this.$request.regionList;
  685 + const { data, status, info } = await gradeList();
672 console.log(status); 686 console.log(status);
673 if (status === 0) { 687 if (status === 0) {
674 if (!!data.list) { 688 if (!!data.list) {
675 - this.gradeList =  
676 - data.list?.map((item) => {  
677 - let gradeList = {  
678 - value: item.grade,  
679 - label: item.gradeName,  
680 - };  
681 - gradeList.children =  
682 - item.classList?.map((items) => {  
683 - return {  
684 - value: items.classCode,  
685 - label: items.className,  
686 - };  
687 - }) || [];  
688 - return gradeList;  
689 - }) || []; 689 + if (this.role != "ROLE_JITUAN") {
  690 + this.gradeList =
  691 + data.list?.map((item) => {
  692 + let gradeList = {
  693 + value: item.grade,
  694 + label: item.gradeName,
  695 + };
  696 + gradeList.children =
  697 + item.classList?.map((items) => {
  698 + return {
  699 + value: items.classCode,
  700 + label: items.className,
  701 + };
  702 + }) || [];
  703 + return gradeList;
  704 + }) || [];
  705 + } else {
  706 + this.gradeList =
  707 + data.list?.map((item) => {
  708 + let gradeList = {
  709 + value: item.id,
  710 + label: item.regionName,
  711 + };
  712 + gradeList.children =
  713 + item.schoolList?.map((items) => {
  714 + return {
  715 + value: items.id,
  716 + label: items.schoolName,
  717 + };
  718 + }) || [];
  719 + return gradeList;
  720 + }) || [];
  721 + }
690 } 722 }
691 } else { 723 } else {
692 this.$message.error(info); 724 this.$message.error(info);
@@ -694,13 +726,21 @@ export default { @@ -694,13 +726,21 @@ export default {
694 }, 726 },
695 // 基站统计数据 727 // 基站统计数据
696 async stationReport() { 728 async stationReport() {
697 - const { data, status, info } = await this.$request.stationReport(); 729 + const stationReport =
  730 + this.role != "ROLE_JITUAN"
  731 + ? this.$request.stationReport
  732 + : this.$request.tenantStationReport;
  733 + const { data, status, info } = await stationReport();
698 if (status === 0) { 734 if (status === 0) {
699 this.chartData = 735 this.chartData =
700 data.list?.map((item) => { 736 data.list?.map((item) => {
701 return { 737 return {
702 name: 738 name:
703 - item.onlineStatus == "1" ? "在线" : item.onlineStatus == 0 ? "离线" : "异常", 739 + item.onlineStatus == "1"
  740 + ? "在线"
  741 + : item.onlineStatus == 0
  742 + ? "离线"
  743 + : "异常",
704 value: item.rate, 744 value: item.rate,
705 count: item.count, 745 count: item.count,
706 }; 746 };
@@ -712,7 +752,11 @@ export default { @@ -712,7 +752,11 @@ export default {
712 }, 752 },
713 // 答题器统计数据 753 // 答题器统计数据
714 async keyboardReport() { 754 async keyboardReport() {
715 - const { data, status, info } = await this.$request.keyboardReport(); 755 + const keyboardReport =
  756 + this.role != "ROLE_JITUAN"
  757 + ? this.$request.keyboardReport
  758 + : this.$request.tenantKeyboardReport;
  759 + const { data, status, info } = await keyboardReport();
716 if (status === 0) { 760 if (status === 0) {
717 this.chartData2 = 761 this.chartData2 =
718 data.list?.map((item) => { 762 data.list?.map((item) => {
@@ -765,16 +809,19 @@ export default { @@ -765,16 +809,19 @@ export default {
765 } 809 }
766 810
767 this.loading = true; 811 this.loading = true;
768 - const { data, status, info } = await this.$request.deviceList({ 812 + const deviceList =
  813 + this.role != "ROLE_JITUAN"
  814 + ? this.$request.deviceList
  815 + : this.$request.tenantDeviceList;
  816 + const { data, status, info } = await deviceList({
769 ...query, 817 ...query,
770 deviceType: this.type, 818 deviceType: this.type,
771 page: this.page, 819 page: this.page,
772 size: this.size, 820 size: this.size,
773 }); 821 });
774 this.loading = false; 822 this.loading = false;
775 - console.log(status);  
776 - if (status === 0) {  
777 - this.tableData = data.list || []; 823 + if (status == 0) {
  824 + this.tableData = data?.list || [];
778 } else { 825 } else {
779 this.$message.error(info); 826 this.$message.error(info);
780 } 827 }
src/views/down/client.vue
@@ -53,12 +53,19 @@ @@ -53,12 +53,19 @@
53 <div class="back-l" @click="dialogVis = false"> 53 <div class="back-l" @click="dialogVis = false">
54 <i class="fa fa-mail-reply-all"></i> 54 <i class="fa fa-mail-reply-all"></i>
55 <p> 55 <p>
56 - {{ `${type == 1 ? "参数设置" : formData.configName + "-修改入口"}` }} 56 + {{
  57 + `${type == 1 ? "参数设置" : formData.configName + "-修改入口"}`
  58 + }}
57 </p> 59 </p>
58 </div> 60 </div>
59 </div> 61 </div>
60 <div class="form-box"> 62 <div class="form-box">
61 - <el-form :model="formData" :rules="ruleForm" label-width="180px"> 63 + <el-form
  64 + ref="forms"
  65 + :model="formData"
  66 + :rules="ruleForm"
  67 + label-width="180px"
  68 + >
62 <el-form-item label="主菜单设置:" prop="configName" v-if="type == 1"> 69 <el-form-item label="主菜单设置:" prop="configName" v-if="type == 1">
63 <el-col :span="12"> 70 <el-col :span="12">
64 <el-input 71 <el-input
@@ -401,7 +408,7 @@ export default { @@ -401,7 +408,7 @@ export default {
401 setConfigForm(obj) { 408 setConfigForm(obj) {
402 let content = JSON.parse(obj.content); 409 let content = JSON.parse(obj.content);
403 console.log(content); 410 console.log(content);
404 - this.formData.configName = obj.configName 411 + this.formData.configName = obj.configName;
405 for (let key in this.formData) { 412 for (let key in this.formData) {
406 content[key] ? (this.formData[key] = content[key]) : ""; 413 content[key] ? (this.formData[key] = content[key]) : "";
407 } 414 }
@@ -441,18 +448,24 @@ export default { @@ -441,18 +448,24 @@ export default {
441 } 448 }
442 } 449 }
443 content.examsDuration = content.examsDuration * 60; 450 content.examsDuration = content.examsDuration * 60;
444 -  
445 - if (this.type == 1) {  
446 - this.addAppConfig({  
447 - configName: this.formData.configName,  
448 - content: { ...content },  
449 - });  
450 - } else {  
451 - this.updateAppConfig({  
452 - configId: this.configId,  
453 - content: { ...content },  
454 - });  
455 - } 451 + this.$refs.forms.validate((valid) => {
  452 + if (valid) {
  453 + if (this.type == 1) {
  454 + this.addAppConfig({
  455 + configName: this.formData.configName,
  456 + content: { ...content },
  457 + });
  458 + } else {
  459 + this.updateAppConfig({
  460 + configId: this.configId,
  461 + content: { ...content },
  462 + });
  463 + }
  464 + } else {
  465 + this.$message.warning("配置名称输入有误请检查!");
  466 + return false;
  467 + }
  468 + });
456 }, 469 },
457 470
458 async addAppConfig(params) { 471 async addAppConfig(params) {
src/views/examinationPaper/add.vue
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
25 > 25 >
26 <el-form-item label="答题卡名称:" prop="title"> 26 <el-form-item label="答题卡名称:" prop="title">
27 <el-input 27 <el-input
  28 + class="sel2"
28 type="text" 29 type="text"
29 placeholder="请输入答题卡名称" 30 placeholder="请输入答题卡名称"
30 v-model.trim="form.title" 31 v-model.trim="form.title"
@@ -955,6 +956,9 @@ export default { @@ -955,6 +956,9 @@ export default {
955 .red { 956 .red {
956 color: #f30; 957 color: #f30;
957 } 958 }
  959 +.sel2{
  960 + width:480px;
  961 +}
958 .content-box{ 962 .content-box{
959 width:100%; 963 width:100%;
960 height:100%; 964 height:100%;
src/views/index/mainIndex.vue
@@ -6,9 +6,9 @@ @@ -6,9 +6,9 @@
6 <div class="text"> 6 <div class="text">
7 <p class="p1">账号管理</p> 7 <p class="p1">账号管理</p>
8 <p class="p2"> 8 <p class="p2">
9 - 管理{{ schoolInfo.teacherCourseCount }}个任课教师,{{  
10 - schoolInfo.classManagerCount  
11 - }}个班主任,{{ schoolInfo.teacherGradeCount }}个备课组长账号信息。 9 + 管理{{ dataInfo.teacherCourseCount }}个任课教师,{{
  10 + dataInfo.classManagerCount
  11 + }}个班主任,{{ dataInfo.teacherGradeCount }}个备课组长账号信息。
12 </p> 12 </p>
13 </div> 13 </div>
14 </li> 14 </li>
@@ -17,9 +17,9 @@ @@ -17,9 +17,9 @@
17 <div class="text"> 17 <div class="text">
18 <p class="p1">学校管理</p> 18 <p class="p1">学校管理</p>
19 <p class="p2"> 19 <p class="p2">
20 - 管理{{ schoolInfo.gradeCount }}个年级,{{  
21 - schoolInfo.classCount  
22 - }}个班级,{{ schoolInfo.studentCount }}名学生信息。 20 + 管理{{ dataInfo.gradeCount }}个年级,{{
  21 + dataInfo.classCount
  22 + }}个班级,{{ dataInfo.studentCount }}名学生信息。
23 </p> 23 </p>
24 </div> 24 </div>
25 </li> 25 </li>
@@ -28,8 +28,8 @@ @@ -28,8 +28,8 @@
28 <div class="text"> 28 <div class="text">
29 <p class="p1">设备状态</p> 29 <p class="p1">设备状态</p>
30 <p class="p2"> 30 <p class="p2">
31 - 管理{{ schoolInfo.stationCount }}个基站,{{  
32 - schoolInfo.keyboardCount 31 + 管理{{ dataInfo.stationCount }}个基站,{{
  32 + dataInfo.keyboardCount
33 }}套答题器设备。 33 }}套答题器设备。
34 </p> 34 </p>
35 </div> 35 </div>
@@ -44,7 +44,7 @@ @@ -44,7 +44,7 @@
44 </div> 44 </div>
45 <div class="nav-item item1 item-child2" @click="links('/card')"> 45 <div class="nav-item item1 item-child2" @click="links('/card')">
46 <img class="icon" src="../../assets/nav/card.png" alt="" /> 46 <img class="icon" src="../../assets/nav/card.png" alt="" />
47 - <p class="p1">发卡补卡</p> 47 + <p class="p1">发卡记录</p>
48 <p class="p2">查看发卡、换卡记录信息。</p> 48 <p class="p2">查看发卡、换卡记录信息。</p>
49 </div> 49 </div>
50 <div class="nav-item item1 item-child2" @click="links('/down')"> 50 <div class="nav-item item1 item-child2" @click="links('/down')">
@@ -65,15 +65,15 @@ @@ -65,15 +65,15 @@
65 <img class="icon" :src="getImgs(item.path)" alt="" /> 65 <img class="icon" :src="getImgs(item.path)" alt="" />
66 <div class="text" v-if="item.path == '/setUpConglomerate'"> 66 <div class="text" v-if="item.path == '/setUpConglomerate'">
67 <p class="p1">学校管理</p> 67 <p class="p1">学校管理</p>
68 - <p class="p2">管理3个区域,14个学校。</p> 68 + <p class="p2">管理{{dataInfo.regionCount}}个区域,{{dataInfo.schoolCount}}个学校。</p>
69 </div> 69 </div>
70 <div class="text" v-else-if="item.path == '/setUpAccount'"> 70 <div class="text" v-else-if="item.path == '/setUpAccount'">
71 <p class="p1">账号管理</p> 71 <p class="p1">账号管理</p>
72 - <p class="p2">共35个各层级管理员账号。</p> 72 + <p class="p2">共{{dataInfo.regionManagerCount+dataInfo.schoolManagerCount}}个各层级管理员账号。</p>
73 </div> 73 </div>
74 <div class="text" v-else-if="item.path == '/device'"> 74 <div class="text" v-else-if="item.path == '/device'">
75 <p class="p1">设备状态</p> 75 <p class="p1">设备状态</p>
76 - <p class="p2">管理14个基站,396套答题器设备。</p> 76 + <p class="p2">管理{{dataInfo.stationCount}}个基站,{{dataInfo.keyboardCount}}套答题器设备。</p>
77 </div> 77 </div>
78 <div class="text" v-else-if="item.path == '/analysis'"> 78 <div class="text" v-else-if="item.path == '/analysis'">
79 <p class="p1">使用分析</p> 79 <p class="p1">使用分析</p>
@@ -96,22 +96,22 @@ @@ -96,22 +96,22 @@
96 <img class="icon" :src="getImgs(item.path)" alt="" /> 96 <img class="icon" :src="getImgs(item.path)" alt="" />
97 <div class="text" v-if="item.path == '/examinationPaper'"> 97 <div class="text" v-if="item.path == '/examinationPaper'">
98 <p class="p1">备题组卷</p> 98 <p class="p1">备题组卷</p>
99 - <p class="p2">管理{{ schoolInfo.paperCount }}套答题卡。</p> 99 + <p class="p2">管理{{ dataInfo.paperCount }}套答题卡。</p>
100 </div> 100 </div>
101 <div class="text" v-else-if="item.path == '/portrait'"> 101 <div class="text" v-else-if="item.path == '/portrait'">
102 <p class="p1">学生画像</p> 102 <p class="p1">学生画像</p>
103 - <!-- <p class="p2">共分析{{ schoolInfo.imagesCount }}名学生成绩。</p> --> 103 + <!-- <p class="p2">共分析{{ dataInfo.imagesCount }}名学生成绩。</p> -->
104 <p class="p2">功能开发中。</p> 104 <p class="p2">功能开发中。</p>
105 </div> 105 </div>
106 <div class="text" v-else-if="item.path == '/ask'"> 106 <div class="text" v-else-if="item.path == '/ask'">
107 <p class="p1">随堂问报表</p> 107 <p class="p1">随堂问报表</p>
108 <p class="p2"> 108 <p class="p2">
109 - 对{{ schoolInfo.classPeriodCount }}套随堂问答题记录分析。 109 + 对{{ dataInfo.classPeriodCount }}套随堂问答题记录分析。
110 </p> 110 </p>
111 </div> 111 </div>
112 <div class="text" v-else-if="item.path == '/test'"> 112 <div class="text" v-else-if="item.path == '/test'">
113 <p class="p1">即时测报表</p> 113 <p class="p1">即时测报表</p>
114 - <p class="p2">对{{ schoolInfo.examCount }}套即时测答题记录分析。</p> 114 + <p class="p2">对{{ dataInfo.examCount }}套即时测答题记录分析。</p>
115 </div> 115 </div>
116 </li> 116 </li>
117 </template> 117 </template>
@@ -126,7 +126,7 @@ export default { @@ -126,7 +126,7 @@ export default {
126 return { 126 return {
127 type: "", 127 type: "",
128 navList: [], 128 navList: [],
129 - schoolInfo: {}, 129 + dataInfo: {},
130 }; 130 };
131 }, 131 },
132 watch: { 132 watch: {
@@ -164,6 +164,8 @@ export default { @@ -164,6 +164,8 @@ export default {
164 this.schoolIndex(); 164 this.schoolIndex();
165 } else if (this.type == "ROLE_JIAOSHI" || this.type == "ROLE_BANZHUREN") { 165 } else if (this.type == "ROLE_JIAOSHI" || this.type == "ROLE_BANZHUREN") {
166 this.teacherIndex(); 166 this.teacherIndex();
  167 + }else if (this.type == "ROLE_JITUAN") {
  168 + this.tenantIndex();
167 } 169 }
168 }, 170 },
169 methods: { 171 methods: {
@@ -178,7 +180,7 @@ export default { @@ -178,7 +180,7 @@ export default {
178 async teacherIndex() { 180 async teacherIndex() {
179 const { data, status, info } = await this.$request.teacherIndex(); 181 const { data, status, info } = await this.$request.teacherIndex();
180 if (status === 0) { 182 if (status === 0) {
181 - this.schoolInfo = { ...data }; 183 + this.dataInfo = { ...data };
182 } else { 184 } else {
183 this.$message.error(info); 185 this.$message.error(info);
184 } 186 }
@@ -186,7 +188,15 @@ export default { @@ -186,7 +188,15 @@ export default {
186 async schoolIndex() { 188 async schoolIndex() {
187 const { data, status, info } = await this.$request.schoolIndex(); 189 const { data, status, info } = await this.$request.schoolIndex();
188 if (status === 0) { 190 if (status === 0) {
189 - this.schoolInfo = { ...data }; 191 + this.dataInfo = { ...data };
  192 + } else {
  193 + this.$message.error(info);
  194 + }
  195 + },
  196 + async tenantIndex() {
  197 + const { data, status, info } = await this.$request.tenantIndex();
  198 + if (status === 0) {
  199 + this.dataInfo = { ...data };
190 } else { 200 } else {
191 this.$message.error(info); 201 this.$message.error(info);
192 } 202 }
src/views/login/index.vue
@@ -90,12 +90,14 @@ export default { @@ -90,12 +90,14 @@ export default {
90 disableClick: true, 90 disableClick: true,
91 passwordType: "password", 91 passwordType: "password",
92 loginForm: { 92 loginForm: {
93 - username: "13610050254",  
94 - password: "Pw050254#", 93 + // username: "13610050254",
  94 + // password: "Pw050254#",
95 // username: "18946034886", 95 // username: "18946034886",
96 // password: "Pw034886#", 96 // password: "Pw034886#",
97 // username: "18332123505", 97 // username: "18332123505",
98 // password: "Pw123505#", 98 // password: "Pw123505#",
  99 + username: "15911715665",
  100 + password: "Csiy88888",
99 }, 101 },
100 loginRules: { 102 loginRules: {
101 username: [ 103 username: [
src/views/setUp/account.vue
@@ -4,10 +4,44 @@ @@ -4,10 +4,44 @@
4 <template slot="title"> 4 <template slot="title">
5 <span>账号管理</span> 5 <span>账号管理</span>
6 </template> 6 </template>
  7 + <template slot="btns" v-if="role == 'ROLE_JITUAN'">
  8 + <el-tooltip effect="dark" content="导入账号" placement="bottom">
  9 + <el-button
  10 + type="primary"
  11 + icon="el-icon-upload2"
  12 + size="mini"
  13 + plain
  14 + circle
  15 + @click="diaUp = true"
  16 + ></el-button>
  17 + </el-tooltip>
  18 + <el-tooltip effect="dark" content="添加账号" placement="bottom">
  19 + <el-button
  20 + type="primary"
  21 + icon="el-icon-plus"
  22 + size="mini"
  23 + plain
  24 + circle
  25 + @click="openAddDia"
  26 + ></el-button>
  27 + </el-tooltip>
  28 + </template>
7 </back-box> 29 </back-box>
8 <div class="answer-header"> 30 <div class="answer-header">
9 <div class="sel-box"> 31 <div class="sel-box">
  32 + <el-cascader
  33 + v-if="role == 'ROLE_JITUAN'"
  34 + class="sel"
  35 + collapse-tags
  36 + clearable
  37 + placeholder="选择学校"
  38 + v-model="query.schoolId"
  39 + :options="schoolList"
  40 + :props="props"
  41 + :show-all-levels="false"
  42 + ></el-cascader>
10 <el-select 43 <el-select
  44 + v-else
11 class="sel" 45 class="sel"
12 v-model="query.roleId" 46 v-model="query.roleId"
13 placeholder="选择账号角色" 47 placeholder="选择账号角色"
@@ -31,7 +65,9 @@ @@ -31,7 +65,9 @@
31 <el-option label="禁用" :value="1"></el-option> 65 <el-option label="禁用" :value="1"></el-option>
32 </el-select> 66 </el-select>
33 <el-input 67 <el-input
34 - placeholder="请输入老师账号" 68 + :placeholder="
  69 + role != 'ROLE_JITUAN' ? '请输入老师账号' : '请输入账号名称'
  70 + "
35 v-model="query.loginName" 71 v-model="query.loginName"
36 class="input-with-select" 72 class="input-with-select"
37 @keyup.enter.native="(page = 1), _QueryData(2)" 73 @keyup.enter.native="(page = 1), _QueryData(2)"
@@ -43,6 +79,7 @@ @@ -43,6 +79,7 @@
43 ></el-button> 79 ></el-button>
44 </el-input> 80 </el-input>
45 <el-input 81 <el-input
  82 + v-if="role != 'ROLE_JITUAN'"
46 placeholder="请输入老师姓名" 83 placeholder="请输入老师姓名"
47 v-model="query.realName" 84 v-model="query.realName"
48 class="input-with-select" 85 class="input-with-select"
@@ -54,6 +91,13 @@ @@ -54,6 +91,13 @@
54 @click="(page = 1), _QueryData(3)" 91 @click="(page = 1), _QueryData(3)"
55 ></el-button> 92 ></el-button>
56 </el-input> 93 </el-input>
  94 + <el-button
  95 + v-if="role == 'ROLE_JITUAN'"
  96 + type="primary"
  97 + round
  98 + @click="_QueryData(4)"
  99 + >筛选</el-button
  100 + >
57 </div> 101 </div>
58 </div> 102 </div>
59 <div class="table-box"> 103 <div class="table-box">
@@ -82,6 +126,18 @@ @@ -82,6 +126,18 @@
82 }}</span> 126 }}</span>
83 </template> 127 </template>
84 </el-table-column> 128 </el-table-column>
  129 + <el-table-column
  130 + v-if="role == 'ROLE_JITUAN'"
  131 + prop="regionList"
  132 + label="管辖范围"
  133 + align="center"
  134 + >
  135 + <template slot-scope="scoped" v-if="scoped.row.regionList">
  136 + <span v-for="item in scoped.row.regionList" :key="item.id">{{
  137 + item.regionName
  138 + }}</span>
  139 + </template>
  140 + </el-table-column>
85 <el-table-column prop="available" label="状态" align="center" 141 <el-table-column prop="available" label="状态" align="center"
86 ><template slot-scope="scoped">{{ 142 ><template slot-scope="scoped">{{
87 `${scoped.row.available == 0 ? "正常" : "禁用"}` 143 `${scoped.row.available == 0 ? "正常" : "禁用"}`
@@ -177,15 +233,123 @@ @@ -177,15 +233,123 @@
177 <el-button @click="diaCount = false">取 消</el-button> 233 <el-button @click="diaCount = false">取 消</el-button>
178 </div> 234 </div>
179 </el-dialog> 235 </el-dialog>
  236 + <el-dialog title="添加账号" :visible.sync="diaAdd" width="400">
  237 + <el-form
  238 + class="form-box"
  239 + :model="formAddCount"
  240 + :rules="ruleAddCount"
  241 + ref="formAddCount"
  242 + label-width="160px"
  243 + >
  244 + <el-form-item label="手机号码:" prop="phone">
  245 + <el-col :span="12">
  246 + <el-input
  247 + placeholder="请输入联系电话"
  248 + v-model.trim="formAddCount.phone"
  249 + maxlength="11"
  250 + >
  251 + </el-input>
  252 + </el-col>
  253 + </el-form-item>
  254 + <el-form-item label="密码:" prop="password">
  255 + <el-col :span="12">
  256 + <el-input
  257 + placeholder="请输入密码"
  258 + v-model.trim="formAddCount.password"
  259 + maxlength="18"
  260 + >
  261 + </el-input>
  262 + </el-col>
  263 + </el-form-item>
  264 + <el-form-item label="姓名:" prop="realName">
  265 + <el-col :span="12">
  266 + <el-input
  267 + placeholder="请输入姓名"
  268 + v-model.trim="formAddCount.realName"
  269 + maxlength="30"
  270 + >
  271 + </el-input>
  272 + </el-col>
  273 + </el-form-item>
  274 + <el-form-item label="选择角色:" prop="roleId">
  275 + <el-col :span="12">
  276 + <el-select
  277 + class="sel"
  278 + v-model="formAddCount.roleId"
  279 + placeholder="选择角色"
  280 + >
  281 + <el-option
  282 + v-for="item in tenantRoleList"
  283 + :key="item.id"
  284 + :label="item.roleName"
  285 + :value="item.id"
  286 + ></el-option>
  287 + </el-select>
  288 + </el-col>
  289 + </el-form-item>
  290 + <el-form-item label="选择管辖范围:" prop="regionId">
  291 + <el-col :span="12">
  292 + <el-select
  293 + class="sel"
  294 + v-model="formAddCount.regionId"
  295 + placeholder="选择管辖范围"
  296 + >
  297 + <el-option
  298 + v-for="item in regionList"
  299 + :key="item.id"
  300 + :label="item.regionName"
  301 + :value="item.id"
  302 + ></el-option>
  303 + </el-select>
  304 + </el-col>
  305 + </el-form-item>
  306 + </el-form>
  307 + <div class="dialog-footer" slot="footer">
  308 + <el-button @click="saveAddCount">确 定</el-button>
  309 + <el-button @click="diaAdd = false">取 消</el-button>
  310 + </div>
  311 + </el-dialog>
  312 + <el-dialog title="导入账号名单" :visible.sync="diaUp" width="600">
  313 + <up-load id="downTeacher" :url="url" fileName="教师名单">
  314 + <p class="down-txt" slot="down">
  315 + 通过Excel名单导入账号名单,点击
  316 + <el-link type="danger" @click="downExcel">模板下载</el-link> 。
  317 + </p>
  318 + </up-load>
  319 + <div class="dialog-footer" slot="footer">
  320 + <el-button @click="diaUp = false">取 消</el-button>
  321 + </div>
  322 + </el-dialog>
180 </div> 323 </div>
181 </template> 324 </template>
182 325
183 <script> 326 <script>
  327 +import { encryptLoginPassword } from "@/utils";
184 export default { 328 export default {
185 data() { 329 data() {
186 return { 330 return {
  331 + role: "",
  332 + diaUp: false,
  333 + diaAdd: false,
  334 + url: "", //上传地址
187 loading: false, 335 loading: false,
188 diaCount: false, 336 diaCount: false,
  337 + tenantRoleList: [],
  338 + regionList: [],
  339 + schoolList: [],
  340 + props: { multiple: true, checkStrictly: false },
  341 + roleList: [],
  342 + query: {
  343 + schoolId: [],
  344 + roleId: "",
  345 + available: "",
  346 + loginName: "",
  347 + realName: "",
  348 + },
  349 + tableData: [],
  350 + total: 0,
  351 + page: 1,
  352 + size: 20,
189 formCount: { 353 formCount: {
190 userId: "", 354 userId: "",
191 loginName: "", 355 loginName: "",
@@ -199,24 +363,82 @@ export default { @@ -199,24 +363,82 @@ export default {
199 { required: true, message: "请输入教师姓名", trigger: "blur" }, 363 { required: true, message: "请输入教师姓名", trigger: "blur" },
200 ], 364 ],
201 }, 365 },
202 - roleList: [],  
203 - query: {  
204 - roleId: "",  
205 - available: "",  
206 - loginName: "", 366 + formAddCount: {
  367 + phone: "",
207 realName: "", 368 realName: "",
  369 + password: "",
  370 + roleId: "",
  371 + regionId: "",
  372 + },
  373 + ruleAddCount: {
  374 + phone: [{ required: true, message: "请输入联系电话", trigger: "blur" }],
  375 + realName: [{ required: true, message: "请输入姓名", trigger: "blur" }],
  376 + password: [{ required: true, message: "请输入密码", trigger: "blur" }],
  377 + roleId: [{ required: true, message: "请选择角色", trigger: "blur" }],
  378 + regionId: [
  379 + { required: true, message: "请选择权限区域", trigger: "blur" },
  380 + ],
208 }, 381 },
209 - tableData: [],  
210 - total: 0,  
211 - page: 1,  
212 - size: 20,  
213 }; 382 };
214 }, 383 },
215 created() { 384 created() {
  385 + let role = "";
  386 + this.$store.getters.info.permissions.map((item) => {
  387 + if (item.roleName == this.$store.getters.info.showRoleName) {
  388 + role = item.role;
  389 + }
  390 + });
  391 + this.role = role ? role : this.$store.getters.info.permissions[0].role;
  392 + if (this.role == "ROLE_JITUAN") {
  393 + this._TenantRoleList();
  394 + this._RegionList();
  395 + } else {
  396 + this._RoleList();
  397 + }
216 this._QueryData(4); 398 this._QueryData(4);
217 - this._RoleList();  
218 }, 399 },
219 methods: { 400 methods: {
  401 + async downExcel() {
  402 + let data = await this.$request.downDevice();
  403 + if (data && !data.code) {
  404 + let blob = new Blob([data], {
  405 + type: "application/vnd.ms-excel;charset=utf-8",
  406 + });
  407 + downloadFile(`账号信息.xlsx`, blob);
  408 + } else {
  409 + this.$message.error(data.message);
  410 + }
  411 + },
  412 + openAddDia() {
  413 + //添加账号
  414 + this.formAddCount.phone = "";
  415 + this.formAddCount.realName = "";
  416 + this.formAddCount.password = "";
  417 + this.formAddCount.roleId = "";
  418 + this.formAddCount.regionId = "";
  419 + this.diaAdd = true;
  420 + },
  421 + saveAddCount() {
  422 + this.$refs.formAddCount.validate(async (valid) => {
  423 + if (valid) {
  424 + let params = { ...this.formAddCount };
  425 + params.password = encryptLoginPassword(params.password);
  426 + const { data, status, info } = await this.$request.addUser({
  427 + ...params,
  428 + });
  429 + if (status === 0) {
  430 + this.$message.success(info);
  431 + this._QueryData(4);
  432 + this.diaAdd = false;
  433 + } else {
  434 + this.$message.error(info);
  435 + }
  436 + } else {
  437 + this.$message.warning("输入有误请检查!");
  438 + return false;
  439 + }
  440 + });
  441 + },
220 setCount(obj) { 442 setCount(obj) {
221 this.formCount.userId = obj.userId; 443 this.formCount.userId = obj.userId;
222 this.formCount.loginName = obj.loginName; 444 this.formCount.loginName = obj.loginName;
@@ -224,6 +446,7 @@ export default { @@ -224,6 +446,7 @@ export default {
224 this.diaCount = true; 446 this.diaCount = true;
225 }, 447 },
226 handleDropdownClick(value, item) { 448 handleDropdownClick(value, item) {
  449 + console.log(item);
227 //更多 450 //更多
228 if (value == 2) { 451 if (value == 2) {
229 this.$confirm("确定要删除这条账号信息吗?", "提示", { 452 this.$confirm("确定要删除这条账号信息吗?", "提示", {
@@ -246,10 +469,16 @@ export default { @@ -246,10 +469,16 @@ export default {
246 saveCount() { 469 saveCount() {
247 this.$refs.formCount.validate(async (valid) => { 470 this.$refs.formCount.validate(async (valid) => {
248 if (valid) { 471 if (valid) {
249 - const { data, status, info } = await this.$request.updateUser({  
250 - type: 3,  
251 - ...this.formCount,  
252 - }); 472 + const { data, status, info } =
  473 + this.role != "ROLE_JITUAN"
  474 + ? await this.$request.updateUser({
  475 + type: 3,
  476 + ...this.formCount,
  477 + })
  478 + : await this.$request.tenantUpdateUser({
  479 + type: 3,
  480 + ...this.formCount,
  481 + });
253 if (status === 0) { 482 if (status === 0) {
254 this.$message.success(info); 483 this.$message.success(info);
255 this._QueryData(4); 484 this._QueryData(4);
@@ -257,22 +486,27 @@ export default { @@ -257,22 +486,27 @@ export default {
257 this.$message.error(info); 486 this.$message.error(info);
258 } 487 }
259 } else { 488 } else {
260 - console.log("输入有误请检查!"); 489 + this.$message.warning("输入有误请检查!");
261 return false; 490 return false;
262 } 491 }
263 }); 492 });
264 }, 493 },
265 async updateUser(obj, type) { 494 async updateUser(obj, type) {
266 let query = { 495 let query = {
267 - userId: obj.userId, 496 + userId: obj.id,
268 type: type, 497 type: type,
269 }; 498 };
270 if (type == 1) { 499 if (type == 1) {
271 query.available = obj.available == 0 ? 1 : 0; 500 query.available = obj.available == 0 ? 1 : 0;
272 } 501 }
273 - const { data, status, info } = await this.$request.updateUser({  
274 - ...query,  
275 - }); 502 + const { data, status, info } =
  503 + this.role != "ROLE_JITUAN"
  504 + ? await this.$request.updateUser({
  505 + ...query,
  506 + })
  507 + : await this.$request.tenantUpdateUser({
  508 + ...query,
  509 + });
276 if (status === 0) { 510 if (status === 0) {
277 this.$message.success(info); 511 this.$message.success(info);
278 this._QueryData(4); 512 this._QueryData(4);
@@ -288,6 +522,37 @@ export default { @@ -288,6 +522,37 @@ export default {
288 this.$message.error(info); 522 this.$message.error(info);
289 } 523 }
290 }, 524 },
  525 + async _TenantRoleList() {
  526 + //集团-添加账号权限
  527 + const { data, status, info } = await this.$request.tenantRoleList();
  528 + if (status === 0) {
  529 + this.tenantRoleList = data.list || [];
  530 + } else {
  531 + this.$message.error(info);
  532 + }
  533 + },
  534 + async _RegionList() {
  535 + //集团-区域列表
  536 + const { data, status, info } = await this.$request.regionList();
  537 + if (status === 0) {
  538 + this.regionList = [...data.list] || [];
  539 + this.schoolList = data.list?.map((item) => {
  540 + let children = item.schoolList?.map((items) => {
  541 + return {
  542 + value: items.id,
  543 + label: items.schoolName,
  544 + };
  545 + });
  546 + return {
  547 + value: item.id,
  548 + label: item.regionName,
  549 + children: children,
  550 + };
  551 + });
  552 + } else {
  553 + this.$message.error(info);
  554 + }
  555 + },
291 async _QueryData(type) { 556 async _QueryData(type) {
292 let query = {}; 557 let query = {};
293 if (type == 1) { 558 if (type == 1) {
@@ -298,6 +563,7 @@ export default { @@ -298,6 +563,7 @@ export default {
298 } else if (type == 2) { 563 } else if (type == 2) {
299 this.query.roleId = ""; 564 this.query.roleId = "";
300 this.query.available = ""; 565 this.query.available = "";
  566 + this.query.schoolId = [];
301 query.loginName = this.query.loginName; 567 query.loginName = this.query.loginName;
302 this.query.realName = ""; 568 this.query.realName = "";
303 } else if (type == 3) { 569 } else if (type == 3) {
@@ -308,13 +574,35 @@ export default { @@ -308,13 +574,35 @@ export default {
308 } else { 574 } else {
309 query = { ...this.query }; 575 query = { ...this.query };
310 } 576 }
  577 + if (this.role == "ROLE_JITUAN") {
  578 + delete query.realName;
  579 + query.regionIds = [];
  580 + query.schoolIds = [];
  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]);
  587 + }
  588 + });
  589 + delete query.schoolId;
  590 + }
311 this.loading = true; 591 this.loading = true;
312 this.tableData = []; 592 this.tableData = [];
313 - const { data, status, info } = await this.$request.userPage({  
314 - ...query,  
315 - page: this.page,  
316 - size: this.size,  
317 - }); 593 + const { data, status, info } =
  594 + this.role != "ROLE_JITUAN"
  595 + ? await this.$request.userPage({
  596 + ...query,
  597 + page: this.page,
  598 + size: this.size,
  599 + })
  600 + : await this.$request.tenantUserPage({
  601 + ...query,
  602 + page: this.page,
  603 + size: this.size,
  604 + });
  605 +
318 this.loading = false; 606 this.loading = false;
319 if (status === 0) { 607 if (status === 0) {
320 this.tableData = data.list || []; 608 this.tableData = data.list || [];
src/views/setUp/conglomerate.vue
@@ -6,85 +6,79 @@ @@ -6,85 +6,79 @@
6 </template> 6 </template>
7 </back-box> 7 </back-box>
8 <div class="page-content"> 8 <div class="page-content">
9 - <el-empty  
10 - :image-size="100"  
11 - v-if="!tableList.length && loading == false"  
12 - description="没有更多数据"  
13 - ></el-empty>  
14 - <div v-else class="content-box" v-loading="loading"> 9 + <div class="content-box" v-loading="loading">
15 <div class="left-box"> 10 <div class="left-box">
16 <p class="h-title"> 11 <p class="h-title">
17 - <span class="tog-type" @click="setType">{{  
18 - `${type == 1 ? "集团列表" : "区域列表"}`  
19 - }}</span> 12 + <span class="tog-type">集团列表</span>
20 <i class="icon el-icon-circle-plus-outline" @click="edit"></i> 13 <i class="icon el-icon-circle-plus-outline" @click="edit"></i>
21 </p> 14 </p>
22 <ul class="school-ul"> 15 <ul class="school-ul">
23 <li 16 <li
24 class="school-item" 17 class="school-item"
  18 + :class="showId == '' ? 'active' : ''"
  19 + @click="(showId = ''), showSchool(false)"
  20 + >
  21 + 全部({{ schoolTotal }})
  22 + </li>
  23 + <li
  24 + class="school-item"
25 v-for="item in tableList" 25 v-for="item in tableList"
26 :key="item.id" 26 :key="item.id"
27 :class="showId == item.id ? 'active' : ''" 27 :class="showId == item.id ? 'active' : ''"
28 - @click="showSchool(item)" 28 + @click="(showId = item.id), showSchool()"
29 > 29 >
30 - {{ item.name }}({{ item.num }})  
31 - <!-- <i class="el-icon-edit-outline" @click.stop="setSchool(item)"></i> --> 30 + {{ item.regionName }}({{ item.schoolCount }})
  31 + <i class="el-icon-edit-outline" @click.stop="setRegion(item)"></i>
32 </li> 32 </li>
33 </ul> 33 </ul>
34 </div> 34 </div>
35 <div class="content-detail"> 35 <div class="content-detail">
36 <div class="title-box"> 36 <div class="title-box">
37 - <span>管辖的学校(5)</span> 37 + <span>管辖的学校({{schoolData.num}})</span>
38 <i class="icon el-icon-circle-plus-outline" @click="addSchool"></i> 38 <i class="icon el-icon-circle-plus-outline" @click="addSchool"></i>
39 </div> 39 </div>
40 - <ul class="detail-list"> 40 + <el-empty
  41 + :image-size="100"
  42 + v-if="!schoolData.list.length && loading == false"
  43 + description="没有更多数据"
  44 + ></el-empty>
  45 + <ul v-else class="detail-list">
41 <li 46 <li
42 class="detail-item" 47 class="detail-item"
43 v-for="item in schoolData.list" 48 v-for="item in schoolData.list"
44 :key="item.id" 49 :key="item.id"
45 > 50 >
46 <p class="item-tit"> 51 <p class="item-tit">
47 - <span class="name" :class="type == 1 ? 'active' : ''">{{  
48 - item.name 52 + <span class="name active" @click="setSchool(item)">{{
  53 + item.schoolName
49 }}</span> 54 }}</span>
50 - <i  
51 - @click="addAdmin(item)"  
52 - v-if="type == 1"  
53 - class="icon el-icon-user-solid"  
54 - ></i>  
55 - <el-popconfirm  
56 - v-if="type == 2"  
57 - title="确定删除吗?"  
58 - @confirm="removeSchool(item)"  
59 - >  
60 - <i slot="reference" class="icon el-icon-delete"></i>  
61 - </el-popconfirm> 55 + <i @click="addAdmin(item)" class="icon el-icon-user-solid"></i>
62 </p> 56 </p>
63 <div class="info"> 57 <div class="info">
64 <p class="info-item"> 58 <p class="info-item">
65 <span class="txt">基站</span> 59 <span class="txt">基站</span>
66 <img class="pic" src="../../assets/images/jizhan.png" /> 60 <img class="pic" src="../../assets/images/jizhan.png" />
67 - <span>49</span> 61 + <span>{{ item.stationCount }}</span>
68 </p> 62 </p>
69 <p class="info-item"> 63 <p class="info-item">
70 <span class="txt">键盘</span> 64 <span class="txt">键盘</span>
71 <img class="pic" src="../../assets/images/jianpan.png" /> 65 <img class="pic" src="../../assets/images/jianpan.png" />
72 - <span>49</span> 66 + <span>{{ item.keyboardCount }}</span>
73 </p> 67 </p>
74 <p class="info-item"> 68 <p class="info-item">
75 <span class="txt">班级</span> 69 <span class="txt">班级</span>
76 <img class="pic" src="../../assets/images/banji.png" /> 70 <img class="pic" src="../../assets/images/banji.png" />
77 - <span>49</span> 71 + <span>{{ item.classCount }}</span>
78 </p> 72 </p>
79 <p class="info-item"> 73 <p class="info-item">
80 <span class="txt">学生</span> 74 <span class="txt">学生</span>
81 <img class="pic" src="../../assets/images/xuesheng.png" /> 75 <img class="pic" src="../../assets/images/xuesheng.png" />
82 - <span>49</span> 76 + <span>{{ item.studentCount }}</span>
83 </p> 77 </p>
84 <p class="info-item"> 78 <p class="info-item">
85 <span class="txt">老师</span> 79 <span class="txt">老师</span>
86 <img class="pic" src="../../assets/images/laoshi.png" /> 80 <img class="pic" src="../../assets/images/laoshi.png" />
87 - <span>49</span> 81 + <span>{{ item.teacherCount }}</span>
88 </p> 82 </p>
89 </div> 83 </div>
90 </li> 84 </li>
@@ -92,7 +86,11 @@ @@ -92,7 +86,11 @@
92 </div> 86 </div>
93 </div> 87 </div>
94 </div> 88 </div>
95 - <el-dialog title="添加区域/集团" :visible.sync="diaCL" width="400"> 89 + <el-dialog
  90 + :title="isAdd ? '添加区域/集团' : '修改区域/集团'"
  91 + :visible.sync="diaCL"
  92 + width="400"
  93 + >
96 <el-form 94 <el-form
97 class="form-box" 95 class="form-box"
98 ref="formCL" 96 ref="formCL"
@@ -100,11 +98,11 @@ @@ -100,11 +98,11 @@
100 :rules="rulesCL" 98 :rules="rulesCL"
101 label-width="160px" 99 label-width="160px"
102 > 100 >
103 - <el-form-item label="区域/集团名称:" prop="name"> 101 + <el-form-item label="区域/集团名称:" prop="regionName">
104 <el-col :span="10"> 102 <el-col :span="10">
105 <el-input 103 <el-input
106 maxlength="30" 104 maxlength="30"
107 - v-model.trim="formCL.name" 105 + v-model.trim="formCL.regionName"
108 placeholder="请输入区域/集团名称" 106 placeholder="请输入区域/集团名称"
109 /> 107 />
110 </el-col> 108 </el-col>
@@ -124,7 +122,7 @@ @@ -124,7 +122,7 @@
124 label-width="160px" 122 label-width="160px"
125 > 123 >
126 <el-form-item label="学校名称:"> 124 <el-form-item label="学校名称:">
127 - <span>{{ schoolData.name + formAdmin.name }}</span> 125 + <span>{{ formAdmin.schoolName }}</span>
128 </el-form-item> 126 </el-form-item>
129 <el-form-item label="手机号码:" prop="phone"> 127 <el-form-item label="手机号码:" prop="phone">
130 <el-col :span="10"> 128 <el-col :span="10">
@@ -139,7 +137,8 @@ @@ -139,7 +137,8 @@
139 <el-col :span="10"> 137 <el-col :span="10">
140 <el-input 138 <el-input
141 maxlength="18" 139 maxlength="18"
142 - v-model.trim="formAdmin.phone" 140 + v-model.trim="formAdmin.password"
  141 + show-password
143 placeholder="请输入密码" 142 placeholder="请输入密码"
144 /> 143 />
145 </el-col> 144 </el-col>
@@ -167,11 +166,11 @@ @@ -167,11 +166,11 @@
167 :rules="rulesSchool" 166 :rules="rulesSchool"
168 label-width="160px" 167 label-width="160px"
169 > 168 >
170 - <el-form-item label="学校名称:" prop="name"> 169 + <el-form-item label="学校名称:" prop="schoolName">
171 <el-col :span="10"> 170 <el-col :span="10">
172 <el-input 171 <el-input
173 - maxlength="11"  
174 - v-model.trim="formSchool.name" 172 + maxlength="30"
  173 + v-model.trim="formSchool.schoolName"
175 placeholder="请输入学校名称" 174 placeholder="请输入学校名称"
176 /> 175 />
177 </el-col> 176 </el-col>
@@ -179,24 +178,25 @@ @@ -179,24 +178,25 @@
179 <el-form-item label="所属区域/集团:"> 178 <el-form-item label="所属区域/集团:">
180 <el-select 179 <el-select
181 class="sel" 180 class="sel"
182 - v-model="formSchool.quyu" 181 + v-model="formSchool.regionId"
183 placeholder="选择所属区域/集团" 182 placeholder="选择所属区域/集团"
184 > 183 >
185 <el-option 184 <el-option
186 v-for="item in tableList" 185 v-for="item in tableList"
187 :key="item.id" 186 :key="item.id"
188 - :label="item.name" 187 + :label="item.regionName"
189 :value="item.id" 188 :value="item.id"
190 > 189 >
191 </el-option> 190 </el-option>
192 </el-select> 191 </el-select>
193 </el-form-item> 192 </el-form-item>
194 - <el-form-item label="学段:" prop="grade">  
195 - <el-checkbox-group v-model="formSchool.grade"> 193 + <el-form-item label="学段:">
  194 + <el-checkbox-group v-model="formSchool.sections">
196 <el-checkbox :label="1">小学</el-checkbox> 195 <el-checkbox :label="1">小学</el-checkbox>
197 <el-checkbox :label="2">初中</el-checkbox> 196 <el-checkbox :label="2">初中</el-checkbox>
198 <el-checkbox :label="3">高中</el-checkbox> 197 <el-checkbox :label="3">高中</el-checkbox>
199 <el-checkbox :label="4">本科</el-checkbox> 198 <el-checkbox :label="4">本科</el-checkbox>
  199 + <el-checkbox :label="7">高补</el-checkbox>
200 </el-checkbox-group> 200 </el-checkbox-group>
201 </el-form-item> 201 </el-form-item>
202 </el-form> 202 </el-form>
@@ -207,47 +207,73 @@ @@ -207,47 +207,73 @@
207 <el-button round @click="diaSchool = false">取 消</el-button> 207 <el-button round @click="diaSchool = false">取 消</el-button>
208 </div> 208 </div>
209 </el-dialog> 209 </el-dialog>
  210 + <el-dialog title="学校信息修改" :visible.sync="diaSchool2" width="400">
  211 + <el-form
  212 + class="form-box"
  213 + ref="formSchool2"
  214 + :model="setFormSchool"
  215 + :rules="rulesSchool"
  216 + label-width="160px"
  217 + >
  218 + <el-form-item label="学校名称:" prop="schoolName">
  219 + <el-col :span="10">
  220 + <el-input
  221 + maxlength="30"
  222 + v-model.trim="setFormSchool.schoolName"
  223 + placeholder="请输入学校名称"
  224 + />
  225 + </el-col>
  226 + </el-form-item>
  227 + </el-form>
  228 + <div class="dialog-footer" slot="footer">
  229 + <el-button type="primary" round @click="saveSetFormSchool"
  230 + >确 定</el-button
  231 + >
  232 + <el-button round @click="diaSchool2 = false">取 消</el-button>
  233 + <el-button round @click="removeSchool">删除学校</el-button>
  234 + </div>
  235 + </el-dialog>
210 </div> 236 </div>
211 </template> 237 </template>
212 238
213 <script> 239 <script>
  240 +import { encryptLoginPassword } from "@/utils";
214 export default { 241 export default {
215 data() { 242 data() {
216 return { 243 return {
  244 + isAdd: true,
217 diaCL: false, 245 diaCL: false,
218 diaAdmin: false, 246 diaAdmin: false,
219 diaSchool: false, 247 diaSchool: false,
  248 + diaSchool2: false,
220 loading: false, 249 loading: false,
221 - type: 1, //集团列表-1 区域列表-2  
222 - showId: 1, //显示学校Id 250 + showId: "", //显示学校Id
  251 + schoolTotal: 0,
223 tableList: [ 252 tableList: [
224 // 集团列表/区域列表 253 // 集团列表/区域列表
225 { 254 {
226 id: 1, 255 id: 1,
227 - name: "云南衡水实验中学",  
228 - num: 5, 256 + regionName: "云南衡水实验中学",
  257 + schoolCount: 5,
229 }, 258 },
230 ], 259 ],
231 schoolData: { 260 schoolData: {
232 //学校信息 261 //学校信息
233 - num: 5,  
234 - name: "云南衡水实验中学",  
235 - list: [  
236 - { id: 1, name: "曲靖校区" },  
237 - { id: 2, name: "玉溪校区" },  
238 - ], 262 + num: 0,
  263 + list: [{ id: 1, schoolName: "曲靖校区" }],
239 }, 264 },
240 formCL: { 265 formCL: {
241 - name: "", 266 + regionId: "",
  267 + regionName: "",
242 }, 268 },
243 rulesCL: { 269 rulesCL: {
244 - name: [ 270 + regionName: [
245 { required: true, message: "请输入区域/集团名称", trigger: "blur" }, 271 { required: true, message: "请输入区域/集团名称", trigger: "blur" },
246 ], 272 ],
247 }, 273 },
248 formAdmin: { 274 formAdmin: {
249 - id: "",  
250 - name: "", 275 + schoolId: "",
  276 + schoolName: "",
251 phone: "", 277 phone: "",
252 password: "", 278 password: "",
253 realName: "", 279 realName: "",
@@ -258,125 +284,185 @@ export default { @@ -258,125 +284,185 @@ export default {
258 realName: [{ required: true, message: "请输入姓名", trigger: "blur" }], 284 realName: [{ required: true, message: "请输入姓名", trigger: "blur" }],
259 }, 285 },
260 formSchool: { 286 formSchool: {
261 - name: "",  
262 - grade: [],  
263 - quyu: "", 287 + schoolName: "",
  288 + regionId: "",
  289 + sections: [],
264 }, 290 },
265 rulesSchool: { 291 rulesSchool: {
266 - name: [{ required: true, message: "请输入学校名称", trigger: "blur" }],  
267 - grade: [{ required: true, message: "请选择学段", trigger: "blur" }], 292 + schoolName: [
  293 + { required: true, message: "请输入学校名称", trigger: "blur" },
  294 + ],
  295 + // sections: [{ required: true, message: "请选择学段", trigger: "blur" }],
  296 + },
  297 + setFormSchool: {
  298 + schoolId: "",
  299 + schoolName: "",
268 }, 300 },
269 }; 301 };
270 }, 302 },
  303 + created() {
  304 + this._QueryData();
  305 + this.showSchool();
  306 + },
271 methods: { 307 methods: {
272 edit() { 308 edit() {
273 //添加区域/集团 309 //添加区域/集团
274 - this.formCL.name = ""; 310 + this.isAdd = true;
  311 + this.formCL.regionId = "";
  312 + this.formCL.regionName = "";
275 this.diaCL = true; 313 this.diaCL = true;
276 }, 314 },
277 addAdmin(obj) { 315 addAdmin(obj) {
278 //添加管理员 316 //添加管理员
279 - this.formAdmin = { ...obj }; 317 + this.formAdmin.schoolId = obj.id;
  318 + this.formAdmin.schoolName = obj.schoolName;
  319 + this.formAdmin.phone = "";
  320 + this.formAdmin.password = "";
  321 + this.formAdmin.realName = "";
  322 +
  323 +
280 this.diaAdmin = true; 324 this.diaAdmin = true;
281 }, 325 },
282 - addSchool(obj) { 326 + addSchool() {
283 //添加学校 327 //添加学校
284 - this.formSchool = {  
285 - name: "",  
286 - grade: [],  
287 - quyu: "",  
288 - }; 328 + this.formSchool.name = "";
  329 + this.formSchool.grade = [];
  330 + this.formSchool.quyu = "";
289 this.diaSchool = true; 331 this.diaSchool = true;
290 }, 332 },
291 - setSchool() {  
292 - // 333 + setRegion(obj) {
  334 + this.isAdd = false;
  335 + this.formCL.regionId = obj.id;
  336 + this.formCL.regionName = obj.regionName;
  337 + this.diaCL = true;
293 }, 338 },
294 - setType() {  
295 - //集团列表、区域列表切换  
296 - this.type = this.type == 1 ? 2 : 1;  
297 - this._QueryData(); 339 + setSchool(obj) {
  340 + this.setFormSchool.schoolId = obj.id;
  341 + this.setFormSchool.schoolName = obj.schoolName;
  342 + this.diaSchool2 = true;
298 }, 343 },
299 - removeSchool(obj) {  
300 - // const { data, status, info } = await this.$request.xxx({  
301 - // id: obj.id,  
302 - // });  
303 - // if (status === 0) {  
304 - // this.$message.success(info);  
305 - // } else {  
306 - // this.$message.error(info);  
307 - // } 344 + async removeSchool() {
  345 + const { data, status, info } = await this.$request.removeSchool({
  346 + schoolId: this.setFormSchool.schoolId,
  347 + });
  348 + if (status === 0) {
  349 + this._QueryData()
  350 + this.showSchool()
  351 + this.$message.success(info);
  352 + this.diaSchool2 = false
  353 + } else {
  354 + this.$message.error(info);
  355 + }
308 }, 356 },
309 saveFormCL() { 357 saveFormCL() {
310 //保存添加区域/集团 358 //保存添加区域/集团
311 - // this.$refs["formCL"].validate(async (valid) => {  
312 - // // 验证通过:保存  
313 - // if (valid) {  
314 - // const { data, status, info } = await this.$request.xxx({  
315 - // name: this.formCL.name,  
316 - // });  
317 - // if (status === 0) {  
318 - // this.$message.success(info);  
319 - this.diaCL = false;  
320 - // } else {  
321 - // this.$message.error(info);  
322 - // }  
323 - // } else {  
324 - // this.$message.error("区域/集团名称数据有误,请检查!");  
325 - // return false;  
326 - // }  
327 - // }); 359 + this.$refs["formCL"].validate(async (valid) => {
  360 + // 验证通过:保存
  361 + if (valid) {
  362 + const { data, status, info } = await this.$request.saveRegion({
  363 + regionId: this.formCL.regionId,
  364 + regionName: this.formCL.regionName,
  365 + });
  366 + if (status === 0) {
  367 + this._QueryData()
  368 + this.$message.success(info);
  369 + this.diaCL = false;
  370 + } else {
  371 + this.$message.error(info);
  372 + }
  373 + } else {
  374 + this.$message.error("区域/集团名称数据有误,请检查!");
  375 + return false;
  376 + }
  377 + });
328 }, 378 },
329 saveFormAdmin() { 379 saveFormAdmin() {
330 //保存管理员 380 //保存管理员
331 - // this.$refs["formAdmin"].validate(async (valid) => {  
332 - // // 验证通过:保存  
333 - // if (valid) {  
334 - // const { data, status, info } = await this.$request.xxx({...formAdmin});  
335 - // if (status === 0) {  
336 - // this.$message.success(info);  
337 - this.diaAdmin = false;  
338 - // } else {  
339 - // this.$message.error(info);  
340 - // }  
341 - // } else {  
342 - // this.$message.error("区域/集团名称数据有误,请检查!");  
343 - // return false;  
344 - // }  
345 - // }); 381 + this.$refs["formAdmin"].validate(async (valid) => {
  382 + // 验证通过:保存
  383 + if (valid) {
  384 + let params = { ...this.formAdmin };
  385 + params.password = encryptLoginPassword(this.formAdmin.password);
  386 + delete params.schoolName;
  387 + const { data, status, info } = await this.$request.addSchoolManager({
  388 + ...params,
  389 + });
  390 + if (status === 0) {
  391 + this.$message.success(info);
  392 + this.diaAdmin = false;
  393 + } else {
  394 + this.$message.error(info);
  395 + }
  396 + } else {
  397 + this.$message.error("数据有误,请检查!");
  398 + return false;
  399 + }
  400 + });
346 }, 401 },
347 saveFormSchool() { 402 saveFormSchool() {
348 //保存学校 403 //保存学校
349 - // this.$refs["formAdmin"].validate(async (valid) => {  
350 - // // 验证通过:保存  
351 - // if (valid) {  
352 - // const { data, status, info } = await this.$request.xxx({...formAdmin});  
353 - // if (status === 0) {  
354 - // this.$message.success(info);  
355 - this.diaSchool = false;  
356 - // } else {  
357 - // this.$message.error(info);  
358 - // }  
359 - // } else {  
360 - // this.$message.error("区域/集团名称数据有误,请检查!");  
361 - // return false;  
362 - // }  
363 - // }); 404 + this.$refs["formSchool"].validate(async (valid) => {
  405 + // 验证通过:保存
  406 + if (valid) {
  407 + const { data, status, info } = await this.$request.saveSchool({
  408 + ...this.formSchool,
  409 + });
  410 + if (status === 0) {
  411 + this.$message.success(info);
  412 + this.diaSchool = false;
  413 + this._QueryData();
  414 + this.showSchool();
  415 + } else {
  416 + this.$message.error(info);
  417 + }
  418 + } else {
  419 + this.$message.error("学校名称数据有误,请检查!");
  420 + return false;
  421 + }
  422 + });
364 }, 423 },
365 - async showSchool(obj) {  
366 - // const { data, status, info } = await this.$request.xxx();  
367 - // if (status === 0) {  
368 - // this.$message.success(info);  
369 - // } else {  
370 - // this.$message.error(info);  
371 - // } 424 + saveSetFormSchool() {
  425 + //保存学校
  426 + this.$refs["formSchool2"].validate(async (valid) => {
  427 + // 验证通过:保存
  428 + if (valid) {
  429 + const { data, status, info } = await this.$request.saveSchool({
  430 + ...this.setFormSchool,
  431 + });
  432 + if (status === 0) {
  433 + this.$message.success(info);
  434 + this.diaSchool2 = false;
  435 + this.showSchool();
  436 + } else {
  437 + this.$message.error(info);
  438 + }
  439 + } else {
  440 + this.$message.error("学校名称数据有误,请检查!");
  441 + return false;
  442 + }
  443 + });
  444 + },
  445 + async showSchool() {
  446 + this.loading = true
  447 + const { data, status, info } = await this.$request.schoolList({
  448 + regionId: this.showId,
  449 + });
  450 + this.loading = false
  451 + if (status === 0) {
  452 + this.schoolData.list = [...data.list] || [];
  453 + this.schoolData.num = data.count;
  454 + } else {
  455 + this.$message.error(info);
  456 + }
372 }, 457 },
373 async _QueryData() { 458 async _QueryData() {
374 - // const { data, status, info } = await this.$request.xxx();  
375 - // if (status === 0) {  
376 - // this.$message.success(info);  
377 - // } else {  
378 - // this.$message.error(info);  
379 - // } 459 + const { data, status, info } = await this.$request.regionList();
  460 + if (status === 0) {
  461 + this.tableList = [...data.list] || [];
  462 + this.schoolTotal = data.schoolCount;
  463 + } else {
  464 + this.$message.error(info);
  465 + }
380 }, 466 },
381 }, 467 },
382 }; 468 };
src/views/setUp/school.vue
@@ -174,8 +174,8 @@ @@ -174,8 +174,8 @@
174 <el-form-item label="手机号码:" prop="contactPhone" 174 <el-form-item label="手机号码:" prop="contactPhone"
175 ><el-col :span="10" 175 ><el-col :span="10"
176 ><el-input 176 ><el-input
177 - type="number"  
178 v-model="formSchool.contactPhone" 177 v-model="formSchool.contactPhone"
  178 + type="number"
179 oninput="if(value.length > 11) value = value.slice(0,11)" 179 oninput="if(value.length > 11) value = value.slice(0,11)"
180 placeholder="请输入联系人手机号码" 180 placeholder="请输入联系人手机号码"
181 ></el-input></el-col 181 ></el-input></el-col
src/views/setUp/student.vue
@@ -284,7 +284,7 @@ export default { @@ -284,7 +284,7 @@ export default {
284 this.$message.error(info); 284 this.$message.error(info);
285 } 285 }
286 } else { 286 } else {
287 - console.log("输入有误请检查!"); 287 + this.$message.warning("输入有误请检查!");
288 return false; 288 return false;
289 } 289 }
290 }); 290 });
src/views/setUp/teacher.vue
@@ -59,9 +59,9 @@ @@ -59,9 +59,9 @@
59 </el-input> 59 </el-input>
60 <el-input 60 <el-input
61 type="number" 61 type="number"
  62 + oninput="if(value.length > 11) value = value.slice(0,11)"
62 placeholder="请输入老师手机号" 63 placeholder="请输入老师手机号"
63 v-model="query.phone" 64 v-model="query.phone"
64 - maxlength="11"  
65 class="input-with-select" 65 class="input-with-select"
66 @keyup.enter.native="_QueryData(3)" 66 @keyup.enter.native="_QueryData(3)"
67 > 67 >
@@ -216,7 +216,9 @@ @@ -216,7 +216,9 @@
216 </div> 216 </div>
217 </el-dialog> 217 </el-dialog>
218 <el-dialog 218 <el-dialog
219 - :title="isAdd ? '添加教师' : setTercherType==1?'编辑教师信息':'管理班级'" 219 + :title="
  220 + isAdd ? '添加教师' : setTercherType == 1 ? '编辑教师信息' : '管理班级'
  221 + "
220 :visible.sync="diaTeacher" 222 :visible.sync="diaTeacher"
221 width="400" 223 width="400"
222 > 224 >
@@ -227,8 +229,8 @@ @@ -227,8 +229,8 @@
227 :rules="rulesTeacher" 229 :rules="rulesTeacher"
228 label-width="160px" 230 label-width="160px"
229 > 231 >
230 - <el-form-item v-show="!isAdd && setTercherType == 2" label="教师姓名:">  
231 - <span>{{formTeacher.teacherName}}</span> 232 + <el-form-item v-show="!isAdd && setTercherType == 2" label="教师姓名:">
  233 + <span>{{ formTeacher.teacherName }}</span>
232 </el-form-item> 234 </el-form-item>
233 <el-form-item 235 <el-form-item
234 v-show="isAdd || (!isAdd && setTercherType == 1)" 236 v-show="isAdd || (!isAdd && setTercherType == 1)"
@@ -236,21 +238,37 @@ @@ -236,21 +238,37 @@
236 prop="loginName" 238 prop="loginName"
237 > 239 >
238 <el-col :span="10"> 240 <el-col :span="10">
239 - <el-input type="number" moninput="if(value.length > 11) value = value.slice(0,11)" v-model.trim="formTeacher.loginName" /> 241 + <el-input
  242 + type="number"
  243 + moninput="if(value.length > 11) value = value.slice(0,11)"
  244 + v-model.trim="formTeacher.loginName"
  245 + />
240 </el-col> 246 </el-col>
241 </el-form-item> 247 </el-form-item>
242 - <el-form-item v-show="isAdd || (!isAdd && setTercherType == 1)" label="教师姓名:" prop="teacherName"> 248 + <el-form-item
  249 + v-show="isAdd || (!isAdd && setTercherType == 1)"
  250 + label="教师姓名:"
  251 + prop="teacherName"
  252 + >
243 <el-col :span="10"> 253 <el-col :span="10">
244 <el-input maxlength="30" v-model.trim="formTeacher.teacherName" /> 254 <el-input maxlength="30" v-model.trim="formTeacher.teacherName" />
245 </el-col> 255 </el-col>
246 </el-form-item> 256 </el-form-item>
247 - <el-form-item v-show="isAdd || (!isAdd && setTercherType == 1)" label="性别:" prop="sex"> 257 + <el-form-item
  258 + v-show="isAdd || (!isAdd && setTercherType == 1)"
  259 + label="性别:"
  260 + prop="sex"
  261 + >
248 <el-radio-group v-model="formTeacher.sex"> 262 <el-radio-group v-model="formTeacher.sex">
249 <el-radio :label="1">男</el-radio> 263 <el-radio :label="1">男</el-radio>
250 <el-radio :label="2">女</el-radio> 264 <el-radio :label="2">女</el-radio>
251 </el-radio-group> 265 </el-radio-group>
252 </el-form-item> 266 </el-form-item>
253 - <el-form-item v-show="isAdd || (!isAdd && setTercherType == 2)" label="教师角色:" prop="roleList"> 267 + <el-form-item
  268 + v-show="isAdd || (!isAdd && setTercherType == 2)"
  269 + label="教师角色:"
  270 + prop="roleList"
  271 + >
254 <div 272 <div
255 class="role-list" 273 class="role-list"
256 v-for="(item, index) in formTeacher.roleList" 274 v-for="(item, index) in formTeacher.roleList"
@@ -429,7 +447,7 @@ export default { @@ -429,7 +447,7 @@ export default {
429 }, 447 },
430 editTeacher(type) { 448 editTeacher(type) {
431 this.diaTeacher = true; 449 this.diaTeacher = true;
432 - this.setTercherType = type 450 + this.setTercherType = type;
433 this.isAdd = false; 451 this.isAdd = false;
434 for (let key in this.teacherDetail) { 452 for (let key in this.teacherDetail) {
435 if (key == "realName") { 453 if (key == "realName") {
@@ -474,7 +492,7 @@ export default { @@ -474,7 +492,7 @@ export default {
474 this.$message.error(res.info); 492 this.$message.error(res.info);
475 } 493 }
476 } else { 494 } else {
477 - console.log("输入有误请检查!"); 495 + this.$message.warning("输入有误请检查!");
478 return false; 496 return false;
479 } 497 }
480 }); 498 });
@@ -493,24 +511,24 @@ export default { @@ -493,24 +511,24 @@ export default {
493 if (item.roleId == 6) { 511 if (item.roleId == 6) {
494 managerList.push({ 512 managerList.push({
495 classId: item.classId[1], 513 classId: item.classId[1],
496 - className: this.classList.find(  
497 - (items) => items.value == item.classId[1]  
498 - )?.label||"", 514 + className:
  515 + this.classList.find((items) => items.value == item.classId[1])
  516 + ?.label || "",
499 }); 517 });
500 } else if (item.roleId == 7) { 518 } else if (item.roleId == 7) {
501 teacherCourseList.push({ 519 teacherCourseList.push({
502 classId: item.classId[0], 520 classId: item.classId[0],
503 - className: this.classList.find(  
504 - (items) => items.value == item.classId[0]  
505 - )?.label||"", 521 + className:
  522 + this.classList.find((items) => items.value == item.classId[0])
  523 + ?.label || "",
506 subjectName: item.classId[1], 524 subjectName: item.classId[1],
507 }); 525 });
508 } else { 526 } else {
509 gradeGroupList.push({ 527 gradeGroupList.push({
510 grade: item.classId[0], 528 grade: item.classId[0],
511 - gradeName: this.gradeList.find(  
512 - (items) => items.id == item.classId[0]  
513 - )?.label||"", 529 + gradeName:
  530 + this.gradeList.find((items) => items.id == item.classId[0])
  531 + ?.label || "",
514 subjectName: item.classId[1], 532 subjectName: item.classId[1],
515 }); 533 });
516 } 534 }
@@ -580,22 +598,21 @@ export default { @@ -580,22 +598,21 @@ export default {
580 this.query.teacherName = ""; 598 this.query.teacherName = "";
581 this.query.phone = ""; 599 this.query.phone = "";
582 } else if (type == 2) { 600 } else if (type == 2) {
583 - if(this.query.teacherName == ""){  
584 - this.$message.warning('请输入老师姓名')  
585 - return 601 + if (this.query.teacherName == "") {
  602 + this.$message.warning("请输入老师姓名");
  603 + return;
586 } 604 }
587 query.teacherName = this.query.teacherName; 605 query.teacherName = this.query.teacherName;
588 this.query.gradeName = ""; 606 this.query.gradeName = "";
589 this.query.phone = ""; 607 this.query.phone = "";
590 } else if (type == 3) { 608 } else if (type == 3) {
591 - if(this.query.phone == ""){  
592 - this.$message.warning('请输入老师手机')  
593 - return 609 + if (this.query.phone == "") {
  610 + this.$message.warning("请输入老师手机");
  611 + return;
594 } 612 }
595 query.phone = this.query.phone; 613 query.phone = this.query.phone;
596 this.query.teacherName = ""; 614 this.query.teacherName = "";
597 this.query.gradeName = ""; 615 this.query.gradeName = "";
598 -  
599 } else if (type == 10) { 616 } else if (type == 10) {
600 query = { ...this.query }; 617 query = { ...this.query };
601 } 618 }