reedliuqing_i 5 years ago
parent
commit
b25cb9a2f8

+ 3 - 3
src/layout/index.vue

@@ -1,9 +1,9 @@
 <template>
-  <div :class="classObj" class="app-wrapper">
+  <div :class="classObj" class="app-wrapper" @click="listenClick()">
     <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside" />
-    <sidebar class="sidebar-container" @click.native="listenClick()" />
+    <sidebar class="sidebar-container" />
     <div class="main-container">
-      <div :class="{'fixed-header':fixedHeader}" @click="listenClick()">
+      <div :class="{'fixed-header':fixedHeader}">
         <navbar />
       </div>
       <app-main />

+ 2 - 2
src/views/projectManage/bugList/bugindex.vue

@@ -544,7 +544,7 @@ export default {
           this.drawerShow = false
           this.$store.state.data.status = true
         }
-      }, 200)
+      }, 500)
     },
     getBugList() {
       this.indexPage = this.formInline
@@ -667,7 +667,7 @@ export default {
       this.initCount++
       setTimeout(() => {
         this.isBugNameClick = true
-      }, 200)
+      }, 300)
     },
     createdDefect() {
       this.modalShow = true

+ 2 - 2
src/views/projectManage/taskList/taskViewDetails.vue

@@ -714,14 +714,14 @@ export default {
           this.drawerShow = false
           // this.$store.state.data.status = true
         }
-      }, 200)
+      }, 500)
     },
     click_bugName(id) {
       this.bugId = id
       this.initCount++
       setTimeout(() => {
         this.isBugNameClick = true
-      }, 200)
+      }, 300)
     },
     test2(item, e) {
       // 获取团队人员信息

+ 82 - 2
src/views/workbench/person/index.vue

@@ -7,7 +7,24 @@
           v-for="(item,index) in teamInfo"
           :key="index"
           class="teamInfo"
-        >{{ item.teamName + '的' + getUserRoleInTeam(username,item) }}</div>
+        >
+          <div class="team_name">
+            <div style="display: inline-block">{{ item.teamName + '的' + getUserRoleInTeam(username,item) }}</div>
+            <div style="display: inline-block" @mouseover="chirdrenClass = index" @mouseout="chirdrenClass = -1">
+              <div style="display: inline-block;width: 10px;background-color: #409eff;" />
+              <div :style="chirdrenClass === index? {display:'block'}:{display: 'none'}" class="team_content">
+                <div style="color: rgba(155, 155, 155, 1)">团队名称</div>
+                <div>{{ item.teamName }}</div>
+                <div style="color: rgba(155, 155, 155, 1)">我的角色</div>
+                <div>{{ getUserRoleInTeam(username,item) }}</div>
+                <div style="color: rgba(155, 155, 155, 1)">团队成员</div>
+                <div>
+                  {{ getTeamMember(item) }}
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
         <div
           style="margin-top: 20px"
           class="more"
@@ -61,7 +78,43 @@
       style="margin-top: 80px;"
       :modal="false"
     >
-      123
+      <template v-slot:title>
+        <div style="font-weight: 500;font-size: 20px;margin: 20px 0 0 20px">
+          我的团队
+        </div>
+      </template>
+      <div style="padding: 50px 100px">
+        <el-table
+          border
+          :data="teamInfo"
+          style="width: 100%;font-size: 14px; color:#333B4A;margin-top: 20px"
+          :header-cell-style="{color:'#333B4A',fontSize: '16px',fontWeight:500,background:'rgba(240,242,244,1)'}"
+        >
+          <el-table-column prop="teamName" label="团队名称" align="center" min-width="100" />
+          <el-table-column prop="teamId" label="我的角色" align="center" min-width="100">
+            <template v-slot="scope">
+              <div>{{ getUserRoleInTeam(username,scope.row) }}</div>
+            </template>
+          </el-table-column>
+          <el-table-column prop="teamMemberRelateInfoResponseList" label="成员名单" align="center" min-width="100">
+            <template v-slot="scope">
+              <div v-for="(item,index) in scope.row.teamLeaderRelateInfoResponseList" :key="index+100" style="display: inline-block">
+                <span>{{ item.memberName }}</span>
+                <span style="color: red"> Leader</span>
+                <span>、</span>
+              </div>
+              <div v-for="(item,index) in scope.row.teamMemberRelateInfoResponseList" :key="index" style="display: inline-block">
+                {{ item.memberName }} {{ (index+1) !== scope.row.teamMemberRelateInfoResponseList.length?'、':'' }}
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column prop="teamName" label="操作" align="center" min-width="60">
+            <template v-slot="scope">
+              <el-button size="small" @click="openUpdateTeamInfoDialog(scope.row)">编辑</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
     </el-dialog>
     <el-dialog
       class="workbench_fullscreen_dialog"
@@ -238,6 +291,8 @@ export default {
   },
   data() {
     return {
+      chirdrenClass: -1,
+      myTeamTableData: [],
       myCreateTab: 'my_create',
       myHandleTab: 'bug_tab_select',
       activeName: 'first',
@@ -323,6 +378,9 @@ export default {
     dateClick(arg) {
       // this.createSelfScheduleDialog.data = arg
       // this.createSelfScheduleDialog.visible = true
+    },
+    openUpdateTeamInfoDialog(row) {
+
     },
     openUpdateSelfScheduleDialog(val) {
       const form = JSON.parse(JSON.stringify(val))
@@ -457,12 +515,34 @@ export default {
         )
       }
       return data.join('、')
+    },
+    getTeamMember(teamInfoItem) {
+      const data = []
+      for (const i in teamInfoItem.teamLeaderRelateInfoResponseList) {
+        data.push(teamInfoItem.teamLeaderRelateInfoResponseList[i].memberName + ' Leader')
+      }
+      for (const i in teamInfoItem.teamMemberRelateInfoResponseList) {
+        data.push(teamInfoItem.teamMemberRelateInfoResponseList[i].memberName)
+      }
+      return data.join('、')
     }
   }
 }
 </script>
 
 <style scoped>
+.team_content {
+  z-index: 2;
+  border-radius: 4px;
+  border: 1px solid rgba(155, 155, 155, 1);
+  padding: 10px 20px 20px 20px;
+  background: #ffffff;
+  display: none;
+  position: absolute;
+}
+.team_content div {
+  margin-top: 10px;
+}
 .header .realname {
   font-size: 22px;
   font-weight: 500;