Browse Source

fix: 修改commit界面,添加codeReview界面

zhaoxingrui 4 năm trước cách đây
mục cha
commit
4e5d4dc30d

BIN
src/assets/icon_new/pull-request-active.png


BIN
src/assets/icon_new/pull-request-hover.png


BIN
src/assets/icon_new/pull-request.png


+ 2 - 0
src/components/Menu.vue

@@ -193,6 +193,8 @@ export default defineComponent({
 <style scoped>
 .menu {
   width: 100%;
+  position: fixed;
+  z-index: 1000;
 }
 .menu-logo {
   color: #000000;

+ 1 - 1
src/components/ProjectCard.vue

@@ -5,7 +5,7 @@
     </template>
     <div>描述:{{description}}</div>
     <ElTooltip class="item" effect="dark" :content="gitRemoteUrl" placement="top">
-      <div class="link">链接:<ElLink class="url" @click.stop.prevent="copy(gitRemoteUrl)">{{gitRemoteUrl}}</ElLink></div>
+      <div class="link">链接:<a class="url" @click.stop.prevent="copy(gitRemoteUrl)">{{gitRemoteUrl}}</a></div>
     </ElTooltip>
   </ElCard>
 </template>

+ 13 - 0
src/components/SideBar.vue

@@ -31,6 +31,7 @@ const sidebar = [
   { name: 'apitest', description: '测试', hide: false },
   { name: 'invite', description: '项目关联', hide: false },
   { name: 'git', description: '提交记录', hide: false },
+  { name: 'codeReview', description: '代码评审', hide: false },
 ];
 
 export default {
@@ -66,6 +67,7 @@ export default {
 <style lang="scss" scoped>
 .side-bar {
   height: 100%;
+  position: fixed;
 }
 .icon {
   width: 28px;
@@ -180,6 +182,17 @@ export default {
     color: #1296db;
   }
 }
+.icon[target=codeReview]{
+  background-image: url("../assets/icon_new/pull-request.png");
+  .el-menu-item:hover & {
+    background-image: url("../assets/icon_new/pull-request-hover.png");
+    color: #2c2c2c;
+  }
+  .el-menu-item.is-active & {
+    background-image: url("../assets/icon_new/pull-request-active.png");
+    color: #1296db;
+  }
+}
 .title{
   font-size: 9px;
   margin-top: 12px;

+ 7 - 1
src/components/Tree.vue

@@ -206,7 +206,13 @@ export default {
   display: flex;
   overflow-y: auto;
   justify-content:center;
-  background: url("https://devcloud.cn-north-4.huaweicloud.com/projectman/plan_back.05189e7a664e6edc2f8e.png") repeat;
+  /*background: url("https://devcloud.cn-north-4.huaweicloud.com/projectman/plan_back.05189e7a664e6edc2f8e.png") repeat;*/
+  /*background: url("../assets/plan_back.png") repeat;*/
+  /*background: rgba(239, 245, 249, 0.7);*/
+  background-image:
+    linear-gradient(#f0f0f0 1.5px, transparent 0),
+    linear-gradient(90deg, #f0f0f0 1.5px, transparent 0);
+  background-size: 13px 13px;
 }
 #node-container {
   position:absolute;

+ 5 - 1
src/router/index.ts

@@ -68,7 +68,11 @@ const routes: Array<RouteRecordRaw> = [
       },
       {
         path: 'git',
-        component: () => import(/* webpackChunkName: "project" */'@/views/Project/Commit.vue'),
+        component: () => import(/* webpackChunkName: "project" */'@/views/Project/Commit1.vue'),
+      },
+      {
+        path: 'codeReview',
+        component: () => import(/* webpackChunkName: "project" */'@/views/Project/CodeReview.vue'),
       },
     ],
   }),

+ 15 - 0
src/views/Project/CodeReview.vue

@@ -0,0 +1,15 @@
+<template>
+  <div>
+    代码评审
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'CodeReview',
+};
+</script>
+
+<style scoped>
+
+</style>

+ 158 - 0
src/views/Project/Commit1.vue

@@ -0,0 +1,158 @@
+<template>
+  <div class="container">
+    <div class="row-item">
+      <div>
+        <el-select v-model="branch" clearable placeholder="请选择分支">
+          <el-option
+            v-for="branch in branches"
+            :key="branch.value"
+            :label="branch.label"
+            :value="branch.value"
+          ></el-option>
+        </el-select>
+      </div>
+      <div class="title" v-if="branch !== ''">
+        <h4>当前所选分支:</h4>
+        <h3>{{branch}}</h3>
+      </div>
+    </div>
+    <div class="body">
+      <el-row>
+        <el-col :span="12">
+          <el-timeline>
+            <el-timeline-item
+              v-for="(git, index) in gits"
+              :key="index"
+              :timestamp="git.timestamp"
+            >
+            <div class="card">
+              <div class="user left-5 top-5">{{git.user}}</div>
+              <div class="id left-5 top-5">{{git.id}}</div>
+              <div class="content left-5 top-5">{{git.content}}</div>
+            </div>
+            </el-timeline-item>
+          </el-timeline>
+        </el-col>
+        <el-col :span="11" :offset="1">具体的git记录</el-col>
+      </el-row>
+    </div>
+  </div>
+</template>
+
+<script>
+
+export default {
+  name: 'Commit1.vue',
+  data() {
+    return {
+      branches: [
+        {
+          value: 'master',
+          label: 'master',
+        },
+        {
+          value: 'dev',
+          label: 'dev',
+        },
+        {
+          value: 'zxr',
+          label: 'zxr',
+        },
+        {
+          value: 'wph',
+          label: 'wph',
+        },
+      ],
+      branch: '',
+      gits: [
+        {
+          user: 'ZhaoXR',
+          timestamp: '2018-04-12 20:46',
+          content: '!1 mytest',
+          id: '95d6c7eeef26229959ac9a8b839fa22d3adb09e2',
+        },
+        {
+          user: 'ZhaoXR',
+          timestamp: '2018-04-12 20:46',
+          content: '!1 mytest',
+          id: '95d6c7eeef26229959ac9a8b839fa22d3adb09e2',
+        },
+        {
+          user: 'ZhaoXR',
+          timestamp: '2018-04-12 20:46',
+          content: '!1 mytest',
+          id: '95d6c7eeef26229959ac9a8b839fa22d3adb09e2',
+        },
+        {
+          user: 'ZhaoXR',
+          timestamp: '2018-04-12 20:46',
+          content: '!1 mytest',
+          id: '95d6c7eeef26229959ac9a8b839fa22d3adb09e2',
+        },
+      ],
+    };
+  },
+};
+</script>
+
+<style scoped lang="scss">
+.container {
+  margin: 50px 100px;
+  width: 70%;
+}
+.row-item {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+}
+.title {
+  display: flex;
+  float: left;
+  height: 40px;
+  line-height: 40px;
+  margin-left: 20px;
+}
+.body {
+  margin-top: 30px;
+}
+::v-deep .el-timeline {
+  padding-left: 130px;
+  .el-timeline-item {
+     .el-timeline-item__tail {
+      border-left: 2px solid #1296db;
+    }
+    .el-timeline-item__node {
+      background-color: #1296db;
+    }
+  }
+  .el-timeline-item__timestamp.is-bottom {
+    position: absolute;
+    left: -117px;
+    top: -5px;
+    color: #333333;
+  }
+}
+.card {
+  border: 1px solid black;
+  border-radius: 4px;
+
+}
+.left-5 {
+  margin-left: 5px;
+}
+.top-5 {
+  margin-top: 5px;
+}
+.user {
+  font-size: 16px;
+  font-weight: bold;
+}
+.id {
+  color: #666666;
+  font: 14px Monaco, monospace;
+}
+.content {
+  color: black;
+  font: 14px Monaco, monospace;
+}
+</style>

+ 5 - 1
src/views/Project/Schedule.vue

@@ -13,7 +13,7 @@
               type="primary"
               @click.prevent="copy(selectedProject.gitRemoteUrl)"
             >
-              {{selectedProject.gitRemoteUrl}}
+              <a :href="selectedProject.gitRemoteUrl" class="url">{{selectedProject.gitRemoteUrl}}</a>
             </el-link>
           </span>
         </div>
@@ -338,6 +338,10 @@ export default {
 .description-card-text{
   margin: 5px 0;
 }
+.url {
+  color: dodgerblue;
+  text-decoration: none;
+}
 .el-drawer__body{
   overflow: auto;
 }

+ 1 - 0
src/views/ProjectContainer.vue

@@ -26,6 +26,7 @@ export default {
   background-color: #FFFFFF;
   width: calc(100% - 42px);
   min-height: 60vh;
+  margin-left: 64px;
 }
 /* 用于功能页组件最外层 */
 .content{

+ 30 - 15
yarn.lock

@@ -911,6 +911,11 @@
     cssnano-preset-default "^4.0.0"
     postcss "^7.0.0"
 
+"@mdi/font@^6.5.95":
+  version "6.5.95"
+  resolved "https://registry.yarnpkg.com/@mdi/font/-/font-6.5.95.tgz#203922f6dd46397de9eb1f5956b85339adb6344d"
+  integrity sha512-ES5rj6J39FUkHe/b3C9SJs8bqIungYhuU7rBINTBaHOv/Ce4RCb3Gw08CZVl32W33UEkgRkzyWaIedV4at+QHg==
+
 "@mrmlnc/readdir-enhanced@^2.2.1":
   version "2.2.1"
   resolved "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
@@ -3646,13 +3651,13 @@ ecdsa-sig-formatter@1.0.11:
   dependencies:
     safe-buffer "^5.0.1"
 
-echarts@^5.0.2:
-  version "5.1.1"
-  resolved "https://registry.nlark.com/echarts/download/echarts-5.1.1.tgz?cache=0&sync_timestamp=1619495447964&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fecharts%2Fdownload%2Fecharts-5.1.1.tgz#b186f162f017c555cfd67b12ede6762bdc3ddfda"
-  integrity sha1-sYbxYvAXxVXP1nsS7eZ2K9w939o=
+echarts@^5.1.1:
+  version "5.2.2"
+  resolved "https://registry.yarnpkg.com/echarts/-/echarts-5.2.2.tgz#ec3c8b2a151cbba71ba3c2c7cf9b2f2047ce4370"
+  integrity sha512-yxuBfeIH5c+0FsoRP60w4De6omXhA06c7eUYBsC1ykB6Ys2yK5fSteIYWvkJ4xJVLQgCvAdO8C4mN6MLeJpBaw==
   dependencies:
-    tslib "2.0.3"
-    zrender "5.1.0"
+    tslib "2.3.0"
+    zrender "5.2.1"
 
 ee-first@1.1.1:
   version "1.1.1"
@@ -6153,6 +6158,11 @@ map-visit@^1.0.0:
   dependencies:
     object-visit "^1.0.0"
 
+material-design-icons-iconfont@^6.1.1:
+  version "6.1.1"
+  resolved "https://registry.yarnpkg.com/material-design-icons-iconfont/-/material-design-icons-iconfont-6.1.1.tgz#c251c32b31435783105dc73820aa55252c3589c8"
+  integrity sha512-nkoXybeXoofanNagj4tbM6+/LALWpWxYX5ee861to5VQrKgb0/TskTw28Svwn0OGDKajuqK7ShFOsIBxIygGKA==
+
 md5.js@^1.3.4:
   version "1.3.5"
   resolved "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
@@ -9017,10 +9027,10 @@ tsconfig-paths@^3.9.0:
     minimist "^1.2.0"
     strip-bom "^3.0.0"
 
-tslib@2.0.3:
-  version "2.0.3"
-  resolved "https://registry.npm.taobao.org/tslib/download/tslib-2.0.3.tgz?cache=0&sync_timestamp=1617647331485&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftslib%2Fdownload%2Ftslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"
-  integrity sha1-jgdBrEX8DCJuWKF7/D5kubxsphw=
+tslib@2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
+  integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
 
 tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0:
   version "1.14.1"
@@ -9437,6 +9447,11 @@ vue@^3.0.0:
     "@vue/runtime-dom" "3.0.5"
     "@vue/shared" "3.0.5"
 
+vuetify@^3.0.0-alpha.12:
+  version "3.0.0-alpha.12"
+  resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-3.0.0-alpha.12.tgz#c781ebf16a9bb89dd8dfd27c1848efd534545336"
+  integrity sha512-F9TwV3Xk6J/bSH422kATrKeIiumGRkzGJPsvM0/8vPwYF0HWh7dHRhhYsIKkfhl5UJl/LYdeGNm1L8+jtldA0w==
+
 vuex@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/vuex/-/vuex-4.0.0.tgz#ac877aa76a9c45368c979471e461b520d38e6cf5"
@@ -9796,9 +9811,9 @@ yorkie@^2.0.0:
     normalize-path "^1.0.0"
     strip-indent "^2.0.0"
 
-zrender@5.1.0:
-  version "5.1.0"
-  resolved "https://registry.nlark.com/zrender/download/zrender-5.1.0.tgz#b6a84c3aa7ccc6642ee0519901ca4c0835c4d85e"
-  integrity sha1-tqhMOqfMxmQu4FGZAcpMCDXE2F4=
+zrender@5.2.1:
+  version "5.2.1"
+  resolved "https://registry.yarnpkg.com/zrender/-/zrender-5.2.1.tgz#5f4bbda915ba6d412b0b19dc2431beaad05417bb"
+  integrity sha512-M3bPGZuyLTNBC6LiNKXJwSCtglMp8XUEqEBG+2MdICDI3d1s500Y4P0CzldQGsqpRVB7fkvf3BKQQRxsEaTlsw==
   dependencies:
-    tslib "2.0.3"
+    tslib "2.3.0"