需求验收bug修改

This commit is contained in:
zhaoxiao
2021-10-08 17:39:35 +08:00
parent 263af748a1
commit 938f822454
7 changed files with 292 additions and 185 deletions
+2 -2
View File
@@ -125,8 +125,8 @@
:dataSource="logisticsInfoList" :dataSource="logisticsInfoList"
class="j-table-force-nowrap" class="j-table-force-nowrap"
> >
<span slot="action" class="action-span-cell"> <span slot="action" class="action-span-cell" slot-scope="record">
<a @click="lookLogistics()">查看物流</a> <a @click="lookLogistics()" v-if="record.postStatus === 1">查看物流</a>
</span> </span>
<!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">--> <!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
<!-- {{ record.sendDate }}--> <!-- {{ record.sendDate }}-->
@@ -125,11 +125,10 @@
</a-col> </a-col>
<a-col :xxl="6" :xl="8" :sm="12"> <a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="合同约定主要时点" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="合同约定主要时点" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-date placeholder="请选择合同约定主要时点" <a-input placeholder="请输入合同约定主要时点"
style="width: 100%;" v-decorator="['contractTimePoints',validatorRules.contractTimePoints]"
v-decorator="['contractTimePoints']" :maxLength='50'
:trigger-change="true" @change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
date-format="YYYY-MM-DD"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -48,7 +48,7 @@
</a-col> </a-col>
<a-col :xl="7" :lg="8" :md="9" :sm="24"> <a-col :xl="7" :lg="8" :md="9" :sm="24">
<a-form-item label="来款状态" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="来款状态" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-radio-group v-model="queryParam.chargeStatus" :options="incomePaymentsStatus" /> <a-radio-group v-model="queryParam.chargeStatus" :options="incomePaymentsStatus"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24"> <a-col :xl="4" :lg="7" :md="8" :sm="24">
@@ -65,7 +65,8 @@
<!-- 操作按钮区域--> <!-- 操作按钮区域-->
<div class="table-operator"> <div class="table-operator">
<a-button type="primary" icon="plus" @click="handleAdd" v-has="'revenueContract:add'">新增</a-button> <a-button type="primary" icon="plus" @click="handleAdd" v-has="'revenueContract:add'">新增</a-button>
<a-button type="primary" icon="export" @click="handleExportXls('收入合同')" v-has="'revenueContract:export'">导出</a-button> <a-button type="primary" icon="export" @click="handleExportXls('收入合同')" v-has="'revenueContract:export'">导出
</a-button>
<a-button type="danger" icon="delete" @click="batchDel" v-has="'revenueContract:batchDel'">批量删除</a-button> <a-button type="danger" icon="delete" @click="batchDel" v-has="'revenueContract:batchDel'">批量删除</a-button>
</div> </div>
<!-- 操作按钮区域-end--> <!-- 操作按钮区域-end-->
@@ -108,12 +109,12 @@
<span slot="action" class="action-span-cell" slot-scope="text, record"> <span slot="action" class="action-span-cell" slot-scope="text, record">
<a @click="handleAudit(record.id)" v-if="record.status === 2" v-has="'revenueContract:aduit'">审核</a> <a @click="handleAudit(record.id)" v-if="record.status === 2" v-has="'revenueContract:aduit'">审核</a>
<!-- v-has="'revenueContract:edit'"-->
<a @click="handleEdit(record.id, record.contractNum)" <a @click="handleEdit(record.id, record.contractNum)"
v-if="record.status === 1 || record.status === 4">编辑</a> v-if="record.status === 1 || record.status === 4" v-has="'revenueContract:edit'">编辑</a>
<a @click="handleArchive(record.id)" v-if="record.status === 3" v-has="'revenueContract:archive'">存档</a> <a @click="handleArchive(record.id)" v-if="record.status === 3" v-has="'revenueContract:archive'">存档</a>
<a @click="handleDelete(record.id)" <a @click="handleDelete(record.id)"
v-if="record.status === 1 || record.status === 2 || record.status === 4" v-has="'revenueContract:delete'">删除</a> v-if="record.status === 1 || record.status === 2 || record.status === 4"
v-has="'revenueContract:delete'">删除</a>
<a :disabled="true" v-if="record.status === 5">已存档</a> <a :disabled="true" v-if="record.status === 5">已存档</a>
</span> </span>
</a-table> </a-table>
@@ -1,191 +1,235 @@
<template> <template>
<div> <div>
<page-header-title :is-level-one="false" :img-for-icon="IconImg" level-two-title="收入合同详情"></page-header-title> <page-header-title :is-level-one="false" :img-for-icon="IconImg" level-two-title="收入合同详情"></page-header-title>
<a-card :bordered="false"> <a-spin :spinning="loading">
<!-- 主体信息--> <a-card :bordered="false">
<div> <!-- 主体信息-->
<div class="part-title"> <div>
<div class="part-title-text">主体信息</div> <div class="part-title">
<div class="part-title-text">主体信息</div>
</div>
<a-row class="detail">
<template v-if="mainInfoShowList.length > 0">
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in mainInfoShowList"
:key="index">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
</a-row>
</a-col>
</template>
<a-empty v-else></a-empty>
</a-row>
</div> </div>
<a-row class="detail"> <a-divider></a-divider>
<template v-if="mainInfoShowList.length > 0">
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in mainInfoShowList" :key="index"> <!-- 日期节点-->
<div>
<div class="part-title">
<div class="part-title-text">日期节点</div>
</div>
<a-row class="detail">
<template v-if="dateNodeShowList.length > 0">
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in dateNodeShowList"
:key="index">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
</a-row>
</a-col>
</template>
<a-empty v-else></a-empty>
</a-row>
</div>
<a-divider></a-divider>
<!-- 账款信息-->
<div>
<div class="part-title">
<div class="part-title-text">账款信息</div>
</div>
<a-row class="detail">
<template v-if="accountInfoShowList.length > 0">
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in accountInfoShowList"
:key="index">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
</a-row>
</a-col>
</template>
<a-empty v-else></a-empty>
</a-row>
</div>
<a-divider></a-divider>
<!-- 其他信息-->
<div>
<div class="part-title">
<div class="part-title-text">其他信息</div>
</div>
<a-row class="detail">
<template v-if="otherInfoShowList.length > 0">
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in otherInfoShowList"
:key="index">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col>
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col>
</a-row>
</a-col>
</template>
<a-empty v-else></a-empty>
</a-row>
</div>
<a-divider></a-divider>
<!-- 分期信息-->
<div>
<div class="part-title">
<div class="part-title-text">分期信息</div>
</div>
<a-row class="detail" v-for="(item, index) in detailData.listInstallment" :key="item.id">
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<a-row> <a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col> <a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段:</a-col>
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col> <a-col :sm="14" :xs="24">{{ item.phaseName }}</a-col>
</a-row> </a-row>
</a-col> </a-col>
</template> <a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<a-empty v-else></a-empty>
</a-row>
</div>
<a-divider></a-divider>
<!-- 日期节点-->
<div>
<div class="part-title">
<div class="part-title-text">日期节点</div>
</div>
<a-row class="detail">
<template v-if="dateNodeShowList.length > 0">
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in dateNodeShowList" :key="index">
<a-row> <a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col> <a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段应收:</a-col>
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col> <a-col :sm="14" :xs="24">{{ item.accountsReceivableAmount }}</a-col>
</a-row> </a-row>
</a-col> </a-col>
</template> <a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<a-empty v-else></a-empty> <a-row>
</a-row> <a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段应收时间:</a-col>
</div> <a-col :sm="14" :xs="24">{{ item.accountsReceivableTime }}</a-col>
<a-divider></a-divider> </a-row>
</a-col>
<!-- 账款信息--> <a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<div> <a-row>
<div class="part-title"> <a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段实收:</a-col>
<div class="part-title-text">账款信息</div> <a-col :sm="14" :xs="24">{{ item.paidAmount }}</a-col>
</a-row>
</a-col>
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段实收时间:</a-col>
<a-col :sm="14" :xs="24">{{ item.paidTime }}</a-col>
</a-row>
</a-col>
</a-row>
</div> </div>
<a-row class="detail"> <a-divider></a-divider>
<template v-if="accountInfoShowList.length > 0">
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in accountInfoShowList" <!-- 关联项目-->
<div>
<div class="part-title">
<div class="part-title-text">关联项目</div>
</div>
<associated-project ref="associatedProject" :contract-id="$route.query.revenueId"
:can-operate="false"></associated-project>
</div>
<a-divider></a-divider>
<!-- 存档信息-->
<div>
<div class="part-title">
<div class="part-title-text">存档信息</div>
</div>
<div class="detail">
<template v-if="detailData.listArchive && detailData.listArchive.length > 0">
<div class="detail-item" v-for="(item, index) in detailData.listArchive"
:key="index"> :key="index">
<a-row> <a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col> <a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col> <a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>
</a-row> <a-col :sm="6" :xs="24">{{ item.contractStatus_dictText }}</a-col>
</a-col> </a-row>
</template> </div>
<a-empty v-else></a-empty> </template>
</a-row> <a-empty v-else></a-empty>
</div> </div>
<a-divider></a-divider>
<!-- 其他信息-->
<div>
<div class="part-title">
<div class="part-title-text">其他信息</div>
</div> </div>
<a-row class="detail"> <a-divider></a-divider>
<template v-if="otherInfoShowList.length > 0">
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in otherInfoShowList" <!-- 审核记录-->
<div>
<div class="part-title">
<div class="part-title-text">审核记录</div>
</div>
<div class="detail">
<template v-if="detailData.listAudit && detailData.listAudit.length > 0">
<div class="detail-item" v-for="(item, index) in detailData.listAudit"
:key="index"> :key="index">
<a-row> <a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ item.title }}:</a-col> <a-col :sm="6" :xs="24">{{ item.createBy }}</a-col>
<a-col :sm="14" :xs="24">{{ detailData[item.fieldName] }}</a-col> <a-col :sm="6" :xs="24">{{ item.createTime }}</a-col>
</a-row> <a-col :sm="6" :xs="24">{{ item.contractStatus_dictText }}</a-col>
</a-col> <a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>
</template> </a-row>
<a-empty v-else></a-empty> </div>
</a-row> </template>
</div> <a-empty v-else></a-empty>
<a-divider></a-divider> </div>
<!-- 分期信息-->
<div>
<div class="part-title">
<div class="part-title-text">分期信息</div>
</div> </div>
<a-row class="detail" v-for="(item, index) in detailData.listInstallment" :key="item.id">
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段:</a-col>
<a-col :sm="14" :xs="24">{{ item.phaseName }}</a-col>
</a-row>
</a-col>
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段应收:</a-col>
<a-col :sm="14" :xs="24">{{ item.accountsReceivableAmount }}</a-col>
</a-row>
</a-col>
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段应收时间:</a-col>
<a-col :sm="14" :xs="24">{{ item.accountsReceivableTime }}</a-col>
</a-row>
</a-col>
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段实收:</a-col>
<a-col :sm="14" :xs="24">{{ item.paidAmount }}</a-col>
</a-row>
</a-col>
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<a-row>
<a-col :sm="10" :xs="24" class="detail-item-title">{{ index + 1 }}阶段实收时间:</a-col>
<a-col :sm="14" :xs="24">{{ item.paidTime }}</a-col>
</a-row>
</a-col>
</a-row>
</div>
<a-divider></a-divider>
<!-- 关联项目--> <!-- 状态非已存档显示-->
<div> <template v-if="detailData.status < 5">
<div class="part-title"> <a-divider></a-divider>
<div class="part-title-text">关联项目</div> <!-- 编辑、审核、存档-->
</div> <div>
<associated-project ref="associatedProject" :contract-id="$route.query.revenueId" :can-operate="false"></associated-project> <div class="part-title">
</div> <div class="part-title-text">操作</div>
<a-divider></a-divider>
<!-- 存档信息-->
<div>
<div class="part-title">
<div class="part-title-text">存档信息</div>
</div>
<div class="detail">
<template v-if="detailData.listArchive && detailData.listArchive.length > 0">
<div class="detail-item" v-for="(item, index) in detailData.listArchive"
: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 }}</a-col>
</a-row>
</div> </div>
</template> <div class="operator-btn">
<a-empty v-else></a-empty> <a-button
</div> type="primary"
</div> @click="handleEdit(detailData.id, detailData.contractNum)"
<a-divider></a-divider> v-if="detailData.status === 1 || detailData.status === 4"
v-has="'revenueContract:edit'">
<!-- 审核记录--> 编辑
<div> </a-button>
<div class="part-title"> <a-button
<div class="part-title-text">审核记录</div> type="primary"
</div> @click="handleAudit(detailData.id)"
<div class="detail"> v-if="detailData.status === 2"
<template v-if="detailData.listAudit && detailData.listAudit.length > 0"> v-has="'revenueContract:aduit'">
<div class="detail-item" v-for="(item, index) in detailData.listAudit" 审核
:key="index"> </a-button>
<a-row> <a-button
<a-col :sm="6" :xs="24">{{ item.createBy }}</a-col> type="primary"
<a-col :sm="6" :xs="24">{{ item.createTime }}</a-col> @click="handleArchive(detailData.id)"
<a-col :sm="6" :xs="24">{{ item.contractStatus_dictText }}</a-col> v-if="detailData.status === 3"
<a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col> v-has="'revenueContract:archive'">
</a-row> 存档
</a-button>
</div> </div>
</template> </div>
<a-empty v-else></a-empty> </template>
</div>
</div> </a-card>
</a-card> </a-spin>
<revenue-contract-aduit-module ref="aduitForm" @ok="operatorOk"></revenue-contract-aduit-module>
</div> </div>
</template> </template>
<script> <script>
import IconImg from '@/assets/imgs/icon/icon_revenue_contract.png' import IconImg from '@/assets/imgs/icon/icon_revenue_contract.png'
import PageHeaderTitle from '@/components/layouts/PageHeaderTitle' import PageHeaderTitle from '@/components/layouts/PageHeaderTitle'
import { getRevenueContractById } from '../../../../api/incomePaymentsApi' import { archiveRevenueContract, getRevenueContractById } from '../../../../api/incomePaymentsApi'
import AssociatedProject from './AssociatedProject' import AssociatedProject from './AssociatedProject'
import RevenueContractAduitModule from './RevenueContractAduitModule'
export default { export default {
name: 'RevenueContractDetail', name: 'RevenueContractDetail',
components: { PageHeaderTitle, AssociatedProject }, components: { PageHeaderTitle, AssociatedProject, RevenueContractAduitModule },
data() { data() {
return { return {
IconImg, IconImg,
loading: false,
detailData: {}, detailData: {},
// 主体信息 // 主体信息
mainInfoList: [ mainInfoList: [
@@ -290,13 +334,71 @@ export default {
this.$refs.associatedProject.loadAssociatedProject() this.$refs.associatedProject.loadAssociatedProject()
}, },
methods: { methods: {
initDetailData(id) { initDetailData() {
this.loading = true
let param = { let param = {
id: id id: this.$route.query.revenueId
} }
getRevenueContractById(param).then(res => { getRevenueContractById(param).then(res => {
this.detailData = res.result this.detailData = res.result
this.detailData.pack = this.detailData.pack === 1 ? '是' : this.detailData.pack === 0 ? '否' : '' this.detailData.pack = this.detailData.pack === 1 ? '是' : this.detailData.pack === 0 ? '否' : ''
}).finally(() => {
this.loading = false
})
},
operatorOk() {
this.initDetailData()
},
/**
* 编辑
* @param id
* @param contractNum
*/
handleEdit(id, contractNum) {
this.$router.push({
path: '/contractManagement/AddRevenueContract',
query: {
revenueId: id,
contractNum: contractNum
}
})
},
/**
* 审核
* @param id
*/
handleAudit(id) {
this.$refs.aduitForm.contractId = id
this.$refs.aduitForm.open()
},
/**
* 存档
* @param id
*/
handleArchive(id) {
console.log(id)
let that = this
this.$confirm({
title: '存档',
content: '确认存档?',
onOk: function () {
that.loading = true
that.loading = false
let param = {
contractId: id,
contractStatus: 5
}
archiveRevenueContract(param).then((res) => {
if (res.success) {
that.$message.success(res.message)
that.initDetailData()
} else {
that.$message.warning(res.message)
}
}).finally(() => {
that.loading = false
})
}
}) })
} }
} }
@@ -323,4 +425,12 @@ export default {
.ant-divider-horizontal { .ant-divider-horizontal {
margin: 20px 0; margin: 20px 0;
} }
.operator-btn {
margin-top: 10px;
button {
margin-right: 8px;
}
}
</style> </style>
@@ -128,11 +128,10 @@
</a-col> </a-col>
<a-col :xxl="6" :xl="8" :sm="12"> <a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="合同约定主要时点" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="合同约定主要时点" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-date placeholder="请选择合同约定主要时点" <a-input placeholder="请输入合同约定主要时点"
style="width: 100%;" v-decorator="['contractTimePoints']"
v-decorator="['contractTimePoints']" :maxLength='50'
:trigger-change="true" @change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
date-format="YYYY-MM-DD"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
+6 -6
View File
@@ -111,6 +111,12 @@ export default {
width: 280, width: 280,
dataIndex: 'companyTemporaryName', dataIndex: 'companyTemporaryName',
scopedSlots: { customRender: 'projectName' } scopedSlots: { customRender: 'projectName' }
}, {
title: '打包年份',
align: 'center',
width: 140,
dataIndex: 'packYear',
scopedSlots: { customRender: 'text' }
}, { }, {
title: '企业联系人', title: '企业联系人',
align: 'center', align: 'center',
@@ -135,12 +141,6 @@ export default {
width: 180, width: 180,
dataIndex: 'receiptExpense', dataIndex: 'receiptExpense',
scopedSlots: { customRender: 'text' } scopedSlots: { customRender: 'text' }
}, {
title: '打包年份',
align: 'center',
width: 140,
dataIndex: 'packYear',
scopedSlots: { customRender: 'text' }
}, { }, {
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
@@ -152,9 +152,7 @@
<a-row> <a-row>
<a-col :xl="12" :sm="24"> <a-col :xl="12" :sm="24">
<a-form-item label="资料" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-form-item label="资料" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-upload file-type="pdf" <j-upload :return-id="true"
file-type-error-message="请pdf文件"
:return-id="true"
bizPath="payment" bizPath="payment"
v-decorator="['files', validatorRules.files]" v-decorator="['files', validatorRules.files]"
:trigger-change="true"></j-upload> :trigger-change="true"></j-upload>