用户评分,首页页面修改

main
wanglei 6 months ago
parent 6a2314c481
commit 7a190f038f

@ -98,5 +98,9 @@ export default {
} }
} }
.pagination-container{
margin-top: 30px;
justify-content: flex-start;
}
</style> </style>

@ -1,30 +1,45 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="title">{{ kaohexiang.vote.voteTitle }}</div> <div class="title">{{ vote.voteTitle }}</div>
<div class="time">时间{{ kaohexiang.vote.sTime }} - {{ kaohexiang.vote.eTime }}</div> <div class="time">时间{{ vote.sTime }} - {{ vote.eTime }}</div>
<div class="des">{{ kaohexiang.vote.vDescription }}</div> <div class="des">{{ vote.vDescription }}</div>
<div class="tou_piao" v-if="kaohexiang.type===2||kaohexiang.type===5"> <el-row :gutter="10" class="tou_piao" v-if="vote.khitemTypeid===2||vote.khitemTypeid===3">
<div v-for="item in voteList" class="tou_piao_item"> <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" v-for="item in voteList">
<div class="emp_name">{{ item.label }} <span style="color:#666;margin-left: 20px;">参与评分 231 </span> <span style="color:#666;margin-left: 20px;">均值96.45 </span></div> <div class="tou_piao_item">
<div> <div>
<el-input-number v-model="item.value" controls-position="right" :min="0" :max="100"></el-input-number> {{ item.bkhdxName }}
</div> </div>
<div class="_desc">参与评分 {{ item.voteNum!==null?item.voteNum: ''}} </div>
<div class="_desc">均值{{ item.avgScore!==null?item.avgScore: '' }} </div>
<div>
<el-input-number v-model="item.score" :max="vote.maxNum"></el-input-number>
</div> </div>
</div> </div>
<div class="tou_piao" v-if="kaohexiang.type===1"> </el-col>
<div v-for="item in voteList" class="tou_piao_item"> </el-row>
<div class="emp_name">{{ item.label }} <span style="color:#666;margin-left: 20px;">参与评分 231 </span> <span style="color:#666;margin-left: 20px;">均值96.45 </span></div>
<el-row :gutter="10" class="tou_piao" v-if="vote.khitemTypeid===1">
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" v-for="item in voteList">
<div class="tou_piao_item">
<div> <div>
<el-radio v-model="item.value" label="1" border size="small"></el-radio> {{ item.bkhdxName }}
<el-radio v-model="item.value" label="2" border size="small"></el-radio>
<el-radio v-model="item.value" label="3" border size="small"></el-radio>
<el-radio v-model="item.value" label="4" border size="small"></el-radio>
</div> </div>
<div class="_desc">参与评分 {{ item.voteNum!==null?item.voteNum: ''}} </div>
<div class="_desc">均值{{ item.avgScore!==null?item.avgScore: '' }} </div>
<div>
<el-radio-group v-model="item.option" size="mini">
<el-radio label="optionA">优秀</el-radio>
<el-radio label="optionB">合格</el-radio>
<el-radio label="optionC">基本合格</el-radio>
<el-radio label="optionD">不合格</el-radio>
</el-radio-group>
</div> </div>
</div> </div>
</el-col>
</el-row>
<div style="text-align: right; margin-top: 40px;"> <div style="text-align: center; margin-top: 40px;">
<el-button type="primary" icon="el-icon-s-promotion">提交</el-button> <el-button type="primary" icon="el-icon-s-promotion" @click="VoteSubmit"></el-button>
</div> </div>
</div> </div>
@ -32,559 +47,19 @@
<script> <script>
import { getVote } from "@/api/kaohe/vote" import { getVote } from "@/api/kaohe/vote"
import { listVote_emp } from "@/api/kaohe/vote_emp" import { listVote_emp, VoteEmpSubmit } from "@/api/kaohe/vote_emp"
export default { export default {
name: "votepage", name: "votepage",
data() { data() {
return { return {
index:0, vote: {},
index1:0,
kaohexiang: null,
loading:null, loading:null,
voteList: [ voteList: [],
{
"id": 200,
"label": "生命科学系",
"value": null
},
{
"id": 201,
"label": "海洋学院",
"value": null
},
{
"id": 202,
"label": "历史文化与法学系",
"value": null
},
{
"id": 203,
"label": "物理科学与技术学院",
"value": null
},
{
"id": 204,
"label": "教育学院",
"value": null
},
{
"id": 205,
"label": "资源管理系",
"value": null
},
{
"id": 206,
"label": "马克思主义学院",
"value": null
},
{
"id": 207,
"label": "美术学院",
"value": null
},
{
"id": 208,
"label": "计算机科学技术系",
"value": null
},
{
"id": 209,
"label": "化学系",
"value": null
},
{
"id": 210,
"label": "数学与计算科学学院",
"value": null
},
{
"id": 211,
"label": "继续教育学院",
"value": null
},
{
"id": 212,
"label": "外国语学院",
"value": null
},
{
"id": 213,
"label": "体育系",
"value": null
},
{
"id": 214,
"label": "文学院",
"value": null
},
{
"id": 215,
"label": "音乐系",
"value": null
},
],
pingceList: [
{
id: 1,
pcTitle: '党建与行政目标任务',
pcDescription: '党建与行政目标任务考核描述',
templateId: 2,
templateName: '党建与行政目标任务模板',
state: '2',
khdx: '1',
remark: '备注',
deptCheckStrictly: false,
pcEmps:[],
checkedKeys: [ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215 ],
kaohexiang: [
{
id: 6,
itemName: '政治建设',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '政治建设评分',
options: [],
maxNum: 100,
percentage: 0.2, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '政治建设评分详情描述', //
remark: '政治建设备注', //
}
},
{
id: 7,
itemName: '宣传与思想政治工作',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '宣传与思想政治工作评分',
options: [],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '宣传与思想政治工作评分详情描述', //
remark: '宣传与思想政治工作备注', //
}
},
{
id: 8,
itemName: '作风纪律',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '作风纪律评分',
options: [],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '作风纪律评分详情描述', //
remark: '作风纪律备注', //
}
},
{
id: 9,
itemName: '安全稳定',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '安全稳定评分',
options: [],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '安全稳定评分详情描述', //
remark: '安全稳定备注', //
}
},
{
id: 10,
itemName: '师资队伍与师德师风',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '师资队伍与师德师风评分',
options: [],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '师资队伍与师德师风评分详情描述', //
remark: '师资队伍与师德师风备注', //
}
},
{
id: 11,
itemName: '财务工作',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '财务工作评分',
options: [],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '财务工作评分详情描述', //
remark: '财务工作备注', //
}
},
{
id: 12,
itemName: '依法治校与综合治理',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '依法治校与综合治理评分',
options: [],
maxNum: 100,
percentage: 0.05, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '依法治校与综合治理评分详情描述', //
remark: '依法治校与综合治理备注', //
}
},
{
id: 13,
itemName: '国有资产管理',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '国有资产管理评分',
options: [],
maxNum: 100,
percentage: 0.02, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '国有资产管理评分详情描述', //
remark: '国有资产管理备注', //
}
},
{
id: 14,
itemName: '实验室管理',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '实验室管理评分',
options: [],
maxNum: 100,
percentage: 0.03, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '实验室管理评分详情描述', //
remark: '实验室管理备注', //
}
},
{
id: 15,
itemName: '招生就业与创新创业工作',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '招生就业与创新创业工作评分',
options: [],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '招生就业与创新创业工作评分详情描述', //
remark: '招生就业与创新创业工作备注', //
}
},
{
id: 16,
itemName: '对外交流与合作',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '对外交流与合作评分',
options: [],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '对外交流与合作评分详情描述', //
remark: '对外交流与合作备注', //
}
}
]
},
{
id: 2,
pcTitle: '事业发展',
pcDescription: '事业发展考核描述',
templateId: 3,
templateName: '事业发展模板',
state: '2',
khdx: '1',
remark: '备注',
deptCheckStrictly: false,
pcEmps:[],
checkedKeys: [ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215 ],
kaohexiang: [
{
id: 17,
itemName: '教学工作',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '教学工作评分',
options: [],
maxNum: 100,
percentage: 0.2, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '教学工作评分详情描述', //
remark: '教学工作备注', //
}
},
{
id: 18,
itemName: '科研工作',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '科研工作评分',
options: [],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '科研工作评分详情描述', //
remark: '科研工作备注', //
}
},
{
id: 19,
itemName: '学生工作',
type: 2,
typeName: '占比评分',
vote:{
voteTitle: '学生工作评分',
options: [],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '学生工作评分详情描述', //
remark: '学生工作备注', //
}
}
]
},
{
id: 3,
pcTitle: '民主测评',
pcDescription: '民主测评考核描述',
templateId: 4,
templateName: '民主测评模板',
state: '2',
khdx: '1',
remark: '备注',
deptCheckStrictly: false,
pcEmps:[],
checkedKeys: [ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215 ],
kaohexiang: [
{
id: 20,
itemName: '师院领导班子',
type: 1,
typeName: '选项评分',
vote:{
voteTitle: '师院领导班子评分',
options: [
{
value: 1,
label: '优秀'
},
{
value: 2,
label: '合格'
},
{
value: 3,
label: '基本合格'
},
{
value: 4,
label: '不合格'
}
],
maxNum: 100,
percentage: 0.2, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '师院领导班子评分详情描述', //
remark: '师院领导班子备注', //
}
},
{
id: 21,
itemName: '师院处级领导干部',
type: 1,
typeName: '选项评分',
vote:{
voteTitle: '师院处级领导干部评分',
options: [
{
value: 1,
label: '优秀'
},
{
value: 2,
label: '合格'
},
{
value: 3,
label: '基本合格'
},
{
value: 4,
label: '不合格'
}
],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '师院处级领导干部评分详情描述', //
remark: '师院处级领导干部备注', //
}
},
{
id: 22,
itemName: '服务对象代表',
type: 1,
typeName: '选项评分',
vote:{
voteTitle: '服务对象代表评分',
options: [
{
value: 1,
label: '优秀'
},
{
value: 2,
label: '合格'
},
{
value: 3,
label: '基本合格'
},
{
value: 4,
label: '不合格'
}
],
maxNum: 100,
percentage: 0.1, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '服务对象代表评分详情描述', //
remark: '服务对象代表备注', //
}
}
]
},
{
id: 4,
pcTitle: '特色创新',
pcDescription: '特色创新考核描述',
templateId: 5,
templateName: '特色创新模板',
state: '2',
khdx: '1',
remark: '备注',
deptCheckStrictly: false,
pcEmps:[],
checkedKeys: [ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215 ],
kaohexiang: [
{
id: 23,
itemName: '分数满分10分',
type: 5,
typeName: '单独评分',
vote:{
voteTitle: '特色创新分数满分10分评分',
options: [],
maxNum: 10,
percentage: null, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '特色创新分数满分10分评分详情描述', //
remark: '特色创新分数满分10分备注', //
}
}
]
},
{
id: 5,
pcTitle: '综合评价',
pcDescription: '综合评价考核描述',
templateId: 6,
templateName: '综合评价模板',
state: '2',
khdx: '1',
remark: '备注',
deptCheckStrictly: false,
pcEmps:[],
checkedKeys: [ 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215 ],
kaohexiang: [
{
id: 24,
itemName: '分数(加减分项,值域可以为负)',
type: 5,
typeName: '单独评分',
vote:{
voteTitle: '综合评价分数(加减分项,值域可以为负)',
options: [],
maxNum: 10,
percentage: null, //
state: '2', //
sTime: '2025-06-15', //
eTime: '2025-06-20', //
vDescription: '综合评价分数(加减分项,值域可以为负)评分详情描述', //
remark: '综合评价分数(加减分项,值域可以为负)备注', //
}
}
]
}
],
} }
}, },
created() { created() {
// this.getVote() this.getVote();
if(this.$route.query.index&&this.$route.query.index1){
this.index=this.$route.query.index;
this.index1=this.$route.query.index1;
}
this.kaohexiang = this.pingceList[this.index].kaohexiang[this.index1];
console.log(this.kaohexiang);
}, },
methods: { methods: {
getVote(){ getVote(){
@ -596,7 +71,7 @@ export default {
}); });
getVote(this.$route.query.id).then(response => { getVote(this.$route.query.id).then(response => {
this.vote = response.data; this.vote = response.data;
this.getList() this.getList();
}) })
}, },
/** 查询投票评测列表 */ /** 查询投票评测列表 */
@ -610,13 +85,69 @@ export default {
this.loading.close() this.loading.close()
}) })
}, },
VoteSubmit(){
let voteEmpList = [];
let flag = true;
let bkhdxName = '';
if(this.vote.khitemTypeid===2 || this.vote.khitemTypeid===3){
this.voteList.forEach(item => {
voteEmpList.push({
id: item.id,
bkhdxName: item.bkhdxName,
score: item.score,
})
})
}
if(this.vote.khitemTypeid===1){
this.voteList.forEach(item => {
let obj = {
id: item.id,
bkhdxName: item.bkhdxName,
optionA: 0,
optionB: 0,
optionC: 0,
optionD: 0,
}
if(item.option){
obj[item.option] = 1;
}else {
flag = false;
bkhdxName += item.bkhdxName+''
}
voteEmpList.push(obj)
})
}
if(flag){
if(new Date(this.vote.eTime) > (new Date())){
VoteEmpSubmit({
khitemTypeid : this.vote.khitemTypeid,
voteId : this.vote.id,
userId : this.$store.state.user.id,
userName : this.$store.state.user.name,
uid : 1,
voteEmpList: voteEmpList
}).then(response => {
this.$modal.msgSuccess("提交成功");
this.$router.go(-1)
});
}else {
this.$alert(`已超时,无法提交评分!`, `提示`, {
type: 'Danger'
})
}
}else {
// bkhdxName
this.$alert(`${ bkhdxName }】未评分,请去评分!`, `提示`, {
type: 'Danger'
})
}
}
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.app-container{ .app-container{
width: 1200px;
margin: 0 auto; margin: 0 auto;
.title{ .title{
@ -630,22 +161,26 @@ export default {
} }
.time{ .time{
padding: 10px; padding: 10px;
color: #bb1313; color: #af5e5e;
} }
.tou_piao{ .tou_piao{
font-size: 14px;
.tou_piao_item{ .tou_piao_item{
margin: 10px; border: 1px solid #eee;
border: 1px solid #eeeeee;
padding: 10px; padding: 10px;
display: flex; box-sizing: border-box;
justify-content: space-between; margin-bottom: 10px;
.emp_name{ ._desc{
height: 30px; font-size: 12px;
line-height: 30px; color: #666666;
font-size: 14px; margin: 10px 0;
}
.el-radio{
margin-top: 10px;
} }
} }
} }

Loading…
Cancel
Save