177 lines
5.1 KiB
Vue
177 lines
5.1 KiB
Vue
<!--设置嘉宾上传文件的标识-->
|
|
<template>
|
|
<j-modal
|
|
:title="title"
|
|
:width="width"
|
|
:visible="visible"
|
|
:confirmLoading="confirmLoading"
|
|
switchFullscreen
|
|
@ok="handleOk"
|
|
@cancel="handleCancel"
|
|
cancelText="关闭">
|
|
<a-spin :spinning="confirmLoading">
|
|
<a-form :form="form">
|
|
<a-row>
|
|
<a-col :span="24">
|
|
<a-form-item label="嘉宾是否可上传文件" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<j-dict-select-tag v-decorator="['guestsUploadFileFlag', validatorRules.guestsUploadFileFlag]"
|
|
:trigger-change="true"
|
|
placeholder="请选择状态"
|
|
dictCode="yn" />
|
|
</a-form-item>
|
|
</a-col>
|
|
</a-row>
|
|
</a-form>
|
|
</a-spin>
|
|
</j-modal>
|
|
</template>
|
|
|
|
<script>
|
|
import { httpAction } from '@api/manage'
|
|
import {MeetingTypeEnums} from '@/enums/commonEnums'
|
|
const requestUrlObj = {
|
|
workGroupMeetingUrl: '/meeting/workGroupMeetingSituation/setGuestsUploadFile', // 工作组
|
|
standardsMeetingUrl: '/meeting/payMeetingSituation/setGuestsUploadFile', // 标协会议
|
|
internalMeetingUrl: '/meeting/internalMeetingSituation/setGuestsUploadFile', // 国际研讨会的url
|
|
otherMeetingUrl: '/meeting/ohterMeetingSituation/setGuestsUploadFile', // 其他会议的url
|
|
committeeMeetingUrl: '/meeting/committeeMeetingSituation/setGuestsUploadFile', // 分标委会议的url
|
|
councilMeetingUrl: '/meeting/councilMeetingSituation/setGuestsUploadFile', // 理事会的url
|
|
draftGroupMeetingUrl: '/meeting/draftGroupMeetingSituation/setGuestsUploadFile', // 起草组
|
|
safetyCenterMeetingUrl: '/meeting/safetyCenterMeetingSituation/setGuestsUploadFile', // 功能安全中心url
|
|
}
|
|
|
|
export default {
|
|
name: 'SetGuessUploadFlagModal',
|
|
props: {
|
|
// 会议类型
|
|
meetingType: {
|
|
type: Number,
|
|
required: false
|
|
},
|
|
meetingId: {
|
|
type: String,
|
|
required: false
|
|
}
|
|
},
|
|
computed: {
|
|
requestUrl() {
|
|
switch (Number(this.meetingType)) {
|
|
case 1:
|
|
return requestUrlObj.workGroupMeetingUrl
|
|
case 2:
|
|
return requestUrlObj.standardsMeetingUrl
|
|
case 3:
|
|
return requestUrlObj.internalMeetingUrl
|
|
case 4:
|
|
return requestUrlObj.otherMeetingUrl
|
|
case 5:
|
|
return requestUrlObj.committeeMeetingUrl
|
|
case 6:
|
|
return requestUrlObj.councilMeetingUrl
|
|
case 7:
|
|
return requestUrlObj.draftGroupMeetingUrl
|
|
// 功能安全中心
|
|
case Number(MeetingTypeEnums.safetyCenter.value):
|
|
return requestUrlObj.safetyCenterMeetingUrl
|
|
// 为了解决控制台报错写的
|
|
default:return requestUrlObj.workGroupMeetingUrl
|
|
}
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
title: '设置资料状态',
|
|
width: 800,
|
|
visible: false,
|
|
confirmLoading: false,
|
|
form: this.$form.createForm(this),
|
|
model: {},
|
|
labelCol: {
|
|
xs: { span: 24 },
|
|
sm: { span: 6 }
|
|
},
|
|
wrapperCol: {
|
|
xs: { span: 24 },
|
|
sm: { span: 14 }
|
|
},
|
|
validatorRules: {
|
|
guestsUploadFileFlag: {
|
|
rules: [{ required: true, message: '请选择状态' }],
|
|
validateTrigger: 'blur'
|
|
}
|
|
},
|
|
url: {
|
|
// setLabel: '/project/payWorkingGroupSubitem/setLabel'
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
// 行内的展示
|
|
show(record) {
|
|
this.form.resetFields()
|
|
let params = {}
|
|
if(record) {
|
|
params.guestsUploadFileFlag = record.guestsUploadFileFlag || 0
|
|
this.selectedIds = [record.id]
|
|
} else {
|
|
params.guestsUploadFileFlag = 0
|
|
}
|
|
this.visible = true
|
|
this.$nextTick(() => {
|
|
this.form.setFieldsValue(params)
|
|
})
|
|
},
|
|
// 批量处理
|
|
showBatch(ids) {
|
|
this.selectedIds = ids
|
|
this.show()
|
|
},
|
|
close() {
|
|
this.$emit('close')
|
|
this.visible = false
|
|
},
|
|
handleOk() {
|
|
if (this.confirmLoading) {
|
|
return
|
|
}
|
|
this.confirmLoading = true
|
|
const that = this
|
|
// 触发表单验证
|
|
this.form.validateFields((err, values) => {
|
|
if (!err) {
|
|
that.confirmLoading = true
|
|
let httpUrl = this.requestUrl
|
|
let method = 'post'
|
|
const formData = Object.assign({}, values)
|
|
formData.meetingId = that.meetingId
|
|
formData.meetingSituationIds = that.selectedIds.join(',')
|
|
this.confirmLoading = false
|
|
console.log('表单提交数据', formData)
|
|
httpAction(httpUrl, formData, method).then((res) => {
|
|
if (res.success) {
|
|
that.$message.success(res.message)
|
|
that.$emit('ok')
|
|
that.close()
|
|
} else {
|
|
that.$message.warning(res.message)
|
|
}
|
|
}).finally(() => {
|
|
setTimeout(() => {
|
|
this.confirmLoading = false
|
|
}, 1000)
|
|
})
|
|
} else {
|
|
this.confirmLoading = false
|
|
}
|
|
})
|
|
},
|
|
handleCancel() {
|
|
this.close()
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
|
|
</style> |