diff --git a/public/local_production_address_config.js b/public/local_production_address_config.js index 14a4c6b..57eddf6 100644 --- a/public/local_production_address_config.js +++ b/public/local_production_address_config.js @@ -13,11 +13,14 @@ window._CONFIG["onlinePreviewDomainURL"] = "http://139.9.235.66:8012/onlinePrevi // todo 需要改为企业端的报名地址 --- 139 // 会议管理报名二维码地址 -window._CONFIG["singUpQRCodeURL"] = "http://bxxt.hzwlsoft.com/signupentrance" +// window._CONFIG["singUpQRCodeURL"] = "http://bxxt.hzwlsoft.com/signupentrance" +window._CONFIG["singUpQRCodeURL"] = "http://10.10.10.46:8066/signupentrance" // 会议管理签到二维码地址 微信扫描二维码 跳转的 地址 要么全大写 要么全小写 -window._CONFIG["singInQRCodeURL"] = "http://bxxt.hzwlsoft.com/signinurl" +// window._CONFIG["singInQRCodeURL"] = "http://bxxt.hzwlsoft.com/signinurl" +window._CONFIG["singInQRCodeURL"] = "http://10.10.10.46:8066/signinurl" // 页面显示用的会议报名二维码连接 -window._CONFIG["singInQRCodHref"]= 'http://139.9.235.66/signupentrance' +// window._CONFIG["singInQRCodHref"]= 'http://139.9.235.66/signupentrance' +window._CONFIG["singInQRCodHref"]= 'http://10.10.10.46:8066/signupentrance' // 票据打印--寄件人单位名称 window._CONFIG["sendCompanyName"] = "中国汽车标准化研究院" @@ -27,4 +30,5 @@ window._CONFIG["sendAddress"] = "天津市东丽区先锋东路68号" window._CONFIG["sendPostCode"] = "300300" // 查看物流信息 -window._CONFIG["lookExpressDomainURL"] = "http://bxxt.hzwlsoft.com/lookExpressInfo"; \ No newline at end of file +// window._CONFIG["lookExpressDomainURL"] = "http://bxxt.hzwlsoft.com/lookExpressInfo"; +window._CONFIG["lookExpressDomainURL"] = "http://10.10.10.46:8066/lookExpressInfo"; \ No newline at end of file diff --git a/src/api/api.js b/src/api/api.js index 0be1d60..fb3868d 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -101,6 +101,8 @@ const getTransitURL = url => `/sys/common/transitRESTful?url=${encodeURIComponen // 通过文件的id获取文件的相应信息 const getFileInfo = (params) => getAction('/sys/oss/file/queryById', params) +// 通过多个文件的ids 获取文件的相应信息 +const getFileInfoByIds = (params) => getAction('/sys/oss/file/queryByIds', params) // 中转HTTP请求 export const transitRESTful = { @@ -122,6 +124,9 @@ const companyAdminResetPassword = (param) => postAction('/payManagerManagement/r // 企业管理员启用禁用 const companyAdminEnable= (param) => postAction('/payManagerManagement/frozenBatch', param) +// 通过企业id查询企业的相关发票信息 +const queryCompanyInfoById= (param) => getAction('/company/payCompanyManagement/queryById', param) + // 加密获取key 与 iv const getKeyIv = (param) => getAction('/sys/getEncryptedString',param) @@ -186,11 +191,13 @@ export { queryallRoles, getContactsById, getFileInfo, + getFileInfoByIds, getKeyIv, getContactsByCompanyNoLimit, loginIdmPlatform, companyAdminResetPassword, - companyAdminEnable + companyAdminEnable, + queryCompanyInfoById } 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/assets/imgs/icon/icon_notice.png b/src/assets/imgs/icon/icon_notice.png new file mode 100644 index 0000000..b9358a9 Binary files /dev/null and b/src/assets/imgs/icon/icon_notice.png differ diff --git a/src/components/ProjectDetailModal.vue b/src/components/ProjectDetailModal.vue index e3610a4..993006d 100644 --- a/src/components/ProjectDetailModal.vue +++ b/src/components/ProjectDetailModal.vue @@ -170,6 +170,10 @@ {{ otherCompanyInfo.bankAccount }} + + + {{ otherCompanyInfo.linkBankNumber || '' }} + @@ -406,7 +410,9 @@ export default { computed: { // 是否是第三方代付 hasOtherCompany() { - return this.isInvoicing && this.otherCompanyInfo.headerName && (this.otherCompanyInfo.headerName !== this.basicInfo.companyName) + // 去掉未审核 去判断的企业是否是标协会企业 + let companyName = this.basicInfo.companyName.replaceAll('(未审核)','') + return this.isInvoicing && this.otherCompanyInfo.headerName && (this.otherCompanyInfo.headerName !== companyName) } }, components: { diff --git a/src/components/company/AddMeetingCompany.vue b/src/components/company/AddMeetingCompany.vue index 6717206..2664c74 100644 --- a/src/components/company/AddMeetingCompany.vue +++ b/src/components/company/AddMeetingCompany.vue @@ -36,6 +36,12 @@ export default { valueKey: { type: String, default: 'companyName' + }, + // 是否返回企业的全部信息,如果是 则再change方法中以第二个参数返回 + fullCompanyInfo: { + type: Boolean, + required: false, + default: false } }, components: { @@ -70,7 +76,11 @@ export default { * */ setCompanyVal(selectedVal) { let {id, companyName} = selectedVal - this.$emit('change', {id, companyName}) + if(this.fullCompanyInfo) { + this.$emit('change', {id, companyName}, {...selectedVal}) + } else { + this.$emit('change', {id, companyName}) + } } }, model: { diff --git a/src/enums/commonEnums.js b/src/enums/commonEnums.js index 51150fc..d20ef86 100644 --- a/src/enums/commonEnums.js +++ b/src/enums/commonEnums.js @@ -7,4 +7,18 @@ export const ProjectTypeEnums = { MEMBER_PRO: {name: '资料网员', value: 4}, STANDARD_MEMBER_PRO: {name: '标协会员项目', value: 5}, STANDARD_CERTIFICATE_PRO: {name: '标协证书项目', value: 6}, -} \ No newline at end of file +} + +// 参会人员身份类型 +export const MeetIdentifyTypeEnums = { + guest: { name: '嘉宾', index: 1 }, + attendee: { name: '参会人', index: 2 }, + internal: { name: '内部企业', index: 3 } +} + +// 需要发票的类型 +export const InvoiceTypeEnums = { + noNeed: { name: '不需要', index: 0 }, + plain: { name: '增值税普通发票', index: 1 }, + special: { name: '增值税专用发票', index: 2 } +} diff --git a/src/views/financialManagement/arriveAndInvoicing/ArriveAndInvoivingList.vue b/src/views/financialManagement/arriveAndInvoicing/ArriveAndInvoivingList.vue index ad50206..ee74639 100644 --- a/src/views/financialManagement/arriveAndInvoicing/ArriveAndInvoivingList.vue +++ b/src/views/financialManagement/arriveAndInvoicing/ArriveAndInvoivingList.vue @@ -174,6 +174,7 @@ :project-id="selectProjectId" :project-type="selectProjectType" :need-invoice="selectNeedInvoice" + :can-add-stage="canAddStage" :visible.sync="arriveVisible"> @@ -409,6 +410,12 @@ export default { } }, + computed: { + // 批量来款是否可以新增阶段--会员缴费、证书缴费 不能新增阶段 + canAddStage() { + return Number(this.selectProjectType) !== 5 && Number(this.selectProjectType) !== 6 + } + }, methods: { getPayConfirmList, /** diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/ArriveStageModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/ArriveStageModule.vue index 0cefc55..a7df90c 100644 --- a/src/views/financialManagement/arriveAndInvoicing/modules/ArriveStageModule.vue +++ b/src/views/financialManagement/arriveAndInvoicing/modules/ArriveStageModule.vue @@ -80,7 +80,8 @@ @@ -96,6 +97,7 @@ import {amountReceivedList, revokeIncome} from '../../../../api/incomePaymentsAp import PreviewImgModal from '../../../../components/PreviewImgModal' import PreviewFile from '../../../../components/jero/PreviewFile.vue' import {ajaxGetDictItems} from '@api/api' +import { ProjectTypeEnums } from '../../../../enums/commonEnums' export default { name: 'ArriveStageModule', @@ -117,6 +119,22 @@ export default { type: [Number, String], required: false, default: null + }, + // 是否能增加阶段-从外部进行模块的区分 + canAddStage: { + type: Boolean, + required: false, + default: true + } + }, + computed: { + canAddStageFlag() { + // 标协会员项目和证书项目 需要判断 当前的阶段是否有值,这两类项目只能来款一次 + if(Number(this.projectType) === ProjectTypeEnums.STANDARD_CERTIFICATE_PRO.value || Number(this.projectType) === ProjectTypeEnums.STANDARD_MEMBER_PRO.value) { + return this.stageList.length === 0 && this.canAddStage + } else { + return this.canAddStage + } } }, data() { diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/AuditProofModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/AuditProofModule.vue index 7f1fcb1..c40f298 100644 --- a/src/views/financialManagement/arriveAndInvoicing/modules/AuditProofModule.vue +++ b/src/views/financialManagement/arriveAndInvoicing/modules/AuditProofModule.vue @@ -58,7 +58,7 @@ -
@@ -68,9 +68,9 @@
-
- -
+ + +
diff --git a/src/views/incomePayments/meetManage/AddOrDetailMeet.vue b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue index 9409e1f..7c4f28b 100644 --- a/src/views/incomePayments/meetManage/AddOrDetailMeet.vue +++ b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue @@ -133,6 +133,17 @@ + + + + + + + + + @@ -714,7 +725,7 @@ export default { this.$nextTick(() => { // 加定时器是因为有可能赋值不成功 setTimeout(() => { - this.form.setFieldsValue(pick(this.model,'venue', 'notice', 'hotelContactsList', 'hotelName', 'hotelAddress', 'paymentQrCode', 'meetingName', 'meetingType', 'convokeTime', 'particularYear', 'estimatedNumber', 'meetingFiles', 'registerDeadline', 'meetingContent', 'convokeLocale', 'address', 'meetingCosts', 'directorId', 'remark', 'directorPhone','meetingContactsList')), 200 + this.form.setFieldsValue(pick(this.model,'venue', 'notice', 'hotelContactsList', 'hotelName', 'hotelAddress', 'paymentQrCode', 'meetingName', 'meetingType', 'convokeTime', 'particularYear', 'estimatedNumber', 'meetingFiles', 'registerDeadline', 'meetingContent', 'convokeLocale', 'address', 'meetingCosts', 'directorId', 'remark', 'directorPhone','meetingContactsList', 'fileIds')), 200 }) // 如果是标协会议则回显 标协会议的字段 if (this.meetingType === '2') { @@ -726,6 +737,7 @@ export default { if(Number(record.tbMeetingType) === 3) { // 信息交流会议 this.$refs.standardMeetingType.setCurrentDictOptions(arr.splice(2, 1)) + this.tbMeetingType = Number(this.model.tbMeetingType) }else { this.model.isAddQuestion = Number(this.model.isAddQuestion) this.isAddQuestion = this.model.isAddQuestion diff --git a/src/views/incomePayments/meetManage/Attendance.vue b/src/views/incomePayments/meetManage/Attendance.vue index bb56d94..7128877 100644 --- a/src/views/incomePayments/meetManage/Attendance.vue +++ b/src/views/incomePayments/meetManage/Attendance.vue @@ -212,6 +212,14 @@ dictCode="meeting_pay_type"/> + + + + + 批量删除 + + 批量设置资料状态 + @@ -274,9 +285,15 @@
{{ text }}
+ + + + @@ -302,7 +319,7 @@ 审核凭证 - + 审核报名信息 @@ -310,6 +327,12 @@ 编辑 删除 + + 资料状态
@@ -323,6 +346,8 @@ + + @@ -342,6 +367,8 @@ 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' +import { downloadFile } from '../../../api/manage' export default { @@ -358,7 +385,8 @@ export default { PageHeaderTitle, StatusSlot, PreviewFile, - JImageUpload + JImageUpload, + SetGuessUploadFlagModal }, data() { return { @@ -410,6 +438,18 @@ export default { title: '是否签到', align: 'center', dataIndex: 'checkIn_dictText', + width: 80 + }, + { + title: '身份', + align: 'center', + dataIndex: 'identity_dictText', + width: 80 + }, + { + title: '发票项目', + align: 'center', + dataIndex: 'invoiceProject_dictText', width: 100 }, { @@ -471,7 +511,8 @@ export default { edit: 'otherMeetingSituation:edit', delete: 'otherMeetingSituation:delete', auditRecord: 'otherMeetingSituation:auditCredentials', - auditSignUpInfo: 'otherMeetingSituation:auditSignUp' + auditSignUpInfo: 'otherMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'otherMeetingSituation:guestsUploadFileFlag' }, // 分标委会议的参会情况权限编码 committeeMeetingCode: { @@ -482,7 +523,8 @@ export default { edit: 'committeeMeetingSituation:edit', delete: 'committeeMeetingSituation:delete', auditRecord: 'committeeMeetingSituation:auditCredentials', - auditSignUpInfo: 'committeeMeetingSituation:auditSignUp' + auditSignUpInfo: 'committeeMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'committeeMeetingSituation:guestsUploadFileFlag' }, // 工作组会议的参会情况的权限编码 workGroupMeetingCode: { @@ -493,7 +535,8 @@ export default { edit: 'workGroupMeetingSituation:edit', delete: 'workGroupMeetingSituation:delete', auditRecord: 'workGroupMeetingSituation:auditCredentials', - auditSignUpInfo: 'workGroupMeetingSituation:auditSignUp' + auditSignUpInfo: 'workGroupMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'workGroupMeetingSituation:guestsUploadFileFlag' }, // 国际研讨会的参会情况的权限编码 internalMeetingCode: { @@ -504,7 +547,8 @@ export default { edit: 'internalMeetingSituation:edit', delete: 'internalMeetingSituation:delete', auditRecord: 'internalMeetingSituation:auditCredentials', - auditSignUpInfo: 'internalMeetingSituation:auditSignUp' + auditSignUpInfo: 'internalMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'internalMeetingSituation:guestsUploadFileFlag' }, // 标协会议的参会情况的权限编码 standardsMeetingCode: { @@ -515,7 +559,8 @@ export default { edit: 'standardsMeetingSituation:edit', delete: 'standardsMeetingSituation:delete', auditRecord: 'standardsMeetingSituation:auditCredentials', - auditSignUpInfo: 'standardsMeetingSituation:auditSignUp' + auditSignUpInfo: 'standardsMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'standardsMeetingSituation:guestsUploadFileFlag' }, // 理事会的参会情况的权限编码 councilMeetingCode: { @@ -526,7 +571,8 @@ export default { edit: 'councilMeetingSituation:edit', delete: 'councilMeetingSituation:delete', auditRecord: 'councilMeetingSituation:auditCredentials', - auditSignUpInfo: 'councilMeetingSituation:auditSignUp' + auditSignUpInfo: 'councilMeetingSituation:auditSignUp', + guestsUploadFileFlag: 'councilMeetingSituation:guestsUploadFileFlag' }, disableMixinCreated: true, // url: { @@ -594,7 +640,9 @@ export default { // 收款二维码 payMentQRCode: '', // 会议费用 - meetingCostBool: false + meetingCostBool: false, + meetingId: '', + meetingTypeValue: '', } }, created() { @@ -605,6 +653,7 @@ export default { const param = { id: this.$route.query.id } + getMeetInfoById(param).then(res => { if (res.success) { this.currentMeetingInfo = Object.assign({}, res.result) @@ -645,6 +694,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) } @@ -724,6 +776,19 @@ export default { this.$refs.auditModal.title = '审核报名信息' this.$refs.auditModal.open(record, true) }, + // 导出参会人信息 + handleExportXls(fileName) { + if (!fileName || typeof fileName != 'string') { + fileName = '导出文件' + } + let param = this.getQueryParams() + if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { + param['selections'] = this.selectedRowKeys.join(',') + } + // 增加特有的企业名称排序 + param.column = 'companyName' + downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param) + }, /* * 导入参会人 * */ @@ -890,6 +955,28 @@ export default { newInput.remove() this.$message.success('复制成功') }, + // 行内 设置嘉宾是否可上传文件,只有参会方式是嘉宾的可以设置 + setGuestsUploadFileFlag(record) { + // 参会人员不是嘉宾,直接返回 + if(record.identity !== 1 || record.registerCheckResult === 0) 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 || item.registerCheckResult === 0 + }) + if(flag) { + this.$message.warn('只有身份为嘉宾且报名信息审核通过的数据才可设置资料状态') + return + } + this.$refs.setGuessUploadFlagModal.showBatch(this.selectedRowKeys) + }, /* * 通过会议类型设置权限编码 * type 会议类型 diff --git a/src/views/incomePayments/meetManage/OtherMeetingForm.vue b/src/views/incomePayments/meetManage/OtherMeetingForm.vue index 5d39bd3..36b28c0 100644 --- a/src/views/incomePayments/meetManage/OtherMeetingForm.vue +++ b/src/views/incomePayments/meetManage/OtherMeetingForm.vue @@ -1,32 +1,5 @@ - - - @@ -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: { @@ -288,13 +298,6 @@ export default { width: 120, dataIndex: 'contactsTemporaryNameOne', scopedSlots: { customRender: 'text' } - }, { - // 2021-10-22需求变更新加 - title: '收费通知号', - align: 'center', - width: 280, - dataIndex: 'chargeNoticeNo', - scopedSlots: { customRender: 'text' } }, { title: '待确收金额', align: 'center', @@ -311,33 +314,51 @@ export default { customRender: (text, record) => ( ) + }, { + title: '标签名称', + align: 'center', + dataIndex: 'label', + width: 100, + scopedSlots: { customRender: 'text' } + }, { + // 2021-10-22需求变更新加 + title: '收费通知号', + align: 'center', + width: 280, + dataIndex: 'chargeNoticeNo', + scopedSlots: { customRender: 'text' } }, { title: '打包', align: 'center', + fixed: 'right', width: 80, dataIndex: 'pack', scopedSlots: { customRender: 'status-pack' } }, { title: '需要发票', align: 'center', + fixed: 'right', width: 80, dataIndex: 'needInvoice', scopedSlots: { customRender: 'status-pack' } }, { title: '到账', align: 'center', + fixed: 'right', width: 80, dataIndex: 'inAccount', scopedSlots: { customRender: 'status' } }, { title: '开票', align: 'center', + fixed: 'right', width: 80, dataIndex: 'makeInvoice', scopedSlots: { customRender: 'status-bill' } }, { title: '邮寄', align: 'center', + fixed: 'right', width: 80, dataIndex: 'mail', scopedSlots: { customRender: 'status-mail' } @@ -517,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..bd1b67c 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 { @@ -121,7 +122,7 @@ export default { scopedSlots: {customRender: 'text'} }, { - title: '是否提醒', + title: '邮件提醒', align: 'center', width: 200, dataIndex: 'remind_dictText', @@ -155,7 +156,7 @@ export default { scopedSlots: {customRender: 'text'} }, { - title: '是否提醒', + title: '邮件提醒', align: 'center', width: 200, dataIndex: 'remind_dictText', @@ -189,7 +190,7 @@ export default { scopedSlots: {customRender: 'text'} }, { - title: '是否提醒', + title: '邮件提醒', align: 'center', width: 200, dataIndex: 'remind_dictText', @@ -215,6 +216,10 @@ export default { newColumns: [], // 提醒类型 1 是工作组 2 是分标委 3是理事会 remindType:'', + // 是否需要发邮件 + needMail: false, + // 发消息需要验证的模板code码 + mailTemplateCode: '' } }, methods: { @@ -223,7 +228,8 @@ export default { this.visible = true // 保存选中的会议 this.selectedMetingList = [...meetingList] - + // 设置请求的模板CODE 一样的 + this.mailTemplateCode = 'QY_1_HYTZ_WORK_GROUP_CREATE' // 分标委会议需要分标标委的id if (this.$route.query.meetingType === '5') { // 分标委 @@ -243,6 +249,7 @@ export default { this.filters.workingGroupId = this.$route.query.workingGroupProjectId // 工作组 this.remindType = 1 + 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,89 @@ export default { this.$message.warn('请至少选择一个成员') this.confirmLoading = false return - } else { + } + // 定义请求成功的方法 sendEmailFlag: 0-不发送 1-发送 + const callbackFunc = (sendEmailFlag) => { + // TODO 分标委、理事会是否需要验证 再定 const param = { meetingIds: this.selectedMetingList, subitemIds: this.selectedRowKeys, projectType:this.remindType } + let requestFun + param.sendEmailFlag = sendEmailFlag // 分标委用分标委的接口 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) - }) + requestFun = publishRemind } - + requestFun(param).then(res => { + if (res.success) { + if (sendEmailFlag && 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 ') + } else { + this.$message.success(res.message) + } + this.$emit('ok') + this.confirmLoading = false + this.handleCancel() + } else { + this.$message.warn(res.message) + } + }).finally(() => { + setTimeout(() => { + this.confirmLoading = false + }, 1000) + }) } + + if(this.needMail) { + this.$confirm({ + title: '消息确认', + content: '确认要向选择的成员发送邮件吗?', + cancelText: '不发送', + okText: '确认发送', + onOk: function () { + callbackFunc(1) + }, + onCancel: function() { + callbackFunc(0) + } + }) + } else { + // 若全局没有配置则不发送邮件信息 + callbackFunc(0) + } + + }, 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..74d04dc 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 diff --git a/src/views/system/DictList.vue b/src/views/system/DictList.vue index 710cb10..1f0a6f5 100644 --- a/src/views/system/DictList.vue +++ b/src/views/system/DictList.vue @@ -62,8 +62,10 @@ @@ -108,7 +110,7 @@ export default { title: '序号', dataIndex: '', key: 'rowIndex', - width: 120, + width: 60, align: 'center', customRender: function (t, r, index) { return parseInt(index) + 1 @@ -117,18 +119,21 @@ export default { { title: '字典名称', align: 'left', + width: 120, dataIndex: 'dictName', scopedSlots: { customRender: 'text' } }, { title: '字典编号', align: 'left', + width: 120, dataIndex: 'dictCode', scopedSlots: { customRender: 'text' } }, { title: '描述', align: 'left', + width: 300, dataIndex: 'description', scopedSlots: { customRender: 'text' } }, @@ -136,6 +141,7 @@ export default { title: '操作', dataIndex: 'action', align: 'center', + width: 200, scopedSlots: { customRender: 'action' } } ],