|
|
|
|
@ -51,6 +51,9 @@
|
|
|
|
|
<div style="display: flex;justify-content: flex-end;">
|
|
|
|
|
<Page :total="total" show-elevator @on-change="pageChange" />
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<!-- 查看-->
|
|
|
|
|
<detail ref="detailContract"></detail>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
@ -70,8 +73,12 @@
|
|
|
|
|
import {
|
|
|
|
|
mergeTableRow
|
|
|
|
|
} from "@/utils/mergeTableRow"
|
|
|
|
|
import { getFundLog } from "@/api/paymentRegistration/fundLog"
|
|
|
|
|
import { getFundLog,getPlanActLinks } from "@/api/paymentRegistration/fundLog"
|
|
|
|
|
import detail from "@/views/contract/components/detailContract";
|
|
|
|
|
export default {
|
|
|
|
|
components:{
|
|
|
|
|
detail
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
types: [], //预算类型
|
|
|
|
|
@ -179,12 +186,12 @@ import { getFundLog } from "@/api/paymentRegistration/fundLog"
|
|
|
|
|
['show']:async _ => {
|
|
|
|
|
try {
|
|
|
|
|
this.isLoadingFundLogTable = true
|
|
|
|
|
const res = await getFundLog({
|
|
|
|
|
const res = await getPlanActLinks({
|
|
|
|
|
page: 1,
|
|
|
|
|
page_size: 999,
|
|
|
|
|
act_plan_link_id: row.id,
|
|
|
|
|
plan_id: row.id,
|
|
|
|
|
},true)
|
|
|
|
|
this.fundLogs = res.data
|
|
|
|
|
this.fundLogs = res.list.data
|
|
|
|
|
this.isLoadingFundLogTable = false
|
|
|
|
|
} catch (e) {
|
|
|
|
|
this.isLoadingFundLogTable = false
|
|
|
|
|
@ -194,106 +201,160 @@ import { getFundLog } from "@/api/paymentRegistration/fundLog"
|
|
|
|
|
<Table loading={this.isLoadingFundLogTable}
|
|
|
|
|
size="small"
|
|
|
|
|
data={this.fundLogs}
|
|
|
|
|
show-summary
|
|
|
|
|
summary-method={this.handleSummary}
|
|
|
|
|
columns={[
|
|
|
|
|
{
|
|
|
|
|
title: "项目名称",
|
|
|
|
|
minWidth: 300,
|
|
|
|
|
key: "contract.name",
|
|
|
|
|
title: "支出类型",
|
|
|
|
|
minWidth: 200,
|
|
|
|
|
key: "model_type_text",
|
|
|
|
|
fixed: "left",
|
|
|
|
|
align: "left",
|
|
|
|
|
render:(h,{ row }) => h('span',row.contract?.name)
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "付款申请金额(元)",
|
|
|
|
|
prop: "apply_money",
|
|
|
|
|
align: "right",
|
|
|
|
|
width: 170,
|
|
|
|
|
render:(h, { row }) => h('span',Number(row.apply_money)
|
|
|
|
|
.toFixed(2)
|
|
|
|
|
.replace(/(\d)(?=(\d{3})+\.)/g, "$1,"))
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "实际付款金额(元)",
|
|
|
|
|
key: "act_money",
|
|
|
|
|
title: "支出金额(元)",
|
|
|
|
|
prop: "use_money",
|
|
|
|
|
align: "right",
|
|
|
|
|
width: 170,
|
|
|
|
|
render:(h, { row }) => h('span',Number(row.act_money)
|
|
|
|
|
render:(h, { row }) => h('span',Number(row.use_money)
|
|
|
|
|
.toFixed(2)
|
|
|
|
|
.replace(/(\d)(?=(\d{3})+\.)/g, "$1,"))
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "预算计划",
|
|
|
|
|
width: 320,
|
|
|
|
|
title: "事由/备注",
|
|
|
|
|
width: 200,
|
|
|
|
|
key: "model.reason",
|
|
|
|
|
align: "left",
|
|
|
|
|
render:(h, { row }) => {
|
|
|
|
|
if (row.act_plan_link.length > 0) {
|
|
|
|
|
return h('div',row.act_plan_link.map(item => (
|
|
|
|
|
<div> {" "}
|
|
|
|
|
[{item.plan.year}] {(item.plan && item.plan.pid_info) ? item.plan.pid_info.name: ''} - {item.plan.name} <br /> [使用金额]{" "}
|
|
|
|
|
{item.use_money}元{" "}</div>
|
|
|
|
|
)))
|
|
|
|
|
if (row.model.reason) {
|
|
|
|
|
return h('div',row.model.reason)
|
|
|
|
|
}
|
|
|
|
|
if (row.model.remark) {
|
|
|
|
|
return h('div',row.model.remark)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
title: "款项类型",
|
|
|
|
|
key: "type",
|
|
|
|
|
title: "关联合同",
|
|
|
|
|
width: 120,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
key: "status",
|
|
|
|
|
title: "状态",
|
|
|
|
|
width: 100,
|
|
|
|
|
render:(h, { row }) => h('span',row.status ? "已审核" : "待审核")
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
key: 'flow_status',
|
|
|
|
|
title: '流程状态',
|
|
|
|
|
width: 100,
|
|
|
|
|
key: "model.contract_id",
|
|
|
|
|
align: "center",
|
|
|
|
|
render:(h, { row }) => {
|
|
|
|
|
let map = new Map([
|
|
|
|
|
[1,'待申请'],
|
|
|
|
|
[2,'流转中'],
|
|
|
|
|
[3,'已完成']
|
|
|
|
|
])
|
|
|
|
|
return h('span',map.get(row.flow_status))
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "次数",
|
|
|
|
|
key: "pay_count",
|
|
|
|
|
width: 95,
|
|
|
|
|
render:(h , { row }) => {
|
|
|
|
|
let val = row.pay_count + 1
|
|
|
|
|
return h('span',val)
|
|
|
|
|
if(row.model.contract_id){
|
|
|
|
|
return h('div',{
|
|
|
|
|
style: {
|
|
|
|
|
color: '#409EFF', // 蓝色文字
|
|
|
|
|
cursor: 'pointer', // 手型光标
|
|
|
|
|
textDecoration: 'underline', // 下划线
|
|
|
|
|
fontWeight: 'bold', // 加粗
|
|
|
|
|
padding: '4px 8px', // 内边距
|
|
|
|
|
borderRadius: '4px', // 圆角
|
|
|
|
|
},
|
|
|
|
|
on: {
|
|
|
|
|
click: () => {
|
|
|
|
|
console.log('查看点击事件触发', row.model.contract_id);
|
|
|
|
|
this.$refs['detailContract'].getDetail(row.model.contract_id),
|
|
|
|
|
this.$refs['detailContract'].isShowDetail = true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},'查看')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "最后一笔",
|
|
|
|
|
key: "is_end",
|
|
|
|
|
width: 125,
|
|
|
|
|
render: (h, { row }) => h('span',row.is_end ? "是" : "否")
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "经办人",
|
|
|
|
|
minWidth: 120,
|
|
|
|
|
key: "admin.name",
|
|
|
|
|
align: "center",
|
|
|
|
|
render: (h, { row }) => h('span',row.admin?.name)
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "业务科室",
|
|
|
|
|
minWidth: 140,
|
|
|
|
|
key: "department.name",
|
|
|
|
|
align: "center",
|
|
|
|
|
render: (h, { row }) => h('span',row.department?.name)
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: "备注",
|
|
|
|
|
minWidth: 360,
|
|
|
|
|
key: "remark",
|
|
|
|
|
align: "left",
|
|
|
|
|
},
|
|
|
|
|
// <Button
|
|
|
|
|
// class="slot-btns-item"
|
|
|
|
|
// size="small"
|
|
|
|
|
// type="primary"
|
|
|
|
|
// @click="
|
|
|
|
|
// $refs['detailContract'].getDetail(scope.row.id),
|
|
|
|
|
// ($refs['detailContract'].isShowDetail = true)
|
|
|
|
|
// "
|
|
|
|
|
// >
|
|
|
|
|
// 查看
|
|
|
|
|
// </Button>
|
|
|
|
|
// {
|
|
|
|
|
// title: "实际付款金额(元)",
|
|
|
|
|
// key: "act_money",
|
|
|
|
|
// align: "right",
|
|
|
|
|
// width: 170,
|
|
|
|
|
// render:(h, { row }) => h('span',Number(row.act_money)
|
|
|
|
|
// .toFixed(2)
|
|
|
|
|
// .replace(/(\d)(?=(\d{3})+\.)/g, "$1,"))
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// title: "预算计划",
|
|
|
|
|
// width: 320,
|
|
|
|
|
// align: "left",
|
|
|
|
|
// render:(h, { row }) => {
|
|
|
|
|
// if (row.act_plan_link.length > 0) {
|
|
|
|
|
// return h('div',row.act_plan_link.map(item => (
|
|
|
|
|
// <div> {" "}
|
|
|
|
|
// [{item.plan.year}] {(item.plan && item.plan.pid_info) ? item.plan.pid_info.name: ''} - {item.plan.name} <br /> [使用金额]{" "}
|
|
|
|
|
// {item.use_money}元{" "}</div>
|
|
|
|
|
// )))
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// title: "款项类型",
|
|
|
|
|
// key: "type",
|
|
|
|
|
// width: 120,
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// key: "status",
|
|
|
|
|
// title: "状态",
|
|
|
|
|
// width: 100,
|
|
|
|
|
// render:(h, { row }) => h('span',row.status ? "已审核" : "待审核")
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// key: 'flow_status',
|
|
|
|
|
// title: '流程状态',
|
|
|
|
|
// width: 100,
|
|
|
|
|
// render:(h, { row }) => {
|
|
|
|
|
// let map = new Map([
|
|
|
|
|
// [1,'待申请'],
|
|
|
|
|
// [2,'流转中'],
|
|
|
|
|
// [3,'已完成']
|
|
|
|
|
// ])
|
|
|
|
|
// return h('span',map.get(row.flow_status))
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// title: "次数",
|
|
|
|
|
// key: "pay_count",
|
|
|
|
|
// width: 95,
|
|
|
|
|
// render:(h , { row }) => {
|
|
|
|
|
// let val = row.pay_count + 1
|
|
|
|
|
// return h('span',val)
|
|
|
|
|
// }
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// title: "最后一笔",
|
|
|
|
|
// key: "is_end",
|
|
|
|
|
// width: 125,
|
|
|
|
|
// render: (h, { row }) => h('span',row.is_end ? "是" : "否")
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// title: "经办人",
|
|
|
|
|
// minWidth: 120,
|
|
|
|
|
// key: "admin.name",
|
|
|
|
|
// align: "center",
|
|
|
|
|
// render: (h, { row }) => h('span',row.admin?.name)
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// title: "业务科室",
|
|
|
|
|
// minWidth: 140,
|
|
|
|
|
// key: "department.name",
|
|
|
|
|
// align: "center",
|
|
|
|
|
// render: (h, { row }) => h('span',row.department?.name)
|
|
|
|
|
// },
|
|
|
|
|
// {
|
|
|
|
|
// title: "备注",
|
|
|
|
|
// minWidth: 360,
|
|
|
|
|
// key: "remark",
|
|
|
|
|
// align: "left",
|
|
|
|
|
// },
|
|
|
|
|
{
|
|
|
|
|
title: "创建信息",
|
|
|
|
|
key: "created_at",
|
|
|
|
|
@ -331,6 +392,50 @@ import { getFundLog } from "@/api/paymentRegistration/fundLog"
|
|
|
|
|
}
|
|
|
|
|
return per;
|
|
|
|
|
},
|
|
|
|
|
handleSummary({ columns, data }){
|
|
|
|
|
console.log("data",data)
|
|
|
|
|
const sums = {};
|
|
|
|
|
columns.forEach((column, index) => {
|
|
|
|
|
const key = column.key;
|
|
|
|
|
if (index === 0) {
|
|
|
|
|
sums[key] = {
|
|
|
|
|
key,
|
|
|
|
|
value: '合计'
|
|
|
|
|
};
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
const values = data.map(item => Number(item['use_money']));
|
|
|
|
|
if (!values.every(value => isNaN(value))) {
|
|
|
|
|
const v = values.reduce((prev, curr) => {
|
|
|
|
|
const value = Number(curr);
|
|
|
|
|
if (!isNaN(value)) {
|
|
|
|
|
return prev + curr;
|
|
|
|
|
} else {
|
|
|
|
|
return prev;
|
|
|
|
|
}
|
|
|
|
|
}, 0);
|
|
|
|
|
if(index===1){
|
|
|
|
|
sums[key] = {
|
|
|
|
|
key,
|
|
|
|
|
value: v + ' 元'
|
|
|
|
|
};
|
|
|
|
|
}else{
|
|
|
|
|
sums[key] = {
|
|
|
|
|
key,
|
|
|
|
|
value: ''
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
sums[key] = {
|
|
|
|
|
key,
|
|
|
|
|
value: ''
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return sums
|
|
|
|
|
},
|
|
|
|
|
//统计
|
|
|
|
|
summary(param) {
|
|
|
|
|
this.$nextTick(() => {
|
|
|
|
|
|