Ver Fonte

添加PROJECT响应

sunjh há 6 anos atrás
pai
commit
2ecf6bab25

+ 2 - 2
src/components/commons/ProjectItem.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="project-item-container">
-    <span class="col-xl-2 col-lg-3 col-md-4 col-sm-1" style="width: 15%">
+    <span class="col-xl-2 col-lg-3 col-md-4 col-sm-1" style="width: 150px">
       <img class="project-cover" src="@/assets/img/home_ban1.jpg">
     </span>
-    <span class="project-title col-md-2 col-sm-10" style="width: 15%;font-size: 12px">{{project.name}}</span>
+    <span class="project-title col-md-2 col-sm-10" style="width: 150px;font-size: 12px">{{project.name}}</span>
     <span class="project-title col-md-2 col-sm-10" style="width: 10%;font-size: 12px">{{project.id}}</span>
     <span class="col-md-2 col-sm-10" style="width: 10%">
       <span

+ 65 - 24
src/components/project/Project.vue

@@ -185,7 +185,7 @@
         </el-form-item>
         <el-form-item v-if="!isModifyMode">
           <div v-if="projectOperationControl.confirmFinish" class="btn btn-small btn-warning-soft"
-               @click="endProjectRequest()">结束项目
+               @click="endProject()">结束项目
           </div>
           <!--<div class="btn btn-small btn-info" @click="submitProjectRequest()">发布项目</div>-->
           <div v-if="projectOperationControl.finish" class="btn btn-small btn-info" @click="submitProjectRequest()">
@@ -198,7 +198,8 @@
           <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 v-if="projectOperationControl.uploadReport" 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>
@@ -255,12 +256,16 @@ import ResourceType from '@/constants/enum/resource-type'
 import provincecity from '@/components/commons/ProvinceCity'
 import {notify} from '@/constants/index'
 import {
+  ensureEndProject,
   getAllInstitutions,
   getAllPlatformTypes,
   getAllServiceTypes,
   getProvinceCodeByProvinceName,
   getProvinceNameByProvinceCode,
+  receiveProjectRequest,
+  rejectProject,
   storageGet,
+  submitProjectRequest
 } from '@/js/index'
 
 export default {
@@ -533,24 +538,66 @@ export default {
       //this.loadData()
     },
     //接收项目
+    receiveProject () {
+      this.showLoading()
+      console.log('接收项目')
+      receiveProjectRequest(this.projectId, this.user.userVO.id, this.receiveProjectSuccess, this.receiveProjectFail)
+    },
+    receiveProjectSuccess (res) {
+      this.hideLoading()
+      notify('success', '项目接收成功!')
+      this.projectOperationControl = res.projectOperationControl
+      this.project.status = res.projectDetails.status
+      this.project.institution = res.projectDetails.institution
+    },
+    receiveProjectFail (error) {
+      this.hideLoading()
+      notify('error', '接收项目失败:' + error.data)
+    },
+    //拒绝项目
+    rejectProject () {
+      this.showLoading()
+      rejectProject(this.projectId, this.rejectProjectSuccess, this.rejectProjectFail)
+    },
+    rejectProjectSuccess (res) {
+      this.hideLoading()
+      notify('success', '拒绝项目成功')
+    },
+    rejectProjectFail (error) {
+      this.hideLoading()
+      notify('error', '拒绝项目失败:' + error.data)
+    },
+    //提交项目
     submitProjectRequest () {
-      const data = {
-        userId: this.user.userVO.id,
-        projectId: this.projectId
-      }
-      Http.post(Apis.USER.SUBMIT_PROJECT_REQUEST, data).then((res) => {
-        console.log(res)
-      })
+      this.showLoading()
+      submitProjectRequest(this.projectId, this.submitProjectRequestSuccess, this.submitProjectRequestFail)
     },
-    //申请项目
-    receiveProject () {
-      const data = {
-        userId: this.user.userVO.id,
-        projectId: this.projectId
-      }
-      Http.post(Apis.USER.ACCEPT_PROJECT, data).then((res) => {
-        console.log(res)
-      })
+    submitProjectRequestSuccess (res) {
+      this.hideLoading()
+      notify('success', '项目提交成功!')
+      this.projectOperationControl = res.projectOperationControl
+      this.project.status = res.projectDetails.status
+      this.project.institution = res.projectDetails.institution
+    },
+    submitProjectRequestFail (error) {
+      this.hideLoading()
+      notify('error', '提交项目失败:' + error.data)
+    },
+    //结束项目
+    endProject () {
+      this.showLoading()
+      ensureEndProject(this.projectId, this.endProjectSuccess, this.endProjectFail)
+    },
+    endProjectSuccess (res) {
+      this.hideLoading()
+      notify('success', '项目提交成功!')
+      this.projectOperationControl = res.projectOperationControl
+      this.project.status = res.projectDetails.status
+      this.project.institution = res.projectDetails.institution
+    },
+    endProjectFail (error) {
+      this.hideLoading()
+      notify('error', '结束项目失败:' + error.data)
     },
     cancelMode (formName) {
       this.isModifyMode = false
@@ -722,12 +769,6 @@ export default {
     hideLoading () {
       this.loading = false
     },
-    endProjectRequest () {
-
-    },
-    rejectProject () {
-
-    }
   }
 }
 </script>

+ 9 - 6
src/components/task/Task.vue

@@ -116,9 +116,9 @@
         <el-form-item v-if="!isModifyMode">
           <div class="btn btn-small btn-info"
                v-if="taskOperationControl.confirmFinish"
-               @click="submitTaskRequest()">确认结束
+               @click="endTask()">确认结束
           </div>
-          <div class="btn btn-small btn-info" v-if="taskOperationControl.finish" @click="endTask()">结束任务
+          <div class="btn btn-small btn-info" v-if="taskOperationControl.finish" @click="submitTaskRequest()">结束任务
           </div>
           <div class="btn btn-small btn-info" v-if="taskOperationControl.receive" @click="receiveTask()">接收任务</div>
           <div class="btn btn-small btn-danger" v-if="taskOperationControl.receive" @click="rejectTask()">拒绝任务</div>
@@ -475,10 +475,11 @@ export default {
     //接收任务成功时的回调函数
     receiveTaskSuccess (res) {
       this.hideLoading()
+      notify('success', '接收任务成功')
       console.log(res)
       this.taskOperationControl = res.taskOperationControl
       this.task.status = res.crowdTaskVO.status
-      this.institution = res.crowdTaskVO.institution
+      this.task.institution = res.crowdTaskVO.institution
     },
     //接收任务失败时的回调函数
     receiveTaskFail (error) {
@@ -505,6 +506,7 @@ export default {
     },
     //提交结束任务申请
     submitTaskRequest () {
+      this.showLoading()
       submitTaskRequest(this.projectId, this.taskId, this.submitTaskRequestSuccess, this.submitTaskRequestFail)
     },
     //提交结束任务申请成功时的回调函数
@@ -513,7 +515,7 @@ export default {
       console.log(res)
       this.taskOperationControl = res.taskOperationControl
       this.task.status = res.crowdTaskVO.status
-      this.institution = res.crowdTaskVO.institution
+      this.task.institution = res.crowdTaskVO.institution
       notify('success', '提交任务成功,等待区域管理员审核')
     },
     //提交结束任务申请失败时的回调函数
@@ -523,6 +525,7 @@ export default {
     },
     //结束任务
     endTask () {
+      this.showLoading()
       ensureEndTask(this.projectId, this.taskId, this.endTaskSuccess, this.endTaskFail)
     },
     //结束任务成功时的回调函数
@@ -530,7 +533,7 @@ export default {
       this.hideLoading()
       this.taskOperationControl = res.taskOperationControl
       this.task.status = res.crowdTaskVO.status
-      this.institution = res.crowdTaskVO.institution
+      this.task.institution = res.crowdTaskVO.institution
       notify('success', '结束结束成功!')
     },
     //结束任务失败时的回调函数
@@ -541,7 +544,7 @@ export default {
     //跳转到创建项目报告页面
     toCreateReport () {
       this.$router.push({
-        name: 'ReportCreate',
+        name: 'TaskReportCreate',
         params: {
           scope: 1,
           dependencyCode: this.taskId,

+ 11 - 1
src/components/task/TaskCreate.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="create-container">
+  <div class="create-container" v-if="loading">
     <div class="title h1">创建任务</div>
     <div class="create-body">
       <el-form :model="task" :rules="rules" ref="task" label-width="12%" class="demo-task">
@@ -113,6 +113,7 @@ export default {
       institutionArray: [],
       tabPosition: 'top',
       resourceType: ResourceType,
+      loading: false,
       serviceType: [],
       task: {
         name: '',
@@ -230,6 +231,7 @@ export default {
       return provinceName + ' / ' + cityName
     },
     submitForm (formName) {
+      this.showLoading()
       const newTask = {
         name: this.task.name,
         desc: this.task.desc,
@@ -244,9 +246,11 @@ export default {
       }
       Http.post(Apis.TASK.CREATE_TASK.replace('{projectId}', this.projectId), newTask).then((res) => {
         console.log(res)
+        this.hideLoading()
         this.createTaskSuccess(res.crowdTaskVO.id)
       }).catch((error) => {
         console.log(error)
+        this.hideLoading()
         notify('error', error.data)
       })
       // this.$refs[formName].validate(valid => {
@@ -363,6 +367,12 @@ export default {
           })
         }
       })
+    },
+    showLoading () {
+      this.loading = true
+    },
+    hideLoading () {
+      this.loading = false
     }
   }
 }

+ 7 - 7
src/js/api.js

@@ -7,10 +7,10 @@ export default {
     ADD_PROJECT: '/api/greenChannel/project/',
     ADD_PROJECT_BY_EXCEL_PRE: '/api/greenChannel/excel/{userId}/projects',
     ADD_PROJECT_BY_EXCEL: '/api/greenChannel/projects',
-    ACCEPT_PROJECT: '',
-    REJECT_PROJECT: '',
-    SUBMIT_PROJECT: '',
-    END_PROJECT: ''
+    ACCEPT_PROJECT: '/api/project/{projectId}/regionManager/{userId}',
+    REJECT_PROJECT: '/api/project/{projectId}/status/rejected',
+    SUBMIT_PROJECT: '/api/project/{projectId}/status/committed',
+    END_PROJECT: '/api/project/{projectId}/status/finished'
   },
   TASK: {
     GET_TASK: '/api/project/{projectId}/task/{taskId}/',
@@ -18,9 +18,9 @@ export default {
     UPDATE_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',
+    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',
   },
   REPORT: {
     GET_TASK_REPORT: '/api/project/{projectId}/task/{taskId}/report/{reportId}/',

+ 31 - 10
src/js/index.js

@@ -145,21 +145,42 @@ export const deleteProject = (projectId) => {
 
 //区域管理员提出接收项目申请
 export const receiveProjectRequest = (projectId, userId, receiveProjectSuccess, receiveProjectFail) => {
-  Http.put(Apis.TASK.ACCEPT_TASK).then((res) => {
+  console.log('调用')
+  Http.put(Apis.PROJECT.ACCEPT_PROJECT.replace('{projectId}', projectId).replace('{userId}', userId), {}).then((res) => {
+    console.log(res)
     receiveProjectSuccess(res)
+
   }).catch((error) => {
+    console.log(error)
     receiveProjectFail(error)
   })
 }
 
-//区域管理员提出结束项目申请
-export const endProjectRequest = () => {
+//区域管理员拒绝项目
+export const rejectProject = (projectId, rejectProjectSuccess, rejectProjectFail) => {
+  Http.put(Apis.PROJECT.REJECT_PROJECT.replace('{projectId}', projectId), {}).then((res) => {
+    rejectProjectSuccess(res)
+  }).catch((error) => {
+    rejectProjectFail(error)
+  })
+}
 
+//区域管理员提出结束项目申请
+export const submitProjectRequest = (projectId, submitProjectReuqestSuccess, submitProjectRequestFail) => {
+  Http.put(Apis.PROJECT.SUBMIT_PROJECT.replace('{projectId}', projectId), {}).then((res) => {
+    submitProjectReuqestSuccess(res)
+  }).catch((error) => {
+    submitProjectRequestFail(error)
+  })
 }
 
 //用户确认结束项目
-export const ensureEndProject = () => {
-
+export const ensureEndProject = (projectId, endProjectSuccess, endProjectFail) => {
+  Http.put(Apis.PROJECT.END_PROJECT.replace('{projectId}', projectId), {}).then((res) => {
+    endProjectSuccess(res)
+  }).catch((error) => {
+    endProjectFail(error)
+  })
 }
 
 //创建任务
@@ -178,7 +199,7 @@ export const updateTask = (projectId, taskId, task, updateTaskSuccess, updateTas
 
 //查看任务
 export const getTask = (projectId, taskId, getTaskSuccess, getTaskFail) => {
-  Http.get(Apis.TASK.GET_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId)).then((res) => {
+  Http.get(Apis.TASK.GET_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId),{}).then((res) => {
     getTaskSuccess(res)
   }).catch((error) => {
     getTaskFail(error)
@@ -192,7 +213,7 @@ export const udeleteTask = () => {
 
 //测评机构接受任务
 export const receiveTaskRequest = (projectId, taskId, userId, receiveTaskRequestSuccess, receiveTaskRequestFail) => {
-  Http.put(Apis.TASK.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)
@@ -202,7 +223,7 @@ export const receiveTaskRequest = (projectId, taskId, userId, receiveTaskRequest
 
 //测评机构提出结束任务申请
 export const submitTaskRequest = (projectId, taskId, submitTaskSuccess, submitTaskFail) => {
-  Http.post(Apis.TASK.SUBMIT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId)).then((res) => {
+  Http.put(Apis.TASK.SUBMIT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId),{}).then((res) => {
     submitTaskSuccess(res)
   }).catch((error) => {
     submitTaskFail(error)
@@ -210,7 +231,7 @@ export const submitTaskRequest = (projectId, taskId, submitTaskSuccess, submitTa
 }
 
 export const rejectTask = (projectId, taskId, rejectTaskSuccess, rejectTaskFail) => {
-  Http.post(Apis.TASK.REJECT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId)).then((res) => {
+  Http.put(Apis.TASK.REJECT_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId),{}).then((res) => {
     rejectTaskSuccess(res)
   }).catch((error) => {
     rejectTaskFail(error)
@@ -219,7 +240,7 @@ export const rejectTask = (projectId, taskId, rejectTaskSuccess, rejectTaskFail)
 
 //区域管理员确认结束任务
 export const ensureEndTask = (projectId, taskId, endTaskSuccess, endTaskFail) => {
-  Http.post(Apis.TASK.END_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId)).then((res) => {
+  Http.put(Apis.TASK.END_TASK.replace('{projectId}', projectId).replace('{taskId}', taskId),{}).then((res) => {
     endTaskSuccess(res)
   }).catch((error) => {
     endTaskFail(error)