This commit is contained in:
zhaoxinyu
2024-08-26 14:28:02 +08:00
170 changed files with 17605 additions and 7509 deletions
+22
View File
@@ -232,6 +232,10 @@ layout("/mobile/platform.html"){
<image src="/assets/mobile/icon/activity/bm.png"></image>
<span class="icon_text">校活动报名</span>
</van-grid-item>
<van-grid-item url="/mobile/wmhd/apply">
<image src="/assets/mobile/svg/wmhd/apply.svg"></image>
<span class="icon_text">教工作品征集</span>
</van-grid-item>
<!--<van-grid-item @click="toWxJsz">
<image src="/assets/mobile/svg/activity/jsz.svg"></image>
<span class="icon_text">健身走</span>
@@ -247,6 +251,8 @@ layout("/mobile/platform.html"){
<image src="/assets/mobile/icon/question/dati.png"></image>
<span class="icon_text">在线调查</span>
</van-grid-item>
<van-grid-item url="/mobile/question/h5/list?type=2">
<image src="/assets/mobile/icon/question/zxdc.png"></image>
<span class="icon_text">知识竞答</span>
@@ -331,6 +337,22 @@ layout("/mobile/platform.html"){
<span class="icon_text"> 我的疗休养</span>
</van-grid-item>
</van-grid>
<div class="van-sidebar-item van-sidebar-item&#45;&#45;select">
职工评议
</div>
<van-grid :border="false" :column-num="3">
<van-grid-item url="/mobile/wakeshome/review/appraisal/index">
<image src="/assets/mobile/svg/psychology/zgpy.svg"></image>
<span class="icon_text"> 职工评议</span>
</van-grid-item>
<van-grid-item url="/mobile/wakeshome/review/appraisal/mine">
<image src="/assets/mobile/svg/psychology/wdpy.svg"></image>
<span class="icon_text"> 我的评议</span>
</van-grid-item>
</van-grid>
</div>
<div v-if="paramType === '培训教育'">
@@ -0,0 +1,182 @@
<!--#
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){
//自评模式
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>
<!--#
}
#-->
@@ -0,0 +1,372 @@
<!--#
layout("/mobile/platform.html"){
#-->
<style>
.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;
}
.search-fixed {
position: fixed;
top: 46px;
left: 0;
width: 100%;
z-index: 1;
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
}
.van-dropdown-menu__bar {
display: -webkit-box;
}
.van-collapse-item .van-cell__title :before {
content: '';
display: inline-block;
height: 15px;
background-color: #0e5996;
width: 4px;
position: relative;
top: 3px;
margin-right: 2px;
border-radius: 8px;
}
.van-collapse-item__content .van-cell__title :before {
display: none;
}
.content_div {
margin-top: 10px;
background-color: white;
padding: 6px;
border-radius: 10px;
box-shadow: 0 8px 12px #ebedf0;
}
.van-collapse-item__content {
padding: 0px 6px;
background-color: #f9f9f9;
}
.van-button {
height: 40px;
margin: 6px 20px
}
</style>
<div id="app">
<van-nav-bar title="民主测评" left-arrow placeholder fixed
@click-left="history.back()"></van-nav-bar>
<div>
<van-form ref="addForm" :show-error-message="false" style="margin-bottom: 60px">
<!-- v-for测评内容 -->
<van-collapse v-model="activeNames" accordion>
<div v-if="commentatorData.scoringMode==1">
<div v-for="o in commentatorData.nrs">
<van-collapse-item :title="o.content" :name="o.id" style="margin: 5px">
<!-- v-for测评指标 -->
<div v-for="item in o.bzs" style="margin-top: 10px" class="content_div">
<div>
<div style="font-size: 15px;color: black">
{{item.contentNumber}}、{{item.inspection}}
</div>
<van-row>
<div style="font-size: 15px;text-align: right;margin-right: 30px;margin-bottom:-4px">标准分:{{item.score}}</div>
</van-row>
<van-field
v-model="item.resultScore"
name="评议分"
label="评议分"
type="digit"
required
maxlength="4"
:readonly="isReadOnly"
placeholder="请填写评议分"
@change="changeScore(item)"
:rules="[{ required: true, message: '请填写评议分' }]"
></van-field>
</div>
</div>
<div class="content_div" style="margin: 10px 0">
<van-field v-model="o.remark"
name="备注" label="备注"
required rows="3" type="textarea"
autosize show-word-limit
maxlength="300"
placeholder="请填写备注"
:readonly="isReadOnly"
></van-field>
</div>
</van-collapse-item>
</div>
<div v-if="commentatorData.reviewMode == 1" class="content_div">
<van-field name="files" label="职工评家总结" required style="flex-flow: column" input-align="left">
<template #label>
<div class="mb10">职工评家总结</div>
</template>
<template #input>
<vant-file-upload :files.sync="commentatorData.files"></vant-file-upload>
</template>
</van-field>
</div>
</div>
<div v-if="commentatorData.scoringMode==2">
<div class="search-fixed">
<van-dropdown-menu active-color="#1989fa">
<van-dropdown-item v-model="president" :options="presidentList"
@change="presidentChange"></van-dropdown-item>
</van-dropdown-menu>
</div>
<div v-for="o in commentatorData.nrs" style="margin: 60px auto 0 auto">
<div v-for="item in o.bzs">
<div class="van-doc-card">
<div style="font-size: 15px;color: black">{{item.contentNumber}}、{{item.inspection}}
</div>
<van-field name="radio" label="满意度" style="padding: 12px 2px;margin: 5px">
<template #input>
<van-radio-group style="margin-left: -20px" v-model="item.resultScore" :disabled="isReadOnly" direction="horizontal">
<van-radio name="满意">满意</van-radio>
<van-radio name="基本满意">基本满意</van-radio>
<van-radio name="不满意">不满意</van-radio>
</van-radio-group>
</template>
</van-field>
</div>
</div>
</div>
<div class="van-doc-card">
<van-field
v-model="presidentOpinions"
:readonly="isReadOnly"
rows="2" type="textarea"
autosize show-word-limit
name="备注" label="备注" maxlength="200"
placeholder="请填写备注"
></van-field>
</div>
</div>
</van-collapse>
</van-form>
</div>
<div>
<van-tabbar>
<van-button id="buttonAss" :disabled="isShowSubmit" round block type="info" @click="showAssess">查看测评结果</van-button>
<van-button id="buttonSub" :disabled="isShowSubmit" round block type="info" @click="onSubmit">提交</van-button>
</van-tabbar>
</div>
</div>
<script>
const vue = new Vue({
el: '#app',
data() {
return {
id: "",
activeNames: '',
commentatorData: {},
reviewResult: null,
presidentOpinions: '',
bzList: [],
president: '',
presidentList: [],
userList:[],
isShowSubmit: false,
isReadOnly:false,
formData:{
id: '',
reviewResult: '',
presidentOpinions: '',
president: '',
files: [],
nrs: [],
reviewMode: '',
scoringMode: '',
assessmentMode: '',
assessmentResult: '',
assessmentOpinions: '',
assessmentFiles: [],
assessmentNrs: [],
assessmentReviewMode: '',
assessmentScoringMode:'',
}
}
},
methods: {
async getCommentById() {
const resp = await $.get('/mobile/wakeshome/review/appraisal/getById', {id: this.id})
if (resp.code === 0) {
this.commentatorData = resp.data
if (this.commentatorData.assessmentMode === 2) {
this.commentatorData.nrs.forEach(v => {
v.bzs.forEach(o => {
o.resultScore = '满意'
})
})
await this.getPresidents();
}
this.activeNames = this.commentatorData.nrs[0].id
}
},
async assignment() {
const self = this;
this.bzList = [];
this.commentatorData.nrs.forEach(v => {
v.bzs.forEach(o => {
if (self.commentatorData.assessmentMode === 1 && v.remark){
o.options = v.remark
}
self.bzList.push(o)
})
})
},
async onSubmit() {
this.$refs['addForm'].validate().then(async () => {
await this.$dialog.confirm({
title: '确定要提交该测评结果吗?',
message: '提交后不可修改,请仔细检查后提交'
})
await this.assignment();
let evaluatedPersonName=null;
let evaluatedPersonType=null;
if (this.commentatorData.assessmentMode === 1) {
let score = 0;
this.bzList.forEach(v => {
score += Number(v.resultScore)
})
if (score >= Number(80)) {
this.reviewResult = '满意'
} else if (score >= Number(60) && score <= Number(79)) {
this.reviewResult = '基本满意'
} else {
this.reviewResult = '不满意'
}
} else if (this.commentatorData.assessmentMode === 2) {
const result = this.bzList.filter(v => v.resultScore === '满意' || v.resultScore === '基本满意')
if (result.length >= 8) {
this.reviewResult = '满意'
} else if (result.length >= 6 && result.length <= 7) {
this.reviewResult = '基本满意'
} else {
this.reviewResult = '不满意'
}
const user = this.userList.find(v=> v.id === this.president)
evaluatedPersonName = user.username
evaluatedPersonType = user.evaluatedPersonType
}
const formData = this.formData
// this.$set(formData,"bzList",this.bzList)
formData.bzList = JSON.stringify(this.bzList)
formData.id = this.id
formData.president = this.president
formData.reviewResult = this.reviewResult
formData.evaluatedPersonName = evaluatedPersonName
formData.evaluatedPersonType = evaluatedPersonType
formData.files = JSON.stringify(this.commentatorData.files)
const resp = await $.post('/mobile/wakeshome/review/appraisal/doSubmit', formData)
if (resp.code === 0) {
await this.getCommentById();
window.location.href = '/mobile/wakeshome/review/appraisal/mine'
}
})
},
async showAssess() {
this.$refs['addForm'].validate().then(async () => {
let score = 0;
await this.assignment();
if (this.commentatorData.assessmentMode === 1) {
this.bzList.forEach(v => {
score += Number(v.resultScore)
})
if (score >= Number(80)) {
this.reviewResult = '满意'
} else if (score >= Number(60) && score <= Number(79)) {
this.reviewResult = '基本满意'
} else {
this.reviewResult = '不满意'
}
console.log(score)
console.log(this.reviewResult)
vant.Dialog.alert({
title: '测评结果',
message: '您的测评分数为【' + score + "】分,测评结果为【" + this.reviewResult + "】",
confirmButtonColor: '#1867b0'
})
} else if (this.commentatorData.assessmentMode === 2) {
const result = this.bzList.filter(v => v.resultScore === '满意' || v.resultScore === '基本满意')
if (result.length >= 8) {
this.reviewResult = '满意'
} else if (result.length >= 6 && result.length <= 7) {
this.reviewResult = '基本满意'
} else {
this.reviewResult = '不满意'
}
console.log(result)
console.log(this.reviewResult)
vant.Dialog.alert({
title: '测评结果',
message: '您的满意或基本满意个数为【' + result.length + "】个,测评结果为【" + this.reviewResult + "】",
confirmButtonColor: '#1867b0'
})
}
})
},
changeScore(item) {
if (Number(item.score) < Number(item.resultScore)) {
item.resultScore = null;
vant.Toast('评议分不能超过标准分!')
}
},
async getPresidents() {
const resp = await $.get('/mobile/wakeshome/review/appraisal/getPresidents')
if (resp.code === 0) {
this.userList = resp.data
this.userList.forEach(v => {
this.presidentList.push({value: v.id, text: v.presidents})
})
}
this.president = this.presidentList[0].value
await this.presidentChange();
},
async presidentChange() {
const resp = await $.get('/mobile/wakeshome/review/appraisal/isAssess', {
id: this.id,
evaluatedPersonId: this.president,
})
if (resp.data > 0) {
vant.Dialog.alert({
title: '提示',
message: '您已经评测过该主席(副主席),请在【我的评议】中查看结果,或更换主席(副主席)进行测评',
confirmButtonColor: '#1867b0'
})
this.isShowSubmit = true;
this.isReadOnly = true
}
},
},
async created() {
this.id = GetQueryString('id')
await this.getCommentById();
}
});
</script>
<!--#
}
#-->
@@ -0,0 +1,271 @@
<!--#
layout("/mobile/platform.html"){
#-->
<style>
.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;
}
.van-collapse-item .van-cell__title :before {
content: '';
display: inline-block;
height: 15px;
background-color: #0e5996;
width: 4px;
position: relative;
top: 3px;
margin-right: 2px;
border-radius: 8px;
}
.van-collapse-item__content .van-cell__title :before {
display: none;
}
.content_div {
margin-top: 10px;
background-color: white;
padding: 6px;
border-radius: 10px;
box-shadow: 0 8px 12px #ebedf0;
}
.van-collapse-item__content {
padding: 0px 6px;
background-color: #f9f9f9;
}
.van-dropdown-menu__bar {
display: -webkit-box;
}
</style>
<div id="app">
<van-nav-bar title="我的测评" left-arrow placeholder fixed
@click-left="history.back()"></van-nav-bar>
<div>
<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-menu>
</div>
<div style="margin: 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>
</div>
</div>
<van-row gutter="20">
<van-col span="10">
<span>年度:{{ o.annual }}</span>
</van-col>
<van-col span="14" v-if="o.assessmentMode==2">
<span>测评对象:{{ o.evaluatedPersonName }}({{o.evaluatedPersonType}})</span>
</van-col>
</van-row>
<van-row gutter="20">
<van-col span="10">
<span>测评模式:{{ o.scoringMode==1 ? '评分' : '满意度' }}</span>
</van-col>
<van-col span="14">
<span>测评结果:{{ o.reviewResult ? o.reviewResult : '暂无' }}</span>
</van-col>
</van-row>
<!--<div>年度:{{ o.annual }}</div>
<div>测评结果:{{ o.reviewResult ? o.reviewResult : '暂无' }}</div>-->
</div>
</div>
</van-list>
<van-empty v-else description="暂无数据"></van-empty>
</template>
</div>
</div>
<van-popup v-model="descPopup" position="right" style="height: 100%;width: 100%;background-color: #f9f9f9"
safe-area-inset-bottom>
<van-sticky>
<van-nav-bar @click-left="descPopup=false" left-arrow
title="测评详情"></van-nav-bar>
</van-sticky>
<div>
<van-form :show-error-message="false" style="margin-bottom: 60px">
<!-- v-for测评内容 -->
<van-collapse v-model="activeNames" accordion>
<div v-if="zbxx.scoringMode==1">
<div v-for="o in zbxx.nrs">
<van-collapse-item :title="o.content" :name="o.id" style="margin: 5px">
<!-- v-for测评指标 -->
<div v-for="item in o.bzs" style="margin-top: 10px" class="content_div">
<div>
<div style="font-size: 15px;color: black">
{{item.contentNumber}}、{{item.inspection}}
</div>
<van-row>
<div style="font-size: 15px;text-align: right;margin-right: 30px;margin-bottom:-4px">标准分:{{item.score}}</div>
</van-row>
<van-field
v-model="item.resultScore"
name="测评分"
label="测评分"
readonly
></van-field>
<van-field v-if="item.isEvidence"
v-model="item.options"
name="意见或建议"
label="意见或建议"
readonly
></van-field>
</div>
</div>
</van-collapse-item>
</div>
<div >
<van-field
v-model="commentPeo.reviewResult"
name="测评结果"
label="测评结果"
readonly
></van-field>
</div>
</div>
<div v-if="zbxx.scoringMode==2">
<div v-for="o in zbxx.nrs">
<div v-for="item in o.bzs">
<div class="van-doc-card">
<div style="font-size: 15px;color: black">
{{item.contentNumber}}、{{item.inspection}}
</div>
<van-field name="radio" label="满意度" style="padding: 12px 2px;margin: 5px">
<template #input>
<van-radio-group style="margin-left: -20px" v-model="item.resultScore" disabled direction="horizontal">
<van-radio name="满意">满意</van-radio>
<van-radio name="基本满意">基本满意</van-radio>
<van-radio name="不满意">不满意</van-radio>
</van-radio-group>
</template>
</van-field>
</div>
</div>
</div>
<div class="van-doc-card">
<van-field
v-model="commentPeo.presidentOpinions"
rows="2"
readonly
name="意见或建议"
label="意见或建议"
></van-field>
<van-field
v-model="commentPeo.reviewResult"
name="测评结果"
label="测评结果"
readonly
></van-field>
</div>
</div>
</van-collapse>
</van-form>
</div>
</van-popup>
<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: 1,
pageForm: {
annual:'',
},
descPopup: false,
commentPeo: {},
zbxx: {},
activeNames: '',
unionName: '${@shiro.getPrincipalProperty("union").getUnionname()}',
yearOption:[],
}
},
methods: {
yearChange() {
this.pageForm.pageNumber = 1
this.tableData = []
this.finished = false
this.pageData()
},
async pageData() {
this.mLoading = true
const resp = await $.post('/mobile/wakeshome/review/appraisal/onLoad', 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
},
async toCommentator(o) {
const resp = await $.get('/mobile/wakeshome/review/appraisal/getBzById', {
peoId: o.id,
})
if (resp.code === 0) {
this.commentPeo = resp.data.commentPeo;
this.zbxx = resp.data.zbxx
this.activeNames = this.zbxx.nrs[0].id
this.descPopup = true
}
}
},
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>
<!--#
}
#-->
@@ -10,16 +10,17 @@ layout("/mobile/platform.html"){
left-arrow
placeholder
fixed
@click-left="history.back()"
@click-left="history.go(-1)"
></van-nav-bar>
<div class="search-fixed">
<van-dropdown-menu active-color="#1989fa">
<van-dropdown-item v-model="pageForm.year" :options="yearOption" @change="yearChange"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.year" :options="yearOption"
@change="yearChange"></van-dropdown-item>
</van-dropdown-menu>
</div>
<div style="margin: 60px auto 0 auto">
<div style="margin: 60px auto">
<van-list
v-model="mLoading"
:finished="finished"
@@ -28,7 +29,8 @@ layout("/mobile/platform.html"){
<div v-for="o in tableData" class="list-card" @click="openView(o)">
<van-cell-group inset>
<van-cell title="主题" :border="false">{{o.hdname}}</van-cell>
<van-cell :border="false" title="创建人">{{o.cjr}}</van-cell>
<van-cell :border="false" title="创建人">{{o.username}}</van-cell>
<van-cell :border="false" title="开启状态">{{o.hdflag?'已开启':'未开启'}}</van-cell>
<van-cell :border="false" title="创建时间">{{o.hdcjsj}}</van-cell>
<van-cell :border="false" title="开始时间">{{o.hdkssj}}</van-cell>
<van-cell :border="false" title="结束时间">{{o.hdjssj}}</van-cell>
@@ -43,6 +45,14 @@ layout("/mobile/platform.html"){
></van-empty>
</div>
<div>
<van-tabbar v-model="tarBarActive">
<van-tabbar-item icon="home-o" replace url="/mobile/wmhd/apply">教工作品征集</van-tabbar-item>
<van-tabbar-item icon="manager-o" replace url="/mobile/wmhd/list">我的教工作品</van-tabbar-item>
<!-- <van-tabbar-item icon="manager-o" replace url="/mobile/wmhd/statistics">点赞教工作品</van-tabbar-item>-->
</van-tabbar>
</div>
</div>
<script>
@@ -51,6 +61,7 @@ layout("/mobile/platform.html"){
mixins: [mobileMixins],
data() {
return {
tarBarActive: 0,
yearOption: [],
pageForm: {
year: '',
@@ -67,7 +78,7 @@ layout("/mobile/platform.html"){
},
async onLoad() {
this.mLoading = true
$.post('/platform/hd/wmhdMange/data', this.pageForm).then(res => {
$.post('/mobile/wmhd/apply/pageData', this.pageForm).then(res => {
if (res.code === 0) {
this.tableData = this.tableData.concat(res.data.list)
if (this.tableData.length === res.data.totalCount) {
@@ -80,11 +91,15 @@ layout("/mobile/platform.html"){
})
},
openView(o) {
const {hdid, hdjssj, hdkssj} = o
if (moment().format("YYYY-MM-DD HH:mm:ss") <= hdkssj) {
const {hdid, hdjssj, hdkssj, hdflag} = o
if (!hdflag) {
vant.Toast('活动暂未开启!')
return;
}
if (moment().format("YYYY-MM-DD HH:mm:ss") < hdkssj) {
vant.Toast('报名暂未开始!')
return
} else if (moment().format("YYYY-MM-DD HH:mm:ss") >= hdjssj) {
} else if (moment().format("YYYY-MM-DD HH:mm:ss") > hdjssj) {
vant.Toast('报名已结束!')
return
}
@@ -103,4 +118,4 @@ layout("/mobile/platform.html"){
<!--#
}
#-->
#-->
@@ -0,0 +1,165 @@
<!--#
layout("/mobile/platform.html"){
#-->
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<van-nav-bar
title="我的审核"
left-arrow
placeholder
fixed
@click-left="history.go(-1)"
></van-nav-bar>
<div class="search-fixed">
<van-dropdown-menu active-color="RGB(8,23,118)">
<van-dropdown-item v-model="pageForm.year" @change="yearChange"
:options="yearList"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.isAudit" @change="yearChange"
:options="auditList"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.unionId" @change="yearChange"
v-if="${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('H03')||@shiro.hasRole('H10')}"
:options="mCommon.unionList"></van-dropdown-item>
<van-dropdown-item v-model="pageForm.unitId" @change="yearChange"
:options="mCommon.unitList"></van-dropdown-item>
</van-dropdown-menu>
</div>
<div style="margin: 70px auto 0">
<van-list
v-model="mLoading"
:finished="finished"
:finished-text="tableData.length>0?'没有更多了':''"
@load="onLoad">
<div v-for="o in tableData" class="list-card" @click="openView(o)">
<van-cell-group inset>
<van-cell :border="false" title="姓名">{{o.username}}</van-cell>
<van-cell :border="false" title="工号">{{o.loginname}}</van-cell>
<van-cell :border="false" title="单位">{{o.dwname}}</van-cell>
<van-cell :border="false" title="工会">{{o.ghname}}</van-cell>
<van-cell :border="false" title="活动类别">{{o.hdlbname}}</van-cell>
<van-cell :border="false" title="作品类别" v-if="o.zplbname">{{o.zplbname}}
</van-cell>
<van-cell :border="false" title="上传时间">{{o.hdsbsj}}</van-cell>
<van-cell :border="false" title="审核状态">
<span :style="'color:'+o.stateColor">{{o.stateName}}</span>
</van-cell>
</van-cell-group>
</div>
</van-list>
<van-empty
v-if="mLoading==false&&tableData.length==0"
class="custom-image"
image="/none.svg"
description="暂无数据"
></van-empty>
</div>
<van-popup v-model="viewShow" position="right"
:style="{ height: '100%',width:'100%' }">
<van-nav-bar title="详细信息" left-arrow placeholder fixed
@click-left="viewShow=false"></van-nav-bar>
<mobile-wmhd-info ref="minfo"></mobile-wmhd-info>
</van-popup>
</div>
<script>
let vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
viewShow: false,
pageForm: {
year: new Date().getFullYear(),
isAudit: false,
},
unitList: [],
unionList: [],
yearList: [],
auditList: [
{text: '未审核', value: false},
{text: '已审核', value: true},
],
}
},
components: {
'mobile-wmhd-info': httpVueLoader('/components/mobile/wmhd/info.vue?v=' + new Date().getTime()),
},
methods: {
yearChange() {
this.pageForm.pageNumber = 1
this.tableData = []
this.finished = false
this.flushUnits()
this.onLoad()
},
async onLoad() {
this.mLoading = true
$.post('/mobile/wmhd/audit/pageData', this.pageForm).then(res => {
if (res.code === 0) {
this.tableData = this.tableData.concat(res.data.list)
if (this.tableData.length === res.data.totalCount) {
this.finished = true
} else {
this.pageForm.pageNumber++
}
}
this.mLoading = false
})
},
openView(o) {
if (o.auditState === '4000' || o.auditState === '4200') {
window.location.href = "/mobile/wmhd/audit/auditHtml?id=" + o.id + "&auditState=" + o.auditState
} else {
this.viewShow = true
setTimeout(() => {
this.$refs.minfo.getInfo(o.id)
}, 100)
}
},
async flushUnits() {
if ("${@shiro.hasRole('sysadmin')||@shiro.hasRole('A06')||@shiro.hasRole('wyh03')||@shiro.hasRole('wyh02')||@shiro.hasRole('H03')}" === 'true') {
await mCommon.getUnitList(this.pageForm.unionId)
} else {
await mCommon.getUnitList("${@shiro.getPrincipalProperty('unit').getUnionid()}")
}
}, async init() {
let nowYear = new Date().getFullYear()
for (let i = nowYear; i >= nowYear - 9; i--) {
this.yearList.push({text: i, value: i})
}
await mCommon.getUnionList()
if (mCommon.unionList && mCommon.unionList.length > 0) {
this.$set(this.pageForm, "unionId", mCommon.unionList[0].value)
}
if (mCommon.unitList && mCommon.unitList.length > 0) {
this.$set(this.pageForm, "unitId", mCommon.unitList[0].value)
}
}
},
async created() {
this.flushUnits()
this.init()
}
})
window.addEventListener('pageshow', e => {
if (e.persisted || (window.performance && window.performance.navigation.type === 2)) {
vue.flushUnits()
vue.init()
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,124 @@
<!--#
layout("/mobile/platform.html"){
#-->
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css">
<script src="${base!}/assets/platform/plugins/video/js/video.min.js"></script>
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<van-nav-bar title="校工会审核" left-arrow placeholder fixed
@click-left="history.go(-1)"></van-nav-bar>
<mobile-wmhd-info ref="minfo" :id.sync="id" title="校工会审核" :handle="handle">
<template #handle>
<div class="van-cell-group__title">
<div class="van-sidebar-item van-sidebar-item--select">校工会审核
</div>
</div>
<van-form>
<van-field
readonly
value="${@shiro.getPrincipalProperty('username')}"
name="username"
label="审核人员"
></van-field>
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
<van-field v-model="formData.auditOpinion"
required
rows="1"
autosize
label="审核意见"
type="textarea"
placeholder="请输入审核意见"
></van-field>
<van-field label="签字" required style="flex-flow: column">
<template #label>
<div class="mb10">签&emsp;&emsp;字</div>
</template>
<template #input>
<mobile-sign ref="signature"
:my_sign.sync="formData.auditSign"></mobile-sign>
</template>
</van-field>
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
<van-col span="8">
<van-button block @click="doAudit(1)">拒 绝
</van-button>
</van-col>
<van-col span="8">
<van-button block @click="doAudit(2)" type="warning">返回修改
</van-button>
</van-col>
<van-col span="8">
<van-button block @click="doAudit(3)" type="info">通 过
</van-button>
</van-col>
</van-row>
</van-form>
</template>
</mobile-wmhd-info>
</div>
<script>
const vue = new Vue({
el: '#app',
data() {
return {
formData: {},
id: GetQueryString('id'),
handle: true,
}
},
components: {
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
'mobile-wmhd-info': httpVueLoader('/components/mobile/wmhd/info.vue?v=' + new Date().getTime()),
},
methods: {
async doAudit(pass) {
if (!this.formData.auditOpinion) {
this.$toast.fail('请填写审核意见');
return
}
this.$refs.signature.submitSign()
await this.$refs.signature.updateSign()
this.formData.pass = pass
const resp = await $.post("/platform/hd/wmhd/school/audit/doReview", this.formData)
if (resp.code === 0) {
this.$toast.success('审核成功');
setTimeout(() => {
window.history.go(-1)
}, 1000)
} else {
this.$toast.fail('审核失败');
}
},
},
async created() {
this.mLoading = true
const id = GetQueryString("id")
setTimeout(() => {
this.$refs.minfo.getInfo(id)
}, 500)
this.formData = {
id: id,
username: "${@shiro.getPrincipalProperty('username')}",
auditTime: moment().format('YYYY-MM-DD'),
auditOpinion: "通过",
auditSign: ""
}
this.mLoading = false
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,321 @@
<!--#
layout("/mobile/platform.html"){
#-->
<style>
.register-icon {
position: absolute;
bottom: 8px;
right: 16px;
z-index: 1;
}
</style>
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<van-nav-bar
@click-left="history.go(-1)"
fixed
left-arrow
placeholder
title="作品列表"
></van-nav-bar>
<div class="search-fixed">
<van-dropdown-menu active-color="#1989fa">
<van-dropdown-item :options="yearOption" @change="yearChange"
v-model="pageForm.year"></van-dropdown-item>
<van-dropdown-item :options="hdxxlist" @change="hdlbchange();"
v-model="pageForm.hdid"></van-dropdown-item>
<van-dropdown-item :options="hdlblist" @change="onRefresh()"
v-model="pageForm.hdlb"></van-dropdown-item>
</van-dropdown-menu>
</div>
<div style="margin: 60px auto">
<van-list
:finished="finished"
:finished-text="tableData.length>0?'没有更多了':''"
@load="onLoad"
v-model="mLoading">
<div class="list-card" v-for="o in tableData">
<van-cell-group inset>
<van-cell :border="false" title="姓名">{{o.sbrname}}</van-cell>
<van-cell :border="false" title="工号">{{o.loginname}}</van-cell>
<van-cell :border="false" title="单位">{{o.dwname}}</van-cell>
<van-cell :border="false" title="工会">{{o.ghname}}</van-cell>
<van-cell :border="false" title="活动类别">{{o.hdlbname}}</van-cell>
<van-cell :border="false" title="作品类别" v-if="o.zplbname">{{o.zplbname}}
</van-cell>
<van-cell :border="false" title="上传时间">{{o.hdsbsj}}</van-cell>
<van-cell :border="false" title="总点赞数">{{o.dz_znum}}次</van-cell>
<van-field readonly :value="o.hdsbzpms" label="创作说明"
input-align="left"
style="flex-flow: column"
rows="2" type="textarea" show-word-limit autosize></van-field>
<van-field label="作品" style="flex-flow: column" input-align="left">
<template #input>
<vant-file-upload :files.sync="o.files" view :del="false"
v-if="o.files&&o.files.length>0"></vant-file-upload>
<div v-if="o.files.length===0"
style="text-align: center;color: #c2bbbb;font-size: 10px;">
没有照片。
</div>
</template>
</van-field>
<!-- <van-cell :border="false" title="审核状态">
<span :style="'color:'+o.statecolor">{{o.statename}}</span>
</van-cell>-->
<van-cell>
<div style="display: flex;justify-content: flex-end;">
<van-button :color="themeColor" round disabled
style="width: 90px;height: 30px;" v-if="o.dz_num>0">
已点赞
</van-button>
<div style="display: flex;justify-content: center;"
v-if="o.dzjssj&&moment().valueOf()>moment(o.dzkssj).valueOf()&&moment().valueOf()<moment(o.dzjssj).valueOf()">
<van-button :color="themeColor" round @click.stop="doDz(o.id)"
style="width: 90px;height: 30px;" v-if="o.dz_num<=0">
点赞
</van-button>
</div>
<van-button :color="themeColor" @click.stop="openView(o)" round
style="width: 90px;height: 30px;margin-left: 5px">
查看
</van-button>
</div>
</van-cell>
</van-cell-group>
</div>
</van-list>
<van-empty
class="custom-image"
description="暂无数据"
image="/none.svg"
v-if="mLoading==false&&tableData.length==0"
></van-empty>
</div>
<van-popup :style="{ height: '100%',width:'100%' }" position="right"
v-model="viewShow">
<van-nav-bar @click-left="viewShow=false" fixed left-arrow placeholder
title="详细信息"></van-nav-bar>
<mobile-wmhd-info handle ref="minfo">
<template #handle>
<div style="display: flex;justify-content: center;"
v-if="zpData.dzjssj&&moment().valueOf()>moment(zpData.dzkssj).valueOf()&&moment().valueOf()<moment(zpData.dzjssj).valueOf()">
<van-button :color="themeColor" @click.stop="doDz" round
style="width: 80%" v-if="zpData.zpDzNum<1">
点赞
</van-button>
<van-button :color="themeColor" disabled round
style="width: 80%" v-else>
已点赞
</van-button>
</div>
</template>
</mobile-wmhd-info>
</van-popup>
<div>
<van-tabbar v-model="tarBarActive">
<van-tabbar-item icon="home-o" replace url="/mobile/wmhd/apply">教工作品征集</van-tabbar-item>
<van-tabbar-item icon="manager-o" replace url="/mobile/wmhd/list">我的教工作品
</van-tabbar-item>
<van-tabbar-item icon="manager-o" replace url="/mobile/wmhd/statistics">点赞教工作品
</van-tabbar-item>
</van-tabbar>
</div>
</div>
<script>
let vue = new Vue({
el: '#app',
mixins: [mobileMixins],
data() {
return {
viewShow: false,
tarBarActive: 2,
yearOption: [],
pageForm: {
pageNumber: 1,
pageSize: 5,
year: '',
hdtype: 1,
},
yearActivityList: [],
hdxxlist: [],
hdlblist: [],
zpData: {}
}
},
components: {
'mobile-wmhd-info': httpVueLoader('/components/mobile/wmhd/info.vue?v=' + new Date().getTime()),
},
methods: {
async doDz(id) {
const toast1 = vant.Toast.loading({
duration: 0,
forbidClick: true,
overlay: true,
message: '加载中...',
})
if ("${@shiro.getPrincipalProperty('loginname')}" === this.zpData.loginname) {
vant.Dialog.alert({
title: '温馨提示',
message: '自己暂时不能给自己点赞哦!',
}).then(() => {
// on close
});
return
}
const hd = this.hdxxlist.find(h => h.value === this.pageForm.hdid)
const dzNum = await this.findDzNum(hd.value)
toast1.clear()
if (dzNum >= hd.dzNum) {
vant.Dialog.alert({
title: '温馨提示',
message: '您当前活动,今日点赞次数已满' + hd.dzNum + '次,请明日在进行点赞',
}).then(() => {
// on close
});
return
}
vant.Dialog.confirm({
title: '温馨提示',
message: '点赞后不能取消,您确定要给当前作品点赞吗?',
}).then(async () => {
const toast = vant.Toast.loading({
duration: 0,
forbidClick: true,
overlay: true,
message: '努力提交中',
})
const resp = await $.post('/mobile/wmhd/statistics/doDz', {
id: this.zpData.id ? this.zpData.id : id,
hdid: hd.value
})
if (resp.code === 0) {
await this.findDzByZpId(this.zpData.id)
this.tableData.map(t => {
if (t.id === (this.zpData.id ? this.zpData.id : id)) {
t.dz_num = 1
t.dz_znum = t.dz_znum + 1
}
})
setTimeout(async () => {
toast.clear()
vant.Toast.success('点赞成功');
}, 700)
} else {
vant.Toast.fail(resp.msg);
}
})
},
async findDzNum(hdid) {
const resp = await $.post('/mobile/wmhd/statistics/findDzNum', {hdid})
return resp.data
},
async findDzByZpId(id) {
const resp = await $.post('/mobile/wmhd/statistics/findDzByZpId', {id})
this.$set(this.zpData, "zpDzNum", resp.data)
},
async onRefresh() {
this.tableData = []
this.refreshing = true;
this.finished = false;
this.pageForm.pageNumber = 1
this.loading = true;
await this.onLoad();
},
async yearChange() {
const activityList = this.yearActivityList.find(y => y.value === this.pageForm.year)
if (activityList && activityList.children.length > 0) {
activityList.children.map(h => {
h.text = h.label
})
this.hdxxlist = activityList.children
this.$set(this.pageForm, "hdid", this.hdxxlist[0].value)
} else {
this.hdxxlist = []
this.$set(this.pageForm, "hdid", null)
}
await this.onRefresh()
},
async onLoad() {
this.mLoading = true
$.post('/mobile/wmhd/statistics/pageData', this.pageForm).then(res => {
if (res.code === 0) {
this.tableData = this.tableData.concat(res.data.list)
if (this.tableData.length === res.data.totalCount) {
this.finished = true
} else {
this.pageForm.pageNumber++
}
}
this.mLoading = false
})
},
async openView(o) {
this.zpData = o
await this.findDzByZpId(o.id)
this.viewShow = true
setTimeout(() => {
this.$refs.minfo.getInfo(o.id)
}, 300)
},
async initHdxxlist() {
const data = await $.post('/mobile/wmhd/statistics/initHdxxlist')
if (data.code == 0) {
this.yearActivityList = data.data
}
},
async hdlbchange() {
this.$set(this.pageForm, 'zplb', '');
const data = await $.post('/platform/hd/childhd/zpxx/gethdlblist', {id: this.pageForm.hdid})
if (data.code === 0) {
data.data.map(h => {
h.text = h.lname
h.value = h.lid
})
this.hdlblist = data.data;
}
},
},
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, "year", this.yearOption[0].value)
setTimeout(async () => {
await this.initHdxxlist()
this.yearChange()
this.hdlbchange()
}, 300)
}
})
</script>
<!--#
}
#-->
@@ -0,0 +1,125 @@
<!--#
layout("/mobile/platform.html"){
#-->
<link rel="stylesheet" href="${base!}/assets/platform/plugins/video/css/video-js.min.css">
<script src="${base!}/assets/platform/plugins/video/js/video.min.js"></script>
<div id="app" v-cloak>
<m-page-loading v-if="mLoading"></m-page-loading>
<van-nav-bar title="分工会审核" left-arrow placeholder fixed
@click-left="history.go(-1)"></van-nav-bar>
<mobile-wmhd-info ref="minfo" :id.sync="id" title="分工会审核" :handle="handle">
<template #handle>
<div class="van-cell-group__title">
<div class="van-sidebar-item van-sidebar-item--select">
分工会审核
</div>
</div>
<van-form>
<van-field
readonly
value="${@shiro.getPrincipalProperty('username')}"
name="username"
label="审核人员"
></van-field>
<van-field v-model="formData.auditTime" label="审核时间" readonly></van-field>
<van-field v-model="formData.auditOpinion"
required
rows="1"
autosize
label="审核意见"
type="textarea"
placeholder="请输入审核意见"
></van-field>
<van-field label="签字" required style="flex-flow: column">
<template #label>
<div class="mb10">签&emsp;&emsp;字</div>
</template>
<template #input>
<mobile-sign ref="signature"
:my_sign.sync="formData.auditSign"></mobile-sign>
</template>
</van-field>
<van-row gutter="20" style="margin-top: 30px;padding: 0 25px">
<van-col span="8">
<van-button block @click="doAudit(1)">拒 绝
</van-button>
</van-col>
<van-col span="8">
<van-button block @click="doAudit(2)" type="warning">返回修改
</van-button>
</van-col>
<van-col span="8">
<van-button block @click="doAudit(3)" type="info">通 过
</van-button>
</van-col>
</van-row>
</van-form>
</template>
</mobile-wmhd-info>
</div>
<script>
const vue = new Vue({
el: '#app',
data() {
return {
formData: {},
id: GetQueryString('id'),
handle: true,
}
},
components: {
'mobile-sign': httpVueLoader('/components/sign/mobileSign.vue'),
'mobile-wmhd-info': httpVueLoader('/components/mobile/wmhd/info.vue?v=' + new Date().getTime()),
},
methods: {
async doAudit(pass) {
if (!this.formData.auditOpinion) {
this.$toast.fail('请填写审核意见');
return
}
this.$refs.signature.submitSign()
await this.$refs.signature.updateSign()
this.formData.pass = pass
const resp = await $.post("/platform/hd/wmhd/union/audit/doReview", this.formData)
if (resp.code === 0) {
this.$toast.success('审核成功');
setTimeout(() => {
window.history.go(-1)
}, 1000)
} else {
this.$toast.fail('审核失败');
}
},
},
async created() {
this.mLoading = true
const id = GetQueryString("id")
setTimeout(() => {
this.$refs.minfo.getInfo(id)
}, 500)
this.formData = {
id: id,
username: "${@shiro.getPrincipalProperty('username')}",
auditTime: moment().format('YYYY-MM-DD'),
auditOpinion: "通过",
auditSign: ""
}
this.mLoading = false
}
})
</script>
<!--#
}
#-->
@@ -15,44 +15,53 @@ layout("/mobile/platform.html"){
<m-page-loading v-if="mLoading"></m-page-loading>
<van-nav-bar
title="作品列表"
@click-left="history.go(-1)"
fixed
left-arrow
placeholder
fixed
@click-left="history.back()"
title="作品列表"
></van-nav-bar>
<div class="search-fixed">
<van-dropdown-menu active-color="#1989fa">
<van-dropdown-item v-model="pageForm.year" :options="yearOption" @change="yearChange"></van-dropdown-item>
<van-dropdown-item :options="yearOption" @change="yearChange"
v-model="pageForm.year"></van-dropdown-item>
</van-dropdown-menu>
</div>
<div style="margin: 60px auto 0 auto">
<div style="margin: 60px auto">
<van-notice-bar mode="closeable">左滑可删除作品。</van-notice-bar>
<van-list
v-model="mLoading"
:finished="finished"
:finished-text="tableData.length>0?'没有更多了':''"
@load="onLoad">
@load="onLoad"
v-model="mLoading">
<div v-for="o in tableData" class="list-card" @click.stop="openView(o)">
<van-swipe-cell>
<div @click.stop="openView(o)" class="list-card" v-for="o in tableData">
<van-swipe-cell :disabled="o.auditstate!=='3999'">
<van-cell-group inset>
<image class="register-icon" src="/assets/mobile/svg/wmhd/bianji.svg"
@click.stop="openEdit(o.id,o.hdid)"></image>
<van-cell :border="false" title="姓名">{{o.username}}</van-cell>
<image @click.stop="openEdit(o.id,o.hdid)" class="register-icon"
src="/assets/mobile/svg/wmhd/bianji.svg"
v-if="o.auditstate==='3999'||o.auditstate==='4100'||o.auditstate==='4250'"></image>
<van-cell :border="false" title="姓名">{{o.sbrname}}</van-cell>
<van-cell :border="false" title="工号">{{o.loginname}}</van-cell>
<van-cell :border="false" title="单位">{{o.dwname}}</van-cell>
<van-cell :border="false" title="工会">{{o.ghname}}</van-cell>
<van-cell :border="false" title="活动类别">{{o.hdlbname}}</van-cell>
<van-cell :border="false" title="作品类别" v-if="o.zplbname">{{o.zplbname}}</van-cell>
<van-cell :border="false" title="作品类别" v-if="o.zplbname">{{o.zplbname}}
</van-cell>
<!-- <van-cell :border="false" title="主题">{{o.hdsbzpzt}}</van-cell>-->
<van-cell :border="false" title="上传时间">{{o.hdsbsj}}</van-cell>
<!-- <van-cell :border="false" title="审核状态">
<span :style="'color:'+o.statecolor">{{o.statename}}</span>
</van-cell>--><!--
<van-cell :border="false" title="总点赞数">
{{o.dz_znum}}次
</van-cell>-->
</van-cell-group>
<template #right>
<van-button square text="删除" type="danger" @click="doDelete(o.id)"
style="height: 100%;"></van-button>
<van-button @click="doDelete(o.id)" square style="height: 100%;" text="删除"
type="danger"></van-button>
</template>
</van-swipe-cell>
</div>
@@ -60,11 +69,30 @@ layout("/mobile/platform.html"){
</van-list>
<van-empty
v-if="mLoading==false&&tableData.length==0"
class="custom-image"
image="/none.svg"
description="暂无数据"
image="/none.svg"
v-if="mLoading==false&&tableData.length==0"
></van-empty>
</div>
<van-popup :style="{ height: '100%',width:'100%' }" position="right"
v-model="viewShow">
<van-nav-bar @click-left="viewShow=false" fixed left-arrow placeholder
title="详细信息"></van-nav-bar>
<mobile-wmhd-info ref="minfo"></mobile-wmhd-info>
</van-popup>
<div>
<van-tabbar v-model="tarBarActive">
<van-tabbar-item icon="home-o" replace url="/mobile/wmhd/apply">教工作品征集</van-tabbar-item>
<van-tabbar-item icon="manager-o" replace url="/mobile/wmhd/list">我的教工作品
</van-tabbar-item><!--
<van-tabbar-item icon="manager-o" replace url="/mobile/wmhd/statistics">点赞教工作品
</van-tabbar-item>-->
</van-tabbar>
</div>
</div>
@@ -75,6 +103,8 @@ layout("/mobile/platform.html"){
mixins: [mobileMixins],
data() {
return {
viewShow: false,
tarBarActive: 1,
yearOption: [],
pageForm: {
year: '',
@@ -82,7 +112,9 @@ layout("/mobile/platform.html"){
}
}
},
components: {
'mobile-wmhd-info': httpVueLoader('/components/mobile/wmhd/info.vue?v=' + new Date().getTime()),
},
methods: {
openEdit(id, hdid) {
window.location.href = '/platform/staffActivities?client=mobile&id=' + hdid + '&zpid=' + id
@@ -108,7 +140,7 @@ layout("/mobile/platform.html"){
},
async onLoad() {
this.mLoading = true
$.post('/platform/hd/wmhd/pageData', this.pageForm).then(res => {
$.post('/platform/hd/jzghd/sczp/pageData', this.pageForm).then(res => {
if (res.code === 0) {
this.tableData = this.tableData.concat(res.data.list)
if (this.tableData.length === res.data.totalCount) {
@@ -121,7 +153,10 @@ layout("/mobile/platform.html"){
})
},
openView(o) {
window.location.href = '/mobile/wmhd/list/view?id=' + o.id
this.viewShow = true
setTimeout(() => {
this.$refs.minfo.getInfo(o.id)
}, 100)
}
},
async created() {
@@ -136,4 +171,4 @@ layout("/mobile/platform.html"){
<!--#
}
#-->
#-->