From 27cd042df9aca0383a49f3514bc21958dd890912 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 29 六月 2026 15:42:23 +0800
Subject: [PATCH] 银川 1.联调产品维护页面 2.添加IM即时通讯模块

---
 src/views/im/manager/channel/list/components/select.vue |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/src/views/im/manager/channel/list/components/select.vue b/src/views/im/manager/channel/list/components/select.vue
new file mode 100644
index 0000000..6195d1c
--- /dev/null
+++ b/src/views/im/manager/channel/list/components/select.vue
@@ -0,0 +1,66 @@
+<script lang="ts" setup>
+import type { ImManagerChannelApi } from '#/api/im/manager/channel';
+
+import { computed, onMounted, ref } from 'vue';
+
+import { Select } from 'ant-design-vue';
+
+import { getSimpleChannelList } from '#/api/im/manager/channel';
+
+defineOptions({ name: 'ImManagerChannelSelect' });
+
+const props = withDefaults(
+  defineProps<{
+    allowClear?: boolean
+    disabled?: boolean
+    modelValue?: number
+    placeholder?: string
+  }>(),
+  {
+    allowClear: true,
+    disabled: false,
+    modelValue: undefined,
+    placeholder: '璇烽�夋嫨棰戦亾',
+  },
+);
+
+const emit = defineEmits<{
+  'update:modelValue': [value: number | undefined];
+}>();
+
+const loading = ref(false);
+const channelList = ref<ImManagerChannelApi.Channel[]>([]);
+
+const value = computed({
+  get: () => props.modelValue,
+  set: (val) => emit('update:modelValue', val),
+});
+
+const options = computed(() =>
+  channelList.value.map((item) => ({ label: item.name, value: item.id })),
+);
+
+/** 鍔犺浇棰戦亾鍒楄〃 */
+async function loadChannelList() {
+  loading.value = true;
+  try {
+    channelList.value = await getSimpleChannelList();
+  } finally {
+    loading.value = false;
+  }
+}
+
+onMounted(loadChannelList);
+</script>
+
+<template>
+  <Select
+    v-model:value="value"
+    :allow-clear="allowClear"
+    :disabled="disabled"
+    :loading="loading"
+    :options="options"
+    :placeholder="placeholder"
+    class="w-full"
+  />
+</template>

--
Gitblit v1.9.3