From 787ccc59ba89bacc075562a161ecf02bc76ebadc Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 24 七月 2026 17:15:53 +0800
Subject: [PATCH] 银川 1.采购申请添加入库状态查询条件

---
 src/views/im/home/components/group/group-mute-member-dialog.vue |   97 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/src/views/im/home/components/group/group-mute-member-dialog.vue b/src/views/im/home/components/group/group-mute-member-dialog.vue
new file mode 100644
index 0000000..5f5315c
--- /dev/null
+++ b/src/views/im/home/components/group/group-mute-member-dialog.vue
@@ -0,0 +1,97 @@
+<script lang="ts" setup>
+import { ref } from 'vue'
+
+import { Button, message, Modal } from 'ant-design-vue'
+
+import { muteMember } from '#/api/im/group'
+
+defineOptions({ name: 'ImGroupMuteMemberDialog' })
+
+const emit = defineEmits<{
+  success: []
+}>()
+
+const visible = ref(false)
+const loading = ref(false)
+const groupId = ref(0)
+const userId = ref(0)
+const memberName = ref('')
+const selected = ref(600) // 榛樿 10 鍒嗛挓
+
+const presets = [
+  { label: '10 鍒嗛挓', value: 600 },
+  { label: '1 灏忔椂', value: 3600 },
+  { label: '12 灏忔椂', value: 43_200 },
+  { label: '1 澶�', value: 86_400 },
+  { label: '7 澶�', value: 604_800 },
+  { label: '30 澶�', value: 2_592_000 },
+  { label: '姘镐箙', value: 0 }
+]
+
+/** 鎵撳紑寮圭獥 */
+function open(gid: number, uid: number, name: string) {
+  groupId.value = gid
+  userId.value = uid
+  memberName.value = name
+  selected.value = 600
+  visible.value = true
+}
+
+/** 纭绂佽█ */
+async function handleConfirm() {
+  loading.value = true
+  try {
+    await muteMember({
+      id: groupId.value,
+      userId: userId.value,
+      mutedSeconds: selected.value
+    })
+    message.success('绂佽█鎴愬姛')
+    visible.value = false
+    emit('success')
+  } finally {
+    loading.value = false
+  }
+}
+
+defineExpose({ open })
+</script>
+
+<template>
+  <!-- 绂佽█鏃堕暱閫夋嫨寮圭獥 -->
+  <Modal v-model:open="visible" title="璁剧疆绂佽█" width="560px" :mask-closable="false">
+    <div class="flex flex-col gap-4">
+      <!-- 鎴愬憳淇℃伅鍗★細鍜� FriendAddDialog 鐨� user 鍗′繚鎸佷竴鑷寸殑娴呰壊鑳屾櫙 -->
+      <div
+        class="flex items-center gap-2 px-3 py-2.5 rounded-md bg-[var(--ant-color-fill-secondary)]"
+      >
+        <span class="text-13px text-[var(--ant-color-text-secondary)]">绂佽█鎴愬憳</span>
+        <span
+          class="text-sm font-medium text-[var(--ant-color-text)] truncate"
+        >
+          {{ memberName }}
+        </span>
+      </div>
+
+      <!-- 绂佽█鏃堕暱閫夐」锛氱敤 el-button 骞抽摵锛岄�変腑璧� primary锛岄潬 gap-2 鐣欓棿璺� -->
+      <div>
+        <div class="mb-2 text-13px text-[var(--ant-color-text-secondary)]">绂佽█鏃堕暱</div>
+        <div class="grid grid-cols-3 gap-2">
+          <Button
+            v-for="opt in presets"
+            :key="opt.value"
+            :type="selected === opt.value ? 'primary' : undefined"
+            class="!ml-0 w-full"
+            @click="selected = opt.value"
+          >
+            {{ opt.label }}
+          </Button>
+        </div>
+      </div>
+    </div>
+    <template #footer>
+      <Button @click="visible = false">鍙栨秷</Button>
+      <Button type="primary" :loading="loading" @click="handleConfirm">纭畾</Button>
+    </template>
+  </Modal>
+</template>

--
Gitblit v1.9.3