ソースを参照

fix: 1. 修改未登录时出现的三个错误; 2. 文件评审列表添加状态标签

shanshan 4 年 前
コミット
0be977caeb
3 ファイル変更30 行追加31 行削除
  1. 2 2
      src/App.vue
  2. 14 5
      src/store/modules/user.ts
  3. 14 24
      src/views/Project/CodeReview.vue

+ 2 - 2
src/App.vue

@@ -33,8 +33,8 @@ export default defineComponent({
     }
 
     UserDispatcher.updateUserInfo();
-    WorkspaceDispatcher.refreshProjectList();
-    MessageDispatcher.updateMessageList();
+    // WorkspaceDispatcher.refreshProjectList();
+    // MessageDispatcher.updateMessageList();
 
     onMounted(() => {
       window.onbeforeunload = () => {

+ 14 - 5
src/store/modules/user.ts

@@ -1,6 +1,7 @@
 import { UserAPI } from '@/api';
 import { ActionTree, Module, MutationTree } from 'vuex';
 import { RootState, UserState } from '../typings';
+import { WorkspaceDispatcher, MessageDispatcher } from '../dispatchers';
 
 const DEFAULT: UserState = {
   username: 'GUEST',
@@ -13,11 +14,19 @@ const DEFAULT: UserState = {
 
 const actions: ActionTree<UserState, RootState> = {
   async updateUserInfo({ commit }) {
-    const userinfo = await UserAPI.getUserInfo();
-    if (!userinfo) {
-      return;
-    }
-    commit('updateUserInfo', userinfo);
+    // const userinfo = await UserAPI.getUserInfo();
+    // if (!userinfo) {
+    //   return;
+    // }
+    // commit('updateUserInfo', userinfo);
+    UserAPI.getUserInfo().then(
+      (res) => {
+        if (!res) return;
+        commit('updateUserInfo', res);
+        WorkspaceDispatcher.refreshProjectList();
+        MessageDispatcher.updateMessageList();
+      },
+    );
   },
   userLogOut({ commit }) {
     commit('updateUserInfo', DEFAULT);

+ 14 - 24
src/views/Project/CodeReview.vue

@@ -2,35 +2,12 @@
   <div class="container">
     <CodeReviewAddDrawer ref="addDrawer"/>
     <FileReviewAddDrawer ref="fileReviewAddDrawer"/>
-<!--    <el-row>-->
-<!--      <h2>代码评审列表</h2>-->
-<!--    </el-row>-->
-<!--    <div class = "tabs">-->
-<!--      <div class="tab-pane" :active="tabActive[0]" @click="changeTab(0)">-->
-<!--        Opened <div class="tab-pane-inline-circle">{{tabCount[0]}}</div>-->
-<!--      </div>-->
-<!--      <div class="tab-pane" :active="tabActive[1]" @click="changeTab(1)">-->
-<!--        Merged <div class="tab-pane-inline-circle">{{tabCount[1]}}</div>-->
-<!--      </div>-->
-<!--      <div class="tab-pane" :active="tabActive[2]" @click="changeTab(2)">-->
-<!--        Closed <div class="tab-pane-inline-circle">{{tabCount[2]}}</div>-->
-<!--      </div>-->
-<!--      <div class="tab-pane" :active="tabActive[3]" @click="changeTab(3)">-->
-<!--        All <div class="tab-pane-inline-circle">{{tabCount[3]}}</div>-->
-<!--      </div>-->
-<!--    </div>-->
     <el-row>
       <h2>代码评审列表</h2>
       <div class="button-plate">
         <el-button type="success" size="medium" @click="addCodeReview">新建分支评审</el-button>
         <el-button type="primary" size="medium" @click="addFileReview">新建文件评审</el-button>
       </div>
-      <!-- <el-button type="success" id="addButton" size="medium" @click="add">
-        新建代码评审
-      </el-button>
-      <el-button type="success" id="addFileReviewButton" size="medium">
-        新建文件评审
-      </el-button> -->
     </el-row>
     <ElTabs class="tabs" v-model="activeTab">
       <ElTabPane :label="'Opened(' + codeReviewList.opened.length + ')'" name="Opened">
@@ -53,7 +30,10 @@
       </ElTabPane>
       <ElTabPane :label="'FileReview(' + codeReviewList.fileReview.length + ')'" name="FileReview">
         <div class="code-review-line" v-for="item in codeReviewList.fileReview" :key="item.id">
-          <div class="code-review-titleline" @click="directToFileReviewDetail(item.id)">{{item.title}}</div>
+          <el-row>
+            <div class="code-review-titleline" @click="directToFileReviewDetail(item.id)">{{item.title}}</div>
+            <el-tag size="mini" class="state-tag" :type="getFileReviewTagType(item.status)" effect="dark">{{item.status}}</el-tag>
+          </el-row>
           <div class="code-review-timeline">opened at {{item.createTime.split('T')[0]}}</div>
         </div>
       </ElTabPane>
@@ -128,6 +108,12 @@ export default {
     directToFileReviewDetail(id) {
       this.$router.push(`filereviewdetail?fileReviewId=${id}`);
     },
+    getFileReviewTagType(status) {
+      if (status === 'Inspecting') return 'warning';
+      if (status === 'Rework') return 'danger';
+      if (status === 'Completed') return 'success';
+      return '';
+    },
   },
   async mounted() {
     this.codeReviewList = await CodeReviewAPI.getCodeReviewList(this.currentProjectInfo.id);
@@ -184,4 +170,8 @@ export default {
   font-size: 0.9em;
   margin-top: 5px;
 }
+.state-tag {
+  position: absolute;
+  right: 0%;
+}
 </style>