Merge remote-tracking branch 'origin/main' into main

This commit is contained in:
wangjiahao 2021-05-27 14:17:55 +08:00
commit 1537c8d2f5
21 changed files with 70 additions and 36 deletions

View File

@ -2,7 +2,6 @@ package io.dataease.controller.dataset;
import io.dataease.base.domain.DatasetTableTask;
import io.dataease.controller.request.dataset.DataSetTaskRequest;
import io.dataease.service.dataset.DataSetTableService;
import io.dataease.service.dataset.DataSetTableTaskService;
import org.springframework.web.bind.annotation.*;
@ -18,13 +17,10 @@ import java.util.List;
public class DataSetTableTaskController {
@Resource
private DataSetTableTaskService dataSetTableTaskService;
@Resource
private DataSetTableService dataSetTableService;
@PostMapping("save")
public DatasetTableTask save(@RequestBody DataSetTaskRequest dataSetTaskRequest) throws Exception {
dataSetTableService.saveIncrementalConfig(dataSetTaskRequest.getDatasetTableIncrementalConfig());
return dataSetTableTaskService.save(dataSetTaskRequest.getDatasetTableTask());
return dataSetTableTaskService.save(dataSetTaskRequest);
}
@PostMapping("delete/{id}")

View File

@ -3,10 +3,13 @@ package io.dataease.service.dataset;
import io.dataease.base.domain.DatasetTableTask;
import io.dataease.base.domain.DatasetTableTaskExample;
import io.dataease.base.mapper.DatasetTableTaskMapper;
import io.dataease.controller.request.dataset.DataSetTaskRequest;
import io.dataease.i18n.Translator;
import io.dataease.service.ScheduleService;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.quartz.CronExpression;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -27,14 +30,25 @@ public class DataSetTableTaskService {
private DataSetTableTaskLogService dataSetTableTaskLogService;
@Resource
private ScheduleService scheduleService;
@Resource
@Lazy
private DataSetTableService dataSetTableService;
public DatasetTableTask save(DatasetTableTask datasetTableTask) throws Exception {
public DatasetTableTask save(DataSetTaskRequest dataSetTaskRequest) throws Exception {
dataSetTableService.saveIncrementalConfig(dataSetTaskRequest.getDatasetTableIncrementalConfig());
DatasetTableTask datasetTableTask = dataSetTaskRequest.getDatasetTableTask();
// check
if (StringUtils.isNotEmpty(datasetTableTask.getCron())) {
if (!CronExpression.isValidExpression(datasetTableTask.getCron())) {
throw new RuntimeException(Translator.get("i18n_cron_expression_error"));
}
}
// check start time and end time
if (ObjectUtils.isNotEmpty(datasetTableTask.getStartTime())
&& ObjectUtils.isNotEmpty(datasetTableTask.getEndTime())
&& datasetTableTask.getStartTime() > datasetTableTask.getEndTime()) {
throw new RuntimeException(Translator.get("i18n_cron_time_error"));
}
if (StringUtils.isEmpty(datasetTableTask.getId())) {
datasetTableTask.setId(UUID.randomUUID().toString());
datasetTableTask.setCreateTime(System.currentTimeMillis());

View File

@ -184,7 +184,6 @@ automation_exec_info=There are no test steps to execute
authsource_name_already_exists=Authentication source name already exists
authsource_name_is_null=Authentication source name cannot be empty
authsource_configuration_is_null=Authentication source configuration cannot be empty
个人信息=Personal Information
仪表盘=Panel
修改密码=Change Password
@ -239,3 +238,4 @@ i18n_panel_list=Panel
i18n_processing_data=Processing data now, Refresh later
i18n_union_already_exists=Union relation already exists
i18n_union_field_exists=The same field can't in two dataset
i18n_cron_time_error=Start time can't greater then end time

View File

@ -240,3 +240,4 @@ i18n_panel_list=仪表盘
i18n_processing_data=正在处理数据,稍后刷新
i18n_union_already_exists=关联关系已存在
i18n_union_field_exists=两个数据集之间关联不能出现多次相同字段
i18n_cron_time_error=开始时间不能大于结束时间

View File

@ -240,3 +240,4 @@ i18n_panel_list=仪表盘
i18n_processing_data=正在處理數據,稍後刷新
i18n_union_already_exists=關聯關系已存在
i18n_union_field_exists=兩個數據集之間關聯不能出現多次相同字段
i18n_cron_time_error=開始時間不能大於結束時間

View File

@ -277,7 +277,9 @@ export default {
select_module: 'Select Module',
default_module: 'Default Module'
},
datasource: 'Datasource'
datasource: 'Datasource',
char_can_not_more_50: 'Name can not more 50 char',
share_success: 'Share Success'
},
documentation: {
documentation: 'Documentation',

View File

@ -276,7 +276,9 @@ export default {
select_module: '選擇模块',
default_module: '默认模块'
},
datasource: '數據源'
datasource: '數據源',
char_can_not_more_50: '名稱不能超過50字符',
share_success: '分享成功'
},
documentation: {
documentation: '文檔',
@ -702,7 +704,7 @@ export default {
custom_data: '自助數據集',
pls_slc_tbl_left: '請從左側選擇表',
add_db_table: '添加數據庫表',
pls_slc_data_source: '選擇數據源鏈接',
pls_slc_data_source: '選擇數據源',
table: '表',
edit: '編輯',
create_view: '創建視圖',

View File

@ -277,8 +277,9 @@ export default {
select_module: '选择模块',
default_module: '默认模块'
},
datasource: '数据连接',
char_can_not_more_50: '名称不能超过50字符'
datasource: '数据源',
char_can_not_more_50: '名称不能超过50字符',
share_success: '分享成功'
},
documentation: {
documentation: '文档',
@ -530,7 +531,7 @@ export default {
custom_data: '自助数据集',
pls_slc_tbl_left: '请从左侧选视图',
add_db_table: '添加数据库表',
pls_slc_data_source: '请选择数据库连接',
pls_slc_data_source: '请选择数据',
table: '表',
edit: '编辑',
create_view: '创建试图',
@ -704,7 +705,7 @@ export default {
custom_data: '自助数据集',
pls_slc_tbl_left: '请从左侧选择表',
add_db_table: '添加数据库表',
pls_slc_data_source: '请选择数据库连接',
pls_slc_data_source: '请选择数据',
table: '表',
edit: '编辑',
create_view: '创建视图',
@ -794,7 +795,7 @@ export default {
},
datasource: {
datasource: '数据源',
create: '新建数据连接',
create: '新建数据',
type: '类型',
please_choose_type: '请选择数据源类型',
data_base: '数据库名称',
@ -807,7 +808,7 @@ export default {
please_input_password: '请输入密码',
please_input_host: '请输入主机',
please_input_port: '请输入端口',
modify: '编辑数据连接',
modify: '编辑数据',
validate_success: '校验成功',
validate: '校验',
search_by_name: '根据名称搜索',

View File

@ -205,8 +205,9 @@ div:focus {
color: #37b4aa;
}
.ds-icon-scene{
width: 14px;
height: 14px;
width: 13px;
height: 13px;
margin-right: 5px;
color: #0a7be0;
}
.ds-icon-db{

View File

@ -158,11 +158,11 @@ export default {
return roots
},
save() {
save(msg) {
const rows = this.$refs.table.store.states.selection
const request = this.buildRequest(rows)
saveShare(request).then(res => {
this.$success(this.$t('commons.save_success'))
this.$success(msg)
return true
}).catch(err => {
this.$error(err.message)

View File

@ -58,7 +58,7 @@ export default {
this.showSearchInput = false
},
save() {
this.$refs[this.activeName].save()
this.$refs[this.activeName].save(this.$t('commons.share_success'))
this.$emit('close-grant', 0)
},
cancel() {

View File

@ -78,11 +78,11 @@ export default {
this.setCheckNodes()
})
},
save() {
save(msg) {
const rows = this.$refs.table.store.states.selection
const request = this.buildRequest(rows)
saveShare(request).then(res => {
this.$success(this.$t('commons.save_success'))
this.$success(msg)
return true
}).catch(err => {
this.$error(err.message)

View File

@ -86,11 +86,11 @@ export default {
})
},
save() {
save(msg) {
const rows = this.$refs.table.store.states.selection
const request = this.buildRequest(rows)
saveShare(request).then(res => {
this.$success(this.$t('commons.save_success'))
saveShare(request).then(response => {
this.$success(msg)
return true
}).catch(err => {
this.$error(err.message)

View File

@ -85,10 +85,12 @@
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="beforeClickEdit('folder','new',data,node)">
<i class="el-icon-folder" /> &nbsp; <span>{{ $t('panel.groupAdd') }}</span>
<i class="el-icon-folder" />
<span>{{ $t('panel.groupAdd') }}</span>
</el-dropdown-item>
<el-dropdown-item :command="beforeClickEdit('panel','new',data,node)">
<svg-icon icon-class="panel" class="ds-icon-scene" /> &nbsp; <span>{{ $t('panel.panelAdd') }}</span>
<svg-icon icon-class="panel" class="ds-icon-scene" />
<span>{{ $t('panel.panelAdd') }}</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>

View File

@ -1,7 +1,7 @@
<template>
<de-container>
<de-aside-container>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tabs v-model="activeName" class="tab-header" @tab-click="handleClick" type="card" :stretch="true">
<el-tab-pane name="PanelList">
<span slot="label"><i class="el-icon-document" />{{ $t('panel.panel_list') }}</span>
<panel-list />
@ -83,4 +83,18 @@ export default {
padding: 0px;
}
.tab-header>>>.el-tabs__item{
font-size: 13px;
background-color: #E8EAED;
padding: 0 15px;
}
.tab-header>>>.is-active{
background-color: #ffffff;
border-bottom-color: #ffffff!important;
}
.tab-header>>>.el-tabs__nav-scroll{
padding-left: 0!important;
}
</style>

View File

@ -3,7 +3,7 @@
<el-col v-if="panelInfo.name.length>0" class="panel-design">
<el-row class="panel-design-head">
<!--TODO 仪表盘头部区域-->
<el-col :span="12" style="text-overflow:ellipsis;overflow: hidden;white-space: nowrap;color: #606266;font-size: 16px">
<el-col :span="12" style="text-overflow:ellipsis;overflow: hidden;white-space: nowrap;font-size: 14px">
<span>{{ panelInfo.name || '测试仪表板' }}</span>
</el-col>
<el-col :span="12">

View File

@ -123,7 +123,7 @@ export default {
columns: [],
buttons: [
{
label: this.$t('commons.edit'), icon: 'el-icon-edit', click: this.edit,
label: this.$t('commons.edit'), icon: 'el-icon-edit', type: 'primary', click: this.edit,
show: checkPermission(['datasource:edit'])
}, {
label: this.$t('commons.delete'), icon: 'el-icon-delete', type: 'danger', click: this._handleDelete,

View File

@ -140,7 +140,7 @@ export default {
columns: [],
buttons: [
{
label: this.$t('commons.edit'), icon: 'el-icon-edit', click: this.edit,
label: this.$t('commons.edit'), icon: 'el-icon-edit', type: 'primary', click: this.edit,
show: checkPermission(['dept:edit'])
}, {
label: this.$t('commons.delete'), icon: 'el-icon-delete', type: 'danger', click: this._handleDelete,

View File

@ -159,7 +159,7 @@ export default {
columns: [],
buttons: [
{
label: this.$t('commons.edit'), icon: 'el-icon-edit', click: this.edit,
label: this.$t('commons.edit'), icon: 'el-icon-edit', type: 'primary', click: this.edit,
show: checkPermission(['menu:edit'])
}, {
label: this.$t('commons.delete'), icon: 'el-icon-delete', type: 'danger', click: this._handleDelete,

View File

@ -118,7 +118,7 @@ export default {
columns: [],
buttons: [
{
label: this.$t('commons.edit'), icon: 'el-icon-edit', click: this.edit
label: this.$t('commons.edit'), icon: 'el-icon-edit', type: 'primary', click: this.edit
}, {
label: this.$t('commons.delete'), icon: 'el-icon-delete', type: 'danger', click: this.handleDelete
}

View File

@ -164,13 +164,13 @@ export default {
columns: [],
buttons: [
{
label: this.$t('commons.edit'), icon: 'el-icon-edit', click: this.edit,
label: this.$t('commons.edit'), icon: 'el-icon-edit', type: 'primary', click: this.edit,
show: checkPermission(['user:edit'])
}, {
label: this.$t('commons.delete'), icon: 'el-icon-delete', type: 'danger', click: this.del,
show: checkPermission(['user:del'])
}, {
label: this.$t('member.edit_password'), icon: 'el-icon-s-tools', type: 'danger', click: this.editPassword,
label: this.$t('member.edit_password'), icon: 'el-icon-s-tools', type: 'success', click: this.editPassword,
show: checkPermission(['user:editPwd'])
}
],