辅导员管理-添加学生测评和通知任务佐证功能
- 新增职业测评佐证相关页面配置,包括列表、添加、详情页面 - 新增通知任务佐证相关页面配置,包括列表、添加、详情页面 - 实现学生管理组件中上传材料功能,支持职业测评和通知任务材料上传 - 优化专业工作组件,支持毕业生和非毕业生不同评分字段逻辑 - 调整个人报告页面标签配置,区分毕业生和非毕业生不同业务流程 - 完善表单验证逻辑,针对不同班级类型和标签页进行差异化处理 ```
This commit is contained in:
@@ -3,45 +3,48 @@
|
||||
<view class="form-item">
|
||||
<label>{{label01}}</label>
|
||||
<view class="bottom">
|
||||
<input @blur="onLimitInput($event,'stuLeaveMaterialsScoring',5)"
|
||||
v-model="formData.stuLeaveMaterialsScoring" type="number" placeholder="请输入分值"
|
||||
<input @blur="onLimitInput($event, isGraduate ? 'stuLeaveMaterialsScoring' : 'stuLeaveRequestScoring', 5)"
|
||||
v-model="formData[isGraduate ? 'stuLeaveMaterialsScoring' : 'stuLeaveRequestScoring']" type="number" placeholder="请输入分值"
|
||||
placeholder-class="input-placeholder" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<label>{{label02}}</label>
|
||||
<view class="bottom">
|
||||
<input @blur="onLimitInput($event,'stuFillingMaterialsScoring',maxStuDisciplinaryViolation)"
|
||||
v-model="formData.stuFillingMaterialsScoring" type="number" placeholder="请输入分值"
|
||||
<input @blur="onLimitInput($event, isGraduate ? 'stuFillingMaterialsScoring' : 'stuLeaveMaterialsScoring', isGraduate ? maxStuFillingMaterials : maxStuLeaveMaterials)"
|
||||
v-model="formData[isGraduate ? 'stuFillingMaterialsScoring' : 'stuLeaveMaterialsScoring']" type="number" placeholder="请输入分值"
|
||||
placeholder-class="input-placeholder" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<label>{{label03}}</label>
|
||||
<view class="bottom">
|
||||
<input @blur="onLimitInput($event,'stuBasicDataScoring',maxHandleEvents)" v-model="formData.stuBasicDataScoring"
|
||||
<input @blur="onLimitInput($event, isGraduate ? 'stuBasicDataScoring' : 'stuFillingMaterialsScoring', isGraduate ? maxStuDisciplinaryViolation : maxStuFillingMaterials)"
|
||||
v-model="formData[isGraduate ? 'stuBasicDataScoring' : 'stuFillingMaterialsScoring']"
|
||||
type="number" placeholder="请输入分值" placeholder-class="input-placeholder" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<label>{{label04}}</label>
|
||||
<view class="bottom">
|
||||
<input @blur="onLimitInput($event,'stuDisciplinaryViolationScoring',5)"
|
||||
v-model="formData.stuDisciplinaryViolationScoring" type="number" placeholder="请输入分值"
|
||||
placeholder-class="input-placeholder" />
|
||||
<input @blur="onLimitInput($event, isGraduate ? 'stuDisciplinaryViolationScoring' : 'stuBasicDataScoring', 5)"
|
||||
v-model="formData[isGraduate ? 'stuDisciplinaryViolationScoring' : 'stuBasicDataScoring']"
|
||||
type="number" placeholder="请输入分值" placeholder-class="input-placeholder" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<label>{{label05}}</label>
|
||||
<view class="bottom">
|
||||
<input @blur="onLimitInput($event,'handleEventsScoring',maxStuDisciplinaryViolation)" v-model="formData.handleEventsScoring"
|
||||
<input @blur="onLimitInput($event, isGraduate ? 'handleEventsScoring' : 'stuDisciplinaryViolationScoring', isGraduate ? maxHandleEvents : 5)"
|
||||
v-model="formData[isGraduate ? 'handleEventsScoring' : 'stuDisciplinaryViolationScoring']"
|
||||
type="number" placeholder="请输入分值" placeholder-class="input-placeholder" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<label>{{label06}}</label>
|
||||
<view class="bottom">
|
||||
<input @blur="onLimitInput($event,'otherTaskScoring',5)" v-model="formData.otherTaskScoring"
|
||||
<input @blur="onLimitInput($event, isGraduate ? 'otherTaskScoring' : 'handleEventsScoring', isGraduate ? 5 : 10)"
|
||||
v-model="formData[isGraduate ? 'otherTaskScoring' : 'handleEventsScoring']"
|
||||
type="number" placeholder="请输入分值" placeholder-class="input-placeholder" />
|
||||
</view>
|
||||
</view>
|
||||
@@ -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,
|
||||
|
||||
@@ -54,6 +54,9 @@
|
||||
<view class="bottom">
|
||||
<input @blur="onLimitInput($event,'edgScoring',5)" v-model="edgScoring" type="number" placeholder="请输入分值"
|
||||
placeholder-class="input-placeholder" />
|
||||
<text @tap="uploadStuTest">
|
||||
{{commitStatus==1?"查看材料":"上传材料"}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-item" v-if="!isGraduate">
|
||||
@@ -61,6 +64,9 @@
|
||||
<view class="bottom">
|
||||
<input @blur="onLimitInput($event,'noticeScoring',5)" v-model="noticeScoring" type="number" placeholder="请输入分值"
|
||||
placeholder-class="input-placeholder" />
|
||||
<text @tap="uploadStuNotie">
|
||||
{{commitStatus==1?"查看材料":"上传材料"}}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user