From 925be12c604e55c1434d6c0c91bcc8bfbc6a51cc Mon Sep 17 00:00:00 2001
From: zhangyanpeng <bob.zhang@highdatas.com>
Date: 星期日, 19 一月 2020 12:58:11 +0800
Subject: [PATCH] 新建任务

---
 package-lock.json   |   31 +++++
 public/index.html   |    2 
 .eslintrc.js        |    2 
 package.json        |    1 
 src/views/Home.vue  |  142 ++++++++++++++--------
 src/router/index.ts |  101 +++++++++++++---
 src/App.vue         |    9 
 src/main.ts         |   26 ++++
 8 files changed, 235 insertions(+), 79 deletions(-)

diff --git a/.eslintrc.js b/.eslintrc.js
index 26853b5..ec339d1 100644
--- a/.eslintrc.js
+++ b/.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"
diff --git a/package-lock.json b/package-lock.json
index 26e4e05..a02fcf0 100644
--- a/package-lock.json
+++ b/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",
diff --git a/package.json b/package.json
index a02a1bd..9921ea6 100644
--- a/package.json
+++ b/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",
diff --git a/public/index.html b/public/index.html
index 558c9fd..d13c382 100644
--- a/public/index.html
+++ b/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>
diff --git a/src/App.vue b/src/App.vue
index 2e363d0..c825eb6 100644
--- a/src/App.vue
+++ b/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">
diff --git a/src/main.ts b/src/main.ts
index b17fe10..29ddd60 100644
--- a/src/main.ts
+++ b/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;
+};
diff --git a/src/router/index.ts b/src/router/index.ts
index 3f25ca9..8e20b2c 100644
--- a/src/router/index.ts
+++ b/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({
diff --git a/src/views/Home.vue b/src/views/Home.vue
index 177f1f1..625d1eb 100644
--- a/src/views/Home.vue
+++ b/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;
+			}
+		}, */
 
   }
 };

--
Gitblit v1.8.0