This commit is contained in:
刘仕伟
2022-03-01 15:46:43 +08:00
15 changed files with 76 additions and 65 deletions

View File

@@ -16,7 +16,7 @@
</ai-search-bar> </ai-search-bar>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size" <ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@getList="getTableData" :col-configs="colConfigs" :dict="dict" @getList="getTableData" :col-configs="colConfigs" :dict="dict"
@selection-change="v=>ids=v.filter(e=>e.sysUserId).map(e=>e.sysUserId)"> @selection-change="v=>ids=v.map(e=>e.id)">
<el-table-column slot="name" label="姓名" width="180px"> <el-table-column slot="name" label="姓名" width="180px">
<el-row type="flex" align="middle" slot-scope="{row}"> <el-row type="flex" align="middle" slot-scope="{row}">
<el-image class="avatar" :src="row.avatar" :preview-src-list="[row.avatar]"> <el-image class="avatar" :src="row.avatar" :preview-src-list="[row.avatar]">

View File

@@ -12,10 +12,10 @@
<el-input v-model="articInfo.title" size="small" placeholder="请输入…" maxlength="30" <el-input v-model="articInfo.title" size="small" placeholder="请输入…" maxlength="30"
show-word-limit></el-input> show-word-limit></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="description" label="摘要:"> <!-- <el-form-item prop="description" label="摘要:">-->
<el-input type="textarea" v-model="articInfo.description" size="small" placeholder="请输入…" maxlength="255" <!-- <el-input type="textarea" v-model="articInfo.description" size="small" placeholder="请输入…" maxlength="255"-->
show-word-limit></el-input> <!-- show-word-limit></el-input>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item prop="category" label="分类:"> <el-form-item prop="category" label="分类:">
<ai-select <ai-select
v-model="articInfo.category" v-model="articInfo.category"
@@ -38,7 +38,7 @@
</template> </template>
<template slot="footer"> <template slot="footer">
<el-button class="footer_btn" @click="$emit('goBack')">取消</el-button> <el-button class="footer_btn" @click="$emit('goBack')">取消</el-button>
<el-button class="footer_btn" @click="handleSubmit('0')">保存</el-button> <el-button type="primary" class="footer_btn" @click="handleSubmit('0')">保存</el-button>
</template> </template>
</ai-detail> </ai-detail>
</template> </template>

View File

@@ -12,10 +12,10 @@
<el-input v-model="newsInfo.title" size="small" placeholder="请输入…" maxlength="30" <el-input v-model="newsInfo.title" size="small" placeholder="请输入…" maxlength="30"
show-word-limit></el-input> show-word-limit></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="description" label="摘要:"> <!-- <el-form-item prop="description" label="摘要:">-->
<el-input type="textarea" v-model="newsInfo.description" size="small" placeholder="请输入…" maxlength="255" <!-- <el-input type="textarea" v-model="newsInfo.description" size="small" placeholder="请输入…" maxlength="255"-->
show-word-limit></el-input> <!-- show-word-limit/>-->
</el-form-item> <!-- </el-form-item>-->
<el-form-item prop="category" label="分类:"> <el-form-item prop="category" label="分类:">
<ai-select <ai-select
v-model="newsInfo.category" v-model="newsInfo.category"
@@ -53,7 +53,7 @@
</template> </template>
<template slot="footer"> <template slot="footer">
<el-button class="footer_btn" @click="$emit('goBack')">取消</el-button> <el-button class="footer_btn" @click="$emit('goBack')">取消</el-button>
<el-button class="footer_btn" @click="handleSubmit('0')">保存</el-button> <el-button type="primary" class="footer_btn" @click="handleSubmit('0')">保存</el-button>
</template> </template>
</ai-detail> </ai-detail>
</template> </template>

View File

@@ -18,8 +18,7 @@
<el-form-item label="经营范围">{{ detail.businessScope }}</el-form-item> <el-form-item label="经营范围">{{ detail.businessScope }}</el-form-item>
<el-form-item label="营业期限">{{ detail.operationPeriod }}</el-form-item> <el-form-item label="营业期限">{{ detail.operationPeriod }}</el-form-item>
<el-form-item label="营业执照"> <el-form-item label="营业执照">
<el-image class="thumbImage" :src="detail.businessLicense" <el-image class="thumb" :src="detail.businessLicense" :preview-src-list="[detail.businessLicense]"/>
:preview-src-list="[detail.businessLicense]"/>
</el-form-item> </el-form-item>
</template> </template>
</ai-card> </ai-card>
@@ -30,16 +29,15 @@
<el-form-item label="联系方式">{{ detail.phone }}</el-form-item> <el-form-item label="联系方式">{{ detail.phone }}</el-form-item>
<el-form-item label="身份证照片"> <el-form-item label="身份证照片">
<el-row type="flex" align="middle"> <el-row type="flex" align="middle">
<el-image class="thumbImage" :src="detail.idNumberTopside" <el-image class="thumb" :src="detail.idNumberTopside" :preview-src-list="[detail.idNumberTopside]"/>
:preview-src-list="[detail.idNumberTopside]"/> <el-image class="thumb" :src="detail.idNumberBackside" :preview-src-list="[detail.idNumberBackside]"/>
<el-image class="thumbImage" :src="detail.idNumberBackside"
:preview-src-list="[detail.idNumberBackside]"/>
</el-row> </el-row>
</el-form-item> </el-form-item>
</template> </template>
</ai-card> </ai-card>
<ai-card title="审核结果" v-if="!isAuthing"> <ai-card title="审核结果" v-if="!isAuthing">
<template #content> <template #content>
<el-form-item label="审核结果">{{ dict.getLabel("enterpriseStatus", detail.status) }}</el-form-item>
<el-form-item label="审核人">{{ detail.auditUserName }}</el-form-item> <el-form-item label="审核人">{{ detail.auditUserName }}</el-form-item>
<el-form-item label="联系方式">{{ detail.auditPhone }}</el-form-item> <el-form-item label="联系方式">{{ detail.auditPhone }}</el-form-item>
<el-form-item label="备注说明">{{ detail.auditDescription }}</el-form-item> <el-form-item label="备注说明">{{ detail.auditDescription }}</el-form-item>
@@ -54,8 +52,8 @@
<el-form-item label="审批结果" prop="auditStatus"> <el-form-item label="审批结果" prop="auditStatus">
<ai-select v-model="form.auditStatus" :selectList="dict.getDict('enterpriseAuditStatus')"/> <ai-select v-model="form.auditStatus" :selectList="dict.getDict('enterpriseAuditStatus')"/>
</el-form-item> </el-form-item>
<el-form-item label="审批意见" prop="auditDescription"> <el-form-item label="审批意见" :prop="form.auditStatus==2?'auditDescription':''">
<el-input type="textarea" v-model="form.auditDescription" placeholder="请输入"/> <el-input type="textarea" rows="4" v-model="form.auditDescription" placeholder="请输入" maxlength="200" show-word-limit/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</ai-dialog> </ai-dialog>
@@ -81,7 +79,8 @@ export default {
detail: {}, detail: {},
form: {}, form: {},
rules: { rules: {
auditStatus: [{required: true, message: "请选择审批结果"}] auditStatus: [{required: true, message: "请选择审批结果"}],
auditDescription: [{required: true, message: "请输入审批意见"}],
} }
} }
}, },
@@ -123,7 +122,7 @@ export default {
.pumDetail { .pumDetail {
height: 100%; height: 100%;
.thumbImage { .thumb {
width: 120px; width: 120px;
height: 120px; height: 120px;
} }

View File

@@ -56,6 +56,7 @@ export default {
{label: "联系方式", prop: "phone"}, {label: "联系方式", prop: "phone"},
{label: "创建时间", prop: "createTime"}, {label: "创建时间", prop: "createTime"},
{label: "登录账号", prop: "loginAccount"}, {label: "登录账号", prop: "loginAccount"},
{label: "审核状态", prop: "status", dict: "enterpriseStatus"},
{slot: "options"} {slot: "options"}
] ]
} }

View File

@@ -39,7 +39,7 @@
<!-- 添加的模态框 --> <!-- 添加的模态框 -->
<ai-dialog :title="dialog.title" :visible.sync="visible" @onCancel="visible = false" @onConfirm="addConfirm" <ai-dialog :title="dialog.title" :visible.sync="visible" @onCancel="visible = false" @onConfirm="addConfirm"
width="800px"> width="800px">
<el-form ref="ruleForm" :model="dialogInfo" :rules="formRules" size="small" label-width="100px"> <el-form ref="DialogForm" :model="dialogInfo" :rules="formRules" size="small" label-width="100px">
<!-- 首页封面 --> <!-- 首页封面 -->
<el-form-item label="首页封面" prop="imgUrl"> <el-form-item label="首页封面" prop="imgUrl">
<ai-uploader v-model="dialogInfo.imgUrl" @change="change" :instance="instance" :limit="1"></ai-uploader> <ai-uploader v-model="dialogInfo.imgUrl" @change="change" :instance="instance" :limit="1"></ai-uploader>
@@ -61,8 +61,6 @@
<!-- 详情的模态框 --> <!-- 详情的模态框 -->
<ai-dialog title="详情" :visible.sync="detailDialog" customFooter width="800px"> <ai-dialog title="详情" :visible.sync="detailDialog" customFooter width="800px">
<!-- -->
<el-form ref="ruleForm" :model="dialogInfo" :rules="formRules" size="small" label-width="100px">
<ai-wrapper label-width="80px" :columnsNumber="1"> <ai-wrapper label-width="80px" :columnsNumber="1">
<ai-info-item label="首页封面"> <ai-info-item label="首页封面">
<span><img :src="dialogInfo.imgUrl" alt="" style="width:100px;height:100px;"/></span> <span><img :src="dialogInfo.imgUrl" alt="" style="width:100px;height:100px;"/></span>
@@ -74,14 +72,12 @@
<span>{{ dialogInfo.linkUrl }}</span> <span>{{ dialogInfo.linkUrl }}</span>
</ai-info-item> </ai-info-item>
<ai-info-item label="状态:"> <ai-info-item label="状态:">
<span>{{ dialogInfo.status }}</span> <span>{{ dict.getLabel("bannerSstatus", dialogInfo.status) }}</span>
</ai-info-item> </ai-info-item>
<ai-info-item label="显示顺序:"> <ai-info-item label="显示顺序:">
<span>{{ dialogInfo.showIndex }}</span> <span>{{ dialogInfo.showIndex }}</span>
</ai-info-item> </ai-info-item>
</ai-wrapper> </ai-wrapper>
</el-form>
<div class="dialog-footer" slot="footer"> <div class="dialog-footer" slot="footer">
<el-button @click="detailDialog=false">关闭</el-button> <el-button @click="detailDialog=false">关闭</el-button>
</div> </div>
@@ -214,31 +210,32 @@ export default {
}, },
// 确定新增 // 确定新增
addConfirm() { addConfirm() {
// console.log('确定') this.$refs.DialogForm.validate(v => {
this.instance if (v) {
.post(`/appbanner/addOrUpdate`, { this.instance.post(`/appbanner/addOrUpdate`, {
imgUrl: this.dialogInfo.imgUrl[0].url, imgUrl: this.dialogInfo.imgUrl?.[0]?.url,
linkUrl: this.dialogInfo.linkUrl, linkUrl: this.dialogInfo.linkUrl,
status: this.status, status: this.status,
title: this.dialogInfo.title, title: this.dialogInfo.title,
showIndex: this.dialogInfo.showIndex, showIndex: this.dialogInfo.showIndex,
id: this.dialogInfo.id, id: this.dialogInfo.id,
}) }).then(res => {
.then(res => {
if (res?.code == 0) { if (res?.code == 0) {
this.$message.success('新增成功') this.$message.success('提交成功')
this.visible = false this.visible = false
this.getList() this.getList()
} }
}) })
}
})
}, },
// 发布/取消发布 // 发布/取消发布
release(row) { release(row) {
this.$confirm('确定此操作?').then(() => { this.$confirm('确定此操作?').then(() => {
var status = row.status == 1 ? '0' : '1' let status = row.status == 1 ? '0' : '1'
this.instance.post(`/appbanner/setStatus?id=${row.id}&status=${status}`) this.instance.post(`/appbanner/setStatus?id=${row.id}&status=${status}`).then((res) => {
.then((res) => {
if (res?.code == 0) { if (res?.code == 0) {
this.$message.success("操作成功!")
this.getList() this.getList()
} }
}) })

View File

@@ -28,14 +28,14 @@
<el-form ref="addAccountForm" :model="form" :rules="rules" size="small" <el-form ref="addAccountForm" :model="form" :rules="rules" size="small"
label-width="120px"> label-width="120px">
<el-form-item required label="机构名称" prop="organizationName"> <el-form-item required label="机构名称" prop="organizationName">
<el-input v-model.trim="form.organizationName" placeholder="请输入" clearable :maxLength="32" show-word-limit/> <el-input v-model.trim="form.organizationName" placeholder="请输入" clearable maxlength="32" show-word-limit/>
</el-form-item> </el-form-item>
<el-form-item required label="机构类型" prop="organizationType"> <el-form-item required label="机构类型" prop="organizationType">
<ai-select v-model="form.organizationType" :selectList="dict.getDict('financialOrganizationType')" <ai-select v-model="form.organizationType" :selectList="dict.getDict('financialOrganizationType')"
placeholder="请选择"/> placeholder="请选择"/>
</el-form-item> </el-form-item>
<el-form-item label="logo" prop="logoUrl"> <el-form-item label="logo" prop="logoUrl">
<ai-uploader v-model="form.logoUrl" :instance="instance" :limit="1"/> <ai-uploader v-model="form.logoUrl" :instance="instance" :limit="1" isShowTip/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</ai-dialog> </ai-dialog>

View File

@@ -62,6 +62,7 @@ export default {
organizationName: [{required: true, message: "请输入机构名称"}], organizationName: [{required: true, message: "请输入机构名称"}],
userRole: [{required: true, message: "请选择成员角色"}], userRole: [{required: true, message: "请选择成员角色"}],
organizationId: [{required: true, message: "请选择所属金融机构"}], organizationId: [{required: true, message: "请选择所属金融机构"}],
userId: [{required: true, message: "请选择机构成员"}],
} }
}, },
}, },

View File

@@ -13,9 +13,8 @@
<el-row type="flex" class="flexWrap"> <el-row type="flex" class="flexWrap">
<el-form-item class="half" label="产品名称">{{ detail.productName }}</el-form-item> <el-form-item class="half" label="产品名称">{{ detail.productName }}</el-form-item>
<el-form-item class="half" label="状态">{{ dict.getLabel('productStatus', detail.status) }}</el-form-item> <el-form-item class="half" label="状态">{{ dict.getLabel('productStatus', detail.status) }}</el-form-item>
<el-form-item class="half" label="贷款额度(万)">{{ <el-form-item class="half" label="贷款额度(万)">
[detail.loanMin, detail.loanMax].join(" ~ ") {{ [detail.loanMin, detail.loanMax].join(" ~ ") }}
}}
</el-form-item> </el-form-item>
<el-form-item class="half" label="参考利率(%)"> <el-form-item class="half" label="参考利率(%)">
{{ [detail.interestRateMin, detail.interestRateMax].join(" ~ ") }} {{ [detail.interestRateMin, detail.interestRateMax].join(" ~ ") }}
@@ -46,6 +45,9 @@
<ai-card title="审核结果" v-if="!isAuthing"> <ai-card title="审核结果" v-if="!isAuthing">
<template #content> <template #content>
<el-row type="flex" class="flexWrap"> <el-row type="flex" class="flexWrap">
<el-form-item class="half" label="审核结果">
{{ dict.getLabel("productStatus", detail.status) }}
</el-form-item>
<el-form-item class="half" label="审核人">{{ detail.auditUserName }}</el-form-item> <el-form-item class="half" label="审核人">{{ detail.auditUserName }}</el-form-item>
<el-form-item class="half" label="审核时间">{{ detail.auditTime }}</el-form-item> <el-form-item class="half" label="审核时间">{{ detail.auditTime }}</el-form-item>
</el-row> </el-row>
@@ -60,8 +62,8 @@
<el-form-item label="审批结果" prop="status"> <el-form-item label="审批结果" prop="status">
<ai-select v-model="form.status" :selectList="dict.getDict('enterpriseAuditStatus')"/> <ai-select v-model="form.status" :selectList="dict.getDict('enterpriseAuditStatus')"/>
</el-form-item> </el-form-item>
<el-form-item label="审批意见" prop="remark"> <el-form-item label="审批意见" :prop="form.status==2?'remark':''">
<el-input type="textarea" v-model="form.remark" placeholder="请输入"/> <el-input type="textarea" v-model="form.remark" placeholder="请输入" maxlength="200" rows="4" show-word-limit/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</ai-dialog> </ai-dialog>

View File

@@ -19,7 +19,8 @@
</ai-search-bar> </ai-search-bar>
<ai-search-bar> <ai-search-bar>
<template #left> <template #left>
<el-button type="primary" icon="iconfont iconAdd" @click="handleEdit()">添加产品</el-button> <el-button type="primary" icon="iconfont iconAdd" @click="handleEdit()" v-if="isFinanceUser">添加产品
</el-button>
</template> </template>
</ai-search-bar> </ai-search-bar>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size" <ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@@ -37,8 +38,10 @@
<el-table-column slot="options" label="操作" fixed="right" align="center" width="200px"> <el-table-column slot="options" label="操作" fixed="right" align="center" width="200px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-button type="text" @click="showDetail(row.id)">详情</el-button> <el-button type="text" @click="showDetail(row.id)">详情</el-button>
<el-button type="text" @click="handleEdit(row.id)">编辑</el-button> <template v-if="isFinanceUser">
<el-button type="text" @click="handleDelete(row.id)">删除</el-button> <el-button type="text" @click="handleEdit(row.id)" v-if="row.status==2">编辑</el-button>
<el-button type="text" @click="handleDelete(row.id)" v-if="['2','1'].includes(row.status)">删除</el-button>
</template>
</template> </template>
</el-table-column> </el-table-column>
</ai-table> </ai-table>
@@ -58,7 +61,10 @@ export default {
permissions: Function permissions: Function
}, },
computed: { computed: {
...mapState(['user']) ...mapState(['user']),
isFinanceUser() {
return !!this.user.financeUser?.id
}
}, },
data() { data() {
return { return {

View File

@@ -3,7 +3,7 @@
<ai-detail> <ai-detail>
<ai-title slot="title" title="贷款审核详情" isShowBottomBorder isShowBack @onBackClick="$router.push({query:{}})"> <ai-title slot="title" title="贷款审核详情" isShowBottomBorder isShowBack @onBackClick="$router.push({query:{}})">
<template #rightBtn> <template #rightBtn>
<el-button v-if="isAuthing" type="primary" @click="dialog=true">审核</el-button> <el-button v-if="isAuthing&&isFinanceUser" type="primary" @click="dialog=true">审核</el-button>
</template> </template>
</ai-title> </ai-title>
<template #content> <template #content>
@@ -102,6 +102,9 @@ export default {
permissions: Function permissions: Function
}, },
computed: { computed: {
isFinanceUser() {
return !!this.user.financeUser?.id
},
isAuthing() { isAuthing() {
return this.detail.status == "0" return this.detail.status == "0"
} }

View File

@@ -8,7 +8,8 @@
<ai-select v-model="search.status" :selectList="dict.getDict('financialLoanApplyStatus')" placeholder="审批状态" <ai-select v-model="search.status" :selectList="dict.getDict('financialLoanApplyStatus')" placeholder="审批状态"
@change="page.current=1,getTableData()"/> @change="page.current=1,getTableData()"/>
<ai-search label="申请时间"> <ai-search label="申请时间">
<el-date-picker size="small" v-model="search.applyTime" type="daterange" @change="handleFilterApplyTime"/> <el-date-picker size="small" v-model="search.applyTime" type="daterange" @change="handleFilterApplyTime"
:default-time="['00:00:00','23:59:59']" value-format="yyyy-MM-dd HH:mm:ss"/>
</ai-search> </ai-search>
</template> </template>
<template #right> <template #right>

View File

@@ -12,7 +12,7 @@
<ai-card title="融资需求"> <ai-card title="融资需求">
<template #content> <template #content>
<el-row type="flex" class="flexWrap"> <el-row type="flex" class="flexWrap">
<el-form-item label="意向金额">{{ detail.loanAmount }}</el-form-item> <el-form-item label="意向金额(万)">{{ detail.loanAmount }}</el-form-item>
<el-form-item label="期望使用期限">{{ <el-form-item label="期望使用期限">{{
dict.getLabel('productRepaymentTimeline', detail.hopeLifespan) dict.getLabel('productRepaymentTimeline', detail.hopeLifespan)
}} }}
@@ -22,7 +22,7 @@
}} }}
</el-form-item> </el-form-item>
<el-form-item label="企业主体">{{ detail.enterpriseName }}</el-form-item> <el-form-item label="企业主体">{{ detail.enterpriseName }}</el-form-item>
<el-form-item label="联系人">{{ detail.createUserName }}</el-form-item> <el-form-item label="联系人">{{ detail.name }}</el-form-item>
<el-form-item label="所在地区">{{ detail.areaName }}</el-form-item> <el-form-item label="所在地区">{{ detail.areaName }}</el-form-item>
<el-form-item label="联系方式">{{ detail.phone }}</el-form-item> <el-form-item label="联系方式">{{ detail.phone }}</el-form-item>
<el-form-item label="身份证号">{{ detail.idNumber }}</el-form-item> <el-form-item label="身份证号">{{ detail.idNumber }}</el-form-item>

View File

@@ -37,7 +37,7 @@ export default {
}, },
data() { data() {
return { return {
search: {name: ""}, search: {enterpriseName: ""},
page: {current: 1, size: 10, total: 0}, page: {current: 1, size: 10, total: 0},
tableData: [], tableData: [],
colConfigs: [ colConfigs: [
@@ -45,7 +45,7 @@ export default {
{label: "所在地区", prop: "areaName"}, {label: "所在地区", prop: "areaName"},
{label: "意向金额(万)", prop: "loanAmount"}, {label: "意向金额(万)", prop: "loanAmount"},
{label: "申请时间", prop: "createTime"}, {label: "申请时间", prop: "createTime"},
{label: "联系人", prop: "createUserName"}, {label: "联系人", prop: "name"},
{label: "联系方式", prop: "phone"}, {label: "联系方式", prop: "phone"},
{label: "备注", prop: "remark"}, {label: "备注", prop: "remark"},
{slot: "options"} {slot: "options"}
@@ -55,7 +55,7 @@ export default {
methods: { methods: {
getTableData() { getTableData() {
this.instance.post("/appfinancingdemand/list", null, { this.instance.post("/appfinancingdemand/list", null, {
params: {...this.page, ...this.search} params: {...this.page, ...this.search, status: 0}
}).then(res => { }).then(res => {
if (res?.data) { if (res?.data) {
this.tableData = res.data?.records this.tableData = res.data?.records

View File

@@ -8,7 +8,8 @@
<ai-select placeholder="订单状态" v-model="search.status" @change="page.current=1,getTableData()" <ai-select placeholder="订单状态" v-model="search.status" @change="page.current=1,getTableData()"
:selectList="dict.getDict('financingDemandStatus')"/> :selectList="dict.getDict('financingDemandStatus')"/>
<ai-search label="申请时间"> <ai-search label="申请时间">
<el-date-picker size="small" v-model="search.applyTime" type="daterange" @change="handleFilterApplyTime"/> <el-date-picker size="small" v-model="search.applyTime" type="daterange" @change="handleFilterApplyTime"
:default-time="['00:00:00','23:59:59']" value-format="yyyy-MM-dd HH:mm:ss"/>
</ai-search> </ai-search>
</template> </template>
<template #right> <template #right>