diff --git a/api/instructor/studentNotice.js b/api/instructor/studentNotice.js
new file mode 100644
index 0000000..3e08fb1
--- /dev/null
+++ b/api/instructor/studentNotice.js
@@ -0,0 +1,45 @@
+import request from '@/utils/request';
+
+// 查询通知任务材料
+export function listStuNoticeMaterials(query) {
+ return request({
+ url: '/teacher/stuNoticeMaterials/getByFdyNameAndYearAndMonth',
+ method: 'get',
+ params: query,
+ headers: {
+ Authorization: "Bearer " + uni.getStorageSync("App-Token"),
+ }
+ })
+}
+// 查询通知任务材料详细
+export function getStuNoticeMaterials(id) {
+ return request({
+ url: '/teacher/stuNoticeMaterials/' + id,
+ method: 'get'
+ })
+}
+// 新增通知任务材料
+export function addStuNoticeMaterials(data) {
+ return request({
+ url: '/teacher/stuNoticeMaterials/add',
+ method: 'post',
+ data: data
+ })
+}
+
+
+// 修改通知任务材料
+export function updateStuNoticeMaterials(data) {
+ return request({
+ url: '/teacher/stuNoticeMaterials/update',
+ method: 'post',
+ data: data
+ })
+}
+// 删除通知任务材料
+export function delStuNoticeMaterials(id) {
+ return request({
+ url: '/teacher/stuNoticeMaterials/'+id,
+ method: 'post',
+ })
+}
diff --git a/api/instructor/studentTest.js b/api/instructor/studentTest.js
new file mode 100644
index 0000000..49f7a3a
--- /dev/null
+++ b/api/instructor/studentTest.js
@@ -0,0 +1,45 @@
+import request from '@/utils/request';
+
+// 查询职业测评材料
+export function listStuTestMaterials(query) {
+ return request({
+ url: '/teacher/stuTestMaterials/getByFdyNameAndYearAndMonth',
+ method: 'get',
+ params: query,
+ headers: {
+ Authorization: "Bearer " + uni.getStorageSync("App-Token"),
+ }
+ })
+}
+// 查询职业测评材料详细
+export function getStuTestMaterials(id) {
+ return request({
+ url: '/teacher/stuTestMaterials/' + id,
+ method: 'get'
+ })
+}
+// 新增职业测评材料
+export function addStuTestMaterials(data) {
+ return request({
+ url: '/teacher/stuTestMaterials/add',
+ method: 'post',
+ data: data
+ })
+}
+
+
+// 修改职业测评材料
+export function updateStuTestMaterials(data) {
+ return request({
+ url: '/teacher/stuTestMaterials/update',
+ method: 'post',
+ data: data
+ })
+}
+// 删除职业测评材料
+export function delStuTestMaterials(id) {
+ return request({
+ url: '/teacher/stuTestMaterials/'+id,
+ method: 'post',
+ })
+}
diff --git a/pages.json b/pages.json
index 00353cf..ae370e1 100644
--- a/pages.json
+++ b/pages.json
@@ -554,6 +554,54 @@
"navigationBarTextStyle": "white"
}
},
+ {
+ "path": "pages/instructor/performance-appraisal/performance-evaluation/student-test/list",
+ "style": {
+ "navigationBarTitleText": "职业测评佐证",
+ "navigationBarBackgroundColor": "#1890FF",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/instructor/performance-appraisal/performance-evaluation/student-test/add",
+ "style": {
+ "navigationBarTitleText": "添加佐证",
+ "navigationBarBackgroundColor": "#1890FF",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/instructor/performance-appraisal/performance-evaluation/student-test/detail",
+ "style": {
+ "navigationBarTitleText": "佐证详情",
+ "navigationBarBackgroundColor": "#1890FF",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/instructor/performance-appraisal/performance-evaluation/student-notice/list",
+ "style": {
+ "navigationBarTitleText": "通知任务佐证",
+ "navigationBarBackgroundColor": "#1890FF",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/instructor/performance-appraisal/performance-evaluation/student-notice/add",
+ "style": {
+ "navigationBarTitleText": "添加佐证",
+ "navigationBarBackgroundColor": "#1890FF",
+ "navigationBarTextStyle": "white"
+ }
+ },
+ {
+ "path": "pages/instructor/performance-appraisal/performance-evaluation/student-notice/detail",
+ "style": {
+ "navigationBarTitleText": "佐证详情",
+ "navigationBarBackgroundColor": "#1890FF",
+ "navigationBarTextStyle": "white"
+ }
+ },
{
"path": "pages/instructor/performance-appraisal/performance-evaluation/overwork-materials/add",
"style": {
diff --git a/pages/instructor/performance-appraisal/components/professional-work.vue b/pages/instructor/performance-appraisal/components/professional-work.vue
index 5584f42..d4f7262 100644
--- a/pages/instructor/performance-appraisal/components/professional-work.vue
+++ b/pages/instructor/performance-appraisal/components/professional-work.vue
@@ -3,45 +3,48 @@
-
-
-
-
+
-
-
@@ -96,17 +99,24 @@
label06() {
return this.isGraduate
? "06 按时按质完成学工、学院发布的各项学生工作通知、任务 (5分)"
- : "06 按程序要求处理突发事件(5分)";
+ : "06 按程序要求处理突发事件(10分)";
+ },
+ maxStuLeaveMaterials() {
+ return this.isGraduate ? 5 : 5;
+ },
+ maxStuFillingMaterials() {
+ return this.isGraduate ? 10 : 10;
},
maxStuDisciplinaryViolation() {
- return this.isGraduate ? 10 : 5;
+ return this.isGraduate ? 5 : 5;
},
maxHandleEvents() {
- return this.isGraduate ? 5 : 10;
+ return this.isGraduate ? 10 : 10;
}
- },data() {
+ }, data() {
return {
formData: {
+ stuLeaveRequestScoring: "",
stuLeaveMaterialsScoring: "",
stuFillingMaterialsScoring: "",
stuBasicDataScoring: "",
@@ -125,6 +135,7 @@
kpiFillingBusinessWorkDetail(params).then(res => {
if (res.rows.length > 0) {
const {
+ stuLeaveRequestScoring,
stuLeaveMaterialsScoring,
stuFillingMaterialsScoring,
stuBasicDataScoring,
@@ -134,7 +145,8 @@
id
} = res.rows[0];
this.formData = {
- ...this.formData, // 保留 this.formData 中已有的其他属性
+ ...this.formData,
+ stuLeaveRequestScoring,
stuLeaveMaterialsScoring,
stuFillingMaterialsScoring,
stuBasicDataScoring,
diff --git a/pages/instructor/performance-appraisal/components/student-management.vue b/pages/instructor/performance-appraisal/components/student-management.vue
index dd9238e..1939689 100644
--- a/pages/instructor/performance-appraisal/components/student-management.vue
+++ b/pages/instructor/performance-appraisal/components/student-management.vue
@@ -54,6 +54,9 @@
+
+ {{commitStatus==1?"查看材料":"上传材料"}}
+
@@ -61,6 +64,9 @@
+
+ {{commitStatus==1?"查看材料":"上传材料"}}
+
@@ -185,18 +191,7 @@
let result = limitInput(event.detail.value,max);
this[name] = result;
},
- initQueryParams() {
- this.queryParams = new URLSearchParams({
- year: this.queryDetailParams.fillingYear,
- month: this.queryDetailParams.fillingMonth,
- commitStatus:this.commitStatus
- });
- },
- onLimitInput(event,name,max) {
- let result = limitInput(event.detail.value,max);
- this[name] = result;
- },
- uploadClassMeetingMaterial() {
+ uploadClassMeetingMaterial() {
uni.navigateTo({
url: `/pages/instructor/performance-appraisal/performance-evaluation/class-meeting-evidence/list?${this.queryParams.toString()}`
@@ -222,6 +217,16 @@
url: `/pages/instructor/performance-appraisal/performance-evaluation/student-activity/list?${this.queryParams.toString()}`
})
},
+ uploadStuTest() {
+ uni.navigateTo({
+ url: `/pages/instructor/performance-appraisal/performance-evaluation/student-test/list?${this.queryParams.toString()}`
+ })
+ },
+ uploadStuNotie() {
+ uni.navigateTo({
+ url: `/pages/instructor/performance-appraisal/performance-evaluation/student-notice/list?${this.queryParams.toString()}`
+ })
+ },
getFormData() {
const data = {
classScoring: this.classScoring,
diff --git a/pages/instructor/performance-appraisal/performance-evaluation/personal-reporting.vue b/pages/instructor/performance-appraisal/performance-evaluation/personal-reporting.vue
index b67c432..69ef533 100644
--- a/pages/instructor/performance-appraisal/performance-evaluation/personal-reporting.vue
+++ b/pages/instructor/performance-appraisal/performance-evaluation/personal-reporting.vue
@@ -81,47 +81,84 @@
commitStatus: "",
completionStatus: "", //完成状态
roleAudit:"",//角色
- tabConfigs: {
+ }
+ },
+ computed: {
+ tabConfigs() {
+ if (this.classType === 'graduate') {
+ return {
+ 0: {
+ ref: 'studentManagement',
+ addFunc: teacherKpiFillingMgtAdd,
+ updateFunc: teacherKpiFillingMgtUpdate,
+ },
+ 1: {
+ ref: 'GraduationGuidance',
+ addFunc: kpiFillingGraduationGuidanceAdd,
+ updateFunc: kpiFillingGraduationGuidanceUpdate,
+ },
+ 2: {
+ ref: 'ProfessionalWork',
+ addFunc: kpiFillingBusinessWorkAdd,
+ updateFunc: kpiFillingBusinessWorkUpdate,
+ },
+ 3: {
+ ref: 'AttendanceManagement',
+ addFunc: kpiFillingAMgtAdd,
+ updateFunc: kpiFillingAMgtUpdate,
+ },
+ 4: {
+ ref: 'BonusPoints',
+ addFunc: kpiFillingBonusPointsAdd,
+ updateFunc: kpiFillingBonusPointsUpdate,
+ },
+ 5: {
+ ref: 'NegativeList',
+ addFunc: kpiFillingNegativeListAdd,
+ updateFunc: kpiFillingNegativeListUpdate,
+ },
+ 6: {
+ ref: 'OverWork',
+ },
+ 7: {
+ ref: 'StudentEmergencies',
+ }
+ };
+ }
+ return {
0: {
ref: 'studentManagement',
addFunc: teacherKpiFillingMgtAdd,
updateFunc: teacherKpiFillingMgtUpdate,
},
1: {
- ref: 'GraduationGuidance',
- addFunc: kpiFillingGraduationGuidanceAdd,
- updateFunc: kpiFillingGraduationGuidanceUpdate,
- },
- 2: {
ref: 'ProfessionalWork',
addFunc: kpiFillingBusinessWorkAdd,
updateFunc: kpiFillingBusinessWorkUpdate,
},
- 3: {
+ 2: {
ref: 'AttendanceManagement',
addFunc: kpiFillingAMgtAdd,
updateFunc: kpiFillingAMgtUpdate,
},
- 4: {
+ 3: {
ref: 'BonusPoints',
addFunc: kpiFillingBonusPointsAdd,
updateFunc: kpiFillingBonusPointsUpdate,
},
- 5: {
+ 4: {
ref: 'NegativeList',
addFunc: kpiFillingNegativeListAdd,
updateFunc: kpiFillingNegativeListUpdate,
},
- 6: {
+ 5: {
ref: 'OverWork',
},
- 7: {
+ 6: {
ref: 'StudentEmergencies',
}
- }
- }
- },
- computed: {
+ };
+ },
tabs() {
if (this.classType === 'graduate') {
return ["学生管理", "就业指导工作", "业务管理", "考勤管理", "加分项", "负面清单", "超工作量奖励绩效", "处理学生突发事件"];
@@ -208,16 +245,22 @@
// 根据班级类型排除不需要填写的字段
let excludeKeys = ['id', 'departmentName', 'fdyName', 'fillingYear', 'fillingMonth', 'classType'];
- // 学生管理(tabIndex 0) - 毕业班需要排除部分字段
- if (this.tabIndex === 0 && this.classType === 'graduate') {
- excludeKeys = [...excludeKeys, 'visitDormitoryScoring', 'cadreScoring', 'stuActivityScoring', 'edgScoring', 'noticeScoring'];
+ // 业务管理(毕业班tabIndex 2, 非毕业班tabIndex 1) - 需要排除业务管理不需要验证的字段
+ if ((this.tabIndex === 2 && this.classType === 'graduate') || (this.tabIndex === 1 && this.classType === 'ungraduate')) {
+ excludeKeys = [...excludeKeys,
+ 'stuLeaveRequestScoring', 'stuLeaveMaterialsScoring', 'stuFillingMaterialsScoring',
+ 'stuBasicDataScoring', 'stuDisciplinaryViolationScoring', 'handleEventsScoring', 'otherTaskScoring'];
}
- // 负面清单(tabIndex 4/5)、考勤管理(tabIndex 2/3)、加分项(tabIndex 3/4)、就业指导(tabIndex 1)等不需要验证空值
- if (this.tabIndex === 1 || this.tabIndex === 2 || this.tabIndex === 3 || this.tabIndex === 4 || this.tabIndex === 5) {
+ // 就业指导(毕业班tabIndex 1)不需要验证空值
+ if (this.classType === 'graduate' && this.tabIndex === 1) {
+ excludeKeys = [...excludeKeys,
+ 'gradFormAuditScoring', 'stuCareerConsultScoring', 'gradFormGuidanceScoring'];
+ }
+ // 考勤管理(tabIndex 2/3)、加分项(tabIndex 3/4)、负面清单(tabIndex 4/5)不需要验证空值
+ if (this.tabIndex === 2 || this.tabIndex === 3 || this.tabIndex === 4 || this.tabIndex === 5) {
excludeKeys = [...excludeKeys,
'moralityAndBehavior', 'speech', 'complaint', 'offense', 'emergency', 'punishment', 'practiceFraud',
- 'dutyWorkScoring', 'conferenceScoring', 'bonusType', 'bonusScoring',
- 'gradFormAuditScoring', 'stuCareerConsultScoring', 'gradFormGuidanceScoring'];
+ 'dutyWorkScoring', 'conferenceScoring', 'bonusType', 'bonusScoring'];
}
console.log('formData:', formData);
console.log('excludeKeys:', excludeKeys);
@@ -232,8 +275,10 @@
return; // 停止执行后续操作
}
console.log('准备保存,tabIndex:', this.tabIndex, 'formData:', formData);
- // 只跳过超工作量(tabIndex 6)和处理学生突发事件(tabIndex 7)
- if (this.tabIndex !== 6 && this.tabIndex !== 7) {
+ // 判断是否需要保存:超工作量(毕业班6/非毕业班5)和处理学生突发事件(毕业班7/非毕业班6)不需要保存
+ const skipSave = (this.classType === 'graduate' && (this.tabIndex === 6 || this.tabIndex === 7)) ||
+ (this.classType === 'ungraduate' && (this.tabIndex === 5 || this.tabIndex === 6));
+ if (!skipSave) {
if (formData.id || formData.id === 0) {
let res = await updateFunc(formData);
if (res.code == 200) {
@@ -241,7 +286,7 @@
title: "修改成功",
});
}
- } else {
+ } else if (addFunc) {
let res = await addFunc(formData);
if (res.code == 200) {
uni.showToast({
diff --git a/pages/instructor/performance-appraisal/performance-evaluation/student-notice/add.vue b/pages/instructor/performance-appraisal/performance-evaluation/student-notice/add.vue
new file mode 100644
index 0000000..43f8f4f
--- /dev/null
+++ b/pages/instructor/performance-appraisal/performance-evaluation/student-notice/add.vue
@@ -0,0 +1,397 @@
+
+
+
+
+
+
+
+
+
diff --git a/pages/instructor/performance-appraisal/performance-evaluation/student-notice/detail.vue b/pages/instructor/performance-appraisal/performance-evaluation/student-notice/detail.vue
new file mode 100644
index 0000000..12aa3ca
--- /dev/null
+++ b/pages/instructor/performance-appraisal/performance-evaluation/student-notice/detail.vue
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+
+
+
diff --git a/pages/instructor/performance-appraisal/performance-evaluation/student-notice/list.vue b/pages/instructor/performance-appraisal/performance-evaluation/student-notice/list.vue
new file mode 100644
index 0000000..ded37ad
--- /dev/null
+++ b/pages/instructor/performance-appraisal/performance-evaluation/student-notice/list.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+ 主要内容:
+
+
+
+
+
+ 班级:{{item.className}}
+ 开展时间:{{item.developmentTime}}
+
+
+
+
+
+
+
+
+ 暂时没有数据
+
+
+
+
+
+ 到底啦~~
+
+
+
+
+ +
+
+
+
+
+
+
+
diff --git a/pages/instructor/performance-appraisal/performance-evaluation/student-test/add.vue b/pages/instructor/performance-appraisal/performance-evaluation/student-test/add.vue
new file mode 100644
index 0000000..4191d7f
--- /dev/null
+++ b/pages/instructor/performance-appraisal/performance-evaluation/student-test/add.vue
@@ -0,0 +1,397 @@
+
+
+
+
+
+
+
+
+
diff --git a/pages/instructor/performance-appraisal/performance-evaluation/student-test/detail.vue b/pages/instructor/performance-appraisal/performance-evaluation/student-test/detail.vue
new file mode 100644
index 0000000..934e024
--- /dev/null
+++ b/pages/instructor/performance-appraisal/performance-evaluation/student-test/detail.vue
@@ -0,0 +1,344 @@
+
+
+
+
+
+
+
+
+
diff --git a/pages/instructor/performance-appraisal/performance-evaluation/student-test/list.vue b/pages/instructor/performance-appraisal/performance-evaluation/student-test/list.vue
new file mode 100644
index 0000000..a3cbacd
--- /dev/null
+++ b/pages/instructor/performance-appraisal/performance-evaluation/student-test/list.vue
@@ -0,0 +1,238 @@
+
+
+
+
+
+
+
+
+
+ 主要内容:
+
+
+
+
+
+ 班级:{{item.className}}
+ 开展时间:{{item.developmentTime}}
+
+
+
+
+
+
+
+
+ 暂时没有数据
+
+
+
+
+
+ 到底啦~~
+
+
+
+
+ +
+
+
+
+
+
+
+