Quellcode durchsuchen

增加航天中认虚拟机跳转功能

weihy vor 4 Jahren
Ursprung
Commit
72ba92473c
4 geänderte Dateien mit 42 neuen und 5 gelöschten Zeilen
  1. 31 2
      src/components/task/Task.vue
  2. 2 1
      src/js/api.js
  3. 4 2
      src/js/index.js
  4. 5 0
      src/js/taskService.js

+ 31 - 2
src/components/task/Task.vue

@@ -154,6 +154,9 @@
             </el-form-item>
 
             <el-form-item v-if="!isModifyMode">
+              <el-button v-if="taskOperationControl.update" @click="manageVirtualMachine()" type="primary" size="mini">管理虚拟机</el-button>
+              <el-button v-if="taskOperationControl.receive" @click="createVirtualMachine()" type="primary" size="mini">创建虚拟机</el-button>
+              <el-button v-if="taskOperationControl.receive" @click="connectVirtualMachine()" type="primary" size="mini">连接虚拟机</el-button>
               <el-button size="mini" @click="toProject()">项目详情</el-button>
               <el-popover
                 placement="top-start"
@@ -282,7 +285,8 @@ import {
   storageGet,
   submitTaskRequest,
   updateTask,
-  getTaskWordCloud
+  getTaskWordCloud,
+  getToken
 } from '@/js/index'
 
 export default {
@@ -490,7 +494,6 @@ export default {
         params: {projectId: this.projectId}
       })
     },
-
     //切换至可编辑页面
     modifyForm() {
       // this.task.serviceType = ''
@@ -555,6 +558,32 @@ export default {
       getTask(this.projectId, this.taskId, this.getTaskDetailSuccess, this.getTaskDetailFail)
     },
 
+    manageVirtualMachine(){
+      getToken(this.projectId, this.taskId).then((res) => {
+        var token = res.data
+        var url = 'http://221.226.112.238:4051/cloudtest/api/oauth/gateway?website=cofortest&token='+ token + '&userId='+this.user.userVO.id +
+          '&screen=PROJECT' + '&projectId='+this.projectId+'&taskId='+this.taskId;
+        window.open(url);
+      })
+    },
+
+    createVirtualMachine(){
+      getToken(this.projectId, this.taskId).then((res) => {
+        var token = res.data
+        var url = 'http://221.226.112.238:4051/cloudtest/api/oauth/gateway?website=cofortest&token='+ token + '&userId='+this.user.userVO.id +
+          '&screen=HOME';
+        window.open(url);
+      })
+    },
+
+    connectVirtualMachine(){
+      getToken(this.projectId, this.taskId).then((res) => {
+        var token = res.data
+        var url = 'http://221.226.112.238:4051/cloudtest/api/oauth/connect?userId='+this.user.userVO.id+ '&projectId='+
+          this.projectId+'&taskId='+this.taskId+'&token='+token;
+        window.open(url);
+      })
+    },
     //获取词云
     getWordCloud(){
       getTaskWordCloud(this.projectId, this.taskId, this.getTaskCloudSuccess, this.getTaskCloudFail)

+ 2 - 1
src/js/api.js

@@ -24,7 +24,8 @@ export default {
     SUBMIT_TASK: '/api/project/{projectId}/task/{taskId}/status/commit',
     END_TASK: '/api/project/{projectId}/task/{taskId}/status/finished',
     MORE_HOT_TASK: '/api/square/hotTasks/list',
-    GET_TASK_CLOUD:'/api/project/{projectId}/task/{taskId}/word'
+    GET_TASK_CLOUD:'/api/project/{projectId}/task/{taskId}/word',
+    GET_TOKEN:'/api/project/{projectCode}/task/{taskCode}/token'
   },
   REPORT: {
     GET_TASK_REPORT: '/api/project/{projectId}/task/{taskId}/report/{reportId}/',

+ 4 - 2
src/js/index.js

@@ -40,7 +40,8 @@ import {
   rejectTask,
   submitTaskRequest,
   updateTask,
-  getTaskWordCloud
+  getTaskWordCloud,
+  getToken
 } from './taskService'
 import {
   createProjectReport,
@@ -154,7 +155,8 @@ export {
   submitTaskRequest,
   //区域管理员修改任务
   updateTask,
-  getTaskWordCloud
+  getTaskWordCloud,
+  getToken
 }
 export {
   /*******************************************************************************/

+ 5 - 0
src/js/taskService.js

@@ -76,3 +76,8 @@ export const ensureEndTask = (projectId, taskId, endTaskSuccess, endTaskFail) =>
     endTaskFail(error)
   })
 }
+
+//获取token
+export const getToken = (projectId, taskId) => {
+  return Http.get(Apis.TASK.GET_TOKEN.replace('{projectCode}', projectId).replace('{taskCode}', taskId))
+}