BUG 29018

This commit is contained in:
aixianling
2022-04-11 10:57:21 +08:00
parent 4d16c8c2cc
commit 8502f94796
6 changed files with 74 additions and 99 deletions

View File

@@ -1,28 +1,12 @@
<template> <template>
<section class="AppFinancingNeeds"> <section class="AppFinancingNeeds">
<ai-list v-if="showList"> <component :is="currentComponent" :instance="instance" :dict="dict" :permissions="permissions"/>
<template slot="title">
<ai-title slot="title" title="融资需求" :isShowBottomBorder="false" :isShowArea="currIndex == 1 && showList" v-model="areaId" :instance="instance" @change="changeArea"/>
</template>
<template slot="tabs">
<el-tabs class="tabs-page" v-model="currIndex">
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label" :name="String(i)">
<component :is="tab.comp" v-if="currIndex==i" :ref="currIndex" :instance="instance" :dict="dict"
:permissions="permissions" :listType="tab.value" @goPage="goPage" :areaId="areaId"/>
</el-tab-pane>
</el-tabs>
</template>
</ai-list>
<component v-if="!showList" :is="currentPage" :instance="instance" :dict="dict"
:permissions="permissions" :row="detail" @goBack="goBack"></component>
</section> </section>
</template> </template>
<script> <script>
import {mapState} from "vuex";
import NeedsDetail from "./needsDetail"; import NeedsDetail from "./needsDetail";
import NeedsList from "./needsList"; import NeedsList from "./needsList";
import NeedsStatistics from "./needsStatistics";
export default { export default {
name: "AppFinancingNeeds", name: "AppFinancingNeeds",
@@ -38,54 +22,15 @@ export default {
need: this need: this
} }
}, },
data() {
return {
currIndex: '0',
showList: true,
currentPage: "",
detail: {},
areaId: ''
}
},
computed: { computed: {
...mapState(['user']), currentComponent() {
tabs() { return !!this.$route.query.id ? NeedsDetail : NeedsList
return [
{
label: "融资需求", name: "NeedsList", value: "0", comp: NeedsList, detail: NeedsDetail,
permission: ""
},
{
label: "融资统计", name: "NeedsStatistics", value: "1", comp: NeedsStatistics,
permission: ""
}
]
},
currentTab() {
return this.tabs[this.currIndex] || {}
} }
}, },
created() { created() {
console.log(this.user) this.dict.load("productRepaymentTimeline", "financialFundPurpose", "financingDemandApplyType", "enterpriseType", "dishonestPersonSituation", "administrativeSanctionType",
this.dict.load("productRepaymentTimeline", "financialFundPurpose","financingDemandApplyType", "enterpriseType", "dishonestPersonSituation", "administrativeSanctionType") "financingDemandApplyType")
this.areaId = this.user.info.areaId || ''
}, },
methods: {
goPage(obj) {
this.currentPage = this.tabs[Number(this.currIndex)][obj.key];
obj.row && (this.detail = obj.row)
this.showList = false;
},
goBack() {
this.showList = true;
this.$nextTick(() => {
this.$refs[this.currIndex][0].getTableData();
})
},
changeArea() {
this.$refs[this.currIndex][0].getTableData();
}
}
} }
</script> </script>

View File

@@ -64,7 +64,6 @@ export default {
instance: Function, instance: Function,
dict: Object, dict: Object,
permissions: Function, permissions: Function,
row: Object,
}, },
computed: { computed: {
...mapState(['user']), ...mapState(['user']),
@@ -81,7 +80,7 @@ export default {
}, },
methods: { methods: {
getDetail() { getDetail() {
let {id} = this.row let {id} = this.$route.query
this.instance.post("/appfinancingdemand/queryDetailById", null, { this.instance.post("/appfinancingdemand/queryDetailById", null, {
params: {id} params: {id}
}).then(res => { }).then(res => {
@@ -113,7 +112,7 @@ export default {
}).catch(() => 0) }).catch(() => 0)
}, },
back() { back() {
this.$emit('goBack') this.$router.push({})
} }
}, },
created() { created() {

View File

@@ -1,10 +1,15 @@
<template> <template>
<section class="needsList"> <section class="needsList">
<ai-list> <ai-list>
<ai-title slot="title" title="融资需求" isShowBottomBorder/>
<template #content> <template #content>
<ai-search-bar> <ai-search-bar>
<template #left>
<ai-select placeholder="融资主体类型" v-model="search.applyType" @change="page.current=1,getTableData()"
:selectList="dict.getDict('financingDemandApplyType')"/>
</template>
<template #right> <template #right>
<el-input size="small" placeholder="搜索企业名称" v-model="search.enterpriseName" clearable <el-input size="small" placeholder="搜索联系人、企业名称" v-model="search.enterpriseName" clearable
@change="page.current=1,getTableData()"/> @change="page.current=1,getTableData()"/>
</template> </template>
</ai-search-bar> </ai-search-bar>
@@ -12,7 +17,7 @@
@getList="getTableData" :col-configs="colConfigs" :dict="dict"> @getList="getTableData" :col-configs="colConfigs" :dict="dict">
<el-table-column slot="options" label="操作" fixed="right" align="center"> <el-table-column slot="options" label="操作" fixed="right" align="center">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="text" @click="goTo('detail',row)">详情</el-button> <el-button type="text" @click="showDetail(row.id)">详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
</ai-table> </ai-table>
@@ -40,12 +45,12 @@ export default {
page: {current: 1, size: 10, total: 0}, page: {current: 1, size: 10, total: 0},
tableData: [], tableData: [],
colConfigs: [ colConfigs: [
{label: "联系人", prop: "name"},
{label: "联系方式", prop: "phone"},
{label: "企业名称", prop: "enterpriseName"}, {label: "企业名称", prop: "enterpriseName"},
{label: "所在地区", prop: "areaName"}, {label: "所在地区", prop: "areaName"},
{label: "意向金额(万)", prop: "loanAmount"}, {label: "意向金额(万)", prop: "loanAmount"},
{label: "申请时间", prop: "createTime"}, {label: "申请时间", prop: "createTime"},
{label: "联系人", prop: "name"},
{label: "联系方式", prop: "phone"},
{label: "备注", prop: "remark"}, {label: "备注", prop: "remark"},
{slot: "options"} {slot: "options"}
] ]
@@ -62,8 +67,8 @@ export default {
} }
}) })
}, },
goTo(key = '', row) { showDetail(id) {
this.$emit('goPage', {key, row}); this.$router.push({query: {id}})
}, },
}, },
created() { created() {

View File

@@ -24,7 +24,8 @@ export default {
} }
}, },
created() { created() {
this.dict.load("financingDemandStatus", "productRepaymentTimeline", "financialFundPurpose") this.dict.load("financingDemandStatus", "productRepaymentTimeline", "financialFundPurpose",
"financialOrganizationType", "financialLoanApplyStatus","financingDemandApplyType")
} }
} }
</script> </script>

View File

@@ -1,30 +1,44 @@
<template> <template>
<section class="grabList"> <section class="grabList">
<ai-list> <ai-list isTabs>
<ai-title slot="title" title="抢单记录" isShowBottomBorder/> <ai-title slot="title" title="抢单记录"/>
<template #content> <template #tabs>
<ai-search-bar> <el-tabs>
<template #left> <el-tab-pane label="融资申请">
<ai-select placeholder="订单状态" v-model="search.status" @change="page.current=1,getTableData()" <ai-card hideTitle class="mar-t16">
:selectList="dict.getDict('financingDemandStatus')"/> <template #content>
<ai-search label="申请时间"> <ai-search-bar class="mar-t8">
<el-date-picker size="small" v-model="search.applyTime" type="daterange" @change="handleFilterApplyTime" <template #left>
:default-time="['00:00:00','23:59:59']" value-format="yyyy-MM-dd HH:mm:ss"/> <ai-select placeholder="订单状态" v-model="search.status" @change="page.current=1,getTableData()"
</ai-search> :selectList="dict.getDict('financingDemandStatus')"/>
</template> <ai-select placeholder="融资主体类型" v-model="search.applyType" @change="page.current=1,getTableData()"
<template #right> :selectList="dict.getDict('financingDemandApplyType')"/>
<el-input size="small" placeholder="搜索企业名称、贷款经理、贷款银行" v-model="search.enterpriseName" clearable <ai-search label="申请时间">
@change="page.current=1,getTableData()"/> <el-date-picker size="small" v-model="search.applyTime" type="daterange"
</template> @change="handleFilterApplyTime"
</ai-search-bar> :default-time="['00:00:00','23:59:59']" value-format="yyyy-MM-dd HH:mm:ss"/>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size" </ai-search>
@getList="getTableData" :col-configs="colConfigs" :dict="dict"> </template>
<el-table-column slot="options" label="操作" fixed="right" align="center"> <template #right>
<template slot-scope="{row}"> <el-input size="small" placeholder="搜索企业、贷款经理、贷款银行、联系人" v-model="search.enterpriseName" clearable
<el-button type="text" @click="showDetail(row.id)">详情</el-button> @change="page.current=1,getTableData()"/>
</template> </template>
</el-table-column> </ai-search-bar>
</ai-table> <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" align="center">
<template slot-scope="{row}">
<el-button type="text" @click="showDetail(row.id)">详情</el-button>
</template>
</el-table-column>
</ai-table>
</template>
</ai-card>
</el-tab-pane>
<el-tab-pane label="融资统计" lazy>
<needs-statistics :instance="instance" :dict="dict" :permissions="permissions"/>
</el-tab-pane>
</el-tabs>
</template> </template>
</ai-list> </ai-list>
</section> </section>
@@ -32,9 +46,11 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import NeedsStatistics from "./needsStatistics";
export default { export default {
name: "grabList", name: "grabList",
components: {NeedsStatistics},
props: { props: {
instance: Function, instance: Function,
dict: Object, dict: Object,
@@ -49,11 +65,11 @@ export default {
page: {current: 1, size: 10, total: 0}, page: {current: 1, size: 10, total: 0},
tableData: [], tableData: [],
colConfigs: [ colConfigs: [
{label: "联系人", prop: "name"},
{label: "联系方式", prop: "phone"},
{label: "企业名称", prop: "enterpriseName"}, {label: "企业名称", prop: "enterpriseName"},
{label: "意向金额(万)", prop: "loanAmount"}, {label: "意向金额(万)", prop: "loanAmount"},
{label: "申请时间", prop: "createTime"}, {label: "申请时间", prop: "createTime"},
{label: "联系人", prop: "name"},
{label: "联系方式", prop: "phone"},
{label: "贷款经理", prop: "auditUserName"}, {label: "贷款经理", prop: "auditUserName"},
{label: "贷款银行", prop: "organizationName"}, {label: "贷款银行", prop: "organizationName"},
{label: "放款金额(万)", prop: "auditAmount"}, {label: "放款金额(万)", prop: "auditAmount"},
@@ -80,8 +96,8 @@ export default {
}, },
handleFilterApplyTime() { handleFilterApplyTime() {
this.page.current = 1 this.page.current = 1
this.search.createTimeStart = this.search.applyTime?.[0].substring(0,10) this.search.createTimeStart = this.search.applyTime?.[0].substring(0, 10)
this.search.createTimeEnd = this.search.applyTime?.[1].substring(0,10) this.search.createTimeEnd = this.search.applyTime?.[1].substring(0, 10)
this.getTableData() this.getTableData()
} }
}, },
@@ -93,5 +109,14 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.grabList { .grabList {
height: 100%;
.mar-t16 {
margin-top: 16px;
}
.mar-t8 {
margin-top: 8px;
}
} }
</style> </style>