[update] 支出合同变更

This commit is contained in:
zhaoxiao
2021-12-15 10:10:32 +08:00
parent d0b052614f
commit 5c4db61396
7 changed files with 132 additions and 71 deletions
+4 -1
View File
@@ -93,6 +93,8 @@ const getPrintPostContactByMailId = (param) => getAction('/mail/payMailBill/prin
const getUserByDepartCode = (param) => getAction('/statistics/allProjectStatistics/listForUserByOrgCode', param)
// 收入合同--作废
const cancellationContract = (param) => postAction('/contract/payIncomeContract/cancellation', param)
// 支出合同--作废
const cancellationExpenditureContract = (param) => postAction('/contract/paySpendingContract/cancellation', param)
export {
getWorkingGroupById,
@@ -140,5 +142,6 @@ export {
getAllRevenueContract,
getPrintPostContactByMailId,
getUserByDepartCode,
cancellationContract
cancellationContract,
cancellationExpenditureContract
}
@@ -134,29 +134,29 @@
</div>
<a-empty v-else></a-empty>
</div>
<a-divider></a-divider>
<!-- <a-divider></a-divider>-->
<!-- 审核记录-->
<div>
<div class="part-title">
<div class="part-title-text">审核记录</div>
</div>
<div class="aduit-text" v-if="detailData.listAudit && detailData.listAudit.length > 0">
<div v-for="(item, index) in detailData.listAudit"
:key="index">
<a-row>
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
<a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>
<!-- 待存档文字替换-->
<a-col :sm="6" :xs="24">
{{ item.contractStatus_dictText === '待存档' ? '审核通过' : item.contractStatus_dictText }}
</a-col>
<a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>
</a-row>
</div>
</div>
<a-empty v-else></a-empty>
</div>
<!-- <div>-->
<!-- <div class="part-title">-->
<!-- <div class="part-title-text">审核记录</div>-->
<!-- </div>-->
<!-- <div class="aduit-text" v-if="detailData.listAudit && detailData.listAudit.length > 0">-->
<!-- <div v-for="(item, index) in detailData.listAudit"-->
<!-- :key="index">-->
<!-- <a-row>-->
<!-- <a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>-->
<!-- <a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>-->
<!-- &lt;!&ndash; 待存档文字替换&ndash;&gt;-->
<!-- <a-col :sm="6" :xs="24">-->
<!-- {{ item.contractStatus_dictText === '待存档' ? '审核通过' : item.contractStatus_dictText }}-->
<!-- </a-col>-->
<!-- <a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>-->
<!-- </a-row>-->
<!-- </div>-->
<!-- </div>-->
<!-- <a-empty v-else></a-empty>-->
<!-- </div>-->
<!-- 状态非已存档显示-->
<template v-if="detailData.status < 5">
@@ -170,17 +170,17 @@
<a-button
type="primary"
@click="handleEdit(detailData.id)"
v-if="detailData.status === 1 || detailData.status === 4"
v-if="detailData.status === 3"
v-has="'revenueContract:edit'">
编辑
</a-button>
<a-button
type="primary"
@click="handleAudit(detailData.id)"
v-if="detailData.status === 2"
v-has="'expenditureContract:aduit'">
审核
</a-button>
<!-- <a-button-->
<!-- type="primary"-->
<!-- @click="handleAudit(detailData.id)"-->
<!-- v-if="detailData.status === 2"-->
<!-- v-has="'expenditureContract:aduit'">-->
<!-- 审核-->
<!-- </a-button>-->
<a-button
type="primary"
@click="handleArchive(detailData.id)"
@@ -310,11 +310,14 @@ export default {
return this.otherInfoList.filter(item => this.detailData[item.fieldName] && this.detailData[item.fieldName] !== '') || []
}
},
mounted() {
this.initDetailData(this.$route.query.revenueId)
created() {
this.initDetailData()
},
methods: {
initDetailData() {
if (!this.$route.query.revenueId) {
return
}
this.loading = true
let param = {
id: this.$route.query.revenueId
@@ -324,8 +327,9 @@ export default {
this.detailData = res.result
// this.detailData.pack = this.detailData.pack === 1 ? '是' : this.detailData.pack === 0 ? '否' : ''
} else {
//TODO 别的页面会调这边的接口,所以把异常给关了
// 添加异常判断,防止消息进入详情无法正常获取数据造成卡死及控制台报错
this.$message.warn(res.message)
console.log(res.message)
}
}).finally(() => {
this.loading = false
@@ -121,6 +121,9 @@
v-has="'expenditureContract:delete'"
v-if="record.status === 6">删除</a>
<a :disabled="true" v-if="record.status === 5">已存档</a>
<!-- 待存档已存档-->
<a v-if="record.status === 3 || record.status === 5" @click="handleCancellation(record)"
v-has="'expenditureContract:cancellation'">作废</a>
</span>
</a-table>
</div>
@@ -136,7 +139,7 @@ import IconImg from '@assets/imgs/icon/icon_revenue_contract.png'
import { JeroListMixin } from '../../../mixins/JeroListMixin'
import { RangeDateMixin } from '../../../mixins/RangeDateMixin'
import JDate from '../../../components/tools/JDate'
import { archiveExpenditureContract } from '../../../api/incomePaymentsApi'
import { archiveExpenditureContract, cancellationExpenditureContract } from '../../../api/incomePaymentsApi'
import RevenueContractAduitModule from '../revenueContract/modules/RevenueContractAduitModule'
export default {
@@ -308,6 +311,35 @@ export default {
})
}
})
},
/**
* 合同作废
* @param record
*/
handleCancellation(record) {
let that = this
this.$confirm({
title: '作废',
content: '确认作废?',
onOk: function () {
that.loading = true
that.loading = false
let param = {
contractId: record.id
}
cancellationExpenditureContract(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
})
}
})
}
}
}
@@ -15,6 +15,7 @@
<a-input placeholder="请输入合同编号"
v-decorator="['contractNum',validatorRules.contractNum]"
:maxLength='50'
:disabled="canEdit"
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
</a-form-item>
</a-col>
@@ -23,6 +24,7 @@
<a-input placeholder="请输入合同名称"
v-decorator="['contractName',validatorRules.contractName]"
:maxLength='50'
:disabled="canEdit"
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
</a-form-item>
</a-col>
@@ -31,6 +33,7 @@
<a-input placeholder="请输入签订单位"
v-decorator="['signedCompanyTemporaryName',validatorRules.signedCompanyTemporaryName]"
:maxLength='50'
:disabled="canEdit"
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
</a-form-item>
</a-col>
@@ -39,6 +42,7 @@
<a-input placeholder="请输入签订联系人"
v-decorator="['signedContactsTemporaryName',validatorRules.signedContactsTemporaryName]"
:maxLength='50'
:disabled="canEdit"
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
</a-form-item>
</a-col>
@@ -46,6 +50,7 @@
<a-form-item label="是否开口" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-decorator="['opening']"
:triggerChange="true"
:disabled="canEdit"
placeholder="请选择是否开口"
dictCode="yn"/>
</a-form-item>
@@ -53,6 +58,7 @@
<a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择负责人"
:disabled="canEdit"
v-decorator="['principalId',validatorRules.principalId]"
@change="principalChange"></select-principal>
</a-form-item>
@@ -69,6 +75,7 @@
<a-input placeholder="请输入签订合同总金额"
v-decorator="['contractAmount',validatorRules.contractAmount]"
:maxLength='50'
:disabled="canEdit"
@blur="addZero"
@change="contractAmountChange"></a-input>
</a-form-item>
@@ -80,6 +87,7 @@
<a-input placeholder="请输入税率"
v-decorator="['rate',validatorRules.rate]"
:maxLength='50'
:disabled="canEdit"
@change="rateChange"></a-input>
</a-col>
<a-col :span="1">%</a-col>
@@ -91,6 +99,7 @@
<a-input placeholder="请输入未税金额"
v-decorator="['noTaxAmount',validatorRules.noTaxAmount]"
:maxLength='50'
:disabled="canEdit"
@blur="addZero"
@change="noTaxChange"></a-input>
</a-form-item>
@@ -111,6 +120,7 @@
style="width: 100%;"
v-decorator="['contractDate']"
:trigger-change="true"
:disabled="canEdit"
date-format="YYYY-MM-DD"/>
</a-form-item>
</a-col>
@@ -120,6 +130,7 @@
style="width: 100%;"
v-decorator="['terminationDate']"
:trigger-change="true"
:disabled="canEdit"
date-format="YYYY-MM-DD"/>
</a-form-item>
</a-col>
@@ -129,6 +140,7 @@
<a-textarea placeholder="请输入合同约定主要时点"
v-decorator="['contractTimePoints',validatorRules.contractTimePoints]"
:maxLength='200'
:disabled="canEdit"
autosize
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-textarea>
</a-form-item>
@@ -149,6 +161,7 @@
<a-input placeholder="请输入应付金额"
v-decorator="['accountsReceivableAmount',validatorRules.accountsReceivableAmount]"
:maxLength='50'
:disabled="canEdit"
@blur="addZero"
@change="accountsReceivableChange"></a-input>
</a-form-item>
@@ -158,6 +171,7 @@
<a-input placeholder="请输入已付金额"
v-decorator="['amountReceived',validatorRules.amountReceived]"
:maxLength='50'
:disabled="canEdit"
@blur="addZero"
@change="amountReceivedChange"></a-input>
</a-form-item>
@@ -197,6 +211,7 @@
<a-input placeholder="请输入合同约定付款次数"
v-decorator="['contractPaymentTimes']"
:maxLength='50'
:disabled="canEdit"
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
</a-form-item>
</a-col>
@@ -345,6 +360,19 @@ export default {
}
}
},
computed: {
canEdit() {
// 待存档、草稿不限制
if (this.model.status === 3) {
return false
}
// 已存档
if (this.model.status === 5) {
return true
}
return false
}
},
mounted() {
if (this.$route.query.hasOwnProperty.call(this.$route.query, 'contractId')) {
this.contractId = this.$route.query.contractId
@@ -403,16 +431,7 @@ export default {
})
},
save() {
const that = this
this.$confirm({
title: '提示',
content: '保存后将进入待审核状态,无法编辑,确定要保存吗 ?',
onOk() {
that.handleSave()
},
onCancel() {
},
})
this.handleSave()
},
/**
* 表单提交
@@ -552,7 +571,7 @@ export default {
return
}
// value为undefined时清除部门名称
this.form.setFieldsValue({departmentName: undefined})
this.form.setFieldsValue({ departmentName: undefined })
},
/**
* 总签订金额修改
@@ -139,7 +139,7 @@
v-has="'revenueContract:delete'">删除</a>
<a :disabled="true" v-if="record.status === 5">已存档</a>
<!-- 待存档已存档-->
<a v-if="record.status === 3 || record.status === 5" @click="handleCancellation(record)">作废</a>
<a v-if="record.status === 3 || record.status === 5" @click="handleCancellation(record)" v-has="'revenueContract:cancellation'">作废</a>
</span>
</a-table>
</div>
@@ -178,7 +178,7 @@ export default {
if (res.success) {
this.associatedProjectDataSource = res.result
} else {
this.$message.warn(res.message)
console.log(res.message)
}
}).finally(() => {
this.associatedProjectLoading = false
@@ -144,29 +144,29 @@
</div>
<a-empty v-else></a-empty>
</div>
<a-divider></a-divider>
<!-- <a-divider></a-divider>-->
<!-- 审核记录-->
<div>
<div class="part-title">
<div class="part-title-text">审核记录</div>
</div>
<div class="aduit-text" v-if="detailData.listAudit && detailData.listAudit.length > 0">
<div v-for="(item, index) in detailData.listAudit"
:key="index">
<a-row>
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
<a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>
<!-- 待存档状态文本替换-->
<a-col :sm="6" :xs="24">
{{ item.contractStatus_dictText === '待存档' ? '审核通过' : item.contractStatus_dictText }}
</a-col>
<a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>
</a-row>
</div>
</div>
<a-empty v-else></a-empty>
</div>
<!-- <div>-->
<!-- <div class="part-title">-->
<!-- <div class="part-title-text">审核记录</div>-->
<!-- </div>-->
<!-- <div class="aduit-text" v-if="detailData.listAudit && detailData.listAudit.length > 0">-->
<!-- <div v-for="(item, index) in detailData.listAudit"-->
<!-- :key="index">-->
<!-- <a-row>-->
<!-- <a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>-->
<!-- <a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>-->
<!-- &lt;!&ndash; 待存档状态文本替换&ndash;&gt;-->
<!-- <a-col :sm="6" :xs="24">-->
<!-- {{ item.contractStatus_dictText === '待存档' ? '审核通过' : item.contractStatus_dictText }}-->
<!-- </a-col>-->
<!-- <a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>-->
<!-- </a-row>-->
<!-- </div>-->
<!-- </div>-->
<!-- <a-empty v-else></a-empty>-->
<!-- </div>-->
<!-- 状态非已存档显示-->
<template v-if="detailData.status < 5">
@@ -315,9 +315,11 @@ export default {
return this.otherInfoList.filter(item => this.detailData[item.fieldName] && this.detailData[item.fieldName] !== '') || []
}
},
mounted() {
created() {
this.initDetailData(this.$route.query.revenueId)
this.$refs.associatedProject.loadAssociatedProject()
this.$nextTick(() => {
this.$refs.associatedProject.loadAssociatedProject()
})
},
methods: {
initDetailData() {
@@ -333,8 +335,9 @@ export default {
this.detailData = res.result
this.detailData.pack = this.detailData.pack === 1 ? '是' : this.detailData.pack === 0 ? '否' : ''
} else {
//TODO 别的页面会调这边的接口,所以把异常给关了
// 添加异常判断,防止消息进入详情无法正常获取数据造成卡死及控制台报错
this.$message.warn(res.message)
console.log(res.message)
}
}).finally(() => {
this.loading = false