[update] 收入合同项目关联接口联调;支出合同页面

This commit is contained in:
zhaoxiao
2021-09-07 16:05:39 +08:00
parent 527bb2f593
commit 4549af906c
16 changed files with 1269 additions and 114 deletions
@@ -9,11 +9,23 @@
@cancel="handleCancel"
cancelText="关闭">
<a-form :form="form">
<a-row v-if="defaultChargeWay">
<a-col>
<a-form-item label="工作组项目" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
<a-select placeholder="请选择工作组项目"
v-decorator="['workingGroupId',validatorRules.workingGroupId]"
:maxLength='50'>
<a-select-option v-for="item in workingGroupList" :key="item.id" :value="item.id">{{ item.workingGroupProject }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
</a-row>
<a-row>
<a-col>
<a-form-item label="成员单位" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
<company-select placeholder="请选择成员单位"
v-decorator="['chargeCompany',validatorRules.chargeCompany]"
:disabled="disabledChargeCompany"
@change="companyChange"
:maxLength='50'>
</company-select>
@@ -71,7 +83,8 @@
<a-row>
<a-col :xl="12" :sm="24">
<a-form-item label="来款方式" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-decorator="['chargeWay',validatorRules.chargeWay]" @change="handlechargeWayChange">
<span v-if="defaultChargeWay === 2">合同</span>
<a-radio-group v-decorator="['chargeWay',validatorRules.chargeWay]" @change="handlechargeWayChange" v-else>
<a-radio :value="1"></a-radio>
<a-radio :value="2">合同</a-radio>
<a-radio :value="3">收费通知</a-radio>
@@ -184,10 +197,33 @@ import { httpAction } from '@api/manage'
import JUpload from '@comp/jero/JUpload'
import CompanySelect from '@comp/company/CompanySelect'
import SelectContacts from '@comp/company/SelectContacts'
import { getWorkingGroupAllList } from '../../../api/incomePaymentsApi'
export default {
name: 'WorkingGroupMemberUnitModule',
components: { JUpload, CompanySelect, SelectContacts },
props: {
// 默认来款方式(收入合同新增工作组项目,来款方式默认为2--合同)
defaultChargeWay: {
type: Number,
required: false,
default: null
},
// 收入合同关联时传入的企业信息,不可修改
defaultChargeCompany: {
type: Object,
required: false,
default: () => {
return {}
}
},
// 是否可以修改来款企业
disabledChargeCompany: {
type: Boolean,
required: false,
default: false
}
},
data() {
return {
title: '操作',
@@ -213,6 +249,10 @@ export default {
sm: { span: 21 }
},
validatorRules: {
workingGroupId: {
rules: [{ required: true, message: '请选择工作组项目' }],
validateTrigger: 'change'
},
chargeCompany: {
rules: [{ required: true, message: '请选择成员单位' }],
validateTrigger: 'change'
@@ -255,6 +295,7 @@ export default {
chargeNoticeList: [], // 收费通知号list
selectedChargeNotice: null, // 选中的收费通知号
workingGroupId: null,
workingGroupList: [],
url: {
add: '/project/payWorkingGroupSubitem/add',
edit: '/project/payWorkingGroupSubitem/edit'
@@ -264,11 +305,32 @@ export default {
methods: {
add() {
this.edit({})
if (this.defaultChargeWay) {
this.loadWorkingGroupList()
this.chargeWayType = 2
}
},
loadWorkingGroupList() {
getWorkingGroupAllList().then(res => {
if (res.success) {
this.workingGroupList = res.result
} else {
this.$message.warn(res.message)
}
})
},
edit(record) {
record.chargeCompany = {
id: record.chargeCompanyId,
companyName: record.chargeCompanyTemporaryName
// 存在默认选中企业时显示默认企业
if (this.defaultChargeCompany.hasOwnProperty.call(this.defaultChargeCompany, 'id')) {
record.chargeCompany = {
id: this.defaultChargeCompany.id,
companyName: this.defaultChargeCompany.companyName
}
} else {
record.chargeCompany = {
id: record.chargeCompanyId,
companyName: record.chargeCompanyTemporaryName
}
}
// 回显选中的企业
this.selectedCompany = record.chargeCompany
@@ -314,6 +376,10 @@ export default {
// 触发表单验证
this.form.validateFields((err, values) => {
if (!err) {
// 收入合同新建项目手动赋值
if (this.defaultChargeWay === 2) {
values.chargeWay = 2
}
values.chargeCompanyTemporaryName = values.chargeCompany.companyName
values.chargeCompanyId = values.chargeCompany.id
let httpurl = ''
@@ -323,7 +389,9 @@ export default {
} else {
httpurl += this.url.edit
}
values.workingGroupId = this.workingGroupId
if (this.workingGroupId) {
values.workingGroupId = this.workingGroupId
}
const formData = Object.assign(this.model, values)
console.log('表单提交数据', formData)
httpAction(httpurl, formData, method).then((res) => {