This commit is contained in:
liuye
2022-04-07 19:47:59 +08:00
parent 478b4025a7
commit dc27ac30e9
6 changed files with 122 additions and 16 deletions

View File

@@ -40,10 +40,10 @@
</el-checkbox-group>
</el-form-item>
<el-form-item label="客户经理姓名" prop="bankCounterpart">
<el-input type="number" v-model.number="form.bankCounterpart" placeholder="最低利率" clearable/>
<el-input type="text" v-model="form.bankCounterpart" placeholder="客户经理姓名" clearable maxlength="6"/>
</el-form-item>
<el-form-item label="客户经理电话" prop="consultationTelephone">
<el-input type="number" v-model.number="form.consultationTelephone" placeholder="最低利率" clearable/>
<el-input type="text" v-model="form.consultationTelephone" placeholder="客户经理电话" clearable maxlength="11"/>
</el-form-item>
</template>
</ai-card>
@@ -123,8 +123,9 @@ export default {
applyCondition: [{required: true, message: "请输入申请条件", trigger: 'blur'}],
needMaterial: [{required: true, message: "请输入所需材料", trigger: 'blur'}],
productFeatures: [{required: true, message: "请输入产品特色", trigger: 'blur'}],
bankCounterpart: [{required: true, message: "请输入客户经理姓名", trigger: 'blur'}],
consultationTelephone: [{required: true, message: "请输入客户经理电话", trigger: 'blur'}],
bankCounterpart: [{required: true, message: "请输入客户经理姓名", trigger: 'change'}],
consultationTelephone: [ {required: true, message: "请输入客户经理电话", trigger: 'change'},
{pattern: /^1[3456789]\d{9}$/, message: "电话号码格式有误"}],
}
}
},

View File

@@ -27,6 +27,8 @@
</el-form-item>
</el-row>
<el-form-item label="担保方式">{{ detail.guaranteeModeLabel }}</el-form-item>
<el-form-item label="客户经理姓名">{{ detail.bankCounterpart }}</el-form-item>
<el-form-item label="客户经理电话">{{ detail.consultationTelephone }}</el-form-item>
</template>
</ai-card>
<ai-card title="适用范围">

View File

@@ -1,6 +1,21 @@
<template>
<section class="AppFinancingNeeds">
<component :is="currentComponent" :instance="instance" :dict="dict" :permissions="permissions"/>
<ai-list v-if="showList">
<template slot="title">
<ai-title title="融资需求" :isShowBottomBorder="false"></ai-title>
</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"/>
</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>
<!-- <component :is="currentComponent" :instance="instance" :dict="dict" :permissions="permissions"/> -->
</section>
</template>
@@ -8,6 +23,7 @@
import NeedsDetail from "./needsDetail";
import NeedsList from "./needsList";
import NeedsStatistics from "./needsStatistics";
export default {
name: "AppFinancingNeeds",
@@ -18,13 +34,51 @@ export default {
dict: Object,
permissions: Function
},
provide() {
return {
need: this
}
},
data() {
return {
currIndex: '0',
showList: true,
currentPage: "",
detail: {},
}
},
computed: {
currentComponent() {
return !!this.$route.query.id ? NeedsDetail : NeedsList
tabs() {
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() {
this.dict.load("productRepaymentTimeline", "financialFundPurpose","financingDemandApplyType")
},
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();
})
},
}
}
</script>

View File

@@ -1,7 +1,7 @@
<template>
<section class="needsDetail">
<ai-detail>
<ai-title slot="title" title="融资详情" isShowBottomBorder isShowBack @onBackClick="back">
<ai-title slot="title" title="融资详情" isShowBottomBorder isShowBack @onBackClick="back()">
<template #rightBtn>
<el-button v-if="isFinanceUser" type="primary" @click="handleGrab">抢单</el-button>
<el-button v-else type="danger" @click="handleCancel">取消发布</el-button>
@@ -132,7 +132,8 @@ export default {
props: {
instance: Function,
dict: Object,
permissions: Function
permissions: Function,
row: Object,
},
computed: {
...mapState(['user']),
@@ -183,7 +184,7 @@ export default {
},
methods: {
getDetail() {
let {id} = this.$route.query
let {id} = this.row
this.instance.post("/appfinancingdemand/queryDetailById", null, {
params: {id}
}).then(res => {
@@ -228,7 +229,7 @@ export default {
}).catch(() => 0)
},
back() {
this.$router.push({query: {}})
this.$emit('goBack')
}
},
created() {

View File

@@ -1,7 +1,6 @@
<template>
<section class="needsList">
<ai-list>
<ai-title slot="title" title="融资需求" isShowBottomBorder/>
<template #content>
<ai-search-bar>
<template #right>
@@ -13,7 +12,7 @@
@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>
<el-button type="text" @click="goTo('detail',row)">详情</el-button>
</template>
</el-table-column>
</ai-table>
@@ -63,9 +62,9 @@ export default {
}
})
},
showDetail(id) {
this.$router.push({query: {id}})
}
goTo(key = '', row) {
this.$emit('goPage', {key, row});
},
},
created() {
this.getTableData()

View File

@@ -0,0 +1,49 @@
<template>
<section class="needsStatistics">
<ai-list>
<template #content>
<ai-search-bar>
<template #left>
<!-- <el-input size="small" placeholder="搜索企业名称" v-model="search.enterpriseName" clearable
@change="page.current=1,getTableData()"/> -->
</template>
</ai-search-bar>
</template>
</ai-list>
</section>
</template>
<script>
import {mapState} from "vuex";
export default {
name: "needsStatistics",
props: {
instance: Function,
dict: Object,
permissions: Function
},
computed: {
...mapState(['user'])
},
data() {
return {
}
},
methods: {
getTableData() {
},
},
created() {
this.getTableData()
}
}
</script>
<style lang="scss" scoped>
.needsStatistics {
}
</style>