Merge branch '24年6月海外会议' into 24年6月功能安全中心
# Conflicts: # src/enums/commonEnums.js # src/views/incomePayments/meetManage/AddOrDetailMeet.vue # src/views/incomePayments/meetManage/Attendance.vue # src/views/incomePayments/meetManage/SignUpInfoEdit.vue # src/views/incomePayments/meetManage/modules/UploadMeetFileModal.vue # src/views/projectManagement/AllMeetingList.vue
This commit is contained in:
@@ -32,6 +32,8 @@ const getStandardNumberList = (params) => getAction('/meeting/standardsMeeting/g
|
||||
// 国际研讨会-WASIC-通过会议ID获取关联主题的信息
|
||||
const getLinkTopics = (params) => getAction('/meeting/internalMeeting/getLinkTopics', params)
|
||||
|
||||
// 通过id获取海外会议参会人详细信息
|
||||
const getSingUpUserInfoOverseas = (params) => getAction('/meeting/overseasSituation/queryById', params)
|
||||
|
||||
export {
|
||||
getUserInfo,
|
||||
@@ -46,5 +48,6 @@ export {
|
||||
addGenerateCodeList,
|
||||
editGenerateCodeList,
|
||||
getStandardNumberList,
|
||||
getLinkTopics
|
||||
getLinkTopics,
|
||||
getSingUpUserInfoOverseas
|
||||
}
|
||||
|
||||
@@ -89,8 +89,14 @@
|
||||
type:Number,
|
||||
required:false,
|
||||
default:0
|
||||
}
|
||||
},
|
||||
//update-end-author:wangshuai date:20201021 for:LOWCOD-969 新增number属性,用于判断上传数量
|
||||
// 限制的后缀数组
|
||||
fileTypeList: {
|
||||
type: Array,
|
||||
required: false,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
//透传给下级组件的事件,需要排除本组件使用的change事件
|
||||
@@ -190,6 +196,15 @@
|
||||
this.$message.warning('请上传图片')
|
||||
return false
|
||||
}
|
||||
// 限制文件类型
|
||||
if (this.fileTypeList && this.fileTypeList.length) {
|
||||
const tmpArr = file.name.split('.')
|
||||
const fileSuffix = tmpArr[tmpArr.length - 1].toLowerCase()
|
||||
if (!this.fileTypeList.some(t => t === fileSuffix)) {
|
||||
this.$message.warning('图片格式必须是' + this.fileTypeList.join(','))
|
||||
return false
|
||||
}
|
||||
}
|
||||
},
|
||||
handleChange(info) {
|
||||
this.picUrl = false
|
||||
|
||||
@@ -166,7 +166,8 @@ export default {
|
||||
// update-begin author:wangshuai date:20200601 for: 退出登录跳转登录页面
|
||||
that.$router.push({ path: '/user/login' })
|
||||
// update-end author:wangshuai date:20200601 for: 退出登录跳转登录页面
|
||||
//window.location.reload()
|
||||
// 退出登录必须要刷新页面,否则会保留上一个用户的菜单权限
|
||||
window.location.reload()
|
||||
}).catch(err => {
|
||||
that.$message.error({
|
||||
title: '错误',
|
||||
|
||||
@@ -404,7 +404,7 @@
|
||||
<template v-if="!isWasic">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="会议费用" :labelCol="labelCol" :wrapperCol="{ xs: {span: 24},sm: {span: 16}}">
|
||||
<!-- 起草组会议、功能安全中心会议费用默认0不可修改 -->
|
||||
<!-- 起草组会议、海外会议、功能安全中心会议费用默认0不可修改 -->
|
||||
<a-input placeholder="请输入会议费用"
|
||||
:maxLength='50'
|
||||
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"
|
||||
@@ -813,7 +813,7 @@ export default {
|
||||
return false
|
||||
}
|
||||
},
|
||||
// 是否应用安全中心来的
|
||||
// 是否功能安全中心来的
|
||||
isSafetyCenterId() {
|
||||
if (this.$route.query.safetyCenterId) {
|
||||
return true
|
||||
@@ -1215,7 +1215,8 @@ export default {
|
||||
* 添加会议联系人
|
||||
* */
|
||||
addMeetingContacts(index) {
|
||||
if (this.model.meetingContactsList.length >= 5) {
|
||||
// 国际研讨会不限制5个会议联系人
|
||||
if ((this.meetingType !== MeetingTypeEnums.internationalSeminar.value) && (this.model.meetingContactsList.length >= 5)) {
|
||||
this.$message.warning('最多添加5个会议联系人')
|
||||
return
|
||||
}
|
||||
@@ -1428,6 +1429,12 @@ export default {
|
||||
add: '/meeting/draftGroupMeeting/add',
|
||||
edit: '/meeting/draftGroupMeeting/edit'
|
||||
}
|
||||
// 海外会议
|
||||
case MeetingTypeEnums.overseas.value:
|
||||
return {
|
||||
add: '/meeting/overseas/add',
|
||||
edit: '/meeting/overseas/edit'
|
||||
}
|
||||
// 功能安全中心会议
|
||||
case MeetingTypeEnums.safetyCenter.value:
|
||||
return {
|
||||
|
||||
@@ -157,7 +157,8 @@
|
||||
<label>报名二维码:</label><img class="qr-code" :src="signUpQRCode" alt="报名二维码"/><i class="copy primary-color"
|
||||
@click="copy(showSignUpHref)">复制</i>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<!--海外会议没有签到-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="!isOverseasMeeting">
|
||||
<label>签到二维码:</label><img class="qr-code" :src="signInQRCode" alt="签到二维码"/>
|
||||
<!-- <i class="copy primary-color" @click="copy(signInUrl)">复制</i>-->
|
||||
</a-col>
|
||||
@@ -174,7 +175,7 @@
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" v-if="!isOverseasMeeting">
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="参会单位">
|
||||
<a-input placeholder="请输入参会单位" v-model="queryParam.companyName" :maxLength='50'></a-input>
|
||||
@@ -273,6 +274,56 @@
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<!-- 海外会议 -->
|
||||
<a-row :gutter="24" v-else>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="姓名">
|
||||
<a-input placeholder="请输入姓名" v-model="queryParam.name" :maxLength='50'></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="性别">
|
||||
<a-input placeholder="请输入性别" v-model="queryParam.sex" :maxLength='50'></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="国籍">
|
||||
<a-input placeholder="请输入国籍" v-model="queryParam.nationality" :maxLength='50'></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="单位">
|
||||
<a-input placeholder="请输入单位" v-model="queryParam.unit" :maxLength='50'></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="职务">
|
||||
<a-input placeholder="请输入职务" v-model="queryParam.post" :maxLength='50'></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="地址">
|
||||
<a-input placeholder="请输入地址" v-model="queryParam.address" :maxLength='50'></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="邮箱">
|
||||
<a-input placeholder="请输入邮箱" v-model="queryParam.email" :maxLength='50'></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="联系电话">
|
||||
<a-input placeholder="请输入联系电话" v-model="queryParam.phone" :maxLength='50'></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search"
|
||||
v-has:[authorCode.search]="'attendance:search'">查询</a-button>
|
||||
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- 查询区域-END -->
|
||||
@@ -572,6 +623,73 @@ export default {
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
],
|
||||
// 海外会议表格
|
||||
overseasMeetingColumns: [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '姓名',
|
||||
align: 'center',
|
||||
dataIndex: 'name',
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: '性别',
|
||||
align: 'center',
|
||||
dataIndex: 'sex',
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: '国籍',
|
||||
align: 'center',
|
||||
dataIndex: 'nationality',
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: '单位',
|
||||
align: 'center',
|
||||
dataIndex: 'unit',
|
||||
width: 200
|
||||
},
|
||||
{
|
||||
title: '职务',
|
||||
align: 'center',
|
||||
dataIndex: 'post',
|
||||
width: 200
|
||||
},
|
||||
{
|
||||
title: '地址',
|
||||
align: 'center',
|
||||
dataIndex: 'address',
|
||||
},
|
||||
{
|
||||
title: '邮箱',
|
||||
align: 'center',
|
||||
dataIndex: 'email',
|
||||
width: 200
|
||||
},
|
||||
{
|
||||
title: '联系电话',
|
||||
align: 'center',
|
||||
dataIndex: 'phone',
|
||||
width: 120
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 300,
|
||||
scopedSlots: { customRender: 'action' }
|
||||
}
|
||||
],
|
||||
// 权限编码
|
||||
authorCode: {},
|
||||
// 其他会议的参会情况的权限编码
|
||||
@@ -658,6 +776,18 @@ export default {
|
||||
auditSignUpInfo: 'draftGroupMeetingSituation:auditSignUp',
|
||||
guestsUploadFileFlag: 'draftGroupMeetingSituation:guestsUploadFileFlag'
|
||||
},
|
||||
// 海外会议的参会情况的权限编码
|
||||
overseasMeetingCode: {
|
||||
search: 'overseasMeetingSituation:search',
|
||||
add: 'overseasMeetingSituation:add',
|
||||
export: 'overseasMeetingSituation:export',
|
||||
batchDel: 'overseasMeetingSituation:batchDel',
|
||||
edit: 'overseasMeetingSituation:edit',
|
||||
delete: 'overseasMeetingSituation:delete',
|
||||
auditRecord: 'overseasMeetingSituation:auditCredentials',
|
||||
auditSignUpInfo: 'overseasMeetingSituation:auditSignUp',
|
||||
guestsUploadFileFlag: 'overseasMeetingSituation:guestsUploadFileFlag'
|
||||
},
|
||||
// 功能安全中心会议的参会情况的权限编码
|
||||
safetyCenterMeetingCode: {
|
||||
search: 'safetyCenterMeetingSituation:search',
|
||||
@@ -734,6 +864,14 @@ export default {
|
||||
exportXlsUrl: '/meeting/draftGroupMeetingSituation/exportXls',
|
||||
importExcelUrl: '/meeting/draftGroupMeetingSituation/importExcel'
|
||||
},
|
||||
// 海外会议的url
|
||||
overseasMeetingUrl: {
|
||||
list: '/meeting/overseasSituation/page',
|
||||
delete: '/meeting/overseasSituation/delete',
|
||||
deleteBatch: '/meeting/overseasSituation/deleteBatch',
|
||||
exportXlsUrl: '/meeting/overseasSituation/exportXls',
|
||||
importExcelUrl: '/meeting/overseasSituation/importExcel'
|
||||
},
|
||||
// 功能安全中心会议的url
|
||||
safetyCenterMeetingUrl: {
|
||||
list: '/meeting/safetyCenterMeeting/page',
|
||||
@@ -761,6 +899,10 @@ export default {
|
||||
},
|
||||
created() {
|
||||
// console.log(this.$route,'this.$route this.$route')
|
||||
// 海外会议处理表格
|
||||
if (this.isOverseasMeeting) {
|
||||
this.columns = this.overseasMeetingColumns
|
||||
}
|
||||
// 为不同会议的参会情况去设置不同的权限编码
|
||||
this.setCodeByMeetingType(this.$route.query.meetingType)
|
||||
// 获取会议详情
|
||||
@@ -777,7 +919,9 @@ export default {
|
||||
// 列表表头只有国际研讨会有对接人字段
|
||||
if (this.currentMeetingInfo.meetingType !== '3') {
|
||||
let index = this.columns.findIndex(item => item.dataIndex === 'dockName')
|
||||
this.columns.splice(index, 1)
|
||||
if (index !== -1) {
|
||||
this.columns.splice(index, 1)
|
||||
}
|
||||
}
|
||||
// 计算会议费用 会议费用为0 添加参会人不显示邮寄信息与缴费信息 标协会议
|
||||
if (this.currentMeetingInfo.meetingType === '2' && this.currentMeetingInfo.meetingCostsVip) {
|
||||
@@ -824,6 +968,10 @@ export default {
|
||||
this.signInQRCode = await this.generateQRCode(this.signInUrl)
|
||||
},
|
||||
computed: {
|
||||
// 是否海外会议
|
||||
isOverseasMeeting () {
|
||||
return this.$route.query.meetingType === MeetingTypeEnums.overseas.value
|
||||
},
|
||||
// 标协会议类型
|
||||
tbMeetingType() {
|
||||
if (this.currentMeetingInfo.tbMeetingType === '1') {
|
||||
@@ -854,7 +1002,10 @@ export default {
|
||||
return this.councilMeetingUrl
|
||||
case '7':
|
||||
return this.draftGroupMeetingUrl
|
||||
// 安全中心会议
|
||||
// 海外会议
|
||||
case MeetingTypeEnums.overseas.value:
|
||||
return this.overseasMeetingUrl
|
||||
// 功能安全中心会议
|
||||
case MeetingTypeEnums.safetyCenter.value:
|
||||
return this.safetyCenterMeetingUrl
|
||||
// 为了解决控制台报错写的
|
||||
@@ -942,8 +1093,10 @@ export default {
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
param['selections'] = this.selectedRowKeys.join(',')
|
||||
}
|
||||
// 增加特有的企业名称排序
|
||||
param.column = 'companyName'
|
||||
// 增加特有的企业名称排序,海外会议按创建时间
|
||||
if (!this.isOverseasMeeting) {
|
||||
param.column = 'companyName'
|
||||
}
|
||||
downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param)
|
||||
},
|
||||
/*
|
||||
@@ -957,8 +1110,13 @@ export default {
|
||||
* 添加参会人
|
||||
* */
|
||||
addParticipant() {
|
||||
let path = '/incomePayments/meetManage/SignUpInfoEdit'
|
||||
// 海外会议跳转另一个页面
|
||||
if (this.isOverseasMeeting) {
|
||||
path = '/incomePayments/meetManage/SignUpInfoEditOverseas'
|
||||
}
|
||||
this.$router.push({
|
||||
path: '/incomePayments/meetManage/SignUpInfoEdit',
|
||||
path,
|
||||
query: {
|
||||
meetingType: this.currentMeetingInfo.meetingType,
|
||||
meetingId: this.$route.query.id,
|
||||
@@ -970,8 +1128,13 @@ export default {
|
||||
* 编辑参会人
|
||||
* */
|
||||
handleEdit(record) {
|
||||
let path = '/incomePayments/meetManage/SignUpInfoEdit'
|
||||
// 海外会议跳转另一个页面
|
||||
if (this.isOverseasMeeting) {
|
||||
path = '/incomePayments/meetManage/SignUpInfoEditOverseas'
|
||||
}
|
||||
this.$router.push({
|
||||
path: '/incomePayments/meetManage/SignUpInfoEdit',
|
||||
path,
|
||||
query: {
|
||||
id: record.id,
|
||||
meetingId: this.$route.query.id,
|
||||
@@ -1061,6 +1224,8 @@ export default {
|
||||
return '理事会会议'
|
||||
case '7':
|
||||
return '起草组会议'
|
||||
case MeetingTypeEnums.overseas.value:
|
||||
return '海外会议'
|
||||
// 功能安全中心会议
|
||||
case MeetingTypeEnums.safetyCenter.value:
|
||||
return MeetingTypeEnums.safetyCenter.name
|
||||
@@ -1166,9 +1331,14 @@ export default {
|
||||
case '7':
|
||||
this.authorCode = Object.assign({}, this.draftGroupMeetingCode)
|
||||
break
|
||||
// 海外会议
|
||||
case MeetingTypeEnums.overseas.value:
|
||||
this.authorCode = Object.assign({}, this.overseasMeetingCode)
|
||||
break
|
||||
// 功能安全中心会议
|
||||
case MeetingTypeEnums.safetyCenter.value:
|
||||
this.authorCode = Object.assign({}, this.safetyCenterMeetingCode)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-row :gutter="24" type="flex">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<select-contacts :selected-company="selectedCompany"
|
||||
@@ -42,6 +42,15 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<!--国际研讨会-职务-->
|
||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === MeetingTypeEnums.internationalSeminar.value ">
|
||||
<a-form-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入职务"
|
||||
:maxLength='50'
|
||||
v-decorator="['post',validatorRules.post]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="身份" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<!--内部企业的时候不允许进行修改参会身份-->
|
||||
@@ -144,7 +153,6 @@
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
||||
<div class="center">
|
||||
<a-button class="submit" type="primary" @click="handleOk" v-preventclick>确定</a-button>
|
||||
<a-button @click="handleCancel">取消</a-button>
|
||||
@@ -185,6 +193,7 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
MeetingTypeEnums,
|
||||
description: '报名信息编辑页',
|
||||
form: this.$form.createForm(this),
|
||||
confirmLoading: false,
|
||||
@@ -233,8 +242,11 @@ export default {
|
||||
guestType:{
|
||||
rules: [{required: true, message: '请选择嘉宾类型'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
post: {
|
||||
rules: [{required: true, message: '请输入职务'}],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
|
||||
},
|
||||
// 身份类型
|
||||
identifyType: null,
|
||||
@@ -289,6 +301,11 @@ export default {
|
||||
add: '/meeting/draftGroupMeetingSituation/add',
|
||||
edit:'/meeting/draftGroupMeetingSituation/edit'
|
||||
},
|
||||
// 海外会议的url
|
||||
overseasMeetingUrl: {
|
||||
add: '/meeting/overseasSituation/add',
|
||||
edit: '/meeting/overseasSituation/edit'
|
||||
},
|
||||
// 功能安全中心会议的url
|
||||
safetyCenterMeetingUrl: {
|
||||
add: '/meeting/safetyCenterMeetingSituation/add',
|
||||
@@ -345,6 +362,10 @@ export default {
|
||||
return this.councilMeetingUrl
|
||||
case '7':
|
||||
return this.draftGroupMeetingUrl
|
||||
// 海外会议
|
||||
case MeetingTypeEnums.overseas.value:
|
||||
return this.overseasMeetingUrl
|
||||
// 功能安全中心会议
|
||||
case MeetingTypeEnums.safetyCenter.value:
|
||||
return this.safetyCenterMeetingUrl
|
||||
}
|
||||
|
||||
@@ -0,0 +1,498 @@
|
||||
<template>
|
||||
<div>
|
||||
<page-header-title :is-level-one="false" :level-two-title="title"></page-header-title>
|
||||
<a-card :bordered="false">
|
||||
<a-spin :spinning="confirmLoading">
|
||||
<!-- 海外会议单独的表单 -->
|
||||
<a-form :form="form">
|
||||
<!-- 海外会议的表单 -->
|
||||
<div class="item-title">个人信息</div>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="照片" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-image-upload v-decorator="['photo',validatorRules.photo]" :return-id="true"
|
||||
accept=".jpg,.jpeg,.png"
|
||||
:file-type-list="['jpg', 'jpeg', 'png']"></j-image-upload>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-row :gutter="24">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="姓名" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入姓名"
|
||||
:maxLength='50'
|
||||
v-decorator="['name',validatorRules.name]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入性别"
|
||||
:maxLength='50'
|
||||
v-decorator="['sex',validatorRules.sex]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="国籍" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入国籍"
|
||||
:maxLength='50'
|
||||
v-decorator="['nationality',validatorRules.nationality]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="单位" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入单位"
|
||||
:maxLength='50'
|
||||
v-decorator="['unit',validatorRules.unit]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24" key="post">
|
||||
<a-form-item label="职务" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入职务"
|
||||
:maxLength='50'
|
||||
v-decorator="['post',validatorRules.post]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入地址"
|
||||
:maxLength='50'
|
||||
v-decorator="['address',validatorRules.address]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="邮箱" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入邮箱"
|
||||
:maxLength='50'
|
||||
v-decorator="['email',validatorRules.email]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="联系电话" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入联系电话"
|
||||
:maxLength='50'
|
||||
v-decorator="['phone',validatorRules.phone]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="是否需要签证" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-dict-select-tag v-decorator="['needVisa',validatorRules.needVisa]"
|
||||
:triggerChange="true"
|
||||
placeholder="请选择是否需要签证"
|
||||
@change="changeNeedVisa"
|
||||
type="radio"
|
||||
dictCode="yn"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<template v-if="isNeedVisa">
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="出生日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择出生日期" style="width: 100%;"
|
||||
v-decorator="['birthday',validatorRules.birthday]"
|
||||
:trigger-change="true"
|
||||
show-type="day"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="护照号码" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入护照号码"
|
||||
:maxLength='50'
|
||||
v-decorator="['passportNo',validatorRules.passportNo]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="入境日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择入境日期" style="width: 100%;"
|
||||
v-decorator="['entryDate',validatorRules.entryDate]"
|
||||
:trigger-change="true"
|
||||
show-type="day"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="出境日期" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<j-date placeholder="请选择出境日期" style="width: 100%;"
|
||||
v-decorator="['exitDate',validatorRules.exitDate]"
|
||||
:trigger-change="true"
|
||||
show-type="day"
|
||||
date-format="YYYY-MM-DD"/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xxl="8" :xl="12" :sm="24">
|
||||
<a-form-item label="办理签证使领馆" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||
<a-input placeholder="请输入办理签证使领馆"
|
||||
:maxLength='50'
|
||||
v-decorator="['embassiesAndConsulates',validatorRules.embassiesAndConsulates]"></a-input>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</template>
|
||||
</a-row>
|
||||
|
||||
<div class="center">
|
||||
<a-button class="submit" type="primary" @click="handleOk" v-preventclick>确定</a-button>
|
||||
<a-button @click="handleCancel">取消</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getMeetInfoById, getSingUpUserInfoOverseas} from '@api/incomeMeetingApi'
|
||||
import {httpAction} from '@api/manage'
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import {LinkTopicsEnums, MeetingTypeEnums, YesOrNoEnums} from '../../../enums/commonEnums'
|
||||
import JImageUpload from '@comp/jero/JImageUpload'
|
||||
import JDate from '@comp/tools/JDate'
|
||||
import {isEmail} from '@/utils/validate'
|
||||
|
||||
export default {
|
||||
name: 'SignUpInfoEdit',
|
||||
components: {
|
||||
JDate,
|
||||
JImageUpload,
|
||||
PageHeaderTitle
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
MeetingTypeEnums,
|
||||
description: '海外会议报名信息编辑页',
|
||||
form: this.$form.createForm(this),
|
||||
confirmLoading: false,
|
||||
model: {},
|
||||
formData:{},
|
||||
labelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 6}
|
||||
},
|
||||
wrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 18}
|
||||
},
|
||||
remarksLabelCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 3}
|
||||
},
|
||||
remarksWrapperCol: {
|
||||
xs: {span: 24},
|
||||
sm: {span: 21}
|
||||
},
|
||||
validatorRules: {
|
||||
photo: {
|
||||
rules: [{required: true, message: '请上传照片'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
name: {
|
||||
rules: [{required: true, message: '请输入姓名'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
post: {
|
||||
rules: [{required: true, message: '请输入职务'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
unit: {
|
||||
rules: [{required: true, message: '请输入单位'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
international: {
|
||||
rules: [{required: true, message: '请输入国际'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
address: {
|
||||
rules: [{required: true, message: '请输入地址'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
email: {
|
||||
rules: [{ required: true, validator: this.checkMail }],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
phone: {
|
||||
rules: [{required: true, message: '请输入联系电话'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
needVisa: {
|
||||
rules: [{required: true, message: '请选择是否需要签证'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
foreignName: {
|
||||
rules: [{required: true, message: '请输入外文姓名'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
sex: {
|
||||
rules: [{required: true, message: '请输入性别'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
birthday: {
|
||||
rules: [{required: true, message: '请选择出生日期'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
nationality: {
|
||||
rules: [{required: true, message: '请输入国籍'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
passportNo: {
|
||||
rules: [{required: true, message: '请输入护照号码'}],
|
||||
validateTrigger: 'blur'
|
||||
},
|
||||
entryDate: {
|
||||
rules: [{required: true, message: '请选择入境日期'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
exitDate: {
|
||||
rules: [{required: true, message: '请选择出境日期'}],
|
||||
validateTrigger: 'change'
|
||||
},
|
||||
embassiesAndConsulates: {
|
||||
rules: [{required: true, message: '请输入办理签证使领馆'}],
|
||||
validateTrigger: 'blur'
|
||||
}
|
||||
},
|
||||
// 会议类型
|
||||
meetingType: '',
|
||||
// 当前会议的信息
|
||||
currentMeetingInfo:{},
|
||||
url:{
|
||||
add: '/meeting/overseasSituation/add',
|
||||
edit: '/meeting/overseasSituation/edit'
|
||||
},
|
||||
title:'添加参会人',
|
||||
// 是否需要签证
|
||||
isNeedVisa: false
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.meetingType = this.$route.query.meetingType
|
||||
// 参会情况页面判断的是否会议费用为0 true 为0
|
||||
if(this.$route.query.costBool === 'true'){
|
||||
this.meetingCostBool = true
|
||||
}else if(this.$route.query.costBool === 'false'){
|
||||
this.meetingCostBool = false
|
||||
}
|
||||
if(this.$route.query.id){
|
||||
getSingUpUserInfoOverseas({id: this.$route.query.id}).then(res => {
|
||||
if(res.success) {
|
||||
this.edit(res.result)
|
||||
}
|
||||
})
|
||||
}
|
||||
//获取 会议信息
|
||||
if(this.$route.query.meetingId){
|
||||
this.queryMeetingInfo(this.$route.query.meetingId)
|
||||
}
|
||||
|
||||
},
|
||||
computed:{
|
||||
// 是否海外会议,报名信息调整
|
||||
isOverseasMeeting () {
|
||||
return this.meetingType + '' === MeetingTypeEnums.overseas.value
|
||||
},
|
||||
// eslint-disable-next-line
|
||||
url() {
|
||||
switch (this.$route.query.meetingType) {
|
||||
case '1':
|
||||
return this.workGroupMeetingUrl
|
||||
case '2':
|
||||
return this.standardsMeetingUrl
|
||||
case '3':
|
||||
return this.internalMeetingUrl
|
||||
case '4':
|
||||
return this.otherMeetingUrl
|
||||
case '5':
|
||||
return this.committeeMeetingUrl
|
||||
case '6':
|
||||
return this.councilMeetingUrl
|
||||
case '7':
|
||||
return this.draftGroupMeetingUrl
|
||||
// 海外会议
|
||||
case MeetingTypeEnums.overseas.value:
|
||||
return this.overseasMeetingUrl
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
// 是否需要签证改变
|
||||
changeNeedVisa (val) {
|
||||
if (val + '' === YesOrNoEnums.yes.value) {
|
||||
this.isNeedVisa = true
|
||||
} else {
|
||||
this.isNeedVisa = false
|
||||
}
|
||||
},
|
||||
// 验证选择会议名称的情况
|
||||
checkChoiceTopic(rules, value, callback) {
|
||||
console.log(value)
|
||||
let arr = []
|
||||
if (value && value.length > 0) {
|
||||
arr = [...value]
|
||||
}
|
||||
let radioKey = this.form.getFieldValue('radioKey')
|
||||
let radioKeyTwo = this.form.getFieldValue('radioKeyTwo')
|
||||
if(radioKey || radioKeyTwo) {
|
||||
callback()
|
||||
} else {
|
||||
arr = arr.filter(tt => tt !== LinkTopicsEnums.freeTwo.index + '')
|
||||
if(arr.length === 0) {
|
||||
callback('请至少选择一个非参观类会议')
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
},
|
||||
/*
|
||||
* 编辑
|
||||
* */
|
||||
async edit(record){
|
||||
this.form.resetFields()
|
||||
this.model = Object.assign({},record)
|
||||
if(this.model.id){
|
||||
this.title = '编辑参会人'
|
||||
}
|
||||
// 海外会议回显单独处理
|
||||
this.changeNeedVisa(this.model.needVisa)
|
||||
this.$nextTick(() => {
|
||||
this.form.setFieldsValue(this.model)
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 确定
|
||||
* */
|
||||
handleOk() {
|
||||
const that = this
|
||||
this.form.validateFields((err, values) => {
|
||||
if (!err) {
|
||||
this.confirmLoading = true
|
||||
let submitData = Object.assign({},values,this.formData)
|
||||
// 会议id
|
||||
submitData.meetingId = this.$route.query.meetingId
|
||||
// 会议类型
|
||||
submitData.meetingType = this.$route.query.meetingType
|
||||
console.log(submitData)
|
||||
let url = ''
|
||||
if(!this.model.id){
|
||||
url = this.url.add
|
||||
}else {
|
||||
url = this.url.edit
|
||||
// 编辑的时候需要传入id
|
||||
submitData.id = this.model.id
|
||||
}
|
||||
// that.confirmLoading = false
|
||||
// return
|
||||
let method = 'post'
|
||||
httpAction(url,submitData,method).then(res => {
|
||||
if(res.success){
|
||||
that.$emit('ok')
|
||||
that.handleCancel()
|
||||
that.$message.success(res.message)
|
||||
that.confirmLoading = false
|
||||
}else {
|
||||
that.$message.warn(res.message)
|
||||
}
|
||||
}).finally( () => {
|
||||
that.confirmLoading = false
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 获取表单的值
|
||||
* */
|
||||
getFormData(value){
|
||||
this.formData = Object.assign({},value)
|
||||
},
|
||||
/*
|
||||
* 取消
|
||||
* */
|
||||
handleCancel() {
|
||||
this.$router.go(-1)
|
||||
},
|
||||
/**
|
||||
* @Description 通过会议id获取会议信息
|
||||
* @Date 2021-11-29
|
||||
* @param meetingId 会议id
|
||||
* @author fac
|
||||
* */
|
||||
queryMeetingInfo(meetingId){
|
||||
this.currentMeetingInfo = {}
|
||||
getMeetInfoById({id: meetingId}).then(res => {
|
||||
if(res.success){
|
||||
this.currentMeetingInfo = res.result
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 邮箱校验
|
||||
* @param rules
|
||||
* @param value
|
||||
* @param callback
|
||||
*/
|
||||
checkMail(rules, value, callback) {
|
||||
if (value) {
|
||||
if (isEmail(value)) {
|
||||
callback()
|
||||
} else {
|
||||
callback('请输入正确格式的邮箱')
|
||||
}
|
||||
}
|
||||
callback('请输入邮箱')
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.center {
|
||||
text-align: center;
|
||||
|
||||
.submit {
|
||||
margin-right: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
.item-title {
|
||||
padding-left: 40px;
|
||||
box-sizing: border-box;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
color: #333;
|
||||
position: relative;
|
||||
font-size: 16px;
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
background: #069f99;
|
||||
top: 50%;
|
||||
margin-top: -5px;
|
||||
left: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
// 国际研讨会-关联会议 多选样式的修改
|
||||
.meeting-form-multi-select{
|
||||
.topic-title{
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
/deep/.ant-checkbox-wrapper + .ant-checkbox-wrapper {
|
||||
margin-left: 0!important;
|
||||
}
|
||||
/deep/ .ant-checkbox-wrapper,
|
||||
/deep/ .ant-radio-wrapper{
|
||||
margin-right: 8px;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.radio-div{
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.2);
|
||||
padding-top: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -209,6 +209,12 @@ export default {
|
||||
uploadFile: '/meeting/draftGroupMeeting/uploadFile',
|
||||
uploadCouncilFile: '/meeting/draftGroupMeeting/uploadCouncilFile',
|
||||
}
|
||||
// 海外会议
|
||||
case MeetingTypeEnums.overseas.value:
|
||||
return {
|
||||
uploadFile: '/meeting/overseas/uploadFile',
|
||||
uploadCouncilFile: '/meeting/overseas/uploadCouncilFile',
|
||||
}
|
||||
// 安全中心会议
|
||||
case MeetingTypeEnums.safetyCenter.value:
|
||||
return {
|
||||
|
||||
@@ -297,6 +297,8 @@ export default {
|
||||
pathMap.set('5','/incomePayments/meetManage/AttendanceCommitteeMeeting')
|
||||
pathMap.set('6','/incomePayments/meetManage/AttendanceCouncilMeeting')
|
||||
pathMap.set('7','/incomePayments/meetManage/AttendanceDraftGroupMeeting')
|
||||
// 海外会议
|
||||
pathMap.set(MeetingTypeEnums.overseas.value,'/incomePayments/meetManage/AttendanceOverseasMeeting')
|
||||
// 功能安全中心会议
|
||||
pathMap.set(MeetingTypeEnums.safetyCenter.value,'/incomePayments/meetManage/AttendanceFunctionalSafetyCenter')
|
||||
this.$router.push({
|
||||
|
||||
@@ -0,0 +1,328 @@
|
||||
<template>
|
||||
<div>
|
||||
<page-header-title :img-for-icon="IconImg"></page-header-title>
|
||||
<a-card :bordered="false">
|
||||
<!-- 查询区域 -->
|
||||
<div class="table-page-search-wrapper">
|
||||
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
||||
<a-row :gutter="24">
|
||||
<a-col :xl="6" :lg="7" :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 :xl="10" :lg="11" :md="12" :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="6" :lg="7" :md="8" :sm="24">
|
||||
<a-form-item label="年份">
|
||||
<j-year-date style="width: 100%" placeholder="请选择年份" v-model="queryParam.particularYear"></j-year-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="10" :lg="11" :md="12" :sm="24">
|
||||
<a-form-item label="创建时间">
|
||||
<j-date
|
||||
placeholder="请选择开始日期"
|
||||
class="query-group-cust"
|
||||
v-model="queryParam.createTime_begin"
|
||||
:disabled-date="disabledStartCreateDate">
|
||||
</j-date>
|
||||
<span class="query-group-split-cust"></span>
|
||||
<j-date
|
||||
placeholder="请选择结束日期"
|
||||
class="query-group-cust"
|
||||
v-model="queryParam.createTime_end"
|
||||
:disabled-date="disabledEndCreateDate">
|
||||
</j-date>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xl="6" :lg="7" :md="8" :sm="24">
|
||||
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-button type="primary" @click="searchQuery" icon="search" v-has="'overseasMeeting:search'">查询</a-button>
|
||||
<a-button @click="searchReset" icon="reload" class="reset-button" style="margin-left: 8px">重置</a-button>
|
||||
</span>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</div>
|
||||
<!-- 查询区域-END -->
|
||||
|
||||
<!-- 操作按钮区域 -->
|
||||
<div class="table-operator">
|
||||
<a-button @click="handleAdd" type="primary" icon="plus" v-has="'overseasMeeting:add'">新增</a-button>
|
||||
<a-button type="primary" icon="download" @click="handleExportXls('海外会议')" v-has="'overseasMeeting:export'">导出
|
||||
</a-button>
|
||||
<a-button type="danger" icon="delete" @click="batchDel" v-has="'overseasMeeting:batchDel'">批量删除</a-button>
|
||||
<!--<a-button @click="releaseMeeing" type="primary" v-has="'overseasMeeting:publish'">发布</a-button>-->
|
||||
</div>
|
||||
|
||||
<!-- table区域-begin -->
|
||||
<div>
|
||||
|
||||
<a-table
|
||||
ref="table"
|
||||
size="middle"
|
||||
bordered
|
||||
rowKey="id"
|
||||
:scroll="{x:true}"
|
||||
:columns="columns"
|
||||
:dataSource="dataSource"
|
||||
:pagination="ipagination"
|
||||
:loading="loading"
|
||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||
class="j-table-force-nowrap"
|
||||
@change="handleTableChange">
|
||||
|
||||
<template slot="htmlSlot" slot-scope="text,record">
|
||||
<j-ellipsis v-if="text" class="primary-color" @click="toAttendance(record)" :value="text"
|
||||
:length="20"></j-ellipsis>
|
||||
<span v-else></span>
|
||||
</template>
|
||||
|
||||
<template slot="text" slot-scope="text">
|
||||
<j-ellipsis v-if="text" :value="text" :length="20"></j-ellipsis>
|
||||
<span v-else></span>
|
||||
</template>
|
||||
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
||||
<!--会议需要发布才能让企业人员看见 已发布状态禁用按钮 -->
|
||||
<!--调整为页面级按钮-->
|
||||
<!-- <a @click="releaseMeeing(record)" v-has=" '' " :disabled="record.isRelease === 1 ">发布</a>-->
|
||||
<a @click="handleUploadFile(record,'1')" v-has="'overseasMeeting:uploadCouncil'">会议纪要</a>
|
||||
<a @click="handleUploadFile(record,'2')" v-has="'overseasMeeting:upload'">上传文件</a>
|
||||
<!-- <a @click="handleSignup(record)">报名信息</a>-->
|
||||
<a @click="handleEdit(record)" v-has="'overseasMeeting:edit'">编辑</a>
|
||||
<a @click="handleDelete(record.id)" v-has="'overseasMeeting:delete'">删除</a>
|
||||
</span>
|
||||
</a-table>
|
||||
</div>
|
||||
<!-- <meet-modal ref="modalForm" @ok="modalFormOk"></meet-modal>-->
|
||||
<upload-meet-file-modal ref="modalForm" @ok="modalFormOk"></upload-meet-file-modal>
|
||||
</a-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {mixinDevice} from '@/utils/mixin'
|
||||
import {JeroListMixin} from '@/mixins/JeroListMixin'
|
||||
import {RangeDateMixin} from '@/mixins/RangeDateMixin'
|
||||
import JYearDate from '@comp/jero/JYearDate'
|
||||
import UploadMeetFileModal from '@views/incomePayments/meetManage/modules/UploadMeetFileModal'
|
||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||
import IconImg from '@/assets/imgs/icon/icon_other_meeting.png'
|
||||
import '@/assets/less/TableExpand.less'
|
||||
import JDate from '@comp/tools/JDate'
|
||||
import moment from 'moment'
|
||||
import {MeetingTypeEnums} from '@/enums/commonEnums'
|
||||
|
||||
export default {
|
||||
name: 'OverseasMeeting',
|
||||
mixins: [JeroListMixin, mixinDevice, RangeDateMixin],
|
||||
components: {
|
||||
JYearDate,
|
||||
UploadMeetFileModal,
|
||||
PageHeaderTitle,
|
||||
JDate,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
description: '海外会议',
|
||||
IconImg,
|
||||
columns: [
|
||||
{
|
||||
title: '序号',
|
||||
dataIndex: '',
|
||||
key: 'rowIndex',
|
||||
width: 60,
|
||||
align: 'center',
|
||||
customRender: function (t, r, index) {
|
||||
return parseInt(index) + 1
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '会议名称',
|
||||
align: 'center',
|
||||
dataIndex: 'meetingName',
|
||||
scopedSlots: {customRender: 'htmlSlot'},
|
||||
width: 220,
|
||||
},
|
||||
{
|
||||
title: '会议类型',
|
||||
align: 'center',
|
||||
dataIndex: 'meetingType_dictText',
|
||||
width: 120,
|
||||
scopedSlots: {customRender: 'text'}
|
||||
},
|
||||
{
|
||||
title: '负责人',
|
||||
align: 'center',
|
||||
dataIndex: 'directorName',
|
||||
width: 160,
|
||||
scopedSlots: {customRender: 'text'},
|
||||
},
|
||||
{
|
||||
title: '召开时间',
|
||||
align: 'center',
|
||||
dataIndex: 'startTime',
|
||||
width: 220,
|
||||
customRender: (text, record) => (
|
||||
<j-ellipsis value={record.startTime + '~' + record.endTime} length={20}></j-ellipsis>)
|
||||
},
|
||||
{
|
||||
title: '召开地点',
|
||||
align: 'center',
|
||||
dataIndex: 'venue',
|
||||
width: 240,
|
||||
customRender: (text, record) => (<j-ellipsis value={text + '/' + record.address} length={20}></j-ellipsis>)
|
||||
},
|
||||
{
|
||||
title: '年份',
|
||||
align: 'center',
|
||||
dataIndex: 'particularYear',
|
||||
width: 120,
|
||||
scopedSlots: {customRender: 'text'}
|
||||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
align: 'center',
|
||||
dataIndex: 'createTime',
|
||||
scopedSlots: {customRender: 'text'}
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
align: 'center',
|
||||
fixed: 'right',
|
||||
width: 180,
|
||||
scopedSlots: {customRender: 'action'}
|
||||
},
|
||||
],
|
||||
dateKeyObj: {
|
||||
beginKey: 'meetingStartTime',
|
||||
endKey: 'meetingEndTime'
|
||||
},
|
||||
url: {
|
||||
list: '/meeting/overseas/page',
|
||||
delete: '/meeting/overseas/delete',
|
||||
deleteBatch: '/meeting/overseas/deleteBatch',
|
||||
exportXlsUrl: '/meeting/overseas/exportXls',
|
||||
releaseMeeingUrl: '/meeting/overseas/publishReminder'// 发布会议的接口
|
||||
},
|
||||
disableMixinCreated: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.filters.meetingType = MeetingTypeEnums.overseas.value
|
||||
this.loadData(1)
|
||||
},
|
||||
methods: {
|
||||
/*
|
||||
* 上传会议文件
|
||||
* */
|
||||
handleUploadFile(record, type) {
|
||||
this.$refs.modalForm.edit(record, type)
|
||||
},
|
||||
/*
|
||||
* 报名信息
|
||||
* */
|
||||
handleSignup() {
|
||||
this.$router.push({
|
||||
path: '/incomePayments/meetManage/SignUpInfoList'
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 修改查询条件
|
||||
* */
|
||||
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}
|
||||
if(this.lastQueryParam.meetingStartTime) this.lastQueryParam.meetingStartTime = this.lastQueryParam.meetingStartTime + ' ' + '00:00:00'
|
||||
if(this.lastQueryParam.meetingEndTime) this.lastQueryParam.meetingEndTime = this.lastQueryParam.meetingEndTime + ' ' + '23:59:59'
|
||||
if(this.lastQueryParam.createTime_begin) this.lastQueryParam.createTime_begin = this.lastQueryParam.createTime_begin + ' ' + '00:00:00'
|
||||
if(this.lastQueryParam.createTime_end) this.lastQueryParam.createTime_end = this.lastQueryParam.createTime_end + ' ' + '23:59:59'
|
||||
this.loadData(1)
|
||||
},
|
||||
/*
|
||||
* 编辑
|
||||
* /incomePayments/meetManage/AddOrDetailMeet
|
||||
* */
|
||||
handleEdit(record) {
|
||||
this.$router.push({
|
||||
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
||||
query: {
|
||||
id: record.id,
|
||||
}
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 新增
|
||||
* */
|
||||
handleAdd() {
|
||||
this.$router.push({
|
||||
path: '/incomePayments/meetManage/AddOrDetailMeet',
|
||||
query: {
|
||||
meetingType: MeetingTypeEnums.overseas.value
|
||||
}
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 参会情况
|
||||
* */
|
||||
toAttendance(record) {
|
||||
this.$router.push({
|
||||
path: '/incomePayments/meetManage/AttendanceOverseasMeeting',
|
||||
query: {
|
||||
id: record.id,
|
||||
meetingName: record.meetingName,
|
||||
meetingType: MeetingTypeEnums.overseas.value
|
||||
}
|
||||
})
|
||||
},
|
||||
/*
|
||||
* 创建时间开始禁用
|
||||
* */
|
||||
disabledStartCreateDate(startValue) {
|
||||
const endValue = this.queryParam.createTime_end && moment(this.queryParam.createTime_end, this.rangeDateFormat.end)
|
||||
if (!startValue || !endValue) {
|
||||
return false
|
||||
}
|
||||
return startValue.valueOf() > endValue.valueOf()
|
||||
},
|
||||
/*
|
||||
* 创建时间结束禁用
|
||||
* */
|
||||
disabledEndCreateDate(endValue) {
|
||||
const startValue = this.queryParam.createTime_begin && moment(this.queryParam.createTime_begin, this.rangeDateFormat.begin)
|
||||
if (!endValue || !startValue) {
|
||||
return false
|
||||
}
|
||||
return startValue.valueOf() > endValue.valueOf()
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@assets/less/common.less';
|
||||
|
||||
.primary-color {
|
||||
color: #069f99;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user