From da4b9b892495188bf72a7f86cceab2f85900411c Mon Sep 17 00:00:00 2001 From: fengachen <373943794@qq.com> Date: Sat, 18 Sep 2021 16:52:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B6=E5=85=A5=E5=90=88=E5=90=8C=E5=85=B3?= =?UTF-8?q?=E8=81=94=E4=BC=9A=E5=91=98=E9=A1=B9=E7=9B=AE[=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=9C=89=E9=97=AE=E9=A2=98]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/incomeMeetingApi.js | 5 +- .../modules/AddMemberProject.vue | 78 ++++++++++++++----- .../modules/RevenueContractModule.vue | 7 +- .../modules/SelectMemberProjectModule.vue | 8 +- 4 files changed, 72 insertions(+), 26 deletions(-) diff --git a/src/api/incomeMeetingApi.js b/src/api/incomeMeetingApi.js index 277e304..dca7949 100644 --- a/src/api/incomeMeetingApi.js +++ b/src/api/incomeMeetingApi.js @@ -12,6 +12,8 @@ const getSingUpUserInfo = (params) => getAction('/meeting/payMeetingSituation/qu const uploadMeetingFiles = (params) => postAction('/meeting/payMeeting/uploadFile',params) // 生成会议二维码 const createQcCode = (params) => getAction('/meeting/payMeeting/createBase64',params) +// 收入合同的新增会员项目的查询 +const queryContractMemberProject = (params) => getAction('/jero/memberProject/queryListByNotCompany',params) export { getUserInfo, @@ -19,5 +21,6 @@ export { getAllWorkProjects, getSingUpUserInfo, uploadMeetingFiles, - createQcCode + createQcCode, + queryContractMemberProject } diff --git a/src/views/contractManagement/revenueContract/modules/AddMemberProject.vue b/src/views/contractManagement/revenueContract/modules/AddMemberProject.vue index 163eade..04996c7 100644 --- a/src/views/contractManagement/revenueContract/modules/AddMemberProject.vue +++ b/src/views/contractManagement/revenueContract/modules/AddMemberProject.vue @@ -14,10 +14,16 @@ - + + + {{ item.projectName }} + + @@ -48,7 +54,7 @@ + @change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}" @blur="addZero"> @@ -82,7 +88,7 @@ + :maxLength="50" v-decorator="['contractNo',validatorRules.contractNo]" disabled> @@ -113,7 +119,9 @@ import {httpAction} from '@api/manage' import SelectContacts from '@comp/company/SelectContacts' import JDictSelectTag from '@comp/dict/JDictSelectTag' import CompanySelect from '@comp/company/CompanySelect' +import {queryContractMemberProject} from '@api/incomeMeetingApi' import {money} from '@/utils/validate' +import {addZero} from '@/utils/util' export default { @@ -152,6 +160,10 @@ export default { rules: [{ required: true, message: '请选择会员单位' }], validateTrigger: 'change', }, + projectId: { + rules: [{ required: true, message: '请选择会员项目' }], + validateTrigger: 'change', + }, contractNo: { rules: [{ required: true, message: '请输入合同号' }], validateTrigger: 'blur', @@ -172,10 +184,6 @@ export default { rules: [{ required: true, message: '请选择发票类型' }], validateTrigger: ['change', 'blur'], }, - contractNum:{ - rules: [{ required: true, message: '请输入合同编号' }], - validateTrigger: ['blur'], - }, chargeUse: { rules: [{ required: true, message: '请选择来款用途' }], validateTrigger: 'change', @@ -183,35 +191,44 @@ export default { }, }, url: { - add: '', - edit: '', + add: '/jero/memberProjectSubitem/add', }, // 合同信息 contractInfo:{}, // 联系人回显 selectContact:null, + // 不包含在列表的会员项目 + memberProjetList:[], } }, methods: { + addZero, open(record) { this.form.resetFields() this.visible = true console.log(record) this.contractInfo = Object.assign({},record) // 会员企业的默认显示 - this.contractInfo.companyId = record.signedCompany + this.contractInfo.companyId = { + id:record.signedCompanyTemporaryId, + companyName:record.signedCompanyTemporaryName + } + // 查询会员项目的企业id + let companyId = record. signedCompanyId + // 获取会员项目数据 + this.queryMemberProject(companyId) // 联系人默认显示 - this.contractInfo.companyContactId = record.signedContactsTemporaryId + this.contractInfo.companyContactId = record.signedContactsId // 邮寄联系人显示 - this.contractInfo.postContactId = record.signedContactsTemporaryId + this.contractInfo.postContactId = record.signedContactsId // 合同编号显示 - this.contractInfo.contractNum = record.contractNum + this.contractInfo.contractNo = record.contractNum this.selectContact = { - id:record.signedContactsTemporaryId, + id:record.signedContactsId, name:record.signedContactsTemporaryName } this.$nextTick( () => { - this.form.setFieldsValue(pick(this.contractInfo,'companyId','companyContactId','postContactId','contractNum')) + this.form.setFieldsValue(pick(this.contractInfo,'companyId','companyContactId','postContactId','contractNo')) }) }, close() { @@ -227,6 +244,7 @@ export default { const formData = Object.assign({},values) // 来款方式默认是合同 formData.paymentMethod = 2 + formData.companyId = values.companyId.id httpAction(url,formData,method).then(res => { if(res.success){ that.$message.success(res.message) @@ -258,7 +276,29 @@ export default { callback('请输入合法的金额数字,最多2位小数,10位正数') } - } + }, + /* + * 查询会员项目 + * */ + queryMemberProject(id) { + const param = { + companyId:id + } + this.memberProjetList = [] + queryContractMemberProject(param).then(res => { + if(res.success){ + this.memberProjetList = res.result + }else { + console.log(res.message) + } + }) + }, + // 下拉框的搜索 + filterOption(input, option) { + return ( + option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 + ) + }, } } diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue index ce95887..9f6eaab 100644 --- a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue +++ b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue @@ -413,6 +413,7 @@ export default { departId: null, // 部门id普通项目列表查询 projectType: null, //项目类型 signedContactId: null, //签订联系人正式id,用于新增工作组项目回显 + newFormData:{} // 传入的数据 } }, mounted() { @@ -444,6 +445,8 @@ export default { } // 通过id获取合同信息 getRevenueContractById(param).then(res => { + // 这是会员跟会议要传的参数 + this.newFormData = Object.assign({},res.result) let record record = res.result this.isSaved = true @@ -792,12 +795,12 @@ export default { // 会议项目 case 3: // 传入合同信息 - this.$refs.selectMeetingProjectModule.open(this.model) + this.$refs.selectMeetingProjectModule.open(this.newFormData) break // 会员项目 case 4: // 传入合同信息 - this.$refs.selectMemberProjectModule.open(this.model) + this.$refs.selectMemberProjectModule.open(this.newFormData) break } }, diff --git a/src/views/contractManagement/revenueContract/modules/SelectMemberProjectModule.vue b/src/views/contractManagement/revenueContract/modules/SelectMemberProjectModule.vue index 6ea556b..023fb60 100644 --- a/src/views/contractManagement/revenueContract/modules/SelectMemberProjectModule.vue +++ b/src/views/contractManagement/revenueContract/modules/SelectMemberProjectModule.vue @@ -55,7 +55,7 @@ class="j-table-force-nowrap"> @@ -89,7 +89,7 @@ class="j-table-force-nowrap"> @@ -309,13 +309,12 @@ export default { }, methods: { open(record) { - console.log('record',record) this.contractInfo = Object.assign({},record) // 保存合同id 与打包状态 this.contractId = record.id this.pack = record.pack // 保存企业id - this.companyId =record.signedCompany.id + this.companyId =record.signedCompanyId this.filters = { companyId:this.companyId, contractId:this.contractId, @@ -327,6 +326,7 @@ export default { close() { this.queryParam = {} this.visible = false + this.$emit('ok') }, handleOk() { if (this.selectedRowKeys.length <= 0) {