ConditionQuery.vue 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <template>
  2. <div class="flex items-center query-head">
  3. <el-space alignment="center" :size="50">
  4. <div>
  5. <el-select v-model="queryType" placeholder="选择类型" class="type-select">
  6. <el-option
  7. v-for="item in queryTypeSelect"
  8. :key="item.value"
  9. :label="item.label"
  10. :value="item.value"
  11. />
  12. </el-select>
  13. <el-input
  14. :style="{ width: '180px' }"
  15. v-model="queryTypeContent"
  16. clearable
  17. placeholder="请输入查找内容"
  18. />
  19. </div>
  20. <div>
  21. <span>协议类型:</span>
  22. <el-select v-model="queryCameraType" placeholder="请选择协议类型" class="protocal-select">
  23. <el-option
  24. v-for="item in protocalTypeSelect"
  25. :key="item.value"
  26. :label="item.label"
  27. :value="item.value"
  28. />
  29. </el-select>
  30. </div>
  31. <div>
  32. <span>场景:</span>
  33. <el-tree-select
  34. v-model="queryWorkSpace"
  35. :data="scenesTree"
  36. :render-after-expand="false"
  37. :default-expand-all="true"
  38. check-strictly
  39. placeholder="请选择场景"
  40. class="protocal-select"
  41. />
  42. </div>
  43. </el-space>
  44. <div class="flex-1 flex justify-end">
  45. <el-button type="primary" @click="getCameraItems"> 查询 </el-button>
  46. <el-button @click="resetSearch"> 重置 </el-button>
  47. </div>
  48. </div>
  49. </template>
  50. <script setup lang="ts">
  51. import { onMounted } from 'vue';
  52. import { queryTypeSelect, protocalTypeSelect } from '../constant';
  53. import useCameraOverview from '../stores/useCameraOverview';
  54. import useSceneInfos from '@/hooks/useSceneInfos';
  55. import { storeToRefs } from 'pinia';
  56. const sceneInfos = useSceneInfos();
  57. const { scenesTree, getScenesTree } = sceneInfos;
  58. const cameraOverview = useCameraOverview();
  59. const { queryType, queryTypeContent, queryCameraType, queryWorkSpace } =
  60. storeToRefs(cameraOverview);
  61. const { getCameraItems } = cameraOverview;
  62. // 重置查询条件
  63. const resetSearch = () => {
  64. queryType.value = '';
  65. queryTypeContent.value = '';
  66. queryCameraType.value = '';
  67. queryWorkSpace.value = '';
  68. };
  69. onMounted(() => {
  70. getScenesTree({ level: 3, valueKey: 'code', labelKey: 'name' });
  71. });
  72. </script>
  73. <style scoped>
  74. .type-select {
  75. width: 100px;
  76. }
  77. .protocal-select {
  78. width: 160px;
  79. }
  80. .query-head {
  81. padding: 24px 57px 18px 21px;
  82. }
  83. </style>