From 5d9638758be0075bc3fcf7aa5ce569c1b35d77db Mon Sep 17 00:00:00 2001 From: lrl <742798240@qq.com> Date: Tue, 16 Nov 2021 23:46:34 +0800 Subject: [PATCH] perf: headerNotice --- src/layout/components/notice/data.ts | 130 +++++++++++++++++++ src/layout/components/notice/index.vue | 73 +++-------- src/layout/components/notice/noticeItem.vue | 135 ++++++++++++++++++-- src/layout/components/notice/noticeList.vue | 4 +- src/layout/types.ts | 6 - 5 files changed, 268 insertions(+), 80 deletions(-) create mode 100644 src/layout/components/notice/data.ts diff --git a/src/layout/components/notice/data.ts b/src/layout/components/notice/data.ts new file mode 100644 index 000000000..4b0402b54 --- /dev/null +++ b/src/layout/components/notice/data.ts @@ -0,0 +1,130 @@ +export interface ListItem { + avatar: string; + title: string; + datetime: string; + type: string; + description: string; + status?: "" | "success" | "warning" | "info" | "danger"; + extra?: string; +} + +export interface TabItem { + key: string; + name: string; + list: ListItem[]; +} + +export const noticesData: TabItem[] = [ + { + key: "1", + name: "通知", + list: [ + { + avatar: + "https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png", + title: "你收到了 12 份新周报", + datetime: "一年前", + description: "", + type: "1" + }, + { + avatar: + "https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png", + title: "你推荐的 前端高手 已通过第三轮面试", + datetime: "一年前", + description: "", + type: "1" + }, + { + avatar: + "https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png", + title: "这种模板可以区分多种通知类型", + datetime: "一年前", + description: "", + type: "1" + }, + { + avatar: + "https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png", + title: + "展示标题内容超过一行后的处理方式,如果内容超过1行将自动截断并支持tooltip显示完整标题。", + datetime: "一年前", + description: "", + type: "1" + } + ] + }, + { + key: "2", + name: "消息", + list: [ + { + avatar: + "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg", + title: "李白 评论了你", + description: "长风破浪会有时,直挂云帆济沧海", + datetime: "一年前", + type: "2" + }, + { + avatar: + "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg", + title: "李白 回复了你", + description: "行路难,行路难,多歧路,今安在。", + datetime: "一年前", + type: "2" + }, + { + avatar: + "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg", + title: "标题", + description: + "请将鼠标移动到此处,以便测试超长的消息在此处将如何处理。本例中设置的描述最大行数为2,超过2行的描述内容将被省略并且可以通过tooltip查看完整内容", + datetime: "一年前", + type: "2" + } + ] + }, + { + key: "3", + name: "代办", + list: [ + { + avatar: "", + title: "任务名称", + description: "任务需要在 2021-11-16 20:00 前启动", + datetime: "", + extra: "未开始", + status: "info", + type: "3" + }, + { + avatar: "", + title: "第三方紧急代码变更", + description: + "一拳提交于 2021-11-16,需在 2021-11-18 前完成代码变更任务", + datetime: "", + extra: "马上到期", + status: "danger", + type: "3" + }, + { + avatar: "", + title: "信息安全考试", + description: "指派小仙于 2021-12-12 前完成更新并发布", + datetime: "", + extra: "已耗时 8 天", + status: "warning", + type: "3" + }, + { + avatar: "", + title: "vue-pure-admin 版本发布", + description: "vue-pure-admin 版本发布", + datetime: "", + extra: "进行中", + type: "3" + } + ] + } +]; diff --git a/src/layout/components/notice/index.vue b/src/layout/components/notice/index.vue index d90a5f8b1..90579c7da 100644 --- a/src/layout/components/notice/index.vue +++ b/src/layout/components/notice/index.vue @@ -1,74 +1,30 @@