From edd91b53b7d9cca3cac72c4fbc29b730fdfbd593 Mon Sep 17 00:00:00 2001 From: chenxing Date: Thu, 24 Sep 2026 01:19:42 +0800 Subject: [PATCH] =?UTF-8?q?feat(flow):=20=E5=BA=94=E7=94=A8=E5=86=85?= =?UTF-8?q?=E3=80=8C=E6=8A=84=E9=80=81=E7=BB=99=E6=88=91=E7=9A=84=E3=80=8D?= =?UTF-8?q?=E2=80=94=E2=80=94notice=5Fcc=20=E5=88=97=E8=A1=A8=E9=A1=B5(?= =?UTF-8?q?=E8=B7=AF=E7=94=B1=20/cc)=E3=80=81API=20=E5=B0=81=E8=A3=85?= =?UTF-8?q?=E3=80=81=E8=B7=B3=E9=80=9A=E7=9F=A5=E8=AF=A6=E6=83=85(type=3D0?= =?UTF-8?q?=20=E4=B8=8D=E6=A0=87=E8=AF=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 数据源 /api/notice/cc/My(flw_cc 落表经 flow.cc.sent 回调);未发布通知的详情可见由后端 NoticeFlowGuard 第 4 条(被抄送人)放行 --- src/api/module/cc.ts | 45 ++++++++++++++++ src/router/routes.ts | 9 ++++ src/views/notice/NoticeCc.vue | 97 +++++++++++++++++++++++++++++++++++ 3 files changed, 151 insertions(+) create mode 100644 src/api/module/cc.ts create mode 100644 src/views/notice/NoticeCc.vue diff --git a/src/api/module/cc.ts b/src/api/module/cc.ts new file mode 100644 index 0000000..2617d0e --- /dev/null +++ b/src/api/module/cc.ts @@ -0,0 +1,45 @@ +import { Method } from "alova"; +import { alovaInstance } from "@/utils/alova/alova-iview"; + +/** + * 应用内「抄送给我的」接口封装(2026-09-24)。 + * 走本应用后端 /api/notice/cc/My(身份=CAS 登录态,前端不传身份); + * 数据源是 flow.cc.sent 回调落的 notice_cc 表,点击行跳通知详情。 + */ + +function get(url: string, params?: Record): Method { + return new Method("GET", alovaInstance, url, { params }); +} + +export interface CcItem { + id: number; + noticeId: number; + flowInstanceId: number | null; + nodeId: string | null; + nodeName: string | null; + sentTime: string; + title: string | null; + deptName: string | null; + publisherName: string | null; + noticeStatus: number | null; + auditStatus: number | null; + auditStatusDesc: string | null; +} + +export interface CcPage { + total: number; + content: CcItem[]; + pageIndex: number; + pageSize: number; + totalPages: number; + hasNext: boolean; +} + +export const ccApi = { + /** 抄送给我的(分页,sent_time 倒序) */ + my(page = 1, size = 10): Method { + return get(`/api/notice/cc/My`, { page, size }); + }, +}; + +export default ccApi; diff --git a/src/router/routes.ts b/src/router/routes.ts index 4ff2d45..7ab0f71 100644 --- a/src/router/routes.ts +++ b/src/router/routes.ts @@ -82,6 +82,15 @@ const routes: RouteRecordRaw[] = [ meta: { title: "我的待审核", modId: 2100 }, }, + // 抄送给我的(流程 NOTIFY 知会;modId 25 深层页不在菜单树,菜单挂载待后端 GetUserMod 配置; + // 勿复用 23——/list/detail 已占,modId 撞车会让菜单解析兜底到错误页面) + { + path: "/cc", + name: "notice_cc", + component: () => import("@/views/notice/NoticeCc.vue"), + meta: { title: "抄送给我的", modId: 25, parentId: 1 }, + }, + /* ---- 旧版路径兼容重定向(书签、残留的平台模块配置) ---- */ { path: "/accept", redirect: "/" }, { path: "/details", redirect: "/list/detail" }, diff --git a/src/views/notice/NoticeCc.vue b/src/views/notice/NoticeCc.vue new file mode 100644 index 0000000..7bd26b7 --- /dev/null +++ b/src/views/notice/NoticeCc.vue @@ -0,0 +1,97 @@ + + + + +