移动端V1.0

This commit is contained in:
2025-07-16 15:34:34 +08:00
commit 194b0750fd
1083 changed files with 178295 additions and 0 deletions

View File

@@ -0,0 +1,123 @@
<template>
<view class="form-container">
<view class="form-item">
<label>01 按时上下班并做好值班工作10</label>
<view class="bottom">
<input @blur="onLimitInput($event,'dutyWorkScoring',10)" type="number"
v-model="formData.dutyWorkScoring" placeholder="请输入分值" placeholder-class="input-placeholder" />
</view>
</view>
<view class="form-item">
<label>02 按要求参加辅导员各项会议培训10</label>
<view class="bottom">
<input type="number" @blur="onLimitInput($event,'conferenceScoring',10)"
v-model="formData.conferenceScoring" placeholder="请输入分值" placeholder-class="input-placeholder" />
<text @tap="uploadMaterials">
{{commitStatus==1?"查看材料":"上传材料"}}
</text>
</view>
</view>
</view>
</template>
<script>
import {
limitInput
} from "@/utils/limitInput.js"
import {
kpiFillingAMgtDetail
} from "@/api/instructor/superintendent.js"
export default {
props: ["queryDetailParams", "commitStatus"],
data() {
return {
formData: {
dutyWorkScoring: "",
conferenceScoring: "",
id: ""
}
}
},
created() {
kpiFillingAMgtDetail(this.queryDetailParams).then(res => {
console.log(res);
if (res.rows.length > 0) {
const {
dutyWorkScoring,
conferenceScoring,
id
} = res.rows[0];
this.formData = {
...this.formData, // 保留 this.formData 中已有的其他属性
dutyWorkScoring,
conferenceScoring,
id
};
} else {
console.log("第一次");
}
})
},
methods: {
onLimitInput(event, name, max) {
let result = limitInput(event.detail.value, max);
this.formData[name] = result;
},
uploadMaterials() {
const queryParams = new URLSearchParams({
year: this.queryDetailParams.fillingYear,
month: this.queryDetailParams.fillingMonth,
commitStatus: this.commitStatus
});
uni.navigateTo({
url: `/pages/instructor/performance-appraisal/performance-evaluation/instructor-attendance-material/list?${queryParams.toString()}`
})
},
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;
}
}
text {
color: #1890FF;
border-bottom: 2px solid #1890FF;
margin-left: 40rpx;
font-weight: bold;
font-size: 26rpx;
}
}
}
}
</style>

View File

@@ -0,0 +1,206 @@
<template>
<view class="form-container">
<view class="form-item">
<label>01 违反高校教师职业道德与行为规范的</label>
<view class="bottom">
<radio-group @change="handleRadioChange" data-group-name="moralityAndBehavior">
<label>
<radio value="1" :checked="formData.moralityAndBehavior === 1" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
<label>
<radio value="0" :checked="formData.moralityAndBehavior === 0" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
</radio-group>
</view>
</view>
<view class="form-item">
<label>02 在学生中散布影响安定团结或违背国家相关法律法规言论</label>
<view class="bottom">
<radio-group @change="handleRadioChange" data-group-name="speech">
<label>
<radio value="1" :checked="formData.speech === 1" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
<label>
<radio value="0" :checked="formData.speech === 0" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
</radio-group>
</view>
</view>
<view class="form-item">
<label>03 学生评价极差书记校长信箱投诉频繁</label>
<view class="bottom">
<radio-group @change="handleRadioChange" data-group-name="complaint">
<label>
<radio value="1" :checked="formData.complaint === 1" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
<label>
<radio value="0" :checked="formData.complaint === 0" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
</radio-group>
</view>
</view>
<view class="form-item">
<label>04 认定为因疏于教育管理导致学生发生违纪违法现象造成恶劣影响</label>
<view class="bottom">
<radio-group @change="handleRadioChange" data-group-name="offense">
<label>
<radio value="1" :checked="formData.offense === 1" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
<label>
<radio value="0" :checked="formData.offense === 0" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
</radio-group>
</view>
</view>
<view class="form-item">
<label>05 学生发生突发事件在正常情况下未能及时到场处理引起较大影响</label>
<view class="bottom">
<radio-group @change="handleRadioChange" data-group-name="emergency">
<label>
<radio value="1" :checked="formData.emergency === 1" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
<label>
<radio value="0" :checked="formData.emergency === 0" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
</radio-group>
</view>
</view>
<view class="form-item">
<label>06 受到党纪政纪处分及治安拘留或刑事处罚</label>
<view class="bottom">
<radio-group @change="handleRadioChange" data-group-name="punishment">
<label>
<radio value="1" :checked="formData.punishment === 1" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
<label>
<radio value="0" :checked="formData.punishment === 0" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
</radio-group>
</view>
</view>
<view class="form-item">
<label>07 在开展评优评奖等工作中弄虚作假</label>
<view class="bottom">
<radio-group @change="handleRadioChange" data-group-name="practiceFraud">
<label>
<radio value="1" :checked="formData.practiceFraud === 1" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
<label>
<radio value="0" :checked="formData.practiceFraud === 0" active-background-color="#2a8f08"
style="transform:scale(0.7)" />
</label>
</radio-group>
</view>
</view>
</view>
</template>
<script>
import {
kpiFillingNegativeListDetail
} from "@/api/instructor/superintendent.js"
export default {
props: ["queryDetailParams"],
data() {
return {
formData: {
moralityAndBehavior: "",
speech: "",
complaint: "",
offense: "",
emergency: "",
punishment: "",
practiceFraud: "",
id: ""
}
}
},
created() {
kpiFillingNegativeListDetail(this.queryDetailParams).then(res => {
console.log(res);
if (res.rows.length > 0) {
// this.formData = res.rows[0];
const {
moralityAndBehavior,
speech,
complaint,
offense,
emergency,
punishment,
practiceFraud,
id
} = res.rows[0];
this.formData = {
...this.formData, // 保留 this.formData 中已有的其他属性
moralityAndBehavior,
speech,
complaint,
offense,
emergency,
punishment,
practiceFraud,
id
};
} else {
console.log("第一次");
}
})
},
methods: {
handleRadioChange(e) {
const groupName = e.target.dataset.groupName; // 获取data-group-name的值
this.formData[groupName] = e.detail.value; // 更新formData中对应的属性
// 可以在这里加入其他逻辑,比如数据校验、表单提交等
},
getFormData() {
return this.formData;
}
}
}
</script>
<style scoped lang="scss">
.form-container {
.form-item {
padding: 30rpx 40rpx 30rpx 40rpx;
background-color: white;
margin-bottom: 40rpx;
border-radius: 16rpx;
&>label {
margin-bottom: 30rpx;
display: inline-block;
font-size: 26rpx;
}
.bottom {
display: flex;
align-items: center;
radio-group {
label {
margin-top: 20rpx;
&:first-child {
margin-right: 50rpx;
}
}
}
}
}
}
</style>

View File

@@ -0,0 +1,139 @@
<template>
<view class="form-container">
<view class="form-item">
<label>01 严格执行学生请销假登记制度5</label>
<view class="bottom">
<input @blur="onLimitInput($event,'stuLeaveMaterialsScoring',5)" v-model="formData.stuLeaveMaterialsScoring" type="number" placeholder="请输入分值"
placeholder-class="input-placeholder" />
</view>
</view>
<view class="form-item">
<label>02 认真指导学生完成各项材料填报工作 10</label>
<view class="bottom">
<input @blur="onLimitInput($event,'stuFillingMaterialsScoring',10)" v-model="formData.stuFillingMaterialsScoring" type="number" placeholder="请输入分值"
placeholder-class="input-placeholder" />
</view>
</view>
<view class="form-item">
<label>03 按时按质完成学生基础数据上报工作10</label>
<view class="bottom">
<input @blur="onLimitInput($event,'stuBasicDataScoring',10)" v-model="formData.stuBasicDataScoring" type="number" placeholder="请输入分值"
placeholder-class="input-placeholder" />
</view>
</view>
<view class="form-item">
<label>04 按规定完成学生违纪处分材料5</label>
<view class="bottom">
<input @blur="onLimitInput($event,'stuDisciplinaryViolationScoring',5)" v-model="formData.stuDisciplinaryViolationScoring" type="number" placeholder="请输入分值"
placeholder-class="input-placeholder" />
</view>
</view>
<view class="form-item">
<label>05 按程序要求处理突发事件10</label>
<view class="bottom">
<input @blur="onLimitInput($event,'handleEventsScoring',10)" v-model="formData.handleEventsScoring" type="number" placeholder="请输入分值"
placeholder-class="input-placeholder" />
</view>
</view>
</view>
</template>
<script>
import {
limitInput
} from "@/utils/limitInput.js"
import {
kpiFillingBusinessWorkDetail
} from "@/api/instructor/superintendent.js"
export default {
props: ["queryDetailParams"],
data() {
return {
formData: {
stuLeaveMaterialsScoring: "",
stuFillingMaterialsScoring: "",
stuBasicDataScoring: "",
stuDisciplinaryViolationScoring: "",
handleEventsScoring: "",
id: ""
}
}
},
created() {
kpiFillingBusinessWorkDetail(this.queryDetailParams).then(res => {
if (res.rows.length > 0) {
const {
stuLeaveMaterialsScoring,
stuFillingMaterialsScoring,
stuBasicDataScoring,
stuDisciplinaryViolationScoring,
handleEventsScoring,
id
} = res.rows[0];
this.formData = {
...this.formData, // 保留 this.formData 中已有的其他属性
stuLeaveMaterialsScoring,
stuFillingMaterialsScoring,
stuBasicDataScoring,
stuDisciplinaryViolationScoring,
handleEventsScoring,
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;
}
}
text {
color: #1890FF;
border-bottom: 2px solid #1890FF;
margin-left: 40rpx;
font-weight: bold;
font-size: 26rpx;
}
}
}
}
</style>

View File

@@ -0,0 +1,223 @@
<template>
<view class="container">
<view class="tip">
<label>本月已提交{{total}}</label>
<!-- <uni-icons type="right" size="16" color="#202020"></uni-icons> -->
</view>
<scroll-view @scrolltolower="scrolltolower" scroll-y="true" style="height:calc(100vh - 150rpx);">
<uni-swipe-action>
<view class="list">
<view class="row" v-for="item in list" :key="item.id" @tap="toDetail(item.id)">
<uni-swipe-action-item :right-options="actionOptions" @tap="onDel(item.id)">
<view class="top">
<label>{{item.dutyDescription}}</label>
<uni-icons type="right" size="16" color="#202020"></uni-icons>
</view>
<view class="bottom">
时间{{item.dutyTime}}
</view>
</uni-swipe-action-item>
</view>
</view>
</uni-swipe-action>
<view class="empty" v-if="list.length==0">
<image src="@/static/empty.png" mode="widthFix"></image>
暂时没有数据
</view>
<view class="loading-more" v-if="loading">
<uni-load-more status="loading" />
</view>
<view class="no-more" v-if="!loading&&list.length!=0">
到底啦~~
</view>
</scroll-view>
<view class="add" @tap="addEvidence" v-if="commitStatus!=1">
+
</view>
</view>
</template>
<script>
import {
listkpiFillingRewardsKpi,
delkpiFillingRewards
} from "@/api/instructor/overwork-materials.js"
export default {
props: ["queryDetailParams", "commitStatus"],
data() {
return {
actionOptions: [{
text: '删除',
style: {
width: "200px",
backgroundColor: '#df0000'
}
}],
formData: {
id: ""
},
query: {},
list: [],
totalPage: 0,
total: 0,
loading: false
}
},
created() {
this.query = {
...this.queryDetailParams,
fdyName: uni.getStorageSync("stuName"),
pageNum: 1,
pageSize: 10,
}
uni.$on('refreshRewardsKpiList', this.getlistkpiFillingRewardsKpi);
this.getlistkpiFillingRewardsKpi();
},
beforeDestroy() {
uni.$off('refreshRewardsKpiList', this.getlistkpiFillingRewardsKpi);
},
methods: {
toDetail(id) {
uni.navigateTo({
url: `../performance-evaluation/overwork-materials/detail?id=${id}&commitStatus=${this.commitStatus}`
})
},
scrolltolower() {
console.log('下');
if (this.query.pageNum < this.totalPages) {
this.query.pageNum++;
this.loading = true;
setTimeout(() => {
this.getlistkpiFillingRewardsKpi()
}, 1000)
} else {
}
},
async getlistkpiFillingRewardsKpi() {
let res = await listkpiFillingRewardsKpi(this.query);
if (res.code == 200) {
this.loading = false;
if (this.query.pageNum == 1) {
this.list = res.rows; // 如果是第一页,直接显示新数据
this.total = res.total; // 如果是第一页,直接显示新数据
console.log(res);
} else {
this.list = this.list.concat(res.rows); // 否则追加新数据到列表中
}
this.totalPages = Math.ceil(res.total / this.query.pageSize);
}
},
addEvidence() {
uni.navigateTo({
url: `../performance-evaluation/overwork-materials/add?year=${this.query.fillingYear}&month=${this.query.fillingMonth}`
})
},
getFormData() {
return this.formData;
},
onDel(id) {
console.log(id);
uni.showModal({
title: "确定删除吗?",
success: (res) => {
if (res.confirm) {
delkpiFillingRewards(id).then(res => {
if (res.code == 200) {
uni.showToast({
title: "删除成功"
})
this.getlistkpiFillingRewardsKpi();
}
})
}
}
})
}
}
}
</script>
<style scoped lang="scss">
.container {
.add {
background-color: #1890FF;
width: 90rpx;
height: 90rpx;
border-radius: 50%;
color: white;
display: flex;
justify-content: center;
align-items: center;
font-size: 60rpx;
position: fixed;
bottom: 80px;
right: 25px;
}
.tip {
padding: 22rpx 40rpx 22rpx 40rpx;
background-color: white;
margin-bottom: 30rpx;
border-radius: 16rpx;
display: flex;
justify-content: space-between;
align-items: center;
position: fixed;
left: 40rpx;
right: 40rpx;
z-index: 2;
box-shadow: 0 0 2px 0px #dadada;
}
.no-more {
text-align: center;
color: gray;
padding-bottom: 10px;
}
.list {
padding-top: 120rpx;
}
.empty {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 200rpx;
color: #9E9E9E;
font-size: 36rpx;
image {
width: 250rpx;
margin-bottom: 50rpx;
}
}
.row {
padding: 22rpx 40rpx 22rpx 40rpx;
background-color: white;
margin-bottom: 30rpx;
border-radius: 16rpx;
.uni-icons {
opacity: 0.5;
}
.top {
display: flex;
justify-content: space-between;
align-items: center;
font-weight: bold;
border-bottom: 1px solid #F5F5F7;
padding-bottom: 22rpx;
}
.bottom {
color: #9C9C9C;
padding-top: 22rpx;
}
}
}
</style>

View File

@@ -0,0 +1,232 @@
<template>
<view class="container">
<view class="tip">
<label>本月已提交{{total}}</label>
<!-- <uni-icons type="right" size="16" color="#202020"></uni-icons> -->
</view>
<scroll-view @scrolltolower="scrolltolower" scroll-y="true" style="height:calc(100vh - 150rpx);">
<uni-swipe-action>
<view class="list">
<view class="row" v-for="item in list" :key="item.id" @tap="toDetail(item.id)">
<uni-swipe-action-item :right-options="actionOptions" @tap="onDel(item.id)">
<view class="top">
<label>{{item.eventLevel==0?'一般事件':'重大事件'}}</label>
<uni-icons type="right" size="16" color="#202020"></uni-icons>
</view>
<view class="bottom">
<view class="desc">
{{item.eventDescription}}
</view>
<view>
起止时间{{item.startTime}}~{{item.endTime}}
</view>
</view>
</uni-swipe-action-item>
</view>
</view>
</uni-swipe-action>
<view class="empty" v-if="list.length==0">
<image src="@/static/empty.png" mode="widthFix"></image>
暂时没有数据
</view>
<view class="loading-more" v-if="loading">
<uni-load-more status="loading" />
</view>
<view class="no-more" v-if="!loading&&list.length!=0">
到底啦~~
</view>
</scroll-view>
<view class="add" @tap="addEvidence" v-if="commitStatus!=1">
+
</view>
</view>
</template>
<script>
import {
listkpiFillingStuEmergency,
delkpiFillingStuEmergency
} from "@/api/instructor/studentEmergencies.js"
export default {
props: ["queryDetailParams", "commitStatus"],
data() {
return {
actionOptions: [{
text: '删除',
style: {
width: "200px",
backgroundColor: '#df0000'
}
}],
formData: {
id: ""
},
query: {},
list: [],
totalPage: 0,
total: 0,
loading: false
}
},
mounted() {
this.query = {
...this.queryDetailParams,
fdyName: uni.getStorageSync("stuName"),
pageNum: 1,
pageSize: 10,
}
uni.$on('refreshStuEmergencyList', this.getlistkpiFillingStuEmergency);
this.getlistkpiFillingStuEmergency();
},
beforeDestroy() {
uni.$off('refreshStuEmergencyList', this.getlistkpiFillingStuEmergency);
},
methods: {
toDetail(id) {
uni.navigateTo({
url: `../performance-evaluation/student-emergencies-materials/detail?id=${id}&commitStatus=${this.commitStatus}`
})
},
scrolltolower() {
console.log('下');
if (this.query.pageNum < this.totalPages) {
this.query.pageNum++;
this.loading = true;
setTimeout(() => {
this.getlistkpiFillingStuEmergency()
}, 1000)
} else {
}
},
async getlistkpiFillingStuEmergency() {
let res = await listkpiFillingStuEmergency(this.query);
if (res.code == 200) {
this.loading = false;
if (this.query.pageNum == 1) {
this.list = res.rows; // 如果是第一页,直接显示新数据
this.total = res.total; // 如果是第一页,直接显示新数据
console.log(res);
} else {
this.list = this.list.concat(res.rows); // 否则追加新数据到列表中
}
this.totalPages = Math.ceil(res.total / this.query.pageSize);
}
},
addEvidence() {
uni.navigateTo({
url: `../performance-evaluation/student-emergencies-materials/add?year=${this.query.fillingYear}&month=${this.query.fillingMonth}`
})
},
getFormData() {
return this.formData;
},
onDel(id) {
console.log(id);
uni.showModal({
title: "确定删除吗?",
success: (res) => {
if (res.confirm) {
delkpiFillingStuEmergency(id).then(res => {
if (res.code == 200) {
uni.showToast({
title: "删除成功"
})
this.getlistkpiFillingStuEmergency();
}
})
}
}
})
}
}
}
</script>
<style scoped lang="scss">
.container {
.add {
background-color: #1890FF;
width: 90rpx;
height: 90rpx;
border-radius: 50%;
color: white;
display: flex;
justify-content: center;
align-items: center;
font-size: 60rpx;
position: fixed;
bottom: 80px;
right: 25px;
}
.tip {
padding: 22rpx 40rpx 22rpx 40rpx;
background-color: white;
margin-bottom: 30rpx;
border-radius: 16rpx;
display: flex;
justify-content: space-between;
align-items: center;
position: fixed;
left: 40rpx;
right: 40rpx;
z-index: 2;
box-shadow: 0 0 2px 0px #dadada;
}
.no-more {
text-align: center;
color: gray;
padding-bottom: 10px;
}
.empty {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 200rpx;
color: #9E9E9E;
font-size: 36rpx;
image {
width: 250rpx;
margin-bottom: 50rpx;
}
}
.list {
padding-top: 120rpx;
}
.row {
padding: 22rpx 40rpx 22rpx 40rpx;
background-color: white;
margin-bottom: 30rpx;
border-radius: 16rpx;
.uni-icons {
opacity: 0.5;
}
.top {
display: flex;
justify-content: space-between;
align-items: center;
font-weight: bold;
border-bottom: 1px solid #F5F5F7;
padding-bottom: 22rpx;
}
.bottom {
color: #9C9C9C;
padding-top: 22rpx;
.desc {
color: #404040;
margin-bottom: 15rpx;
}
}
}
}
</style>

View File

@@ -0,0 +1,178 @@
<template>
<view class="student-management">
<view class="form-item">
<label>01 每周按时开展班会10</label>
<view class="bottom">
<input @blur="onLimitInput($event,'classScoring',10)" v-model="classScoring" type="number"
placeholder="请输入分值" placeholder-class="input-placeholder" />
<text @tap="uploadClassMeetingMaterial">
{{commitStatus==1?"查看材料":"上传材料"}}
</text>
</view>
</view>
<view class="form-item">
<label>02 每周深入学生宿舍至少2次10</label>
<view class="bottom">
<input @blur="onLimitInput($event,'visitDormitoryScoring',10)" v-model="visitDormitoryScoring" type="number" placeholder="请输入分值"
placeholder-class="input-placeholder" />
<text @tap="uploadSleepCheckMaterial">
{{commitStatus==1?"查看材料":"上传材料"}}
</text>
</view>
</view>
<view class="form-item">
<label>03 每月与带班学生谈心谈话覆盖率不低于8%10</label>
<view class="bottom">
<input @blur="onLimitInput($event,'stuTalkScoring',10)" v-model="stuTalkScoring" type="number" placeholder="请输入分值"
placeholder-class="input-placeholder" />
<text @tap="uploadInterviewMaterial">
{{commitStatus==1?"查看材料":"上传材料"}}
</text>
</view>
</view>
<view class="form-item">
<label>04 每月开展班团干部会议至少2次5</label>
<view class="bottom">
<input @blur="onLimitInput($event,'cadreScoring',5)" v-model="cadreScoring" type="number" placeholder="请输入分值" placeholder-class="input-placeholder" />
<text @tap="uploadLeagueMeetingMaterial">
{{commitStatus==1?"查看材料":"上传材料"}}
</text>
</view>
</view>
<view class="form-item">
<label>05 每月深入学生社区面向学生开展活动1次 5</label>
<view class="bottom">
<input @blur="onLimitInput($event,'stuActivityScoring',5)" v-model="stuActivityScoring" type="number" placeholder="请输入分值"
placeholder-class="input-placeholder" />
<text @tap="uploadStuActivityMaterials">
{{commitStatus==1?"查看材料":"上传材料"}}
</text>
</view>
</view>
</view>
</template>
<script>
import {
teacherKpiFillingMgtDetail
} from "@/api/instructor/superintendent.js"
import {
limitInput
} from "@/utils/limitInput.js"
export default {
props: ["queryDetailParams","commitStatus"],
data() {
return {
classScoring: "", //班会材料分数
visitDormitoryScoring: "", //每周深入学生宿舍材料分数
stuTalkScoring: "", // 学生谈话分数
cadreScoring: "", //班团干部会议材料分数
stuActivityScoring: "", //学生开展活动材料分数
id: "", //学生开展活动材料分数
queryParams:null
}
},
created() {
teacherKpiFillingMgtDetail(this.queryDetailParams).then(res => {
console.log(res);
if (res.data) {
this.classScoring = res.data.classScoring;
this.visitDormitoryScoring = res.data.visitDormitoryScoring;
this.stuTalkScoring = res.data.stuTalkScoring;
this.cadreScoring = res.data.cadreScoring;
this.stuActivityScoring = res.data.stuActivityScoring;
this.id = res.data.id;
}
})
this.queryParams = new URLSearchParams({
year: this.queryDetailParams.fillingYear,
month: this.queryDetailParams.fillingMonth,
commitStatus:this.commitStatus
});
},
methods: {
onLimitInput(event,name,max) {
let result = limitInput(event.detail.value,max);
this[name] = result;
},
uploadClassMeetingMaterial() {
uni.navigateTo({
url: `/pages/instructor/performance-appraisal/performance-evaluation/class-meeting-evidence/list?${this.queryParams.toString()}`
})
},
uploadSleepCheckMaterial() {
uni.navigateTo({
url: `/pages/instructor/performance-appraisal/performance-evaluation/sleep-check-evidence/list?${this.queryParams.toString()}`
})
},
uploadInterviewMaterial() {
uni.navigateTo({
url: `/pages/instructor/performance-appraisal/performance-evaluation/interview/list?${this.queryParams.toString()}`
})
},
uploadLeagueMeetingMaterial() {
uni.navigateTo({
url: `/pages/instructor/performance-appraisal/performance-evaluation/league-meeting/list?${this.queryParams.toString()}`
})
},
uploadStuActivityMaterials() {
uni.navigateTo({
url: `/pages/instructor/performance-appraisal/performance-evaluation/student-activity/list?${this.queryParams.toString()}`
})
},
getFormData() {
return {
classScoring: this.classScoring,
visitDormitoryScoring: this.visitDormitoryScoring,
stuTalkScoring: this.stuTalkScoring,
cadreScoring: this.cadreScoring,
stuActivityScoring: this.stuActivityScoring,
id: this.id
};
}
}
}
</script>
<style scoped lang="scss">
.student-management {
.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;
}
}
text {
color: #1890FF;
border-bottom: 2px solid #1890FF;
margin-left: 40rpx;
font-weight: bold;
font-size: 26rpx;
}
}
}
}
</style>