forked from github/dataease
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
d7fa87e14f
@ -6,7 +6,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
|
||||
import io.dataease.commons.utils.PageUtils;
|
||||
import io.dataease.commons.utils.Pager;
|
||||
import io.dataease.controller.handler.annotation.I18n;
|
||||
import io.dataease.controller.sys.base.BaseGridRequest;
|
||||
import io.dataease.controller.sys.request.KeyGridRequest;
|
||||
import io.dataease.dto.SysLogGridDTO;
|
||||
import io.dataease.dto.log.FolderItem;
|
||||
import io.dataease.service.sys.log.LogService;
|
||||
@ -37,7 +37,7 @@ public class SysLogController {
|
||||
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
|
||||
})
|
||||
public Pager<List<SysLogGridDTO>> logGrid(@PathVariable int goPage, @PathVariable int pageSize,
|
||||
@RequestBody BaseGridRequest request) {
|
||||
@RequestBody KeyGridRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
return PageUtils.setPageInfo(page, logService.query(request));
|
||||
}
|
||||
@ -51,7 +51,7 @@ public class SysLogController {
|
||||
@ApiOperation("导出操作日志")
|
||||
@PostMapping("/export")
|
||||
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
|
||||
public void export(@RequestBody BaseGridRequest request) throws Exception{
|
||||
public void export(@RequestBody KeyGridRequest request) throws Exception{
|
||||
logService.exportExcel(request);
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,7 @@ import io.dataease.auth.annotation.DeLog;
|
||||
import io.dataease.auth.api.dto.CurrentUserDto;
|
||||
import io.dataease.commons.constants.SysLogConstants;
|
||||
import io.dataease.commons.utils.BeanUtils;
|
||||
import io.dataease.controller.sys.request.UserGridRequest;
|
||||
import io.dataease.controller.sys.request.KeyGridRequest;
|
||||
import io.dataease.exception.DataEaseException;
|
||||
import io.dataease.i18n.Translator;
|
||||
import io.dataease.plugins.common.base.domain.SysRole;
|
||||
@ -60,7 +60,7 @@ public class SysUserController {
|
||||
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
|
||||
})
|
||||
public Pager<List<SysUserGridResponse>> userGrid(@PathVariable int goPage, @PathVariable int pageSize,
|
||||
@RequestBody UserGridRequest request) {
|
||||
@RequestBody KeyGridRequest request) {
|
||||
Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
|
||||
return PageUtils.setPageInfo(page, sysUserService.query(request));
|
||||
}
|
||||
@ -68,8 +68,8 @@ public class SysUserController {
|
||||
@ApiIgnore
|
||||
@PostMapping("/userLists")
|
||||
public List<SysUserGridResponse> userLists(@RequestBody BaseGridRequest request) {
|
||||
UserGridRequest userGridRequest = BeanUtils.copyBean(new UserGridRequest(), request);
|
||||
return sysUserService.query(userGridRequest);
|
||||
KeyGridRequest keyGridRequest = BeanUtils.copyBean(new KeyGridRequest(), request);
|
||||
return sysUserService.query(keyGridRequest);
|
||||
}
|
||||
|
||||
@ApiOperation("创建用户")
|
||||
|
@ -7,7 +7,7 @@ import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class UserGridRequest extends BaseGridRequest implements Serializable {
|
||||
public class KeyGridRequest extends BaseGridRequest implements Serializable {
|
||||
@ApiModelProperty("关键字")
|
||||
private String keyWord;
|
||||
}
|
@ -8,7 +8,17 @@
|
||||
|
||||
|
||||
<select id="query" parameterType="io.dataease.ext.query.GridExample" resultMap="io.dataease.plugins.common.base.mapper.SysLogMapper.ResultMapWithBLOBs">
|
||||
select * from sys_log
|
||||
select * from
|
||||
(select * from sys_log
|
||||
<if test="extendCondition != null">
|
||||
where
|
||||
nick_name like concat('%', #{extendCondition} , '%')
|
||||
or
|
||||
source_name like concat('%', #{extendCondition} , '%')
|
||||
or
|
||||
position like concat('%', #{extendCondition} , '%')
|
||||
</if>
|
||||
) t
|
||||
|
||||
<if test="_parameter != null">
|
||||
<include refid="io.dataease.ext.query.GridSql.gridCondition" />
|
||||
|
@ -1213,7 +1213,7 @@ public class ImpalaQueryProvider extends QueryProvider {
|
||||
} else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) {
|
||||
whereValue = "'%" + f.getValue() + "%'";
|
||||
} else {
|
||||
if (y.getDeExtractType() == DeTypeConstants.DE_INT || y.getDeExtractType() == DeTypeConstants.DE_FLOAT || y.getDeExtractType() == DeTypeConstants.DE_BOOL) {
|
||||
if (y.getDeExtractType() == DeTypeConstants.DE_INT || y.getDeExtractType() == DeTypeConstants.DE_FLOAT || y.getDeExtractType() == DeTypeConstants.DE_BOOL || StringUtils.equalsIgnoreCase(y.getId(), "count")) {
|
||||
whereValue = String.format(ImpalaConstants.WHERE_NUMBER_VALUE_VALUE, f.getValue());
|
||||
} else {
|
||||
whereValue = String.format(ImpalaConstants.WHERE_VALUE_VALUE, f.getValue());
|
||||
|
@ -3,6 +3,7 @@ package io.dataease.service.sys;
|
||||
import io.dataease.auth.api.dto.CurrentUserDto;
|
||||
import io.dataease.auth.service.AuthUserService;
|
||||
import io.dataease.auth.service.ExtAuthService;
|
||||
import io.dataease.commons.exception.DEException;
|
||||
import io.dataease.controller.sys.request.*;
|
||||
import io.dataease.ext.ExtSysUserAssistMapper;
|
||||
import io.dataease.ext.ExtSysUserMapper;
|
||||
@ -60,7 +61,7 @@ public class SysUserService {
|
||||
private AuthUserService authUserService;
|
||||
|
||||
|
||||
public List<SysUserGridResponse> query(UserGridRequest request) {
|
||||
public List<SysUserGridResponse> query(KeyGridRequest request) {
|
||||
String keyWord = request.getKeyWord();
|
||||
GridExample gridExample = request.convertExample();
|
||||
gridExample.setExtendCondition(keyWord);
|
||||
@ -277,15 +278,18 @@ public class SysUserService {
|
||||
CurrentUserDto user = AuthUtils.getUser();
|
||||
|
||||
if (ObjectUtils.isEmpty(user)) {
|
||||
throw new RuntimeException("用户不存在");
|
||||
String msg = "I18N_USER_DONOT_EXIST";
|
||||
DEException.throwException(Translator.get(msg));
|
||||
}
|
||||
if (!StringUtils.equals(CodingUtil.md5(request.getPassword()), user.getPassword())) {
|
||||
throw new RuntimeException("密码错误");
|
||||
String msg = "I18N_USER_SOURCE_PWD_ERROR";
|
||||
DEException.throwException(Translator.get(msg));
|
||||
}
|
||||
SysUser sysUser = new SysUser();
|
||||
sysUser.setUserId(user.getUserId());
|
||||
if (!request.getNewPassword().matches("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{8,30}$")) {
|
||||
throw new RuntimeException("密码格式错误");
|
||||
String msg = "I18N_USER_PWD_FORMAT_ERROR";
|
||||
DEException.throwException(Translator.get(msg));
|
||||
}
|
||||
sysUser.setPassword(CodingUtil.md5(request.getNewPassword()));
|
||||
return sysUserMapper.updateByPrimaryKeySelective(sysUser);
|
||||
|
@ -9,8 +9,8 @@ import io.dataease.commons.constants.SysLogConstants;
|
||||
import io.dataease.commons.utils.AuthUtils;
|
||||
import io.dataease.commons.utils.BeanUtils;
|
||||
import io.dataease.commons.utils.ServletUtils;
|
||||
import io.dataease.controller.sys.base.BaseGridRequest;
|
||||
import io.dataease.controller.sys.base.ConditionEntity;
|
||||
import io.dataease.controller.sys.request.KeyGridRequest;
|
||||
import io.dataease.dto.SysLogDTO;
|
||||
import io.dataease.dto.SysLogGridDTO;
|
||||
import io.dataease.dto.log.FolderItem;
|
||||
@ -69,16 +69,17 @@ public class LogService {
|
||||
private LogManager logManager;
|
||||
|
||||
|
||||
public List<SysLogGridDTO> query(BaseGridRequest request) {
|
||||
public List<SysLogGridDTO> query(KeyGridRequest request) {
|
||||
request = detailRequest(request);
|
||||
|
||||
String keyWord = request.getKeyWord();
|
||||
GridExample gridExample = request.convertExample();
|
||||
gridExample.setExtendCondition(keyWord);
|
||||
List<SysLogWithBLOBs> voLogs = extSysLogMapper.query(gridExample);
|
||||
List<SysLogGridDTO> dtos = voLogs.stream().map(this::convertDTO).collect(Collectors.toList());
|
||||
return dtos;
|
||||
}
|
||||
|
||||
private BaseGridRequest detailRequest(BaseGridRequest request) {
|
||||
private KeyGridRequest detailRequest(KeyGridRequest request) {
|
||||
List<ConditionEntity> conditions = request.getConditions();
|
||||
if (CollectionUtils.isNotEmpty(conditions)) {
|
||||
|
||||
@ -252,12 +253,14 @@ public class LogService {
|
||||
}
|
||||
|
||||
|
||||
public void exportExcel(BaseGridRequest request) throws Exception {
|
||||
public void exportExcel(KeyGridRequest request) throws Exception {
|
||||
request = detailRequest(request);
|
||||
String keyWord = request.getKeyWord();
|
||||
HttpServletResponse response = ServletUtils.response();
|
||||
OutputStream outputStream = response.getOutputStream();
|
||||
try {
|
||||
GridExample gridExample = request.convertExample();
|
||||
gridExample.setExtendCondition(keyWord);
|
||||
List<SysLogWithBLOBs> lists = extSysLogMapper.query(gridExample);
|
||||
List<String[]> details = lists.stream().map(item -> {
|
||||
String operateTypeName = SysLogConstants.operateTypeName(item.getOperateType());
|
||||
|
@ -44,3 +44,22 @@ COMMIT;
|
||||
|
||||
ALTER TABLE `de_driver_details` ADD COLUMN `is_trans_name` TINYINT(1) NULL AFTER `driver_class`;
|
||||
ALTER TABLE `de_driver_details` ADD COLUMN `trans_name` VARCHAR(255) NULL AFTER `driver_class`;
|
||||
|
||||
BEGIN;
|
||||
UPDATE `sys_theme_item` set `val` = '#3370FF' where `theme_id` = 1 and `key` = 'primary' and `val` = '#409EFF';
|
||||
UPDATE `sys_theme_item` set `val` = '#34C724' where `theme_id` = 1 and `key` = 'deSuccess' and `val` = '#67C23A';
|
||||
UPDATE `sys_theme_item` set `val` = '#FF8800' where `theme_id` = 1 and `key` = 'deWarning' and `val` = '#E6A23C';
|
||||
UPDATE `sys_theme_item` set `val` = '#F54A45' where `theme_id` = 1 and `key` = 'deDanger' and `val` = '#F56C6C';
|
||||
|
||||
UPDATE `sys_theme_item` set `val` = '#1F2329' where `theme_id` = 1 and `key` = 'deTextPrimary' and `val` = '#303133';
|
||||
UPDATE `sys_theme_item` set `val` = '#646A73' where `theme_id` = 1 and `key` = 'deTextSecondary' and `val` = '#909399';
|
||||
UPDATE `sys_theme_item` set `val` = '#8F959E' where `theme_id` = 1 and `key` = 'deTextPlaceholder' and `val` = '#C0C4CC';
|
||||
INSERT INTO `sys_theme_item` VALUES (1, 'deTextDisable', '#BBBFC4');
|
||||
|
||||
INSERT INTO `sys_theme_item` VALUES (1, 'deComBorderColor', '#BBBFC4');
|
||||
INSERT INTO `sys_theme_item` VALUES (1, 'deCardStrokeColor', '#DEE0E3');
|
||||
UPDATE `sys_theme_item` set `val` = '#1F2329' where `theme_id` = 1 and `key` = 'deBlack' and `val` = '#000000';
|
||||
UPDATE `sys_theme_item` set `val` = '#F5F6F7' where `theme_id` = 1 and `key` = 'deBackgroundBase' and `val` = '#F5F7FA';
|
||||
INSERT INTO `sys_theme_item` VALUES (1, 'deInputDisableBackground', '#EFF0F1');
|
||||
|
||||
COMMIT;
|
||||
|
@ -1,43 +1,43 @@
|
||||
个人信息=Personal Information
|
||||
仪表板=Dashboard
|
||||
修改密码=Change Password
|
||||
创建用户=Create User
|
||||
创建组织=Create Organization
|
||||
创建菜单=Create Menu
|
||||
创建角色=Create Role
|
||||
创建连接=Create Connection
|
||||
删除用户=Delete User
|
||||
删除组织=Delete Organization
|
||||
删除菜单=Delete Menu
|
||||
删除角色=Delete Role
|
||||
删除连接=Delete Connection
|
||||
显示设置=Display
|
||||
系统参数=System Param
|
||||
参数管理=Parameter
|
||||
数据源=Data Source
|
||||
数据源表单=Data source form
|
||||
数据集=Data Set
|
||||
权限管理=Authority
|
||||
校验连接=Verify Connection
|
||||
模板管理=Template
|
||||
用户管理=User
|
||||
用户表单=User Form
|
||||
系统管理=System
|
||||
组织管理=Organization
|
||||
组织表单=Organization Form
|
||||
编辑用户=Edit User
|
||||
编辑组织=Edit Organization
|
||||
编辑菜单=Edit Menu
|
||||
编辑角色=Edit Role
|
||||
编辑连接=Edit Connection
|
||||
菜单管理=Menu
|
||||
菜单表单=Menu Form
|
||||
视图=View
|
||||
角色管理=Role
|
||||
角色表单=Role Form
|
||||
重置密码=Reset Password
|
||||
关于=About Us
|
||||
首页=Home Page
|
||||
\u4E2A\u4EBA\u4FE1\u606F=Personal Information
|
||||
\u4EEA\u8868\u677F=Dashboard
|
||||
\u4FEE\u6539\u5BC6\u7801=Change Password
|
||||
\u521B\u5EFA\u7528\u6237=Create User
|
||||
\u521B\u5EFA\u7EC4\u7EC7=Create Organization
|
||||
\u521B\u5EFA\u83DC\u5355=Create Menu
|
||||
\u521B\u5EFA\u89D2\u8272=Create Role
|
||||
\u521B\u5EFA\u8FDE\u63A5=Create Connection
|
||||
\u5220\u9664\u7528\u6237=Delete User
|
||||
\u5220\u9664\u7EC4\u7EC7=Delete Organization
|
||||
\u5220\u9664\u83DC\u5355=Delete Menu
|
||||
\u5220\u9664\u89D2\u8272=Delete Role
|
||||
\u5220\u9664\u8FDE\u63A5=Delete Connection
|
||||
\u663E\u793A\u8BBE\u7F6E=Display
|
||||
\u7CFB\u7EDF\u53C2\u6570=System Param
|
||||
\u53C2\u6570\u7BA1\u7406=Parameter
|
||||
\u6570\u636E\u6E90=Data Source
|
||||
\u6570\u636E\u6E90\u8868\u5355=Data source form
|
||||
\u6570\u636E\u96C6=Data Set
|
||||
\u6743\u9650\u7BA1\u7406=Authority
|
||||
\u6821\u9A8C\u8FDE\u63A5=Verify Connection
|
||||
\u6A21\u677F\u7BA1\u7406=Template
|
||||
\u7528\u6237\u7BA1\u7406=User
|
||||
\u7528\u6237\u8868\u5355=User Form
|
||||
\u7CFB\u7EDF\u7BA1\u7406=System
|
||||
\u7EC4\u7EC7\u7BA1\u7406=Organization
|
||||
\u7EC4\u7EC7\u8868\u5355=Organization Form
|
||||
\u7F16\u8F91\u7528\u6237=Edit User
|
||||
\u7F16\u8F91\u7EC4\u7EC7=Edit Organization
|
||||
\u7F16\u8F91\u83DC\u5355=Edit Menu
|
||||
\u7F16\u8F91\u89D2\u8272=Edit Role
|
||||
\u7F16\u8F91\u8FDE\u63A5=Edit Connection
|
||||
\u83DC\u5355\u7BA1\u7406=Menu
|
||||
\u83DC\u5355\u8868\u5355=Menu Form
|
||||
\u89C6\u56FE=View
|
||||
\u89D2\u8272\u7BA1\u7406=Role
|
||||
\u89D2\u8272\u8868\u5355=Role Form
|
||||
\u91CD\u7F6E\u5BC6\u7801=Reset Password
|
||||
\u5173\u4E8E=About Us
|
||||
\u9996\u9875=Home Page
|
||||
i18n_auth_view=View
|
||||
i18n_auth_use=Use
|
||||
i18n_auth_export=Export
|
||||
@ -83,11 +83,11 @@ i18n_cst_ds_tb_or_field_deleted=Custom dataset union data is deleted or field ch
|
||||
i18n_no_all_delete_privilege_folder=This folder have sources which have no manage or view privilege,Can Not Be Deleted.
|
||||
i18n_excel_field_repeat=Duplicate fields exist, please modify and try again.
|
||||
i18n_schema_is_empty=Database schema is empty
|
||||
站内消息=Internal Messages
|
||||
所有消息==All Messages
|
||||
未读消息=Unread Messages
|
||||
已读消息==Read Messages
|
||||
接收管理=Receive Manage
|
||||
\u7AD9\u5185\u6D88\u606F=Internal Messages
|
||||
\u6240\u6709\u6D88\u606F==All Messages
|
||||
\u672A\u8BFB\u6D88\u606F=Unread Messages
|
||||
\u5DF2\u8BFB\u6D88\u606F==Read Messages
|
||||
\u63A5\u6536\u7BA1\u7406=Receive Manage
|
||||
i18n_msg_type_panel_share=Dashboard sharing
|
||||
i18n_msg_type_panel_share_cacnel=Dashboard unshared
|
||||
i18n_msg_type_dataset_sync=Data set synchronization
|
||||
@ -110,9 +110,9 @@ i18n_union_ds_no_checked=This union dataset no checked field,please edit
|
||||
i18n_auth_row_permission=Row/Column Permission
|
||||
i18n_sql_error=SQL Error:
|
||||
i18n_invalid_ds=Invalid Datasource
|
||||
任务管理=Task Manager
|
||||
数据同步=Data Sync
|
||||
定时报告=Regular report
|
||||
\u4EFB\u52A1\u7BA1\u7406=Task Manager
|
||||
\u6570\u636E\u540C\u6B65=Data Sync
|
||||
\u5B9A\u65F6\u62A5\u544A=Regular report
|
||||
i18n_rp_exist=Row permission of the same type already exists
|
||||
i18n_field_name_repeat=Field name can't repeat
|
||||
i18n_calc_field_error=Field expression error
|
||||
@ -122,13 +122,13 @@ theme_name_repeat=name of theme has been existed
|
||||
theme_name_empty=name can not be empty
|
||||
i18n_public_chart=\u3010Public Chart\u3011
|
||||
i18n_class_blue=Blue Tone
|
||||
插件管理=Plugins
|
||||
\u63D2\u4EF6\u7BA1\u7406=Plugins
|
||||
i18n_plugin_not_allow_delete=The plugin in in use cannot be deleted
|
||||
i18n_wrong_content=Wrong content
|
||||
i18n_wrong_tel=Wrong tel format
|
||||
i18n_wrong_email=Wrong email format
|
||||
i18n_wrong_name_format=Wrong name format
|
||||
日志管理=Operate Log
|
||||
\u65E5\u5FD7\u7BA1\u7406=Operate Log
|
||||
OPERATE_TYPE_CREATE=Create
|
||||
OPERATE_TYPE_MODIFY=Modify
|
||||
OPERATE_TYPE_DELETE=Delete
|
||||
@ -190,9 +190,9 @@ i18n_row_permission_type_error=Row permission type can not be empty
|
||||
i18n_row_permission_id=Row permission type is Dept/Role/User,name can not be empty
|
||||
i18n_gauge_field_change=Field type changed,please edit
|
||||
i18n_gauge_field_delete=Field type changed,please edit
|
||||
系统配置=System
|
||||
外观配置=Appearance
|
||||
数据同步表单=Data synchronization form
|
||||
\u7CFB\u7EDF\u914D\u7F6E=System
|
||||
\u5916\u89C2\u914D\u7F6E=Appearance
|
||||
\u6570\u636E\u540C\u6B65\u8868\u5355=Data synchronization form
|
||||
i18n_max_user_import_size=File size exceeds 10M
|
||||
I18N_XPACKTASK_FILE_NAME=Execute log
|
||||
I18N_XPACKTASK_NAME=Name
|
||||
@ -211,3 +211,7 @@ I18N_END_TIME=End time
|
||||
I18N_STATUS=Status
|
||||
I18N_DATA=Data
|
||||
I18N_SYNC_LOG=Sync log
|
||||
|
||||
I18N_USER_DONOT_EXIST=User do not exist
|
||||
I18N_USER_SOURCE_PWD_ERROR=Source password error
|
||||
I18N_USER_PWD_FORMAT_ERROR=Password format error
|
||||
|
@ -1,213 +1,217 @@
|
||||
个人信息=个人信息
|
||||
仪表板=仪表板
|
||||
修改密码=修改密码
|
||||
创建用户=创建用户
|
||||
创建组织=创建组织
|
||||
创建菜单=创建菜单
|
||||
创建角色=创建角色
|
||||
创建连接=创建连接
|
||||
删除用户=删除用户
|
||||
删除组织=删除组织
|
||||
删除菜单=删除菜单
|
||||
删除角色=删除角色
|
||||
删除连接=删除连接
|
||||
显示设置=显示设置
|
||||
系统参数=系统参数
|
||||
参数管理=参数管理
|
||||
数据源=数据源
|
||||
数据源表单=数据源表单
|
||||
数据集=数据集
|
||||
权限管理=权限管理
|
||||
校验连接=校验连接
|
||||
模板管理=模板管理
|
||||
用户管理=用户管理
|
||||
用户表单=用户表单
|
||||
系统管理=系统管理
|
||||
组织管理=组织管理
|
||||
组织表单=组织表单
|
||||
编辑用户=编辑用户
|
||||
编辑组织=编辑组织
|
||||
编辑菜单=编辑菜单
|
||||
编辑角色=编辑角色
|
||||
编辑连接=编辑连接
|
||||
菜单管理=菜单管理
|
||||
菜单表单=菜单表单
|
||||
视图=视图
|
||||
角色管理=角色管理
|
||||
角色表单=角色表单
|
||||
重置密码=重置密码
|
||||
关于=关于
|
||||
首页=首页
|
||||
i18n_auth_view=查看
|
||||
i18n_auth_use=使用
|
||||
i18n_auth_export=导出
|
||||
i18n_auth_manage=管理
|
||||
i18n_auth_grant=授权
|
||||
i18n_template_system=系统模板
|
||||
i18n_template_self=用户模板
|
||||
i18n_name_cant_repeat_same_group=同一分组下该名称已被使用
|
||||
i18n_chart_count=记录数*
|
||||
i18n_excel_have_merge_region=Excel 存在合并单元格
|
||||
i18n_cron_expression_error=Cron 表达式校验错误
|
||||
i18n_same_folder_can_not_repeat=同一目录下该名称已被使用
|
||||
i18n_select_diff_folder= 请选择不同的目录
|
||||
i18n_default_panel=默认仪表板
|
||||
i18n_panel_list=仪表板
|
||||
i18n_processing_data=正在处理数据,稍后刷新
|
||||
i18n_union_already_exists=关联关系已存在
|
||||
i18n_union_field_exists=两个数据集之间关联不能出现多次相同字段
|
||||
i18n_cron_time_error=开始时间不能大于结束时间
|
||||
i18n_auth_source_be_canceled=本用户当前资源所有授权权限已经被取消,如需再次开通,请联系管理员
|
||||
i18n_username_exists=用户 ID 已存在
|
||||
i18n_nickname_exists=用户 姓名 已存在
|
||||
i18n_email_exists=邮箱已存在
|
||||
i18n_ds_name_exists=数据源名称已被使用
|
||||
i18n_sync_job_exists=已经有同步任务在运行,稍后重试
|
||||
i18n_datasource_check_fail=校验失败,请检查配置信息
|
||||
i18n_not_find_user=未找到用户
|
||||
i18n_sql_not_empty=SQL 不能为空
|
||||
i18n_datasource_not_allow_delete_msg= 个数据集正在使用此数据源,无法删除
|
||||
i18n_task_name_repeat=同一数据集下任务名称已被使用
|
||||
i18n_id_or_pwd_error=无效的ID或密码
|
||||
i18n_datasource_delete=当前用到的数据源已被删除
|
||||
i18n_dataset_delete=当前用到的数据集已被删除
|
||||
i18n_dataset_no_permission=当前用到的数据集没有权限
|
||||
i18n_chart_delete=当前用到的视图已被删除
|
||||
i18n_not_exec_add_sync=没有已完成的同步任务,无法进行增量同步
|
||||
i18n_excel_header_empty=Excel第一行为空
|
||||
i18n_excel_empty_column=第一行存在空单元格
|
||||
i18n_custom_ds_delete=自定义数据集所关联数据被删除,无法正常显示
|
||||
i18n_sql_add_not_matching=增量添加 SQL 的数据列与数据集不匹配,
|
||||
i18n_sql_delete_not_matching=增量删除 SQL 的数据列与数据集不匹配,
|
||||
i18n_cst_ds_tb_or_field_deleted=自定义数据集所关联数据被删除或字段发生变化,无法正常显示
|
||||
i18n_no_all_delete_privilege_folder=该目录下存在没有管理权限或查看权限的资源,无法删除
|
||||
i18n_excel_field_repeat=存在重复字段,请修改后重试
|
||||
i18n_schema_is_empty=数据库 Schema 为空
|
||||
站内消息=站内消息
|
||||
所有消息=所有消息
|
||||
未读消息=未读消息
|
||||
已读消息=已读消息
|
||||
接收管理=接收管理
|
||||
i18n_msg_type_panel_share=仪表板分享
|
||||
i18n_msg_type_panel_share_cacnel=仪表板取消分享
|
||||
i18n_msg_type_dataset_sync=数据集同步
|
||||
i18n_msg_type_dataset_sync_success=数据集同步成功
|
||||
i18n_msg_type_dataset_sync_faild=数据集同步失败
|
||||
i18n_data_not_sync=请先完成数据同步
|
||||
i18n_excel_column_change=Excel的列名与原数据集不一致
|
||||
i18n_excel_column_inconsistent=所选sheet页面的列名不一致
|
||||
i18n_timed_task=定时任务
|
||||
i18n_datasource_connect_error=数据源连接异常:
|
||||
i18n_check_sql_error=校验增量 SQL 异常,
|
||||
i18n_change_task_status_error=不允许暂停,任务状态为:
|
||||
i18n_Stopped=执行结束
|
||||
i18n_Exec=运行中
|
||||
i18n_no_trigger=当前设置没有触发任务生成
|
||||
i18n_dataset_field_delete=该自定义数据集有关联字段被删除,请重新确认关联关系并重做该数据集
|
||||
i18n_es_limit=Elasticsearch 版本不能小于6.3
|
||||
i18n_ds_error=预览数据错误:执行SQL失败。可能因相关字段、表、数据集等元素发生变更,请检查
|
||||
i18n_union_ds_no_checked=当前关联数据集,无选中字段,请重新编辑
|
||||
i18n_auth_row_permission=行列权限
|
||||
i18n_sql_error=SQL 错误:
|
||||
i18n_invalid_ds=无效数据源
|
||||
任务管理=任务管理
|
||||
数据同步=数据同步
|
||||
定时报告=定时报告
|
||||
i18n_rp_exist=已有同类型的行权限存在
|
||||
i18n_field_name_repeat=字段名不能重复
|
||||
i18n_calc_field_error=字段表达式语法错误
|
||||
i18n_cp_exist=已有同类型的列权限存在
|
||||
connection_failed=连接失败
|
||||
theme_name_repeat=名称已存在
|
||||
theme_name_empty=名称不能为空
|
||||
i18n_public_chart=【存量视图】
|
||||
i18n_class_blue=蓝色调
|
||||
插件管理=插件管理
|
||||
i18n_plugin_not_allow_delete=正在使用的插件不允许删除
|
||||
i18n_wrong_content=内容不合法
|
||||
i18n_wrong_tel=电话格式错误
|
||||
i18n_wrong_email=邮箱格式错误
|
||||
i18n_wrong_name_format=姓名格式错误
|
||||
日志管理=操作日志
|
||||
OPERATE_TYPE_CREATE=创建
|
||||
OPERATE_TYPE_MODIFY=修改
|
||||
OPERATE_TYPE_DELETE=删除
|
||||
OPERATE_TYPE_SHARE=分享
|
||||
OPERATE_TYPE_UNSHARE=取消分享
|
||||
OPERATE_TYPE_AUTHORIZE=授权
|
||||
OPERATE_TYPE_UNAUTHORIZE=取消授权
|
||||
OPERATE_TYPE_CREATELINK=创建公共链接
|
||||
OPERATE_TYPE_DELETELINK=删除公共链接
|
||||
OPERATE_TYPE_MODIFYLINK=修改公共链接
|
||||
OPERATE_TYPE_UPLOADFILE=上传
|
||||
OPERATE_TYPE_LOGIN=登录
|
||||
OPERATE_TYPE_PC_VIEW=使用PC查看
|
||||
OPERATE_TYPE_MB_VIEW=使用移动端查看
|
||||
OPERATE_TYPE_EXPORT=导出
|
||||
I18N_USER_TEMPLATE_ERROR=用户模版错误
|
||||
SOURCE_TYPE_DATASOURCE=数据源
|
||||
SOURCE_TYPE_DATASET=数据集
|
||||
SOURCE_TYPE_PANEL=仪表板
|
||||
SOURCE_TYPE_VIEW=视图
|
||||
SOURCE_TYPE_USER=用户
|
||||
SOURCE_TYPE_DEPT=组织
|
||||
SOURCE_TYPE_ROLE=角色
|
||||
SOURCE_TYPE_DRIVER=驱动
|
||||
SOURCE_TYPE_DRIVER_FILE=驱动文件
|
||||
SOURCE_TYPE_MENU=菜单
|
||||
I18N_OPERATE_TYPE=操作类型
|
||||
I18N_DETAIL=操作详情
|
||||
I18N_USER=操作人
|
||||
I18N_TIME=操作时间
|
||||
I18N_DRIVER_NOT_DELETE=使用中的驱动不允许删除
|
||||
I18N_DRIVER_REPEAT_NAME=名称重复
|
||||
I18N_DRIVER_NOT_FOUND=未找到驱动
|
||||
i18n_not_admin_error=不是管理员账号
|
||||
i18n_user_not_exist=用户不存在
|
||||
i18n_default_login_reset=已切换回默认登录方式
|
||||
I18N_COMMON_LEVEL_USE=查看
|
||||
I18N_PANNEL_LEVEL_VIEW=查看
|
||||
I18N_PANNEL_LEVEL_EXPORT=导出
|
||||
I18N_PANNEL_LEVEL_MANAGE=管理
|
||||
I18N_PANNEL_LEVEL_GRANT=授权
|
||||
I18N_DATASET_LEVEL_USE=查看
|
||||
I18N_DATASET_LEVEL_MANAGE=管理
|
||||
I18N_DATASET_LEVEL_GRANT=授权
|
||||
I18N_LINK_LEVEL_USE=查看
|
||||
I18N_LINK_LEVEL_MANAGE=管理
|
||||
I18N_LINK_LEVEL_GRANT=授权
|
||||
I18N_DATASOURCE_LEVEL_USE=查看
|
||||
I18N_DATASOURCE_LEVEL_MANAGE=管理
|
||||
I18N_DATASOURCE_LEVEL_GRANT=授权
|
||||
I18N_NO_PERMISSION=当前用户没有权限
|
||||
I18N_PLEASE_CONCAT_ADMIN=请联系管理员开通
|
||||
I18N_SQL_variable_limit=SQL 变量只能在 WHERE 条件中使用
|
||||
I18N_EMAIL_CONFIG_ERROR=邮件配置错误
|
||||
I18N_EMAIL_HOST_ERROR=邮件主机不能为空
|
||||
I18N_EMAIL_PORT_ERROR=邮件端口不能为空
|
||||
I18N_EMAIL_ACCOUNT_ERROR=邮件账号不能为空
|
||||
i18n_row_permission_type_error=行权限类型不能为空
|
||||
i18n_row_permission_id=行权限类型为组织/角色/用户时,名称不能为空
|
||||
i18n_gauge_field_change=所用字段发生变更,请重新编辑
|
||||
i18n_gauge_field_delete=所用字段已删除,请重新编辑
|
||||
系统配置=系统配置
|
||||
外观配置=外观配置
|
||||
数据同步表单=数据同步表单
|
||||
i18n_max_user_import_size=文件大小超过10M
|
||||
I18N_XPACKTASK_FILE_NAME=执行记录
|
||||
I18N_XPACKTASK_NAME=任务名称
|
||||
I18N_XPACKTASK_EXEC_TIME=执行时间
|
||||
I18N_XPACKTASK_STATUS=执行状态
|
||||
I18N_XPACKTASK_SUCCESS=成功
|
||||
I18N_XPACKTASK_ERROR=失败
|
||||
I18N_XPACKTASK_UNDERWAY=执行中
|
||||
I18N_TASK_LOG_ERROR=失败
|
||||
I18N_TASK_LOG_COMPLETED=成功
|
||||
I18N_TASK_LOG_UNDERWAY=执行中
|
||||
I18N_TASK_NAME=任务名称
|
||||
I18N_DATASET=数据集
|
||||
I18N_START_TIME=开始时间
|
||||
I18N_END_TIME=结束时间
|
||||
I18N_STATUS=状态
|
||||
I18N_DATA=数据
|
||||
I18N_SYNC_LOG=同步日志
|
||||
\u4E2A\u4EBA\u4FE1\u606F=\u4E2A\u4EBA\u4FE1\u606F
|
||||
\u4EEA\u8868\u677F=\u4EEA\u8868\u677F
|
||||
\u4FEE\u6539\u5BC6\u7801=\u4FEE\u6539\u5BC6\u7801
|
||||
\u521B\u5EFA\u7528\u6237=\u521B\u5EFA\u7528\u6237
|
||||
\u521B\u5EFA\u7EC4\u7EC7=\u521B\u5EFA\u7EC4\u7EC7
|
||||
\u521B\u5EFA\u83DC\u5355=\u521B\u5EFA\u83DC\u5355
|
||||
\u521B\u5EFA\u89D2\u8272=\u521B\u5EFA\u89D2\u8272
|
||||
\u521B\u5EFA\u8FDE\u63A5=\u521B\u5EFA\u8FDE\u63A5
|
||||
\u5220\u9664\u7528\u6237=\u5220\u9664\u7528\u6237
|
||||
\u5220\u9664\u7EC4\u7EC7=\u5220\u9664\u7EC4\u7EC7
|
||||
\u5220\u9664\u83DC\u5355=\u5220\u9664\u83DC\u5355
|
||||
\u5220\u9664\u89D2\u8272=\u5220\u9664\u89D2\u8272
|
||||
\u5220\u9664\u8FDE\u63A5=\u5220\u9664\u8FDE\u63A5
|
||||
\u663E\u793A\u8BBE\u7F6E=\u663E\u793A\u8BBE\u7F6E
|
||||
\u7CFB\u7EDF\u53C2\u6570=\u7CFB\u7EDF\u53C2\u6570
|
||||
\u53C2\u6570\u7BA1\u7406=\u53C2\u6570\u7BA1\u7406
|
||||
\u6570\u636E\u6E90=\u6570\u636E\u6E90
|
||||
\u6570\u636E\u6E90\u8868\u5355=\u6570\u636E\u6E90\u8868\u5355
|
||||
\u6570\u636E\u96C6=\u6570\u636E\u96C6
|
||||
\u6743\u9650\u7BA1\u7406=\u6743\u9650\u7BA1\u7406
|
||||
\u6821\u9A8C\u8FDE\u63A5=\u6821\u9A8C\u8FDE\u63A5
|
||||
\u6A21\u677F\u7BA1\u7406=\u6A21\u677F\u7BA1\u7406
|
||||
\u7528\u6237\u7BA1\u7406=\u7528\u6237\u7BA1\u7406
|
||||
\u7528\u6237\u8868\u5355=\u7528\u6237\u8868\u5355
|
||||
\u7CFB\u7EDF\u7BA1\u7406=\u7CFB\u7EDF\u7BA1\u7406
|
||||
\u7EC4\u7EC7\u7BA1\u7406=\u7EC4\u7EC7\u7BA1\u7406
|
||||
\u7EC4\u7EC7\u8868\u5355=\u7EC4\u7EC7\u8868\u5355
|
||||
\u7F16\u8F91\u7528\u6237=\u7F16\u8F91\u7528\u6237
|
||||
\u7F16\u8F91\u7EC4\u7EC7=\u7F16\u8F91\u7EC4\u7EC7
|
||||
\u7F16\u8F91\u83DC\u5355=\u7F16\u8F91\u83DC\u5355
|
||||
\u7F16\u8F91\u89D2\u8272=\u7F16\u8F91\u89D2\u8272
|
||||
\u7F16\u8F91\u8FDE\u63A5=\u7F16\u8F91\u8FDE\u63A5
|
||||
\u83DC\u5355\u7BA1\u7406=\u83DC\u5355\u7BA1\u7406
|
||||
\u83DC\u5355\u8868\u5355=\u83DC\u5355\u8868\u5355
|
||||
\u89C6\u56FE=\u89C6\u56FE
|
||||
\u89D2\u8272\u7BA1\u7406=\u89D2\u8272\u7BA1\u7406
|
||||
\u89D2\u8272\u8868\u5355=\u89D2\u8272\u8868\u5355
|
||||
\u91CD\u7F6E\u5BC6\u7801=\u91CD\u7F6E\u5BC6\u7801
|
||||
\u5173\u4E8E=\u5173\u4E8E
|
||||
\u9996\u9875=\u9996\u9875
|
||||
i18n_auth_view=\u67E5\u770B
|
||||
i18n_auth_use=\u4F7F\u7528
|
||||
i18n_auth_export=\u5BFC\u51FA
|
||||
i18n_auth_manage=\u7BA1\u7406
|
||||
i18n_auth_grant=\u6388\u6743
|
||||
i18n_template_system=\u7CFB\u7EDF\u6A21\u677F
|
||||
i18n_template_self=\u7528\u6237\u6A21\u677F
|
||||
i18n_name_cant_repeat_same_group=\u540C\u4E00\u5206\u7EC4\u4E0B\u8BE5\u540D\u79F0\u5DF2\u88AB\u4F7F\u7528
|
||||
i18n_chart_count=\u8BB0\u5F55\u6570*
|
||||
i18n_excel_have_merge_region=Excel \u5B58\u5728\u5408\u5E76\u5355\u5143\u683C
|
||||
i18n_cron_expression_error=Cron \u8868\u8FBE\u5F0F\u6821\u9A8C\u9519\u8BEF
|
||||
i18n_same_folder_can_not_repeat=\u540C\u4E00\u76EE\u5F55\u4E0B\u8BE5\u540D\u79F0\u5DF2\u88AB\u4F7F\u7528
|
||||
i18n_select_diff_folder= \u8BF7\u9009\u62E9\u4E0D\u540C\u7684\u76EE\u5F55
|
||||
i18n_default_panel=\u9ED8\u8BA4\u4EEA\u8868\u677F
|
||||
i18n_panel_list=\u4EEA\u8868\u677F
|
||||
i18n_processing_data=\u6B63\u5728\u5904\u7406\u6570\u636E\uFF0C\u7A0D\u540E\u5237\u65B0
|
||||
i18n_union_already_exists=\u5173\u8054\u5173\u7CFB\u5DF2\u5B58\u5728
|
||||
i18n_union_field_exists=\u4E24\u4E2A\u6570\u636E\u96C6\u4E4B\u95F4\u5173\u8054\u4E0D\u80FD\u51FA\u73B0\u591A\u6B21\u76F8\u540C\u5B57\u6BB5
|
||||
i18n_cron_time_error=\u5F00\u59CB\u65F6\u95F4\u4E0D\u80FD\u5927\u4E8E\u7ED3\u675F\u65F6\u95F4
|
||||
i18n_auth_source_be_canceled=\u672C\u7528\u6237\u5F53\u524D\u8D44\u6E90\u6240\u6709\u6388\u6743\u6743\u9650\u5DF2\u7ECF\u88AB\u53D6\u6D88,\u5982\u9700\u518D\u6B21\u5F00\u901A,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
i18n_username_exists=\u7528\u6237 ID \u5DF2\u5B58\u5728
|
||||
i18n_nickname_exists=\u7528\u6237 \u59D3\u540D \u5DF2\u5B58\u5728
|
||||
i18n_email_exists=\u90AE\u7BB1\u5DF2\u5B58\u5728
|
||||
i18n_ds_name_exists=\u6570\u636E\u6E90\u540D\u79F0\u5DF2\u88AB\u4F7F\u7528
|
||||
i18n_sync_job_exists=\u5DF2\u7ECF\u6709\u540C\u6B65\u4EFB\u52A1\u5728\u8FD0\u884C\uFF0C\u7A0D\u540E\u91CD\u8BD5
|
||||
i18n_datasource_check_fail=\u6821\u9A8C\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u914D\u7F6E\u4FE1\u606F
|
||||
i18n_not_find_user=\u672A\u627E\u5230\u7528\u6237
|
||||
i18n_sql_not_empty=SQL \u4E0D\u80FD\u4E3A\u7A7A
|
||||
i18n_datasource_not_allow_delete_msg= \u4E2A\u6570\u636E\u96C6\u6B63\u5728\u4F7F\u7528\u6B64\u6570\u636E\u6E90\uFF0C\u65E0\u6CD5\u5220\u9664
|
||||
i18n_task_name_repeat=\u540C\u4E00\u6570\u636E\u96C6\u4E0B\u4EFB\u52A1\u540D\u79F0\u5DF2\u88AB\u4F7F\u7528
|
||||
i18n_id_or_pwd_error=\u65E0\u6548\u7684ID\u6216\u5BC6\u7801
|
||||
i18n_datasource_delete=\u5F53\u524D\u7528\u5230\u7684\u6570\u636E\u6E90\u5DF2\u88AB\u5220\u9664
|
||||
i18n_dataset_delete=\u5F53\u524D\u7528\u5230\u7684\u6570\u636E\u96C6\u5DF2\u88AB\u5220\u9664
|
||||
i18n_dataset_no_permission=\u5F53\u524D\u7528\u5230\u7684\u6570\u636E\u96C6\u6CA1\u6709\u6743\u9650
|
||||
i18n_chart_delete=\u5F53\u524D\u7528\u5230\u7684\u89C6\u56FE\u5DF2\u88AB\u5220\u9664
|
||||
i18n_not_exec_add_sync=\u6CA1\u6709\u5DF2\u5B8C\u6210\u7684\u540C\u6B65\u4EFB\u52A1\uFF0C\u65E0\u6CD5\u8FDB\u884C\u589E\u91CF\u540C\u6B65
|
||||
i18n_excel_header_empty=Excel\u7B2C\u4E00\u884C\u4E3A\u7A7A
|
||||
i18n_excel_empty_column=\u7B2C\u4E00\u884C\u5B58\u5728\u7A7A\u5355\u5143\u683C
|
||||
i18n_custom_ds_delete=\u81EA\u5B9A\u4E49\u6570\u636E\u96C6\u6240\u5173\u8054\u6570\u636E\u88AB\u5220\u9664\uFF0C\u65E0\u6CD5\u6B63\u5E38\u663E\u793A
|
||||
i18n_sql_add_not_matching=\u589E\u91CF\u6DFB\u52A0 SQL \u7684\u6570\u636E\u5217\u4E0E\u6570\u636E\u96C6\u4E0D\u5339\u914D,
|
||||
i18n_sql_delete_not_matching=\u589E\u91CF\u5220\u9664 SQL \u7684\u6570\u636E\u5217\u4E0E\u6570\u636E\u96C6\u4E0D\u5339\u914D,
|
||||
i18n_cst_ds_tb_or_field_deleted=\u81EA\u5B9A\u4E49\u6570\u636E\u96C6\u6240\u5173\u8054\u6570\u636E\u88AB\u5220\u9664\u6216\u5B57\u6BB5\u53D1\u751F\u53D8\u5316\uFF0C\u65E0\u6CD5\u6B63\u5E38\u663E\u793A
|
||||
i18n_no_all_delete_privilege_folder=\u8BE5\u76EE\u5F55\u4E0B\u5B58\u5728\u6CA1\u6709\u7BA1\u7406\u6743\u9650\u6216\u67E5\u770B\u6743\u9650\u7684\u8D44\u6E90\uFF0C\u65E0\u6CD5\u5220\u9664
|
||||
i18n_excel_field_repeat=\u5B58\u5728\u91CD\u590D\u5B57\u6BB5\uFF0C\u8BF7\u4FEE\u6539\u540E\u91CD\u8BD5
|
||||
i18n_schema_is_empty=\u6570\u636E\u5E93 Schema \u4E3A\u7A7A
|
||||
\u7AD9\u5185\u6D88\u606F=\u7AD9\u5185\u6D88\u606F
|
||||
\u6240\u6709\u6D88\u606F=\u6240\u6709\u6D88\u606F
|
||||
\u672A\u8BFB\u6D88\u606F=\u672A\u8BFB\u6D88\u606F
|
||||
\u5DF2\u8BFB\u6D88\u606F=\u5DF2\u8BFB\u6D88\u606F
|
||||
\u63A5\u6536\u7BA1\u7406=\u63A5\u6536\u7BA1\u7406
|
||||
i18n_msg_type_panel_share=\u4EEA\u8868\u677F\u5206\u4EAB
|
||||
i18n_msg_type_panel_share_cacnel=\u4EEA\u8868\u677F\u53D6\u6D88\u5206\u4EAB
|
||||
i18n_msg_type_dataset_sync=\u6570\u636E\u96C6\u540C\u6B65
|
||||
i18n_msg_type_dataset_sync_success=\u6570\u636E\u96C6\u540C\u6B65\u6210\u529F
|
||||
i18n_msg_type_dataset_sync_faild=\u6570\u636E\u96C6\u540C\u6B65\u5931\u8D25
|
||||
i18n_data_not_sync=\u8BF7\u5148\u5B8C\u6210\u6570\u636E\u540C\u6B65
|
||||
i18n_excel_column_change=Excel\u7684\u5217\u540D\u4E0E\u539F\u6570\u636E\u96C6\u4E0D\u4E00\u81F4
|
||||
i18n_excel_column_inconsistent=\u6240\u9009sheet\u9875\u9762\u7684\u5217\u540D\u4E0D\u4E00\u81F4
|
||||
i18n_timed_task=\u5B9A\u65F6\u4EFB\u52A1
|
||||
i18n_datasource_connect_error=\u6570\u636E\u6E90\u8FDE\u63A5\u5F02\u5E38:
|
||||
i18n_check_sql_error=\u6821\u9A8C\u589E\u91CF SQL \u5F02\u5E38,
|
||||
i18n_change_task_status_error=\u4E0D\u5141\u8BB8\u6682\u505C\uFF0C\u4EFB\u52A1\u72B6\u6001\u4E3A\uFF1A
|
||||
i18n_Stopped=\u6267\u884C\u7ED3\u675F
|
||||
i18n_Exec=\u8FD0\u884C\u4E2D
|
||||
i18n_no_trigger=\u5F53\u524D\u8BBE\u7F6E\u6CA1\u6709\u89E6\u53D1\u4EFB\u52A1\u751F\u6210
|
||||
i18n_dataset_field_delete=\u8BE5\u81EA\u5B9A\u4E49\u6570\u636E\u96C6\u6709\u5173\u8054\u5B57\u6BB5\u88AB\u5220\u9664\uFF0C\u8BF7\u91CD\u65B0\u786E\u8BA4\u5173\u8054\u5173\u7CFB\u5E76\u91CD\u505A\u8BE5\u6570\u636E\u96C6
|
||||
i18n_es_limit=Elasticsearch \u7248\u672C\u4E0D\u80FD\u5C0F\u4E8E6.3
|
||||
i18n_ds_error=\u9884\u89C8\u6570\u636E\u9519\u8BEF\uFF1A\u6267\u884CSQL\u5931\u8D25\u3002\u53EF\u80FD\u56E0\u76F8\u5173\u5B57\u6BB5\u3001\u8868\u3001\u6570\u636E\u96C6\u7B49\u5143\u7D20\u53D1\u751F\u53D8\u66F4\uFF0C\u8BF7\u68C0\u67E5
|
||||
i18n_union_ds_no_checked=\u5F53\u524D\u5173\u8054\u6570\u636E\u96C6\uFF0C\u65E0\u9009\u4E2D\u5B57\u6BB5\uFF0C\u8BF7\u91CD\u65B0\u7F16\u8F91
|
||||
i18n_auth_row_permission=\u884C\u5217\u6743\u9650
|
||||
i18n_sql_error=SQL \u9519\u8BEF:
|
||||
i18n_invalid_ds=\u65E0\u6548\u6570\u636E\u6E90
|
||||
\u4EFB\u52A1\u7BA1\u7406=\u4EFB\u52A1\u7BA1\u7406
|
||||
\u6570\u636E\u540C\u6B65=\u6570\u636E\u540C\u6B65
|
||||
\u5B9A\u65F6\u62A5\u544A=\u5B9A\u65F6\u62A5\u544A
|
||||
i18n_rp_exist=\u5DF2\u6709\u540C\u7C7B\u578B\u7684\u884C\u6743\u9650\u5B58\u5728
|
||||
i18n_field_name_repeat=\u5B57\u6BB5\u540D\u4E0D\u80FD\u91CD\u590D
|
||||
i18n_calc_field_error=\u5B57\u6BB5\u8868\u8FBE\u5F0F\u8BED\u6CD5\u9519\u8BEF
|
||||
i18n_cp_exist=\u5DF2\u6709\u540C\u7C7B\u578B\u7684\u5217\u6743\u9650\u5B58\u5728
|
||||
connection_failed=\u8FDE\u63A5\u5931\u8D25
|
||||
theme_name_repeat=\u540D\u79F0\u5DF2\u5B58\u5728
|
||||
theme_name_empty=\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
i18n_public_chart=\u3010\u5B58\u91CF\u89C6\u56FE\u3011
|
||||
i18n_class_blue=\u84DD\u8272\u8C03
|
||||
\u63D2\u4EF6\u7BA1\u7406=\u63D2\u4EF6\u7BA1\u7406
|
||||
i18n_plugin_not_allow_delete=\u6B63\u5728\u4F7F\u7528\u7684\u63D2\u4EF6\u4E0D\u5141\u8BB8\u5220\u9664
|
||||
i18n_wrong_content=\u5185\u5BB9\u4E0D\u5408\u6CD5
|
||||
i18n_wrong_tel=\u7535\u8BDD\u683C\u5F0F\u9519\u8BEF
|
||||
i18n_wrong_email=\u90AE\u7BB1\u683C\u5F0F\u9519\u8BEF
|
||||
i18n_wrong_name_format=\u59D3\u540D\u683C\u5F0F\u9519\u8BEF
|
||||
\u65E5\u5FD7\u7BA1\u7406=\u64CD\u4F5C\u65E5\u5FD7
|
||||
OPERATE_TYPE_CREATE=\u521B\u5EFA
|
||||
OPERATE_TYPE_MODIFY=\u4FEE\u6539
|
||||
OPERATE_TYPE_DELETE=\u5220\u9664
|
||||
OPERATE_TYPE_SHARE=\u5206\u4EAB
|
||||
OPERATE_TYPE_UNSHARE=\u53D6\u6D88\u5206\u4EAB
|
||||
OPERATE_TYPE_AUTHORIZE=\u6388\u6743
|
||||
OPERATE_TYPE_UNAUTHORIZE=\u53D6\u6D88\u6388\u6743
|
||||
OPERATE_TYPE_CREATELINK=\u521B\u5EFA\u516C\u5171\u94FE\u63A5
|
||||
OPERATE_TYPE_DELETELINK=\u5220\u9664\u516C\u5171\u94FE\u63A5
|
||||
OPERATE_TYPE_MODIFYLINK=\u4FEE\u6539\u516C\u5171\u94FE\u63A5
|
||||
OPERATE_TYPE_UPLOADFILE=\u4E0A\u4F20
|
||||
OPERATE_TYPE_LOGIN=\u767B\u5F55
|
||||
OPERATE_TYPE_PC_VIEW=\u4F7F\u7528PC\u67E5\u770B
|
||||
OPERATE_TYPE_MB_VIEW=\u4F7F\u7528\u79FB\u52A8\u7AEF\u67E5\u770B
|
||||
OPERATE_TYPE_EXPORT=\u5BFC\u51FA
|
||||
I18N_USER_TEMPLATE_ERROR=\u7528\u6237\u6A21\u7248\u9519\u8BEF
|
||||
SOURCE_TYPE_DATASOURCE=\u6570\u636E\u6E90
|
||||
SOURCE_TYPE_DATASET=\u6570\u636E\u96C6
|
||||
SOURCE_TYPE_PANEL=\u4EEA\u8868\u677F
|
||||
SOURCE_TYPE_VIEW=\u89C6\u56FE
|
||||
SOURCE_TYPE_USER=\u7528\u6237
|
||||
SOURCE_TYPE_DEPT=\u7EC4\u7EC7
|
||||
SOURCE_TYPE_ROLE=\u89D2\u8272
|
||||
SOURCE_TYPE_DRIVER=\u9A71\u52A8
|
||||
SOURCE_TYPE_DRIVER_FILE=\u9A71\u52A8\u6587\u4EF6
|
||||
SOURCE_TYPE_MENU=\u83DC\u5355
|
||||
I18N_OPERATE_TYPE=\u64CD\u4F5C\u7C7B\u578B
|
||||
I18N_DETAIL=\u64CD\u4F5C\u8BE6\u60C5
|
||||
I18N_USER=\u64CD\u4F5C\u4EBA
|
||||
I18N_TIME=\u64CD\u4F5C\u65F6\u95F4
|
||||
I18N_DRIVER_NOT_DELETE=\u4F7F\u7528\u4E2D\u7684\u9A71\u52A8\u4E0D\u5141\u8BB8\u5220\u9664
|
||||
I18N_DRIVER_REPEAT_NAME=\u540D\u79F0\u91CD\u590D
|
||||
I18N_DRIVER_NOT_FOUND=\u672A\u627E\u5230\u9A71\u52A8
|
||||
i18n_not_admin_error=\u4E0D\u662F\u7BA1\u7406\u5458\u8D26\u53F7
|
||||
i18n_user_not_exist=\u7528\u6237\u4E0D\u5B58\u5728
|
||||
i18n_default_login_reset=\u5DF2\u5207\u6362\u56DE\u9ED8\u8BA4\u767B\u5F55\u65B9\u5F0F
|
||||
I18N_COMMON_LEVEL_USE=\u67E5\u770B
|
||||
I18N_PANNEL_LEVEL_VIEW=\u67E5\u770B
|
||||
I18N_PANNEL_LEVEL_EXPORT=\u5BFC\u51FA
|
||||
I18N_PANNEL_LEVEL_MANAGE=\u7BA1\u7406
|
||||
I18N_PANNEL_LEVEL_GRANT=\u6388\u6743
|
||||
I18N_DATASET_LEVEL_USE=\u67E5\u770B
|
||||
I18N_DATASET_LEVEL_MANAGE=\u7BA1\u7406
|
||||
I18N_DATASET_LEVEL_GRANT=\u6388\u6743
|
||||
I18N_LINK_LEVEL_USE=\u67E5\u770B
|
||||
I18N_LINK_LEVEL_MANAGE=\u7BA1\u7406
|
||||
I18N_LINK_LEVEL_GRANT=\u6388\u6743
|
||||
I18N_DATASOURCE_LEVEL_USE=\u67E5\u770B
|
||||
I18N_DATASOURCE_LEVEL_MANAGE=\u7BA1\u7406
|
||||
I18N_DATASOURCE_LEVEL_GRANT=\u6388\u6743
|
||||
I18N_NO_PERMISSION=\u5F53\u524D\u7528\u6237\u6CA1\u6709\u6743\u9650
|
||||
I18N_PLEASE_CONCAT_ADMIN=\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u5F00\u901A
|
||||
I18N_SQL_variable_limit=SQL \u53D8\u91CF\u53EA\u80FD\u5728 WHERE \u6761\u4EF6\u4E2D\u4F7F\u7528
|
||||
I18N_EMAIL_CONFIG_ERROR=\u90AE\u4EF6\u914D\u7F6E\u9519\u8BEF
|
||||
I18N_EMAIL_HOST_ERROR=\u90AE\u4EF6\u4E3B\u673A\u4E0D\u80FD\u4E3A\u7A7A
|
||||
I18N_EMAIL_PORT_ERROR=\u90AE\u4EF6\u7AEF\u53E3\u4E0D\u80FD\u4E3A\u7A7A
|
||||
I18N_EMAIL_ACCOUNT_ERROR=\u90AE\u4EF6\u8D26\u53F7\u4E0D\u80FD\u4E3A\u7A7A
|
||||
i18n_row_permission_type_error=\u884C\u6743\u9650\u7C7B\u578B\u4E0D\u80FD\u4E3A\u7A7A
|
||||
i18n_row_permission_id=\u884C\u6743\u9650\u7C7B\u578B\u4E3A\u7EC4\u7EC7/\u89D2\u8272/\u7528\u6237\u65F6\uFF0C\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A
|
||||
i18n_gauge_field_change=\u6240\u7528\u5B57\u6BB5\u53D1\u751F\u53D8\u66F4\uFF0C\u8BF7\u91CD\u65B0\u7F16\u8F91
|
||||
i18n_gauge_field_delete=\u6240\u7528\u5B57\u6BB5\u5DF2\u5220\u9664\uFF0C\u8BF7\u91CD\u65B0\u7F16\u8F91
|
||||
\u7CFB\u7EDF\u914D\u7F6E=\u7CFB\u7EDF\u914D\u7F6E
|
||||
\u5916\u89C2\u914D\u7F6E=\u5916\u89C2\u914D\u7F6E
|
||||
\u6570\u636E\u540C\u6B65\u8868\u5355=\u6570\u636E\u540C\u6B65\u8868\u5355
|
||||
i18n_max_user_import_size=\u6587\u4EF6\u5927\u5C0F\u8D85\u8FC710M
|
||||
I18N_XPACKTASK_FILE_NAME=\u6267\u884C\u8BB0\u5F55
|
||||
I18N_XPACKTASK_NAME=\u4EFB\u52A1\u540D\u79F0
|
||||
I18N_XPACKTASK_EXEC_TIME=\u6267\u884C\u65F6\u95F4
|
||||
I18N_XPACKTASK_STATUS=\u6267\u884C\u72B6\u6001
|
||||
I18N_XPACKTASK_SUCCESS=\u6210\u529F
|
||||
I18N_XPACKTASK_ERROR=\u5931\u8D25
|
||||
I18N_XPACKTASK_UNDERWAY=\u6267\u884C\u4E2D
|
||||
I18N_TASK_LOG_ERROR=\u5931\u8D25
|
||||
I18N_TASK_LOG_COMPLETED=\u6210\u529F
|
||||
I18N_TASK_LOG_UNDERWAY=\u6267\u884C\u4E2D
|
||||
I18N_TASK_NAME=\u4EFB\u52A1\u540D\u79F0
|
||||
I18N_DATASET=\u6570\u636E\u96C6
|
||||
I18N_START_TIME=\u5F00\u59CB\u65F6\u95F4
|
||||
I18N_END_TIME=\u7ED3\u675F\u65F6\u95F4
|
||||
I18N_STATUS=\u72B6\u6001
|
||||
I18N_DATA=\u6570\u636E
|
||||
I18N_SYNC_LOG=\u540C\u6B65\u65E5\u5FD7
|
||||
|
||||
I18N_USER_DONOT_EXIST=\u7528\u6237\u4E0D\u5B58\u5728
|
||||
I18N_USER_SOURCE_PWD_ERROR=\u539F\u59CB\u5BC6\u7801\u9519\u8BEF
|
||||
I18N_USER_PWD_FORMAT_ERROR=\u5BC6\u7801\u683C\u5F0F\u9519\u8BEF
|
||||
|
@ -1,209 +1,213 @@
|
||||
个人信息=個人信息
|
||||
仪表板=儀表板
|
||||
修改密码=修改密碼
|
||||
创建用户=創建用戶
|
||||
创建组织=創建組織
|
||||
创建菜单=創建菜單
|
||||
创建角色=創建角色
|
||||
创建连接=創建鏈接
|
||||
删除用户=刪除用戶
|
||||
删除组织=刪除組織
|
||||
删除菜单=刪除菜單
|
||||
删除角色=刪除角色
|
||||
刪除连接=刪除鏈接
|
||||
显示设置=顯示設置
|
||||
系统参数=系統參數
|
||||
参数管理=參數管理
|
||||
数据源=數據源
|
||||
数据源表单=數據源表單
|
||||
数据集=數據集
|
||||
权限管理=權限管理
|
||||
校验连接=校驗鏈接
|
||||
模版管理=模板管理
|
||||
用户管理=用戶管理
|
||||
用户表单=用戶表單
|
||||
系统管理=系統管理
|
||||
组织管理=組織管理
|
||||
组织表单=組織表單
|
||||
编辑用户=編輯用戶
|
||||
编辑组织=編輯組織
|
||||
编辑菜单=編輯菜單
|
||||
编辑角色=編輯角色
|
||||
编辑连接=編輯鏈接
|
||||
菜单管理=菜單管理
|
||||
表单管理=表單管理
|
||||
视图=視圖
|
||||
角色管理=角色管理
|
||||
角色表单=角色表單
|
||||
重置密码=重置密碼
|
||||
关于=關於
|
||||
首页=首頁
|
||||
i18n_auth_view=查看
|
||||
i18n_auth_use=使用
|
||||
i18n_auth_export=導出
|
||||
i18n_auth_manage=管理
|
||||
i18n_auth_grant=授權
|
||||
i18n_template_system=系統模板
|
||||
i18n_template_self=用戶模板
|
||||
i18n_name_cant_repeat_same_group=同一分組下該名稱已被使用
|
||||
i18n_chart_count=記錄數*
|
||||
i18n_excel_have_merge_region=Excel存在合並單元格
|
||||
i18n_cron_expression_error=Cron表達式校驗錯誤
|
||||
i18n_same_folder_can_not_repeat=同一目錄下該名稱已被使用
|
||||
i18n_select_diff_folder= 请选择不同的目录
|
||||
i18n_default_panel=默認儀表板
|
||||
i18n_panel_list=儀表板
|
||||
i18n_processing_data=正在處理數據,稍後刷新
|
||||
i18n_union_already_exists=關聯關系已存在
|
||||
i18n_union_field_exists=兩個數據集之間關聯不能出現多次相同字段
|
||||
i18n_cron_time_error=開始時間不能大於結束時間
|
||||
i18n_auth_source_be_canceled=本用户当前资源所有授权权限已经被取消,如需再次开通,请联系管理员
|
||||
i18n_username_exists=用戶ID已存在
|
||||
i18n_nickname_exists=用戶 姓名 已存在
|
||||
i18n_email_exists=郵箱已存在
|
||||
i18n_ds_name_exists=數據源名稱已被使用
|
||||
i18n_sync_job_exists=已經有同步任務在運行,稍後重試
|
||||
i18n_datasource_check_fail=校驗失敗,請檢查配置信息
|
||||
i18n_not_find_user=未找到用戶
|
||||
i18n_sql_not_empty=SQL 不能為空
|
||||
i18n_datasource_not_allow_delete_msg= 個數據集正在使用此數據源,無法刪除
|
||||
i18n_task_name_repeat=同一數據集下任務名稱已被使用
|
||||
i18n_id_or_pwd_error=無效的ID或密碼
|
||||
i18n_datasource_delete=當前用到的數據源已被刪除
|
||||
i18n_dataset_delete=當前用到的數據集已被刪除
|
||||
i18n_dataset_no_permission=當前用到的數據集沒有權限
|
||||
i18n_chart_delete=當前用到的視圖已被刪除
|
||||
i18n_not_exec_add_sync=沒有已經完成的同步任務,無法進行增量同步
|
||||
i18n_excel_header_empty=Excel第一行為空
|
||||
i18n_excel_empty_column=第一行存在空單元格
|
||||
i18n_custom_ds_delete=自定義數據集所關聯數據被刪除,無法正常顯示
|
||||
i18n_sql_add_not_matching=增量添加 sql 的數據列與數據集不匹配,
|
||||
i18n_sql_delete_not_matching=增量刪除 sql 的數據列與數據集不匹配,
|
||||
i18n_cst_ds_tb_or_field_deleted=自定義數據集所關聯數據被刪除或字段發生變化,無法正常顯示
|
||||
i18n_no_all_delete_privilege_folder=該目錄下存在沒有管理權限或查看權限的資源,無法刪除
|
||||
i18n_excel_field_repeat=存在重復字段,請修改後重试
|
||||
i18n_schema_is_empty=數據庫 Schema 為空
|
||||
站内消息=站內消息
|
||||
所有消息=所有消息
|
||||
未读消息=未讀消息
|
||||
已读消息=已讀消息
|
||||
接收管理=接收管理
|
||||
i18n_msg_type_panel_share=儀表板分享
|
||||
i18n_msg_type_panel_share_cacnel=儀表板取消分享
|
||||
i18n_msg_type_dataset_sync=數據集同步
|
||||
i18n_msg_type_dataset_sync_success=數據集同步成功
|
||||
i18n_msg_type_dataset_sync_faild=數據集同步失敗
|
||||
i18n_data_not_sync=請先完成數據同步
|
||||
i18n_excel_column_change=Excel的列名與原數據集不一致
|
||||
i18n_excel_column_inconsistent=所選sheet頁面的列名不一致
|
||||
i18n_timed_task=定時任務
|
||||
i18n_datasource_connect_error=數據源連接異常:
|
||||
i18n_check_sql_error=校驗增量SQL異常,
|
||||
i18n_change_task_status_error=不允許暫停,任務狀態為:
|
||||
i18n_Stopped=執行結束
|
||||
i18n_Exec=運行中
|
||||
i18n_no_trigger=当前设置没有触发任务生成 當前設置沒有觸發任務生成.
|
||||
i18n_dataset_field_delete=該自定義數據集有關聯字段被刪除,請重新確認關聯關系並重做該數據集
|
||||
i18n_es_limit=Elasticsearch 版本不能小於6.3
|
||||
i18n_ds_error=預覽數據錯誤:執行SQL失敗。可能因相關字段、表、數據集等元素發生變更,請檢查
|
||||
i18n_union_ds_no_checked=當前關聯數據集,無選中字段,請重新編輯
|
||||
i18n_auth_row_permission=行列權限
|
||||
i18n_sql_error=SQL 錯誤:
|
||||
i18n_invalid_ds=無效數據源
|
||||
任务管理=任務管理
|
||||
数据同步=數據同步
|
||||
定时报告=定時報告
|
||||
i18n_rp_exist=已有同類型的行權限存在
|
||||
i18n_field_name_repeat=字段名不能重復
|
||||
i18n_calc_field_error=字段表達式語法錯誤
|
||||
i18n_cp_exist=已有同類型的列權限存在
|
||||
connection_failed=連接失敗
|
||||
theme_name_repeat=名稱已存在
|
||||
theme_name_empty=名稱不能為空
|
||||
i18n_public_chart=【存量视图】
|
||||
i18n_class_blue=蓝色调
|
||||
插件管理=插件管理
|
||||
i18n_plugin_not_allow_delete=正在使用的插件不允許刪除
|
||||
i18n_wrong_content=內容不合法
|
||||
i18n_wrong_tel=電話格式錯誤
|
||||
i18n_wrong_email=郵箱格式錯誤
|
||||
i18n_wrong_name_format=姓名格式錯誤
|
||||
日志管理=操作日誌
|
||||
OPERATE_TYPE_CREATE=創建
|
||||
OPERATE_TYPE_MODIFY=修改
|
||||
OPERATE_TYPE_DELETE=刪除
|
||||
OPERATE_TYPE_SHARE=分享
|
||||
OPERATE_TYPE_UNSHARE=取消分享
|
||||
OPERATE_TYPE_AUTHORIZE=授權
|
||||
OPERATE_TYPE_UNAUTHORIZE=取消授權
|
||||
OPERATE_TYPE_CREATELINK=創建公共鏈接
|
||||
OPERATE_TYPE_DELETELINK=刪除公共鏈接
|
||||
OPERATE_TYPE_MODIFYLINK=修改公共鏈接
|
||||
OPERATE_TYPE_UPLOADFILE=上傳
|
||||
\u4E2A\u4EBA\u4FE1\u606F=\u500B\u4EBA\u4FE1\u606F
|
||||
\u4EEA\u8868\u677F=\u5100\u8868\u677F
|
||||
\u4FEE\u6539\u5BC6\u7801=\u4FEE\u6539\u5BC6\u78BC
|
||||
\u521B\u5EFA\u7528\u6237=\u5275\u5EFA\u7528\u6236
|
||||
\u521B\u5EFA\u7EC4\u7EC7=\u5275\u5EFA\u7D44\u7E54
|
||||
\u521B\u5EFA\u83DC\u5355=\u5275\u5EFA\u83DC\u55AE
|
||||
\u521B\u5EFA\u89D2\u8272=\u5275\u5EFA\u89D2\u8272
|
||||
\u521B\u5EFA\u8FDE\u63A5=\u5275\u5EFA\u93C8\u63A5
|
||||
\u5220\u9664\u7528\u6237=\u522A\u9664\u7528\u6236
|
||||
\u5220\u9664\u7EC4\u7EC7=\u522A\u9664\u7D44\u7E54
|
||||
\u5220\u9664\u83DC\u5355=\u522A\u9664\u83DC\u55AE
|
||||
\u5220\u9664\u89D2\u8272=\u522A\u9664\u89D2\u8272
|
||||
\u522A\u9664\u8FDE\u63A5=\u522A\u9664\u93C8\u63A5
|
||||
\u663E\u793A\u8BBE\u7F6E=\u986F\u793A\u8A2D\u7F6E
|
||||
\u7CFB\u7EDF\u53C2\u6570=\u7CFB\u7D71\u53C3\u6578
|
||||
\u53C2\u6570\u7BA1\u7406=\u53C3\u6578\u7BA1\u7406
|
||||
\u6570\u636E\u6E90=\u6578\u64DA\u6E90
|
||||
\u6570\u636E\u6E90\u8868\u5355=\u6578\u64DA\u6E90\u8868\u55AE
|
||||
\u6570\u636E\u96C6=\u6578\u64DA\u96C6
|
||||
\u6743\u9650\u7BA1\u7406=\u6B0A\u9650\u7BA1\u7406
|
||||
\u6821\u9A8C\u8FDE\u63A5=\u6821\u9A57\u93C8\u63A5
|
||||
\u6A21\u7248\u7BA1\u7406=\u6A21\u677F\u7BA1\u7406
|
||||
\u7528\u6237\u7BA1\u7406=\u7528\u6236\u7BA1\u7406
|
||||
\u7528\u6237\u8868\u5355=\u7528\u6236\u8868\u55AE
|
||||
\u7CFB\u7EDF\u7BA1\u7406=\u7CFB\u7D71\u7BA1\u7406
|
||||
\u7EC4\u7EC7\u7BA1\u7406=\u7D44\u7E54\u7BA1\u7406
|
||||
\u7EC4\u7EC7\u8868\u5355=\u7D44\u7E54\u8868\u55AE
|
||||
\u7F16\u8F91\u7528\u6237=\u7DE8\u8F2F\u7528\u6236
|
||||
\u7F16\u8F91\u7EC4\u7EC7=\u7DE8\u8F2F\u7D44\u7E54
|
||||
\u7F16\u8F91\u83DC\u5355=\u7DE8\u8F2F\u83DC\u55AE
|
||||
\u7F16\u8F91\u89D2\u8272=\u7DE8\u8F2F\u89D2\u8272
|
||||
\u7F16\u8F91\u8FDE\u63A5=\u7DE8\u8F2F\u93C8\u63A5
|
||||
\u83DC\u5355\u7BA1\u7406=\u83DC\u55AE\u7BA1\u7406
|
||||
\u8868\u5355\u7BA1\u7406=\u8868\u55AE\u7BA1\u7406
|
||||
\u89C6\u56FE=\u8996\u5716
|
||||
\u89D2\u8272\u7BA1\u7406=\u89D2\u8272\u7BA1\u7406
|
||||
\u89D2\u8272\u8868\u5355=\u89D2\u8272\u8868\u55AE
|
||||
\u91CD\u7F6E\u5BC6\u7801=\u91CD\u7F6E\u5BC6\u78BC
|
||||
\u5173\u4E8E=\u95DC\u65BC
|
||||
\u9996\u9875=\u9996\u9801
|
||||
i18n_auth_view=\u67E5\u770B
|
||||
i18n_auth_use=\u4F7F\u7528
|
||||
i18n_auth_export=\u5C0E\u51FA
|
||||
i18n_auth_manage=\u7BA1\u7406
|
||||
i18n_auth_grant=\u6388\u6B0A
|
||||
i18n_template_system=\u7CFB\u7D71\u6A21\u677F
|
||||
i18n_template_self=\u7528\u6236\u6A21\u677F
|
||||
i18n_name_cant_repeat_same_group=\u540C\u4E00\u5206\u7D44\u4E0B\u8A72\u540D\u7A31\u5DF2\u88AB\u4F7F\u7528
|
||||
i18n_chart_count=\u8A18\u9304\u6578*
|
||||
i18n_excel_have_merge_region=Excel\u5B58\u5728\u5408\u4E26\u55AE\u5143\u683C
|
||||
i18n_cron_expression_error=Cron\u8868\u9054\u5F0F\u6821\u9A57\u932F\u8AA4
|
||||
i18n_same_folder_can_not_repeat=\u540C\u4E00\u76EE\u9304\u4E0B\u8A72\u540D\u7A31\u5DF2\u88AB\u4F7F\u7528
|
||||
i18n_select_diff_folder= \u8BF7\u9009\u62E9\u4E0D\u540C\u7684\u76EE\u5F55
|
||||
i18n_default_panel=\u9ED8\u8A8D\u5100\u8868\u677F
|
||||
i18n_panel_list=\u5100\u8868\u677F
|
||||
i18n_processing_data=\u6B63\u5728\u8655\u7406\u6578\u64DA\uFF0C\u7A0D\u5F8C\u5237\u65B0
|
||||
i18n_union_already_exists=\u95DC\u806F\u95DC\u7CFB\u5DF2\u5B58\u5728
|
||||
i18n_union_field_exists=\u5169\u500B\u6578\u64DA\u96C6\u4E4B\u9593\u95DC\u806F\u4E0D\u80FD\u51FA\u73FE\u591A\u6B21\u76F8\u540C\u5B57\u6BB5
|
||||
i18n_cron_time_error=\u958B\u59CB\u6642\u9593\u4E0D\u80FD\u5927\u65BC\u7D50\u675F\u6642\u9593
|
||||
i18n_auth_source_be_canceled=\u672C\u7528\u6237\u5F53\u524D\u8D44\u6E90\u6240\u6709\u6388\u6743\u6743\u9650\u5DF2\u7ECF\u88AB\u53D6\u6D88,\u5982\u9700\u518D\u6B21\u5F00\u901A,\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||
i18n_username_exists=\u7528\u6236ID\u5DF2\u5B58\u5728
|
||||
i18n_nickname_exists=\u7528\u6236 \u59D3\u540D \u5DF2\u5B58\u5728
|
||||
i18n_email_exists=\u90F5\u7BB1\u5DF2\u5B58\u5728
|
||||
i18n_ds_name_exists=\u6578\u64DA\u6E90\u540D\u7A31\u5DF2\u88AB\u4F7F\u7528
|
||||
i18n_sync_job_exists=\u5DF2\u7D93\u6709\u540C\u6B65\u4EFB\u52D9\u5728\u904B\u884C\uFF0C\u7A0D\u5F8C\u91CD\u8A66
|
||||
i18n_datasource_check_fail=\u6821\u9A57\u5931\u6557\uFF0C\u8ACB\u6AA2\u67E5\u914D\u7F6E\u4FE1\u606F
|
||||
i18n_not_find_user=\u672A\u627E\u5230\u7528\u6236
|
||||
i18n_sql_not_empty=SQL \u4E0D\u80FD\u70BA\u7A7A
|
||||
i18n_datasource_not_allow_delete_msg= \u500B\u6578\u64DA\u96C6\u6B63\u5728\u4F7F\u7528\u6B64\u6578\u64DA\u6E90\uFF0C\u7121\u6CD5\u522A\u9664
|
||||
i18n_task_name_repeat=\u540C\u4E00\u6578\u64DA\u96C6\u4E0B\u4EFB\u52D9\u540D\u7A31\u5DF2\u88AB\u4F7F\u7528
|
||||
i18n_id_or_pwd_error=\u7121\u6548\u7684ID\u6216\u5BC6\u78BC
|
||||
i18n_datasource_delete=\u7576\u524D\u7528\u5230\u7684\u6578\u64DA\u6E90\u5DF2\u88AB\u522A\u9664
|
||||
i18n_dataset_delete=\u7576\u524D\u7528\u5230\u7684\u6578\u64DA\u96C6\u5DF2\u88AB\u522A\u9664
|
||||
i18n_dataset_no_permission=\u7576\u524D\u7528\u5230\u7684\u6578\u64DA\u96C6\u6C92\u6709\u6B0A\u9650
|
||||
i18n_chart_delete=\u7576\u524D\u7528\u5230\u7684\u8996\u5716\u5DF2\u88AB\u522A\u9664
|
||||
i18n_not_exec_add_sync=\u6C92\u6709\u5DF2\u7D93\u5B8C\u6210\u7684\u540C\u6B65\u4EFB\u52D9\uFF0C\u7121\u6CD5\u9032\u884C\u589E\u91CF\u540C\u6B65
|
||||
i18n_excel_header_empty=Excel\u7B2C\u4E00\u884C\u70BA\u7A7A
|
||||
i18n_excel_empty_column=\u7B2C\u4E00\u884C\u5B58\u5728\u7A7A\u55AE\u5143\u683C
|
||||
i18n_custom_ds_delete=\u81EA\u5B9A\u7FA9\u6578\u64DA\u96C6\u6240\u95DC\u806F\u6578\u64DA\u88AB\u522A\u9664\uFF0C\u7121\u6CD5\u6B63\u5E38\u986F\u793A
|
||||
i18n_sql_add_not_matching=\u589E\u91CF\u6DFB\u52A0 sql \u7684\u6578\u64DA\u5217\u8207\u6578\u64DA\u96C6\u4E0D\u5339\u914D,
|
||||
i18n_sql_delete_not_matching=\u589E\u91CF\u522A\u9664 sql \u7684\u6578\u64DA\u5217\u8207\u6578\u64DA\u96C6\u4E0D\u5339\u914D,
|
||||
i18n_cst_ds_tb_or_field_deleted=\u81EA\u5B9A\u7FA9\u6578\u64DA\u96C6\u6240\u95DC\u806F\u6578\u64DA\u88AB\u522A\u9664\u6216\u5B57\u6BB5\u767C\u751F\u8B8A\u5316\uFF0C\u7121\u6CD5\u6B63\u5E38\u986F\u793A
|
||||
i18n_no_all_delete_privilege_folder=\u8A72\u76EE\u9304\u4E0B\u5B58\u5728\u6C92\u6709\u7BA1\u7406\u6B0A\u9650\u6216\u67E5\u770B\u6B0A\u9650\u7684\u8CC7\u6E90\uFF0C\u7121\u6CD5\u522A\u9664
|
||||
i18n_excel_field_repeat=\u5B58\u5728\u91CD\u5FA9\u5B57\u6BB5\uFF0C\u8ACB\u4FEE\u6539\u5F8C\u91CD\u8BD5
|
||||
i18n_schema_is_empty=\u6578\u64DA\u5EAB Schema \u70BA\u7A7A
|
||||
\u7AD9\u5185\u6D88\u606F=\u7AD9\u5167\u6D88\u606F
|
||||
\u6240\u6709\u6D88\u606F=\u6240\u6709\u6D88\u606F
|
||||
\u672A\u8BFB\u6D88\u606F=\u672A\u8B80\u6D88\u606F
|
||||
\u5DF2\u8BFB\u6D88\u606F=\u5DF2\u8B80\u6D88\u606F
|
||||
\u63A5\u6536\u7BA1\u7406=\u63A5\u6536\u7BA1\u7406
|
||||
i18n_msg_type_panel_share=\u5100\u8868\u677F\u5206\u4EAB
|
||||
i18n_msg_type_panel_share_cacnel=\u5100\u8868\u677F\u53D6\u6D88\u5206\u4EAB
|
||||
i18n_msg_type_dataset_sync=\u6578\u64DA\u96C6\u540C\u6B65
|
||||
i18n_msg_type_dataset_sync_success=\u6578\u64DA\u96C6\u540C\u6B65\u6210\u529F
|
||||
i18n_msg_type_dataset_sync_faild=\u6578\u64DA\u96C6\u540C\u6B65\u5931\u6557
|
||||
i18n_data_not_sync=\u8ACB\u5148\u5B8C\u6210\u6578\u64DA\u540C\u6B65
|
||||
i18n_excel_column_change=Excel\u7684\u5217\u540D\u8207\u539F\u6578\u64DA\u96C6\u4E0D\u4E00\u81F4
|
||||
i18n_excel_column_inconsistent=\u6240\u9078sheet\u9801\u9762\u7684\u5217\u540D\u4E0D\u4E00\u81F4
|
||||
i18n_timed_task=\u5B9A\u6642\u4EFB\u52D9
|
||||
i18n_datasource_connect_error=\u6578\u64DA\u6E90\u9023\u63A5\u7570\u5E38:
|
||||
i18n_check_sql_error=\u6821\u9A57\u589E\u91CFSQL\u7570\u5E38,
|
||||
i18n_change_task_status_error=\u4E0D\u5141\u8A31\u66AB\u505C\uFF0C\u4EFB\u52D9\u72C0\u614B\u70BA\uFF1A
|
||||
i18n_Stopped=\u57F7\u884C\u7D50\u675F
|
||||
i18n_Exec=\u904B\u884C\u4E2D
|
||||
i18n_no_trigger=\u5F53\u524D\u8BBE\u7F6E\u6CA1\u6709\u89E6\u53D1\u4EFB\u52A1\u751F\u6210 \u7576\u524D\u8A2D\u7F6E\u6C92\u6709\u89F8\u767C\u4EFB\u52D9\u751F\u6210.
|
||||
i18n_dataset_field_delete=\u8A72\u81EA\u5B9A\u7FA9\u6578\u64DA\u96C6\u6709\u95DC\u806F\u5B57\u6BB5\u88AB\u522A\u9664\uFF0C\u8ACB\u91CD\u65B0\u78BA\u8A8D\u95DC\u806F\u95DC\u7CFB\u4E26\u91CD\u505A\u8A72\u6578\u64DA\u96C6
|
||||
i18n_es_limit=Elasticsearch \u7248\u672C\u4E0D\u80FD\u5C0F\u65BC6.3
|
||||
i18n_ds_error=\u9810\u89BD\u6578\u64DA\u932F\u8AA4\uFF1A\u57F7\u884CSQL\u5931\u6557\u3002\u53EF\u80FD\u56E0\u76F8\u95DC\u5B57\u6BB5\u3001\u8868\u3001\u6578\u64DA\u96C6\u7B49\u5143\u7D20\u767C\u751F\u8B8A\u66F4\uFF0C\u8ACB\u6AA2\u67E5
|
||||
i18n_union_ds_no_checked=\u7576\u524D\u95DC\u806F\u6578\u64DA\u96C6\uFF0C\u7121\u9078\u4E2D\u5B57\u6BB5\uFF0C\u8ACB\u91CD\u65B0\u7DE8\u8F2F
|
||||
i18n_auth_row_permission=\u884C\u5217\u6B0A\u9650
|
||||
i18n_sql_error=SQL \u932F\u8AA4:
|
||||
i18n_invalid_ds=\u7121\u6548\u6578\u64DA\u6E90
|
||||
\u4EFB\u52A1\u7BA1\u7406=\u4EFB\u52D9\u7BA1\u7406
|
||||
\u6570\u636E\u540C\u6B65=\u6578\u64DA\u540C\u6B65
|
||||
\u5B9A\u65F6\u62A5\u544A=\u5B9A\u6642\u5831\u544A
|
||||
i18n_rp_exist=\u5DF2\u6709\u540C\u985E\u578B\u7684\u884C\u6B0A\u9650\u5B58\u5728
|
||||
i18n_field_name_repeat=\u5B57\u6BB5\u540D\u4E0D\u80FD\u91CD\u5FA9
|
||||
i18n_calc_field_error=\u5B57\u6BB5\u8868\u9054\u5F0F\u8A9E\u6CD5\u932F\u8AA4
|
||||
i18n_cp_exist=\u5DF2\u6709\u540C\u985E\u578B\u7684\u5217\u6B0A\u9650\u5B58\u5728
|
||||
connection_failed=\u9023\u63A5\u5931\u6557
|
||||
theme_name_repeat=\u540D\u7A31\u5DF2\u5B58\u5728
|
||||
theme_name_empty=\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
i18n_public_chart=\u3010\u5B58\u91CF\u89C6\u56FE\u3011
|
||||
i18n_class_blue=\u84DD\u8272\u8C03
|
||||
\u63D2\u4EF6\u7BA1\u7406=\u63D2\u4EF6\u7BA1\u7406
|
||||
i18n_plugin_not_allow_delete=\u6B63\u5728\u4F7F\u7528\u7684\u63D2\u4EF6\u4E0D\u5141\u8A31\u522A\u9664
|
||||
i18n_wrong_content=\u5167\u5BB9\u4E0D\u5408\u6CD5
|
||||
i18n_wrong_tel=\u96FB\u8A71\u683C\u5F0F\u932F\u8AA4
|
||||
i18n_wrong_email=\u90F5\u7BB1\u683C\u5F0F\u932F\u8AA4
|
||||
i18n_wrong_name_format=\u59D3\u540D\u683C\u5F0F\u932F\u8AA4
|
||||
\u65E5\u5FD7\u7BA1\u7406=\u64CD\u4F5C\u65E5\u8A8C
|
||||
OPERATE_TYPE_CREATE=\u5275\u5EFA
|
||||
OPERATE_TYPE_MODIFY=\u4FEE\u6539
|
||||
OPERATE_TYPE_DELETE=\u522A\u9664
|
||||
OPERATE_TYPE_SHARE=\u5206\u4EAB
|
||||
OPERATE_TYPE_UNSHARE=\u53D6\u6D88\u5206\u4EAB
|
||||
OPERATE_TYPE_AUTHORIZE=\u6388\u6B0A
|
||||
OPERATE_TYPE_UNAUTHORIZE=\u53D6\u6D88\u6388\u6B0A
|
||||
OPERATE_TYPE_CREATELINK=\u5275\u5EFA\u516C\u5171\u93C8\u63A5
|
||||
OPERATE_TYPE_DELETELINK=\u522A\u9664\u516C\u5171\u93C8\u63A5
|
||||
OPERATE_TYPE_MODIFYLINK=\u4FEE\u6539\u516C\u5171\u93C8\u63A5
|
||||
OPERATE_TYPE_UPLOADFILE=\u4E0A\u50B3
|
||||
OPERATE_TYPE_LOGIN=\u767B\u9304
|
||||
OPERATE_TYPE_PC_VIEW=\u4F7F\u7528PC\u67E5\u770B
|
||||
OPERATE_TYPE_MB_VIEW=\u4F7F\u7528\u79FB\u52D5\u7AEF\u67E5\u770B
|
||||
OPERATE_TYPE_EXPORT=\u5C0E\u51FA
|
||||
I18N_USER_TEMPLATE_ERROR=\u7528\u6236\u6A21\u7248\u932F\u8AA4
|
||||
SOURCE_TYPE_DATASOURCE=數據源
|
||||
SOURCE_TYPE_DATASET=數據集
|
||||
SOURCE_TYPE_PANEL=儀表板
|
||||
SOURCE_TYPE_VIEW=視圖
|
||||
SOURCE_TYPE_USER=用戶
|
||||
SOURCE_TYPE_DEPT=組織
|
||||
SOURCE_TYPE_ROLE=角色
|
||||
SOURCE_TYPE_DRIVER=驅動
|
||||
SOURCE_TYPE_DRIVER_FILE=驅動文件
|
||||
SOURCE_TYPE_MENU=菜單
|
||||
I18N_DRIVER_NOT_DELETE=使用中的驅動不允許删除
|
||||
I18N_DRIVER_REPEAT_NAME=名稱重複
|
||||
I18N_DRIVER_NOT_FOUND=未找到驅動
|
||||
i18n_not_admin_error=不是管理員賬號
|
||||
i18n_user_not_exist=用戶不存在
|
||||
i18n_default_login_reset=已切換回默認登錄方式
|
||||
I18N_COMMON_LEVEL_USE=查看
|
||||
I18N_PANNEL_LEVEL_VIEW=查看
|
||||
I18N_PANNEL_LEVEL_EXPORT=導出
|
||||
I18N_PANNEL_LEVEL_MANAGE=管理
|
||||
I18N_PANNEL_LEVEL_GRANT=授權
|
||||
I18N_DATASET_LEVEL_USE=查看
|
||||
I18N_DATASET_LEVEL_MANAGE=管理
|
||||
I18N_DATASET_LEVEL_GRANT=授權
|
||||
I18N_LINK_LEVEL_USE=查看
|
||||
I18N_LINK_LEVEL_MANAGE=管理
|
||||
I18N_LINK_LEVEL_GRANT=授權
|
||||
I18N_DATASOURCE_LEVEL_USE=查看
|
||||
I18N_DATASOURCE_LEVEL_MANAGE=管理
|
||||
I18N_DATASOURCE_LEVEL_GRANT=授權
|
||||
I18N_NO_PERMISSION=當前用戶沒有權限
|
||||
I18N_PLEASE_CONCAT_ADMIN=請聯系管理員開通
|
||||
I18N_SQL_variable_limit=SQL變數只能在WHERE條件中使用
|
||||
I18N_EMAIL_CONFIG_ERROR=郵件配置錯誤
|
||||
I18N_EMAIL_HOST_ERROR=郵件主機不能為空
|
||||
I18N_EMAIL_PORT_ERROR=郵件端口不能為空
|
||||
I18N_EMAIL_ACCOUNT_ERROR=郵件賬號不能為空
|
||||
i18n_row_permission_type_error=行權限類型不能為空
|
||||
i18n_row_permission_id=行權限類型為組織/角色/用戶時,名稱不能為空
|
||||
系统配置=系统配置
|
||||
外观配置=外观配置
|
||||
数据同步表单=数据同步表单
|
||||
i18n_gauge_field_change=所用字段发生变更,请重新编辑
|
||||
i18n_gauge_field_delete=所用字段已删除,请重新编辑
|
||||
i18n_max_user_import_size=文件大小超过10M
|
||||
I18N_XPACKTASK_FILE_NAME=执行记录
|
||||
I18N_XPACKTASK_NAME=任务名称
|
||||
I18N_XPACKTASK_EXEC_TIME=执行时间
|
||||
I18N_XPACKTASK_STATUS=执行状态
|
||||
I18N_XPACKTASK_SUCCESS=成功
|
||||
I18N_XPACKTASK_ERROR=失败
|
||||
I18N_XPACKTASK_UNDERWAY=执行中
|
||||
I18N_TASK_LOG_ERROR=失敗
|
||||
I18N_TASK_LOG_COMPLETED=成功
|
||||
I18N_TASK_LOG_UNDERWAY=執行中
|
||||
I18N_TASK_NAME=任務名稱
|
||||
I18N_DATASET=數據集
|
||||
I18N_START_TIME=開始時間
|
||||
I18N_END_TIME=結束時間
|
||||
I18N_STATUS=狀態
|
||||
I18N_DATA=數據
|
||||
I18N_SYNC_LOG=同步日誌
|
||||
SOURCE_TYPE_DATASOURCE=\u6578\u64DA\u6E90
|
||||
SOURCE_TYPE_DATASET=\u6578\u64DA\u96C6
|
||||
SOURCE_TYPE_PANEL=\u5100\u8868\u677F
|
||||
SOURCE_TYPE_VIEW=\u8996\u5716
|
||||
SOURCE_TYPE_USER=\u7528\u6236
|
||||
SOURCE_TYPE_DEPT=\u7D44\u7E54
|
||||
SOURCE_TYPE_ROLE=\u89D2\u8272
|
||||
SOURCE_TYPE_DRIVER=\u9A45\u52D5
|
||||
SOURCE_TYPE_DRIVER_FILE=\u9A45\u52D5\u6587\u4EF6
|
||||
SOURCE_TYPE_MENU=\u83DC\u55AE
|
||||
I18N_DRIVER_NOT_DELETE=\u4F7F\u7528\u4E2D\u7684\u9A45\u52D5\u4E0D\u5141\u8A31\u5220\u9664
|
||||
I18N_DRIVER_REPEAT_NAME=\u540D\u7A31\u91CD\u8907
|
||||
I18N_DRIVER_NOT_FOUND=\u672A\u627E\u5230\u9A45\u52D5
|
||||
i18n_not_admin_error=\u4E0D\u662F\u7BA1\u7406\u54E1\u8CEC\u865F
|
||||
i18n_user_not_exist=\u7528\u6236\u4E0D\u5B58\u5728
|
||||
i18n_default_login_reset=\u5DF2\u5207\u63DB\u56DE\u9ED8\u8A8D\u767B\u9304\u65B9\u5F0F
|
||||
I18N_COMMON_LEVEL_USE=\u67E5\u770B
|
||||
I18N_PANNEL_LEVEL_VIEW=\u67E5\u770B
|
||||
I18N_PANNEL_LEVEL_EXPORT=\u5C0E\u51FA
|
||||
I18N_PANNEL_LEVEL_MANAGE=\u7BA1\u7406
|
||||
I18N_PANNEL_LEVEL_GRANT=\u6388\u6B0A
|
||||
I18N_DATASET_LEVEL_USE=\u67E5\u770B
|
||||
I18N_DATASET_LEVEL_MANAGE=\u7BA1\u7406
|
||||
I18N_DATASET_LEVEL_GRANT=\u6388\u6B0A
|
||||
I18N_LINK_LEVEL_USE=\u67E5\u770B
|
||||
I18N_LINK_LEVEL_MANAGE=\u7BA1\u7406
|
||||
I18N_LINK_LEVEL_GRANT=\u6388\u6B0A
|
||||
I18N_DATASOURCE_LEVEL_USE=\u67E5\u770B
|
||||
I18N_DATASOURCE_LEVEL_MANAGE=\u7BA1\u7406
|
||||
I18N_DATASOURCE_LEVEL_GRANT=\u6388\u6B0A
|
||||
I18N_NO_PERMISSION=\u7576\u524D\u7528\u6236\u6C92\u6709\u6B0A\u9650
|
||||
I18N_PLEASE_CONCAT_ADMIN=\u8ACB\u806F\u7CFB\u7BA1\u7406\u54E1\u958B\u901A
|
||||
I18N_SQL_variable_limit=SQL\u8B8A\u6578\u53EA\u80FD\u5728WHERE\u689D\u4EF6\u4E2D\u4F7F\u7528
|
||||
I18N_EMAIL_CONFIG_ERROR=\u90F5\u4EF6\u914D\u7F6E\u932F\u8AA4
|
||||
I18N_EMAIL_HOST_ERROR=\u90F5\u4EF6\u4E3B\u6A5F\u4E0D\u80FD\u70BA\u7A7A
|
||||
I18N_EMAIL_PORT_ERROR=\u90F5\u4EF6\u7AEF\u53E3\u4E0D\u80FD\u70BA\u7A7A
|
||||
I18N_EMAIL_ACCOUNT_ERROR=\u90F5\u4EF6\u8CEC\u865F\u4E0D\u80FD\u70BA\u7A7A
|
||||
i18n_row_permission_type_error=\u884C\u6B0A\u9650\u985E\u578B\u4E0D\u80FD\u70BA\u7A7A
|
||||
i18n_row_permission_id=\u884C\u6B0A\u9650\u985E\u578B\u70BA\u7D44\u7E54/\u89D2\u8272/\u7528\u6236\u6642\uFF0C\u540D\u7A31\u4E0D\u80FD\u70BA\u7A7A
|
||||
\u7CFB\u7EDF\u914D\u7F6E=\u7CFB\u7EDF\u914D\u7F6E
|
||||
\u5916\u89C2\u914D\u7F6E=\u5916\u89C2\u914D\u7F6E
|
||||
\u6570\u636E\u540C\u6B65\u8868\u5355=\u6570\u636E\u540C\u6B65\u8868\u5355
|
||||
i18n_gauge_field_change=\u6240\u7528\u5B57\u6BB5\u53D1\u751F\u53D8\u66F4\uFF0C\u8BF7\u91CD\u65B0\u7F16\u8F91
|
||||
i18n_gauge_field_delete=\u6240\u7528\u5B57\u6BB5\u5DF2\u5220\u9664\uFF0C\u8BF7\u91CD\u65B0\u7F16\u8F91
|
||||
i18n_max_user_import_size=\u6587\u4EF6\u5927\u5C0F\u8D85\u8FC710M
|
||||
I18N_XPACKTASK_FILE_NAME=\u6267\u884C\u8BB0\u5F55
|
||||
I18N_XPACKTASK_NAME=\u4EFB\u52A1\u540D\u79F0
|
||||
I18N_XPACKTASK_EXEC_TIME=\u6267\u884C\u65F6\u95F4
|
||||
I18N_XPACKTASK_STATUS=\u6267\u884C\u72B6\u6001
|
||||
I18N_XPACKTASK_SUCCESS=\u6210\u529F
|
||||
I18N_XPACKTASK_ERROR=\u5931\u8D25
|
||||
I18N_XPACKTASK_UNDERWAY=\u6267\u884C\u4E2D
|
||||
I18N_TASK_LOG_ERROR=\u5931\u6557
|
||||
I18N_TASK_LOG_COMPLETED=\u6210\u529F
|
||||
I18N_TASK_LOG_UNDERWAY=\u57F7\u884C\u4E2D
|
||||
I18N_TASK_NAME=\u4EFB\u52D9\u540D\u7A31
|
||||
I18N_DATASET=\u6578\u64DA\u96C6
|
||||
I18N_START_TIME=\u958B\u59CB\u6642\u9593
|
||||
I18N_END_TIME=\u7D50\u675F\u6642\u9593
|
||||
I18N_STATUS=\u72C0\u614B
|
||||
I18N_DATA=\u6578\u64DA
|
||||
I18N_SYNC_LOG=\u540C\u6B65\u65E5\u8A8C
|
||||
|
||||
I18N_USER_DONOT_EXIST=\u7528\u6236\u4E0D\u5B58\u5728
|
||||
I18N_USER_SOURCE_PWD_ERROR=\u539F\u59CB\u5BC6\u78BC\u932F\u8AA4
|
||||
I18N_USER_PWD_FORMAT_ERROR=\u5BC6\u78BC\u683C\u5F0F\u932F\u8AA4
|
||||
|
56
frontend/src/components/deCustomCm/deDatePick.vue
Normal file
56
frontend/src/components/deCustomCm/deDatePick.vue
Normal file
@ -0,0 +1,56 @@
|
||||
<template>
|
||||
<div class="de-date-pick">
|
||||
<el-date-picker
|
||||
:value="value"
|
||||
size="small"
|
||||
:disabled="disabled"
|
||||
type="daterange"
|
||||
@input="handleChange"
|
||||
range-separator="-"
|
||||
:start-placeholder="$t('commons.date.start_date')"
|
||||
:end-placeholder="$t('commons.date.end_date')"
|
||||
>
|
||||
</el-date-picker>
|
||||
<svg-icon icon-class="icon_calendar_outlined" class="calendar-outlined" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "DeDatePick",
|
||||
props: {
|
||||
disabled: Boolean,
|
||||
value: Array,
|
||||
},
|
||||
methods: {
|
||||
handleChange(val) {
|
||||
this.$emit("input", val);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.de-date-pick {
|
||||
width: 256px;
|
||||
position: relative;
|
||||
.el-input__icon {
|
||||
display: none;
|
||||
}
|
||||
.el-range-input {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.el-date-editor {
|
||||
padding-left: 12px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.calendar-outlined {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
right: 13px;
|
||||
}
|
||||
}
|
||||
</style>
|
76
frontend/src/components/deCustomCm/dePwd.vue
Normal file
76
frontend/src/components/deCustomCm/dePwd.vue
Normal file
@ -0,0 +1,76 @@
|
||||
<template>
|
||||
<el-input
|
||||
:value="value"
|
||||
:placeholder="placeholder"
|
||||
:type="type"
|
||||
:disabled="disabled"
|
||||
class="de-pwd-input"
|
||||
@input="handleInput"
|
||||
@change="handleChange"
|
||||
>
|
||||
<svg-icon
|
||||
@click="handleClick"
|
||||
v-if="!showPwd || buttonDisabled"
|
||||
slot="suffix"
|
||||
icon-class="de_pwd_invisible"
|
||||
/>
|
||||
<svg-icon
|
||||
@click="handleClick"
|
||||
v-else
|
||||
slot="suffix"
|
||||
icon-class="de_pwd_visible"
|
||||
/>
|
||||
</el-input>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { log } from "@antv/g2plot/lib/utils";
|
||||
export default {
|
||||
name: "DePwd",
|
||||
inject: {
|
||||
elForm: {
|
||||
default: "",
|
||||
},
|
||||
},
|
||||
props: {
|
||||
disabled: Boolean,
|
||||
placeholder: String,
|
||||
value: String,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showPwd: false,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
buttonDisabled() {
|
||||
return this.$options.propsData.hasOwnProperty("disabled")
|
||||
? this.disabled
|
||||
: (this.elForm || {}).disabled;
|
||||
},
|
||||
type() {
|
||||
return !this.showPwd || this.buttonDisabled ? "password" : "text";
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
handleClick() {
|
||||
if (this.buttonDisabled) return;
|
||||
this.showPwd = !this.showPwd;
|
||||
},
|
||||
handleInput(val) {
|
||||
this.$emit("input", val);
|
||||
},
|
||||
handleChange(val) {
|
||||
this.$emit("change", val);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.de-pwd-input {
|
||||
.el-input__suffix {
|
||||
right: 12px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -296,6 +296,16 @@ export default {
|
||||
border:1px solid var(--BrDateColor, #dfe4ed) !important;
|
||||
background: var(--BgDateColor, #FFFFFF) !important;
|
||||
|
||||
.el-picker-panel__sidebar {
|
||||
background: var(--BgDateColor, #FFFFFF) !important;
|
||||
border-right: 1px solid var(--BrDateColor, #dfe4ed) !important;
|
||||
|
||||
.el-picker-panel__shortcut {
|
||||
color: var(--DateColor, #606266);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.popper__arrow,
|
||||
.popper__arrow::after {
|
||||
display: none !important;
|
||||
@ -310,6 +320,10 @@ export default {
|
||||
border-bottom:1px solid var(--BrDateColor, #e6ebf5) !important;
|
||||
}
|
||||
|
||||
.el-date-table td.in-range:not(.end-date):not(.start-date) div span {
|
||||
color: #3370ff;
|
||||
}
|
||||
|
||||
.el-date-range-picker__header,
|
||||
.el-date-table th,
|
||||
.el-date-table__row,
|
||||
|
3
frontend/src/icons/svg/de-search.svg
Normal file
3
frontend/src/icons/svg/de-search.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M10.9823 11.9244C9.89439 12.8051 8.50885 13.3327 7.00008 13.3327C3.50228 13.3327 0.666748 10.4972 0.666748 6.99935C0.666748 3.50155 3.50228 0.666016 7.00008 0.666016C10.4979 0.666016 13.3334 3.50155 13.3334 6.99935C13.3334 8.50811 12.8058 9.89365 11.9251 10.9816L14.6737 13.7301C14.8039 13.8603 14.8039 14.0714 14.6737 14.2015L14.2023 14.673C14.0721 14.8031 13.8611 14.8031 13.7309 14.673L10.9823 11.9244ZM12.0001 6.99935C12.0001 4.23793 9.7615 1.99935 7.00008 1.99935C4.23866 1.99935 2.00008 4.23793 2.00008 6.99935C2.00008 9.76077 4.23866 11.9993 7.00008 11.9993C9.7615 11.9993 12.0001 9.76077 12.0001 6.99935Z" fill="#646A73"/>
|
||||
</svg>
|
After Width: | Height: | Size: 743 B |
3
frontend/src/icons/svg/de_pwd_invisible.svg
Normal file
3
frontend/src/icons/svg/de_pwd_invisible.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.00022 9.99975C7.56203 9.99975 7.13323 9.96523 6.71734 9.89921L6.38535 11.1382C6.33771 11.316 6.15493 11.4216 5.9771 11.3739L5.33315 11.2014C5.15533 11.1537 5.0498 10.9709 5.09745 10.7931L5.42255 9.57985C4.88013 9.39561 4.37096 9.15494 3.90491 8.86629L2.8454 9.9258C2.71522 10.056 2.50417 10.056 2.37399 9.9258L1.90259 9.4544C1.77242 9.32422 1.77242 9.11317 1.90259 8.98299L2.83565 8.04994C2.35424 7.59918 1.95209 7.0852 1.64812 6.52421C1.64492 6.51832 1.64162 6.51215 1.63823 6.50575C1.5136 6.27038 1.56023 5.97574 1.75709 5.79635C1.92051 5.64743 2.03596 5.5461 2.13639 5.44567C2.14538 5.43669 2.15521 5.42666 2.16569 5.41583C2.31108 5.2656 2.55902 5.32152 2.64417 5.51246C3.47427 7.37398 5.46211 8.66641 8.00022 8.66641C10.4321 8.66641 12.4664 7.40872 13.2829 5.68239C13.3042 5.63747 13.328 5.5809 13.3519 5.52084C13.4276 5.33064 13.6741 5.27325 13.8188 5.41801C13.9259 5.52508 14.0687 5.66784 14.2471 5.8463C14.4235 6.0227 14.4713 6.29211 14.356 6.51334C14.3279 6.56715 14.3006 6.61785 14.2774 6.65816C13.9638 7.20109 13.5572 7.69751 13.0754 8.1321L13.9263 8.98299C14.0565 9.11317 14.0565 9.32422 13.9263 9.4544L13.4549 9.9258C13.3247 10.056 13.1136 10.056 12.9835 9.9258L11.9888 8.93112C11.5521 9.19111 11.0792 9.40958 10.5779 9.57985L10.903 10.7931C10.9506 10.9709 10.8451 11.1537 10.6673 11.2014L10.0233 11.3739C9.84552 11.4216 9.66274 11.316 9.61509 11.1382L9.2831 9.89921C8.86721 9.96523 8.43842 9.99975 8.00022 9.99975Z" fill="#BBBFC4"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
3
frontend/src/icons/svg/de_pwd_visible.svg
Normal file
3
frontend/src/icons/svg/de_pwd_visible.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.98994 12.333C10.1486 12.333 12.1472 10.9599 14.0001 7.99101C12.1949 5.03272 10.2008 3.66634 7.98994 3.66634C5.77984 3.66634 3.7929 5.0321 2.00009 7.99099C3.84053 10.9605 5.83206 12.333 7.98994 12.333ZM1.00172 8.59304C0.787049 8.22763 0.785596 7.77336 0.995302 7.40508C1.00277 7.39196 1.00993 7.37945 1.01672 7.36768C2.9521 4.01123 5.27627 2.33301 7.98923 2.33301C10.7133 2.33301 13.0518 4.02495 15.0049 7.40884C15.0107 7.41898 15.0168 7.42969 15.0232 7.44089C15.2208 7.7869 15.2193 8.21401 15.0172 8.55738C13.0127 11.9634 10.67 13.6663 7.98923 13.6663C5.31784 13.6663 2.98867 11.9752 1.00172 8.59304ZM8.00009 10.6663C6.52733 10.6663 5.33342 9.47243 5.33342 7.99967C5.33342 6.52692 6.52733 5.33301 8.00009 5.33301C9.47285 5.33301 10.6668 6.52692 10.6668 7.99967C10.6668 9.47243 9.47285 10.6663 8.00009 10.6663ZM8.00009 9.33301C8.73647 9.33301 9.33342 8.73605 9.33342 7.99967C9.33342 7.26329 8.73647 6.66634 8.00009 6.66634C7.26371 6.66634 6.66675 7.26329 6.66675 7.99967C6.66675 8.73605 7.26371 9.33301 8.00009 9.33301Z" fill="#BBBFC4"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
3
frontend/src/icons/svg/pwd_invisible.svg
Normal file
3
frontend/src/icons/svg/pwd_invisible.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M8.00022 9.99975C7.56203 9.99975 7.13323 9.96523 6.71734 9.89921L6.38535 11.1382C6.33771 11.316 6.15493 11.4216 5.9771 11.3739L5.33315 11.2014C5.15533 11.1537 5.0498 10.9709 5.09745 10.7931L5.42255 9.57985C4.88013 9.39561 4.37096 9.15494 3.90491 8.86629L2.8454 9.9258C2.71522 10.056 2.50417 10.056 2.37399 9.9258L1.90259 9.4544C1.77242 9.32422 1.77242 9.11317 1.90259 8.98299L2.83565 8.04994C2.35424 7.59918 1.95209 7.0852 1.64812 6.52421C1.64492 6.51832 1.64162 6.51215 1.63823 6.50575C1.5136 6.27038 1.56023 5.97574 1.75709 5.79635C1.92051 5.64743 2.03596 5.5461 2.13639 5.44567C2.14538 5.43669 2.15521 5.42666 2.16569 5.41583C2.31108 5.2656 2.55902 5.32152 2.64417 5.51246C3.47427 7.37398 5.46211 8.66641 8.00022 8.66641C10.4321 8.66641 12.4664 7.40872 13.2829 5.68239C13.3042 5.63747 13.328 5.5809 13.3519 5.52084C13.4276 5.33064 13.6741 5.27325 13.8188 5.41801C13.9259 5.52508 14.0687 5.66784 14.2471 5.8463C14.4235 6.0227 14.4713 6.29211 14.356 6.51334C14.3279 6.56715 14.3006 6.61785 14.2774 6.65816C13.9638 7.20109 13.5572 7.69751 13.0754 8.1321L13.9263 8.98299C14.0565 9.11317 14.0565 9.32422 13.9263 9.4544L13.4549 9.9258C13.3247 10.056 13.1136 10.056 12.9835 9.9258L11.9888 8.93112C11.5521 9.19111 11.0792 9.40958 10.5779 9.57985L10.903 10.7931C10.9506 10.9709 10.8451 11.1537 10.6673 11.2014L10.0233 11.3739C9.84552 11.4216 9.66274 11.316 9.61509 11.1382L9.2831 9.89921C8.86721 9.96523 8.43842 9.99975 8.00022 9.99975Z" fill="#BBBFC4"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
3
frontend/src/icons/svg/pwd_visible.svg
Normal file
3
frontend/src/icons/svg/pwd_visible.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M7.98994 12.333C10.1486 12.333 12.1472 10.9599 14.0001 7.99101C12.1949 5.03272 10.2008 3.66634 7.98994 3.66634C5.77984 3.66634 3.7929 5.0321 2.00009 7.99099C3.84053 10.9605 5.83206 12.333 7.98994 12.333ZM1.00172 8.59304C0.787049 8.22763 0.785596 7.77336 0.995302 7.40508C1.00277 7.39196 1.00993 7.37945 1.01672 7.36768C2.9521 4.01123 5.27627 2.33301 7.98923 2.33301C10.7133 2.33301 13.0518 4.02495 15.0049 7.40884C15.0107 7.41898 15.0168 7.42969 15.0232 7.44089C15.2208 7.7869 15.2193 8.21401 15.0172 8.55738C13.0127 11.9634 10.67 13.6663 7.98923 13.6663C5.31784 13.6663 2.98867 11.9752 1.00172 8.59304ZM8.00009 10.6663C6.52733 10.6663 5.33342 9.47243 5.33342 7.99967C5.33342 6.52692 6.52733 5.33301 8.00009 5.33301C9.47285 5.33301 10.6668 6.52692 10.6668 7.99967C10.6668 9.47243 9.47285 10.6663 8.00009 10.6663ZM8.00009 9.33301C8.73647 9.33301 9.33342 8.73605 9.33342 7.99967C9.33342 7.26329 8.73647 6.66634 8.00009 6.66634C7.26371 6.66634 6.66675 7.26329 6.66675 7.99967C6.66675 8.73605 7.26371 9.33301 8.00009 9.33301Z" fill="#BBBFC4"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
@ -192,6 +192,7 @@ export default {
|
||||
annotation: '註釋',
|
||||
clear: '清空',
|
||||
save: '保存',
|
||||
otherSave: '另存為',
|
||||
update: '更新',
|
||||
save_success: '保存成功',
|
||||
delete_success: '刪除成功',
|
||||
@ -400,8 +401,10 @@ export default {
|
||||
continue: '繼續',
|
||||
hour: '小時',
|
||||
minute: '分鐘',
|
||||
day: '天',
|
||||
by_task_name: '通過任務名稱蒐索',
|
||||
delete_this_task: '確定删除該任務嗎?',
|
||||
all_read_successfully: '全部已讀成功全部已读成功',
|
||||
message_receiving_management: '消息接收管理',
|
||||
upload_failed: '上傳失敗',
|
||||
is_not_supported: '檔案格式不支持',
|
||||
@ -418,13 +421,11 @@ export default {
|
||||
such_as_dataeasedataease: '請輸入登入頁面標題,比如:DataEaseDataEase',
|
||||
for_example_dataease: '請輸入系統名稱,比如:DataEase',
|
||||
time_is_required: '開始時間為必填',
|
||||
delete_this_task: '確定删除該任務嗎?',
|
||||
it_takes_effect: '卸載並重啓服務器之後才能生效',
|
||||
uninstall_the_plugin: '確定卸載該挿件?',
|
||||
uninstall: '卸載',
|
||||
relevant_content_found: '沒有找到相關內容',
|
||||
view_tasks: '查看任務',
|
||||
day: '天',
|
||||
no_classification: '暫無分類',
|
||||
no_template: '暫無模版',
|
||||
data_set_required: '數据集必填',
|
||||
@ -432,7 +433,6 @@ export default {
|
||||
read_message: '已讀消息',
|
||||
all_messages: '全部消息',
|
||||
message_list: '消息清單',
|
||||
all_read_successfully: '全部已讀成功',
|
||||
by_plugin_name: '通過挿件名稱蒐索',
|
||||
unable_to_uninstall: '內寘挿件,無法卸載',
|
||||
free: '免費',
|
||||
@ -582,12 +582,12 @@ export default {
|
||||
email_mandatory: '郵箱為必填',
|
||||
role_mandatory: '角色為必填',
|
||||
phone_format: '手機號碼格式錯誤',
|
||||
select_gender: '請選擇性別',
|
||||
input_email: '請輸入郵箱',
|
||||
input_password: '請輸入密碼',
|
||||
input_phone: '請輸入電話號碼',
|
||||
input_roles: '請選擇角色',
|
||||
select_users: '請選擇用戶',
|
||||
select_gender: '請選擇性别',
|
||||
special_characters_are_not_supported: '不支持特殊字符',
|
||||
mobile_number_format_is_incorrect: '手機號碼格式不正確',
|
||||
email_format_is_incorrect: '郵箱格式不正確',
|
||||
@ -667,8 +667,8 @@ export default {
|
||||
modify: '修改角色',
|
||||
tips: '提示',
|
||||
confirm_delete: '確認刪除角色 ',
|
||||
role_name: '角色名稱',
|
||||
search_by_name: '按名稱搜索',
|
||||
role_name: '角色名稱',
|
||||
pls_input_name: '請輸入名稱',
|
||||
search_by_name_email: '通過姓名或郵箱搜索',
|
||||
api_role: 'API角色',
|
||||
@ -806,8 +806,8 @@ export default {
|
||||
copy_secondary_icon: '適用場景:二級標題、二級文案、二級圖標',
|
||||
radio_checkbox_unchecked: '適用場景:輸入框引導語、輔助文案、提示文案、三級圖標、radio、checkbox未選中態',
|
||||
button_background_color: '適用場景:禁用文案、禁用圖標、禁用按鈕背景色',
|
||||
scenario_component_stroking: '适用场景:组件描边',
|
||||
background_header_background: '適用場景:頁面背景、表頭背景',
|
||||
scenario_component_stroking: '適用場景:組件描邊',
|
||||
main_background: '主背景',
|
||||
content_background: '內容背景',
|
||||
select_font: '選中字體',
|
||||
@ -870,6 +870,7 @@ export default {
|
||||
custom_data: '自定義數據集',
|
||||
pls_slc_tbl_left: '請從左側選視圖',
|
||||
add_db_table: '添加數據庫數據集',
|
||||
add_api_table: '添加API數據集',
|
||||
pls_slc_data_source: '請選擇數據源',
|
||||
table: '錶',
|
||||
edit: '編輯',
|
||||
@ -1102,10 +1103,10 @@ export default {
|
||||
color_fast: '輕快',
|
||||
color_spiritual: '靈動',
|
||||
chart_details: '視圖明細',
|
||||
export: '導出',
|
||||
details: '明細',
|
||||
image: '圖片',
|
||||
export_details: '導出明細',
|
||||
export: '導出',
|
||||
chart_data: '數據',
|
||||
chart_style: '樣式',
|
||||
drag_block_type_axis: '類別軸',
|
||||
@ -1191,6 +1192,7 @@ export default {
|
||||
preview: '上一步',
|
||||
next: '下一步',
|
||||
select_dataset: '選擇數據集',
|
||||
select_chart_type: '選擇圖表類型',
|
||||
recover: '重置',
|
||||
yoy_label: '同比/環比',
|
||||
yoy_setting: '同環比設置',
|
||||
@ -1539,7 +1541,8 @@ export default {
|
||||
column_permission: {
|
||||
add: '添加列權限',
|
||||
edit: '編輯列權限',
|
||||
please_select_auth_type: '請選餓授權類型',
|
||||
please_select_field: '請選擇字段',
|
||||
please_select_auth_type: '請選擇授權類型',
|
||||
please_select_auth_id: '請選擇授權目標',
|
||||
column_permission_not_empty: '列權限不能為空',
|
||||
auth_type: '授權類型',
|
||||
@ -1592,10 +1595,14 @@ export default {
|
||||
create: '新建數據源',
|
||||
type: '類型',
|
||||
please_choose_type: '請選擇數據源類型',
|
||||
please_choose_data_type: '請選擇計算模式',
|
||||
data_base: '數據庫名稱',
|
||||
user_name: '用戶名',
|
||||
password: '密碼',
|
||||
host: '主機名/IP地址',
|
||||
doris_host: 'Doris 地址',
|
||||
query_port: 'Query Port',
|
||||
http_port: 'Http Port',
|
||||
port: '端口',
|
||||
datasource_url: '地址',
|
||||
please_input_datasource_url: '請輸入 Elasticsearch 地址,如: http://es_host:es_port',
|
||||
@ -1619,9 +1626,9 @@ export default {
|
||||
oracle_service_name: '服務名',
|
||||
get_schema: '獲取 Schema',
|
||||
schema: '數據庫 Schema',
|
||||
please_choose_schema: '請選擇數據庫 Schema',
|
||||
charset: '字符集',
|
||||
targetCharset: '目標字符集',
|
||||
please_choose_schema: '請選擇數據庫 Schema',
|
||||
please_choose_targetCharset: '請選擇目標字符集',
|
||||
please_choose_charset: '請選擇數據庫字符集',
|
||||
edit_datasource_msg: '修改數據源信息,可能會導致改數據源下的數據集不可用,確認修改?',
|
||||
@ -1632,9 +1639,6 @@ export default {
|
||||
min_pool_size: '最小連接數',
|
||||
max_pool_size: '最大連接數',
|
||||
max_idle_time: '最大空閑(秒)',
|
||||
doris_host: 'Doris 地址',
|
||||
query_port: 'Query Port',
|
||||
http_port: 'Http Port',
|
||||
bucket_num: 'Bucket 數量',
|
||||
replication_num: '副本數量',
|
||||
please_input_bucket_num: '請輸入 Bucket 數量',
|
||||
@ -1645,12 +1649,17 @@ export default {
|
||||
please_input_initial_pool_size: '請輸入初始連接數',
|
||||
please_input_min_pool_size: '請輸入最小連接數',
|
||||
please_input_max_pool_size: '請輸入最大連接數',
|
||||
please_input_max_idle_time: '請輸入最大空閑(秒)',
|
||||
please_input_max_idle_time: '請輸入最大空闲(秒)',
|
||||
please_input_acquire_increment: '請輸入增長數',
|
||||
please_input_connect_timeout: '請輸入連接超時(秒)',
|
||||
no_less_then_0: '高級設置中的參數不能小於零',
|
||||
please_input_query_timeout: '請輸入查詢超時',
|
||||
please_input_connect_timeout: '請输輸入連接超時(秒)',
|
||||
no_less_then_0: '高级设置中的参数不能小於零',
|
||||
port_no_less_then_0: '端口不能小於零',
|
||||
priority: '高級設置',
|
||||
data_mode: '數據模式',
|
||||
direct: '直連模式',
|
||||
extract: '抽取模式',
|
||||
all_compute_mode: '直連、抽取模式',
|
||||
extra_params: '額外的JDBC連接字符串',
|
||||
please_input_dataPath: '請輸入 JsonPath 數據路徑',
|
||||
warning: '包含無效數據表',
|
||||
@ -1787,9 +1796,9 @@ export default {
|
||||
copy_short_link_passwd: '複製短鏈接及密碼',
|
||||
passwd_protect: '密碼保護',
|
||||
link: '鏈接',
|
||||
link_share: '鏈接分享',
|
||||
over_time: '有效期',
|
||||
link_expire: '鏈接已過期!',
|
||||
link_share: '鏈接分享',
|
||||
link_share_desc: '開啓鏈接後,任何人可通過此鏈接訪問儀錶闆。',
|
||||
share: '分享',
|
||||
remove_share_confirm: '確認取消當前儀錶闆所有分享?',
|
||||
@ -1864,6 +1873,7 @@ export default {
|
||||
data_list: '數據列錶',
|
||||
component_list: '組件列錶',
|
||||
custom_scope: '控製範圍',
|
||||
binding_parameters: '參數',
|
||||
multiple_choice: '多選',
|
||||
show_time: '顯示時間',
|
||||
single_choice: '單選',
|
||||
@ -1908,6 +1918,8 @@ export default {
|
||||
fontWeight: '字體粗細',
|
||||
lineHeight: '行高',
|
||||
letterSpacing: '字間距',
|
||||
padding: '内间距',
|
||||
margin: '外间距',
|
||||
textAlign: '左右對齊',
|
||||
opacity: '不透明度',
|
||||
verticalAlign: '上下對齊',
|
||||
@ -2044,7 +2056,6 @@ export default {
|
||||
defaultHomeLink: '默認為系統內置首頁',
|
||||
showFoot: '顯示登錄頁腳',
|
||||
footContent: '頁腳內容'
|
||||
|
||||
},
|
||||
auth: {
|
||||
no_item_selected: '请在左侧选择组织、角色或用户',
|
||||
@ -2089,14 +2100,14 @@ export default {
|
||||
row_column: '行列權限設置',
|
||||
row_permission: '行權限規則',
|
||||
enable_row: '啟用行權限',
|
||||
add_condition: '添加條件',
|
||||
add_relationship: '添加關系',
|
||||
white_list: '白名單',
|
||||
white_user_not: '以上權限規則對白名單用戶不生效',
|
||||
organization_or_role: '請選擇組織或角色',
|
||||
column_permission: '列權限規則',
|
||||
enable_column: '啟用列權限',
|
||||
search_by_field: '通過字段名稱搜索',
|
||||
add_condition: '添加條件',
|
||||
add_relationship: '添加關系',
|
||||
filter_fields: '篩選字段',
|
||||
selct_filter_fields: '請選擇篩選字段',
|
||||
enter_keywords: '請輸關鍵字',
|
||||
@ -2206,7 +2217,8 @@ export default {
|
||||
i18n_msg_type_dataset_sync_faild: '數據集同步失敗',
|
||||
i18n_msg_type_ds_invalid: '數據源失效',
|
||||
i18n_msg_type_all: '全部類型',
|
||||
channel_inner_msg: '站內消息'
|
||||
channel_inner_msg: '站內消息',
|
||||
channel_email_msg: '郵件提醒'
|
||||
},
|
||||
denumberrange: {
|
||||
label: '數值區間',
|
||||
@ -2375,7 +2387,8 @@ export default {
|
||||
dynamic: '動態年月',
|
||||
current: '本月',
|
||||
last: '上月',
|
||||
firstOfYear: '當年首月'
|
||||
firstOfYear: '當年首月',
|
||||
sameMonthLastYear: '去年同月'
|
||||
},
|
||||
wizard: {
|
||||
welcome_title: '歡迎使用DataEase',
|
||||
@ -2424,6 +2437,9 @@ export default {
|
||||
plugin_style: {
|
||||
border: '邊框'
|
||||
},
|
||||
sql_variable: {
|
||||
variable_mgm: '參數設置'
|
||||
},
|
||||
map_setting: {
|
||||
area_level: '區域等級',
|
||||
area_code: '區域代碼',
|
||||
|
@ -421,8 +421,6 @@ export default {
|
||||
such_as_dataeasedataease: '请输入登录页面标题,比如:DataEaseDataEase',
|
||||
for_example_dataease: '请输入系统名称,比如:DataEase',
|
||||
time_is_required: '开始时间为必填',
|
||||
delete_this_task: '确定删除该任务吗?',
|
||||
message_receiving_management: '消息接收管理',
|
||||
it_takes_effect: '卸载并重启服务器之后才能生效',
|
||||
uninstall_the_plugin: '确定卸载该插件?',
|
||||
uninstall: '卸载',
|
||||
@ -670,6 +668,7 @@ export default {
|
||||
tips: '提示',
|
||||
confirm_delete: '确认删除角色 ',
|
||||
search_by_name: '按名称搜索',
|
||||
role_name: '角色名称',
|
||||
pls_input_name: '请输入名称',
|
||||
search_by_name_email: '通过姓名或邮箱搜索',
|
||||
api_role: 'API角色',
|
||||
@ -678,7 +677,6 @@ export default {
|
||||
can_not_move: '不可移除,至少保留一位管理员',
|
||||
manage_can_not_move: '管理员是系统预置角色,默认拥有系统管理全部权限,无法删除',
|
||||
manage_can_not_update: '管理员是系统预置角色,默认拥有系统管理全部权限,无法编辑',
|
||||
role_name: '角色名称',
|
||||
role_description: '角色描述',
|
||||
editer_role: '编辑角色',
|
||||
add_role: '添加角色',
|
||||
@ -1108,6 +1106,7 @@ export default {
|
||||
export: '导出',
|
||||
details: '明细',
|
||||
image: '图片',
|
||||
export_details: '导出明細',
|
||||
chart_data: '数据',
|
||||
chart_style: '样式',
|
||||
drag_block_type_axis: '类别轴',
|
||||
@ -1369,6 +1368,7 @@ export default {
|
||||
custom_data: '自定义数据集',
|
||||
pls_slc_tbl_left: '请从左侧选择表',
|
||||
add_db_table: '添加数据库数据集',
|
||||
add_api_table: '添加API数据集',
|
||||
pls_slc_data_source: '请选择数据源',
|
||||
table: '表',
|
||||
edit: '编辑',
|
||||
@ -1638,11 +1638,11 @@ export default {
|
||||
initial_pool_size: '初始连接数',
|
||||
min_pool_size: '最小连接数',
|
||||
max_pool_size: '最大连接数',
|
||||
max_idle_time: '最大空闲(秒)',
|
||||
bucket_num: 'Bucket 数量',
|
||||
replication_num: '副本数量',
|
||||
please_input_bucket_num: '请输入 Bucket 数量',
|
||||
please_input_replication_num: '请输入副本数量',
|
||||
max_idle_time: '最大空闲(秒)',
|
||||
acquire_increment: '增长数',
|
||||
connect_timeout: '连接超时(秒)',
|
||||
query_timeout: '查询超时(秒)',
|
||||
@ -1984,6 +1984,7 @@ export default {
|
||||
add_jump_field: '追加跳转联动依赖字段',
|
||||
input_jump_link: '请输入跳转连接',
|
||||
select_dimension: '请选择维度...',
|
||||
please_select: '请选择',
|
||||
video_type: '视频类型',
|
||||
online_video: '在线视频',
|
||||
streaming_media: '流媒体',
|
||||
@ -2239,7 +2240,6 @@ export default {
|
||||
auto_trigger_tip: '进入预览页面自动触发一次',
|
||||
range_tip: '默认关联全部过滤组件'
|
||||
},
|
||||
|
||||
desresetbutton: {
|
||||
label: '清空按钮',
|
||||
reset: '重置按钮',
|
||||
@ -2409,6 +2409,7 @@ export default {
|
||||
open_source_community: '开源社区',
|
||||
click_show: '点击查看',
|
||||
show_more: '查看更多',
|
||||
click_inner: '点击进入',
|
||||
email: '邮箱:',
|
||||
tel: '电话:',
|
||||
web: '网址:',
|
||||
|
@ -97,8 +97,8 @@ export default {
|
||||
font-family: PingFang SC;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #646a73;
|
||||
background: #fff;
|
||||
color: var(--SiderTextColor, #646a73);
|
||||
background-color: var(--SiderBG, #ffffff);
|
||||
cursor: pointer;
|
||||
|
||||
i {
|
||||
|
@ -1196,4 +1196,20 @@ div:focus {
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
}
|
||||
|
||||
|
||||
.de-input-search {
|
||||
.el-input__inner {
|
||||
padding-left: 36px;
|
||||
}
|
||||
.el-input__prefix {
|
||||
left: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
svg {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
}
|
@ -20,6 +20,14 @@ export default {
|
||||
remark: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
showTable: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
showMedia: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
@ -60,6 +68,17 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
created() {
|
||||
if(!this.showTable) {
|
||||
this.init.plugins = this.init.plugins.replace(' table', '')
|
||||
|
||||
}
|
||||
if(!this.showMedia) {
|
||||
this.init.plugins = this.init.plugins.replace(' media', '')
|
||||
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.content = this.remark
|
||||
tinymce.init({})
|
||||
|
@ -72,7 +72,7 @@ export default {
|
||||
background: #ffffff;
|
||||
border: 1px solid var(--deCardStrokeColor, #dee0e3);
|
||||
border-radius: 4px;
|
||||
margin: 0 12.5px 25px 12.5px;
|
||||
margin: 0 24px 25px 0;
|
||||
.card-img-model {
|
||||
border-bottom: 1px solid var(--deCardStrokeColor, #dee0e3);
|
||||
height: 144px;
|
||||
|
@ -2,11 +2,13 @@
|
||||
<div class="de-template-list">
|
||||
<el-input
|
||||
v-model="templateFilterText"
|
||||
:placeholder="$t('panel.filter_keywords')"
|
||||
:placeholder="$t('system_parameter_setting.search_keywords')"
|
||||
size="small"
|
||||
class="de-input-search"
|
||||
clearable
|
||||
prefix-icon="el-icon-search"
|
||||
/>
|
||||
>
|
||||
<svg-icon slot="prefix" icon-class="de-search"></svg-icon>
|
||||
</el-input>
|
||||
<el-empty
|
||||
:image="noneImg"
|
||||
v-if="!templateListComputed.length && templateFilterText === ''"
|
||||
@ -85,8 +87,8 @@ export default {
|
||||
return {
|
||||
templateFilterText: "",
|
||||
activeTemplate: "",
|
||||
noneImg: require('@/assets/None.png'),
|
||||
nothingImg: require('@/assets/nothing.png'),
|
||||
noneImg: require("@/assets/None.png"),
|
||||
nothingImg: require("@/assets/nothing.png"),
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -127,12 +129,12 @@ export default {
|
||||
},
|
||||
templateDelete(template) {
|
||||
const options = {
|
||||
title: 'system_parameter_setting.delete_this_category',
|
||||
content: 'system_parameter_setting.also_be_deleted',
|
||||
type: "primary",
|
||||
cb: () => this.$emit("templateDelete", template.id),
|
||||
};
|
||||
this.handlerConfirm(options);
|
||||
title: "system_parameter_setting.delete_this_category",
|
||||
content: "system_parameter_setting.also_be_deleted",
|
||||
type: "primary",
|
||||
cb: () => this.$emit("templateDelete", template.id),
|
||||
};
|
||||
this.handlerConfirm(options);
|
||||
},
|
||||
templateEdit(template) {
|
||||
this.$emit("templateEdit", template);
|
||||
@ -163,7 +165,7 @@ export default {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 4px;
|
||||
color: var(--deTextPrimary, #1F2329);
|
||||
color: var(--deTextPrimary, #1f2329);
|
||||
font-family: "PingFang SC";
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
|
@ -152,8 +152,8 @@ export default {
|
||||
currentTemplateLabel: "",
|
||||
currentTemplateId: "",
|
||||
templateList: [],
|
||||
templateMiniWidth: 262,
|
||||
templateCurWidth: 262,
|
||||
templateMiniWidth: 286,
|
||||
templateCurWidth: 286,
|
||||
formType: "",
|
||||
originName: "",
|
||||
templateDialog: {
|
||||
@ -188,7 +188,7 @@ export default {
|
||||
templateMainDom.offsetWidth / _this.templateMiniWidth
|
||||
);
|
||||
_this.templateCurWidth =
|
||||
Math.trunc(templateMainDom.offsetWidth / curSeparator) - 50;
|
||||
Math.trunc(templateMainDom.offsetWidth / curSeparator) - 24 - curSeparator;
|
||||
});
|
||||
});
|
||||
},
|
||||
@ -386,7 +386,7 @@ export default {
|
||||
.de-tabs-right {
|
||||
flex: 1;
|
||||
background: #fff;
|
||||
padding: 24px 12px 24px 12px;
|
||||
padding: 24px 0 24px 24px;
|
||||
overflow: hidden;
|
||||
|
||||
.template-box {
|
||||
@ -402,6 +402,7 @@ export default {
|
||||
|
||||
.active-template {
|
||||
margin: 4px 0 20px 0;
|
||||
padding-right: 24px;
|
||||
font-family: "PingFang SC";
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
|
@ -15,9 +15,10 @@
|
||||
<!--基础配置表单-->
|
||||
<el-form ref="formInline" v-loading="loading" :model="formInline" :rules="rules"
|
||||
class="demo-form-inline de-form-item" :disabled="show" label-width="80px" label-position="right" size="small">
|
||||
<el-form-item prop="frontTimeOut">
|
||||
<el-form-item prop="frontTimeOut" class="de-i118">
|
||||
<template slot="label">
|
||||
{{ $t('system_parameter_setting.request_timeout')}}
|
||||
<i class="is-require"></i>
|
||||
<el-tooltip class="item" effect="dark" :content="$t('system_parameter_setting.front_time_out')"
|
||||
placement="top">
|
||||
<i class="el-icon-warning-outline tips"></i>
|
||||
@ -253,9 +254,8 @@ export default {
|
||||
<style lang="scss" scoped>
|
||||
.demo-form-inline {
|
||||
.tips {
|
||||
position: absolute;
|
||||
left: 100px;
|
||||
top: 5px;
|
||||
margin-left: 2px;
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
@ -265,3 +265,15 @@ export default {
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style lang="scss">
|
||||
.de-i118 {
|
||||
.el-form-item__label::after {
|
||||
display: none;
|
||||
}
|
||||
.is-require::after {
|
||||
content: "*";
|
||||
color: #f54a45;
|
||||
margin-left: 2px;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -41,7 +41,7 @@
|
||||
<el-input v-model="form.configuration.username" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('datasource.password')">
|
||||
<el-input v-model="form.configuration.password" show-password />
|
||||
<dePwd v-model="form.configuration.password"/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
:label="$t('datasource.query_port')"
|
||||
@ -162,11 +162,13 @@ import { engineInfo, validate, save } from "@/api/system/engine";
|
||||
import i18n from "@/lang";
|
||||
import operater from "./operater";
|
||||
import msgCfm from '@/components/msgCfm'
|
||||
import dePwd from '@/components/deCustomCm/dePwd.vue'
|
||||
export default {
|
||||
name: "ClusterMode",
|
||||
mixins: [msgCfm],
|
||||
components: {
|
||||
operater,
|
||||
dePwd
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -68,14 +68,9 @@
|
||||
:label="$t('system_parameter_setting.SMTP_password')"
|
||||
prop="password"
|
||||
>
|
||||
<el-input
|
||||
ref="input"
|
||||
<dePwd
|
||||
v-model="formInline.password"
|
||||
:placeholder="$t('system_parameter_setting.SMTP_password')"
|
||||
autocomplete="new-password"
|
||||
show-password
|
||||
type="text"
|
||||
@focus="changeType"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('system_parameter_setting.test_recipients')">
|
||||
@ -90,13 +85,9 @@
|
||||
<i class="el-icon-warning-outline tips-not-absolute"></i>
|
||||
</el-tooltip>
|
||||
</template>
|
||||
<el-input
|
||||
ref="input"
|
||||
<dePwd
|
||||
v-model="formInline.recipient"
|
||||
:placeholder="$t('system_parameter_setting.test_recipients')"
|
||||
autocomplete="new-password"
|
||||
show-password
|
||||
type="text"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱服务器配置">
|
||||
@ -134,12 +125,13 @@
|
||||
import { emailInfo, updateInfo, validate } from "@/api/system/email";
|
||||
import operater from "./operater";
|
||||
import msgCfm from '@/components/msgCfm'
|
||||
|
||||
import dePwd from '@/components/deCustomCm/dePwd.vue'
|
||||
export default {
|
||||
name: "EmailSetting",
|
||||
mixins: [msgCfm],
|
||||
components: {
|
||||
operater,
|
||||
dePwd
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -183,9 +175,6 @@ export default {
|
||||
this.query();
|
||||
},
|
||||
methods: {
|
||||
changeType() {
|
||||
this.$refs.input = "password";
|
||||
},
|
||||
query() {
|
||||
emailInfo().then((response) => {
|
||||
this.formInline = response.data;
|
||||
|
@ -93,7 +93,7 @@
|
||||
:label="$t('kettle.passwd')"
|
||||
prop="configuration.passwd"
|
||||
>
|
||||
<el-input :placeholder="$t('components.input_a_password')" v-model="form.configuration.passwd" show-password />
|
||||
<dePwd :placeholder="$t('components.input_a_password')" v-model="form.configuration.passwd"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-col>
|
||||
@ -122,11 +122,12 @@ import {
|
||||
} from "@/api/system/kettle";
|
||||
import i18n from "@/lang";
|
||||
import GridTable from "@/components/gridTable/index.vue";
|
||||
import dePwd from '@/components/deCustomCm/dePwd.vue'
|
||||
import msgCfm from '@/components/msgCfm'
|
||||
|
||||
export default {
|
||||
name: "KettleSetting",
|
||||
components: { GridTable },
|
||||
components: { GridTable, dePwd },
|
||||
mixins: [msgCfm],
|
||||
data() {
|
||||
return {
|
||||
@ -339,7 +340,7 @@ export default {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 2px;
|
||||
width: 40px;
|
||||
padding: 1px 6px;
|
||||
height: 24px;
|
||||
}
|
||||
</style>
|
@ -27,6 +27,7 @@
|
||||
class="my_table"
|
||||
max-height="300"
|
||||
height="300"
|
||||
:key="certinKey"
|
||||
>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
@ -433,7 +434,7 @@
|
||||
|
||||
<el-row v-show="active === 1">
|
||||
<el-form
|
||||
ref="apiItem"
|
||||
ref="apiItemBasicInfo"
|
||||
size="small"
|
||||
:model="apiItem"
|
||||
label-position="top"
|
||||
@ -907,6 +908,7 @@ export default {
|
||||
value: 3,
|
||||
},
|
||||
],
|
||||
certinKey: false
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@ -939,10 +941,8 @@ export default {
|
||||
this.$message.error(i18n.t("datasource.has_repeat_name"));
|
||||
return;
|
||||
}
|
||||
if (!this.apiItem.name || !this.apiItem.url) {
|
||||
return;
|
||||
}
|
||||
this.$refs.apiItem.validate((valid) => {
|
||||
|
||||
this.$refs.apiItemBasicInfo.validate((valid) => {
|
||||
if (valid) {
|
||||
const data = JSON.parse(JSON.stringify(this.apiItem));
|
||||
this.loading = true;
|
||||
@ -975,7 +975,7 @@ export default {
|
||||
},
|
||||
closeEditItem() {
|
||||
this.active = 0;
|
||||
this.$refs.apiItem.clearValidate();
|
||||
this.$refs.apiItemBasicInfo.clearValidate();
|
||||
this.edit_api_item = false;
|
||||
},
|
||||
saveItem() {
|
||||
@ -1000,6 +1000,7 @@ export default {
|
||||
for (var i = 0; i < this.form.apiConfiguration.length; i++) {
|
||||
if (this.form.apiConfiguration[i].serialNumber === this.apiItem.serialNumber) {
|
||||
this.form.apiConfiguration[i] = JSON.parse(JSON.stringify(this.apiItem))
|
||||
this.certinKey = ! this.certinKey
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
403
frontend/src/views/system/log/filterUser.vue
Normal file
403
frontend/src/views/system/log/filterUser.vue
Normal file
@ -0,0 +1,403 @@
|
||||
<template>
|
||||
<el-drawer
|
||||
:title="$t('user.filter_method')"
|
||||
:visible.sync="userDrawer"
|
||||
custom-class="user-drawer-task"
|
||||
size="680px"
|
||||
v-closePress
|
||||
direction="rtl"
|
||||
>
|
||||
<div class="filter">
|
||||
<span>{{ $t("log.optype") }}</span>
|
||||
<div class="filter-item">
|
||||
<span
|
||||
class="item"
|
||||
@click="statusChange(item.value)"
|
||||
:class="[activeType.includes(item.value) ? 'active' : '']"
|
||||
:key="item.label"
|
||||
v-for="item in types"
|
||||
>{{ $t(item.label) }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<div class="el-drawer__body-cont">
|
||||
<div class="filter">
|
||||
<span>{{ $t("log.user") }}</span>
|
||||
<div class="filter-item">
|
||||
<span
|
||||
@click="activeUserChange(ele.id)"
|
||||
class="item"
|
||||
:class="[activeUser.includes(ele.id) ? 'active' : '']"
|
||||
:key="ele.id"
|
||||
v-for="ele in usersValueCopy"
|
||||
>{{ ele.username }}</span
|
||||
>
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
popper-class="user-popper"
|
||||
width="200"
|
||||
trigger="click"
|
||||
>
|
||||
<el-select
|
||||
ref="userSelect"
|
||||
v-model="usersValue"
|
||||
multiple
|
||||
filterable
|
||||
:placeholder="$t('commons.please_select')"
|
||||
@change="changeUser"
|
||||
@remove-tag="changeUser"
|
||||
value-key="id"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in usersComputed"
|
||||
:key="item.username"
|
||||
:label="item.username"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
<span class="more" slot="reference">+ {{ $t("panel.more") }}</span>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div class="filter">
|
||||
<span>{{ $t("dedaterange.label") }}</span>
|
||||
<div class="filter-item">
|
||||
<DeDatePick v-model="dataRange"></DeDatePick>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="foot">
|
||||
<el-button class="btn normal" @click="reset">{{
|
||||
$t("commons.reset")
|
||||
}}</el-button>
|
||||
<el-button type="primary" class="btn" @click="search">{{
|
||||
$t("commons.adv_search.search")
|
||||
}}</el-button>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { dateFormat } from "@/views/system/task/options.js";
|
||||
import { opTypes } from "@/api/system/log";
|
||||
import { post } from "@/api/dataset/dataset";
|
||||
import DeDatePick from '@/components/deCustomCm/deDatePick.vue'
|
||||
export default {
|
||||
components: {
|
||||
DeDatePick
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
types: [],
|
||||
treeLoading: false,
|
||||
filterTextMap: [],
|
||||
dataRange: [],
|
||||
usersValue: [],
|
||||
activeUser: [],
|
||||
users: [],
|
||||
userCahe: [],
|
||||
activeType: [],
|
||||
userDrawer: false,
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
usersComputed() {
|
||||
return this.users.filter((ele) => !this.activeUser.includes(ele.id));
|
||||
},
|
||||
usersValueCopy() {
|
||||
return this.userCahe.filter((ele) => this.activeUser.includes(ele.id));
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.loadUsers();
|
||||
this.loadType();
|
||||
},
|
||||
methods: {
|
||||
loadType() {
|
||||
opTypes().then((res) => {
|
||||
this.types = res.data.map((item) => {
|
||||
return { label: item.name, value: item.id };
|
||||
});
|
||||
});
|
||||
},
|
||||
loadUsers() {
|
||||
post("/api/user/userLists", {}, false).then((res) => {
|
||||
this.users = res.data;
|
||||
});
|
||||
},
|
||||
changeUser() {
|
||||
if (
|
||||
this.userCahe.length >
|
||||
this.usersValue.length + this.activeUser.length
|
||||
) {
|
||||
this.userCahe = this.userCahe.filter((ele) =>
|
||||
this.usersValue
|
||||
.map((ele) => ele.id)
|
||||
.concat(this.activeUser)
|
||||
.includes(ele.id)
|
||||
);
|
||||
return;
|
||||
}
|
||||
const userIdx = this.usersValue.findIndex(
|
||||
(ele) =>
|
||||
!this.userCahe
|
||||
.map((ele) => ele.id)
|
||||
.concat(this.activeUser)
|
||||
.includes(ele.id)
|
||||
);
|
||||
if (userIdx === -1) return;
|
||||
this.activeUser.push(this.usersValue[userIdx].id);
|
||||
this.userCahe.push(this.usersValue[userIdx]);
|
||||
this.usersValue.splice(userIdx, 1);
|
||||
},
|
||||
activeUserChange(id) {
|
||||
const userIndex = this.activeUser.findIndex((ele) => ele === id);
|
||||
if (userIndex === -1) {
|
||||
this.activeUser.push(id);
|
||||
this.usersValue = this.usersValue.filter((ele) => ele.id !== id);
|
||||
} else {
|
||||
this.activeUser.splice(userIndex, 1);
|
||||
const user = this.userCahe.find((ele) => ele.id === id);
|
||||
this.usersValue.push(user);
|
||||
}
|
||||
},
|
||||
clearFilter() {
|
||||
this.dataRange = [];
|
||||
this.usersValue = [];
|
||||
this.activeUser = [];
|
||||
this.activeType = [];
|
||||
this.userCahe = [];
|
||||
this.$emit("search", [], []);
|
||||
},
|
||||
clearOneFilter(index) {
|
||||
(this.filterTextMap[index] || []).forEach((ele) => {
|
||||
this[ele] = [];
|
||||
});
|
||||
},
|
||||
statusChange(value, type) {
|
||||
const statusIndex = this.activeType.findIndex((ele) => ele === value);
|
||||
if (statusIndex === -1) {
|
||||
this.activeType.push(value);
|
||||
} else {
|
||||
this.activeType.splice(statusIndex, 1);
|
||||
}
|
||||
},
|
||||
search() {
|
||||
this.userDrawer = false;
|
||||
this.$emit("search", this.formatCondition(), this.formatText());
|
||||
},
|
||||
formatText() {
|
||||
this.filterTextMap = [];
|
||||
const params = [];
|
||||
if (this.activeType.length) {
|
||||
params.push(
|
||||
`${this.$t('log.optype')}:${this.activeType
|
||||
.map((item) =>
|
||||
this.types.find((itx) => itx.value === item).label
|
||||
)
|
||||
.join("、")}`
|
||||
);
|
||||
this.filterTextMap.push([`activeType`]);
|
||||
}
|
||||
if (this.activeUser.length) {
|
||||
let str = `${this.$t("log.user")}:${this.activeUser.reduce(
|
||||
(pre, next) =>
|
||||
(this.users.find((ele) => ele.id === next) || {}).username +
|
||||
"、" +
|
||||
pre,
|
||||
""
|
||||
)}`;
|
||||
params.push(str.slice(0, str.length - 1));
|
||||
this.filterTextMap.push([
|
||||
"usersValue",
|
||||
"activeUser",
|
||||
"users",
|
||||
"userCahe",
|
||||
]);
|
||||
}
|
||||
|
||||
if (this.dataRange.length) {
|
||||
params.push(
|
||||
`${this.$t("dedaterange.label")}:${this.dataRange
|
||||
.map((ele) => {
|
||||
return dateFormat("YYYY-mm-dd", ele);
|
||||
})
|
||||
.join("-")}`
|
||||
);
|
||||
this.filterTextMap.push(["dataRange"]);
|
||||
}
|
||||
return params;
|
||||
},
|
||||
formatCondition() {
|
||||
const fildMap = {
|
||||
optype: this.activeType,
|
||||
"user_id": this.activeUser,
|
||||
};
|
||||
const conditions = [];
|
||||
Object.keys(fildMap).forEach((ele) => {
|
||||
if (fildMap[ele].length) {
|
||||
conditions.push({
|
||||
field: ele,
|
||||
operator: "in",
|
||||
value: fildMap[ele],
|
||||
});
|
||||
}
|
||||
});
|
||||
const [min, max] = this.dataRange;
|
||||
if (min && max) {
|
||||
conditions.push({
|
||||
field: "time",
|
||||
operator: "between",
|
||||
value: [+min, +max],
|
||||
});
|
||||
}
|
||||
return conditions;
|
||||
},
|
||||
init() {
|
||||
this.userDrawer = true;
|
||||
},
|
||||
reset() {
|
||||
this.clearFilter();
|
||||
this.userDrawer = false;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.user-drawer-task {
|
||||
.el-drawer__body-cont {
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
padding-bottom: 80px;
|
||||
}
|
||||
.el-drawer__header {
|
||||
padding: 16px 24px;
|
||||
margin: 0;
|
||||
font-family: PingFang SC;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
line-height: 24px;
|
||||
color: #1f2329;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
height: 57px;
|
||||
mix-blend-mode: normal;
|
||||
border-bottom: 1px solid rgba(187, 191, 196, 0.5);
|
||||
|
||||
.el-drawer__close-btn {
|
||||
position: absolute;
|
||||
right: 24px;
|
||||
top: 16px;
|
||||
padding: 4px;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.el-drawer__close-btn:hover {
|
||||
background: #e9e9ea;
|
||||
}
|
||||
}
|
||||
|
||||
.el-drawer__body {
|
||||
padding: 12px 24px 24px 24px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.filter {
|
||||
display: flex;
|
||||
min-height: 46px;
|
||||
> :nth-child(1) {
|
||||
color: #1f2329;
|
||||
font-family: "PingFang SC";
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
white-space: nowrap;
|
||||
width: 116px;
|
||||
}
|
||||
.filter-item {
|
||||
flex: 1;
|
||||
.item,
|
||||
.more {
|
||||
font-family: PingFang SC;
|
||||
white-space: nowrap;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
margin-right: 12px;
|
||||
text-align: center;
|
||||
padding: 1px 6px;
|
||||
background: #f5f6f7;
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.active,
|
||||
.more:hover {
|
||||
background: rgba(51, 112, 255, 0.1);
|
||||
color: #0c296e;
|
||||
}
|
||||
.more {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
border-radius: 4px;
|
||||
padding: 5px 26px 5px 26px;
|
||||
font-family: PingFang SC;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 20px;
|
||||
letter-spacing: 0px;
|
||||
text-align: center;
|
||||
border: none;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.normal {
|
||||
color: #1f2329;
|
||||
border: 1px solid #bbbfc4;
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
.foot {
|
||||
position: absolute;
|
||||
height: 80px;
|
||||
width: 100%;
|
||||
padding: 24px;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
text-align: right;
|
||||
background: #ffffff;
|
||||
box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
}
|
||||
.user-popper {
|
||||
padding: 0;
|
||||
background: #fff;
|
||||
.popper__arrow {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.tree-select {
|
||||
.el-select-dropdown__empty,
|
||||
.el-scrollbar__wrap,
|
||||
.popper__arrow {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
.user-popper.dept {
|
||||
height: 400px;
|
||||
overflow: auto;
|
||||
}
|
||||
</style>
|
@ -1,162 +1,394 @@
|
||||
<template>
|
||||
<layout-content :header="$t('log.title')">
|
||||
<complex-table
|
||||
v-loading="$store.getters.loadingMap[$store.getters.currentPath]"
|
||||
:data="data"
|
||||
:columns="columns"
|
||||
:search-config="searchConfig"
|
||||
:pagination-config="paginationConfig"
|
||||
@select="select"
|
||||
@search="search"
|
||||
@sort-change="sortChange"
|
||||
<de-layout-content :header="$t('log.title')">
|
||||
<el-row class="top-operate">
|
||||
<el-col :span="12">
|
||||
<deBtn v-permission="['log:export']" secondary @click="exportConfirm">{{
|
||||
$t("zip.export")
|
||||
}}</deBtn>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="12" class="right-user">
|
||||
<el-input
|
||||
:placeholder="$t('通过事件详情搜索')"
|
||||
prefix-icon="el-icon-search"
|
||||
class="name-email-search"
|
||||
size="small"
|
||||
clearable
|
||||
ref="search"
|
||||
v-model="nikeName"
|
||||
@blur="initSearch"
|
||||
@clear="initSearch"
|
||||
>
|
||||
</el-input>
|
||||
<deBtn
|
||||
:secondary="!cacheCondition.length"
|
||||
:plain="!!cacheCondition.length"
|
||||
icon="iconfont icon-icon-filter"
|
||||
@click="filterShow"
|
||||
>{{ $t("user.filter")
|
||||
}}<template v-if="filterTexts.length">
|
||||
({{ cacheCondition.length }})
|
||||
</template>
|
||||
</deBtn>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="filter-texts" v-if="filterTexts.length">
|
||||
<span class="sum">{{ paginationConfig.total }}</span>
|
||||
<span class="title">{{ $t("user.result_one") }}</span>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
<i
|
||||
@click="scrollPre"
|
||||
v-if="showScroll"
|
||||
class="el-icon-arrow-left arrow-filter"
|
||||
></i>
|
||||
<div class="filter-texts-container">
|
||||
<p class="text" v-for="(ele, index) in filterTexts" :key="ele">
|
||||
{{ ele }} <i @click="clearOneFilter(index)" class="el-icon-close"></i>
|
||||
</p>
|
||||
</div>
|
||||
<i
|
||||
@click="scrollNext"
|
||||
v-if="showScroll"
|
||||
class="el-icon-arrow-right arrow-filter"
|
||||
></i>
|
||||
<el-button
|
||||
type="text"
|
||||
class="clear-btn"
|
||||
icon="el-icon-delete"
|
||||
@click="clearFilter"
|
||||
>{{ $t("user.clear_filter") }}</el-button
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
class="table-container"
|
||||
id="resize-for-filter"
|
||||
:class="[filterTexts.length ? 'table-container-filter' : '']"
|
||||
>
|
||||
<template #toolbar>
|
||||
<el-button v-permission="['log:export']" icon="el-icon-download" size="mini" @click="exportConfirm">{{ $t('log.export') }}</el-button>
|
||||
</template>
|
||||
|
||||
<el-table-column :show-overflow-tooltip="true" prop="opType" :label="$t('log.optype')" width="140">
|
||||
<template v-slot:default="{row}">
|
||||
<span>{{ row.opType + row.sourceType }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="detail" :label="$t('log.detail')" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="user" :label="$t('log.user')" width="100" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="time" sortable="custom" :label="$t('log.time')" width="180">
|
||||
<template v-slot:default="scope">
|
||||
<span>{{ scope.row.time | timestampFormatDate }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</complex-table>
|
||||
</layout-content>
|
||||
<grid-table
|
||||
v-loading="$store.getters.loadingMap[$store.getters.currentPath]"
|
||||
:tableData="data"
|
||||
:columns="[]"
|
||||
:pagination="paginationConfig"
|
||||
@sort-change="sortChange"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="opType"
|
||||
:label="$t('log.optype')"
|
||||
width="140"
|
||||
>
|
||||
<template v-slot:default="{ row }">
|
||||
<span>{{ row.opType + row.sourceType }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="detail"
|
||||
:label="$t('log.detail')"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="user"
|
||||
:label="$t('log.user')"
|
||||
width="100"
|
||||
/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="time"
|
||||
sortable="custom"
|
||||
:label="$t('log.time')"
|
||||
width="180"
|
||||
>
|
||||
<template v-slot:default="scope">
|
||||
<span>{{ scope.row.time | timestampFormatDate }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</grid-table>
|
||||
</div>
|
||||
<keep-alive>
|
||||
<filterUser ref="filterUser" @search="filterDraw"></filterUser>
|
||||
</keep-alive>
|
||||
</de-layout-content>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import LayoutContent from '@/components/business/LayoutContent'
|
||||
import ComplexTable from '@/components/business/complex-table'
|
||||
import { formatCondition, formatQuickCondition, addOrder, formatOrders } from '@/utils/index'
|
||||
import { logGrid, opTypes, exportExcel } from '@/api/system/log'
|
||||
import DeLayoutContent from "@/components/business/DeLayoutContent";
|
||||
import GridTable from "@/components/gridTable/index.vue";
|
||||
import filterUser from './filterUser';
|
||||
import _ from 'lodash';
|
||||
import {
|
||||
formatCondition,
|
||||
formatQuickCondition,
|
||||
addOrder,
|
||||
formatOrders,
|
||||
} from "@/utils/index";
|
||||
import { logGrid, exportExcel } from "@/api/system/log";
|
||||
export default {
|
||||
|
||||
components: { ComplexTable, LayoutContent },
|
||||
components: { GridTable, DeLayoutContent, filterUser },
|
||||
data() {
|
||||
return {
|
||||
columns: [],
|
||||
|
||||
searchConfig: {
|
||||
useQuickSearch: false,
|
||||
useComplexSearch: true,
|
||||
quickPlaceholder: this.$t('log.search_by_key'),
|
||||
components: [
|
||||
{
|
||||
field: 'optype',
|
||||
label: this.$t('log.optype'),
|
||||
component: 'FuComplexMixSelect',
|
||||
options: [],
|
||||
multiple: true,
|
||||
class: 'de-log-filter',
|
||||
defaultOperator: 'in',
|
||||
filterable: true,
|
||||
'reserve-keyword': true
|
||||
},
|
||||
{ field: 'nick_name', label: this.$t('log.user'), component: 'DeComplexInput', class: 'de-log-filter' },
|
||||
|
||||
{ field: 'time', label: this.$t('log.time'), component: 'FuComplexDateTime', defaultOperator: 'between', class: 'de-log-filter' }
|
||||
|
||||
]
|
||||
},
|
||||
|
||||
paginationConfig: {
|
||||
currentPage: 1,
|
||||
pageSize: 10,
|
||||
total: 0
|
||||
total: 0,
|
||||
},
|
||||
data: [],
|
||||
types: [],
|
||||
|
||||
orderConditions: [],
|
||||
last_condition: null
|
||||
|
||||
}
|
||||
nikeName: "",
|
||||
showScroll: false,
|
||||
filterTexts: [],
|
||||
cacheCondition: [],
|
||||
};
|
||||
},
|
||||
|
||||
created() {
|
||||
this.types = []
|
||||
opTypes().then(res => {
|
||||
const datas = res.data
|
||||
datas.forEach(item => {
|
||||
this.types.push({ 'label': item.name, 'value': item.id })
|
||||
})
|
||||
this.searchConfig.components[0].options = this.types
|
||||
})
|
||||
watch: {
|
||||
filterTexts: {
|
||||
handler() {
|
||||
this.getScrollStatus();
|
||||
},
|
||||
deep: true,
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.search()
|
||||
this.search();
|
||||
this.resizeObserver();
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
exportConfirm() {
|
||||
this.$confirm(this.$t('log.confirm'), '', {
|
||||
confirmButtonText: this.$t('commons.confirm'),
|
||||
cancelButtonText: this.$t('commons.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.exportData()
|
||||
}).catch(() => {
|
||||
// this.$info(this.$t('commons.delete_cancel'))
|
||||
this.$confirm(this.$t("log.confirm"), "", {
|
||||
confirmButtonText: this.$t("commons.confirm"),
|
||||
cancelButtonText: this.$t("commons.cancel"),
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.exportData();
|
||||
})
|
||||
.catch(() => {
|
||||
// this.$info(this.$t('commons.delete_cancel'))
|
||||
});
|
||||
},
|
||||
exportData() {
|
||||
let condition = this.last_condition
|
||||
condition = formatQuickCondition(condition, 'key')
|
||||
const temp = formatCondition(condition)
|
||||
const param = temp || {}
|
||||
param['orders'] = formatOrders(this.orderConditions)
|
||||
let condition = this.last_condition;
|
||||
condition = formatQuickCondition(condition, "key");
|
||||
const temp = formatCondition(condition);
|
||||
const param = temp || {};
|
||||
param["orders"] = formatOrders(this.orderConditions);
|
||||
|
||||
exportExcel(param).then(res => {
|
||||
const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
|
||||
const link = document.createElement('a')
|
||||
link.style.display = 'none'
|
||||
link.href = URL.createObjectURL(blob)
|
||||
link.download = 'DataEase操作日志.xls' // 下载的文件名
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
document.body.removeChild(link)
|
||||
})
|
||||
exportExcel(param).then((res) => {
|
||||
const blob = new Blob([res], { type: "application/vnd.ms-excel" });
|
||||
const link = document.createElement("a");
|
||||
link.style.display = "none";
|
||||
link.href = URL.createObjectURL(blob);
|
||||
link.download = "DataEase操作日志.xls"; // 下载的文件名
|
||||
document.body.appendChild(link);
|
||||
link.click();
|
||||
document.body.removeChild(link);
|
||||
});
|
||||
},
|
||||
|
||||
sortChange({ column, prop, order }) {
|
||||
this.orderConditions = []
|
||||
this.orderConditions = [];
|
||||
if (!order) {
|
||||
this.search(this.last_condition)
|
||||
return
|
||||
this.initSearch();
|
||||
return;
|
||||
}
|
||||
|
||||
this.orderConditions = []
|
||||
addOrder({ field: prop, value: order }, this.orderConditions)
|
||||
this.search(this.last_condition)
|
||||
this.orderConditions = [];
|
||||
addOrder({ field: prop, value: order }, this.orderConditions);
|
||||
this.initSearch();
|
||||
},
|
||||
select(selection) {
|
||||
|
||||
getScrollStatus() {
|
||||
this.$nextTick(() => {
|
||||
const dom = document.querySelector(".filter-texts-container");
|
||||
this.showScroll = dom && dom.scrollWidth > dom.offsetWidth;
|
||||
});
|
||||
},
|
||||
resizeObserver() {
|
||||
this.resizeForFilter = new ResizeObserver((entries) => {
|
||||
if (!this.filterTexts.length) return;
|
||||
this.layoutResize();
|
||||
});
|
||||
this.resizeForFilter.observe(
|
||||
document.querySelector("#resize-for-filter")
|
||||
);
|
||||
},
|
||||
layoutResize: _.debounce(function () {
|
||||
this.getScrollStatus();
|
||||
}, 200),
|
||||
scrollPre() {
|
||||
const dom = document.querySelector(".filter-texts-container");
|
||||
dom.scrollLeft -= 10;
|
||||
if (dom.scrollLeft <= 0) {
|
||||
dom.scrollLeft = 0;
|
||||
}
|
||||
},
|
||||
scrollNext() {
|
||||
const dom = document.querySelector(".filter-texts-container");
|
||||
dom.scrollLeft += 10;
|
||||
const width = dom.scrollWidth - dom.offsetWidth;
|
||||
if (dom.scrollLeft > width) {
|
||||
dom.scrollLeft = width;
|
||||
}
|
||||
},
|
||||
handleSizeChange(pageSize) {
|
||||
this.paginationConfig.currentPage = 1;
|
||||
this.paginationConfig.pageSize = pageSize;
|
||||
this.search();
|
||||
},
|
||||
handleCurrentChange(currentPage) {
|
||||
this.paginationConfig.currentPage = currentPage;
|
||||
this.search();
|
||||
},
|
||||
initSearch() {
|
||||
this.handleCurrentChange(1);
|
||||
},
|
||||
clearFilter() {
|
||||
this.$refs.filterUser.clearFilter();
|
||||
},
|
||||
clearOneFilter(index) {
|
||||
this.$refs.filterUser.clearOneFilter(index);
|
||||
this.$refs.filterUser.search();
|
||||
},
|
||||
filterDraw(condition, filterTexts = []) {
|
||||
this.cacheCondition = condition;
|
||||
this.filterTexts = filterTexts;
|
||||
this.initSearch();
|
||||
},
|
||||
filterShow() {
|
||||
this.$refs.filterUser.init();
|
||||
},
|
||||
search() {
|
||||
const param = {
|
||||
orders: formatOrders(this.orderConditions),
|
||||
conditions: [...this.cacheCondition],
|
||||
};
|
||||
if (this.nikeName) {
|
||||
param.conditions.push({
|
||||
field: `nick_name`,
|
||||
operator: "like",
|
||||
value: this.nikeName,
|
||||
});
|
||||
}
|
||||
const { currentPage, pageSize } = this.paginationConfig;
|
||||
logGrid(currentPage, pageSize, param).then((response) => {
|
||||
this.data = response.data.listObject;
|
||||
this.paginationConfig.total = response.data.itemCount;
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.table-container {
|
||||
height: calc(100% - 50px);
|
||||
}
|
||||
|
||||
search(condition) {
|
||||
this.last_condition = condition
|
||||
condition = formatQuickCondition(condition, 'key')
|
||||
const temp = formatCondition(condition)
|
||||
const param = temp || {}
|
||||
param['orders'] = formatOrders(this.orderConditions)
|
||||
const { currentPage, pageSize } = this.paginationConfig
|
||||
logGrid(currentPage, pageSize, param).then(response => {
|
||||
this.data = response.data.listObject
|
||||
this.paginationConfig.total = response.data.itemCount
|
||||
})
|
||||
.table-container-filter {
|
||||
height: calc(100% - 110px);
|
||||
}
|
||||
.filter-texts {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 17px 0;
|
||||
font-family: "PingFang SC";
|
||||
font-weight: 400;
|
||||
|
||||
.sum {
|
||||
color: #1f2329;
|
||||
}
|
||||
|
||||
.title {
|
||||
color: #999999;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.text {
|
||||
max-width: 280px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
padding: 1px 22px 1px 6px;
|
||||
display: inline-block;
|
||||
align-items: center;
|
||||
color: #0c296e;
|
||||
font-size: 14px;
|
||||
line-height: 22px;
|
||||
background: rgba(51, 112, 255, 0.1);
|
||||
border-radius: 2px;
|
||||
margin: 0;
|
||||
margin-right: 8px;
|
||||
position: relative;
|
||||
i {
|
||||
position: absolute;
|
||||
right: 2px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.clear-btn {
|
||||
color: #646a73;
|
||||
}
|
||||
|
||||
.clear-btn:hover {
|
||||
color: #3370ff;
|
||||
}
|
||||
|
||||
.filter-texts-container::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.arrow-filter {
|
||||
font-size: 16px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
cursor: pointer;
|
||||
color: #646a73;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.arrow-filter:hover {
|
||||
background: rgba(31, 35, 41, 0.1);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.el-icon-arrow-right.arrow-filter {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.el-icon-arrow-left.arrow-filter {
|
||||
margin-right: 5px;
|
||||
}
|
||||
.filter-texts-container {
|
||||
flex: 1;
|
||||
overflow-x: auto;
|
||||
white-space: nowrap;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
.top-operate {
|
||||
margin-bottom: 16px;
|
||||
.right-user {
|
||||
text-align: right;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
|
||||
<style scoped>
|
||||
.de-button {
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
.el-input--medium .el-input__icon {
|
||||
line-height: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
.name-email-search {
|
||||
width: 240px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -13,8 +13,8 @@
|
||||
clearable
|
||||
ref="search"
|
||||
v-model="nikeName"
|
||||
@blur="clearSearch"
|
||||
@clear="clearSearch"
|
||||
@blur="initSearch"
|
||||
@clear="initSearch"
|
||||
>
|
||||
</el-input>
|
||||
<deBtn
|
||||
@ -200,11 +200,6 @@ export default {
|
||||
this.destroyTimer();
|
||||
},
|
||||
methods: {
|
||||
clearSearch() {
|
||||
this.cachId = "";
|
||||
this.$emit("reset");
|
||||
this.initSearch();
|
||||
},
|
||||
exportConfirm() {
|
||||
this.$confirm(this.$t("log.confirm"), "", {
|
||||
confirmButtonText: this.$t("commons.confirm"),
|
||||
|
@ -115,15 +115,7 @@
|
||||
<div class="filter">
|
||||
<span>{{ $t("dedaterange.label") }}</span>
|
||||
<div class="filter-item">
|
||||
<el-date-picker
|
||||
v-model="dataRange"
|
||||
size="small"
|
||||
type="daterange"
|
||||
range-separator=""
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
<DeDatePick v-model="dataRange"></DeDatePick>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -143,8 +135,12 @@ import { filterDataset, dateFormat } from "./options";
|
||||
import { allRoles } from "@/api/system/user";
|
||||
import { getDatasetTree, treeByDatasetId } from "@/api/system/dept";
|
||||
import { queryAuthModel } from "@/api/authModel/authModel";
|
||||
import DeDatePick from '@/components/deCustomCm/deDatePick.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
DeDatePick
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
treeLoading: false,
|
||||
|
@ -7,127 +7,120 @@
|
||||
v-closePress
|
||||
direction="rtl"
|
||||
>
|
||||
<div class="el-drawer__body-cont">
|
||||
|
||||
<div class="filter">
|
||||
<span>{{ $t("dataset.datalist") }}</span>
|
||||
<div class="filter-item">
|
||||
<span
|
||||
class="item"
|
||||
@click="activeDatasetChange(ele.id)"
|
||||
:class="[activeDataset.includes(ele.id) ? 'active' : '']"
|
||||
:key="ele.id"
|
||||
v-for="ele in selectDatasetsCahe"
|
||||
>{{ ele.name }}</span
|
||||
>
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
popper-class="user-popper"
|
||||
width="200"
|
||||
trigger="click"
|
||||
>
|
||||
<div class="el-drawer__body-cont">
|
||||
<div class="filter">
|
||||
<span>{{ $t("dataset.datalist") }}</span>
|
||||
<div class="filter-item">
|
||||
<span
|
||||
class="item"
|
||||
@click="activeDatasetChange(ele.id)"
|
||||
:class="[activeDataset.includes(ele.id) ? 'active' : '']"
|
||||
:key="ele.id"
|
||||
v-for="ele in selectDatasetsCahe"
|
||||
>{{ ele.name }}</span
|
||||
>
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
popper-class="user-popper dept"
|
||||
popper-class="user-popper"
|
||||
width="200"
|
||||
trigger="click"
|
||||
v-loading="treeLoading"
|
||||
>
|
||||
<el-tree
|
||||
ref="datasetTreeRef"
|
||||
current-node-key="id"
|
||||
:data="treeData"
|
||||
node-key="id"
|
||||
highlight-current
|
||||
:filter-node-method="filterNode"
|
||||
:expand-on-click-node="true"
|
||||
@node-click="nodeClick"
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
popper-class="user-popper dept"
|
||||
width="200"
|
||||
trigger="click"
|
||||
v-loading="treeLoading"
|
||||
>
|
||||
<span slot-scope="{ data }" class="custom-tree-node">
|
||||
<span v-if="data.modelInnerType === 'group'">
|
||||
<svg-icon icon-class="scene" class="ds-icon-scene" />
|
||||
<span
|
||||
style="
|
||||
margin-left: 6px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
"
|
||||
:title="data.name"
|
||||
>{{ data.name }}</span
|
||||
>
|
||||
</span>
|
||||
<span v-else>
|
||||
<span>
|
||||
<svg-icon
|
||||
:icon-class="`ds-${data.modelInnerType}`"
|
||||
:class="`ds-icon-${data.modelInnerType}`"
|
||||
/>
|
||||
<el-tree
|
||||
ref="datasetTreeRef"
|
||||
current-node-key="id"
|
||||
:data="treeData"
|
||||
node-key="id"
|
||||
highlight-current
|
||||
:filter-node-method="filterNode"
|
||||
:expand-on-click-node="true"
|
||||
@node-click="nodeClick"
|
||||
>
|
||||
<span slot-scope="{ data }" class="custom-tree-node">
|
||||
<span v-if="data.modelInnerType === 'group'">
|
||||
<svg-icon icon-class="scene" class="ds-icon-scene" />
|
||||
<span
|
||||
style="
|
||||
margin-left: 6px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
"
|
||||
:title="data.name"
|
||||
>{{ data.name }}</span
|
||||
>
|
||||
</span>
|
||||
<span v-else>
|
||||
<span>
|
||||
<svg-icon
|
||||
:icon-class="`ds-${data.modelInnerType}`"
|
||||
:class="`ds-icon-${data.modelInnerType}`"
|
||||
/>
|
||||
</span>
|
||||
<span
|
||||
style="
|
||||
margin-left: 6px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
"
|
||||
:title="data.name"
|
||||
>{{ data.name }}</span
|
||||
>
|
||||
</span>
|
||||
<span
|
||||
style="
|
||||
margin-left: 6px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
"
|
||||
:title="data.name"
|
||||
>{{ data.name }}</span
|
||||
>
|
||||
</span>
|
||||
</span>
|
||||
</el-tree>
|
||||
</el-tree>
|
||||
|
||||
<el-select
|
||||
ref="datasetSelect"
|
||||
v-model="selectDatasets"
|
||||
slot="reference"
|
||||
popper-class="tree-select"
|
||||
multiple
|
||||
:placeholder="$t('commons.please_select')"
|
||||
value-key="id"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in selectDatasets"
|
||||
:key="item.name"
|
||||
:label="item.name"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
<el-select
|
||||
ref="datasetSelect"
|
||||
v-model="selectDatasets"
|
||||
slot="reference"
|
||||
popper-class="tree-select"
|
||||
multiple
|
||||
:placeholder="$t('commons.please_select')"
|
||||
value-key="id"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in selectDatasets"
|
||||
:key="item.name"
|
||||
:label="item.name"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-popover>
|
||||
<span class="more" slot="reference">+ {{ $t("panel.more") }}</span>
|
||||
</el-popover>
|
||||
<span class="more" slot="reference">+ {{ $t("panel.more") }}</span>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-for="ele in filterDataset" :key="ele.name" class="filter">
|
||||
<span>{{ $t(ele.name) }}</span>
|
||||
<div class="filter-item">
|
||||
<span
|
||||
class="item"
|
||||
@click="statusChange(item.value, ele.activeType)"
|
||||
:class="[active[ele.activeType].includes(item.value) ? 'active' : '']"
|
||||
:key="item.name"
|
||||
v-for="item in ele.list"
|
||||
>{{ $t(item.name) }}</span
|
||||
>
|
||||
<div v-for="ele in filterDataset" :key="ele.name" class="filter">
|
||||
<span>{{ $t(ele.name) }}</span>
|
||||
<div class="filter-item">
|
||||
<span
|
||||
class="item"
|
||||
@click="statusChange(item.value, ele.activeType)"
|
||||
:class="[
|
||||
active[ele.activeType].includes(item.value) ? 'active' : '',
|
||||
]"
|
||||
:key="item.name"
|
||||
v-for="item in ele.list"
|
||||
>{{ $t(item.name) }}</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="filter">
|
||||
<span>{{ $t("dedaterange.label") }}</span>
|
||||
<div class="filter-item">
|
||||
<el-date-picker
|
||||
v-model="dataRange"
|
||||
size="small"
|
||||
type="daterange"
|
||||
range-separator=""
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
<div class="filter">
|
||||
<span>{{ $t("dedaterange.label") }}</span>
|
||||
<div class="filter-item">
|
||||
<DeDatePick v-model="dataRange"></DeDatePick>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="foot">
|
||||
<el-button class="btn normal" @click="reset">{{
|
||||
$t("commons.reset")
|
||||
@ -142,8 +135,12 @@
|
||||
<script>
|
||||
import { filterDatasetRecord, dateFormat } from "./options";
|
||||
import { queryAuthModel } from "@/api/authModel/authModel";
|
||||
import DeDatePick from "@/components/deCustomCm/deDatePick.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
DeDatePick,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
treeLoading: false,
|
||||
@ -197,7 +194,7 @@ export default {
|
||||
clearFilter() {
|
||||
this.active = {
|
||||
execStatus: [],
|
||||
}
|
||||
};
|
||||
this.dataRange = [];
|
||||
this.activeDataset = [];
|
||||
this.selectDatasets = [];
|
||||
@ -206,15 +203,15 @@ export default {
|
||||
this.$emit("search", [], []);
|
||||
},
|
||||
clearOneFilter(index) {
|
||||
(this.filterTextMap[index] || []).forEach(ele => {
|
||||
const eleKey = ele.split('.');
|
||||
(this.filterTextMap[index] || []).forEach((ele) => {
|
||||
const eleKey = ele.split(".");
|
||||
if (eleKey.length === 2) {
|
||||
const [p, c ] = eleKey;
|
||||
this[p][c] = []
|
||||
const [p, c] = eleKey;
|
||||
this[p][c] = [];
|
||||
} else {
|
||||
this[ele] = []
|
||||
this[ele] = [];
|
||||
}
|
||||
})
|
||||
});
|
||||
},
|
||||
statusChange(value, type) {
|
||||
const statusIndex = this.active[type].findIndex((ele) => ele === value);
|
||||
@ -271,15 +268,14 @@ export default {
|
||||
"datasetCahe",
|
||||
]);
|
||||
}
|
||||
[
|
||||
"dataset.task.last_exec_status",
|
||||
].forEach((ele, index) => {
|
||||
const { activeType: type, list } =
|
||||
this.filterDataset[index];
|
||||
["dataset.task.last_exec_status"].forEach((ele, index) => {
|
||||
const { activeType: type, list } = this.filterDataset[index];
|
||||
if (this.active[type].length) {
|
||||
params.push(
|
||||
`${this.$t(ele)}:${this.active[type]
|
||||
.map((item) => this.$t(list.find((itx) => itx.value === item).name))
|
||||
.map((item) =>
|
||||
this.$t(list.find((itx) => itx.value === item).name)
|
||||
)
|
||||
.join("、")}`
|
||||
);
|
||||
this.filterTextMap.push([`active.${type}`]);
|
||||
@ -312,13 +308,13 @@ export default {
|
||||
});
|
||||
}
|
||||
});
|
||||
const [ min, max ] = this.dataRange;
|
||||
const [min, max] = this.dataRange;
|
||||
if (min && max) {
|
||||
conditions.push({
|
||||
field: 'dataset_table_task.last_exec_time',
|
||||
operator: "between",
|
||||
value: [ +min, +max ],
|
||||
})
|
||||
field: "dataset_table_task.last_exec_time",
|
||||
operator: "between",
|
||||
value: [+min, +max],
|
||||
});
|
||||
}
|
||||
return conditions;
|
||||
},
|
||||
@ -335,7 +331,6 @@ export default {
|
||||
|
||||
<style lang="scss">
|
||||
.user-drawer-task {
|
||||
|
||||
.el-drawer__body-cont {
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
@ -343,7 +338,7 @@ export default {
|
||||
width: 100%;
|
||||
padding-bottom: 80px;
|
||||
}
|
||||
|
||||
|
||||
.el-drawer__header {
|
||||
padding: 16px 24px;
|
||||
margin: 0;
|
||||
@ -448,7 +443,7 @@ export default {
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
text-align: right;
|
||||
background: #FFFFFF;
|
||||
background: #ffffff;
|
||||
box-shadow: 0px -1px 4px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user