Преглед изворни кода

森防视频对接区划、列表接口

Hwf пре 1 месец
родитељ
комит
0ef506c4d6

+ 10 - 1
src/api/globalMap/forestDefenseVideo.ts

@@ -29,9 +29,18 @@ export const setHkVideoControlling = (data: VideoControlParams) => {
 };
 
 // 森防视频树形数据
-export const getVideoForestFireList = () => {
+export const getVideoForestFireList = (params) => {
   return request({
     url: '/api/videoResource/videoinfo/get_video_forest_fire_list',
+    method: 'get',
+    params: params
+  });
+};
+
+// 区县下拉框
+export const getVideoForestFireIndexCode = () => {
+  return request({
+    url: '/api/videoResource/videoinfo/get_video_forest_fire_index_code',
     method: 'get'
   });
 };

+ 20 - 39
src/views/globalMap/RightMenu/ForestDefenseVideo/index.vue

@@ -15,21 +15,9 @@
         </div>
       </div>
       <div class="query-box">
-        <el-select
-          v-model="queryParams.data1"
-          placeholder="请选择"
-          class="custom-select"
-          popper-class="custom-select-popper"
-          :teleported="false"
-          clearable
-          filterable
-          style="margin-top: 30px"
-        >
-          <el-option v-for="item in selectOptions1" :key="item.value" :label="item.label" :value="item.value" />
-        </el-select>
         <div class="query-item">
           <el-select
-            v-model="queryParams.data2"
+            v-model="queryParams.indexCode"
             placeholder="请选择"
             class="custom-select"
             popper-class="custom-select-popper"
@@ -37,11 +25,13 @@
             clearable
             filterable
             style="margin-right: 20px"
+            @change="getData"
           >
-            <el-option v-for="item in selectOptions2" :key="item.value" :label="item.label" :value="item.value" />
+            <el-option label="全部" value="" />
+            <el-option v-for="item in selectOptions1" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue" />
           </el-select>
           <el-select
-            v-model="queryParams.data2"
+            v-model="queryParams.status"
             placeholder="请选择"
             class="custom-select"
             popper-class="custom-select-popper"
@@ -49,8 +39,10 @@
             clearable
             filterable
             style="margin-right: 20px"
+            @change="getData"
           >
-            <el-option v-for="item in selectOptions2" :key="item.value" :label="item.label" :value="item.value" />
+            <el-option label="全部" value="" />
+            <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
           <div class="common-btn-primary5">导出</div>
         </div>
@@ -75,24 +67,25 @@
 
 <script lang="ts" setup name="ForestDefenseVideo">
 import DetailDialog from './DetailDialog.vue';
-import { getVideoForestFireList } from '@/api/globalMap/forestDefenseVideo';
+import { getVideoForestFireIndexCode, getVideoForestFireList } from '@/api/globalMap/forestDefenseVideo';
 
 const statisticsData = ref({
   online: '',
   total: ''
 });
+let selectOptions1 = ref([]);
+const statusOptions = reactive([
+  { label: '在线', value: 1 },
+  { label: '离线', value: 0 }
+]);
 // 查询条件
 const queryParams = reactive({
-  data1: '',
-  data2: '',
-  data3: ''
+  indexCode: '',
+  status: ''
 });
-let selectOptions1 = ref([]);
-let selectOptions2 = ref([]);
-let selectOptions3 = ref([]);
 let treeData = ref([]);
 const getData = () => {
-  getVideoForestFireList().then((res) => {
+  getVideoForestFireList(queryParams).then((res) => {
     treeData.value = res.data;
     statisticsData.value.online = res.online;
     statisticsData.value.total = res.total;
@@ -110,21 +103,9 @@ const handleClick = (data) => {
   }
 };
 onMounted(() => {
-  selectOptions1.value = [
-    { label: '测试1', value: 1 },
-    { label: '测试2', value: 2 },
-    { label: '测试3', value: 3 }
-  ];
-  selectOptions2.value = [
-    { label: '测试1', value: 1 },
-    { label: '测试2', value: 2 },
-    { label: '测试3', value: 3 }
-  ];
-  selectOptions3.value = [
-    { label: '测试1', value: 1 },
-    { label: '测试2', value: 2 },
-    { label: '测试3', value: 3 }
-  ];
+  getVideoForestFireIndexCode().then((res) => {
+    selectOptions1.value = res.data;
+  });
   getData();
 });
 </script>

+ 66 - 1
vite.config.ts

@@ -56,7 +56,72 @@ export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => {
     },
     // 预编译
     optimizeDeps: {
-      include: ['/node_modules/']
+      include: [
+        'vue',
+        'vue-router',
+        'pinia',
+        'axios',
+        '@vueuse/core',
+        'echarts',
+        'min-dash',
+        'tiny-svg',
+        'image-conversion',
+
+        'element-plus/es/components/text/style/css',
+        'element-plus/es/components/collapse-item/style/css',
+        'element-plus/es/components/collapse/style/css',
+        'element-plus/es/components/space/style/css',
+        'element-plus/es/components/container/style/css',
+        'element-plus/es/components/aside/style/css',
+        'element-plus/es/components/main/style/css',
+        'element-plus/es/components/header/style/css',
+        'element-plus/es/components/button-group/style/css',
+        'element-plus/es/components/radio-button/style/css',
+        'element-plus/es/components/checkbox-group/style/css',
+        'element-plus/es/components/form/style/css',
+        'element-plus/es/components/form-item/style/css',
+        'element-plus/es/components/button/style/css',
+        'element-plus/es/components/input/style/css',
+        'element-plus/es/components/input-number/style/css',
+        'element-plus/es/components/switch/style/css',
+        'element-plus/es/components/upload/style/css',
+        'element-plus/es/components/menu/style/css',
+        'element-plus/es/components/col/style/css',
+        'element-plus/es/components/icon/style/css',
+        'element-plus/es/components/row/style/css',
+        'element-plus/es/components/tag/style/css',
+        'element-plus/es/components/dialog/style/css',
+        'element-plus/es/components/loading/style/css',
+        'element-plus/es/components/radio/style/css',
+        'element-plus/es/components/radio-group/style/css',
+        'element-plus/es/components/popover/style/css',
+        'element-plus/es/components/scrollbar/style/css',
+        'element-plus/es/components/tooltip/style/css',
+        'element-plus/es/components/dropdown/style/css',
+        'element-plus/es/components/dropdown-menu/style/css',
+        'element-plus/es/components/dropdown-item/style/css',
+        'element-plus/es/components/sub-menu/style/css',
+        'element-plus/es/components/menu-item/style/css',
+        'element-plus/es/components/divider/style/css',
+        'element-plus/es/components/card/style/css',
+        'element-plus/es/components/link/style/css',
+        'element-plus/es/components/breadcrumb/style/css',
+        'element-plus/es/components/breadcrumb-item/style/css',
+        'element-plus/es/components/table/style/css',
+        'element-plus/es/components/tree-select/style/css',
+        'element-plus/es/components/table-column/style/css',
+        'element-plus/es/components/select/style/css',
+        'element-plus/es/components/option/style/css',
+        'element-plus/es/components/pagination/style/css',
+        'element-plus/es/components/tree/style/css',
+        'element-plus/es/components/alert/style/css',
+        'element-plus/es/components/checkbox/style/css',
+        'element-plus/es/components/date-picker/style/css',
+        'element-plus/es/components/transfer/style/css',
+        'element-plus/es/components/tabs/style/css',
+        'element-plus/es/components/image/style/css',
+        'element-plus/es/components/tab-pane/style/css'
+      ]
     },
     build: {
       rollupOptions: {