Files
zhgh_hhu/target/classes/views/mobile/wakeshome/review/appraisal.html
T
2026-09-20 15:46:34 +08:00

199 lines
7.3 KiB
HTML

<!--#
layout("/mobile/platform.html"){
#-->
<style>
.van-dropdown-menu__bar {
display: -webkit-box;
}
.van-doc-card {
margin: 14px;
padding: 6px;
background-color: #fff;
border-radius: 10px;
box-shadow: 0 8px 12px #ebedf0;
line-height: 25px;
font-size: 12px;
}
.title {
text-align: center;
font-size: 18px;
}
.d_card {
background-color: #fff;
border-radius: 10px;
padding: 10px;
width: 90%;
margin: 10px;
}
.van-tag--primary {
height: 23px !important;
background-color: #1989fa;
}
.ellipsis {
overflow:visible;
word-break:keep-all;
white-space:nowrap;
text-overflow:inherit;
}
</style>
<div id="app">
<van-nav-bar title="评议列表" left-arrow placeholder fixed
@click-left="history.back()"></van-nav-bar>
<div class="search-fixed">
<van-dropdown-menu active-color="#1989fa">
<van-dropdown-item v-model="pageForm.annual" :options="yearOption" @change="yearChange"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.type" :options="activityList" @change="yearChange"></van-dropdown-item>
</van-dropdown-menu>
</div>
<div style="margin: 60px auto 60px auto">
<template>
<van-list :finished="finished" :finished-text="tableData.length>0?'没有更多了':''"
v-if="tableData && tableData.length>0"
v-model="loading"
@load="pageData">
<div v-for="o in tableData" :key="o.id" class="van-doc-card">
<div @click="toCommentator(o)" style="padding: 10px">
<div>
<div style="display: flex;font-size: 18px">{{ o.assessment }}</div>
<div style="align-items: center">
<van-tag type="primary">{{ o.assessmentMode==1 ? '工会评议' : '工会主席评议' }}</van-tag>
<!--<van-tag type="primary">{{ o.commentTarget==1 ? '校工会' : '分工会' }}</van-tag>-->
<van-tag type="primary" v-if="o.commentTarget==1">{{ '校工会' }}</van-tag>
<van-tag type="primary" v-if="o.commentTarget==2">{{ unionName }}</van-tag>
<van-tag class="ellipsis" type="primary" v-if="o.commentTarget==3">{{ o.unionNames.length>25 ? o.unionNames.substring(0,25) + '...' : o.unionNames }}</van-tag>
</div>
</div>
<van-row gutter="20">
<van-col span="12">
<span>年度:{{ o.annual }}</span>
</van-col>
<van-col span="12">
<span>测评模式:{{ o.scoringMode==1 ? '评分' : '满意度' }}</span>
</van-col>
</van-row>
</div>
</div>
</van-list>
<van-empty v-else description="暂无数据"></van-empty>
</template>
</div>
<div>
<van-tabbar v-model="tarBarActive">
<van-tabbar-item icon="home-o" replace url="/mobile/wakeshome/review/appraisal/index">职工评议</van-tabbar-item>
<van-tabbar-item icon="manager-o" replace url="/mobile/wakeshome/review/appraisal/mine">我的评议</van-tabbar-item>
</van-tabbar>
</div>
</div>
<script>
const vue = new Vue({
el:'#app',
mixins: [mobileMixins],
data(){
return{
tarBarActive: 0,
pageForm:{
annual:'',
type: 2,
},
activityList: [
{text: '全部', value: 1},
{text: '未开始', value: 4},
{text: '进行中', value: 2},
{text: '已结束', value: 3},
],
yearOption:[],
unionName: '${@shiro.getPrincipalProperty("union").getUnionname()}'
}
},
methods:{
async pageData() {
this.mLoading = true
const resp = await $.post('/mobile/wakeshome/review/appraisal/pageData', this.pageForm)
if (resp.code === 0) {
if (resp.data.list.length === 0) {
this.tableData = []
this.loading = false
this.finished = true
} else {
this.tableData = this.tableData.concat(resp.data.list)
}
if (this.tableData.length === resp.data.totalCount) {
this.finished = true
} else {
this.pageForm.pageNumber++
}
}
this.loading = false;
this.mLoading = false
},
yearChange() {
this.pageForm.pageNumber = 1
this.tableData = []
this.finished = false
this.pageData()
},
async toCommentator(o){
const start = new Date(o.startTime);
const end = new Date(o.endTime);
const now = new Date();
// 检查当前时间是否在 startTime 和 endTime 之间
if (now < start && now > end){
vant.Dialog.alert({
title: '温馨提示',
message: '不在测评时间内,暂无法测评',
confirmButtonColor: '#1867b0'
})
return
}
//自评模式
if (o.reviewMode == 1 && !o.canJoin) {
vant.Dialog.alert({
title: '温馨提示',
message: '您不在评议人员范围中',
confirmButtonColor: '#1867b0'
})
return
}
const isExist = await getScopeUser(o.activityGroupId)
if ((o.commentTarget == 1 && !isExist) || (o.commentTarget == 3 && !o.canJoin)) {
vant.Dialog.alert({
title: '温馨提示',
message: '您不在评议人员范围中',
confirmButtonColor: '#1867b0'
})
return
}``
const resp = await $.get('/mobile/wakeshome/review/appraisal/isAssess',{id:o.id})
if (resp.data > 0){
vant.Toast('您已经填写过,请前往我的测评中查看测评结果')
return
}
window.location.href = '/mobile/wakeshome/review/appraisal/commentator?id=' + o.id
}
},
async created(){
for (let i = new Date().getFullYear() - 10; i <= new Date().getFullYear(); i++) {
this.yearOption.unshift({value: i, text: i + '年'},)
}
this.$set(this.pageForm, "annual", this.yearOption[0].value)
this.pageData();
}
});
</script>
<!--#
}
#-->