[update]-会议-报名状态的修改;列表页显示字段的修改

This commit is contained in:
fengchenchen
2021-12-16 21:13:40 +08:00
parent 73aa835880
commit 4eba1f09ac
4 changed files with 142 additions and 70 deletions
+12 -3
View File
@@ -36,8 +36,8 @@
</template>
<template slot="action" class="action-span-cell" slot-scope="text, record">
<!-- 可报名 或者不存在会议报名状态有报名按钮 -->
<a v-if="record.signUpStatus === SignUpStatusEnum.canReport.index || !record.signUpStatus" class="action-btn" @click="signUpRecord(record)">报名</a>
<!-- 可报名 或者不存在会议报名状态 会议未结束 有报名按钮 -->
<a v-if="record.meetingStatus !== MeetingStatusEnums.ended.index && (record.signUpStatus === SignUpStatusEnum.canReport.index || !record.signUpStatus)" class="action-btn" @click="signUpRecord(record)">报名</a>
<!-- 凭证待审核 状态有查看凭证按钮 -->
<a v-if="record.signUpStatus === SignUpStatusEnum.pendingReviewVoucher.index" class="action-btn" @click="uploadPaymentRecord(record)">查看凭证</a>
<!-- 待上传凭证 | 凭证被拒绝 状态有上传凭证按钮 -->
@@ -59,7 +59,7 @@
import { getAction } from '../../api/manage'
import MeetingDetailModal from '@views/MessagePage/MeetingDetailModal'
import UploadMeetingCertificateModal from '@views/MessagePage/UploadMeetingCertificateModal'
import { SignUpStatusEnum } from '../../enums/commonEnum'
import { SignUpStatusEnum, MeetingStatusEnums } from '../../enums/commonEnum'
// 表格的列配置
const columns = [
@@ -161,6 +161,7 @@ export default {
return {
columns,
SignUpStatusEnum,
MeetingStatusEnums,
dataSource: [],
loading: false,
/* 分页参数 */
@@ -234,6 +235,14 @@ export default {
this.ipagination = pagination
this.loadData()
},
/*
* 上传凭证
* */
uploadPaymentRecord(item) {
if (item) {
this.$refs.upload.open(item)
}
},
// 去报名
signUpRecord(item) {
let url = `${window._CONFIG['singUpQRCodeURL']}?id=${item.id}`
+8 -1
View File
@@ -8,7 +8,7 @@ export const YesOrNoEnum = new EsEnums({
NO: { name: '否', index: 0 },
YES: { name: '是', index: 1 }
})
// 会议签到状态
export const SignUpStatusEnum = {
pendingReviewReportInfo: { name: '报名信息待审核', index: 1 },
pendingReviewVoucher: { name: '凭证待审核', index: 2 },
@@ -19,3 +19,10 @@ export const SignUpStatusEnum = {
finishSignIn: { name: '已签到', index: 7 },
canReport: { name: '可报名', index: 8 }
}
// 会议状态
export const MeetingStatusEnums = {
noStart: { name: '未开始', index: 2 },
onGoing: { name: '进行中', index: 3 },
ended: { name: '已结束', index: 4 },
}
+108 -59
View File
@@ -1,7 +1,7 @@
<template>
<div class="meeting main-box">
<div class="title">
<a-icon type="user"/>
<a-icon type="user" />
<span class="my-meeting">我的会议</span>
</div>
<div class="content">
@@ -22,14 +22,16 @@
</a-col>
<a-col :xl="7" :lg="8" :md="8" :sm="24">
<a-form-item label="会议类型">
<!-- <j-dict-select-tag dict-code="meeting_type" placeholder="请选择会议类型"-->
<!-- v-model="queryParam.meetingType"></j-dict-select-tag>-->
<!-- <j-dict-select-tag dict-code="meeting_type" placeholder="请选择会议类型"-->
<!-- v-model="queryParam.meetingType"></j-dict-select-tag>-->
<a-select
v-model="selectedMeetingType"
placeholder="请选择会议类型"
@change="changeMeetingType"
>
<a-select-option v-for="(item,index) of meetingTypeList" :key="index" :value="item.value">{{item.name}}</a-select-option>
<a-select-option v-for="(item,index) of meetingTypeList" :key="index" :value="item.value">
{{ item.name }}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
@@ -78,50 +80,77 @@
<!--列表区域begin-->
<a-spin :spinning="loading">
<div class="list" v-if="tableData.length > 0">
<div class="item-meeting" v-for="(item,index) of tableData" :key="index">
<div class="item-meeting" v-for="(item,index) of tableData" :key="index" @click.stop="openMeetingDetail(item)">
<p class="item-meeting-meetingName">
<j-ellipsis class="primary-color" @click="openMeetingDetail(item)" :value="item.meetingName"
<j-ellipsis class="primary-color" :value="item.meetingName"
:length="20"></j-ellipsis>
</p>
<!--这里需要修改 会议费用分人显示不同的会议费用 2021-09-29 跟需求沟通说是不显示-->
<!-- <p class="item-meeting-meetingCost"><span></span>{{ item.meetingCosts }}</p>-->
<p class="item-meeting-img item-meeting-meetingDirector">
<img src="../../assets/meetingImgs/meeting-user.png"/>
<img src="../../assets/meetingImgs/meeting-user.png" />
负责人{{ item.directorName }}
</p>
<p class="item-meeting-img item-meeting-meetingAddress">
<img src="../../assets/meetingImgs/meeting-address.png"/>
<img src="../../assets/meetingImgs/meeting-address.png" />
召开地点
<j-ellipsis :value="item.venue + '/' + item.address " :length="20"></j-ellipsis>
</p>
<p class="item-meeting-img item-meeting-meetingTime">
<img src="../../assets/meetingImgs/meeting-time.png"/>
<img src="../../assets/meetingImgs/meeting-time.png" />
召开时间{{ item.startTime }}~{{ item.endTime }}
<!-- <j-ellipsis :value="item.startTime + '~' + item.endTime" :length="30"></j-ellipsis>-->
</p>
<!-- 报名状态 缴费方式为打包 不显示 -->
<p class="item-meeting-img item-meeting-meetingTime" v-show="item.signUpStatus !== null && item.payMode !== 3 ">
<!-- 报名状态 缴费方式为打包 不显示 item.signUpStatus !== null-->
<p class="item-meeting-img item-meeting-meetingTime item-sign-up-status"
v-show="item.payMode !== 3 ">
<img src="../../assets/meetingImgs/meeting-audit.png"
class="audit-img"/>报名状态{{ item.signUpStatus_dictText }}
</p>
<!-- 有缴费方式在显示 -->
<p class="item-meeting-img item-meeting-meetingPaymode" v-if="item.payMode_dictText !== null">
<img src="../../assets/meetingImgs/meeting_paymode.png"/>
缴费方式{{ item.payMode_dictText }}
<!-- 缴费方式为线上缴费或者汇款的 审核通过才显示 只有在会议召开时间期间才显示上传凭证按钮 "-->
<!-- 报名状态为 凭证审核中 显示查看凭证 -->
<!-- 报名成功不显示-->
<a-button
v-show="(item.payMode === 2 || item.payMode === 1) && (item.meetingStatus == 2 || item.meetingStatus === 3) && item.registerCheckResult === 1 && item.meetingStatus === 3 && item.signUpStatus !== 6 "
type="primary" @click="uploadPaymentRecord(item)">
{{ item.signUpStatus === 2 ? '查看凭证' : '上传凭证' }}
</a-button>
class="audit-img" />报名状态{{ item.signUpStatus_dictText || '无' }}
<!-- A 缴费方式 汇款 或者现场缴费 B 会议状态为 未开始 进行中 C 报名审核信息通过 D 会议的状态 不是待签到 -->
<template
v-if="(item.payMode === 2 || item.payMode === 1)
&& (item.meetingStatus == MeetingStatusEnums.noStart.index || item.meetingStatus === MeetingStatusEnums.onGoing.index)
&& item.registerCheckResult === 1
&& item.signUpStatus !== SignUpStatusEnum.pendingSignIn.index"
>
<!-- 可报名 状态有报名按钮 -->
<a-button v-if="Number(item.signUpStatus) === SignUpStatusEnum.canReport.index" class="cell-btn"
type="primary"
@click.stop="signUpRecord(item)">报名
</a-button>
<!-- 凭证待审核 状态有查看凭证按钮 -->
<a-button v-if="item.signUpStatus === SignUpStatusEnum.pendingReviewVoucher.index" class="cell-btn"
type="primary"
@click.stop="uploadPaymentRecord(item)">查看凭证
</a-button>
<!-- 待上传凭证 | 凭证被拒绝 状态有上传凭证按钮 -->
<a-button
v-if="item.signUpStatus === SignUpStatusEnum.pendingUploadVoucher.index || item.signUpStatus === SignUpStatusEnum.rejectedVoucher.index"
class="cell-btn" type="primary"
@click.stop="uploadPaymentRecord(item)">上传凭证
</a-button>
</template>
</p>
<!-- 有缴费方式在显示 -->
<!-- 20211210 需求去掉 有缴费方式在显示 -->
<!--
<p class="item-meeting-img item-meeting-meetingPaymode" v-if="item.payMode_dictText !== null">
<img src="../../assets/meetingImgs/meeting_paymode.png"/>
缴费方式:{{ item.payMode_dictText }}
&lt;!&ndash; 缴费方式为线上缴费或者汇款的, 审核通过才显示 只有在会议召开时间期间才显示”上传凭证“按钮 "&ndash;&gt;
&lt;!&ndash; 报名状态为 凭证审核中 显示查看凭证 &ndash;&gt;
&lt;!&ndash; 报名成功不显示&ndash;&gt;
<a-button
v-show="(item.payMode === 2 || item.payMode === 1) && (item.meetingStatus == 2 || item.meetingStatus === 3) && item.registerCheckResult === 1 && item.meetingStatus === 3 && item.signUpStatus !== 6 "
type="primary" @click="uploadPaymentRecord(item)">
{{ item.signUpStatus === 2 ? '查看凭证' : '上传凭证' }}
</a-button>
</p>
-->
<img v-if="item.meetingStatus === 2 " class="meeting-img-status"
src="../../assets/meetingImgs/no-start.png"/>
<img v-if="item.meetingStatus === 3 " class="meeting-img-status" src="../../assets/meetingImgs/ing.png"/>
<img v-if="item.meetingStatus === 4 " class="meeting-img-status" src="../../assets/meetingImgs/end.png"/>
<img v-if="item.meetingStatus === MeetingStatusEnums.noStart.index " class="meeting-img-status" src="@/assets/meetingImgs/no-start.png" />
<img v-if="item.meetingStatus === MeetingStatusEnums.onGoing.index " class="meeting-img-status" src="@/assets/meetingImgs/ing.png" />
<img v-if="item.meetingStatus === MeetingStatusEnums.ended.index " class="meeting-img-status" src="@/assets/meetingImgs/end.png" />
</div>
<i></i>
<i></i>
@@ -130,7 +159,7 @@
<i></i>
</div>
<section v-else class="list-empty">
<a-list :data-source="[]"/>
<a-list :data-source="[]" />
</section>
</a-spin>
<!--列表区域end-->
@@ -158,12 +187,14 @@
</template>
<script>
import JDictSelectTag from '@comp/dict/JDictSelectTag'
import {RangeDateMixin} from '@/mixins/RangeDateMixin'
import { RangeDateMixin } from '@/mixins/RangeDateMixin'
import JDate from '@comp/tools/JDate'
import UploadMeetingCertificateModal from '@views/MessagePage/UploadMeetingCertificateModal'
import {getAction} from '@api/manage'
import { getAction } from '@api/manage'
import JEllipsis from '@comp/jero/JEllipsis'
import MeetingDetailModal from '@views/MessagePage/MeetingDetailModal'
import { SignUpStatusEnum, MeetingStatusEnums } from '@/enums/commonEnum'
export default {
name: 'MeetingActivity',
@@ -177,6 +208,8 @@ export default {
},
data() {
return {
SignUpStatusEnum,
MeetingStatusEnums,
// 会议分类 全部 0 可报名 1 已报名 2
meetingStatusArr: [
{
@@ -217,17 +250,17 @@ export default {
loading: false,
// 会议类型
meetingType: '',
selectedMeetingType:undefined,
meetingTypeList:[
{name:'工作组会议',value:'1'},
{name:'国际研讨会',value:'3'},
{name:'其他会议',value:'4'},
{name:'分标委会议',value:'5'},
{name:'理事会会议',value:'6'},
{name:'信息交流会',value:'7'},
{name:'培训会',value:'8'},
{name:'宣贯会',value:'9'}
],
selectedMeetingType: undefined,
meetingTypeList: [
{ name: '工作组会议', value: '1' },
{ name: '国际研讨会', value: '3' },
{ name: '其他会议', value: '4' },
{ name: '分标委会议', value: '5' },
{ name: '理事会会议', value: '6' },
{ name: '信息交流会', value: '7' },
{ name: '培训会', value: '8' },
{ name: '宣贯会', value: '9' }
]
}
},
computed: {
@@ -317,7 +350,7 @@ export default {
this.queryParam.meetingEndTime = this.queryParam.meetingEndTime ? this.queryParam.meetingEndTime + ' ' + '23:59:59' : undefined
this.queryParam.createTime_begin = this.queryParam.createTime_begin ? this.queryParam.createTime_begin + ' ' + '00:00:00' : undefined
this.queryParam.createTime_end = this.queryParam.createTime_end ? this.queryParam.createTime_end + ' ' + '23:59:59' : undefined
this.lastQueryParam = {...this.queryParam}
this.lastQueryParam = { ...this.queryParam }
this.initData(1)
},
/*
@@ -345,38 +378,42 @@ export default {
openMeetingDetail(item) {
// 可报名的点击应该是去报名
if (item.meetingSignUpType === 1) {
let url = `${window._CONFIG['singUpQRCodeURL']}?id=${item.id}`
window.open(url, '_blank')
} else {
// 打开会议详情
this.$refs.meetingDetail.open(item)
}
// if (item.meetingSignUpType === 1) {
// let url = `${window._CONFIG['singUpQRCodeURL']}?id=${item.id}`
// window.open(url, '_blank')
// } else {
// 打开会议详情
this.$refs.meetingDetail.open(item)
// }
},
// 去报名
signUpRecord(item) {
let url = `${window._CONFIG['singUpQRCodeURL']}?id=${item.id}`
window.open(url, '_blank')
},
/*
* 会议状态
* */
changeMeetingType(val){
if(val === '7'){
changeMeetingType(val) {
if (val === '7') {
// 信息交流会
this.queryParam.meetingType = '2'
this.queryParam.tbMeetingType = '3'
}else if(val === '8'){
} else if (val === '8') {
//培训会
this.queryParam.meetingType = '2'
this.queryParam.tbMeetingType = '2'
}else if(val === '9' ){
} else if (val === '9') {
// 宣贯会
this.queryParam.meetingType = '2'
this.queryParam.tbMeetingType = '1'
}else {
} else {
this.queryParam.meetingType = val
}
},
}
}
}
</script>
@@ -450,6 +487,7 @@ export default {
background: #ffffff;
border-radius: 4px;
box-shadow: -2px 0px 10px 10px rgba(51, 51, 51, 0.10);
cursor: pointer;
& > p {
margin: 0;
@@ -513,4 +551,15 @@ export default {
.list-empty {
margin: 20px auto !important;
}
</style>
// 面板中上传凭证按钮等相关功能
// 报名状态 的row
.item-sign-up-status {
position: relative;
.cell-btn {
position: absolute;
right: 0;
top: -4px;
}
}
</style>
@@ -105,17 +105,21 @@
<!-- A 缴费方式 汇款 或者现场缴费 B 会议状态为 未开始 进行中 C 报名审核信息通过 D 会议的状态 不是待签到 -->
<template
v-if="(item.payMode === 2 || item.payMode === 1) && (item.meetingStatus == 2 || item.meetingStatus === 3) && item.registerCheckResult === 1 && item.signUpStatus !== 6">
v-if="(item.payMode === 2 || item.payMode === 1)
&& (item.meetingStatus == MeetingStatusEnums.noStart.index || item.meetingStatus === MeetingStatusEnums.onGoing.index)
&& item.registerCheckResult === 1
&& item.signUpStatus !== SignUpStatusEnum.pendingSignIn.index"
>
<!-- 可报名 状态有报名按钮 -->
<a-button v-if="Number(item.signUpStatus) === 8" class="cell-btn" type="primary"
<a-button v-if="Number(item.signUpStatus) === SignUpStatusEnum.canReport.index" class="cell-btn" type="primary"
@click.stop="signUpRecord(item)">报名
</a-button>
<!-- 凭证待审核 状态有查看凭证按钮 -->
<a-button v-if="item.signUpStatus === 2" class="cell-btn" type="primary"
<a-button v-if="item.signUpStatus === SignUpStatusEnum.pendingReviewVoucher.index" class="cell-btn" type="primary"
@click.stop="uploadPaymentRecord(item)">查看凭证
</a-button>
<!-- 待上传凭证 | 凭证被拒绝 状态有上传凭证按钮 -->
<a-button v-if="item.signUpStatus === 4 || item.signUpStatus === 5" class="cell-btn" type="primary"
<a-button v-if="item.signUpStatus === SignUpStatusEnum.pendingUploadVoucher.index || item.signUpStatus === SignUpStatusEnum.rejectedVoucher.index" class="cell-btn" type="primary"
@click.stop="uploadPaymentRecord(item)">上传凭证
</a-button>
</template>
@@ -134,9 +138,9 @@
</a-button>
</p>-->
<img v-if="item.meetingStatus === 2 " class="meeting-img-status" src="@/assets/meetingImgs/no-start.png" />
<img v-if="item.meetingStatus === 3 " class="meeting-img-status" src="@/assets/meetingImgs/ing.png" />
<img v-if="item.meetingStatus === 4 " class="meeting-img-status" src="@/assets/meetingImgs/end.png" />
<img v-if="item.meetingStatus === MeetingStatusEnums.noStart.index " class="meeting-img-status" src="@/assets/meetingImgs/no-start.png" />
<img v-if="item.meetingStatus === MeetingStatusEnums.onGoing.index " class="meeting-img-status" src="@/assets/meetingImgs/ing.png" />
<img v-if="item.meetingStatus === MeetingStatusEnums.ended.index " class="meeting-img-status" src="@/assets/meetingImgs/end.png" />
</div>
<i></i>
<i></i>
@@ -178,6 +182,7 @@ import UploadMeetingCertificateModal from '@views/MessagePage/UploadMeetingCerti
import { getAction } from '@api/manage'
import JEllipsis from '@comp/jero/JEllipsis'
import MeetingDetailModal from '@views/MessagePage/MeetingDetailModal'
import { SignUpStatusEnum, MeetingStatusEnums } from '@/enums/commonEnum'
export default {
@@ -214,6 +219,8 @@ export default {
},
data() {
return {
SignUpStatusEnum,
MeetingStatusEnums,
// 会议分类 全部 0 可报名 1 已报名 2
meetingStatusArr: [
{