From 5580fc4c5c62d6911293b8217d684ef87ce44861 Mon Sep 17 00:00:00 2001 From: hebo Date: Wed, 15 Oct 2025 20:21:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E5=B8=88=E4=B8=80=E7=AD=96=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/base/rwzxApi.ts | 14 + src/api/base/xxtsApi.ts | 5 + src/pages.json | 822 +-------------- src/pages/base/message/index.vue | 168 ++- src/pages/base/service/index.vue | 55 +- src/pages/view/routine/lt/detail.vue | 120 ++- src/pages/view/routine/lt/index.vue | 8 + src/pages/view/routine/qd/detail.vue | 193 ++++ src/pages/view/routine/yishiyice/detail.vue | 6 +- src/pages/view/routine/yishiyice/jf/index.vue | 783 ++++++++++++++ .../view/routine/yishiyice/jf/kcxxpj.vue | 973 ++++++++++++++++++ src/pages/view/routine/yishiyice/jf/pjtj.vue | 716 +++++++++++++ src/pages/view/routine/yishiyice/kcrwzx.vue | 787 ++++++++------ src/pages/view/routine/yishiyice/kcrwzxtj.vue | 364 ++++--- src/pages/view/routine/yishiyice/kcxxpj.vue | 973 ++++++++++++++++++ .../view/routine/yishiyice/rw/rwzxtj.vue | 370 +++---- src/pages/view/rw/rwzxtj.vue | 269 ++--- 17 files changed, 4967 insertions(+), 1659 deletions(-) create mode 100644 src/pages/view/routine/yishiyice/jf/index.vue create mode 100644 src/pages/view/routine/yishiyice/jf/kcxxpj.vue create mode 100644 src/pages/view/routine/yishiyice/jf/pjtj.vue create mode 100644 src/pages/view/routine/yishiyice/kcxxpj.vue diff --git a/src/api/base/rwzxApi.ts b/src/api/base/rwzxApi.ts index 3ea9679..acddc2f 100644 --- a/src/api/base/rwzxApi.ts +++ b/src/api/base/rwzxApi.ts @@ -117,4 +117,18 @@ export function rwzxBatchCreateApi(params: any) { */ export function getTeacherTasksApi(params: any) { return get('/api/rwzx/getTeacherTasks', params); +} + +/** + * 更新任务评价 + */ +export function updateEvaluationApi(params: any) { + return post('/api/rwzx/updateEvaluation', params); +} + +/** + * 积分统计:按学期统计每位教师的积分汇总 + */ +export function getScoreStatisticsApi(params: any) { + return get('/api/rwzx/getScoreStatistics', params); } \ No newline at end of file diff --git a/src/api/base/xxtsApi.ts b/src/api/base/xxtsApi.ts index 6da5c75..c1085da 100644 --- a/src/api/base/xxtsApi.ts +++ b/src/api/base/xxtsApi.ts @@ -13,4 +13,9 @@ export const xxtsListApi = async (params: any) => { // 添加更新消息推送 export const xxtsSaveApi = async (params: any) => { return await post("/api/xxts/save", params); +}; + +// 更新消息状态为已阅 +export const xxtsUpdateDbZtApi = async (id: string) => { + return await post("/api/xxts/updateDbZt", id); }; \ No newline at end of file diff --git a/src/pages.json b/src/pages.json index 7132728..0671b48 100644 --- a/src/pages.json +++ b/src/pages.json @@ -185,6 +185,13 @@ "enablePullDownRefresh": false } }, + { + "path": "pages/view/routine/yishiyice/kcxxpj", + "style": { + "navigationBarTitleText": "作品评价", + "enablePullDownRefresh": false + } + }, { "path": "pages/view/routine/yishiyice/zy/index", "style": { @@ -234,6 +241,27 @@ "enablePullDownRefresh": false } }, + { + "path": "pages/view/routine/yishiyice/jf/index", + "style": { + "navigationBarTitleText": "学习积分", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/yishiyice/jf/kcxxpj", + "style": { + "navigationBarTitleText": "学习详情", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/view/routine/yishiyice/jf/pjtj", + "style": { + "navigationBarTitleText": "积分统计", + "enablePullDownRefresh": false + } + }, { "path": "pages/view/routine/yishiyice/success", "style": { @@ -989,796 +1017,4 @@ } ] } -} - - { - - "path": "pages/view/hr/teacherProfile/ExperienceInfo", - - "style": { - - "navigationBarTitleText": "学习及工作经历", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/hr/teacherProfile/FamilyInfo", - - "style": { - - "navigationBarTitleText": "家庭成员情况", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/hr/teacherProfile/EmergencyContact", - - "style": { - - "navigationBarTitleText": "紧急联系人", - - "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": { - - "navigationBarTitleText": "备案资料", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/hr/salarySlip/detail", - - "style": { - - "navigationBarTitleText": "工资条详情", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/homeSchool/parentAddressBook/index", - - "style": { - - "navigationBarTitleText": "家长通讯录", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/homeSchool/parentAddressBook/detail", - - "style": { - - "navigationBarTitleText": "学生详情", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/notice/index", - - "style": { - - "navigationBarTitleText": "发布接龙", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/notice/detail", - - "style": { - - "navigationBarTitleText": "接龙详情", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/notice/publish", - - "style": { - - "navigationBarTitleText": "接龙推送", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/notice/push-list", - - "style": { - - "navigationBarTitleText": "推送清单", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/notice/selectStudents", - - "style": { - - "navigationBarTitleText": "选择学生", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/RengJiaoRengZhi/index", - - "style": { - - "navigationBarTitleText": "任教任职", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/GongZuoLiang/index", - - "style": { - - "navigationBarTitleText": "工作量", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/xk/xkList", - - "style": { - - "navigationBarTitleText": "选课列表", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/xk/xkkcDetail", - - "style": { - - "navigationBarTitleText": "选课课程详情" - - } - - }, - - { - - "path": "pages/view/routine/xk/dmIndex", - - "style": { - - "navigationBarTitleText": "点名选课列表" - - } - - }, - - { - - "path": "pages/view/routine/xk/dm", - - "style": { - - "navigationBarTitleText": "学生点名", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/xk/dmList", - - "style": { - - "navigationBarTitleText": "点名列表", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/xk/dmXsList", - - "style": { - - "navigationBarTitleText": "点名学生列表", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/xk/tf/detail", - - "style": { - - "navigationBarTitleText": "选课退费详情", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/xk/tf/sp", - - "style": { - - "navigationBarTitleText": "选课退费审批", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/kefuxuncha/xcRecord", - - "style": { - - "navigationBarTitleText": "选课巡查记录" - - } - - }, - - { - - "path": "pages/view/routine/kefuxuncha/kyRecord", - - "style": { - - "navigationBarTitleText": "课业巡查记录" - - } - - }, - - { - - "path": "pages/base/xs/qj/sp", - - "style": { - - "navigationBarTitleText": "学生请假审批", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/base/xs/qj/detail", - - "style": { - - "navigationBarTitleText": "学生请假详情", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/analysis/xs/studentArchive", - - "style": { - - "navigationBarTitleText": "学生档案", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/analysis/xk/xkCourse", - - "style": { - - "navigationBarTitleText": "课程明单", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/analysis/xk/xkList", - - "style": { - - "navigationBarTitleText": "选课清单", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/analysis/xk/dmStatistics", - - "style": { - - "navigationBarTitleText": "点名统计", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/analysis/xk/dmXkList", - - "style": { - - "navigationBarTitleText": "点名选课列表", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/routine/qd/index", - - "style": { - - "navigationBarTitleText": "签到发布" - - } - - }, - - { - - "path": "pages/view/routine/qd/publish", - - "style": { - - "navigationBarTitleText": "新增签到" - - } - - }, - - { - - "path": "pages/view/routine/qd/push-list", - - "style": { - - "navigationBarTitleText": "推送清单" - - } - - }, - - { - - "path": "pages/view/routine/qd/detail", - - "style": { - - "navigationBarTitleText": "签到详情" - - } - - }, - - { - - "path": "pages/view/routine/qd/selectTeachers", - - "style": { - - "navigationBarTitleText": "选择教师" - - } - - }, - - { - - "path": "pages/view/routine/qd/qr-code", - - "style": { - - "navigationBarTitleText": "签到二维码", - - "navigationStyle": "custom" - - } - - }, - - { - - "path": "pages/view/routine/qd/confirm", - - "style": { - - "navigationBarTitleText": "确认签到", - - "navigationStyle": "custom" - - } - - }, - - { - - "path": "pages/view/routine/JiaoXueZiYuan/add-resource", - - "style": { - - "navigationBarTitleText": "上传资源", - - "enablePullDownRefresh": false, - - "navigationBarBackgroundColor": "#ffffff", - - "navigationBarTextStyle": "black", - - "backgroundColor": "#f4f5f7" - - } - - }, - - { - - "path": "pages/view/routine/jc/bzList", - - "style": { - - "navigationBarTitleText": "就餐标准列表" - - } - - }, - - { - - "path": "pages/view/routine/jc/index", - - "style": { - - "navigationBarTitleText": "就餐点名" - - } - - }, - - { - - "path": "pages/view/routine/jc/detail", - - "style": { - - "navigationBarTitleText": "就餐点名详情" - - } - - }, - - { - - "path": "pages/view/quantitativeAssessment/assessment/assessment", - - "style": { - - "navigationBarTitleText": "考核评价", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/quantitativeAssessment/casualShot/casualShot", - - "style": { - - "navigationBarTitleText": "随手拍", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/quantitativeAssessment/distribute/distribute", - - "style": { - - "navigationBarTitleText": "分配", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/quantitativeAssessment/index/index", - - "style": { - - "navigationBarTitleText": "量化考核首页", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/quantitativeAssessment/index/details", - - "style": { - - "navigationBarTitleText": "量化考核详情", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/quantitativeAssessment/quantitativeSummary/quantitativeSummary", - - "style": { - - "navigationBarTitleText": "量化汇总", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/quantitativeAssessment/index/noticeAnnouncement", - - "style": { - - "navigationBarTitleText": "通知公告", - - "enablePullDownRefresh": false - - } - - }, - - { - - "path": "pages/view/quantitativeAssessment/index/playPage", - - "style": { - - "navigationBarTitleText": "播放页面", - - "enablePullDownRefresh": false - - } - - } - - ], - - "globalStyle": { - - "navigationBarTextStyle": "black", - - "navigationBarTitleText": "uni-app", - - "navigationBarBackgroundColor": "#fff", - - "backgroundColor": "#F8F8F8", - - "orientation": "portrait", - - "navigationStyle": "custom", - - "app-plus": { - - "background": "#efeff4", - - "titleView": false - - } - - }, - - "tabBar": { - - "selectedColor": "#447ade", - - "color": "#999999", - - "borderStyle": "black", - - "backgroundColor": "#ffffff", - - "list": [ - - { - - "text": "消息", - - "pagePath": "pages/base/message/index", - - "iconPath": "static/tabBar/x1.png", - - "selectedIconPath": "static/tabBar/1.png" - - }, - - { - - "text": "自助服务", - - "pagePath": "pages/base/service/index", - - "iconPath": "static/tabBar/x2.png", - - "selectedIconPath": "static/tabBar/2.png" - - }, - - { - - "text": "我的", - - "pagePath": "pages/base/mine/index", - - "iconPath": "static/tabBar/x3.png", - - "selectedIconPath": "static/tabBar/3.png" - - } - - ] - - } - -} - - +} \ No newline at end of file diff --git a/src/pages/base/message/index.vue b/src/pages/base/message/index.vue index 116f458..6ca53d9 100644 --- a/src/pages/base/message/index.vue +++ b/src/pages/base/message/index.vue @@ -20,19 +20,25 @@ @@ -43,7 +49,7 @@ + + diff --git a/src/pages/view/routine/yishiyice/jf/kcxxpj.vue b/src/pages/view/routine/yishiyice/jf/kcxxpj.vue new file mode 100644 index 0000000..2dd3201 --- /dev/null +++ b/src/pages/view/routine/yishiyice/jf/kcxxpj.vue @@ -0,0 +1,973 @@ + + + + + diff --git a/src/pages/view/routine/yishiyice/jf/pjtj.vue b/src/pages/view/routine/yishiyice/jf/pjtj.vue new file mode 100644 index 0000000..7eebeb1 --- /dev/null +++ b/src/pages/view/routine/yishiyice/jf/pjtj.vue @@ -0,0 +1,716 @@ + + + + + + diff --git a/src/pages/view/routine/yishiyice/kcrwzx.vue b/src/pages/view/routine/yishiyice/kcrwzx.vue index 8a026a3..937ea34 100644 --- a/src/pages/view/routine/yishiyice/kcrwzx.vue +++ b/src/pages/view/routine/yishiyice/kcrwzx.vue @@ -9,83 +9,88 @@ - - - - 完成情况:{{ completionStats.completed }} | {{ completionStats.total }} + + + + {{ executionStats.pendingEvaluateNum }} + 待评价 - - - - - 已提交 - ({{ completionStats.completed }}) - - - 未提交 - ({{ completionStats.pending }}) - + + {{ executionStats.evaluatedNum }} + 已评价 + + + + + {{ executionStats.allNum }} + 全部 - - - 加载中... - - - - {{ activeTab === 'submitted' ? '暂无已提交记录' : '暂无未提交记录' }} - + + 加载中... + + + + 📦 + {{ getEmptyStateText() }} + - - - - - - {{ execution.rwzxfzrxm?.charAt(0) || '?' }} - - - {{ execution.rwzxfzrxm }} - + + + + + + {{ execution.rwzxfzrxm }} + + - - - - {{ execution.rwzxzt === 'A' ? '已完成' : '未完成' }} - - - - - {{ formatDateTime(execution.rwzxtime) }} - + + + 提交状态: + {{ getSubmitStatusText(execution) }} + + + 评价状态: + {{ getEvaluateStatusText(execution) }} + + + 提交时间: + {{ formatDateTime(execution.rwzxtime) }} + + + 执行内容: + {{ execution.rwzxnr }} - + diff --git a/src/pages/view/routine/yishiyice/kcxxpj.vue b/src/pages/view/routine/yishiyice/kcxxpj.vue new file mode 100644 index 0000000..2dd3201 --- /dev/null +++ b/src/pages/view/routine/yishiyice/kcxxpj.vue @@ -0,0 +1,973 @@ + + + + + diff --git a/src/pages/view/routine/yishiyice/rw/rwzxtj.vue b/src/pages/view/routine/yishiyice/rw/rwzxtj.vue index efd75a4..312140a 100644 --- a/src/pages/view/routine/yishiyice/rw/rwzxtj.vue +++ b/src/pages/view/routine/yishiyice/rw/rwzxtj.vue @@ -1,6 +1,6 @@ - + @@ -45,6 +73,7 @@ import {navigateBack, showToast} from "@/utils/uniapp"; import {useUserStore} from "@/store/modules/user"; import { ImageVideoUpload, type FileItem, COMPRESS_PRESETS } from "@/components/ImageVideoUpload"; import { attachmentUpload } from "@/api/system/upload"; +import BasicFilePreview from "@/components/BasicFile/preview.vue"; interface MessageDetail { id: string; // Assuming an ID is passed or can be derived @@ -54,9 +83,23 @@ interface MessageDetail { timeAgo: string; tagText: string; tagType: string; + likes?: number; + comments?: number; // Add other fields as necessary } +interface RwInfo { + id?: string; + rwmc?: string; // 任务名称 + rwms?: string; // 任务描述 + rwkstime?: string; // 任务开始时间 + rwfj?: string; // 任务附件URL + fjmx?: string; // 附件名称 + rwlxes?: any[]; // 任务类型列表 + rwzxqds?: any[]; // 任务执行清单 + [key: string]: any; // 允许其他属性 +} + const formData: any = ref({}) const messageId = ref(''); const jsId = ref(''); // 教师ID @@ -78,7 +121,7 @@ const messageDetail = ref({ }); const isLoading = ref(false); const rwflx: any = ref([]) -const rw = ref({}) +const rw = ref({}) const schema = ref([]) const {getUser} = useUserStore() @@ -209,6 +252,13 @@ async function performSubmit() { } } +// 获取文件格式 +const getFileFormat = (fileName: string) => { + if (!fileName) return ''; + const parts = fileName.split('.'); + return parts.length > 1 ? parts[parts.length - 1].toLowerCase() : ''; +}; + const rwzxqds = ref([]) onLoad(async (options) => { console.log('页面加载参数:', options); @@ -536,98 +586,95 @@ onLoad(async (options) => { diff --git a/src/pages/view/rw/rwzxtj.vue b/src/pages/view/rw/rwzxtj.vue index 8217030..69ad816 100644 --- a/src/pages/view/rw/rwzxtj.vue +++ b/src/pages/view/rw/rwzxtj.vue @@ -1,6 +1,6 @@ - + @@ -45,6 +73,7 @@ import {navigateBack, showToast} from "@/utils/uniapp"; import {useUserStore} from "@/store/modules/user"; import { ImageVideoUpload, type FileItem, COMPRESS_PRESETS } from "@/components/ImageVideoUpload"; import { attachmentUpload } from "@/api/system/upload"; +import BasicFilePreview from "@/components/BasicFile/preview.vue"; interface MessageDetail { id: string; // Assuming an ID is passed or can be derived @@ -54,9 +83,23 @@ interface MessageDetail { timeAgo: string; tagText: string; tagType: string; + likes?: number; + comments?: number; // Add other fields as necessary } +interface RwInfo { + id?: string; + rwmc?: string; // 任务名称 + rwms?: string; // 任务描述 + rwkstime?: string; // 任务开始时间 + rwfj?: string; // 任务附件URL + fjmx?: string; // 附件名称 + rwlxes?: any[]; // 任务类型列表 + rwzxqds?: any[]; // 任务执行清单 + [key: string]: any; // 允许其他属性 +} + const formData: any = ref({}) const messageId = ref(''); const jsId = ref(''); // 教师ID @@ -78,7 +121,7 @@ const messageDetail = ref({ }); const isLoading = ref(false); const rwflx: any = ref([]) -const rw = ref({}) +const rw = ref({}) const schema = ref([]) const {getUser} = useUserStore() @@ -209,6 +252,13 @@ async function performSubmit() { } } +// 获取文件格式 +const getFileFormat = (fileName: string) => { + if (!fileName) return ''; + const parts = fileName.split('.'); + return parts.length > 1 ? parts[parts.length - 1].toLowerCase() : ''; +}; + const rwzxqds = ref([]) onLoad(async (options) => { console.log('页面加载参数:', options); @@ -536,99 +586,95 @@ onLoad(async (options) => {