zhangyanpeng
2020-01-19 925be12c604e55c1434d6c0c91bcc8bfbc6a51cc
新建任务
8个文件已修改
314 ■■■■ 已修改文件
.eslintrc.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/index.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.ts 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.ts 101 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Home.vue 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.eslintrc.js
@@ -3,7 +3,7 @@
  env: {
    node: true
  },
  extends: ["plugin:vue/essential", "@vue/prettier", "@vue/typescript"],
  extends: ["plugin:vue/essential", "@vue/typescript"],
  rules: {
    "no-console": process.env.NODE_ENV === "production" ? "error" : "off",
    "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off"
package-lock.json
@@ -2211,6 +2211,37 @@
      "integrity": "sha1-fjPY99RJs/ZzzXLeuavcVS2+Uo4=",
      "dev": true
    },
    "axios": {
      "version": "0.19.1",
      "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.1.tgz",
      "integrity": "sha512-Yl+7nfreYKaLRvAvjNPkvfjnQHJM1yLBY3zhqAwcJSwR/6ETkanUgylgtIvkvz0xJ+p/vZuNw8X7Hnb7Whsbpw==",
      "requires": {
        "follow-redirects": "1.5.10"
      },
      "dependencies": {
        "debug": {
          "version": "3.1.0",
          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
          "requires": {
            "ms": "2.0.0"
          }
        },
        "follow-redirects": {
          "version": "1.5.10",
          "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
          "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
          "requires": {
            "debug": "=3.1.0"
          }
        },
        "ms": {
          "version": "2.0.0",
          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
          "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
        }
      }
    },
    "babel-code-frame": {
      "version": "6.26.0",
      "resolved": "https://registry.npm.taobao.org/babel-code-frame/download/babel-code-frame-6.26.0.tgz",
package.json
@@ -8,6 +8,7 @@
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "axios": "^0.19.1",
    "core-js": "^3.4.4",
    "element-ui": "^2.13.0",
    "register-service-worker": "^1.6.2",
public/index.html
@@ -7,7 +7,7 @@
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title>srs</title>
  </head>
  <body>
  <body style="margin: 0; padding: 0;">
    <noscript>
      <strong>We're sorry but srs doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
src/App.vue
@@ -1,17 +1,16 @@
<template>
  <div id="app">
    <home />
        <router-view name="app"></router-view>
  </div>
</template>
<script>
    import Home from "./views/Home.vue";
//    import Home from "./views/Home.vue";
    export default {
        name :"app",
      components:{
      /* components:{
          Home
      }
      } */
    };
</script>
<style lang="stylus">
src/main.ts
@@ -5,13 +5,39 @@
import store from "./store";
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
import Axios from 'axios';
Vue.use(ElementUI);
Vue.config.productionTip = false;
Vue.prototype.$axios = Axios;
Axios.defaults.baseURL = '/api';
Axios.defaults.headers.post['Content-Type'] = 'application/json';
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount("#app");
//日期格式化
Date.prototype.Format = function(fmt){
    var o = {
        "M+": this.getMonth() + 1,
        "d+": this.getDate(),
        "H+": this.getHours(),
        "m+": this.getMinutes(),
        "s+": this.getSeconds(),
        "S+": this.getMilliseconds()
    };
    if(/(y+)/.test(fmt)){
            fmt=fmt.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length));
    }
    for(var k in o){
            if (new RegExp("(" + k +")").test(fmt)){
                    fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(String(o[k]).length)));
            }
    }
    return fmt;
};
src/router/index.ts
@@ -1,31 +1,94 @@
import Vue from "vue";
import VueRouter from "vue-router";
import login from "../views/login.vue";
import Home from "../views/Home.vue";
import Mine from "../views/Mine.vue";
import Project from "../views/Project.vue";
import Overview from "../views/Overview.vue";
import calendarTask from "../views/calendarTask.vue";
Vue.use(VueRouter);
const routes = [
  {
    path: "/mine",
    name: "mine",
    component:Mine
  },{
    path: "/project",
    name: "project",
    component:Project
  },
  {
    path: "/about",
    name: "about",
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () =>
      import(/* webpackChunkName: "about" */ "../views/About.vue")
  }
    {
      path: "/login",
      name: "login",
      components:{
            app: login
        }
    },
    {
        path: "/",
        name: "Home",
        components:{
            app: Home
        },
        children: [
            {
              path: "mine",
              name: "mine",
              components:{
                    home: Mine
                }
            },{
              path: "project",
              name: "project",
                components:{
                    home: Project
                }
            },
            {
              path: "Overview",
              name: "Overview",
              components:{
                    home: Overview
                }
            },
            {
              path: "calendarTask",
              name: "calendarTask",
              components:{
                    home: calendarTask
                }
            },
            {
              path: "project2",
              name: "project2",
              components:{
                  home: Project
              }
            },
            {
              path: "project3",
              name: "project3",
              components:{
                  home: Project
              }
            },
            {
              path: "project4",
              name: "project4",
              components:{
                  home: Project
              }
            },
            {
              path: "project5",
              name: "project5",
              components:{
                  home: Project
              }
            },
            {
              path: "project6",
              name: "project6",
              components:{
                  home: Project
              }
            }
        ]
    },
];
const router = new VueRouter({
src/views/Home.vue
@@ -1,83 +1,119 @@
<template>
    <div style="100%;height: 100%;margin: 0;">
        <el-container style="height: 100%; width: 100%; border: 1px solid #eee">
        <el-container style="height: 100vh; box-sizing: border-box;">
          <el-aside width="200px" style="background-color: rgb(238, 241, 246); ">
            <div style="width: 100%;height: 60px;"></div>
            <el-menu default-active="1"  @select="handleSelect">
                <el-menu-item index="0">
                  <i class="el-icon-menu"></i>
                  <span slot="title">首页</span>
                </el-menu-item>
                <div style="width: 100%;height: 60px;"></div>
                <el-menu
                    :default-openeds="defaultActive"
                    class="el-menu-vertical-demo"
                    :unique-opened="false"
                    @select ="menuSelect"
                    @open ="menuSelect"
                    @close ="menuSelect"
                    active-text-color="#409EFF"
                    >
                  <navigationItem v-for="menu in navList" :key="menu.path" :item="menu" />
                </el-menu>
                
              <el-submenu index="1">
                 <template slot="title">
                           <i class="el-icon-menu"></i>
                           <span>项目管理</span>
                         </template>
                <el-menu-item-group>
                  <el-menu-item index="1-1">信息广场</el-menu-item>
                  <el-menu-item index="1-2">项目总览</el-menu-item>
                  <el-menu-item index="1-3">项目分析</el-menu-item>
                  <el-menu-item index="1-4">归档报告</el-menu-item>
                </el-menu-item-group>
              </el-submenu>
                <el-menu-item index="2">
                  <i class="el-icon-menu"></i>
                  <span slot="title">任务管理</span>
                </el-menu-item>
            </el-menu>
            <!-- <el-menu default-active="1"  @select="handleSelect">
                    <el-menu-item index="0">
                        <i class="el-icon-menu"></i>
                        <span slot="title">首页</span>
                    </el-menu-item>
                        <el-submenu index="1">
                            <template slot="title">
                                <i class="el-icon-menu"></i>
                                <span>项目管理</span>
                            </template>
                            <el-menu-item-group>
                                <el-menu-item index="1-1">信息广场</el-menu-item>
                                <el-menu-item index="1-2">项目总览</el-menu-item>
                                <el-menu-item index="1-3">项目分析</el-menu-item>
                                <el-menu-item index="1-4">归档报告</el-menu-item>
                            </el-menu-item-group>
                        </el-submenu>
                    <el-menu-item index="2">
                        <i class="el-icon-menu"></i>
                        <span slot="title">任务管理</span>
                    </el-menu-item>
            </el-menu> -->
          </el-aside>
          
          <el-container>
            <el-header style="text-align: right; font-size: 15px;padding-right: 40px;">
                <i class="el-icon-user-solid"></i>
                <span>admin</span>
                    <i class="el-icon-user-solid"></i>
                    <span>admin</span>
            </el-header>
            
            <el-main>
                <router-view></router-view>
            <el-main style="background-color: #f7f8f9;">
                    <router-view name="home"></router-view>
            </el-main>
          </el-container>
        </el-container>
    </div>
</template>
<script>
import navigationItem from '../components/menu/navigationItem.vue'
export default {
    components: {
      navigationItem
    },
  data() {
        return {
            breadcrumbItems:[],
            defaultActive: [],
            navList:[
                {
                    title:"首页", path:"mine",children:[]
                },
              {
                title:"项目管理", path:"0_1",children:[
                  {title:"信息广场", path:"project2",children:[]},
                  {title:"项目总览", path:"Overview",children:[]},
                  {title:"项目分析", path:"project3",children:[]},
                  {title:"归档报告", path:"project4",children:[]},
                ]
              },
              {
                title:"任务管理", path:"0_2",children:[
                  {title:"任务列表", path:"calendarTask",children:[]},
                ]
              }
            ],
        }
  },
    created() {
        let userId_ = localStorage.getItem('userId');
        if (!userId_) {
            this.$router.push('/login');
        }
    },
  methods: {
      handleSelect(key, keyPath){
              switch(key){
                case '0':
        menuSelect(index, a){
         let isPage = index.substring(0,2);
         if (isPage != "0_") {
            this.$router.push('/'+ index);
         }
        },
      /* handleSelect(key, keyPath){
            switch(key){
                case '0':
                    this.$router.push('/mine');
                    this.breadcrumbItems = ["首页"];
                  break;
                case '2':
                  this.$router.push('/project')
                    this.breadcrumbItems = ["首页"];
                  break;
                case '3':
                  this.$router.push('/Page3')
                  break;
              }
            },
                    break;
                case '2':
                    this.$router.push('/project')
                    this.breadcrumbItems = ["首页"];
                    break;
                case '3':
                    this.$router.push('/Page3')
                    break;
            }
        }, */
  }
};