需求验收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"
class="j-table-force-nowrap"
>
<span slot="action" class="action-span-cell">
<a @click="lookLogistics()">查看物流</a>
<span slot="action" class="action-span-cell" slot-scope="record">
<a @click="lookLogistics()" v-if="record.postStatus === 1">查看物流</a>
</span>
<!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
<!-- {{ record.sendDate }}-->
@@ -125,11 +125,10 @@
</a-col>
<a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="合同约定主要时点" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-date placeholder="请选择合同约定主要时点"
style="width: 100%;"
v-decorator="['contractTimePoints']"
:trigger-change="true"
date-format="YYYY-MM-DD"/>
<a-input placeholder="请输入合同约定主要时点"
v-decorator="['contractTimePoints',validatorRules.contractTimePoints]"
:maxLength='50'
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
</a-form-item>
</a-col>
</a-row>
@@ -48,7 +48,7 @@
</a-col>
<a-col :xl="7" :lg="8" :md="9" :sm="24">
<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-col>
<a-col :xl="4" :lg="7" :md="8" :sm="24">
@@ -65,7 +65,8 @@
<!-- 操作按钮区域-->
<div class="table-operator">
<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>
</div>
<!-- 操作按钮区域-end-->
@@ -108,12 +109,12 @@
<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>
<!-- v-has="'revenueContract:edit'"-->
<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="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>
</span>
</a-table>
@@ -1,191 +1,235 @@
<template>
<div>
<page-header-title :is-level-one="false" :img-for-icon="IconImg" level-two-title="收入合同详情"></page-header-title>
<a-card :bordered="false">
<!-- 主体信息-->
<div>
<div class="part-title">
<div class="part-title-text">主体信息</div>
<a-spin :spinning="loading">
<a-card :bordered="false">
<!-- 主体信息-->
<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>
<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-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-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-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-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>
</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="dateNodeShowList.length > 0">
<a-col :xxl="6" :xl="8" :sm="12" class="detail-item" v-for="(item, index) in dateNodeShowList" :key="index">
<a-col :xxl="4" :xl="8" :sm="12" class="detail-item">
<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-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>
</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>
<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-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"
<a-divider></a-divider>
<!-- 关联项目-->
<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">
<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>
<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>
</template>
<a-empty v-else></a-empty>
</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"
<a-divider></a-divider>
<!-- 审核记录-->
<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">
<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>
<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-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>
</a-row>
</div>
</template>
<a-empty v-else></a-empty>
</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>
<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">
<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>
<!-- 状态非已存档显示-->
<template v-if="detailData.status < 5">
<a-divider></a-divider>
<!-- 编辑审核存档-->
<div>
<div class="part-title">
<div class="part-title-text">操作</div>
</div>
</template>
<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 class="detail">
<template v-if="detailData.listAudit && detailData.listAudit.length > 0">
<div class="detail-item" 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 }}</a-col>
<a-col :sm="6" :xs="24">{{ item.explainRemarks }}</a-col>
</a-row>
<div class="operator-btn">
<a-button
type="primary"
@click="handleEdit(detailData.id, detailData.contractNum)"
v-if="detailData.status === 1 || detailData.status === 4"
v-has="'revenueContract:edit'">
编辑
</a-button>
<a-button
type="primary"
@click="handleAudit(detailData.id)"
v-if="detailData.status === 2"
v-has="'revenueContract:aduit'">
审核
</a-button>
<a-button
type="primary"
@click="handleArchive(detailData.id)"
v-if="detailData.status === 3"
v-has="'revenueContract:archive'">
存档
</a-button>
</div>
</template>
<a-empty v-else></a-empty>
</div>
</div>
</a-card>
</div>
</template>
</a-card>
</a-spin>
<revenue-contract-aduit-module ref="aduitForm" @ok="operatorOk"></revenue-contract-aduit-module>
</div>
</template>
<script>
import IconImg from '@/assets/imgs/icon/icon_revenue_contract.png'
import PageHeaderTitle from '@/components/layouts/PageHeaderTitle'
import { getRevenueContractById } from '../../../../api/incomePaymentsApi'
import { archiveRevenueContract, getRevenueContractById } from '../../../../api/incomePaymentsApi'
import AssociatedProject from './AssociatedProject'
import RevenueContractAduitModule from './RevenueContractAduitModule'
export default {
name: 'RevenueContractDetail',
components: { PageHeaderTitle, AssociatedProject },
components: { PageHeaderTitle, AssociatedProject, RevenueContractAduitModule },
data() {
return {
IconImg,
loading: false,
detailData: {},
// 主体信息
mainInfoList: [
@@ -290,13 +334,71 @@ export default {
this.$refs.associatedProject.loadAssociatedProject()
},
methods: {
initDetailData(id) {
initDetailData() {
this.loading = true
let param = {
id: id
id: this.$route.query.revenueId
}
getRevenueContractById(param).then(res => {
this.detailData = res.result
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 {
margin: 20px 0;
}
.operator-btn {
margin-top: 10px;
button {
margin-right: 8px;
}
}
</style>
@@ -128,11 +128,10 @@
</a-col>
<a-col :xxl="6" :xl="8" :sm="12">
<a-form-item label="合同约定主要时点" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-date placeholder="请选择合同约定主要时点"
style="width: 100%;"
v-decorator="['contractTimePoints']"
:trigger-change="true"
date-format="YYYY-MM-DD"/>
<a-input placeholder="请输入合同约定主要时点"
v-decorator="['contractTimePoints']"
:maxLength='50'
@change="e => {e.target.value = (e.target.value + '').trim()}"></a-input>
</a-form-item>
</a-col>
</a-row>
+6 -6
View File
@@ -111,6 +111,12 @@ export default {
width: 280,
dataIndex: 'companyTemporaryName',
scopedSlots: { customRender: 'projectName' }
}, {
title: '打包年份',
align: 'center',
width: 140,
dataIndex: 'packYear',
scopedSlots: { customRender: 'text' }
}, {
title: '企业联系人',
align: 'center',
@@ -135,12 +141,6 @@ export default {
width: 180,
dataIndex: 'receiptExpense',
scopedSlots: { customRender: 'text' }
}, {
title: '打包年份',
align: 'center',
width: 140,
dataIndex: 'packYear',
scopedSlots: { customRender: 'text' }
}, {
title: '操作',
dataIndex: 'action',
@@ -152,9 +152,7 @@
<a-row>
<a-col :xl="12" :sm="24">
<a-form-item label="资料" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-upload file-type="pdf"
file-type-error-message="请pdf文件"
:return-id="true"
<j-upload :return-id="true"
bizPath="payment"
v-decorator="['files', validatorRules.files]"
:trigger-change="true"></j-upload>