From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/views/iot/rule/scene/form/configs/AlertConfig.vue | 81 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 81 insertions(+), 0 deletions(-)
diff --git a/src/views/iot/rule/scene/form/configs/AlertConfig.vue b/src/views/iot/rule/scene/form/configs/AlertConfig.vue
new file mode 100644
index 0000000..8073c35
--- /dev/null
+++ b/src/views/iot/rule/scene/form/configs/AlertConfig.vue
@@ -0,0 +1,81 @@
+<!-- 鍛婅閰嶇疆缁勪欢 -->
+<template>
+ <div class="w-full">
+ <el-form-item label="鍛婅閰嶇疆" required>
+ <el-select
+ v-model="localValue"
+ placeholder="璇烽�夋嫨鍛婅閰嶇疆"
+ filterable
+ clearable
+ @change="handleChange"
+ class="w-full"
+ :loading="loading"
+ >
+ <el-option
+ v-for="config in alertConfigs"
+ :key="config.id"
+ :label="config.name"
+ :value="config.id"
+ >
+ <div class="flex items-center justify-between">
+ <span>{{ config.name }}</span>
+ <el-tag :type="config.enabled ? 'success' : 'danger'" size="small">
+ {{ config.enabled ? '鍚敤' : '绂佺敤' }}
+ </el-tag>
+ </div>
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </div>
+</template>
+
+<script setup lang="ts">
+import { useVModel } from '@vueuse/core'
+import { AlertConfigApi } from '@/api/iot/alert/config'
+
+/** 鍛婅閰嶇疆缁勪欢 */
+defineOptions({ name: 'AlertConfig' })
+
+const props = defineProps<{
+ modelValue?: number
+}>()
+
+const emit = defineEmits<{
+ (e: 'update:modelValue', value?: number): void
+}>()
+
+const localValue = useVModel(props, 'modelValue', emit)
+
+const loading = ref(false) // 鍔犺浇鐘舵��
+const alertConfigs = ref<any[]>([]) // 鍛婅閰嶇疆鍒楄〃
+
+/**
+ * 澶勭悊閫夋嫨鍙樺寲浜嬩欢
+ * @param value 閫変腑鐨勫��
+ */
+const handleChange = (value?: number) => {
+ emit('update:modelValue', value)
+}
+
+/**
+ * 鍔犺浇鍛婅閰嶇疆鍒楄〃
+ */
+const loadAlertConfigs = async () => {
+ loading.value = true
+ try {
+ const data = await AlertConfigApi.getAlertConfigPage({
+ pageNo: 1,
+ pageSize: 100,
+ enabled: true // 鍙姞杞藉惎鐢ㄧ殑閰嶇疆
+ })
+ alertConfigs.value = data.list || []
+ } finally {
+ loading.value = false
+ }
+}
+
+// 缁勪欢鎸傝浇鏃跺姞杞芥暟鎹�
+onMounted(() => {
+ loadAlertConfigs()
+})
+</script>
--
Gitblit v1.8.0