[update]-分标委、工作组、理事会会议列表页功能的开发

This commit is contained in:
fengchenchen
2021-12-15 21:22:59 +08:00
parent ed4092c436
commit b41a4347b1
10 changed files with 485 additions and 188 deletions
+143 -133
View File
@@ -4,117 +4,119 @@
:width="width"
:visible="visible"
switchFullscreen
fullscreen
@cancel="handleCancel"
cancelText="关闭">
<!--会议信息begin-->
<section class="base-info">
<h3 class="title">会议信息</h3>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>会议名称:</label>
<span><j-ellipsis :value="model.meetingName" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<label>会议类型:</label>
<span><j-ellipsis :value="generateMeetingType(model.meetingType)" :length="20"></j-ellipsis></span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>召开时间:</label>
<span>{{ model.startTime + '~' + model.endTime }}</span>
</a-col>
<a-col :span="12">
<label>年份:</label>
<span><j-ellipsis :value="model.particularYear" :length="20"></j-ellipsis></span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>召开地点:</label>
<span><j-ellipsis :value="model.venue + '/' + model.address"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<label>负责人:</label>
<span><j-ellipsis :value="model.directorName" :length="20"></j-ellipsis></span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>报名截止时间:</label>
<span><j-ellipsis :value="model.registerDeadline" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<label>会议通知:</label>
<span style="width: 100%;">
<a-spin :spinning="situationInfoLoading">
<!--会议信息begin-->
<section class="base-info">
<h3 class="title">会议信息</h3>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>会议名称:</label>
<span><j-ellipsis :value="model.meetingName" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<label>会议类型:</label>
<span><j-ellipsis :value="generateMeetingType(model.meetingType)" :length="20"></j-ellipsis></span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>召开时间:</label>
<span>{{ model.startTime + '~' + model.endTime }}</span>
</a-col>
<a-col :span="12">
<label>年份:</label>
<span><j-ellipsis :value="model.particularYear" :length="20"></j-ellipsis></span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>召开地点:</label>
<span><j-ellipsis :value="model.venue + '/' + model.address"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<label>负责人:</label>
<span><j-ellipsis :value="model.directorName" :length="20"></j-ellipsis></span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>报名截止时间:</label>
<span><j-ellipsis :value="model.registerDeadline" :length="20"></j-ellipsis></span>
</a-col>
<a-col :span="12">
<label>会议通知:</label>
<span style="width: 100%;">
<preview-file style="width: 80%" :file-id="model.meetingFiles"></preview-file>
</span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>会议费用:</label>
<span>{{ model.meetingCosts }} 元/人</span>
</a-col>
<a-col :span="12" v-show="model.meetingType === '2' ">
<label>会议费用(标协会员):</label>
<span>{{ model.meetingCostsVip }} 元/人</span>
</a-col>
<a-col :span="12" v-if="model.paymentQrCode && model.meetingType !== '2'">
<label>收费二维码:</label>
<span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="12">
<label>会议费用:</label>
<span>{{ model.meetingCosts }} 元/人</span>
</a-col>
<a-col :span="12" v-show="model.meetingType === '2' ">
<label>会议费用(标协会员):</label>
<span>{{ model.meetingCostsVip }} 元/人</span>
</a-col>
<a-col :span="12" v-if="model.paymentQrCode && model.meetingType !== '2'">
<label>收费二维码:</label>
<span>
<img :src="paymentQrCodeSrc" alt="nothing show" class="payment-qrcode-img" />
</span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col" v-if="model.paymentQrCode && model.meetingType === '2'">
<a-col :span="24">
<label>收费二维码:</label>
<span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col" v-if="model.paymentQrCode && model.meetingType === '2'">
<a-col :span="24">
<label>收费二维码:</label>
<span>
<img :src="paymentQrCodeSrc" alt="nothing show" class="payment-qrcode-img" />
</span>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="24">
<label>会议内容:</label>
<span><j-ellipsis :value="model.meetingContent" :length="100"></j-ellipsis></span>
</a-col>
</a-row>
</section>
<!--会议信息end-->
<!--开票邮寄信息begin-->
<section class="logistics-info">
<h3 class="title">开票邮寄信息</h3>
<div>
</a-col>
</a-row>
<a-row :gutter="24" class="flex-col">
<a-col :span="24">
<label>会议内容:</label>
<span><j-ellipsis :value="model.meetingContent" :length="100"></j-ellipsis></span>
</a-col>
</a-row>
</section>
<!--会议信息end-->
<!--开票邮寄信息begin-->
<section class="logistics-info">
<h3 class="title">开票邮寄信息</h3>
<div>
<span class="collapse-span color-blue"
@click="showMoreInfo = !showMoreInfo">{{ showMoreInfo ? '收起' : '查看' }}</span>
</div>
<div class="wrap-table" :class="{'hide': !showMoreInfo}">
<a-table
ref="table"
size="middle"
rowKey="id"
:scroll="{x:true}"
:pagination="false"
:columns="columns"
:dataSource="logisticsInfoList"
class="j-table-force-nowrap"
:class="{'hide': !showMoreInfo}"
>
</div>
<div class="wrap-table" :class="{'hide': !showMoreInfo}">
<a-table
ref="table"
size="middle"
rowKey="id"
:scroll="{x:true}"
:pagination="false"
:columns="columns"
:dataSource="logisticsInfoList"
class="j-table-force-nowrap"
:class="{'hide': !showMoreInfo}"
>
<span slot="action" slot-scope="record" class="action-span-cell">
<a @click="lookLogistics(record)" v-if="record.postStatus === 1">查看物流</a>
</span>
<!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
<!-- {{ record.sendDate }}-->
<!-- </p>-->
</a-table>
</div>
</section>
<!--开票邮寄信息end-->
<!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
<!-- {{ record.sendDate }}-->
<!-- </p>-->
</a-table>
</div>
</section>
<!--开票邮寄信息end-->
<!--报名信息begin-->
<!--报名信息begin-->
<a-spin :spinning="situationInfoLoading">
<!-- 除开国际研讨会嘉宾身份个人信息的显示 -->
<section class="base-info" v-if="!(model.meetingType === 3 && situationInfo.identity === 1 )">
<h3 class="title">报名信息</h3>
@@ -161,7 +163,8 @@
</a-col>
</a-row>
<!-- 只有参会人才会显示 会议费用为 0 不显示 -->
<a-row :gutter="24" class="flex-col" v-show="situationInfo.identity === 2 && model.meetingCosts !== '0.00' ">
<a-row :gutter="24" class="flex-col"
v-show="situationInfo.identity === 2 && model.meetingCosts !== '0.00' ">
<a-col :span="12">
<label>付款方式:</label>
<span><j-ellipsis :value="situationInfo.payMode_dictText" :length="20"></j-ellipsis></span>
@@ -196,7 +199,8 @@
<a-col :span="12">
<label>报名状态:</label>
<span>
<sign-step :register-process="Number(situationInfo.registerProcess)" :need-costs="model.meetingCosts !== '0.00'"></sign-step>
<sign-step :register-process="Number(situationInfo.registerProcess)"
:need-costs="model.meetingCosts !== '0.00'"></sign-step>
</span>
</a-col>
</a-row>
@@ -508,7 +512,8 @@
<a-col :span="12">
<label>报名状态:</label>
<span>
<sign-step :register-process="Number(situationInfo.registerProcess)" :need-costs="model.meetingCosts !== '0.00'"></sign-step>
<sign-step :register-process="Number(situationInfo.registerProcess)"
:need-costs="model.meetingCosts !== '0.00'"></sign-step>
</span>
</a-col>
</a-row>
@@ -667,20 +672,29 @@ export default {
methods: {
async open(param) {
this.visible = true
this.situationInfoLoading = true
this.showMoreInfo = false
// 通过id查询项目详情
queryCommonProjectById({ id: param.situationId }).then(res => {
if (res.success) {
console.log(res.result, 'res.result')
// 到账信息
this.paymentInfoList = res.result.paymentRecord
// 开票邮寄信息
this.logisticsInfoList = res.result.mailBill
} else {
console.log('未查到相应的信息')
}
})
if(!param.situationId) {
queryCommonProjectById({ id: param.situationId }).then(res => {
if (res.success) {
console.log(res.result, 'res.result')
// 到账信息
this.paymentInfoList = res.result.paymentRecord
// 开票邮寄信息
this.logisticsInfoList = res.result.mailBill
} else {
console.log('未查到相应的信息')
}
})
} else {
this.paymentInfoList = []
// 开票邮寄信息
this.logisticsInfoList = []
}
if (param && !this.isMeetingBool) {
// 查询参会人的信息
await this.getSingUpUserInfoFunc(param)
// 消息进来的获取会议的详情
this.queryMeetingInfoById(param.id).then(res => {
@@ -688,37 +702,33 @@ export default {
this.model = Object.assign({}, res)
console.log(this.model, 'this.model')
})
// 查询参会人的信息
// getSingUpUserInfo({ id: param.situationId }).then(res => {
// if (res.success) {
// this.situationInfo = res.result
// }
// })
} else {
// 会议进来查询的会议信息
this.model = Object.assign({}, param)
// 会议进来的查询参会人信息
await this.getSingUpUserInfoFunc(param)
// getSingUpUserInfo({ id: param.situationId }).then(res => {
// if (res.success) {
// this.situationInfo = res.result
// }
// })
}
setTimeout(() => {
this.situationInfoLoading = false
}, 100)
},
getSingUpUserInfoFunc(param) {
return new Promise(resolve => {
this.situationInfoLoading = true
getSingUpUserInfo({ id: param.situationId }).then(res => {
if (res.success) {
this.situationInfo = res.result
}
}).finally(() => {
this.situationInfoLoading = false
// 存在报名信息
if(param.situationId) {
getSingUpUserInfo({ id: param.situationId }).then(res => {
if (res.success) {
this.situationInfo = res.result
} else {
this.situationInfo = {}
}
}).finally(() => {
resolve()
})
} else {
this.situationInfo = {}
resolve()
})
}
})
},
close() {
@@ -783,7 +793,7 @@ export default {
return '标协会议-信息交流会'
}
break
// return '标协会议'
// return '标协会议'
case '3':
return '国际研讨会'
case '4':
+6 -3
View File
@@ -28,18 +28,21 @@ const columns = [
{
title: '文件名',
align: 'center',
dataIndex: 'name'
dataIndex: 'name',
width: 200
},
{
title: '上传时间',
align: 'center',
dataIndex: 'createTime'
dataIndex: 'createTime',
width: 100
},
{
title: '操作',
align: 'center',
dataIndex: '',
scopedSlots: {customRender: 'action'}
scopedSlots: {customRender: 'action'},
width: 100
}
]
@@ -19,7 +19,7 @@
<!-- 理事会会议-->
<div class="meeting basic-box">
<h3 class="title">理事会会议</h3>
<meeting-list></meeting-list>
<meeting-list :other-params="meetingOtherParams"></meeting-list>
</div>
<!-- 其他分发资料-->
@@ -45,7 +45,11 @@ export default {
// 理事会详情数据
councilDetail: {},
// 文件数据
fileList: []
fileList: [],
// 理事会会议的其他字段
meetingOtherParams: {
councilId: this.$route.query.id
}
}
},
created() {
@@ -64,7 +68,7 @@ export default {
getCouncilDetailById(param).then(res => {
if (res.success) {
this.councilDetail = res.result
this.$refs.fileList.dataSource = res.result.files
this.$refs.fileList.dataSource = res.result.files || []
} else {
this.$message.warn(res.message)
}
@@ -123,4 +127,4 @@ export default {
margin-bottom: 5px;
}
}
</style>
</style>
@@ -101,7 +101,7 @@
<!-- 报名状态 缴费方式为打包 不显示 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 }}
class="audit-img" />报名状态:{{ item.signUpStatus_dictText || '无' }}
<!-- A 缴费方式 为 汇款 或者现场缴费 B 会议状态为 未开始 或 进行中 C 报名审核信息通过 D 会议的状态 不是待签到 -->
<template
@@ -138,6 +138,9 @@
<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" />
</div>
<i></i>
<i></i>
<i></i>
</div>
<section v-else class="list-empty">
<a-list :data-source="[]" />
@@ -190,10 +193,23 @@ export default {
JEllipsis
},
props: {
/**
* @Description: 标协会议的类型 1-标准宣贯 2-学习培训 3-信息交流会
* @author:fengchenchen @Date:2021-12-15
*/
standardMeetingType: {
type: Number,
required: false,
default: 1
},
/**
* @Description: 会议类型 1-工作组会议 2-标协会议 3-国际研讨会 4-其他会议 5-分标委会议 6-理事会会议
* @author:fengchenchen @Date:2021-12-15
*/
meetingType: {
type: Number,
required: false,
default: 2
}
},
data() {
@@ -228,7 +244,7 @@ export default {
queryParam: {},
lastQueryParam: {},
filter: {
meetingType: 2,
meetingType: this.meetingType,
tbMeetingType: this.standardMeetingType
},
// 分页参数
@@ -360,16 +376,8 @@ 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)
// }
}
}
}
@@ -53,7 +53,7 @@
<!-- 分标委会议-->
<div class="meeting basic-box">
<h3 class="title">分标委会议</h3>
<meeting-list></meeting-list>
<meeting-list :meeting-type="5" :other-params="meetingOtherParams"></meeting-list>
</div>
<!-- 其他分发资料-->
@@ -174,7 +174,11 @@ export default {
},
loading: false,
// 在研文件表头
fliesColumns
fliesColumns,
// 分标委会议的其他字段
meetingOtherParams: {
caseCommitteeId: this.$route.query.id
}
}
},
created() {
@@ -322,4 +326,4 @@ export default {
margin-bottom: 5px;
}
}
</style>
</style>
+9 -5
View File
@@ -119,16 +119,16 @@
<!-- 工作组会议-->
<div class="meeting basic-box">
<h3 class="title">工作组会议</h3>
<meeting-list></meeting-list>
<meeting-list :other-params="meetingOtherParams" :meeting-type="1"></meeting-list>
</div>
<!-- 其他分发资料-->
<div class="meeting basic-box">
<div class="file-title"><h3 class="title">其他分发资料</h3><span>(如月报、调研表等)</span></div>
<file-list ref="fileListTable" :data-source="fileList" :file-loading="fileLoading"></file-list>
</div>
</a-card>
<under-study-files-modal ref="filesModal" :columns="fileColumns" :is-committee="false"></under-study-files-modal>
</div>
</template>
@@ -282,7 +282,11 @@ export default {
showPaymentInfo: false,
// 显示邮寄信息
showMailInfo: false,
fileLoading: false
fileLoading: false,
// 理事会会议的其他字段
meetingOtherParams: {
workingGroupId: this.$route.query.workingGroupId
}
}
},
created() {
@@ -504,4 +508,4 @@ export default {
// display: none;
//}
}
</style>
</style>