feat: 更新工作流组件,优化界面布局,添加消息和媒体过滤功能

This commit is contained in:
jxxghp
2025-02-27 18:56:05 +08:00
parent 9c558c3625
commit ad4bb07cd7
9 changed files with 313 additions and 17 deletions

View File

@@ -1,4 +1,6 @@
<script setup lang="ts">
import api from '@/api'
import { NotificationConf } from '@/api/types'
import { Handle, Position } from '@vue-flow/core'
defineProps({
@@ -11,6 +13,33 @@ defineProps({
required: true,
},
})
// 所有消息渠道
const notifications = ref<NotificationConf[]>([])
// 调用API查询通知渠道设置
async function loadNotificationSetting() {
try {
const result: { [key: string]: any } = await api.get('system/setting/Notifications')
notifications.value = result.data?.value ?? []
} catch (error) {
console.log(error)
}
}
// 计算消息渠道选项
const sourceOptions = computed(() => {
return notifications.value.map(item => {
return {
title: item.name,
value: item.name,
}
})
})
onMounted(() => {
loadNotificationSetting()
})
</script>
<template>
<VCard max-width="20rem">
@@ -22,10 +51,28 @@ defineProps({
</VAvatar>
</template>
<VCardTitle>发送消息</VCardTitle>
<VCardSubtitle>发送特定消息</VCardSubtitle>
<VCardSubtitle>发送队列中的所有消息</VCardSubtitle>
</VCardItem>
<VDivider />
<VCardText></VCardText>
<VCardText>
<VRow>
<VCol cols="12">
<VSelect
v-model="data.client"
:items="sourceOptions"
label="消息渠道"
chips
multiple
outlined
dense
clearable
/>
</VCol>
<VCol cols="12">
<VTextField v-model="data.userid" label="用户ID" chips multiple outlined dense clearable />
</VCol>
</VRow>
</VCardText>
<Handle id="edge_out" type="source" :position="Position.Right" />
</VCard>
</template>