forked from github/dataease
Merge remote-tracking branch 'origin/main' into main
This commit is contained in:
commit
1537c8d2f5
@ -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}")
|
||||
|
@ -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());
|
||||
|
@ -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
|
||||
|
@ -240,3 +240,4 @@ i18n_panel_list=仪表盘
|
||||
i18n_processing_data=正在处理数据,稍后刷新
|
||||
i18n_union_already_exists=关联关系已存在
|
||||
i18n_union_field_exists=两个数据集之间关联不能出现多次相同字段
|
||||
i18n_cron_time_error=开始时间不能大于结束时间
|
||||
|
@ -240,3 +240,4 @@ i18n_panel_list=仪表盘
|
||||
i18n_processing_data=正在處理數據,稍後刷新
|
||||
i18n_union_already_exists=關聯關系已存在
|
||||
i18n_union_field_exists=兩個數據集之間關聯不能出現多次相同字段
|
||||
i18n_cron_time_error=開始時間不能大於結束時間
|
@ -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',
|
||||
|
@ -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: '創建視圖',
|
||||
|
@ -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: '根据名称搜索',
|
||||
|
@ -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{
|
||||
|
@ -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)
|
||||
|
@ -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() {
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -85,10 +85,12 @@
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item :command="beforeClickEdit('folder','new',data,node)">
|
||||
<i class="el-icon-folder" /> <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" /> <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>
|
||||
|
@ -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>
|
||||
|
@ -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">
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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'])
|
||||
}
|
||||
],
|
||||
|
Loading…
Reference in New Issue
Block a user