diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js index 51095a6..6b4c035 100644 --- a/src/api/incomePaymentsApi.js +++ b/src/api/incomePaymentsApi.js @@ -23,7 +23,7 @@ const submitAudit = (param) => postAction('/contract/payIncomeContract/submitAud // 获取不存在成员单位的工作组信息 const getWorkingGroupListByNotCompany = (param) => getAction('/project/payWorkingGroup/queryListByNotCompany', param) // 收入合同存档 -const archiveRevenueContract = (param) => postAction('contract/payIncomeContract/archive', param) +const archiveRevenueContract = (param) => postAction('/contract/payIncomeContract/archive', param) // 根据部门id获取用户信息 const queryUserByDepartId = (param) => getAction('/sys/user/listRoleAndDepart', param) // 企业联系人新建重名校验 @@ -80,6 +80,12 @@ const checkCompanyAduit = (param) => getAction('/payMailContract/payMailContract const getAllDepartTreeList = (param) => getAction('/sys/sysDepart/queryTreeAllList', param) // 验证项目是否关联合同 const getIsAssociatedProject = (param) => getAction('/contract/payIncomeContract/getAssociatedProject', param) +// 支出合同审核 +const aduitExpenditureContract = (param) => postAction('/contract/paySpendingContract/audit', param) +// 支出合同存档 +const archiveExpenditureContract = (param) => postAction('/contract/paySpendingContract/archive', param) +// 获取全部收入合同(通过企业id查询列表) +const getAllRevenueContract = (param) => getAction('/contract/payIncomeContract/queryByCompanyId', param) export { getWorkingGroupById, @@ -121,5 +127,8 @@ export { sysReminders, checkCompanyAduit, getAllDepartTreeList, - getIsAssociatedProject + getIsAssociatedProject, + aduitExpenditureContract, + archiveExpenditureContract, + getAllRevenueContract } diff --git a/src/components/company/SelectContacts.vue b/src/components/company/SelectContacts.vue index 4cdaaf1..606019b 100644 --- a/src/components/company/SelectContacts.vue +++ b/src/components/company/SelectContacts.vue @@ -28,7 +28,7 @@ + + \ No newline at end of file diff --git a/src/views/contractManagement/expenditureContract/ExpenditureContractDetail.vue b/src/views/contractManagement/expenditureContract/ExpenditureContractDetail.vue index d48c1fa..6db42ae 100644 --- a/src/views/contractManagement/expenditureContract/ExpenditureContractDetail.vue +++ b/src/views/contractManagement/expenditureContract/ExpenditureContractDetail.vue @@ -147,7 +147,10 @@ {{ item.createBy }} {{ item.createTime }} - {{ item.contractStatus_dictText }} + + + {{ item.contractStatus_dictText === '待存档' ? '审核通过' : item.contractStatus_dictText }} + {{ item.explainRemarks }} @@ -166,7 +169,7 @@
编辑 @@ -175,14 +178,14 @@ type="primary" @click="handleAudit(detailData.id)" v-if="detailData.status === 2" - v-has="'revenueContract:aduit'"> + v-has="'expenditureContract:aduit'"> 审核 + v-has="'expenditureContract:archive'"> 存档
@@ -192,17 +195,19 @@ + diff --git a/src/views/mailManagement/BillMail.vue b/src/views/mailManagement/BillMail.vue index a5840d0..3e73e51 100644 --- a/src/views/mailManagement/BillMail.vue +++ b/src/views/mailManagement/BillMail.vue @@ -179,6 +179,13 @@ export default { dataIndex: 'chargeCompanyName', scopedSlots: { customRender: 'text' } }, + // { + // title: '企业联系人', + // align: 'center', + // width: 300, + // dataIndex: 'principalName', + // scopedSlots: { customRender: 'text' } + // }, { title: '邮寄联系人', align: 'center', diff --git a/src/views/packManagement/PackCompanyList.vue b/src/views/packManagement/PackCompanyList.vue index 0d34c00..ce09250 100644 --- a/src/views/packManagement/PackCompanyList.vue +++ b/src/views/packManagement/PackCompanyList.vue @@ -113,13 +113,14 @@ export default { width: 280, dataIndex: 'companyTemporaryName', scopedSlots: { customRender: 'projectName' } - }, { - title: '打包年份', + }, + { + title: '企业联系人', align: 'center', - width: 140, - dataIndex: 'packYear', + width: 280, + dataIndex: 'companyContactTemporaryName', scopedSlots: { customRender: 'text' } - }, { + },{ title: '打包联系人', align: 'center', width: 280, @@ -138,24 +139,27 @@ export default { dataIndex: 'receiptExpense', scopedSlots: { customRender: 'text' } }, { - title: '企业联系人', + title: '打包年份', align: 'center', - width: 280, - dataIndex: 'companyContactTemporaryName', + width: 140, + dataIndex: 'packYear', scopedSlots: { customRender: 'text' } - }, { - title: '联系人电话', - align: 'center', - width: 200, - dataIndex: 'phone', - scopedSlots: { customRender: 'text' } - }, { - title: '邮箱', - align: 'center', - width: 280, - dataIndex: 'email', - scopedSlots: { customRender: 'text' } - }, { + }, + + // { + // title: '联系人电话', + // align: 'center', + // width: 200, + // dataIndex: 'phone', + // scopedSlots: { customRender: 'text' } + // }, { + // title: '邮箱', + // align: 'center', + // width: 280, + // dataIndex: 'email', + // scopedSlots: { customRender: 'text' } + // }, + { title: '操作', dataIndex: 'action', align: 'center', diff --git a/src/views/packManagement/PackProjectMaintenance.vue b/src/views/packManagement/PackProjectMaintenance.vue index d3501a7..c622097 100644 --- a/src/views/packManagement/PackProjectMaintenance.vue +++ b/src/views/packManagement/PackProjectMaintenance.vue @@ -273,24 +273,6 @@ export default { width: 140, dataIndex: 'principalName', scopedSlots: { customRender: 'text' } - }, { - title: '企业联系人', - align: 'center', - width: 280, - dataIndex: 'contactsTemporaryName', - scopedSlots: { customRender: 'text' } - }, { - title: '联系人电话', - align: 'center', - width: 160, - dataIndex: 'phone', - scopedSlots: { customRender: 'text' } - }, { - title: '联系人邮箱', - align: 'center', - width: 200, - dataIndex: 'email', - scopedSlots: { customRender: 'text' } }, { title: '应收金额', align: 'center', @@ -331,6 +313,24 @@ export default { width: 80, dataIndex: 'mail', scopedSlots: { customRender: 'status-mail' } + }, { + title: '企业联系人', + align: 'center', + width: 280, + dataIndex: 'contactsTemporaryName', + scopedSlots: { customRender: 'text' } + }, { + title: '联系人电话', + align: 'center', + width: 160, + dataIndex: 'phone', + scopedSlots: { customRender: 'text' } + }, { + title: '联系人邮箱', + align: 'center', + width: 200, + dataIndex: 'email', + scopedSlots: { customRender: 'text' } }, { title: '操作', dataIndex: 'action', @@ -504,7 +504,10 @@ export default { * @param record */ invoicing(record) { - console.log(record) + if (record.projectType === 5 && record.inAccount !== 1) { + this.$message.warn('标协会员项目必须先到账才可开票。') + return + } this.selectProjectName = record.chargeProject this.selectProjectId = record.id this.selectProjectType = record.projectType @@ -530,6 +533,13 @@ export default { if (arr.some(item => item.makeInvoice === 1)) { reject('存在已完成开票的项目!') } + // 是否选中了标协会员项目,标协会员项目只能到账一次、开票一次,前端进行是否完全到账的限制 + if (arr.some(item => item.projectType === 5)) { + // 标协会员项目是否完全到账 + if (arr.some(item => item.inAccount !== 1)) { + reject('标协会员项目必须先到账才可开票。') + } + } } // 来款 if (operateType === 'incomePayment') { diff --git a/src/views/packManagement/modules/PackProjectSelectProjectModule.vue b/src/views/packManagement/modules/PackProjectSelectProjectModule.vue index 372eb63..75071c9 100644 --- a/src/views/packManagement/modules/PackProjectSelectProjectModule.vue +++ b/src/views/packManagement/modules/PackProjectSelectProjectModule.vue @@ -145,10 +145,16 @@ export default { }, { title: '项目负责人', align: 'center', - width: 140, + width: 280, dataIndex: 'principalName', scopedSlots: { customRender: 'text' } - }, { + },{ + title: '企业联系人', + align: 'center', + width: 280, + dataIndex: 'contactsTemporaryName', + scopedSlots: { customRender: 'text' } + }, { title: '应收金额', align: 'center', width: 120, diff --git a/src/views/projectManagement/modules/GeneralProjectModule.vue b/src/views/projectManagement/modules/GeneralProjectModule.vue index 919f91e..5a0feae 100644 --- a/src/views/projectManagement/modules/GeneralProjectModule.vue +++ b/src/views/projectManagement/modules/GeneralProjectModule.vue @@ -122,11 +122,17 @@ - + + + + + + + @@ -191,10 +197,11 @@ import Vue from 'vue' import { USER_INFO } from '../../../store/mutation-types' import { money } from '../../../utils/validate' import { checkAssociatedProject } from '../../../utils/projectCheck' +import SelectRevenueContract from '../../../components/tools/SelectRevenueContract' export default { name: 'GeneralProjectModule', - components: { JYearDate, JUpload, CompanySelect, SelectPrincipal, SelectContacts }, + components: { JYearDate, JUpload, CompanySelect, SelectPrincipal, SelectContacts, SelectRevenueContract }, props: { // 收入合同关联时传入的企业信息,不可修改 defaultChargeCompany: { @@ -306,8 +313,8 @@ export default { validateTrigger: 'change' }, contractNum: { - rules: [{ required: true, message: '请输入合同号' }], - validateTrigger: 'blur' + rules: [{ required: true, message: '请选择合同号' }], + validateTrigger: 'change' }, chargeNoticeNo: { rules: [{ required: true, message: '请输入收费通知号' }], @@ -468,8 +475,9 @@ export default { this.selectedCompany = value this.model.contactsId = undefined this.model.mailContactsId = undefined + this.model.contractNum = undefined this.$nextTick(() => { - this.form.setFieldsValue(pick(this.model, 'contactsId', 'mailContactsId')) + this.form.setFieldsValue(pick(this.model, 'contactsId', 'mailContactsId', 'contractNum')) }) }, /** diff --git a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue index 713e304..9b473dc 100644 --- a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue +++ b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue @@ -88,8 +88,10 @@ 合同 - + 合同 收费通知 @@ -138,11 +140,17 @@ - + + + + + + + @@ -227,10 +235,11 @@ import { isRepeat } from '../../../utils/util' import { addZero } from '../../../utils/util' import { money } from '../../../utils/validate' import { checkAssociatedProject } from '../../../utils/projectCheck' +import SelectRevenueContract from '../../../components/tools/SelectRevenueContract' export default { name: 'WorkingGroupMemberUnitModule', - components: { JUpload, CompanySelect, SelectContacts }, + components: { JUpload, CompanySelect, SelectContacts, SelectRevenueContract }, props: { // 默认来款方式(收入合同新增工作组项目,来款方式默认为2--合同) defaultChargeWay: { @@ -331,8 +340,8 @@ export default { validateTrigger: 'blur' }, contractNum: { - rules: [{ required: true, message: '请输入合同号' }], - validateTrigger: 'blur' + rules: [{ required: true, message: '请选择合同号' }], + validateTrigger: 'change' }, charge: { rules: [{ required: true, message: '请输入收费通知号' }], @@ -411,6 +420,7 @@ export default { checkAssociatedProject(record.id).then(res => { this.disabledCompany = this.disabledChargeCompany || res || (!!record.inAccount && record.inAccount !== 0) || (!!record.makeInvoice && record.makeInvoice !== 0) || (!!record.mail && record.mail !== 0) this.isAssociatedContract = res + console.log(this.isContractNumDisabled,this.isAssociatedContract, this.isContractNumDisabled || this.isAssociatedContract, '----------------') }) } else { this.disabledCompany = this.disabledChargeCompany @@ -578,8 +588,9 @@ export default { this.model.contactsIdTwo = undefined this.model.contactsIdThree = undefined this.model.mailContactsId = undefined + this.model.contractNum = undefined this.$nextTick(() => { - this.form.setFieldsValue(pick(this.model, 'contactsIdOne', 'contactsIdTwo', 'contactsIdThree', 'mailContactsId')) + this.form.setFieldsValue(pick(this.model, 'contactsIdOne', 'contactsIdTwo', 'contactsIdThree', 'mailContactsId', 'contractNum')) }) }, /**