Procházet zdrojové kódy

搜索接口对接

mifei před 1 měsícem
rodič
revize
30854aedf8
3 změnil soubory, kde provedl 84 přidání a 23 odebrání
  1. 1 1
      src/components/Header.vue
  2. 82 21
      src/components/left.vue
  3. 1 1
      src/components/right.vue

+ 1 - 1
src/components/Header.vue

@@ -35,7 +35,7 @@ onMounted(() => {
35
   starttimeInterval();
35
   starttimeInterval();
36
 
36
 
37
   // 获取天气信息
37
   // 获取天气信息
38
-  getWeatherInfo();
38
+  // getWeatherInfo();
39
 });
39
 });
40
 
40
 
41
 // 获取当前年月日计算属性
41
 // 获取当前年月日计算属性

+ 82 - 21
src/components/left.vue

@@ -103,24 +103,25 @@
103
         <el-input v-model="searchData" placeholder="请输入大楼名称、教室名称" />
103
         <el-input v-model="searchData" placeholder="请输入大楼名称、教室名称" />
104
         <el-button type="primary" :icon="Search" @click="searchHandel" />
104
         <el-button type="primary" :icon="Search" @click="searchHandel" />
105
       </div>
105
       </div>
106
-
107
       <div class="content" style="height: 100%; overflow: hidden">
106
       <div class="content" style="height: 100%; overflow: hidden">
108
         <div class="table">
107
         <div class="table">
109
           <div class="dropdown-container">
108
           <div class="dropdown-container">
110
-            <el-dropdown trigger="click" @click="clickdropdown">
109
+            <el-dropdown trigger="click" @command="clickBuildingsropdown" >
111
               <span class="dropdown-name">
110
               <span class="dropdown-name">
112
                 全部大楼
111
                 全部大楼
113
                 <Edit style="width: 1em; height: 1em; margin-right: 8px" />
112
                 <Edit style="width: 1em; height: 1em; margin-right: 8px" />
114
               </span>
113
               </span>
115
               <template #dropdown>
114
               <template #dropdown>
116
                 <el-dropdown-menu>
115
                 <el-dropdown-menu>
117
-                  <el-dropdown-item>一号大楼</el-dropdown-item>
116
+                  <!-- <el-dropdown-item>一号大楼</el-dropdown-item>
118
                   <el-dropdown-item>二号大楼</el-dropdown-item>
117
                   <el-dropdown-item>二号大楼</el-dropdown-item>
119
-                  <el-dropdown-item>三号大楼</el-dropdown-item>
118
+                  <el-dropdown-item>三号大楼</el-dropdown-item> -->
119
+                  <el-dropdown-item :command="item.gis_building_code" v-for="(item,index) in buildings" :key="index">{{ item.building_name }}</el-dropdown-item>
120
+                  
120
                 </el-dropdown-menu>
121
                 </el-dropdown-menu>
121
               </template>
122
               </template>
122
             </el-dropdown>
123
             </el-dropdown>
123
-            <el-dropdown trigger="click">
124
+            <el-dropdown trigger="click" @command="clickCategoryTypedropdown">
124
               <span class="dropdown-name">
125
               <span class="dropdown-name">
125
                 全部类型
126
                 全部类型
126
                 <el-icon>
127
                 <el-icon>
@@ -129,13 +130,12 @@
129
               </span>
130
               </span>
130
               <template #dropdown>
131
               <template #dropdown>
131
                 <el-dropdown-menu>
132
                 <el-dropdown-menu>
132
-                  <el-dropdown-item>一号大楼</el-dropdown-item>
133
-                  <el-dropdown-item>二号大楼</el-dropdown-item>
134
-                  <el-dropdown-item>三号大楼</el-dropdown-item>
133
+                  <el-dropdown-item :command="item.category" v-for="(item,index) in categoryType" :key="index">{{ item.category }}</el-dropdown-item>
134
+
135
                 </el-dropdown-menu>
135
                 </el-dropdown-menu>
136
               </template>
136
               </template>
137
             </el-dropdown>
137
             </el-dropdown>
138
-            <el-dropdown trigger="click">
138
+            <el-dropdown trigger="click" @command="clickLeafsdropdown">
139
               <span class="dropdown-name">
139
               <span class="dropdown-name">
140
                 全部楼层
140
                 全部楼层
141
                 <el-icon>
141
                 <el-icon>
@@ -144,13 +144,12 @@
144
               </span>
144
               </span>
145
               <template #dropdown>
145
               <template #dropdown>
146
                 <el-dropdown-menu>
146
                 <el-dropdown-menu>
147
-                  <el-dropdown-item>一号大楼</el-dropdown-item>
148
-                  <el-dropdown-item>二号大楼</el-dropdown-item>
149
-                  <el-dropdown-item>三号大楼</el-dropdown-item>
147
+                  <el-dropdown-item :command="item.leaf" v-for="(item,index) in leafs" :key="index">{{ item.leaf_name }}</el-dropdown-item>
148
+
150
                 </el-dropdown-menu>
149
                 </el-dropdown-menu>
151
               </template>
150
               </template>
152
             </el-dropdown>
151
             </el-dropdown>
153
-            <el-dropdown trigger="click">
152
+            <el-dropdown trigger="click" @command="clickStatusesdropdown">
154
               <span class="dropdown-name">
153
               <span class="dropdown-name">
155
                 全部状态
154
                 全部状态
156
                 <el-icon>
155
                 <el-icon>
@@ -159,9 +158,8 @@
159
               </span>
158
               </span>
160
               <template #dropdown>
159
               <template #dropdown>
161
                 <el-dropdown-menu>
160
                 <el-dropdown-menu>
162
-                  <el-dropdown-item>一号大楼</el-dropdown-item>
163
-                  <el-dropdown-item>二号大楼</el-dropdown-item>
164
-                  <el-dropdown-item>三号大楼</el-dropdown-item>
161
+                  <el-dropdown-item  :command="item.status_code" v-for="(item,index) in statuses" :key="index">{{ item.status_name }}</el-dropdown-item>
162
+
165
                 </el-dropdown-menu>
163
                 </el-dropdown-menu>
166
               </template>
164
               </template>
167
             </el-dropdown>
165
             </el-dropdown>
@@ -188,8 +186,6 @@
188
               <div class="class-status-btn-container">
186
               <div class="class-status-btn-container">
189
                 <div class="left-class-status">
187
                 <div class="left-class-status">
190
                   <div>{{ item.class }}</div>
188
                   <div>{{ item.class }}</div>
191
-                  <!-- <div>{{ item?.status }}</div> -->
192
-                  <!-- <el-tag effect="Plain">Tag 1</el-tag> -->
193
                 </div>
189
                 </div>
194
                 <div class="right-btn" @click.prevent="handleRoom(item)">
190
                 <div class="right-btn" @click.prevent="handleRoom(item)">
195
                   查看
191
                   查看
@@ -304,7 +300,7 @@ import {
304
 } from "element-plus";
300
 } from "element-plus";
305
 import { Search, ArrowDown } from "@element-plus/icons-vue";
301
 import { Search, ArrowDown } from "@element-plus/icons-vue";
306
 
302
 
307
-import { getClass } from "../request/api";
303
+import { getClass,classSelections,queryClassroom } from "../request/api";
308
 import CircleProgress from "./CircleProgress.vue";
304
 import CircleProgress from "./CircleProgress.vue";
309
 import { callUIInteraction } from "../webrtcVideo";
305
 import { callUIInteraction } from "../webrtcVideo";
310
 
306
 
@@ -468,6 +464,8 @@ export default {
468
     onMounted(() => {
464
     onMounted(() => {
469
       getClassData();
465
       getClassData();
470
       start();
466
       start();
467
+      // 获取教师下拉选择数据
468
+      getClassSelections()
471
     });
469
     });
472
 
470
 
473
     onBeforeUnmount(() => {
471
     onBeforeUnmount(() => {
@@ -533,12 +531,57 @@ export default {
533
       }, 5000);
531
       }, 5000);
534
     };
532
     };
535
 
533
 
534
+
535
+    // 获取教师下拉选择
536
+    let buildings =ref({})
537
+    let categoryType =ref({})
538
+    let leafs =ref({})
539
+    let statuses =ref({})
540
+    const getClassSelections = async()=>{
541
+      let res = await classSelections();
542
+      console.log("教师下拉选择",res.data);
543
+      if(res.code==200){
544
+        buildings.value=res.data.buildings
545
+        categoryType.value=res.data.categoryType
546
+        leafs.value=res.data.leafs
547
+        statuses.value=res.data.statuses
548
+      }
549
+    }
550
+    const clickBuildingsropdown =(e)=>{
551
+      console.log("e",e);
552
+      gisBuildingCode.value=e
553
+      searchHandel()
554
+    }
555
+    const clickCategoryTypedropdown =(e)=>{
556
+      console.log("e",e);
557
+      category.value=e
558
+      searchHandel()
559
+    }
560
+    const clickLeafsdropdown =(e)=>{
561
+      console.log("e",e);
562
+      gisLeaf.value=e
563
+      searchHandel()
564
+    }
565
+    const clickStatusesdropdown =(e)=>{
566
+      console.log("e",e);
567
+      statusCode.value=e
568
+      searchHandel()
569
+    }
570
+
536
     // 搜索
571
     // 搜索
537
     let searchData = ref("");
572
     let searchData = ref("");
538
-    const searchHandel = () => {
539
-      console.log("搜索", searchData.value);
573
+    let category =ref("")
574
+    let gisBuildingCode =ref("")
575
+    let gisLeaf =ref("")
576
+    let statusCode =ref("")
577
+    const searchHandel = async() => {
578
+      let res =await  queryClassroom({category: category.value,gisBuildingCode:gisBuildingCode.value,statusCode:statusCode.value,gisLeaf:gisLeaf.value})
579
+      console.log("搜索",res.data);
580
+      classRoom.value = res.data;
581
+      
540
     };
582
     };
541
 
583
 
584
+
542
     const leftimg = ref("./img/");
585
     const leftimg = ref("./img/");
543
     const frame = ref("./img/frame.png");
586
     const frame = ref("./img/frame.png");
544
     return {
587
     return {
@@ -562,6 +605,20 @@ export default {
562
       ElIcon,
605
       ElIcon,
563
       searchData,
606
       searchData,
564
       searchHandel,
607
       searchHandel,
608
+      getClassSelections,
609
+      buildings,
610
+      categoryType,
611
+      leafs,
612
+      statuses,
613
+      clickCategoryTypedropdown,
614
+      clickBuildingsropdown,
615
+      clickLeafsdropdown,
616
+      clickStatusesdropdown,
617
+      start,
618
+      category,
619
+      gisBuildingCode,
620
+      gisLeaf,
621
+      statusCode
565
     };
622
     };
566
   },
623
   },
567
 };
624
 };
@@ -586,4 +643,8 @@ export default {
586
 .el-popper.is-light {
643
 .el-popper.is-light {
587
   border-radius: 10px;
644
   border-radius: 10px;
588
 }
645
 }
646
+input[aria-hidden=true]{
647
+    display: none !important;
648
+}
649
+
589
 </style>
650
 </style>

+ 1 - 1
src/components/right.vue

@@ -51,7 +51,7 @@
51
             <!-- <img :src="'src/assets/img/' + item.icon + '.png'" alt=""> -->
51
             <!-- <img :src="'src/assets/img/' + item.icon + '.png'" alt=""> -->
52
           </CircleProgress>
52
           </CircleProgress>
53
 
53
 
54
-          <div class="text">{{ item.text }}</div>
54
+          <div class="text">{{ item?.text }}</div>
55
 
55
 
56
           <!-- <el-tooltip placement="bottom">
56
           <!-- <el-tooltip placement="bottom">
57
                         <template    #content> multiple lines<br />second line </template>
57
                         <template    #content> multiple lines<br />second line </template>