Loading escheduler-ui/src/js/conf/home/pages/dag/_source/config.js +30 −30 Original line number Diff line number Diff line Loading @@ -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')}` } ] } Loading @@ -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' } ] Loading @@ -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' } ] Loading @@ -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 Loading @@ -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 Loading escheduler-ui/src/js/conf/home/pages/dag/_source/dag.scss +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading escheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue +9 −9 Original line number Diff line number Diff line <template> <div class="clearfix dag-model" > <div class="toolbar"> <div class="title"><span>{{$t('工具栏')}}</span></div> <div class="title"><span>{{$t('Toolbar')}}</span></div> <div class="toolbar-btn"> <div class="bar-box roundedRect jtk-draggable jtk-droppable jtk-endpoint-anchor jtk-connected" :class="v === dagBarId ? 'active' : ''" Loading @@ -20,7 +20,7 @@ <x-button style="vertical-align: middle;" data-toggle="tooltip" :title="$t('查看变量')" :title="$t('View variables')" data-container="body" type="primary" size="xsmall" Loading @@ -42,7 +42,7 @@ </div> <x-button data-toggle="tooltip" :title="$t('刷新DAG状态')" :title="$t('Refresh DAG status')" data-container="body" style="vertical-align: middle;" icon="fa fa-refresh" Loading @@ -59,7 +59,7 @@ size="xsmall" icon="fa fa-reply" @click="_rtNodesDag" > {{$t('返回上一节点')}} {{$t('Return_1')}} </x-button> <x-button style="vertical-align: middle;" Loading @@ -70,7 +70,7 @@ @click="_saveChart" icon="fa fa-save" :disabled="isDetails"> {{spinnerLoading ? 'Loading...' : $t('保存')}} {{spinnerLoading ? 'Loading...' : $t('Save')}} </x-button> </div> </div> Loading Loading @@ -152,7 +152,7 @@ let idArr = allNodesId() const titleTpl = (item, desc) => { let $item = _.filter(taskList, v => v.name === item.name)[0] return `<div style="text-align: left">${i18n.$t('名称')}:${$item.name}</br>${i18n.$t('状态')}:${desc}</br>${i18n.$t('类型')}:${$item.taskType}</br>${i18n.$t('host')}:${$item.host || '-'}</br>${i18n.$t('重试次数')}:${$item.retryTimes}</br>${i18n.$t('提交时间')}:${formatDate($item.submitTime)}</br>${i18n.$t('开始时间')}:${formatDate($item.startTime)}</br>${i18n.$t('结束时间')}:${$item.endTime ? formatDate($item.endTime) : '-'}</br></div>` return `<div style="text-align: left">${i18n.$t('Name')}:${$item.name}</br>${i18n.$t('State')}:${desc}</br>${i18n.$t('type')}:${$item.taskType}</br>${i18n.$t('host')}:${$item.host || '-'}</br>${i18n.$t('Retry Count')}:${$item.retryTimes}</br>${i18n.$t('Submit Time')}:${formatDate($item.submitTime)}</br>${i18n.$t('Start Time')}:${formatDate($item.startTime)}</br>${i18n.$t('End Time')}:${$item.endTime ? formatDate($item.endTime) : '-'}</br></div>` } data.forEach(v1 => { idArr.forEach(v2 => { Loading Loading @@ -232,7 +232,7 @@ Dag.saveStore().then(res => { if (this.urlParam.id) { /** * 编辑 * Edit * @param saveInstanceEditDAGChart => Process instance editing * @param saveEditDAGChart => Process definition editing */ Loading Loading @@ -300,7 +300,7 @@ _saveChart () { // Verify node if (!this.tasks.length) { this.$message.warning(`${i18n.$t('未创建节点保存失败')}`) this.$message.warning(`${i18n.$t('Failed to create node to save')}`) return } Loading Loading @@ -350,7 +350,7 @@ this._getTaskState(false).then(res => { setTimeout(() => { this.isRefresh = false this.$message.success(`${i18n.$t('刷新状态成功')}`) this.$message.success(`${i18n.$t('Refresh status succeeded')}`) }, 2200) }) }, Loading escheduler-ui/src/js/conf/home/pages/dag/_source/formModel/_source/selectInput.vue +2 −2 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ slot-scope="{ selectedModel }" maxlength="4" @on-blur="_onBlur" :placeholder="$t('请选择')" :placeholder="$t('Please choose')" :value="selectedModel === null ? '0' : selectedModel.value" style="width: 100%;" @on-click-icon.stop="_ckIcon"> Loading Loading @@ -81,7 +81,7 @@ if (val === '0') return true if (!(/(^[0-9]*[1-9][0-9]*$)/.test(val))) { this.$message.warning(`${i18n.$t('请输入正整数')}`) this.$message.warning(`${i18n.$t('Please enter a positive integer')}`) // init this._ckIcon() return false Loading escheduler-ui/src/js/conf/home/pages/dag/_source/formModel/_source/timeoutAlarm.vue +8 −8 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ <div class="timeout-alarm-model"> <div class="clearfix list"> <div class="text-box"> <span>{{$t('任务超时告警')}}</span> <span>{{$t('Timeout alarm')}}</span> </div> <div class="cont-box"> <label class="label-box"> Loading @@ -14,14 +14,14 @@ </div> <div class="clearfix list" v-if="enable"> <div class="text-box"> <span>{{$t('超时策略')}}</span> <span>{{$t('Timeout strategy')}}</span> </div> <div class="cont-box"> <label class="label-box"> <div style="padding-top: 6px;"> <x-checkbox-group v-model="strategy"> <x-checkbox label="WARN" :disabled="isDetails">{{$t('超时告警')}}</x-checkbox> <x-checkbox label="FAILED" :disabled="isDetails">{{$t('超时失败')}}</x-checkbox> <x-checkbox label="WARN" :disabled="isDetails">{{$t('Timeout alarm')}}</x-checkbox> <x-checkbox label="FAILED" :disabled="isDetails">{{$t('Timeout failure')}}</x-checkbox> </x-checkbox-group> </div> </label> Loading @@ -29,12 +29,12 @@ </div> <div class="clearfix list" v-if="enable"> <div class="text-box"> <span>{{$t('超时时长')}}</span> <span>{{$t('Timeout period')}}</span> </div> <div class="cont-box"> <label class="label-box"> <x-input v-model="interval" style="width: 128px;" :disabled="isDetails"> <span slot="append">{{$t('分')}}</span> <span slot="append">{{$t('Minute')}}</span> </x-input> </label> </div> Loading Loading @@ -71,12 +71,12 @@ _verification () { // Verification timeout policy if (this.enable && !this.strategy.length) { this.$message.warning(`${this.$t('超时策略必须选一个')}`) this.$message.warning(`${this.$t('Timeout strategy must be selected')}`) return false } // Verify timeout duration Non 0 positive integer if (this.enable && !parseInt(this.interval) && !_.isInteger(this.interval)) { this.$message.warning(`${this.$t('超时时长必须为正整数')}`) this.$message.warning(`${this.$t('Timeout must be a positive integer')}`) return false } this.$emit('on-timeout', { Loading Loading
escheduler-ui/src/js/conf/home/pages/dag/_source/config.js +30 −30 Original line number Diff line number Diff line Loading @@ -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')}` } ] } Loading @@ -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' } ] Loading @@ -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' } ] Loading @@ -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 Loading @@ -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 Loading
escheduler-ui/src/js/conf/home/pages/dag/_source/dag.scss +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading
escheduler-ui/src/js/conf/home/pages/dag/_source/dag.vue +9 −9 Original line number Diff line number Diff line <template> <div class="clearfix dag-model" > <div class="toolbar"> <div class="title"><span>{{$t('工具栏')}}</span></div> <div class="title"><span>{{$t('Toolbar')}}</span></div> <div class="toolbar-btn"> <div class="bar-box roundedRect jtk-draggable jtk-droppable jtk-endpoint-anchor jtk-connected" :class="v === dagBarId ? 'active' : ''" Loading @@ -20,7 +20,7 @@ <x-button style="vertical-align: middle;" data-toggle="tooltip" :title="$t('查看变量')" :title="$t('View variables')" data-container="body" type="primary" size="xsmall" Loading @@ -42,7 +42,7 @@ </div> <x-button data-toggle="tooltip" :title="$t('刷新DAG状态')" :title="$t('Refresh DAG status')" data-container="body" style="vertical-align: middle;" icon="fa fa-refresh" Loading @@ -59,7 +59,7 @@ size="xsmall" icon="fa fa-reply" @click="_rtNodesDag" > {{$t('返回上一节点')}} {{$t('Return_1')}} </x-button> <x-button style="vertical-align: middle;" Loading @@ -70,7 +70,7 @@ @click="_saveChart" icon="fa fa-save" :disabled="isDetails"> {{spinnerLoading ? 'Loading...' : $t('保存')}} {{spinnerLoading ? 'Loading...' : $t('Save')}} </x-button> </div> </div> Loading Loading @@ -152,7 +152,7 @@ let idArr = allNodesId() const titleTpl = (item, desc) => { let $item = _.filter(taskList, v => v.name === item.name)[0] return `<div style="text-align: left">${i18n.$t('名称')}:${$item.name}</br>${i18n.$t('状态')}:${desc}</br>${i18n.$t('类型')}:${$item.taskType}</br>${i18n.$t('host')}:${$item.host || '-'}</br>${i18n.$t('重试次数')}:${$item.retryTimes}</br>${i18n.$t('提交时间')}:${formatDate($item.submitTime)}</br>${i18n.$t('开始时间')}:${formatDate($item.startTime)}</br>${i18n.$t('结束时间')}:${$item.endTime ? formatDate($item.endTime) : '-'}</br></div>` return `<div style="text-align: left">${i18n.$t('Name')}:${$item.name}</br>${i18n.$t('State')}:${desc}</br>${i18n.$t('type')}:${$item.taskType}</br>${i18n.$t('host')}:${$item.host || '-'}</br>${i18n.$t('Retry Count')}:${$item.retryTimes}</br>${i18n.$t('Submit Time')}:${formatDate($item.submitTime)}</br>${i18n.$t('Start Time')}:${formatDate($item.startTime)}</br>${i18n.$t('End Time')}:${$item.endTime ? formatDate($item.endTime) : '-'}</br></div>` } data.forEach(v1 => { idArr.forEach(v2 => { Loading Loading @@ -232,7 +232,7 @@ Dag.saveStore().then(res => { if (this.urlParam.id) { /** * 编辑 * Edit * @param saveInstanceEditDAGChart => Process instance editing * @param saveEditDAGChart => Process definition editing */ Loading Loading @@ -300,7 +300,7 @@ _saveChart () { // Verify node if (!this.tasks.length) { this.$message.warning(`${i18n.$t('未创建节点保存失败')}`) this.$message.warning(`${i18n.$t('Failed to create node to save')}`) return } Loading Loading @@ -350,7 +350,7 @@ this._getTaskState(false).then(res => { setTimeout(() => { this.isRefresh = false this.$message.success(`${i18n.$t('刷新状态成功')}`) this.$message.success(`${i18n.$t('Refresh status succeeded')}`) }, 2200) }) }, Loading
escheduler-ui/src/js/conf/home/pages/dag/_source/formModel/_source/selectInput.vue +2 −2 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ slot-scope="{ selectedModel }" maxlength="4" @on-blur="_onBlur" :placeholder="$t('请选择')" :placeholder="$t('Please choose')" :value="selectedModel === null ? '0' : selectedModel.value" style="width: 100%;" @on-click-icon.stop="_ckIcon"> Loading Loading @@ -81,7 +81,7 @@ if (val === '0') return true if (!(/(^[0-9]*[1-9][0-9]*$)/.test(val))) { this.$message.warning(`${i18n.$t('请输入正整数')}`) this.$message.warning(`${i18n.$t('Please enter a positive integer')}`) // init this._ckIcon() return false Loading
escheduler-ui/src/js/conf/home/pages/dag/_source/formModel/_source/timeoutAlarm.vue +8 −8 Original line number Diff line number Diff line Loading @@ -2,7 +2,7 @@ <div class="timeout-alarm-model"> <div class="clearfix list"> <div class="text-box"> <span>{{$t('任务超时告警')}}</span> <span>{{$t('Timeout alarm')}}</span> </div> <div class="cont-box"> <label class="label-box"> Loading @@ -14,14 +14,14 @@ </div> <div class="clearfix list" v-if="enable"> <div class="text-box"> <span>{{$t('超时策略')}}</span> <span>{{$t('Timeout strategy')}}</span> </div> <div class="cont-box"> <label class="label-box"> <div style="padding-top: 6px;"> <x-checkbox-group v-model="strategy"> <x-checkbox label="WARN" :disabled="isDetails">{{$t('超时告警')}}</x-checkbox> <x-checkbox label="FAILED" :disabled="isDetails">{{$t('超时失败')}}</x-checkbox> <x-checkbox label="WARN" :disabled="isDetails">{{$t('Timeout alarm')}}</x-checkbox> <x-checkbox label="FAILED" :disabled="isDetails">{{$t('Timeout failure')}}</x-checkbox> </x-checkbox-group> </div> </label> Loading @@ -29,12 +29,12 @@ </div> <div class="clearfix list" v-if="enable"> <div class="text-box"> <span>{{$t('超时时长')}}</span> <span>{{$t('Timeout period')}}</span> </div> <div class="cont-box"> <label class="label-box"> <x-input v-model="interval" style="width: 128px;" :disabled="isDetails"> <span slot="append">{{$t('分')}}</span> <span slot="append">{{$t('Minute')}}</span> </x-input> </label> </div> Loading Loading @@ -71,12 +71,12 @@ _verification () { // Verification timeout policy if (this.enable && !this.strategy.length) { this.$message.warning(`${this.$t('超时策略必须选一个')}`) this.$message.warning(`${this.$t('Timeout strategy must be selected')}`) return false } // Verify timeout duration Non 0 positive integer if (this.enable && !parseInt(this.interval) && !_.isInteger(this.interval)) { this.$message.warning(`${this.$t('超时时长必须为正整数')}`) this.$message.warning(`${this.$t('Timeout must be a positive integer')}`) return false } this.$emit('on-timeout', { Loading