diff --git a/src/api/system/notify/message.ts b/src/api/system/notify/message.ts
index 1c6de78..07cda56 100644
--- a/src/api/system/notify/message.ts
+++ b/src/api/system/notify/message.ts
@@ -2,12 +2,12 @@ import { defHttp } from '@/utils/http/axios'
import qs from 'qs'
// 获得站内信分页
-export function getPostPage(params) {
+export function getNotifyMessagePage(params) {
return defHttp.get({ url: '/system/notify-message/page', params })
}
// 获得我的站内信分页
-export function listSimplePosts(params) {
+export function getMyNotifyMessagePage(params) {
return defHttp.get({ url: '/system/notify-message/my-page', params })
}
diff --git a/src/locales/lang/en/routes/basic.ts b/src/locales/lang/en/routes/basic.ts
index 0855f9e..d179c30 100644
--- a/src/locales/lang/en/routes/basic.ts
+++ b/src/locales/lang/en/routes/basic.ts
@@ -1,5 +1,6 @@
export default {
login: 'Login',
errorLogList: 'Error Log',
- profile: 'User Center'
+ profile: 'User Center',
+ notifyMessage: 'Notify Message'
}
diff --git a/src/locales/lang/zh-CN/routes/basic.ts b/src/locales/lang/zh-CN/routes/basic.ts
index 5e1e509..1f14775 100644
--- a/src/locales/lang/zh-CN/routes/basic.ts
+++ b/src/locales/lang/zh-CN/routes/basic.ts
@@ -1,5 +1,6 @@
export default {
login: '登录',
errorLogList: '错误日志列表',
- profile: '个人中心'
+ profile: '个人中心',
+ notifyMessage: '站内信'
}
diff --git a/src/router/routes/index.ts b/src/router/routes/index.ts
index 85e3185..2633c12 100644
--- a/src/router/routes/index.ts
+++ b/src/router/routes/index.ts
@@ -58,6 +58,18 @@ export const ProfileRoute: AppRouteRecordRaw = {
icon: 'ep:user',
title: t('routes.basic.profile')
}
+ },
+ {
+ path: 'notify-message',
+ component: () => import('@/views/system/notify/my/index.vue'),
+ name: 'MyNotifyMessage',
+ meta: {
+ canTo: true,
+ hidden: true,
+ noTagsView: false,
+ icon: 'ep:message',
+ title: t('routes.basic.notifyMessage')
+ }
}
]
}
diff --git a/src/views/system/notify/my/index.vue b/src/views/system/notify/my/index.vue
index 3b64cfc..3574d51 100644
--- a/src/views/system/notify/my/index.vue
+++ b/src/views/system/notify/my/index.vue
@@ -1,3 +1,68 @@
- 开发中
+
+
+
+ 标记已读
+ 全部已读
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/notify/my/my.data.ts b/src/views/system/notify/my/my.data.ts
new file mode 100644
index 0000000..ccb0c5b
--- /dev/null
+++ b/src/views/system/notify/my/my.data.ts
@@ -0,0 +1,113 @@
+import { BasicColumn, FormSchema, useRender } from '@/components/Table'
+import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
+
+export const columns: BasicColumn[] = [
+ {
+ title: '发送人',
+ dataIndex: 'templateNickname',
+ width: 100
+ },
+ {
+ title: '发送时间',
+ dataIndex: 'createTime',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDate(text)
+ }
+ },
+ {
+ title: '类型',
+ dataIndex: 'templateType',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDict(text, DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE)
+ }
+ },
+ {
+ title: '内容',
+ dataIndex: 'templateContent',
+ width: 300
+ },
+ {
+ title: '是否已读',
+ dataIndex: 'readStatus',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDict(text, DICT_TYPE.INFRA_BOOLEAN_STRING)
+ }
+ }
+]
+
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: '是否已读',
+ field: 'readStatus',
+ component: 'Select',
+ componentProps: {
+ options: getIntDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)
+ },
+ colProps: { span: 8 }
+ },
+ {
+ label: '发送时间',
+ field: 'createTime',
+ component: 'RangePicker',
+ colProps: { span: 8 }
+ }
+]
+
+export const formSchema: FormSchema[] = [
+ {
+ label: '编号',
+ field: 'id',
+ show: false,
+ component: 'Input'
+ },
+ {
+ label: '模版编码',
+ field: 'code',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '模板名称',
+ field: 'name',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '发件人名称',
+ field: 'nickname',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '模板内容',
+ field: 'content',
+ required: true,
+ component: 'InputTextArea'
+ },
+ {
+ label: '类型',
+ field: 'type',
+ component: 'Select',
+ defaultValue: 0,
+ componentProps: {
+ options: getIntDictOptions(DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE)
+ }
+ },
+ {
+ label: '开启状态',
+ field: 'status',
+ component: 'RadioGroup',
+ defaultValue: 0,
+ componentProps: {
+ options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+ }
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ component: 'InputTextArea'
+ }
+]
diff --git a/src/views/system/notify/template/TemplateModal.vue b/src/views/system/notify/template/TemplateModal.vue
new file mode 100644
index 0000000..792e0c9
--- /dev/null
+++ b/src/views/system/notify/template/TemplateModal.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
diff --git a/src/views/system/notify/template/index.vue b/src/views/system/notify/template/index.vue
index 3b64cfc..1159fc4 100644
--- a/src/views/system/notify/template/index.vue
+++ b/src/views/system/notify/template/index.vue
@@ -1,3 +1,81 @@
- 开发中
+
+
+
+ {{ t('action.create') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/notify/template/template.data.ts b/src/views/system/notify/template/template.data.ts
new file mode 100644
index 0000000..284e186
--- /dev/null
+++ b/src/views/system/notify/template/template.data.ts
@@ -0,0 +1,140 @@
+import { BasicColumn, FormSchema, useRender } from '@/components/Table'
+import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
+
+export const columns: BasicColumn[] = [
+ {
+ title: '模板编码',
+ dataIndex: 'code',
+ width: 100
+ },
+ {
+ title: '模板名称',
+ dataIndex: 'name',
+ width: 180
+ },
+ {
+ title: '类型',
+ dataIndex: 'type',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDict(text, DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE)
+ }
+ },
+ {
+ title: '发送人名称',
+ dataIndex: 'nickname',
+ width: 100
+ },
+ {
+ title: '模板内容',
+ dataIndex: 'content',
+ width: 300
+ },
+ {
+ title: '开启状态',
+ dataIndex: 'status',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDict(text, DICT_TYPE.COMMON_STATUS)
+ }
+ },
+ {
+ title: '备注',
+ dataIndex: 'remark',
+ width: 180
+ },
+ {
+ title: '创建时间',
+ dataIndex: 'createTime',
+ width: 180,
+ customRender: ({ text }) => {
+ return useRender.renderDate(text)
+ }
+ }
+]
+
+export const searchFormSchema: FormSchema[] = [
+ {
+ label: '模板名称',
+ field: 'name',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '模版编码',
+ field: 'code',
+ component: 'Input',
+ colProps: { span: 8 }
+ },
+ {
+ label: '状态',
+ field: 'status',
+ component: 'Select',
+ componentProps: {
+ options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+ },
+ colProps: { span: 8 }
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ component: 'RangePicker',
+ colProps: { span: 8 }
+ }
+]
+
+export const formSchema: FormSchema[] = [
+ {
+ label: '编号',
+ field: 'id',
+ show: false,
+ component: 'Input'
+ },
+ {
+ label: '模版编码',
+ field: 'code',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '模板名称',
+ field: 'name',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '发件人名称',
+ field: 'nickname',
+ required: true,
+ component: 'Input'
+ },
+ {
+ label: '模板内容',
+ field: 'content',
+ required: true,
+ component: 'InputTextArea'
+ },
+ {
+ label: '类型',
+ field: 'type',
+ component: 'Select',
+ defaultValue: 0,
+ componentProps: {
+ options: getIntDictOptions(DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE)
+ }
+ },
+ {
+ label: '开启状态',
+ field: 'status',
+ component: 'RadioGroup',
+ defaultValue: 0,
+ componentProps: {
+ options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
+ }
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ component: 'InputTextArea'
+ }
+]