修改国际化配置

This commit is contained in:
lsymicc
2025-06-09 17:08:25 +08:00
parent 417e9a8dfa
commit f39a3d5df4
6 changed files with 1048 additions and 313 deletions

View File

@@ -766,6 +766,25 @@ export default {
NoticeManagement: 'NoticeManagement',
//日志管理
LogManagement: 'LogManagement',
//操作日志
LogManagement_OperationLog: 'OperationLog',
//登录日志
LogManagement_LoginLog: 'LoginLog',
//********************系统监控********************
SystemMonitor: 'SystemMonitor',
// 在线用户
SystemMonitor_Online: 'Online',
// 定时任务
SystemMonitor_ScheduledTask: 'ScheduledTask',
// 数据监控
SystemMonitor_DataMonitor: 'DataMonitor',
//服务监控
SystemMonitor_ServiceMonitor: 'ServiceMonitor',
//缓存监控
SystemMonitor_CacheMonitor: 'CacheMonitor',
//缓存列表
SystemMonitor_CacheList: 'CacheList',
// ****************盘点管理******************
inventoryManagement: 'inventoryManagement',
@@ -1597,6 +1616,273 @@ export default {
},
// ***************系统管理:日志管理-操作日志*************
// ***************views/monitor/operlog*************
systemManagement_LogManagement_Operation:{
//--------------数据表标题--------------
operId: 'OperId',
title: 'Title',
businessType: 'BusinessType',
operName: 'OperName',
operIp: 'OperIp',
operLocation: 'OperLocation',
status: 'Status',
operTime: 'OperTime',
costTime: 'CostTime',
unitMillisecond: 'ms',
operation: 'Operation',
details: 'Details',
//--------------当前页面交互框操作提示--------------
placeholderOpenIp: 'Enter openId',
placeholderTitle: 'Enter title',
placeholderBusinessType: 'Select businessType',
placeholderOperName: 'Select operName',
placeholderStatus: 'Select status',
placeholderOperTime: 'OperationTime',
placeholderDateStart: 'DateStart',
placeholderDateEnd: 'DateEnd',
//--------------二级窗口--------------
//--------------标题--------------
logDetails: 'logDetails',
//--------------交互框标签--------------
noticeContent:"Content",
loginInfo: 'Login Info',
requestInfo: 'Request Info',
requestUrl: 'Request Url',
requestMethod: 'Request Method',
method:'Method',
requestParam: 'Request Params',
responseParam: 'Response Param',
statusNormal: 'Success',
statusFail: 'Fail',
errorMsg:'Error Message',
//--------------交互按钮--------------
btnSearch: 'Search',
btnReset: 'Reset',
btnAdd: 'Add',
btnEdit: 'Edit',
btnDelete: 'Delete',
btnImport: 'Import',
btnExport: 'Export',
btnSubmit: 'Confirm',
btnCancel: 'Cancel',
btnClear: 'ClearAll',
btnDetails: 'Details',
//--------------提示文本--------------
//---handleClean---
textDeleteConfirm: 'Confirm that all operation log data entries are cleared?"',
//--------------操作提示--------------
addSuccessInfo: 'Add success',
editSuccessInfo: 'Edit success',
deleteSuccessInfo: 'Delete success',
clearSuccessInfo: 'Clear success',
//--------------其他--------------
lblWidthSearch: '80px',
lblWidthDialog: '150px',
},
// ***************系统管理:日志管理-登录日志*************
// ***************views/monitor/logininfor*************
systemManagement_LogManagement_Login:{
//--------------数据表标题--------------
infoId: 'InfoId',
userName: 'UserName',
ipAddress: 'IPAddress',
loginLocation: 'LoginLocation',
operLocation: 'OperLocation',
browser: 'Browser',
os: 'OperationSystem',
status: 'Status',
loginTime: 'LoginTime',
message: 'Message',
//--------------当前页面交互框操作提示--------------
placeholderIpAddress: 'Enter IPAddress',
placeholderUserName: 'Enter UserName',
placeholderStatus: 'Select Status',
placeholderLoginTime: 'LoginTime',
placeholderDateStart: 'DateStart',
placeholderDateEnd: 'DateEnd',
//--------------交互按钮--------------
btnSearch: 'Search',
btnReset: 'Reset',
btnAdd: 'Add',
btnEdit: 'Edit',
btnDelete: 'Delete',
btnImport: 'Import',
btnExport: 'Export',
btnSubmit: 'Confirm',
btnCancel: 'Cancel',
btnClear: 'ClearAll',
btnDetails: 'Details',
btnUnlocked: 'Unlock',
//--------------提示文本--------------
//---函数:handleDelete---
textDeleteConfirm1: 'Are you sure you want to delete the data item with the infoId of "',
textDeleteConfirm2: '"?',
//---函数:handleUnlock---
textUnlockConfirm1: 'Are you sure you want to unlock the data item with the infoId of "',
textUnlockConfirm2: '"?',
//---handleClean---
textCleanConfirm: 'Are you sure to clear all login log data items?',
//--------------操作提示--------------
addSuccessInfo: 'Add success',
editSuccessInfo: 'Edit success',
deleteSuccessInfo: 'Delete success',
clearSuccessInfo: 'Clear success',
unlockSuccessInfo: 'Unlock success',
//--------------其他--------------
lblWidthSearch: '68px',
lblWidthDialog: '100px',
},
// ***************系统监控:在线用户*************
monitor_Online:{
//--------------数据表标题--------------
num: 'Id',
tokenId: 'TokenId',
userName: 'UserName',
deptName: 'DeptName',
ipAddress: 'Host IP',
loginLocation: 'LoginLocation',
browser: 'Browser',
os: 'Operating System',
loginTime: 'LoginTime',
message: 'Message',
//--------------当前页面交互框操作提示--------------
placeholderIpAddress: 'Enter Host IP',
placeholderUserName: 'Enter UserName',
//--------------交互按钮--------------
btnSearch: 'Search',
btnReset: 'Reset',
btnForceLogout: 'Force Logout',
//--------------提示文本--------------
//---函数:handleForceLogout---
textForceLogoutConfirm1: 'Is the user with the username "',
textForceLogoutConfirm2: '"forcefully logged out?',
//--------------其他--------------
lblWidthSearch: '68px',
lblWidthDialog: '100px',
},
// ***************系统监控:定时任务*************
Monitor_ScheduledTask:{
//--------------数据表标题--------------
jobId: 'JobId',
jobName: 'JobName',
jobGroup: 'JobGroup',
invokeTarget: 'InvokeTarget',
cronExpression: 'CronExpression',
status: 'Status',
operation: 'Operation',
//--------------当前页面交互框操作提示--------------
placeholderJobName: 'Enter JobName',
placeholderJobGroup: 'Select JobGroup',
//---------------二级窗口操作提示------------------
placeholderInvokeTarget: 'Enter InvokeTarget',
placeholderCronExpression: 'Enter CronExpression',
//--------------交互按钮--------------
btnSearch: 'Search',
btnReset: 'Reset',
btnAdd: 'Add',
btnEdit: 'Edit',
btnDelete: 'Delete',
btnImport: 'Import',
btnExport: 'Export',
btnSubmit: 'Confirm',
btnCancel: 'Cancel',
btnMore: 'More',
btnLog: 'Log',
btnGenerateExpression: 'GenerateExpression',
//---------------更多--------------
btnExceOnce: 'Execute Once',
btnJobDetails: 'Job Details',
btnJobLog: 'Job Log',
//--------------提示文本--------------
//---二级窗口标题---
titleAddJob: 'Add Job',
titleEditJob: 'Edit Job',
//---标签---
nextValidTime:'Next Valid Time',
execStrategy:'Execution Strategy',
allowParallel:'Allow Parallel',
//---二级窗口---
textInvokeMethod: 'Invoke Method',
textInvokeMethodTip1: "Bean call example:ryTask.ryParams('ry')",
textInvokeMethodTip2: "Class call example:com.ruoyi.quartz.task.RyTask.ryParams('ry')",
textInvokeMethodTip3: "Parameter: string, boolean, long integer, floating point, integer",
textJobStatusNormal: 'Normal',
textJobStatusPause: 'Pause',
textDefaultStrategy: 'Default',
textExecStrategyTip1: 'Immediately',
textExecStrategyTip2: 'Once',
textExecStrategyTip3: 'Never',
textIsParallelTip1: 'Enable',
textIsParallelTip2: 'Disable',
//---函数:handleDelete---
textEnable: 'Enable',
textDisable: 'Disable',
textChangeConfirm1: 'Are you sure you want to enable "',
textChangeConfirm2: '" job?',
textSuccess: 'Success',
//---函数:handleRun---
textExecConfirm1: 'Are you sure you want to perform a scheduling task numbered "',
textExecConfirm2: '" immediately?',
//---函数:handleDelete---
textDeleteConfirm1: 'Sure you want to delete the data item with timed task number "',
textDeleteConfirm2: '"?',
//--------------操作提示--------------
addSuccessInfo: 'Add success',
editSuccessInfo: 'Edit success',
deleteSuccessInfo: 'Delete success',
clearSuccessInfo: 'Clear success',
unlockSuccessInfo: 'Unlock success',
execSuccessInfo: 'Exec success',
//--------------校验提示--------------
checkJobNameIsNull: 'JobName cannot be null',
checkInvokeTargetIsNull: 'InvokeTarget cannot be null',
checkCronExpressionIsNull: 'CronExpression cannot be null',
//--------------其他--------------
lblWidthSearch: '68px',
lblWidthDialog: '100px',
},
// ***************出库作业流水查询*************

View File

@@ -750,25 +750,47 @@ export default {
outboundTaskManagement: '出库作业管理',
//********************系统管理********************
SystemManagement: '系统管理',
//用户管理
UserManagement: '用户管理',
//角色管理
RoleManagement: '角色管理',
//菜单管理
MenuManagement: '菜单管理',
//部门管理
DepartmentManagement: '部门管理',
//岗位管理
PostManagement: '岗位管理',
//字典管理
DictionaryManagement: '字典管理',
//参数管理
ConfigManagement: '参数管理',
//通知公告
NoticeManagement: '通知公告',
//日志管理
LogManagement: '日志管理',
SystemManagement: '系统管理',
//用户管理
UserManagement: '用户管理',
//角色管理
RoleManagement: '角色管理',
//菜单管理
MenuManagement: '菜单管理',
//部门管理
DepartmentManagement: '部门管理',
//岗位管理
PostManagement: '岗位管理',
//字典管理
DictionaryManagement: '字典管理',
//参数管理
ConfigManagement: '参数管理',
//通知公告
NoticeManagement: '通知公告',
//日志管理
LogManagement: '日志管理',
//操作日志
LogManagement_OperationLog: '操作日志',
//登录日志
LogManagement_LoginLog: '操作日志',
//********************系统监控********************
SystemMonitor: '系统监控',
// 在线用户
SystemMonitor_Online: '在线用户',
// 定时任务
SystemMonitor_ScheduledTask: '定时任务',
// 数据监控
SystemMonitor_DataMonitor: '数据监控',
//服务监控
SystemMonitor_ServiceMonitor: '服务监控',
//缓存监控
SystemMonitor_CacheMonitor: '缓存监控',
//缓存列表
SystemMonitor_CacheList: '缓存列表',
// ****************盘点管理******************
inventoryManagement: '盘点管理',
@@ -1500,6 +1522,14 @@ export default {
createTime: '创建时间',
operation: '人工操作',
//--------------当前页面交互框操作提示--------------
placeholderNoticeTitle: '请输入公告标题',
placeholderCreateBy: '请输入操作人员',
placeholderNoticeType: '选择公告类型',
placeholderCreateTime: '创建时间',
placeholderDateStart: '开始时间',
placeholderDateEnd: '结束时间',
//--------------二级窗口--------------
//--------------标题--------------
addNoticeItem: '新增公告',
@@ -1508,17 +1538,9 @@ export default {
//--------------交互框标签--------------
noticeContent:"公告内容",
//--------------当前页面交互框操作提示--------------
placeholderNoticeTitle: '请输入公告标题',
placeholderCreateBy: '请输入操作人员',
placeholderNoticeType: '选择公告类型',
placeholderCreateTime: '创建时间',
placeholderDateStart: '开始时间',
placeholderDateEnd: '结束时间',
//--------------二级窗口操作提示--------------
placeholderRemark: '请输入内容',
placeholderNoticeContent: '请输入内容',
//--------------二级窗口操作提示--------------
placeholderRemark: '请输入内容',
placeholderNoticeContent: '请输入内容',
//--------------交互按钮--------------
btnSearch: '搜索',
@@ -1555,6 +1577,273 @@ export default {
},
// ***************系统管理:日志管理-操作日志*************
// ***************views/monitor/operlog*************
systemManagement_LogManagement_Operation:{
//--------------数据表标题--------------
operId: '日志编号',
title: '系统模块',
businessType: '操作类型',
operName: '操作人员',
operIp: '操作地址',
operLocation: '操作地点',
status: '操作状态',
operTime: '操作日期',
costTime: '消耗时间',
unitMillisecond: '毫秒',
operation: '消耗时间',
details: '明细',
//--------------当前页面交互框操作提示--------------
placeholderOpenIp: '请输入日志编号',
placeholderTitle: '请输入系统模块',
placeholderBusinessType: '请选择公告类型',
placeholderOperName: '请选择操作人员',
placeholderStatus: '请选择操作状态',
placeholderOperTime: '操作日期',
placeholderDateStart: '开始时间',
placeholderDateEnd: '结束时间',
//--------------二级窗口--------------
//--------------标题--------------
logDetails: '日志明细',
//--------------交互框标签--------------
noticeContent:"公告内容",
loginInfo: '登录信息',
requestInfo: '请求信息',
requestUrl: '请求地址',
requestMethod: '请求方式',
method:'方法',
requestParam: '请求参数',
responseParam: '响应参数',
statusNormal: '响应正常',
statusFail: '响应失败',
errorMsg:'异常信息',
//--------------交互按钮--------------
btnSearch: '搜索',
btnReset: '重置',
btnAdd: '新增',
btnEdit: '修改',
btnDelete: '删除',
btnImport: '导入',
btnExport: '导出',
btnSubmit: '确定',
btnCancel: '取消',
btnClear: '清空',
btnDetails: '明细',
//--------------提示文本--------------
//---handleClean---
textDeleteConfirm: '是否确认清空所有操作日志数据项?"',
//--------------操作提示--------------
addSuccessInfo: '新增成功',
editSuccessInfo: '编辑成功',
deleteSuccessInfo: '删除成功',
clearSuccessInfo: '清空成功',
//--------------其他--------------
lblWidthSearch: '68px',
lblWidthDialog: '100px',
},
// ***************系统管理:日志管理-登录日志*************
// ***************views/monitor/logininfor*************
systemManagement_LogManagement_Login:{
//--------------数据表标题--------------
infoId: '访问编号',
userName: '用户名称',
ipAddress: '登录地址',
loginLocation: '登录地点',
operLocation: '操作地点',
browser: '浏览器',
os: '操作系统',
status: '登录状态',
loginTime: '登录日期',
message: '操作信息',
//--------------当前页面交互框操作提示--------------
placeholderIpAddress: '请输入登录地址',
placeholderUserName: '请输入用户名称',
placeholderStatus: '请选择登录状态',
placeholderLoginTime: '登录时间',
placeholderDateStart: '开始时间',
placeholderDateEnd: '结束时间',
//--------------交互按钮--------------
btnSearch: '搜索',
btnReset: '重置',
btnAdd: '新增',
btnEdit: '修改',
btnDelete: '删除',
btnImport: '导入',
btnExport: '导出',
btnSubmit: '确定',
btnCancel: '取消',
btnClear: '清空',
btnDetails: '明细',
btnUnlocked: '解锁',
//--------------提示文本--------------
//---函数:handleDelete---
textDeleteConfirm1: '是否确认删除访问编号为"',
textDeleteConfirm2: '"的数据项?',
//---函数:handleUnlock---
textUnlockConfirm1: '是否确认解锁访问编号为"',
textUnlockConfirm2: '"的数据项?',
//---函数:handleClean---
textCleanConfirm: '是否确认清空所有登录日志数据项?',
//--------------操作提示--------------
addSuccessInfo: '新增成功',
editSuccessInfo: '编辑成功',
deleteSuccessInfo: '删除成功',
clearSuccessInfo: '清空成功',
unlockSuccessInfo: '解锁成功',
//--------------其他--------------
lblWidthSearch: '68px',
lblWidthDialog: '100px',
},
// ***************系统监控:在线用户*************
monitor_Online:{
//--------------数据表标题--------------
num: '序号',
tokenId: '会话编号',
userName: '登录名称',
deptName: '部门名称',
ipAddress: '主机',
loginLocation: '登录地点',
browser: '浏览器',
os: '操作系统',
loginTime: '登录日期',
message: '操作信息',
//--------------当前页面交互框操作提示--------------
placeholderIpAddress: '请输入登录地址',
placeholderUserName: '请输入用户名称',
//--------------交互按钮--------------
btnSearch: '搜索',
btnReset: '重置',
btnForceLogout: '强制退出',
//--------------提示文本--------------
//---函数:handleForceLogout---
textForceLogoutConfirm1: '是否强制退出用户名为"',
textForceLogoutConfirm2: '"的用户?',
//--------------其他--------------
lblWidthSearch: '68px',
lblWidthDialog: '100px',
},
// ***************系统监控:定时任务*************
Monitor_ScheduledTask:{
//--------------数据表标题--------------
jobId: '任务编号',
jobName: '任务名称',
jobGroup: '任务组名',
invokeTarget: '调用目标字符串',
cronExpression: 'cron执行表达式',
status: '状态',
operation: '操作',
//--------------当前页面交互框操作提示--------------
placeholderJobName: '请输入任务名称',
placeholderJobGroup: '请选择任务组名',
//---------------二级窗口操作提示------------------
placeholderInvokeTarget: '请输入调用目标字符串',
placeholderCronExpression: '请输入Cron执行表达式',
//--------------交互按钮--------------
btnSearch: '搜索',
btnReset: '重置',
btnAdd: '新增',
btnEdit: '修改',
btnDelete: '删除',
btnImport: '导入',
btnExport: '导出',
btnSubmit: '确定',
btnCancel: '取消',
btnMore: '更多',
btnLog: '日志',
btnGenerateExpression: '生成表达式',
btnExceOnce: '执行一次',
btnJobDetails: '任务详情',
btnJobLog: '调度日志',
//--------------提示文本--------------
//---二级窗口标题---
titleAddJob: '添加任务',
titleEditJob: '修改任务',
//---标签---
nextValidTime:'下次执行时间',
execStrategy:'执行策略',
allowParallel:'是否并发',
//---二级窗口---
textInvokeMethod: '调用方法',
textInvokeMethodTip1: "Bean调用示例:ryTask.ryParams('ry')",
textInvokeMethodTip2: "Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')",
textInvokeMethodTip3: "参数说明:支持字符串,布尔类型,长整型,浮点型,整型",
textJobStatusNormal: '正常',
textJobStatusPause: '暂停',
textDefaultStrategy: '默认策略',
textExecStrategyTip1: '立即执行',
textExecStrategyTip2: '执行一次',
textExecStrategyTip3: '放弃执行',
textIsParallelTip1: '允许',
textIsParallelTip2: '禁止',
//---函数:handleStatusChange---
textEnable: '启用',
textDisable: '停用',
textChangeConfirm1: '确认要"',
textChangeConfirm2: '"任务吗?',
textSuccess: '成功',
//---函数:handleRun---
textExecConfirm1: '确认要立即执行一次"',
textExecConfirm2: '"任务吗?',
//---函数:handleDelete---
textDeleteConfirm1: '是否确认删除定时任务编号为"',
textDeleteConfirm2: '"的数据项?',
//--------------操作提示--------------
addSuccessInfo: '新增成功',
editSuccessInfo: '编辑成功',
deleteSuccessInfo: '删除成功',
clearSuccessInfo: '清空成功',
unlockSuccessInfo: '解锁成功',
execSuccessInfo: '执行成功',
//--------------校验提示--------------
checkJobNameIsNull: '任务名称不能为空',
checkInvokeTargetIsNull: '调用目标字符串不能为空',
checkCronExpressionIsNull: 'cron执行表达式不能为空',
//--------------其他--------------
lblWidthSearch: '68px',
lblWidthDialog: '100px',
},
// ***************出库作业流水查询*************
searchViewOutJobFlow: {

View File

@@ -1,16 +1,19 @@
<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="jobName">
<!-- 查询表单 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('Monitor_ScheduledTask.lblWidthSearch')">
<!-- 任务名称 -->
<el-form-item :label="$t('Monitor_ScheduledTask.jobName')" prop="jobName">
<el-input
v-model="queryParams.jobName"
placeholder="请输入任务名称"
:placeholder="$t('Monitor_ScheduledTask.placeholderJobName')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="任务组名" prop="jobGroup">
<el-select v-model="queryParams.jobGroup" placeholder="请选择任务组名" clearable>
<!-- 任务组名 -->
<el-form-item :label="$t('Monitor_ScheduledTask.jobGroup')" prop="jobGroup">
<el-select v-model="queryParams.jobGroup" :placeholder="$t('Monitor_ScheduledTask.placeholderJobGroup')" clearable>
<el-option
v-for="dict in dict.type.sys_job_group"
:key="dict.value"
@@ -19,8 +22,9 @@
/>
</el-select>
</el-form-item>
<el-form-item label="任务状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择任务状态" clearable>
<!-- 任务状态 -->
<el-form-item :label="$t('Monitor_ScheduledTask.status')" prop="status">
<el-select v-model="queryParams.status" :placeholder="$t('Monitor_ScheduledTask.status')" clearable>
<el-option
v-for="dict in dict.type.sys_job_status"
:key="dict.value"
@@ -30,13 +34,16 @@
</el-select>
</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>
<!-- 【查询】按钮 -->
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('Monitor_ScheduledTask.btnSearch') }}</el-button>
<!-- 【重置】按钮 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('Monitor_ScheduledTask.btnReset') }}</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- 【新增】按钮 -->
<el-button
type="primary"
plain
@@ -44,9 +51,10 @@
size="mini"
@click="handleAdd"
v-hasPermi="['monitor:job:add']"
>新增</el-button>
>{{ $t('Monitor_ScheduledTask.btnAdd') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【修改】按钮 -->
<el-button
type="success"
plain
@@ -55,9 +63,10 @@
:disabled="single"
@click="handleUpdate"
v-hasPermi="['monitor:job:edit']"
>修改</el-button>
>{{ $t('Monitor_ScheduledTask.btnEdit') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【删除】按钮 -->
<el-button
type="danger"
plain
@@ -66,9 +75,10 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['monitor:job:remove']"
>删除</el-button>
>{{ $t('Monitor_ScheduledTask.btnDelete') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【导出】按钮 -->
<el-button
type="warning"
plain
@@ -76,9 +86,10 @@
size="mini"
@click="handleExport"
v-hasPermi="['monitor:job:export']"
>导出</el-button>
>{{ $t('Monitor_ScheduledTask.btnExport') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【日志】按钮 -->
<el-button
type="info"
plain
@@ -86,23 +97,29 @@
size="mini"
@click="handleJobLog"
v-hasPermi="['monitor:job:query']"
>日志</el-button>
>{{ $t('Monitor_ScheduledTask.btnJobLog') }}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="jobList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务编号" width="100" align="center" prop="jobId" />
<el-table-column label="任务名称" align="center" prop="jobName" :show-overflow-tooltip="true" />
<el-table-column label="任务组名" align="center" prop="jobGroup">
<!-- 任务编号 -->
<el-table-column :label="$t('Monitor_ScheduledTask.jobId')" width="100" align="center" prop="jobId" />
<!-- 任务名称 -->
<el-table-column :label="$t('Monitor_ScheduledTask.jobName')" align="center" prop="jobName" :show-overflow-tooltip="true" />
<!-- 任务组名 -->
<el-table-column :label="$t('Monitor_ScheduledTask.jobGroup')" align="center" prop="jobGroup">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_job_group" :value="scope.row.jobGroup"/>
</template>
</el-table-column>
<el-table-column label="调用目标字符串" align="center" prop="invokeTarget" :show-overflow-tooltip="true" />
<el-table-column label="cron执行表达式" align="center" prop="cronExpression" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center">
<!-- 调用目标字符串 -->
<el-table-column :label="$t('Monitor_ScheduledTask.invokeTarget')" align="center" prop="invokeTarget" :show-overflow-tooltip="true" />
<!-- cron执行表达式 -->
<el-table-column :label="$t('Monitor_ScheduledTask.cronExpression')" align="center" prop="cronExpression" :show-overflow-tooltip="true" />
<!-- 状态 -->
<el-table-column :label="$t('Monitor_ScheduledTask.status')" align="center">
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
@@ -112,31 +129,37 @@
></el-switch>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column :label="$t('Monitor_ScheduledTask.operation')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- 【操作】按钮 -->
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['monitor:job:edit']"
>修改</el-button>
>{{ $t('Monitor_ScheduledTask.btnEdit') }}</el-button>
<!-- 【删除】按钮 -->
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['monitor:job:remove']"
>删除</el-button>
>{{ $t('Monitor_ScheduledTask.btnDelete') }}</el-button>
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['monitor:job:changeStatus', 'monitor:job:query']">
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<!-- 更多 -->
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">{{ $t('Monitor_ScheduledTask.btnMore') }}</el-button>
<el-dropdown-menu slot="dropdown">
<!-- 执行一次 -->
<el-dropdown-item command="handleRun" icon="el-icon-caret-right"
v-hasPermi="['monitor:job:changeStatus']">执行一次</el-dropdown-item>
v-hasPermi="['monitor:job:changeStatus']">{{ $t('Monitor_ScheduledTask.btnExceOnce') }}</el-dropdown-item>
<!-- 任务详细 -->
<el-dropdown-item command="handleView" icon="el-icon-view"
v-hasPermi="['monitor:job:query']">任务详细</el-dropdown-item>
v-hasPermi="['monitor:job:query']">{{ $t('Monitor_ScheduledTask.btnJobDetails') }}</el-dropdown-item>
<!-- 调度日志 -->
<el-dropdown-item command="handleJobLog" icon="el-icon-s-operation"
v-hasPermi="['monitor:job:query']">调度日志</el-dropdown-item>
v-hasPermi="['monitor:job:query']">{{ $t('Monitor_ScheduledTask.btnJobLog') }}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
@@ -152,141 +175,180 @@
/>
<!-- 添加或修改定时任务对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="请输入任务名称" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务分组" prop="jobGroup">
<el-select v-model="form.jobGroup" placeholder="请选择任务分组">
<el-option
v-for="dict in dict.type.sys_job_group"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="invokeTarget">
<span slot="label">
调用方法
<el-tooltip placement="top">
<div slot="content">
Bean调用示例:ryTask.ryParams('ry')
<br />Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')
<br />参数说明:支持字符串,布尔类型,长整型,浮点型,整型
</div>
<i class="el-icon-question"></i>
</el-tooltip>
</span>
<el-input v-model="form.invokeTarget" placeholder="请输入调用目标字符串" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="请输入cron执行表达式">
<template slot="append">
<el-button type="primary" @click="handleShowCron">
生成表达式
<i class="el-icon-time el-icon--right"></i>
</el-button>
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.jobId !== undefined">
<el-form-item label="状态">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_job_status"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="执行策略" prop="misfirePolicy">
<el-radio-group v-model="form.misfirePolicy" size="small">
<el-radio-button label="1">立即执行</el-radio-button>
<el-radio-button label="2">执行一次</el-radio-button>
<el-radio-button label="3">放弃执行</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否并发" prop="concurrent">
<el-radio-group v-model="form.concurrent" size="small">
<el-radio-button label="0">允许</el-radio-button>
<el-radio-button label="1">禁止</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" :label-width="$t('Monitor_ScheduledTask.lblWidthDialog')">
<el-row>
<el-col :span="12">
<!-- 任务名称 -->
<el-form-item :label="$t('Monitor_ScheduledTask.jobName')" prop="jobName">
<el-input v-model="form.jobName" :placeholder="$t('Monitor_ScheduledTask.placeholderJobName')" />
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 任务组名 -->
<el-form-item :label="$t('Monitor_ScheduledTask.jobGroup')" prop="jobGroup">
<el-select v-model="form.jobGroup" :placeholder="$t('Monitor_ScheduledTask.placeholderJobGroup')">
<el-option
v-for="dict in dict.type.sys_job_group"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="invokeTarget">
<span slot="label">
<!-- 调用方法 -->
{{ $t('Monitor_ScheduledTask.textInvokeMethod') }}
<el-tooltip placement="top">
<div slot="content">
<!-- Bean调用示例:ryTask.ryParams('ry') -->
{{ $t('Monitor_ScheduledTask.textInvokeMethodTip1') }}<br/>
<!-- Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry') -->
{{ $t('Monitor_ScheduledTask.textInvokeMethodTip2') }}<br/>
<!-- 参数说明:支持字符串,布尔类型,长整型,浮点型,整型 -->
{{ $t('Monitor_ScheduledTask.textInvokeMethodTip3') }}
</div>
<i class="el-icon-question"></i>
</el-tooltip>
</span>
<el-input v-model="form.invokeTarget" :placeholder="$t('Monitor_ScheduledTask.placeholderInvokeTarget')" />
</el-form-item>
</el-col>
<el-col :span="24">
<!-- cron执行表达式 -->
<el-form-item :label="$t('Monitor_ScheduledTask.cronExpression')" prop="cronExpression">
<el-input v-model="form.cronExpression" :placeholder="$t('Monitor_ScheduledTask.placeholderCronExpression')">
<template slot="append">
<el-button type="primary" @click="handleShowCron">
<!-- 生成表达式 -->
{{ $t('Monitor_ScheduledTask.btnGenerateExpression') }}
<i class="el-icon-time el-icon--right"></i>
</el-button>
</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.jobId !== undefined">
<!-- 状态 -->
<el-form-item :label="$t('Monitor_ScheduledTask.status')">
<el-radio-group v-model="form.status">
<el-radio
v-for="dict in dict.type.sys_job_status"
:key="dict.value"
:label="dict.value"
>{{ dict.label }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 执行策略 -->
<el-form-item :label="$t('Monitor_ScheduledTask.execStrategy')" prop="misfirePolicy">
<el-radio-group v-model="form.misfirePolicy" size="small">
<!-- 立即执行 -->
<el-radio-button label="1">{{ $t('Monitor_ScheduledTask.textExecStrategyTip1') }}</el-radio-button>
<!-- 执行一次 -->
<el-radio-button label="2">{{ $t('Monitor_ScheduledTask.textExecStrategyTip2') }}</el-radio-button>
<!-- 放弃执行 -->
<el-radio-button label="3">{{ $t('Monitor_ScheduledTask.textExecStrategyTip3') }}</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 是否并发 -->
<el-form-item :label="$t('Monitor_ScheduledTask.allowParallel')" prop="concurrent">
<el-radio-group v-model="form.concurrent" size="small">
<!-- 允许 -->
<el-radio-button label="0">{{ $t('Monitor_ScheduledTask.textIsParallelTip1') }}</el-radio-button>
<!-- 禁止 -->
<el-radio-button label="1">{{ $t('Monitor_ScheduledTask.textIsParallelTip2') }}</el-radio-button>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- 【确定】按钮 -->
<el-button type="primary" @click="submitForm">{{ $t('Monitor_ScheduledTask.btnSubmit') }}</el-button>
<!-- 【取消】按钮 -->
<el-button @click="cancel">{{ $t('Monitor_ScheduledTask.btnCancel') }}</el-button>
</div>
</el-dialog>
<el-dialog title="Cron表达式生成器" :visible.sync="openCron" append-to-body destroy-on-close class="scrollbar">
<crontab @hide="openCron=false" @fill="crontabFill" :expression="expression"></crontab>
</el-dialog>
<!-- Cron表达式生成器 -->
<el-dialog
:title="$t('Monitor_ScheduledTask.btnGenerateExpression')"
:visible.sync="openCron"
append-to-body
destroy-on-close
class="scrollbar">
<crontab @hide="openCron=false" @fill="crontabFill" :expression="expression"></crontab>
</el-dialog>
<!-- 任务日志详细 -->
<el-dialog title="任务详细" :visible.sync="openView" width="700px" append-to-body>
<el-form ref="form" :model="form" label-width="120px" size="mini">
<el-row>
<el-col :span="12">
<el-form-item label="任务编号:">{{ form.jobId }}</el-form-item>
<el-form-item label="任务名称:">{{ form.jobName }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务分组:">{{ jobGroupFormat(form) }}</el-form-item>
<el-form-item label="创建时间:">{{ form.createTime }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="cron表达式:">{{ form.cronExpression }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="下次执行时间:">{{ parseTime(form.nextValidTime) }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调用目标方法:">{{ form.invokeTarget }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务状态:">
<div v-if="form.status == 0">正常</div>
<div v-else-if="form.status == 1">暂停</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否并发:">
<div v-if="form.concurrent == 0">允许</div>
<div v-else-if="form.concurrent == 1">禁止</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="执行策略:">
<div v-if="form.misfirePolicy == 0">默认策略</div>
<div v-else-if="form.misfirePolicy == 1">立即执行</div>
<div v-else-if="form.misfirePolicy == 2">执行一次</div>
<div v-else-if="form.misfirePolicy == 3">放弃执行</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="openView = false">关 闭</el-button>
</div>
</el-dialog>
<!-- 任务日志详细 -->
<el-dialog
:title="$t('Monitor_ScheduledTask.btnJobDetails')"
:visible.sync="openView"
width="700px"
append-to-body>
<el-form ref="form" :model="form" :label-width="$t('Monitor_ScheduledTask.lblWidthDialog')" size="mini">
<el-row>
<el-col :span="12">
<!-- 任务编号: -->
<el-form-item :label="$t('Monitor_ScheduledTask.jobId')">{{ form.jobId }}</el-form-item>
<!-- 任务名称: -->
<el-form-item :label="$t('Monitor_ScheduledTask.jobName')">{{ form.jobName }}</el-form-item>
</el-col>
<el-col :span="12">
<!-- 任务分组: -->
<el-form-item :label="$t('Monitor_ScheduledTask.jobGroup')">{{ jobGroupFormat(form) }}</el-form-item>
<!-- 创建时间: -->
<el-form-item label="创建时间:">{{ form.createTime }}</el-form-item>
</el-col>
<el-col :span="12">
<!-- cron表达式: -->
<el-form-item :label="$t('Monitor_ScheduledTask.cronExpression')">{{ form.cronExpression }}</el-form-item>
</el-col>
<el-col :span="12">
<!-- 下次执行时间: -->
<el-form-item :label="$t('Monitor_ScheduledTask.nextValidTime')">{{ parseTime(form.nextValidTime) }}</el-form-item>
</el-col>
<el-col :span="24">
<!-- 调用目标方法: -->
<el-form-item :label="$t('Monitor_ScheduledTask.invokeTarget')">{{ form.invokeTarget }}</el-form-item>
</el-col>
<el-col :span="12">
<!-- 任务状态: -->
<el-form-item :label="$t('Monitor_ScheduledTask.status')">
<div v-if="form.status == 0">{{ $t('Monitor_ScheduledTask.textJobStatusNormal') }}</div>
<div v-else-if="form.status == 1">{{ $t('Monitor_ScheduledTask.textJobStatusPause') }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 是否并发: -->
<el-form-item :label="$t('Monitor_ScheduledTask.allowParallel')">
<div v-if="form.concurrent == 0">{{ $t('Monitor_ScheduledTask.textIsParallelTip1') }}</div>
<div v-else-if="form.concurrent == 1">{{ $t('Monitor_ScheduledTask.textIsParallelTip2') }}</div>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 执行策略: -->
<el-form-item :label="$t('Monitor_ScheduledTask.execStrategy')">
<div v-if="form.misfirePolicy == 0">{{ $t('Monitor_ScheduledTask.textDefaultStrategy') }}</div>
<div v-else-if="form.misfirePolicy == 1">{{ $t('Monitor_ScheduledTask.textExecStrategyTip1') }}</div>
<div v-else-if="form.misfirePolicy == 2">{{ $t('Monitor_ScheduledTask.textExecStrategyTip2') }}</div>
<div v-else-if="form.misfirePolicy == 3">{{ $t('Monitor_ScheduledTask.textExecStrategyTip3') }}</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- 【关闭】按钮 -->
<el-button @click="openView = false">关 闭</el-button>
</div>
</el-dialog>
</div>
</template>
@@ -337,13 +399,16 @@ export default {
// 表单校验
rules: {
jobName: [
{ required: true, message: "任务名称不能为空", trigger: "blur" }
// 任务名称不能为空
{ required: true, message: this.$t('Monitor_ScheduledTask.checkJobNameIsNull'), trigger: "blur" }
],
invokeTarget: [
{ required: true, message: "调用目标字符串不能为空", trigger: "blur" }
// 调用目标字符串不能为空
{ required: true, message: this.$t('Monitor_ScheduledTask.checkInvokeTargetIsNull'), trigger: "blur" }
],
cronExpression: [
{ required: true, message: "cron执行表达式不能为空", trigger: "blur" }
// cron执行表达式不能为空
{ required: true, message: this.$t('Monitor_ScheduledTask.checkCronExpressionIsNull'), trigger: "blur" }
]
}
}
@@ -418,21 +483,26 @@ export default {
},
// 任务状态修改
handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用"
this.$modal.confirm('确认要"' + text + '""' + row.jobName + '"任务吗?').then(function() {
// 启用/停用
let text = row.status === "0" ? this.$t('Monitor_ScheduledTask.textEnable') : this.$t('Monitor_ScheduledTask.textDisable')
// 提示信息:确认要"启用/停用" + "任务名称" + 任务吗?
this.$modal.confirm(this.$t('Monitor_ScheduledTask.textChangeConfirm1') + text + '""' + row.jobName + this.$t('Monitor_ScheduledTask.textChangeConfirm2')).then(function() {
return changeJobStatus(row.jobId, row.status)
}).then(() => {
this.$modal.msgSuccess(text + "成功")
// 提示信息:"启用/停用" + 成功
this.$modal.msgSuccess(text + this.$t('Monitor_ScheduledTask.textSuccess'))
}).catch(function() {
row.status = row.status === "0" ? "1" : "0"
})
},
/* 立即执行一次 */
handleRun(row) {
this.$modal.confirm('确认要立即执行一次"' + row.jobName + '"任务吗?').then(function() {
// 提示信息:确认要立即执行一次"{jobName}"任务吗?
this.$modal.confirm(this.$t('Monitor_ScheduledTask.textExecConfirm1') + row.jobName + this.$t('Monitor_ScheduledTask.textExecConfirm2')).then(function() {
return runJob(row.jobId, row.jobGroup)
}).then(() => {
this.$modal.msgSuccess("执行成功")
// 提示信息:执行成功
this.$modal.msgSuccess(this.$t('Monitor_ScheduledTask.execSuccessInfo'))
}).catch(() => {})
},
/** 任务详细信息 */
@@ -460,7 +530,8 @@ export default {
handleAdd() {
this.reset()
this.open = true
this.title = "添加任务"
// 标题:添加任务
this.title = this.$t('Monitor_ScheduledTask.btnAddTitle')
},
/** 修改按钮操作 */
handleUpdate(row) {
@@ -469,7 +540,8 @@ export default {
getJob(jobId).then(response => {
this.form = response.data
this.open = true
this.title = "修改任务"
// 标题:修改任务
this.title = this.$t('Monitor_ScheduledTask.btnEditTitle')
})
},
/** 提交按钮 */
@@ -478,13 +550,15 @@ export default {
if (valid) {
if (this.form.jobId != undefined) {
updateJob(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
// 提示信息:修改成功
this.$modal.msgSuccess(this.$t('Monitor_ScheduledTask.editSuccessInfo'))
this.open = false
this.getList()
})
} else {
addJob(this.form).then(response => {
this.$modal.msgSuccess("新增成功")
// 提示信息:新增成功
this.$modal.msgSuccess(this.$t('Monitor_ScheduledTask.addSuccessInfo'))
this.open = false
this.getList()
})
@@ -495,11 +569,13 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const jobIds = row.jobId || this.ids
this.$modal.confirm('是否确认删除定时任务编号为"' + jobIds + '"的数据项?').then(function() {
// 提示信息:是否确认删除入库作业流水编号为"' + jobIds + '"的数据项?
this.$modal.confirm(this.$t('Monitor_ScheduledTask.textDeleteConfirm1') + jobIds + this.$t('Monitor_ScheduledTask.textDeleteConfirm1')).then(function() {
return delJob(jobIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
// 提示信息:删除成功
this.$modal.msgSuccess(this.$t('Monitor_ScheduledTask.deleteSuccessInfo'))
}).catch(() => {})
},
/** 导出按钮操作 */

View File

@@ -1,28 +1,31 @@
<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="ipaddr">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="$t('systemManagement_LogManagement_Login.other_labelWidthSearch')">
<!-- 登陆地址 -->
<el-form-item :label="$t('systemManagement_LogManagement_Login.ipAddress')" prop="ipaddr">
<el-input
v-model="queryParams.ipaddr"
placeholder="请输入登录地址"
:placeholder="$t('systemManagement_LogManagement_Login.placeholderIpAddress')"
clearable
style="width: 240px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户名称" prop="userName">
<!-- 用户名称 -->
<el-form-item :label="$t('systemManagement_LogManagement_Login.userName')" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称"
:placeholder="$t('systemManagement_LogManagement_Login.placeholderUserName')"
clearable
style="width: 240px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<!-- 状态 -->
<el-form-item :label="$t('systemManagement_LogManagement_Login.status')" prop="status">
<el-select
v-model="queryParams.status"
placeholder="登录状态"
:placeholder="$t('systemManagement_LogManagement_Login.placeholderStatus')"
clearable
style="width: 240px"
>
@@ -34,26 +37,30 @@
/>
</el-select>
</el-form-item>
<el-form-item label="登录时间">
<!-- 登陆时间 -->
<el-form-item :label="$t('systemManagement_LogManagement_Login.loginTime')">
<el-date-picker
v-model="dateRange"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:start-placeholder="$t('systemManagement_LogManagement_Login.placeholderDateStart')"
:end-placeholder="$t('systemManagement_LogManagement_Login.placeholderDateEnd')"
: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">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<!-- 【查询】按钮 -->
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('systemManagement_LogManagement_Login.btnSearch') }}</el-button>
<!-- 【重置】按钮 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('systemManagement_LogManagement_Login.btnReset') }}</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- 【删除】按钮 -->
<el-button
type="danger"
plain
@@ -62,9 +69,10 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['monitor:logininfor:remove']"
>删除</el-button>
>{{ $t('systemManagement_LogManagement_Login.btnDelete') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【清空】按钮 -->
<el-button
type="danger"
plain
@@ -72,9 +80,10 @@
size="mini"
@click="handleClean"
v-hasPermi="['monitor:logininfor:remove']"
>清空</el-button>
>{{ $t('systemManagement_LogManagement_Login.btnClear') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【解锁】按钮 -->
<el-button
type="primary"
plain
@@ -83,9 +92,10 @@
:disabled="single"
@click="handleUnlock"
v-hasPermi="['monitor:logininfor:unlock']"
>解锁</el-button>
>{{ $t('systemManagement_LogManagement_Login.btnUnlocked') }}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【导出】按钮 -->
<el-button
type="warning"
plain
@@ -93,26 +103,35 @@
size="mini"
@click="handleExport"
v-hasPermi="['monitor:logininfor:export']"
>导出</el-button>
>{{ $t('systemManagement_LogManagement_Login.btnExport') }}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="访问编号" align="center" prop="infoId" />
<el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
<el-table-column label="登录地址" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true" />
<el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
<el-table-column label="浏览器" align="center" prop="browser" :show-overflow-tooltip="true" />
<el-table-column label="操作系统" align="center" prop="os" />
<el-table-column label="登录状态" align="center" prop="status">
<!-- 访问编号 -->
<el-table-column :label="$t('systemManagement_LogManagement_Login.infoId')" align="center" prop="infoId" />
<!-- 用户名称 -->
<el-table-column :label="$t('systemManagement_LogManagement_Login.userName')" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
<!-- 登陆地址 -->
<el-table-column :label="$t('systemManagement_LogManagement_Login.ipAddress')" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true" />
<!-- 登陆地点 -->
<el-table-column :label="$t('systemManagement_LogManagement_Login.loginLocation')" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
<!-- 浏览器 -->
<el-table-column :label="$t('systemManagement_LogManagement_Login.browser')" align="center" prop="browser" :show-overflow-tooltip="true" />
<!-- 操作系统 -->
<el-table-column :label="$t('systemManagement_LogManagement_Login.os')" align="center" prop="os" />
<!-- 登录状态 -->
<el-table-column :label="$t('systemManagement_LogManagement_Login.status')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="操作信息" align="center" prop="msg" :show-overflow-tooltip="true" />
<el-table-column label="登录日期" align="center" prop="loginTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
<!-- 操作信息 -->
<el-table-column :label="$t('systemManagement_LogManagement_Login.message')" align="center" prop="msg" :show-overflow-tooltip="true" />
<!-- 登录时间 -->
<el-table-column :label="$t('systemManagement_LogManagement_Login.loginTime')" align="center" prop="loginTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.loginTime) }}</span>
</template>
@@ -196,9 +215,9 @@ export default {
/** 多选框选中数据 */
handleSelectionChange(selection) {
this.ids = selection.map(item => item.infoId)
this.single = selection.length!=1
this.single = selection.length !== 1
this.multiple = !selection.length
this.selectName = selection.map(item => item.userName)
this.selectName = selection.map(item => item.userName).join(',') // 多个用户逗号拼接
},
/** 排序触发事件 */
handleSortChange(column, prop, order) {
@@ -209,29 +228,37 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const infoIds = row.infoId || this.ids
this.$modal.confirm('是否确认删除访问编号为"' + infoIds + '"的数据项?').then(function() {
// 提示信息:是否确认删除登录编号为" + infoIds + "的数据项?
const confirmText = this.$t('systemManagement_LogManagement_Login.textDeleteConfirm1') + infoIds + this.$t('systemManagement_LogManagement_Login.confirmdeleteConfirm2')
this.$modal.confirm(confirmText).then(() => {
return delLogininfor(infoIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
// 提示信息:删除成功
this.$modal.msgSuccess(this.$t('systemManagement_LogManagement_Login.deleteSuccess'))
}).catch(() => {})
},
/** 清空按钮操作 */
handleClean() {
this.$modal.confirm('是否确认清空所有登录日志数据项?').then(function() {
// 提示信息:确认清空所有登录日志数据项吗?
this.$modal.confirm(this.$t('systemManagement_LogManagement_Login.textCleanConfirm')).then(() => {
return cleanLogininfor()
}).then(() => {
this.getList()
this.$modal.msgSuccess("清空成功")
// 提示信息:清空成功
this.$modal.msgSuccess(this.$t('systemManagement_LogManagement_Login.clearSuccess'))
}).catch(() => {})
},
/** 解锁按钮操作 */
handleUnlock() {
const username = this.selectName
this.$modal.confirm('是否确认解锁用户"' + username + '"数据项?').then(function() {
// 提示信息:是否确认解锁用户" + username + "的数据项?
const confirmText = (this.$t('systemManagement_LogManagement_Login.textUnlockConfirm1') + username + this.$t('systemManagement_LogManagement_Login.textUnlockConfirm1')).replace('{username}', username)
this.$modal.confirm(confirmText).then(() => {
return unlockLogininfor(username)
}).then(() => {
this.$modal.msgSuccess("用户" + username + "解锁成功")
// 提示:解锁成功
this.$modal.msgSuccess(this.$t('systemManagement_LogManagement_Login.unlockSuccessInfo').replace('{username}', username))
}).catch(() => {})
},
/** 导出按钮操作 */

View File

@@ -1,63 +1,82 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="登录地址" prop="ipaddr">
<!-- 查询表单 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="$t('monitor_Online.lblWidthSearch')">
<!-- 登陆地址 -->
<el-form-item :label="$t('monitor_Online.ipAddress')" prop="ipaddr">
<el-input
v-model="queryParams.ipaddr"
placeholder="请输入登录地址"
:placeholder="$t('monitor_Online.placeholderIpAddress')"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户名称" prop="userName">
<!-- 用户名称 -->
<el-form-item :label="$t('monitor_Online.userName')" prop="userName">
<el-input
v-model="queryParams.userName"
placeholder="请输入用户名称"
:placeholder="$t('monitor_Online.placeholderUserName')"
clearable
@keyup.enter.native="handleQuery"
/>
</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>
<!-- 【查询】按钮 -->
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('monitor_Online.btnSearch') }}</el-button>
<!-- 【重置】按钮 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('monitor_Online.btnReset') }}</el-button>
</el-form-item>
</el-form>
<!-- 数据表格 -->
<el-table
v-loading="loading"
:data="list.slice((pageNum-1)*pageSize,pageNum*pageSize)"
:data="list.slice((pageNum-1)*pageSize, pageNum*pageSize)"
style="width: 100%;"
>
<el-table-column label="序号" type="index" align="center">
<!-- 序号 -->
<el-table-column :label="$t('monitor_Online.num')" type="index" align="center">
<template slot-scope="scope">
<span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="会话编号" align="center" prop="tokenId" :show-overflow-tooltip="true" />
<el-table-column label="登录名称" align="center" prop="userName" :show-overflow-tooltip="true" />
<el-table-column label="部门名称" align="center" prop="deptName" />
<el-table-column label="主机" align="center" prop="ipaddr" :show-overflow-tooltip="true" />
<el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
<el-table-column label="浏览器" align="center" prop="browser" />
<el-table-column label="操作系统" align="center" prop="os" />
<el-table-column label="登录时间" align="center" prop="loginTime" width="180">
<!-- 会话编号 -->
<el-table-column :label="$t('monitor_Online.tokenId')" align="center" prop="tokenId" :show-overflow-tooltip="true" />
<!-- 登录名称 -->
<el-table-column :label="$t('monitor_Online.userName')" align="center" prop="userName" :show-overflow-tooltip="true" />
<!-- 部门名称 -->
<el-table-column :label="$t('monitor_Online.deptName')" align="center" prop="deptName" />
<!-- 主机地址 -->
<el-table-column :label="$t('monitor_Online.ipAddress')" align="center" prop="ipaddr" :show-overflow-tooltip="true" />
<!-- 登录地点 -->
<el-table-column :label="$t('monitor_Online.loginLocation')" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
<!-- 浏览器 -->
<el-table-column :label="$t('monitor_Online.browser')" align="center" prop="browser" />
<!-- 操作系统 -->
<el-table-column :label="$t('monitor_Online.os')" align="center" prop="os" />
<!-- 登录时间 -->
<el-table-column :label="$t('monitor_Online.loginTime')" align="center" prop="loginTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.loginTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<!-- 操作 -->
<el-table-column :label="$t('monitor_Online.btnForceLogout')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- 【强制退出】按钮 -->
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleForceLogout(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>强退</el-button>
>{{ $t('monitor_Online.btnForceLogout') }}</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" />
</div>
</template>
@@ -88,7 +107,7 @@ export default {
this.getList()
},
methods: {
/** 查询登录日志列表 */
/** 查询在线用户列表 */
getList() {
this.loading = true
list(this.queryParams).then(response => {
@@ -109,14 +128,14 @@ export default {
},
/** 强退按钮操作 */
handleForceLogout(row) {
this.$modal.confirm('是否确认强退名称为"' + row.userName + '"的用户?').then(function() {
const confirmText = this.$t('monitor_Online.textForceLogoutConfirm1') + row.userName + this.$t('monitor_Online.textForceLogoutConfirm2')
this.$modal.confirm(confirmText).then(() => {
return forceLogout(row.tokenId)
}).then(() => {
this.getList()
this.$modal.msgSuccess("强退成功")
this.$modal.msgSuccess(this.$t('monitor_Online.btnForceLogout'))
}).catch(() => {})
}
}
}
</script>
</script>

View File

@@ -1,37 +1,41 @@
<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="operIp">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="lblWidthSearch">
<!-- 操作地址 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.operIp')" prop="operIp">
<el-input
v-model="queryParams.operIp"
placeholder="请输入操作地址"
:placeholder="$t('systemManagement_LogManagement_Operation.placeholderOpenIp')"
clearable
style="width: 240px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="系统模块" prop="title">
<!-- 系统模块 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.title')" prop="title">
<el-input
v-model="queryParams.title"
placeholder="请输入系统模块"
:placeholder="$t('systemManagement_LogManagement_Operation.placeholderTitle')"
clearable
style="width: 240px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="操作人员" prop="operName">
<!-- 操作人员 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.operName')" prop="operName" >
<el-input
v-model="queryParams.operName"
placeholder="请输入操作人员"
:placeholder="$t('systemManagement_LogManagement_Operation.placeholderOperName')"
clearable
style="width: 240px;"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="类型" prop="businessType">
<!-- 操作类型 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.businessType')" prop="businessType" >
<el-select
v-model="queryParams.businessType"
placeholder="操作类型"
:placeholder="$t('systemManagement_LogManagement_Operation.placeholderBusinessType')"
clearable
style="width: 240px"
>
@@ -43,10 +47,11 @@
/>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="status">
<!-- 状态 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.status')" prop="status">
<el-select
v-model="queryParams.status"
placeholder="操作状态"
:placeholder="$t('systemManagement_LogManagement_Operation.placeholderStatus')"
clearable
style="width: 240px"
>
@@ -58,26 +63,30 @@
/>
</el-select>
</el-form-item>
<el-form-item label="操作时间">
<!-- 操作时间 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.operTime')">
<el-date-picker
v-model="dateRange"
style="width: 240px"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
:start-placeholder="$t('systemManagement_LogManagement_Operation.placeholderDateStart')"
:end-placeholder="$t('systemManagement_LogManagement_Operation.placeholderDateEnd')"
: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">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<!-- 【查询】按钮 -->
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{$t('systemManagement_LogManagement_Operation.btnSearch')}}</el-button>
<!-- 【重置】按钮 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{$t('systemManagement_LogManagement_Operation.btnReset')}}</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- 【删除】按钮 -->
<el-button
type="danger"
plain
@@ -86,9 +95,10 @@
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['monitor:operlog:remove']"
>删除</el-button>
>{{$t('systemManagement_LogManagement_Operation.btnDelete')}}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【清空】按钮 -->
<el-button
type="danger"
plain
@@ -96,9 +106,10 @@
size="mini"
@click="handleClean"
v-hasPermi="['monitor:operlog:remove']"
>清空</el-button>
>{{$t('systemManagement_LogManagement_Operation.btnClear')}}</el-button>
</el-col>
<el-col :span="1.5">
<!-- 【导出】按钮 -->
<el-button
type="warning"
plain
@@ -106,47 +117,58 @@
size="mini"
@click="handleExport"
v-hasPermi="['monitor:operlog:export']"
>导出</el-button>
>{{$t('systemManagement_LogManagement_Operation.btnExport')}}</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="日志编号" align="center" prop="operId" />
<el-table-column label="系统模块" align="center" prop="title" :show-overflow-tooltip="true" />
<el-table-column label="操作类型" align="center" prop="businessType">
<!-- 日志编号 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.operId')" align="center" prop="operId" />
<!-- 操作模块 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.title')" align="center" prop="title" :show-overflow-tooltip="true" />
<!-- 操作类型 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.businessType')" align="center" prop="businessType">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_oper_type" :value="scope.row.businessType"/>
</template>
</el-table-column>
<el-table-column label="操作人员" align="center" prop="operName" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
<el-table-column label="操作地址" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" />
<el-table-column label="操作地点" align="center" prop="operLocation" :show-overflow-tooltip="true" />
<el-table-column label="操作状态" align="center" prop="status">
<!-- 操作人员 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.operName')" align="center" prop="operName" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
<!-- 操作地址 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.operIp')" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" />
<!-- 操作地点 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.operLocation')" align="center" prop="operLocation" :show-overflow-tooltip="true" />
<!-- 操作状态 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.status')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="操作日期" align="center" prop="operTime" width="160" sortable="custom" :sort-orders="['descending', 'ascending']">
<!-- 操作日期 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.operTime')" align="center" prop="operTime" width="160" sortable="custom" :sort-orders="['descending', 'ascending']">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.operTime) }}</span>
</template>
</el-table-column>
<el-table-column label="消耗时间" align="center" prop="costTime" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']">
<!-- 消耗时间 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.costTime')" align="center" prop="costTime" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']">
<template slot-scope="scope">
<span>{{ scope.row.costTime }}毫秒</span>
<span>{{ scope.row.costTime }}{{$t('systemManagement_LogManagement_Operation.unitMillisecond')}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<!-- 操作 -->
<el-table-column :label="$t('systemManagement_LogManagement_Operation.operation')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<!-- 【详细】按钮 -->
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleView(scope.row,scope.index)"
v-hasPermi="['monitor:operlog:query']"
>详细</el-button>
>{{$t('systemManagement_LogManagement_Operation.btnDetails')}}</el-button>
</template>
</el-table-column>
</el-table>
@@ -160,47 +182,61 @@
/>
<!-- 操作日志详细 -->
<el-dialog title="操作日志详细" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" label-width="100px" size="mini">
<el-dialog :title="$t('systemManagement_LogManagement_Operation.logDetails')" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" label-width="140px" size="mini">
<el-row>
<el-col :span="12">
<el-form-item label="操作模块:">{{ form.title }} / {{ typeFormat(form) }}</el-form-item>
<!-- 操作模块 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.title')+':'">{{ form.title }} / {{ typeFormat(form) }}</el-form-item>
<!-- 登录信息 -->
<el-form-item
label="登录信息:"
:label="$t('systemManagement_LogManagement_Operation.loginInfo')+':'"
>{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="请求地址:">{{ form.operUrl }}</el-form-item>
<el-form-item label="请求方式:">{{ form.requestMethod }}</el-form-item>
<!-- 请求地址 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.requestUrl')+':'">{{ form.operUrl }}</el-form-item>
<!-- 请求方式 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.requestMethod')+':'">{{ form.requestMethod }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="操作方法:">{{ form.method }}</el-form-item>
<!-- 操作方法 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.method')+':'">{{ form.method }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="请求参数:">{{ form.operParam }}</el-form-item>
<!-- 请求参数 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.requestParam')+':'">{{ form.operParam }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="返回参数:">{{ form.jsonResult }}</el-form-item>
<!-- 返回参数 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.responseParam')+':'">{{ form.jsonResult }}</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="操作状态:">
<div v-if="form.status === 0">正常</div>
<div v-else-if="form.status === 1">失败</div>
<!-- 操作状态 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.status')+':'">
<!-- 0=正常 -->
<div v-if="form.status === 0">{{$t('systemManagement_LogManagement_Operation.statusNormal')}}</div>
<!-- 1=失败 -->
<div v-else-if="form.status === 1">{{$t('systemManagement_LogManagement_Operation.statusFail')}}</div>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="消耗时间:">{{ form.costTime }}毫秒</el-form-item>
<!-- 消耗时间 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.costTime')+':'">{{ form.costTime }}{{$t('systemManagement_LogManagement_Operation.unitMillisecond')}}</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="操作时间:">{{ parseTime(form.operTime) }}</el-form-item>
<!-- 操作时间 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.operTime')+':'">{{ parseTime(form.operTime) }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item>
<!-- 异常信息 -->
<el-form-item :label="$t('systemManagement_LogManagement_Operation.errorMsg')+':'" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="open = false">关 闭</el-button>
<!-- 【关闭】按钮 -->
<el-button @click="open = false">{{$t('systemManagement_LogManagement_Operation.btnSubmit')}}</el-button>
</div>
</el-dialog>
</div>
@@ -253,7 +289,7 @@ export default {
/** 查询登录日志 */
getList() {
this.loading = true
list(this.addDateRange(this.queryParams, this.dateRange)).then( response => {
list(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.list = response.rows
this.total = response.total
this.loading = false
@@ -295,20 +331,22 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const operIds = row.operId || this.ids
this.$modal.confirm('是否确认删除日志编号为"' + operIds + '"的数据项?').then(function() {
this.$modal.confirm(
this.$t('systemManagement_LogManagement_Operation.textDeleteConfirm') + '"' + operIds + '"?'
).then(() => {
return delOperlog(operIds)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
this.$modal.msgSuccess(this.$t('systemManagement_LogManagement_Operation.deleteSuccessInfo'))
}).catch(() => {})
},
/** 清空按钮操作 */
handleClean() {
this.$modal.confirm('是否确认清空所有操作日志数据项?').then(function() {
this.$modal.confirm(this.$t('systemManagement_LogManagement_Operation.textCleanConfirm')).then(() => {
return cleanOperlog()
}).then(() => {
this.getList()
this.$modal.msgSuccess("清空成功")
this.$modal.msgSuccess(this.$t('systemManagement_LogManagement_Operation.clearSuccessInfo'))
}).catch(() => {})
},
/** 导出按钮操作 */