diff --git a/src/api/base/srApi.ts b/src/api/base/srApi.ts new file mode 100644 index 0000000..d7871c6 --- /dev/null +++ b/src/api/base/srApi.ts @@ -0,0 +1,26 @@ +// 生日贺卡相关API接口 +import { get, post } from "@/utils/request"; + +/** + * 获取贺卡详情 + * @param params { id: 推送记录ID } + */ +export const srGetCardDetailApi = async (params: { id: string }) => { + return await get("/api/srTsRecord/getCardDetail", params); +}; + +/** + * 标记贺卡为已查阅 + * @param params { xxtsId: 消息推送ID } + */ +export const srMarkAsViewedApi = async (params: { xxtsId: string }) => { + return await post("/api/srTsRecord/markAsViewed", params); +}; + +/** + * 获取推送记录列表 + */ +export const srFindPageApi = async (params: any) => { + return await get("/api/srTsRecord/findPage", params); +}; + diff --git a/src/api/base/tzApi.ts b/src/api/base/tzApi.ts new file mode 100644 index 0000000..419074b --- /dev/null +++ b/src/api/base/tzApi.ts @@ -0,0 +1,48 @@ +// 通知公告相关API接口 +import { get, post } from "@/utils/request"; + +/** + * 获取通知列表(教师端) + * 注意:useLayout 期望返回对象 { rows: [...] },不要返回数组 + */ +export const mobileTzListApi = async (params: any) => { + const res = await get("/api/notice/findPage", params); + // 返回原始响应,useLayout 会自动从 rows 字段取数据 + return res; +}; + +/** + * 根据ID获取通知详情 + */ +export const tzFindByIdApi = async (params: { id: string }) => { + return await get("/api/notice/findById", params); +}; + +/** + * 保存通知(新增/编辑) + */ +export const tzSaveApi = async (params: any) => { + return await post("/api/notice/save", params); +}; + +/** + * 删除通知 + */ +export const tzDeleteApi = async (params: { ids: string }) => { + return await post("/api/notice/logicDelete", params); +}; + +/** + * 根据通知ID查询推送名单 + */ +export const tzRecipientFindByNoticeIdApi = async (params: { noticeId: string }) => { + return await get("/api/noticeRecipient/findByNoticeId", params); +}; + +/** + * 推送通知消息 + */ +export const xxtsSaveByNoticeParamsApi = async (params: { noticeId: string }) => { + return await post("/api/xxts/saveByNoticeParams", params); +}; + diff --git a/src/api/base/zwApi.ts b/src/api/base/zwApi.ts index 661a392..9f348bd 100644 --- a/src/api/base/zwApi.ts +++ b/src/api/base/zwApi.ts @@ -37,6 +37,15 @@ export const findAllZw = () => { + + + + + + + + + diff --git a/src/components/BasicTeacherSelect/index.ts b/src/components/BasicTeacherSelect/index.ts new file mode 100644 index 0000000..7b619cc --- /dev/null +++ b/src/components/BasicTeacherSelect/index.ts @@ -0,0 +1,13 @@ +import BasicTeacherSelect from './index.vue'; + +export interface TeacherInfo { + id: string; + jsxm: string; + jsId?: string; + dzzw?: string; + qtzw?: string; +} + +export { BasicTeacherSelect }; +export default BasicTeacherSelect; + diff --git a/src/components/BasicTeacherSelect/index.vue b/src/components/BasicTeacherSelect/index.vue new file mode 100644 index 0000000..34aa937 --- /dev/null +++ b/src/components/BasicTeacherSelect/index.vue @@ -0,0 +1,204 @@ + + + + + + diff --git a/src/pages.json b/src/pages.json index f9e02e1..e6561b6 100644 --- a/src/pages.json +++ b/src/pages.json @@ -1043,6 +1043,66 @@ "enablePullDownRefresh": false } }, + { + "path": "pages/view/routine/tz/index", + "style": { + "navigationBarTitleText": "通知发布", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/tz/publish", + "style": { + "navigationBarTitleText": "发布通知", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/tz/detail", + "style": { + "navigationBarTitleText": "通知详情", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/tz/push-list", + "style": { + "navigationBarTitleText": "推送名单", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/tz/detailwb", + "style": { + "navigationBarTitleText": "通知详情", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/sr/envelope", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "生日祝福", + "enablePullDownRefresh": false, + "backgroundColor": "#ff9a9e" + } + }, + { + "path": "pages/view/routine/sr/card", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "生日祝福", + "enablePullDownRefresh": false, + "backgroundColor": "#ff9a9e" + } + }, + { + "path": "pages/common/selectTeachers/index", + "style": { + "navigationBarTitleText": "选择教师", + "enablePullDownRefresh": false + } + }, { "path": "pages/view/analysis/jl/statistics", "style": { diff --git a/src/pages/base/service/index.vue b/src/pages/base/service/index.vue index 29fc262..1f4534d 100644 --- a/src/pages/base/service/index.vue +++ b/src/pages/base/service/index.vue @@ -609,6 +609,40 @@ const sections = reactive([ }, ], }, + { + id: "gnyy-xxfb", + icon: "jlfb", + text: "信息发布", + show: true, + permissionKey: "gnyycommon-xxfb", // 信息发布权限编码 + isFolder: true, // 标记为文件夹类型 + folderItems: [ + { + id: "xxfb-qdfb", + icon: "qdfb", + text: "签到发布", + show: true, + permissionKey: "routine-qdfb", + path: "/pages/view/routine/qd/index", + }, + { + id: "xxfb-jlfb", + icon: "jlfb", + text: "发布接龙", + show: true, + permissionKey: "routine-bjjl", + path: "/pages/view/notice/index", + }, + { + id: "xxfb-tzfb", + icon: "gw", + text: "通知发布", + show: true, + permissionKey: "routine-tzfb", + path: "/pages/view/routine/tz/index", + }, + ], + }, ], }, { diff --git a/src/pages/common/selectTeachers/index.vue b/src/pages/common/selectTeachers/index.vue new file mode 100644 index 0000000..b32cb64 --- /dev/null +++ b/src/pages/common/selectTeachers/index.vue @@ -0,0 +1,1227 @@ + + + + + + diff --git a/src/pages/view/routine/lt/create.vue b/src/pages/view/routine/lt/create.vue index cef17c9..67447c7 100644 --- a/src/pages/view/routine/lt/create.vue +++ b/src/pages/view/routine/lt/create.vue @@ -556,7 +556,7 @@ const handleBjConfirm = (e: any) => { // 跳转到教师选择页面 const showTeacherTree = () => { uni.navigateTo({ - url: '/pages/view/routine/qd/selectTeachers' + url: '/pages/common/selectTeachers/index' }); }; diff --git a/src/pages/view/routine/lt/edit.vue b/src/pages/view/routine/lt/edit.vue index 8cd8534..204dc38 100644 --- a/src/pages/view/routine/lt/edit.vue +++ b/src/pages/view/routine/lt/edit.vue @@ -591,7 +591,7 @@ const openCategoryPicker = () => { // 跳转到教师选择页面 const showTeacherTree = () => { uni.navigateTo({ - url: '/pages/view/routine/qd/selectTeachers' + url: '/pages/common/selectTeachers/index' }); }; diff --git a/src/pages/view/routine/qd/publish.vue b/src/pages/view/routine/qd/publish.vue index 814c386..e6b9c67 100644 --- a/src/pages/view/routine/qd/publish.vue +++ b/src/pages/view/routine/qd/publish.vue @@ -612,7 +612,7 @@ const handleSignatureChange = (e: any) => { const showTeacherTree = () => { uni.navigateTo({ - url: '/pages/view/routine/qd/selectTeachers' + url: '/pages/common/selectTeachers/index' }); }; diff --git a/src/pages/view/routine/sr/card.vue b/src/pages/view/routine/sr/card.vue new file mode 100644 index 0000000..67c2bb5 --- /dev/null +++ b/src/pages/view/routine/sr/card.vue @@ -0,0 +1,695 @@ + + + + + + + diff --git a/src/pages/view/routine/sr/envelope.vue b/src/pages/view/routine/sr/envelope.vue new file mode 100644 index 0000000..39e1194 --- /dev/null +++ b/src/pages/view/routine/sr/envelope.vue @@ -0,0 +1,658 @@ + + + + + + + diff --git a/src/pages/view/routine/tz/detail.vue b/src/pages/view/routine/tz/detail.vue new file mode 100644 index 0000000..cf9d130 --- /dev/null +++ b/src/pages/view/routine/tz/detail.vue @@ -0,0 +1,664 @@ + + + + + + + + + diff --git a/src/pages/view/routine/tz/detailwb.vue b/src/pages/view/routine/tz/detailwb.vue new file mode 100644 index 0000000..5f44a5e --- /dev/null +++ b/src/pages/view/routine/tz/detailwb.vue @@ -0,0 +1,722 @@ + + + + + + + + + + + diff --git a/src/pages/view/routine/tz/index.vue b/src/pages/view/routine/tz/index.vue new file mode 100644 index 0000000..65d41a9 --- /dev/null +++ b/src/pages/view/routine/tz/index.vue @@ -0,0 +1,447 @@ + + + + + + + diff --git a/src/pages/view/routine/tz/publish.vue b/src/pages/view/routine/tz/publish.vue new file mode 100644 index 0000000..835bb25 --- /dev/null +++ b/src/pages/view/routine/tz/publish.vue @@ -0,0 +1,955 @@ + + + + + + diff --git a/src/pages/view/routine/tz/push-list.vue b/src/pages/view/routine/tz/push-list.vue new file mode 100644 index 0000000..367ee81 --- /dev/null +++ b/src/pages/view/routine/tz/push-list.vue @@ -0,0 +1,384 @@ + + + + + +