Browse Source

信用相关模块与用户模块进行关联处理

main
GhubCy 2 months ago
parent
commit
178d3f124d
  1. 177
      src/views/business/creditRule/index.vue
  2. 80
      src/views/business/userAccount/index.vue
  3. 83
      src/views/business/userCredit/index.vue
  4. 160
      src/views/business/userCreditRecord/index.vue

177
src/views/business/creditRule/index.vue

@ -9,14 +9,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规则描述" prop="ruleDescription">
<el-input
v-model="queryParams.ruleDescription"
placeholder="请输入规则描述"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生效日期" prop="effectiveDate">
<el-date-picker clearable
v-model="queryParams.effectiveDate"
@ -41,10 +33,10 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否启用" prop="isEnabled">
<el-form-item label="适用类型" prop="applicableUserType">
<el-input
v-model="queryParams.isEnabled"
placeholder="请输入是否启用"
v-model="queryParams.applicableUserType"
placeholder="请输入规则优先级"
clearable
@keyup.enter.native="handleQuery"
/>
@ -57,13 +49,17 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否启用" prop="isEnabled">
<el-select v-model="queryParams.isEnabled" placeholder="请选择是否启用" clearable>
<el-option label="是" value="1"/>
<el-option label="否" value="0"/>
</el-select>
</el-form-item>
<el-form-item label="反馈方向" prop="feedbackDirection">
<el-input
v-model="queryParams.feedbackDirection"
placeholder="请输入反馈方向"
clearable
@keyup.enter.native="handleQuery"
/>
<el-select v-model="queryParams.feedbackDirection" placeholder="请选择反馈方向" clearable>
<el-option label="正" value="1"/>
<el-option label="负" value="0"/>
</el-select>
</el-form-item>
<el-form-item label="规则值" prop="value">
<el-input
@ -74,7 +70,10 @@
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('common.button.search') }}</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{
$t('common.button.search')
}}
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.button.reset') }}</el-button>
</el-form-item>
</el-form>
@ -88,7 +87,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['business:creditRule:add']"
>{{ $t('common.button.add') }}</el-button>
>{{ $t('common.button.add') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -99,7 +99,8 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:creditRule:edit']"
>{{ $t('common.button.edit') }}</el-button>
>{{ $t('common.button.edit') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -110,7 +111,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:creditRule:remove']"
>{{ $t('common.button.delete') }}</el-button>
>{{ $t('common.button.delete') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -120,23 +122,32 @@
size="mini"
@click="handleExport"
v-hasPermi="['business:creditRule:export']"
>{{ $t('common.button.export') }}</el-button>
>{{ $t('common.button.export') }}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="creditRuleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="id" align="center" prop="id" v-if="true"/>
<el-table-column label="规则名称" align="center" prop="ruleName" />
<el-table-column label="规则描述" align="center" prop="ruleDescription" />
<el-table-column label="优先级" align="center" prop="priority" />
<el-table-column label="适用类型" align="center" prop="applicableUserType" />
<el-table-column label="是否启用" align="center" prop="isEnabled" />
<el-table-column label="规则场景" align="center" prop="scene" />
<el-table-column label="规则类型" align="center" prop="type" />
<el-table-column label="反馈方向" align="center" prop="feedbackDirection" />
<el-table-column label="规则值" align="center" prop="value" />
<el-table-column label="规则名称" align="center" prop="ruleName"/>
<el-table-column label="规则描述" align="center" prop="ruleDescription"/>
<el-table-column label="优先级" align="center" prop="priority"/>
<el-table-column label="适用类型" align="center" prop="applicableUserType"/>
<el-table-column label="是否启用" align="center" prop="isEnabled">
<template slot-scope="scope">
<span>{{ scope.row.isEnabled === 1 ? '是' : '否' }}</span>
</template>
</el-table-column>
<el-table-column label="规则场景" align="center" prop="scene"/>
<el-table-column label="规则类型" align="center" prop="type"/>
<el-table-column label="反馈方向" align="center" prop="feedbackDirection">
<template slot-scope="scope">
<span>{{ scope.row.feedbackDirection === 1 ? '正' : '负' }}</span>
</template>
</el-table-column>
<el-table-column label="规则值" align="center" prop="value"/>
<el-table-column label="生效日期" align="center" prop="effectiveDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.effectiveDate, '{y}-{m}-{d}') }}</span>
@ -149,13 +160,18 @@
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">{{ $t('common.button.detail') }}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['business:creditRule:edit']">{{ $t('common.button.edit') }}</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['business:creditRule:remove']">{{ $t('common.button.delete') }}</el-button>
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">
{{ $t('common.button.detail') }}
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['business:creditRule:edit']">{{ $t('common.button.edit') }}
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['business:creditRule:remove']">{{ $t('common.button.delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -163,25 +179,23 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改信用规则对话框 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="auto">
<el-form-item label="规则名称" prop="ruleName">
<el-input v-model="form.ruleName" placeholder="请输入规则名称" />
<el-input v-model="form.ruleName" placeholder="请输入规则名称"/>
</el-form-item>
<el-form-item label="规则描述" prop="ruleDescription">
<el-input v-model="form.ruleDescription" type="textarea" placeholder="请输入内容" />
<el-input v-model="form.ruleDescription" type="textarea" placeholder="请输入内容"/>
</el-form-item>
<el-form-item label="规则生效日期" prop="effectiveDate">
<el-form-item label="生效/失效日期" prop="effectiveDate">
<el-date-picker clearable
v-model="form.effectiveDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择规则生效日期">
</el-date-picker>
</el-form-item>
<el-form-item label="规则失效日期" prop="expirationDate">
<span style="margin: 0 20px;"></span>
<el-date-picker clearable
v-model="form.expirationDate"
type="datetime"
@ -190,23 +204,43 @@
</el-date-picker>
</el-form-item>
<el-form-item label="规则优先级" prop="priority">
<el-input v-model="form.priority" placeholder="请输入规则优先级" />
<el-input v-model="form.priority" placeholder="请输入规则优先级"/>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="是否启用" prop="isEnabled">
<el-input v-model="form.isEnabled" placeholder="请输入是否启用" />
<el-radio-group v-model="form.isEnabled" style="margin-right: 20px;">
<el-radio :label="1"></el-radio>
<el-radio :label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="反馈方向" prop="feedbackDirection">
<el-radio-group v-model="form.feedbackDirection">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="规则场景" prop="scene">
<el-input v-model="form.scene" placeholder="请输入规则场景" />
<el-input v-model="form.scene" placeholder="请输入规则场景"/>
</el-form-item>
<el-form-item label="反馈方向" prop="feedbackDirection">
<el-input v-model="form.feedbackDirection" placeholder="请输入反馈方向" />
<el-form-item label="适用用户" prop="applicableUserType">
<el-input v-model="form.applicableUserType" placeholder="请输入适用用户"/>
</el-form-item>
<el-form-item label="规则值" prop="value">
<el-input v-model="form.value" placeholder="请输入规则值" />
<el-input v-model="form.value" placeholder="请输入规则值"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{ $t('common.button.confirm') }}</el-button>
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{
$t('common.button.confirm')
}}
</el-button>
<el-button @click="cancel">{{ $t('common.button.cancel') }}</el-button>
</div>
</el-dialog>
@ -215,10 +249,10 @@
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body>
<el-form ref="form" :model="form" label-width="auto">
<el-form-item label="规则名称:">
{{form.ruleName}}
{{ form.ruleName }}
</el-form-item>
<el-form-item label="规则描述:">
{{form.ruleDescription}}
{{ form.ruleDescription }}
</el-form-item>
<el-form-item label="规则生效日期" prop="effectiveDate">
@ -238,19 +272,19 @@
</el-date-picker>
</el-form-item>
<el-form-item label="规则优先级:">
{{form.priority}}
{{ form.priority }}
</el-form-item>
<el-form-item label="是否启用:">
{{form.isEnabled}}
{{ form.isEnabled === 1 ? '是' : '否' }}
</el-form-item>
<el-form-item label="规则场景:">
{{form.scene}}
{{ form.scene }}
</el-form-item>
<el-form-item label="反馈方向:">
{{form.feedbackDirection}}
{{ form.feedbackDirection === 1 ? '正' : '负' }}
</el-form-item>
<el-form-item label="规则值:">
{{form.value}}
{{ form.value }}
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -261,7 +295,7 @@
</template>
<script>
import { listCreditRule, getCreditRule, delCreditRule, addCreditRule, updateCreditRule } from "@/api/business/creditRule";
import {listCreditRule, getCreditRule, delCreditRule, addCreditRule, updateCreditRule} from "@/api/business/creditRule";
export default {
name: "CreditRule",
@ -309,41 +343,38 @@ export default {
form: {},
//
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
],
ruleName: [
{ required: true, message: "规则名称不能为空", trigger: "blur" }
{required: true, message: "规则名称不能为空", trigger: "blur"}
],
ruleDescription: [
{ required: true, message: "规则描述不能为空", trigger: "blur" }
{required: true, message: "规则描述不能为空", trigger: "blur"}
],
effectiveDate: [
{ required: true, message: "规则生效日期不能为空", trigger: "blur" }
{required: true, message: "规则生效日期不能为空", trigger: "blur"}
],
expirationDate: [
{ required: true, message: "规则失效日期不能为空", trigger: "blur" }
{required: true, message: "规则失效日期不能为空", trigger: "blur"}
],
priority: [
{ required: true, message: "规则优先级不能为空", trigger: "blur" }
{required: true, message: "规则优先级不能为空", trigger: "blur"}
],
applicableUserType: [
{ required: true, message: "适用用户类型不能为空", trigger: "change" }
{required: true, message: "适用用户类型不能为空", trigger: "change"}
],
isEnabled: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
{required: true, message: "是否启用不能为空", trigger: "blur"}
],
scene: [
{ required: true, message: "规则场景不能为空", trigger: "blur" }
{required: true, message: "规则场景不能为空", trigger: "blur"}
],
type: [
{ required: true, message: "规则类型不能为空", trigger: "change" }
{required: true, message: "规则类型不能为空", trigger: "change"}
],
feedbackDirection: [
{ required: true, message: "反馈方向不能为空", trigger: "blur" }
{required: true, message: "反馈方向不能为空", trigger: "blur"}
],
value: [
{ required: true, message: "规则值不能为空", trigger: "blur" }
{required: true, message: "规则值不能为空", trigger: "blur"}
],
}
};
@ -403,7 +434,7 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
@ -413,7 +444,7 @@ export default {
this.title = "添加信用规则";
},
/** 详情按钮操作 */
handleDetail(row){
handleDetail(row) {
this.reset();
this.form = row;
this.detailOpen = true;

80
src/views/business/userAccount/index.vue

@ -2,15 +2,20 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('business.userAccount.accountName')" prop="accountName">
<el-input v-model="queryParams.accountName" :placeholder="$t('business.userAccount.accountNamePlaceholder')" clearable @keyup.enter.native="handleQuery" />
<el-input v-model="queryParams.accountName" :placeholder="$t('business.userAccount.accountNamePlaceholder')"
clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('common.tableMsg.createTime')">
<el-date-picker v-model="daterangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss"
type="daterange" range-separator="-" :start-placeholder="$t('common.tableMsg.startDate')" :end-placeholder="$t('common.tableMsg.endDate')"
type="daterange" range-separator="-" :start-placeholder="$t('common.tableMsg.startDate')"
:end-placeholder="$t('common.tableMsg.endDate')"
:default-time="['00:00:00', '23:59:59']"></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('common.button.search') }}</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{
$t('common.button.search')
}}
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.button.reset') }}</el-button>
</el-form-item>
</el-form>
@ -18,67 +23,79 @@
<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="['business:userAccount:add']">{{ $t('common.button.add') }}</el-button>
v-hasPermi="['business:userAccount:add']">{{ $t('common.button.add') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
v-hasPermi="['business:userAccount:edit']">{{ $t('common.button.edit') }}</el-button>
v-hasPermi="['business:userAccount:edit']">{{ $t('common.button.edit') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['business:userAccount:remove']">{{ $t('common.button.delete') }}</el-button>
v-hasPermi="['business:userAccount:remove']">{{ $t('common.button.delete') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
v-hasPermi="['business:userAccount:export']">{{ $t('common.button.export') }}</el-button>
v-hasPermi="['business:userAccount:export']">{{ $t('common.button.export') }}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userAccountList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('business.userAccount.accountId')" align="center" prop="accountId" />
<el-table-column :label="$t('business.userAccount.accountCode')" align="center" prop="accountCode" />
<el-table-column :label="$t('business.userAccount.accountName')" align="center" prop="accountName" />
<el-table-column :label="$t('business.userAccount.accountAmount')" align="center" prop="accountAmount" />
<el-table-column type="selection" width="55" align="center"/>
<el-table-column :label="$t('business.userAccount.accountId')" align="center" prop="accountId"/>
<el-table-column :label="$t('business.userAccount.accountCode')" align="center" prop="accountCode"/>
<el-table-column :label="$t('business.userAccount.accountName')" align="center" prop="accountName"/>
<el-table-column :label="$t('business.userAccount.accountAmount')" align="center" prop="accountAmount"/>
<el-table-column :label="$t('business.userAccount.status')" align="center" prop="status">
<template slot-scope="scope">
<el-tag v-if="scope.row.status == '0'">{{ $t('business.userAccount.statusNormal') }}</el-tag>
<el-tag type="danger" v-if="scope.row.status == '1'">{{ $t('business.userAccount.statusFrozen') }}</el-tag>
</template>
</el-table-column>
<el-table-column :label="$t('common.button.operation')" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column :label="$t('common.button.operation')" align="center" width="200"
class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">{{ $t('common.button.detail') }}</el-button>
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">
{{ $t('common.button.detail') }}
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['business:userAccount:edit']">{{ $t('common.button.edit') }}</el-button>
v-hasPermi="['business:userAccount:edit']">{{ $t('common.button.edit') }}
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['business:userAccount:remove']">{{ $t('common.button.delete') }}</el-button>
v-hasPermi="['business:userAccount:remove']">{{ $t('common.button.delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
@pagination="getList"/>
<!-- 添加或修改用户账户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="auto">
<el-form-item :label="$t('business.userAccount.detailAccountId')" prop="accountId">
<el-input v-model="form.accountId" :placeholder="$t('business.userAccount.inputAccountId')" />
<el-input v-model="form.accountId" :placeholder="$t('business.userAccount.inputAccountId')"/>
</el-form-item>
<el-form-item :label="$t('business.userAccount.detailAccountCode')" prop="accountCode">
<el-input v-model="form.accountCode" :placeholder="$t('business.userAccount.inputAccountCode')" />
<el-input v-model="form.accountCode" :placeholder="$t('business.userAccount.inputAccountCode')"/>
</el-form-item>
<el-form-item :label="$t('business.userAccount.detailAccountName')" prop="accountName">
<el-input v-model="form.accountName" :placeholder="$t('business.userAccount.inputAccountName')" />
<el-input v-model="form.accountName" :placeholder="$t('business.userAccount.inputAccountName')"/>
</el-form-item>
<el-form-item :label="$t('business.userAccount.detailAccountAmount')" prop="accountAmount">
<el-input v-model="form.accountAmount" :placeholder="$t('business.userAccount.inputAccountAmount')" />
<el-input v-model="form.accountAmount" :placeholder="$t('business.userAccount.inputAccountAmount')"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{ $t('common.button.confirm') }}</el-button>
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{
$t('common.button.confirm')
}}
</el-button>
<el-button @click="cancel">{{ $t('common.button.cancel') }}</el-button>
</div>
</el-dialog>
@ -87,16 +104,16 @@
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body>
<el-form ref="form" :model="form" label-width="auto">
<el-form-item :label="$t('business.userAccount.detailAccountIdLabel')">
{{form.accountId}}
{{ form.accountId }}
</el-form-item>
<el-form-item :label="$t('business.userAccount.detailAccountCodeLabel')">
{{form.accountCode}}
{{ form.accountCode }}
</el-form-item>
<el-form-item :label="$t('business.userAccount.detailAccountNameLabel')">
{{form.accountName}}
{{ form.accountName }}
</el-form-item>
<el-form-item :label="$t('business.userAccount.detailAccountAmountLabel')">
{{form.accountAmount}}
{{ form.accountAmount }}
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -107,15 +124,15 @@
</template>
<script>
import {
import {
listUserAccount,
getUserAccount,
delUserAccount,
addUserAccount,
updateUserAccount
} from "@/api/business/userAccount";
} from "@/api/business/userAccount";
export default {
export default {
name: "UserAccount",
data() {
return {
@ -288,7 +305,8 @@
this.loading = false;
this.getList();
this.$modal.msgSuccess(this.$t('common.button.deleteSuccess'));
}).catch(() => {}).finally(() => {
}).catch(() => {
}).finally(() => {
this.loading = false;
});
},
@ -299,5 +317,5 @@
}, `userAccount_${new Date().getTime()}.xlsx`)
}
}
};
};
</script>

83
src/views/business/userCredit/index.vue

@ -1,6 +1,15 @@
<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="用户id" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入用户id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="信用评分" prop="score">
<el-input
v-model="queryParams.score"
@ -26,7 +35,10 @@
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('common.button.search') }}</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{
$t('common.button.search')
}}
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.button.reset') }}</el-button>
</el-form-item>
</el-form>
@ -40,7 +52,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['business:userCredit:add']"
>{{ $t('common.button.add') }}</el-button>
>{{ $t('common.button.add') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -51,7 +64,8 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:userCredit:edit']"
>{{ $t('common.button.edit') }}</el-button>
>{{ $t('common.button.edit') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -62,7 +76,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:userCredit:remove']"
>{{ $t('common.button.delete') }}</el-button>
>{{ $t('common.button.delete') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -72,16 +87,19 @@
size="mini"
@click="handleExport"
v-hasPermi="['business:userCredit:export']"
>{{ $t('common.button.export') }}</el-button>
>{{ $t('common.button.export') }}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userCreditList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="用户的信用评分" align="center" prop="score" />
<el-table-column label="累计违规次数" align="center" prop="violationNum" />
<el-table-column label="违规次数比例(%)" align="center" prop="violationPro" />
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="用户ID" align="center" prop="userId"/>
<el-table-column label="用户姓名" align="center" prop="userName"/>
<el-table-column label="用户的信用评分" align="center" prop="score"/>
<el-table-column label="累计违规次数" align="center" prop="violationNum"/>
<el-table-column label="违规次数比例(%)" align="center" prop="violationPro"/>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -89,21 +107,24 @@
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>{{ $t('common.button.detail') }}</el-button>
>{{ $t('common.button.detail') }}
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:userCredit:edit']"
>{{ $t('common.button.edit') }}</el-button>
>{{ $t('common.button.edit') }}
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:userCredit:remove']"
>{{ $t('common.button.delete') }}</el-button>
>{{ $t('common.button.delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
@ -119,18 +140,24 @@
<!-- 添加或修改信用对话框 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="auto">
<el-form-item label="用户ID" prop="userId">
<el-input v-model="form.userId" placeholder="请输入用户ID"/>
</el-form-item>
<el-form-item label="用户的信用评分" prop="score">
<el-input v-model="form.score" placeholder="请输入用户的信用评分" />
<el-input v-model="form.score" placeholder="请输入用户的信用评分"/>
</el-form-item>
<el-form-item label="累计违规次数" prop="violationNum">
<el-input v-model="form.violationNum" placeholder="请输入累计违规次数" />
<el-input v-model="form.violationNum" placeholder="请输入累计违规次数"/>
</el-form-item>
<el-form-item label="违规次数比例(%)" prop="violationPro">
<el-input v-model="form.violationPro" placeholder="请输入违规次数比例" />
<el-input v-model="form.violationPro" placeholder="请输入违规次数比例"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{ $t('common.button.confirm') }}</el-button>
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{
$t('common.button.confirm')
}}
</el-button>
<el-button @click="cancel">{{ $t('common.button.cancel') }}</el-button>
</div>
</el-dialog>
@ -138,14 +165,20 @@
<!-- 信用详情 -->
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body>
<el-form ref="form" :model="form" label-width="auto">
<el-form-item label="用户Id:">
{{ form.userId }}
</el-form-item>
<el-form-item label="用户名:">
{{ form.userName }}
</el-form-item>
<el-form-item label="用户的信用评分:">
{{form.score}}
{{ form.score }}
</el-form-item>
<el-form-item label="累计违规次数:">
{{form.violationNum}}
{{ form.violationNum }}
</el-form-item>
<el-form-item label="违规次数比例(%):">
{{form.violationPro}}
{{ form.violationPro }}
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -156,7 +189,7 @@
</template>
<script>
import { listUserCredit, getUserCredit, delUserCredit, addUserCredit, updateUserCredit } from "@/api/business/userCredit";
import {listUserCredit, getUserCredit, delUserCredit, addUserCredit, updateUserCredit} from "@/api/business/userCredit";
export default {
name: "UserCredit",
@ -198,13 +231,13 @@ export default {
//
rules: {
score: [
{ required: true, message: "用户的信用评分不能为空", trigger: "blur" }
{required: true, message: "用户的信用评分不能为空", trigger: "blur"}
],
violationNum: [
{ required: true, message: "累计违规次数不能为空", trigger: "blur" }
{required: true, message: "累计违规次数不能为空", trigger: "blur"}
],
violationPro: [
{ required: true, message: "违规次数比例不能为空", trigger: "blur" }
{required: true, message: "违规次数比例不能为空", trigger: "blur"}
],
}
};
@ -257,7 +290,7 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
@ -267,7 +300,7 @@ export default {
this.title = "添加信用";
},
/** 详情按钮操作 */
handleDetail(row){
handleDetail(row) {
this.reset();
this.form = row;
this.detailOpen = true;

160
src/views/business/userCreditRecord/index.vue

@ -1,40 +1,51 @@
<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="violationBus">
<el-form-item label="用户Id" prop="userId">
<el-input
v-model="queryParams.violationBus"
v-model="queryParams.userId"
placeholder="请输入违规业务"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="订单号" prop="violationOrd">
<el-input
v-model="queryParams.violationOrd"
placeholder="请输入违规订单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="违规类型" prop="violationType">
<el-form-item label="违规业务" prop="violationBus">
<el-input
v-model="queryParams.violationType"
placeholder="请输入违规类型"
v-model="queryParams.violationBus"
placeholder="请输入违规业务"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="违规级别" prop="violationLevel">
<el-form-item label="订单号" prop="violationOrd">
<el-input
v-model="queryParams.violationLevel"
placeholder="请输入违规级别"
v-model="queryParams.violationOrd"
placeholder="请输入违规订单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="违规类型" prop="violationType">-->
<!-- <el-input-->
<!-- v-model="queryParams.violationType"-->
<!-- placeholder="请输入违规类型"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="违规级别" prop="violationLevel">-->
<!-- <el-input-->
<!-- v-model="queryParams.violationLevel"-->
<!-- placeholder="请输入违规级别"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('common.button.search') }}</el-button>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{
$t('common.button.search')
}}
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.button.reset') }}</el-button>
</el-form-item>
</el-form>
@ -48,7 +59,8 @@
size="mini"
@click="handleAdd"
v-hasPermi="['business:userCreditRecord:add']"
>{{ $t('common.button.add') }}</el-button>
>{{ $t('common.button.add') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -59,7 +71,8 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:userCreditRecord:edit']"
>{{ $t('common.button.edit') }}</el-button>
>{{ $t('common.button.edit') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -70,7 +83,8 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:userCreditRecord:remove']"
>{{ $t('common.button.delete') }}</el-button>
>{{ $t('common.button.delete') }}
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -80,18 +94,21 @@
size="mini"
@click="handleExport"
v-hasPermi="['business:userCreditRecord:export']"
>{{ $t('common.button.export') }}</el-button>
>{{ $t('common.button.export') }}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userCreditRecordList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="违规业务" align="center" prop="violationBus" />
<el-table-column label="违规订单号" align="center" prop="violationOrd" />
<el-table-column label="违规类型" align="center" prop="violationType" />
<el-table-column label="订单金额" align="center" prop="violationSum" />
<el-table-column label="违规级别" align="center" prop="violationLevel" />
<el-table-column type="selection" width="55" align="center"/>
<el-table-column label="用户Id" align="center" prop="userId"/>
<el-table-column label="用户名" align="center" prop="userName"/>
<el-table-column label="违规订单号" align="center" prop="violationOrd"/>
<el-table-column label="规则Id" align="center" prop="creditRuleId"/>
<!-- <el-table-column label="违规类型" align="center" prop="violationType"/>-->
<el-table-column label="订单金额" align="center" prop="violationSum"/>
<!-- <el-table-column label="违规级别" align="center" prop="violationLevel"/>-->
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -99,21 +116,24 @@
type="text"
icon="el-icon-view"
@click="handleDetail(scope.row)"
>{{ $t('common.button.detail') }}</el-button>
>{{ $t('common.button.detail') }}
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:userCreditRecord:edit']"
>{{ $t('common.button.edit') }}</el-button>
>{{ $t('common.button.edit') }}
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:userCreditRecord:remove']"
>{{ $t('common.button.delete') }}</el-button>
>{{ $t('common.button.delete') }}
</el-button>
</template>
</el-table-column>
</el-table>
@ -129,24 +149,24 @@
<!-- 添加或修改信用记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="auto">
<el-form-item label="违规业务" prop="violationBus">
<el-input v-model="form.violationBus" placeholder="请输入违规业务" />
<el-form-item label="用户Id" prop="userId">
<el-input v-model="form.userId" placeholder="请输入用户Id"/>
</el-form-item>
<el-form-item label="规则触发Id" prop="violationBus">
<el-input v-model="form.creditRuleId" placeholder="请输入违规业务"/>
</el-form-item>
<el-form-item label="违规订单号" prop="violationOrd">
<el-input v-model="form.violationOrd" placeholder="请输入违规订单号" />
<el-input v-model="form.violationOrd" placeholder="请输入违规订单号"/>
</el-form-item>
<el-form-item label="订单金额" prop="violationSum">
<el-input v-model="form.violationSum" placeholder="请输入订单金额" />
</el-form-item>
<el-form-item label="违规类型" prop="violationSum">
<el-input v-model="form.violationType" placeholder="请输入违规类型" />
</el-form-item>
<el-form-item label="违规级别" prop="violationLevel">
<el-input v-model="form.violationLevel" placeholder="请输入违规级别" />
<el-input v-model="form.violationSum" placeholder="请输入订单金额"/>
</el-form-item>
</el-form>
# <div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{ $t('common.button.confirm') }}</el-button>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{
$t('common.button.confirm')
}}
</el-button>
<el-button @click="cancel">{{ $t('common.button.cancel') }}</el-button>
</div>
</el-dialog>
@ -154,21 +174,30 @@
<!-- 信用记录详情 -->
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body>
<el-form ref="form" :model="form" label-width="auto">
<el-form-item label="违规业务:">
{{form.violationBus}}
<el-form-item label="用户Id:">
{{ form.userId }}
</el-form-item>
<el-form-item label="违规订单号:">
{{form.violationOrd}}
<el-form-item label="用户名:">
{{ form.userName }}
</el-form-item>
<el-form-item label="订单金额:">
{{form.violationSum}}
<!-- <el-form-item label="违规业务:">-->
<!-- {{ form.violationBus }}-->
<!-- </el-form-item>-->
<el-form-item label="违规订单号:">
{{ form.violationOrd }}
</el-form-item>
<el-form-item label="违规类型:">
{{form.violationType}}
<el-form-item label="违规订单号:">
{{ form.creditRuleId }}
</el-form-item>
<el-form-item label="违规级别:">
{{form.violationLevel}}
<el-form-item label="订单金额:">
{{ form.violationSum }}
</el-form-item>
<!-- <el-form-item label="违规类型:">-->
<!-- {{ form.violationType }}-->
<!-- </el-form-item>-->
<!-- <el-form-item label="违规级别:">-->
<!-- {{ form.violationLevel }}-->
<!-- </el-form-item>-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">{{ $t('common.button.close') }}</el-button>
@ -178,7 +207,13 @@
</template>
<script>
import { listUserCreditRecord, getUserCreditRecord, delUserCreditRecord, addUserCreditRecord, updateUserCreditRecord } from "@/api/business/userCreditRecord";
import {
listUserCreditRecord,
getUserCreditRecord,
delUserCreditRecord,
addUserCreditRecord,
updateUserCreditRecord
} from "@/api/business/userCreditRecord";
export default {
name: "UserCreditRecord",
@ -216,25 +251,20 @@ export default {
violationType: undefined,
violationSum: undefined,
violationLevel: undefined,
creditRuleId: undefined,
},
//
form: {},
//
rules: {
violationBus: [
{ required: true, message: "违规业务不能为空", trigger: "blur" }
userId: [
{required: true, message: "用户Id不能为空", trigger: "blur"}
],
violationOrd: [
{ required: true, message: "违规订单号不能为空", trigger: "blur" }
],
violationType: [
{ required: true, message: "违规类型不能为空", trigger: "change" }
{required: true, message: "违规订单号不能为空", trigger: "blur"}
],
violationSum: [
{ required: true, message: "订单金额不能为空", trigger: "blur" }
],
violationLevel: [
{ required: true, message: "违规级别不能为空", trigger: "blur" }
{required: true, message: "订单金额不能为空", trigger: "blur"}
],
}
};
@ -289,7 +319,7 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
@ -299,7 +329,7 @@ export default {
this.title = "添加信用记录";
},
/** 详情按钮操作 */
handleDetail(row){
handleDetail(row) {
this.reset();
this.form = row;
this.detailOpen = true;

Loading…
Cancel
Save