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