【开发】五种会议的上传会议纪要
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<keep-alive :include="includedComponents">
|
<keep-alive :include="includedComponents">
|
||||||
<router-view v-if="keepAlive" />
|
<router-view v-if="keepAlive" />
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
<router-view v-if="!keepAlive" />
|
<router-view :key="$route.fullPath" v-if="!keepAlive" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -22,10 +22,10 @@
|
|||||||
<div style="margin: 12px 12px 0; overflow-x: auto">
|
<div style="margin: 12px 12px 0; overflow-x: auto">
|
||||||
<!-- update-begin-author:taoyan date:20201221 for:此处删掉transition标签 不知道为什么加上后 页面路由切换的时候即1及菜单切到2及菜单的时候 两个菜单页面会同时出现300-500秒左右 -->
|
<!-- update-begin-author:taoyan date:20201221 for:此处删掉transition标签 不知道为什么加上后 页面路由切换的时候即1及菜单切到2及菜单的时候 两个菜单页面会同时出现300-500秒左右 -->
|
||||||
<keep-alive v-if="multipage">
|
<keep-alive v-if="multipage">
|
||||||
<router-view v-if="reloadFlag"/>
|
<router-view :key="$route.fullPath" v-if="reloadFlag"/>
|
||||||
</keep-alive>
|
</keep-alive>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<router-view v-if="reloadFlag"/>
|
<router-view :key="$route.fullPath" v-if="reloadFlag"/>
|
||||||
</template>
|
</template>
|
||||||
<!-- update-end-author:taoyan date:20201221 for:此处删掉transition标签 不知道为什么加上后 页面路由切换的时候即1及菜单切到2及菜单的时候 两个菜单页面会同时出现300-500秒左右 -->
|
<!-- update-end-author:taoyan date:20201221 for:此处删掉transition标签 不知道为什么加上后 页面路由切换的时候即1及菜单切到2及菜单的时候 两个菜单页面会同时出现300-500秒左右 -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -239,8 +239,7 @@
|
|||||||
v-decorator="['directorPhone']"></a-input>
|
v-decorator="['directorPhone']"></a-input>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<!--标协会议才有-->
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
|
|
||||||
<a-form-item label="酒店名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="酒店名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入酒店名称"
|
<a-input placeholder="请输入酒店名称"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
@@ -249,7 +248,7 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
<!--标协会议才有-->
|
<!--标协会议才有-->
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<a-form-item label="酒店地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="酒店地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
<a-input placeholder="请输入酒店地址"
|
<a-input placeholder="请输入酒店地址"
|
||||||
:maxLength='50'
|
:maxLength='50'
|
||||||
@@ -259,7 +258,8 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<!--标协会议-->
|
<!--标协会议-->
|
||||||
<section v-if="meetingType === '2'">
|
<!--变更后所有的会议都有酒店信息管理了-->
|
||||||
|
<section>
|
||||||
<a-row :gutter="24" v-for="(hotel, index) in model.hotelContactsList" :key="index">
|
<a-row :gutter="24" v-for="(hotel, index) in model.hotelContactsList" :key="index">
|
||||||
<a-col :xxl="8" :xl="10" :md="12">
|
<a-col :xxl="8" :xl="10" :md="12">
|
||||||
<a-form-item label="酒店联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-form-item label="酒店联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
||||||
@@ -333,9 +333,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getUserInfo, getMeetInfoById } from '@api/incomeMeetingApi'
|
import {getUserInfo, getMeetInfoById} from '@api/incomeMeetingApi'
|
||||||
import { isRepeat } from '@/utils/util'
|
import {isRepeat} from '@/utils/util'
|
||||||
import { httpAction } from '@api/manage'
|
import {httpAction} from '@api/manage'
|
||||||
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
import JDictSelectTag from '@comp/dict/JDictSelectTag'
|
||||||
import JYearDate from '@comp/jero/JYearDate'
|
import JYearDate from '@comp/jero/JYearDate'
|
||||||
import JUpload from '@comp/jero/JUpload'
|
import JUpload from '@comp/jero/JUpload'
|
||||||
@@ -348,9 +348,9 @@ import pick from 'lodash.pick'
|
|||||||
import meetingValidate from '@views/incomePayments/meetManage/meetingValidate'
|
import meetingValidate from '@views/incomePayments/meetManage/meetingValidate'
|
||||||
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
|
||||||
import JImageUpload from '@comp/jero/JImageUpload'
|
import JImageUpload from '@comp/jero/JImageUpload'
|
||||||
import { checkMeetingName } from '@/utils/validateOnly'
|
import {checkMeetingName} from '@/utils/validateOnly'
|
||||||
import { addZero } from '@/utils/util'
|
import {addZero} from '@/utils/util'
|
||||||
import { money } from '@/utils/validate'
|
import {money} from '@/utils/validate'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AddOrDetailMeet',
|
name: 'AddOrDetailMeet',
|
||||||
@@ -373,26 +373,26 @@ export default {
|
|||||||
form: this.$form.createForm(this),
|
form: this.$form.createForm(this),
|
||||||
model: {},
|
model: {},
|
||||||
labelCol: {
|
labelCol: {
|
||||||
xxl: { span: 7 },
|
xxl: {span: 7},
|
||||||
xs: { span: 24 },
|
xs: {span: 24},
|
||||||
sm: { span: 6 }
|
sm: {span: 6}
|
||||||
},
|
},
|
||||||
wrapperCol: {
|
wrapperCol: {
|
||||||
xxl: { span: 17 },
|
xxl: {span: 17},
|
||||||
xs: { span: 24 },
|
xs: {span: 24},
|
||||||
sm: { span: 18 }
|
sm: {span: 18}
|
||||||
},
|
},
|
||||||
remarksLabelCol: {
|
remarksLabelCol: {
|
||||||
xxl: { span: 3 },
|
xxl: {span: 3},
|
||||||
xl: { span: 4 },
|
xl: {span: 4},
|
||||||
xs: { span: 24 },
|
xs: {span: 24},
|
||||||
sm: { span: 3 }
|
sm: {span: 3}
|
||||||
},
|
},
|
||||||
remarksWrapperCol: {
|
remarksWrapperCol: {
|
||||||
xxl: { span: 21 },
|
xxl: {span: 21},
|
||||||
xl: { span: 20 },
|
xl: {span: 20},
|
||||||
xs: { span: 24 },
|
xs: {span: 24},
|
||||||
sm: { span: 21 }
|
sm: {span: 21}
|
||||||
},
|
},
|
||||||
// 详细地址
|
// 详细地址
|
||||||
address: '',
|
address: '',
|
||||||
@@ -400,32 +400,32 @@ export default {
|
|||||||
validateInviteCode: {
|
validateInviteCode: {
|
||||||
invitationCode: {
|
invitationCode: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, validator: this.validateCode }
|
{required: true, validator: this.validateCode}
|
||||||
],
|
],
|
||||||
validateTrigger: ['blur']
|
validateTrigger: ['blur']
|
||||||
},
|
},
|
||||||
meetingName: {
|
meetingName: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, validator: this.validaeMeetingName }
|
{required: true, validator: this.validaeMeetingName}
|
||||||
],
|
],
|
||||||
validateTrigger: ['blur']
|
validateTrigger: ['blur']
|
||||||
},
|
},
|
||||||
particularYear: {
|
particularYear: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, validator: this.validateYear }
|
{required: true, validator: this.validateYear}
|
||||||
],
|
],
|
||||||
validateTrigger: ['blur', 'change'],
|
validateTrigger: ['blur', 'change'],
|
||||||
initialValue: this.$store.getters.currentYear
|
initialValue: this.$store.getters.currentYear
|
||||||
},
|
},
|
||||||
meetingCosts: {
|
meetingCosts: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, validator: this.validateMeetingCosts }
|
{required: true, validator: this.validateMeetingCosts}
|
||||||
],
|
],
|
||||||
validateTrigger: ['blur']
|
validateTrigger: ['blur']
|
||||||
},
|
},
|
||||||
meetingCostsVip: {
|
meetingCostsVip: {
|
||||||
rules: [
|
rules: [
|
||||||
{ required: true, validator: this.validateMeetingCostsVip }
|
{required: true, validator: this.validateMeetingCostsVip}
|
||||||
],
|
],
|
||||||
validateTrigger: ['blur']
|
validateTrigger: ['blur']
|
||||||
}
|
}
|
||||||
@@ -470,7 +470,7 @@ export default {
|
|||||||
this.pcaData = new AreaPca()
|
this.pcaData = new AreaPca()
|
||||||
// 编辑获取会议信息 有id就是编辑走编辑
|
// 编辑获取会议信息 有id就是编辑走编辑
|
||||||
if (this.$route.query.id) {
|
if (this.$route.query.id) {
|
||||||
getMeetInfoById({ id: this.$route.query.id }).then(res => {
|
getMeetInfoById({id: this.$route.query.id}).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.edit(res.result)
|
this.edit(res.result)
|
||||||
}
|
}
|
||||||
@@ -503,20 +503,18 @@ export default {
|
|||||||
// 编辑根据接口返回的会议类型获取不同的会议url
|
// 编辑根据接口返回的会议类型获取不同的会议url
|
||||||
this.url = this.createUrlByMeetingType(this.meetingType)
|
this.url = this.createUrlByMeetingType(this.meetingType)
|
||||||
// 判断会议费用是否为 0 缴费二维码显示
|
// 判断会议费用是否为 0 缴费二维码显示
|
||||||
if(this.model.meetingCosts === '0.00' ){
|
if (this.model.meetingCosts === '0.00') {
|
||||||
this.QRcodeBool = false
|
this.QRcodeBool = false
|
||||||
}else {
|
} else {
|
||||||
this.QRcodeBool = true
|
this.QRcodeBool = true
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.title = '新增会议'
|
this.title = '新增会议'
|
||||||
// 如果是标协会会议需要显示酒店联系人
|
// 所有的会议都显示酒店联系人
|
||||||
if (this.$route.query.meetingType && this.$route.query.meetingType === '2') {
|
this.model.hotelContactsList = [{
|
||||||
this.model.hotelContactsList = [{
|
hotelContacts: '',
|
||||||
hotelContacts: '',
|
hotelContactsPhone: ''
|
||||||
hotelContactsPhone: ''
|
}]
|
||||||
}]
|
|
||||||
}
|
|
||||||
// 新增取路由参数
|
// 新增取路由参数
|
||||||
this.meetingType = this.$route.query.meetingType
|
this.meetingType = this.$route.query.meetingType
|
||||||
// 新增根据路由参数 会议类型更换不同的接口
|
// 新增根据路由参数 会议类型更换不同的接口
|
||||||
@@ -539,12 +537,12 @@ export default {
|
|||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
// 加定时器是因为有可能赋值不成功
|
// 加定时器是因为有可能赋值不成功
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.form.setFieldsValue(pick(this.model, 'notice', 'paymentQrCode', 'meetingName', 'meetingType', 'convokeTime', 'particularYear', 'estimatedNumber', 'meetingFiles', 'registerDeadline', 'meetingContent', 'convokeLocale', 'address', 'meetingCosts', 'directorId', 'remark', 'directorPhone')), 200
|
this.form.setFieldsValue(pick(this.model, 'notice','hotelContactsList', 'paymentQrCode', 'meetingName', 'meetingType', 'convokeTime', 'particularYear', 'estimatedNumber', 'meetingFiles', 'registerDeadline', 'meetingContent', 'convokeLocale', 'address', 'meetingCosts', 'directorId', 'remark', 'directorPhone')), 200
|
||||||
})
|
})
|
||||||
// 如果是标协会议则回显 标协会议的字段
|
// 如果是标协会议则回显 标协会议的字段
|
||||||
if (this.meetingType === '2') {
|
if (this.meetingType === '2') {
|
||||||
console.log('this.model', this.model)
|
console.log('this.model', this.model)
|
||||||
this.form.setFieldsValue(pick(this.model, 'signInTime', 'hotelContactsList', 'tbMeetingType', 'meetingCostsVip', 'hotelName', 'hotelAddress'))
|
this.form.setFieldsValue(pick(this.model, 'signInTime', 'tbMeetingType', 'meetingCostsVip', 'hotelName', 'hotelAddress'))
|
||||||
}
|
}
|
||||||
// 如果是工作组会议 赋值工作组
|
// 如果是工作组会议 赋值工作组
|
||||||
if (this.meetingType === '1') {
|
if (this.meetingType === '1') {
|
||||||
@@ -578,7 +576,7 @@ export default {
|
|||||||
httpurl = this.url.add
|
httpurl = this.url.add
|
||||||
}
|
}
|
||||||
let placeName = values.convokeLocale
|
let placeName = values.convokeLocale
|
||||||
const formData = Object.assign(this.model, values, { venue: this.getPcaText(placeName) })
|
const formData = Object.assign(this.model, values, {venue: this.getPcaText(placeName)})
|
||||||
// 如果会议的费用未为0 不能上传缴费凭证
|
// 如果会议的费用未为0 不能上传缴费凭证
|
||||||
if (values.meetingCosts === '0.00') {
|
if (values.meetingCosts === '0.00') {
|
||||||
delete formData.paymentQrCode
|
delete formData.paymentQrCode
|
||||||
@@ -635,6 +633,7 @@ export default {
|
|||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 监听会议类型变化
|
* 监听会议类型变化
|
||||||
|
* 这个没用了
|
||||||
* */
|
* */
|
||||||
changeMeetingType(val) {
|
changeMeetingType(val) {
|
||||||
this.meetingType = val
|
this.meetingType = val
|
||||||
@@ -658,10 +657,10 @@ export default {
|
|||||||
* 会议负责人
|
* 会议负责人
|
||||||
* */
|
* */
|
||||||
selectPerson(val) {
|
selectPerson(val) {
|
||||||
getUserInfo({ id: val }).then(res => {
|
getUserInfo({id: val}).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.form.setFieldsValue({ directorPhone: res.result.phone })
|
this.form.setFieldsValue({directorPhone: res.result.phone})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -674,7 +673,7 @@ export default {
|
|||||||
this.$message.warning('最多添加5个酒店联系人')
|
this.$message.warning('最多添加5个酒店联系人')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const { form } = this
|
const {form} = this
|
||||||
const obj = {
|
const obj = {
|
||||||
hotelContacts: '',
|
hotelContacts: '',
|
||||||
hotelContactsPhone: ''
|
hotelContactsPhone: ''
|
||||||
@@ -697,7 +696,7 @@ export default {
|
|||||||
if (this.model.hotelContactsList.length === 1) {
|
if (this.model.hotelContactsList.length === 1) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const { form } = this
|
const {form} = this
|
||||||
// // can use data-binding to get
|
// // can use data-binding to get
|
||||||
const hotelContactsList = form.getFieldValue('hotelContactsList')
|
const hotelContactsList = form.getFieldValue('hotelContactsList')
|
||||||
// 把循环的dom元素删除
|
// 把循环的dom元素删除
|
||||||
@@ -806,7 +805,7 @@ export default {
|
|||||||
}
|
}
|
||||||
const year = new Date().getFullYear()
|
const year = new Date().getFullYear()
|
||||||
if (Number(value) < year) {
|
if (Number(value) < year) {
|
||||||
callback(`请选择${ year }年或之后的年份`)
|
callback(`请选择${year}年或之后的年份`)
|
||||||
} else {
|
} else {
|
||||||
callback()
|
callback()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -47,12 +47,19 @@
|
|||||||
<a-col :xxl="8" :xl="12" :sm="24">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label>预计参加人数:</label><span>{{ currentMeetingInfo.estimatedNumber }}</span>
|
<label>预计参加人数:</label><span>{{ currentMeetingInfo.estimatedNumber }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-show="currentMeetingInfo.meetingType === '2' ">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label>酒店名称:</label><span>{{ currentMeetingInfo.hotelName }}</span>
|
<label>酒店名称:</label><span>{{ currentMeetingInfo.hotelName }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-show="currentMeetingInfo.meetingType === '2' ">
|
<a-col :xxl="8" :xl="12" :sm="24">
|
||||||
<label>酒店地址:</label><span>{{ currentMeetingInfo.hotelAddress }}</span>
|
<label>酒店地址:</label><span>{{ currentMeetingInfo.hotelAddress }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-row class="flex-col">
|
||||||
|
<label class="label">酒店联系人及手机号:</label>
|
||||||
|
<span class="content"
|
||||||
|
v-for="(item,index) of currentMeetingInfo.hotelContactsList"
|
||||||
|
:key="index">
|
||||||
|
{{ item.hotelContacts + ':' + item.hotelContactsPhone + ' ' }}</span>
|
||||||
|
</a-row>
|
||||||
<!-- 国际研讨会的邀请码-->
|
<!-- 国际研讨会的邀请码-->
|
||||||
<a-col :xxl="8" :xl="12" :sm="24" v-show="currentMeetingInfo.meetingType ==='3' ">
|
<a-col :xxl="8" :xl="12" :sm="24" v-show="currentMeetingInfo.meetingType ==='3' ">
|
||||||
<label>VIP邀请码:</label><span>{{ currentMeetingInfo.vipInvitationCode }}</span>
|
<label>VIP邀请码:</label><span>{{ currentMeetingInfo.vipInvitationCode }}</span>
|
||||||
@@ -102,13 +109,6 @@
|
|||||||
v-model="currentMeetingInfo.paymentQrCode" disabled></j-image-upload>
|
v-model="currentMeetingInfo.paymentQrCode" disabled></j-image-upload>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
<a-row v-show="currentMeetingInfo.meetingType === '2' " class="flex-col">
|
|
||||||
<label class="label">酒店联系人及手机号:</label>
|
|
||||||
<span class="content"
|
|
||||||
v-for="(item,index) of currentMeetingInfo.hotelContactsList"
|
|
||||||
:key="index">
|
|
||||||
{{ item.hotelContacts + ':' + item.hotelContactsPhone + ' ' }}</span>
|
|
||||||
</a-row>
|
|
||||||
<div class="part-title">
|
<div class="part-title">
|
||||||
<div class="part-title-text">参会人员信息</div>
|
<div class="part-title-text">参会人员信息</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -580,7 +580,10 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.filters.meetingId = this.$route.query.id
|
this.filters.meetingId = this.$route.query.id
|
||||||
this.loadData(1)
|
if(this.disableMixinCreated){
|
||||||
|
this.loadData(1)
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
// 生成会议报名二维码
|
// 生成会议报名二维码
|
||||||
@@ -613,6 +616,8 @@ export default {
|
|||||||
return this.otherMeetingUrl
|
return this.otherMeetingUrl
|
||||||
case '5':
|
case '5':
|
||||||
return this.committeeMeetingUrl
|
return this.committeeMeetingUrl
|
||||||
|
// 为了解决控制台报错写的
|
||||||
|
default:return this.workGroupMeetingUrl
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 报名链接
|
// 报名链接
|
||||||
|
|||||||
@@ -1,22 +1,30 @@
|
|||||||
<template>
|
<template>
|
||||||
<j-modal
|
<j-modal
|
||||||
:title="title"
|
:title="title"
|
||||||
:width="width"
|
:width="width"
|
||||||
:visible="visible"
|
:visible="visible"
|
||||||
:confirmLoading="confirmLoading"
|
:confirmLoading="confirmLoading"
|
||||||
@ok="handleOk"
|
@ok="handleOk"
|
||||||
@cancel="handleCancel"
|
@cancel="handleCancel"
|
||||||
cancelText="关闭">
|
cancelText="关闭">
|
||||||
<a-spin :spinning="confirmLoading">
|
<a-spin :spinning="confirmLoading">
|
||||||
<a-form :form="form">
|
<a-form :form="form">
|
||||||
<a-row>
|
<a-row>
|
||||||
<a-col :span="24">
|
<a-col :span="24">
|
||||||
<a-form-item label="会议文件" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<!--上传会议资料显示 -->
|
||||||
|
<a-form-item label="会议文件" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="type === '2' ">
|
||||||
<j-upload file-type-error-message="请上传会议文件" :multiple="true"
|
<j-upload file-type-error-message="请上传会议文件" :multiple="true"
|
||||||
:return-id="true"
|
:return-id="true"
|
||||||
v-decorator="['fileIds']"
|
v-decorator="['fileIds']"
|
||||||
:trigger-change="true"></j-upload>
|
:trigger-change="true"></j-upload>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
<!--上传会议纪要显示 -->
|
||||||
|
<a-form-item label="会议纪要" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="type === '1' ">
|
||||||
|
<j-upload file-type-error-message="请上传会议纪要" :multiple="true"
|
||||||
|
:return-id="true"
|
||||||
|
v-decorator="['fileIds']"
|
||||||
|
:trigger-change="true"></j-upload>
|
||||||
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -30,7 +38,7 @@ import {httpAction} from '@api/manage'
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'UploadMeetFileModal',
|
name: 'UploadMeetFileModal',
|
||||||
components:{
|
components: {
|
||||||
JUpload
|
JUpload
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@@ -40,6 +48,7 @@ export default {
|
|||||||
visible: false,
|
visible: false,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
form: this.$form.createForm(this),
|
form: this.$form.createForm(this),
|
||||||
|
type: '', // 上传会议纪要还是上传会议资料
|
||||||
model: {},
|
model: {},
|
||||||
labelCol: {
|
labelCol: {
|
||||||
xs: {span: 24},
|
xs: {span: 24},
|
||||||
@@ -50,63 +59,88 @@ export default {
|
|||||||
sm: {span: 18}
|
sm: {span: 18}
|
||||||
},
|
},
|
||||||
// 会议id
|
// 会议id
|
||||||
meetingId:'',
|
meetingId: '',
|
||||||
// 已经上传的会议文件
|
// 已经上传的会议文件
|
||||||
meetingFileIds:'',
|
meetingFileIds: '',
|
||||||
validatorRules: {
|
validatorRules: {},
|
||||||
},
|
url: {}
|
||||||
url:{}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
add() {
|
add() {
|
||||||
this.edit({})
|
this.edit({})
|
||||||
},
|
},
|
||||||
edit(record) {
|
// type 1上传会议纪要 2上传会议资料
|
||||||
this.form.resetFields()
|
edit(record, type) {
|
||||||
this.model = Object.assign({},record)
|
|
||||||
// 根据会议类型返回不同的url
|
|
||||||
this.url = Object.assign({},this.createUrlByMeetingType(record.meetingType +''))
|
|
||||||
this.meetingId = record.id
|
|
||||||
this.visible = true
|
this.visible = true
|
||||||
// 拿到已经上传的会议文件进行回显
|
this.type = type
|
||||||
this.meetingFileIds = this.model.meetingData ? this.model.meetingData : ''
|
this.form.resetFields()
|
||||||
if(this.meetingFileIds && this.meetingFileIds !== ''){
|
this.model = Object.assign({}, record)
|
||||||
this.$nextTick( () => {
|
// 根据会议类型返回不同的url
|
||||||
this.form.setFieldsValue({'fileIds':this.meetingFileIds})
|
this.url = Object.assign({}, this.createUrlByMeetingType(record.meetingType + ''))
|
||||||
})
|
this.meetingId = record.id
|
||||||
|
// 会议资料与会议纪要的回显
|
||||||
|
if (type === '1') {
|
||||||
|
this.meetingFileIds = this.model.meetingMinute ? this.model.meetingMinute : ''
|
||||||
|
if (this.meetingFileIds && this.meetingFileIds !== '') {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.form.setFieldsValue({'fileIds': this.meetingFileIds})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else if (type === '2') {
|
||||||
|
this.meetingFileIds = this.model.meetingData ? this.model.meetingData : ''
|
||||||
|
if (this.meetingFileIds && this.meetingFileIds !== '') {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.form.setFieldsValue({'fileIds': this.meetingFileIds})
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
close() {
|
close() {
|
||||||
this.$emit('close')
|
this.$emit('close')
|
||||||
|
this.meetingFileIds = ''
|
||||||
|
this.type = ''
|
||||||
this.visible = false
|
this.visible = false
|
||||||
},
|
},
|
||||||
|
// uplodFile 上传会议资料的接口 uploadCouncilFile 上传会议纪要的接口
|
||||||
createUrlByMeetingType(meetingType) {
|
createUrlByMeetingType(meetingType) {
|
||||||
switch (String(meetingType)) {
|
switch (String(meetingType)) {
|
||||||
// 工作组会议
|
// 工作组会议
|
||||||
case '1':
|
case '1':
|
||||||
return {
|
return {
|
||||||
uploadFile: '/meeting/workGroupMeeting/uploadFile',
|
uploadFile: '/meeting/workGroupMeeting/uploadFile',
|
||||||
|
uploadCouncilFile: '/meeting/workGroupMeeting/uploadCouncilFile',
|
||||||
}
|
}
|
||||||
// 标协会议
|
// 标协会议
|
||||||
case '2':
|
case '2':
|
||||||
return {
|
return {
|
||||||
uploadFile: '/meeting/standardsMeeting/uploadFile',
|
uploadFile: '/meeting/standardsMeeting/uploadFile',
|
||||||
|
uploadCouncilFile: '/meeting/standardsMeeting/uploadCouncilFile',
|
||||||
}
|
}
|
||||||
// 国际研讨会
|
// 国际研讨会
|
||||||
case '3':
|
case '3':
|
||||||
return {
|
return {
|
||||||
uploadFile: '/meeting/internalMeeting/uploadFile',
|
uploadFile: '/meeting/internalMeeting/uploadFile',
|
||||||
|
uploadCouncilFile: '/meeting/internalMeeting/uploadCouncilFile',
|
||||||
}
|
}
|
||||||
// 其他会议
|
// 其他会议
|
||||||
case '4':
|
case '4':
|
||||||
return {
|
return {
|
||||||
uploadFile: '/meeting/otherMeeting/uploadFile',
|
uploadFile: '/meeting/otherMeeting/uploadFile',
|
||||||
|
uploadCouncilFile: '/meeting/otherMeeting/uploadCouncilFile'
|
||||||
}
|
}
|
||||||
// 分标委会议
|
// 分标委会议
|
||||||
case '5':
|
case '5':
|
||||||
return {
|
return {
|
||||||
uploadFile: '/meeting/committeeMeeting/uploadFile',
|
uploadFile: '/meeting/committeeMeeting/uploadFile',
|
||||||
|
uploadCouncilFile: '/meeting/committeeMeeting/uploadCouncilFile',
|
||||||
|
}
|
||||||
|
// 理事会会议
|
||||||
|
case '6':
|
||||||
|
return {
|
||||||
|
uploadFile: '/meeting/committeeMeeting/uploadFile',
|
||||||
|
uploadCouncilFile: '/councilMeeting/uploadCouncilFile',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -118,29 +152,36 @@ export default {
|
|||||||
this.confirmLoading = true
|
this.confirmLoading = true
|
||||||
// 触发表单验证
|
// 触发表单验证
|
||||||
this.form.validateFields((err, values) => {
|
this.form.validateFields((err, values) => {
|
||||||
if(!err && values.fileIds !== undefined){
|
if (!err && values.fileIds !== undefined) {
|
||||||
const params = {
|
const params = {
|
||||||
fileIds:values.fileIds,
|
fileIds: values.fileIds,
|
||||||
id:that.meetingId
|
id: that.meetingId
|
||||||
}
|
}
|
||||||
httpAction(this.url.uploadFile,params,'post').then(res => {
|
let url
|
||||||
if(res.success){
|
if (this.type === '1') {
|
||||||
|
// 上传会议纪要用会议纪要的接口
|
||||||
|
url = this.url.uploadCouncilFile
|
||||||
|
} else if (this.type === '2') {
|
||||||
|
url = this.url.uploadFile
|
||||||
|
}
|
||||||
|
httpAction(url, params, 'post').then(res => {
|
||||||
|
if (res.success) {
|
||||||
that.$message.success(res.message)
|
that.$message.success(res.message)
|
||||||
that.$emit('ok')
|
that.$emit('ok')
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
that.close()
|
that.close()
|
||||||
}else {
|
} else {
|
||||||
this.$message.warn(res.message)
|
this.$message.warn(res.message)
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
}
|
}
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
console.log(err,'err')
|
console.log(err, 'err')
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
}, 1000)
|
}, 1000)
|
||||||
})
|
})
|
||||||
}else {
|
} else {
|
||||||
that.close()
|
that.close()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -117,7 +117,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
<span slot="action" class="action-span-cell" slot-scope="text, record">
|
||||||
<a @click="uploadFile(record)" v-has:[authorCode.upload]="'committeeMeeting:upload'">上传文件</a>
|
<a @click="uploadFile(record,'1')" v-has:[authorCode.uploadCouncil]="'committeeMeeting:upload'">会议纪要</a>
|
||||||
|
<a @click="uploadFile(record,'2')" v-has:[authorCode.upload]="'committeeMeeting:upload'">上传文件</a>
|
||||||
<!-- <a @click="applyMsg">报名信息</a>-->
|
<!-- <a @click="applyMsg">报名信息</a>-->
|
||||||
<a @click="handleEdit(record)" v-has:[authorCode.edit]="'committeeMeeting:edit'">编辑</a>
|
<a @click="handleEdit(record)" v-has:[authorCode.edit]="'committeeMeeting:edit'">编辑</a>
|
||||||
<a @click="handleDelete(record.id)" v-has:[authorCode.delete]="'committeeMeeting:delete'">删除</a>
|
<a @click="handleDelete(record.id)" v-has:[authorCode.delete]="'committeeMeeting:delete'">删除</a>
|
||||||
@@ -245,6 +246,7 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
newColumns: [],
|
newColumns: [],
|
||||||
|
|
||||||
// 权限编码
|
// 权限编码
|
||||||
authorCode: {},
|
authorCode: {},
|
||||||
// 分标委的权限编码
|
// 分标委的权限编码
|
||||||
@@ -255,7 +257,8 @@ export default {
|
|||||||
batchDel: 'committeeMeeting:batchDel',
|
batchDel: 'committeeMeeting:batchDel',
|
||||||
upload: 'committeeMeeting:upload',
|
upload: 'committeeMeeting:upload',
|
||||||
edit: 'committeeMeeting:edit',
|
edit: 'committeeMeeting:edit',
|
||||||
delete: 'committeeMeeting:delete'
|
delete: 'committeeMeeting:delete',
|
||||||
|
uploadCouncil:'committeeMeeting:uploadCouncil'
|
||||||
},
|
},
|
||||||
// 标协会议的权限编码
|
// 标协会议的权限编码
|
||||||
standardsMeetingAuthorCode: {
|
standardsMeetingAuthorCode: {
|
||||||
@@ -265,7 +268,8 @@ export default {
|
|||||||
batchDel: 'standardsMeeting:batchDel',
|
batchDel: 'standardsMeeting:batchDel',
|
||||||
upload: 'standardsMeeting:upload',
|
upload: 'standardsMeeting:upload',
|
||||||
edit: 'standardsMeeting:edit',
|
edit: 'standardsMeeting:edit',
|
||||||
delete: 'standardsMeeting:delete'
|
delete: 'standardsMeeting:delete',
|
||||||
|
uploadCouncil:'standardsMeeting:uploadCouncil'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -281,7 +285,9 @@ export default {
|
|||||||
if (this.meetingType === '2') {
|
if (this.meetingType === '2') {
|
||||||
this.authorCode = Object.assign({}, this.standardsMeetingAuthorCode)
|
this.authorCode = Object.assign({}, this.standardsMeetingAuthorCode)
|
||||||
}
|
}
|
||||||
this.loadData(1)
|
if(this.disableMixinCreated){
|
||||||
|
this.loadData(1)
|
||||||
|
}
|
||||||
// 不是分标委会议去掉提醒字段
|
// 不是分标委会议去掉提醒字段
|
||||||
if (this.meetingType !== '5') {
|
if (this.meetingType !== '5') {
|
||||||
this.newColumns = [...this.columns]
|
this.newColumns = [...this.columns]
|
||||||
@@ -402,8 +408,8 @@ export default {
|
|||||||
/*
|
/*
|
||||||
* 上传文件
|
* 上传文件
|
||||||
* */
|
* */
|
||||||
uploadFile(record) {
|
uploadFile(record,type) {
|
||||||
this.$refs.modalForm.edit(record)
|
this.$refs.modalForm.edit(record,type)
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 报名信息
|
* 报名信息
|
||||||
|
|||||||
@@ -114,7 +114,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<span slot="action" class="action-span-cell" slot-scope="text, record" v-if="canOperate">
|
<span slot="action" class="action-span-cell" slot-scope="text, record" v-if="canOperate">
|
||||||
<a @click="uploadFile(record)" v-has="'workGroupMeeting:upload'">上传文件</a>
|
<a @click="uploadFile(record,'1')" v-has="'workGroupMeeting:uploadCouncil'">会议纪要</a>
|
||||||
|
<a @click="uploadFile(record,'2')" v-has="'workGroupMeeting:upload'">上传文件</a>
|
||||||
<!-- <a @click="applyMsg">报名信息</a>-->
|
<!-- <a @click="applyMsg">报名信息</a>-->
|
||||||
<a @click="handleEdit(record)" v-has="'workGroupMeeting:edit'">编辑</a>
|
<a @click="handleEdit(record)" v-has="'workGroupMeeting:edit'">编辑</a>
|
||||||
<a @click="handleDelete(record.id)" v-has="'workGroupMeeting:delete'">删除</a>
|
<a @click="handleDelete(record.id)" v-has="'workGroupMeeting:delete'">删除</a>
|
||||||
@@ -315,8 +316,8 @@ export default {
|
|||||||
/*
|
/*
|
||||||
* 上传文件
|
* 上传文件
|
||||||
* */
|
* */
|
||||||
uploadFile(record) {
|
uploadFile(record,type) {
|
||||||
this.$refs.modalForm.edit(record)
|
this.$refs.modalForm.edit(record,type)
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 报名信息
|
* 报名信息
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
||||||
<a @click="handleUploadFile(record)" v-has="'internalMeeting:upload'">上传文件</a>
|
<a @click="handleUploadFile(record,'1')" v-has=" 'internalMeeting:uploadCouncil' ">会议纪要</a>
|
||||||
|
<a @click="handleUploadFile(record,'2')" v-has="'internalMeeting:upload'">上传文件</a>
|
||||||
<!-- <a @click="handleSignup(record)">报名信息</a>-->
|
<!-- <a @click="handleSignup(record)">报名信息</a>-->
|
||||||
<a @click="handleEdit(record)" v-has="'internalMeeting:edit'">编辑</a>
|
<a @click="handleEdit(record)" v-has="'internalMeeting:edit'">编辑</a>
|
||||||
<a @click="handleDelete(record.id)" v-has="'internalMeeting:delete'">删除</a>
|
<a @click="handleDelete(record.id)" v-has="'internalMeeting:delete'">删除</a>
|
||||||
@@ -225,11 +226,13 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/*
|
/**
|
||||||
* 上传会议文件
|
* @description: 会议纪要的上传 或者会议资料的上传
|
||||||
* */
|
* @param:record 表格行数据
|
||||||
handleUploadFile(record) {
|
* @param:type 1上传会议纪要 2上传会议资料
|
||||||
this.$refs.modalForm.edit(record)
|
* */
|
||||||
|
handleUploadFile(record,type) {
|
||||||
|
this.$refs.modalForm.edit(record,type)
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 修改查询条件
|
* 修改查询条件
|
||||||
|
|||||||
@@ -95,7 +95,8 @@
|
|||||||
<span v-else></span>
|
<span v-else></span>
|
||||||
</template>
|
</template>
|
||||||
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
<span slot="action" slot-scope="text, record" class="action-span-cell">
|
||||||
<a @click="handleUploadFile(record)" v-has="'otherMeeting:upload'">上传文件</a>
|
<a @click="handleUploadFile(record,'1')" v-has="'otherMeeting:uploadCouncil'">会议纪要</a>
|
||||||
|
<a @click="handleUploadFile(record,'2')" v-has="'otherMeeting:upload'">上传文件</a>
|
||||||
<!-- <a @click="handleSignup(record)">报名信息</a>-->
|
<!-- <a @click="handleSignup(record)">报名信息</a>-->
|
||||||
<a @click="handleEdit(record)" v-has="'otherMeeting:edit'">编辑</a>
|
<a @click="handleEdit(record)" v-has="'otherMeeting:edit'">编辑</a>
|
||||||
<a @click="handleDelete(record.id)" v-has="'otherMeeting:delete'">删除</a>
|
<a @click="handleDelete(record.id)" v-has="'otherMeeting:delete'">删除</a>
|
||||||
@@ -226,8 +227,8 @@ name: 'OtherMeeting',
|
|||||||
/*
|
/*
|
||||||
* 上传会议文件
|
* 上传会议文件
|
||||||
* */
|
* */
|
||||||
handleUploadFile(record) {
|
handleUploadFile(record,type) {
|
||||||
this.$refs.modalForm.edit(record)
|
this.$refs.modalForm.edit(record,type)
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 报名信息
|
* 报名信息
|
||||||
|
|||||||
Reference in New Issue
Block a user