From d391eeb9eecc13abd165c1d7b0382f2da0244e36 Mon Sep 17 00:00:00 2001 From: zhaoxiao Date: Fri, 17 Sep 2021 11:16:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E7=BB=84=E5=8F=98=E6=9B=B4?= =?UTF-8?q?=EF=BC=9B=E7=BB=9F=E8=AE=A1=E6=A0=B7=E5=BC=8F=EF=BC=9B=E5=8D=95?= =?UTF-8?q?=E4=B8=AA=E5=BC=80=E7=A5=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/incomePaymentsApi.js | 5 +- .../modules/InvoicingModule.vue | 15 ++- .../WorkingGroupMemberUnitMaintenance.vue | 24 +++- .../modules/WorkGroupDistributeModule.vue | 109 +++++++++++------- .../WholeInstituteStatisticsList.vue | 22 ++-- .../IndividualPaymentStatisticsDetail.vue | 30 ++--- .../IndividualPaymentStatisticsList.vue | 50 +++++--- .../ProjectPaymentStatisticsList.vue | 30 ++--- .../EnterprisePaymentStatisticsDetail.vue | 30 ++--- .../EnterprisePaymentStatisticsList.vue | 30 ++--- .../WorkingGroupPaymentStatisticsDetail.vue | 5 +- .../WorkingGroupPaymentStatisticsList.vue | 18 ++- 12 files changed, 214 insertions(+), 154 deletions(-) diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js index 6a70e99..d8191a2 100644 --- a/src/api/incomePaymentsApi.js +++ b/src/api/incomePaymentsApi.js @@ -59,6 +59,8 @@ const distribute = (param) => postAction('/project/payWorkingGroupDistributionRe const batchDistribute = (param) => postAction('/project/payWorkingGroupDistributionRecord/addBatch', param) // 资料分发成员列表 const distributeMemberList = (param) => getAction('/project/payWorkingGroupDistributionRecord/list', param) +// 催款提醒 +const dunningReminder = (param) => postAction('/project/payWorkingGroupSubitem/reminders', param) export { getWorkingGroupById, @@ -89,5 +91,6 @@ export { aduitCompany, distribute, batchDistribute, - distributeMemberList + distributeMemberList, + dunningReminder } diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingModule.vue index 49b6d5b..dfa8d09 100644 --- a/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingModule.vue +++ b/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingModule.vue @@ -131,7 +131,6 @@ export default { }) }, handleOk() { - console.log(this.projectType, this.chargeCompanyName) this.form.validateFields((err, values) => { if (!err) { // values.chargeCompanyName = this.chargeCompanyName @@ -142,7 +141,19 @@ export default { if (this.model.id) { okHttpMethod = editPayBill(formData) } else { - okHttpMethod = addPayBill(this.projectId, this.projectType, formData) + let addData = formData + let bmpList = [ + { + invoiceAmount: formData.invoiceAmount, + projectId: this.projectId, + projectType: this.projectType, + remark: formData.remark + } + ] + addData.bmpList = bmpList + delete addData.projectName + delete addData.remark + okHttpMethod = addPayBill(addData) } okHttpMethod.then(res => { if (res.success) { diff --git a/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue index 01b7103..666e7d2 100644 --- a/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue +++ b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue @@ -136,7 +136,7 @@ import { JeroListMixin } from '@/mixins/JeroListMixin' import JYearDate from '@comp/jero/JYearDate' import PageHeaderTitle from '@comp/layouts/PageHeaderTitle' -import { getWorkingGroupById, getChargeNotice } from '@api/incomePaymentsApi' +import { getWorkingGroupById, getChargeNotice, dunningReminder } from '@api/incomePaymentsApi' import StatusSlot from '../../components/tools/StatusSlot' import ProjectDetailModal from '../../components/ProjectDetailModal' import WorkingGroupMemberUnitModule from './modules/WorkingGroupMemberUnitModule' @@ -402,6 +402,28 @@ export default { this.$message.warn('请先选择成员') return } + let param = { + projectIds: this.selectedRowKeys.join(',').toString() + } + const that = this + this.$confirm({ + title: '确认催款', + content: '是否向选中的成员发送催款提醒?', + onOk: function () { + that.loading = true + dunningReminder(param).then((res) => { + if (res.success) { + that.$message.success(res.message) + that.loadData() + that.onClearSelected() + } else { + that.$message.warning(res.message) + } + }).finally(() => { + that.loading = false + }) + } + }) }, /** * 文件预览 diff --git a/src/views/projectManagement/modules/WorkGroupDistributeModule.vue b/src/views/projectManagement/modules/WorkGroupDistributeModule.vue index 284282d..1ce2c40 100644 --- a/src/views/projectManagement/modules/WorkGroupDistributeModule.vue +++ b/src/views/projectManagement/modules/WorkGroupDistributeModule.vue @@ -9,7 +9,7 @@ @cancel="handleCancel" cancelText="关闭"> - + @@ -20,11 +20,16 @@ :replaceFields="replaceFields" checkable @check="onCheck"/> + + @@ -69,6 +74,7 @@ export default { title: '分发', width: 500, confirmLoading: false, + form: this.$form.createForm(this), labelCol: { xs: { span: 24 }, sm: { span: 5 } @@ -86,13 +92,9 @@ export default { key: 'id' }, validatorRules: { - dataId: { - rules: [{ required: true, message: '请重新上传文件' }], - validateTrigger: 'change' - }, memberName: { - rules: [{ required: true, message: '请选择成员' }], - validateTrigger: 'blur, change' + rules: [{ required: true, message: '请选择成员单位'}], + validateTrigger: 'change' } }, url: { @@ -138,46 +140,67 @@ export default { this.memberList = [] }, handleOk() { - if (this.isBatch) { - // 批量分发 - const formData = { - contactsIds: this.checkedKeys.join(','), - dataIds: this.recordId, - projectId: this.projectId, - projectType: this.projectType - } - batchDistribute(formData).then(res => { - console.log(res) - if (res.success) { - this.$message.success(res.message) - this.close() - this.$emit('ok') - } else { - this.$message.warn(res.message) - } - }) - } else { - // 单个分发 - const formData = { - contactsId: this.checkedKeys.join(','), - dataId: this.recordId, - projectId: this.projectId, - projectType: this.projectType - } - distribute(formData).then(res => { - console.log(res) - if (res.success) { - this.$message.success(res.message) - this.close() - this.$emit('ok') - } else { - this.$message.warn(res.message) - } - }) + if (this.checkedKeys.length === 0) { + this.form.validateFields() + return } + let str = this.checkedKeys.join(',').toString() + console.log(str) + this.form.setFieldsValue({memberName: str}) + this.form.validateFields((err, values) => { + if (!err) { + this.confirmLoading = true + if (this.isBatch) { + // 批量分发 + const formData = { + contactsIds: this.checkedKeys.join(','), + dataIds: this.recordId, + projectId: this.projectId, + projectType: this.projectType + } + batchDistribute(formData).then(res => { + if (res.success) { + this.$message.success(res.message) + this.close() + this.$emit('ok') + } else { + this.$message.warn(res.message) + } + }).finally(() => { + this.confirmLoading = false + }) + } else { + // 单个分发 + const formData = { + contactsIds: this.checkedKeys.join(','), + dataId: this.recordId, + projectId: this.projectId, + projectType: this.projectType + } + distribute(formData).then(res => { + if (res.success) { + this.$message.success(res.message) + this.close() + this.$emit('ok') + } else { + this.$message.warn(res.message) + } + }).finally(() => { + this.confirmLoading = false + }) + } + } + }) }, handleCancel() { this.close() + }, + checkMember(rules, value, callback) { + if (this.checkedKeys.length === 0) { + callback('请选选择成员') + } else { + callback() + } } } } diff --git a/src/views/statisticalReport/WholeInstituteStatisticsList.vue b/src/views/statisticalReport/WholeInstituteStatisticsList.vue index f0c1ec8..fc79834 100644 --- a/src/views/statisticalReport/WholeInstituteStatisticsList.vue +++ b/src/views/statisticalReport/WholeInstituteStatisticsList.vue @@ -95,6 +95,7 @@ :pagination="ipagination" :loading="loading" @change="handleTableChange" + :class="dataSource.length === 0 ? 'show-scroll' : ''" class="j-table-force-nowrap main-table"> @@ -107,7 +108,7 @@ -