Kaynağa Gözat

搜索接口对接

mifei 1 ay önce
ebeveyn
işleme
30854aedf8
3 değiştirilmiş dosya ile 84 ekleme ve 23 silme
  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 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 103
         <el-input v-model="searchData" placeholder="请输入大楼名称、教室名称" />
104 104
         <el-button type="primary" :icon="Search" @click="searchHandel" />
105 105
       </div>
106
-
107 106
       <div class="content" style="height: 100%; overflow: hidden">
108 107
         <div class="table">
109 108
           <div class="dropdown-container">
110
-            <el-dropdown trigger="click" @click="clickdropdown">
109
+            <el-dropdown trigger="click" @command="clickBuildingsropdown" >
111 110
               <span class="dropdown-name">
112 111
                 全部大楼
113 112
                 <Edit style="width: 1em; height: 1em; margin-right: 8px" />
114 113
               </span>
115 114
               <template #dropdown>
116 115
                 <el-dropdown-menu>
117
-                  <el-dropdown-item>一号大楼</el-dropdown-item>
116
+                  <!-- <el-dropdown-item>一号大楼</el-dropdown-item>
118 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 121
                 </el-dropdown-menu>
121 122
               </template>
122 123
             </el-dropdown>
123
-            <el-dropdown trigger="click">
124
+            <el-dropdown trigger="click" @command="clickCategoryTypedropdown">
124 125
               <span class="dropdown-name">
125 126
                 全部类型
126 127
                 <el-icon>
@@ -129,13 +130,12 @@
129 130
               </span>
130 131
               <template #dropdown>
131 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 135
                 </el-dropdown-menu>
136 136
               </template>
137 137
             </el-dropdown>
138
-            <el-dropdown trigger="click">
138
+            <el-dropdown trigger="click" @command="clickLeafsdropdown">
139 139
               <span class="dropdown-name">
140 140
                 全部楼层
141 141
                 <el-icon>
@@ -144,13 +144,12 @@
144 144
               </span>
145 145
               <template #dropdown>
146 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 149
                 </el-dropdown-menu>
151 150
               </template>
152 151
             </el-dropdown>
153
-            <el-dropdown trigger="click">
152
+            <el-dropdown trigger="click" @command="clickStatusesdropdown">
154 153
               <span class="dropdown-name">
155 154
                 全部状态
156 155
                 <el-icon>
@@ -159,9 +158,8 @@
159 158
               </span>
160 159
               <template #dropdown>
161 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 163
                 </el-dropdown-menu>
166 164
               </template>
167 165
             </el-dropdown>
@@ -188,8 +186,6 @@
188 186
               <div class="class-status-btn-container">
189 187
                 <div class="left-class-status">
190 188
                   <div>{{ item.class }}</div>
191
-                  <!-- <div>{{ item?.status }}</div> -->
192
-                  <!-- <el-tag effect="Plain">Tag 1</el-tag> -->
193 189
                 </div>
194 190
                 <div class="right-btn" @click.prevent="handleRoom(item)">
195 191
                   查看
@@ -304,7 +300,7 @@ import {
304 300
 } from "element-plus";
305 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 304
 import CircleProgress from "./CircleProgress.vue";
309 305
 import { callUIInteraction } from "../webrtcVideo";
310 306
 
@@ -468,6 +464,8 @@ export default {
468 464
     onMounted(() => {
469 465
       getClassData();
470 466
       start();
467
+      // 获取教师下拉选择数据
468
+      getClassSelections()
471 469
     });
472 470
 
473 471
     onBeforeUnmount(() => {
@@ -533,12 +531,57 @@ export default {
533 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 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 585
     const leftimg = ref("./img/");
543 586
     const frame = ref("./img/frame.png");
544 587
     return {
@@ -562,6 +605,20 @@ export default {
562 605
       ElIcon,
563 606
       searchData,
564 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 643
 .el-popper.is-light {
587 644
   border-radius: 10px;
588 645
 }
646
+input[aria-hidden=true]{
647
+    display: none !important;
648
+}
649
+
589 650
 </style>

+ 1 - 1
src/components/right.vue

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