qinzhipeng_v 5 years ago
parent
commit
bbc8a87ff3

+ 16 - 0
src/api/requirement.js

@@ -18,6 +18,22 @@ export function showRequirementEnum() {
   })
 }
 
+// 获取需求下历史排期记录
+export function scheduleGetRequireScheduleHistory(id) {
+  return request({
+    url: requestIp + '/schedule/getRequireScheduleHistory?id=' + id,
+    method: 'get'
+  })
+}
+
+// 根据历史记录id获取排期
+export function scheduleGetHistoryScheduleById(id) {
+  return request({
+    url: requestIp + '/schedule/getHistoryScheduleById?id=' + id,
+    method: 'get'
+  })
+}
+
 export function getMemberInfo(data) {
   return request({
     url: requestIp + '/member/queryMemberInfoByIDAPorName',

+ 11 - 2
src/views/projectManage/requirement/components/scheduleList.vue

@@ -83,6 +83,11 @@ export default {
       default: false,
       required: false
     },
+    requiredList: {
+      type: Array,
+      default: () => [],
+      required: false
+    },
     typeList: {
       type: Array,
       default: () => [],
@@ -118,6 +123,12 @@ export default {
       },
       immediate: true
     },
+    requiredList: {
+      handler(newV, oldV) {
+        this.scheduleList = newV
+      },
+      immediate: true
+    },
     typeList: {
       handler(newV, oldV) {
         this.taskScheduleEvent = newV
@@ -186,7 +197,6 @@ export default {
   cursor: pointer;
   color: #409EFF;
   font-size: 14px;
-  // width: calc(100% - 40px);
   margin: 0 20px;
   padding: 20px 0;
   i {
@@ -197,7 +207,6 @@ export default {
   }
 }
 .schedule-list {
-  // width: calc(100% - 40px);
   margin: 0 20px;
   padding: 0;
   background:rgba(248,248,248,0.6);

+ 28 - 17
src/views/projectManage/requirement/requirementDetail.vue

@@ -123,26 +123,17 @@
           </div>
           <el-container>
             <el-main style="padding: 0; border-right: 1px solid red; border-radius: 0;">
-              <schedule-list
-                :id="requirementId"
-                :type-list="taskScheduleEvent"
-                class-name="white"
-                :all="true"
-                :no-move="false"
-              />
+              <schedule-list :id="requirementId" :type-list="taskScheduleEvent" :required-list="taskScheduleList" class-name="white" :all="true" :no-move="false" />
             </el-main>
             <el-aside style="width: 200px;">
               <div align="center">排期变更记录</div>
-              <div v-for="(item, val) in []" :key="val">记录</div>
+              <div v-for="(item, val) in SchedulingContent" :key="val" class="Scheduling" @click="clickScheduling(item)">
+                <div>{{ item.modifyTime }}</div>
+                <div>{{ item.operatorObject.name !== null ? item.operatorObject.name : '' }}{{ item.operation }}</div>
+                <div>{{ item.remark }}</div>
+              </div>
             </el-aside>
           </el-container>
-          <!-- <schedule-list
-            :id="requirementId"
-            :type-list="taskScheduleEvent"
-            class-name="white"
-            :all="true"
-            :no-move="false"
-          /> -->
         </section>
         <section class="main-section">
           <div class="el-main-title">
@@ -249,7 +240,9 @@ import {
   projectListProject,
   iterationList,
   getCommentList,
-  addComment
+  addComment,
+  scheduleGetRequireScheduleHistory,
+  scheduleGetHistoryScheduleById
 } from '@/api/requirement.js'
 import { configShowTaskEnum } from '@/api/taskIndex'
 import searchPeople from '@/components/select/searchPeople'
@@ -310,7 +303,9 @@ export default {
       belongProjectList: [], // 所属项目列表
       iterationList: [], // 所属迭代列表
       commentContent: null, // 评论内容
-      comments: [] // 评论列表
+      comments: [], // 评论列表
+      taskScheduleList: [], // 排期数据
+      SchedulingContent: [] // 排期历史变更记录
     }
   },
   computed: {
@@ -325,6 +320,7 @@ export default {
     this.getIterationList()
     this.getCommentList()
     this.getTaskStatus()
+    this.GetRequireScheduleHistory()
     this.$store.state.data.status = true
     this.$store.state.data.bizId = true
   },
@@ -333,6 +329,14 @@ export default {
     this.$store.state.data.bizId = false
   },
   methods: {
+    async GetRequireScheduleHistory() {
+      const res = await scheduleGetRequireScheduleHistory(this.requirementId)
+      this.SchedulingContent = res.data
+    },
+    async clickScheduling(ele) {
+      const res = await scheduleGetHistoryScheduleById(ele.id)
+      this.taskScheduleList = res.data.schedulDetailResponses
+    },
     async changeArea(e) { // area修改
       const requirementInfo = _.cloneDeep(this.form_query)
       requirementInfo.pm = requirementInfo.pm.idap
@@ -496,6 +500,13 @@ export default {
       font-size: 12px;
     }
   }
+  .Scheduling {
+    margin:0 20px;
+    cursor: pointer;
+  }
+  .Scheduling:hover {
+      color:#409EFF;
+    }
   .detail-info {
     padding: 0 34px 20px 34px;
     /deep/.el-input__inner{