[update]-分标委、工作组、理事会会议列表页功能的开发
This commit is contained in:
@@ -119,4 +119,9 @@
|
||||
word-break: keep-all;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
|
||||
// 表格滚动条样式的修改
|
||||
/deep/.ant-table-body {
|
||||
overflow: auto!important;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
<!--1 工作组会议 3-国际研讨会 4-其他会议 5-分标委会议 6-理事会会议 的列表形式-->
|
||||
<template>
|
||||
<div>
|
||||
<a-table
|
||||
@@ -13,18 +14,54 @@
|
||||
class="j-table-force-nowrap">
|
||||
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis :value="text" :length="18"></j-ellipsis>
|
||||
<j-ellipsis :value="text" :length="20"></j-ellipsis>
|
||||
</template>
|
||||
<!-- 会议名称 点击去参会情况-->
|
||||
<template slot="htmlSlot" slot-scope="text, record">
|
||||
<j-ellipsis
|
||||
v-if="!!text"
|
||||
class="primary-color"
|
||||
:value="text"
|
||||
:length="20"
|
||||
@click="openMeetingDetail(record)"
|
||||
></j-ellipsis>
|
||||
</template>
|
||||
<!-- 召开地点 -->
|
||||
<template slot="address" slot-scope="text, record">
|
||||
<j-ellipsis :value="text + '/' + record.address" :length="20"></j-ellipsis>
|
||||
</template>
|
||||
<!-- 召开时间 -->
|
||||
<template slot="renderTime" slot-scope="text, record">
|
||||
<j-ellipsis :value="record.startTime + '~' + record.endTime" :length="20"></j-ellipsis>
|
||||
</template>
|
||||
|
||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||
<a @click="handleEdit(record)">编辑</a>
|
||||
<a @click="confirmDelete(record)">删除</a>
|
||||
</span>
|
||||
<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.signUpStatus === SignUpStatusEnum.pendingReviewVoucher.index" class="action-btn" @click="uploadPaymentRecord(record)">查看凭证</a>
|
||||
<!-- 待上传凭证 | 凭证被拒绝 状态有上传凭证按钮 -->
|
||||
<a v-if="record.signUpStatus === SignUpStatusEnum.pendingUploadVoucher.index || record.signUpStatus === SignUpStatusEnum.rejectedVoucher.index" class="action-btn" @click="uploadPaymentRecord(record)">上传凭证</a>
|
||||
<!-- 待签到状态 显示-->
|
||||
<a v-if="record.signUpStatus === SignUpStatusEnum.pendingSignIn.index" class="action-btn action-text">请用小程序现场签到</a>
|
||||
</template>
|
||||
</a-table>
|
||||
|
||||
<!-- 会议详情 -->
|
||||
<meeting-detail-modal ref="meetingDetail"></meeting-detail-modal>
|
||||
<!--上传凭证-->
|
||||
<upload-meeting-certificate-modal ref="upload" @ok="loadData"></upload-meeting-certificate-modal>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction } from '../../api/manage'
|
||||
import MeetingDetailModal from '@views/MessagePage/MeetingDetailModal'
|
||||
import UploadMeetingCertificateModal from '@views/MessagePage/UploadMeetingCertificateModal'
|
||||
import { SignUpStatusEnum } from '../../enums/commonEnum'
|
||||
|
||||
// 表格的列配置
|
||||
const columns = [
|
||||
{
|
||||
title: '序号',
|
||||
@@ -32,48 +69,59 @@ const columns = [
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
customRender: function(t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
}, {
|
||||
},
|
||||
{
|
||||
title: '会议名称',
|
||||
align: 'center',
|
||||
dataIndex: 'companyName',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
dataIndex: 'meetingName',
|
||||
scopedSlots: { customRender: 'htmlSlot' },
|
||||
width: 160
|
||||
},
|
||||
{
|
||||
title: '负责人',
|
||||
align: 'center',
|
||||
dataIndex: 'dutyCode',
|
||||
dataIndex: 'directorName',
|
||||
width: 160,
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
title: '召开时间',
|
||||
align: 'center',
|
||||
dataIndex: 'companyAddress',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
dataIndex: 'startTime',
|
||||
width: 200,
|
||||
scopedSlots: { customRender: 'renderTime' }
|
||||
},
|
||||
{
|
||||
title: '召开地点',
|
||||
align: 'center',
|
||||
dataIndex: 'companyPhone',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
dataIndex: 'venue',
|
||||
width: 200,
|
||||
scopedSlots: { customRender: 'address' }
|
||||
},
|
||||
{
|
||||
title: '年份',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'status_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
dataIndex: 'particularYear',
|
||||
width: 120,
|
||||
scopedSlots: {customRender: 'text'}
|
||||
},
|
||||
{
|
||||
title: '报名状态',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'createTime',
|
||||
dataIndex: 'signUpStatus_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
},
|
||||
{
|
||||
title: '会议状态',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dataIndex: 'bankAccountName',
|
||||
dataIndex: 'meetingStatus_dictText',
|
||||
scopedSlots: { customRender: 'text' }
|
||||
}, {
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
@@ -82,12 +130,38 @@ const columns = [
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
]
|
||||
// signUpStatus -对应关系
|
||||
|
||||
export default {
|
||||
name: 'MeetingList',
|
||||
components: {
|
||||
MeetingDetailModal,
|
||||
UploadMeetingCertificateModal
|
||||
},
|
||||
props: {
|
||||
/**
|
||||
* @Description: 会议类型 1-工作组会议 2-标协会议 3-国际研讨会 4-其他会议 5-分标委会议 6-理事会会议
|
||||
* @author:fengchenchen @Date:2021-12-15
|
||||
*/
|
||||
meetingType: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 6
|
||||
},
|
||||
// 其他的查询条件
|
||||
otherParams: {
|
||||
type: Object,
|
||||
required: false,
|
||||
default: () => {
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
columns,
|
||||
dataSource:[],
|
||||
SignUpStatusEnum,
|
||||
dataSource: [],
|
||||
loading: false,
|
||||
/* 分页参数 */
|
||||
ipagination: {
|
||||
@@ -100,12 +174,49 @@ export default {
|
||||
showQuickJumper: true,
|
||||
showSizeChanger: true,
|
||||
total: 0
|
||||
},
|
||||
// 所有的会议请求的都是一个接口,只是传参不同
|
||||
url: {
|
||||
list: '/meeting/payMeeting/pageContract'
|
||||
},
|
||||
// 其他的查询条件
|
||||
filter: {
|
||||
meetingType: this.meetingType
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
loadData() {
|
||||
|
||||
loadData(arg) {
|
||||
if (!this.url.list) {
|
||||
this.$message.error('请设置url.list属性!')
|
||||
return
|
||||
}
|
||||
//加载数据 若传入参数1则加载第一页的内容
|
||||
if (arg === 1) {
|
||||
this.ipagination.pageNo = 1
|
||||
}
|
||||
const params = Object.assign({}, this.queryParam, this.filter, this.otherParams)
|
||||
params.pageNo = this.ipagination.current
|
||||
params.pageSize = this.ipagination.pageSize
|
||||
this.loading = true
|
||||
getAction(this.url.list, params).then((res) => {
|
||||
if (res.success) {
|
||||
//update-begin---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
||||
this.dataSource = res.result.records || res.result
|
||||
if (res.result.total) {
|
||||
this.ipagination.total = res.result.total
|
||||
//清空列表选中
|
||||
// this.onClearSelected()
|
||||
} else {
|
||||
this.ipagination.total = 0
|
||||
}
|
||||
//update-end---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------
|
||||
}
|
||||
if (res.code === 510) {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 分页变化
|
||||
@@ -123,10 +234,34 @@ export default {
|
||||
this.ipagination = pagination
|
||||
this.loadData()
|
||||
},
|
||||
// 去报名
|
||||
signUpRecord(item) {
|
||||
let url = `${window._CONFIG['singUpQRCodeURL']}?id=${item.id}`
|
||||
window.open(url, '_blank')
|
||||
},
|
||||
/*
|
||||
* 打开会议详情
|
||||
* */
|
||||
openMeetingDetail(item) {
|
||||
// 打开会议详情
|
||||
this.$refs.meetingDetail.open(item)
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log('***************')
|
||||
this.loadData(1)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
.action-btn + .action-btn {
|
||||
margin-left: 10px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
.action-btn.action-text{
|
||||
color: #00A0E9;
|
||||
cursor: default;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
export default class EsEnum {
|
||||
constructor(val) {
|
||||
if (!val) {
|
||||
return
|
||||
}
|
||||
Object.keys(val).forEach(key => {
|
||||
const item = val[key]
|
||||
this.addAll(key, item)
|
||||
})
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加枚举
|
||||
* @param key
|
||||
* @param item
|
||||
*/
|
||||
addAll(key, item) {
|
||||
this[key] = item
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有枚举值列表
|
||||
* @params decend --是否是降序输出
|
||||
* @returns {Array}
|
||||
*/
|
||||
getItemList(decend) {
|
||||
const optionList = []
|
||||
for (const i in this) {
|
||||
const item = this[i]
|
||||
const option = {}
|
||||
Object.assign(option, item)
|
||||
option.key = i
|
||||
optionList.push(option)
|
||||
}
|
||||
optionList.sort((a, b) => {
|
||||
const value1 = a['index']
|
||||
const value2 = b['index']
|
||||
return decend && (value2 - value1) || (value1 - value2)
|
||||
})
|
||||
return optionList
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取需要排除的枚举值后的所有枚举值列表
|
||||
* @param val 需要排除的枚举值或枚举值数组
|
||||
*/
|
||||
getItemListExcept(val) {
|
||||
let valueArr = []
|
||||
if (val) {
|
||||
if (Array.isArray(val)) {
|
||||
valueArr = val
|
||||
} else {
|
||||
valueArr.push(val)
|
||||
}
|
||||
}
|
||||
const optionList = []
|
||||
for (const i in this) {
|
||||
const item = this[i]
|
||||
if (!valueArr.includes(item.name)) {
|
||||
const option = {}
|
||||
Object.assign(option, item)
|
||||
option.key = i
|
||||
optionList.push(option)
|
||||
}
|
||||
}
|
||||
return optionList
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据name获取index
|
||||
* @param name
|
||||
*/
|
||||
indexOfName(name) {
|
||||
if (name) {
|
||||
for (const i in this) {
|
||||
const e = this[i]
|
||||
if (e.name.toString() === name.toString()) {
|
||||
return (e.index)
|
||||
}
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据index获取name
|
||||
* @param index
|
||||
* @returns {*}
|
||||
*/
|
||||
nameOfIndex(index) {
|
||||
if (index === null) {
|
||||
return '--'
|
||||
}
|
||||
for (const i in this) {
|
||||
const e = this[i]
|
||||
if (e.index !== undefined && e.index !== null && e.index.toString() === index.toString()) {
|
||||
return e.name
|
||||
}
|
||||
}
|
||||
return '--'
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
import EsEnums from './EsEnum'
|
||||
|
||||
/**
|
||||
* 是/否枚举
|
||||
* @type {EsEnum}
|
||||
*/
|
||||
export const YesOrNoEnum = new EsEnums({
|
||||
NO: { name: '否', index: 0 },
|
||||
YES: { name: '是', index: 1 }
|
||||
})
|
||||
|
||||
export const SignUpStatusEnum = {
|
||||
pendingReviewReportInfo: { name: '报名信息待审核', index: 1 },
|
||||
pendingReviewVoucher: { name: '凭证待审核', index: 2 },
|
||||
noParticipation: { name: '不可参会', index: 3 },
|
||||
pendingUploadVoucher: { name: '待上传凭证', index: 4 },
|
||||
rejectedVoucher: { name: '凭证被拒绝', index: 5 },
|
||||
pendingSignIn: { name: '待签到', index: 6 },
|
||||
finishSignIn: { name: '已签到', index: 7 },
|
||||
canReport: { name: '可报名', index: 8 }
|
||||
}
|
||||
@@ -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':
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user