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/member/tag/components/MemberTagSelect.vue |   68 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/src/views/member/tag/components/MemberTagSelect.vue b/src/views/member/tag/components/MemberTagSelect.vue
new file mode 100644
index 0000000..ebff61e
--- /dev/null
+++ b/src/views/member/tag/components/MemberTagSelect.vue
@@ -0,0 +1,68 @@
+<template>
+  <el-select v-model="tagIds" placeholder="璇烽�夋嫨鐢ㄦ埛鏍囩" clearable multiple class="!w-240px">
+    <el-option v-for="tag in tags" :key="tag.id" :label="tag.name" :value="tag.id" />
+  </el-select>
+  <el-button
+    v-if="showAdd"
+    type="primary"
+    class="ml-2"
+    link
+    @click="openForm('create')"
+    v-hasPermi="['member:tag:create']"
+  >
+    鏂板鏍囩
+  </el-button>
+
+  <!-- 琛ㄥ崟寮圭獥锛氭坊鍔� -->
+  <TagForm ref="formRef" @success="getList" />
+</template>
+
+<script lang="ts" setup>
+import * as TagApi from '@/api/member/tag'
+import TagForm from '@/views/member/tag/TagForm.vue'
+
+defineOptions({ name: 'MemberTagSelect' })
+
+const props = defineProps({
+  /** 涓嬫媺妗嗛�変腑鍊� **/
+  modelValue: {
+    type: Array,
+    default: undefined
+  },
+  /** 鏄惁鏄剧ず鈥滄柊澧炴爣绛锯�濇寜閽� **/
+  showAdd: {
+    type: Boolean,
+    default: false
+  }
+})
+const emit = defineEmits(['update:modelValue'])
+defineExpose({
+  showAdd: props.showAdd
+})
+
+const tagIds = computed({
+  get() {
+    return props.modelValue
+  },
+  set(value: any) {
+    emit('update:modelValue', value)
+  }
+})
+
+const tags = ref<TagApi.TagVO[]>([])
+
+const getList = async () => {
+  tags.value = await TagApi.getSimpleTagList()
+}
+
+/** 娣诲姞鐢ㄦ埛鏍囩琛ㄥ崟寮规 */
+const formRef = ref()
+const openForm = (type: string, id?: number) => {
+  formRef.value.open(type, id)
+}
+
+/** 鍒濆鍖� */
+onMounted(() => {
+  getList()
+})
+</script>

--
Gitblit v1.8.0