Jelajahi Sumber

update views/devops/machine

reghao 3 bulan lalu
induk
melakukan
c6b46c08a1

+ 9 - 0
src/api/devops.js

@@ -8,6 +8,7 @@ const devopsApi = {
   getMachineList: '/api/devops/machine/host',
   getAliyunKeyList: '/api/devops/machine/aliyun/key',
   getMachineProcList: '/api/devops/machine/proc',
+  getMachineTaskList: '/api/devops/machine/task',
   getEnvList: '/api/devops/envs',
   getAppTypeList: '/api/devops/app_types',
   getCompilerList: '/api/devops/build/compiler',
@@ -85,6 +86,14 @@ export function getMachineProcList(queryInfo) {
   return get(devopsApi.getMachineProcList, queryInfo)
 }
 
+export function getMachineTaskList(queryInfo) {
+  return get(devopsApi.getMachineTaskList, queryInfo)
+}
+
+export function eraseMachineTask(queryInfo) {
+  return postForm(devopsApi.getMachineTaskList + '/clear', queryInfo)
+}
+
 export function getEnvList() {
   return get(devopsApi.getEnvList)
 }

+ 6 - 6
src/router/background_devops.js

@@ -14,7 +14,7 @@ const MachineHost = () => import('views/devops/machine/MachineHost')
 const AliyunKey = () => import('views/devops/machine/AliyunKey')
 const Docker = () => import('views/devops/machine/Docker')
 const MachineProc = () => import('views/devops/machine/MachineProc')
-const MachineEvent = () => import('views/devops/machine/MachineEvent')
+const MachineTask = () => import('views/devops/machine/MachineTask')
 // build
 const BuildDir = () => import('views/devops/build/BuildDir')
 const RepoAuth = () => import('views/devops/build/RepoAuth')
@@ -104,17 +104,17 @@ export default {
         {
           path: '/bg/machine/proc',
           name: 'MachineProc',
-          title: '进程列表',
+          title: '服务进程',
           icon: 'el-icon-s-data',
           component: MachineProc,
           meta: { needAuth: true, roles: ['devops_admin'] }
         },
         {
-          path: '/bg/machine/event',
-          name: 'MachineEvent',
-          title: '机器事件',
+          path: '/bg/machine/task',
+          name: 'MachineTask',
+          title: '定时任务',
           icon: 'el-icon-s-data',
-          component: MachineEvent,
+          component: MachineTask,
           meta: { needAuth: true, roles: ['devops_admin'] }
         }
       ]

+ 1 - 7
src/views/devops/machine/Docker.vue

@@ -134,13 +134,7 @@
 </template>
 
 <script>
-import {
-  deleteDockerImages,
-  getDockerContainerList,
-  getDockerImageList, getEnvList,
-  getMachineSessions,
-  handleDockerContainer
-} from '@/api/devops'
+import { getEnvList, getMachineSessions } from '@/api/devops'
 
 export default {
   name: 'Docker',

+ 0 - 64
src/views/devops/machine/MachineEvent.vue

@@ -1,64 +0,0 @@
-<template>
-  <div>
-    <el-row class="movie-list">
-      <el-col :md="20">
-        <el-row>
-          <h2>机器事件</h2>
-        </el-row>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-
-<script>
-import {getMachineProcList, getMachineSessions} from "@/api/devops";
-
-export default {
-  name: 'MachineEvent',
-  data() {
-    return {
-      dataList: []
-    }
-  },
-  created() {
-    document.title = '机器事件列表'
-  },
-  methods: {
-    getMachineList(env) {
-      getMachineSessions(env).then(resp => {
-        if (resp.code === 0) {
-          this.machineList = resp.data
-        } else {
-          this.$message.error(resp.msg)
-        }
-      }).catch(error => {
-        this.$message.error(error.message)
-      })
-    },
-    getData() {
-      getMachineProcList(this.queryInfo).then(resp => {
-        if (resp.code === 0) {
-          this.dataList = resp.data
-        } else {
-          this.$message.error(resp.msg)
-        }
-      }).catch(error => {
-        this.$message.error(error.message)
-      })
-    },
-    onRefresh() {
-      this.getData()
-    },
-    onSelectChange() {
-      this.machine = ''
-      this.getMachineList(this.env)
-    },
-    onSelectChange1() {
-      this.getData()
-    }
-  }
-}
-</script>
-
-<style scoped>
-</style>

+ 2 - 2
src/views/devops/machine/MachineProc.vue

@@ -1,7 +1,7 @@
 <template>
   <el-container>
     <el-header height="220">
-      <h3>进程列表</h3>
+      <h3>服务进程列表</h3>
       <el-row style="margin-top: 10px">
         <el-select
           v-model="env"
@@ -91,7 +91,7 @@ export default {
     }
   },
   created() {
-    document.title = '进程列表'
+    document.title = '服务进程列表'
 
     getEnvList().then(resp => {
       if (resp.code === 0) {

+ 151 - 0
src/views/devops/machine/MachineTask.vue

@@ -0,0 +1,151 @@
+<template>
+  <el-container>
+    <el-header height="220">
+      <h3>任务结果列表</h3>
+      <el-row style="margin-top: 10px">
+        <el-select
+          v-model="env"
+          size="mini"
+          placeholder="环境"
+          style="margin-left: 5px"
+          @change="onSelectChange"
+        >
+          <el-option
+            v-for="(item, index) in envList"
+            :key="index"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+        <el-select
+          v-model="queryInfo.machineId"
+          size="mini"
+          placeholder="机器"
+          style="margin-left: 5px"
+          @change="onSelectChange1"
+        >
+          <el-option
+            v-for="(item, index) in machineList"
+            :key="index"
+            :label="item.label"
+            :value="item.value"
+          />
+        </el-select>
+        <el-button size="mini" type="warning" icon="el-icon-refresh" style="margin-left: 5px" @click="onRefresh">刷新</el-button>
+        <el-button size="mini" type="warning" icon="el-icon-delete" style="margin-left: 5px" @click="onErase">清空</el-button>
+      </el-row>
+    </el-header>
+    <el-main>
+      <el-table
+        :data="dataList"
+        border
+        height="480"
+        style="width: 100%"
+      >
+        <el-table-column
+          prop="createTime"
+          label="执行时间"
+        />
+        <el-table-column
+          prop="taskName"
+          label="任务名"
+        />
+      </el-table>
+    </el-main>
+  </el-container>
+</template>
+
+<script>
+import { eraseMachineTask, getEnvList, getMachineSessions, getMachineTaskList } from '@/api/devops'
+
+export default {
+  name: 'MachineTask',
+  data() {
+    return {
+      env: 'test',
+      envList: [],
+      machine: '',
+      machineList: [],
+      queryInfo: {
+        machineId: ''
+      },
+      multipleSelection: [],
+      dataList: []
+    }
+  },
+  created() {
+    document.title = '任务结果列表'
+
+    getEnvList().then(resp => {
+      if (resp.code === 0) {
+        this.env = resp.data.userEnv
+        this.envList = resp.data.envList
+        this.getMachineList(this.env)
+        this.getData()
+      } else {
+        this.$message.error(resp.msg)
+      }
+    }).catch(error => {
+      this.$message.error(error.message)
+    })
+  },
+  methods: {
+    getMachineList(env) {
+      getMachineSessions(env).then(resp => {
+        if (resp.code === 0) {
+          this.machineList = resp.data
+        } else {
+          this.$message.error(resp.msg)
+        }
+      }).catch(error => {
+        this.$message.error(error.message)
+      })
+    },
+    getData() {
+      getMachineTaskList(this.queryInfo).then(resp => {
+        if (resp.code === 0) {
+          this.dataList = resp.data
+        } else {
+          this.$message.error(resp.msg)
+        }
+      }).catch(error => {
+        this.$message.error(error.message)
+      })
+    },
+    onSelectChange() {
+      this.machine = ''
+      this.getMachineList(this.env)
+    },
+    onSelectChange1() {
+      this.getData()
+    },
+    onRefresh() {
+      this.getData()
+    },
+    onErase() {
+      this.$confirm('确定要情况删除 ' + this.queryInfo.machineId + ' 的任务记录?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        const formData = new FormData()
+        formData.append('machineId', this.queryInfo.machineId)
+        eraseMachineTask(formData).then(resp => {
+          this.$message.info(resp.msg)
+          this.getData()
+        }).catch(error => {
+          this.$message.error(error.message)
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '已取消'
+        })
+      })
+    }
+  }
+}
+</script>
+
+<style scoped>
+</style>