2.把贷款统计、融资统计中的交易记录,单独做个菜单(只要结果数据/放款和驳回)

This commit is contained in:
aixianling
2022-04-14 17:53:11 +08:00
parent a6a38ef099
commit 9d73267f8b
4 changed files with 250 additions and 92 deletions

View File

@@ -50,33 +50,6 @@
<ai-echart :ops="columnEchart" id="columnChart" :data="productTop10"/>
</template>
</ai-card>
<ai-card title="交易记录">
<template #content>
<ai-search-bar>
<template #left>
<ai-select v-model="search.organizationType" placeholder="机构类型" clearable
:selectList="dict.getDict('financialOrganizationType')" @change="page.current=1,getTableData()"/>
<ai-search label="申请时间">
<el-date-picker size="small" placeholder="请选择" type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期" v-model="search.applyTime"
:default-time="['00:00:00','23:59:59']" value-format="yyyy-MM-dd"
@change="handleSearchTime"/>
</ai-search>
</template>
<template #right>
<el-input size="small" placeholder="搜索产品名称、身份证、企业、贷款机构" v-model="search.enterpriseName" clearable
@change="page.current=1,getTableData()"/>
<ai-download :instance="instance" url="/app/appfinancialloanapply/export" :params="search"
fileName="交易记录">
<el-button icon="iconfont iconExported">导出</el-button>
</ai-download>
</template>
</ai-search-bar>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@getList="getTableData" :col-configs="colConfigs" :dict="dict"/>
</template>
</ai-card>
</section>
</template>
@@ -194,42 +167,17 @@ export default {
data() {
return {
search: {status: 1},
page: {current: 1, size: 10, total: 0},
tableData: [],
overviews: [],
productTop10: [],
tradeTrend: [],
colConfigs: [
{label: "产品名称", width: '200', prop: "productName"},
{label: "联系人", width: '100', prop: "name"},
{label: "联系方式", width: '140', prop: "phone"},
{label: "身份证号", render: (h, {row}) => h('p', this.idCardNoUtil.hideId(row.idNumber)), width: 160},
{label: "企业主体", width: '200', prop: "enterpriseName"},
{label: "贷款金额(万)", width: '120', prop: "loanAmount"},
{label: "申请时间", prop: "createTime", width: 160},
{label: "贷款机构", prop: "organizationName"},
{label: "机构类型", prop: "organizationType", dict: "financialOrganizationType"},
{label: "状态", prop: "status", dict: "financialLoanApplyStatus"},
]
}
},
methods: {
getStaData() {
this.getTableData()
this.getOverviews()
this.getProductTop10()
this.getTradeTrend()
},
getTableData() {
this.instance.post("/appfinancialloanapply/list", null, {
params: {...this.page, ...this.search}
}).then(res => {
if (res?.data) {
this.tableData = res.data?.records
this.page.total = res.data.total + 20
}
})
},
getOverviews() {
let {organizationId} = this.search
this.instance.post("/appfinancialloanapply/staticFinancialLoanApplyByOrganization", null, {
@@ -260,12 +208,6 @@ export default {
}
})
},
handleSearchTime(v) {
this.page.current = 1
this.search.applyStartDate = v?.[0].substring(0, 10)
this.search.applyEndDate = v?.[1].substring(0, 10)
this.getTableData()
}
},
created() {
this.getStaData()

View File

@@ -52,39 +52,39 @@
</p>
<div id="columnChart"></div>
</div>
<div class="table-content chart-content">
<div class="title">交易记录</div>
<ai-search-bar style="padding:20px 20px 0 20px;">
<template #left>
<ai-select v-model="search.status" placeholder="状态" clearable
:selectList="dict.getDict('financingDemandStatus')" @change="getList()"></ai-select>
<ai-search label="申请时间">
<el-date-picker size="small" placeholder="请选择" type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
style="width: 258px;"
value-format="yyyy-MM-dd"
v-model="stuTime"
@change="changeTime"/>
</ai-search>
</template>
<template #right>
<el-input size="small" placeholder="联系人/身份证号/企业主体/贷款银行" v-model="search.name" clearable @change="getList()"/>
<ai-download :instance="instance" url="appfinancingdemand/export" :params="search"
fileName="交易记录">
<el-button icon="iconfont iconExported">导出</el-button>
</ai-download>
</template>
</ai-search-bar>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@getList="getList" :col-configs="colConfigs" :dict="dict" style="padding:0 20px 20px 20px;">
<el-table-column slot="options" label="状态" fixed="right" width="100" align="center">
<template slot-scope="{row}">
<span :class="`status${row.status}`">{{ dict.getLabel('financingDemandStatus', row.status) }}</span>
</template>
</el-table-column>
</ai-table>
</div>
<!-- <div class="table-content chart-content">-->
<!-- <div class="title">交易记录</div>-->
<!-- <ai-search-bar style="padding:20px 20px 0 20px;">-->
<!-- <template #left>-->
<!-- <ai-select v-model="search.status" placeholder="状态" clearable-->
<!-- :selectList="dict.getDict('financingDemandStatus')" @change="getList()"></ai-select>-->
<!-- <ai-search label="申请时间">-->
<!-- <el-date-picker size="small" placeholder="请选择" type="daterange"-->
<!-- start-placeholder="开始日期"-->
<!-- end-placeholder="结束日期"-->
<!-- style="width: 258px;"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- v-model="stuTime"-->
<!-- @change="changeTime"/>-->
<!-- </ai-search>-->
<!-- </template>-->
<!-- <template #right>-->
<!-- <el-input size="small" placeholder="联系人/身份证号/企业主体/贷款银行" v-model="search.name" clearable @change="getList()"/>-->
<!-- <ai-download :instance="instance" url="appfinancingdemand/export" :params="search"-->
<!-- fileName="交易记录">-->
<!-- <el-button icon="iconfont iconExported">导出</el-button>-->
<!-- </ai-download> -->
<!-- </template>-->
<!-- </ai-search-bar>-->
<!-- <ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"-->
<!-- @getList="getList" :col-configs="colConfigs" :dict="dict" style="padding:0 20px 20px 20px;">-->
<!-- <el-table-column slot="options" label="状态" fixed="right" width="100" align="center">-->
<!-- <template slot-scope="{row}">-->
<!-- <span :class="`status${row.status}`">{{ dict.getLabel('financingDemandStatus', row.status) }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </ai-table>-->
<!-- </div>-->
</section>
</template>
@@ -170,7 +170,7 @@ export default {
this.lineChartInit(monthList, applyList, auditList)
}
})
this.getList()
// this.getList()
},
getList() {
let status = this.search.status || 999

View File

@@ -0,0 +1,98 @@
<template>
<section class="AppLoanSta">
<ai-list>
<ai-title slot="title" title="贷款情况汇总" isShowBottomBorder isShowArea v-model="search.areaId"
@change="page.current=1,getTableData()" :instance="instance"/>
<template #content>
<ai-search-bar>
<template #left>
<ai-select v-model="search.organizationType" placeholder="机构类型" clearable
:selectList="dict.getDict('financialOrganizationType')" @change="page.current=1,getTableData()"/>
<ai-search label="申请时间">
<el-date-picker size="small" placeholder="请选择" type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期" v-model="search.applyTime"
:default-time="['00:00:00','23:59:59']" value-format="yyyy-MM-dd"
@change="handleSearchTime"/>
</ai-search>
</template>
<template #right>
<el-input size="small" placeholder="搜索产品名称、身份证、企业、贷款机构" v-model="search.enterpriseName" clearable
@change="page.current=1,getTableData()"/>
<ai-download :instance="instance" url="/app/appfinancialloanapply/export" :params="search"
fileName="交易记录">
<el-button icon="iconfont iconExported">导出</el-button>
</ai-download>
</template>
</ai-search-bar>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@getList="getTableData" :col-configs="colConfigs" :dict="dict"/>
</template>
</ai-list>
</section>
</template>
<script>
import {mapState} from "vuex";
export default {
name: "AppLoanSta",
label: "贷款情况汇总",
props: {
instance: Function,
dict: Object,
permissions: Function
},
computed: {
...mapState(['user'])
},
data() {
return {
search: {status: 1},
page: {current: 1, size: 10, total: 0},
tableData: [],
colConfigs: [
{label: "产品名称", width: '200', prop: "productName"},
{label: "联系人", width: '100', prop: "name"},
{label: "联系方式", width: '140', prop: "phone"},
{label: "身份证号", render: (h, {row}) => h('p', this.idCardNoUtil.hideId(row.idNumber)), width: 160},
{label: "企业主体", width: '200', prop: "enterpriseName"},
{label: "贷款金额(万)", width: '120', prop: "loanAmount"},
{label: "申请时间", prop: "createTime", width: 160},
{label: "贷款机构", prop: "organizationName"},
{label: "机构类型", prop: "organizationType", dict: "financialOrganizationType"},
{label: "状态", prop: "status", dict: "financialLoanApplyStatus"},
],
}
},
methods: {
getTableData() {
this.instance.post("/appfinancialloanapply/list", null, {
params: {...this.page, ...this.search}
}).then(res => {
if (res?.data) {
this.tableData = res.data?.records
this.page.total = res.data.total + 20
}
})
},
handleSearchTime(v) {
this.page.current = 1
this.search.applyStartDate = v?.[0].substring(0, 10)
this.search.applyEndDate = v?.[1].substring(0, 10)
this.getTableData()
}
},
created() {
this.search.areaId = this.user.info.areaId
this.dict.load('financialLoanApplyStatus', 'financialOrganizationType', 'financialOrganizationType')
this.getTableData()
}
}
</script>
<style lang="scss" scoped>
.AppLoanSta {
height: 100%;
}
</style>

View File

@@ -0,0 +1,118 @@
<template>
<section class="AppNeedSta">
<ai-list>
<ai-title slot="title" title="贷款情况汇总" isShowBottomBorder isShowArea v-model="search.areaId"
@change="page.current=1,getTableData()" :instance="instance"/>
<template #content>
<ai-search-bar>
<template #left>
<ai-select v-model="search.status" placeholder="状态" :selectList="dict.getDict('financingDemandStatus')"
@change="page.current=1,getTableData()"/>
<ai-search label="申请时间">
<el-date-picker size="small" placeholder="请选择" type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期" v-model="search.applyTime"
:default-time="['00:00:00','23:59:59']" value-format="yyyy-MM-dd"
@change="handleSearchTime"/>
</ai-search>
</template>
<template #right>
<el-input size="small" placeholder="联系人/身份证号/企业主体/贷款银行" v-model="search.name" clearable
@change="getTableData()"/>
<ai-download :instance="instance" url="appfinancingdemand/export" :params="search"
fileName="交易记录">
<el-button icon="iconfont iconExported">导出</el-button>
</ai-download>
</template>
</ai-search-bar>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@getList="getTableData" :col-configs="colConfigs" :dict="dict">
<el-table-column slot="options" label="状态" fixed="right" width="100" align="center">
<template slot-scope="{row}">
<span :class="`status${row.status}`">{{ dict.getLabel('financingDemandStatus', row.status) }}</span>
</template>
</el-table-column>
</ai-table>
</template>
</ai-list>
</section>
</template>
<script>
import {mapState} from "vuex";
export default {
name: "AppNeedSta",
label: "融资情况汇总",
props: {
instance: Function,
dict: Object,
permissions: Function
},
computed: {
...mapState(['user'])
},
data() {
return {
search: {status: "1"},
page: {current: 1, size: 10, total: 0},
tableData: [],
colConfigs: [
// {label: "产品名称", width: '200', prop: "enterpriseName"},
{label: "联系人", width: '150', prop: "name"},
{label: "联系方式", width: '150', prop: "phone"},
// {label: "身份证号", width: '180', prop: "idNumber"},
{label: "企业主体", width: '200', prop: "enterpriseName"},
{label: "意向金额(万)", width: '150', prop: "loanAmount"},
{label: "申请时间", width: '180', prop: "createTime"},
{label: "客户经理", width: '200', prop: "auditUserName"},
{label: "贷款银行", width: '200', prop: "organizationName"},
{label: "放款金额(万)", width: '200', prop: "auditAmount"},
// {label: "机构类型", width: '200', prop: "organizationType", dict:'financialOrganizationType'},
],
}
},
methods: {
getTableData() {
let status = this.search.status || 999
this.instance.post("/appfinancingdemand/list", null, {
params: {...this.page, ...this.search, status}
}).then(res => {
if (res?.data) {
this.tableData = res.data.records
this.page.total = res.data.total
}
})
},
handleSearchTime(v) {
this.page.current = 1
this.search.createTimeStart = v?.[0].substring(0, 10)
this.search.createTimeEnd = v?.[1].substring(0, 10)
this.getTableData()
}
},
created() {
this.dict.load('financingDemandStatus')
this.search.areaId = this.user.info.areaId
this.getTableData()
}
}
</script>
<style lang="scss" scoped>
.AppNeedSta {
height: 100%;
.status0 {
color: #f82;
}
.status1 {
color: #2EA222;
}
.status2 {
color: #f46;
}
}
</style>