From 183bfae83d23f29a1489b86e9c15b0fdeef4eac6 Mon Sep 17 00:00:00 2001 From: 梁保满 Date: Fri, 10 Feb 2023 15:32:17 +0800 Subject: [PATCH] 设备修改班级选择调整 --- src/views/device/index.vue | 58 +++++++++++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/src/views/device/index.vue b/src/views/device/index.vue index 3ac0235..87f1c4e 100644 --- a/src/views/device/index.vue +++ b/src/views/device/index.vue @@ -462,7 +462,11 @@ clearable v-model="form.classIds" :options="gradeList" - :props="{ expandTrigger: 'hover' }" + :props="{ + multiple: true, + checkStrictly: false, + }" + collapse-tags :show-all-levels="false" > @@ -559,7 +563,7 @@ export default { sn: "", frequency: "", pairingCode: "", - classIds: "", + classIds: [], roomName: "", }, formRules: { @@ -568,7 +572,7 @@ export default { pairingCode: [ { required: true, message: "请输入配对码", trigger: "blur" }, ], - classIds: [{ required: true, message: "请选择班级", trigger: "blur" }], + // classIds: [{ required: true, message: "请选择班级", trigger: "blur" }], }, tableData: [], total: 0, @@ -649,17 +653,29 @@ export default { showClose: true, message: `成功(${res.data.success}) 失败(${res.data.error})`, type: "success", - duration:5000 + duration: 5000, }); this.diaUp = false; this.page = 1; this._QueryData(); }, - edit(obj) { + edit(obj) {//修改设备 this.isAdd = false; for (let key in this.form) { if (key == "classIds") { - this.form[key] = obj.classList[0]?.classId; + this.form[key]; + let classIds = obj.classList.map((item) => { + return item.classId; + }); + let checkClassData = []; + this.gradeList.map((item) => { + item.children.map((items) => { + if (classIds.includes(items.value)) { + checkClassData.push([item.value, items.value]); + } + }); + }); + this.form[key] = [...checkClassData]; } else { this.form[key] = obj[key]; } @@ -723,7 +739,7 @@ export default { this.form.sn = ""; this.form.frequency = ""; this.form.pairingCode = ""; - this.form.classIds = ""; + this.form.classIds = []; this.form.roomName = ""; this.form.schoolId = this.school.id; delete this.form.deviceId; @@ -733,16 +749,17 @@ export default { async showSchool() { const { data, status, info } = await this.$request.schoolList(); if (status === 0) { + let gradeListAll = data.list?.map((item) => { + return { + value: item.id, + label: item.schoolName, + }; + }); this.schoolAll = [ { value: 0, label: "全部", - children: data.list?.map((item) => { - return { - value: item.id, - label: item.schoolName, - }; - }), + children: [...gradeListAll], }, ]; this.gradeList = [...this.schoolAll, ...this.gradeList]; @@ -811,18 +828,9 @@ export default { this.loadingAnswerEqu = true; let query = { ...this.form }; - // query.classIds = query.classIds.map((item) => { - // return item[1]; - // }); - if ( - typeof query.classIds == "string" || - typeof query.classIds == "number" - ) { - query.classIds = [query.classIds]; - } else { - query.classIds = [query.classIds[1]]; - } - + query.classIds = query.classIds.map((item) => { + return item[1]; + }); let deviceApi = this.isAdd ? this.$request.addStation : this.$request.updateDevice; -- libgit2 0.21.4