From 66a26d2ef2ae04a9a6467d41deef53e41b2aae89 Mon Sep 17 00:00:00 2001 From: gongzijian Date: Mon, 15 Apr 2019 11:31:18 +0800 Subject: [PATCH 01/11] bug1 --- .../pages/dag/_source/formModel/formModel.vue | 21 ++++++++++++------- .../definition/pages/list/_source/timing.vue | 5 ++++- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/escheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue b/escheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue index 47cb5a5921..08fc51efd3 100644 --- a/escheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue +++ b/escheduler-ui/src/js/conf/home/pages/dag/_source/formModel/formModel.vue @@ -353,6 +353,9 @@ }, fromThis: this }) + + // set run flag + this._setRunFlag() }, /** * Sub-workflow selected node echo name @@ -360,6 +363,16 @@ _onSetProcessName (name) { this.name = name }, + /** + * set run flag + */ + _setRunFlag(){ + let dom = $(`#${this.id}`).find('.ban-p') + dom.html('') + if (this.runFlag === 'FORBIDDEN') { + dom.append(rtBantpl()) + } + }, /** * Submit verification */ @@ -384,13 +397,7 @@ } }, watch: { - runFlag(val){ - let dom = $(`#${this.id}`).find('.ban-p') - dom.html('') - if (val === 'FORBIDDEN') { - dom.append(rtBantpl()) - } - } + }, created () { // Unbind copy and paste events diff --git a/escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue b/escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue index aa52d12e2b..545e314b98 100644 --- a/escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue +++ b/escheduler-ui/src/js/conf/home/pages/projects/pages/definition/pages/list/_source/timing.vue @@ -192,18 +192,21 @@ receivers: this.receivers.join(',') || '', receiversCc: this.receiversCc.join(',') || '' } + let msg = '' // edit if (this.item.crontab) { api = 'dag/updateSchedule' searchParams.id = this.item.id + msg = '编辑成功!不要忘记上线' } else { api = 'dag/createSchedule' searchParams.processDefinitionId = this.item.id + msg = '创建成功' } this.store.dispatch(api, searchParams).then(res => { - this.$message.success(res.msg) + this.$message.success(msg) this.$emit('onUpdate') }).catch(e => { this.$message.error(e.msg || '') From d62091f9deb2f8a31745fd50a6add66d1eccec54 Mon Sep 17 00:00:00 2001 From: baoliang Date: Mon, 15 Apr 2019 18:15:10 +0800 Subject: [PATCH 02/11] add history task record --- .../cn/escheduler/api/service/TaskRecordService.java | 7 +++++-- .../src/main/java/cn/escheduler/common/Constants.java | 9 +++++++++ .../src/main/java/cn/escheduler/dao/TaskRecordDao.java | 10 ++++++---- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/escheduler-api/src/main/java/cn/escheduler/api/service/TaskRecordService.java b/escheduler-api/src/main/java/cn/escheduler/api/service/TaskRecordService.java index b5a93a390e..7c6ea38834 100644 --- a/escheduler-api/src/main/java/cn/escheduler/api/service/TaskRecordService.java +++ b/escheduler-api/src/main/java/cn/escheduler/api/service/TaskRecordService.java @@ -29,6 +29,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import static cn.escheduler.common.Constants.*; + /** * task record service */ @@ -69,8 +71,9 @@ public class TaskRecordService extends BaseService{ map.put("offset", pageInfo.getStart().toString()); map.put("pageSize", pageInfo.getPageSize().toString()); - int count = TaskRecordDao.countTaskRecord(map); - List recordList = TaskRecordDao.queryAllTaskRecord(map); + String table =TASK_RECORD_TABLE_HIVE_LOG; + int count = TaskRecordDao.countTaskRecord(map, table); + List recordList = TaskRecordDao.queryAllTaskRecord(map, table); pageInfo.setTotalCount(count); pageInfo.setLists(recordList); result.put(Constants.DATA_LIST, pageInfo); diff --git a/escheduler-common/src/main/java/cn/escheduler/common/Constants.java b/escheduler-common/src/main/java/cn/escheduler/common/Constants.java index 98a2535f03..4e9a11c841 100644 --- a/escheduler-common/src/main/java/cn/escheduler/common/Constants.java +++ b/escheduler-common/src/main/java/cn/escheduler/common/Constants.java @@ -463,6 +463,10 @@ public final class Constants { public static final String TASK_RECORD_PWD = "task.record.datasource.password"; + public static String TASK_RECORD_TABLE_HIVE_LOG = "eamp_hive_log_hd"; + + public static String TASK_RECORD_TABLE_HISTORY_HIVE_LOG = "eamp_hive_hist_log_hd"; + public static final String STATUS = "status"; @@ -826,4 +830,9 @@ public final class Constants { public static final String CONTENT = "content"; public static final String DEPENDENT_SPLIT = ":||"; public static final String DEPENDENT_ALL = "ALL"; + + + /** + * + */ } diff --git a/escheduler-dao/src/main/java/cn/escheduler/dao/TaskRecordDao.java b/escheduler-dao/src/main/java/cn/escheduler/dao/TaskRecordDao.java index c2c82b77f8..555f3a6d18 100644 --- a/escheduler-dao/src/main/java/cn/escheduler/dao/TaskRecordDao.java +++ b/escheduler-dao/src/main/java/cn/escheduler/dao/TaskRecordDao.java @@ -40,6 +40,8 @@ public class TaskRecordDao { private static Logger logger = LoggerFactory.getLogger(TaskRecordDao.class.getName()); + + /** * 加载配置文件 */ @@ -134,7 +136,7 @@ public class TaskRecordDao { * @param filterMap * @return */ - public static int countTaskRecord(Map filterMap){ + public static int countTaskRecord(Map filterMap, String table){ int count = 0; Connection conn = null; @@ -143,7 +145,7 @@ public class TaskRecordDao { if(conn == null){ return count; } - String sql = "select count(1) as count from eamp_hive_log_hd"; + String sql = String.format("select count(1) as count from %s", table); sql += getWhereString(filterMap); PreparedStatement pstmt; pstmt = conn.prepareStatement(sql); @@ -171,9 +173,9 @@ public class TaskRecordDao { * @param filterMap * @return */ - public static List queryAllTaskRecord(Map filterMap ) { + public static List queryAllTaskRecord(Map filterMap , String table) { - String sql = "select * from eamp_hive_log_hd "; + String sql = String.format("select * from %s", table); sql += getWhereString(filterMap); int offset = Integer.parseInt(filterMap.get("offset")); From 794c713c06ead570d6a608962bfd88acb7325d1d Mon Sep 17 00:00:00 2001 From: gongzijian Date: Mon, 15 Apr 2019 18:24:20 +0800 Subject: [PATCH 03/11] i18n --- .../js/conf/home/pages/dag/_source/config.js | 60 +- .../js/conf/home/pages/dag/_source/dag.scss | 3 +- .../js/conf/home/pages/dag/_source/dag.vue | 18 +- .../_source/formModel/_source/selectInput.vue | 4 +- .../formModel/_source/timeoutAlarm.vue | 16 +- .../pages/dag/_source/formModel/formModel.vue | 44 +- .../home/pages/dag/_source/formModel/log.vue | 30 +- .../formModel/tasks/_source/commcon.js | 48 +- .../formModel/tasks/_source/datasource.vue | 4 +- .../tasks/_source/dependItemList.vue | 10 +- .../formModel/tasks/_source/localParams.vue | 14 +- .../formModel/tasks/_source/resources.vue | 2 +- .../dag/_source/formModel/tasks/dependent.vue | 12 +- .../pages/dag/_source/formModel/tasks/mr.vue | 26 +- .../dag/_source/formModel/tasks/procedure.vue | 10 +- .../dag/_source/formModel/tasks/python.vue | 8 +- .../dag/_source/formModel/tasks/shell.vue | 8 +- .../dag/_source/formModel/tasks/spark.vue | 62 +- .../pages/dag/_source/formModel/tasks/sql.vue | 20 +- .../_source/formModel/tasks/sub_process.vue | 4 +- .../dag/_source/jumpAffirm/jumpAffirm.vue | 4 +- .../pages/dag/_source/plugIn/jsPlumbHandle.js | 8 +- .../home/pages/dag/_source/plugIn/util.js | 2 +- .../conf/home/pages/dag/_source/udp/udp.vue | 16 +- .../dag/_source/variable/variablesView.vue | 8 +- .../pages/list/_source/createDataSource.vue | 54 +- .../datasource/pages/list/_source/list.vue | 28 +- .../pages/datasource/pages/list/index.vue | 4 +- .../src/js/conf/home/pages/home/index.vue | 2 +- .../definition/pages/list/_source/email.vue | 8 +- .../definition/pages/list/_source/list.vue | 34 +- .../definition/pages/list/_source/start.vue | 46 +- .../definition/pages/list/_source/timing.vue | 34 +- .../definition/pages/list/_source/util.js | 8 +- .../pages/definition/pages/list/index.vue | 4 +- .../pages/definition/pages/tree/index.vue | 8 +- .../pages/definition/timing/_source/list.vue | 24 +- .../pages/definition/timing/index.vue | 2 +- .../pages/index/_source/projectChart.vue | 20 +- .../home/pages/projects/pages/index/index.vue | 2 +- .../pages/instance/pages/gantt/index.vue | 6 +- .../instance/pages/list/_source/common.js | 24 +- .../pages/list/_source/conditions.vue | 6 +- .../instance/pages/list/_source/list.vue | 69 +- .../pages/instance/pages/list/index.vue | 12 +- .../pages/list/_source/createProject.vue | 12 +- .../projects/pages/list/_source/list.vue | 24 +- .../home/pages/projects/pages/list/index.vue | 4 +- .../taskInstance/pages/list/_source/list.vue | 24 +- .../pages/taskInstance/pages/list/index.vue | 2 +- .../taskRecord/pages/list/_source/list.vue | 32 +- .../pages/taskRecord/pages/list/index.vue | 36 +- .../pages/projects/pages/timing/index.vue | 2 +- .../pages/file/pages/create/index.vue | 22 +- .../file/pages/details/_source/noType.vue | 2 +- .../pages/file/pages/details/index.vue | 4 +- .../resource/pages/file/pages/edit/index.vue | 6 +- .../pages/file/pages/list/_source/list.vue | 28 +- .../pages/file/pages/list/_source/rename.vue | 12 +- .../resource/pages/file/pages/list/index.vue | 8 +- .../udf/pages/function/_source/createUdf.vue | 34 +- .../pages/udf/pages/function/_source/list.vue | 30 +- .../pages/udf/pages/function/index.vue | 4 +- .../pages/udf/pages/resource/_source/list.vue | 28 +- .../udf/pages/resource/_source/rename.vue | 12 +- .../pages/udf/pages/resource/index.vue | 6 +- .../pages/queue/_source/createQueue.vue | 10 +- .../security/pages/queue/_source/list.vue | 20 +- .../home/pages/security/pages/queue/index.vue | 6 +- .../security/pages/servers/_source/list.vue | 12 +- .../pages/servers/pages/master/index.vue | 2 +- .../pages/servers/pages/worker/index.vue | 2 +- .../pages/tenement/_source/createTenement.vue | 24 +- .../security/pages/tenement/_source/list.vue | 26 +- .../pages/security/pages/tenement/index.vue | 6 +- .../pages/users/_source/createUser.vue | 32 +- .../security/pages/users/_source/list.vue | 44 +- .../home/pages/security/pages/users/index.vue | 6 +- .../warningGroups/_source/createWarning.vue | 18 +- .../pages/warningGroups/_source/list.vue | 30 +- .../security/pages/warningGroups/index.vue | 4 +- .../pages/user/pages/account/_source/info.vue | 20 +- .../home/pages/user/pages/account/index.vue | 2 +- .../user/pages/password/_source/info.vue | 26 +- .../home/pages/user/pages/password/index.vue | 2 +- .../src/js/conf/home/router/index.js | 78 +- escheduler-ui/src/js/conf/login/App.vue | 14 +- .../components/conditions/conditions.vue | 2 +- .../components/fileUpdate/fileUpdate.vue | 24 +- .../components/fileUpdate/udfUpdate.vue | 12 +- .../src/js/module/components/nav/nav.vue | 26 +- .../js/module/components/noData/noData.vue | 2 +- .../src/js/module/components/popup/popup.vue | 6 +- .../components/progressBar/progressBar.vue | 4 +- .../module/components/secondaryMenu/menu.js | 42 +- .../src/js/module/components/spin/spin.vue | 2 +- .../module/components/transfer/transfer.vue | 10 +- escheduler-ui/src/js/module/download/index.js | 2 +- .../src/js/module/i18n/locale/en_US.js | 835 ++++++++---------- .../src/js/module/i18n/locale/zh_CN.js | 834 ++++++++--------- 100 files changed, 1622 insertions(+), 1731 deletions(-) diff --git a/escheduler-ui/src/js/conf/home/pages/dag/_source/config.js b/escheduler-ui/src/js/conf/home/pages/dag/_source/config.js index cefcf2d07a..740846890c 100644 --- a/escheduler-ui/src/js/conf/home/pages/dag/_source/config.js +++ b/escheduler-ui/src/js/conf/home/pages/dag/_source/config.js @@ -32,31 +32,31 @@ const toolOper = (dagThis) => { code: 'pointer', icon: '', disable: disabled, - desc: `${i18n.$t('拖动节点和选中项')}` + desc: `${i18n.$t('Drag Nodes and Selected Items')}` }, { code: 'line', icon: '', disable: disabled, - desc: `${i18n.$t('选择线条连接')}` + desc: `${i18n.$t('Select Line Connection')}` }, { code: 'remove', icon: '', disable: disabled, - desc: `${i18n.$t('删除选中的线或节点')}` + desc: `${i18n.$t('Delete selected lines or nodes')}` }, { code: 'download', icon: '', disable: !!dagThis.type, - desc: `${i18n.$t('下载')}` + desc: `${i18n.$t('Download')}` }, { code: 'screen', icon: '', disable: disabled, - desc: `${i18n.$t('全屏')}` + desc: `${i18n.$t('Full Screen')}` } ] } @@ -70,17 +70,17 @@ const toolOper = (dagThis) => { let publishStatus = [ { id: 0, - desc: `${i18n.$t('未发布')}`, + desc: `${i18n.$t('Unpublished')}`, code: 'NOT_RELEASE' }, { id: 1, - desc: `${i18n.$t('上线')}`, + desc: `${i18n.$t('online')}`, code: 'ONLINE' }, { id: 2, - desc: `${i18n.$t('下线')}`, + desc: `${i18n.$t('offline')}`, code: 'OFFLINE' } ] @@ -92,47 +92,47 @@ let publishStatus = [ */ let runningType = [ { - desc: `${i18n.$t('启动工作流')}`, + desc: `${i18n.$t('Start Process')}`, code: 'START_PROCESS' }, { - desc: `${i18n.$t('从当前节点开始执行')}`, + desc: `${i18n.$t('Execute from the current node')}`, code: 'START_CURRENT_TASK_PROCESS' }, { - desc: `${i18n.$t('恢复被容错的工作流')}`, + desc: `${i18n.$t('Recover tolerance fault process')}`, code: 'RECOVER_TOLERANCE_FAULT_PROCESS' }, { - desc: `${i18n.$t('恢复暂停流程')}`, + desc: `${i18n.$t('Resume the suspension process')}`, code: 'RECOVER_SUSPENDED_PROCESS' }, { - desc: `${i18n.$t('从失败节点开始执行')}`, + desc: `${i18n.$t('Execute from the failed nodes')}`, code: 'START_FAILURE_TASK_PROCESS' }, { - desc: `${i18n.$t('补数')}`, + desc: `${i18n.$t('Complement Data')}`, code: 'COMPLEMENT_DATA' }, { - desc: `${i18n.$t('调度执行')}`, + desc: `${i18n.$t('Scheduling execution')}`, code: 'SCHEDULER' }, { - desc: `${i18n.$t('重跑')}`, + desc: `${i18n.$t('Rerun')}`, code: 'REPEAT_RUNNING' }, { - desc: `${i18n.$t('暂停')}`, + desc: `${i18n.$t('Pause')}`, code: 'PAUSE' }, { - desc: `${i18n.$t('停止')}`, + desc: `${i18n.$t('Stop')}`, code: 'STOP' }, { - desc: `${i18n.$t('恢复等待线程')}`, + desc: `${i18n.$t('Recovery waiting thread')}`, code: 'RECOVER_WAITTING_THREAD' } ] @@ -149,63 +149,63 @@ let runningType = [ let tasksState = { 'SUBMITTED_SUCCESS': { id: 0, - desc: `${i18n.$t('提交成功')}`, + desc: `${i18n.$t('Submitted successfully')}`, color: '#A9A9A9', icoUnicode: '', isSpin: false }, 'RUNNING_EXEUTION': { id: 1, - desc: `${i18n.$t('正在执行')}`, + desc: `${i18n.$t('Executing')}`, color: '#0097e0', icoUnicode: '', isSpin: true }, 'READY_PAUSE': { id: 2, - desc: `${i18n.$t('准备暂停')}`, + desc: `${i18n.$t('Ready to pause')}`, color: '#07b1a3', icoUnicode: '', isSpin: false }, 'PAUSE': { id: 3, - desc: `${i18n.$t('暂停')}`, + desc: `${i18n.$t('Pause')}`, color: '#057c72', icoUnicode: '', isSpin: false }, 'READY_STOP': { id: 4, - desc: `${i18n.$t('准备停止')}`, + desc: `${i18n.$t('Ready to stop')}`, color: '#FE0402', icoUnicode: '', isSpin: false }, 'STOP': { id: 5, - desc: `${i18n.$t('停止')}`, + desc: `${i18n.$t('Stop')}`, color: '#e90101', icoUnicode: '', isSpin: false }, 'FAILURE': { id: 6, - desc: `${i18n.$t('失败')}`, + desc: `${i18n.$t('failed')}`, color: '#000000', icoUnicode: '', isSpin: false }, 'SUCCESS': { id: 7, - desc: `${i18n.$t('成功')}`, + desc: `${i18n.$t('success')}`, color: '#33cc00', icoUnicode: '', isSpin: false }, 'NEED_FAULT_TOLERANCE': { id: 8, - desc: `${i18n.$t('需要容错')}`, + desc: `${i18n.$t('Need fault tolerance')}`, color: '#FF8C00', icoUnicode: '', isSpin: false @@ -219,14 +219,14 @@ let tasksState = { }, 'WAITTING_THREAD': { id: 10, - desc: `${i18n.$t('等待线程')}`, + desc: `${i18n.$t('Waiting for thread')}`, color: '#912eed', icoUnicode: '', isSpin: false }, 'WAITTING_DEPEND': { id: 11, - desc: `${i18n.$t('等待依赖')}`, + desc: `${i18n.$t('Waiting for dependence')}`, color: '#5101be', icoUnicode: '', isSpin: false diff --git a/escheduler-ui/src/js/conf/home/pages/dag/_source/dag.scss b/escheduler-ui/src/js/conf/home/pages/dag/_source/dag.scss index e159231fd0..dcfa6b7d5d 100644 --- a/escheduler-ui/src/js/conf/home/pages/dag/_source/dag.scss +++ b/escheduler-ui/src/js/conf/home/pages/dag/_source/dag.scss @@ -386,10 +386,11 @@ svg path:hover { .name-p { position: absolute; left: 50%; - bottom: -24px; + top: 58px; width: 200px; text-align: center; margin-left: -100px; + word-break:break-all; } .ban-p { position: absolute; diff --git a/escheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue b/escheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue index cc555979a1..3c08497b23 100644 --- a/escheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue +++ b/escheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue @@ -1,7 +1,7 @@