Commit 957dcce7 authored by caimeng's avatar caimeng

优化客户详情样式12-9

parent db95428f
...@@ -12,10 +12,10 @@ ...@@ -12,10 +12,10 @@
//window.APIHOST = "http://192.168.0.50:8202"; //window.APIHOST = "http://192.168.0.50:8202";
//测试 //测试
window.APIHOST = "http://47.99.245.36:8202"; // window.APIHOST = "http://47.99.245.36:8202";
//生产环境 //生产环境
//window.APIHOST = "https://water.jqtianxia.com"; window.APIHOST = "https://water.jqtianxia.com";
</script> </script>
</head> </head>
......
<template> <template>
<div> <div class="page-byh-service">
<block-header title="搜索"/>
<div class="page-search"> <div class="page-search">
<el-form :inline="true" :model="searchInfo" class="demo-form-inline"> <el-form size="small" label-suffix=":" :inline="true" ref="refForm" :model="searchInfo" class="demo-form-inline">
<el-form-item prop="clientCell" label="手机号码">
<el-form-item label="手机号"> <el-input
<el-input v-model="searchInfo.clientCell" clearable
v-model="searchInfo.clientCell"
@keyup.enter.native="onSubmit" @keyup.enter.native="onSubmit"
placeholder="请输入手机号"></el-input> placeholder="请输入手机号码"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="客户编号"> <el-form-item prop="clientNo" label="客户编号">
<el-input v-model="searchInfo.clientNo" <el-input
clearable
v-model="searchInfo.clientNo"
@keyup.enter.native="onSubmit" @keyup.enter.native="onSubmit"
placeholder="请输入客户编号"></el-input> placeholder="请输入客户编号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="身份证号"> <el-form-item prop="certNo" label="身份证号">
<el-input v-model="searchInfo.certNo" <el-input
clearable
v-model="searchInfo.certNo"
@keyup.enter.native="onSubmit" @keyup.enter.native="onSubmit"
placeholder="请输入身份证号"></el-input> placeholder="请输入身份证号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="产品名称"> <el-form-item prop="productName" label="产品名称">
<el-select clearable v-model="searchInfo.productName"> <el-select clearable v-model="searchInfo.productName">
<el-option v-for="item in this.$enumUtils.toValue('BusinessType')" :key="item.value" <el-option v-for="item in this.$enumUtils.toValue('BusinessType')" :key="item.value"
:label="item.label" :value="item.value"></el-option> :label="item.label" :value="item.value"></el-option>
...@@ -30,28 +36,26 @@ ...@@ -30,28 +36,26 @@
<el-form-item> <el-form-item>
<el-button type="primary" @click="onSubmit">查询</el-button> <el-button type="primary" @click="onSubmit">查询</el-button>
<el-button @click="onReset('refForm')">清空</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<!-- 列表 --> <!-- 列表 -->
<div v-show="isShow"> <div v-show="isShow">
<block-header title="借款列表"/>
<el-table :data="loanApplyList" stripe style="width: 100%;"> <el-table
border
<el-table-column prop="clientNo" label="客户编号"></el-table-column> size="small"
<el-table-column prop="clientName" label="姓名"></el-table-column> :data="loanApplyList" stripe style="width: 100%;">
<el-table-column prop="clientCell" label="手机号"></el-table-column> <el-table-column align="center" width="180" prop="clientNo" label="客户编号"></el-table-column>
<el-table-column prop="certNo" label="身份证号"></el-table-column> <el-table-column align="center" prop="clientName" label="姓名"></el-table-column>
<el-table-column prop="level" label="授信级别"></el-table-column> <el-table-column align="center" prop="clientCell" label="手机号"></el-table-column>
<el-table-column prop="productName" label="产品名称" :formatter="productNameFormat"></el-table-column> <el-table-column align="center" prop="certNo" label="身份证号"></el-table-column>
<el-table-column prop="userStatus" label="状态" :formatter="userStatusFormat"></el-table-column> <el-table-column align="center" prop="level" label="授信级别"></el-table-column>
<!--<el-table-column label="操作"> <el-table-column align="center" prop="productName" label="产品名称" :formatter="productNameFormat"></el-table-column>
<template scope="scope"> <el-table-column align="center" prop="userStatus" label="状态" :formatter="userStatusFormat"></el-table-column>
<el-button type="primary" size="small" v-if="$permissionUtils.rolePermission('customBoss') && scope.row.userStatus == 'REAL_NAME' " @click="cancellation(scope.row)">注销</el-button> <el-table-column align="center" label="查看详情">
</template>
</el-table-column>-->
<el-table-column label="查看详情">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="loanDetail(scope.row)">查看详情</el-button> <el-button type="text" size="small" @click="loanDetail(scope.row)">查看详情</el-button>
</template> </template>
...@@ -69,10 +73,14 @@ ...@@ -69,10 +73,14 @@
</template> </template>
<script> <script>
import BlockHeader from "@/components/byh/componments/blockHeader";
import * as moment from "moment"; import * as moment from "moment";
export default { export default {
name: "ByhService", name: "ByhService",
components: {
BlockHeader
},
data() { data() {
return { return {
flag: false, flag: false,
......
This diff is collapsed.
This diff is collapsed.
<template> <template>
<div> <div class="page">
<el-table :data="baseConfigList" stripe style="width: 100%;"> <block-header title="资方配置列表"/>
<div class="b-table">
<el-table size="small" border :data="baseConfigList" stripe style="width: 100%;">
<el-table-column prop="content" label="内容"></el-table-column> <el-table-column align="center" prop="content" label="内容"></el-table-column>
<el-table-column prop="valueContent" label="当前配置"></el-table-column> <el-table-column align="center" prop="valueContent" label="当前配置"></el-table-column>
<el-table-column label="操作"> <el-table-column align="center" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="updateQue(scope.row)">修改</el-button> <el-button type="text" size="small" @click="updateQue(scope.row)">修改</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="page"> </div>
<div class="b-pagination">
<el-pagination <el-pagination
background
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
@size-change="handleSizeChange" @size-change="handleSizeChange"
:current-page.sync="page.current" :current-page.sync="page.current"
...@@ -21,9 +25,6 @@ ...@@ -21,9 +25,6 @@
:total="page.total"> :total="page.total">
</el-pagination> </el-pagination>
</div> </div>
<br/>
</div> </div>
</template> </template>
...@@ -57,13 +58,12 @@ export default { ...@@ -57,13 +58,12 @@ export default {
created() { created() {
this.getRiaseOrPut(); this.getRiaseOrPut();
}, },
methods: { methods: {
getRiaseOrPut(){ getRiaseOrPut() {
this.$$post("/raise/getRiaseOrPut",{ this.$$post("/raise/getRiaseOrPut", {
size: this.page.size, size: this.page.size,
current: this.page.current current: this.page.current
}).then(res=>{ }).then(res => {
if (res.data.code != 200) { if (res.data.code != 200) {
// this.isShow = false; // this.isShow = false;
this.$message.error(res.data.message); this.$message.error(res.data.message);
...@@ -94,9 +94,9 @@ export default { ...@@ -94,9 +94,9 @@ export default {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
center: true center: true
}).then(({ value }) => { }).then(({value}) => {
if(value == null || value == '' ){ if (value == null || value == '') {
this.$message.error("请输入后再提交"); this.$message.error("请输入后再提交");
return return
} }
...@@ -128,10 +128,5 @@ export default { ...@@ -128,10 +128,5 @@ export default {
} }
} }
} }
</script> </script>
<style scoped>
</style>
<template> <template>
<div style="width: 600px"> <div style="width: 600px">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px" class="demo-ruleForm"> <block-header title="创建减免单" />
<el-form
size="small"
label-suffix=":"
:model="ruleForm"
:rules="rules" ref="ruleForm"
label-width="120px" class="demo-ruleForm">
<el-form-item label="借款编号" prop="loanNo"> <el-form-item label="借款编号" prop="loanNo">
<el-col :span="20"> <el-col :span="20">
<el-input v-model="ruleForm.loanNo" placeholder="请正确填写借款编号"></el-input> <el-input v-model="ruleForm.loanNo" placeholder="请正确填写借款编号"></el-input>
...@@ -16,10 +22,10 @@ ...@@ -16,10 +22,10 @@
<el-input v-model="ruleForm.applyDesc" placeholder="请输入减免描述信息"></el-input> <el-input v-model="ruleForm.applyDesc" placeholder="请输入减免描述信息"></el-input>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item>
<el-button size="small" type="primary" @click="createDerate('ruleForm')">确 定</el-button>
</el-form-item>
</el-form> </el-form>
<div slot="footer">
<el-button style="float:right; margin-right:200px" type="primary" @click="createDerate('ruleForm')">确 定</el-button>
</div>
</div> </div>
</template> </template>
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
</el-form> </el-form>
</div> </div>
<div class="table"> <div class="b-table">
<block-header title="客户列表"></block-header> <block-header title="客户列表"></block-header>
<el-table <el-table
border border
......
This diff is collapsed.
...@@ -2,12 +2,13 @@ ...@@ -2,12 +2,13 @@
<el-dialog <el-dialog
class="client-data-dialog" class="client-data-dialog"
:title="title" :title="title"
width="30%"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
:before-close="handleClose"> :before-close="handleClose">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm"> <el-form size="small" label-suffix=":" :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="反馈类型" prop="feedType"> <el-form-item label="反馈类型" prop="feedType">
<el-select v-model="ruleForm.feedType" label="反馈类型" placeholder="请选择" style="width:80%"> <el-select v-model="ruleForm.feedType" label="反馈类型" placeholder="请选择" >
<el-option <el-option
v-for="item in optionsFeedType" v-for="item in optionsFeedType"
:key="item.value" :key="item.value"
...@@ -22,7 +23,7 @@ ...@@ -22,7 +23,7 @@
type="textarea" type="textarea"
:rows="2" :rows="2"
placeholder="请输入反馈内容" placeholder="请输入反馈内容"
v-model="ruleForm.feedContent" style="width:80%"> v-model="ruleForm.feedContent" >
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -42,9 +43,9 @@ ...@@ -42,9 +43,9 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" style="margin-right:30px"> <div slot="footer">
<el-button @click="handleClose">取 消</el-button> <el-button size="small" @click="handleClose">取 消</el-button>
<el-button type="primary" @click="submitForm('ruleForm')">新 增</el-button> <el-button size="small" icon="el-icon-plus" type="primary" @click="submitForm('ruleForm')">新 增</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
......
<template> <template>
<el-dialog class="client-data-dialog" title="创建线下提前结清" width="40%" :visible.sync="visible" <el-dialog
:append-to-body="true"
class="client-data-dialog"
title="创建线下提前结清"
width="40%"
:visible.sync="visible"
:before-close="handleClose"> :before-close="handleClose">
<div>
<div style="margin-left:50px"> <div style="margin-left:50px">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
...@@ -52,8 +58,6 @@ ...@@ -52,8 +58,6 @@
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
<br/>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px" class="demo-ruleForm"> <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px" class="demo-ruleForm">
<el-form-item label="还款银行账号" prop="bankAccount"> <el-form-item label="还款银行账号" prop="bankAccount">
<el-col :span="20"> <el-col :span="20">
...@@ -94,10 +98,12 @@ ...@@ -94,10 +98,12 @@
</el-col> </el-col>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div>
<div slot="footer"> <div slot="footer">
<el-button @click="handleClose">取 消</el-button> <el-button @click="handleClose">取 消</el-button>
<el-button type="primary" @click="backedTransfer('ruleForm')">确 定</el-button> <el-button type="primary" @click="backedTransfer('ruleForm')">确 定</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -163,10 +169,8 @@ export default { ...@@ -163,10 +169,8 @@ export default {
filters: { filters: {
dateFilter: function (row) { dateFilter: function (row) {
var date = row const date = row;
if (typeof (date) == undefined || typeof (date) == null) { if (typeof (date) === undefined || typeof (date) == null) return ''
return ''
}
return moment(date).format("YYYY-MM-DD") return moment(date).format("YYYY-MM-DD")
}, },
}, },
...@@ -178,7 +182,6 @@ export default { ...@@ -178,7 +182,6 @@ export default {
this.$message.error(res.data.message); this.$message.error(res.data.message);
this.handleClose(); this.handleClose();
} else { } else {
this.ruleForm = res.data.result; this.ruleForm = res.data.result;
} }
...@@ -202,9 +205,7 @@ export default { ...@@ -202,9 +205,7 @@ export default {
} }
this.$message({message: '操作成功', type: 'success'}); this.$message({message: '操作成功', type: 'success'});
this.handleClose(); this.handleClose();
setTimeout(() => { this.$emit('callback')
window.location.reload();
}, 1000);
}) })
.catch(err => { .catch(err => {
alert("error!") alert("error!")
......
<template> <template>
<el-dialog <div class="page-com">
width="70%" <block-header :title="title"></block-header>
class="client-data-dialog"
:title="title"
:visible.sync="dialogVisible"
:before-close="handleClose">
<div class="page-dialog">
<!--<block-header :title="title"></block-header>-->
<table class="table"> <table class="table">
<tr> <tr>
<td>申请日期:</td> <td>申请日期:</td>
...@@ -47,24 +40,14 @@ ...@@ -47,24 +40,14 @@
</tr> </tr>
</table> </table>
</div> </div>
</el-dialog>
</template> </template>
<script> <script>
import BlockHeader from "@/components/byh/componments/blockHeader";
import * as moment from "moment"; import * as moment from "moment";
export default { export default {
name: 'AddUserServiceDialog', name: 'AddUserServiceDialog',
components: {
BlockHeader
},
props: { props: {
dialogVisible: {
type: Boolean,
required: true,
},
title: { title: {
type: String, type: String,
required: true, required: true,
...@@ -89,24 +72,15 @@ export default { ...@@ -89,24 +72,15 @@ export default {
}, },
}, },
async created() { async created() {
const {loanNo} = this.params; if(this.params){
await this.init(loanNo) console.log(this.params,'哈哈');
const {applyVo} = this.params;
this.loanModel = applyVo
}
}, },
methods: { methods: {
headerStyle() { headerStyle() {
return "tableHeaderStyle"; return "tableHeaderStyle";
},
async init(loanNo) {
const res = await this.$$get('/detail/customer/' + loanNo)
const {success, result} = res.data
if (success && result != null) {
const {applyVo} = result;
this.loanModel = applyVo
}
},
handleClose() {
this.$emit("handleClose");
} }
} }
} }
......
<template>
<div class="tabs-content">
<block-header title="基本信息">
</block-header>
<div class="block-box">
<table class="table">
<tr>
<td>姓名:</td>
<td>{{ basicInfo.name }}</td>
<td>身份证号:</td>
<td>{{ basicInfo.idCard }}</td>
<td>手机号:</td>
<td>{{ basicInfo.phone }}</td>
</tr>
<tr>
<td>实名认证:</td>
<td>
<el-tag size="mini" type="danger" v-if="basicInfo.isIdentity==='未认证'"> {{ basicInfo.isIdentity }}</el-tag>
<el-tag size="mini" type="success" v-else> {{ basicInfo.isIdentity }}</el-tag>
</td>
<td>基础信息认证:</td>
<td>
<el-tag size="mini" type="danger" v-if="basicInfo.isIdentity==='未认证'"> {{ basicInfo.isBasicInfo }}</el-tag>
<el-tag size="mini" type="success" v-else> {{ basicInfo.isBasicInfo }}</el-tag>
</td>
<td>活体认证:</td>
<td>
<el-tag size="mini" type="danger" v-if="basicInfo.isIdentity==='未认证'"> {{ basicInfo.isFace }}</el-tag>
<el-tag size="mini" type="success" v-else> {{ basicInfo.isFace }}</el-tag>
</td>
</tr>
<tr>
<td>客户单位名称:</td>
<td>{{ basicInfo.companyName }}</td>
<td>客户单位地址:</td>
<td>{{ basicInfo.companyAddress }}</td>
<td>住宅地址:</td>
<td>{{ basicInfo.houseAddress }}</td>
</tr>
<tr>
<td>第一联系人姓名:</td>
<td>{{ basicInfo.firstName }}</td>
<td>第一联系人电话:</td>
<td colspan="3">{{ basicInfo.firstPhone }}</td>
</tr>
</table>
</div>
<block-header title="银行卡列表"/>
<div class="block-box">
<el-table
:header-row-class-name="headerStyle"
:highlight-current-row="true"
border
size="small"
:data="ownerBank"
stripe style="width: 100%;">
<el-table-column align="center" prop="bankAccount" label="银行卡号"></el-table-column>
<el-table-column align="center" prop="openBankName" label="银行名称"></el-table-column>
<el-table-column align="center" prop="ownerName" label="姓名"></el-table-column>
<el-table-column align="center" prop="payChannelApi" label="渠道名称"></el-table-column>
<el-table-column align="center" prop="gmtCreated" label="绑定时间" :formatter="dateFormat"></el-table-column>
<el-table-column align="center" label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="ownerBankBind(scope.row,'BindCardRecord','绑卡记录')">绑卡记录</el-button>
</template>
</el-table-column>
</el-table>
</div>
<!--绑卡记录-->
<template v-if="visible">
<component
@handleClose="visible = false"
:is="activeComponents"
:dialogVisible="visible"
:params="dParams"
:title="dTitle"/>
</template>
</div>
</template>
<script>
import BlockHeader from "@/components/byh/componments/blockHeader";
import BindCardRecord from './OwnerBankBind'
import * as moment from "moment";
export default {
name: 'AddUserServiceDialog',
components: {
BlockHeader,
BindCardRecord
},
props: {
dialogVisible: {
type: Boolean,
required: true,
},
title: {
type: String,
required: true,
},
params: {
type: Object,
required: true
},
},
data() {
return {
visible: false,
activeComponents: "",
dTitle: "",
dParams: {},
basicInfo: {},
ownerBank: []
}
},
filters: {
dateFilter: function (row) {
const exp = row;
if (!exp || typeof (exp) === undefined || typeof (exp) === null) {
return ''
}
return moment(exp).format("YYYY-MM-DD")
},
},
async created() {
if (this.params) {
const params = this.params;
console.log(params, '是什么');
const {basicInfo} = params;
this.basicInfo = basicInfo;
if (basicInfo.cardList) this.ownerBank = basicInfo.cardList;
}
},
methods: {
headerStyle() {
return "tableHeaderStyle";
},
/*日期*/
dateFormat: function (row, column) {
let date = row[column.property]
if (date === undefined) {
return ''
}
return moment(date).format("YYYY-MM-DD HH:mm:ss")
},
// 查看绑卡记录
ownerBankBind(row,com,title) {
this.activeComponents = com;
this.visible = true;
this.dTitle = title;
this.dParams = row;
}
}
}
</script>
<style>
</style>
This diff is collapsed.
<template> <template>
<el-dialog <div class="page-com">
width="70%"
class="client-data-dialog"
:title="title"
:visible.sync="dialogVisible"
:before-close="handleClose">
<div class="page-dialog">
<block-header :title="title"></block-header> <block-header :title="title"></block-header>
<el-table <el-table
border border
...@@ -24,24 +17,12 @@ ...@@ -24,24 +17,12 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</el-dialog>
</template> </template>
<script> <script>
import BlockHeader from "@/components/byh/componments/blockHeader";
import * as moment from "moment";
export default { export default {
name: 'RiskInfo', name: 'RiskInfo',
components: {
BlockHeader
},
props: { props: {
dialogVisible: {
type: Boolean,
required: true,
},
title: { title: {
type: String, type: String,
required: true, required: true,
......
<template> <template>
<el-dialog
width="70%"
class="client-data-dialog"
:title="title"
:visible.sync="dialogVisible"
:before-close="handleClose">
<div class="page-dialog"> <div class="page-dialog">
<div class="tables"> <div class="tables">
<block-header :title="title"></block-header> <block-header :title="title"></block-header>
...@@ -47,18 +40,6 @@ ...@@ -47,18 +40,6 @@
</div> </div>
</div> </div>
<updateQueDialog
v-if="updateQueDialog.visible"
:feedNo="updateQueDialog.feedNo"
:feedType="updateQueDialog.feedType"
:feedStatus="updateQueDialog.feedStatus"
:feedContent="updateQueDialog.feedContent"
:creater="updateQueDialog.creater"
:finishContent="updateQueDialog.finishContent"
:dialogVisible.sync="updateQueDialog.visible">
</updateQueDialog>
</el-dialog>
</template> </template>
<script> <script>
...@@ -91,16 +72,6 @@ export default { ...@@ -91,16 +72,6 @@ export default {
current: 1, current: 1,
size: 10, size: 10,
}, },
updateQueDialog: {
visible: false,
feedNo: '',
feedType: '',
feedStatus: '',
feedContent: '',
clientNo: '',
creater: '',
finishContent: '',
},
data: [] data: []
} }
}, },
...@@ -157,20 +128,7 @@ export default { ...@@ -157,20 +128,7 @@ export default {
this.form.size = e this.form.size = e
this.form.current = 1; this.form.current = 1;
this.init(); this.init();
}, }
// 修改用户的反馈问题
updateQueDialog(record) {
this.updateQueDialog = {
visible: true,
feedNo: record.feedNo,
feedType: record.feedType,
feedStatus: record.feedStatus,
feedContent: record.feedContent,
clientNo: record.clientNo,
creater: record.creater,
finishContent: record.finishContent,
};
},
} }
} }
</script> </script>
......
<template>
<el-drawer
:title="title"
size="70%"
:wrapperClosable="false"
:visible.sync="dialogVisible"
direction="rtl"
:before-close="handleClose">
<div class="page">
<div class="loan-detail">
<el-tabs
class="loan-tabs"
tab-position="left"
v-model="activeComponents"
@tab-click="handleTabClick">
<el-tab-pane name="ApplyInfo" label="申请信息"></el-tab-pane>
<el-tab-pane v-if="$permissionUtils.rolePermission('customBoss')" name="ContractList"
label="借款合同"></el-tab-pane>
<el-tab-pane name="BillList" label="账单详情"></el-tab-pane>
<el-tab-pane name="RePayList" label="还款情况"></el-tab-pane>
</el-tabs>
<div class="loan-detail-content">
<template v-if="visible">
<component
@handleClose="visible = false"
:is="activeComponents"
:params="items"
:title="dTitle"/>
</template>
</div>
</div>
</div>
</el-drawer>
</template>
<script>
import BlockHeader from "@/components/byh/componments/blockHeader";
import ApplyInfo from "./ApplyInfo";
import ContractList from "./ContractList";
import RePayList from "./RePayList";
import BillList from "./BillList";
import * as moment from "moment";
export default {
name: 'AddUserServiceDialog',
components: {
BlockHeader,
ApplyInfo,
ContractList,
RePayList,
BillList
},
props: {
dialogVisible: {
type: Boolean,
required: true,
},
title: {
type: String,
required: true,
},
params: {
type: Object,
required: true
},
},
data() {
return {
visible: false,
activeComponents: '',
dTitle: '',
active: "",
items: {},
loan: {}
}
},
async created() {
if (this.params) {
const {loanNo} = this.params;
this.items = this.params;
await this.initLoanInfo(loanNo)
}
},
methods: {
headerStyle() {
return "tableHeaderStyle";
},
//根据借款信息查借款所有信息
async initLoanInfo(loanNo) {
const res = await this.$$get('/detail/customer/' + loanNo);
const {success, result} = res.data;
if (success && result != null) {
this.loan = result;
this.handleTabClick({
name: "ApplyInfo",
label: "申请信息"
});
}
},
/*日期*/
dateFormats: function (row, column) {
let date = row[column.property]
if (date === undefined) return '';
return moment(date).format("YYYY-MM-DD")
},
handleClose() {
this.$emit("handleClose");
},
// 切换选项卡
handleTabClick(tab) {
this.activeComponents = tab.name;
this.visible = true;
this.dTitle = tab.label;
this.items = {
...this.loan,
...this.params
};
}
}
}
</script>
<style scoped lang="less">
.page, .loan-detail {
height: 100%;
overflow: auto;
}
.page{
padding-right: 0;
}
.loan-detail {
display: flex;
position: relative;
.loan-tabs {
position: sticky;
top: 0;
right: 0;
width: 100px;
}
.loan-detail-content {
width: calc(100% - 100px);
box-sizing: border-box;
padding-left: 20px;
}
}
</style>
<template> <template>
<el-dialog
width="70%"
class="client-data-dialog"
:title="title"
:visible.sync="dialogVisible"
:before-close="handleClose">
<div class="page-dialog"> <div class="page-dialog">
<block-header title="借款信息"></block-header> <block-header title="借款记录"></block-header>
<div class="block-box">
<el-table <el-table
border border
size="mini" size="mini"
...@@ -18,37 +12,49 @@ ...@@ -18,37 +12,49 @@
<el-table-column align="center" prop="gmtCreated" label="申请日期" :formatter="dateFormats"></el-table-column> <el-table-column align="center" prop="gmtCreated" label="申请日期" :formatter="dateFormats"></el-table-column>
<el-table-column align="center" prop="startDate" label="放款日期" :formatter="dateFormats"></el-table-column> <el-table-column align="center" prop="startDate" label="放款日期" :formatter="dateFormats"></el-table-column>
<el-table-column align="center" prop="raiseAmt" label="放款本金"></el-table-column> <el-table-column align="center" prop="raiseAmt" label="放款本金"></el-table-column>
<el-table-column align="center" prop="capitalCode" label="放款资方" :formatter="capitalCodeFormat"></el-table-column> <el-table-column align="center" prop="capitalCode" label="放款资方"
<el-table-column align="center" prop="status" label="借款单状态" :formatter="loanStatusFormat"></el-table-column> :formatter="capitalCodeFormat"></el-table-column>
<el-table-column align="center" prop="status" label="借款单状态">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.status==='AUDITED'" size="small">{{loanStatusFormat(scope.row)}}</el-tag>
<el-tag v-else-if="scope.row.status==='SETTLED'" size="small">{{loanStatusFormat(scope.row)}}</el-tag>
<el-tag type="danger" v-else-if="scope.row.status==='OVERDUED'" size="small">{{loanStatusFormat(scope.row)}}</el-tag>
<el-tag type="warning" v-else-if="scope.row.status==='SUBMITED'" size="small">{{loanStatusFormat(scope.row)}}</el-tag>
<el-tag effect="warning" v-else-if="scope.row.status==='BACKING'" size="small">{{loanStatusFormat(scope.row)}}</el-tag>
<el-tag type="info" v-else size="small">{{loanStatusFormat(scope.row)}}</el-tag>
</template>
</el-table-column>
<el-table-column align="center" prop="cancelMemo" label="备注"></el-table-column> <el-table-column align="center" prop="cancelMemo" label="备注"></el-table-column>
<el-table-column align="center" label="查看详情"> <el-table-column align="center" label="查看详情">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="addLoanDetail(scope.row.loanNo)">详情</el-button> <el-button type="text" size="small" @click="handleClick(scope.row)">详情</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
</el-dialog>
<!--借款详情-->
<template v-if="visible">
<loan-detail
@handleClose="visible=false"
:title="title"
:params="items"
:dialogVisible="visible"/>
</template>
</div>
</template> </template>
<script> <script>
import BlockHeader from "@/components/byh/componments/blockHeader"; import LoanDetail from "./LoanDetail";
import * as moment from "moment"; import * as moment from "moment";
export default { export default {
name: 'AddUserServiceDialog', name: 'AddUserServiceDialog',
components: { components: {
BlockHeader LoanDetail
}, },
props: { props: {
dialogVisible: {
type: Boolean,
required: true,
},
title: {
type: String,
required: true,
},
params: { params: {
type: Object, type: Object,
required: true required: true
...@@ -56,6 +62,12 @@ export default { ...@@ -56,6 +62,12 @@ export default {
}, },
data() { data() {
return { return {
visible: false,
activeComponents: "BaseInfo",
title: "基本信息",
items: {},
data: [] data: []
} }
}, },
...@@ -71,65 +83,31 @@ export default { ...@@ -71,65 +83,31 @@ export default {
headerStyle() { headerStyle() {
return "tableHeaderStyle"; return "tableHeaderStyle";
}, },
capitalCodeFormat: function (row, column) {
let capitalCode = row['capitalCode'];
return this.$enumUtils.toMsg('CapitalEnums', capitalCode);
},
/*日期*/ /*日期*/
dateFormats: function (row, column) { dateFormats: function (row, column) {
let date = row[column.property] let date = row[column.property]
if (date === undefined) { if (date === undefined) return '';
return ''
}
return moment(date).format("YYYY-MM-DD") return moment(date).format("YYYY-MM-DD")
}, },
handleClose() { //借款单状态
this.$emit("handleClose"); loanStatusFormat: function (row) {
let status = row['status'];
return this.$enumUtils.toMsg('LoanStatuEnums', status);
}, },
//根据借款信息查借款所有信息 capitalCodeFormat: function (row, column) {
addLoanDetail(record) { let capitalCode = row['capitalCode'];
this.isNeedAudit = true; return this.$enumUtils.toMsg('CapitalEnums', capitalCode);
this.$$get('/detail/customer/' + record).then(res => {
if (res.data.code != 200) {
// this.isShow = false;
this.$message.error(res.data.message);
return
} else {
//打开借款的面板
this.activeNames = ['1', '2', '3', '4', '5', '8'];
//还款计划
if (res.data.result.planVo == null) {
this.loanApplyList = [];
this.isNeedAudit = false;
} else {
this.loanApplyList = res.data.result.planVo ? res.data.result.planVo : '';
this.advanceLoanAmt.loanNo = res.data.result.applyVo.loanNo;
this.advanceLoanAmt.bizType = res.data.result.applyVo.bizType;
this.advanceLoanAmt.clientNo = res.data.result.applyVo.clientNo;
this.clientNos = res.data.result.applyVo.clientNo;
this.loanNos = res.data.result.applyVo.loanNo;
}
//借款信息
if (res.data.result.loanVo == null) {
this.loanVo = [];
} else {
this.loanVo = res.data.result.loanVo ? res.data.result.loanVo : '';
}
//借款信息放款信息
this.loanModel = res.data.result.applyVo ? res.data.result.applyVo : '';
//还款信息
this.loanBackedData(res.data.result.applyVo.loanNo);
//合同列表
this.contractData(res.data.result.applyVo.loanNo);
}
//操作信息
this.clientDailyInfo(res.data.result.applyVo.clientNo);
}).catch(error => {
this.$message.error(error || '网络异常,请稍后。。。');
});
}, },
// 切换选项卡
handleClick(row) {
console.log(row,'一行信息');
this.visible = true;
this.title = '借款详情';
this.items = {
...this.params,
...row
};
}
} }
} }
</script> </script>
......
<template> <template>
<el-dialog class="client-data-dialog" title="创建转账还款单" width="40%" :visible.sync="visible" :before-close="handleClose"> <el-dialog
:append-to-body="true"
class="client-data-dialog"
title="创建转账还款单"
width="40%"
:visible.sync="visible"
:before-close="handleClose">
<div style="margin-left:50px"> <div class="b-table">
<el-row :gutter="20"> <table class="table">
<el-col :span="8"> <tr>
<div class="grid-content bg-purple">还款计划:{{ this.ruleForm.planNo }}</div> <td>还款计划:</td>
</el-col> <td>{{ ruleForm.planNo }}</td>
<el-col :span="8"> <td>期数:</td>
<div class="grid-content bg-purple">期数:{{ this.ruleForm.periodNo }}</div> <td>{{ ruleForm.periodNo }}</td>
</el-col> <td>应还总金额:</td>
<el-col :span="8"> <td>{{ ruleForm.planAmt }}</td>
<div class="grid-content bg-purple">应还总金额:{{ this.ruleForm.planAmt }}</div> </tr>
</el-col> <tr>
</el-row> <td>本金:</td>
<br/> <td>{{ ruleForm.planBen }}</td>
<el-row :gutter="20" :center="true"> <td>服务费:</td>
<el-col :span="8"> <td>{{ ruleForm.planFu }}</td>
<div class="grid-content bg-purple">本金:{{ this.ruleForm.planBen }}</div> <td>利息:</td>
</el-col> <td>{{ ruleForm.planXi }}</td>
<el-col :span="8"> </tr>
<div class="grid-content bg-purple">服务费:{{ this.ruleForm.planFu }}</div> <tr>
</el-col> <td>手续费:</td>
<el-col :span="8"> <td colspan="5">{{ ruleForm.accountAmt }}</td>
<div class="grid-content bg-purple">利息:{{ this.ruleForm.planXi }}</div> </tr>
</el-col> </table>
</el-row>
<br/>
<el-row :gutter="20" :center="true">
<el-col :span="8">
<div class="grid-content bg-purple">手续费:{{ this.ruleForm.accountAmt }}</div>
</el-col>
</el-row>
</div> </div>
<br/>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px" class="demo-ruleForm"> <el-form
size="small"
label-suffix=":"
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="140px" class="demo-ruleForm">
<el-form-item label="还款银行账号" prop="bankAccount"> <el-form-item label="还款银行账号" prop="bankAccount">
<el-col :span="20"> <el-col :span="20">
<el-input v-model="ruleForm.bankAccount" placeholder="请输入还款银行账号"></el-input> <el-input v-model="ruleForm.bankAccount" placeholder="请输入还款银行账号"></el-input>
...@@ -70,8 +74,8 @@ ...@@ -70,8 +74,8 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer"> <div slot="footer">
<el-button @click="handleClose">取 消</el-button> <el-button size="small" @click="handleClose">取 消</el-button>
<el-button type="primary" @click="backedTransfer('ruleForm')">确 定</el-button> <el-button size="small" type="primary" @click="backedTransfer('ruleForm')">确 定</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -187,6 +191,7 @@ export default { ...@@ -187,6 +191,7 @@ export default {
} }
this.$message({message: '操作成功', type: 'success'}); this.$message({message: '操作成功', type: 'success'});
this.handleClose(); this.handleClose();
this.$emit('callback')
}) })
.catch(err => { .catch(err => {
alert("error!") alert("error!")
......
<template> <template>
<el-dialog
width="70%"
class="client-data-dialog"
:title="title"
:visible.sync="dialogVisible"
:before-close="handleClose">
<div class="page-dialog"> <div class="page-dialog">
<div class="tables"> <div class="tables">
<block-header :title="title"></block-header> <block-header :title="title"></block-header>
...@@ -18,8 +11,8 @@ ...@@ -18,8 +11,8 @@
stripe stripe
style="width: 100%;"> style="width: 100%;">
<el-table-column align="center" prop="typeStr" label="操作类型"></el-table-column> <el-table-column align="center" prop="typeStr" label="操作类型"></el-table-column>
<el-table-column align="center" prop="gmtCreated" label="操作时间" :formatter="dateFormat"></el-table-column>
<el-table-column align="center" prop="memo" label="备注"></el-table-column> <el-table-column align="center" prop="memo" label="备注"></el-table-column>
<el-table-column align="center" prop="gmtCreated" label="操作时间" :formatter="dateFormat"></el-table-column>
</el-table> </el-table>
</div> </div>
<div class="pages"> <div class="pages">
...@@ -35,7 +28,6 @@ ...@@ -35,7 +28,6 @@
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
</el-dialog>
</template> </template>
<script> <script>
......
<template> <template>
<el-dialog title="绑卡记录" :visible.sync="dialogVisible" width="50%" :before-close="handleClose"> <el-dialog
:title="title"
:visible.sync="dialogVisible"
width="50%"
:before-close="handleClose">
<div class="page">
<div > <block-header :title="title"/>
<el-table :data="records" stripe style="width: 100%;"> <div class="b-table">
<el-table-column prop="gmtCreated" label="签约时间" :formatter="dateFormat" ></el-table-column> <el-table
<el-table-column prop="operaterDesc" label="备注" ></el-table-column> size="small"
border
:data="records"
stripe
style="width: 100%;">
<el-table-column align="center" prop="gmtCreated" label="签约时间" :formatter="dateFormat"></el-table-column>
<el-table-column align="center" prop="operaterDesc" label="备注"></el-table-column>
</el-table> </el-table>
</div> </div>
</div>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import * as moment from "moment";
export default { export default {
name: "ByhContactDialog", name: "BindBankRecords",
props: { props: {
dialogVisible: {
type: Boolean
},
cardLogList: { cardLogList: {
type: Array type: Array
}, },
dialogVisible: {
type: Boolean,
required: true,
},
title: {
type: String,
required: true,
},
params: {
type: Object,
required: true
}, },
data () { },
data() {
return { return {
records:[], records: [],
} }
}, },
created() { created() {
this.records = this.reverse(this.cardLogList); if (this.params) {
const {cardLogList} = this.params;
this.records = cardLogList.length ? this.reverse(cardLogList) : [];
}
}, },
methods: { methods: {
handleClose() {
/** 关闭处理 */ this.$emit('handleClose')
handleClose () {
this.visible = false
setTimeout(() => {
this.$emit('update:dialogVisible', false)
}, 100)
},
/*日期*/
dateFormat: function (row, column) {
var date = row[column.property]
if (date == undefined) {
return ''
}
return moment(date).format("YYYY-MM-DD HH:mm:ss")
}, },
reverse(array){ reverse(array) {
var newArr = []; const newArr = [];
for(var i=array.length-1;i>=0;i--){ for (let i = array.length - 1; i >= 0; i--) {
newArr[newArr.length] = array[i]; newArr[newArr.length] = array[i];
} }
return newArr; return newArr;
},
submitMarket() {
},
},
mounted: function () {
this.submitMarket();
},
} }
}
}
</script> </script>
<style scoped lang="stylus" rel="stylesheet/stylus">
</style>
\ No newline at end of file
<template> <template>
<el-dialog class="client-data-dialog" title="创建代扣提前结清" width="40%" :visible.sync="visible" <el-dialog
:append-to-body="true"
class="client-data-dialog"
title="创建代扣提前结清"
width="40%"
:visible.sync="visible"
:before-close="handleClose"> :before-close="handleClose">
<div style="margin-left:50px"> <div style="margin-left:50px">
<el-row :gutter="20"> <el-row :gutter="20">
...@@ -198,9 +203,8 @@ export default { ...@@ -198,9 +203,8 @@ export default {
} }
this.$message({message: '操作成功', type: 'success'}); this.$message({message: '操作成功', type: 'success'});
this.handleClose(); this.handleClose();
setTimeout(() => {
window.location.reload(); this.$emit('callback')
}, 1000);
}).catch(err => { }).catch(err => {
alert("error!") alert("error!")
}) })
......
<template> <template>
<el-dialog class="client-data-dialog" title="创建当期代扣" width="40%" :visible.sync="visible" :before-close="handleClose"> <el-dialog
:append-to-body="true"
<div style="margin-left:50px"> class="client-data-dialog"
<el-row :gutter="20"> title="创建当期代扣"
<el-col :span="8"> width="40%"
<div class="grid-content bg-purple">期数:第{{ this.ruleForm.periodNo }}</div> :visible.sync="visible"
</el-col> :before-close="handleClose">
<el-col :span="8">
<div class="grid-content bg-purple">计划还款金额:{{ this.ruleForm.planAmt }}</div>
</el-col> <el-form
</el-row> :model="ruleForm"
<br/> label-suffix=":" size="small"
</div> :rules="rules" ref="ruleForm"
<br/> label-width="140px"
class="demo-ruleForm">
<el-form-item label="期数">
<span>{{ ruleForm.periodNo }}</span>
</el-form-item>
<el-form-item label="计划还款金额">
<span>{{ ruleForm.planAmt }}</span>
</el-form-item>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px" class="demo-ruleForm">
<el-form-item label="扣款金额" prop="backedAmt"> <el-form-item label="扣款金额" prop="backedAmt">
<el-col :span="20">
<el-input v-model="ruleForm.remainAmt" placeholder="请输入转账金额" disabled></el-input> <el-input v-model="ruleForm.remainAmt" placeholder="请输入转账金额" disabled></el-input>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="选择银行卡" prop="bankAccount"> <el-form-item label="选择银行卡" prop="bankAccount">
<el-select clearable v-model="ruleForm.bankAccount" class="select-bank-card"> <el-select clearable v-model="ruleForm.bankAccount" class="select-bank-card">
<el-option v-for="item in this.cardList" :key="item.value" <el-option
:label="item.label" :value="item.value"></el-option> v-for="item in this.cardList"
:key="item.value"
:label="item.label"
:value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer"> <div slot="footer">
<el-button @click="handleClose">取 消</el-button> <el-button size="small" @click="handleClose">取 消</el-button>
<el-button type="primary" @click="protocolOne('ruleForm')">确 定</el-button> <el-button size="small" type="primary" @click="protocolOne('ruleForm')">确 定</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -124,25 +131,25 @@ export default { ...@@ -124,25 +131,25 @@ export default {
/** 提交点击 */ /** 提交点击 */
protocolOne() { protocolOne() {
this.$refs['ruleForm'].validate((valid) => { this.$refs['ruleForm'].validate((valid) => {
if (!valid) { if (valid) {
return false
}
this.$$post(`/back/createBackedSettle`, this.buildParam()).then(res => { this.$$post(`/back/createBackedSettle`, this.buildParam()).then(res => {
if (res.data.code != 200) { if (res.data.code != 200) {
this.$message.error(res.data.message); this.$message.error(res.data.message);
return return
} }
this.$message({message: '操作成功', type: 'success'});
this.handleClose(); this.handleClose();
setTimeout(() => { this.$message({message: '操作成功', type: 'success'});
window.location.reload(); this.$emit('callback')
}, 1000);
}).catch(err => { }).catch(err => {
alert("error!") alert("error!")
}) })
}
}) })
}, },
refresh(){
},
//参数 //参数
buildParam() { buildParam() {
return { return {
......
<template> <template>
<el-dialog <div class="page-com">
width="70%"
class="client-data-dialog"
:title="title"
:visible.sync="dialogVisible"
:before-close="handleClose">
<div class="page-dialog">
<div class="tables"> <div class="tables">
<block-header :title="title"></block-header> <block-header :title="title"></block-header>
<el-table <el-table
...@@ -51,9 +44,6 @@ ...@@ -51,9 +44,6 @@
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
</el-dialog>
</template> </template>
<script> <script>
...@@ -66,10 +56,6 @@ export default { ...@@ -66,10 +56,6 @@ export default {
BlockHeader BlockHeader
}, },
props: { props: {
dialogVisible: {
type: Boolean,
required: true,
},
title: { title: {
type: String, type: String,
required: true, required: true,
...@@ -101,11 +87,13 @@ export default { ...@@ -101,11 +87,13 @@ export default {
} }
}, },
async created() { async created() {
if(this.params){
const params = this.params; const params = this.params;
console.log(params,'哈哈') console.log(params,'哈哈3')
this.form.bizNo = params.firstLoanNo; this.form.bizNo = params.loanNo;
//this.form.result = params.phoneNo;
await this.init() await this.init()
}
}, },
methods: { methods: {
headerStyle() { headerStyle() {
......
<template> <template>
<el-dialog
width="70%"
class="client-data-dialog"
:title="title"
:visible.sync="dialogVisible"
:before-close="handleClose">
<div class="page-dialog"> <div class="page-dialog">
<block-header :title="title"></block-header> <block-header :title="title"></block-header>
<el-table <el-table
...@@ -23,19 +16,12 @@ ...@@ -23,19 +16,12 @@
<el-table-column align="center" prop="memo" label="备注"></el-table-column> <el-table-column align="center" prop="memo" label="备注"></el-table-column>
</el-table> </el-table>
</div> </div>
</el-dialog>
</template> </template>
<script> <script>
import BlockHeader from "@/components/byh/componments/blockHeader";
import * as moment from "moment"; import * as moment from "moment";
export default { export default {
name: 'RiskInfo', name: 'RiskInfo',
components: {
BlockHeader
},
props: { props: {
dialogVisible: { dialogVisible: {
type: Boolean, type: Boolean,
......
<template> <template>
<el-dialog
width="70%"
class="client-data-dialog"
:title="title"
:visible.sync="dialogVisible"
:before-close="handleClose">
<div class="page-dialog"> <div class="page-dialog">
<div class="tables"> <div class="tables">
<block-header :title="title"></block-header> <block-header :title="title"></block-header>
...@@ -44,8 +37,6 @@ ...@@ -44,8 +37,6 @@
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
</el-dialog>
</template> </template>
<script> <script>
......
<template>
<el-dialog
:title="title"
size="30%"
:visible.sync="dialogVisible"
:before-close="handleClose">
<div class="page">
<el-form
style="max-width: 400px;"
size="small"
ref="pubForm"
label-position="right"
label-width="140px"
label-suffix=":"
:rules="rules"
:model="form"
class="search-form">
<el-form-item prop="awardInterval" label="奖励间隔">
<el-input v-model="form.awardInterval"></el-input>
</el-form-item>
<el-form-item prop="dayMaxPoint" label="单日最大奖励值">
<el-input v-model="form.dayMaxPoint"></el-input>
</el-form-item>
<el-form-item prop="dayMaxTimes" label="单日最大奖励次数">
<el-input v-model="form.dayMaxTimes"></el-input>
</el-form-item>
<template v-if="form.limitId">
<el-form-item prop="status" label="状态">
<el-switch active-value="ENABLED" inactive-value="UNENABLED" v-model="form.status"></el-switch>
</el-form-item>
</template>
<el-form-item label="描述">
<el-input type="textarea" :rows="3" v-model="form.memo"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="handleClose">取 消</el-button>
<el-button type="primary" @click="onSubmit('pubForm')">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
import API from "@/api/delivery";
import BlockHeader from "@/components/block-header";
export default {
name: "CardNew",
components: {
BlockHeader
},
props: {
title: {
type: String,
required: true
},
items: {
type: Object,
required: false
},
dialogVisible: {
type: Boolean,
required: true
}
},
data() {
return {
item: null,
detail: {},
rules: {
awardInterval: [
{ required: true, message: "请输入奖励间隔", trigger: "blur" },
{
validator: (rule, value, callback) => {
const reg = /^\d+$/;
if (!reg.test(value)) {
callback(new Error("请输入数字"));
} else {
callback();
}
},
trigger: "blur"
}
],
dayMaxPoint: [
{ required: true, message: "请输入单日最大奖励值", trigger: "blur" },
{
validator: (rule, value, callback) => {
const reg = /^\d+$/;
if (!reg.test(value)) {
callback(new Error("请输入数字"));
} else {
callback();
}
},
trigger: "blur"
}
],
dayMaxTimes: [
{ required: true, message: "请输入单日最大奖励次数", trigger: "blur" },
{
validator: (rule, value, callback) => {
const reg = /^\d+$/;
if (!reg.test(value)) {
callback(new Error("请输入数字"));
} else {
callback();
}
},
trigger: "blur"
}
],
status: [
{ required: true, message: "请选择状态", trigger: "blur" }
]
},
form: {
awardType: "TaiPoint",
awardInterval: "",
dayMaxPoint: "",
dayMaxTimes: "",
memo: "",
status: ""
}
};
},
async mounted() {
if (this.items) {
const items = this.items;
this.form = items;
this.form.limitId = items.id;
}
},
methods: {
headerStyle() {
return "tableHeaderStyle";
},
handleClose() {
this.$emit("handleClose");
},
async onSubmit(formName) {
this.$refs[formName].validate(async (valid) => {
if (valid) {
let result;
if (this.items) {
result = await API.editDeliveryAwardLimit({
...this.form
});
} else {
result = await API.addDeliveryAwardLimit({
...this.form
});
}
if (result.status === 200) {
this.$message.success("保存成功");
this.handleClose();
this.$emit("callback");
}
}
});
}
}
};
</script>
...@@ -176,7 +176,7 @@ export default { ...@@ -176,7 +176,7 @@ export default {
}, },
mounted: function () { mounted: function () {
this.readDetail(this.ruleForm.planNo); this.readDetail(this.ruleForm.planNo);
}, }
} }
</script> </script>
......
...@@ -124,7 +124,7 @@ export default { ...@@ -124,7 +124,7 @@ export default {
font-weight: normal; font-weight: normal;
/*background url('./imgs/img-logo.png') 0 center no-repeat;*/ /*background url('./imgs/img-logo.png') 0 center no-repeat;*/
background-size 40px 40px; background-size 40px 40px;
padding 0 0 0 50px; padding 0 0 0 40px;
margin 0 20px 0 0 margin 0 20px 0 0
} }
......
...@@ -220,7 +220,7 @@ export default { ...@@ -220,7 +220,7 @@ export default {
} }
</script> </script>
<style lang="stylus" rel="stylesheet/stylus"> <style lang="stylus" scoped rel="stylesheet/stylus">
#login { #login {
width 100% width 100%
height 100% height 100%
......
<template> <template>
<div id="system-registration"> <div class="page">
<br> <block-header title="搜索"/>
<div class="page-search">
<div class="top"> <el-form :inline="true" size="small" label-suffix=":" :model="queryModel">
<el-form :inline="true" :model="queryModel"> <el-form-item prop="search" label="登陆名">
<el-input class="search-input" placeholder="请输入用户查询条件(登陆名)" icon="search" v-model="search"></el-input> <el-input placeholder="请输入用户查询条件(登陆名)" icon="search" v-model="search"></el-input>
<div class="btn"> </el-form-item>
<el-form-item>
<el-button @click="querySearchUser" type="primary">查询</el-button> <el-button @click="querySearchUser" type="primary">查询</el-button>
<el-button @click="addUser" type="primary"><i <el-button @click="addUser" icon="el-icon-plus" type="primary">新增用户</el-button>
class="el-icon-plus"></i>新增用户 </el-form-item>
</el-button>
</div>
</el-form> </el-form>
</div> </div>
<!--用户信息列表--> <!--用户信息列表-->
<div> <block-header title="用户列表"/>
<div class="system-list"> <div class="b-table">
<el-table :data="records" stripe style="width: 100%"> <el-table :data="records" size="small" border stripe style="width: 100%">
<el-table-column type="index" width="60"></el-table-column> <el-table-column align="center" type="index" label="序号" width="60"></el-table-column>
<el-table-column prop="loginName" sortable label="登录用户"></el-table-column> <el-table-column prop="loginName" sortable label="登录用户"></el-table-column>
<el-table-column prop="userCell" sortable label="手机号码"></el-table-column> <el-table-column prop="userCell" sortable label="手机号码"></el-table-column>
<el-table-column prop="userName" sortable label="用户姓名"></el-table-column> <el-table-column prop="userName" sortable label="用户姓名"></el-table-column>
<el-table-column prop="lastLogin" :formatter="dateFormat" sortable label="最近登陆时间"></el-table-column> <el-table-column prop="lastLogin" :formatter="dateFormat" sortable label="最近登陆时间"></el-table-column>
<el-table-column prop="status" sortable label="状态" :formatter="statusFormat"></el-table-column> <el-table-column align="center" prop="status" label="状态" :formatter="statusFormat"></el-table-column>
<el-table-column prop="memo" sortable label="备注信息"></el-table-column> <el-table-column prop="memo" sortable label="备注信息"></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -39,8 +39,10 @@ ...@@ -39,8 +39,10 @@
</el-table> </el-table>
</div> </div>
<div class="page"> <!--分页-->
<div class="b-pagination">
<el-pagination <el-pagination
background
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page.sync="page.current" :current-page.sync="page.current"
:page-size="page.size" :page-size="page.size"
...@@ -49,7 +51,6 @@ ...@@ -49,7 +51,6 @@
</el-pagination> </el-pagination>
</div> </div>
</div>
<!--窗口组件--> <!--窗口组件-->
<template> <template>
...@@ -217,19 +218,6 @@ export default { ...@@ -217,19 +218,6 @@ export default {
handleCurrentChange() { handleCurrentChange() {
this.loadSearchData(); this.loadSearchData();
}, },
statusFormat: function (row, column) {
var status = row['status'];
return this.$enumUtils.toMsg('UserStatusEnum', status);
},
dateFormat: function (row, column) {
var date = row[column.property];
if (date === undefined) {
return "";
}
return moment(date).format("YYYY-MM-DD HH:mm:ss");
}
} }
} }
...@@ -241,13 +229,5 @@ export default { ...@@ -241,13 +229,5 @@ export default {
width 30% width 30%
} }
.search-input {
width 55%
float left
}
.btn {
float right
}
</style> </style>
...@@ -21,6 +21,9 @@ export default { ...@@ -21,6 +21,9 @@ export default {
size: res.size, size: res.size,
total: res.total total: res.total
} }
},
onReset(formName){
this.$refs[formName].resetFields();
} }
} }
} }
import BlockHeader from "@/components/byh/componments/blockHeader";
export default {
components: {
BlockHeader
}
}
import error from './error' import error from './error'
import clone from './clone' import clone from './clone'
import components from './components'
import methods from './methods'
export default { export default {
mixins: [ mixins: [
components,
methods,
error, error,
clone clone
] ]
......
import * as moment from "moment";
export default {
methods: {
onReset(formName) {
this.$refs[formName].resetFields();
},
// 格式化状态
statusFormat: function (row, column) {
const status = row['status'];
return this.$enumUtils.toMsg('UserStatusEnum', status);
},
// 格式化时间
dateFormat: function (row, column) {
const date = row[column.property];
if (date === undefined) return "";
return moment(date).format("YYYY-MM-DD HH:mm:ss");
}
}
}
.page{
box-sizing: border-box;
padding: 20px;
}
// 为table 添加标头 // 为table 添加标头
.tableHeaderStyle { .tableHeaderStyle {
background: #FAFBFC !important; background: #FAFBFC !important;
...@@ -8,3 +12,81 @@ ...@@ -8,3 +12,81 @@
color: #666; color: #666;
} }
} }
.el-table__header{
th {
background: #FAFBFC !important;
padding: 8px 0 !important;
color: #666;
}
}
//
.block-box {
margin-bottom: 15px;
}
// 表格样式
.table {
width: 100%;
color: #666;
border-collapse: collapse;
background-color: #fff;
td {
position: relative;
padding: 9px 15px;
overflow: hidden;
font-size: 14px;
line-height: 20px;
text-overflow: ellipsis;
white-space: nowrap;
border: 1px solid #e6e6e6;
&:nth-child(odd) {
width: 15%;
text-align: right;
background-color: #f7f7f7;
}
}
}
.el-menu-trigger {
display: none !important;
}
// 分页
.b-table{
margin-bottom: 16px;
}
.b-pagination{
display: flex;
align-items: center;
justify-content: center;
}
.el-drawer__header,.el-dialog__header{
position: relative;
&::before{
position: absolute;
left: 0;
top:60px;
width:100%;
height: 1px;
background: #f7f8fa;
content: "";
}
}
.el-dialog__title{
font-size: 14px;
}
.el-drawer__body{
overflow: hidden;
}
.page-com{
margin-right: 20px;
}
...@@ -25,7 +25,8 @@ const enumUtils = { ...@@ -25,7 +25,8 @@ const enumUtils = {
}; };
/** 借款类型*/ /** 借款类型*/
enumOpts[1] = { enumOpts[1] = {
enumName: 'LoanTypeEnum', values: [ enumName: 'LoanTypeEnum',
values: [
{code: 'NEW', message: '新增'}, {code: 'NEW', message: '新增'},
{code: 'CONTINUE', message: '续贷'}, {code: 'CONTINUE', message: '续贷'},
{code: 'EXTENSION', message: '展期'}, {code: 'EXTENSION', message: '展期'},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment