Commit 183bfae83d23f29a1489b86e9c15b0fdeef4eac6

Authored by 梁保满
1 parent 191d5bfa

设备修改班级选择调整

Showing 1 changed file with 33 additions and 25 deletions
src/views/device/index.vue
@@ -462,7 +462,11 @@ @@ -462,7 +462,11 @@
462 clearable 462 clearable
463 v-model="form.classIds" 463 v-model="form.classIds"
464 :options="gradeList" 464 :options="gradeList"
465 - :props="{ expandTrigger: 'hover' }" 465 + :props="{
  466 + multiple: true,
  467 + checkStrictly: false,
  468 + }"
  469 + collapse-tags
466 :show-all-levels="false" 470 :show-all-levels="false"
467 ></el-cascader> 471 ></el-cascader>
468 </el-col> 472 </el-col>
@@ -559,7 +563,7 @@ export default { @@ -559,7 +563,7 @@ export default {
559 sn: "", 563 sn: "",
560 frequency: "", 564 frequency: "",
561 pairingCode: "", 565 pairingCode: "",
562 - classIds: "", 566 + classIds: [],
563 roomName: "", 567 roomName: "",
564 }, 568 },
565 formRules: { 569 formRules: {
@@ -568,7 +572,7 @@ export default { @@ -568,7 +572,7 @@ export default {
568 pairingCode: [ 572 pairingCode: [
569 { required: true, message: "请输入配对码", trigger: "blur" }, 573 { required: true, message: "请输入配对码", trigger: "blur" },
570 ], 574 ],
571 - classIds: [{ required: true, message: "请选择班级", trigger: "blur" }], 575 + // classIds: [{ required: true, message: "请选择班级", trigger: "blur" }],
572 }, 576 },
573 tableData: [], 577 tableData: [],
574 total: 0, 578 total: 0,
@@ -649,17 +653,29 @@ export default { @@ -649,17 +653,29 @@ export default {
649 showClose: true, 653 showClose: true,
650 message: `成功(${res.data.success}) 失败(${res.data.error})`, 654 message: `成功(${res.data.success}) 失败(${res.data.error})`,
651 type: "success", 655 type: "success",
652 - duration:5000 656 + duration: 5000,
653 }); 657 });
654 this.diaUp = false; 658 this.diaUp = false;
655 this.page = 1; 659 this.page = 1;
656 this._QueryData(); 660 this._QueryData();
657 }, 661 },
658 - edit(obj) { 662 + edit(obj) {//修改设备
659 this.isAdd = false; 663 this.isAdd = false;
660 for (let key in this.form) { 664 for (let key in this.form) {
661 if (key == "classIds") { 665 if (key == "classIds") {
662 - this.form[key] = obj.classList[0]?.classId; 666 + this.form[key];
  667 + let classIds = obj.classList.map((item) => {
  668 + return item.classId;
  669 + });
  670 + let checkClassData = [];
  671 + this.gradeList.map((item) => {
  672 + item.children.map((items) => {
  673 + if (classIds.includes(items.value)) {
  674 + checkClassData.push([item.value, items.value]);
  675 + }
  676 + });
  677 + });
  678 + this.form[key] = [...checkClassData];
663 } else { 679 } else {
664 this.form[key] = obj[key]; 680 this.form[key] = obj[key];
665 } 681 }
@@ -723,7 +739,7 @@ export default { @@ -723,7 +739,7 @@ export default {
723 this.form.sn = ""; 739 this.form.sn = "";
724 this.form.frequency = ""; 740 this.form.frequency = "";
725 this.form.pairingCode = ""; 741 this.form.pairingCode = "";
726 - this.form.classIds = ""; 742 + this.form.classIds = [];
727 this.form.roomName = ""; 743 this.form.roomName = "";
728 this.form.schoolId = this.school.id; 744 this.form.schoolId = this.school.id;
729 delete this.form.deviceId; 745 delete this.form.deviceId;
@@ -733,16 +749,17 @@ export default { @@ -733,16 +749,17 @@ export default {
733 async showSchool() { 749 async showSchool() {
734 const { data, status, info } = await this.$request.schoolList(); 750 const { data, status, info } = await this.$request.schoolList();
735 if (status === 0) { 751 if (status === 0) {
  752 + let gradeListAll = data.list?.map((item) => {
  753 + return {
  754 + value: item.id,
  755 + label: item.schoolName,
  756 + };
  757 + });
736 this.schoolAll = [ 758 this.schoolAll = [
737 { 759 {
738 value: 0, 760 value: 0,
739 label: "全部", 761 label: "全部",
740 - children: data.list?.map((item) => {  
741 - return {  
742 - value: item.id,  
743 - label: item.schoolName,  
744 - };  
745 - }), 762 + children: [...gradeListAll],
746 }, 763 },
747 ]; 764 ];
748 this.gradeList = [...this.schoolAll, ...this.gradeList]; 765 this.gradeList = [...this.schoolAll, ...this.gradeList];
@@ -811,18 +828,9 @@ export default { @@ -811,18 +828,9 @@ export default {
811 this.loadingAnswerEqu = true; 828 this.loadingAnswerEqu = true;
812 let query = { ...this.form }; 829 let query = { ...this.form };
813 830
814 - // query.classIds = query.classIds.map((item) => {  
815 - // return item[1];  
816 - // });  
817 - if (  
818 - typeof query.classIds == "string" ||  
819 - typeof query.classIds == "number"  
820 - ) {  
821 - query.classIds = [query.classIds];  
822 - } else {  
823 - query.classIds = [query.classIds[1]];  
824 - }  
825 - 831 + query.classIds = query.classIds.map((item) => {
  832 + return item[1];
  833 + });
826 let deviceApi = this.isAdd 834 let deviceApi = this.isAdd
827 ? this.$request.addStation 835 ? this.$request.addStation
828 : this.$request.updateDevice; 836 : this.$request.updateDevice;