diff --git a/src/api/base/server.ts b/src/api/base/server.ts index 04b3e26..aff6ee0 100644 --- a/src/api/base/server.ts +++ b/src/api/base/server.ts @@ -261,6 +261,76 @@ export const jsFindPageJfApi = async (params: any) => { return await get("/api/js/findPageJf", params); }; +// 教师积分类型汇总 +export const jfSummaryByJfTypeApi = async (params: any) => { + return await get("/api/jf/summaryByJfType", params); +}; + +// 顶级类型及下级可加分结构 +export const jfTypeStructureApi = async (params: any) => { + return await get("/api/jf/typeStructure", params); +}; + +// 顶级类型下的积分结构(按类型节点汇总) +export const jfScoreStructureApi = async (params: any) => { + return await get("/api/jf/scoreStructure", params); +}; + +// 查询积分记录列表 +export const jfFindPageApi = async (params: any) => { + return await get("/api/jf/findPage", params); +}; + +// 积分申请(走审批流程) +export const jfSqApi = async (params: any) => { + return await post("/api/jf/sq", params); +}; + +// 积分待办/已办列表 +export const jfFindUserTodosPageApi = async (params: any) => { + return await get("/api/jf/findUserTodosPage", params); +}; + +// 保存积分记录(新增/修改) +export const jfSaveApi = async (params: any) => { + return await post("/api/jf/save", params); +}; + +// 积分审批-同意/驳回 +export const jfSpApi = async (params: any) => { + return await post("/api/jf/sp", params); +}; + +// 积分审批-转办 +export const jfTransferApi = async (params: any) => { + return await post("/api/jf/transfer", params); +}; + +// 积分审批-终止 +export const jfStopApi = async (params: any) => { + return await post("/api/jf/stop", params); +}; + +// 积分审批-重新提交 +export const jfReSubmitApi = async (params: any) => { + return await post("/api/jf/reSubmit", params); +}; + +// 积分审批-流程详情 +export const jfFlowByIdApi = async (params: any) => { + return await get("/api/jf/flowById", params); +}; + +// 查询积分项目列表(树形结构) +export const jfTypeFindPageApi = async (params: any) => { + return await get("/api/jfType/findPage", params); +}; + +// 查询积分规则列表 +export const jfRuleFindPageApi = async (params: any) => { + return await get("/api/jfRule/findPage", params); +}; + // 检查项查询 export const inspectItemFindAllApi = async (params: any) => { return await get("/api/inspectItem/findAlls", params); diff --git a/src/api/base/srApi.ts b/src/api/base/srApi.ts index d7871c6..e854534 100644 --- a/src/api/base/srApi.ts +++ b/src/api/base/srApi.ts @@ -24,3 +24,11 @@ export const srFindPageApi = async (params: any) => { return await get("/api/srTsRecord/findPage", params); }; +/** + * 通过记录ID获取贺卡详情 + * @param params { recordId: 记录ID, receiverId: 接收人ID } + */ +export const srGetCardDetailByRecordApi = async (params: { recordId: string; receiverId?: string }) => { + return await get("/api/srTsRecord/getCardDetailByRecord", params); +}; + diff --git a/src/api/base/zwApi.ts b/src/api/base/zwApi.ts index 9f348bd..3eff0a1 100644 --- a/src/api/base/zwApi.ts +++ b/src/api/base/zwApi.ts @@ -47,6 +47,14 @@ export const findAllZw = () => { + + + + + + + + diff --git a/src/pages.json b/src/pages.json index e6561b6..b174847 100644 --- a/src/pages.json +++ b/src/pages.json @@ -711,7 +711,7 @@ } }, { - "path": "pages/view/routine/JiFenPingJia/JiFenPingJia", + "path": "pages/view/routine/JiFenPingJia/jfself/JiFenPingJia", "style": { "navigationBarTitleText": "积分评价", "enablePullDownRefresh": false @@ -791,12 +791,40 @@ } }, { - "path": "pages/view/routine/JiFenPingJia/detail", + "path": "pages/view/routine/JiFenPingJia/jfself/apply", "style": { "navigationBarTitleText": "评价详情", "enablePullDownRefresh": false } }, + { + "path": "pages/view/routine/JiFenPingJia/jfself/MyScoreDetail", + "style": { + "navigationBarTitleText": "积分详情", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/JiFenPingJia/jfself/IntegralApply", + "style": { + "navigationBarTitleText": "积分申请", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/JiFenPingJia/jfsp/index", + "style": { + "navigationBarTitleText": "积分审批", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/JiFenPingJia/jfsp/JfFlow", + "style": { + "navigationBarTitleText": "积分审批", + "enablePullDownRefresh": false + } + }, { "path": "pages/view/routine/kefuxuncha/xcXkList", "style": { @@ -958,20 +986,7 @@ "enablePullDownRefresh": false } }, - { - "path": "pages/view/routine/JiFenPingJia/PersonalHonor", - "style": { - "navigationBarTitleText": "个人荣誉", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/view/routine/JiFenPingJia/PublicClassAwards", - "style": { - "navigationBarTitleText": "公开课获奖", - "enablePullDownRefresh": false - } - }, + { "path": "pages/view/hr/teacherProfile/RecordMaterials", "style": { @@ -1081,19 +1096,29 @@ { "path": "pages/view/routine/sr/envelope", "style": { - "navigationStyle": "custom", "navigationBarTitleText": "生日祝福", - "enablePullDownRefresh": false, - "backgroundColor": "#ff9a9e" + "enablePullDownRefresh": false } }, { "path": "pages/view/routine/sr/card", "style": { - "navigationStyle": "custom", "navigationBarTitleText": "生日祝福", - "enablePullDownRefresh": false, - "backgroundColor": "#ff9a9e" + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/sr/list", + "style": { + "navigationBarTitleText": "生日清单", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/sr/viewCard", + "style": { + "navigationBarTitleText": "生日祝福", + "enablePullDownRefresh": false } }, { diff --git a/src/pages/base/service/index.vue b/src/pages/base/service/index.vue index 1f4534d..8913020 100644 --- a/src/pages/base/service/index.vue +++ b/src/pages/base/service/index.vue @@ -385,6 +385,7 @@ const sections = reactive([ title: "功能应用", permissionKey: "gnyycommon", // 整个功能区域的权限编码 items: [ + { id: "gnyy1", icon: "kctb", @@ -641,6 +642,40 @@ const sections = reactive([ permissionKey: "routine-tzfb", path: "/pages/view/routine/tz/index", }, + { + id: "xxfb-srqd", + icon: "srqd", + text: "生日清单", + show: true, + permissionKey: "routine-srqd", + path: "/pages/view/routine/sr/list", + }, + ], + }, + { + id: "routine-jf", + icon: "jfpj", + text: "业绩积分", + show: true, + permissionKey: "routine-jf", + isFolder: true, + folderItems: [ + { + id: "routine-jf-pj", + icon: "jfpj", + text: "积分评价", + show: true, + permissionKey: "routine-jfpj", + path: "/pages/view/routine/JiFenPingJia/jfself/JiFenPingJia", + }, + { + id: "routine-jf-sp", + icon: "gw", + text: "积分审批", + show: true, + permissionKey: "routine-jfsp", + path: "/pages/view/routine/JiFenPingJia/jfsp/index", + }, ], }, ], @@ -650,14 +685,6 @@ const sections = reactive([ title: "教学常规", permissionKey: "routine", // 整个常规区域的权限编码 items: [ - { - id: "r2", - icon: "jfpj", - text: "积分评价", - show: true, - permissionKey: "routine-jfpj", // 积分评价权限编码 - path: "/pages/view/routine/JiFenPingJia/JiFenPingJia", - }, { id: "r3", icon: "gzltj", diff --git a/src/pages/view/routine/JiFenPingJia/PersonalHonor.vue b/src/pages/view/routine/JiFenPingJia/PersonalHonor.vue deleted file mode 100644 index 5620542..0000000 --- a/src/pages/view/routine/JiFenPingJia/PersonalHonor.vue +++ /dev/null @@ -1,357 +0,0 @@ - - - - - diff --git a/src/pages/view/routine/JiFenPingJia/PublicClassAwards.vue b/src/pages/view/routine/JiFenPingJia/PublicClassAwards.vue deleted file mode 100644 index 2e59764..0000000 --- a/src/pages/view/routine/JiFenPingJia/PublicClassAwards.vue +++ /dev/null @@ -1,284 +0,0 @@ - - - - diff --git a/src/pages/view/routine/JiFenPingJia/detail.vue b/src/pages/view/routine/JiFenPingJia/detail.vue deleted file mode 100644 index 575cf00..0000000 --- a/src/pages/view/routine/JiFenPingJia/detail.vue +++ /dev/null @@ -1,426 +0,0 @@ - - - - - diff --git a/src/pages/view/routine/JiFenPingJia/jfself/IntegralApply.vue b/src/pages/view/routine/JiFenPingJia/jfself/IntegralApply.vue new file mode 100644 index 0000000..665a42e --- /dev/null +++ b/src/pages/view/routine/JiFenPingJia/jfself/IntegralApply.vue @@ -0,0 +1,1491 @@ + + + + + + diff --git a/src/pages/view/routine/JiFenPingJia/JiFenPingJia.vue b/src/pages/view/routine/JiFenPingJia/jfself/JiFenPingJia.vue similarity index 52% rename from src/pages/view/routine/JiFenPingJia/JiFenPingJia.vue rename to src/pages/view/routine/JiFenPingJia/jfself/JiFenPingJia.vue index 2d9a243..5ba1d17 100644 --- a/src/pages/view/routine/JiFenPingJia/JiFenPingJia.vue +++ b/src/pages/view/routine/JiFenPingJia/jfself/JiFenPingJia.vue @@ -3,14 +3,7 @@ - 我的得分: {{ totalScore }} - - 我的状态: - - - {{ reviewingCountComputed }}项在审核 - - + 业绩积分: {{ totalScore }} @@ -46,16 +39,10 @@ - @@ -65,47 +52,35 @@ + + + diff --git a/src/pages/view/routine/JiFenPingJia/jfself/addjf.vue b/src/pages/view/routine/JiFenPingJia/jfself/addjf.vue new file mode 100644 index 0000000..cb226bd --- /dev/null +++ b/src/pages/view/routine/JiFenPingJia/jfself/addjf.vue @@ -0,0 +1,1193 @@ + + + + + + diff --git a/src/pages/view/routine/JiFenPingJia/jfself/apply.vue b/src/pages/view/routine/JiFenPingJia/jfself/apply.vue new file mode 100644 index 0000000..58a7890 --- /dev/null +++ b/src/pages/view/routine/JiFenPingJia/jfself/apply.vue @@ -0,0 +1,652 @@ + + + + + + diff --git a/src/pages/view/routine/JiFenPingJia/jfsp/JfFlow.vue b/src/pages/view/routine/JiFenPingJia/jfsp/JfFlow.vue new file mode 100644 index 0000000..25fac54 --- /dev/null +++ b/src/pages/view/routine/JiFenPingJia/jfsp/JfFlow.vue @@ -0,0 +1,475 @@ + + + + + + diff --git a/src/pages/view/routine/JiFenPingJia/jfsp/index.vue b/src/pages/view/routine/JiFenPingJia/jfsp/index.vue new file mode 100644 index 0000000..645316c --- /dev/null +++ b/src/pages/view/routine/JiFenPingJia/jfsp/index.vue @@ -0,0 +1,406 @@ + + + + + + diff --git a/src/pages/view/routine/qd/detail.vue b/src/pages/view/routine/qd/detail.vue index 23dc82e..023e0bd 100644 --- a/src/pages/view/routine/qd/detail.vue +++ b/src/pages/view/routine/qd/detail.vue @@ -197,7 +197,9 @@ const currentFilter = ref('all'); const totalCount = computed(() => teacherList.value.length); const signedCount = computed(() => teacherList.value.filter(t => t.qdStatus === '1').length); -const unsignedCount = computed(() => teacherList.value.filter(t => t.qdStatus === '0').length); +const unsignedCount = computed(() => teacherList.value.filter( + t => t.qdStatus === '0' && !(t.qjlx && t.qjlx.trim() !== '') +).length); const lateCount = computed(() => { if (!qdInfo.value.qdkstime) return 0; const meetingStartTime = new Date(qdInfo.value.qdkstime); @@ -227,7 +229,9 @@ const filteredTeacherList = computed(() => { return signInTime > meetingStartTime; }); case 'unsigned': - return teacherList.value.filter(t => t.qdStatus === '0'); + return teacherList.value.filter( + t => t.qdStatus === '0' && !(t.qjlx && t.qjlx.trim() !== '') + ); case 'qj': return teacherList.value.filter(t => t.qjlx && t.qjlx.trim() !== ''); case 'qj_pending': diff --git a/src/pages/view/routine/sr/envelope.vue b/src/pages/view/routine/sr/envelope.vue index 39e1194..2db1afe 100644 --- a/src/pages/view/routine/sr/envelope.vue +++ b/src/pages/view/routine/sr/envelope.vue @@ -62,20 +62,11 @@ 🎁 🎈 - - - - 🎵 - + + + diff --git a/src/pages/view/routine/sr/viewCard.vue b/src/pages/view/routine/sr/viewCard.vue new file mode 100644 index 0000000..1b24c24 --- /dev/null +++ b/src/pages/view/routine/sr/viewCard.vue @@ -0,0 +1,688 @@ + + + + + + + + diff --git a/src/pages/view/routine/zbxc/zbDetail.vue b/src/pages/view/routine/zbxc/zbDetail.vue index b6c4149..33c5c06 100644 --- a/src/pages/view/routine/zbxc/zbDetail.vue +++ b/src/pages/view/routine/zbxc/zbDetail.vue @@ -250,7 +250,7 @@ import { attachmentUpload } from "@/api/system/upload"; import BasicLayout from "@/components/BasicLayout/Layout.vue"; import { ImageVideoUpload } from "@/components/ImageVideoUpload"; import BasicTree from '@/components/BasicTree/Tree.vue'; -import { findAllNjBjTree } from '@/api/base/server'; +import { findAllNjBjKzTreeApi } from '@/api/base/server'; import { useDataStore } from "@/store/modules/data"; import { useUserStore } from "@/store/modules/user"; import { computed, onMounted, ref } from "vue"; @@ -325,7 +325,7 @@ const formatTime = (timestamp: string) => { // 加载树形数据 const loadTreeData = async () => { try { - const res = await findAllNjBjTree(); + const res = await findAllNjBjKzTreeApi(); if (res.resultCode === 1 && res.result) { // 递归转换数据格式以适配 BasicTree 组件 const convertTreeData = (items: any[]): any[] => { diff --git a/src/static/base/home/srqd.png b/src/static/base/home/srqd.png new file mode 100644 index 0000000..78e4c19 Binary files /dev/null and b/src/static/base/home/srqd.png differ diff --git a/src/static/base/music/srkl.mp3 b/src/static/base/music/srkl.mp3 new file mode 100644 index 0000000..10d8336 Binary files /dev/null and b/src/static/base/music/srkl.mp3 differ