Explorar el Código

添加任务响应方法

sunjh hace 6 años
padre
commit
e2525ab4d6

+ 2 - 3
src/components/project/Project.vue

@@ -198,7 +198,7 @@
           <div v-if="projectOperationControl.update" class="btn btn-small btn-info" @click="modifyForm()">修改项目</div>
           <!--<div class="btn btn-medium btn-info" @click="analyseDemand()">分析需求</div>-->
           <div v-if="projectOperationControl.createTask" class="btn btn-small btn-info" @click="createTask()">新建任务</div>
-          <div class="btn btn-small btn-info" @click="createReport()">上传报告</div>
+          <div v-if="projectOperationControl.uploadReport" class="btn btn-small btn-info" @click="createReport()">上传报告</div>
         </el-form-item>
       </el-form>
     </div>
@@ -568,12 +568,11 @@ export default {
     },
     createReport () {
       this.$router.push({
-        name: 'ReportCreate',
+        name: 'ProjectReportCreate',
         params: {
           scope: 0,
           dependencyCode: this.projectId,
           projectId: this.projectId,
-          taskId: null,
         }
       })
     },

+ 3 - 3
src/components/report/ProjectReport.vue

@@ -75,9 +75,9 @@
           <div class="btn btn-medium" @click="back()">返回</div>
         </el-form-item>
         <el-form-item v-if="isModifyMode">
-          <div class="btn btn-primary btn-info" @click="submitForm('report')">确认修改</div>
-          <div class="btn btn-primary" @click="resetForm('report')">重置</div>
-          <div class="btn btn-primary" @click="cancelCreate('report')">取消</div>
+          <div class="btn btn-medium btn-info" @click="submitForm('report')">确认修改</div>
+          <div class="btn btn-medium" @click="resetForm('report')">重置</div>
+          <div class="btn btn-medium" @click="cancelCreate('report')">取消</div>
         </el-form-item>
       </el-form>
     </div>

+ 7 - 8
src/components/report/ProjectReportCreate.vue

@@ -4,7 +4,7 @@
     <div class="create-body">
       <el-form :model="report" :rules="rules" ref="report" label-width="12%" class="demo-report">
         <el-form-item label="报告名称" prop="name">
-          <el-input v-model="report.name"></el-input>
+          <el-input size="small" v-model="report.name"></el-input>
         </el-form-item>
         <el-form-item label="报告类型" prop="type">
           <el-radio-group v-model="report.type">
@@ -14,10 +14,10 @@
           </el-radio-group>
         </el-form-item>
         <el-form-item label="测试对象" prop="name">
-          <el-input style="width: 400px" type="textarea" v-model="report.target"></el-input>
+          <el-input autosize style="width: 400px" type="textarea" v-model="report.target"></el-input>
         </el-form-item>
         <el-form-item label="测试内容" prop="name">
-          <el-input style="width: 400px" type="textarea" v-model="report.content"></el-input>
+          <el-input autosize style="width: 400px" type="textarea" v-model="report.content"></el-input>
         </el-form-item>
         <!--<el-form-item label="摘要" prop="abstract">-->
         <!--<div>-->
@@ -58,17 +58,16 @@
               将文件拖到此处,或
               <em>点击上传</em>
             </div>
-            <div class="el-upload__tip" slot="tip">请上传报告文件</div>
           </el-upload>
         </el-form-item>
 
         <el-form-item label="结论" prop="conclusion">
-          <el-input style="width: 400px" type="textarea" v-model="report.conclusion"></el-input>
+          <el-input autosize style="width: 400px" type="textarea" v-model="report.conclusion"></el-input>
         </el-form-item>
         <el-form-item>
-          <div class="btn btn-primary btn-info" @click="submitForm('report')">提交</div>
-          <div class="btn btn-primary" @click="resetForm('report')">重置</div>
-          <div class="btn btn-primary" @click="cancelCreate('report')">取消</div>
+          <div class="btn btn-medium btn-info" @click="submitForm('report')">提交</div>
+          <div class="btn btn-medium" @click="resetForm('report')">重置</div>
+          <div class="btn btn-medium" @click="cancelCreate('report')">取消</div>
         </el-form-item>
       </el-form>
     </div>

+ 1 - 1
src/components/report/ReportList.vue

@@ -60,7 +60,7 @@ export default {
         })
       } else {
         this.$router.push({
-          name: 'Report',
+          name: 'TaskReport',
           params: {
             reportId: row.code,
             projectId: this.pid,

+ 3 - 3
src/components/report/TaskReport.vue

@@ -75,9 +75,9 @@
           <div class="btn btn-medium" @click="back()">返回</div>
         </el-form-item>
         <el-form-item v-if="isModifyMode">
-          <div class="btn btn-primary btn-info" @click="submitForm('report')">确认修改</div>
-          <div class="btn btn-primary" @click="resetForm('report')">重置</div>
-          <div class="btn btn-primary" @click="cancelCreate('report')">取消</div>
+          <div class="btn btn-medium btn-info" @click="submitForm('report')">确认修改</div>
+          <div class="btn btn-medium" @click="resetForm('report')">重置</div>
+          <div class="btn btn-medium" @click="cancelCreate('report')">取消</div>
         </el-form-item>
       </el-form>
     </div>

+ 3 - 3
src/components/report/TaskReportCreate.vue

@@ -66,9 +66,9 @@
           <el-input style="width: 400px" type="textarea" v-model="report.conclusion"></el-input>
         </el-form-item>
         <el-form-item>
-          <div class="btn btn-primary btn-info" @click="submitForm('report')">提交</div>
-          <div class="btn btn-primary" @click="resetForm('report')">重置</div>
-          <div class="btn btn-primary" @click="cancelCreate('report')">取消</div>
+          <div class="btn btn-medium btn-info" @click="submitForm('report')">提交</div>
+          <div class="btn btn-medium" @click="resetForm('report')">重置</div>
+          <div class="btn btn-medium" @click="cancelCreate('report')">取消</div>
         </el-form-item>
       </el-form>
     </div>

+ 14 - 4
src/components/task/Task.vue

@@ -144,7 +144,6 @@ import Http from '@/js/http.js'
 import Apis from '@/js/api.js'
 import {notify} from '@/constants/index'
 import {
-  endTaskRequest,
   ensureEndTask,
   getAllAgencies,
   getAllServiceTypes,
@@ -154,6 +153,7 @@ import {
   receiveTaskRequest,
   rejectTask,
   storageGet,
+  submitTaskRequest,
   updateTask
 } from '@/js/index'
 
@@ -487,11 +487,16 @@ export default {
     },
     //拒绝任务
     rejectTask () {
-      rejectTask(this.rejectTaskSuccess, this.rejectTaskFail)
+      this.showLoading()
+      rejectTask(this.projectId, this.taskId, this.rejectTaskSuccess, this.rejectTaskFail)
     },
     //拒绝任务成功时的回调函数
     rejectTaskSuccess (res) {
       this.hideLoading()
+      this.$router.push({
+        name: 'Mine'
+      })
+      notify('success', '拒绝任务成功,已为您自动跳转到个人中心')
     },
     //拒绝任务失败时的回调函数
     rejectTaskFail (error) {
@@ -500,7 +505,7 @@ export default {
     },
     //提交结束任务申请
     submitTaskRequest () {
-      endTaskRequest(this.submitTaskRequestSuccess, this.submitTaskRequestFail)
+      submitTaskRequest(this.projectId, this.taskId, this.submitTaskRequestSuccess, this.submitTaskRequestFail)
     },
     //提交结束任务申请成功时的回调函数
     submitTaskRequestSuccess (res) {
@@ -509,6 +514,7 @@ export default {
       this.taskOperationControl = res.taskOperationControl
       this.task.status = res.crowdTaskVO.status
       this.institution = res.crowdTaskVO.institution
+      notify('success', '提交任务成功,等待区域管理员审核')
     },
     //提交结束任务申请失败时的回调函数
     submitTaskRequestFail (error) {
@@ -517,11 +523,15 @@ export default {
     },
     //结束任务
     endTask () {
-      ensureEndTask(this.endTaskSuccess, this.endTaskFail)
+      ensureEndTask(this.projectId, this.taskId, this.endTaskSuccess, this.endTaskFail)
     },
     //结束任务成功时的回调函数
     endTaskSuccess (res) {
       this.hideLoading()
+      this.taskOperationControl = res.taskOperationControl
+      this.task.status = res.crowdTaskVO.status
+      this.institution = res.crowdTaskVO.institution
+      notify('success', '结束结束成功!')
     },
     //结束任务失败时的回调函数
     endTaskFail (error) {

+ 10 - 8
src/js/api.js

@@ -6,13 +6,21 @@ export default {
     DELETE_PROJECT: '/api/project/{projectId}/',
     ADD_PROJECT: '/api/greenChannel/project/',
     ADD_PROJECT_BY_EXCEL_PRE: '/api/greenChannel/excel/{userId}/projects',
-    ADD_PROJECT_BY_EXCEL: '/api/greenChannel/projects'
+    ADD_PROJECT_BY_EXCEL: '/api/greenChannel/projects',
+    ACCEPT_PROJECT: '',
+    REJECT_PROJECT: '',
+    SUBMIT_PROJECT: '',
+    END_PROJECT: ''
   },
   TASK: {
     GET_TASK: '/api/project/{projectId}/task/{taskId}/',
     CREATE_TASK: '/api/project/{projectId}/task/',
     UPDATE_TASK: '/api/project/{projectId}/task/{taskId}/',
-    DELETE_TASK: '/api/project/{projectId}/task/{taskId}/'
+    DELETE_TASK: '/api/project/{projectId}/task/{taskId}/',
+    ACCEPT_TASK: '/api/project/{projectId}/task/{taskId}/agency/{userId}', // PUT
+    REJECT_TASK: '/project/{projectId}/task/{taskId}/status/reject',
+    SUBMIT_TASK: '/project/{projectId}/task/{taskId}/status/commit',
+    END_TASK: '/project/{projectId}/task/{taskId}/status/finished',
   },
   REPORT: {
     GET_TASK_REPORT: '/api/project/{projectId}/task/{taskId}/report/{reportId}/',
@@ -32,12 +40,6 @@ export default {
     UPLOAD_IMAGE: '/api/files/image/{userId}/'
   },
   USER: {
-    ACCEPT_TASK: '/api/project/{projectId}/task/{taskId}/agency/{userId}', // PUT
-    ACCEPT_PROJECT: '',
-    SUBMIT_TASK_REQUEST: '',
-    SUBMIT_PROJECT_REQUEST: '',
-    END_TASK: '',
-    END_PROJECT: '',
     ADD_AGENCY: '/api/greenChannel/agency/',
     GET_CURRENT_USER: '/api/common/currentUser/',
     GET_USER_IDENTITY: '',

+ 16 - 28
src/js/index.js

@@ -144,8 +144,12 @@ export const deleteProject = (projectId) => {
 }
 
 //区域管理员提出接收项目申请
-export const receiveProjectRequest = () => {
-
+export const receiveProjectRequest = (projectId, userId, receiveProjectSuccess, receiveProjectFail) => {
+  Http.put(Apis.TASK.ACCEPT_TASK).then((res) => {
+    receiveProjectSuccess(res)
+  }).catch((error) => {
+    receiveProjectFail(error)
+  })
 }
 
 //区域管理员提出结束项目申请
@@ -186,9 +190,9 @@ export const udeleteTask = () => {
 
 }
 
-//测评机构申请任务
+//测评机构接受任务
 export const receiveTaskRequest = (projectId, taskId, userId, receiveTaskRequestSuccess, receiveTaskRequestFail) => {
-  Http.put(Apis.USER.ACCEPT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId).replace('{userId}', userId)).then((res) => {
+  Http.put(Apis.TASK.ACCEPT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId).replace('{userId}', userId)).then((res) => {
     receiveTaskRequestSuccess(res)
   }).catch((error) => {
     receiveTaskRequestFail(error)
@@ -197,41 +201,25 @@ export const receiveTaskRequest = (projectId, taskId, userId, receiveTaskRequest
 }
 
 //测评机构提出结束任务申请
-export const endTaskRequest = (endTaskRequestSuccess, endTaskRequestFail) => {
-  const data = {
-    userId: this.user.userVO.id,
-    projectId: this.projectId,
-    taskId: this.taskId
-  }
-  Http.post(Apis.USER.SUBMIT_TASK_REQUEST, data).then((res) => {
-    endTaskRequestSuccess(res)
+export const submitTaskRequest = (projectId, taskId, submitTaskSuccess, submitTaskFail) => {
+  Http.post(Apis.TASK.SUBMIT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId)).then((res) => {
+    submitTaskSuccess(res)
   }).catch((error) => {
-    endTaskRequestFail(error)
+    submitTaskFail(error)
   })
 }
 
-export const rejectTask = (rejectTaskSuccess, rejectTaskFail) => {
-  const data = {
-    userId: this.user.userVO.id,
-    projectId: this.projectId,
-    taskId: this.taskId
-  }
-  Http.post(Apis.USER.SUBMIT_TASK_REQUEST, data).then((res) => {
+export const rejectTask = (projectId, taskId, rejectTaskSuccess, rejectTaskFail) => {
+  Http.post(Apis.TASK.REJECT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId)).then((res) => {
     rejectTaskSuccess(res)
   }).catch((error) => {
     rejectTaskFail(error)
   })
 }
 
-
 //区域管理员确认结束任务
-export const ensureEndTask = (endTaskSuccess, endTaskFail) => {
-  const data = {
-    userId: this.user.userVO.id,
-    projectId: this.projectId,
-    taskId: this.taskId
-  }
-  Http.post(Apis.USER.SUBMIT_TASK_REQUEST, data).then((res) => {
+export const ensureEndTask = (projectId, taskId, endTaskSuccess, endTaskFail) => {
+  Http.post(Apis.TASK.END_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId)).then((res) => {
     endTaskSuccess(res)
   }).catch((error) => {
     endTaskFail(error)