diff --git a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/lang/en-US.js b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/lang/en-US.js
index df6b965..93938de 100644
--- a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/lang/en-US.js
+++ b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/lang/en-US.js
@@ -22,7 +22,7 @@
       {
         title: 'APP',
         child: [
-          /*{
+          /* {
             title: 'Registry center',
             href: '/registry-center'
           },*/
diff --git a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/lang/zh-CN.js b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/lang/zh-CN.js
index 183bebb..0b4cc84 100644
--- a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/lang/zh-CN.js
+++ b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/lang/zh-CN.js
@@ -22,7 +22,7 @@
       {
         title: '应用',
         child: [
-          /*{
+          /* {
             title: '注册中心配置',
             href: '/registry-center'
           },*/
diff --git a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/history-status/module/historyStatus.vue b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/history-status/module/historyStatus.vue
index a1e0b7b..0c3c33d 100644
--- a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/history-status/module/historyStatus.vue
+++ b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/history-status/module/historyStatus.vue
@@ -113,7 +113,6 @@
 </template>
 <script>
 import { mapActions } from 'vuex'
-import clone from 'lodash/clone'
 import API from '../api'
 export default {
   name: 'HistoryStatus',
diff --git a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/history-trace/module/historyTrace.vue b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/history-trace/module/historyTrace.vue
index 307be8f..9e94b38 100644
--- a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/history-trace/module/historyTrace.vue
+++ b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/history-trace/module/historyTrace.vue
@@ -49,7 +49,7 @@
         :placeholder="$t('historyTrace.searchForm.executeResult')"
         v-model="searchForm.isSuccess"
         clearable
-        >
+      >
         <el-option
           v-for="item in executeResultItems"
           :key="item.value"
@@ -88,7 +88,6 @@
 </template>
 <script>
 import { mapActions } from 'vuex'
-import clone from 'lodash/clone'
 import API from '../api'
 export default {
   name: 'HistoryTrace',
@@ -114,8 +113,8 @@
         {
           label: this.$t('historyTrace').column.executeResult,
           prop: 'success',
-          formatter: function(row,cell,value) {
-            return value+''
+          formatter: function(row, cell, value) {
+            return value + ''
           }
         },
         {
diff --git a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/job-dashboard/index.vue b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/job-dashboard/index.vue
index 2a10a9f..ae3f6a1 100644
--- a/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/job-dashboard/index.vue
+++ b/shardingsphere-elasticjob-cloud-ui/shardingsphere-elasticjob-cloud-ui-frontend/src/views/job-dashboard/index.vue
@@ -16,74 +16,74 @@
   -->
 
 <template>
-<el-row class="job-dashboard">
-  <el-row :gutter="16" class="row">
-    <el-col :span="16">
+  <el-row class="job-dashboard">
+    <el-row :gutter="16" class="row">
+      <el-col :span="16">
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span>{{ $t("historyDashboard.successAndFailCount") }}</span>
+          </div>
+          <el-row>
+            <el-col :span="8" class="col">
+              <h2>{{ $t("historyDashboard.jobInfoForOneMinute") }}</h2>
+              <v-chart :options="lastMinute"/>
+            </el-col>
+            <el-col :span="8" class="col">
+              <h2>{{ $t("historyDashboard.jobInfoForOneHour") }}</h2>
+              <v-chart :options="lastHour"/>
+            </el-col>
+            <el-col :span="8" class="col">
+              <h2>{{ $t("historyDashboard.jobInfoForOneWeek") }}</h2>
+              <v-chart :options="lastWeek"/>
+            </el-col>
+          </el-row>
+        </el-card>
+      </el-col>
+      <el-col :span="8">
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span>{{ $t("historyDashboard.jobType") }}</span>
+          </div>
+          <el-row>
+            <el-col class="col">
+              <h2>{{ $t("historyDashboard.jobExecutionTypeJob") }}</h2>
+              <v-chart :options="executionType"/>
+            </el-col>
+          </el-row>
+        </el-card>
+      </el-col>
+    </el-row>
+    <el-row class="row">
       <el-card class="box-card">
         <div slot="header" class="clearfix">
           <span>{{ $t("historyDashboard.successAndFailCount") }}</span>
         </div>
         <el-row>
-          <el-col :span="8" class="col">
-            <h2>{{ $t("historyDashboard.jobInfoForOneMinute") }}</h2>
-            <v-chart :options="lastMinute"/>
-          </el-col>
-          <el-col :span="8" class="col">
-            <h2>{{ $t("historyDashboard.jobInfoForOneHour") }}</h2>
-            <v-chart :options="lastHour"/>
-          </el-col>
-          <el-col :span="8" class="col">
-            <h2>{{ $t("historyDashboard.jobInfoForOneWeek") }}</h2>
-            <v-chart :options="lastWeek"/>
-          </el-col>
+          <v-chart :options="result"/>
         </el-row>
       </el-card>
-    </el-col>
-    <el-col :span="8">
-     <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>{{ $t("historyDashboard.jobType") }}</span>
-      </div>
-      <el-row>
-        <el-col class="col">
-          <h2>{{ $t("historyDashboard.jobExecutionTypeJob") }}</h2>
-          <v-chart :options="executionType"/>
-        </el-col>
-      </el-row>
-     </el-card>
-    </el-col>
+    </el-row>
+    <el-row class="row">
+      <el-card class="box-card">
+        <div slot="header" class="clearfix">
+          <span>{{ $t("historyDashboard.jobTaskRunningCount") }}</span>
+        </div>
+        <el-row>
+          <v-chart :options="running"/>
+        </el-row>
+      </el-card>
+    </el-row>
+    <el-row class="row">
+      <el-card class="box-card">
+        <div slot="header" class="clearfix">
+          <span>{{ $t("historyDashboard.currentJobsCount") }}</span>
+        </div>
+        <el-row>
+          <v-chart :options="register"/>
+        </el-row>
+      </el-card>
+    </el-row>
   </el-row>
-  <el-row class="row">
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>{{ $t("historyDashboard.successAndFailCount") }}</span>
-      </div>
-      <el-row>
-        <v-chart :options="result"/>
-      </el-row>
-    </el-card>
-  </el-row>
-  <el-row class="row">
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>{{ $t("historyDashboard.jobTaskRunningCount") }}</span>
-      </div>
-      <el-row>
-        <v-chart :options="running"/>
-      </el-row>
-    </el-card>
-  </el-row>
-  <el-row class="row">
-    <el-card class="box-card">
-      <div slot="header" class="clearfix">
-        <span>{{ $t("historyDashboard.currentJobsCount") }}</span>
-      </div>
-      <el-row>
-        <v-chart :options="register"/>
-      </el-row>
-    </el-card>
-  </el-row>
-</el-row>
 </template>
 
 <script>
@@ -100,7 +100,7 @@
   components: {
     'v-chart': ECharts
   },
-  data () {
+  data() {
     return {
       color: ['rgb(105, 167, 225)', 'rgb(120, 230, 117)'],
       lastMinute: {},
@@ -125,7 +125,6 @@
         since: 'last24hours'
       }
       API.getTasksResults(params).then(res => {
-        const xAxis = []
         const series1 = []
         const series2 = []
         if (res.model && res.model.length) {
@@ -160,7 +159,7 @@
             name: this.$t('historyDashboard').jobSuccessCount,
             type: 'line',
             data: series1
-          },{
+          }, {
             name: this.$t('historyDashboard').jobFailureCount,
             type: 'line',
             data: series2
@@ -175,7 +174,6 @@
       API.getJobsRunning(params).then(res => {
         API.getTasksRunning(params).then(resp => {
           if (resp.model && res.model.length) {
-            const xAxis = []
             const jobSeries = []
             const taskSeries = []
             if (res.model && res.model.length) {
@@ -214,7 +212,7 @@
                 name: this.$t('historyDashboard').taskRunningCount,
                 type: 'line',
                 data: taskSeries
-              },{
+              }, {
                 name: this.$t('historyDashboard').jobRunningCount,
                 type: 'line',
                 data: jobSeries
@@ -226,7 +224,6 @@
     },
     getJobsRegister() {
       API.getJobsRegister().then(res => {
-        const xAxis = []
         const series = []
         if (res.model && res.model.length) {
           res.model && res.model.forEach(item => {
@@ -279,8 +276,8 @@
               radius: '35%',
               center: ['50%', '50%'],
               data: [
-                {value: model.transientJobCount, name: 'TRANSI', label:{formatter: '{b}:\n' + this.percentage(model.transientJobCount, model.transientJobCount + model.daemonJobCount)}},
-                {value: model.daemonJobCount, name: 'DAEMON', label:{formatter: '{b}:\n' + this.percentage(model.daemonJobCount, model.transientJobCount + model.daemonJobCount)}}
+                { value: model.transientJobCount, name: 'TRANSI', label: { formatter: '{b}:\n' + this.percentage(model.transientJobCount, model.transientJobCount + model.daemonJobCount) }},
+                { value: model.daemonJobCount, name: 'DAEMON', label: { formatter: '{b}:\n' + this.percentage(model.daemonJobCount, model.transientJobCount + model.daemonJobCount) }}
               ],
               emphasis: {
                 itemStyle: {
@@ -297,8 +294,8 @@
     getTasksPeriod() {
       API.getTasksPeriod('lastMinute').then(res => {
         const { model } = res
-        model.successCount=40
-        model.failedCount=60
+        model.successCount = 40
+        model.failedCount = 60
         this.lastMinute = {
           color: this.color,
           tooltip: {
@@ -312,8 +309,8 @@
               radius: '35%',
               center: ['50%', '50%'],
               data: [
-                {value: model.successCount, name: this.$t('historyDashboard').success, label:{formatter: '{b}:\n' + this.percentage(model.successCount, model.successCount + model.failedCount)}},
-                {value: model.failedCount, name: this.$t('historyDashboard').failed, label:{formatter: '{b}:\n' + this.percentage(model.failedCount, model.successCount + model.failedCount)}}
+                { value: model.successCount, name: this.$t('historyDashboard').success, label: { formatter: '{b}:\n' + this.percentage(model.successCount, model.successCount + model.failedCount) }},
+                { value: model.failedCount, name: this.$t('historyDashboard').failed, label: { formatter: '{b}:\n' + this.percentage(model.failedCount, model.successCount + model.failedCount) }}
               ],
               emphasis: {
                 itemStyle: {
@@ -341,8 +338,8 @@
               radius: '35%',
               center: ['50%', '50%'],
               data: [
-                {value: model.successCount, name: this.$t('historyDashboard').success, label:{formatter: '{b}:\n' + this.percentage(model.successCount, model.successCount + model.failedCount)}},
-                {value: model.failedCount, name: this.$t('historyDashboard').failed, label:{formatter: '{b}:\n' + this.percentage(model.failedCount, model.successCount + model.failedCount)}}
+                { value: model.successCount, name: this.$t('historyDashboard').success, label: { formatter: '{b}:\n' + this.percentage(model.successCount, model.successCount + model.failedCount) }},
+                { value: model.failedCount, name: this.$t('historyDashboard').failed, label: { formatter: '{b}:\n' + this.percentage(model.failedCount, model.successCount + model.failedCount) }}
               ],
               emphasis: {
                 itemStyle: {
@@ -370,8 +367,8 @@
               radius: '35%',
               center: ['50%', '50%'],
               data: [
-                {value: model.successCount, name: this.$t('historyDashboard').success, label:{formatter: '{b}:\n' + this.percentage(model.successCount, model.successCount + model.failedCount)}},
-                {value: model.failedCount, name: this.$t('historyDashboard').failed, label:{formatter: '{b}:\n' + this.percentage(model.failedCount, model.successCount + model.failedCount)}}
+                { value: model.successCount, name: this.$t('historyDashboard').success, label: { formatter: '{b}:\n' + this.percentage(model.successCount, model.successCount + model.failedCount) }},
+                { value: model.failedCount, name: this.$t('historyDashboard').failed, label: { formatter: '{b}:\n' + this.percentage(model.failedCount, model.successCount + model.failedCount) }}
               ],
               emphasis: {
                 itemStyle: {
@@ -389,7 +386,7 @@
       if (value === 0) {
         return '0.0%'
       }
-      return Number((value/count)*100).toFixed(1) + '%';
+      return Number((value / count) * 100).toFixed(1) + '%'
     }
   }
 }
