风控
This commit is contained in:
parent
25b5c3dc2d
commit
1c0faca9d6
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="用户" prop="userName">
|
||||
<el-form-item label="用户" prop="userName" v-if="notHasView(views.user)">
|
||||
<el-input
|
||||
v-model="queryParams.userName"
|
||||
placeholder="请输入用户名称"
|
||||
|
@ -9,8 +9,8 @@
|
|||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型" prop="type">
|
||||
<el-select v-model="queryParams.type" placeholder="请选择类型" clearable @change="handleQuery">
|
||||
<el-form-item label="类型" prop="containsType">
|
||||
<el-select v-model="queryParams.containsType" placeholder="请选择类型" clearable @change="handleQuery">
|
||||
<el-option
|
||||
v-for="dict in dict.type.risk_type"
|
||||
:key="dict.value"
|
||||
|
@ -27,6 +27,13 @@
|
|||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="风控状态" prop="isFinished">
|
||||
<el-radio-group v-model="queryParams.isFinished" @change="handleQuery">
|
||||
<el-radio :label="null">全部</el-radio>
|
||||
<el-radio :label="true">已解封</el-radio>
|
||||
<el-radio :label="false">风控中</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
|
@ -34,6 +41,16 @@
|
|||
</el-form>
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['ss:risk:create']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
|
@ -79,6 +96,12 @@
|
|||
<template v-else-if="column.key === 'type'">
|
||||
<dict-tag :options="dict.type.risk_type" :value="d.row[column.key]"/>
|
||||
</template>
|
||||
<template v-else-if="column.key === 'userId'">
|
||||
<user-link :id="d.row.userId" :name="d.row.userName" />
|
||||
</template>
|
||||
<template v-else-if="column.key === 'isFinished'">
|
||||
<boolean-tag :value="d.row.isFinished" true-text="已解封" false-text="风控中"/>
|
||||
</template>
|
||||
<template v-else>
|
||||
{{d.row[column.key]}}
|
||||
</template>
|
||||
|
@ -116,33 +139,35 @@
|
|||
<!-- 添加或修改风控对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="用户ID" prop="userId">
|
||||
<el-input v-model="form.userId" placeholder="请输入用户ID" />
|
||||
<el-form-item label="用户" prop="userId">
|
||||
<user-input v-model="form.userId" :disabled="hasView(views.user)"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型" prop="type">
|
||||
<el-select v-model="form.type" placeholder="请选择类型">
|
||||
<el-option
|
||||
v-for="dict in dict.type.risk_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<!-- <el-select v-model="form.type" placeholder="请选择类型">-->
|
||||
<!-- <el-option-->
|
||||
<!-- v-for="dict in dict.type.risk_type"-->
|
||||
<!-- :key="dict.value"-->
|
||||
<!-- :label="dict.label"-->
|
||||
<!-- :value="dict.value"-->
|
||||
<!-- ></el-option>-->
|
||||
<!-- </el-select>-->
|
||||
<el-checkbox-group v-model="form.type">
|
||||
<el-checkbox v-for="dict in dict.type.risk_type" :key="dict.value" :label="dict.value">{{dict.label}}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="风控原因" prop="reason">
|
||||
<el-input v-model="form.reason" placeholder="请输入风控原因" />
|
||||
<el-input v-model="form.reason" placeholder="请输入风控原因" type="textarea" maxlength="200" show-word-limit/>
|
||||
</el-form-item>
|
||||
<el-form-item label="结束时间" prop="endTime">
|
||||
<el-date-picker clearable
|
||||
<el-form-item label="解封时间" prop="endTime">
|
||||
<el-date-picker
|
||||
:clearable="form.riskId === null"
|
||||
style="width: 100%"
|
||||
v-model="form.endTime"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择结束时间">
|
||||
placeholder="请选择解封时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="实名认证ID" prop="realNameId">
|
||||
<el-input v-model="form.realNameId" placeholder="请输入实名认证ID" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
|
@ -154,7 +179,10 @@
|
|||
|
||||
<script>
|
||||
import { listRisk, getRisk, delRisk, addRisk, updateRisk } from "@/api/ss/risk";
|
||||
import { $showColumns } from '@/utils/mixins';
|
||||
import { $showColumns, $view } from '@/utils/mixins'
|
||||
import UserLink from '@/components/Business/SmUser/UserLink.vue'
|
||||
import UserInput from '@/components/Business/SmUser/UserInput.vue'
|
||||
import BooleanTag from '@/components/BooleanTag/index.vue'
|
||||
|
||||
// 默认排序字段
|
||||
const defaultSort = {
|
||||
|
@ -164,18 +192,29 @@ const defaultSort = {
|
|||
|
||||
export default {
|
||||
name: "Risk",
|
||||
mixins: [$showColumns],
|
||||
mixins: [$showColumns, $view],
|
||||
dicts: ['risk_type'],
|
||||
components: { BooleanTag, UserInput, UserLink },
|
||||
props: {
|
||||
query: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return {}
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 字段列表
|
||||
columns: [
|
||||
{key: 'riskId', visible: true, label: '风控ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'userId', visible: true, label: '用户ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'riskId', visible: false, label: '风控ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'userId', visible: true, label: '用户', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'type', visible: true, label: '类型', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'reason', visible: true, label: '风控原因', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'endTime', visible: true, label: '结束时间', minWidth: "120", sortable: false, overflow: false, align: 'center', width: null},
|
||||
{key: 'realNameId', visible: true, label: '实名认证ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'isFinished', visible: true, label: '风控状态', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'reason', visible: true, label: '风控原因', minWidth: null, sortable: true, overflow: true, align: 'center', width: null},
|
||||
{key: 'endTime', visible: true, label: '解封时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'createTime', visible: true, label: '创建时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'realNameId', visible: false, label: '实名认证ID', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
],
|
||||
// 排序方式
|
||||
orderSorts: ['ascending', 'descending', null],
|
||||
|
@ -215,7 +254,7 @@ export default {
|
|||
// 表单校验
|
||||
rules: {
|
||||
userId: [
|
||||
{ required: true, message: "用户ID不能为空", trigger: "blur" }
|
||||
{ required: true, message: "用户不能为空", trigger: "change" }
|
||||
],
|
||||
type: [
|
||||
{ required: true, message: "类型不能为空", trigger: "change" }
|
||||
|
@ -224,6 +263,11 @@ export default {
|
|||
};
|
||||
},
|
||||
created() {
|
||||
this.queryParams = {
|
||||
...this.queryParams,
|
||||
...this.query
|
||||
}
|
||||
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
|
@ -256,8 +300,8 @@ export default {
|
|||
reset() {
|
||||
this.form = {
|
||||
riskId: null,
|
||||
userId: null,
|
||||
type: null,
|
||||
userId: this.query.userId,
|
||||
type: [],
|
||||
reason: null,
|
||||
endTime: null,
|
||||
createTime: null,
|
||||
|
|
|
@ -26,32 +26,32 @@
|
|||
</el-input>
|
||||
</form-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<form-col :span="10" label="限制提现" prop="limitWithdraw">
|
||||
<el-switch v-model="form.limitWithdraw" active-text="限制" inactive-text="不限制"/>
|
||||
</form-col>
|
||||
<template v-if="form.limitWithdraw">
|
||||
<form-col :span="14" label="限制提现至" prop="limitWithdrawTime" label-width="6em">
|
||||
<el-date-picker type="datetime" v-model="form.limitWithdrawTime" placeholder="请选择限制提现时间(为空则为永久)" value-format="yyyy-MM-dd HH:mm:ss" :clearable="false" style="width: 100%"/>
|
||||
</form-col>
|
||||
<form-col :span="24" label="限制原因" prop="limitWithdraw" label-width="5em">
|
||||
<el-input v-model="form.limitWithdrawReason" type="textarea" placeholder="请输入限制提现的原因(展示给用户查看)" show-word-limit maxlength="200"/>
|
||||
</form-col>
|
||||
</template>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<form-col :span="10" label="限制退款" prop="limitRefund" label-width="5em">
|
||||
<el-switch v-model="form.limitRefund" active-text="限制" inactive-text="不限制"/>
|
||||
</form-col>
|
||||
<template v-if="form.limitRefund">
|
||||
<form-col :span="14" label="限制退款至" prop="limitRefundTime" label-width="6em">
|
||||
<el-date-picker type="datetime" v-model="form.limitRefundTime" placeholder="请选择限制退款时间(为空则为永久)" value-format="yyyy-MM-dd HH:mm:ss" :clearable="false" style="width: 100%"/>
|
||||
</form-col>
|
||||
<form-col :span="24" label="限制原因" prop="limitRefundReason">
|
||||
<el-input v-model="form.limitRefundReason" type="textarea" placeholder="请输入限制退款的原因(展示给用户查看)" show-word-limit maxlength="200"/>
|
||||
</form-col>
|
||||
</template>
|
||||
</el-row>
|
||||
<!-- <el-row>-->
|
||||
<!-- <form-col :span="10" label="限制提现" prop="limitWithdraw">-->
|
||||
<!-- <el-switch v-model="form.limitWithdraw" active-text="限制" inactive-text="不限制"/>-->
|
||||
<!-- </form-col>-->
|
||||
<!-- <template v-if="form.limitWithdraw">-->
|
||||
<!-- <form-col :span="14" label="限制提现至" prop="limitWithdrawTime" label-width="6em">-->
|
||||
<!-- <el-date-picker type="datetime" v-model="form.limitWithdrawTime" placeholder="请选择限制提现时间(为空则为永久)" value-format="yyyy-MM-dd HH:mm:ss" :clearable="false" style="width: 100%"/>-->
|
||||
<!-- </form-col>-->
|
||||
<!-- <form-col :span="24" label="限制原因" prop="limitWithdraw" label-width="5em">-->
|
||||
<!-- <el-input v-model="form.limitWithdrawReason" type="textarea" placeholder="请输入限制提现的原因(展示给用户查看)" show-word-limit maxlength="200"/>-->
|
||||
<!-- </form-col>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-row>-->
|
||||
<!-- <el-row>-->
|
||||
<!-- <form-col :span="10" label="限制退款" prop="limitRefund" label-width="5em">-->
|
||||
<!-- <el-switch v-model="form.limitRefund" active-text="限制" inactive-text="不限制"/>-->
|
||||
<!-- </form-col>-->
|
||||
<!-- <template v-if="form.limitRefund">-->
|
||||
<!-- <form-col :span="14" label="限制退款至" prop="limitRefundTime" label-width="6em">-->
|
||||
<!-- <el-date-picker type="datetime" v-model="form.limitRefundTime" placeholder="请选择限制退款时间(为空则为永久)" value-format="yyyy-MM-dd HH:mm:ss" :clearable="false" style="width: 100%"/>-->
|
||||
<!-- </form-col>-->
|
||||
<!-- <form-col :span="24" label="限制原因" prop="limitRefundReason">-->
|
||||
<!-- <el-input v-model="form.limitRefundReason" type="textarea" placeholder="请输入限制退款的原因(展示给用户查看)" show-word-limit maxlength="200"/>-->
|
||||
<!-- </form-col>-->
|
||||
<!-- </template>-->
|
||||
<!-- </el-row>-->
|
||||
|
||||
<el-row v-if="form.type === SmUserType.AGENT">
|
||||
<group-title title="代理商配置"/>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-row>
|
||||
<single-line-chart v-loading="loading" :labels="labels" :chart-data="chartData" name="收入(元)" height="288px"/>
|
||||
<single-line-chart v-loading="loading" :labels="labels" :chart-data="chartData" name="收入(元)" height="268px"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="app-container" v-loading="loading">
|
||||
<template v-if="userData != null">
|
||||
<template v-if="detail != null">
|
||||
<el-row :gutter="12">
|
||||
<el-col :lg="10" :md="12" :xs="24">
|
||||
<el-card class="box-card">
|
||||
|
@ -15,54 +15,63 @@
|
|||
|
||||
<div class="user-detail">
|
||||
<div class="user-header">
|
||||
<el-avatar :size="64" :src="userData.avatar"></el-avatar>
|
||||
<el-avatar :size="64" :src="detail.avatar"></el-avatar>
|
||||
<el-row type="flex" class="name-box">
|
||||
<span class="user-name">{{userData.nickName}}</span>
|
||||
<dict-tag :value="userData.type" :options="dict.type.sm_user_type"/>
|
||||
<span class="user-name">{{detail.nickName}}</span>
|
||||
<dict-tag :value="detail.type" :options="dict.type.sm_user_type"/>
|
||||
</el-row>
|
||||
<div class="phone-number">{{userData.phonenumber}}</div>
|
||||
<div class="phone-number">{{detail.phonenumber}}</div>
|
||||
</div>
|
||||
|
||||
<el-row type="flex" style="margin-top: 16px;">
|
||||
<el-statistic title="店铺数" :value="userData.storeCount" :precision="0" suffix="家"/>
|
||||
<el-statistic title="设备数" :value="userData.deviceCount" :precision="0" suffix="台"/>
|
||||
<el-statistic title="账户余额" :value="userData.balance" :precision="2" suffix="元"/>
|
||||
<el-statistic title="总收入" :value="userData.totalIncome" :precision="2" suffix="元"/>
|
||||
<el-statistic title="总提现" :value="userData.withDrawlAmount" :precision="2" suffix="元"/>
|
||||
<el-statistic title="总消费" :value="userData.rechargeAmount" :precision="2" suffix="元"/>
|
||||
<el-statistic title="店铺数" :value="detail.storeCount" :precision="0" suffix="家"/>
|
||||
<el-statistic title="设备数" :value="detail.deviceCount" :precision="0" suffix="台"/>
|
||||
<el-statistic title="账户余额" :value="detail.balance" :precision="2" suffix="元"/>
|
||||
<el-statistic title="总收入" :value="detail.totalIncome" :precision="2" suffix="元"/>
|
||||
<el-statistic title="总提现" :value="detail.withDrawlAmount" :precision="2" suffix="元"/>
|
||||
<el-statistic title="总消费" :value="detail.rechargeAmount" :precision="2" suffix="元"/>
|
||||
</el-row>
|
||||
|
||||
<div class="user-description">
|
||||
<el-descriptions :column="3">
|
||||
<el-descriptions-item label="充值服务费">
|
||||
{{userData.realServiceRate | money | defaultValue}} %
|
||||
{{detail.realServiceRate | money | defaultValue}} %
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="代理服务费">
|
||||
{{userData.agentServiceRate | money | defaultValue}} %
|
||||
{{detail.agentServiceRate | money | defaultValue}} %
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="提现服务费">
|
||||
<template v-if="userData.withdrawServiceRate == null || userData.withdrawServiceType == null">跟随渠道</template>
|
||||
<template v-if="detail.withdrawServiceRate == null || detail.withdrawServiceType == null">跟随渠道</template>
|
||||
<template v-else>
|
||||
<dict-tag :options="dict.type.withdraw_service_type" :value="userData.withdrawServiceType" size="mini"/>
|
||||
{{userData.withdrawServiceRate}} {{serviceUnit(userData.withdrawServiceType)}}
|
||||
<dict-tag :options="dict.type.withdraw_service_type" :value="detail.withdrawServiceType" size="mini"/>
|
||||
{{detail.withdrawServiceRate}} {{serviceUnit(detail.withdrawServiceType)}}
|
||||
</template>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="限制提现">
|
||||
<boolean-tag :value="userData.limitWithdraw" size="small" true-type="danger" false-type="success"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="限制提现原因" :span="2">
|
||||
{{userData.limitWithdrawReason | defaultValue}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="限制退款">
|
||||
<boolean-tag :value="userData.limitRefund" size="small" true-type="danger" false-type="success"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="限制退款原因" :span="2">
|
||||
{{userData.limitRefundReason | defaultValue}}
|
||||
</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="限制提现">-->
|
||||
<!-- <boolean-tag :value="detail.limitWithdraw" size="small" true-type="danger" false-type="success"/>-->
|
||||
<!-- </el-descriptions-item>-->
|
||||
<!-- <el-descriptions-item label="限制提现原因" :span="2">-->
|
||||
<!-- {{detail.limitWithdrawReason | defaultValue}}-->
|
||||
<!-- </el-descriptions-item>-->
|
||||
<!-- <el-descriptions-item label="限制退款">-->
|
||||
<!-- <boolean-tag :value="detail.limitRefund" size="small" true-type="danger" false-type="success"/>-->
|
||||
<!-- </el-descriptions-item>-->
|
||||
<!-- <el-descriptions-item label="限制退款原因" :span="2">-->
|
||||
<!-- {{detail.limitRefundReason | defaultValue}}-->
|
||||
<!-- </el-descriptions-item>-->
|
||||
<el-descriptions-item label="实名认证">
|
||||
<boolean-tag :value="userData.isReal" size="small"/>
|
||||
<boolean-tag :value="detail.isReal" size="small"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" :span="2">{{userData.remark | defaultValue}}</el-descriptions-item>
|
||||
<el-descriptions-item label="姓名">
|
||||
{{detail.realName | defaultValue}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="身份证">
|
||||
{{detail.realIdCard | defaultValue}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="实名手机">
|
||||
{{detail.realPhone | defaultValue}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" :span="2">{{detail.remark | defaultValue}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -70,7 +79,7 @@
|
|||
</el-col>
|
||||
<el-col :lg="14" :md="12" :xs="24">
|
||||
<el-card class="box-card">
|
||||
<user-recharge-report :mch-id="userData.userId"/>
|
||||
<user-recharge-report :mch-id="detail.userId"/>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -78,37 +87,40 @@
|
|||
<el-card class="box-card">
|
||||
<el-tabs>
|
||||
<el-tab-pane label="设备列表" lazy>
|
||||
<device v-if="userData.userId != null" :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<device v-if="detail.userId != null" :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="店铺列表" lazy>
|
||||
<store :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<store :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="套餐列表" lazy>
|
||||
<suit :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<suit :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="充值订单" lazy>
|
||||
<recharge :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<recharge :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="收入订单" lazy>
|
||||
<recharge :query="{mchId: userData.userId}" :view="views.mch"/>
|
||||
<recharge :query="{mchId: detail.userId}" :view="views.mch"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="提现列表" lazy>
|
||||
<withdraw :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<withdraw :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="应收账" lazy>
|
||||
<receive-bill :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<receive-bill :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="账变记录" lazy>
|
||||
<record-balance :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<record-balance :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="风控记录" lazy>
|
||||
<risk :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="实名认证记录" lazy>
|
||||
<real-name :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<real-name :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="收款账户" lazy>
|
||||
<account :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<account :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="用户秘钥" lazy>
|
||||
<access :query="{userId: userData.userId}" :view="views.user"/>
|
||||
<access :query="{userId: detail.userId}" :view="views.user"/>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-card>
|
||||
|
@ -116,7 +128,7 @@
|
|||
<el-empty v-else description="用户不存在"/>
|
||||
|
||||
<!--用户设置-->
|
||||
<user-config-dialog :show.sync="showConfigDialog" :user-id="userData.userId" @success="getDetail"/>
|
||||
<user-config-dialog :show.sync="showConfigDialog" :user-id="detail.userId" @success="getDetail"/>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
@ -141,11 +153,12 @@ import RealName from '@/views/ss/realName/index.vue'
|
|||
import UserConfigDialog from '@/views/system/smUser/components/UserConfigDialog.vue'
|
||||
import { SmUserType } from '@/utils/constants'
|
||||
import ReceiveBill from '@/views/ss/receiveBill/index.vue'
|
||||
import Risk from '@/views/ss/risk/index.vue'
|
||||
|
||||
export default {
|
||||
name: 'User/:userId',
|
||||
mixins: [$view, $serviceType],
|
||||
components: { ReceiveBill, UserConfigDialog, RealName, Withdraw, BooleanTag, Recharge, Device, Suit, Account, RecordBalance, Store, Access, UserRechargeReport, UserAccount, UserDevice, LineChart},
|
||||
components: { Risk, ReceiveBill, UserConfigDialog, RealName, Withdraw, BooleanTag, Recharge, Device, Suit, Account, RecordBalance, Store, Access, UserRechargeReport, UserAccount, UserDevice, LineChart},
|
||||
dicts: ['sm_user_type', 'service_type', 'withdraw_service_type'],
|
||||
computed: {
|
||||
SmUserType() {
|
||||
|
@ -159,7 +172,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
userData: {},
|
||||
detail: {},
|
||||
loading: false,
|
||||
showConfigDialog: false,
|
||||
}
|
||||
|
@ -171,7 +184,7 @@ export default {
|
|||
getDetail() {
|
||||
this.loading = true;
|
||||
getSmUser(this.$route.params.userId).then(response => {
|
||||
this.userData = response.data;
|
||||
this.detail = response.data;
|
||||
}).finally(()=> {
|
||||
this.loading = false;
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue
Block a user