Parcourir la source

feat: commits记录延迟获取

Jinyao il y a 5 ans
Parent
commit
91aaebc75a

+ 1 - 0
mock/index.js

@@ -29,6 +29,7 @@ app.use(`${prefix}/deployments`, require('./routers/deployment'));
 app.use(`${prefix}/tree`, require('./routers/tree'));
 app.use(`${prefix}/bug_list`, require('./routers/buglist'));
 app.use(`${prefix}/stages`, require('./routers/stage'));
+app.use(`${prefix}/commits`, require('./routers/commits'));
 
 app.listen(4000);
 

+ 0 - 9
mock/routers/buglist.js

@@ -23,15 +23,6 @@ router.get('/list', (req, res) => {
   res.json(wrapper(Mock.mock(
     {
       'data|5-10': [{
-        'commits|0-10': [
-          {
-            'gitlabUsername|1': ['hks', 'wph', 'zxr', 'cyt'],
-            'id|+1': 101,
-            message: 'git commit message',
-            timestamp: Random.datetime(),
-            title: 'titleeee',
-          },
-        ],
         description: 'bug description',
         endTime: Random.datetime(),
         timeToTake: 140,

+ 45 - 0
mock/routers/commits.js

@@ -0,0 +1,45 @@
+/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @typescript-eslint/no-var-requires */
+const router = require('express').Router();
+const Mock = require('mockjs');
+const wrapper = require('../wrapper');
+
+const { Random } = Mock;
+
+router.get('/bug_list', (req, res) => {
+  res.json(wrapper(
+    Mock.mock(
+      {
+        'commits|0-10': [
+          {
+            'gitlabUsername|1': ['hks', 'wph', 'zxr', 'cyt'],
+            'id|+1': 101,
+            message: 'git commit message',
+            timestamp: Random.datetime(),
+            title: 'titleeee',
+          },
+        ],
+      },
+    ).commits,
+  ));
+});
+
+router.get('/tree', (req, res) => {
+  res.json(wrapper(
+    Mock.mock(
+      {
+        'commits|0-10': [
+          {
+            'gitlabUsername|1': ['hks', 'wph', 'zxr', 'cyt'],
+            'id|+1': 101,
+            message: 'git commit message',
+            timestamp: Random.datetime(),
+            title: 'titleeee',
+          },
+        ],
+      },
+    ).commits,
+  ));
+});
+
+module.exports = router;

+ 0 - 9
mock/routers/tree.js

@@ -294,15 +294,6 @@ router.get('/:projectId', (req, res) => {
         'type|1': ['需求', '任务'],
       },
       {
-        'commits|0-10': [
-          {
-            'gitlabUsername|1': ['hks', 'wph', 'zxr', 'cyt'],
-            'id|+1': 101,
-            message: 'git commit message',
-            timestamp: Random.datetime(),
-            title: 'titleeee',
-          },
-        ],
         deep: 4,
         description: Random.csentence(10, 40),
         endTime: Random.datetime(),

+ 7 - 1
src/api/devcloud/buglist.ts

@@ -1,6 +1,6 @@
 import axios from '@/utils/axios';
 
-import { BUGLIST_PREFIX } from './prefix';
+import { BUGLIST_PREFIX, COMMIT_PREFIX } from './prefix';
 
 interface BugRecordPayload {
   description: string;
@@ -33,3 +33,9 @@ export const getBugListByProjectId = (projectId: number) => axios.get(`${BUGLIST
     projectId,
   },
 });
+
+export const getBugRecordCommitHistory = (bugId: number) => axios.get(`${COMMIT_PREFIX}/bug_list`, {
+  params: {
+    bugId,
+  },
+});

+ 1 - 0
src/api/devcloud/prefix.ts

@@ -7,3 +7,4 @@ export const GROUP_PREFIX = '/groups';
 export const BUGLIST_PREFIX = '/bug_list';
 export const APITEST_PREFIX = '/test';
 export const STAGE_PREFIX = '/stages';
+export const COMMIT_PREFIX = '/commits';

+ 7 - 1
src/api/devcloud/tree.ts

@@ -1,6 +1,6 @@
 import axios from '@/utils/axios';
 
-import { TREE_PREFIX } from './prefix';
+import { COMMIT_PREFIX, TREE_PREFIX } from './prefix';
 
 export const insertTreeNode = (treenode: TreeNode) => axios.post(`${TREE_PREFIX}/node`, treenode);
 
@@ -13,3 +13,9 @@ export const deleteTreeNode = (nodeId: number) => axios.delete(`${TREE_PREFIX}/n
 export const addChildNode = (parentId: number) => axios.post(`${TREE_PREFIX}/subNode/${parentId}`);
 
 export const getTreeNodesByProjectId = (projectId: number) => axios.get(`${TREE_PREFIX}/${projectId}`);
+
+export const getTaskRecordCommitHistory = (treeId: number) => axios.get(`${COMMIT_PREFIX}/tree`, {
+  params: {
+    treeId,
+  },
+});

+ 4 - 2
src/views/Project/BugList.vue

@@ -11,7 +11,7 @@
   <BugAddDrawer
     ref="addDrawer"
     @finish-add="fetch"></BugAddDrawer>
-  <BugEditDrawer ref="editDrawer" v-bind="selectedBug" @bug-record-update="fetch">
+  <BugEditDrawer ref="editDrawer" v-bind="selectedBug" :commits="commits" @bug-record-update="fetch">
   </BugEditDrawer>
 </div>
 </template>
@@ -31,6 +31,7 @@ export default {
       bugList: [],
       showAddBugDrawer: false,
       selectedBug: null,
+      commits: [],
     };
   },
   mounted() {
@@ -42,8 +43,9 @@ export default {
       this.bugList = await BugListAPI.getBugListByProjectId(this.$store.state.workspace.currentProjectId);
       this.loading = false;
     },
-    openDrawer(row) {
+    async openDrawer(row) {
       this.selectedBug = Array.prototype.find.call(this.bugList, (bug) => bug.id === row.id);
+      this.commits = await BugListAPI.getBugRecordCommitHistory(row.id);
       this.$refs.editDrawer.show();
       // 打开详情抽屉
       console.log(row);

+ 4 - 1
src/views/Project/TaskList.vue

@@ -9,6 +9,7 @@
   <RequriementDrawer
     ref="drawer"
     v-bind="requirementInDrawer"
+    :commits="commits"
     @requirement-update="fetch"
     :showSons="false"
   ></RequriementDrawer>
@@ -29,6 +30,7 @@ export default {
       requirementInDrawer: {},
       stateOptions: [{ value: '已完成' }, { value: '进行中' }, { value: '已创建' }],
       priorityOptions: [{ value: 0, label: '紧急' }, { value: 1, label: '宽松' }, { value: 2, label: '一般' }],
+      commits: [],
     };
   },
   mounted() {
@@ -40,8 +42,9 @@ export default {
       this.taskList = await RequirementAPI.getTasksByProjectId(this.$store.state.workspace.currentProjectId);
       this.loading = false;
     },
-    openDrawer(row) {
+    async openDrawer(row) {
       this.requirementInDrawer = row;
+      this.commits = await RequirementAPI.getTaskRecordCommitHistory(row.id);
       this.$refs.drawer.show();
     },
   },