Browse Source

客服和用户行为国际化函数替换

main
yyd 1 month ago
parent
commit
2e8aadc8cd
  1. 14
      src/languages/zh.js
  2. 16
      src/views/business/customerServiceChat/index.vue
  3. 108
      src/views/business/faq/index.vue
  4. 110
      src/views/business/userBehaviorLog/index.vue
  5. 90
      src/views/business/userBehaviorRuleRisk/index.vue
  6. 94
      src/views/business/userBehaviorStats/index.vue

14
src/languages/zh.js

@ -828,15 +828,6 @@ export default {
userCredit: {},
userCreditRecord: {},
},
behavior: {
userBehaviorLog: {},
userBehaviorStats: {},
rule: {
userBehaviorRuleRisk: {},
userBehaviorRuleAction: {},
},
behaviorModelInfo: {},
},
order: {
dealPayment: {},
dealReceipt: {},
@ -949,11 +940,6 @@ export default {
receipt: '收款',
withdrawal: '提现',
},
},
customerSupport: {
commonFeedback: {},
customerServiceChat: {},
faq: {},
}
}
}

16
src/views/business/customerServiceChat/index.vue

@ -103,12 +103,8 @@
<span>{{ parseTime(scope.row.timestamp, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="是否已读" align="center" prop="isRead">
<template slot-scope="scope">
<span>{{ scope.row.isRead === '1' ? '是' : '否' }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column :label="$t('business.customerSupport.customerServiceChat.isRead')" align="center" prop="isRead"/>
<el-table-column :label="$t('business.customerSupport.customerServiceChat.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-edit" @click="handleUpdate(scope.row)" v-hasPermi="['business:customerServiceChat:edit']">{{ $t('common.button.edit') }}</el-button>
@ -146,10 +142,7 @@
</el-date-picker>
</el-form-item>
<el-form-item label="是否已读" prop="isRead">
<el-select v-model="form.isRead" placeholder="请选择是否已读">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
<el-input v-model="form.isRead" placeholder="请输入是否已读"/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -169,6 +162,7 @@
</el-form-item>
<el-form-item label="消息内容:">
{{ form.message }}
</el-form-item>
<el-form-item label="消息发送时间" prop="timestamp">
<el-date-picker clearable
@ -179,7 +173,7 @@
</el-date-picker>
</el-form-item>
<el-form-item label="是否已读:">
{{ form.isRead === '1' ? '是' : '否'}}
{{ form.isRead }}
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">

108
src/views/business/faq/index.vue

@ -1,25 +1,25 @@
<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="question">
<el-form-item :label="$t('business.customerSupport.faq.questionDesc')" prop="question">
<el-input
v-model="queryParams.question"
placeholder="请输入问题描述"
:placeholder="$t('business.customerSupport.faq.enterQuestionDesc')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="答案内容" prop="answer">
<el-form-item :label="$t('business.customerSupport.faq.answerContent')" prop="answer">
<el-input
v-model="queryParams.answer"
placeholder="请输入答案内容"
:placeholder="$t('business.customerSupport.faq.enterAnswerContent')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="问题分类" prop="category">
<el-form-item :label="$t('business.customerSupport.faq.category')" prop="category">
<!-- 下拉框-->
<el-select v-model="queryParams.category" placeholder="请选择问题分类" clearable>
<el-select v-model="queryParams.category" :placeholder="$t('business.customerSupport.faq.selectCategory')" clearable>
<el-option
v-for="dict in categoryOptions"
:key="dict.dictValue"
@ -28,9 +28,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-form-item :label="$t('business.customerSupport.faq.status')" prop="status">
<!-- 下拉框 -->
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-select v-model="queryParams.status" :placeholder="$t('business.customerSupport.faq.selectStatus')" clearable>
<el-option
v-for="dict in statusOptions"
:key="dict.dictValue"
@ -41,10 +41,10 @@
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{
$t('common.button.search')
$t('business.customerSupport.faq.search')
}}
</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.button.reset') }}</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('business.customerSupport.faq.reset') }}</el-button>
</el-form-item>
</el-form>
@ -57,7 +57,7 @@
size="mini"
@click="handleAdd"
v-hasPermi="['business:faq:add']"
>{{ $t('common.button.add') }}
>{{ $t('business.customerSupport.faq.add') }}
</el-button>
</el-col>
<el-col :span="1.5">
@ -69,7 +69,7 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:faq:edit']"
>{{ $t('common.button.edit') }}
>{{ $t('business.customerSupport.faq.edit') }}
</el-button>
</el-col>
<el-col :span="1.5">
@ -81,7 +81,7 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:faq:remove']"
>{{ $t('common.button.delete') }}
>{{ $t('business.customerSupport.faq.delete') }}
</el-button>
</el-col>
<el-col :span="1.5">
@ -92,7 +92,7 @@
size="mini"
@click="handleExport"
v-hasPermi="['business:faq:export']"
>{{ $t('common.button.export') }}
>{{ $t('business.customerSupport.faq.export') }}
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -100,27 +100,27 @@
<el-table v-loading="loading" :data="faqList" @selection-change="handleSelectionChange">
<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="question"/>
<el-table-column label="答案内容" align="center" prop="answer"/>
<el-table-column label="问题分类" align="center" prop="category">
<el-table-column :label="$t('business.customerSupport.faq.id')" align="center" prop="id" v-if="true"/>
<el-table-column :label="$t('business.customerSupport.faq.questionDesc')" align="center" prop="question"/>
<el-table-column :label="$t('business.customerSupport.faq.answerContent')" align="center" prop="answer"/>
<el-table-column :label="$t('business.customerSupport.faq.category')" align="center" prop="category">
<template slot-scope="scope">
<span>{{ formatCategory(scope.row.category) }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<el-table-column :label="$t('business.customerSupport.faq.status')" align="center" prop="status">
<template slot-scope="scope">
<span>{{ formatStatus(scope.row.status) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column :label="$t('common.tableMsg.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') }}
>{{ $t('business.customerSupport.faq.detail') }}
</el-button>
<el-button
size="mini"
@ -128,7 +128,7 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:faq:edit']"
>{{ $t('common.button.edit') }}
>{{ $t('business.customerSupport.faq.edit') }}
</el-button>
<el-button
size="mini"
@ -136,7 +136,7 @@
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:faq:remove']"
>{{ $t('common.button.delete') }}
>{{ $t('business.customerSupport.faq.delete') }}
</el-button>
</template>
</el-table-column>
@ -153,18 +153,18 @@
<!-- 添加或修改常见问题及答案对话框 -->
<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="question">
<el-input v-model="form.question" type="textarea" placeholder="请输入内容"/>
<el-form-item :label="$t('business.customerSupport.faq.questionDesc')" prop="question">
<el-input v-model="form.question" type="textarea" :placeholder="$t('business.customerSupport.faq.enterQuestionDesc')"/>
</el-form-item>
<el-form-item label="答案内容" prop="answer">
<el-input v-model="form.answer" type="textarea" placeholder="请输入内容"/>
<el-form-item :label="$t('business.customerSupport.faq.answerContent')" prop="answer">
<el-input v-model="form.answer" type="textarea" :placeholder="$t('business.customerSupport.faq.enterAnswerContent')"/>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="问题分类" prop="category">
<el-form-item :label="$t('business.customerSupport.faq.category')" prop="category">
<!-- 下拉框-->
<el-select v-model="form.category" placeholder="请选择问题分类" clearable>
<el-select v-model="form.category" :placeholder="$t('business.customerSupport.faq.selectCategory')" clearable>
<el-option
v-for="dict in categoryOptions"
:key="dict.dictValue"
@ -175,7 +175,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="状态" prop="status">
<el-form-item :label="$t('business.customerSupport.faq.status')" prop="status">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in statusOptions"
@ -190,31 +190,31 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{
$t('common.button.confirm')
$t('business.customerSupport.faq.confirm')
}}
</el-button>
<el-button @click="cancel">{{ $t('common.button.cancel') }}</el-button>
<el-button @click="cancel">{{ $t('business.customerSupport.faq.cancel') }}</el-button>
</div>
</el-dialog>
<!-- 常见问题及答案详情 -->
<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="问题描述:">
<el-form-item :label="$t('business.customerSupport.faq.questionDesc') + ':'">
{{ form.question }}
</el-form-item>
<el-form-item label="答案内容:">
<el-form-item :label="$t('business.customerSupport.faq.answerContent') + ':'">
{{ form.answer }}
</el-form-item>
<el-form-item label="问题分类:">
<el-form-item :label="$t('business.customerSupport.faq.category') + ':'">
{{ formatCategory(form.category) }}
</el-form-item>
<el-form-item label="状态:">
<el-form-item :label="$t('business.customerSupport.faq.status') + ':'">
{{ formatStatus(form.status) }}
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">{{ $t('common.button.close') }}</el-button>
<el-button @click="cancel">{{ $t('business.customerSupport.faq.close') }}</el-button>
</div>
</el-dialog>
</div>
@ -259,14 +259,14 @@ export default {
status: undefined,
},
categoryOptions: [
{dictValue: '1', dictLabel: '支付问题'},
{dictValue: '2', dictLabel: '账户问题'},
{dictValue: '3', dictLabel: '交易问题'},
{dictValue: '4', dictLabel: '技术/积分问题'}
{dictValue: '1', dictLabel: this.$t('business.customerSupport.faq.categoryPayment')},
{dictValue: '2', dictLabel: this.$t('business.customerSupport.faq.categoryAccount')},
{dictValue: '3', dictLabel: this.$t('business.customerSupport.faq.categoryTrade')},
{dictValue: '4', dictLabel: this.$t('business.customerSupport.faq.categoryTechOrPoints')}
],
statusOptions: [
{dictValue: '0', dictLabel: '无效'},
{dictValue: '1', dictLabel: '有效'}
{dictValue: '0', dictLabel: this.$t('business.customerSupport.faq.invalid')},
{dictValue: '1', dictLabel: this.$t('business.customerSupport.faq.valid')}
],
//
form: {
@ -278,16 +278,16 @@ export default {
//
rules: {
question: [
{required: true, message: "问题描述不能为空", trigger: "blur"}
{required: true, message: this.$t('business.customerSupport.faq.questionRequired'), trigger: "blur"}
],
answer: [
{required: true, message: "答案内容不能为空", trigger: "blur"}
{required: true, message: this.$t('business.customerSupport.faq.answerRequired'), trigger: "blur"}
],
category: [
{required: true, message: "问题分类不能为空", trigger: "blur"}
{required: true, message: this.$t('business.customerSupport.faq.categoryRequired'), trigger: "blur"}
],
status: [
{required: true, message: "状态不能为空", trigger: "change"}
{required: true, message: this.$t('business.customerSupport.faq.statusRequired'), trigger: "change"}
],
}
};
@ -354,14 +354,14 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加常见问题及答案";
this.title = this.$t("business.customerSupport.faq.addTitle");
},
/** 详情按钮操作 */
handleDetail(row) {
this.reset();
this.form = row;
this.detailOpen = true;
this.title = "常见问题及答案";
this.title = this.$t("business.customerSupport.faq.detailTitle");
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -372,7 +372,7 @@ export default {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改常见问题及答案";
this.title = this.$t("business.customerSupport.faq.editTitle");
});
},
/** 提交按钮 */
@ -382,7 +382,7 @@ export default {
this.buttonLoading = true;
if (this.form.id != null) {
updateFaq(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t("business.customerSupport.faq.updateSuccess"));
this.open = false;
this.getList();
}).finally(() => {
@ -390,7 +390,7 @@ export default {
});
} else {
addFaq(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t("business.customerSupport.faq.addSuccess"));
this.open = false;
this.getList();
}).finally(() => {
@ -403,13 +403,13 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除常见问题及答案编号为"' + ids + '"的数据项?').then(() => {
this.$modal.confirm(this.$t('business.customerSupport.faq.deleteConfirm')).then(() => {
this.loading = true;
return delFaq(ids);
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t('business.customerSupport.faq.deleteSuccess'));
}).catch(() => {
}).finally(() => {
this.loading = false;

110
src/views/business/userBehaviorLog/index.vue

@ -1,24 +1,24 @@
<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-form-item :label="$t('business.behavior.userBehaviorLog.userIdLabel')" prop="userId">
<el-input
v-model="queryParams.userId"
placeholder="请输入关联用户ID"
:placeholder="$t('business.behavior.userBehaviorLog.userIdPlaceholder')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="IP地址" prop="ip">
<el-form-item :label="$t('business.behavior.userBehaviorLog.ipLabel')" prop="ip">
<el-input
v-model="queryParams.ip"
placeholder="请输入客户端IP地址"
:placeholder="$t('business.behavior.userBehaviorLog.ipPlaceholder')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="行为类型" prop="behaviorType">
<el-select v-model="queryParams.behaviorType" placeholder="请选择行为类型" clearable>
<el-form-item :label="$t('business.behavior.userBehaviorLog.behaviorTypeLabel')" prop="behaviorType">
<el-select v-model="queryParams.behaviorType" :placeholder="$t('business.behavior.userBehaviorLog.behaviorTypePlaceholder')" clearable>
<el-option
v-for="dict in behaviorTypeOptions"
:key="dict.dictValue"
@ -27,8 +27,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="设备类型" prop="deviceType">
<el-select v-model="queryParams.deviceType" placeholder="请选择设备类型" clearable>
<el-form-item :label="$t('business.behavior.userBehaviorLog.deviceTypeLabel')" prop="deviceType">
<el-select v-model="queryParams.deviceType" :placeholder="$t('business.behavior.userBehaviorLog.deviceTypePlaceholder')" clearable>
<el-option
v-for="dict in deviceTypeOptions"
:key="dict.dictValue"
@ -37,8 +37,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="平台类型" prop="platform">
<el-select v-model="queryParams.platform" placeholder="请选择平台类型" clearable>
<el-form-item :label="$t('business.behavior.userBehaviorLog.platformLabel')" prop="platform">
<el-select v-model="queryParams.platform" :placeholder="$t('business.behavior.userBehaviorLog.platformPlaceholder')" clearable>
<el-option
v-for="dict in platformOptions"
:key="dict.dictValue"
@ -108,10 +108,10 @@
<el-table v-loading="loading" :data="userBehaviorLogList" @selection-change="handleSelectionChange">
<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="用户ID" align="center" prop="userId"/>
<el-table-column label="用户名" align="center" prop="userName"/>
<el-table-column label="行为类型" align="center" prop="behaviorType">
<el-table-column :label="$t('business.behavior.userBehaviorLog.idLabel')" align="center" prop="id" v-if="true"/>
<el-table-column :label="$t('business.behavior.userBehaviorLog.userIdLabel')" align="center" prop="userId"/>
<el-table-column :label="$t('business.behavior.userBehaviorLog.userNameLabel')" align="center" prop="userName"/>
<el-table-column :label="$t('business.behavior.userBehaviorLog.behaviorTypeLabel')" align="center" prop="behaviorType">
<template slot-scope="scope">
<span>{{ getBehaviorTypeLabel(scope.row.behaviorType) }}</span>
</template>
@ -119,21 +119,21 @@
<!-- <el-table-column label="动作标识" align="center" prop="action"/> -->
<!-- <el-table-column label="目标ID" align="center" prop="targetId"/>
<el-table-column label="目标对象类型" align="center" prop="targetType"/> -->
<el-table-column label="IP地址" align="center" prop="ip"/>
<el-table-column label="浏览器" align="center" prop="ua"/>
<el-table-column label="设备类型" align="center" prop="deviceType">
<el-table-column :label="$t('business.behavior.userBehaviorLog.ipLabel')" align="center" prop="ip"/>
<el-table-column :label="$t('business.behavior.userBehaviorLog.uaLabel')" align="center" prop="ua"/>
<el-table-column :label="$t('business.behavior.userBehaviorLog.deviceTypeLabel')" align="center" prop="deviceType">
<template slot-scope="scope">
<span>{{ getDeviceTypeLabel(scope.row.deviceType) }}</span>
</template>
</el-table-column>
<el-table-column label="平台类型" align="center" prop="platform">
<el-table-column :label="$t('business.behavior.userBehaviorLog.platformLabel')" align="center" prop="platform">
<template slot-scope="scope">
<span>{{ getPlatformLabel(scope.row.platform) }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="地理位置" align="center" prop="location"/> -->
<!-- <el-table-column label="扩展字段,用于存储额外信息" align="center" prop="extraInfo"/> -->
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column :label="$t('business.behavior.userBehaviorLog.operationLabel')" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
@ -173,8 +173,8 @@
<!-- 添加或修改用户行为日志对话框 -->
<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 :label="$t('business.behavior.userBehaviorLog.userIdLabel')" prop="userId">
<el-input v-model="form.userId" :placeholder="$t('business.behavior.userBehaviorLog.userIdPlaceholder')"/>
</el-form-item>
<!-- <el-form-item label="具体动作标识" prop="action">
<el-input v-model="form.action" placeholder="请输入具体动作标识"/>
@ -182,14 +182,14 @@
<!-- <el-form-item label="目标对象ID" prop="targetId">
<el-input v-model="form.targetId" placeholder="请输入目标对象ID"/>
</el-form-item> -->
<el-form-item label="客户端IP地址" prop="ip">
<el-input v-model="form.ip" placeholder="请输入客户端IP地址"/>
<el-form-item :label="$t('business.behavior.userBehaviorLog.ipLabel')" prop="ip">
<el-input v-model="form.ip" :placeholder="$t('business.behavior.userBehaviorLog.ipPlaceholder')"/>
</el-form-item>
<el-form-item label="浏览器" prop="ua">
<el-input v-model="form.ua" placeholder="请输入内容"/>
<el-form-item :label="$t('business.behavior.userBehaviorLog.uaLabel')" prop="ua">
<el-input v-model="form.ua" :placeholder="$t('business.behavior.userBehaviorLog.uaPlaceholder')"/>
</el-form-item>
<el-form-item label="行为类型" prop="behaviorType">
<el-select v-model="form.behaviorType" placeholder="请选择行为类型">
<el-form-item :label="$t('business.behavior.userBehaviorLog.behaviorTypeLabel')" prop="behaviorType">
<el-select v-model="form.behaviorType" :placeholder="$t('business.behavior.userBehaviorLog.behaviorTypePlaceholder')">
<el-option
v-for="dict in behaviorTypeOptions"
:key="dict.dictValue"
@ -198,8 +198,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="设备类型" prop="deviceType">
<el-select v-model="form.deviceType" placeholder="请选择设备类型">
<el-form-item :label="$t('business.behavior.userBehaviorLog.deviceTypeLabel')" prop="deviceType">
<el-select v-model="form.deviceType" :placeholder="$t('business.behavior.userBehaviorLog.deviceTypePlaceholder')">
<el-option
v-for="dict in deviceTypeOptions"
:key="dict.dictValue"
@ -208,8 +208,8 @@
/>
</el-select>
</el-form-item>
<el-form-item label="平台类型" prop="platform">
<el-select v-model="form.platform" placeholder="请选择平台类型">
<el-form-item :label="$t('business.behavior.userBehaviorLog.platformLabel')" prop="platform">
<el-select v-model="form.platform" :placeholder="$t('business.behavior.userBehaviorLog.platformPlaceholder')">
<el-option
v-for="dict in platformOptions"
:key="dict.dictValue"
@ -231,10 +231,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="关联用户ID:">
<el-form-item :label="$t('business.behavior.userBehaviorLog.detailUserIdLabel')">
{{ form.userId }}
</el-form-item>
<el-form-item label="用户名:">
<el-form-item :label="$t('business.behavior.userBehaviorLog.detailUserNameLabel')">
{{ form.userName }}
</el-form-item>
<!-- <el-form-item label="具体动作标识:">
@ -243,19 +243,19 @@
<!-- <el-form-item label="目标对象ID:">
{{ form.targetId }}
</el-form-item> -->
<el-form-item label="客户端IP地址:">
<el-form-item :label="$t('business.behavior.userBehaviorLog.detailIpLabel')">
{{ form.ip }}
</el-form-item>
<el-form-item label="浏览器:">
<el-form-item :label="$t('business.behavior.userBehaviorLog.detailUaLabel')">
{{ form.ua }}
</el-form-item>
<el-form-item label="行为类型:">
<el-form-item :label="$t('business.behavior.userBehaviorLog.detailBehaviorTypeLabel')">
{{ getBehaviorTypeLabel(form.behaviorType) }}
</el-form-item>
<el-form-item label="设备类型:">
<el-form-item :label="$t('business.behavior.userBehaviorLog.detailDeviceTypeLabel')">
{{ getDeviceTypeLabel(form.deviceType) }}
</el-form-item>
<el-form-item label="平台类型:">
<el-form-item :label="$t('business.behavior.userBehaviorLog.detailPlatformLabel')">
{{ getPlatformLabel(form.platform) }}
</el-form-item>
</el-form>
@ -325,23 +325,23 @@ export default {
{dictValue: '3', dictLabel: 'Android'},
],
behaviorTypeOptions: [
{dictValue: '1', dictLabel: '登录'},
{dictValue: '2', dictLabel: '支付'},
{dictValue: '3', dictLabel: '实名认证'},
{dictValue: '4', dictLabel: '点击操作'},
{dictValue: '5', dictLabel: '访问页面'},
{dictValue: '6', dictLabel: '登出'}
{dictValue: '1', dictLabel: this.$t('business.behavior.userBehaviorLog.loginLabel')},
{dictValue: '2', dictLabel: this.$t('business.behavior.userBehaviorLog.paymentLabel')},
{dictValue: '3', dictLabel: this.$t('business.behavior.userBehaviorLog.realNameAuthLabel')},
{dictValue: '4', dictLabel: this.$t('business.behavior.userBehaviorLog.clickOperationLabel')},
{dictValue: '5', dictLabel: this.$t('business.behavior.userBehaviorLog.visitPageLabel')},
{dictValue: '6', dictLabel: this.$t('business.behavior.userBehaviorLog.logoutLabel')}
],
deviceTypeOptions: [
{dictValue: '1', dictLabel: 'PC'},
{dictValue: '2', dictLabel: '移动设备'},
{dictValue: '3', dictLabel: '平板设备'}
{dictValue: '2', dictLabel: this.$t('business.behavior.userBehaviorLog.mobileDeviceLabel')},
{dictValue: '3', dictLabel: this.$t('business.behavior.userBehaviorLog.tabletDeviceLabel')}
],
//
rules: {
userId: [
{ required: true, message: "用户关联ID不能为空", trigger: "blur" },
{ pattern: /^\d+$/, message: "用户关联ID必须为数字", trigger: "blur" }
{ required: true, message: this.$t('business.behavior.userBehaviorLog.userIdRequired'), trigger: "blur" },
{ pattern: /^\d+$/, message: this.$t('business.behavior.userBehaviorLog.userIdMustNumber'), trigger: "blur" }
],}
};
},
@ -407,14 +407,14 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加用户行为日志";
this.title = this.$t('business.behavior.userBehaviorLog.addTitle');
},
/** 详情按钮操作 */
handleDetail(row) {
this.reset();
this.form = row;
this.detailOpen = true;
this.title = "用户行为日志";
this.title = this.$t('business.behavior.userBehaviorLog.behaviorLog');
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -425,7 +425,7 @@ export default {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改用户行为日志";
this.title = $t('business.behavior.userBehaviorLog.editTitle');
});
},
/** 提交按钮 */
@ -435,7 +435,7 @@ export default {
this.buttonLoading = true;
if (this.form.id != null) {
updateUserBehaviorLog(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t('common.promptMsg.editSuccess'));
this.open = false;
this.getList();
}).finally(() => {
@ -443,7 +443,7 @@ export default {
});
} else {
addUserBehaviorLog(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t('common.promptMsg.addSuccess'));
this.open = false;
this.getList();
}).finally(() => {
@ -456,13 +456,13 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除用户行为日志编号为"' + ids + '"的数据项?').then(() => {
this.$modal.confirm(this.$t('common.promptMsg.deleteConfirm')).then(() => {
this.loading = true;
return delUserBehaviorLog(ids);
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t('common.promptMsg.deleteSuccess'));
}).catch(() => {
}).finally(() => {
this.loading = false;

90
src/views/business/userBehaviorRuleRisk/index.vue

@ -1,34 +1,34 @@
<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="ruleName">
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.ruleName')" prop="ruleName">
<el-input
v-model="queryParams.ruleName"
placeholder="请输入规则名称"
:placeholder="$t('business.behavior.rule.userBehaviorRuleRisk.ruleNamePlaceholder')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="优先级" prop="priority">
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.priority')" prop="priority">
<el-input
v-model="queryParams.priority"
placeholder="请输入规则优先级"
:placeholder="$t('business.behavior.rule.userBehaviorRuleRisk.priorityPlaceholder')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规则描述" prop="description">
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.description')" prop="description">
<el-input
v-model="queryParams.description"
placeholder="请输入规则描述"
:placeholder="$t('business.behavior.rule.userBehaviorRuleRisk.descriptionPlaceholder')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否启用" prop="isEnabled">
<el-select v-model="queryParams.isEnabled" placeholder="请选择是否启用">
<el-option label="是" value="1" />
<el-option label="否" value="0" />
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.isEnabled')" prop="isEnabled">
<el-select v-model="queryParams.isEnabled" :placeholder="$t('business.behavior.rule.userBehaviorRuleRisk.isEnabledPlaceholder')">
<el-option :label="$t('business.behavior.rule.userBehaviorRuleRisk.enabledYes')" value="1" />
<el-option :label="$t('business.behavior.rule.userBehaviorRuleRisk.enabledNo')" value="0" />
</el-select>
</el-form-item>
<el-form-item>
@ -90,17 +90,17 @@
<el-table v-loading="loading" :data="userBehaviorRuleRiskList" @selection-change="handleSelectionChange">
<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="triggerCondition"/>
<el-table-column label="规则优先级" align="center" prop="priority"/>
<el-table-column label="规则描述" align="center" prop="description"/>
<el-table-column label="是否启用" align="center" prop="isEnabled">
<el-table-column :label="$t('business.behavior.rule.userBehaviorRuleRisk.ruleName')" align="center" prop="ruleName"/>
<el-table-column :label="$t('business.behavior.rule.userBehaviorRuleRisk.triggerCondition')" align="center" prop="triggerCondition"/>
<el-table-column :label="$t('business.behavior.rule.userBehaviorRuleRisk.priority')" align="center" prop="priority"/>
<el-table-column :label="$t('business.behavior.rule.userBehaviorRuleRisk.description')" align="center" prop="description"/>
<el-table-column :label="$t('business.behavior.rule.userBehaviorRuleRisk.isEnabled')" align="center" prop="isEnabled">
<template slot-scope="scope">
{{ scope.row.isEnabled == '1' ? '是' : '否' }}
{{ scope.row.isEnabled == '1' ? $t('business.behavior.rule.userBehaviorRuleRisk.enabledYes') : $t('business.behavior.rule.userBehaviorRuleRisk.enabledNo') }}
</template>
</el-table-column>
<!-- <el-table-column label="规则状态" align="center" prop="status"/> -->
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column :label="$t('business.behavior.rule.userBehaviorRuleRisk.operation')" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
@ -140,19 +140,19 @@
<!-- 添加或修改风险识别规则对话框 -->
<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-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.ruleName')" prop="ruleName">
<el-input v-model="form.ruleName" :placeholder="$t('business.behavior.rule.userBehaviorRuleRisk.ruleNamePlaceholder')"/>
</el-form-item>
<el-form-item label="规则优先级" prop="priority">
<el-input v-model="form.priority" placeholder="请输入规则优先级"/>
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.priority')" prop="priority">
<el-input v-model="form.priority" :placeholder="$t('business.behavior.rule.userBehaviorRuleRisk.priorityPlaceholder')"/>
</el-form-item>
<el-form-item label="规则描述" prop="description">
<el-input v-model="form.description" type="textarea" placeholder="请输入内容"/>
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.description')" prop="description">
<el-input v-model="form.description" type="textarea" :placeholder="$t('business.behavior.rule.userBehaviorRuleRisk.descriptionPlaceholder')"/>
</el-form-item>
<el-form-item label="是否启用" prop="isEnabled">
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.isEnabled')" prop="isEnabled">
<el-radio-group v-model="form.isEnabled">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
<el-radio label="1">{{$t('business.behavior.rule.userBehaviorRuleRisk.enabledYes')}}</el-radio>
<el-radio label="0">{{$t('business.behavior.rule.userBehaviorRuleRisk.enabledNo')}}</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
@ -165,17 +165,17 @@
<!-- 风险识别规则详情 -->
<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="规则名称:">
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.ruleNameLabel') + ':'">
{{ form.ruleName }}
</el-form-item>
<el-form-item label="规则优先级:">
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.priorityLabel') + ':'">
{{ form.priority }}
</el-form-item>
<el-form-item label="规则描述:">
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.descriptionLabel') + ':'">
{{ form.description }}
</el-form-item>
<el-form-item label="是否启用:">
{{ form.isEnabled == '1' ? '是' : '否' }}
<el-form-item :label="$t('business.behavior.rule.userBehaviorRuleRisk.isEnabledLabel') + ':'">
{{ form.isEnabled == '1' ? $t('business.behavior.rule.userBehaviorRuleRisk.enabledYes') : $t('business.behavior.rule.userBehaviorRuleRisk.enabledNo') }}
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -236,25 +236,25 @@ export default {
//
rules: {
id: [
{required: true, message: "不能为空", trigger: "blur"}
{required: true, message: this.$t('business.behavior.rule.userBehaviorRuleRisk.idRequired'), trigger: "blur"}
],
ruleName: [
{required: true, message: "规则名称不能为空", trigger: "blur"}
{required: true, message: this.$t('business.behavior.rule.userBehaviorRuleRisk.ruleNameRequired'), trigger: "blur"}
],
triggerCondition: [
{required: true, message: "触发条件不能为空", trigger: "blur"}
{required: true, message: this.$t('business.behavior.rule.userBehaviorRuleRisk.triggerConditionRequired'), trigger: "blur"}
],
priority: [
{required: true, message: "规则优先级不能为空", trigger: "blur"}
{required: true, message: this.$t('business.behavior.rule.userBehaviorRuleRisk.priorityRequired'), trigger: "blur"}
],
description: [
{required: true, message: "规则描述不能为空", trigger: "blur"}
{required: true, message: this.$t('business.behavior.rule.userBehaviorRuleRisk.descriptionRequired'), trigger: "blur"}
],
isEnabled: [
{required: true, message: "是否启用不能为空", trigger: "blur"}
{required: true, message: this.$t('business.behavior.rule.userBehaviorRuleRisk.isEnabledRequired'), trigger: "blur"}
],
status: [
{required: true, message: "规则状态不能为空", trigger: "change"}
{required: true, message: this.$t('business.behavior.rule.userBehaviorRuleRisk.statusRequired'), trigger: "change"}
],
}
};
@ -316,14 +316,14 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加风险识别规则";
this.title = this.$t('business.behavior.rule.userBehaviorRuleRisk.addTitle');
},
/** 详情按钮操作 */
handleDetail(row) {
this.reset();
this.form = row;
this.detailOpen = true;
this.title = "风险识别规则";
this.title = this.$t('business.behavior.rule.userBehaviorRuleRisk.detailTitle');
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -334,7 +334,7 @@ export default {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改风险识别规则";
this.title = this.$t('business.behavior.rule.userBehaviorRuleRisk.updateTitle');
});
},
/** 提交按钮 */
@ -344,7 +344,7 @@ export default {
this.buttonLoading = true;
if (this.form.id != null) {
updateUserBehaviorRuleRisk(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t('common.promptMsg.editSuccess'));
this.open = false;
this.getList();
}).finally(() => {
@ -352,7 +352,7 @@ export default {
});
} else {
addUserBehaviorRuleRisk(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t('common.promptMsg.addSuccess'));
this.open = false;
this.getList();
}).finally(() => {
@ -365,13 +365,13 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除风险识别规则编号为"' + ids + '"的数据项?').then(() => {
this.$modal.confirm(this.$t('common.promptMsg.deleteConfirm', { ids })).then(() => {
this.loading = true;
return delUserBehaviorRuleRisk(ids);
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t('common.promptMsg.deleteSuccess'));
}).catch(() => {
}).finally(() => {
this.loading = false;

94
src/views/business/userBehaviorStats/index.vue

@ -1,12 +1,12 @@
<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="statDate">
<el-form-item :label="$t('business.behavior.userBehaviorStats.statDateLabel')" prop="statDate">
<el-date-picker clearable
v-model="queryParams.statDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择统计日期">
:placeholder="$t('business.behavior.userBehaviorStats.statDatePlaceholder')">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="动作标识" prop="action">
@ -17,18 +17,18 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item label="维度值" prop="dimensionValue">
<el-form-item :label="$t('business.behavior.userBehaviorStats.dimensionValueLabel')" prop="dimensionValue">
<el-input
v-model="queryParams.dimensionValue"
placeholder="请输入维度值"
:placeholder="$t('business.behavior.userBehaviorStats.dimensionValuePlaceholder')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="行为总数" prop="total">
<el-form-item :label="$t('business.behavior.userBehaviorStats.totalLabel')" prop="total">
<el-input
v-model="queryParams.total"
placeholder="请输入行为总次数"
:placeholder="$t('business.behavior.userBehaviorStats.totalPlaceholder')"
clearable
@keyup.enter.native="handleQuery"
/>
@ -41,16 +41,16 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item label="停留时间" prop="avgDuration">
<el-form-item :label="$t('business.behavior.userBehaviorStats.avgDurationLabel')" prop="avgDuration">
<el-input
v-model="queryParams.avgDuration"
placeholder="请输入平均停留时间"
:placeholder="$t('business.behavior.userBehaviorStats.avgDurationPlaceholder')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="行为类型" prop="behaviorType">
<el-select v-model="queryParams.behaviorType" placeholder="请选择行为类型" clearable>
<el-form-item :label="$t('business.behavior.userBehaviorStats.behaviorTypeLabel')" prop="behaviorType">
<el-select v-model="queryParams.behaviorType" :placeholder="$t('business.behavior.userBehaviorStats.behaviorTypePlaceholder')" clearable>
<el-option
v-for="dict in behaviorTypeOptions"
:key="dict.dictValue"
@ -113,25 +113,25 @@
<el-table v-loading="loading" :data="userBehaviorStatsList" @selection-change="handleSelectionChange">
<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="behaviorType">
<el-table-column :label="$t('business.behavior.userBehaviorStats.idLabel')" align="center" prop="id" v-if="true"/>
<el-table-column :label="$t('business.behavior.userBehaviorStats.behaviorTypeLabel')" align="center" prop="behaviorType">
<template slot-scope="scope">
<span>{{ getBehaviorTypeLabel(scope.row.behaviorType) }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="动作标识符" align="center" prop="action" /> -->
<el-table-column label="维度类型" align="center" prop="dimensionType" />
<el-table-column label="维度值" align="center" prop="dimensionValue" />
<el-table-column label="行为总数" align="center" prop="total" />
<el-table-column :label="$t('business.behavior.userBehaviorStats.dimensionTypeLabel')" align="center" prop="dimensionType" />
<el-table-column :label="$t('business.behavior.userBehaviorStats.dimensionValueLabel')" align="center" prop="dimensionValue" />
<el-table-column :label="$t('business.behavior.userBehaviorStats.totalLabel')" align="center" prop="total" />
<!-- <el-table-column label="独立用户数" align="center" prop="uniqueUsers" /> -->
<el-table-column label="平均停留时间" align="center" prop="avgDuration" />
<el-table-column label="扩展统计数据" align="center" prop="extraData" />
<el-table-column label="统计日期" align="center" prop="statDate" width="180">
<el-table-column :label="$t('business.behavior.userBehaviorStats.avgDurationLabel')" align="center" prop="avgDuration" />
<el-table-column :label="$t('business.behavior.userBehaviorStats.extraDataLabel')" align="center" prop="extraData" />
<el-table-column :label="$t('business.behavior.userBehaviorStats.statDateLabel')" align="center" prop="statDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.statDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<el-table-column :label="$t('business.behavior.userBehaviorStats.operationLabel')" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
@ -168,7 +168,7 @@
<!-- 添加或修改用户行为统计聚合对话框 -->
<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="behaviorType">
<el-form-item :label="$t('business.behavior.userBehaviorStats.behaviorTypeLabel')" prop="behaviorType">
<el-select v-model="form.behaviorType" placeholder="请选择行为类型">
<el-option
v-for="dict in behaviorTypeOptions"
@ -181,24 +181,24 @@
<!-- <el-form-item label="具体动作标识符" prop="action">
<el-input v-model="form.action" placeholder="请输入具体动作标识符" />
</el-form-item> -->
<el-form-item label="维度值" prop="dimensionValue">
<el-input v-model="form.dimensionValue" placeholder="请输入维度值" />
<el-form-item :label="$t('business.behavior.userBehaviorStats.dimensionValueLabel')" prop="dimensionValue">
<el-input v-model="form.dimensionValue" :placeholder="$t('business.behavior.userBehaviorStats.dimensionValuePlaceholder')" />
</el-form-item>
<el-form-item label="行为总次数" prop="total">
<el-input v-model="form.total" placeholder="请输入行为总次数" />
<el-form-item :label="$t('business.behavior.userBehaviorStats.totalLabel')" prop="total">
<el-input v-model="form.total" :placeholder="$t('business.behavior.userBehaviorStats.totalPlaceholder')" />
</el-form-item>
<!-- <el-form-item label="独立用户数" prop="uniqueUsers">
<el-input v-model="form.uniqueUsers" placeholder="请输入独立用户数" />
</el-form-item> -->
<el-form-item label="平均停留时间" prop="avgDuration">
<el-input v-model="form.avgDuration" placeholder="请输入平均停留时间" />
<el-form-item :label="$t('business.behavior.userBehaviorStats.avgDurationLabel')" prop="avgDuration">
<el-input v-model="form.avgDuration" :placeholder="$t('business.behavior.userBehaviorStats.avgDurationPlaceholder')" />
</el-form-item>
<el-form-item label="统计日期" prop="statDate">
<el-form-item :label="$t('business.behavior.userBehaviorStats.statDateLabel')" prop="statDate">
<el-date-picker clearable
v-model="form.statDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择统计日期">
:placeholder="$t('business.behavior.userBehaviorStats.statDatePlaceholder')">
</el-date-picker>
</el-form-item>
</el-form>
@ -211,30 +211,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="统计日期" prop="statDate">
<el-form-item :label="$t('business.behavior.userBehaviorStats.statDateLabel')" prop="statDate">
<el-date-picker clearable
v-model="form.statDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择统计日期">
:placeholder="$t('business.behavior.userBehaviorStats.statDatePlaceholder')">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="具体动作标识符:">
{{form.action}}
</el-form-item> -->
<el-form-item label="行为类型:">
<el-form-item :label="$t('business.behavior.userBehaviorStats.behaviorTypeLabel') + ':'">
{{ getBehaviorTypeLabel(form.behaviorType) }}
</el-form-item>
<el-form-item label="维度值:">
<el-form-item :label="$t('business.behavior.userBehaviorStats.dimensionValueLabel') + ':'">
{{form.dimensionValue}}
</el-form-item>
<el-form-item label="行为总次数:">
<el-form-item :label="$t('business.behavior.userBehaviorStats.totalLabel') + ':'">
{{form.total}}
</el-form-item>
<!-- <el-form-item label="独立用户数:">
{{form.uniqueUsers}}
</el-form-item> -->
<el-form-item label="平均停留时间:">
<el-form-item :label="$t('business.behavior.userBehaviorStats.avgDurationLabel') + ':'">
{{form.avgDuration}}
</el-form-item>
</el-form>
@ -254,12 +254,12 @@ export default {
return {
//
behaviorTypeOptions: [
{dictValue: '1', dictLabel: '登录'},
{dictValue: '2', dictLabel: '支付'},
{dictValue: '3', dictLabel: '实名认证'},
{dictValue: '4', dictLabel: '点击操作'},
{dictValue: '5', dictLabel: '访问页面'},
{dictValue: '6', dictLabel: '登出'}
{dictValue: '1', dictLabel: this.$t('business.behavior.userBehaviorStats.login')},
{dictValue: '2', dictLabel: this.$t('business.behavior.userBehaviorStats.payment')},
{dictValue: '3', dictLabel: this.$t('business.behavior.userBehaviorStats.realNameAuth')},
{dictValue: '4', dictLabel: this.$t('business.behavior.userBehaviorStats.clickOperation')},
{dictValue: '5', dictLabel: this.$t('business.behavior.userBehaviorStats.visitPage')},
{dictValue: '6', dictLabel: this.$t('business.behavior.userBehaviorStats.logout')}
],
// loading
buttonLoading: false,
@ -370,14 +370,14 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "添加用户行为统计聚合";
this.title = this.$t('business.behavior.userBehaviorStats.addTitle');
},
/** 详情按钮操作 */
handleDetail(row){
this.reset();
this.form = row;
this.detailOpen = true;
this.title = "用户行为统计聚合";
this.title = this.$t('business.behavior.userBehaviorStats.detailTitle');
},
/** 修改按钮操作 */
handleUpdate(row) {
@ -388,7 +388,7 @@ export default {
this.loading = false;
this.form = response.data;
this.open = true;
this.title = "修改用户行为统计聚合";
this.title = $t('business.behavior.userBehaviorStats.editTitle');
});
},
/** 提交按钮 */
@ -398,7 +398,7 @@ export default {
this.buttonLoading = true;
if (this.form.id != null) {
updateUserBehaviorStats(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$modal.msgSuccess(this.$t('common.promptMsg.editSuccess'));
this.open = false;
this.getList();
}).finally(() => {
@ -406,7 +406,7 @@ export default {
});
} else {
addUserBehaviorStats(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$modal.msgSuccess(this.$t('common.promptMsg.addSuccess'));
this.open = false;
this.getList();
}).finally(() => {
@ -419,13 +419,13 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除用户行为统计聚合编号为"' + ids + '"的数据项?').then(() => {
this.$modal.confirm(this.$t('common.promptMsg.deleteConfirm')).then(() => {
this.loading = true;
return delUserBehaviorStats(ids);
}).then(() => {
this.loading = false;
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess(this.$t('common.promptMsg.deleteSuccess'));
}).catch(() => {
}).finally(() => {
this.loading = false;

Loading…
Cancel
Save