{"id":37108,"date":"2025-05-14T07:21:11","date_gmt":"2025-05-13T23:21:11","guid":{"rendered":"https:\/\/www.wsisp.com\/helps\/37108.html"},"modified":"2025-05-14T07:21:11","modified_gmt":"2025-05-13T23:21:11","slug":"%e7%bb%9f%e8%ae%a1%e6%9c%8d%e5%8a%a1%e5%99%a8cpu%e3%80%81%e5%86%85%e5%ad%98%e3%80%81%e7%a3%81%e7%9b%98%e3%80%81%e7%bd%91%e7%bb%9cio%e3%80%81%e9%98%9f%e5%88%97%e3%80%81%e6%95%b0%e6%8d%ae%e5%ba%93-3","status":"publish","type":"post","link":"https:\/\/www.wsisp.com\/helps\/37108.html","title":{"rendered":"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/05\/20250513232107-6823d3e37545f.jpg\" alt=\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f_\u78c1\u76d8\" title=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h5 id=\"h0\">\u6587\u7ae0\u76ee\u5f55<\/h5>\n<ul>\n<li>\u4e00\u3001\u80cc\u666f<\/li>\n<li>\u4e8c\u3001\u8bf4\u660e<\/li>\n<li>\u4e09\u3001\u9875\u9762<\/li>\n<li>\u56db\u3001\u4ee3\u7801<\/li>\n<\/ul>\n<ul>\n<li>\u524d\u7aef<\/li>\n<\/ul>\n<ul>\n<li>MonitorServiceProcessPage.vue<\/li>\n<li>MonitorServiceProcessTable.vue<\/li>\n<li>MonitorServiceProcessTableButton.vue<\/li>\n<li>addMonitorTask.vue<\/li>\n<li>productOperation.vue<\/li>\n<li>showMonitorTask.vue<\/li>\n<li>MonitorSystemLog.vue<\/li>\n<li>MonitorTask.vue<\/li>\n<li>MonitorTaskLog.vue<\/li>\n<li>RealtimeCpuMonitor.vue<\/li>\n<li>RealtimeDiskMonitor.vue<\/li>\n<li>RealtimeMemoryMonitor.vue<\/li>\n<li>RealtimeMonitor.vue<\/li>\n<\/ul>\n<ul>\n<li>\u540e\u7aef<\/li>\n<\/ul>\n<ul>\n<li>en_US.js<\/li>\n<li>zh_CN.js<\/li>\n<li>MonitorTaskController<\/li>\n<li>IMonitorTaskService<\/li>\n<li>MonitorTaskServiceImpl<\/li>\n<li>MonitorTaskMapper<\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<h3 id=\"h1\">\u4e00\u3001\u80cc\u666f<\/h3>\n<h3 id=\"h2\">\u4e8c\u3001\u8bf4\u660e<\/h3>\n<h3 id=\"h3\">\u4e09\u3001\u9875\u9762<\/h3>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/05\/20250513232107-6823d3e39ba1f.png\" alt=\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f_\u7f51\u7edc_02\" title=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/05\/20250513232108-6823d3e42907e.png\" alt=\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f_\u7f51\u7edcIO_03\" title=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p>\u5b57\u6bb5\u4ecb\u7ecd<\/p>\n<ul>\n<li>System Info&#xff1a;\u7cfb\u7edf\u4fe1\u606f<\/li>\n<li>Record Time&#xff1a;\u8bb0\u5f55\u65f6\u95f4<\/li>\n<li>Cpu Usage Threshold(%)&#xff1a;Cpu\u4f7f\u7528\u7387\u9608\u503c(%)<\/li>\n<li>Memory Usage Threshold(%)&#xff1a;\u5185\u5b58\u4f7f\u7528\u7387\u9608\u503c(%)<\/li>\n<li>Disk Space Usage Threshold(%)&#xff1a;\u78c1\u76d8\u7a7a\u95f4\u4f7f\u7528\u7387\u9608\u503c(%)<\/li>\n<li>Network Rx Rate\/s&#xff1a;\u7f51\u7edc\u63a5\u6536\u6570\u636e\u5305\u901f\u7387\/s<\/li>\n<li>Network Tx Rate\/s&#xff1a;\u7f51\u7edc\u53d1\u9001\u6570\u636e\u5305\u901f\u7387\/s<\/li>\n<li>IOPS kB_read\/s&#xff1a;IOPS\u8bfb\u53d6\u6570\u636e\u91cf\/s<\/li>\n<li>IOPS kB_wrtn\/s&#xff1a;IOPS\u5199\u5165\u6570\u636e\u91cf\/s<\/li>\n<li>Total number of stored queue operations\/s&#xff1a;\u5b58\u50a8\u961f\u5217\u64cd\u4f5c\u603b\u6570\/s<\/li>\n<li>Database disk space used in the file system&#xff1a;\u6587\u4ef6\u7cfb\u7edf\u4e2d\u6570\u636e\u5e93\u78c1\u76d8\u7a7a\u95f4\u5360\u7528\u5927\u5c0f<\/li>\n<li>SBI alarm number\/s&#xff1a;\u5357\u5411\u544a\u8b66\u6570\u91cf\/s<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/05\/20250513232108-6823d3e4a98e5.png\" alt=\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f_\u7f51\u7edcIO_04\" title=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/05\/20250513232109-6823d3e531f47.png\" alt=\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f_\u5185\u5b58_05\" title=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/05\/20250513232109-6823d3e5aeccd.png\" alt=\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f_\u7f51\u7edcIO_06\" title=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h3 id=\"h4\">\u56db\u3001\u4ee3\u7801<\/h3>\n<h4 id=\"h5\">\u524d\u7aef<\/h4>\n<p><img decoding=\"async\" src=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/05\/20250513232110-6823d3e63a859.png\" alt=\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f_\u78c1\u76d8_07\" title=\"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0\" \/><\/p>\n<h5 id=\"h6\">MonitorServiceProcessPage.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n  &lt;BasicLayout :left&#061;&#039;left&#039; :middle&#061;&#039;middle&#039; :right&#061;&#039;right&#039;&gt;<br \/>\n    &lt;template v-slot:right_view&gt;<br \/>\n      &lt;div class&#061;&#039;h100vh-100&#039;&gt;<br \/>\n        &lt;MonitorServiceProcessTableButton &#064;notice&#061;&#039;notice&#039;&gt;&lt;\/MonitorServiceProcessTableButton&gt;<br \/>\n        &lt;MonitorServiceProcessTable ref&#061;&#034;monitorServiceProcess&#034;&gt;&lt;\/MonitorServiceProcessTable&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n    &lt;\/template&gt;<br \/>\n  &lt;\/BasicLayout&gt;<br \/>\n&lt;\/template&gt;<\/p>\n<p>&lt;script&gt;<br \/>\nimport BasicLayout from &#039;&#064;\/layouts\/BasicLayout&#039;;<br \/>\nimport MonitorServiceProcessTableButton from &#034;&#064;\/views\/monitor\/monitorServiceProcess\/MonitorServiceProcessTableButton&#034;;<br \/>\nimport MonitorServiceProcessTable from &#034;&#064;\/views\/monitor\/monitorServiceProcess\/MonitorServiceProcessTable&#034;;<\/p>\n<p>export default {<br \/>\n  name: &#034;monitorServiceProcessPage&#034;,<br \/>\n  components:{<br \/>\n    BasicLayout,<br \/>\n    MonitorServiceProcessTableButton,<br \/>\n    MonitorServiceProcessTable<br \/>\n  },<br \/>\n  data() {<br \/>\n    return {<br \/>\n      left: {<br \/>\n        show: false,<br \/>\n        name: &#039;&#039;<br \/>\n      },<br \/>\n      middle: {<br \/>\n        show: false,<br \/>\n        name: &#039;&#039;<br \/>\n      },<br \/>\n      right: {<br \/>\n        show: true,<br \/>\n        crumb: &#096;${this.$t(&#039;Security.securityManage&#039;)}&#096;&#043;&#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.monitor&#039;)}&#096; &#043; &#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.task.monitoringServiceProcess&#039;)}&#096;<br \/>\n      }<br \/>\n    };<br \/>\n  },<br \/>\n  methods: {<br \/>\n    notice(type) {<br \/>\n      switch (type) {<br \/>\n        case &#039;refresh&#039;:<br \/>\n          this.$refs.monitorServiceProcess.getMonitorServiceProcessListData();<br \/>\n          break;<br \/>\n        case &#039;doActiveTask&#039;:<br \/>\n          this.$refs.monitorServiceProcess.doActiveTask();<br \/>\n          break;<br \/>\n        case &#039;doUnactiveTask&#039;:<br \/>\n          this.$refs.monitorServiceProcess.doUnactiveTask();<br \/>\n          break;<br \/>\n        default:<br \/>\n      }<br \/>\n    }<br \/>\n  }<br \/>\n}<br \/>\n&lt;\/script&gt;<\/p>\n<p>&lt;style scoped&gt;<\/p>\n<p>&lt;\/style&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<\/ul>\n<h5 id=\"h7\">MonitorServiceProcessTable.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n  &lt;div class&#061;&#039;h100-40 width-100vw h-scroll&#039;&gt;<br \/>\n    &lt;ejs-grid ref&#061;&#039;grid&#039; height&#061;&#039;calc(100% &#8211; 0px)&#039; :dataSource&#061;&#039;monitorServiceProcessData&#039; :contextMenuItems&#061;&#034;contextMenuItems&#034; :contextMenuOpen&#061;&#039;menuBeforeOpenFunc&#039; :contextMenuClick&#061;&#039;menuClickFunc&#039;<br \/>\n              :selectionSettings&#061;&#039;selectionOptions&#039; :allowReordering&#061;&#039;true&#039; :allowResizing&#061;&#039;true&#039; &gt;<br \/>\n      &lt;e-columns&gt;<br \/>\n        &lt;e-column type&#061;&#039;checkbox&#039; textAlign&#061;&#039;Center&#039; width&#061;&#039;66&#039;&gt;&lt;\/e-column&gt;<br \/>\n        &lt;e-column field&#061;&#039;componentName&#039; :headerText&#061;&#039;$t(&#034;Topo.service&#034;) &#043; $t(&#034;DeployManagement.type&#034;)&#039; textAlign&#061;&#039;Center&#039; minWidth&#061;&#039;10&#039; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n        &lt;e-column field&#061;&#039;state&#039; :headerText&#061;&#039;$t(&#034;DeployManagement.runStatus&#034;)&#039; :disableHtmlEncode&#061;&#039;false&#039; :formatter&#061;&#039;formatActiveState&#039; textAlign&#061;&#039;Center&#039; minWidth&#061;&#039;10&#039; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n        &lt;e-column field&#061;&#039;description&#039; :headerText&#061;&#039;$t(&#034;MCS.description&#034;)&#039; textAlign&#061;&#039;Center&#039; minWidth&#061;&#039;10&#039; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n        &lt;e-column field&#061;&#039;activeTime&#039; :headerText&#061;&#039;$t(&#034;Monitor.systemLog.productStart&#034;)&#039; textAlign&#061;&#039;Center&#039; minWidth&#061;&#039;10&#039; type&#061;&#039;date&#039; :format&#061;&#039;dateFormatOptions&#039; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n        &lt;e-column field&#061;&#039;unactiveTime&#039; :headerText&#061;&#039;$t(&#034;Pm.hangupTime&#034;)&#039; textAlign&#061;&#039;Center&#039; minWidth&#061;&#039;10&#039; type&#061;&#039;date&#039; :format&#061;&#039;dateFormatOptions&#039; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n      &lt;\/e-columns&gt;<br \/>\n    &lt;\/ejs-grid&gt;<br \/>\n    &lt;ejs-pager ref&#061;&#039;pager&#039; &#064;click&#061;&#039;getMonitorServiceProcessListData&#039; :currentPage&#061;&#039;page.pageNo&#039; :pageSize&#061;&#039;page.pageSize&#039; :totalRecordsCount&#061;&#039;page.totalCount&#039; :pageCount&#061;&#039;page.pageCount&#039;&gt;&lt;\/ejs-pager&gt;<br \/>\n  &lt;\/div&gt;<br \/>\n&lt;\/template&gt;<\/p>\n<p>&lt;script&gt;<br \/>\nimport { EventBus } from &#039;..\/..\/..\/plugins\/eventBus&#039;;<\/p>\n<p>export default {<br \/>\n  name: &#034;monitorServiceProcessTable&#034;,<br \/>\n  data() {<br \/>\n    return {<br \/>\n      selectionOptions: { type: &#039;Multiple&#039; },<br \/>\n      dateFormatOptions: { type: &#039;date&#039;, format: &#039;yyyy-MM-dd HH:mm:ss&#039; },<br \/>\n      contextMenuItems: [{<br \/>\n        text: &#096;${this.$t(&#039;Alarm.refresh&#039;)}&#096;<br \/>\n      }, {<br \/>\n        text: &#096;${this.$t(&#039;Monitor.systemLog.startup&#039;)}&#096;<br \/>\n      }, {<br \/>\n        text: &#096;${this.$t(&#039;Monitor.systemLog.shutdown&#039;)}&#096;<br \/>\n      }],<br \/>\n      page: {<br \/>\n        pageNo: 1,<br \/>\n        pageSize: 15,<br \/>\n        totalCount: 3,<br \/>\n        pageCount: 1<br \/>\n      },<br \/>\n      monitorServiceProcessData: [],<br \/>\n    }<br \/>\n  },<br \/>\n  methods: {<br \/>\n    formatActiveState(grids, data) {<br \/>\n      let color &#061; &#039;&#039;;<br \/>\n      switch (data.state) {<br \/>\n        case &#039;down&#039;:<br \/>\n          color &#061; &#039;red&#039;;<br \/>\n          break;<br \/>\n        case &#039;up&#039;:<br \/>\n          color &#061; &#039;green&#039;;<br \/>\n          break;<br \/>\n        case &#039;exception&#039;:<br \/>\n          color &#061; &#039;orange&#039;;<br \/>\n          break;<br \/>\n        default:<br \/>\n          break;<br \/>\n      }<br \/>\n      return &#096;&lt;span style&#061;&#039;background-color:${color};font-size: 12px;display: inline-block;width: 55px;height: 22px;color: #fff;line-height: 22px;&#039; &gt;${data.state}&lt;\/span&gt;&#096;;<br \/>\n    },<br \/>\n    getCheckedData(selectOnly) {<br \/>\n      \/\/ false: \u4e0d\u652f\u6301\u591a\u9009   true: \u652f\u6301\u591a\u9009<br \/>\n      const selectedRecords &#061; this.$refs.grid.getSelectedRecords();<br \/>\n      if (selectedRecords.length &lt; 1) {<br \/>\n        EventBus.$emit(&#039;toast&#039;, {type: &#039;warning&#039;, content: this.$t(&#039;Alarm.no_checked&#039;)});<br \/>\n        return false;<br \/>\n      }<br \/>\n      if (selectedRecords.length &gt; 1 &amp;&amp; !selectOnly) {<br \/>\n        EventBus.$emit(&#039;toast&#039;, {type: &#039;warning&#039;, content: this.$t(&#039;Common.tips.onlyOneSelect&#039;)});<br \/>\n        return false;<br \/>\n      }<br \/>\n      return selectedRecords;<br \/>\n    },<br \/>\n    getCheckedVals() {<br \/>\n      const ids &#061; [];<br \/>\n      const checkedData &#061; this.getCheckedData(true);<br \/>\n      for (let i &#061; 0; i &lt; checkedData.length; i&#043;&#043;) {<br \/>\n        ids.push(checkedData[i].id);<br \/>\n      }<br \/>\n      return ids;<br \/>\n    },<br \/>\n    \/\/\u6279\u91cf\u67e5\u8be2<br \/>\n    getMonitorServiceProcessListData() {<br \/>\n      console.log(&#034;******getMonitorServiceProcessListData()&#034;)<br \/>\n      \/\/\u83b7\u53d6\u8868\u683c\u6570\u636e<br \/>\n      const This &#061; this;<br \/>\n      This.$axios.get(&#039;\/lte\/ems\/oss\/component\/state&#039;, {<br \/>\n      }).then((response) &#061;&gt; {<br \/>\n        if (response &amp;&amp; response.data.errorCode &#061;&#061;&#061; &#039;SUCCESS&#039;) {<br \/>\n          const result &#061; response.data.resultVal;<br \/>\n          let getResult &#061; result<br \/>\n          getResult.forEach(item &#061;&gt; {<br \/>\n            if (item.description !&#061; &#034;&#034; || item.description !&#061; null || item.description !&#061; undefined) {<br \/>\n              item.description &#061; this.$t(item.description);<br \/>\n            }<br \/>\n          })<br \/>\n          This.monitorServiceProcessData &#061; getResult;<br \/>\n        }<br \/>\n      });<br \/>\n    },<br \/>\n    \/\/\u542f\u52a8\u670d\u52a1<br \/>\n    doActiveTask() {<br \/>\n      console.log(&#034;******doActiveTask()&#034;)<br \/>\n      const This &#061; this;<br \/>\n      const checkedData &#061; This.getCheckedData(true);<br \/>\n      const list &#061; [];<br \/>\n      for (let i &#061; 0; i &lt; checkedData.length; i&#043;&#043;) {<br \/>\n        list.push({state: 1, id: checkedData[i].id, activeTime: new Date()});<br \/>\n      }<br \/>\n      let str &#061; This.$t(&#039;Track.activation&#039;);<br \/>\n      if (checkedData) {<br \/>\n        This.$layer.confirm({<br \/>\n          title: this.$t(&#039;System.tip&#039;),<br \/>\n          msg: &#096;${str}?&#096;,<br \/>\n          btn1: {<br \/>\n            msg: this.$t(&#039;Alarm.cancel&#039;)<br \/>\n          },<br \/>\n          btn2: {<br \/>\n            msg: this.$t(&#039;Alarm.confirm&#039;),<br \/>\n            func: () &#061;&gt; {<br \/>\n              This.$axios.post(&#039;\/lte\/ems\/oss\/component\/updateMonitorServiceProcess&#039;, {list: list}).then((response) &#061;&gt; {<br \/>\n                if (response &amp;&amp; response.data.errorCode &#061;&#061;&#061; &#039;SUCCESS&#039;) {<br \/>\n                  EventBus.$emit(&#039;toast&#039;, {type: &#039;success&#039;, content: this.$t(&#039;Alarm.success&#039;)});<br \/>\n                } else if (response &amp;&amp; response.data.errorCode &#061;&#061;&#061; &#039;1001&#039;) {<br \/>\n                  EventBus.$emit(&#039;toast&#039;, {type: &#039;error&#039;, content: this.$t(response.data.errorString)});<br \/>\n                } else if (response &amp;&amp; response.data.errorCode &#061;&#061;&#061; &#039;16002&#039;) {<br \/>\n                  EventBus.$emit(&#039;toast&#039;, {type: &#039;error&#039;, content: this.$t(&#039;ErrorCode.16002&#039;)});<br \/>\n                } else {<br \/>\n                  EventBus.$emit(&#039;toast&#039;, {type: &#039;error&#039;, content: this.$t(&#039;Alarm.error&#039;)});<br \/>\n                }<br \/>\n                This.getMonitorServiceProcessListData();<br \/>\n              });<br \/>\n            }<br \/>\n          }<br \/>\n        });<br \/>\n      }<br \/>\n    },<br \/>\n    \/\/\u6302\u8d77\u670d\u52a1<br \/>\n    doUnactiveTask() {<br \/>\n      console.log(&#034;******doUnactiveTask()&#034;)<br \/>\n      const This &#061; this;<br \/>\n      const checkedData &#061; This.getCheckedData(true);<br \/>\n      const list &#061; [];<br \/>\n      for (let i &#061; 0; i &lt; checkedData.length; i&#043;&#043;) {<br \/>\n        list.push({state: 0, id: checkedData[i].id, unactiveTime: new Date()});<br \/>\n      }<br \/>\n      let str &#061; This.$t(&#039;Track.hangup&#039;);<br \/>\n      if (checkedData) {<br \/>\n        This.$layer.confirm({<br \/>\n          title: this.$t(&#039;System.tip&#039;),<br \/>\n          msg: &#096;${str}?&#096;,<br \/>\n          btn1: {<br \/>\n            msg: this.$t(&#039;Alarm.cancel&#039;)<br \/>\n          },<br \/>\n          btn2: {<br \/>\n            msg: this.$t(&#039;Alarm.confirm&#039;),<br \/>\n            func: () &#061;&gt; {<br \/>\n              This.$axios.post(&#039;\/lte\/ems\/oss\/component\/updateMonitorServiceProcess&#039;, {list: list}).then((response) &#061;&gt; {<br \/>\n                if (response &amp;&amp; response.data.errorCode &#061;&#061;&#061; &#039;SUCCESS&#039;) {<br \/>\n                  EventBus.$emit(&#039;toast&#039;, {type: &#039;success&#039;, content: this.$t(&#039;Alarm.success&#039;)});<br \/>\n                } else if (response &amp;&amp; response.data.errorCode &#061;&#061;&#061; &#039;1002&#039;) {<br \/>\n                  EventBus.$emit(&#039;toast&#039;, {type: &#039;error&#039;, content: this.$t(response.data.errorString)});<br \/>\n                } else if (response &amp;&amp; response.data.errorCode &#061;&#061;&#061; &#039;16001&#039;) {<br \/>\n                  EventBus.$emit(&#039;toast&#039;, {type: &#039;error&#039;, content: this.$t(&#039;ErrorCode.16001&#039;)});<br \/>\n                } else {<br \/>\n                  EventBus.$emit(&#039;toast&#039;, {type: &#039;error&#039;, content: this.$t(&#039;Alarm.error&#039;)});<br \/>\n                }<br \/>\n                This.getMonitorServiceProcessListData();<br \/>\n              });<br \/>\n            }<br \/>\n          }<br \/>\n        });<br \/>\n      }<br \/>\n    },<br \/>\n    menuBeforeOpenFunc(menuArgs) { \/\/ \u5c4f\u853d\u8868\u5934\u7684\u53f3\u952e\u4e8b\u4ef6<br \/>\n      if (!menuArgs.rowInfo.rowIndex &amp;&amp; menuArgs.rowInfo.rowIndex !&#061;&#061; 0) {<br \/>\n        menuArgs.cancel &#061; true;<br \/>\n      }<br \/>\n      const childList &#061; menuArgs.element.querySelectorAll(&#039;li.e-menu-item&#039;);<br \/>\n      if (this.getCheckedData(true).length &gt; 1) {<br \/>\n        childList[2].style.display &#061; &#039;none&#039;;<br \/>\n      } else {<br \/>\n        childList[2].style.display &#061; &#039;block&#039;;<br \/>\n      }<br \/>\n    },<br \/>\n    menuClickFunc(menuArgs) { \/\/ \u4e3a\u53f3\u952e\u5206\u914d\u4e8b\u4ef6<br \/>\n      console.log(&#034;******menuArgs:&#034;, menuArgs)<br \/>\n      switch (menuArgs.element.innerText) {<br \/>\n        case &#096;${this.$t(&#039;Alarm.refresh&#039;)}&#096;:<br \/>\n          this.getMonitorServiceProcessListData();<br \/>\n          break;<br \/>\n        case &#096;${this.$t(&#039;Monitor.systemLog.startup&#039;)}&#096;:<br \/>\n          this.doActiveTask();<br \/>\n          break;<br \/>\n        case &#096;${this.$t(&#039;Monitor.systemLog.shutdown&#039;)}&#096;:<br \/>\n          this.doUnactiveTask();<br \/>\n          break;<br \/>\n        default:<br \/>\n      }<br \/>\n    }<br \/>\n  },<br \/>\n  mounted() {<br \/>\n    this.getMonitorServiceProcessListData();<br \/>\n  }<br \/>\n}<br \/>\n&lt;\/script&gt;<\/p>\n<p>&lt;style scoped&gt;<\/p>\n<p>&lt;\/style&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<li>131.<\/li>\n<li>132.<\/li>\n<li>133.<\/li>\n<li>134.<\/li>\n<li>135.<\/li>\n<li>136.<\/li>\n<li>137.<\/li>\n<li>138.<\/li>\n<li>139.<\/li>\n<li>140.<\/li>\n<li>141.<\/li>\n<li>142.<\/li>\n<li>143.<\/li>\n<li>144.<\/li>\n<li>145.<\/li>\n<li>146.<\/li>\n<li>147.<\/li>\n<li>148.<\/li>\n<li>149.<\/li>\n<li>150.<\/li>\n<li>151.<\/li>\n<li>152.<\/li>\n<li>153.<\/li>\n<li>154.<\/li>\n<li>155.<\/li>\n<li>156.<\/li>\n<li>157.<\/li>\n<li>158.<\/li>\n<li>159.<\/li>\n<li>160.<\/li>\n<li>161.<\/li>\n<li>162.<\/li>\n<li>163.<\/li>\n<li>164.<\/li>\n<li>165.<\/li>\n<li>166.<\/li>\n<li>167.<\/li>\n<li>168.<\/li>\n<li>169.<\/li>\n<li>170.<\/li>\n<li>171.<\/li>\n<li>172.<\/li>\n<li>173.<\/li>\n<li>174.<\/li>\n<li>175.<\/li>\n<li>176.<\/li>\n<li>177.<\/li>\n<li>178.<\/li>\n<li>179.<\/li>\n<li>180.<\/li>\n<li>181.<\/li>\n<li>182.<\/li>\n<li>183.<\/li>\n<li>184.<\/li>\n<li>185.<\/li>\n<li>186.<\/li>\n<li>187.<\/li>\n<li>188.<\/li>\n<li>189.<\/li>\n<li>190.<\/li>\n<li>191.<\/li>\n<li>192.<\/li>\n<li>193.<\/li>\n<li>194.<\/li>\n<li>195.<\/li>\n<li>196.<\/li>\n<li>197.<\/li>\n<li>198.<\/li>\n<li>199.<\/li>\n<li>200.<\/li>\n<li>201.<\/li>\n<li>202.<\/li>\n<li>203.<\/li>\n<li>204.<\/li>\n<li>205.<\/li>\n<li>206.<\/li>\n<li>207.<\/li>\n<li>208.<\/li>\n<li>209.<\/li>\n<li>210.<\/li>\n<\/ul>\n<h5 id=\"h8\">MonitorServiceProcessTableButton.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n  &lt;div class&#061;&#039;h-toolbarBg&#039;&gt;<br \/>\n    &lt;ejs-toolbar&gt;<br \/>\n      &lt;e-items&gt;<br \/>\n        &lt;e-item prefixIcon&#061;&#039;icon hero-icon hero-icon-refresh&#039; :tooltipText&#061;&#039;$t(&#034;Alarm.refresh&#034;)&#039; :click&#061;&#039;notices&#039; eventType&#061;&#039;refresh&#039;&gt;&lt;\/e-item&gt;<br \/>\n        &lt;e-item prefixIcon&#061;&#039;icon hero-icon hero-icon-start-up&#039; :tooltipText&#061;&#039;$t(&#034;Monitor.systemLog.startup&#034;)&#039; :click&#061;&#039;notices&#039; eventType&#061;&#039;doActiveTask&#039;&gt;&lt;\/e-item&gt;<br \/>\n        &lt;e-item prefixIcon&#061;&#039;icon hero-icon hero-icon-disable&#039; :tooltipText&#061;&#039;$t(&#034;Monitor.systemLog.shutdown&#034;)&#039; :click&#061;&#039;notices&#039; eventType&#061;&#039;doUnactiveTask&#039;&gt;&lt;\/e-item&gt;<br \/>\n      &lt;\/e-items&gt;<br \/>\n    &lt;\/ejs-toolbar&gt;<br \/>\n  &lt;\/div&gt;<br \/>\n&lt;\/template&gt;<\/p>\n<p>&lt;script&gt;<br \/>\nexport default {<br \/>\n  name: &#034;monitorServiceProcessTableButton&#034;,<br \/>\n  methods: {<br \/>\n    notices(args) {<br \/>\n      this.$emit(&#039;notice&#039;, args.item.eventType);<br \/>\n    }<br \/>\n  }<br \/>\n}<br \/>\n&lt;\/script&gt;<\/p>\n<p>&lt;style scoped&gt;<\/p>\n<p>&lt;\/style&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<\/ul>\n<h5 id=\"h9\">addMonitorTask.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n  &lt;div id&#061;&#034;addReportTaskContainer&#034;&gt;<br \/>\n      &lt;form id&#061;&#034;monitorTaskForm&#034;&gt;<br \/>\n      &lt;div class&#061;&#034;row h-row-inputBox&#034;&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.task.taskName&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;input name&#061;&#034;taskName&#034; :placeholder&#061;&#034;$t(&#039;Monitor.task.taskName&#039;)&#034; v-model&#061;&#034;monitorTask.taskName&#034;<br \/>\n                    class&#061;&#034;e-input e-input-group&#034; maxlength&#061;&#034;20&#034; \/&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034; style&#061;&#034;display: none&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.task.product&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;ejs-dropdownlist :dataSource&#061;&#034;productList&#034; v-model&#061;&#034;monitorTask.product&#034; name&#061;&#034;product&#034;<br \/>\n                    :fields&#061;&#034;fieldsFormat&#034; &#064;change&#061;&#034;productChange&#034; &gt;&lt;\/ejs-dropdownlist&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n              &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.record.diskSpaceThreshold&#039;)}}:&lt;\/div&gt;<br \/>\n              &lt;input name&#061;&#034;spaceThreshold&#034; :placeholder&#061;&#034;$t(&#039;Monitor.record.diskSpaceThreshold&#039;)&#034; v-model&#061;&#034;monitorThresholdPo.spaceThreshold&#034;<br \/>\n                     class&#061;&#034;e-input e-input-group&#034; maxlength&#061;&#034;20&#034; \/&gt;<br \/>\n              &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;div class&#061;&#034;row h-row-inputBox&#034;&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.record.cpuThreshold&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;input name&#061;&#034;cpuThreshold&#034; :placeholder&#061;&#034;$t(&#039;Monitor.record.cpuThreshold&#039;)&#034; v-model&#061;&#034;monitorThresholdPo.cpuThreshold&#034;<br \/>\n                    class&#061;&#034;e-input e-input-group&#034; maxlength&#061;&#034;20&#034; \/&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.record.memoryThreshold&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;input name&#061;&#034;memoryThreshold&#034; :placeholder&#061;&#034;$t(&#039;Monitor.record.memoryThreshold&#039;)&#034; v-model&#061;&#034;monitorThresholdPo.memoryThreshold&#034;<br \/>\n                    class&#061;&#034;e-input e-input-group&#034; maxlength&#061;&#034;20&#034; \/&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;div class&#061;&#034;row h-row-inputBox&#034;&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.task.sampleStart&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;ejs-datetimepicker :format&#061;&#034;dateFormat&#034; v-model&#061;&#034;monitorTask.sampleStart&#034; ref&#061;&#034;startTime&#034; name&#061;&#034;sampleStart&#034;<br \/>\n                    class&#061;&#034;e-input&#034; :allowEdit&#061;&#034;false&#034; &#064;keydown.native&#061;&#034;stopEvent&#034; :locale&#061;&#034;locale&#034;&gt;&lt;\/ejs-datetimepicker&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.task.sampleEnd&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;ejs-datetimepicker :format&#061;&#034;dateFormat&#034; v-model&#061;&#034;monitorTask.sampleEnd&#034; ref&#061;&#034;endTime&#034; name&#061;&#034;sampleEnd&#034;<br \/>\n                    class&#061;&#034;e-input&#034; :allowEdit&#061;&#034;false&#034; :min&#061;&#034;monitorTask.sampleStart&#034; &#064;keydown.native&#061;&#034;stopEvent&#034; :locale&#061;&#034;locale&#034;&gt;&lt;\/ejs-datetimepicker&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n    &lt;\/form&gt;<br \/>\n  &lt;\/div&gt;<br \/>\n&lt;\/template&gt;<\/p>\n<p>&lt;script&gt;<br \/>\n    import { CheckBoxSelection } from &#039;&#064;syncfusion\/ej2-vue-dropdowns&#039;;<br \/>\n    import { FormValidator } from &#034;&#064;syncfusion\/ej2-vue-inputs&#034;;<br \/>\n    import mixin from &#039;..\/..\/..\/mixin\/mixin&#039;;<\/p>\n<p>    export default {<br \/>\n        name: &#039;AddReportTask&#039;,<br \/>\n        mixins: [mixin],<br \/>\n        displayFlag : &#039;none&#039;,<br \/>\n        props: {<br \/>\n            baseType: Number,<br \/>\n        },<br \/>\n        components: {<br \/>\n        },<br \/>\n        data() {<br \/>\n            return {<br \/>\n                formValidator: &#039;&#039;,<br \/>\n                dateFormat: &#034;yyyy-MM-dd HH:mm:ss&#034;,<br \/>\n                locale: localStorage.getItem(&#039;locale&#039;),<br \/>\n                currentDay: new Date(),<br \/>\n                productList: [],<br \/>\n                monitorTask: {<br \/>\n                    taskName: &#039;&#039;,<br \/>\n                    product: &#039;PLATFORM&#039;,<br \/>\n                    sampleStart: &#039;&#039;,<br \/>\n                    sampleEnd: &#039;&#039;,<br \/>\n                },<br \/>\n                monitorThresholdPo: {<br \/>\n                    cpuThreshold: &#039;&#039;,<br \/>\n                    memoryThreshold: &#039;&#039;,<br \/>\n                    spaceThreshold: &#039;&#039;,<br \/>\n                },<br \/>\n                fieldsFormat: {<br \/>\n                    text: &#034;text&#034;,<br \/>\n                    value: &#034;value&#034;<br \/>\n                },<br \/>\n                formatList: [<br \/>\n                    { text: &#034;csv&#034;, value: &#034;csv&#034; },<br \/>\n                    { text: &#034;excel&#034;, value: &#034;excel&#034; },<br \/>\n                ],<br \/>\n                validateOptions: {<br \/>\n                    customPlacement: function(inputElement, errorElement) {<br \/>\n                      console.log(&#034;******validateOptions-inputElement:&#034;, inputElement)<br \/>\n                      console.log(&#034;******validateOptions-errorElement:&#034;, errorElement)<\/p>\n<p>                        inputElement &#061; inputElement.closest(&#039;.form-group&#039;).querySelector(&#039;.error&#039;);<br \/>\n                        inputElement.parentElement.appendChild(errorElement);<br \/>\n                    },<br \/>\n                    rules: {<br \/>\n                        &#039;taskName&#039;: {<br \/>\n                            required: [true, &#096;${this.$t(&#039;Monitor.placeholder.taskName&#039;)}&#096;],<br \/>\n                        },<br \/>\n                        \/\/ &#039;product&#039;: {<br \/>\n                        \/\/     required: [true, &#096;${this.$t(&#039;Monitor.placeholder.product&#039;)}&#096;],<br \/>\n                        \/\/ },<br \/>\n                        &#039;cpuThreshold&#039;: {<br \/>\n                            number: [true, this.$t(&#039;MCS.insertNum&#039;)],<br \/>\n                            max: [100, this.$t(&#039;System.input1t100&#039;)],<br \/>\n                        },<br \/>\n                        &#039;spaceThreshold&#039;: {<br \/>\n                            number: [true, this.$t(&#039;MCS.insertNum&#039;)],<br \/>\n                            max: [100, this.$t(&#039;System.input1t100&#039;)],<br \/>\n                        },<br \/>\n                        &#039;memoryThreshold&#039;: {<br \/>\n                            number: [true, this.$t(&#039;MCS.insertNum&#039;)],<br \/>\n                            max: [100, this.$t(&#039;System.input1t100&#039;)],<br \/>\n                        },<br \/>\n                        &#039;sampleStart&#039;: {<br \/>\n                            required: [true, &#096;${this.$t(&#039;Monitor.placeholder.sampleStart&#039;)}&#096;],<br \/>\n                        },<br \/>\n                        &#039;sampleEnd&#039;: {<br \/>\n                            required: [true, &#096;${this.$t(&#039;Monitor.placeholder.sampleEnd&#039;)}&#096;],<br \/>\n                        },<br \/>\n                    }<br \/>\n                }<br \/>\n            }<br \/>\n        },<br \/>\n        methods: {<br \/>\n            init(){<br \/>\n                this.getProductList();<br \/>\n                this.formValidator &#061; new FormValidator(&#039;#monitorTaskForm&#039;, this.validateOptions);<br \/>\n            },<br \/>\n            getProductList() {<br \/>\n                this.$axios.get(&#034;\/lte\/ems\/sys\/monitor\/log\/findProducts&#034;).then(response &#061;&gt; {<br \/>\n                    let resultVal &#061; response.data.resultVal;<br \/>\n                    resultVal &#061; resultVal.filter(item &#061;&gt; !item.includes(&#039;ems_5gc&#039;) &amp;&amp; !item.includes(&#039;ems_gnb&#039;) &amp;&amp; !item.includes(&#039;ems_tr069&#039;));<br \/>\n                    for (let i &#061; 0; i &lt; resultVal.length; i&#043;&#043;) {<br \/>\n                        this.productList.push({<br \/>\n                            text: resultVal[i],<br \/>\n                            value: resultVal[i],<br \/>\n                        });<br \/>\n                    }<br \/>\n                });<br \/>\n            },<br \/>\n            productChange() {<br \/>\n                this.monitorTask.product &#061; msg.value;<br \/>\n            },<br \/>\n            getMonitorTask() {<br \/>\n                return {<br \/>\n                    monitorTask: {<br \/>\n                        taskName: this.monitorTask.taskName,<br \/>\n                        product: this.monitorTask.product,<br \/>\n                        sampleStart: (new Date(this.monitorTask.sampleStart)).getTime(),<br \/>\n                        sampleEnd: (new Date(this.monitorTask.sampleEnd)).getTime(),<br \/>\n                    },<br \/>\n                    monitorThresholdPo: {<br \/>\n                      cpuThreshold: this.monitorThresholdPo.cpuThreshold,<br \/>\n                      memoryThreshold: this.monitorThresholdPo.memoryThreshold,<br \/>\n                      spaceThreshold: this.monitorThresholdPo.spaceThreshold,<br \/>\n                    },<br \/>\n                 }<br \/>\n            },<br \/>\n            validation() {<br \/>\n              let status &#061; this.formValidator.validate();<br \/>\n              return status;<br \/>\n            },<br \/>\n            stopEvent(event) {<br \/>\n                if (event.keyCode &#061;&#061; 13) {<br \/>\n                    event.cancelBubble &#061; true;<br \/>\n                    event.returnValue &#061; false;<br \/>\n                    return false;<br \/>\n                }<br \/>\n            }<br \/>\n        }<br \/>\n    };<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<li>131.<\/li>\n<li>132.<\/li>\n<li>133.<\/li>\n<li>134.<\/li>\n<li>135.<\/li>\n<li>136.<\/li>\n<li>137.<\/li>\n<li>138.<\/li>\n<li>139.<\/li>\n<li>140.<\/li>\n<li>141.<\/li>\n<li>142.<\/li>\n<li>143.<\/li>\n<li>144.<\/li>\n<li>145.<\/li>\n<li>146.<\/li>\n<li>147.<\/li>\n<li>148.<\/li>\n<li>149.<\/li>\n<li>150.<\/li>\n<li>151.<\/li>\n<li>152.<\/li>\n<li>153.<\/li>\n<li>154.<\/li>\n<li>155.<\/li>\n<li>156.<\/li>\n<li>157.<\/li>\n<li>158.<\/li>\n<li>159.<\/li>\n<li>160.<\/li>\n<li>161.<\/li>\n<li>162.<\/li>\n<li>163.<\/li>\n<li>164.<\/li>\n<li>165.<\/li>\n<li>166.<\/li>\n<li>167.<\/li>\n<li>168.<\/li>\n<li>169.<\/li>\n<li>170.<\/li>\n<li>171.<\/li>\n<li>172.<\/li>\n<li>173.<\/li>\n<li>174.<\/li>\n<li>175.<\/li>\n<li>176.<\/li>\n<li>177.<\/li>\n<li>178.<\/li>\n<li>179.<\/li>\n<li>180.<\/li>\n<li>181.<\/li>\n<li>182.<\/li>\n<li>183.<\/li>\n<li>184.<\/li>\n<li>185.<\/li>\n<li>186.<\/li>\n<li>187.<\/li>\n<li>188.<\/li>\n<li>189.<\/li>\n<li>190.<\/li>\n<li>191.<\/li>\n<li>192.<\/li>\n<li>193.<\/li>\n<li>194.<\/li>\n<li>195.<\/li>\n<li>196.<\/li>\n<li>197.<\/li>\n<li>198.<\/li>\n<li>199.<\/li>\n<li>200.<\/li>\n<li>201.<\/li>\n<li>202.<\/li>\n<li>203.<\/li>\n<li>204.<\/li>\n<li>205.<\/li>\n<li>206.<\/li>\n<li>207.<\/li>\n<li>208.<\/li>\n<li>209.<\/li>\n<\/ul>\n<h5 id=\"h10\">productOperation.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n    &lt;div&gt;<br \/>\n      &lt;div class&#061;&#034;h-toolbarBg&#034;&gt;<br \/>\n        &lt;ejs-toolbar :items&#061;&#034;toolbarItems&#034;&gt;&lt;\/ejs-toolbar&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;div class&#061;&#034;h100-80 h-scroll&#034;&gt;<br \/>\n        &lt;ejs-grid :dataSource&#061;&#034;monitorTaskLogData&#034; :allowPaging&#061;&#034;true&#034; ref&#061;&#034;grid&#034; :allowExcelExport&#061;&#039;true&#039; &gt;<br \/>\n          &lt;e-columns&gt;<br \/>\n            &lt;!&#8211; &lt;e-column type&#061;&#034;checkbox&#034; width&#061;&#034;50&#034; textAlign&#061;&#034;center&#034;&gt;&lt;\/e-column&gt; &#8211;&gt;<br \/>\n            &lt;e-column field&#061;&#034;code&#034; :visible&#061;&#034;false&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;name&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.product&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt;<br \/>\n          &lt;\/e-columns&gt;<br \/>\n        &lt;\/ejs-grid&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n    &lt;\/div&gt;<br \/>\n&lt;\/template&gt;<br \/>\n&lt;script&gt;<br \/>\nimport BasicLayout from &#039;..\/..\/..\/layouts\/BasicLayout&#039;;<br \/>\nimport { EventBus } from &#039;..\/..\/..\/plugins\/eventBus&#039;;<\/p>\n<p>export default {<br \/>\n  name: &#039;monitorSystemLog&#039;,<br \/>\n  components: {<br \/>\n    BasicLayout,<br \/>\n  },<br \/>\n  data() {<br \/>\n    return {<br \/>\n      toolbarItems: [<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-confirm&#039;, tooltipText: this.$t(&#039;Monitor.systemLog.startup&#039;), click: this.startup },<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-disable&#039;, tooltipText: this.$t(&#039;Monitor.systemLog.shutdown&#039;), click: this.shutdown },<br \/>\n      ],<br \/>\n      monitorTaskLogData: [],<br \/>\n      product: &#039;&#039;,<br \/>\n      productList: [],<br \/>\n    };<br \/>\n  },<br \/>\n  mounted() {<br \/>\n    let That &#061; this;<br \/>\n  },<br \/>\n  methods: {<br \/>\n    getproductList() {<br \/>\n      const url &#061; &#039;\/lte\/ems\/sys\/monitor\/log\/getProducts&#039;;<br \/>\n      const That &#061; this;<br \/>\n      this.axios.get(url).then(response &#061;&gt; {<br \/>\n        let productList &#061; response.data.filter(item &#061;&gt; !item.name.includes(&#039;ems_5gc&#039;) &amp;&amp; !item.name.includes(&#039;ems_gnb&#039;) &amp;&amp; !item.name.includes(&#039;ems_tr069&#039;));<br \/>\n        That.monitorTaskLogData &#061; productList;<br \/>\n      });<br \/>\n    },<br \/>\n    startup() {<br \/>\n      const record &#061; this.getRecord();<br \/>\n      debugger<br \/>\n      if (record.length &#061;&#061;&#061; 0) {<br \/>\n        EventBus.$emit(&#039;toast&#039;, {type: &#039;warning&#039;, content: this.$t(&#039;Common.tips.selectOne&#039;)});<br \/>\n        return null;<br \/>\n      }<br \/>\n      if (record.length !&#061;&#061; 1) {<br \/>\n        EventBus.$emit(&#039;toast&#039;, {type: &#039;warning&#039;, content: this.$t(&#039;Common.tips.onlyOneSelect&#039;)});<br \/>\n        return null;<br \/>\n      }<br \/>\n      const url &#061; &#039;\/lte\/ems\/sys\/monitor\/log\/startShell?code&#061;&#039; &#043; record[0].code;<br \/>\n      this.axios.get(url).then(response &#061;&gt; {<br \/>\n        const result &#061; response.data;<br \/>\n        if(result) {<br \/>\n          EventBus.$emit(&#039;toast&#039;, {type: &#039;success&#039;, content: this.$t(&#039;Monitor.systemLog.startupSuccess&#039;)});<br \/>\n        } else {<br \/>\n          EventBus.$emit(&#039;toast&#039;, {type: &#039;error&#039;, content: this.$t(&#039;Monitor.systemLog.startupFail&#039;)});<br \/>\n        }<br \/>\n      });<br \/>\n    },<br \/>\n    shutdown() {<br \/>\n      const record &#061; this.getRecord();<br \/>\n      debugger<br \/>\n      if (record.length &#061;&#061;&#061; 0) {<br \/>\n        EventBus.$emit(&#039;toast&#039;, {type: &#039;warning&#039;, content: this.$t(&#039;Common.tips.selectOne&#039;)});<br \/>\n        return null;<br \/>\n      }<br \/>\n      if (record.length !&#061;&#061; 1) {<br \/>\n        EventBus.$emit(&#039;toast&#039;, {type: &#039;warning&#039;, content: this.$t(&#039;Common.tips.onlyOneSelect&#039;)});<br \/>\n        return null;<br \/>\n      }<br \/>\n      const url &#061; &#039;\/lte\/ems\/sys\/monitor\/log\/shutdownShell?code&#061;&#039; &#043; record[0].code;<br \/>\n      this.axios.get(url).then(response &#061;&gt; {<br \/>\n        const result &#061; response.data;<br \/>\n        if(result) {<br \/>\n          EventBus.$emit(&#039;toast&#039;, {type: &#039;success&#039;, content: this.$t(&#039;Monitor.systemLog.shutdownSuccess&#039;)});<br \/>\n        } else {<br \/>\n          EventBus.$emit(&#039;toast&#039;, {type: &#039;error&#039;, content: this.$t(&#039;Monitor.systemLog.shutdownFail&#039;)});<br \/>\n        }<br \/>\n      });<br \/>\n    },<br \/>\n    getRecord() {<br \/>\n      const result &#061; this.$refs.grid.getSelectedRecords();<br \/>\n      if (result &#061;&#061;&#061; null || result &#061;&#061;&#061; &#039;&#039;) {<br \/>\n        this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Common.tips.noSelect&#039;)}&#096;);<br \/>\n        return null;<br \/>\n      }<br \/>\n      return result;<br \/>\n    },<br \/>\n  },<br \/>\n  watch: {<br \/>\n    screenHeight(val) {<br \/>\n      this.screenHeight &#061; val;<br \/>\n    }<br \/>\n  }<br \/>\n};<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<\/ul>\n<h5 id=\"h11\">showMonitorTask.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n  &lt;div id&#061;&#034;addReportTaskContainer&#034;&gt;<br \/>\n      &lt;form id&#061;&#034;reportTaskForm&#034;&gt;<br \/>\n      &lt;div class&#061;&#034;row h-row-inputBox&#034;&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.task.taskName&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;input name&#061;&#034;taskName&#034; v-model&#061;&#034;monitorTask.taskName&#034;<br \/>\n                    class&#061;&#034;e-input e-input-group&#034; maxlength&#061;&#034;20&#034; \/&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034; style&#061;&#034;display: none&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.task.product&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;input name&#061;&#034;product&#034; v-model&#061;&#034;monitorTask.product&#034;  readonly&#061;&#034;readonly&#034;<br \/>\n                    class&#061;&#034;e-input e-input-group&#034; maxlength&#061;&#034;20&#034; \/&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n              &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.record.diskSpaceThreshold&#039;)}}:&lt;\/div&gt;<br \/>\n              &lt;input name&#061;&#034;spaceThreshold&#034; :placeholder&#061;&#034;$t(&#039;Monitor.record.diskSpaceThreshold&#039;)&#034; v-model&#061;&#034;monitorThresholdPo.spaceThreshold&#034;<br \/>\n                     class&#061;&#034;e-input e-input-group&#034; maxlength&#061;&#034;20&#034; \/&gt;<br \/>\n              &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;div class&#061;&#034;row h-row-inputBox&#034;&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.record.cpuThreshold&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;input name&#061;&#034;cpuThreshold&#034; v-model&#061;&#034;monitorThresholdPo.cpuThreshold&#034;<br \/>\n                    class&#061;&#034;e-input e-input-group&#034; maxlength&#061;&#034;20&#034; \/&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.record.memoryThreshold&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;input name&#061;&#034;memoryThreshold&#034; v-model&#061;&#034;monitorThresholdPo.memoryThreshold&#034;<br \/>\n                    class&#061;&#034;e-input e-input-group&#034; maxlength&#061;&#034;20&#034; \/&gt;<br \/>\n                &lt;div class&#061;&#034;error&#034;&gt;&lt;\/div&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;div class&#061;&#034;row h-row-inputBox&#034;&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.task.sampleStart&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;ejs-datepicker :format&#061;&#034;dateFormat&#034; v-model&#061;&#034;monitorTask.sampleStart&#034; ref&#061;&#034;startTime&#034; name&#061;&#034;sampleStart&#034; readonly&#061;&#034;readonly&#034;<br \/>\n                    class&#061;&#034;e-input&#034; :allowEdit&#061;&#034;false&#034; &#064;keydown.native&#061;&#034;stopEvent&#034; :locale&#061;&#034;locale&#034;&gt;&lt;\/ejs-datepicker&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#034;col-sm-6 h-col-inputBox&#034;&gt;<br \/>\n          &lt;div class&#061;&#034;form-group&#034;&gt;<br \/>\n            &lt;div class&#061;&#034;e-float-input&#034;&gt;<br \/>\n                &lt;div class&#061;&#034;h-inputLit&#034;&gt;&lt;span class&#061;&#034;h-red-code&#034;&gt;* &lt;\/span&gt;{{$t(&#039;Monitor.task.sampleEnd&#039;)}}:&lt;\/div&gt;<br \/>\n                &lt;ejs-datepicker :format&#061;&#034;dateFormat&#034; v-model&#061;&#034;monitorTask.sampleEnd&#034; ref&#061;&#034;endTime&#034; name&#061;&#034;sampleEnd&#034; readonly&#061;&#034;readonly&#034;<br \/>\n                    class&#061;&#034;e-input&#034; :allowEdit&#061;&#034;false&#034; &#064;keydown.native&#061;&#034;stopEvent&#034; :locale&#061;&#034;locale&#034;&gt;&lt;\/ejs-datepicker&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n    &lt;\/form&gt;<br \/>\n  &lt;\/div&gt;<br \/>\n&lt;\/template&gt;<br \/>\n&lt;script&gt;<br \/>\n    import { CheckBoxSelection } from &#039;&#064;syncfusion\/ej2-vue-dropdowns&#039;;<br \/>\n    import { FormValidator } from &#034;&#064;syncfusion\/ej2-vue-inputs&#034;;<br \/>\n    import mixin from &#039;..\/..\/..\/mixin\/mixin&#039;;<\/p>\n<p>    export default {<br \/>\n        name: &#039;AddReportTask&#039;,<br \/>\n        mixins: [mixin],<br \/>\n        displayFlag : &#039;none&#039;,<br \/>\n        props: {<br \/>\n            baseType: Number,<br \/>\n        },<br \/>\n        components: {<br \/>\n        },<br \/>\n        data() {<br \/>\n            return {<br \/>\n                formValidator: &#039;&#039;,<br \/>\n                dateFormat: &#034;yyyy-MM-dd HH:mm:ss&#034;,<br \/>\n                locale: localStorage.getItem(&#039;locale&#039;),<br \/>\n                currentDay: new Date(),<br \/>\n                monitorTask: {<br \/>\n                    taskId:&#039;&#039;,<br \/>\n                    taskName: &#039;&#039;,<br \/>\n                    product: &#039;&#039;,<br \/>\n                    sampleStart: &#039;&#039;,<br \/>\n                    sampleEnd: &#039;&#039;,<br \/>\n                },<br \/>\n                monitorThresholdPo: {<br \/>\n                    cpuThreshold: &#039;&#039;,<br \/>\n                    memoryThreshold: &#039;&#039;,<br \/>\n                    spaceThreshold: &#039;&#039;,<br \/>\n                },<br \/>\n                productList: [],<br \/>\n                fieldsFormat: {<br \/>\n                    text: &#034;text&#034;,<br \/>\n                    value: &#034;value&#034;<br \/>\n                },<br \/>\n                formatList: [<br \/>\n                    { text: &#034;csv&#034;, value: &#034;csv&#034; },<br \/>\n                    { text: &#034;excel&#034;, value: &#034;excel&#034; },<br \/>\n                ],<br \/>\n                 validateOptions: {<br \/>\n                    customPlacement: function(inputElement, errorElement) {<br \/>\n                      console.log(&#034;******validateOptions-inputElement:&#034;, inputElement)<br \/>\n                      console.log(&#034;******validateOptions-errorElement:&#034;, errorElement)<\/p>\n<p>                        inputElement &#061; inputElement.closest(&#039;.form-group&#039;).querySelector(&#039;.error&#039;);<br \/>\n                        inputElement.parentElement.appendChild(errorElement);<br \/>\n                    },<br \/>\n                    rules: {<br \/>\n                        &#039;taskName&#039;: {<br \/>\n                            required: [true, &#096;${this.$t(&#039;Monitor.placeholder.taskName&#039;)}&#096;],<br \/>\n                        },<br \/>\n                        \/\/ &#039;product&#039;: {<br \/>\n                        \/\/     required: [true, &#096;${this.$t(&#039;Monitor.placeholder.product&#039;)}&#096;],<br \/>\n                        \/\/ },<br \/>\n                        &#039;cpuThreshold&#039;: {<br \/>\n                            number: [true, this.$t(&#039;MCS.insertNum&#039;)],<br \/>\n                            max: [100, this.$t(&#039;System.input1t100&#039;)],<br \/>\n                        },<br \/>\n                        &#039;spaceThreshold&#039;: {<br \/>\n                            number: [true, this.$t(&#039;MCS.insertNum&#039;)],<br \/>\n                            max: [100, this.$t(&#039;System.input1t100&#039;)],<br \/>\n                        },<br \/>\n                        &#039;memoryThreshold&#039;: {<br \/>\n                            number: [true, this.$t(&#039;MCS.insertNum&#039;)],<br \/>\n                            max: [100, this.$t(&#039;System.input1t100&#039;)],<br \/>\n                        },<br \/>\n                        &#039;sampleStart&#039;: {<br \/>\n                            required: [true, &#096;${this.$t(&#039;Monitor.placeholder.sampleStart&#039;)}&#096;],<br \/>\n                        },<br \/>\n                        &#039;sampleEnd&#039;: {<br \/>\n                            required: [true, &#096;${this.$t(&#039;Monitor.placeholder.sampleEnd&#039;)}&#096;],<br \/>\n                        },<br \/>\n                    }<br \/>\n                }<\/p>\n<p>            }<br \/>\n        },<br \/>\n        methods: {<br \/>\n            init(editId){<br \/>\n              this.monitorTask.taskId &#061; editId<br \/>\n                const baseUrl &#061; &#039;\/lte\/ems\/sys\/monitor\/task\/queryId&#039;;<br \/>\n                const params &#061; { params: {<br \/>\n                    id: editId<br \/>\n                } };<br \/>\n                const That &#061; this;<br \/>\n                this.axios.get(baseUrl, params).then(response &#061;&gt; {<br \/>\n                    const result &#061; response.data;<br \/>\n                    var monitorTask &#061; result.monitorTask;<br \/>\n                    this.monitorTask.taskName &#061; monitorTask.taskName;<br \/>\n                    this.monitorTask.product &#061; monitorTask.product;<br \/>\n                    if(monitorTask.sampleStart !&#061; null &amp;&amp; monitorTask.sampleStart !&#061; &#039;&#039;){<br \/>\n                        this.monitorTask.sampleStart &#061; new Date(monitorTask.sampleStart).Format(&#034;yyyy-MM-dd HH:mm:ss&#034;);<br \/>\n                    }<br \/>\n                    if(monitorTask.sampleEnd !&#061; null &amp;&amp; monitorTask.sampleEnd !&#061; &#039;&#039;){<br \/>\n                        this.monitorTask.sampleEnd &#061; new Date(monitorTask.sampleEnd).Format(&#034;yyyy-MM-dd HH:mm:ss&#034;);<br \/>\n                    }<br \/>\n                    var monitorThresholdPo &#061; result.monitorThresholdPo;<br \/>\n                    this.monitorThresholdPo.cpuThreshold &#061; monitorThresholdPo.cpuThreshold;<br \/>\n                    this.monitorThresholdPo.memoryThreshold &#061; monitorThresholdPo.memoryThreshold;<br \/>\n                    this.monitorThresholdPo.spaceThreshold &#061; monitorThresholdPo.spaceThreshold;<br \/>\n                });<br \/>\n                this.formValidator &#061; new FormValidator(&#039;#reportTaskForm&#039;, this.validateOptions);<br \/>\n            },<br \/>\n            getMonitorTask() {<br \/>\n                return {<br \/>\n                    monitorTask: {<br \/>\n                        id:this.monitorTask.taskId,<br \/>\n                        taskName: this.monitorTask.taskName,<br \/>\n                        product: this.monitorTask.product,<br \/>\n                        sampleStart: (new Date(this.monitorTask.sampleStart)).getTime(),<br \/>\n                        sampleEnd: (new Date(this.monitorTask.sampleEnd)).getTime(),<br \/>\n                    },<br \/>\n                    monitorThresholdPo: {<br \/>\n                      cpuThreshold: this.monitorThresholdPo.cpuThreshold,<br \/>\n                      memoryThreshold: this.monitorThresholdPo.memoryThreshold,<br \/>\n                      spaceThreshold: this.monitorThresholdPo.spaceThreshold,<br \/>\n                    },<br \/>\n                 }<br \/>\n            },<br \/>\n            validation() {<br \/>\n              let status &#061; this.formValidator.validate();<br \/>\n              return status;<br \/>\n            },<br \/>\n            stopEvent(event) {<br \/>\n                if (event.keyCode &#061;&#061; 13) {<br \/>\n                    event.cancelBubble &#061; true;<br \/>\n                    event.returnValue &#061; false;<br \/>\n                    return false;<br \/>\n                }<br \/>\n            }<br \/>\n        }<br \/>\n    };<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<li>131.<\/li>\n<li>132.<\/li>\n<li>133.<\/li>\n<li>134.<\/li>\n<li>135.<\/li>\n<li>136.<\/li>\n<li>137.<\/li>\n<li>138.<\/li>\n<li>139.<\/li>\n<li>140.<\/li>\n<li>141.<\/li>\n<li>142.<\/li>\n<li>143.<\/li>\n<li>144.<\/li>\n<li>145.<\/li>\n<li>146.<\/li>\n<li>147.<\/li>\n<li>148.<\/li>\n<li>149.<\/li>\n<li>150.<\/li>\n<li>151.<\/li>\n<li>152.<\/li>\n<li>153.<\/li>\n<li>154.<\/li>\n<li>155.<\/li>\n<li>156.<\/li>\n<li>157.<\/li>\n<li>158.<\/li>\n<li>159.<\/li>\n<li>160.<\/li>\n<li>161.<\/li>\n<li>162.<\/li>\n<li>163.<\/li>\n<li>164.<\/li>\n<li>165.<\/li>\n<li>166.<\/li>\n<li>167.<\/li>\n<li>168.<\/li>\n<li>169.<\/li>\n<li>170.<\/li>\n<li>171.<\/li>\n<li>172.<\/li>\n<li>173.<\/li>\n<li>174.<\/li>\n<li>175.<\/li>\n<li>176.<\/li>\n<li>177.<\/li>\n<li>178.<\/li>\n<li>179.<\/li>\n<li>180.<\/li>\n<li>181.<\/li>\n<li>182.<\/li>\n<li>183.<\/li>\n<li>184.<\/li>\n<li>185.<\/li>\n<li>186.<\/li>\n<li>187.<\/li>\n<li>188.<\/li>\n<li>189.<\/li>\n<li>190.<\/li>\n<li>191.<\/li>\n<li>192.<\/li>\n<li>193.<\/li>\n<li>194.<\/li>\n<li>195.<\/li>\n<li>196.<\/li>\n<li>197.<\/li>\n<li>198.<\/li>\n<li>199.<\/li>\n<li>200.<\/li>\n<li>201.<\/li>\n<li>202.<\/li>\n<li>203.<\/li>\n<li>204.<\/li>\n<li>205.<\/li>\n<li>206.<\/li>\n<li>207.<\/li>\n<li>208.<\/li>\n<li>209.<\/li>\n<li>210.<\/li>\n<li>211.<\/li>\n<li>212.<\/li>\n<li>213.<\/li>\n<li>214.<\/li>\n<li>215.<\/li>\n<\/ul>\n<h5 id=\"h12\">MonitorSystemLog.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n  &lt;BasicLayout :left&#061;&#034;left&#034; :middle&#061;&#034;middle&#034; :right&#061;&#034;right&#034;&gt;<br \/>\n    &lt;template v-slot:right_view&gt;<br \/>\n      &lt;div class&#061;&#034;h-toolbarBg&#034;&gt;<br \/>\n        &lt;!&#8211; &lt;ejs-toolbar :items&#061;&#034;toolbarItems&#034;&gt; &#8211;&gt;<br \/>\n        &lt;ejs-toolbar&gt;<br \/>\n          &lt;e-items&gt;<br \/>\n          &lt;e-item v-if &#061; &#039;isShow_Operation&#039; prefixIcon&#061;&#039;icon hero-icon hero-icon-business-operation&#039; :tooltipText&#061;&#034;$t(&#039;Monitor.systemLog.operation&#039;)&#034; :click&#061;&#034;operationShow&#034;&gt;&lt;\/e-item&gt;<br \/>\n          &lt;e-item v-if &#061; &#039;isShow_Refresh&#039; prefixIcon&#061;&#039;icon hero-icon hero-icon-refresh&#039; :tooltipText&#061;&#034;$t(&#039;Alarm.refresh&#039;)&#034; :click&#061;&#034;refreshGrid&#034;&gt;&lt;\/e-item&gt;<br \/>\n        &lt;\/e-items&gt;<br \/>\n        &lt;\/ejs-toolbar&gt;<br \/>\n        &lt;div class&#061;&#039;h-inputBox&#039;&gt;<br \/>\n          {{$t(&#039;Monitor.task.product&#039;)}}:<br \/>\n          &lt;ejs-dropdownlist :dataSource&#061;&#034;productList&#034; v-model&#061;&#034;product&#034;<br \/>\n              :fields&#061;&#034;fieldsType&#034; name&#061;&#034;productCheck&#034;  &#064;change&#061;&#034;productChange&#034; &gt;&lt;\/ejs-dropdownlist&gt;<br \/>\n        &lt;\/div&gt;<\/p>\n<p>        &lt;div class&#061;&#039;h-inputBox&#039;&gt;<br \/>\n          {{$t(&#039;Monitor.systemLog.logType&#039;)}}:<br \/>\n          &lt;ejs-dropdownlist :dataSource&#061;&#034;logTypeList&#034; v-model&#061;&#034;logType&#034;<br \/>\n              :fields&#061;&#034;fieldsType&#034; name&#061;&#034;logTypeCheck&#034;  &#064;change&#061;&#034;logTypeChange&#034; &gt;&lt;\/ejs-dropdownlist&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;div class&#061;&#034;h100-80 h-scroll&#034;&gt;<br \/>\n        &lt;ejs-grid :dataSource&#061;&#034;monitorSystemLogData&#034; :allowPaging&#061;&#034;true&#034; ref&#061;&#034;grid&#034; :pageSettings&#061;&#034;pageSettings&#034; :height&#061;&#034;screenHeight&#034; :allowExcelExport&#061;&#039;true&#039; &gt;<br \/>\n          &lt;e-columns&gt;<br \/>\n            &lt;!&#8211; &lt;e-column type&#061;&#034;checkbox&#034; width&#061;&#034;50&#034; textAlign&#061;&#034;center&#034;&gt;&lt;\/e-column&gt; &#8211;&gt;<br \/>\n            &lt;e-column field&#061;&#034;id&#034; :visible&#061;&#034;false&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;product&#034; :headerText&#061;&#034;$t(&#039;Monitor.systemLog.product&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;systemInfo&#034; :headerText&#061;&#034;$t(&#039;Monitor.systemLog.systemInfo&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;!&#8211; &lt;e-column field&#061;&#034;processInfo&#034; :headerText&#061;&#034;$t(&#039;Monitor.systemLog.processInfo&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt; &#8211;&gt;<br \/>\n            &lt;e-column field&#061;&#034;logType&#034; :headerText&#061;&#034;$t(&#039;Monitor.systemLog.logType&#039;)&#034; :formatter&#061;&#039;logTypeFormat&#039; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;recordTime&#034; :headerText&#061;&#034;$t(&#039;Monitor.systemLog.recordTime&#039;)&#034; :format&#061;&#034;dateFormat&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#034;EllipsisWithTooltip&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;productStart&#034; :headerText&#061;&#034;$t(&#039;Monitor.systemLog.productStart&#039;)&#034; :format&#061;&#034;dateFormat&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#034;EllipsisWithTooltip&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;productEnd&#034; :headerText&#061;&#034;$t(&#039;Monitor.systemLog.productEnd&#039;)&#034; :format&#061;&#034;dateFormat&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#034;EllipsisWithTooltip&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;message&#034; :headerText&#061;&#034;$t(&#039;Monitor.systemLog.message&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt;<br \/>\n          &lt;\/e-columns&gt;<br \/>\n        &lt;\/ejs-grid&gt;<br \/>\n        &lt;ejs-pager<br \/>\n          ref&#061;&#034;pager&#034;<br \/>\n          :pageSize&#061;&#034;pageSettings.pageSize&#034;<br \/>\n          :pageCount&#061;&#034;page.pageCount&#034;<br \/>\n          :currentPage&#061;&#034;page.pageNo&#034;<br \/>\n          :totalRecordsCount&#061;&#034;page.totalRecordsCount&#034;<br \/>\n          &#064;click&#061;&#034;getMonitorTaskList&#034;<br \/>\n        &gt;&lt;\/ejs-pager&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;CustomDialog ref&#061;&#034;productOperationDialog&#034; v-bind:element&#061;&#034;operatDialog.element&#034; v-bind:styles&#061;&#034;operatDialog.styles&#034; &gt;<br \/>\n        &lt;template v-slot:dialog-content&gt;<br \/>\n          &lt;ProductOperation ref&#061;&#034;productOperationPage&#034;&gt;&lt;\/ProductOperation&gt;<br \/>\n        &lt;\/template&gt;<br \/>\n      &lt;\/CustomDialog&gt;<br \/>\n      &lt;\/template&gt;<br \/>\n  &lt;\/BasicLayout&gt;<br \/>\n&lt;\/template&gt;<br \/>\n&lt;script&gt;<br \/>\nimport CustomDialog from &#034;..\/..\/components\/common\/CustomDialog&#034;;<br \/>\nimport BasicLayout from &#039;..\/..\/layouts\/BasicLayout&#039;;<br \/>\nimport {ExcelExport} from &#039;&#064;syncfusion\/ej2-vue-grids&#039;;<br \/>\nimport ProductOperation from &#039;.\/monitorTask\/productOperation&#039;;<\/p>\n<p>export default {<br \/>\n  name: &#039;monitorSystemLog&#039;,<br \/>\n  provide: {<br \/>\n    grid: [ExcelExport]<br \/>\n  },<br \/>\n  components: {<br \/>\n    CustomDialog,<br \/>\n    BasicLayout,<br \/>\n    ProductOperation,<br \/>\n  },<br \/>\n  data() {<br \/>\n    return {<br \/>\n      isShow_Operation: JSON.parse(sessionStorage.getItem(&#039;authMap&#039;)).monitor_system_log.Operation,<br \/>\n      isShow_Refresh: JSON.parse(sessionStorage.getItem(&#039;authMap&#039;)).monitor_system_log.Refresh,<br \/>\n      monitorSystemLogData: [],<br \/>\n      left: { show: false, name: &#039;&#039; },<br \/>\n      middle: { show: false, name: &#039;&#039; },<br \/>\n      right: { show: true, crumb: &#096;${this.$t(&#039;Security.securityManage&#039;)}&#096;&#043;&#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.monitor&#039;)}&#096; &#043; &#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.systemLog.titleName&#039;)}&#096; },<br \/>\n      toolbarItems: [<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-business-operation&#039;, tooltipText: this.$t(&#039;Monitor.systemLog.operation&#039;), click: this.operationShow },<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-refresh&#039;, tooltipText: this.$t(&#039;Alarm.refresh&#039;), click: this.refreshGrid },<br \/>\n      ],<br \/>\n      product: &#039;&#039;,<br \/>\n      logType: &#039;&#039;,<br \/>\n      productList: [],<br \/>\n      logTypeList: [<br \/>\n        { text: &#096;${this.$t(&#039;MCS.all&#039;)}&#096;, value: &#034;&#034; },<br \/>\n        { text: &#096;${this.$t(&#039;Monitor.systemLog.run&#039;)}&#096;, value: &#034;run&#034; },<br \/>\n        { text: &#096;${this.$t(&#039;Monitor.systemLog.start&#039;)}&#096;, value: &#034;start&#034; },<br \/>\n      ],<br \/>\n      pageSettings: { pageSize: 15 },<br \/>\n      page: {<br \/>\n        pageCount: 4,<br \/>\n        totalRecordsCount: 0,<br \/>\n        pageNo: 1,<br \/>\n      },<br \/>\n      dateFormat: {<br \/>\n        type: &#039;date&#039;, format: &#039;yyyy-MM-dd HH:mm:ss&#039;<br \/>\n      },<br \/>\n      fieldsType: {<br \/>\n          text: &#034;text&#034;,<br \/>\n          value: &#034;value&#034;<br \/>\n      },<br \/>\n      addStatus: true,<br \/>\n      operatDialog: {<br \/>\n        element: {<br \/>\n          target: &#039;#app&#039;,<br \/>\n          isClose: true,<br \/>\n          refName: &#039;productOperationDialog&#039;,<br \/>\n          buttonGroup: [<br \/>\n            {<br \/>\n              click: this.dialogHide,<br \/>\n              buttonModel: { content: &#096;${this.$t(&#039;Common.close&#039;)}&#096; }<br \/>\n            },<br \/>\n          ],<br \/>\n          title: &#096;${this.$t(&#039;Monitor.systemLog.operation&#039;)}&#096;<br \/>\n        },<br \/>\n        styles: {<br \/>\n          width: &#039;500px&#039;,<br \/>\n          height: &#039;500px&#039;,<br \/>\n          model: true,<br \/>\n          visible: false<br \/>\n        }<br \/>\n      },<br \/>\n      screenHeight: document.body.clientHeight &#8211; 240<br \/>\n    };<br \/>\n  },<br \/>\n  mounted() {<br \/>\n    this.getMonitorTaskList();<br \/>\n    this.getProductList();<br \/>\n    let That &#061; this;<br \/>\n  },<br \/>\n  methods: {<br \/>\n    logTypeFormat(grids, data) {<br \/>\n      if(data.logType &#061;&#061; &#039;run&#039;){<br \/>\n        return &#096;${this.$t(&#039;Monitor.systemLog.run&#039;)}&#096;;<br \/>\n      }else if(data.logType &#061;&#061; &#039;start&#039;){<br \/>\n        return &#096;${this.$t(&#039;Monitor.systemLog.start&#039;)}&#096;;<br \/>\n      }<br \/>\n    },<br \/>\n    getMonitorTaskList() {<br \/>\n      const url &#061; &#039;\/lte\/ems\/sys\/monitor\/log\/queryMonitorSysLog&#039;;<br \/>\n      this.page.pageNo &#061; this.$refs.pager.ej2Instances.currentPage;<br \/>\n      const params &#061; { params: {<br \/>\n        product: this.product,<br \/>\n        logType: this.logType,<br \/>\n        pageNo: this.page.pageNo,<br \/>\n        pageSize: this.pageSettings.pageSize<br \/>\n      } };<br \/>\n      const That &#061; this;<br \/>\n      this.axios.get(url, params).then(response &#061;&gt; {<br \/>\n        const result &#061; response.data.result;<br \/>\n        result.forEach((v) &#061;&gt; {<br \/>\n          if (!!v.recordTime) {<br \/>\n            let date &#061; new Date();<br \/>\n            date.setTime(v.recordTime);<br \/>\n            v.recordTime &#061; date;<br \/>\n          }<br \/>\n          if (!!v.productStart) {<br \/>\n            let date &#061; new Date();<br \/>\n            date.setTime(v.productStart);<br \/>\n            v.productStart &#061; date;<br \/>\n          }<br \/>\n          if (!!v.productEnd) {<br \/>\n            let date &#061; new Date();<br \/>\n            date.setTime(v.productEnd);<br \/>\n            v.productEnd &#061; date;<br \/>\n          }<br \/>\n          \/\/ if (v.logType &#061;&#061;&#039;start&#039; &amp;&amp; v.status &#061;&#061; &#039;0&#039;) {<br \/>\n          \/\/   v.productEnd &#061; null;<br \/>\n          \/\/ }<br \/>\n        });<br \/>\n        That.monitorSystemLogData &#061; result;<br \/>\n        That.page.totalRecordsCount &#061; response.data.totalCount;<br \/>\n      });<br \/>\n    },<br \/>\n    productChange(msg){<br \/>\n      this.product &#061; msg.value;<br \/>\n      this.getMonitorTaskList();<br \/>\n    },<br \/>\n    operationShow() {<br \/>\n      this.$refs.productOperationPage.getproductList();<br \/>\n      this.$refs.productOperationDialog.show();<br \/>\n    },<br \/>\n    logTypeChange(msg){<br \/>\n      this.logType &#061; msg.value;<br \/>\n      this.getMonitorTaskList();<br \/>\n    },<br \/>\n    getProductList() {<br \/>\n      this.$axios.get(&#034;\/lte\/ems\/sys\/monitor\/log\/findProducts&#034;).then(response &#061;&gt; {<br \/>\n          let resultVal &#061; response.data.resultVal;<br \/>\n          resultVal &#061; resultVal.filter(item &#061;&gt; !item.includes(&#039;ems_5gc&#039;) &amp;&amp; !item.includes(&#039;ems_gnb&#039;) &amp;&amp; !item.includes(&#039;ems_tr069&#039;));<br \/>\n          this.productList.push({ text: &#096;${this.$t(&#039;MCS.all&#039;)}&#096;, value: &#034;&#034; });<br \/>\n          for (let i &#061; 0; i &lt; resultVal.length; i&#043;&#043;) {<br \/>\n              this.productList.push({<br \/>\n                  text: resultVal[i],<br \/>\n                  value: resultVal[i],<br \/>\n              });<br \/>\n          }<br \/>\n      });<br \/>\n    },<\/p>\n<p>    dialogHide() {<br \/>\n      this.$refs.productOperationDialog.clear();<br \/>\n      this.$refs.productOperationDialog.close();<br \/>\n    },<br \/>\n    filterMonitorTask() {<br \/>\n      this.getMonitorTaskList();<br \/>\n    },<br \/>\n    refreshGrid() {<br \/>\n      this.product&#061;&#039;&#039;;<br \/>\n      this.logType&#061;&#039;&#039;;<br \/>\n      this.getMonitorTaskList();<br \/>\n    },<br \/>\n  },<br \/>\n  watch: {<br \/>\n    screenHeight(val) {<br \/>\n      this.screenHeight &#061; val;<br \/>\n    }<br \/>\n  }<br \/>\n};<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<li>131.<\/li>\n<li>132.<\/li>\n<li>133.<\/li>\n<li>134.<\/li>\n<li>135.<\/li>\n<li>136.<\/li>\n<li>137.<\/li>\n<li>138.<\/li>\n<li>139.<\/li>\n<li>140.<\/li>\n<li>141.<\/li>\n<li>142.<\/li>\n<li>143.<\/li>\n<li>144.<\/li>\n<li>145.<\/li>\n<li>146.<\/li>\n<li>147.<\/li>\n<li>148.<\/li>\n<li>149.<\/li>\n<li>150.<\/li>\n<li>151.<\/li>\n<li>152.<\/li>\n<li>153.<\/li>\n<li>154.<\/li>\n<li>155.<\/li>\n<li>156.<\/li>\n<li>157.<\/li>\n<li>158.<\/li>\n<li>159.<\/li>\n<li>160.<\/li>\n<li>161.<\/li>\n<li>162.<\/li>\n<li>163.<\/li>\n<li>164.<\/li>\n<li>165.<\/li>\n<li>166.<\/li>\n<li>167.<\/li>\n<li>168.<\/li>\n<li>169.<\/li>\n<li>170.<\/li>\n<li>171.<\/li>\n<li>172.<\/li>\n<li>173.<\/li>\n<li>174.<\/li>\n<li>175.<\/li>\n<li>176.<\/li>\n<li>177.<\/li>\n<li>178.<\/li>\n<li>179.<\/li>\n<li>180.<\/li>\n<li>181.<\/li>\n<li>182.<\/li>\n<li>183.<\/li>\n<li>184.<\/li>\n<li>185.<\/li>\n<li>186.<\/li>\n<li>187.<\/li>\n<li>188.<\/li>\n<li>189.<\/li>\n<li>190.<\/li>\n<li>191.<\/li>\n<li>192.<\/li>\n<li>193.<\/li>\n<li>194.<\/li>\n<li>195.<\/li>\n<li>196.<\/li>\n<li>197.<\/li>\n<li>198.<\/li>\n<li>199.<\/li>\n<li>200.<\/li>\n<li>201.<\/li>\n<li>202.<\/li>\n<li>203.<\/li>\n<li>204.<\/li>\n<li>205.<\/li>\n<li>206.<\/li>\n<li>207.<\/li>\n<li>208.<\/li>\n<li>209.<\/li>\n<li>210.<\/li>\n<li>211.<\/li>\n<li>212.<\/li>\n<li>213.<\/li>\n<li>214.<\/li>\n<li>215.<\/li>\n<li>216.<\/li>\n<li>217.<\/li>\n<li>218.<\/li>\n<li>219.<\/li>\n<li>220.<\/li>\n<li>221.<\/li>\n<li>222.<\/li>\n<li>223.<\/li>\n<li>224.<\/li>\n<li>225.<\/li>\n<\/ul>\n<h5 id=\"h13\">MonitorTask.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n  &lt;BasicLayout :left&#061;&#034;left&#034; :middle&#061;&#034;middle&#034; :right&#061;&#034;right&#034;&gt;<br \/>\n    &lt;template v-slot:right_view&gt;<br \/>\n      &lt;div class&#061;&#034;h-toolbarBg&#034;&gt;<br \/>\n        &lt;!&#8211; &lt;ejs-toolbar :items&#061;&#034;toolbarItems&#034;&gt; &#8211;&gt;<br \/>\n          &lt;ejs-toolbar&gt;<br \/>\n            &lt;e-items&gt;<br \/>\n              &lt;e-item  v-if&#061;&#039;isShow_Add&#039; prefixIcon&#061;&#039;icon hero-icon hero-icon-add&#039; :tooltipText&#061;&#034;$t(&#039;Security.add&#039;)&#034; :click&#061;&#034;showAddDialog&#034;&gt;&lt;\/e-item&gt;<br \/>\n              &lt;e-item  v-if&#061;&#039;isShow_Start&#039; prefixIcon&#061;&#039;icon hero-icon hero-icon-start-up&#039; :tooltipText&#061;&#034;$t(&#039;Pm.startUp&#039;)&#034; :click&#061;&#034;activeMonitorTask&#034;&gt;&lt;\/e-item&gt;<br \/>\n              &lt;e-item  v-if&#061;&#039;isShow_Pause&#039; prefixIcon&#061;&#039;icon hero-icon hero-icon-disable&#039; :tooltipText&#061;&#034;$t(&#039;System.deactiveTask&#039;)&#034; :click&#061;&#034;deactiveMonitorTask&#034;&gt;&lt;\/e-item&gt;<br \/>\n              &lt;e-item  v-if&#061;&#039;isShow_Modify&#039; prefixIcon&#061;&#039;icon hero-icon hero-icon-edit&#039; :tooltipText&#061;&#034;$t(&#039;Track.detail&#039;)&#034; :click&#061;&#034;showEditDialog&#034;&gt;&lt;\/e-item&gt;<br \/>\n              &lt;e-item  v-if&#061;&#039;isShow_Delete&#039; prefixIcon&#061;&#039;icon hero-icon hero-icon-remove&#039; :tooltipText&#061;&#034;$t(&#039;Security.delete&#039;)&#034; :click&#061;&#034;deleteMonitorTask&#034;&gt;&lt;\/e-item&gt;<br \/>\n              &lt;e-item  v-if&#061;&#039;isShow_Refresh&#039; prefixIcon&#061;&#039;icon hero-icon hero-icon-refresh&#039; :tooltipText&#061;&#034;$t(&#039;Alarm.refresh&#039;)&#034; :click&#061;&#034;refreshGrid&#034;&gt;&lt;\/e-item&gt;<br \/>\n            &lt;\/e-items&gt;<br \/>\n        &lt;\/ejs-toolbar&gt;<br \/>\n        &lt;div class&#061;&#039;h-inputBox&#039;&gt;<br \/>\n          &lt;ejs-textbox v-model&#061;&#039;keyword&#039; :placeholder&#061;&#039;$t(&#034;Monitor.task.taskName&#034;)&#039; &#064;keyup.enter.native&#061;&#034;filterMonitorTask&#034; maxLength&#061;&#039;20&#039;&gt;&lt;\/ejs-textbox&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;div class&#061;&#034;h100-80 h-scroll&#034;&gt;<br \/>\n        &lt;ejs-grid :dataSource&#061;&#034;monitorTaskData&#034; :allowPaging&#061;&#034;true&#034; ref&#061;&#034;grid&#034; :pageSettings&#061;&#034;pageSettings&#034; :height&#061;&#034;screenHeight&#034; :allowExcelExport&#061;&#039;true&#039; &gt;<br \/>\n          &lt;e-columns&gt;<br \/>\n            &lt;e-column type&#061;&#034;checkbox&#034; width&#061;&#034;50&#034; textAlign&#061;&#034;center&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;id&#034; :visible&#061;&#034;false&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;taskName&#034; :headerText&#061;&#034;$t(&#039;Monitor.task.taskName&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;!&#8211;&lt;e-column field&#061;&#034;product&#034; :headerText&#061;&#034;$t(&#039;Monitor.task.product&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt;&#8211;&gt;<br \/>\n            &lt;e-column field&#061;&#034;sampleStart&#034; :headerText&#061;&#034;$t(&#039;Monitor.task.sampleStart&#039;)&#034; :format&#061;&#034;dateFormat&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#034;EllipsisWithTooltip&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;sampleEnd&#034; :headerText&#061;&#034;$t(&#039;Monitor.task.sampleEnd&#039;)&#034; :format&#061;&#034;dateFormat&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#034;EllipsisWithTooltip&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;exeState&#034; :headerText&#061;&#034;$t(&#039;Monitor.task.exeState&#039;)&#034; :formatter&#061;&#039;exeStateFormat&#039; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt;<br \/>\n          &lt;\/e-columns&gt;<br \/>\n        &lt;\/ejs-grid&gt;<br \/>\n        &lt;ejs-pager<br \/>\n          ref&#061;&#034;pager&#034;<br \/>\n          :pageSize&#061;&#034;pageSettings.pageSize&#034;<br \/>\n          :pageCount&#061;&#034;page.pageCount&#034;<br \/>\n          :currentPage&#061;&#034;page.pageNo&#034;<br \/>\n          :totalRecordsCount&#061;&#034;page.totalRecordsCount&#034;<br \/>\n          &#064;click&#061;&#034;getMonitorTaskList&#034;<br \/>\n        &gt;&lt;\/ejs-pager&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;CustomDialog ref&#061;&#034;addMonitorTaskDialog&#034; v-bind:element&#061;&#034;addDialog.element&#034; v-bind:styles&#061;&#034;addDialog.styles&#034; &gt;<br \/>\n        &lt;template v-slot:dialog-content&gt;<br \/>\n          &lt;AddMonitorTask ref&#061;&#034;addMonitorTaskPage&#034;&gt;&lt;\/AddMonitorTask&gt;<br \/>\n        &lt;\/template&gt;<br \/>\n      &lt;\/CustomDialog&gt;<br \/>\n      &lt;CustomDialog ref&#061;&#034;showMonitorTaskDialog&#034; v-bind:element&#061;&#034;editDialog.element&#034; v-bind:styles&#061;&#034;editDialog.styles&#034; &gt;<br \/>\n        &lt;template v-slot:dialog-content&gt;<br \/>\n          &lt;ShowMonitorTask ref&#061;&#034;showMonitorTaskPage&#034;&gt;&lt;\/ShowMonitorTask&gt;<br \/>\n        &lt;\/template&gt;<br \/>\n      &lt;\/CustomDialog&gt;<br \/>\n      &lt;\/template&gt;<br \/>\n  &lt;\/BasicLayout&gt;<br \/>\n&lt;\/template&gt;<br \/>\n&lt;script&gt;<br \/>\nimport CustomDialog from &#034;..\/..\/components\/common\/CustomDialog&#034;;<br \/>\nimport BasicLayout from &#039;..\/..\/layouts\/BasicLayout&#039;;<br \/>\nimport AddMonitorTask from &#039;.\/monitorTask\/addMonitorTask&#039;;<br \/>\nimport ShowMonitorTask from &#039;.\/monitorTask\/showMonitorTask&#039;;<br \/>\nimport {ExcelExport} from &#039;&#064;syncfusion\/ej2-vue-grids&#039;;<br \/>\nimport {EventBus} from &#034;..\/..\/plugins\/eventBus&#034;;<\/p>\n<p>export default {<br \/>\n  name: &#039;monitorTask&#039;,<br \/>\n  provide: {<br \/>\n    grid: [ExcelExport]<br \/>\n  },<br \/>\n  components: {<br \/>\n    CustomDialog,<br \/>\n    BasicLayout,<br \/>\n    AddMonitorTask,<br \/>\n    ShowMonitorTask,<br \/>\n  },<br \/>\n  data() {<br \/>\n    return {<br \/>\n      isShow_Add: JSON.parse(sessionStorage.getItem(&#039;authMap&#039;)).monitor_task.Add,<br \/>\n      isShow_Start: JSON.parse(sessionStorage.getItem(&#039;authMap&#039;)).monitor_task.Start,<br \/>\n      isShow_Pause: JSON.parse(sessionStorage.getItem(&#039;authMap&#039;)).monitor_task.Pause,<br \/>\n      isShow_Modify: JSON.parse(sessionStorage.getItem(&#039;authMap&#039;)).monitor_task.Modify,<br \/>\n      isShow_Delete: JSON.parse(sessionStorage.getItem(&#039;authMap&#039;)).monitor_task.Delete,<br \/>\n      isShow_Refresh: JSON.parse(sessionStorage.getItem(&#039;authMap&#039;)).monitor_task.Refresh,<br \/>\n      monitorTaskData: [],<br \/>\n      left: { show: false, name: &#039;&#039; },<br \/>\n      middle: { show: false, name: &#039;&#039; },<br \/>\n      right: { show: true, crumb: &#096;${this.$t(&#039;Security.securityManage&#039;)}&#096;&#043;&#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.monitor&#039;)}&#096; &#043; &#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.task.titleName&#039;)}&#096; },<br \/>\n      toolbarItems: [<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-add&#039;, tooltipText: this.$t(&#039;Security.add&#039;), click: this.showAddDialog },<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-start-up&#039;, tooltipText: this.$t(&#039;Pm.startUp&#039;), click: this.activeMonitorTask },<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-disable&#039;, tooltipText: this.$t(&#039;System.deactiveTask&#039;), click: this.deactiveMonitorTask },<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-edit&#039;, tooltipText: this.$t(&#039;Track.detail&#039;), click: this.showEditDialog },<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-remove&#039;, tooltipText: this.$t(&#039;Security.delete&#039;), click: this.deleteMonitorTask },<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-refresh&#039;, tooltipText: this.$t(&#039;Alarm.refresh&#039;), click: this.refreshGrid },<br \/>\n      ],<br \/>\n      keyword: &#039;&#039;,<br \/>\n      pageSettings: { pageSize: 15 },<br \/>\n      page: {<br \/>\n        pageCount: 4,<br \/>\n        totalRecordsCount: 0,<br \/>\n        pageNo: 1,<br \/>\n      },<br \/>\n      dateFormat: {<br \/>\n        type: &#039;date&#039;, format: &#039;yyyy-MM-dd HH:mm:ss&#039;<br \/>\n      },<br \/>\n      addStatus: true,<br \/>\n      addDialog: {<br \/>\n        element: {<br \/>\n          target: &#039;#app&#039;,<br \/>\n          isClose: true,<br \/>\n          refName: &#039;addMonitorTaskDialog&#039;,<br \/>\n          buttonGroup: [<br \/>\n            {<br \/>\n              click: this.dialogHide,<br \/>\n              buttonModel: { content: &#096;${this.$t(&#039;Common.cancel&#039;)}&#096; }<br \/>\n            },<br \/>\n            {<br \/>\n              click: this.addMonitorTask,<br \/>\n              buttonModel: { content: &#096;${this.$t(&#039;Common.ok&#039;)}&#096;, cssClass: &#039;primary-btn&#039; }<br \/>\n            }<br \/>\n          ],<br \/>\n          title: &#096;${this.$t(&#039;Pm.addMonitorTask&#039;)}&#096;<br \/>\n        },<br \/>\n        styles: {<br \/>\n          width: &#039;860px&#039;,<br \/>\n          height: &#039;700px&#039;,<br \/>\n          model: true,<br \/>\n          visible: false<br \/>\n        }<br \/>\n      },<br \/>\n      editDialog: {<br \/>\n        element: {<br \/>\n          target: &#039;#app&#039;,<br \/>\n          isClose: true,<br \/>\n          refName: &#039;showMonitorTaskDialog&#039;,<br \/>\n          buttonGroup: [<br \/>\n            {<br \/>\n              click: this.modiyMonitorTask,<br \/>\n              buttonModel: {content: &#096;${this.$t(&#039;Common.ok&#039;)}&#096;, cssClass: &#039;primary-btn&#039; }<br \/>\n            },<\/p>\n<p>            {<br \/>\n              click: this.dialogHide,<br \/>\n              buttonModel: { content: &#096;${this.$t(&#039;Common.close&#039;)}&#096; }<br \/>\n            },<br \/>\n          ],<br \/>\n          title: &#096;${this.$t(&#039;Pm.updateMonitorTask&#039;)}&#096;<br \/>\n        },<br \/>\n        styles: {<br \/>\n          width: &#039;860px&#039;,<br \/>\n          height: &#039;700px&#039;,<br \/>\n          model: true,<br \/>\n          visible: false<br \/>\n        }<br \/>\n      },<br \/>\n      screenHeight: document.body.clientHeight &#8211; 240<br \/>\n    };<br \/>\n  },<br \/>\n  mounted() {<br \/>\n    this.getMonitorTaskList();<br \/>\n    let That &#061; this;<br \/>\n  },<br \/>\n  methods: {<br \/>\n    exeStateFormat(grids, data) {<br \/>\n      if(data.exeState &#061;&#061; 0){<br \/>\n        return &#096;${this.$t(&#039;Monitor.task.notStarted&#039;)}&#096;;<br \/>\n      }else if(data.exeState &#061;&#061; 1){<br \/>\n        return &#096;${this.$t(&#039;Monitor.task.inUse&#039;)}&#096;;<br \/>\n      }else if(data.exeState &#061;&#061; 2){<br \/>\n        return &#096;${this.$t(&#039;Monitor.task.exeFinish&#039;)}&#096;;<br \/>\n      }else if(data.exeState &#061;&#061; 3){<br \/>\n        return &#096;${this.$t(&#039;System.deactiveTask&#039;)}&#096;;<br \/>\n      }<br \/>\n    },<br \/>\n    getMonitorTaskList() {<br \/>\n      const url &#061; &#039;\/lte\/ems\/sys\/monitor\/task\/query&#039;;<br \/>\n      this.page.pageNo &#061; this.$refs.pager.ej2Instances.currentPage;<br \/>\n      const params &#061; { params: {<br \/>\n        taskName: this.keyword,<br \/>\n        pageNo: this.page.pageNo,<br \/>\n        pageSize: this.pageSettings.pageSize<br \/>\n      } };<br \/>\n      const That &#061; this;<br \/>\n      this.axios.get(url, params).then(response &#061;&gt; {<br \/>\n        const result &#061; response.data.result;<br \/>\n        result.forEach((v) &#061;&gt; {<br \/>\n          if (!!v.sampleStart) {<br \/>\n            let date &#061; new Date();<br \/>\n            date.setTime(v.sampleStart);<br \/>\n            v.sampleStart &#061; date;<br \/>\n          }<br \/>\n          if (!!v.sampleEnd) {<br \/>\n            let date &#061; new Date();<br \/>\n            date.setTime(v.sampleEnd);<br \/>\n            v.sampleEnd &#061; date;<br \/>\n          }<br \/>\n        });<br \/>\n        That.monitorTaskData &#061; result;<br \/>\n        That.page.totalRecordsCount &#061; response.data.totalCount;<br \/>\n      });<br \/>\n    },<br \/>\n    filterMonitorTask() {<br \/>\n      this.getMonitorTaskList();<br \/>\n    },<br \/>\n    getRecord() {<br \/>\n      const result &#061; this.$refs.grid.getSelectedRecords();<br \/>\n      if (result &#061;&#061;&#061; null || result &#061;&#061;&#061; &#039;&#039;) {<br \/>\n        this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Common.tips.noSelect&#039;)}&#096;);<br \/>\n        return null;<br \/>\n      }<br \/>\n      return result;<br \/>\n    },<br \/>\n    showAddDialog() {<br \/>\n      this.$refs.addMonitorTaskPage.init();<br \/>\n      this.$refs.addMonitorTaskDialog.show();<br \/>\n    },<br \/>\n    showEditDialog() {<br \/>\n      const record &#061; this.getRecord();<br \/>\n      if (record.length &#061;&#061;&#061; 0) {<br \/>\n        this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Common.tips.selectOne&#039;)}&#096;);<br \/>\n        return null;<br \/>\n      }<br \/>\n      if (record.length !&#061;&#061; 1) {<br \/>\n        this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Common.tips.onlyOneSelect&#039;)}&#096;);<br \/>\n        return null;<br \/>\n      }<br \/>\n       for(let i&#061;0; i&lt;record.length; i&#043;&#043;){<br \/>\n        if(1&#061;&#061; record[i].exeState){<br \/>\n          this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Monitor.task.activeMonitor&#039;)}&#096;);<br \/>\n          return null;<br \/>\n        }<br \/>\n      }<br \/>\n      this.editId &#061; record[0].id;<br \/>\n      this.$refs.showMonitorTaskPage.init(this.editId);<br \/>\n      this.$refs.showMonitorTaskDialog.show();<br \/>\n    },<br \/>\n    activeMonitorTask() {<br \/>\n      const url &#061; &#034;\/lte\/ems\/sys\/monitor\/task\/active&#034;;<br \/>\n      let record &#061; this.getRecord();<br \/>\n      if (record &#061;&#061; null) {<br \/>\n        return null;<br \/>\n      }<br \/>\n      if (record.length &#061;&#061;&#061; 0) {<br \/>\n        this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Common.tips.selectOne&#039;)}&#096;);<br \/>\n        return null;<br \/>\n      } else if (record.length &gt; 1) {<br \/>\n        EventBus.$emit(&#039;toast&#039;, { type: &#039;warning&#039;, content: this.$t(&#039;DeployManagement.pleaseSelectOneData&#039;) });<br \/>\n        return false;<br \/>\n      }<br \/>\n      for(let i&#061;0; i&lt;record.length; i&#043;&#043;){<br \/>\n        if(3 !&#061;&#061; record[i].exeState){<br \/>\n          this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Monitor.task.activeMonitor&#039;)}&#096;);<br \/>\n          return null;<br \/>\n        }<br \/>\n      }<\/p>\n<p>      for(let i&#061;0; i&lt;this.monitorTaskData.length; i&#043;&#043;){<br \/>\n        if(1 &#061;&#061; this.monitorTaskData[i].exeState){<br \/>\n          this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Monitor.task.oneActiveMonitor&#039;)}&#096;);<br \/>\n          return null;<br \/>\n        }<br \/>\n      }<br \/>\n      let That &#061; this;<br \/>\n      const params &#061; [];<br \/>\n      record.forEach((r, i) &#061;&gt; {<br \/>\n        params.push(r.id);<br \/>\n      });<br \/>\n      var currentDate &#061; new Date();<br \/>\n      if (currentDate &gt; record[0].sampleEnd) {<br \/>\n        That.$parent.showToast(&#039;error&#039;,  &#096;${this.$t(&#039;Common.tips.taskExpired&#039;)}&#096;);<br \/>\n        return null;<br \/>\n      }<br \/>\n      this.axios.post(url, params).then(response &#061;&gt; {<br \/>\n        const result &#061; response.data;<br \/>\n        if(result){<br \/>\n          That.$parent.showToast(&#039;success&#039;, &#096;${this.$t(&#039;Common.tips.success&#039;)}&#096;);<br \/>\n          That.getMonitorTaskList();<br \/>\n        }else{<br \/>\n          That.$parent.showToast(&#039;error&#039;,  &#096;${this.$t(&#039;Common.tips.failure&#039;)}&#096;);<br \/>\n        }<br \/>\n      });<br \/>\n    },<br \/>\n    deactiveMonitorTask() {<br \/>\n      const url &#061; &#034;\/lte\/ems\/sys\/monitor\/task\/deactive&#034;;<br \/>\n      let record &#061; this.getRecord();<br \/>\n      if (record &#061;&#061; null) {<br \/>\n        return null;<br \/>\n      }<br \/>\n      if (record.length &#061;&#061;&#061; 0) {<br \/>\n        this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Common.tips.selectOne&#039;)}&#096;);<br \/>\n        return null;<br \/>\n      }<br \/>\n      for(let i&#061;0; i&lt;record.length; i&#043;&#043;){<br \/>\n        if(1 !&#061;&#061; record[i].exeState){<br \/>\n          this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Monitor.task.deactiveMonitor&#039;)}&#096;);<br \/>\n          return null;<br \/>\n        }<br \/>\n      }<br \/>\n      let That &#061; this;<br \/>\n      const params &#061; [];<br \/>\n      record.forEach((r, i) &#061;&gt; {<br \/>\n        params.push(r.id);<br \/>\n      });<br \/>\n      this.axios.post(url, params).then(response &#061;&gt; {<br \/>\n        const result &#061; response.data;<br \/>\n        if(result){<br \/>\n          That.$parent.showToast(&#039;success&#039;, &#096;${this.$t(&#039;Common.tips.success&#039;)}&#096;);<br \/>\n          That.getMonitorTaskList();<br \/>\n        }else{<br \/>\n          That.$parent.showToast(&#039;error&#039;,  &#096;${this.$t(&#039;Common.tips.failure&#039;)}&#096;);<br \/>\n        }<br \/>\n      });<br \/>\n    },<br \/>\n    deleteMonitorTask() {<br \/>\n      const record &#061; this.getRecord();<br \/>\n      if (record.length &#061;&#061;&#061; 0) {<br \/>\n        this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Common.tips.selectOne&#039;)}&#096;);<br \/>\n        return null;<br \/>\n      }<br \/>\n      for(let i&#061;0; i&lt;record.length; i&#043;&#043;){<br \/>\n        if(1 &#061;&#061;&#061; record[i].exeState){<br \/>\n          this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Monitor.task.deleteMonitor&#039;)}&#096;);<br \/>\n          return null;<br \/>\n        }<br \/>\n      }<br \/>\n      const url &#061; &#039;\/lte\/ems\/sys\/monitor\/task\/delete&#039;;<br \/>\n      const params &#061; [];<br \/>\n      record.forEach((r, i) &#061;&gt; {<br \/>\n        params.push(r.id);<br \/>\n      });<br \/>\n      let That &#061; this;<br \/>\n      this.$layer.confirm({<br \/>\n        msg: &#096;${this.$t(&#039;Common.tips.confirmTip&#039;)}&#096;,<br \/>\n        btn1: {<br \/>\n          msg: &#096;${this.$t(&#039;Common.cancel&#039;)}&#096;<br \/>\n        },<br \/>\n        btn2: {<br \/>\n          msg: &#096;${this.$t(&#039;Common.ok&#039;)}&#096;,<br \/>\n          func: () &#061;&gt; {<br \/>\n            That.axios.post(url, params).then(response &#061;&gt; {<br \/>\n              if (response.data) {<br \/>\n                That.$parent.showToast(&#039;success&#039;, &#096;${this.$t(&#039;Common.tips.success&#039;)}&#096;);<br \/>\n                That.getMonitorTaskList();<br \/>\n              } else {<br \/>\n                That.$parent.showToast(&#039;error&#039;, &#096;${this.$t(&#039;Common.tips.failure&#039;)}&#096;);<br \/>\n              }<br \/>\n            });<br \/>\n          }<br \/>\n        }<br \/>\n      });<br \/>\n    },<br \/>\n    addMonitorTask() {<br \/>\n      let status &#061; this.$refs.addMonitorTaskPage.validation();<br \/>\n      if(!status){<br \/>\n        return;<br \/>\n      }<br \/>\n      const url &#061; &#039;\/lte\/ems\/sys\/monitor\/task\/add&#039;;<br \/>\n      const monitorTaskPo &#061; this.$refs.addMonitorTaskPage.getMonitorTask();<br \/>\n      console.log(&#034;******addMonitorTask-monitorTaskPo:&#034;, monitorTaskPo)<\/p>\n<p>      if(monitorTaskPo &#061;&#061; null) {<br \/>\n        return;<br \/>\n      }<br \/>\n      let That &#061; this;<br \/>\n      this.axios.post(url, monitorTaskPo).then(response &#061;&gt; {<br \/>\n        const result &#061; response.data;<br \/>\n        if(result&#061;&#061;true) {<br \/>\n          That.$parent.showToast(&#039;success&#039;, &#096;${this.$t(&#039;Common.tips.success&#039;)}&#096;);<br \/>\n          That.getMonitorTaskList();<br \/>\n          That.$refs.addMonitorTaskDialog.clear();<br \/>\n          That.$refs.addMonitorTaskDialog.close();<br \/>\n        } else if (result&#061;&#061;false){<br \/>\n          That.$parent.showToast(&#039;error&#039;, &#096;${this.$t(&#039;Common.tips.failure&#039;)}&#096;);<br \/>\n        }else {<br \/>\n          That.$parent.showToast(&#039;error&#039;, &#096;${this.$t(&#039;Security.failureMessage&#039;)}&#096;);<br \/>\n        }<br \/>\n      });<br \/>\n    },<br \/>\n    modiyMonitorTask() {<br \/>\n      let status &#061; this.$refs.showMonitorTaskPage.validation();<br \/>\n      if(!status){<br \/>\n        return;<br \/>\n      }<br \/>\n      const url &#061; &#039;\/lte\/ems\/sys\/monitor\/task\/modify&#039;;<br \/>\n      const monitorTaskPo &#061; this.$refs.showMonitorTaskPage.getMonitorTask();<br \/>\n      console.log(&#034;******modiyMonitorTask-monitorTaskPo:&#034;, monitorTaskPo)<\/p>\n<p>      if(monitorTaskPo &#061;&#061; null) {<br \/>\n        return;<br \/>\n      }<br \/>\n      let That &#061; this;<br \/>\n      this.axios.post(url, monitorTaskPo).then(response &#061;&gt; {<br \/>\n        const result &#061; response.data;<br \/>\n        if(result) {<br \/>\n          That.$parent.showToast(&#039;success&#039;, &#096;${this.$t(&#039;Common.tips.success&#039;)}&#096;);<br \/>\n          That.getMonitorTaskList();<br \/>\n          That.$refs.showMonitorTaskDialog.clear();<br \/>\n          That.$refs.showMonitorTaskDialog.close();<br \/>\n        } else {<br \/>\n          That.$parent.showToast(&#039;error&#039;, &#096;${this.$t(&#039;Common.tips.failure&#039;)}&#096;);<br \/>\n        }<br \/>\n      });<br \/>\n    },<br \/>\n    dialogHide() {<br \/>\n      this.$refs.addMonitorTaskDialog.clear();<br \/>\n      this.$refs.addMonitorTaskDialog.close();<br \/>\n      this.$refs.showMonitorTaskDialog.clear();<br \/>\n      this.$refs.showMonitorTaskDialog.clear();<br \/>\n    },<br \/>\n    refreshGrid() {<br \/>\n      this.keyword&#061;&#039;&#039;;<br \/>\n      this.getMonitorTaskList();<br \/>\n    },<br \/>\n    getCheckedData(selectOnly) {<br \/>\n      \/\/ false: \u4e0d\u652f\u6301\u591a\u9009   true: \u652f\u6301\u591a\u9009<br \/>\n      const selectedRecords &#061; this.$refs.grid.getSelectedRecords();<br \/>\n      if (selectedRecords.length &lt; 1) {<br \/>\n        \/\/ EventBus.$emit(&#039;toast&#039;, {type: &#039;warning&#039;, content: this.$t(&#039;Alarm.no_checked&#039;)});<br \/>\n        this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Alarm.no_checked&#039;)}&#096;);<\/p>\n<p>        return false;<br \/>\n      }<br \/>\n      if (selectedRecords.length &gt; 1 &amp;&amp; !selectOnly) {<br \/>\n        \/\/ EventBus.$emit(&#039;toast&#039;, {type: &#039;warning&#039;, content: this.$t(&#039;Common.tips.onlyOneSelect&#039;)});<br \/>\n        this.$parent.showToast(&#039;warning&#039;,&#096;${this.$t(&#039;Common.tips.onlyOneSelect&#039;)}&#096;);<br \/>\n        return false;<br \/>\n      }<br \/>\n      return selectedRecords;<br \/>\n    },<br \/>\n  },<br \/>\n  watch: {<br \/>\n    screenHeight(val) {<br \/>\n      this.screenHeight &#061; val;<br \/>\n    }<br \/>\n  }<br \/>\n};<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<li>131.<\/li>\n<li>132.<\/li>\n<li>133.<\/li>\n<li>134.<\/li>\n<li>135.<\/li>\n<li>136.<\/li>\n<li>137.<\/li>\n<li>138.<\/li>\n<li>139.<\/li>\n<li>140.<\/li>\n<li>141.<\/li>\n<li>142.<\/li>\n<li>143.<\/li>\n<li>144.<\/li>\n<li>145.<\/li>\n<li>146.<\/li>\n<li>147.<\/li>\n<li>148.<\/li>\n<li>149.<\/li>\n<li>150.<\/li>\n<li>151.<\/li>\n<li>152.<\/li>\n<li>153.<\/li>\n<li>154.<\/li>\n<li>155.<\/li>\n<li>156.<\/li>\n<li>157.<\/li>\n<li>158.<\/li>\n<li>159.<\/li>\n<li>160.<\/li>\n<li>161.<\/li>\n<li>162.<\/li>\n<li>163.<\/li>\n<li>164.<\/li>\n<li>165.<\/li>\n<li>166.<\/li>\n<li>167.<\/li>\n<li>168.<\/li>\n<li>169.<\/li>\n<li>170.<\/li>\n<li>171.<\/li>\n<li>172.<\/li>\n<li>173.<\/li>\n<li>174.<\/li>\n<li>175.<\/li>\n<li>176.<\/li>\n<li>177.<\/li>\n<li>178.<\/li>\n<li>179.<\/li>\n<li>180.<\/li>\n<li>181.<\/li>\n<li>182.<\/li>\n<li>183.<\/li>\n<li>184.<\/li>\n<li>185.<\/li>\n<li>186.<\/li>\n<li>187.<\/li>\n<li>188.<\/li>\n<li>189.<\/li>\n<li>190.<\/li>\n<li>191.<\/li>\n<li>192.<\/li>\n<li>193.<\/li>\n<li>194.<\/li>\n<li>195.<\/li>\n<li>196.<\/li>\n<li>197.<\/li>\n<li>198.<\/li>\n<li>199.<\/li>\n<li>200.<\/li>\n<li>201.<\/li>\n<li>202.<\/li>\n<li>203.<\/li>\n<li>204.<\/li>\n<li>205.<\/li>\n<li>206.<\/li>\n<li>207.<\/li>\n<li>208.<\/li>\n<li>209.<\/li>\n<li>210.<\/li>\n<li>211.<\/li>\n<li>212.<\/li>\n<li>213.<\/li>\n<li>214.<\/li>\n<li>215.<\/li>\n<li>216.<\/li>\n<li>217.<\/li>\n<li>218.<\/li>\n<li>219.<\/li>\n<li>220.<\/li>\n<li>221.<\/li>\n<li>222.<\/li>\n<li>223.<\/li>\n<li>224.<\/li>\n<li>225.<\/li>\n<li>226.<\/li>\n<li>227.<\/li>\n<li>228.<\/li>\n<li>229.<\/li>\n<li>230.<\/li>\n<li>231.<\/li>\n<li>232.<\/li>\n<li>233.<\/li>\n<li>234.<\/li>\n<li>235.<\/li>\n<li>236.<\/li>\n<li>237.<\/li>\n<li>238.<\/li>\n<li>239.<\/li>\n<li>240.<\/li>\n<li>241.<\/li>\n<li>242.<\/li>\n<li>243.<\/li>\n<li>244.<\/li>\n<li>245.<\/li>\n<li>246.<\/li>\n<li>247.<\/li>\n<li>248.<\/li>\n<li>249.<\/li>\n<li>250.<\/li>\n<li>251.<\/li>\n<li>252.<\/li>\n<li>253.<\/li>\n<li>254.<\/li>\n<li>255.<\/li>\n<li>256.<\/li>\n<li>257.<\/li>\n<li>258.<\/li>\n<li>259.<\/li>\n<li>260.<\/li>\n<li>261.<\/li>\n<li>262.<\/li>\n<li>263.<\/li>\n<li>264.<\/li>\n<li>265.<\/li>\n<li>266.<\/li>\n<li>267.<\/li>\n<li>268.<\/li>\n<li>269.<\/li>\n<li>270.<\/li>\n<li>271.<\/li>\n<li>272.<\/li>\n<li>273.<\/li>\n<li>274.<\/li>\n<li>275.<\/li>\n<li>276.<\/li>\n<li>277.<\/li>\n<li>278.<\/li>\n<li>279.<\/li>\n<li>280.<\/li>\n<li>281.<\/li>\n<li>282.<\/li>\n<li>283.<\/li>\n<li>284.<\/li>\n<li>285.<\/li>\n<li>286.<\/li>\n<li>287.<\/li>\n<li>288.<\/li>\n<li>289.<\/li>\n<li>290.<\/li>\n<li>291.<\/li>\n<li>292.<\/li>\n<li>293.<\/li>\n<li>294.<\/li>\n<li>295.<\/li>\n<li>296.<\/li>\n<li>297.<\/li>\n<li>298.<\/li>\n<li>299.<\/li>\n<li>300.<\/li>\n<li>301.<\/li>\n<li>302.<\/li>\n<li>303.<\/li>\n<li>304.<\/li>\n<li>305.<\/li>\n<li>306.<\/li>\n<li>307.<\/li>\n<li>308.<\/li>\n<li>309.<\/li>\n<li>310.<\/li>\n<li>311.<\/li>\n<li>312.<\/li>\n<li>313.<\/li>\n<li>314.<\/li>\n<li>315.<\/li>\n<li>316.<\/li>\n<li>317.<\/li>\n<li>318.<\/li>\n<li>319.<\/li>\n<li>320.<\/li>\n<li>321.<\/li>\n<li>322.<\/li>\n<li>323.<\/li>\n<li>324.<\/li>\n<li>325.<\/li>\n<li>326.<\/li>\n<li>327.<\/li>\n<li>328.<\/li>\n<li>329.<\/li>\n<li>330.<\/li>\n<li>331.<\/li>\n<li>332.<\/li>\n<li>333.<\/li>\n<li>334.<\/li>\n<li>335.<\/li>\n<li>336.<\/li>\n<li>337.<\/li>\n<li>338.<\/li>\n<li>339.<\/li>\n<li>340.<\/li>\n<li>341.<\/li>\n<li>342.<\/li>\n<li>343.<\/li>\n<li>344.<\/li>\n<li>345.<\/li>\n<li>346.<\/li>\n<li>347.<\/li>\n<li>348.<\/li>\n<li>349.<\/li>\n<li>350.<\/li>\n<li>351.<\/li>\n<li>352.<\/li>\n<li>353.<\/li>\n<li>354.<\/li>\n<li>355.<\/li>\n<li>356.<\/li>\n<li>357.<\/li>\n<li>358.<\/li>\n<li>359.<\/li>\n<li>360.<\/li>\n<li>361.<\/li>\n<li>362.<\/li>\n<li>363.<\/li>\n<li>364.<\/li>\n<li>365.<\/li>\n<li>366.<\/li>\n<li>367.<\/li>\n<li>368.<\/li>\n<li>369.<\/li>\n<li>370.<\/li>\n<li>371.<\/li>\n<li>372.<\/li>\n<li>373.<\/li>\n<li>374.<\/li>\n<li>375.<\/li>\n<li>376.<\/li>\n<li>377.<\/li>\n<li>378.<\/li>\n<li>379.<\/li>\n<li>380.<\/li>\n<li>381.<\/li>\n<li>382.<\/li>\n<li>383.<\/li>\n<li>384.<\/li>\n<li>385.<\/li>\n<li>386.<\/li>\n<li>387.<\/li>\n<li>388.<\/li>\n<li>389.<\/li>\n<li>390.<\/li>\n<li>391.<\/li>\n<li>392.<\/li>\n<li>393.<\/li>\n<li>394.<\/li>\n<li>395.<\/li>\n<li>396.<\/li>\n<li>397.<\/li>\n<li>398.<\/li>\n<li>399.<\/li>\n<li>400.<\/li>\n<li>401.<\/li>\n<li>402.<\/li>\n<li>403.<\/li>\n<li>404.<\/li>\n<li>405.<\/li>\n<li>406.<\/li>\n<li>407.<\/li>\n<li>408.<\/li>\n<li>409.<\/li>\n<li>410.<\/li>\n<li>411.<\/li>\n<li>412.<\/li>\n<li>413.<\/li>\n<li>414.<\/li>\n<li>415.<\/li>\n<li>416.<\/li>\n<li>417.<\/li>\n<li>418.<\/li>\n<li>419.<\/li>\n<li>420.<\/li>\n<li>421.<\/li>\n<li>422.<\/li>\n<li>423.<\/li>\n<li>424.<\/li>\n<li>425.<\/li>\n<li>426.<\/li>\n<li>427.<\/li>\n<li>428.<\/li>\n<li>429.<\/li>\n<li>430.<\/li>\n<li>431.<\/li>\n<li>432.<\/li>\n<li>433.<\/li>\n<li>434.<\/li>\n<\/ul>\n<h5 id=\"h14\">MonitorTaskLog.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n  &lt;div class&#061;&#034;h100vh-140&#034;&gt;<br \/>\n      &lt;div class&#061;&#034;h-toolbarBg&#034;&gt;<br \/>\n        &lt;ejs-toolbar :items&#061;&#034;toolbarItems&#034;&gt;<br \/>\n        &lt;!&#8211; &lt;ejs-toolbar&gt;<br \/>\n          &lt;e-items&gt;<br \/>\n          &lt;e-item prefixIcon&#061;&#039;icon hero-icon hero-icon-refresh&#039; tooltipText&#061;&#034;$t(&#039;Alarm.refresh&#039;)&#034; :click&#061;&#034;refreshGrid&#034;&gt;&lt;\/e-item&gt;<br \/>\n        &lt;\/e-items&gt;  &#8211;&gt;<br \/>\n        &lt;\/ejs-toolbar&gt;<br \/>\n        &lt;!&#8211;&lt;div class&#061;&#039;h-inputBox&#039;&gt;&#8211;&gt;<br \/>\n        &lt;!&#8211;  &lt;ejs-dropdownlist :dataSource&#061;&#034;productList&#034; v-model&#061;&#034;product&#034;&#8211;&gt;<br \/>\n        &lt;!&#8211;      :fields&#061;&#034;fieldsType&#034; name&#061;&#034;productCheck&#034;  &#064;change&#061;&#034;productChange&#034; &gt;&lt;\/ejs-dropdownlist&gt;&#8211;&gt;<br \/>\n        &lt;!&#8211;&lt;\/div&gt;&#8211;&gt;<br \/>\n        &lt;div class&#061;&#034;h-inputBox&#034;&gt;<br \/>\n               {{$t(&#039;Monitor.task.sampleStart&#039;)}}:<br \/>\n              &lt;ejs-datetimepicker ref&#061;&#034;dataStart&#034; class&#061;&#034;e-input e-disabled e-input-group&#034; name&#061;&#034;StartDate&#034;<br \/>\n              :format&#061;&#034;dateFormat.format&#034; v-model&#061;&#034;monitorTask.sampleStart&#034; :locale&#061;&#034;locale&#034;  &#064;change&#061;&#034;getMonitorTaskList&#034; &gt;&lt;\/ejs-datetimepicker&gt;<\/p>\n<p>              {{$t(&#039;Monitor.task.sampleEnd&#039;)}}:<br \/>\n              &lt;ejs-datetimepicker ref&#061;&#034;dataEnd&#034; class&#061;&#034;e-input e-disabled e-input-group&#034; name&#061;&#034;EndDate&#034;<br \/>\n              :format&#061;&#034;dateFormat.format&#034; v-model&#061;&#034;monitorTask.sampleEnd&#034; :locale&#061;&#034;locale&#034;   &#064;change&#061;&#034;getMonitorTaskList&#034;&gt;&lt;\/ejs-datetimepicker&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n      &lt;div class&#061;&#034;h100-80 h-scroll&#034;&gt;<br \/>\n        &lt;ejs-grid :dataSource&#061;&#034;monitorTaskLogData&#034; :allowPaging&#061;&#034;true&#034; ref&#061;&#034;grid&#034; :pageSettings&#061;&#034;pageSettings&#034; :height&#061;&#034;screenHeight&#034; :allowExcelExport&#061;&#039;true&#039; &gt;<br \/>\n          &lt;e-columns&gt;<br \/>\n            &lt;!&#8211; &lt;e-column type&#061;&#034;checkbox&#034; width&#061;&#034;50&#034; textAlign&#061;&#034;center&#034;&gt;&lt;\/e-column&gt; &#8211;&gt;<br \/>\n            &lt;e-column field&#061;&#034;id&#034; :visible&#061;&#034;false&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;!&#8211;&lt;e-column field&#061;&#034;product&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.product&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt;&#8211;&gt;<br \/>\n            &lt;e-column field&#061;&#034;systemInfo&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.systemInfo&#039;)&#034; width&#061;&#034;240&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;!&#8211; &lt;e-column field&#061;&#034;taskId&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.taskId&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034;&gt;&lt;\/e-column&gt; &#8211;&gt;<br \/>\n            &lt;e-column field&#061;&#034;recoreTime&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.recoreTime&#039;)&#034; :format&#061;&#034;dateFormat&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#034;EllipsisWithTooltip&#034;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;cpu&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.cpu&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;cpuThreshold&#034; :visible&#061;&#034;false&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.cpuThreshold&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;memory&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.memory&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;memoryThreshold&#034; :visible&#061;&#034;false&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.memoryThreshold&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;space&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.diskSpace&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;spaceThreshold&#034; :visible&#061;&#034;false&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.diskSpaceThreshold&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;networkRxRate&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.networkRxRate&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;networkTxRate&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.networkTxRate&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;iopsKbRead&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.IOPSKbRead&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;iopsKbWrite&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.IOPSKbWrite&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;queueOperands&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.queueOperands&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;databaseDiskSpaceIsUsed&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.databaseDiskSpaceIsUsed&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n            &lt;e-column field&#061;&#034;snmpAlarmDataSize&#034; :headerText&#061;&#034;$t(&#039;Monitor.record.snmpAlarmDataSize&#039;)&#034; width&#061;&#034;120&#034; textAlign&#061;&#034;Center&#034; clipMode&#061;&#039;EllipsisWithTooltip&#039;&gt;&lt;\/e-column&gt;<br \/>\n          &lt;\/e-columns&gt;<br \/>\n        &lt;\/ejs-grid&gt;<br \/>\n        &lt;ejs-pager<br \/>\n          ref&#061;&#034;pager&#034;<br \/>\n          :pageSize&#061;&#034;pageSettings.pageSize&#034;<br \/>\n          :pageCount&#061;&#034;page.pageCount&#034;<br \/>\n          :currentPage&#061;&#034;page.pageNo&#034;<br \/>\n          :totalRecordsCount&#061;&#034;page.totalRecordsCount&#034;<br \/>\n          &#064;click&#061;&#034;getMonitorTaskList&#034;<br \/>\n        &gt;&lt;\/ejs-pager&gt;<br \/>\n      &lt;\/div&gt;<br \/>\n  &lt;\/div&gt;<br \/>\n&lt;\/template&gt;<br \/>\n&lt;script&gt;<br \/>\nimport {ExcelExport} from &#039;&#064;syncfusion\/ej2-vue-grids&#039;;<\/p>\n<p>export default {<br \/>\n  name: &#039;monitorSystemLog&#039;,<br \/>\n  provide: {<br \/>\n    grid: [ExcelExport]<br \/>\n  },<br \/>\n  components: {<br \/>\n  },<br \/>\n  data() {<br \/>\n    return {<br \/>\n      isShow_Refresh: JSON.parse(sessionStorage.getItem(&#039;authMap&#039;)).monitor_system_log.Refresh,<br \/>\n      monitorTaskLogData: [],<br \/>\n      left: { show: false, name: &#039;&#039; },<br \/>\n      middle: { show: false, name: &#039;&#039; },<br \/>\n      right: { show: true, crumb: &#096;${this.$t(&#039;Security.securityManage&#039;)}&#096;&#043;&#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.monitor&#039;)}&#096; &#043; &#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.record.titleName&#039;)}&#096; },<br \/>\n      toolbarItems: [<br \/>\n        { prefixIcon: &#039;icon hero-icon hero-icon-refresh&#039;, tooltipText: this.$t(&#039;Alarm.refresh&#039;), click: this.refreshGrid },<br \/>\n      ],<br \/>\n      locale: localStorage.getItem(&#039;locale&#039;),<br \/>\n      product: &#039;&#039;,<br \/>\n      productList: [],<br \/>\n      pageSettings: { pageSize: 15 },<br \/>\n      page: {<br \/>\n        pageCount: 4,<br \/>\n        totalRecordsCount: 0,<br \/>\n        pageNo: 1,<br \/>\n      },<br \/>\n      monitorTask: {<br \/>\n                    taskName: &#039;&#039;,<br \/>\n                    product: &#039;PLATFORM&#039;,<br \/>\n                    sampleStart: &#039;&#039;,<br \/>\n                    sampleEnd: &#039;&#039;,<br \/>\n                },<br \/>\n      dateFormat: {<br \/>\n        type: &#039;date&#039;, format: &#039;yyyy-MM-dd HH:mm:ss&#039;<br \/>\n      },<br \/>\n      fieldsType: {<br \/>\n          text: &#034;text&#034;,<br \/>\n          value: &#034;value&#034;<br \/>\n      },<br \/>\n      addStatus: true,<br \/>\n      screenHeight: document.body.clientHeight &#8211; 240<br \/>\n    };<br \/>\n  },<br \/>\n  mounted() {<br \/>\n    this.getMonitorTaskList();<br \/>\n    this.getProductList();<br \/>\n    let That &#061; this;<br \/>\n  },<br \/>\n  methods: {<br \/>\n    typeFormat(grids, data) {<br \/>\n      if(data.exeCycle &#061;&#061; &#039;run&#039;){<br \/>\n        return &#096;${this.$t(&#039;Monitor.record.run&#039;)}&#096;;<br \/>\n      }else if(data.exeCycle &#061;&#061; &#039;start&#039;){<br \/>\n        return &#096;${this.$t(&#039;Monitor.record.start&#039;)}&#096;;<br \/>\n      }<br \/>\n    },<br \/>\n    getMonitorTaskList() {<br \/>\n      const url &#061; &#039;\/lte\/ems\/sys\/monitor\/log\/queryMonitorTaskLog&#039;;<br \/>\n      this.page.pageNo &#061; this.$refs.pager.ej2Instances.currentPage;<br \/>\n      const params &#061; { params: {<br \/>\n        product: this.product,<br \/>\n        pageNo: this.page.pageNo,<br \/>\n        pageSize: this.pageSettings.pageSize,<br \/>\n        startTime:this.monitorTask.sampleStart&#061;&#061;&#039;&#039; ? &#039;&#039; : Date.parse(this.monitorTask.sampleStart),<br \/>\n        endTime:this.monitorTask.sampleEnd&#061;&#061;&#039;&#039; ? &#039;&#039; : Date.parse(this.monitorTask.sampleEnd)<br \/>\n      } };<br \/>\n      const That &#061; this;<br \/>\n      this.axios.get(url, params).then(response &#061;&gt; {<br \/>\n        const result &#061; response.data.result;<br \/>\n        result.forEach((v) &#061;&gt; {<br \/>\n          if (!!v.recoreTime) {<br \/>\n            let date &#061; new Date();<br \/>\n            date.setTime(v.recoreTime);<br \/>\n            v.recoreTime &#061; date;<br \/>\n          }<br \/>\n        });<br \/>\n        That.monitorTaskLogData &#061; result;<br \/>\n        That.page.totalRecordsCount &#061; response.data.totalCount;<br \/>\n      });<br \/>\n    },<br \/>\n    productChange(msg){<br \/>\n      this.product &#061; msg.value;<br \/>\n      this.getMonitorTaskList();<br \/>\n    },<br \/>\n    getProductList() {<br \/>\n      this.$axios.get(&#034;\/lte\/ems\/sys\/monitor\/log\/findProducts&#034;).then(response &#061;&gt; {<br \/>\n          let resultVal &#061; response.data.resultVal;<br \/>\n          resultVal &#061; resultVal.filter(item &#061;&gt; !item.includes(&#039;ems_5gc&#039;) &amp;&amp; !item.includes(&#039;ems_gnb&#039;) &amp;&amp; !item.includes(&#039;ems_tr069&#039;));<br \/>\n          this.productList.push({ text: &#034;All&#034;, value: &#034;&#034; });<br \/>\n          for (let i &#061; 0; i &lt; resultVal.length; i&#043;&#043;) {<br \/>\n              this.productList.push({<br \/>\n                  text: resultVal[i],<br \/>\n                  value: resultVal[i],<br \/>\n              });<br \/>\n          }<br \/>\n      });<br \/>\n    },<br \/>\n    filterMonitorTask() {<br \/>\n      this.getMonitorTaskList();<br \/>\n    },<br \/>\n    refreshGrid() {<br \/>\n      this.product&#061;&#039;&#039;;<br \/>\n      this.getMonitorTaskList();<br \/>\n    },<br \/>\n  },<br \/>\n  watch: {<br \/>\n    screenHeight(val) {<br \/>\n      this.screenHeight &#061; val;<br \/>\n    }<br \/>\n  }<br \/>\n};<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<li>131.<\/li>\n<li>132.<\/li>\n<li>133.<\/li>\n<li>134.<\/li>\n<li>135.<\/li>\n<li>136.<\/li>\n<li>137.<\/li>\n<li>138.<\/li>\n<li>139.<\/li>\n<li>140.<\/li>\n<li>141.<\/li>\n<li>142.<\/li>\n<li>143.<\/li>\n<li>144.<\/li>\n<li>145.<\/li>\n<li>146.<\/li>\n<li>147.<\/li>\n<li>148.<\/li>\n<li>149.<\/li>\n<li>150.<\/li>\n<li>151.<\/li>\n<li>152.<\/li>\n<li>153.<\/li>\n<li>154.<\/li>\n<li>155.<\/li>\n<li>156.<\/li>\n<li>157.<\/li>\n<li>158.<\/li>\n<li>159.<\/li>\n<li>160.<\/li>\n<li>161.<\/li>\n<li>162.<\/li>\n<li>163.<\/li>\n<li>164.<\/li>\n<li>165.<\/li>\n<li>166.<\/li>\n<li>167.<\/li>\n<li>168.<\/li>\n<li>169.<\/li>\n<li>170.<\/li>\n<li>171.<\/li>\n<li>172.<\/li>\n<li>173.<\/li>\n<\/ul>\n<h5 id=\"h15\">RealtimeCpuMonitor.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n    &lt;div class&#061;&#039;h100vh-150 h-normalBg&#039;&gt;<br \/>\n        &lt;div class&#061;&#039;h-ainfoBg&#039;&gt;<br \/>\n            &lt;div class&#061;&#039;h-ainfo&#039;&gt;<br \/>\n                &lt;span class&#061;&#039;icon hero-icon hero-icon-detailcode&#039;&gt;&lt;\/span&gt;<br \/>\n                &lt;span&gt;{{$t(&#039;Monitor.realTimeMonitoring.CPUUtilization&#039;)}}&#xff1a; {{ CPUUtilization }}%&lt;\/span&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#039;h-normalContainter&#039;&gt;<br \/>\n                &lt;div class&#061;&#039;row h-nomargin h-full-container width-100vw h100-80&#039;&gt;<br \/>\n                    &lt;div id&#061;&#039;cpuMonitor&#039; class&#061;&#039;width-100vw h100&#039; style&#061;&#034;height:599px&#034;&gt;&lt;\/div&gt;<br \/>\n                &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n    &lt;\/div&gt;<br \/>\n&lt;\/template&gt;<br \/>\n&lt;script&gt;<br \/>\nimport echarts from &#039;echarts&#039;;<\/p>\n<p>export default{<br \/>\n    name: &#034;realtimeCpuMonitor&#034;,<br \/>\n    data() {<br \/>\n        return {<br \/>\n            data: [],<br \/>\n            charts: &#034;&#034;,<br \/>\n            app: {},<br \/>\n            myChart: null,<br \/>\n            xData: [],<br \/>\n            CPUUtilization: 0<br \/>\n        };<br \/>\n    },<br \/>\n    methods: {<br \/>\n        initData() {<br \/>\n            this.myChart &#061; echarts.init(document.getElementById(&#039;cpuMonitor&#039;));<br \/>\n            for (var i&#061;0;i&lt;12;i&#043;&#043;){<br \/>\n                if(i&#061;&#061;11){<br \/>\n                    this.xData.push(&#039;0&#039;);<br \/>\n                }else if (i&#061;&#061;0){<br \/>\n                    this.xData.push(&#039;60s&#039;)<br \/>\n                }else{<br \/>\n                    this.xData.push(&#039;&#039;);<br \/>\n                }<br \/>\n                this.data.push(&#039;-&#039;);<br \/>\n            }<br \/>\n            let option &#061; this.getChartOption();<br \/>\n            if (option &amp;&amp; typeof option &#061;&#061;&#061; &#039;object&#039;) {<br \/>\n                this.myChart.setOption(option);<br \/>\n            }<br \/>\n        },<br \/>\n        random(min,max){<br \/>\n            return Math.floor(Math.random()*(max-min))&#043;min;<br \/>\n        },<br \/>\n        randomData() {<br \/>\n            return this.random(20,60);<br \/>\n        },<br \/>\n        getMonitorData(CPUUtilization) {<br \/>\n            this.CPUUtilization&#061;CPUUtilization;<br \/>\n            if(this.data.length&gt;&#061;12){<br \/>\n                this.data.shift();<br \/>\n            }<br \/>\n            this.data.push(CPUUtilization);<br \/>\n            this.myChart.clear();<br \/>\n            this.myChart.setOption(this.getChartOption(),true);<br \/>\n            this.myChart.resize();<br \/>\n        },<br \/>\n        getChartOption() {<br \/>\n            const option &#061; {<br \/>\n                title: {<br \/>\n                    text: &#039;&#039;<br \/>\n                },<br \/>\n                tooltip: {<br \/>\n                    trigger: &#039;axis&#039;,<br \/>\n                    formatter: function (params) {<br \/>\n                    return params[0].value;<br \/>\n                    },<br \/>\n                    axisPointer: {<br \/>\n                    animation: false<br \/>\n                    }<br \/>\n                },<br \/>\n                xAxis: {<br \/>\n                    type: &#039;category&#039;,<br \/>\n                    data: this.xData,<br \/>\n                    boundaryGap: false<br \/>\n                },<br \/>\n                yAxis: {<br \/>\n                    name: &#034;%&#034;,<br \/>\n                    type: &#039;value&#039;,<br \/>\n                    min: 0,<br \/>\n                    max: 100,<br \/>\n                    axisLabel: {<br \/>\n                        formatter: &#039;{value}&#039;<br \/>\n                    }<br \/>\n                },<br \/>\n                series: [<br \/>\n                    {<br \/>\n                        type: &#039;line&#039;,<br \/>\n                        areaStyle: {<br \/>\n                            color: {<br \/>\n                                type: &#039;linear&#039;,<br \/>\n                                x: 0,<br \/>\n                                y: 0,<br \/>\n                                x2: 0,<br \/>\n                                y2: 1,<br \/>\n                                colorStops: [<br \/>\n                                    {<br \/>\n                                        offset: 0,<br \/>\n                                        color: &#039;rgb(232,248,252)&#039;<br \/>\n                                    },<br \/>\n                                    {<br \/>\n                                        offset: 1,<br \/>\n                                        color: &#039;rgb(203,227,243)&#039;<br \/>\n                                    }<br \/>\n                                ],<br \/>\n                                global: false<br \/>\n                            }<br \/>\n                        },<br \/>\n                        data: this.data,<br \/>\n                        lineStyle: {<br \/>\n                            color: &#039;#4097c9&#039;<br \/>\n                        }<br \/>\n                    }<br \/>\n                ]<br \/>\n            };<br \/>\n            return option;<br \/>\n        }<br \/>\n    },<br \/>\n    mounted() {<br \/>\n        this.initData();<br \/>\n    }<br \/>\n}<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<\/ul>\n<h5 id=\"h16\">RealtimeDiskMonitor.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n    &lt;div class&#061;&#039;h100vh-150 h-normalBg&#039;&gt;<br \/>\n        &lt;div class&#061;&#039;h-ainfoBg&#039;&gt;<br \/>\n            &lt;div class&#061;&#039;h-ainfo&#039;&gt;<br \/>\n                &lt;span class&#061;&#039;icon hero-icon hero-icon-detailcode&#039;&gt;&lt;\/span&gt;<br \/>\n                &lt;span&gt;{{$t(&#039;Monitor.realTimeMonitoring.diskSize&#039;)}}&#xff1a; {{ diskSize }}GB&lt;\/span&gt;<br \/>\n                &lt;span&gt;{{$t(&#039;Monitor.realTimeMonitoring.diskUsage&#039;)}}&#xff1a; {{ diskUsage }}GB&lt;\/span&gt;<br \/>\n                &lt;span&gt;{{$t(&#039;Monitor.realTimeMonitoring.diskUtilization&#039;)}}&#xff1a; {{ diskUtilization }}%&lt;\/span&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#039;h-normalContainter&#039;&gt;<br \/>\n                &lt;div class&#061;&#039;row h-nomargin h-full-container width-100vw h100-80&#039;&gt;<br \/>\n                    &lt;div id&#061;&#039;diskMonitor&#039; class&#061;&#039;width-100vw h100&#039; style&#061;&#034;height:599px&#034;&gt;&lt;\/div&gt;<br \/>\n                &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n    &lt;\/div&gt;<br \/>\n&lt;\/template&gt;<br \/>\n&lt;script&gt;<br \/>\nimport echarts from &#039;echarts&#039;;<\/p>\n<p>export default{<br \/>\n    name: &#034;realtimeMemoryMonitor&#034;,<br \/>\n    data() {<br \/>\n        return {<br \/>\n          data: [],<br \/>\n          charts: &#034;&#034;,<br \/>\n          app: {},<br \/>\n          myChart: null,<br \/>\n          xData: [],<br \/>\n          diskSize: 0,<br \/>\n          diskUsage: 0,<br \/>\n          diskUtilization: 0,<br \/>\n        };<br \/>\n    },<br \/>\n    methods: {<br \/>\n        initData() {<br \/>\n            this.myChart &#061; echarts.init(document.getElementById(&#039;diskMonitor&#039;));<br \/>\n            for (var i&#061;0;i&lt;12;i&#043;&#043;){<br \/>\n                if(i&#061;&#061;11){<br \/>\n                    this.xData.push(&#039;0&#039;);<br \/>\n                }else if (i&#061;&#061;0){<br \/>\n                    this.xData.push(&#039;60s&#039;)<br \/>\n                }else{<br \/>\n                    this.xData.push(&#039;&#039;);<br \/>\n                }<br \/>\n                this.data.push(&#039;-&#039;);<br \/>\n            }<br \/>\n            let option &#061; this.getChartOption();<br \/>\n            if (option &amp;&amp; typeof option &#061;&#061;&#061; &#039;object&#039;) {<br \/>\n                this.myChart.setOption(option);<br \/>\n            }<br \/>\n            this.getMonitorData();<br \/>\n        },<br \/>\n        random(min,max){<br \/>\n            return Math.floor(Math.random()*(max-min))&#043;min;<br \/>\n        },<br \/>\n        randomData() {<br \/>\n            return this.random(5600,7000);<br \/>\n        },<br \/>\n        getMonitorData(diskSize, diskUsage, diskUtilization) {<br \/>\n          this.diskSize &#061; diskSize;<br \/>\n          this.diskUsage &#061; diskUsage;<br \/>\n          this.diskUtilization &#061; diskUtilization;<br \/>\n          if(this.data.length &gt;&#061; 12){<br \/>\n            this.data.shift();<br \/>\n          }<br \/>\n          this.data.push(diskUsage);<br \/>\n          this.myChart.clear();<br \/>\n          this.myChart.setOption(this.getChartOption(),true);<br \/>\n          this.myChart.resize();<br \/>\n        },<br \/>\n        getChartOption() {<br \/>\n            const option &#061; {<br \/>\n                title: {<br \/>\n                    text: &#039;&#039;<br \/>\n                },<br \/>\n                tooltip: {<br \/>\n                    trigger: &#039;axis&#039;,<br \/>\n                    formatter: function (params) {<br \/>\n                    return params[0].value;<br \/>\n                    },<br \/>\n                    axisPointer: {<br \/>\n                    animation: false<br \/>\n                    }<br \/>\n                },<br \/>\n                xAxis: {<br \/>\n                    type: &#039;category&#039;,<br \/>\n                    data: this.xData,<br \/>\n                    boundaryGap: false<br \/>\n                },<br \/>\n                yAxis: {<br \/>\n                    name: &#034;GB&#034;,<br \/>\n                    type: &#039;value&#039;,<br \/>\n                    axisLabel: {<br \/>\n                        formatter: &#039;{value}&#039;<br \/>\n                    }<br \/>\n                },<br \/>\n                series: [<br \/>\n                    {<br \/>\n                        type: &#039;line&#039;,<br \/>\n                        areaStyle: {<br \/>\n                            color: {<br \/>\n                                type: &#039;linear&#039;,<br \/>\n                                x: 0,<br \/>\n                                y: 0,<br \/>\n                                x2: 0,<br \/>\n                                y2: 1,<br \/>\n                                colorStops: [<br \/>\n                                    {<br \/>\n                                        offset: 0,<br \/>\n                                        color: &#039;rgb(220,236,203)&#039;<br \/>\n                                    },<br \/>\n                                    {<br \/>\n                                        offset: 1,<br \/>\n                                        color: &#039;rgb(196,228,172)&#039;<br \/>\n                                    }<br \/>\n                                ],<br \/>\n                                global: false<br \/>\n                            }<br \/>\n                        },<br \/>\n                        data: this.data,<br \/>\n                        lineStyle: {<br \/>\n                            color: &#039;#4da40d&#039;<br \/>\n                        }<br \/>\n                    }<br \/>\n                ]<br \/>\n            };<br \/>\n            return option;<br \/>\n        }<br \/>\n    },<br \/>\n    mounted() {<br \/>\n        this.initData();<br \/>\n    },<br \/>\n    beforeDestroy() {<br \/>\n        try {<br \/>\n            clearInterval(this.clock);<br \/>\n        } catch (e) {<br \/>\n            console.log(e);<br \/>\n        }<br \/>\n    }<br \/>\n}<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<li>131.<\/li>\n<li>132.<\/li>\n<li>133.<\/li>\n<li>134.<\/li>\n<li>135.<\/li>\n<li>136.<\/li>\n<li>137.<\/li>\n<li>138.<\/li>\n<li>139.<\/li>\n<li>140.<\/li>\n<li>141.<\/li>\n<li>142.<\/li>\n<\/ul>\n<h5 id=\"h17\">RealtimeMemoryMonitor.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n    &lt;div class&#061;&#039;h100vh-150 h-normalBg&#039;&gt;<br \/>\n        &lt;div class&#061;&#039;h-ainfoBg&#039;&gt;<br \/>\n          &lt;div class&#061;&#039;h-ainfo&#039;&gt;<br \/>\n            &lt;span class&#061;&#039;icon hero-icon hero-icon-detailcode&#039;&gt;&lt;\/span&gt;<br \/>\n            &lt;span&gt;{{$t(&#039;Monitor.realTimeMonitoring.memoryTotal&#039;)}}&#xff1a; {{ memoryTotal }}GB&lt;\/span&gt;<br \/>\n            &lt;span&gt;{{$t(&#039;Monitor.realTimeMonitoring.memoryUsage&#039;)}}&#xff1a; {{ memoryUsage }}GB&lt;\/span&gt;<br \/>\n            &lt;span&gt;{{$t(&#039;Monitor.realTimeMonitoring.memoryUtilization&#039;)}}&#xff1a; {{ memoryUsageRatio }}%&lt;\/span&gt;<br \/>\n          &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n        &lt;div class&#061;&#039;h-normalContainter&#039;&gt;<br \/>\n                &lt;div class&#061;&#039;row h-nomargin h-full-container width-100vw h100-80&#039;&gt;<br \/>\n                    &lt;div id&#061;&#039;memoryMonitor&#039; class&#061;&#039;width-100vw h100&#039; style&#061;&#034;height:599px&#034;&gt;&lt;\/div&gt;<br \/>\n                &lt;\/div&gt;<br \/>\n        &lt;\/div&gt;<br \/>\n    &lt;\/div&gt;<br \/>\n&lt;\/template&gt;<br \/>\n&lt;script&gt;<br \/>\nimport echarts from &#039;echarts&#039;;<\/p>\n<p>export default{<br \/>\n    name: &#034;realtimeMemoryMonitor&#034;,<br \/>\n    data() {<br \/>\n        return {<br \/>\n          data: [],<br \/>\n          charts: &#034;&#034;,<br \/>\n          app: {},<br \/>\n          myChart: null,<br \/>\n          xData: [],<br \/>\n          memoryUsage: 0,<br \/>\n          memoryTotal: 0,<br \/>\n          memoryUsageRatio: 0,<br \/>\n        };<br \/>\n    },<br \/>\n    methods: {<br \/>\n        initData() {<br \/>\n            this.myChart &#061; echarts.init(document.getElementById(&#039;memoryMonitor&#039;));<br \/>\n            for (var i&#061;0;i&lt;12;i&#043;&#043;){<br \/>\n                if(i&#061;&#061;11){<br \/>\n                    this.xData.push(&#039;0&#039;);<br \/>\n                }else if (i&#061;&#061;0){<br \/>\n                    this.xData.push(&#039;60s&#039;)<br \/>\n                }else{<br \/>\n                    this.xData.push(&#039;&#039;);<br \/>\n                }<br \/>\n                this.data.push(&#039;-&#039;);<br \/>\n            }<br \/>\n            let option &#061; this.getChartOption();<br \/>\n            if (option &amp;&amp; typeof option &#061;&#061;&#061; &#039;object&#039;) {<br \/>\n                this.myChart.setOption(option);<br \/>\n            }<br \/>\n        },<br \/>\n        random(min,max){<br \/>\n            return Math.floor(Math.random()*(max-min))&#043;min;<br \/>\n        },<br \/>\n        randomData() {<br \/>\n            return this.random(5600,7000);<br \/>\n        },<br \/>\n        getMonitorData(memoryTotal, memoryUsage, memoryUsageRatio) {<br \/>\n          this.memoryTotal &#061; memoryTotal;<br \/>\n          this.memoryUsage &#061; memoryUsage;<br \/>\n          this.memoryUsageRatio &#061; memoryUsageRatio;<br \/>\n          if(this.data.length&gt;&#061;12){<br \/>\n            this.data.shift();<br \/>\n          }<br \/>\n          this.data.push(memoryUsage);<br \/>\n          this.myChart.clear();<br \/>\n          this.myChart.setOption(this.getChartOption(),true);<br \/>\n          this.myChart.resize();<br \/>\n        },<br \/>\n        getChartOption() {<br \/>\n            const option &#061; {<br \/>\n                title: {<br \/>\n                    text: &#039;&#039;<br \/>\n                },<br \/>\n                tooltip: {<br \/>\n                    trigger: &#039;axis&#039;,<br \/>\n                    formatter: function (params) {<br \/>\n                    return params[0].value;<br \/>\n                    },<br \/>\n                    axisPointer: {<br \/>\n                    animation: false<br \/>\n                    }<br \/>\n                },<br \/>\n                xAxis: {<br \/>\n                    type: &#039;category&#039;,<br \/>\n                    data: this.xData,<br \/>\n                    boundaryGap: false<br \/>\n                },<br \/>\n                yAxis: {<br \/>\n                    name: &#034;GB&#034;,<br \/>\n                    type: &#039;value&#039;,<br \/>\n                    axisLabel: {<br \/>\n                        formatter: &#039;{value}&#039;<br \/>\n                    }<br \/>\n                },<br \/>\n                series: [<br \/>\n                    {<br \/>\n                        type: &#039;line&#039;,<br \/>\n                        areaStyle: {<br \/>\n                            color: {<br \/>\n                                type: &#039;linear&#039;,<br \/>\n                                x: 0,<br \/>\n                                y: 0,<br \/>\n                                x2: 0,<br \/>\n                                y2: 1,<br \/>\n                                colorStops: [<br \/>\n                                    {<br \/>\n                                        offset: 0,<br \/>\n                                        color: &#039;rgb(244,234,246)&#039;<br \/>\n                                    },<br \/>\n                                    {<br \/>\n                                        offset: 1,<br \/>\n                                        color: &#039;rgb(209,169,220)&#039;<br \/>\n                                    }<br \/>\n                                ],<br \/>\n                                global: false<br \/>\n                            }<br \/>\n                        },<br \/>\n                        data: this.data,<br \/>\n                        lineStyle: {<br \/>\n                            color: &#039;#8d29a8&#039;<br \/>\n                        }<br \/>\n                    }<br \/>\n                ]<br \/>\n            };<br \/>\n            return option;<br \/>\n        }<br \/>\n    },<br \/>\n    mounted() {<br \/>\n        this.initData();<br \/>\n    }<br \/>\n}<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<li>131.<\/li>\n<li>132.<\/li>\n<li>133.<\/li>\n<li>134.<\/li>\n<\/ul>\n<h5 id=\"h18\">RealtimeMonitor.vue<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &lt;template&gt;<br \/>\n    &lt;BasicLayout :left&#061;&#034;left&#034; :middle&#061;&#034;middle&#034; :right&#061;&#034;right&#034;&gt;<br \/>\n        &lt;template v-slot:right_view&gt;<br \/>\n            &lt;div class&#061;&#034;h-outTabs&#034;&gt;<br \/>\n                &lt;ejs-tab ref&#061;&#034;tabObj&#034; id&#061;&#034;tab_orientation&#034; heightAdjustMode&#061;&#034;Auto&#034; :selected&#061;&#039;selected&#039; :selectedItem&#061;&#034;0&#034;&gt;<br \/>\n                  &lt;e-tabitems&gt;<br \/>\n                    &lt;e-tabitem :header&#061;&#034;headerText1&#034; content&#061;&#034;#idv1&#034;&gt;&lt;\/e-tabitem&gt;<br \/>\n                    &lt;e-tabitem :header&#061;&#034;headerText2&#034; content&#061;&#034;#idv2&#034;&gt;&lt;\/e-tabitem&gt;<br \/>\n                    &lt;e-tabitem :header&#061;&#034;headerText3&#034; content&#061;&#034;#idv3&#034;&gt;&lt;\/e-tabitem&gt;<br \/>\n                    &lt;e-tabitem :header&#061;&#034;headerText4&#034; content&#061;&#034;#idv4&#034;&gt;&lt;\/e-tabitem&gt;<br \/>\n                  &lt;\/e-tabitems&gt;<br \/>\n                &lt;\/ejs-tab&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n            &lt;div id&#061;&#034;idv1&#034; style&#061;&#034;display: none&#034;&gt;<br \/>\n              &lt;MonitorTaskLog&gt;&lt;\/MonitorTaskLog&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n            &lt;div id&#061;&#034;idv2&#034; style&#061;&#034;display: none&#034;&gt;<br \/>\n              &lt;RealtimeCpuMonitor ref&#061;&#039;realtimeCpuMonitor&#039;&gt;&lt;\/RealtimeCpuMonitor&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n            &lt;div id&#061;&#034;idv3&#034; style&#061;&#034;display: none&#034;&gt;<br \/>\n              &lt;RealtimeMemoryMonitor ref&#061;&#039;realtimeMemoryMonitor&#039;&gt;&lt;\/RealtimeMemoryMonitor&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n            &lt;div id&#061;&#034;idv4&#034; style&#061;&#034;display: none&#034;&gt;<br \/>\n              &lt;RealtimeDiskMonitor ref&#061;&#039;realtimeDiskMonitor&#039;&gt;&lt;\/RealtimeDiskMonitor&gt;<br \/>\n            &lt;\/div&gt;<br \/>\n        &lt;\/template&gt;<br \/>\n    &lt;\/BasicLayout&gt;<br \/>\n&lt;\/template&gt;<br \/>\n&lt;script&gt;<br \/>\nimport BasicLayout from &#039;..\/..\/layouts\/BasicLayout&#039;;<br \/>\nimport RealtimeCpuMonitor from &#039;.\/RealtimeCpuMonitor&#039;;<br \/>\nimport RealtimeMemoryMonitor from &#039;.\/RealtimeMemoryMonitor&#039;;<br \/>\nimport RealtimeDiskMonitor from &#039;.\/RealtimeDiskMonitor&#039;;<br \/>\nimport socketInstance from &#039;..\/..\/plugins\/stompSock&#039;;<br \/>\nimport MonitorTaskLog from &#039;..\/..\/views\/monitor\/MonitorTaskLog&#039;;<\/p>\n<p>export default{<br \/>\n    name: &#034;realtimeMonitor&#034;,<br \/>\n    components: {<br \/>\n        MonitorTaskLog,<br \/>\n        BasicLayout,<br \/>\n        RealtimeCpuMonitor,<br \/>\n        RealtimeMemoryMonitor,<br \/>\n        RealtimeDiskMonitor<br \/>\n    },<br \/>\n    data() {<br \/>\n        return {<br \/>\n            left: { show: false, name: &#039;&#039; },<br \/>\n            middle: { show: false, name: &#039;&#039; },<br \/>\n            right: { show: true, crumb: &#096;${this.$t(&#039;Security.securityManage&#039;)}&#096;&#043;&#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.monitor&#039;)}&#096; &#043; &#039;\/&#039; &#043; &#096;${this.$t(&#039;Monitor.realTimeMonitoring.crumb&#039;)}&#096; },<br \/>\n            headerText1: { text: &#096;${this.$t(&#039;Monitor.record.titleName&#039;)}&#096; },<br \/>\n            headerText2: { text: &#096;${this.$t(&#039;Monitor.realTimeMonitoring.CPUUtilization&#039;)}&#096; },<br \/>\n            headerText3: { text: &#096;${this.$t(&#039;Monitor.realTimeMonitoring.memoryUsage&#039;)}&#096; },<br \/>\n            headerText4: { text: &#096;${this.$t(&#039;Monitor.realTimeMonitoring.diskUsage&#039;)}&#096;},<br \/>\n            websocketSetting: [<br \/>\n                { topic: &#039;\/user\/#\/realTimeMonitoring&#039;, clientId: &#039;monitoring&#039;, callback: this.websocketCallback }<br \/>\n            ],<br \/>\n        };<br \/>\n    },<br \/>\n    methods: {<br \/>\n        selected(args){<br \/>\n            const index &#061; args.selectedIndex;<br \/>\n            if (index &#061;&#061;&#061; 0) {<br \/>\n            } else {<br \/>\n            }<br \/>\n        },<br \/>\n        websocketInit() {<br \/>\n            socketInstance.init(this.websocketSetting);<br \/>\n        },<br \/>\n        websocketCallback(msg) {<br \/>\n            const data &#061; JSON.parse(msg.body);<br \/>\n            const CPUUtilization &#061; data.CPUUsage;<br \/>\n            this.$refs.realtimeCpuMonitor.getMonitorData(CPUUtilization);<br \/>\n            const memoryTotal &#061; data.memoryTotal;<br \/>\n            const memoryUsage &#061; data.memoryUsage;<br \/>\n            const memoryUsageRatio &#061; data.memoryUsageRatio;<br \/>\n            this.$refs.realtimeMemoryMonitor.getMonitorData(memoryTotal, memoryUsage, memoryUsageRatio);<br \/>\n            const diskTotal &#061; data.diskTotal;<br \/>\n            const diskUsage &#061; data.diskUsage;<br \/>\n            const diskUtilization &#061; data.diskUsageRatio;<br \/>\n            this.$refs.realtimeDiskMonitor.getMonitorData(diskTotal, diskUsage, diskUtilization);<br \/>\n        }<br \/>\n    },<br \/>\n    mounted() {<br \/>\n        this.websocketInit();<br \/>\n    },<br \/>\n    beforeDestroy() {<br \/>\n        for (let i &#061; 0; i &lt; this.websocketSetting.length; i&#043;&#043;) {<br \/>\n            socketInstance.stopReceiveTopicMsg(this.websocketSetting[i].clientId, this.websocketSetting[i].topic);<br \/>\n        }<br \/>\n    }<br \/>\n}<br \/>\n&lt;\/script&gt; <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<\/ul>\n<h4 id=\"h19\">\u540e\u7aef<\/h4>\n<h5 id=\"h20\">en_US.js<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &#034;record&#034;: {<br \/>\n      &#034;systemInfo&#034;: &#034;System Info&#034;,<br \/>\n      &#034;product&#034;: &#034;Product&#034;,<br \/>\n      &#034;memory&#034;: &#034;Memory Usage Threshold(%)&#034;,<br \/>\n      &#034;titleName&#034;: &#034;System Monitor Record&#034;,<br \/>\n      &#034;recoreTime&#034;: &#034;Record Time&#034;,<br \/>\n      &#034;memoryThreshold&#034;: &#034;Memory Usage Threshold(%)&#034;,<br \/>\n      &#034;cpuThreshold&#034;: &#034;Cpu Usage Threshold(%)&#034;,<br \/>\n      &#034;diskSpaceThreshold&#034;: &#034;Disk Space Usage Threshold(%)&#034;,<br \/>\n      &#034;diskSpace&#034;: &#034;Disk Space Usage Threshold(%)&#034;,<br \/>\n      &#034;cpu&#034;: &#034;Cpu Usage Threshold(%)&#034;,<br \/>\n      &#034;taskId&#034;: &#034;Task ID&#034;,<br \/>\n      &#034;networkRxRate&#034;: &#034;Network Rx Rate\/s&#034;,<br \/>\n      &#034;networkTxRate&#034;: &#034;Network Tx Rate\/s&#034;,<br \/>\n      &#034;IOPSKbRead&#034;: &#034;IOPS kB_read\/s&#034;,<br \/>\n      &#034;IOPSKbWrite&#034;: &#034;IOPS kB_wrtn\/s&#034;,<br \/>\n      &#034;queueOperands&#034;: &#034;Total number of stored queue operations\/s&#034;,<br \/>\n      &#034;databaseDiskSpaceIsUsed&#034;: &#034;Database disk space used in the file system&#034;,<br \/>\n      &#034;snmpAlarmDataSize&#034;: &#034;SBI alarm number\/s&#034;,<br \/>\n    }, <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<\/ul>\n<h5 id=\"h21\">zh_CN.js<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       &#034;record&#034;: {<br \/>\n      &#034;systemInfo&#034;: &#034;\u7cfb\u7edf\u4fe1\u606f&#034;,<br \/>\n      &#034;product&#034;: &#034;\u4ea7\u54c1&#034;,<br \/>\n      &#034;memory&#034;: &#034;\u5185\u5b58\u4f7f\u7528\u7387\u9608\u503c(%)&#034;,<br \/>\n      &#034;titleName&#034;: &#034;\u7cfb\u7edf\u76d1\u63a7\u8bb0\u5f55&#034;,<br \/>\n      &#034;recoreTime&#034;: &#034;\u8bb0\u5f55\u65f6\u95f4&#034;,<br \/>\n      &#034;memoryThreshold&#034;: &#034;\u5185\u5b58\u4f7f\u7528\u7387\u9608\u503c(%)&#034;,<br \/>\n      &#034;cpuThreshold&#034;: &#034;Cpu\u4f7f\u7528\u7387\u9608\u503c(%)&#034;,<br \/>\n      &#034;diskSpaceThreshold&#034;: &#034;\u78c1\u76d8\u7a7a\u95f4\u4f7f\u7528\u7387\u9608\u503c(%)&#034;,<br \/>\n      &#034;diskSpace&#034;: &#034;\u78c1\u76d8\u7a7a\u95f4\u4f7f\u7528\u7387\u9608\u503c(%)&#034;,<br \/>\n      &#034;cpu&#034;: &#034;Cpu\u4f7f\u7528\u7387\u9608\u503c(%)&#034;,<br \/>\n      &#034;taskId&#034;: &#034;\u4efb\u52a1id&#034;,<br \/>\n      &#034;networkRxRate&#034;: &#034;\u7f51\u7edc\u63a5\u6536\u6570\u636e\u5305\u901f\u7387\/s&#034;,<br \/>\n      &#034;networkTxRate&#034;: &#034;\u7f51\u7edc\u53d1\u9001\u6570\u636e\u5305\u901f\u7387\/s&#034;,<br \/>\n      &#034;IOPSKbRead&#034;: &#034;IOPS\u8bfb\u53d6\u6570\u636e\u91cf\/s&#034;,<br \/>\n      &#034;IOPSKbWrite&#034;: &#034;IOPS\u5199\u5165\u6570\u636e\u91cf\/s&#034;,<br \/>\n      &#034;queueOperands&#034;: &#034;\u5b58\u50a8\u961f\u5217\u64cd\u4f5c\u603b\u6570\/s&#034;,<br \/>\n      &#034;databaseDiskSpaceIsUsed&#034;: &#034;\u6587\u4ef6\u7cfb\u7edf\u4e2d\u6570\u636e\u5e93\u78c1\u76d8\u7a7a\u95f4\u5360\u7528\u5927\u5c0f&#034;,<br \/>\n      &#034;snmpAlarmDataSize&#034;: &#034;\u5357\u5411\u544a\u8b66\u6570\u91cf\/s&#034;,<br \/>\n    }, <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<\/ul>\n<h5 id=\"h22\">MonitorTaskController<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       package com.hero.lte.ems.monitor.controller;<\/p>\n<p>import com.alibaba.fastjson.JSONObject;<br \/>\nimport com.hero.lte.ems.db.orm.mybatis.Page;<br \/>\nimport com.hero.lte.ems.monitor.entity.MonitorTask;<br \/>\nimport com.hero.lte.ems.monitor.entity.po.MonitorTaskPo;<br \/>\nimport com.hero.lte.ems.monitor.entity.po.MonitorThresholdPo;<br \/>\nimport com.hero.lte.ems.monitor.eunm.MonitorTaskStateEnum;<br \/>\nimport com.hero.lte.ems.monitor.service.IMonitorTaskService;<br \/>\nimport com.hero.lte.ems.monitor.take.MonitorTaskExe;<br \/>\nimport com.hero.lte.ems.monitor.util.UUIDGennerator;<br \/>\nimport com.hero.lte.ems.security.entity.Account;<br \/>\nimport com.hero.lte.ems.security.entity.Log;<br \/>\nimport com.hero.lte.ems.security.service.ILogService;<br \/>\nimport io.swagger.annotations.Api;<br \/>\nimport org.apache.shiro.SecurityUtils;<br \/>\nimport org.apache.shiro.subject.Subject;<br \/>\nimport org.slf4j.Logger;<br \/>\nimport org.slf4j.LoggerFactory;<br \/>\nimport org.springframework.beans.factory.annotation.Autowired;<br \/>\nimport org.springframework.scheduling.annotation.Scheduled;<br \/>\nimport org.springframework.web.bind.annotation.RequestBody;<br \/>\nimport org.springframework.web.bind.annotation.RequestMapping;<br \/>\nimport org.springframework.web.bind.annotation.RequestMethod;<br \/>\nimport org.springframework.web.bind.annotation.ResponseBody;<br \/>\nimport org.springframework.web.bind.annotation.RestController;<\/p>\n<p>import java.io.BufferedReader;<br \/>\nimport java.io.File;<br \/>\nimport java.io.FileReader;<br \/>\nimport java.io.IOException;<br \/>\nimport java.nio.file.Files;<br \/>\nimport java.security.MessageDigest;<br \/>\nimport java.security.NoSuchAlgorithmException;<br \/>\nimport java.util.HashMap;<br \/>\nimport java.util.List;<br \/>\nimport java.util.Map;<\/p>\n<p>\/**<br \/>\n * &#064;author l22898<br \/>\n *\/<br \/>\n&#064;Api(value &#061; &#034;MonitorTaskController&#034;,tags&#061;{&#034;\u7cfb\u7edf\u76d1\u63a7\u4efb\u52a1&#034;})<br \/>\n&#064;RestController<br \/>\n&#064;RequestMapping(&#034;\/lte\/ems\/sys\/monitor\/task\/&#034;)<br \/>\npublic class MonitorTaskController {<\/p>\n<p>    private static final Logger logger &#061; LoggerFactory.getLogger(MonitorTaskController.class);<\/p>\n<p>    &#064;Autowired<br \/>\n    private IMonitorTaskService monitorTaskService;<\/p>\n<p>    &#064;Autowired<br \/>\n    private ILogService logService;<\/p>\n<p>    private String monitorFilePath &#061; &#034;\/home\/ems\/ems_eam\/conf\/monitorFiles.properties&#034;;<br \/>\n    private String checkoutFilePath &#061; &#034;\/home\/ems\/ems_eam\/conf\/checkout.properties&#034;;<\/p>\n<p>    &#064;ResponseBody<br \/>\n    &#064;RequestMapping(value &#061; &#034;query&#034;, method &#061; RequestMethod.GET)<br \/>\n    public Page&lt;MonitorTask&gt; getPmGnbReportTaskList(MonitorTask monitorTask, Page&lt;MonitorTask&gt; page){<br \/>\n        Long currentTimeMillis &#061; System.currentTimeMillis();<br \/>\n        boolean expired &#061; false;<br \/>\n        Page&lt;MonitorTask&gt; pageReturn &#061; new Page&lt;&gt;();<br \/>\n        try{<br \/>\n            page.setParam(monitorTask);<br \/>\n            pageReturn &#061; monitorTaskService.getMonitorTaskList(page);<br \/>\n            for (MonitorTask task : pageReturn.getResult()) {<br \/>\n                if (task.getExeState() !&#061; 3 &amp;&amp; currentTimeMillis &gt; task.getSampleEnd()) {<br \/>\n                    expired &#061; true;<br \/>\n                    task.setExeState(3);<br \/>\n                    monitorTaskService.updateMonitorTask(task);<br \/>\n                }<br \/>\n            }<br \/>\n            if (expired) {<br \/>\n                pageReturn &#061; monitorTaskService.getMonitorTaskList(page);<br \/>\n            }<\/p>\n<p>        }catch (Exception e){<br \/>\n            logger.error(&#034;\u7cfb\u7edf\u76d1\u63a7\u4efb\u52a1\u67e5\u8be2\u5931\u8d25&#034; ,e);<br \/>\n        }<br \/>\n        return pageReturn;<br \/>\n    }<\/p>\n<p>    &#064;ResponseBody<br \/>\n    &#064;RequestMapping(value &#061; &#034;queryId&#034;, method &#061; RequestMethod.GET)<br \/>\n    public MonitorTaskPo getPmGnbReportTask(String id){<br \/>\n        MonitorTaskPo monitorTaskPo &#061; new MonitorTaskPo();<br \/>\n        try{<br \/>\n            \/\/\u67e5\u8be2\u4efb\u52a1<br \/>\n            MonitorTask monitorTask &#061; monitorTaskService.getMonitorTask(id);<br \/>\n            JSONObject jsonObject &#061; JSONObject.parseObject(monitorTask.getThreshold());<br \/>\n            MonitorThresholdPo monitorThresholdPo &#061; JSONObject.toJavaObject(jsonObject, MonitorThresholdPo.class);<br \/>\n            monitorTaskPo.setMonitorTask(monitorTask);<br \/>\n            monitorTaskPo.setMonitorThresholdPo(monitorThresholdPo);<br \/>\n        }catch (Exception e){<br \/>\n            logger.error(&#034;\u7cfb\u7edf\u76d1\u63a7\u4efb\u52a1\u67e5\u8be2\u5931\u8d25&#034; ,e);<br \/>\n        }<br \/>\n        return monitorTaskPo;<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u65b0\u589e<br \/>\n     * &#064;param monitorTaskPo<br \/>\n     * &#064;returnwq<br \/>\n     *\/<br \/>\n    &#064;ResponseBody<br \/>\n    &#064;RequestMapping(value &#061; &#034;add&#034;, method &#061; RequestMethod.POST)<br \/>\n    public String insertMonitorTask(&#064;RequestBody MonitorTaskPo monitorTaskPo) {<br \/>\n        String result &#061; &#034;true&#034;;<br \/>\n        try {<br \/>\n            if(monitorTaskPo &#061;&#061; null){<br \/>\n                return &#034;false&#034;;<br \/>\n            }<br \/>\n            MonitorTask monitorTask &#061; monitorTaskPo.getMonitorTask();<br \/>\n            String taskName &#061; monitorTask.getTaskName();<br \/>\n            \/\/\u6839\u636e\u4efb\u52a1\u540d\u79f0\u67e5\u8be2\u662f\u5426\u5b58\u5728<br \/>\n            List&lt;MonitorTask&gt; monitorTasks &#061; monitorTaskService.queryDataByTaskName(taskName);<br \/>\n            if(monitorTasks.size() &gt; 0){<br \/>\n                logger.error(&#034;\u4efb\u52a1\u540d\u79f0\u91cd\u590d&#034;);<br \/>\n                return &#034;Duplicate task name.&#034;;<br \/>\n            }<br \/>\n            monitorTask.setId(UUIDGennerator.generator());<br \/>\n            monitorTask.setExeState(MonitorTaskStateEnum.IN_SUSPEND.getCode());<br \/>\n            monitorTask.setThreshold(JSONObject.toJSONString(monitorTaskPo.getMonitorThresholdPo()));<br \/>\n            monitorTaskService.insertMonitorTask(monitorTask);<br \/>\n            MonitorTaskExe.setMonitorTaskMap(monitorTask);<br \/>\n        } catch (Exception e) {<br \/>\n            logger.error(&#034;\u7cfb\u7edf\u76d1\u63a7\u4efb\u52a1\u65b0\u589e\u5931\u8d25&#034; ,e);<br \/>\n            result &#061; &#034;false&#034;;<br \/>\n        }finally {<br \/>\n            Subject subject &#061; SecurityUtils.getSubject();<br \/>\n            Account account;<br \/>\n            if (subject !&#061; null) {<br \/>\n                account &#061; (Account) subject.getPrincipal();<br \/>\n                String username &#061; account.getUsername();<br \/>\n                String userId &#061; account.getUserId();<br \/>\n                String ip &#061; account.getIp();<br \/>\n                int status;<br \/>\n                if(result.equals(&#034;true&#034;)){<br \/>\n                     status &#061; 1;<br \/>\n                }else {<br \/>\n                     status &#061; 2;<br \/>\n                }<br \/>\n                this.addOperateLog(userId,username,status,&#034;res.create_monitor_task&#034;,ip,&#034;Create a system monitoring task.&#034;);<br \/>\n            }<\/p>\n<p>        }<br \/>\n        return result;<br \/>\n    }<\/p>\n<p>    &#064;ResponseBody<br \/>\n    &#064;RequestMapping(value &#061; &#034;modify&#034;, method &#061; RequestMethod.POST)<br \/>\n    public boolean updateMonitorTask(&#064;RequestBody MonitorTaskPo monitorTaskPo) {<br \/>\n        boolean result &#061; true;<br \/>\n        try {<br \/>\n            if(monitorTaskPo &#061;&#061; null){<br \/>\n                return false;<br \/>\n            }<br \/>\n            MonitorTask monitorTask &#061; monitorTaskPo.getMonitorTask();<br \/>\n            MonitorTask modifyResult &#061; monitorTaskService.getMonitorTask(monitorTask.getId());<br \/>\n            monitorTask.setExeState(modifyResult.getExeState());<br \/>\n            monitorTask.setThreshold(JSONObject.toJSONString(monitorTaskPo.getMonitorThresholdPo()));<br \/>\n            monitorTaskService.updateMonitorTask(monitorTask);<br \/>\n            MonitorTaskExe.setMonitorTaskMap(monitorTask);<br \/>\n        } catch (Exception e) {<br \/>\n            logger.error(&#034;\u7cfb\u7edf\u76d1\u63a7\u4efb\u52a1\u4fee\u6539\u5931\u8d25&#034; ,e);<br \/>\n            result &#061; false;<br \/>\n        }finally {<br \/>\n            Subject subject &#061; SecurityUtils.getSubject();<br \/>\n            Account account;<br \/>\n            if (subject !&#061; null) {<br \/>\n                account &#061; (Account) subject.getPrincipal();<br \/>\n                String username &#061; account.getUsername();<br \/>\n                String userId &#061; account.getUserId();<br \/>\n                String ip &#061; account.getIp();<br \/>\n                int status;<br \/>\n                if(result){<br \/>\n                    status &#061; 1;<br \/>\n                }else {<br \/>\n                    status &#061; 2;<br \/>\n                }<br \/>\n                this.addOperateLog(userId,username,status,&#034;res.modify_monitor_task&#034;,ip,&#034;Modify a system monitoring task.&#034;);<br \/>\n            }<br \/>\n        }<\/p>\n<p>        return result;<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u6682\u505c<br \/>\n     * &#064;param idList<br \/>\n     * &#064;return<br \/>\n     *\/<br \/>\n    &#064;ResponseBody<br \/>\n    &#064;RequestMapping(value &#061; &#034;deactive&#034;, method &#061; RequestMethod.POST)<br \/>\n    public boolean deactiveMonitorTask(&#064;RequestBody List&lt;String&gt; idList) {<br \/>\n        boolean result &#061; true;<br \/>\n        try {<br \/>\n            if(idList !&#061; null &amp;&amp; idList.size() &gt; 0){<br \/>\n                monitorTaskService.deactiveMonitorTask(idList);<br \/>\n            }<br \/>\n            MonitorTaskExe.deactiveMonitorTaskMap(idList);<br \/>\n        } catch (Exception e) {<br \/>\n            logger.error(&#034;\u7cfb\u7edf\u76d1\u63a7\u4efb\u52a1\u6682\u505c\u5931\u8d25&#034; ,e);<br \/>\n            result &#061; false;<br \/>\n        }<br \/>\n        return result;<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u542f\u52a8<br \/>\n     * &#064;param idList<br \/>\n     * &#064;return<br \/>\n     *\/<br \/>\n    &#064;ResponseBody<br \/>\n    &#064;RequestMapping(value &#061; &#034;active&#034;, method &#061; RequestMethod.POST)<br \/>\n    public boolean activeMonitorTask(&#064;RequestBody List&lt;String&gt; idList) {<br \/>\n        boolean result &#061; true;<br \/>\n        try {<br \/>\n            if(idList !&#061; null &amp;&amp; idList.size() &gt; 0){<br \/>\n                monitorTaskService.activeMonitorTask(idList);<br \/>\n            }<br \/>\n            MonitorTaskExe.activeMonitorTaskMap(idList);<br \/>\n        } catch (Exception e) {<br \/>\n            logger.error(&#034;\u7cfb\u7edf\u76d1\u63a7\u4efb\u52a1\u542f\u52a8\u5931\u8d25&#034; ,e);<br \/>\n            result &#061; false;<br \/>\n        }<br \/>\n        return result;<br \/>\n    }<\/p>\n<p>    \/**<br \/>\n     * \u5220\u9664<br \/>\n     * &#064;param idList<br \/>\n     * &#064;id<br \/>\n     *\/<br \/>\n    &#064;ResponseBody<br \/>\n    &#064;RequestMapping(value &#061; &#034;delete&#034;, method &#061; RequestMethod.POST)<br \/>\n    public boolean delete(&#064;RequestBody List&lt;String&gt; idList) {<br \/>\n        boolean result &#061; true;<br \/>\n        try {<br \/>\n            if(idList !&#061; null &amp;&amp; idList.size() &gt; 0){<br \/>\n                monitorTaskService.deleteMonitorTask(idList);<br \/>\n            }<br \/>\n            MonitorTaskExe.deleteMonitorTaskMap(idList);<br \/>\n        } catch (Exception e) {<br \/>\n            logger.error(&#034;\u7cfb\u7edf\u76d1\u63a7\u4efb\u52a1\u5220\u9664\u5931\u8d25&#034; ,e);<br \/>\n            result &#061; false;<br \/>\n        }finally {<br \/>\n            Subject subject &#061; SecurityUtils.getSubject();<br \/>\n            Account account;<br \/>\n            if (subject !&#061; null) {<br \/>\n                account &#061; (Account) subject.getPrincipal();<br \/>\n                String username &#061; account.getUsername();<br \/>\n                String userId &#061; account.getUserId();<br \/>\n                String ip &#061; account.getIp();<br \/>\n                int status;<br \/>\n                if(result){<br \/>\n                    status &#061; 1;<br \/>\n                }else {<br \/>\n                    status &#061; 2;<br \/>\n                }<br \/>\n                this.addOperateLog(userId,username,status,&#034;res.delete_monitor_task&#034;,ip,&#034;Delete a system monitoring task.&#034;);<br \/>\n            }<br \/>\n        }<br \/>\n        return result;<br \/>\n    }<\/p>\n<p>    &#064;Scheduled(cron &#061; &#034;0 1 0 * * ?&#034;)<br \/>\n    public void modifyExpiredTaskStatus() {<br \/>\n        logger.info(&#034;-modifyExpiredTaskStatus-begin&#034;);<br \/>\n        Long currentTimeMillis &#061; System.currentTimeMillis();<br \/>\n        List&lt;MonitorTask&gt; list &#061; monitorTaskService.getMonitorTaskAll();<br \/>\n        for (MonitorTask task : list) {<br \/>\n            if (task.getExeState() !&#061; 3 &amp;&amp; currentTimeMillis &gt; task.getSampleEnd()) {<br \/>\n                task.setExeState(3);<br \/>\n                monitorTaskService.updateMonitorTask(task);<br \/>\n            }<br \/>\n        }<br \/>\n    }<\/p>\n<p>    public void addOperateLog(String userId,String userName,int updateStatus,String featureId,String ip,String ExecData){<br \/>\n        Log log &#061; new Log();<br \/>\n        log.setAccountId(userId);<br \/>\n        log.setAccountName(userName);<br \/>\n        log.setModuleId(&#034;res.security#res.system_monitor#res.monitor_task&#034;);<br \/>\n        log.setFeatureId(featureId);<br \/>\n        log.setExecTime(System.currentTimeMillis());<br \/>\n        log.setExecType(2);<br \/>\n        log.setResult(updateStatus);<br \/>\n        \/\/  Create a system monitoring task<br \/>\n        \/\/  Modify a system monitoring task<br \/>\n        \/\/  Delete a system monitoring task<br \/>\n        log.setExecData(ExecData);<br \/>\n        log.setIp(ip);<br \/>\n        logService.addOperateLog(log);<br \/>\n    }<\/p>\n<p>    &#064;Scheduled(cron &#061; &#034;0 0 0\/1 * * ?&#034;)<br \/>\n    public void monitorWhetherFilesAreTamperedWith() {<br \/>\n        logger.info(&#034;Monitor whether files are tampered begin!&#034;);<br \/>\n        \/\/ \u8bfb\u53d6 checkout.properties \u6587\u4ef6<br \/>\n        Map&lt;String, String&gt; expectedMD5Map &#061; readExpectedMD5(checkoutFilePath);<br \/>\n        if (expectedMD5Map &#061;&#061; null) return;<\/p>\n<p>        \/\/ \u8bfb\u53d6 monitorFiles.properties \u6587\u4ef6\u5e76\u8fdb\u884c MD5 \u6821\u9a8c<br \/>\n        try (BufferedReader reader &#061; new BufferedReader(new FileReader(monitorFilePath))) {<br \/>\n            String filePath;<br \/>\n            while ((filePath &#061; reader.readLine()) !&#061; null) {<br \/>\n                filePath &#061; filePath.trim(); \/\/ \u53bb\u6389\u524d\u540e\u7a7a\u683c<br \/>\n                if (expectedMD5Map.containsKey(filePath)) {<br \/>\n                    String expectedMD5 &#061; expectedMD5Map.get(filePath);<br \/>\n                    String calculatedMD5 &#061; calculateMD5(new File(filePath));<\/p>\n<p>                    if (calculatedMD5 &#061;&#061; null) {<br \/>\n                        logger.error(&#034;Monitor whether files are tampered, Error calculating MD5 for file:{}&#034;, filePath);<br \/>\n                        continue;<br \/>\n                    }<\/p>\n<p>                    \/\/ \u6bd4\u8f83 MD5 \u503c<br \/>\n                    if (!calculatedMD5.equalsIgnoreCase(expectedMD5)) {<br \/>\n                        logger.error(&#034;Monitor whether files are tampered, Error: MD5 mismatch for:{}, Expected:{}, but got:{}, The conclusion document has been tampered with!&#034;, filePath, expectedMD5, calculatedMD5);<br \/>\n                    }<br \/>\n                } else {<br \/>\n                    logger.warn(&#034;Monitor whether files are tampered, Warning: No expected MD5 found for:{}&#034;, filePath);<br \/>\n                }<br \/>\n            }<br \/>\n        } catch (IOException e) {<br \/>\n            logger.error(&#034;Monitor whether files are tampered, Exception:{}&#034;, e.getMessage());<br \/>\n        }<br \/>\n    }<\/p>\n<p>    private static Map&lt;String, String&gt; readExpectedMD5(String checkoutFilePath) {<br \/>\n        Map&lt;String, String&gt; md5Map &#061; new HashMap&lt;&gt;();<br \/>\n        try (BufferedReader reader &#061; new BufferedReader(new FileReader(checkoutFilePath))) {<br \/>\n            String line;<br \/>\n            while ((line &#061; reader.readLine()) !&#061; null) {<br \/>\n                String[] parts &#061; line.split(&#034;&#061;&#034;);<br \/>\n                if (parts.length &#061;&#061; 2) {<br \/>\n                    String filePath &#061; parts[0].trim();<br \/>\n                    String md5Value &#061; parts[1].trim();<br \/>\n                    md5Map.put(filePath, md5Value);<br \/>\n                } else {<br \/>\n                    logger.error(&#034;Skipping invalid line in checkout.properties:{}&#034;, line);<br \/>\n                }<br \/>\n            }<br \/>\n        } catch (IOException e) {<br \/>\n            logger.error(&#034;readExpectedMD5-Exception:{}&#034;, e.getMessage());<br \/>\n        }<br \/>\n        return md5Map;<br \/>\n    }<\/p>\n<p>    private static String calculateMD5(File file) {<br \/>\n        try {<br \/>\n            MessageDigest md &#061; MessageDigest.getInstance(&#034;MD5&#034;);<br \/>\n            byte[] bytes &#061; Files.readAllBytes(file.toPath());<br \/>\n            byte[] digest &#061; md.digest(bytes);<\/p>\n<p>            StringBuilder sb &#061; new StringBuilder();<br \/>\n            for (byte b : digest) {<br \/>\n                sb.append(String.format(&#034;%02x&#034;, b));<br \/>\n            }<br \/>\n            return sb.toString();<br \/>\n        } catch (IOException | NoSuchAlgorithmException e) {<br \/>\n            logger.error(&#034;calculateMD5-Exception:{}&#034;, e.getMessage());<br \/>\n            return null;<br \/>\n        }<br \/>\n    }<br \/>\n} <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<li>83.<\/li>\n<li>84.<\/li>\n<li>85.<\/li>\n<li>86.<\/li>\n<li>87.<\/li>\n<li>88.<\/li>\n<li>89.<\/li>\n<li>90.<\/li>\n<li>91.<\/li>\n<li>92.<\/li>\n<li>93.<\/li>\n<li>94.<\/li>\n<li>95.<\/li>\n<li>96.<\/li>\n<li>97.<\/li>\n<li>98.<\/li>\n<li>99.<\/li>\n<li>100.<\/li>\n<li>101.<\/li>\n<li>102.<\/li>\n<li>103.<\/li>\n<li>104.<\/li>\n<li>105.<\/li>\n<li>106.<\/li>\n<li>107.<\/li>\n<li>108.<\/li>\n<li>109.<\/li>\n<li>110.<\/li>\n<li>111.<\/li>\n<li>112.<\/li>\n<li>113.<\/li>\n<li>114.<\/li>\n<li>115.<\/li>\n<li>116.<\/li>\n<li>117.<\/li>\n<li>118.<\/li>\n<li>119.<\/li>\n<li>120.<\/li>\n<li>121.<\/li>\n<li>122.<\/li>\n<li>123.<\/li>\n<li>124.<\/li>\n<li>125.<\/li>\n<li>126.<\/li>\n<li>127.<\/li>\n<li>128.<\/li>\n<li>129.<\/li>\n<li>130.<\/li>\n<li>131.<\/li>\n<li>132.<\/li>\n<li>133.<\/li>\n<li>134.<\/li>\n<li>135.<\/li>\n<li>136.<\/li>\n<li>137.<\/li>\n<li>138.<\/li>\n<li>139.<\/li>\n<li>140.<\/li>\n<li>141.<\/li>\n<li>142.<\/li>\n<li>143.<\/li>\n<li>144.<\/li>\n<li>145.<\/li>\n<li>146.<\/li>\n<li>147.<\/li>\n<li>148.<\/li>\n<li>149.<\/li>\n<li>150.<\/li>\n<li>151.<\/li>\n<li>152.<\/li>\n<li>153.<\/li>\n<li>154.<\/li>\n<li>155.<\/li>\n<li>156.<\/li>\n<li>157.<\/li>\n<li>158.<\/li>\n<li>159.<\/li>\n<li>160.<\/li>\n<li>161.<\/li>\n<li>162.<\/li>\n<li>163.<\/li>\n<li>164.<\/li>\n<li>165.<\/li>\n<li>166.<\/li>\n<li>167.<\/li>\n<li>168.<\/li>\n<li>169.<\/li>\n<li>170.<\/li>\n<li>171.<\/li>\n<li>172.<\/li>\n<li>173.<\/li>\n<li>174.<\/li>\n<li>175.<\/li>\n<li>176.<\/li>\n<li>177.<\/li>\n<li>178.<\/li>\n<li>179.<\/li>\n<li>180.<\/li>\n<li>181.<\/li>\n<li>182.<\/li>\n<li>183.<\/li>\n<li>184.<\/li>\n<li>185.<\/li>\n<li>186.<\/li>\n<li>187.<\/li>\n<li>188.<\/li>\n<li>189.<\/li>\n<li>190.<\/li>\n<li>191.<\/li>\n<li>192.<\/li>\n<li>193.<\/li>\n<li>194.<\/li>\n<li>195.<\/li>\n<li>196.<\/li>\n<li>197.<\/li>\n<li>198.<\/li>\n<li>199.<\/li>\n<li>200.<\/li>\n<li>201.<\/li>\n<li>202.<\/li>\n<li>203.<\/li>\n<li>204.<\/li>\n<li>205.<\/li>\n<li>206.<\/li>\n<li>207.<\/li>\n<li>208.<\/li>\n<li>209.<\/li>\n<li>210.<\/li>\n<li>211.<\/li>\n<li>212.<\/li>\n<li>213.<\/li>\n<li>214.<\/li>\n<li>215.<\/li>\n<li>216.<\/li>\n<li>217.<\/li>\n<li>218.<\/li>\n<li>219.<\/li>\n<li>220.<\/li>\n<li>221.<\/li>\n<li>222.<\/li>\n<li>223.<\/li>\n<li>224.<\/li>\n<li>225.<\/li>\n<li>226.<\/li>\n<li>227.<\/li>\n<li>228.<\/li>\n<li>229.<\/li>\n<li>230.<\/li>\n<li>231.<\/li>\n<li>232.<\/li>\n<li>233.<\/li>\n<li>234.<\/li>\n<li>235.<\/li>\n<li>236.<\/li>\n<li>237.<\/li>\n<li>238.<\/li>\n<li>239.<\/li>\n<li>240.<\/li>\n<li>241.<\/li>\n<li>242.<\/li>\n<li>243.<\/li>\n<li>244.<\/li>\n<li>245.<\/li>\n<li>246.<\/li>\n<li>247.<\/li>\n<li>248.<\/li>\n<li>249.<\/li>\n<li>250.<\/li>\n<li>251.<\/li>\n<li>252.<\/li>\n<li>253.<\/li>\n<li>254.<\/li>\n<li>255.<\/li>\n<li>256.<\/li>\n<li>257.<\/li>\n<li>258.<\/li>\n<li>259.<\/li>\n<li>260.<\/li>\n<li>261.<\/li>\n<li>262.<\/li>\n<li>263.<\/li>\n<li>264.<\/li>\n<li>265.<\/li>\n<li>266.<\/li>\n<li>267.<\/li>\n<li>268.<\/li>\n<li>269.<\/li>\n<li>270.<\/li>\n<li>271.<\/li>\n<li>272.<\/li>\n<li>273.<\/li>\n<li>274.<\/li>\n<li>275.<\/li>\n<li>276.<\/li>\n<li>277.<\/li>\n<li>278.<\/li>\n<li>279.<\/li>\n<li>280.<\/li>\n<li>281.<\/li>\n<li>282.<\/li>\n<li>283.<\/li>\n<li>284.<\/li>\n<li>285.<\/li>\n<li>286.<\/li>\n<li>287.<\/li>\n<li>288.<\/li>\n<li>289.<\/li>\n<li>290.<\/li>\n<li>291.<\/li>\n<li>292.<\/li>\n<li>293.<\/li>\n<li>294.<\/li>\n<li>295.<\/li>\n<li>296.<\/li>\n<li>297.<\/li>\n<li>298.<\/li>\n<li>299.<\/li>\n<li>300.<\/li>\n<li>301.<\/li>\n<li>302.<\/li>\n<li>303.<\/li>\n<li>304.<\/li>\n<li>305.<\/li>\n<li>306.<\/li>\n<li>307.<\/li>\n<li>308.<\/li>\n<li>309.<\/li>\n<li>310.<\/li>\n<li>311.<\/li>\n<li>312.<\/li>\n<li>313.<\/li>\n<li>314.<\/li>\n<li>315.<\/li>\n<li>316.<\/li>\n<li>317.<\/li>\n<li>318.<\/li>\n<li>319.<\/li>\n<li>320.<\/li>\n<li>321.<\/li>\n<li>322.<\/li>\n<li>323.<\/li>\n<li>324.<\/li>\n<li>325.<\/li>\n<li>326.<\/li>\n<li>327.<\/li>\n<li>328.<\/li>\n<li>329.<\/li>\n<li>330.<\/li>\n<li>331.<\/li>\n<li>332.<\/li>\n<li>333.<\/li>\n<li>334.<\/li>\n<li>335.<\/li>\n<li>336.<\/li>\n<li>337.<\/li>\n<li>338.<\/li>\n<li>339.<\/li>\n<li>340.<\/li>\n<li>341.<\/li>\n<li>342.<\/li>\n<li>343.<\/li>\n<li>344.<\/li>\n<li>345.<\/li>\n<li>346.<\/li>\n<li>347.<\/li>\n<li>348.<\/li>\n<li>349.<\/li>\n<li>350.<\/li>\n<li>351.<\/li>\n<li>352.<\/li>\n<li>353.<\/li>\n<li>354.<\/li>\n<li>355.<\/li>\n<li>356.<\/li>\n<li>357.<\/li>\n<li>358.<\/li>\n<li>359.<\/li>\n<li>360.<\/li>\n<li>361.<\/li>\n<li>362.<\/li>\n<li>363.<\/li>\n<li>364.<\/li>\n<li>365.<\/li>\n<li>366.<\/li>\n<li>367.<\/li>\n<li>368.<\/li>\n<li>369.<\/li>\n<\/ul>\n<h5 id=\"h23\">IMonitorTaskService<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       package com.hero.lte.ems.monitor.service;<\/p>\n<p>import com.hero.lte.ems.db.orm.mybatis.Page;<br \/>\nimport com.hero.lte.ems.framework.exception.LteException;<br \/>\nimport com.hero.lte.ems.monitor.entity.MonitorTask;<\/p>\n<p>import java.util.List;<br \/>\nimport java.util.Map;<\/p>\n<p>public interface IMonitorTaskService {<\/p>\n<p>    Page&lt;MonitorTask&gt; getMonitorTaskList(Page&lt;MonitorTask&gt; pager);<\/p>\n<p>    List&lt;MonitorTask&gt; getMonitorTaskAll();<\/p>\n<p>    MonitorTask getMonitorTask(String id) throws LteException ;<\/p>\n<p>    int insertMonitorTask(MonitorTask monitorTask);<\/p>\n<p>    int updateMonitorTask(Map&lt;String, Object&gt; map);<\/p>\n<p>    int deleteMonitorTask(List&lt;String&gt; idList);<\/p>\n<p>    int deactiveMonitorTask(List&lt;String&gt; idList);<\/p>\n<p>    int activeMonitorTask(List&lt;String&gt; idList);<\/p>\n<p>    int updateMonitorTask(MonitorTask monitorTask);<\/p>\n<p>    List&lt;MonitorTask&gt; queryDataByTaskName(String taskName);<br \/>\n} <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<\/ul>\n<h5 id=\"h24\">MonitorTaskServiceImpl<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       package com.hero.lte.ems.monitor.service.impl;<\/p>\n<p>import com.hero.lte.ems.db.orm.mybatis.Page;<br \/>\nimport com.hero.lte.ems.framework.exception.LteException;<br \/>\nimport com.hero.lte.ems.monitor.dao.MonitorTaskMapper;<br \/>\nimport com.hero.lte.ems.monitor.entity.MonitorTask;<br \/>\nimport com.hero.lte.ems.monitor.service.IMonitorTaskService;<br \/>\nimport com.hero.lte.ems.security.config.aop.LogAnnotation;<br \/>\nimport org.slf4j.Logger;<br \/>\nimport org.slf4j.LoggerFactory;<br \/>\nimport org.springframework.stereotype.Service;<\/p>\n<p>import javax.annotation.Resource;<br \/>\nimport java.util.List;<br \/>\nimport java.util.Map;<\/p>\n<p>\/**<br \/>\n * &#064;author l22898<br \/>\n *\/<br \/>\n&#064;Service<br \/>\npublic class MonitorTaskServiceImpl implements IMonitorTaskService {<\/p>\n<p>    private static final Logger LOGGER &#061; LoggerFactory.getLogger(MonitorTaskServiceImpl.class);<\/p>\n<p>    &#064;Resource<br \/>\n    private MonitorTaskMapper monitorTaskMapper;<\/p>\n<p>    &#064;Override<br \/>\n    public Page&lt;MonitorTask&gt; getMonitorTaskList(Page&lt;MonitorTask&gt; pager){<br \/>\n        List&lt;MonitorTask&gt; monitorTaskList &#061; monitorTaskMapper.findMonitorTaskPage(pager, pager.getParam());<br \/>\n        return pager;<br \/>\n    }<\/p>\n<p>    &#064;Override<br \/>\n    public List&lt;MonitorTask&gt; getMonitorTaskAll(){<br \/>\n        List&lt;MonitorTask&gt; monitorTaskList &#061; monitorTaskMapper.findMonitorTaskAll();<br \/>\n        return monitorTaskList;<br \/>\n    }<\/p>\n<p>    &#064;Override<br \/>\n    public MonitorTask getMonitorTask(String id) throws LteException {<br \/>\n        return monitorTaskMapper.findById(id);<br \/>\n    }<\/p>\n<p>    &#064;Override<br \/>\n    public int insertMonitorTask(MonitorTask monitorTask){<br \/>\n        return monitorTaskMapper.insertMonitorTask(monitorTask);<br \/>\n    }<\/p>\n<p>    &#064;Override<br \/>\n    public int updateMonitorTask(MonitorTask monitorTask){<br \/>\n        return monitorTaskMapper.modMonitorTask(monitorTask);<br \/>\n    }<\/p>\n<p>    &#064;Override<br \/>\n    public List&lt;MonitorTask&gt; queryDataByTaskName(String taskName) {<\/p>\n<p>        return monitorTaskMapper.queryDataByTaskName(taskName);<br \/>\n    }<\/p>\n<p>    &#064;Override<br \/>\n    public int updateMonitorTask(Map&lt;String, Object&gt; map){<br \/>\n        return monitorTaskMapper.updateMonitorTask(map);<br \/>\n    }<\/p>\n<p>    &#064;Override<br \/>\n    public int deleteMonitorTask(List&lt;String&gt; idList){<br \/>\n        return monitorTaskMapper.deleteMonitorTask(idList);<br \/>\n    }<\/p>\n<p>    &#064;Override<br \/>\n    &#064;LogAnnotation(module &#061; &#034;res.security#res.system_monitor&#034;, feature &#061; &#034;res.alarm_mod&#034;, type &#061; 2)<br \/>\n    public int deactiveMonitorTask(List&lt;String&gt; idList) {<br \/>\n        return monitorTaskMapper.deactiveMonitorTask(idList);<br \/>\n    }<\/p>\n<p>    &#064;Override<br \/>\n    &#064;LogAnnotation(module &#061; &#034;res.security#res.system_monitor&#034;, feature &#061; &#034;res.alarm_mod&#034;, type &#061; 2)<br \/>\n    public int activeMonitorTask(List&lt;String&gt; idList) {<br \/>\n        return monitorTaskMapper.activeMonitorTask(idList);<br \/>\n    }<br \/>\n} <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<li>33.<\/li>\n<li>34.<\/li>\n<li>35.<\/li>\n<li>36.<\/li>\n<li>37.<\/li>\n<li>38.<\/li>\n<li>39.<\/li>\n<li>40.<\/li>\n<li>41.<\/li>\n<li>42.<\/li>\n<li>43.<\/li>\n<li>44.<\/li>\n<li>45.<\/li>\n<li>46.<\/li>\n<li>47.<\/li>\n<li>48.<\/li>\n<li>49.<\/li>\n<li>50.<\/li>\n<li>51.<\/li>\n<li>52.<\/li>\n<li>53.<\/li>\n<li>54.<\/li>\n<li>55.<\/li>\n<li>56.<\/li>\n<li>57.<\/li>\n<li>58.<\/li>\n<li>59.<\/li>\n<li>60.<\/li>\n<li>61.<\/li>\n<li>62.<\/li>\n<li>63.<\/li>\n<li>64.<\/li>\n<li>65.<\/li>\n<li>66.<\/li>\n<li>67.<\/li>\n<li>68.<\/li>\n<li>69.<\/li>\n<li>70.<\/li>\n<li>71.<\/li>\n<li>72.<\/li>\n<li>73.<\/li>\n<li>74.<\/li>\n<li>75.<\/li>\n<li>76.<\/li>\n<li>77.<\/li>\n<li>78.<\/li>\n<li>79.<\/li>\n<li>80.<\/li>\n<li>81.<\/li>\n<li>82.<\/li>\n<\/ul>\n<h5 id=\"h25\">MonitorTaskMapper<\/h5>\n<p>        \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>       package com.hero.lte.ems.monitor.dao;<\/p>\n<p>import com.hero.lte.ems.db.orm.mybatis.Page;<br \/>\nimport com.hero.lte.ems.monitor.entity.MonitorTask;<br \/>\nimport com.hero.lte.ems.monitor.entity.MonitorTaskLog;<br \/>\nimport org.apache.ibatis.annotations.Param;<\/p>\n<p>import java.util.List;<br \/>\nimport java.util.Map;<\/p>\n<p>public interface MonitorTaskMapper {<\/p>\n<p>    MonitorTask findById(String id);<\/p>\n<p>    List&lt;MonitorTask&gt; findMonitorTaskPage(&#064;Param(&#034;page&#034;) Page pager, &#064;Param(&#034;monitorTask&#034;) MonitorTask monitorTask);<\/p>\n<p>    List&lt;MonitorTask&gt; findMonitorTaskAll();<\/p>\n<p>    int insertMonitorTask(MonitorTask monitorTask);<\/p>\n<p>    int updateMonitorTask(Map&lt;String, Object&gt; map);<\/p>\n<p>    int deleteMonitorTask(&#064;Param(&#034;idList&#034;)List&lt;String&gt; idList);<\/p>\n<p>    int deactiveMonitorTask(&#064;Param(&#034;idList&#034;)List&lt;String&gt; idList);<\/p>\n<p>    int activeMonitorTask(&#064;Param(&#034;idList&#034;)List&lt;String&gt; idList);<\/p>\n<p>    int modMonitorTask(MonitorTask monitorTask);<\/p>\n<p>    List&lt;MonitorTask&gt; queryDataByTaskName(&#064;Param(&#034;taskName&#034;) String taskName);<br \/>\n} <\/p>\n<ul class=\"pre-numbering\">\n<li>1.<\/li>\n<li>2.<\/li>\n<li>3.<\/li>\n<li>4.<\/li>\n<li>5.<\/li>\n<li>6.<\/li>\n<li>7.<\/li>\n<li>8.<\/li>\n<li>9.<\/li>\n<li>10.<\/li>\n<li>11.<\/li>\n<li>12.<\/li>\n<li>13.<\/li>\n<li>14.<\/li>\n<li>15.<\/li>\n<li>16.<\/li>\n<li>17.<\/li>\n<li>18.<\/li>\n<li>19.<\/li>\n<li>20.<\/li>\n<li>21.<\/li>\n<li>22.<\/li>\n<li>23.<\/li>\n<li>24.<\/li>\n<li>25.<\/li>\n<li>26.<\/li>\n<li>27.<\/li>\n<li>28.<\/li>\n<li>29.<\/li>\n<li>30.<\/li>\n<li>31.<\/li>\n<li>32.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb905\u6b21\uff0c\u70b9\u8d5e26\u6b21\uff0c\u6536\u85cf14\u6b21\u3002\u3010\u4ee3\u7801\u3011\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f\u3002<\/p>\n","protected":false},"author":2,"featured_media":37101,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"topic":[],"class_list":["post-37108","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-server"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.wsisp.com\/helps\/37108.html\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"og:description\" content=\"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb905\u6b21\uff0c\u70b9\u8d5e26\u6b21\uff0c\u6536\u85cf14\u6b21\u3002\u3010\u4ee3\u7801\u3011\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f\u3002\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.wsisp.com\/helps\/37108.html\" \/>\n<meta property=\"og:site_name\" content=\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-13T23:21:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/05\/20250513232107-6823d3e37545f.jpg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"49 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/37108.html\",\"url\":\"https:\/\/www.wsisp.com\/helps\/37108.html\",\"name\":\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"isPartOf\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\"},\"datePublished\":\"2025-05-13T23:21:11+00:00\",\"dateModified\":\"2025-05-13T23:21:11+00:00\",\"author\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.wsisp.com\/helps\/37108.html#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.wsisp.com\/helps\/37108.html\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/37108.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.wsisp.com\/helps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#website\",\"url\":\"https:\/\/www.wsisp.com\/helps\/\",\"name\":\"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3\",\"description\":\"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"contentUrl\":\"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery\",\"caption\":\"admin\"},\"sameAs\":[\"http:\/\/wp.wsisp.com\"],\"url\":\"https:\/\/www.wsisp.com\/helps\/author\/admin\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.wsisp.com\/helps\/37108.html","og_locale":"zh_CN","og_type":"article","og_title":"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","og_description":"\u6587\u7ae0\u6d4f\u89c8\u9605\u8bfb905\u6b21\uff0c\u70b9\u8d5e26\u6b21\uff0c\u6536\u85cf14\u6b21\u3002\u3010\u4ee3\u7801\u3011\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f\u3002","og_url":"https:\/\/www.wsisp.com\/helps\/37108.html","og_site_name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","article_published_time":"2025-05-13T23:21:11+00:00","og_image":[{"url":"https:\/\/www.wsisp.com\/helps\/wp-content\/uploads\/2025\/05\/20250513232107-6823d3e37545f.jpg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"admin","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"49 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.wsisp.com\/helps\/37108.html","url":"https:\/\/www.wsisp.com\/helps\/37108.html","name":"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f - \u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","isPartOf":{"@id":"https:\/\/www.wsisp.com\/helps\/#website"},"datePublished":"2025-05-13T23:21:11+00:00","dateModified":"2025-05-13T23:21:11+00:00","author":{"@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41"},"breadcrumb":{"@id":"https:\/\/www.wsisp.com\/helps\/37108.html#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.wsisp.com\/helps\/37108.html"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.wsisp.com\/helps\/37108.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.wsisp.com\/helps"},{"@type":"ListItem","position":2,"name":"\u7edf\u8ba1\u670d\u52a1\u5668CPU\u3001\u5185\u5b58\u3001\u78c1\u76d8\u3001\u7f51\u7edcIO\u3001\u961f\u5217\u3001\u6570\u636e\u5e93\u5360\u7528\u7a7a\u95f4\u7b49\u7b49\u4fe1\u606f"}]},{"@type":"WebSite","@id":"https:\/\/www.wsisp.com\/helps\/#website","url":"https:\/\/www.wsisp.com\/helps\/","name":"\u7f51\u7855\u4e92\u8054\u5e2e\u52a9\u4e2d\u5fc3","description":"\u9999\u6e2f\u670d\u52a1\u5668_\u9999\u6e2f\u4e91\u670d\u52a1\u5668\u8d44\u8baf_\u670d\u52a1\u5668\u5e2e\u52a9\u6587\u6863_\u670d\u52a1\u5668\u6559\u7a0b","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.wsisp.com\/helps\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/358e386c577a3ab51c4493330a20ad41","name":"admin","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.wsisp.com\/helps\/#\/schema\/person\/image\/","url":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","contentUrl":"https:\/\/gravatar.wp-china-yes.net\/avatar\/?s=96&d=mystery","caption":"admin"},"sameAs":["http:\/\/wp.wsisp.com"],"url":"https:\/\/www.wsisp.com\/helps\/author\/admin"}]}},"_links":{"self":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/37108","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/comments?post=37108"}],"version-history":[{"count":0,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/posts\/37108\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media\/37101"}],"wp:attachment":[{"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/media?parent=37108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/categories?post=37108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/tags?post=37108"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.wsisp.com\/helps\/wp-json\/wp\/v2\/topic?post=37108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}