فهرست منبع

月报分析反馈改造

洪海涛 4 سال پیش
والد
کامیت
9e80596e6d

+ 10 - 1
src/views/monthlyReport/childrenPage/editReport/components/MrTable/Analysis.vue

@@ -13,7 +13,7 @@
       @cancel="normalDialogCancel"
     >
       <!-- 替代反馈人员 -->
-      <div class="el-form-item">
+      <div v-show="isFeedbackCharge()" class="el-form-item">
         <div class="el-form-item__label">
           <span style="color: red">*</span>&nbsp;&nbsp;替代反馈人员
         </div>
@@ -397,6 +397,15 @@ export default {
     // 替代反馈人员
     setIsReplaceTheFeedbackPerson() {
       this.isReplaceTheFeedbackPerson = !this.options.filter(elm => elm === localStorage.getItem('username')).length
+    },
+    isFeedbackCharge() {
+      if (this.analyticFeedbackList && this.analyticFeedbackList.length) {
+        // const committedUserList = this.userNamesList.filter(elm => this.isCommittedUser.indexOf(elm.value) < 0)
+        const username = localStorage.getItem('username')
+        const committedUserList = this.analyticFeedbackList.filter(elm => elm.isCommitted && elm.feedbackCharge)
+        return committedUserList.indexOf(username) < 0
+      }
+      return false
     }
   }
 }

+ 12 - 11
src/views/monthlyReport/childrenPage/editReport/components/MrTable/TableExpandRowList.vue

@@ -2,20 +2,21 @@
   <div class="TableExpandRowList-wrapper">
     <div>
       <div v-for="(parentItem, parentIndex) in analyticFeedbackList" :key="parentIndex">
-        <div v-if="parentItem && parentItem.feedbackCharge" style="margin-bottom: 30px;">
-          <div v-if="parentItem && parentItem.feedbackCharge" class="contentItem-wrapper-feedbackCharge">
+        <div v-if="parentItem && parentItem.feedbackCharge && parentItem.analyticContents && parentItem.analyticContents.length" style="margin-bottom: 30px;">
+          <div v-if="parentItem && parentItem.feedbackCharge " class="contentItem-wrapper-feedbackCharge">
             <MultiplePeopleInfo
               class="contentItem-wrapper-MultiplePeopleInfo"
               :team-data="[parentItem.feedbackCharge]"
             />
-            <div class="identity">负责人</div>
-          </div>
-          <div v-if="parentItem.feedbackBy" class="contentItem-wrapper-feedbackBy">
-            <span class="by">by</span> <MultiplePeopleInfo
-            class="contentItem-wrapper-MultiplePeopleInfo"
-            :team-data="[parentItem.feedbackBy]"
-          />
+<!--            <div class="identity">负责人</div>-->
+            <div v-if="parentItem.feedbackBy" class="contentItem-wrapper-feedbackBy">
+              <span class="by">by</span> <MultiplePeopleInfo
+              class="contentItem-wrapper-MultiplePeopleInfo"
+              :team-data="[parentItem.feedbackBy]"
+            />
+            </div>
           </div>
+
           <div v-if="parentItem && parentItem.analyticContents && parentItem.analyticContents.length">
             <div
               v-for="(item, index) in parentItem.analyticContents"
@@ -345,7 +346,7 @@ export default {
     border-radius: 5px;
     position: relative;
     left: -40px;
-    //border: 2px solid #00a0ff;
+    border: 2px solid #00a0ff;
     padding: 0px 5px;
     text-align: center;
     padding-left: 10px;
@@ -367,7 +368,7 @@ export default {
   }
   .contentItem-wrapper-feedbackBy {
     position: relative;
-    left: -35px;
+    //left: -35px;
     text-align: left;
     display: inline-block;
     .by{

+ 6 - 2
src/views/monthlyReport/childrenPage/editReport/components/MrTable/index.vue

@@ -758,6 +758,8 @@ export default {
       if (row.analyticFeedback && row.analyticFeedback.isCommitted) {
         return false
       }
+      const username = localStorage.getItem('username')
+
       // 新版分析反馈控制显示隐藏
       if (row.analyticFeedbackList) {
         let peopleKey = ''
@@ -770,12 +772,14 @@ export default {
         })
         const options = [...row[peopleKey]]
         let isNewCommitteds = []
+
         if (row.analyticFeedbackList && row.analyticFeedbackList.length) {
           isNewCommitteds = row.analyticFeedbackList.filter(elm => {
             return elm && elm.isCommitted && elm.feedbackCharge
-          })
+          }).map(elm => elm.feedbackCharge)
         }
-        return isNewCommitteds.length !== options.length
+
+        return isNewCommitteds.length !== options.length && !isNewCommitteds.filter(elm => elm === username).length
       }
       // 默认所有情况都展示
       if (this.pageType) {