mirror of https://github.com/jumpserver/jumpserver
perf: perf gather account
parent
01335c02e3
commit
02e366fd10
|
@ -24,7 +24,7 @@
|
||||||
<div class="info-section">
|
<div class="info-section">
|
||||||
<h2 class="info">
|
<h2 class="info">
|
||||||
<!-- 对应报表的 name -->
|
<!-- 对应报表的 name -->
|
||||||
密码清单
|
账号发现
|
||||||
</h2>
|
</h2>
|
||||||
<div class="time">
|
<div class="time">
|
||||||
<!-- 具体的生成时间 -->
|
<!-- 具体的生成时间 -->
|
||||||
|
@ -34,33 +34,35 @@
|
||||||
|
|
||||||
<main class="main-section">
|
<main class="main-section">
|
||||||
|
|
||||||
{% comment %} 摘要部分 {% endcomment %}
|
|
||||||
<div class="synopsis-section">
|
<div class="synopsis-section">
|
||||||
<div class="synopsis-item">
|
<div class="synopsis-item">
|
||||||
<h3>
|
<h3>
|
||||||
{% comment %} {% trans 'New found accounts' %}: {% endcomment %}
|
{% trans 'The following is a summary of the account check tasks. Please review and handle them' %}
|
||||||
<span> summary 1 </span>
|
|
||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
<div class="synopsis-item-content">
|
<div class="synopsis-item-content">
|
||||||
<p>
|
<p>
|
||||||
{% trans 'New found accounts' %}:
|
<span class="item-label">{% trans 'Task name' %}</span>:
|
||||||
<span>100</span>
|
<span>{{ execution.automation.name }}</span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
{% trans 'New found accounts' %}:
|
<span class="item-label">{% trans 'Date start' %}</span>:
|
||||||
<span>100</span>
|
<span>{{ execution.date_start | date:"Y/m/d H:i:s" }}</span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
{% trans 'New found accounts' %}:
|
<span class="item-label">{% trans 'Date end' %}</span>:
|
||||||
<span>100</span>
|
<span>{{ execution.date_finished | date:"Y/m/d H:i:s" }}</span>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
{% trans 'New found accounts' %}:
|
<span class="item-label">{% trans 'Time using' %}</span>:
|
||||||
<span>100</span>
|
<span>{{ execution.duration }}s</span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
<p>
|
||||||
</div>
|
<span class="item-label">{% trans 'Assets count' %}</span>:
|
||||||
|
<span>{{ summary.total_assets }}s</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="synopsis-item">
|
<div class="synopsis-item">
|
||||||
<h3>
|
<h3>
|
||||||
{% comment %} {% trans 'New found accounts' %}: {% endcomment %}
|
{% comment %} {% trans 'New found accounts' %}: {% endcomment %}
|
||||||
|
@ -114,7 +116,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% if summary.lost_accounts %}
|
{% if summary.lost_accounts %}
|
||||||
<table class="custom-table table-striped table-hover data-table">
|
<table class="custom-table table-hover data-table">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>{% trans 'No.' %}</th>
|
<th>{% trans 'No.' %}</th>
|
||||||
|
@ -137,53 +139,6 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tabel-execution-section">
|
|
||||||
<h3>
|
|
||||||
{% trans 'The following is a summary of the account check tasks. Please review and handle them' %}
|
|
||||||
</h3>
|
|
||||||
<table class="execution-table custom-table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th colspan="2">{% trans 'Task Summary' %}:</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>{% trans 'Task name' %}:</td>
|
|
||||||
<td>{{ execution.automation.name }}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{% trans 'Date start' %}:</td>
|
|
||||||
<td>{{ execution.date_start | date:"Y/m/d H:i:s" }}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{% trans 'Date end' %}:</td>
|
|
||||||
<td>{{ execution.date_finished | date:"Y/m/d H:i:s" }}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{% trans 'Time using' %}:</td>
|
|
||||||
<td>{{ execution.duration }}s</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{% trans 'Assets count' %}:</td>
|
|
||||||
<td>{{ summary.total_assets }}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{% trans 'Asset success count' %}:</td>
|
|
||||||
<td class="success">{{ summary.ok_assets }}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{% trans 'Asset failed count' %}:</td>
|
|
||||||
<td class="error">{{ summary.fail_assets }}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{% trans 'Asset not support count' %}:</td>
|
|
||||||
<td class="warning">{{ summary.error_assets }}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -193,11 +148,21 @@
|
||||||
var myChart = echarts.init(document.getElementById('main'));
|
var myChart = echarts.init(document.getElementById('main'));
|
||||||
|
|
||||||
var option = {
|
var option = {
|
||||||
tooltip: {},
|
tooltip: {
|
||||||
|
trigger: 'item'
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
left: 'right',
|
||||||
|
orient: 'vertical'
|
||||||
|
},
|
||||||
series: [{
|
series: [{
|
||||||
type: 'pie',
|
type: 'pie',
|
||||||
radius: ['50%', '70%'],
|
radius: ['40%', '70%'],
|
||||||
avoidLabelOverlap: false,
|
avoidLabelOverlap: false,
|
||||||
|
padAngle: 5,
|
||||||
|
itemStyle: {
|
||||||
|
borderRadius: 10
|
||||||
|
},
|
||||||
label: {
|
label: {
|
||||||
show: false,
|
show: false,
|
||||||
position: 'center'
|
position: 'center'
|
||||||
|
@ -205,17 +170,10 @@
|
||||||
labelLine: {
|
labelLine: {
|
||||||
show: false
|
show: false
|
||||||
},
|
},
|
||||||
emphasis: {
|
|
||||||
label: {
|
|
||||||
show: true,
|
|
||||||
fontSize: '13',
|
|
||||||
fontWeight: 'bold'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data: [
|
data: [
|
||||||
{ value: {{ summary.ok_assets | default:10 }}, name: '{% trans "Asset success count" %}' },
|
{ value: {{ summary.ok_assets | default:0 }}, name: '{% trans "Asset success count" %}' },
|
||||||
{ value: {{ summary.fail_assets | default:10 }}, name: '{% trans "Asset failed count" %}' },
|
{ value: {{ summary.fail_assets | default:1 }}, name: '{% trans "Asset failed count" %}' },
|
||||||
{ value: {{ summary.error_assets | default:10 }}, name: '{% trans "Asset not support count" %}' }
|
{ value: {{ summary.error_assets | default:1 }}, name: '{% trans "Asset not support count" %}' }
|
||||||
]
|
]
|
||||||
}]
|
}]
|
||||||
};
|
};
|
||||||
|
@ -269,7 +227,7 @@
|
||||||
|
|
||||||
.info-section .info {
|
.info-section .info {
|
||||||
margin: unset;
|
margin: unset;
|
||||||
font-size: 2rem;
|
font-size: 1.6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-section .time {
|
.info-section .time {
|
||||||
|
@ -299,12 +257,11 @@
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
height: 350px;
|
height: 350px;
|
||||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
||||||
transition: all 0.3s ease;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-section .synopsis-section .synopsis-item:hover {
|
.main-section .synopsis-section .synopsis-item h3 {
|
||||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
font-weight: 500;
|
||||||
transform: translateY(-2px);
|
font-size: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-section .synopsis-section .synopsis-item .synopsis-item-content {
|
.main-section .synopsis-section .synopsis-item .synopsis-item-content {
|
||||||
|
@ -314,7 +271,6 @@
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-top: 1rem;
|
margin-top: 1rem;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
font-size: 1.5rem;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -323,7 +279,11 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
gap: 2rem;
|
gap: 2rem;
|
||||||
font-weight: 500;
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-section .synopsis-section .synopsis-item .synopsis-item-content p .item-label {
|
||||||
|
width: 10rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-section .synopsis-section .synopsis-item .synopsis-item-content span {
|
.main-section .synopsis-section .synopsis-item .synopsis-item-content span {
|
||||||
|
@ -356,7 +316,6 @@
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border: 1px solid #e0e0e0;
|
border: 1px solid #e0e0e0;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
{% comment %} box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); {% endcomment %}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-section .tabel-execution-section {
|
.main-section .tabel-execution-section {
|
||||||
|
@ -408,14 +367,20 @@
|
||||||
background: #f6f6f6;
|
background: #f6f6f6;
|
||||||
color: #495057;
|
color: #495057;
|
||||||
padding: 0.75rem;
|
padding: 0.75rem;
|
||||||
|
font-size: 1.5rem;
|
||||||
border-bottom: 2px solid #e0e0e0;
|
border-bottom: 2px solid #e0e0e0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.custom-table td {
|
.custom-table td {
|
||||||
padding: 0.75rem;
|
padding: 0.75rem;
|
||||||
|
font-size: 14px;
|
||||||
border-bottom: 1px solid #e0e0e0;
|
border-bottom: 1px solid #e0e0e0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.custom-table tr:nth-child(even) {
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
}
|
||||||
|
|
||||||
.custom-table tr:last-child td {
|
.custom-table tr:last-child td {
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue