2.把贷款统计、融资统计中的交易记录,单独做个菜单(只要结果数据/放款和驳回)
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
98
project/xiushan/apps/loanStatement/AppLoanSta.vue
Normal file
98
project/xiushan/apps/loanStatement/AppLoanSta.vue
Normal 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>
|
||||
118
project/xiushan/apps/loanStatement/AppNeedSta.vue
Normal file
118
project/xiushan/apps/loanStatement/AppNeedSta.vue
Normal 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>
|
||||
Reference in New Issue
Block a user