diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js index b2893a5..d851875 100644 --- a/src/api/incomePaymentsApi.js +++ b/src/api/incomePaymentsApi.js @@ -125,6 +125,11 @@ const addPayConfirm = (param) => postAction('/payConfirmPaymentRecord/add', para // 编辑一个确认来款信息 const editPayConfirm = (param) => postAction('/payConfirmPaymentRecord/edit', param) + +//2023-07-13 工作组相关功能的接口 +// 判断当前节点 是否可以发邮件 +const judgeEmailStatus = (param) => getAction('/sys/message/sysMessageTemplate/queryByCode', param) + export { getWorkingGroupById, getChargeNotice, @@ -189,5 +194,8 @@ export { getPayConfirmList, addPayConfirm, - editPayConfirm + editPayConfirm, + + + judgeEmailStatus } diff --git a/src/views/incomePayments/meetManage/Attendance.vue b/src/views/incomePayments/meetManage/Attendance.vue index 8406187..b306685 100644 --- a/src/views/incomePayments/meetManage/Attendance.vue +++ b/src/views/incomePayments/meetManage/Attendance.vue @@ -236,7 +236,7 @@ 批量删除 - + 批量设置资料状态 @@ -313,7 +313,8 @@ 编辑 删除 - 资料状态 + + 资料状态 @@ -327,6 +328,8 @@ + + @@ -346,6 +349,7 @@ import PageHeaderTitle from '@comp/layouts/PageHeaderTitle' import StatusSlot from '@comp/tools/StatusSlot' import PreviewFile from '@comp/jero/PreviewFile' import JImageUpload from '@comp/jero/JImageUpload' +import SetGuessUploadFlagModal from './modules/SetGuessUploadFlagModal' export default { @@ -362,7 +366,8 @@ export default { PageHeaderTitle, StatusSlot, PreviewFile, - JImageUpload + JImageUpload, + SetGuessUploadFlagModal }, data() { return { @@ -414,7 +419,13 @@ export default { title: '是否签到', align: 'center', dataIndex: 'checkIn_dictText', - width: 100 + width: 80 + }, + { + title: '身份', + align: 'center', + dataIndex: 'identity_dictText', + width: 80 }, { title: '打包', @@ -475,7 +486,8 @@ export default { edit: 'otherMeetingSituation:edit', delete: 'otherMeetingSituation:delete', auditRecord: 'otherMeetingSituation:auditCredentials', - auditSignUpInfo: 'otherMeetingSituation:auditSignUp' + auditSignUpInfo: 'otherMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'otherMeetingSituation:guestsUploadFileFlag' }, // 分标委会议的参会情况权限编码 committeeMeetingCode: { @@ -486,7 +498,8 @@ export default { edit: 'committeeMeetingSituation:edit', delete: 'committeeMeetingSituation:delete', auditRecord: 'committeeMeetingSituation:auditCredentials', - auditSignUpInfo: 'committeeMeetingSituation:auditSignUp' + auditSignUpInfo: 'committeeMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'committeeMeetingSituation:guestsUploadFileFlag' }, // 工作组会议的参会情况的权限编码 workGroupMeetingCode: { @@ -497,7 +510,8 @@ export default { edit: 'workGroupMeetingSituation:edit', delete: 'workGroupMeetingSituation:delete', auditRecord: 'workGroupMeetingSituation:auditCredentials', - auditSignUpInfo: 'workGroupMeetingSituation:auditSignUp' + auditSignUpInfo: 'workGroupMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'workGroupMeetingSituation:guestsUploadFileFlag' }, // 国际研讨会的参会情况的权限编码 internalMeetingCode: { @@ -508,7 +522,8 @@ export default { edit: 'internalMeetingSituation:edit', delete: 'internalMeetingSituation:delete', auditRecord: 'internalMeetingSituation:auditCredentials', - auditSignUpInfo: 'internalMeetingSituation:auditSignUp' + auditSignUpInfo: 'internalMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'internalMeetingSituation:guestsUploadFileFlag' }, // 标协会议的参会情况的权限编码 standardsMeetingCode: { @@ -519,7 +534,8 @@ export default { edit: 'standardsMeetingSituation:edit', delete: 'standardsMeetingSituation:delete', auditRecord: 'standardsMeetingSituation:auditCredentials', - auditSignUpInfo: 'standardsMeetingSituation:auditSignUp' + auditSignUpInfo: 'standardsMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'standardsMeetingSituation:guestsUploadFileFlag' }, // 理事会的参会情况的权限编码 councilMeetingCode: { @@ -530,7 +546,8 @@ export default { edit: 'councilMeetingSituation:edit', delete: 'councilMeetingSituation:delete', auditRecord: 'councilMeetingSituation:auditCredentials', - auditSignUpInfo: 'councilMeetingSituation:auditSignUp' + auditSignUpInfo: 'councilMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'councilMeetingSituation:guestsUploadFileFlag' }, disableMixinCreated: true, // url: { @@ -598,7 +615,9 @@ export default { // 收款二维码 payMentQRCode: '', // 会议费用 - meetingCostBool: false + meetingCostBool: false, + meetingId: '', + meetingTypeValue: '', } }, created() { @@ -609,6 +628,7 @@ export default { const param = { id: this.$route.query.id } + getMeetInfoById(param).then(res => { if (res.success) { this.currentMeetingInfo = Object.assign({}, res.result) @@ -649,6 +669,9 @@ export default { } }) this.filters.meetingId = this.$route.query.id + // 存储会议的基础信息 + this.meetingId = this.$route.query.id + this.meetingTypeValue = Number(this.$route.query.meetingType) if(this.disableMixinCreated){ this.loadData(1) } @@ -894,6 +917,28 @@ export default { newInput.remove() this.$message.success('复制成功') }, + // 行内 设置嘉宾是否可上传文件,只有参会方式是嘉宾的可以设置 + setGuestsUploadFileFlag(record) { + // 参会人员不是嘉宾,直接返回 + if(record.identity !== 1) return + this.$refs.setGuessUploadFlagModal.show(record) + }, + // 批量设置嘉宾是否可上传文件,只有参会方式是嘉宾的可以设置 + batchSetGuestsUploadFileFlag() { + if (this.selectedRowKeys.length <= 0) { + this.$message.warning('请选择一条记录!') + return + } + // 判断只能身份为嘉宾的数据 设置资料状态 + let flag = this.selectionRows.some(item => { + return item.identity !== 1 + }) + if(flag) { + this.$message.warn('只有身份为嘉宾的数据才可设置资料状态') + return + } + this.$refs.setGuessUploadFlagModal.showBatch(this.selectedRowKeys) + }, /* * 通过会议类型设置权限编码 * type 会议类型 diff --git a/src/views/incomePayments/meetManage/modules/SetGuessUploadFlagModal.vue b/src/views/incomePayments/meetManage/modules/SetGuessUploadFlagModal.vue new file mode 100644 index 0000000..b50705f --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/SetGuessUploadFlagModal.vue @@ -0,0 +1,167 @@ + + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue index 50c1efe..e5c05df 100644 --- a/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue +++ b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue @@ -65,6 +65,11 @@ /> + + + + + @@ -103,6 +108,7 @@ 催款提醒 + 设置标签 @@ -170,6 +176,8 @@ @ok="modalFormOk"> + + @@ -186,6 +194,7 @@ import Vue from 'vue' import { ACCESS_TOKEN } from '../../store/mutation-types' import PreviewFile from '../../components/jero/PreviewFile' import EmailErrorMsgModal from './modules/EmailErrorMsgModal' +import WorkGroupSetLabel from './modules/WorkGroupSetLabel' // eslint-disable-next-line no-undef,no-unused-vars const Base64 = require('js-base64').Base64 @@ -200,7 +209,8 @@ export default { WorkingGroupMemberUnitModule, WorkingGroupMemberSetChargeNotice, PreviewFile, - EmailErrorMsgModal + EmailErrorMsgModal, + WorkGroupSetLabel }, mixins: [JeroListMixin], computed: { @@ -304,6 +314,12 @@ export default { customRender: (text, record) => ( ) + }, { + title: '标签名称', + align: 'center', + dataIndex: 'label', + width: 100, + scopedSlots: { customRender: 'text' } }, { // 2021-10-22需求变更新加 title: '收费通知号', @@ -522,6 +538,14 @@ export default { let url = `${ window._CONFIG['onlinePreviewDomainURL'] }?url=${ encodeURIComponent(fileFullUrl) }` window.open(url) } + }, + // 设置标签 + setLabel() { + if (this.selectedRowKeys.length <= 0) { + this.$message.warning('请选择一条记录!') + return + } + this.$refs.workGroupSetLabel.show(this.selectedRowKeys) } // 2021 10 11 沟通后去掉了这个功能 // searchReset() { diff --git a/src/views/projectManagement/modules/PublishRemindModal.vue b/src/views/projectManagement/modules/PublishRemindModal.vue index c59145b..e9c40e2 100644 --- a/src/views/projectManagement/modules/PublishRemindModal.vue +++ b/src/views/projectManagement/modules/PublishRemindModal.vue @@ -78,6 +78,7 @@ import {JeroListMixin} from '@/mixins/JeroListMixin' import {publishRemind,commitePublishRemind,councilPublishRemind} from '@api/incomePaymentsApi' import EmailErrorMsgModal from '@views/projectManagement/modules/EmailErrorMsgModal' +import { judgeEmailStatus } from "../../../api/incomePaymentsApi"; export default { @@ -215,6 +216,10 @@ export default { newColumns: [], // 提醒类型 1 是工作组 2 是分标委 3是理事会 remindType:'', + // 是否需要发邮件 + needMail: false, + // 发消息需要验证的模板code码 + mailTemplateCode: '' } }, methods: { @@ -243,6 +248,8 @@ export default { this.filters.workingGroupId = this.$route.query.workingGroupProjectId // 工作组 this.remindType = 1 + // 设置请求的模板CODE TODO 其他两种会议是否处理 还未确认 + this.mailTemplateCode = 'QY_1_HYTZ_WORK_GROUP_CREATE' this.newColumns = [...this.columns] } // 发布提醒需要会议id 只有选择一个会议的时候 才会有这个参数 @@ -255,6 +262,7 @@ export default { this.newColumns = this.newColumns.filter(item => item.dataIndex !== 'remind_dictText') } this.searchReset() + this.judgeEmailStatusFunc() }, close() { this.$emit('close') @@ -270,85 +278,85 @@ export default { this.$message.warn('请至少选择一个成员') this.confirmLoading = false return + } + if(this.needMail) { + this.$confirm({ + title: '消息确认', + content: '确认要向选择的成员发送邮件吗?', + cancelText: '不发送', + okText: '确认发送', + onOk: function () { + callbackFunc(1) + }, + onCancel: function() { + callbackFunc(0) + } + }) } else { + // 若全局没有配置则不发送邮件信息 + callbackFunc(0) + } + // 定义请求成功的方法 sendEmailFlag: 0-不发送 1-发送 + const callbackFunc = (sendEmailFlag) => { + // TODO 分标委、理事会是否需要验证 再定 const param = { meetingIds: this.selectedMetingList, subitemIds: this.selectedRowKeys, projectType:this.remindType } + let requestFun // 分标委用分标委的接口 if(this.$route.query.meetingType === '5' ){ - commitePublishRemind(param).then(res => { - if (res.success) { - // this.$message.success(res.message) - if (Array.isArray(res.result) && res.result.length > 0) { - // msgWarn(this,res.result,0) - this.$refs.emailError.open() - this.$refs.emailError.msgList = res.result - console.log(this.$refs.emailError.msgList, 'this.$refs.emailError.msgList ') - } - this.$emit('ok') - this.confirmLoading = false - this.handleCancel() - } else { - this.$message.warn(res.message) - } - }).finally(() => { - setTimeout(() => { - this.confirmLoading = false - }, 1000) - }) + requestFun = commitePublishRemind }else if(this.$route.query.meetingType === '6'){ // 理事会的用理事会的发布提醒 - councilPublishRemind(param).then(res => { - if (res.success) { - // this.$message.success(res.message) - if (Array.isArray(res.result) && res.result.length > 0) { - // msgWarn(this,res.result,0) - this.$refs.emailError.open() - this.$refs.emailError.msgList = res.result - console.log(this.$refs.emailError.msgList, 'this.$refs.emailError.msgList ') - } - this.$emit('ok') - this.confirmLoading = false - this.handleCancel() - } else { - this.$message.warn(res.message) - } - }).finally(() => { - setTimeout(() => { - this.confirmLoading = false - }, 1000) - }) + requestFun = councilPublishRemind } else { + // 工作组 param.workingGroupId = this.$route.query.workingGroupProjectId - publishRemind(param).then(res => { - if (res.success) { - // this.$message.success(res.result) - if (Array.isArray(res.result) && res.result.length > 0) { - // msgWarn(this,res.result,0) - this.$refs.emailError.open() - this.$refs.emailError.msgList = res.result - console.log(this.$refs.emailError.msgList, 'this.$refs.emailError.msgList ') - } - this.$emit('ok') - this.confirmLoading = false - this.handleCancel() - } else { - this.$message.warn(res.message) - } - }).finally(() => { - setTimeout(() => { - this.confirmLoading = false - }, 1000) - }) + param.sendEmailFlag = sendEmailFlag + requestFun = publishRemind } - + requestFun(param).then(res => { + if (res.success) { + if (Array.isArray(res.result) && res.result.length > 0) { + this.$refs.emailError.open() + this.$refs.emailError.msgList = res.result + console.log(this.$refs.emailError.msgList, 'this.$refs.emailError.msgList ') + } + this.$emit('ok') + this.confirmLoading = false + this.handleCancel() + } else { + this.$message.warn(res.message) + } + }).finally(() => { + setTimeout(() => { + this.confirmLoading = false + }, 1000) + }) } + }, handleCancel() { this.close() + }, + // 判断全局设置的是否需要发邮件 + judgeEmailStatusFunc() { + this.needMail = false + if(!this.mailTemplateCode) return + // 工作组的会议通知模板 --QY_1_HYTZ_WORK_GROUP_CREATE + const params = { + code: this.mailTemplateCode + } + judgeEmailStatus(params).then(res => { + if(res.success) { + // 发送邮件的类型 1-短信 2-邮件 3-系统 数据字典codem sgType + this.needMail = (res.result || {}).templateType.indexOf(2) > -1 + } + }) } + } } diff --git a/src/views/projectManagement/modules/WorkGroupDistributeModule.vue b/src/views/projectManagement/modules/WorkGroupDistributeModule.vue index 5e9f902..fac600b 100644 --- a/src/views/projectManagement/modules/WorkGroupDistributeModule.vue +++ b/src/views/projectManagement/modules/WorkGroupDistributeModule.vue @@ -11,6 +11,28 @@ + + \ No newline at end of file