refactor: update js to ts for browser logs and style change (#476)

* fix: update lists style of browser logs

* fix: update logs
diff --git a/src/assets/lang/en.ts b/src/assets/lang/en.ts
index 04b36fe..4848d1a 100644
--- a/src/assets/lang/en.ts
+++ b/src/assets/lang/en.ts
@@ -220,6 +220,7 @@
   tableValues: 'Table Values',
   show: 'Show',
   hide: 'Hide',
+  message: 'Message',
 };
 
 export default m;
diff --git a/src/assets/lang/zh.ts b/src/assets/lang/zh.ts
index 812a31b..570ef7d 100644
--- a/src/assets/lang/zh.ts
+++ b/src/assets/lang/zh.ts
@@ -218,6 +218,7 @@
   tableValues: '表值',
   show: '展示',
   hide: '隐藏',
+  message: '信息',
 };
 
 export default m;
diff --git a/src/views/components/log/log-bar.vue b/src/views/components/log/log-bar.vue
index 7de635a..5e4f5d8 100644
--- a/src/views/components/log/log-bar.vue
+++ b/src/views/components/log/log-bar.vue
@@ -107,7 +107,7 @@
     private pageNum: number = 1;
     private cateGoryBrowser = 'browser';
     private showConditionsBox = true;
-    private pageSize = 20;
+    private pageSize = 22;
 
     private beforeMount() {
       this.MIXHANDLE_GET_OPTION({
diff --git a/src/views/components/log/log-browser-detail.vue b/src/views/components/log/log-browser-detail.vue
index 6173669..5fc2aef 100644
--- a/src/views/components/log/log-browser-detail.vue
+++ b/src/views/components/log/log-browser-detail.vue
@@ -27,12 +27,8 @@
         <div class="mb-10 clear rk-flex" v-for="(item, index) in columns" :key="index">
           <template>
             <span class="g-sm-4 grey">{{ $t(item.value) }}:</span>
-            <span
-              v-if="['message', 'stack'].includes(item.label)"
-              class="text"
-              v-html="lineBreak(currentLog[item.label]) || '-'"
-            ></span>
-            <span v-else-if="item.label === 'time'" class="g-sm-8 wba">{{ currentLog[item.label] | dateformat }}</span>
+            <span v-if="item.label === 'time'" class="g-sm-8 wba">{{ currentLog[item.label] | dateformat }}</span>
+            <span v-else-if="item.label === 'errorUrl'">{{ currentLog.pagePath }}</span>
             <span v-else class="g-sm-8 wba">{{ currentLog[item.label] || '-' }}</span>
           </template>
         </div>
@@ -43,7 +39,6 @@
 
 <script lang="ts">
   import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
-  import { Mutation, State } from 'vuex-class';
   import LogTable from './log-table/log-table.vue';
   import { BrowserLogConstants } from './log-table/log-constant';
 
@@ -51,22 +46,13 @@
     components: { LogTable },
   })
   export default class LogBrowserDetail extends Vue {
-    @State('rocketLog') private logState: any;
     @Prop() private data: any;
     @Prop() private loading!: true;
 
     private columns = BrowserLogConstants;
     private showDetail = false;
-    private list = [];
     private currentLog = {};
-    private lineBreak(str = '') {
-      const s = str
-        .replace(/</g, '&lt;')
-        .replace(/>/g, '&gt;')
-        .replace(/\r\n/g, '<br />')
-        .replace(/\n/g, '<br />');
-      return s;
-    }
+
     private handleSelectLog(data: any) {
       this.currentLog = data;
       this.showDetail = true;
diff --git a/src/views/components/log/log-content.vue b/src/views/components/log/log-content.vue
index 4df6217..8923507 100644
--- a/src/views/components/log/log-content.vue
+++ b/src/views/components/log/log-content.vue
@@ -19,7 +19,6 @@
 </template>
 
 <script lang="ts">
-  import { Duration, Option } from '@/types/global';
   import { Component, Vue } from 'vue-property-decorator';
   import { State } from 'vuex-class';
   import LogBrowserDetail from './log-browser-detail.vue';
diff --git a/src/views/components/log/log-table/log-browser-item.vue b/src/views/components/log/log-table/log-browser-item.vue
index 1df1b0b..8394d03 100644
--- a/src/views/components/log/log-table/log-browser-item.vue
+++ b/src/views/components/log/log-table/log-browser-item.vue
@@ -24,78 +24,39 @@
         width: `${item.drag ? item.method : ''}px`,
       }"
     >
-      <span v-if="['message', 'stack'].includes(item.label)" class="text" v-html="lineBreak(data[item.label])"></span>
-      <template v-else-if="item.label === 'time'">
-        {{ data.time | dateformat }}
-      </template>
-      <span v-else class="" v-tooltip:bottom="data[item.label] || '-'">{{ data[item.label] || '-' }}</span>
+      <span v-if="item.label === 'time'">{{ data.time | dateformat }}</span>
+      <span v-else-if="item.label === 'errorUrl'">{{ data.pagePath }}</span>
+      <span v-else v-tooltip:bottom="data[item.label] || '-'">{{ data[item.label] || '-' }}</span>
     </div>
   </div>
 </template>
-<script lang="js">
+<script lang="ts">
+  import { Component, Prop, Vue } from 'vue-property-decorator';
   import { BrowserLogConstants } from './log-constant';
 
-  export default {
-    name: 'item',
-    props: ['data', 'method'],
-    watch: {
-      data: {
-        handler() {
-          this.setLogItemHeight();
-        },
-        deep: true,
-        immediate: true,
-      },
-    },
-    data() {
-      return {
-        columns: BrowserLogConstants,
-        displayChildren: true,
-        selectedSpan: 0,
-      };
-    },
-    computed: {},
-    methods: {
-      lineBreak(str = '') {
-        const param = str
-          .replace(/</g, '&lt;')
-          .replace(/>/g, '&gt;')
-          .replace(/\r\n/g, '<br />')
-          .replace(/\n/g, '<br />');
-        return param;
-      },
-      setLogItemHeight() {
-        this.$nextTick(() => {
-          const heights = [];
-          this.$refs.logItem.childNodes.forEach((item) => {
-            if (item.getAttribute('class').indexOf('autoHeight') > -1) {
-              const autoHeightChild = item.childNodes[0];
-              const height = autoHeightChild.getBoundingClientRect().height;
-              heights.push(height + 11);
-            }
-          });
-          const max = Math.max(...heights);
-          this.$refs.logItem.style.height = max + 'px';
-        });
+  @Component
+  export default class ServiceItem extends Vue {
+    @Prop() private data: any;
 
-      },
-      showSelectSpan() {
-        const items = document.querySelectorAll('.log-item');
-        for (const item of items) {
-          item.style.background = '#fff';
-        }
-        this.$refs.logItem.style.background = 'rgba(0, 0, 0, 0.1)';
-        this.$eventBus.$emit('HANDLE-SELECT-LOG', this.data);
-      },
-    },
-  };
+    private columns = BrowserLogConstants;
+    private showSelectSpan() {
+      const items: NodeListOf<any> = document.querySelectorAll('.log-item');
+
+      for (const item of items) {
+        item.style.background = '#fff';
+      }
+      const logItem: any = this.$refs.logItem;
+
+      logItem.style.background = 'rgba(0, 0, 0, 0.1)';
+      this.$eventBus.$emit('HANDLE-SELECT-LOG', this.data);
+    }
+  }
 </script>
 <style lang="scss" scoped>
   .log-item {
     white-space: nowrap;
     position: relative;
     cursor: pointer;
-    /*height: 100px;*/
   }
 
   .log-item.selected {
@@ -124,7 +85,6 @@
 
   .log-item .text {
     width: 100% !important;
-    /*padding: 0 5px;*/
     display: inline-block;
     overflow: hidden;
     text-overflow: ellipsis;
@@ -132,7 +92,7 @@
   }
 
   .log-item > div.method {
-    height: 100%;
-    padding: 3px 8px;
+    padding: 7px 5px;
+    line-height: 30px;
   }
 </style>
diff --git a/src/views/components/log/log-table/log-constant.ts b/src/views/components/log/log-table/log-constant.ts
index 157f082..079d65a 100644
--- a/src/views/components/log/log-table/log-constant.ts
+++ b/src/views/components/log/log-table/log-constant.ts
@@ -78,26 +78,10 @@
 // The order of columns should be time, service, error, stack, version, url, catalog, and grade.
 export const BrowserLogConstants = [
   {
-    label: 'time',
-    value: 'time',
-  },
-  {
     label: 'service',
     value: 'service',
   },
   {
-    label: 'message',
-    value: 'errorInfo',
-    drag: true,
-    method: 350,
-  },
-  {
-    label: 'stack',
-    value: 'stack',
-    drag: true,
-    method: 350,
-  },
-  {
     label: 'serviceVersion',
     value: 'serviceVersion',
   },
@@ -105,6 +89,22 @@
     label: 'errorUrl',
     value: 'errorPage',
   },
+  {
+    label: 'time',
+    value: 'time',
+  },
+  {
+    label: 'message',
+    value: 'message',
+    drag: true,
+    method: 350,
+  },
+  {
+    label: 'stack',
+    value: 'stack',
+    drag: true,
+    method: 350,
+  },
   // {
   //   label: 'pagePath',
   //   value: 'Page Path',
diff --git a/src/views/components/log/log-table/log-service-item.vue b/src/views/components/log/log-table/log-service-item.vue
index 06a75da..a4601fa 100644
--- a/src/views/components/log/log-table/log-service-item.vue
+++ b/src/views/components/log/log-table/log-service-item.vue
@@ -82,7 +82,6 @@
   }
 
   .log-item > div {
-    line-height: 1.3;
     width: 140px;
     padding: 0 5px;
     display: inline-block;
diff --git a/src/views/components/log/log-table/log-table.vue b/src/views/components/log/log-table/log-table.vue
index cc2cbfe..887d607 100644
--- a/src/views/components/log/log-table/log-table.vue
+++ b/src/views/components/log/log-table/log-table.vue
@@ -29,10 +29,10 @@
       </template>
     </div>
     <div v-if="type === 'browser'">
-      <BrowserItem :method="method" v-for="(item, index) in tableData" :data="item" :key="'key' + index" />
+      <BrowserItem v-for="(item, index) in tableData" :data="item" :key="'browser' + index" />
     </div>
     <div v-else>
-      <ServiceItem v-for="(item, index) in tableData" :data="item" :key="'key' + index" :noLink="noLink" />
+      <ServiceItem v-for="(item, index) in tableData" :data="item" :key="'service' + index" :noLink="noLink" />
     </div>
     <slot></slot>
   </div>