add top for announcement

This commit is contained in:
2024-06-23 12:27:51 +00:00
parent c8b30b50dc
commit a0b006c936
4 changed files with 27 additions and 1 deletions

View File

@@ -19,6 +19,7 @@ const announcement = reactive<AnnouncementEdit>({
tag: "公告",
content: "",
visible: false,
top: false,
})
const tags: SelectOption[] = [
@@ -38,6 +39,7 @@ async function init() {
announcement.title = res.data.title
announcement.content = res.data.content
announcement.visible = res.data.visible
announcement.top = res.data.top
}
async function submit() {
@@ -85,6 +87,9 @@ onMounted(init)
<n-form-item label="可见">
<n-switch v-model:value="announcement.visible" />
</n-form-item>
<n-form-item label="置顶">
<n-switch v-model:value="announcement.top" />
</n-form-item>
</n-form>
<TextEditor
v-if="ready"

View File

@@ -0,0 +1,14 @@
<template>
<n-flex align="center">
<n-tag type="error" v-if="top">置顶</n-tag>
<span>{{ title }}</span>
</n-flex>
</template>
<script setup lang="ts">
interface Props {
top: boolean
title: string
}
defineProps<Props>()
</script>

View File

@@ -5,6 +5,7 @@ import { parseTime } from "~/utils/functions"
import { Announcement } from "~/utils/types"
import { isDesktop } from "~/shared/composables/breakpoints"
import { NTag } from "naive-ui"
import TitleWithTag from "./components/TitleWithTag.vue"
const total = ref(0)
const content = ref("")
@@ -15,7 +16,12 @@ const query = reactive({
page: 1,
})
const columns: DataTableColumn<Announcement>[] = [
{ key: "title", title: "公告标题", minWidth: 300 },
{
key: "title",
title: "公告标题",
render: (row) => h(TitleWithTag, { title: row.title, top: row.top }),
minWidth: 300,
},
{
key: "tag",
title: "标签",

View File

@@ -337,6 +337,7 @@ export interface AnnouncementEdit {
tag: string
content: string
visible: boolean
top: boolean
}
export interface Announcement extends AnnouncementEdit {