소스 검색

增加任务导出功能

郭超 4 년 전
부모
커밋
ff72c0a66c
6개의 변경된 파일76개의 추가작업 그리고 14개의 파일을 삭제
  1. 11 11
      config/dev.env.js
  2. 43 1
      src/components/task/Task.vue
  3. 9 2
      src/config/index.js
  4. 1 0
      src/js/api.js
  5. 3 0
      src/js/index.js
  6. 9 0
      src/js/taskService.js

+ 11 - 11
config/dev.env.js

@@ -3,18 +3,18 @@
 const merge = require('webpack-merge')
 const prodEnv = require('./prod.env')
 
-// module.exports = {
-//   NODE_ENV: '"development"',
-//   ENV_CONFIG: "'dev'",
-//   API_ROOT: '"//crowd.dev.mooctest.net"',
-//   LOGIN_URL: '"http://user.mooctest.net:8081/page/login?redirect=http%3a%2f%2fcrowd.dev.mooctest.net%2f%23%2fhome"',
-//   REGISTER_URL: '"http://user.mooctest.net:8081/page/register"'
-// }
-
 module.exports = {
   NODE_ENV: '"development"',
   ENV_CONFIG: "'dev'",
-  API_ROOT: '"//127.0.0.1"',
-  LOGIN_URL: '"http://127.0.0.1:8081/page/login?redirect=http%3a%2f%2fcrowd.dev.mooctest.net%2f%23%2fhome"',
-  REGISTER_URL: '"http://127.0.0.1:8081/page/register"'
+  API_ROOT: '"//crowd.dev.mooctest.net"',
+  LOGIN_URL: '"http://user.mooctest.net:8081/page/login?redirect=http%3a%2f%2fcrowd.dev.mooctest.net%2f%23%2fhome"',
+  REGISTER_URL: '"http://user.mooctest.net:8081/page/register"'
 }
+
+// module.exports = {
+//   NODE_ENV: '"development"',
+//   ENV_CONFIG: "'dev'",
+//   API_ROOT: '"//127.0.0.1"',
+//   LOGIN_URL: '"http://127.0.0.1:8081/page/login?redirect=http%3a%2f%2fcrowd.dev.mooctest.net%2f%23%2fhome"',
+//   REGISTER_URL: '"http://127.0.0.1:8081/page/register"'
+// }

+ 43 - 1
src/components/task/Task.vue

@@ -208,9 +208,18 @@
               <el-button v-if="taskOperationControl.taskRecommend" type="primary" size="mini" @click="recommendTask()">任务推荐
               </el-button>
 
+
+              <el-button v-if="taskOperationControl.exportTask && task.exportUrl != null && task.exportUrl != ''" type="primary" size="mini">
+                <a :href="task.exportUrl" style="color:white">导出任务</a>
+              </el-button>
+<!--              <el-button v-if="taskOperationControl.exportTask" type="primary" size="mini" @click="toExportTask()">-->
+<!--                导出任务-->
+<!--              </el-button>-->
+
               <el-button v-if="taskOperationControl.uploadReport" type="primary" size="mini" @click="toCreateReport()">
                 上传报告
               </el-button>
+
               <el-button v-if="taskOperationControl.taskDemonstrate" type="success" size="mini" @click="gotoDataboard()">
                 任务面板
               </el-button>
@@ -271,6 +280,7 @@ import Apis from '@/js/api.js'
 import {notify} from '@/constants/index'
 import {
   ensureEndTask,
+  exportTask,
   getAllAgencies,
   getAllServiceTypes,
   getFormalTimeFromDate,
@@ -284,6 +294,7 @@ import {
   updateTask,
   getTaskWordCloud
 } from '@/js/index'
+import {AxiosInstance as axios} from "axios";
 
 export default {
   name: 'Task',
@@ -314,9 +325,11 @@ export default {
         uploadReport: false,
         writeReport: false,
         taskDemonstrate: false,
-        taskRecommend: false
+        taskRecommend: false,
+        exportTask: false
       },
       crowdReportUrl: '',
+      exportTaskUrl: '',
       wordCloud:[],
       task: {
         agencyId: '',
@@ -333,6 +346,7 @@ export default {
         doc: [],
         requireDocUrl: '',
         participantCount: 1,
+        exportUrl: '',
         title: '',
         description: '',
         endPoint: {
@@ -586,6 +600,7 @@ export default {
       this.task.doc = []
       this.task.requireDocUrl = res.crowdTaskVO.requirementFile
       this.task.agencyId = res.crowdTaskVO.agencyId
+      this.task.exportUrl = res.crowdTaskVO.exportUrl
       this.task.status = res.crowdTaskVO.status
       this.task.statusVO = res.crowdTaskVO.statusVO
       this.task.endPoint = res.crowdTaskVO.endPointVO ? res.crowdTaskVO.endPointVO : {
@@ -888,6 +903,33 @@ export default {
       this.hideLoading()
       notify('error', '结束任务失败:' + error.data)
     },
+    // 导出任务
+    toExportTask(){
+      exportTask(this.projectId, this.taskId, this.exportTaskSuccess, this.exportTaskFail);
+    },
+    // 导出任务成功时的回调函数
+    exportTaskSuccess(res){
+      this.hideLoading()
+      console.log(res.data)
+      this.exportTaskUrl = res.data;
+      // window.open(this.exportTaskUrl);
+      axios.get(this.exportTaskUrl, {
+        params: {
+
+        },
+        headers: {
+
+        },
+        // 重要
+        responseType: 'blob'
+      });
+      notify('success', '任务导出成功!')
+    },
+    // 导出任务失败时的回调函数
+    exportTaskFail(error){
+      this.hideLoading()
+      notify('error', '导出任务失败:' + error.data)
+    },
     //跳转到创建项目报告页面
     toCreateReport() {
       this.$router.push({

+ 9 - 2
src/config/index.js

@@ -134,7 +134,14 @@ export const setConfig = (conf) => {
   CONFIG = conf;
 }
 
-export const login_url = 'http://user.cofortest.com:8081/page/login?redirect=http%3a%2f%2fwww.cofortest.com%2f%23%2fhome'
-export const  register_url = 'http://user.cofortest.com:8081/page/register'
+
+
+export const login_url = 'http://user.mooctest.net:8081/page/login?redirect=http%3a%2f%2fcrowd.dev.mooctest.net%2f%23%2fhome'
+export const register_url = 'http://user.mooctest.net:8081/page/register'
+
+// 线上环境
+// export const login_url = 'http://user.cofortest.com:8081/page/login?redirect=http%3a%2f%2fwww.cofortest.com%2f%23%2fhome'
+// export const register_url = 'http://user.cofortest.com:8081/page/register'
+
 // export const login_url = 'http://59.42.10.53/page/login?redirect=http%3a%2f%2fwww.cofortest.com%2f%23%2fhome'
 // export const  register_url = 'http://59.42.10.53/page/register'

+ 1 - 0
src/js/api.js

@@ -23,6 +23,7 @@ export default {
     REJECT_TASK: '/api/project/{projectId}/task/{taskId}/status/reject',
     SUBMIT_TASK: '/api/project/{projectId}/task/{taskId}/status/commit',
     END_TASK: '/api/project/{projectId}/task/{taskId}/status/finished',
+    EXPORT_TASK: '/api/project/{projectId}/task/{taskId}/export',
     MORE_HOT_TASK: '/api/square/hotTasks/list',
     GET_TASK_CLOUD:'/api/project/{projectId}/task/{taskId}/word'
   },

+ 3 - 0
src/js/index.js

@@ -35,6 +35,7 @@ import {
   createTask,
   deleteTask,
   ensureEndTask,
+  exportTask,
   getTask,
   receiveTaskRequest,
   rejectTask,
@@ -144,6 +145,8 @@ export {
   deleteTask,
   //区域管理员确认结束项目
   ensureEndTask,
+  //区域管理员、已接包的测试人员或机构导出测试任务
+  exportTask,
   //查看任务信息
   getTask,
   //测评机构接收任务

+ 9 - 0
src/js/taskService.js

@@ -76,3 +76,12 @@ export const ensureEndTask = (projectId, taskId, endTaskSuccess, endTaskFail) =>
     endTaskFail(error)
   })
 }
+
+//区域管理员、已接包的测试人员或机构导出测试任务
+export const exportTask = (projectId, taskId, exportTaskSuccess, exportTaskFail) => {
+  Http.get(Apis.TASK.EXPORT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId), {}).then((res) => {
+    exportTaskSuccess(res)
+  }).catch((error) => {
+    exportTaskFail(error)
+  })
+}