抽出几个工业函数到单独文件

pull/1/head
Doflatango 2017-02-21 10:18:39 +08:00 committed by miraclesu
parent f33843e0ff
commit 2834f42b34
5 changed files with 31 additions and 110 deletions

12
web/ui/dist/build.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -58,7 +58,7 @@
<div id="charts">
<div class="ui card">
<div class="content">
<h4 class="header">当前节点状态</h4>
<h4 class="header"><router-link to="node">当前节点状态</router-link></h4>
<div class="description">
<canvas ref="node"></canvas>
</div>
@ -67,7 +67,7 @@
<div class="ui card">
<div class="content">
<h4 class="header">今日任务概况</h4>
<h4 class="header"><router-link :to="'log?begin='+today+'&end='+today">今日任务概况</router-link></h4>
<div class="description">
<canvas ref="job"></canvas>
</div>
@ -79,6 +79,7 @@
<script>
import Chart from 'charts';
import {formatNumber} from '../libraries/functions';
export default {
name: 'dash',
@ -87,11 +88,21 @@ export default {
totalJobs: 0,
totalExecuted: 0,
todayExecuted: 0,
totalNodes: 0
totalNodes: 0,
today: ''
}
},
mounted(){
// var formatNumber = function(i, len){
// var n = i == 0 ? 1 : Math.ceil(Math.log10(i+1));
// if (n >= len) return i.toString();
// return '0'.repeat(len-n) + i.toString();
// }
var d = new Date()
this.today = d.getFullYear().toString() + '-' + formatNumber(d.getMonth()+1, 2) + '-' + d.getDate();
var vm = this;
var renderJobInfo = function(resp){
vm.totalJobs = resp.totalJobs;
@ -104,8 +115,8 @@ export default {
labels: ["成功", "失败"],
datasets: [{
data: [resp.jobExecuted.successed, resp.jobExecuted.failed],
backgroundColor: ["#21BA45", "#333", "#DB2828"],
hoverBackgroundColor: ["#39DE60", "#555", "#D64848"]
backgroundColor: ["#21BA45", "#DB2828"],
hoverBackgroundColor: ["#39DE60", "#D64848"]
}]
}
});

View File

@ -43,7 +43,7 @@
<td><router-link :to="'/job/edit/'+job.group+'/'+job.id">{{job.name}}</router-link></td>
<td>
<span v-if="!job.latestStatus">-</span>
<span v-else>{{formatTime(job.latestStatus.beginTime, job.latestStatus.endTime)}} {{job.latestStatus.node}} {{formatDuration(job.latestStatus.beginTime, job.latestStatus.endTime)}}</span>
<span v-else>{{formatLatest(job.latestStatus)}}</span>
</td>
<td :class="{error: job.latestStatus && !job.latestStatus.success}">
<span v-if="!job.latestStatus">-</span>
@ -59,6 +59,7 @@
<script>
import Dropdown from './basic/Dropdown.vue';
import Pager from './basic/Pager.vue';
import {formatTime, formatDuration} from '../libraries/functions';
export default {
name: 'job',
@ -135,54 +136,8 @@ export default {
return
},
formatDuration: function(beginTime, endTime){
var d = new Date(endTime) - new Date(beginTime);
var s = '';
var day = d/86400000;
if (day >= 1) s += day.toString() + ' 天 ';
d = d%86400000;
var hour = d/3600000;
if (hour >= 1) s += hour.toString() + ' 小时 ';
d = d%3600000;
var min = d/60000;
if (min >= 1) s += min.toString() + ' 分钟 ';
d = d%60000;
var sec = d/1000;
if (sec >= 1) s += sec.toString() + ' 秒 ';
d = d%1000;
if (d >= 1) s = d.toString() + ' 毫秒';
if (s.length == 0) s = "0 毫秒";
return s;
},
formatTime: function(beginTime, endTime){
var now = new Date();
var bt = new Date(beginTime);
var et = new Date(endTime);
var s = this._formatTime(now, bt) + ' ~ ' + this._formatTime(now, et);
return s;
},
_formatTime: function(now, t){
var s = '';
if (now.getFullYear() != t.getFullYear()) {
s += t.getFullYear().toString() + '-';
}
s += this._formatNumber(t.getMonth()+1, 2).toString() + '-';
s += this._formatNumber(t.getDate(), 2) + ' ' + this._formatNumber(t.getHours(), 2) + ':' + this._formatNumber(t.getMinutes(), 2) + ':' + this._formatNumber(t.getSeconds(), 2);
return s;
},
// i > 0
_formatNumber: function(i, len){
var n = i == 0 ? 1 : Math.ceil(Math.log10(i+1));
if (n >= len) return i.toString();
return '0'.repeat(len-n) + i.toString();
formatLatest: function(latest){
return formatTime(latest.beginTime, latest.endTime)+',于 '+latest.node+' 耗时 '+formatDuration(latest.beginTime, latest.endTime);
}
},

View File

@ -56,7 +56,7 @@
<tr v-for="log in list">
<td><router-link class="item" :to="'/job/edit/'+log.jobGroup+'/'+log.jobId">{{log.name}}</router-link></td>
<td>{{log.node}}</td>
<td :class="{warning: durationAttention(log.beginTime, log.endTime)}"><i class="attention icon" v-if="durationAttention(log.beginTime, log.endTime)"></i> {{formatTime(log.beginTime, log.endTime)}}{{formatDuration(log.beginTime, log.endTime)}}</td>
<td :class="{warning: durationAttention(log.beginTime, log.endTime)}"><i class="attention icon" v-if="durationAttention(log.beginTime, log.endTime)"></i> {{formatTime(log)}}</td>
<td :class="{error: !log.success}">
<router-link :to="'/log/'+log.id">{{log.success ? '成功' : '失败'}}</router-link>
</td>
@ -69,6 +69,7 @@
<script>
import Pager from './basic/Pager.vue';
import {formatTime, formatDuration} from '../libraries/functions';
export default {
name: 'log',
@ -161,54 +162,8 @@ export default {
return d > 3600000*6;
},
formatDuration: function(beginTime, endTime){
var d = new Date(endTime) - new Date(beginTime);
var s = '';
var day = d/86400000;
if (day >= 1) s += day.toString() + ' 天 ';
d = d%86400000;
var hour = d/3600000;
if (hour >= 1) s += hour.toString() + ' 小时 ';
d = d%3600000;
var min = d/60000;
if (min >= 1) s += min.toString() + ' 分钟 ';
d = d%60000;
var sec = d/1000;
if (sec >= 1) s += sec.toString() + ' 秒 ';
d = d%1000;
if (d >= 1) s = d.toString() + ' 毫秒';
if (s.length == 0) s = "0 毫秒";
return s;
},
formatTime: function(beginTime, endTime){
var now = new Date();
var bt = new Date(beginTime);
var et = new Date(endTime);
var s = this._formatTime(now, bt) + ' ~ ' + this._formatTime(now, et);
return s;
},
_formatTime: function(now, t){
var s = '';
if (now.getFullYear() != t.getFullYear()) {
s += t.getFullYear().toString() + '-';
}
s += this._formatNumber(t.getMonth()+1, 2).toString() + '-';
s += this._formatNumber(t.getDate(), 2) + ' ' + this._formatNumber(t.getHours(), 2) + ':' + this._formatNumber(t.getMinutes(), 2) + ':' + this._formatNumber(t.getSeconds(), 2);
return s;
},
// i > 0
_formatNumber: function(i, len){
var n = i == 0 ? 1 : Math.ceil(Math.log10(i+1));
if (n >= len) return i.toString();
return '0'.repeat(len-n) + i.toString();
formatTime: function(log){
return formatTime(log.beginTime, log.endTime)+',于 '+log.node+' 耗时 '+formatDuration(log.beginTime, log.endTime);
}
},
components: {