[update]-标协会议token换成变量;标协会议的增加
This commit is contained in:
@@ -3,10 +3,17 @@
|
||||
*/
|
||||
window._CONFIG = {};
|
||||
window._CONFIG["domianURL"] = "/jero-boot"; // 路由转发 devServer
|
||||
|
||||
window._CONFIG["domianWebSocketURL"] = "http://localhost:8080/jero-boot";
|
||||
// 单点登录地址
|
||||
window._CONFIG["staticDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/download";
|
||||
|
||||
window._CONFIG["pdfDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/pdf/pdfPreviewIframe";
|
||||
window._CONFIG["casPrefixUrl"] = "http://cas.example.org:8443/cas";
|
||||
// 预览文件地址
|
||||
window._CONFIG["onlinePreviewDomainURL"] = "http://127.0.0.1:8012/onlinePreview";
|
||||
|
||||
// 路由转发 -会员系统的路由转发前缀
|
||||
window._CONFIG["memberURL"] = "/memberApi";
|
||||
// 会员系统的静态文件的地址
|
||||
window._CONFIG["memberStaticDomainURL"] = window._CONFIG["memberURL"] + "/sys/common/static";
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
window._CONFIG = {};
|
||||
window._CONFIG["domianURL"] = "/jero-boot"; // 路由转发 devServer
|
||||
// websocket连接的地址
|
||||
window._CONFIG["domianWebSocketURL"] = "http://localhost:21824/jero-boot";
|
||||
window._CONFIG["domianWebSocketURL"] = "http://10.0.10.78:21824/jero-boot";
|
||||
// 单点登录地址
|
||||
window._CONFIG["staticDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/download";
|
||||
window._CONFIG["pdfDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/pdf/pdfPreviewIframe";
|
||||
window._CONFIG["casPrefixUrl"] = "http://cas.example.org:8443/cas";
|
||||
// 预览文件地址
|
||||
window._CONFIG["onlinePreviewDomainURL"] = "http://127.0.0.1:8012/onlinePreview";
|
||||
window._CONFIG["onlinePreviewDomainURL"] = "http://10.0.10.78:8012/onlinePreview";
|
||||
|
||||
// 会议管理报名二维码地址
|
||||
window._CONFIG['singUpQRCodeURL'] = 'http://localhost:3000/signupentrance'
|
||||
@@ -19,4 +19,4 @@ window._CONFIG['singUpQRCodeURL'] = 'http://localhost:3000/signupentrance'
|
||||
window._CONFIG["memberURL"] = "/memberApi";
|
||||
// 会员系统的静态文件的地址
|
||||
window._CONFIG["memberStaticDomainURL"] = window._CONFIG["memberURL"] + "/sys/common/static";
|
||||
window._CONFIG["memberDomianWebSocketURL"] = "http://127.0.0.1:9000/memberApi";
|
||||
window._CONFIG["memberDomianWebSocketURL"] = "http://10.0.10.78:9000/memberApi";
|
||||
|
||||
@@ -15,9 +15,8 @@ const queryCommonProjectById = (param) => incomeGetAction('/project/payCommonPro
|
||||
const previewPdf = (file) => {
|
||||
// const url = `${window._CONFIG['memberURL']}/sys/common/static/${id}?type=view&${TokenKey}=${Vue.ls.get(ACCESS_TOKEN)}`
|
||||
// return `${process.env.BASE_URL}pdfjs/web/viewer.html?file=` + encodeURIComponent(url) + '&.pdf'
|
||||
// const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
// todo 先写死token
|
||||
const token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2Mzk0NjEyMzcsInVzZXJuYW1lIjoiMGI4ZDQ2YTBiZTI0NGJlZGI5ZDI1Y2Y5ZmQ5OTc3MTcifQ.jKG-mtZ4VHS5BAFGayuwOJgBBzZTiKQc3bkbya2YTNA'
|
||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
// const token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2Mzk0NjEyMzcsInVzZXJuYW1lIjoiMGI4ZDQ2YTBiZTI0NGJlZGI5ZDI1Y2Y5ZmQ5OTc3MTcifQ.jKG-mtZ4VHS5BAFGayuwOJgBBzZTiKQc3bkbya2YTNA'
|
||||
const fileFullUrl = `${window._CONFIG['memberDomianWebSocketURL']}/sys/common/download/${file.id}?token=${token}&fullfilename=${file.fileName}`
|
||||
console.log(fileFullUrl, '$$$$$$$$')
|
||||
let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
|
||||
|
||||
@@ -113,9 +113,9 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
//TODO 暂时将token写成固定值,后续再做动态
|
||||
const token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2Mzk0NjEyMzcsInVzZXJuYW1lIjoiMGI4ZDQ2YTBiZTI0NGJlZGI5ZDI1Y2Y5ZmQ5OTc3MTcifQ.jKG-mtZ4VHS5BAFGayuwOJgBBzZTiKQc3bkbya2YTNA'
|
||||
// const token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2Mzk0NjEyMzcsInVzZXJuYW1lIjoiMGI4ZDQ2YTBiZTI0NGJlZGI5ZDI1Y2Y5ZmQ5OTc3MTcifQ.jKG-mtZ4VHS5BAFGayuwOJgBBzZTiKQc3bkbya2YTNA'
|
||||
this.headers = { 'X-Access-Token': token }
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -22,7 +22,8 @@ export const RangeDateMixin = {
|
||||
}
|
||||
// console.log(endValue.valueOf(),'endValue.valueOf()')
|
||||
if(this.rangeDateFormat.begin === 'YYYY-MM-DD') {
|
||||
return startValue.valueOf() > endValue.valueOf() + 86400000
|
||||
// return startValue.valueOf() > endValue.valueOf() + 86400000
|
||||
return startValue.valueOf() > endValue.valueOf()
|
||||
} else {
|
||||
return startValue.valueOf() > endValue.valueOf()
|
||||
}
|
||||
|
||||
@@ -100,9 +100,9 @@ const err = (error) => {
|
||||
|
||||
// request interceptor
|
||||
service.interceptors.request.use(config => {
|
||||
// const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
const token = Vue.ls.get(ACCESS_TOKEN)
|
||||
//TODO 暂时将token写成固定值,后续再做动态
|
||||
const token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2Mzk0NjEyMzcsInVzZXJuYW1lIjoiMGI4ZDQ2YTBiZTI0NGJlZGI5ZDI1Y2Y5ZmQ5OTc3MTcifQ.jKG-mtZ4VHS5BAFGayuwOJgBBzZTiKQc3bkbya2YTNA'
|
||||
// const token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2Mzk0NjEyMzcsInVzZXJuYW1lIjoiMGI4ZDQ2YTBiZTI0NGJlZGI5ZDI1Y2Y5ZmQ5OTc3MTcifQ.jKG-mtZ4VHS5BAFGayuwOJgBBzZTiKQc3bkbya2YTNA'
|
||||
if (token) {
|
||||
config.headers[ 'X-Access-Token' ] = token // 让每个请求携带自定义 token 请根据实际情况自行修改
|
||||
}
|
||||
|
||||
@@ -65,6 +65,35 @@
|
||||
</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}"
|
||||
>
|
||||
<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-->
|
||||
|
||||
<!--报名信息begin-->
|
||||
<!-- 除开国际研讨会嘉宾身份个人信息的显示 -->
|
||||
<section class="base-info" v-if="!(model.meetingType === 3 && situationInfo.identity === 1 )">
|
||||
@@ -427,16 +456,18 @@
|
||||
<!--会议资料begin-->
|
||||
<section class="base-info">
|
||||
<h3 class="title">会议资料</h3>
|
||||
<a-row :gutter="24" class="flex-col">
|
||||
<a-col :span="12">
|
||||
<label>会议资料:</label>
|
||||
<span style="width: 100%"><preview-file style="width: 80%" :file-id="model.meetingData" :is-meeting-data-bool="true"></preview-file></span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<file-table :file-id="model.meetingData" :is-meeting-data-bool="true"></file-table>
|
||||
</section>
|
||||
<!--会议资料end-->
|
||||
<!--开票邮寄信息begin-->
|
||||
<section class="payment-info">
|
||||
|
||||
<!--会议纪要begin-->
|
||||
<section class="base-info">
|
||||
<h3 class="title">会议纪要</h3>
|
||||
<file-table :file-id="model.meetingMinute" :is-meeting-data-bool="false"></file-table>
|
||||
</section>
|
||||
<!--会议纪要end-->
|
||||
<!--到账信息 begin 2021-12-10 版需求变更去掉了-->
|
||||
<!-- <section class="payment-info">
|
||||
<h3 class="title">付款信息</h3>
|
||||
<div class="payment-info-box">
|
||||
<section class="payment-info-title">付款信息</section>
|
||||
@@ -447,32 +478,8 @@
|
||||
</template>
|
||||
<a-list v-else :data-source="[]"/>
|
||||
</div>
|
||||
</section>
|
||||
</section>-->
|
||||
<!--到账信息end-->
|
||||
<!--开票邮寄信息begin-->
|
||||
<section class="logistics-info">
|
||||
<h3 class="title">开票邮寄信息</h3>
|
||||
<div class="wrap-table">
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:scroll="{x:true}"
|
||||
:pagination="false"
|
||||
:columns="columns"
|
||||
:dataSource="logisticsInfoList"
|
||||
class="j-table-force-nowrap"
|
||||
>
|
||||
<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-->
|
||||
|
||||
<template slot="footer">
|
||||
<a-button @click="handleCancel">关闭</a-button>
|
||||
@@ -482,6 +489,7 @@
|
||||
|
||||
<script>
|
||||
import PreviewFile from '@comp/jero/PreviewFile'
|
||||
import FileTable from '@/views/MessagePage/modules/FileTable'
|
||||
import JEllipsis from '@comp/jero/JEllipsis'
|
||||
import {getMeetInfoById, queryCommonProjectById} from '@api/incomePaymentsApi'
|
||||
import {getSingUpUserInfo} from '@api/incomePaymentsApi'
|
||||
@@ -541,7 +549,8 @@ export default {
|
||||
components: {
|
||||
PreviewFile,
|
||||
JEllipsis,
|
||||
JImageUpload
|
||||
JImageUpload,
|
||||
FileTable
|
||||
},
|
||||
props: {
|
||||
// 是否是从会议点进来的 默认走消息
|
||||
@@ -565,7 +574,9 @@ export default {
|
||||
// 到账信息
|
||||
paymentInfoList: [],
|
||||
// 开票邮寄信息
|
||||
logisticsInfoList: []
|
||||
logisticsInfoList: [],
|
||||
// 显示更多的开票邮寄信息
|
||||
showMoreInfo: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -833,4 +844,30 @@ h3.title::before {
|
||||
width: 100px;
|
||||
height: 100px
|
||||
}
|
||||
</style>
|
||||
|
||||
// 查看 开票邮寄信息
|
||||
.logistics-info{
|
||||
position: relative;
|
||||
.wrap-table.hide{
|
||||
height: 0;
|
||||
display: none;
|
||||
transition: all 0.5s ease-out;
|
||||
}
|
||||
.wrap-table{
|
||||
transition: all 0.5s ease-out;
|
||||
}
|
||||
//.ant-table.hide{
|
||||
// height: 0;
|
||||
// display: none;
|
||||
//}
|
||||
}
|
||||
.collapse-span {
|
||||
cursor: pointer;
|
||||
color: #069f99 !important;
|
||||
line-height: 24px;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
<!--会议详情 里面写的 会议资料、会议纪要 的表格显示-->
|
||||
<template>
|
||||
<div class="file-table">
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
rowKey="id"
|
||||
:scroll="{x:true}"
|
||||
:pagination="false"
|
||||
:columns="columns"
|
||||
:dataSource="fileList"
|
||||
class="j-table-force-nowrap"
|
||||
>
|
||||
<span slot="action" slot-scope="record" class="action-span-cell">
|
||||
<a class="color-blue" @click="handleDownLoad(record)">下载</a>
|
||||
<a class="color-blue" @click="handlePreview(record)">查看</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Vue from 'vue'
|
||||
import {ACCESS_TOKEN} from '@/store/mutation-types'
|
||||
import {getFileInfo} from '@/api/api'
|
||||
import {downloadFile} from '@api/manage'
|
||||
const columns = [
|
||||
{
|
||||
title: '文件名',
|
||||
align: 'center',
|
||||
dataIndex: 'name'
|
||||
},
|
||||
{
|
||||
title: '上传时间',
|
||||
align: 'center',
|
||||
dataIndex: 'createTime'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
dataIndex: '',
|
||||
scopedSlots: {customRender: 'action'}
|
||||
}
|
||||
]
|
||||
|
||||
export default {
|
||||
name: 'FileTable',
|
||||
props: {
|
||||
/*
|
||||
* 文件id
|
||||
* */
|
||||
fileId: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
/* 是否是会议资料 会议资料有下载的限制 */
|
||||
isMeetingDataBool:{
|
||||
type:Boolean,
|
||||
required: false,
|
||||
default:false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
fileInfo: {},
|
||||
fileList: [],
|
||||
columns
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getFileInfo(this.fileId)
|
||||
},
|
||||
watch: {
|
||||
fileId: {
|
||||
immediate: true,
|
||||
handler(val) {
|
||||
this.initFileList(val)
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
/*
|
||||
* 通过文件id获取文件的相关信息
|
||||
* */
|
||||
getFileInfo(id) {
|
||||
return new Promise(resolve => {
|
||||
let result = {}
|
||||
getFileInfo({id: id}).then(res => {
|
||||
if (res.success) {
|
||||
result = res.result
|
||||
}
|
||||
}).finally(() => {
|
||||
resolve(result)
|
||||
})
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 获取文件信息
|
||||
* */
|
||||
async initFileList(fileIds) {
|
||||
if (fileIds) {
|
||||
const fileList = []
|
||||
let arr = fileIds.split(',')
|
||||
for (let i = 0; i < arr.length; i++) {
|
||||
let fileObj = {}
|
||||
fileObj = await this.getFileInfo(arr[i])
|
||||
fileList.push({id: fileObj.id, name: fileObj.fileName, createTime: fileObj.createTime})
|
||||
}
|
||||
this.fileList = [...fileList]
|
||||
} else {
|
||||
this.fileList = []
|
||||
}
|
||||
},
|
||||
handleDownLoad(file) {
|
||||
console.log(file)
|
||||
if(this.isMeetingDataBool){
|
||||
// 会议资料更换了接口
|
||||
downloadFile(`sys/common/userDownload/${file.id}`, file.name)
|
||||
}else {
|
||||
downloadFile(`sys/common/download/${file.id}`, file.name)
|
||||
}
|
||||
},
|
||||
handlePreview(file) {
|
||||
if (file && file.id) {
|
||||
const fileFullUrl = `${window._CONFIG['domianWebSocketURL']}/sys/common/download/${file.id}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${file.name}`
|
||||
let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
|
||||
// let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
|
||||
window.open(url)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.color-blue + .color-blue{
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
@@ -1,13 +1,20 @@
|
||||
<!--信息交流会-->
|
||||
<template>
|
||||
<div>信息交流会</div>
|
||||
<div class="main-box">
|
||||
<meeting-list :standard-meeting-type="2"></meeting-list>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import MeetingList from './meeting/MeetingList'
|
||||
export default {
|
||||
name: 'InfoCommunicationMeeting'
|
||||
name: 'InfoCommunicationMeeting',
|
||||
components: {
|
||||
MeetingList
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
|
||||
@@ -280,8 +280,10 @@ export default {
|
||||
* */
|
||||
getMemberInfo() {
|
||||
// const url = this.url.detail + '?id=' + this.$route.query.id
|
||||
// todo 暂时写死用户,后续在user等信息中调取
|
||||
const url = this.url.detail + '?id=' + '1413419593870872578'
|
||||
// 会员用户id,后续在user等信息中调取
|
||||
const memberId = this.$store.getters.userInfo.memberId
|
||||
// const url = this.url.detail + '?id=' + '1413419593870872578'
|
||||
const url = this.url.detail + '?id=' + memberId
|
||||
// 会员剩余天数
|
||||
this.pageType = this.$route.query.pageType
|
||||
getAction(url).then(res => {
|
||||
|
||||
@@ -136,8 +136,8 @@ export default {
|
||||
begin: 'YYYY-MM-DD hh:mm:ss',
|
||||
end: 'YYYY-MM-DD hh:mm:ss'
|
||||
},
|
||||
// todo 目前先固定id
|
||||
userId: '1413419593870872578',
|
||||
// 会员用户id
|
||||
userId: this.$store.getters.userInfo.memberId,
|
||||
description: '证书缴费信息表管理页面',
|
||||
// 表头
|
||||
columns: [],
|
||||
|
||||
@@ -155,8 +155,8 @@ export default {
|
||||
begin: 'YYYY-MM-DD hh:mm:ss',
|
||||
end: 'YYYY-MM-DD hh:mm:ss'
|
||||
},
|
||||
// todo 目前先固定id
|
||||
userId: '1413419593870872578',
|
||||
// 会员用户id
|
||||
userId: this.$store.getters.userInfo.memberId,
|
||||
isAdmin: false,
|
||||
description: '缴费信息表管理页面',
|
||||
// 表头
|
||||
|
||||
@@ -288,8 +288,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// todo 目前先固定id
|
||||
userId: '1413419593870872578',
|
||||
userId: this.$store.getters.userInfo.memberId,
|
||||
// userName: JSON.parse(localStorage.getItem('pro__Login_Userinfo')).value.realname,
|
||||
userName: '',
|
||||
form: this.$form.createForm(this),
|
||||
|
||||
@@ -514,8 +514,8 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
//todo 当前登录的会员账户在标协系统中的id 目前先写死zoey 后期通过接口调用
|
||||
userId: '1413419593870872578',
|
||||
// 会员用户id
|
||||
userId: this.$store.getters.userInfo.memberId,
|
||||
isMember: true,
|
||||
form: this.$form.createForm(this),
|
||||
title: '操作',
|
||||
|
||||
@@ -1,13 +1,26 @@
|
||||
<!--标协会员-标准宣贯-->
|
||||
<template>
|
||||
<div>标准宣贯</div>
|
||||
<div class="main-box standard-publicizing-implementation">
|
||||
<meeting-list></meeting-list>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import MeetingList from './meeting/MeetingList'
|
||||
|
||||
export default {
|
||||
name: 'StandardPublicizingImplementation'
|
||||
name: 'StandardPublicizingImplementation',
|
||||
components: {
|
||||
MeetingList
|
||||
},
|
||||
data() {
|
||||
return {}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
|
||||
</style>
|
||||
@@ -1,13 +1,20 @@
|
||||
<!--培训会-->
|
||||
<template>
|
||||
<div>培训会</div>
|
||||
<div class="main-box">
|
||||
<meeting-list :standard-meeting-type="3"></meeting-list>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import MeetingList from './meeting/MeetingList'
|
||||
export default {
|
||||
name: 'TrainingMeeting'
|
||||
name: 'TrainingMeeting',
|
||||
components: {
|
||||
MeetingList
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
</style>
|
||||
|
||||
@@ -0,0 +1,485 @@
|
||||
<!--标协会员-标准宣贯、信息交流会、培训会共用页面-->
|
||||
<template>
|
||||
<div class="meeting-list meeting">
|
||||
<div class="title">
|
||||
<!-- <a-icon type="user"/>-->
|
||||
<span class="my-meeting">{{ $route.meta.title }}</span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<section class="meeting—status">
|
||||
<span>会议分类:</span>
|
||||
<span
|
||||
@click="filterMeeting(item.key)" class="inactive-status"
|
||||
:class="{'active-status':item.key === meetingKey}"
|
||||
v-for="item of meetingStatusArr"
|
||||
:key="item.key">{{ item.value }}</span>
|
||||
</section>
|
||||
<!--查询区域begin-->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :xl="7" :lg="8" :md="8" :sm="24">
|
||||
<a-form-item label="会议名称">
|
||||
<a-input placeholder="请输入会议名称" v-model="queryParam.meetingName" :maxLength="50"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="7" :xl="10" :md="10" :sm="24">
|
||||
<a-form-item label="会议时间">
|
||||
<j-date
|
||||
placeholder="请选择开始日期"
|
||||
class="query-group-cust"
|
||||
v-model="queryParam.meetingStartTime"
|
||||
:disabled-date="disabledStartDate">
|
||||
</j-date>
|
||||
<span class="query-group-split-cust"></span>
|
||||
<j-date
|
||||
placeholder="请选择结束日期"
|
||||
class="query-group-cust"
|
||||
v-model="queryParam.meetingEndTime"
|
||||
:disabled-date="disabledEndDate">
|
||||
</j-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xl="7" :lg="8" :md="8" :sm="24">
|
||||
<a-form-item label="会议状态">
|
||||
<j-dict-select-tag dict-code="meeting_status" placeholder="请选择会议状态"
|
||||
v-model="queryParam.meetingStatus"></j-dict-select-tag>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xl="7" :lg="8" :md="8" :sm="24">
|
||||
<a-form-item label="报名状态">
|
||||
<j-dict-select-tag
|
||||
dict-code="sign_up_status"
|
||||
placeholder="请选择报名状态"
|
||||
v-model="queryParam.signUpStatus"
|
||||
></j-dict-select-tag>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xl="6" :lg="8" :md="8" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
||||
<a-button class="reset-button" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!--查询区域end-->
|
||||
<!--列表区域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" @click.stop="openMeetingDetail(item)">
|
||||
<p class="item-meeting-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" />
|
||||
负责人:{{ item.directorName }}
|
||||
</p>
|
||||
<p class="item-meeting-img item-meeting-meetingTime">
|
||||
<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-meetingAddress">
|
||||
<img src="@/assets/meetingImgs/meeting-address.png" />
|
||||
召开地点:
|
||||
<j-ellipsis :value="item.venue + '/' + item.address " :length="20"></j-ellipsis>
|
||||
</p>
|
||||
<!-- 报名状态 缴费方式为打包 不显示 item.signUpStatus !== null-->
|
||||
<p class="item-meeting-img item-meeting-meetingTime" 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>
|
||||
</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" />
|
||||
</div>
|
||||
</div>
|
||||
<section v-else class="list-empty">
|
||||
<a-list :data-source="[]" />
|
||||
</section>
|
||||
</a-spin>
|
||||
<!--列表区域end-->
|
||||
<div class="fenye" v-if="total > 0">
|
||||
<!--分页-->
|
||||
<a-pagination
|
||||
v-model="current"
|
||||
:page-size.sync="pageSize"
|
||||
class="pagination"
|
||||
show-size-changer
|
||||
:show-total="(total, range) => `${range[0]}-${range[1]} 共 ${total} 条`"
|
||||
:pageSizeOptions="['10','20', '30', '50','100']"
|
||||
show-quick-jumper
|
||||
:total="total"
|
||||
@change="changePagination"
|
||||
@showSizeChange="onShowSizeChange"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<MeetingDetailModal ref="meetingDetail"></MeetingDetailModal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||
import { RangeDateMixin } from '@/mixins/RangeDateMixin'
|
||||
import JDate from '@comp/tools/JDate'
|
||||
import UploadMeetingCertificateModal from '@views/MessagePage/UploadMeetingCertificateModal'
|
||||
import { getAction } from '@api/manage'
|
||||
import JEllipsis from '@comp/jero/JEllipsis'
|
||||
import MeetingDetailModal from '@views/MessagePage/MeetingDetailModal'
|
||||
|
||||
|
||||
export default {
|
||||
name: 'MeetingList',
|
||||
mixins: [RangeDateMixin],
|
||||
components: {
|
||||
// eslint-disable-next-line vue/no-unused-components
|
||||
MeetingDetailModal,
|
||||
JDictSelectTag,
|
||||
JDate,
|
||||
// eslint-disable-next-line vue/no-unused-components
|
||||
UploadMeetingCertificateModal,
|
||||
JEllipsis
|
||||
},
|
||||
props: {
|
||||
standardMeetingType: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 1
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 会议分类 全部 0 可报名 1 已报名 2
|
||||
meetingStatusArr: [
|
||||
{
|
||||
key: '0',
|
||||
value: '全部'
|
||||
},
|
||||
{
|
||||
key: '1',
|
||||
value: '可报名'
|
||||
},
|
||||
{
|
||||
key: '2',
|
||||
value: '已报名'
|
||||
}
|
||||
],
|
||||
// 会议的key值 默认是全部
|
||||
meetingKey: '0',
|
||||
// 禁用时间的key值
|
||||
dateKeyObj: {
|
||||
beginKey: 'meetingStartTime',
|
||||
endKey: 'meetingEndTime'
|
||||
},
|
||||
url: {
|
||||
list: '/meeting/payMeeting/pageContract'
|
||||
},
|
||||
tableData: [],
|
||||
// 查询参数
|
||||
queryParam: {},
|
||||
lastQueryParam: {},
|
||||
filter: {
|
||||
meetingType: 2,
|
||||
tbMeetingType: this.standardMeetingType
|
||||
},
|
||||
// 分页参数
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
// 当前页
|
||||
current: 1,
|
||||
// 加载状态
|
||||
loading: false
|
||||
// 会议类型
|
||||
// meetingType: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
// 会议报名 审核状态
|
||||
auditStatus() {
|
||||
// 报名信息审核中 工作组会议或者分标委会议 非成员报名 需要审核报名信息
|
||||
// 凭证审核中 上传了汇款凭证待审核的
|
||||
// 不可参会 非成员单位报名信息审核被拒绝的
|
||||
// 待上传凭证 来款方式为线上或者汇款
|
||||
// 凭证被拒绝 上传审核凭证被拒绝的
|
||||
// 报名成功 审核凭证通过或者不需要审核的
|
||||
return '报名成功'
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 会议类型
|
||||
if (this.$route.query.meetingType) {
|
||||
// this.meetingType = this.$route.query.meetingType
|
||||
// this.filter.meetingType = this.$route.query.meetingType
|
||||
}
|
||||
this.initData(1)
|
||||
},
|
||||
methods: {
|
||||
/*
|
||||
* 会议分类筛选
|
||||
* */
|
||||
filterMeeting(key) {
|
||||
this.meetingKey = key
|
||||
this.filter.meetingSignUpType = this.meetingKey
|
||||
this.initData(1)
|
||||
},
|
||||
/*
|
||||
* 分页
|
||||
* */
|
||||
onShowSizeChange(current, pageSize) {
|
||||
this.pageNo = current
|
||||
this.pageSize = pageSize
|
||||
console.log(current, pageSize)
|
||||
this.initData()
|
||||
},
|
||||
/*
|
||||
* 页码改变后的回调
|
||||
* */
|
||||
changePagination(pageNo, pageSize) {
|
||||
this.pageSize = pageSize
|
||||
this.pageNo = pageNo
|
||||
this.initData()
|
||||
},
|
||||
/*
|
||||
* 初始化加载数据
|
||||
* */
|
||||
initData(arg) {
|
||||
if (!this.url.list) {
|
||||
this.$message.error('请设置url.list属性!')
|
||||
return
|
||||
}
|
||||
//加载数据 若传入参数1则加载第一页的内容
|
||||
if (arg === 1) {
|
||||
this.pageNo = 1
|
||||
}
|
||||
var params = Object.assign({}, this.lastQueryParam, this.filter)
|
||||
params.pageNo = this.pageNo
|
||||
params.pageSize = this.pageSize
|
||||
this.loading = true
|
||||
getAction(this.url.list, params).then((res) => {
|
||||
if (res.success) {
|
||||
this.tableData = [...res.result.records] || res.result
|
||||
this.current = res.result.current
|
||||
if (res.result.total) {
|
||||
this.total = res.result.total
|
||||
} else {
|
||||
this.total = 0
|
||||
}
|
||||
}
|
||||
if (res.code === 510) {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 查询
|
||||
* */
|
||||
searchQuery() {
|
||||
this.queryParam.meetingStartTime = this.queryParam.meetingStartTime ? this.queryParam.meetingStartTime + ' ' + '00:00:00' : 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_end = this.queryParam.createTime_end ? this.queryParam.createTime_end + ' ' + '23:59:59' : undefined
|
||||
this.lastQueryParam = { ...this.queryParam }
|
||||
this.initData(1)
|
||||
},
|
||||
/*
|
||||
* 重置
|
||||
* */
|
||||
searchReset() {
|
||||
this.queryParam = {}
|
||||
this.lastQueryParam = {}
|
||||
this.pageNo = 1
|
||||
this.pageSize = 10
|
||||
this.initData(1)
|
||||
},
|
||||
/*
|
||||
* 上传凭证
|
||||
* */
|
||||
uploadPaymentRecord(item) {
|
||||
if (item) {
|
||||
this.$refs.upload.open(item)
|
||||
}
|
||||
},
|
||||
/*
|
||||
* 打开会议详情
|
||||
* */
|
||||
openMeetingDetail(item) {
|
||||
|
||||
// 可报名的点击应该是去报名
|
||||
// if (item.meetingSignUpType === 1) {
|
||||
// let url = `${window._CONFIG['singUpQRCodeURL']}?id=${item.id}`
|
||||
// window.open(url, '_blank')
|
||||
// } else {
|
||||
// 打开会议详情
|
||||
this.$refs.meetingDetail.open(item)
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.meeting-list {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.title {
|
||||
height: 56px;
|
||||
line-height: 56px;
|
||||
background: #fff;
|
||||
border-bottom: 2px solid #f2f2f2;
|
||||
padding: 0 20px;
|
||||
|
||||
.my-meeting {
|
||||
margin-left: 6px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/*内容begin*/
|
||||
.content {
|
||||
padding: 0 20px 20px 20px;
|
||||
}
|
||||
|
||||
.meeting—status {
|
||||
height: 56px;
|
||||
box-sizing: border-box;
|
||||
line-height: 56px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.inactive-status {
|
||||
user-select: none;
|
||||
padding: 0 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.active-status {
|
||||
background: #069f99;
|
||||
padding: 8px 20px;
|
||||
border-radius: 4px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.list {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
|
||||
& > i {
|
||||
width: 323px;
|
||||
}
|
||||
}
|
||||
|
||||
.item-meeting {
|
||||
position: relative;
|
||||
margin-bottom: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
color: #999;
|
||||
padding: 10px;
|
||||
width: 323px;
|
||||
height: 219px;
|
||||
opacity: 1;
|
||||
background: #ffffff;
|
||||
border-radius: 4px;
|
||||
box-shadow: -2px 0px 10px 10px rgba(51, 51, 51, 0.10);
|
||||
cursor: pointer;
|
||||
|
||||
& > p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
&-img > img {
|
||||
margin-right: 4px;
|
||||
margin-bottom: 2px;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
&-meetingName {
|
||||
color: #333;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
&-meetingCost {
|
||||
color: #FF5252;
|
||||
font-size: 22px;
|
||||
font-weight: 700;
|
||||
font-family: Acre, Acre-Medium;
|
||||
|
||||
& > span {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
&-meetingPaymode {
|
||||
.ant-btn {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.meeting-img-status {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.audit-img {
|
||||
transform: translate(-3px);
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
/*内容end*/
|
||||
|
||||
.fenye {
|
||||
background: #fff;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
float: right;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.list-empty {
|
||||
margin: 20px auto !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -2582,8 +2582,8 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
checkEffectDate: '',
|
||||
//todo 当前登录的会员账户在标协系统中的id 目前先写死zoey 后期通过接口调用
|
||||
loginUserId: '1413419593870872578',
|
||||
// 会员用户id
|
||||
loginUserId: this.$store.getters.userInfo.memberId,
|
||||
// loginUserId: JSON.parse(localStorage.getItem('pro__Login_Userinfo')).value.id,
|
||||
// 角色码
|
||||
// isMember: Vue.ls.get(USER_INFO).roleCode,
|
||||
|
||||
+13
-2
@@ -79,7 +79,7 @@ module.exports = {
|
||||
},
|
||||
|
||||
devServer: {
|
||||
port: 3001,
|
||||
port: 21826,
|
||||
proxy: {
|
||||
/* '/api': {
|
||||
target: 'https://mock.ihx.me/mock/5baf3052f7da7e07e04a5116/antd-pro', //mock API接口系统
|
||||
@@ -90,10 +90,21 @@ module.exports = {
|
||||
}
|
||||
},*/
|
||||
'/jero-boot': {
|
||||
target: 'http://localhost:8080', //请求本地 jero-boot后台项目
|
||||
// target: 'http://localhost:21824', //请求本地 jero-boot后台项目
|
||||
target: 'http://10.0.10.78:21824', //请求本地 jero-boot后台项目
|
||||
ws: false,
|
||||
changeOrigin: true
|
||||
},
|
||||
// 会员系统的路由转发
|
||||
'/memberApi': {
|
||||
// target: 'http://localhost:9000', //请求本地 jero-boot后台项目
|
||||
target: 'http://10.0.10.78:9000', //请求本地 jero-boot后台项目
|
||||
ws: false,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
'/memberApi': '/api' //默认所有请求都加了api前缀,需要去掉
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user