Skip to content

Commit 2323946

Browse files
committed
notice 重构补充:
1. 移除 API 方法的后缀 2. 公告内容使用 Editor 富文本编辑器 3. 列表的状态检索的修改
1 parent 42421f5 commit 2323946

File tree

6 files changed

+22
-348
lines changed

6 files changed

+22
-348
lines changed

src/api/system/notice/index.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,27 @@ export interface NoticeVO {
1111
createTime: Date
1212
}
1313

14-
export interface NoticePageReqVO extends PageParam {
15-
title?: string
16-
status?: number
17-
}
18-
1914
// 查询公告列表
20-
export const getNoticePageApi = (params: NoticePageReqVO) => {
15+
export const getNoticePage = (params: PageParam) => {
2116
return request.get({ url: '/system/notice/page', params })
2217
}
2318

2419
// 查询公告详情
25-
export const getNoticeApi = (id: number) => {
20+
export const getNotice = (id: number) => {
2621
return request.get({ url: '/system/notice/get?id=' + id })
2722
}
2823

2924
// 新增公告
30-
export const createNoticeApi = (data: NoticeVO) => {
25+
export const createNotice = (data: NoticeVO) => {
3126
return request.post({ url: '/system/notice/create', data })
3227
}
3328

3429
// 修改公告
35-
export const updateNoticeApi = (data: NoticeVO) => {
30+
export const updateNotice = (data: NoticeVO) => {
3631
return request.put({ url: '/system/notice/update', data })
3732
}
3833

3934
// 删除公告
40-
export const deleteNoticeApi = (id: number) => {
35+
export const deleteNotice = (id: number) => {
4136
return request.delete({ url: '/system/notice/delete?id=' + id })
4237
}

src/views/system/notice/form.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<Dialog :title="modelTitle" v-model="modelVisible">
2+
<Dialog :title="modelTitle" v-model="modelVisible" width="800">
33
<el-form
44
ref="formRef"
55
:model="formData"
@@ -11,7 +11,7 @@
1111
<el-input v-model="formData.title" placeholder="请输入公告标题" />
1212
</el-form-item>
1313
<el-form-item label="公告内容" prop="content">
14-
<el-input v-model="formData.content" type="textarea" placeholder="请输公告内容" />
14+
<Editor :model-value="formData.content" height="150px" />
1515
</el-form-item>
1616
<el-form-item label="公告类型" prop="type">
1717
<el-select v-model="formData.type" placeholder="请选择公告类型" clearable>
@@ -82,7 +82,7 @@ const openModal = async (type: string, id?: number) => {
8282
if (id) {
8383
formLoading.value = true
8484
try {
85-
formData.value = await NoticeApi.getNoticeApi(id)
85+
formData.value = await NoticeApi.getNotice(id)
8686
} finally {
8787
formLoading.value = false
8888
}
@@ -102,10 +102,10 @@ const submitForm = async () => {
102102
try {
103103
const data = formData.value as unknown as NoticeApi.NoticeVO
104104
if (formType.value === 'create') {
105-
await NoticeApi.createNoticeApi(data)
105+
await NoticeApi.createNotice(data)
106106
message.success(t('common.createSuccess'))
107107
} else {
108-
await NoticeApi.updateNoticeApi(data)
108+
await NoticeApi.updateNotice(data)
109109
message.success(t('common.updateSuccess'))
110110
}
111111
modelVisible.value = false

src/views/system/notice/index.vue

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,8 @@
1010
@keyup.enter="handleQuery"
1111
/>
1212
</el-form-item>
13-
<el-form-item label="公告类型" prop="type">
14-
<el-select v-model="queryParams.type" placeholder="请选择公告类型" clearable>
15-
<el-option
16-
v-for="dict in getDictOptions(DICT_TYPE.SYSTEM_NOTICE_TYPE)"
17-
:key="parseInt(dict.value)"
18-
:label="dict.label"
19-
:value="parseInt(dict.value)"
20-
/>
21-
</el-select>
22-
</el-form-item>
23-
<el-form-item label="状态" prop="status">
24-
<el-select v-model="queryParams.type" placeholder="请选择状态" clearable>
13+
<el-form-item label="公告状态" prop="status">
14+
<el-select v-model="queryParams.status" placeholder="请选择公告状态" clearable>
2515
<el-option
2616
v-for="dict in getDictOptions(DICT_TYPE.COMMON_STATUS)"
2717
:key="parseInt(dict.value)"
@@ -30,7 +20,6 @@
3020
/>
3121
</el-select>
3222
</el-form-item>
33-
3423
<el-form-item>
3524
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
3625
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
@@ -43,9 +32,10 @@
4332
</el-button>
4433
</el-form-item>
4534
</el-form>
35+
4636
<!-- 列表 -->
4737
<el-table v-loading="loading" :data="list" align="center">
48-
<el-table-column label="公告主键" align="center" prop="id" />
38+
<el-table-column label="公告编号" align="center" prop="id" />
4939
<el-table-column label="公告标题" align="center" prop="title" />
5040
<el-table-column label="公告类型" align="center" prop="type">
5141
<template #default="scope">
@@ -57,12 +47,6 @@
5747
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
5848
</template>
5949
</el-table-column>
60-
<el-table-column
61-
label="公告内容"
62-
align="center"
63-
prop="content"
64-
:show-overflow-tooltip="true"
65-
/>
6650
<el-table-column
6751
label="创建时间"
6852
align="center"
@@ -100,7 +84,8 @@
10084
/>
10185
</content-wrap>
10286

103-
<NoticeForm ref="modalRef" @success="getList" />
87+
<!-- 表单弹窗:添加/修改 -->
88+
<notice-form ref="modalRef" @success="getList" />
10489
</template>
10590
<script setup lang="tsx">
10691
import { DICT_TYPE, getDictOptions } from '@/utils/dict'
@@ -127,36 +112,40 @@ const queryFormRef = ref() // 搜索的表单
127112
const getList = async () => {
128113
loading.value = true
129114
try {
130-
const data = await NoticeApi.getNoticePageApi(queryParams)
115+
const data = await NoticeApi.getNoticePage(queryParams)
131116
132117
list.value = data.list
133118
total.value = data.total
134119
} finally {
135120
loading.value = false
136121
}
137122
}
123+
138124
/** 搜索按钮操作 */
139125
const handleQuery = () => {
140126
queryParams.pageNo = 1
141127
getList()
142128
}
129+
143130
/** 重置按钮操作 */
144131
const resetQuery = () => {
145132
queryFormRef.value.resetFields()
146133
handleQuery()
147134
}
135+
148136
/** 添加/修改操作 */
149137
const modalRef = ref()
150138
const openModal = (type: string, id?: number) => {
151139
modalRef.value.openModal(type, id)
152140
}
141+
153142
/** 删除按钮操作 */
154143
const handleDelete = async (id: number) => {
155144
try {
156145
// 删除的二次确认
157146
await message.delConfirm()
158147
// 发起删除
159-
await NoticeApi.deleteNoticeApi(id)
148+
await NoticeApi.deleteNotice(id)
160149
message.success(t('common.delSuccess'))
161150
// 刷新列表
162151
await getList()

src/views/system/notice/indexd.vue

Lines changed: 0 additions & 148 deletions
This file was deleted.

0 commit comments

Comments
 (0)