yangsl пре 3 година
родитељ
комит
f9f14ccae1

+ 3 - 0
src/api/login.js

@@ -11,8 +11,10 @@ const userApi = {
   // get my info
   UserInfo: '/user/info',
   UserMenu: '/user/nav'
+
 }
 
+
 /**
  * login func
  * parameter: {
@@ -78,3 +80,4 @@ export function get2step (parameter) {
     data: parameter
   })
 }
+

+ 23 - 0
src/api/task.js

@@ -0,0 +1,23 @@
+import request from '@/utils/request'
+
+const taskApi = {
+    // 获取个人工作台菜单
+    PersonalMenu: '/personal/nav',
+    ProjectMenu: '/project/nav'
+  }
+
+  export function getPersonalNav () {
+    return request({
+      url: taskApi.PersonalMenu,
+      method: 'get'
+    })
+  }
+  
+  export function getProjectNav () {
+    return request({
+      url: taskApi.ProjectMenu,
+      method: 'get'
+    })
+  }
+
+  

+ 144 - 29
src/assets/logo.svg

@@ -1,29 +1,144 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg viewBox="0 0 128 128" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-  <!-- Generator: Sketch 52.6 (67491) - http://www.bohemiancoding.com/sketch -->
-  <title>Vue</title>
-  <desc>Created with Sketch.</desc>
-  <defs>
-    <linearGradient x1="69.644116%" y1="0%" x2="69.644116%" y2="100%" id="linearGradient-1">
-      <stop stop-color="#29CDFF" offset="0%"></stop>
-      <stop stop-color="#148EFF" offset="37.8600687%"></stop>
-      <stop stop-color="#0A60FF" offset="100%"></stop>
-    </linearGradient>
-    <linearGradient x1="-19.8191553%" y1="-36.7931464%" x2="138.57919%" y2="157.637507%" id="linearGradient-2">
-      <stop stop-color="#29CDFF" offset="0%"></stop>
-      <stop stop-color="#0F78FF" offset="100%"></stop>
-    </linearGradient>
-    <linearGradient x1="68.1279872%" y1="-35.6905737%" x2="30.4400914%" y2="114.942679%" id="linearGradient-3">
-      <stop stop-color="#FA8E7D" offset="0%"></stop>
-      <stop stop-color="#F74A5C" offset="51.2635191%"></stop>
-      <stop stop-color="#F51D2C" offset="100%"></stop>
-    </linearGradient>
-  </defs>
-  <g id="Vue" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-    <g id="Group" transform="translate(19.000000, 9.000000)">
-      <path d="M89.96,90.48 C78.58,93.48 68.33,83.36 67.62,82.48 L46.6604487,62.2292258 C45.5023849,61.1103236 44.8426845,59.5728835 44.8296987,57.9626396 L44.5035564,17.5209948 C44.4948861,16.4458744 44.0537714,15.4195095 43.2796864,14.6733517 L29.6459999,1.53153737 C28.055475,-0.00160504005 25.5232423,0.0449126588 23.9900999,1.63543756 C23.2715121,2.38092066 22.87,3.37600834 22.87,4.41143746 L22.87,64.3864751 C22.87,67.0807891 23.9572233,69.6611067 25.885409,71.5429748 L63.6004615,108.352061 C65.9466323,110.641873 69.6963584,110.624605 72.0213403,108.313281" id="Path-Copy" fill="url(#linearGradient-1)" fill-rule="nonzero" transform="translate(56.415000, 54.831157) scale(-1, 1) translate(-56.415000, -54.831157) "></path>
-      <path d="M68,90.1163122 C56.62,93.1163122 45.46,83.36 44.75,82.48 L23.7904487,62.2292258 C22.6323849,61.1103236 21.9726845,59.5728835 21.9596987,57.9626396 L21.6335564,17.5209948 C21.6248861,16.4458744 21.1837714,15.4195095 20.4096864,14.6733517 L6.7759999,1.53153737 C5.185475,-0.00160504005 2.65324232,0.0449126588 1.12009991,1.63543756 C0.401512125,2.38092066 3.90211878e-13,3.37600834 3.90798505e-13,4.41143746 L3.94351218e-13,64.3864751 C3.94681177e-13,67.0807891 1.08722326,69.6611067 3.01540903,71.5429748 L40.7807092,108.401101 C43.1069304,110.671444 46.8180151,110.676525 49.1504445,108.412561" id="Path" fill="url(#linearGradient-2)" fill-rule="nonzero"></path>
-      <path d="M43.2983488,19.0991931 L27.5566079,3.88246244 C26.7624281,3.11476967 26.7409561,1.84862177 27.5086488,1.05444194 C27.8854826,0.664606611 28.4044438,0.444472651 28.9466386,0.444472651 L60.3925021,0.444472651 C61.4970716,0.444472651 62.3925021,1.33990315 62.3925021,2.44447265 C62.3925021,2.9858375 62.1730396,3.50407742 61.7842512,3.88079942 L46.0801285,19.0975301 C45.3051579,19.8484488 44.0742167,19.8491847 43.2983488,19.0991931 Z" id="Path" fill="url(#linearGradient-3)"></path>
-    </g>
-  </g>
-</svg>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="70px" height="65px" viewBox="0 0 70 65" enable-background="new 0 0 70 65" xml:space="preserve">  <image id="image0" width="70" height="65" x="0" y="0"
+    href="data:image/png;base64,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
+fft3yAtLM/nd7ffIDvMOl6uu/4EsWvQH+drl18r99/9JBte+InVpiEghErxIUU6CjD4PFmT0R1+T
+vY7Hcjb0NhjtFGy4D2Xj3VS09NbyeE8dVCdWQMThxWJbvGpQQ49Kaeo664bGM6ULChlm0ZMvMXni
+Vswe38vQ2mEGVBeTxkNMYMRrqgq0ctRVTidx2T/y5eZGRne4t5TJ19p8/d8C5v9ne/Px4s3Ym8Bs
+xt4EZjP2JjCbsTeB2Yy9Ccxm7H8C2fG0XXlrYxIAAAAldEVYdGRhdGU6Y3JlYXRlADIwMjEtMDkt
+MDNUMTE6Mzg6MDYrMDg6MDCA9yjOAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDIxLTA5LTAzVDExOjM4
+OjA2KzA4OjAw8aqQcgAAACB0RVh0c29mdHdhcmUAaHR0cHM6Ly9pbWFnZW1hZ2ljay5vcme8zx2d
+AAAAGHRFWHRUaHVtYjo6RG9jdW1lbnQ6OlBhZ2VzADGn/7svAAAAF3RFWHRUaHVtYjo6SW1hZ2U6
+OkhlaWdodAA2NcvnmRIAAAAWdEVYdFRodW1iOjpJbWFnZTo6V2lkdGgANzBaOZxRAAAAGXRFWHRU
+aHVtYjo6TWltZXR5cGUAaW1hZ2UvcG5nP7JWTgAAABd0RVh0VGh1bWI6Ok1UaW1lADE2MzA2NDAy
+ODaNZ8YOAAAAEnRFWHRUaHVtYjo6U2l6ZQA3MDMzQkIXgDvnAAAARnRFWHRUaHVtYjo6VVJJAGZp
+bGU6Ly8vYXBwL3RtcC9pbWFnZWxjL2ltZ3ZpZXcyXzlfMTYyNjY3OTQ3Mzk1ODMwMjhfODFfWzBd
+XqpnBwAAAABJRU5ErkJggg==" ></image>
+</svg>

+ 53 - 0
src/components/GlobalHeader/index.vue

@@ -0,0 +1,53 @@
+<template>
+ <div class="header-animat">
+  <!--切换应用-->
+    <a-menu
+    style="height: 55px; border-bottom: 0px;"
+    mode="horizontal"
+    :default-selected-keys="dev"
+    @click="switchApp"
+    >
+        <a-menu-item key="personal" style="top:0px;margin-top: 5px; line-height: 55px; padding-left: 10px; padding-right: 10px" >
+            个人工作台
+        </a-menu-item>
+        <a-menu-item key="project" style="top:0px;margin-top: 5px;line-height: 55px; padding-left: 10px; padding-right: 10px">
+            项目管理
+        </a-menu-item>
+    </a-menu>
+ </div>
+</template>
+
+<script>
+ //import { getPersonalNav, getProjectNav } from '@/api/task'
+
+export default {
+    name: 'globalheader',
+
+    components: { },
+
+    directives: { },
+
+    data() {
+        return {
+            dev: ['personal']
+        }
+    },
+
+    methods: {
+        switchApp(item, key, keyPath){
+            if(item.key == "personal"){
+                getPersonalNav().then(res => {
+                    console.log(res)
+                }) 
+            }else if (item.key == "project"){
+                getProjectNav().then(res => {
+                    console.log(res)
+                })
+            }
+        }
+    }
+}
+</script>
+
+<style scoped>
+</style>

+ 1 - 1
src/config/defaultSettings.js

@@ -23,7 +23,7 @@ export default {
   menu: {
     locale: true
   },
-  title: 'Ant Design Pro',
+  title: '项目管理平台',
   pwa: false,
   iconfontUrl: '',
   production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true'

+ 21 - 7
src/config/router.config.js

@@ -13,7 +13,7 @@ export const asyncRouterMap = [
     name: 'index',
     component: BasicLayout,
     meta: { title: 'menu.home' },
-    redirect: '/dashboard/workplace',
+    redirect: '/tasks/myday',
     children: [
       // dashboard
       {
@@ -271,34 +271,48 @@ export const asyncRouterMap = [
 
       // 个人任务清单
       {
-        path: '/tasks/important',
+        path: '/tasks/myday',
         name: 'myday',
         component: () => import(/* webpackChunkName: "fail" */ '@/views/task/personal/OneDayForMe'),
-        meta: { title: 'menu.exception', icon: 'warning' }
+        meta: { title: 'menu.exception', icon: 'alert' }
       },
       {
         path: '/tasks/important',
         name: 'important',
         component: () => import(/* webpackChunkName: "fail" */ '@/views/task/personal/OneDayForMe'),
-        meta: { title: 'menu.exception', icon: 'warning' }
+        meta: { title: 'menu.exception', icon: 'star' }
       },
       {
         path: '/tasks/planned',
         name: 'planned',
         component: () => import(/* webpackChunkName: "fail" */ '@/views/task/personal/OneDayForMe'),
-        meta: { title: 'menu.exception', icon: 'warning' }
+        meta: { title: 'menu.exception', icon: 'calendar' }
       },
       {
         path: '/tasks/assigned_to_me',
         name: 'assigned_to_me',
         component: () => import(/* webpackChunkName: "fail" */ '@/views/task/personal/OneDayForMe'),
-        meta: { title: 'menu.exception', icon: 'warning' }
+        meta: { title: 'menu.exception', icon: 'user' }
       },
       {
         path: '/tasks/inbox',
         name: 'inbox',
         component: () => import(/* webpackChunkName: "fail" */ '@/views/task/personal/OneDayForMe'),
-        meta: { title: 'menu.exception', icon: 'warning' }
+        meta: { title: 'menu.exception', icon: 'home' }
+      },
+
+      // 项目管理部分
+      {
+        path: '/project/weeklyplan',
+        name: 'weeklyplan',
+        component: () => import(/* webpackChunkName: "fail" */ '@/views/task/project/WeeklyPlan'),
+        meta: { title: 'menu.exception', icon: 'tag' }
+      },
+      {
+        path: '/project/monthlyplan',
+        name: 'monthlyplan',
+        component: () => import(/* webpackChunkName: "fail" */ '@/views/task/project/MonthlyPlan'),
+        meta: { title: 'menu.exception', icon: 'tags' }
       }
 
       // other

+ 6 - 16
src/layouts/BasicLayout.vue

@@ -9,12 +9,6 @@
     :i18nRender="i18nRender"
     v-bind="settings"
   >
-    <!-- Ads begin
-      广告代码 真实项目中请移除
-      production remove this Ads
-    -->
-    <ads v-if="isProPreviewSite && !collapsed"/>
-    <!-- Ads end -->
 
     <!-- 1.0.0+ 版本 pro-layout 提供 API,
           我们推荐使用这种方式进行 LOGO 和 title 自定义
@@ -22,18 +16,14 @@
     <template v-slot:menuHeaderRender>
       <div>
         <logo-svg />
-        <h1>{{ title }}</h1>
+        <h1 style="color:#2c3c66">{{ title }}</h1>
       </div>
     </template>
     <!-- 1.0.0+ 版本 pro-layout 提供 API,
           增加 Header 左侧内容区自定义
     -->
     <template v-slot:headerContentRender>
-      <div>
-        <a-tooltip title="刷新页面">
-          <a-icon type="reload" style="font-size: 18px;cursor: pointer;" @click="() => { $message.info('只是一个DEMO') }" />
-        </a-tooltip>
-      </div>
+      <global-header/>
     </template>
 
     <setting-drawer v-if="isDev" :settings="settings" @change="handleSettingChange">
@@ -46,7 +36,7 @@
     </template>
     <!-- custom footer / 自定义Footer -->
     <template v-slot:footerRender>
-      <global-footer />
+      <global-footer/>
     </template>
     <router-view />
   </pro-layout>
@@ -60,8 +50,8 @@ import { CONTENT_WIDTH_TYPE, SIDEBAR_TYPE, TOGGLE_MOBILE_TYPE } from '@/store/mu
 
 import defaultSettings from '@/config/defaultSettings'
 import RightContent from '@/components/GlobalHeader/RightContent'
+import GlobalHeader from '@/components/GlobalHeader'
 import GlobalFooter from '@/components/GlobalFooter'
-import Ads from '@/components/Other/CarbonAds'
 import LogoSvg from '../assets/logo.svg?inline'
 
 export default {
@@ -69,9 +59,9 @@ export default {
   components: {
     SettingDrawer,
     RightContent,
+    GlobalHeader,
     GlobalFooter,
-    LogoSvg,
-    Ads
+    LogoSvg
   },
   data () {
     return {

+ 43 - 386
src/mock/services/user.js

@@ -465,387 +465,9 @@ const info = options => {
   return builder(userInfo)
 }
 
-const userNav = options => {
+// 个人工作台
+const personalNav = options => {
   const nav = [
-    // dashboard
-    {
-      name: 'dashboard',
-      parentId: 0,
-      id: 1,
-      meta: {
-        icon: 'dashboard',
-        title: '仪表盘',
-        show: true
-      },
-      component: 'RouteView',
-      redirect: '/dashboard/workplace'
-    },
-    {
-      name: 'workplace',
-      parentId: 1,
-      id: 7,
-      meta: {
-        title: '工作台',
-        show: true
-      },
-      component: 'Workplace'
-    },
-    {
-      name: 'monitor',
-      path: 'https://www.baidu.com/',
-      parentId: 1,
-      id: 3,
-      meta: {
-        title: '监控页(外部)',
-        target: '_blank',
-        show: true
-      }
-    },
-    {
-      name: 'Analysis',
-      parentId: 1,
-      id: 2,
-      meta: {
-        title: '分析页',
-        show: true
-      },
-      component: 'Analysis',
-      path: '/dashboard/analysis'
-    },
-
-    // form
-    {
-      name: 'form',
-      parentId: 0,
-      id: 10,
-      meta: {
-        icon: 'form',
-        title: '表单页'
-      },
-      redirect: '/form/base-form',
-      component: 'RouteView'
-    },
-    {
-      name: 'basic-form',
-      parentId: 10,
-      id: 6,
-      meta: {
-        title: '基础表单'
-      },
-      component: 'BasicForm'
-    },
-    {
-      name: 'step-form',
-      parentId: 10,
-      id: 5,
-      meta: {
-        title: '分步表单'
-      },
-      component: 'StepForm'
-    },
-    {
-      name: 'advanced-form',
-      parentId: 10,
-      id: 4,
-      meta: {
-        title: '高级表单'
-      },
-      component: 'AdvanceForm'
-    },
-
-    // list
-    {
-      name: 'list',
-      parentId: 0,
-      id: 10010,
-      meta: {
-        icon: 'table',
-        title: '列表页',
-        show: true
-      },
-      redirect: '/list/table-list',
-      component: 'RouteView'
-    },
-    {
-      name: 'table-list',
-      parentId: 10010,
-      id: 10011,
-      path: '/list/table-list/:pageNo([1-9]\\d*)?',
-      meta: {
-        title: '查询表格',
-        show: true
-      },
-      component: 'TableList'
-    },
-    {
-      name: 'basic-list',
-      parentId: 10010,
-      id: 10012,
-      meta: {
-        title: '标准列表',
-        show: true
-      },
-      component: 'StandardList'
-    },
-    {
-      name: 'card',
-      parentId: 10010,
-      id: 10013,
-      meta: {
-        title: '卡片列表',
-        show: true
-      },
-      component: 'CardList'
-    },
-    {
-      name: 'search',
-      parentId: 10010,
-      id: 10014,
-      meta: {
-        title: '搜索列表',
-        show: true
-      },
-      redirect: '/list/search/article',
-      component: 'SearchLayout'
-    },
-    {
-      name: 'article',
-      parentId: 10014,
-      id: 10015,
-      meta: {
-        title: '搜索列表(文章)',
-        show: true
-      },
-      component: 'SearchArticles'
-    },
-    {
-      name: 'project',
-      parentId: 10014,
-      id: 10016,
-      meta: {
-        title: '搜索列表(项目)',
-        show: true
-      },
-      component: 'SearchProjects'
-    },
-    {
-      name: 'application',
-      parentId: 10014,
-      id: 10017,
-      meta: {
-        title: '搜索列表(应用)',
-        show: true
-      },
-      component: 'SearchApplications'
-    },
-
-    // profile
-    {
-      name: 'profile',
-      parentId: 0,
-      id: 10018,
-      meta: {
-        title: '详情页',
-        icon: 'profile',
-        show: true
-      },
-      redirect: '/profile/basic',
-      component: 'RouteView'
-    },
-    {
-      name: 'basic',
-      parentId: 10018,
-      id: 10019,
-      meta: {
-        title: '基础详情页',
-        show: true
-      },
-      component: 'ProfileBasic'
-    },
-    {
-      name: 'advanced',
-      parentId: 10018,
-      id: 10020,
-      meta: {
-        title: '高级详情页',
-        show: true
-      },
-      component: 'ProfileAdvanced'
-    },
-
-    // result
-    {
-      name: 'result',
-      parentId: 0,
-      id: 10021,
-      meta: {
-        title: '结果页',
-        icon: 'check-circle-o',
-        show: true
-      },
-      redirect: '/result/success',
-      component: 'PageView'
-    },
-    {
-      name: 'success',
-      parentId: 10021,
-      id: 10022,
-      meta: {
-        title: '成功',
-        hiddenHeaderContent: true,
-        show: true
-      },
-      component: 'ResultSuccess'
-    },
-    {
-      name: 'fail',
-      parentId: 10021,
-      id: 10023,
-      meta: {
-        title: '失败',
-        hiddenHeaderContent: true,
-        show: true
-      },
-      component: 'ResultFail'
-    },
-
-    // Exception
-    {
-      name: 'exception',
-      parentId: 0,
-      id: 10024,
-      meta: {
-        title: '异常页',
-        icon: 'warning',
-        show: true
-      },
-      redirect: '/exception/403',
-      component: 'RouteView'
-    },
-    {
-      name: '403',
-      parentId: 10024,
-      id: 10025,
-      meta: {
-        title: '403',
-        show: true
-      },
-      component: 'Exception403'
-    },
-    {
-      name: '404',
-      parentId: 10024,
-      id: 10026,
-      meta: {
-        title: '404',
-        show: true
-      },
-      component: 'Exception404'
-    },
-    {
-      name: '500',
-      parentId: 10024,
-      id: 10027,
-      meta: {
-        title: '500',
-        show: true
-      },
-      component: 'Exception500'
-    },
-
-    // account
-    {
-      name: 'account',
-      parentId: 0,
-      id: 10028,
-      meta: {
-        title: '个人页',
-        icon: 'user',
-        show: true
-      },
-      redirect: '/account/center',
-      component: 'RouteView'
-    },
-    {
-      name: 'center',
-      parentId: 10028,
-      id: 10029,
-      meta: {
-        title: '个人中心',
-        show: true
-      },
-      component: 'AccountCenter'
-    },
-    // 特殊三级菜单
-    {
-      name: 'settings',
-      parentId: 10028,
-      id: 10030,
-      meta: {
-        title: '个人设置',
-        hideHeader: true,
-        hideChildren: true,
-        show: true
-      },
-      redirect: '/account/settings/base',
-      component: 'AccountSettings'
-    },
-    {
-      name: 'BasicSetting',
-      path: '/account/settings/base',
-      parentId: 10030,
-      id: 10031,
-      meta: {
-        title: '基本设置',
-        show: false
-      },
-      component: 'BasicSetting'
-    },
-    {
-      name: 'SecuritySettings',
-      path: '/account/settings/security',
-      parentId: 10030,
-      id: 10032,
-      meta: {
-        title: '安全设置',
-        show: false
-      },
-      component: 'SecuritySettings'
-    },
-    {
-      name: 'CustomSettings',
-      path: '/account/settings/custom',
-      parentId: 10030,
-      id: 10033,
-      meta: {
-        title: '个性化设置',
-        show: false
-      },
-      component: 'CustomSettings'
-    },
-    {
-      name: 'BindingSettings',
-      path: '/account/settings/binding',
-      parentId: 10030,
-      id: 10034,
-      meta: {
-        title: '账户绑定',
-        show: false
-      },
-      component: 'BindingSetting'
-    },
-    {
-      name: 'NotificationSettings',
-      path: '/account/settings/notification',
-      parentId: 10030,
-      id: 10034,
-      meta: {
-        title: '新消息通知',
-        show: false
-      },
-      component: 'NotificationSettings'
-    },
-
     // 我的任务清单
     {
       name: 'tasks/myday',
@@ -853,7 +475,7 @@ const userNav = options => {
       id: 10035,
       meta: {
         title: '我的一天',
-        icon: 'warning',
+        icon: 'alert',
         show: true
       },
       component: 'OneDayForMe'
@@ -864,7 +486,7 @@ const userNav = options => {
       id: 10036,
       meta: {
         title: '重要',
-        icon: 'warning',
+        icon: 'star',
         show: true
       },
       component: 'Important'
@@ -875,7 +497,7 @@ const userNav = options => {
       id: 10037,
       meta: {
         title: '计划内',
-        icon: 'warning',
+        icon: 'calendar',
         show: true
       },
       component: 'InsideThePlan'
@@ -886,7 +508,7 @@ const userNav = options => {
       id: 10038,
       meta: {
         title: '已分配给我',
-        icon: 'warning',
+        icon: 'user',
         show: true
       },
       component: 'AssignedToMe'
@@ -897,7 +519,7 @@ const userNav = options => {
       id: 10039,
       meta: {
         title: '任务',
-        icon: 'warning',
+        icon: 'home',
         show: true
       },
       component: 'MyTask'
@@ -908,5 +530,40 @@ const userNav = options => {
   return json
 }
 
+// 项目管理
+const projectNav = options => {
+  const nav = [
+    // 周计划
+    {
+      name: 'project/WeeklyPlan',
+      parentId: 0,
+      id: 10040,
+      meta: {
+        title: '周计划',
+        icon: 'alert',
+        show: true
+      },
+      component: 'WeeklyPlan'
+    },
+    // 月度计划
+    {
+      name: 'project/MonthlyPlan',
+      parentId: 0,
+      id: 10041,
+      meta: {
+        title: '月度计划',
+        icon: 'star',
+        show: true
+      },
+      component: 'MonthlyPlan'
+    }
+  ]
+  const json = builder(nav)
+  console.log('json', json)
+  return json
+}
+
 Mock.mock(/\/api\/user\/info/, 'get', info)
-Mock.mock(/\/api\/user\/nav/, 'get', userNav)
+// Mock.mock(/\/api\/user\/nav/, 'get', userNav)
+Mock.mock(/\/api\/personal\/nav/, 'get', personalNav)
+Mock.mock(/\/api\/project\/nav/, 'get', projectNav)

+ 9 - 4
src/router/generator-routers.js

@@ -2,6 +2,7 @@
 import * as loginService from '@/api/login'
 // eslint-disable-next-line
 import { BasicLayout, BlankLayout, PageView, RouteView } from '@/layouts'
+import * as taskService from "@/api/task"
 
 // 前端路由表
 const constantRouterComponents = {
@@ -57,7 +58,11 @@ const constantRouterComponents = {
   Important: () => import('@/views/task/personal/Important'),
   InsideThePlan: () => import('@/views/task/personal/InsideThePlan'),
   AssignedToMe: () => import('@/views/task/personal/AssignedToMe'),
-  MyTask: () => import('@/views/task/personal/MyTask')
+  MyTask: () => import('@/views/task/personal/MyTask'),
+
+  // 项目管理菜单
+  WeeklyPlan: () => import('@/views/task/project/WeeklyPlan'),
+  MonthlyPlan: () => import('@/views/task/project/MonthlyPlan')
 
   // 'TestWork': () => import(/* webpackChunkName: "TestWork" */ '@/views/dashboard/TestWork')
 }
@@ -75,7 +80,7 @@ const rootRouter = {
   name: 'index',
   path: '',
   component: 'BasicLayout',
-  redirect: '/dashboard',
+  redirect: '/tasks/myday',
   meta: {
     title: '首页'
   },
@@ -89,8 +94,8 @@ const rootRouter = {
  */
 export const generatorDynamicRouter = token => {
   return new Promise((resolve, reject) => {
-    loginService
-      .getCurrentUserNav(token)
+    taskService
+      .getPersonalNav(token)
       .then(res => {
         console.log('generatorDynamicRouter response:', res)
         const { result } = res

+ 61 - 3
src/views/task/personal/OneDayForMe.vue

@@ -1,17 +1,75 @@
 <template>
     <div>
-       我的一天
+       <a-row>
+         <a-col :span="3">
+           <h1><strong style="font-size: 20px;">我的一天</strong></h1>
+           九月 4日星期六
+          </a-col>
+          <a-col :span = "3" :offset="13">
+            <a-button type="link" icon="swap">
+              排序
+            </a-button>
+            <a-button type="link" icon="bulb">建议</a-button>
+          </a-col>
+       </a-row>
+       <a-row style="margin-top:15px">
+         <a-col span="18">
+          <a-input size="large" placeholder="请输入任务">
+            <a-icon slot="prefix" type="plus" />
+          </a-input>
+
+          <a-list item-layout="horizontal" :data-source="data">
+            <a-list-item slot="renderItem" slot-scope="item, index">
+              <a-list-item-meta
+                description="任务"
+              >
+                <a slot="title" href="#">{{ item.title }}</a>
+                <a-button
+                  size="small"
+                  shape="circle"
+                  slot="avatar"
+                  style="margin-top: 10px;"
+                />
+              </a-list-item-meta>
+              <a-icon type="star" />
+            </a-list-item>
+          </a-list>
+
+
+        </a-col>
+        <a-col :span="5" style="margin-left: 25px;">
+          <a-card style="width: 380px">
+            <p>Card content</p>
+            <p>Card content</p>
+            <p>Card content</p>
+          </a-card>
+        </a-col>
+      </a-row>
     </div>
 </template>
 
 <script>
-
+const data = [
+  {
+    title: '起床',
+  },
+  {
+    title: '吃饭',
+  },
+  {
+    title: '上班',
+  },
+  {
+    title: '下班',
+  },
+];
 export default {
-  name: '',
+  name: 'onedayforme',
   components: {
   },
   data () {
     return {
+      data
     }
   },
   mounted () {