Files
zhxg_app/pages/instructor/performance-appraisal/components/graduation-guidance.vue
Stickman ecc0d00a4f 辅导员管理-添加业绩考核个人填报详情和加分项、就业指导工作API
- 新增kpiFillingDetail函数用于获取业绩考核个人填报详情
- 新增加分项相关API:kpiFillingBonusPointsAdd、kpiFillingBonusPointsUpdate、
  kpiFillingBonusPointsDetail
- 新增就业指导工作相关API:kpiFillingGraduationGuidanceAdd、
  kpiFillingGraduationGuidanceUpdate、kpiFillingGraduationGuidanceDetail
- 添加TODO注释标记待后端API完成的功能

fix(pages): 解决部门名称存储问题

- 启用被注释掉的部门名称存储功能
- 确保deptName正确存入本地缓存

feat(performance): 支持毕业班和非毕业班不同考核标准

- 为考勤管理组件添加classType参数支持
- 为负面清单组件添加classType参数支持
- 为专业工作组件重构标签显示逻辑,支持根据classType动态显示
- 为奖励绩效加班组件添加classType参数支持
- 为学生突发事件组件添加classType参数支持
- 为学生管理组件添加毕业班/非毕业班差异化显示逻辑

refactor(performance): 优化业绩评估页面结构

- 添加班级类型选择按钮(毕业班/非毕业班)
- 在填报时间弹窗中集成班级类型选择功能
- 更新数据加载逻辑以支持classType参数
- 修正各种评分计算中的数值类型转换问题
```
2026-03-13 15:14:29 +08:00

117 lines
2.9 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="form-container">
<view class="form-item">
<label>01 指导审核毕业生登记表等就业核心材料10</label>
<view class="bottom">
<input @blur="onLimitInput($event,'gradFormAuditScoring',10)" type="number"
v-model="formData.gradFormAuditScoring" placeholder="请输入分值" placeholder-class="input-placeholder" />
</view>
</view>
<view class="form-item">
<label>02 开展学生就业咨询服务及团体辅导工作助力学生解决就业困惑提升就业竞争力5</label>
<view class="bottom">
<input type="number" @blur="onLimitInput($event,'stuCareerConsultScoring',5)"
v-model="formData.stuCareerConsultScoring" placeholder="请输入分值" placeholder-class="input-placeholder" />
</view>
</view>
<view class="form-item">
<label>03 审核毕业生源信息就业系统信息等数据及就业证明材料含真实性完整性规范性10</label>
<view class="bottom">
<input type="number" @blur="onLimitInput($event,'gradFormGuidanceScoring',10)"
v-model="formData.gradFormGuidanceScoring" placeholder="请输入分值" placeholder-class="input-placeholder" />
</view>
</view>
</view>
</template>
<script>
import {
limitInput
} from "@/utils/limitInput.js"
import {
kpiFillingGraduationGuidanceDetail
} from "@/api/instructor/superintendent.js"
export default {
props: ["queryDetailParams", "commitStatus", "classType"],
data() {
return {
formData: {
gradFormAuditScoring: "",
stuCareerConsultScoring: "",
gradFormGuidanceScoring: "",
id: ""
}
}
},
created() {
const params = {
...this.queryDetailParams,
classType: this.classType
};
kpiFillingGraduationGuidanceDetail(params).then(res => {
console.log(res);
if (res.rows && res.rows.length > 0) {
const {
gradFormAuditScoring,
stuCareerConsultScoring,
gradFormGuidanceScoring,
id
} = res.rows[0];
this.formData = {
...this.formData,
gradFormAuditScoring,
stuCareerConsultScoring,
gradFormGuidanceScoring,
id
};
} else {
console.log("第一次");
}
})
},
methods: {
onLimitInput(event, name, max) {
let result = limitInput(event.detail.value, max);
this.formData[name] = result;
},
getFormData() {
return this.formData;
}
}
}
</script>
<style scoped lang="scss">
.form-container {
.form-item {
padding: 22rpx 40rpx 40rpx 40rpx;
background-color: white;
margin-bottom: 40rpx;
border-radius: 16rpx;
label {
margin-bottom: 20rpx;
display: inline-block;
font-size: 26rpx;
}
.bottom {
display: flex;
align-items: center;
input {
flex: 1;
border: 1px solid #E1E1E1;
border-radius: 10rpx;
height: 60rpx;
padding-left: 30rpx;
.input-placeholder {
color: #b6b6b6;
}
}
}
}
}
</style>