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,
......
...@@ -2,129 +2,30 @@ ...@@ -2,129 +2,30 @@
<div class="page-user-detail"> <div class="page-user-detail">
<el-page-header style="margin-bottom: 20px" @back="goBack" content="客户详情"/> <el-page-header style="margin-bottom: 20px" @back="goBack" content="客户详情"/>
<!--操作按钮--> <!--选项卡-->
<div class="block-box"> <div class="box">
<el-button-group> <el-tabs v-model="activeComponents" type="card" @tab-click="handleTabClick">
<el-button size="mini" type="primary" @click="handleClick('AddQuestion','新增反馈记录')">新增反馈记录</el-button> <el-tab-pane name="BaseInfo" label="基本信息"></el-tab-pane>
<el-button size="mini" type="primary" @click="handleClick('LoanInfo','借款信息')">借款信息</el-button> <el-tab-pane name="LoanInfo" label="借款信息"></el-tab-pane>
<el-button size="mini" type="primary" @click="handleClick('ApplyInfo','申请信息')">申请信息</el-button> <el-tab-pane name="FeedList" label="反馈记录"></el-tab-pane>
<el-button size="mini" v-if="$permissionUtils.rolePermission('customBoss')" type="primary" <el-tab-pane name="UrgeList" label="催收记录"></el-tab-pane>
@click="handleClick('ContractList','合同列表')">借款合同 <el-tab-pane name="OperateLog" label="操作日志"></el-tab-pane>
</el-button> <el-tab-pane name="RiskInfo" label="风险等级"></el-tab-pane>
<el-button size="mini" type="primary" @click="handleClick('BillList','账单详情')">账单详情</el-button> </el-tabs>
<el-button size="mini" type="primary" @click="handleClick('RePayList','还款情况')">还款情况</el-button> <div class="box-right">
<el-button size="mini" type="primary" @click="handleClick('FeedList','反馈记录')">反馈记录</el-button> <el-button size="mini" v-if="activeComponents==='FeedList'" @click="handleTabClick({name:'addQuestion',label:'意见反馈'})" type="primary">新增反馈记录</el-button>
<el-button size="mini" type="primary" @click="handleClick('UrgeList','催收记录')">催收记录</el-button>
<el-button size="mini" type="primary" @click="handleClick('OperateLog','操作日志')">操作日志</el-button>
<el-button size="mini" type="primary" @click="handleClick('RiskInfo','风险等级')">风险等级</el-button>
</el-button-group>
</div> </div>
<block-header title="基本信息"/>
<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)">绑卡记录</el-button>
</template>
</el-table-column>
</el-table>
</div> </div>
<!--窗口组件--> <!--窗口组件-->
<template> <template>
<!--新增窗口--> <!--新增窗口-->
<addQuestion <addQuestion
v-if="ui.addQuestion.visible" v-if="ui.addQuestion.visible"
:clientNo="ui.addQuestion.clientNo" :clientNo="ui.addQuestion.clientNo"
:dialogVisible.sync="ui.addQuestion.visible" :dialogVisible.sync="ui.addQuestion.visible">
>
</addQuestion> </addQuestion>
<!--线下提前结清-->
<advanceLoanAmt
v-if="ui.advanceLoanAmt.visible"
:loanNo="ui.advanceLoanAmt.loanNo"
:orderNo="ui.advanceLoanAmt.orderNo"
:dialogVisible.sync="ui.advanceLoanAmt.visible">
</advanceLoanAmt>
<!--代扣提前结清-->
<protocolSettled
v-if="ui.protocolSettled.visible"
:loanNo="ui.protocolSettled.loanNo"
:clientNo="ui.protocolSettled.clientNo"
:bizType="ui.protocolSettled.bizType"
:dialogVisible.sync="ui.protocolSettled.visible">
</protocolSettled>
<protocolSettledOne
v-if="ui.protocolSettledOne.visible"
:loanNo="ui.protocolSettledOne.loanNo"
:periodNo="ui.protocolSettledOne.periodNo"
:remainAmt="ui.protocolSettledOne.remainAmt"
:planAmt="ui.protocolSettledOne.planAmt"
:bizType="ui.protocolSettledOne.bizType"
:clientNo="ui.protocolSettledOne.clientNo"
:dialogVisible.sync="ui.protocolSettledOne.visible">
</protocolSettledOne>
<!--修改窗口--> <!--修改窗口-->
<updateQueDialog <updateQueDialog
v-if="ui.updateQueDialog.visible" v-if="ui.updateQueDialog.visible"
...@@ -137,44 +38,6 @@ ...@@ -137,44 +38,6 @@
:dialogVisible.sync="ui.updateQueDialog.visible"> :dialogVisible.sync="ui.updateQueDialog.visible">
</updateQueDialog> </updateQueDialog>
<!-- 详情组件 -->
<readDetail
v-if="ui.readDetail.visible"
:planNo="ui.readDetail.planNo"
:planIndex="ui.readDetail.planIndex"
:planAmt="ui.readDetail.planAmt"
:backedBen="ui.readDetail.backedBen"
:backedFu="ui.readDetail.backedFu"
:planXi="ui.readDetail.planXi"
:planFu="ui.readDetail.planFu"
:planBen="ui.readDetail.planBen"
:backedXi="ui.readDetail.backedXi"
:loanLimit="ui.readDetail.loanLimit"
:dialogVisible.sync="ui.readDetail.visible">
</readDetail>
<!-- 线下转账 -->
<offineTransfer
v-if="ui.offineTransfer.visible"
:orderNo="ui.offineTransfer.orderNo"
:loanNo="ui.offineTransfer.loanNo"
:periodNo="ui.offineTransfer.periodNo"
:planNo="ui.offineTransfer.planNo"
:planAmt="ui.offineTransfer.planAmt"
:planFu="ui.offineTransfer.planFu"
:planBen="ui.offineTransfer.planBen"
:planXi="ui.offineTransfer.planXi"
:remainAmt="ui.offineTransfer.remainAmt"
:accountAmt="ui.offineTransfer.accountAmt"
:dialogVisible.sync="ui.offineTransfer.visible">
</offineTransfer>
<!-- 绑卡记录 -->
<ownerBankBind
v-if="ui.ownerBankBind.visible"
:cardLogList="ui.ownerBankBind.cardLogList"
:dialogVisible.sync="ui.ownerBankBind.visible">
</ownerBankBind>
</template> </template>
<!-- 弹框组件--> <!-- 弹框组件-->
...@@ -192,164 +55,47 @@ ...@@ -192,164 +55,47 @@
<script> <script>
import * as moment from "moment"; import * as moment from "moment";
import AddQuestion from "./componments/AddQuestion";
import BaseInfo from "./componments/BaseInfo";
import LoanInfo from "./componments/LoanInfo"; import LoanInfo from "./componments/LoanInfo";
import ApplyInfo from "./componments/ApplyInfo";
import RiskInfo from "./componments/RiskInfo"; import RiskInfo from "./componments/RiskInfo";
import ContractList from "./componments/ContractList";
import FeedList from "./componments/FeedList"; import FeedList from "./componments/FeedList";
import UrgeList from "./componments/UrgeList"; import UrgeList from "./componments/UrgeList";
import OperateLog from "./componments/OperateLog"; import OperateLog from "./componments/OperateLog";
import RePayList from "./componments/RePayList";
import BillList from "./componments/BillList";
import advanceLoanAmt from "./componments/AdvanceLoanAmt"; import AddQuestion from "./componments/AddQuestion";
import protocolSettled from "./componments/ProtocolSettled";
import updateQueDialog from "./componments/UpdateQueDialog"; import updateQueDialog from "./componments/UpdateQueDialog";
import readDetail from "./componments/readDetail";
import offineTransfer from "./componments/offineTransfer";
import protocolSettledOne from "./componments/ProtocolSettledOne";
import ownerBankBind from "./componments/OwnerBankBind";
import clone from "../../mixins/clone";
import BlockHeader from "@/components/byh/componments/blockHeader";
export default { export default {
name: "ByhLoanBackedList", name: "ByhLoanBackedList",
components: { components: {
BlockHeader, BaseInfo,
AddQuestion,
LoanInfo, LoanInfo,
ApplyInfo,
RiskInfo, RiskInfo,
ContractList,
FeedList, FeedList,
UrgeList, UrgeList,
OperateLog, OperateLog,
RePayList,
BillList,
advanceLoanAmt, AddQuestion,
protocolSettled, updateQueDialog
protocolSettledOne,
updateQueDialog,
readDetail,
offineTransfer,
ownerBankBind,
}, },
data() { data() {
return { return {
visible: false, visible: false,
activeComponents: "", activeComponents: "BaseInfo",
title: "", title: "基本信息",
params: {}, params: {},
firstLoanNo: '', firstLoanNo: '',
loan:{}, loan: {},
query: {},
tableStatus: [{text: '成功', value: "SUCCESS"}, {text: '失败', value: "FAIL"}],
backValue: null, basicInfo: {},
flag: false, clientNos: "",
isShow: true, clientProducts: "",
isNeedAudit: true, clientCells: "",
activeNames: [],
page: {
current: 1,
size: 10,
total: 0
},
pages: {
current: 1,
size: 10,
total: 0
},
customerPage: {
current: 1,
size: 10,
total: 0
},
collectPage: {
current: 1,
size: 10,
total: 0
},
loanBackedList: [],
customerFeedList: [],
collectFeedList: [{
collectContact: '',
}],
loanLogCustom: [],
loanResultLists: [],
ownerBank: [{
bankAccount: '',
clientNo: '',
ownerName: '',
cardLogList: [],
}],
loanUserBasicList: [{
name: '',
idCard: '',
phone: '',
}],
basicInfo: [{
houseAddress: '',
firstName: '',
firstPhone: '',
clientNo: '',
name: '',
idCard: '',
phone: '',
}],
identifyInfo: [{
address: '',
issuedBy: '',
frontFile: '',
backFile: '',
natureFile: '',
}],
loanApplyList: [{
planNo: '',
planIndex: '',
planAmt: '',
backedBen: '',
backedFu: '',
planXi: '',
planFa: '',
planDate: '',
status: '',
}],
contractList: [{
contractName: '',
contractUrl: '',
}],
companyInfo: [{
companyName: '',
companyAddress: '',
}],
loanModel: [{
gmtCreated: '',
raiseDate: '',
bankAccount: '',
loanAmt: '',
serviceAmt: '',
rateAmt: '',
loanLife: '',
contractAmt: '',
cardBankAccount: '',
cardBankCodeStr: '',
status: '',
loanNo: '',
orderNo: '',
}],
loanVo: [{
alrAmt: '',
surAmt: ''
}],
formInline: {
clientCell: '',
},
ui: { ui: {
addQuestion: { addQuestion: {
clientNo: '', clientNo: '',
...@@ -426,21 +172,26 @@ export default { ...@@ -426,21 +172,26 @@ export default {
}, },
} }
}, },
created() { async created() {
this.clientNos = this.$route.query.clientNo; const {
this.clientProducts = this.$route.query.clientProductName; clientNo,
this.clientCells = this.$route.query.phoneNo; clientProductName,
phoneNo,
loanNo
} = this.$route.query;
this.query = this.$route.query
if (clientNo && clientProductName && phoneNo && loanNo) {
this.clientNos = clientNo;
this.clientProducts = clientProductName;
this.clientCells = phoneNo;
// 初始化客户信息 // 初始化客户信息
this.loanDetail(this.$route.query.phoneNo, this.$route.query.clientNo, this.$route.query.clientProductName); await this.initUserInfo(phoneNo, clientNo, clientProductName);
// 初始化借款信息 }
this.addLoanDetail(this.$route.query.loanNo);
}, },
methods: { methods: {
headerStyle() {
return "tableHeaderStyle";
},
// 反馈弹窗 // 反馈弹窗
addQuestion() { addQuestion() {
this.ui.addQuestion = { this.ui.addQuestion = {
...@@ -479,7 +230,6 @@ export default { ...@@ -479,7 +230,6 @@ export default {
accountAmt: record.accountAmt, accountAmt: record.accountAmt,
}; };
}, },
// 线下提前结清 // 线下提前结清
advanceLoanAmt() { advanceLoanAmt() {
this.ui.advanceLoanAmt = { this.ui.advanceLoanAmt = {
...@@ -488,7 +238,6 @@ export default { ...@@ -488,7 +238,6 @@ export default {
orderNo: this.loanModel.orderNo, orderNo: this.loanModel.orderNo,
}; };
}, },
//代扣提前结清 //代扣提前结清
protocolSettleAll() { protocolSettleAll() {
this.ui.protocolSettled = { this.ui.protocolSettled = {
...@@ -498,7 +247,6 @@ export default { ...@@ -498,7 +247,6 @@ export default {
clientNo: this.advanceLoanAmt.clientNo, clientNo: this.advanceLoanAmt.clientNo,
}; };
}, },
//代扣当期 //代扣当期
protocolOne(record) { protocolOne(record) {
this.ui.protocolSettledOne = { this.ui.protocolSettledOne = {
...@@ -528,8 +276,8 @@ export default { ...@@ -528,8 +276,8 @@ export default {
}) })
}, },
// 初始化详情 // 初始化用户详情
async loanDetail(phoneNo, clientNo, clientProductName) { async initUserInfo(phoneNo, clientNo, clientProductName) {
let urlStr = 'clientNo=' + clientNo + '&productName=' + clientProductName; let urlStr = 'clientNo=' + clientNo + '&productName=' + clientProductName;
// 个人信息 // 个人信息
const res = await this.$$get('/detail/clientDetailInfo?' + urlStr); const res = await this.$$get('/detail/clientDetailInfo?' + urlStr);
...@@ -538,11 +286,17 @@ export default { ...@@ -538,11 +286,17 @@ export default {
const {cardList} = result; const {cardList} = result;
this.basicInfo = result; this.basicInfo = result;
if (cardList) this.ownerBank = cardList; if (cardList) this.ownerBank = cardList;
// 手动点击第一个Tab
this.handleTabClick({
name: "BaseInfo",
label: "基础信息"
})
} }
}, },
//根据借款信息查借款所有信息 //根据借款信息查借款所有信息
async addLoanDetail(record) { async initLoanInfo(record) {
this.isNeedAudit = true; this.isNeedAudit = true;
const res = await this.$$get('/detail/customer/' + record); const res = await this.$$get('/detail/customer/' + record);
const {success, result} = res.data; const {success, result} = res.data;
...@@ -555,16 +309,13 @@ export default { ...@@ -555,16 +309,13 @@ export default {
if (res.data.result.planVo == null) { if (res.data.result.planVo == null) {
this.loanApplyList = []; this.loanApplyList = [];
this.isNeedAudit = false; this.isNeedAudit = false;
} } else {
else {
this.loanApplyList = res.data.result.planVo ? res.data.result.planVo : ''; this.loanApplyList = res.data.result.planVo ? res.data.result.planVo : '';
this.advanceLoanAmt.loanNo = res.data.result.applyVo.loanNo; this.advanceLoanAmt.loanNo = res.data.result.applyVo.loanNo;
this.advanceLoanAmt.bizType = res.data.result.applyVo.bizType; this.advanceLoanAmt.bizType = res.data.result.applyVo.bizType;
this.advanceLoanAmt.clientNo = res.data.result.applyVo.clientNo; this.advanceLoanAmt.clientNo = res.data.result.applyVo.clientNo;
this.clientNos = res.data.result.applyVo.clientNo; this.clientNos = res.data.result.applyVo.clientNo;
this.loanNos = res.data.result.applyVo.loanNo; this.loanNos = res.data.result.applyVo.loanNo;
console.log(this.loanNos,'沃日')
} }
//借款信息 //借款信息
...@@ -586,8 +337,9 @@ export default { ...@@ -586,8 +337,9 @@ export default {
visible: true, visible: true,
cardLogList: record.cardLogList, cardLogList: record.cardLogList,
}; };
}, },
// 修改用户的反馈问题 // 修改用户的反馈问题
updateQueDialog(record) { updateQueDialog(record) {
this.ui.updateQueDialog = { this.ui.updateQueDialog = {
...@@ -613,11 +365,7 @@ export default { ...@@ -613,11 +365,7 @@ export default {
return "" return ""
}, },
//借款单状态
loanStatusFormat: function (row, column) {
let status = row['status'];
return this.$enumUtils.toMsg('LoanStatuEnums', status);
},
capitalCodeFormat: function (row, column) { capitalCodeFormat: function (row, column) {
let capitalCode = row['capitalCode']; let capitalCode = row['capitalCode'];
...@@ -728,6 +476,7 @@ export default { ...@@ -728,6 +476,7 @@ export default {
planMoneyFormat: function (row, column) { planMoneyFormat: function (row, column) {
return this.accAdd(this.accAdd(this.accAdd(this.accAdd(this.accAdd(row.backedBen, row.backedFu), row.backedXi), row.backedFa), row.backedBurden), row.backedSpeaccount).toFixed(2) return this.accAdd(this.accAdd(this.accAdd(this.accAdd(this.accAdd(row.backedBen, row.backedFu), row.backedXi), row.backedFa), row.backedBurden), row.backedSpeaccount).toFixed(2)
}, },
// 银行信息拼接 // 银行信息拼接
cardBankFormat: function (row, column) { cardBankFormat: function (row, column) {
return row.cardBankAccount + "(" + row.cardBankName + ")"; return row.cardBankAccount + "(" + row.cardBankName + ")";
...@@ -760,18 +509,6 @@ export default { ...@@ -760,18 +509,6 @@ export default {
return this.$enumUtils.toMsg('FeedStatus', status); return this.$enumUtils.toMsg('FeedStatus', status);
}, },
/** 处理分页操作*/
handleCurrentChange() {
this.loanBackedList = this.loanBackedData(this.loanNos);
},
handleSizeChange(row) {
this.page.size = row
this.page.current = 1;
this.loanBackedData(this.loanNos);
},
//结果状态 //结果状态
resultFormat: function (row, column) { resultFormat: function (row, column) {
let result = row['result']; let result = row['result'];
...@@ -794,6 +531,21 @@ export default { ...@@ -794,6 +531,21 @@ export default {
...this.$route.query, ...this.$route.query,
firstLoanNo: this.firstLoanNo firstLoanNo: this.firstLoanNo
}; };
},
// 切换选项卡
handleTabClick(tab) {
this.activeComponents = tab.name;
this.visible = true;
this.title = tab.label;
this.params = {
...this.loan,
...this.loanModel,
...this.basicInfo,
...this.$route.query,
basicInfo: this.basicInfo,
firstLoanNo: this.firstLoanNo
};
} }
} }
} }
...@@ -807,27 +559,12 @@ export default { ...@@ -807,27 +559,12 @@ export default {
margin-bottom: 15px; margin-bottom: 15px;
} }
.table { .box{
width: 100%;
color: #666;
border-collapse: collapse;
background-color: #fff;
td {
position: relative; position: relative;
padding: 9px 15px; .box-right{
overflow: hidden; position: absolute;
font-size: 14px; right: 0;
line-height: 20px; top:5px;
text-overflow: ellipsis;
white-space: nowrap;
border: 1px solid #e6e6e6;
&:nth-child(odd) {
width: 15%;
text-align: right;
background-color: #f7f7f7;
}
} }
} }
} }
......
<template> <template>
<div> <div>
<block-header title="搜索"/>
<div class="page-search"> <div class="page-search">
<el-form :inline="true" :model="searchInfo" class="demo-form-inline"> <el-form
label-suffix=":"
size="small"
:inline="true" :model="searchInfo" class="demo-form-inline">
<el-form-item label="手机号"> <el-form-item label="手机号">
<el-input v-model="searchInfo.clientCell" <el-input
v-model="searchInfo.clientCell"
placeholder="请输入手机号"></el-input> placeholder="请输入手机号"></el-input>
</el-form-item> </el-form-item>
...@@ -16,13 +21,14 @@ ...@@ -16,13 +21,14 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="onSubmit">查询</el-button> <el-button size="small" type="primary" @click="onSubmit">查询</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-collapse v-model="activeNames"> <el-collapse v-model="activeNames">
<el-collapse-item title="用户基本信息" name="1"> <el-collapse-item title="用户基本信息" name="1">
...@@ -30,25 +36,27 @@ ...@@ -30,25 +36,27 @@
<div v-if="this.clientInfo.ucUserDO !=null"> <div v-if="this.clientInfo.ucUserDO !=null">
<el-row :gutter="24" :data="clientInfo.ucUserDO" style="margin-left:50px"> <el-row :gutter="24" :data="clientInfo.ucUserDO" style="margin-left:50px">
<el-col :span="16"> <el-col :span="16">
<div class="grid-content bg-purple">客户编号:{{clientInfo.ucUserDO.clientNo}}</div> <div class="grid-content bg-purple">客户编号:{{ clientInfo.ucUserDO.clientNo }}</div>
</el-col> </el-col>
<br/> <br/>
<el-col :span="16"> <el-col :span="16">
<div class="grid-content bg-purple">姓名:{{clientInfo.ucUserDO.realName}}</div> <div class="grid-content bg-purple">姓名:{{ clientInfo.ucUserDO.realName }}</div>
</el-col> </el-col>
<br/> <br/>
<el-col :span="16"> <el-col :span="16">
<div class="grid-content bg-purple">注册时间:{{clientInfo.ucUserDO.gmtFirstLogin | dateFilter}}</div> <div class="grid-content bg-purple">注册时间:{{ clientInfo.ucUserDO.gmtFirstLogin | dateFilter }}</div>
</el-col> </el-col>
<br/> <br/>
<el-col :span="16"> <el-col :span="16">
<div class="grid-content bg-purple">末次登陆:{{clientInfo.ucUserDO.gmtLastLogin | dateFilter}}</div> <div class="grid-content bg-purple">末次登陆:{{ clientInfo.ucUserDO.gmtLastLogin | dateFilter }}</div>
</el-col> </el-col>
<br/> <br/>
<el-col :span="16"> <el-col :span="16">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
用户状态:{{ clientFormat(clientInfo.ucUserDO.state)}} 用户状态:{{ clientFormat(clientInfo.ucUserDO.state) }}
<el-button style="margin-left: 30px" type="danger" size="small" v-if="this.clientInfo.ucUserDO.state != 4" @click="cancelUser(clientInfo.ucUserDO)">销户</el-button> <el-button style="margin-left: 30px" type="danger" size="small"
v-if="this.clientInfo.ucUserDO.state != 4" @click="cancelUser(clientInfo.ucUserDO)">销户
</el-button>
</div> </div>
</el-col> </el-col>
<br/> <br/>
...@@ -62,8 +70,11 @@ ...@@ -62,8 +70,11 @@
<el-row :gutter="20" :data="clientInfo.clientRealAuthDO" style="margin-left:50px"> <el-row :gutter="20" :data="clientInfo.clientRealAuthDO" style="margin-left:50px">
<el-col :span="8"> <el-col :span="8">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
实名认证状态:{{realAuthFormat(clientInfo.clientRealAuthDO.state)}} 实名认证状态:{{ realAuthFormat(clientInfo.clientRealAuthDO.state) }}
<el-button type="primary" size="small" v-if="this.clientInfo.userFaceRecognitionDO == null || this.clientInfo.userFaceRecognitionDO.state != 1" @click="resetRealAuth(clientInfo.clientRealAuthDO.clientNo)">重置实名</el-button> <el-button type="primary" size="small"
v-if="this.clientInfo.userFaceRecognitionDO == null || this.clientInfo.userFaceRecognitionDO.state != 1"
@click="resetRealAuth(clientInfo.clientRealAuthDO.clientNo)">重置实名
</el-button>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -72,10 +83,10 @@ ...@@ -72,10 +83,10 @@
<div v-if="this.clientInfo.clientRealAuthDO !=null"> <div v-if="this.clientInfo.clientRealAuthDO !=null">
<el-row :gutter="24" :data="clientInfo.clientRealAuthDO" style="margin-left:50px"> <el-row :gutter="24" :data="clientInfo.clientRealAuthDO" style="margin-left:50px">
<el-col :span="12"> <el-col :span="12">
<img :src="clientInfo.clientRealAuthDO.idPhotoFrontUrl" alt="" style="width: 60%;height: 60%" /> <img :src="clientInfo.clientRealAuthDO.idPhotoFrontUrl" alt="" style="width: 60%;height: 60%"/>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<img :src="clientInfo.clientRealAuthDO.idPhotoConUrl" alt="" style="width: 60%;height: 60%" /> <img :src="clientInfo.clientRealAuthDO.idPhotoConUrl" alt="" style="width: 60%;height: 60%"/>
</el-col> </el-col>
<br/> <br/>
</el-row> </el-row>
...@@ -88,25 +99,32 @@ ...@@ -88,25 +99,32 @@
<el-row :gutter="24" :data="clientInfo.userFaceRecognitionDO" style="margin-left:50px"> <el-row :gutter="24" :data="clientInfo.userFaceRecognitionDO" style="margin-left:50px">
<el-col :span="24"> <el-col :span="24">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
活体认证状态:{{faceFormat(clientInfo.userFaceRecognitionDO.state)}} 活体认证状态:{{ faceFormat(clientInfo.userFaceRecognitionDO.state) }}
<el-button style="margin-left: 30px" type="primary" size="small" v-if="clientInfo.userFaceRecognitionDO.state != 1" @click="manuallyCheck(clientInfo.userFaceRecognitionDO.userId)">人工通过</el-button> <el-button style="margin-left: 30px" type="primary" size="small"
v-if="clientInfo.userFaceRecognitionDO.state != 1"
@click="manuallyCheck(clientInfo.userFaceRecognitionDO.userId)">人工通过
</el-button>
</div> </div>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
认证次数:{{clientInfo.userFaceRecognitionDO.verifyTimes}} 认证次数:{{ clientInfo.userFaceRecognitionDO.verifyTimes }}
<el-button style="margin-left: 30px" type="primary" size="small" v-if="clientInfo.userFaceRecognitionDO.state != 1" @click="resetNumber(clientInfo.userFaceRecognitionDO.userId)">重置次数</el-button> <el-button style="margin-left: 30px" type="primary" size="small"
v-if="clientInfo.userFaceRecognitionDO.state != 1"
@click="resetNumber(clientInfo.userFaceRecognitionDO.userId)">重置次数
</el-button>
</div> </div>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<div class="grid-content bg-purple">认证结果:{{clientInfo.userFaceRecognitionDO.faceResult }}</div> <div class="grid-content bg-purple">认证结果:{{ clientInfo.userFaceRecognitionDO.faceResult }}</div>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24" :data="clientInfo.userFaceRecognitionDO" style="margin-left:50px;margin-top: 20px"> <el-row :gutter="24" :data="clientInfo.userFaceRecognitionDO" style="margin-left:50px;margin-top: 20px">
<el-col :span="12"> <el-col :span="12">
<div class="grid-content bg-purple-light"> <div class="grid-content bg-purple-light">
人脸照片<br/><img :src="clientInfo.userFaceRecognitionDO.faceBestImgPath" alt="" style="width: 50%;height: 50%" /> 人脸照片<br/><img :src="clientInfo.userFaceRecognitionDO.faceBestImgPath" alt=""
style="width: 50%;height: 50%"/>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -119,7 +137,8 @@ ...@@ -119,7 +137,8 @@
<div v-if="this.clientInfo.clientRiskFileDO !=null"> <div v-if="this.clientInfo.clientRiskFileDO !=null">
<el-row :gutter="24" :data="clientInfo.clientRiskFileDO" style="margin-left:50px"> <el-row :gutter="24" :data="clientInfo.clientRiskFileDO" style="margin-left:50px">
<el-col :span="16"> <el-col :span="16">
<div class="grid-content bg-purple">通讯录权限:{{fileTypeFormat(clientInfo.clientRiskFileDO.fileType)}}</div> <div class="grid-content bg-purple">通讯录权限:{{ fileTypeFormat(clientInfo.clientRiskFileDO.fileType) }}
</div>
</el-col> </el-col>
<br/> <br/>
</el-row> </el-row>
...@@ -145,8 +164,6 @@ ...@@ -145,8 +164,6 @@
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
</div> </div>
...@@ -154,30 +171,30 @@ ...@@ -154,30 +171,30 @@
</template> </template>
<script> <script>
import * as moment from "moment"; import * as moment from "moment";
export default { export default {
name: "ClientManagerment", name: "ClientManagerment",
data(){ data() {
return{ return {
isShow: false, isShow: false,
activeNames: ['1','2','3','4'], activeNames: ['1', '2', '3', '4'],
searchInfo: { searchInfo: {
clientCell: '', clientCell: '',
appName: '', appName: '',
}, },
clientInfo:{ clientInfo: {
ucUserDO:{}, ucUserDO: {},
clientRealAuthDO:{}, clientRealAuthDO: {},
userFaceRecognitionDO:{}, userFaceRecognitionDO: {},
clientRiskFileDO:{}, clientRiskFileDO: {},
}, },
} }
}, },
filters: { filters: {
dateFilter: function (row) { dateFilter: function (row) {
var exp = row var exp = row
if (!exp || typeof(exp) === undefined || typeof(exp) === null) { if (!exp || typeof (exp) === undefined || typeof (exp) === null) {
return '' return ''
} }
return moment(exp).format("YYYY-MM-DD HH:mm:ss") return moment(exp).format("YYYY-MM-DD HH:mm:ss")
...@@ -194,19 +211,19 @@ ...@@ -194,19 +211,19 @@
window.clientData = this.clientData; window.clientData = this.clientData;
}, },
methods:{ methods: {
/*搜索条件*/ /*搜索条件*/
onSubmit(){ onSubmit() {
if(this.searchInfo.clientCell == '' || this.searchInfo.appName ==''){ if (this.searchInfo.clientCell == '' || this.searchInfo.appName == '') {
this.$message({message: '手机号或产品名称不能为空', type: 'error'}); this.$message({message: '手机号或产品名称不能为空', type: 'error'});
return; return;
} }
this.clientData(this.searchInfo.clientCell,this.searchInfo.appName); this.clientData(this.searchInfo.clientCell, this.searchInfo.appName);
}, },
clientData(record,value){ clientData(record, value) {
//查询客户数据 //查询客户数据
this.$$get('/client/getClientInfo?cell='+ record +'&appName='+ value).then(res => { this.$$get('/client/getClientInfo?cell=' + record + '&appName=' + value).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);
...@@ -221,47 +238,47 @@ ...@@ -221,47 +238,47 @@
}, },
//客户注册状态 //客户注册状态
clientFormat(value){ clientFormat(value) {
var userStatus = value; var userStatus = value;
if(userStatus == null || userStatus == '' || userStatus == undefined){ if (userStatus == null || userStatus == '' || userStatus == undefined) {
return '' return ''
} }
return this.$enumUtils.toMsg('ClientStatusEnum', userStatus); return this.$enumUtils.toMsg('ClientStatusEnum', userStatus);
}, },
//实名状态 //实名状态
realAuthFormat(value){ realAuthFormat(value) {
var realAuthStatus = value; var realAuthStatus = value;
if(realAuthStatus == null || realAuthStatus == '' || realAuthStatus == undefined){ if (realAuthStatus == null || realAuthStatus == '' || realAuthStatus == undefined) {
return '' return ''
} }
return this.$enumUtils.toMsg('RealAuthStatusEnum', realAuthStatus); return this.$enumUtils.toMsg('RealAuthStatusEnum', realAuthStatus);
}, },
//活体状态 //活体状态
faceFormat(value){ faceFormat(value) {
var faceStatus = value; var faceStatus = value;
if(faceStatus == null || faceStatus == '' || faceStatus == undefined){ if (faceStatus == null || faceStatus == '' || faceStatus == undefined) {
return '' return ''
} }
return this.$enumUtils.toMsg('FaceStatusEnum', faceStatus); return this.$enumUtils.toMsg('FaceStatusEnum', faceStatus);
}, },
//通讯录上传状态 //通讯录上传状态
fileTypeFormat(value){ fileTypeFormat(value) {
var fileTypeStatus = value; var fileTypeStatus = value;
if(fileTypeStatus == null || fileTypeStatus == '' || fileTypeStatus == undefined){ if (fileTypeStatus == null || fileTypeStatus == '' || fileTypeStatus == undefined) {
return '' return ''
} }
if(fileTypeStatus == 1){ if (fileTypeStatus == 1) {
return '已获取'; return '已获取';
}else { } else {
return '无法获取获取'; return '无法获取获取';
} }
}, },
//重置实名 //重置实名
resetRealAuth(value){ resetRealAuth(value) {
var clientCell = this.searchInfo.clientCell; var clientCell = this.searchInfo.clientCell;
var appName = this.searchInfo.appName; var appName = this.searchInfo.appName;
this.$confirm('正在重置实名认证, 是否继续?', '重置实名', { this.$confirm('正在重置实名认证, 是否继续?', '重置实名', {
...@@ -278,7 +295,7 @@ ...@@ -278,7 +295,7 @@
} }
this.$message({message: '实名重置成功', type: 'success'}); this.$message({message: '实名重置成功', type: 'success'});
done(); done();
this.clientData(clientCell,appName); this.clientData(clientCell, appName);
}).catch(err => { }).catch(err => {
this.$Message.error(error || '系统异常'); this.$Message.error(error || '系统异常');
}); });
...@@ -296,7 +313,7 @@ ...@@ -296,7 +313,7 @@
//销户 //销户
cancelUser(record){ cancelUser(record) {
var clientCell = this.searchInfo.clientCell; var clientCell = this.searchInfo.clientCell;
var appName = this.searchInfo.appName; var appName = this.searchInfo.appName;
this.$confirm('正在进行销户操作, 是否继续?', '销户', { this.$confirm('正在进行销户操作, 是否继续?', '销户', {
...@@ -305,7 +322,7 @@ ...@@ -305,7 +322,7 @@
type: 'warning', type: 'warning',
beforeClose: (action, instance, done) => { beforeClose: (action, instance, done) => {
if (action === 'confirm') { if (action === 'confirm') {
this.$$get('/client/accountCancellation?userId=' + record.userId + '&clientCell='+ record.cell+ '&appName='+ this.searchInfo.appName + '&creator=' + localStorage.getItem("userName")) this.$$get('/client/accountCancellation?userId=' + record.userId + '&clientCell=' + record.cell + '&appName=' + this.searchInfo.appName + '&creator=' + localStorage.getItem("userName"))
.then(res => { .then(res => {
if (res.data.code != 200) { if (res.data.code != 200) {
this.$message.error(res.data.message); this.$message.error(res.data.message);
...@@ -313,7 +330,7 @@ ...@@ -313,7 +330,7 @@
} }
this.$message({message: '销户成功', type: 'success'}); this.$message({message: '销户成功', type: 'success'});
done(); done();
this.clientData(clientCell,appName); this.clientData(clientCell, appName);
}).catch(err => { }).catch(err => {
this.$Message.error(error || '系统异常'); this.$Message.error(error || '系统异常');
}); });
...@@ -330,39 +347,39 @@ ...@@ -330,39 +347,39 @@
}, },
//活体人工通过接口 //活体人工通过接口
manuallyCheck(record){ manuallyCheck(record) {
var clientCell = this.searchInfo.clientCell; var clientCell = this.searchInfo.clientCell;
var appName = this.searchInfo.appName; var appName = this.searchInfo.appName;
this.$$get('/client/manuallyCheck?userId='+ record ).then(res => { this.$$get('/client/manuallyCheck?userId=' + record).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.$message({message: '人工通过成功', type: 'success'});
this.clientData(clientCell,appName); this.clientData(clientCell, appName);
}).catch(error => { }).catch(error => {
this.$Message.error(error || '系统异常'); this.$Message.error(error || '系统异常');
}); });
}, },
//重置用户认证次数 //重置用户认证次数
resetNumber(record){ resetNumber(record) {
var clientCell = this.searchInfo.clientCell; var clientCell = this.searchInfo.clientCell;
var appName = this.searchInfo.appName; var appName = this.searchInfo.appName;
this.$$get('/client/resetNumber?userId='+ record ).then(res => { this.$$get('/client/resetNumber?userId=' + record).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.$message({message: '重置用户认证次数成功', type: 'success'});
this.clientData(clientCell,appName); this.clientData(clientCell, appName);
}).catch(error => { }).catch(error => {
this.$Message.error(error || '系统异常'); this.$Message.error(error || '系统异常');
}); });
}, },
//清除用户数据 //清除用户数据
removeUserInfo(){ removeUserInfo() {
var clientCell = this.searchInfo.clientCell; var clientCell = this.searchInfo.clientCell;
var appName = this.searchInfo.appName; var appName = this.searchInfo.appName;
...@@ -372,7 +389,7 @@ ...@@ -372,7 +389,7 @@
type: 'warning', type: 'warning',
beforeClose: (action, instance, done) => { beforeClose: (action, instance, done) => {
if (action === 'confirm') { if (action === 'confirm') {
this.$$get('/client/removeUserInfo?cell='+ clientCell +'&appName='+ appName) this.$$get('/client/removeUserInfo?cell=' + clientCell + '&appName=' + appName)
.then(res => { .then(res => {
if (res.data.code != 200) { if (res.data.code != 200) {
this.$message.error(res.data.message); this.$message.error(res.data.message);
...@@ -380,7 +397,7 @@ ...@@ -380,7 +397,7 @@
} }
this.$message({message: '清除用户数据成功', type: 'success'}); this.$message({message: '清除用户数据成功', type: 'success'});
done(); done();
this.clientData(clientCell,appName); this.clientData(clientCell, appName);
}).catch(err => { }).catch(err => {
this.$Message.error(error || '系统异常'); this.$Message.error(error || '系统异常');
}); });
...@@ -397,7 +414,7 @@ ...@@ -397,7 +414,7 @@
}, },
} }
} }
</script> </script>
<style scoped> <style scoped>
......
<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
......
<template> <template>
<div> <div class="page-service-problem">
<br> <!--搜索-->
<div class="top"> <block-header title="搜索"/>
<el-form :inline="true" :model="searchInfo" class="demo-form-inline"> <div class="b-search">
<el-form size="small" label-suffix=":" :inline="true" :model="searchInfo" class="demo-form-inline">
<el-form-item label="编号:"> <el-form-item label="编号:">
<el-input placeholder="请输入客户编号" v-model="searchInfo.feedNo"></el-input> <el-input placeholder="请输入客户编号" v-model="searchInfo.feedNo"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="手机号:"> <el-form-item label="手机号:">
<el-input placeholder="请输入手机号" v-model="searchInfo.clientCell"></el-input> <el-input placeholder="请输入手机号" v-model="searchInfo.clientCell"></el-input>
</el-form-item> </el-form-item>
...@@ -14,14 +14,14 @@ ...@@ -14,14 +14,14 @@
<el-input placeholder="请输入姓名" v-model="searchInfo.clientName"></el-input> <el-input placeholder="请输入姓名" v-model="searchInfo.clientName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="解决状态"> <el-form-item label="解决状态">
<el-select v-model="searchInfo.feedStatus" clearable placeholder="全部" > <el-select v-model="searchInfo.feedStatus" clearable placeholder="全部">
<el-option v-for="item in this.$enumUtils.toValue('SolveStatus')" :key="item.value" <el-option v-for="item in this.$enumUtils.toValue('SolveStatus')" :key="item.value"
:label="item.label" :value="item.value"></el-option> :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="反馈类型"> <el-form-item label="反馈类型">
<el-select v-model="searchInfo.feedType" clearable placeholder="全部" > <el-select v-model="searchInfo.feedType" clearable placeholder="全部">
<el-option v-for="item in this.$enumUtils.toValue('ResaultStatus')" :key="item.value" <el-option v-for="item in this.$enumUtils.toValue('ResaultStatus')" :key="item.value"
:label="item.label" :value="item.value"></el-option> :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
</el-form-item> </el-form-item>
<el-form-item label="产品名称"> <el-form-item label="产品名称">
<el-select clearable v-model="searchInfo.feedProduct" > <el-select clearable v-model="searchInfo.feedProduct">
<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>
</el-select> </el-select>
...@@ -46,50 +46,57 @@ ...@@ -46,50 +46,57 @@
:label="item.label" :value="item.value"></el-option> :label="item.label" :value="item.value"></el-option>
</el-select> </el-select>
</el-form-item>--> </el-form-item>-->
<div class="btn"> <el-form-item>
<el-button @click="reset" type="primary">重置</el-button> <el-button @click="reset" type="primary">重置</el-button>
<el-button @click="querySearchRemind" type="primary">查询</el-button> <el-button @click="querySearchRemind" type="primary">查询</el-button>
</div> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="system-list">
<el-table :data="tablePlanRemindData" style="width: 100%" :default-sort="{prop: 'date', order: 'descending'}" :highlight-current-row="true" > <!--列表-->
<el-table-column prop="feedNo" label="编号" ></el-table-column> <block-header title="反馈列表"/>
<!-- <el-table-column prop="feedContent" label="反馈内容" :formatter="filterFun" ></el-table-column> --> <div class="b-table">
<el-table-column <el-table
label="反馈内容" border
> :data="tablePlanRemindData" style="width: 100%"
:default-sort="{prop: 'date', order: 'descending'}"
:highlight-current-row="true">
<el-table-column align="center" prop="feedNo" label="编号"></el-table-column>
<el-table-column align="center" label="反馈内容">
<template slot-scope="scope"> <template slot-scope="scope">
<el-popover trigger="hover" placement="top" width="400"> <el-popover trigger="hover" placement="top" width="400">
<p> {{ scope.row.feedContent }}</p> <p> {{ scope.row.feedContent }}</p>
<div slot="reference" class="name-wrapper"> <div slot="reference" class="name-wrapper">
<el-tag type= 'info' size="large">{{ scope.row.feedContent | filterFun }}</el-tag> <el-tag type='info' size="large">{{ scope.row.feedContent | filterFun }}</el-tag>
</div> </div>
</el-popover> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="finishContent" label="处理意见" ></el-table-column> <el-table-column align="center" prop="finishContent" label="处理意见"></el-table-column>
<el-table-column prop="clientName" label="客户姓名" ></el-table-column> <el-table-column align="center" prop="clientName" label="客户姓名"></el-table-column>
<el-table-column prop="clientCell" label="手机号" ></el-table-column> <el-table-column align="center" prop="clientCell" label="手机号"></el-table-column>
<el-table-column prop="gmtCreated" label="反馈时间" :formatter="dateFormat" ></el-table-column> <el-table-column align="center" prop="gmtCreated" label="反馈时间" :formatter="dateFormat"></el-table-column>
<el-table-column prop="feedType" label="反馈类型" ></el-table-column> <el-table-column align="center" prop="feedType" label="反馈类型"></el-table-column>
<!--<el-table-column prop="feedProduct" label="产品名称" :formatter="productNameFormat" ></el-table-column>--> <!--<el-table-column prop="feedProduct" label="产品名称" :formatter="productNameFormat" ></el-table-column>-->
<el-table-column prop="feedSource" label="来源" :formatter="feedSourceFormat" ></el-table-column> <el-table-column align="center" prop="feedSource" label="来源" :formatter="feedSourceFormat"></el-table-column>
<el-table-column prop="feedStatus" label="解决状态" ></el-table-column> <el-table-column align="center" prop="feedStatus" label="解决状态"></el-table-column>
<el-table-column label="操作"> <el-table-column align="center" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.feedStatus =='NO' "> <div v-if="scope.row.feedStatus =='NO' ">
<el-button type="text" size="big" @click="deleteRaise(scope.row)" >解决</el-button> <el-button type="text" size="big" @click="deleteRaise(scope.row)">解决</el-button>
</div> </div>
<div v-else > <div v-else>
<el-button type="text" size="small" disabled >已解决</el-button> <el-button type="text" size="small" disabled>已解决</el-button>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="page">
<!--分页-->
<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"
...@@ -99,23 +106,19 @@ ...@@ -99,23 +106,19 @@
:total="page.total"> :total="page.total">
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import * as moment from "moment"; import * as moment from "moment";
export default { export default {
name: "ByhPlanRemindList", name: "ByhPlanRemindList",
data () { data() {
return { return {
flag: false, flag: false,
ui: ui:
{ {},
},
page: { page: {
current: 1, current: 1,
size: 10, size: 10,
...@@ -128,9 +131,9 @@ ...@@ -128,9 +131,9 @@
//feedSource: '', //feedSource: '',
clientName: '', clientName: '',
clientCell: '', clientCell: '',
feedType : '', feedType: '',
feedStatus:'', feedStatus: '',
feedProduct:'', feedProduct: '',
}, },
tablePlanRemindData: [], tablePlanRemindData: [],
record: '', record: '',
...@@ -146,8 +149,8 @@ ...@@ -146,8 +149,8 @@
filters: { filters: {
filterFun: function (value) { filterFun: function (value) {
if(value.length > 20) { if (value.length > 20) {
value= value.substring(0,10)+ '...'; value = value.substring(0, 10) + '...';
} }
return value; return value;
} }
...@@ -157,15 +160,15 @@ ...@@ -157,15 +160,15 @@
methods: { methods: {
formatter (row, column) { formatter(row, column) {
return row.address; return row.address;
}, },
selected: function(gameName) { selected: function (gameName) {
this.activeName = gameName this.activeName = gameName
}, },
/** 加载数据 */ /** 加载数据 */
remindData (params) { remindData(params) {
var listsData = []; var listsData = [];
this.$$post('/feed/feedPageList', this.buildParam()).then(res => { this.$$post('/feed/feedPageList', this.buildParam()).then(res => {
if (res.data.code != 200) { if (res.data.code != 200) {
...@@ -181,36 +184,35 @@ ...@@ -181,36 +184,35 @@
}); });
}, },
handleSizeChange(row){ handleSizeChange(row) {
this.page.size=row this.page.size = row
this.page.current=1; this.page.current = 1;
this.remindData(); this.remindData();
}, },
// 分配后不刷新页面加载数据 // 分配后不刷新页面加载数据
getMyMarket(msg){ getMyMarket(msg) {
if(msg){ if (msg) {
this.tablePlanRemindData = this.remindData(); this.tablePlanRemindData = this.remindData();
} }
}, },
//搜索查询 //搜索查询
querySearchRemind () { querySearchRemind() {
this.remindData(); this.remindData();
}, },
//作废 //作废
deleteRaise (record) { deleteRaise(record) {
this.$prompt('请输入处理意见:', '处理意见', { this.$prompt('请输入处理意见:', '处理意见', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
inputPattern: /\.*?/, inputPattern: /\.*?/,
inputErrorMessage: '内容不能为空' inputErrorMessage: '内容不能为空'
}).then(({ value }) => { }).then(({value}) => {
// 获取输入的意见 value // 获取输入的意见 value
this.$$post('/feed/updateFeedStatus', this.buildParamRaise(record,value)).then(res => { this.$$post('/feed/updateFeedStatus', this.buildParamRaise(record, value)).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
...@@ -224,7 +226,6 @@ ...@@ -224,7 +226,6 @@
}); });
}).catch(() => { }).catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',
...@@ -247,7 +248,7 @@ ...@@ -247,7 +248,7 @@
}, },
//参数 //参数
buildParam () { buildParam() {
var return_hash = { var return_hash = {
size: this.page.size, size: this.page.size,
current: this.page.current, current: this.page.current,
...@@ -273,11 +274,11 @@ ...@@ -273,11 +274,11 @@
return_hash['feedProduct'] = this.searchInfo.feedProduct return_hash['feedProduct'] = this.searchInfo.feedProduct
} }
return_hash['feedSource'] = 'APP' return_hash['feedSource'] = 'APP'
if (this.searchInfo.gmtStartTime != null && this.searchInfo.gmtStartTime.length>0) { if (this.searchInfo.gmtStartTime != null && this.searchInfo.gmtStartTime.length > 0) {
var end = new Date(this.searchInfo.gmtStartTime[1]) var end = new Date(this.searchInfo.gmtStartTime[1])
end=end.setDate(end.getDate()+1); end = end.setDate(end.getDate() + 1);
end=new Date(end); end = new Date(end);
return_hash['gmtStartTime'] = this.searchInfo.gmtStartTime[0]; return_hash['gmtStartTime'] = this.searchInfo.gmtStartTime[0];
return_hash['gmtEndTime'] = end return_hash['gmtEndTime'] = end
...@@ -287,9 +288,9 @@ ...@@ -287,9 +288,9 @@
return return_hash; return return_hash;
}, },
buildParamRaise (record,value) { buildParamRaise(record, value) {
var return_hash = { var return_hash = {
creater:localStorage.getItem("userName"), creater: localStorage.getItem("userName"),
}; };
if (record.feedNo != '') { if (record.feedNo != '') {
return_hash['feedNo'] = record.feedNo return_hash['feedNo'] = record.feedNo
...@@ -311,7 +312,7 @@ ...@@ -311,7 +312,7 @@
}, },
//重置 //重置
reset () { reset() {
this.searchInfo.feedNo = ''; this.searchInfo.feedNo = '';
this.searchInfo.clientName = ''; this.searchInfo.clientName = '';
this.searchInfo.clientCell = ''; this.searchInfo.clientCell = '';
...@@ -323,10 +324,10 @@ ...@@ -323,10 +324,10 @@
}, },
/** 处理分页操作*/ /** 处理分页操作*/
handleCurrentChange () { handleCurrentChange() {
this.tablePlanRemindData = this.remindData(); this.tablePlanRemindData = this.remindData();
}, },
mergeDate (param1, param2) { mergeDate(param1, param2) {
if (param1 == "") { if (param1 == "") {
return "" return ""
} }
...@@ -335,7 +336,7 @@ ...@@ -335,7 +336,7 @@
array[1] = new Date(param2) array[1] = new Date(param2)
return array; return array;
}, },
getDate (param, num) { getDate(param, num) {
if (param && param[num] !== '') { if (param && param[num] !== '') {
return moment(param[num]).format("YYYY-MM-DD") return moment(param[num]).format("YYYY-MM-DD")
} }
...@@ -344,18 +345,19 @@ ...@@ -344,18 +345,19 @@
} }
} }
</script> </script>
<style> <style>
/* 用来设置当前页面element全局table 选中某行时的背景色*/ /* 用来设置当前页面element全局table 选中某行时的背景色*/
.system-list .el-table__body tr.current-row>td{ .system-list .el-table__body tr.current-row > td {
background-color: #e0f144 !important; background-color: #e0f144 !important;
/* color: #f19944; */ /* 设置文字颜色,可以选择不设置 */ /* color: #f19944; */ /* 设置文字颜色,可以选择不设置 */
} }
/* 用来设置当前页面element全局table 鼠标移入某行时的背景色*/ /* 用来设置当前页面element全局table 鼠标移入某行时的背景色*/
.system-list .el-table--enable-row-hover .el-table__body tr:hover>td { .system-list .el-table--enable-row-hover .el-table__body tr:hover > td {
background-color: #d7f144; background-color: #d7f144;
/* color: #f19944; */ /* 设置文字颜色,可以选择不设置 */ /* color: #f19944; */ /* 设置文字颜色,可以选择不设置 */
} }
......
...@@ -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>
<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="账单详情"/> <block-header title="账单详情"/>
<div class="block-box"> <div class="block-box">
<table class="table"> <table class="table">
...@@ -28,14 +21,13 @@ ...@@ -28,14 +21,13 @@
<tr> <tr>
<td>操作:</td> <td>操作:</td>
<td colspan="3"> <td colspan="3">
<el-button type="primary" size="mini" @click="advanceLoanAmt()" v-if="isNeedAudit">线下结清</el-button> <el-button type="primary" size="mini" @click="handleAdvanceLoanAmt" v-if="isNeedAudit">线下结清</el-button>
<el-button type="primary" size="mini" @click="protocolSettleAll()">代扣结清</el-button> <el-button type="primary" size="mini" @click="protocolSettleAll">代扣结清</el-button>
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
<div class="tables"> <div class="tables">
<block-header :title="title"></block-header> <block-header :title="title"></block-header>
<el-table <el-table
...@@ -56,12 +48,14 @@ ...@@ -56,12 +48,14 @@
<el-table-column align="center" prop="planXi" label="利息"></el-table-column> <el-table-column align="center" prop="planXi" label="利息"></el-table-column>
<el-table-column align="center" prop="planFa" label="计划罚息"></el-table-column> <el-table-column align="center" prop="planFa" label="计划罚息"></el-table-column>
<el-table-column align="center" prop="accountAmt" label="手续费"></el-table-column> <el-table-column align="center" prop="accountAmt" label="手续费"></el-table-column>
<el-table-column align="center" prop="planDate" width="120" label="计划还款时间" :formatter="dateFormats"></el-table-column> <el-table-column align="center" prop="planDate" width="120" label="计划还款时间"
:formatter="dateFormats"></el-table-column>
<el-table-column align="center" prop="backedAmt" label="已还金额" :formatter="planMoneyFormat"></el-table-column> <el-table-column align="center" prop="backedAmt" label="已还金额" :formatter="planMoneyFormat"></el-table-column>
<el-table-column align="center" prop="derateAmt" label="减免金额"></el-table-column> <el-table-column align="center" prop="derateAmt" label="减免金额"></el-table-column>
<el-table-column align="center" prop="remainAmt" label="待还金额"></el-table-column> <el-table-column align="center" prop="remainAmt" label="待还金额"></el-table-column>
<el-table-column align="center" prop="statusStr" label="还款状态"></el-table-column> <el-table-column align="center" prop="statusStr" label="还款状态"></el-table-column>
<el-table-column align="center" prop="gmtModified" width="120" label="结清时间" :formatter="dateFormats"></el-table-column> <el-table-column align="center" prop="gmtModified" width="120" label="结清时间"
:formatter="dateFormats"></el-table-column>
<el-table-column fixed="right" align="center" width="120" label="操作"> <el-table-column fixed="right" align="center" width="120" label="操作">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -73,9 +67,9 @@ ...@@ -73,9 +67,9 @@
<el-button type="text" size="small" <el-button type="text" size="small"
v-if=" scope.row.status != 'SETTLED' && scope.row.backedSign == 'YES' " v-if=" scope.row.status != 'SETTLED' && scope.row.backedSign == 'YES' "
@click="offineTransfer(scope.row)">线下转账 @click="offlineTransfer(scope.row)">线下转账
</el-button> </el-button>
<el-button type="text" size="small" v-else disabled @click="offineTransfer(scope.row)">线下转账</el-button> <el-button type="text" size="small" v-else disabled @click="offlineTransfer(scope.row)">线下转账</el-button>
</template> </template>
</el-table-column> </el-table-column>
...@@ -93,26 +87,75 @@ ...@@ -93,26 +87,75 @@
:total="form.total"> :total="form.total">
</el-pagination> </el-pagination>
</div> </div>
</div>
</el-dialog> <!--线下提前结清-->
<advance-loan-amt
v-if="ui.advanceLoanAmt.visible"
:loanNo="ui.advanceLoanAmt.loanNo"
:orderNo="ui.advanceLoanAmt.orderNo"
@callback="init"
:dialogVisible.sync="ui.advanceLoanAmt.visible">
</advance-loan-amt>
<!--代扣提前结清-->
<protocol-settled
v-if="ui.protocolSettled.visible"
:loanNo="ui.protocolSettled.loanNo"
:clientNo="ui.protocolSettled.clientNo"
:bizType="ui.protocolSettled.bizType"
@callback="init"
:dialogVisible.sync="ui.protocolSettled.visible">
</protocol-settled>
<protocol-settled-one
v-if="ui.protocolSettledOne.visible"
:loanNo="ui.protocolSettledOne.loanNo"
:periodNo="ui.protocolSettledOne.periodNo"
:remainAmt="ui.protocolSettledOne.remainAmt"
:planAmt="ui.protocolSettledOne.planAmt"
:bizType="ui.protocolSettledOne.bizType"
:clientNo="ui.protocolSettledOne.clientNo"
@callback="init"
:dialogVisible.sync="ui.protocolSettledOne.visible">
</protocol-settled-one>
<!-- 线下转账 -->
<offline-transfer
v-if="ui.offineTransfer.visible"
:orderNo="ui.offineTransfer.orderNo"
:loanNo="ui.offineTransfer.loanNo"
:periodNo="ui.offineTransfer.periodNo"
:planNo="ui.offineTransfer.planNo"
:planAmt="ui.offineTransfer.planAmt"
:planFu="ui.offineTransfer.planFu"
:planBen="ui.offineTransfer.planBen"
:planXi="ui.offineTransfer.planXi"
:remainAmt="ui.offineTransfer.remainAmt"
:accountAmt="ui.offineTransfer.accountAmt"
@callback="init"
:dialogVisible.sync="ui.offineTransfer.visible">
</offline-transfer>
</div>
</template> </template>
<script> <script>
import BlockHeader from "@/components/byh/componments/blockHeader";
import * as moment from "moment"; import * as moment from "moment";
import AdvanceLoanAmt from './AdvanceLoanAmt'
import ProtocolSettled from './ProtocolSettled'
import ProtocolSettledOne from './ProtocolSettledOne'
import OfflineTransfer from './OffineTransfer'
export default { export default {
name: 'RiskInfo', name: 'RiskInfo',
components: { components: {
BlockHeader AdvanceLoanAmt,
ProtocolSettled,
ProtocolSettledOne,
OfflineTransfer
}, },
props: { props: {
dialogVisible: {
type: Boolean,
required: true,
},
title: { title: {
type: String, type: String,
required: true, required: true,
...@@ -130,33 +173,92 @@ export default { ...@@ -130,33 +173,92 @@ export default {
current: 1, current: 1,
size: 10, size: 10,
}, },
advanceLoanAmt:{}, advanceLoanAmt: {},
loanVo:{}, loanVo: {},
isNeedAudit:false, isNeedAudit: true,
data: [] data: [],
ui: {
offineTransfer: {
visible: false,
orderNo: '',
loanNo: '',
periodNo: '',
planAmt: '',
planFu: '',
planBen: '',
planXi: '',
planNo: '',
accountAmt: '',
},
advanceLoanAmt: {
visible: false,
orderNo: '',
loanNo: '',
planAmt: '',
planFu: '',
planBen: '',
planXi: '',
planNo: '',
},
protocolSettled: {
visible: false,
loanNo: '',
bizType: '',
clientNo: '',
},
protocolSettledOne: {
visible: false,
loanNo: '',
bizType: '',
clientNo: '',
periodNo: '',
remainAmt: '',
planAmt: '',
},
},
} }
}, },
async created() { async created() {
if (this.params) {
const params = this.params; const params = this.params;
this.advanceLoanAmt.loanNo = params.applyVo.loanNo; const {loanVo, applyVo, planVo} = params;
this.advanceLoanAmt.bizType = params.applyVo.bizType; this.advanceLoanAmt.loanNo = applyVo.loanNo;
this.advanceLoanAmt.clientNo = params.applyVo.clientNo; this.advanceLoanAmt.bizType = applyVo.bizType;
this.advanceLoanAmt.clientNo = applyVo.clientNo;
this.data = planVo
if (planVo == null) {
this.data = [];
this.isNeedAudit = false;
}
this.loanVo = loanVo;
}
this.data = params.planVo;
//this.form.result = params.phoneNo;
//await this.init()
}, },
methods: { methods: {
headerStyle() { headerStyle() {
return "tableHeaderStyle"; return "tableHeaderStyle";
}, },
async init() { async init() {
const res = await this.$$post('/back/detailPageList', this.form); const res = await this.$$get('/detail/customer/' + this.advanceLoanAmt.loanNo);
const {success, result} = res.data; const {success, result} = res.data;
if (success && result !== null) { if (success && result != null) {
const {data, total} = result
this.data = data; const {loanVo, applyVo, planVo} = result;
this.form.total = total; this.advanceLoanAmt.loanNo = applyVo.loanNo;
this.advanceLoanAmt.bizType = applyVo.bizType;
this.advanceLoanAmt.clientNo = applyVo.clientNo;
this.data = planVo
if (planVo == null) {
this.data = [];
this.isNeedAudit = false;
}
this.loanVo = loanVo;
} }
}, },
// 计算小数 // 计算小数
...@@ -176,12 +278,27 @@ export default { ...@@ -176,12 +278,27 @@ export default {
return (arg1 * m + arg2 * m) / m return (arg1 * m + arg2 * m) / m
}, },
offineTransfer(record) { // 线下提前结清
handleAdvanceLoanAmt() {
const {applyVo} = this.params;
this.ui.advanceLoanAmt = {
visible: true,
loanNo: applyVo.loanNo,
orderNo: applyVo.orderNo,
};
},
// 计算已还金额
planMoneyFormat: function (row, column) {
return this.accAdd(this.accAdd(this.accAdd(this.accAdd(this.accAdd(row.backedBen, row.backedFu), row.backedXi), row.backedFa), row.backedBurden), row.backedSpeaccount).toFixed(2)
},
offlineTransfer(record) {
const {applyVo} = this.params;
// 取当前用户的信息 // 取当前用户的信息
this.ui.offineTransfer = { this.ui.offineTransfer = {
visible: true, visible: true,
orderNo: this.loanModel.orderNo, orderNo: applyVo.orderNo,
loanNo: this.loanModel.loanNo, loanNo: applyVo.loanNo,
planNo: record.planNo, planNo: record.planNo,
periodNo: record.planIndex, periodNo: record.planIndex,
planAmt: record.planAmt, planAmt: record.planAmt,
...@@ -194,27 +311,20 @@ export default { ...@@ -194,27 +311,20 @@ export default {
}, },
//代扣提前结清 //代扣提前结清
protocolSettleAll() { protocolSettleAll() {
const {applyVo} = this.params;
this.ui.protocolSettled = { this.ui.protocolSettled = {
visible: true, visible: true,
loanNo: this.loanModel.loanNo, loanNo: applyVo.loanNo,
bizType: this.advanceLoanAmt.bizType, bizType: this.advanceLoanAmt.bizType,
clientNo: this.advanceLoanAmt.clientNo, clientNo: this.advanceLoanAmt.clientNo,
}; };
}, },
// 计算已还金额
planMoneyFormat: function (row, column) {
return this.accAdd(this.accAdd(this.accAdd(this.accAdd(this.accAdd(row.backedBen, row.backedFu), row.backedXi), row.backedFa), row.backedBurden), row.backedSpeaccount).toFixed(2)
},
// 还款结果
resultBankFormat: function (row, column) {
return row.resultStr + "(" + row.confirmDesc + ")";
},
//代扣当期 //代扣当期
protocolOne(record) { protocolOne(record) {
const {applyVo} = this.params;
this.ui.protocolSettledOne = { this.ui.protocolSettledOne = {
visible: true, visible: true,
loanNo: this.loanModel.loanNo, loanNo: applyVo.loanNo,
bizType: this.advanceLoanAmt.bizType, bizType: this.advanceLoanAmt.bizType,
clientNo: this.advanceLoanAmt.clientNo, clientNo: this.advanceLoanAmt.clientNo,
periodNo: record.planIndex, periodNo: record.planIndex,
...@@ -271,22 +381,19 @@ export default { ...@@ -271,22 +381,19 @@ export default {
handleFilterChange: function (filters, value) { handleFilterChange: function (filters, value) {
if (filters.status.length === 2) { if (filters.status.length === 2) {
this.backValue = null this.backValue = null
} } else {
else {
this.backValue = filters.status[0] this.backValue = filters.status[0]
} }
this.loanBackedData(this.loanNos)
}, },
} }
} }
</script> </script>
<style> <style>
.tables{ .tables {
margin-bottom: 20px; margin-bottom: 20px;
} }
.pages { .pages {
display: flex; display: flex;
align-items: center; align-items: center;
......
<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