diff --git a/yudao-ui-admin-vue3/src/api/system/notify/message/index.ts b/yudao-ui-admin-vue3/src/api/system/notify/message/index.ts
new file mode 100644
index 0000000000..92068b89df
--- /dev/null
+++ b/yudao-ui-admin-vue3/src/api/system/notify/message/index.ts
@@ -0,0 +1,33 @@
+import request from '@/config/axios'
+
+export interface NotifyMessageVO {
+ id: number
+ userId: number
+ userType: number
+ templateId: number
+ templateCode: string
+ templateNickname: string
+ templateContent: string
+ templateType: number
+ templateParams: string
+ readStatus: boolean
+ readTime: Date
+}
+
+export interface NotifyMessagePageReqVO extends PageParam {
+ userId?: number
+ userType?: number
+ templateCode?: string
+ templateType?: number
+ createTime?: Date[]
+}
+
+// 查询站内信消息列表
+export const getNotifyMessagePageApi = async (params: NotifyMessagePageReqVO) => {
+ return await request.get({ url: '/system/notify-message/page', params })
+}
+
+// 查询站内信消息详情
+export const getNotifyMessageApi = async (id: number) => {
+ return await request.get({ url: '/system/notify-message/get?id=' + id })
+}
diff --git a/yudao-ui-admin-vue3/src/views/system/notify/message/index.vue b/yudao-ui-admin-vue3/src/views/system/notify/message/index.vue
new file mode 100644
index 0000000000..cb904d2700
--- /dev/null
+++ b/yudao-ui-admin-vue3/src/views/system/notify/message/index.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/yudao-ui-admin-vue3/src/views/system/notify/message/message.data.ts b/yudao-ui-admin-vue3/src/views/system/notify/message/message.data.ts
new file mode 100644
index 0000000000..ff5eb315c4
--- /dev/null
+++ b/yudao-ui-admin-vue3/src/views/system/notify/message/message.data.ts
@@ -0,0 +1,101 @@
+import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
+
+// CrudSchema
+const crudSchemas = reactive({
+ primaryKey: 'id', // 默认的主键ID
+ primaryTitle: '编号', // 默认显示的值
+ primaryType: 'seq', // 默认为seq,序号模式
+ action: true,
+ actionWidth: '200', // 3个按钮默认200,如有删减对应增减即可
+ columns: [
+ {
+ title: '用户编号',
+ field: 'userId',
+ isSearch: true
+ },
+ {
+ title: '用户类型',
+ field: 'userType',
+ dictType: DICT_TYPE.USER_TYPE,
+ dictClass: 'string',
+ isSearch: true,
+ table: {
+ width: 80
+ }
+ },
+ {
+ title: '模版编号',
+ field: 'templateId'
+ },
+ {
+ title: '模板编码',
+ field: 'templateCode',
+ isSearch: true,
+ table: {
+ width: 80
+ }
+ },
+ {
+ title: '发送人名称',
+ field: 'templateNickname',
+ table: {
+ width: 120
+ }
+ },
+ {
+ title: '模版内容',
+ field: 'templateContent',
+ table: {
+ width: 200
+ }
+ },
+ {
+ title: '模版类型',
+ field: 'templateType',
+ dictType: DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE,
+ dictClass: 'number',
+ isSearch: true,
+ table: {
+ width: 80
+ }
+ },
+ {
+ title: '模版参数',
+ field: 'templateParams',
+ isTable: false
+ },
+ {
+ title: '是否已读',
+ field: 'readStatus',
+ dictType: DICT_TYPE.INFRA_BOOLEAN_STRING,
+ dictClass: 'boolean',
+ table: {
+ width: 80
+ }
+ },
+ {
+ title: '阅读时间',
+ field: 'readTime',
+ formatter: 'formatDate',
+ table: {
+ width: 180
+ }
+ },
+ {
+ title: '创建时间',
+ field: 'createTime',
+ isForm: false,
+ formatter: 'formatDate',
+ search: {
+ show: true,
+ itemRender: {
+ name: 'XDataTimePicker'
+ }
+ },
+ table: {
+ width: 180
+ }
+ }
+ ]
+})
+export const { allSchemas } = useVxeCrudSchemas(crudSchemas)