Commit e3b0e3e7e62cdc0e439b8fb84b6dc895b6adcc82

Authored by 梁保满
1 parent 2d6a1682

季度时间格式调整

src/api/apis/apis.js
@@ -521,6 +521,14 @@ export default { @@ -521,6 +521,14 @@ export default {
521 data, 521 data,
522 }); 522 });
523 }, 523 },
  524 + // 新增基站
  525 + addStation(data) {
  526 + return service({
  527 + url: setUpUrls.addStation,
  528 + method: "POST",
  529 + data,
  530 + });
  531 + },
524 // 查询下载配置列表 532 // 查询下载配置列表
525 appConfigList(data) { 533 appConfigList(data) {
526 return service({ 534 return service({
src/api/urls/apis.js
@@ -132,6 +132,8 @@ export default { @@ -132,6 +132,8 @@ export default {
132 modifyUpgradeFlag: "/api_html/school/manager/modifyUpgradeFlag", 132 modifyUpgradeFlag: "/api_html/school/manager/modifyUpgradeFlag",
133 // 修改基站信息 133 // 修改基站信息
134 updateDevice: "/api_html/school/manager/updateDevice", 134 updateDevice: "/api_html/school/manager/updateDevice",
  135 + // 新增基站
  136 + addStation: "/api_html/school/manager/addStation",
135 // 查询下载配置列表 137 // 查询下载配置列表
136 appConfigList: "/api_html/school/manager/appConfigList", 138 appConfigList: "/api_html/school/manager/appConfigList",
137 // 查询最新的授课端应用版本 139 // 查询最新的授课端应用版本
src/i18n/lang/cn.js
@@ -3,6 +3,8 @@ import zhLocale from "element-ui/lib/locale/lang/zh-CN" @@ -3,6 +3,8 @@ import zhLocale from "element-ui/lib/locale/lang/zh-CN"
3 const cn = { 3 const cn = {
4 routeName: { 4 routeName: {
5 home: "主页", 5 home: "主页",
  6 + ask: "随堂问",
  7 + examinationPaper: "备题组卷",
6 icon: "图标", 8 icon: "图标",
7 builtInIcon: "内置图标", 9 builtInIcon: "内置图标",
8 permissions: "权限管理", 10 permissions: "权限管理",
src/router/index.js
@@ -89,14 +89,14 @@ let addrouters = [ //测试用,后续后端获取 @@ -89,14 +89,14 @@ let addrouters = [ //测试用,后续后端获取
89 { 89 {
90 path: "/examinationPaper", 90 path: "/examinationPaper",
91 iconCls: "fa fa-file-text", // 图标样式class 91 iconCls: "fa fa-file-text", // 图标样式class
92 - name: "", 92 + name: "examinationPaper",
93 component: ExaminationPaper, 93 component: ExaminationPaper,
94 children: [] 94 children: []
95 }, 95 },
96 { 96 {
97 path: "/examinationPaperAdd", 97 path: "/examinationPaperAdd",
98 iconCls: "", // 图标样式class 98 iconCls: "", // 图标样式class
99 - name: "添加答题卡", 99 + name: "examinationPaperAdd",
100 component: ExaminationPaperAdd, 100 component: ExaminationPaperAdd,
101 parent: "examinationPaper", 101 parent: "examinationPaper",
102 children: [] 102 children: []
@@ -129,7 +129,8 @@ let addrouters = [ //测试用,后续后端获取 @@ -129,7 +129,8 @@ let addrouters = [ //测试用,后续后端获取
129 { 129 {
130 path: "/ask", 130 path: "/ask",
131 iconCls: "fa fa-bar-chart", // 图标样式class 131 iconCls: "fa fa-bar-chart", // 图标样式class
132 - name: "", 132 + name: "ask",
  133 + name: "随堂问报表",
133 component: Ask, 134 component: Ask,
134 meta: { 135 meta: {
135 keepAlive: true, 136 keepAlive: true,
src/views/analysis/index.vue
@@ -251,11 +251,11 @@ export default { @@ -251,11 +251,11 @@ export default {
251 break; 251 break;
252 case 4: 252 case 4:
253 if (aMonth > 0 && aMonth < 4) { 253 if (aMonth > 0 && aMonth < 4) {
254 - aMonth = "01"; 254 + aMonth = "1";
255 } else if (aMonth > 3 && aMonth < 7) { 255 } else if (aMonth > 3 && aMonth < 7) {
256 - aMonth = "04"; 256 + aMonth = "4";
257 } else if (aMonth > 6 && aMonth < 10) { 257 } else if (aMonth > 6 && aMonth < 10) {
258 - aMonth = "07"; 258 + aMonth = "7";
259 } else { 259 } else {
260 aMonth = "10"; 260 aMonth = "10";
261 } 261 }
src/views/ask/index.vue
@@ -566,11 +566,11 @@ export default { @@ -566,11 +566,11 @@ export default {
566 break; 566 break;
567 case 4: 567 case 4:
568 if (aMonth > 0 && aMonth < 4) { 568 if (aMonth > 0 && aMonth < 4) {
569 - aMonth = "01"; 569 + aMonth = "1";
570 } else if (aMonth > 3 && aMonth < 7) { 570 } else if (aMonth > 3 && aMonth < 7) {
571 - aMonth = "04"; 571 + aMonth = "4";
572 } else if (aMonth > 6 && aMonth < 10) { 572 } else if (aMonth > 6 && aMonth < 10) {
573 - aMonth = "07"; 573 + aMonth = "7";
574 } else { 574 } else {
575 aMonth = "10"; 575 aMonth = "10";
576 } 576 }
src/views/device/index.vue
1 <template> 1 <template>
2 - <div ref="main" class="page-content"> 2 + <div ref="main" class="page-content">
3 <back-box> 3 <back-box>
4 <template slot="title"> 4 <template slot="title">
5 <span>设备管理</span> 5 <span>设备管理</span>
6 </template> 6 </template>
7 - <template  
8 - slot="btns"  
9 - v-if="role != 'ROLE_JITUAN' && type == 1 && !code"  
10 - >  
11 - <!-- 暂未有接口 --> 7 + <template slot="btns" v-if="role != 'ROLE_JITUAN' && type == 1 && !code">
12 <!-- <el-tooltip effect="dark" content="设备导入" placement="bottom"> 8 <!-- <el-tooltip effect="dark" content="设备导入" placement="bottom">
13 <el-button 9 <el-button
14 type="primary" 10 type="primary"
@@ -19,16 +15,21 @@ @@ -19,16 +15,21 @@
19 @click="diaUp = true" 15 @click="diaUp = true"
20 ></el-button> 16 ></el-button>
21 </el-tooltip> --> 17 </el-tooltip> -->
22 - <!-- <el-tooltip effect="dark" content="添加基站" placement="bottom"> 18 + <el-tooltip
  19 + v-if="role == 'ROLE_XUEXIAO'"
  20 + effect="dark"
  21 + content="添加基站"
  22 + placement="bottom"
  23 + >
23 <el-button 24 <el-button
24 type="primary" 25 type="primary"
25 icon="el-icon-receiving" 26 icon="el-icon-receiving"
26 size="mini" 27 size="mini"
27 plain 28 plain
28 circle 29 circle
29 - @click="diaAnswerEqu = true" 30 + @click="addDev"
30 ></el-button> 31 ></el-button>
31 - </el-tooltip> --> 32 + </el-tooltip>
32 </template> 33 </template>
33 </back-box> 34 </back-box>
34 <div> 35 <div>
@@ -121,7 +122,7 @@ @@ -121,7 +122,7 @@
121 ></el-table-column> 122 ></el-table-column>
122 <el-table-column label="关联班级" align="center"> 123 <el-table-column label="关联班级" align="center">
123 <template slot-scope="scoped"> 124 <template slot-scope="scoped">
124 - <p v-for="(item,index) in scoped.row.classList" :key="index"> 125 + <p v-for="(item, index) in scoped.row.classList" :key="index">
125 {{ item.className }} 126 {{ item.className }}
126 </p> 127 </p>
127 </template> 128 </template>
@@ -389,7 +390,12 @@ @@ -389,7 +390,12 @@
389 </div> 390 </div>
390 </div> 391 </div>
391 <el-dialog title="设备导入" :visible.sync="diaUp" width="400"> 392 <el-dialog title="设备导入" :visible.sync="diaUp" width="400">
392 - <up-load id="downDevice" :url="url" @upSuccess="upSuccess" fileName="设备信息"> 393 + <up-load
  394 + id="downDevice"
  395 + :url="url"
  396 + @upSuccess="upSuccess"
  397 + fileName="设备信息"
  398 + >
393 <p class="down-txt" slot="down"> 399 <p class="down-txt" slot="down">
394 通过Excel名单导入设备,需要提供设备编码,点击 400 通过Excel名单导入设备,需要提供设备编码,点击
395 <el-link type="danger" @click="downExcel">模板下载</el-link> 。 401 <el-link type="danger" @click="downExcel">模板下载</el-link> 。
@@ -399,7 +405,7 @@ @@ -399,7 +405,7 @@
399 <el-button @click="diaUp = false">取 消</el-button> 405 <el-button @click="diaUp = false">取 消</el-button>
400 </div> 406 </div>
401 </el-dialog> 407 </el-dialog>
402 - <el-dialog title="修改基站" :visible.sync="diaAnswerEqu" width="400"> 408 + <el-dialog :title="isAdd?'添加基站':'修改基站'" :visible.sync="diaAnswerEqu" width="400">
403 <el-form ref="forms" :model="form" :rules="formRules" label-width="140px"> 409 <el-form ref="forms" :model="form" :rules="formRules" label-width="140px">
404 <el-form-item label="设备编码:" prop="sn"> 410 <el-form-item label="设备编码:" prop="sn">
405 <el-col :span="16" 411 <el-col :span="16"
@@ -410,6 +416,7 @@ @@ -410,6 +416,7 @@
410 maxlength="30" 416 maxlength="30"
411 size="45" 417 size="45"
412 show-word-limit 418 show-word-limit
  419 + :disabled="!isAdd"
413 > 420 >
414 </el-input 421 </el-input
415 ></el-col> 422 ></el-col>
@@ -447,7 +454,7 @@ @@ -447,7 +454,7 @@
447 clearable 454 clearable
448 v-model="form.classIds" 455 v-model="form.classIds"
449 :options="gradeList" 456 :options="gradeList"
450 - :props="{ expandTrigger: 'hover'}" 457 + :props="{ expandTrigger: 'hover' }"
451 :show-all-levels="false" 458 :show-all-levels="false"
452 ></el-cascader> 459 ></el-cascader>
453 </el-col> 460 </el-col>
@@ -501,6 +508,7 @@ export default { @@ -501,6 +508,7 @@ export default {
501 }, 508 },
502 data() { 509 data() {
503 return { 510 return {
  511 + isAdd:false,//添加还是修改基站
504 role: "", 512 role: "",
505 code: "", 513 code: "",
506 loading: false, 514 loading: false,
@@ -510,6 +518,7 @@ export default { @@ -510,6 +518,7 @@ export default {
510 gradeList: [], 518 gradeList: [],
511 gradeListAll: [], 519 gradeListAll: [],
512 schoolAll: [], 520 schoolAll: [],
  521 + school: {}, //校园账号所属学校信息
513 props: { 522 props: {
514 multiple: true, 523 multiple: true,
515 checkStrictly: true, 524 checkStrictly: true,
@@ -545,9 +554,7 @@ export default { @@ -545,9 +554,7 @@ export default {
545 roomName: "", 554 roomName: "",
546 }, 555 },
547 formRules: { 556 formRules: {
548 - sn: [  
549 - { required: true, message: "请输入设备编码", trigger: "blur" },  
550 - ], 557 + sn: [{ required: true, message: "请输入设备编码", trigger: "blur" }],
551 frequency: [{ required: true, message: "请输入频点", trigger: "blur" }], 558 frequency: [{ required: true, message: "请输入频点", trigger: "blur" }],
552 pairingCode: [ 559 pairingCode: [
553 { required: true, message: "请输入配对码", trigger: "blur" }, 560 { required: true, message: "请输入配对码", trigger: "blur" },
@@ -565,7 +572,7 @@ export default { @@ -565,7 +572,7 @@ export default {
565 }; 572 };
566 }, 573 },
567 created() { 574 created() {
568 - this.code = localStorage.getItem("csCode")||"" 575 + this.code = localStorage.getItem("csCode") || "";
569 let role = ""; 576 let role = "";
570 this.$store.getters.info.permissions.map((item) => { 577 this.$store.getters.info.permissions.map((item) => {
571 if (item.roleName == this.$store.getters.info.showRoleName) { 578 if (item.roleName == this.$store.getters.info.showRoleName) {
@@ -574,31 +581,34 @@ export default { @@ -574,31 +581,34 @@ export default {
574 }); 581 });
575 this.role = role ? role : this.$store.getters.info.permissions[0].role; 582 this.role = role ? role : this.$store.getters.info.permissions[0].role;
576 if (this.role == "ROLE_JITUAN") { 583 if (this.role == "ROLE_JITUAN") {
577 - this.props.lazy = true,  
578 - this.props.lazyLoad = function (node, resolve) {  
579 - const { level } = node;  
580 - if (level == 2) {  
581 - console.log(node);  
582 - api  
583 - .tenantClassList({  
584 - schoolId: node.data.value,  
585 - })  
586 - .then((res) => {  
587 - let children = formatGradeNameClass(res.data?.list).sort(  
588 - (a, b) => {  
589 - return a.grade - b.grade;  
590 - }  
591 - );  
592 - console.log(); 584 + (this.props.lazy = true),
  585 + (this.props.lazyLoad = function (node, resolve) {
  586 + const { level } = node;
  587 + if (level == 2) {
  588 + console.log(node);
  589 + api
  590 + .tenantClassList({
  591 + schoolId: node.data.value,
  592 + })
  593 + .then((res) => {
  594 + let children = formatGradeNameClass(res.data?.list).sort(
  595 + (a, b) => {
  596 + return a.grade - b.grade;
  597 + }
  598 + );
  599 + console.log();
593 600
594 - const nodes = [...children];  
595 - // 通过调用resolve将子节点数据返回,通知组件数据加载完成  
596 - resolve(nodes);  
597 - });  
598 - } else {  
599 - resolve(node);  
600 - }  
601 - }; 601 + const nodes = [...children];
  602 + // 通过调用resolve将子节点数据返回,通知组件数据加载完成
  603 + resolve(nodes);
  604 + });
  605 + } else {
  606 + resolve(node);
  607 + }
  608 + });
  609 + }
  610 + if (this.role == "ROLE_XUEXIAO") {
  611 + this._QueryDataSchool();
602 } 612 }
603 this.stationReport(); 613 this.stationReport();
604 this._QueryGradeList(); 614 this._QueryGradeList();
@@ -608,19 +618,22 @@ export default { @@ -608,19 +618,22 @@ export default {
608 } 618 }
609 }, 619 },
610 methods: { 620 methods: {
611 - upSuccess(){//导入成功  
612 - this.diaUp = false 621 + upSuccess() {
  622 + //导入成功
  623 + this.diaUp = false;
613 this._QueryData(); 624 this._QueryData();
614 }, 625 },
615 edit(obj) { 626 edit(obj) {
  627 + this.isAdd=false
616 for (let key in this.form) { 628 for (let key in this.form) {
617 if (key == "classIds") { 629 if (key == "classIds") {
618 - this.form[key] = obj.classList[0]?.classId 630 + this.form[key] = obj.classList[0]?.classId;
619 } else { 631 } else {
620 this.form[key] = obj[key]; 632 this.form[key] = obj[key];
621 } 633 }
622 } 634 }
623 - this.form.deviceId = obj.id 635 + delete this.form.schoolId
  636 + this.form.deviceId = obj.id;
624 this.diaAnswerEqu = true; 637 this.diaAnswerEqu = true;
625 }, 638 },
626 linkTo(obj, type) { 639 linkTo(obj, type) {
@@ -674,6 +687,17 @@ export default { @@ -674,6 +687,17 @@ export default {
674 this.page = page; 687 this.page = page;
675 this._QueryData(false); 688 this._QueryData(false);
676 }, 689 },
  690 + addDev() {
  691 + this.form.sn = "";
  692 + this.form.frequency = "";
  693 + this.form.pairingCode = "";
  694 + this.form.classIds = "";
  695 + this.form.roomName = "";
  696 + this.form.schoolId= this.school.id
  697 + delete this.form.deviceId
  698 + this.isAdd = true
  699 + this.diaAnswerEqu = true;
  700 + },
677 async showSchool() { 701 async showSchool() {
678 const { data, status, info } = await this.$request.schoolList(); 702 const { data, status, info } = await this.$request.schoolList();
679 if (status === 0) { 703 if (status === 0) {
@@ -759,8 +783,14 @@ export default { @@ -759,8 +783,14 @@ export default {
759 // query.classIds = query.classIds.map((item) => { 783 // query.classIds = query.classIds.map((item) => {
760 // return item[1]; 784 // return item[1];
761 // }); 785 // });
762 - query.classIds = [query.classIds]  
763 - const { data, status, info } = await this.$request.updateDevice({ 786 + if(typeof query.classIds == 'string' || typeof query.classIds == 'number'){
  787 + query.classIds = [query.classIds];
  788 + }else{
  789 + query.classIds = [query.classIds[1]];
  790 + }
  791 +
  792 + let deviceApi = this.isAdd?this.$request.addStation:this.$request.updateDevice
  793 + const { data, status, info } = await deviceApi({
764 ...query, 794 ...query,
765 }); 795 });
766 this.loadingAnswerEqu = false; 796 this.loadingAnswerEqu = false;
@@ -769,6 +799,9 @@ export default { @@ -769,6 +799,9 @@ export default {
769 this.diaAnswerEqu = false; 799 this.diaAnswerEqu = false;
770 this.$message.success(info); 800 this.$message.success(info);
771 this._QueryData(); 801 this._QueryData();
  802 + if(this.isAdd){
  803 + this.stationReport()
  804 + }
772 } else { 805 } else {
773 this.$message.error(info); 806 this.$message.error(info);
774 } 807 }
@@ -777,6 +810,14 @@ export default { @@ -777,6 +810,14 @@ export default {
777 } 810 }
778 }); 811 });
779 }, 812 },
  813 + async _QueryDataSchool() {
  814 + const { data, status, info } = await this.$request.schoolDetail();
  815 + if (status === 0) {
  816 + this.school = { ...data };
  817 + } else {
  818 + this.$message.error(info);
  819 + }
  820 + },
780 // 查找班级 821 // 查找班级
781 async _QueryGradeList() { 822 async _QueryGradeList() {
782 this.loading = true; 823 this.loading = true;
@@ -990,9 +1031,9 @@ export default { @@ -990,9 +1031,9 @@ export default {
990 })) || 1031 })) ||
991 []; 1032 [];
992 this.total = data.count; 1033 this.total = data.count;
993 - this.$nextTick(function(){  
994 - this.$refs.main.scrollTop = 0  
995 - }) 1034 + this.$nextTick(function () {
  1035 + this.$refs.main.scrollTop = 0;
  1036 + });
996 } else { 1037 } else {
997 this.$message.error(info); 1038 this.$message.error(info);
998 } 1039 }
@@ -1008,7 +1049,7 @@ export default { @@ -1008,7 +1049,7 @@ export default {
1008 overflow-y: auto; 1049 overflow-y: auto;
1009 } 1050 }
1010 .tab-box { 1051 .tab-box {
1011 - padding:20px 0 12px 1052 + padding: 20px 0 12px;
1012 } 1053 }
1013 .sel { 1054 .sel {
1014 width: 100%; 1055 width: 100%;
src/views/device/log.vue
@@ -206,11 +206,11 @@ export default { @@ -206,11 +206,11 @@ export default {
206 break; 206 break;
207 case 4: 207 case 4:
208 if (aMonth > 0 && aMonth < 4) { 208 if (aMonth > 0 && aMonth < 4) {
209 - aMonth = "01"; 209 + aMonth = "1";
210 } else if (aMonth > 3 && aMonth < 7) { 210 } else if (aMonth > 3 && aMonth < 7) {
211 - aMonth = "04"; 211 + aMonth = "4";
212 } else if (aMonth > 6 && aMonth < 10) { 212 } else if (aMonth > 6 && aMonth < 10) {
213 - aMonth = "07"; 213 + aMonth = "7";
214 } else { 214 } else {
215 aMonth = "10"; 215 aMonth = "10";
216 } 216 }
src/views/login/index.vue
@@ -95,14 +95,14 @@ export default { @@ -95,14 +95,14 @@ export default {
95 loginForm: { 95 loginForm: {
96 // username: "15911715665", 96 // username: "15911715665",
97 // password: "715665", 97 // password: "715665",
98 - // username: "18314340313",  
99 - // password: "Pw340313#", 98 + username: "18314340313",
  99 + password: "Pw340313#",
100 // username: "18687826606", 100 // username: "18687826606",
101 // password: "Pw826606#", 101 // password: "Pw826606#",
102 // username: "18893712576", 102 // username: "18893712576",
103 // password: "712576", 103 // password: "712576",
104 - username: "13247726488",  
105 - password: "726488", 104 + // username: "13247726488",
  105 + // password: "726488",
106 }, 106 },
107 loginRules: { 107 loginRules: {
108 username: [ 108 username: [
src/views/test/index.vue
@@ -583,11 +583,11 @@ export default { @@ -583,11 +583,11 @@ export default {
583 break; 583 break;
584 case 4: 584 case 4:
585 if (aMonth > 0 && aMonth < 4) { 585 if (aMonth > 0 && aMonth < 4) {
586 - aMonth = "01"; 586 + aMonth = "1";
587 } else if (aMonth > 3 && aMonth < 7) { 587 } else if (aMonth > 3 && aMonth < 7) {
588 - aMonth = "04"; 588 + aMonth = "4";
589 } else if (aMonth > 6 && aMonth < 10) { 589 } else if (aMonth > 6 && aMonth < 10) {
590 - aMonth = "07"; 590 + aMonth = "7";
591 } else { 591 } else {
592 aMonth = "10"; 592 aMonth = "10";
593 } 593 }