From c1805e1e6f41a370546e70a07d5f4496ad4b341d Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期三, 22 一月 2020 15:58:55 +0800
Subject: [PATCH] add

---
 src/components/square.vue                |  168 +++++++++++++-
 src/components/popup/portion/substep.vue |    2 
 src/views/login.vue                      |   81 +++---
 src/views/Overview.vue                   |   60 ++++-
 src/views/Mine.vue                       |   17 -
 src/views/Home.vue                       |   20 +
 src/components/popup/newProject.vue      |   39 ++
 src/views/calendarTask.vue               |  166 ++++++++++-----
 src/views/list.vue                       |   79 +++++-
 src/assets/login-left.jpg                |    0 
 src/main.ts                              |   22 --
 11 files changed, 461 insertions(+), 193 deletions(-)

diff --git a/src/assets/login-left.jpg b/src/assets/login-left.jpg
new file mode 100644
index 0000000..1c15073
--- /dev/null
+++ b/src/assets/login-left.jpg
Binary files differ
diff --git a/src/components/popup/newProject.vue b/src/components/popup/newProject.vue
index 5d6d823..82368da 100644
--- a/src/components/popup/newProject.vue
+++ b/src/components/popup/newProject.vue
@@ -35,8 +35,8 @@
 							</el-date-picker>
 					  </el-form-item>
 						
-					  <el-form-item label="椤圭洰鎻忚堪:" prop="desc" style="width: 50%;">
-					    <el-input type="textarea" v-model="ruleForm.desc"></el-input>
+					  <el-form-item label="椤圭洰鎻忚堪:" prop="desp" style="width: 50%;">
+					    <el-input type="textarea" v-model="ruleForm.desp"></el-input>
 					  </el-form-item>
 					</el-form>
         </div>
@@ -63,6 +63,12 @@
 import substepReadOnly from './portion/substepReadOnly.vue'
 export default {
   name: 'dataImport',
+  props:{
+	  rowData:{
+		  type: Object,
+		  required: true
+	  }
+  },
 	components: {
 	  substep,
 		substepReadOnly
@@ -125,7 +131,12 @@
 			
 		}
   },
-	
+mounted() {
+	if(this.rowData.id) {
+		this.ruleForm = this.rowData;
+		this.xmId = this.rowData.id;
+	}
+},
   methods:{
 		Cancel() {
 			this.add_Step = 0;
@@ -171,7 +182,7 @@
 			//	this.nextStepName = "瀹� 鎴�";
 			}
 			else if (this.add_Step == 2) {
-				this.Cancel();
+				this.saveStep3();
 			}
 		},
 		
@@ -189,7 +200,8 @@
 			    name: ruleForm_.name,
 					startTime: items1,
 					endTime: items2,
-					id: this.xmId
+					id: this.xmId,
+					desp:ruleForm_.desp
 			  }
 			}).then(data_ => {
 			  console.log(data_);
@@ -243,7 +255,7 @@
 			
 			if (is_null1) {
 				let datas = "?datas=" + encodeURI(JSON.stringify(form_array));
-				let url = "/api/schemeDetail/updates";
+				let url = "/api/detail/updates";
 				this.$axios.get(url + datas).then(data_ => {
 					console.log(data_);
 					
@@ -254,7 +266,20 @@
 				})
 			}
 		},
-		
+		saveStep3() {
+			let url = "/api/scheme/working/" + this.ruleForm.id;
+			this.$axios.get(url + datas).then(data_ => {
+				if(data_.data.success) {
+					this.$message('椤圭洰鍚姩鎴愬姛');
+					this.Cancel();
+				}else {
+					
+					this.$message({message:'椤圭洰鍚姩澶辫触', type: 'warning'});
+				}
+			}).catch(error =>{
+					console.log(error);
+			})
+		},
   }
 }
 </script>
diff --git a/src/components/popup/portion/substep.vue b/src/components/popup/portion/substep.vue
index f418ebc..4a3766d 100644
--- a/src/components/popup/portion/substep.vue
+++ b/src/components/popup/portion/substep.vue
@@ -1486,7 +1486,7 @@
 			},
 			
 			getDetailed() {
-				let url = "/api/schemeDetail/parent/" + this.xmId;
+				let url = "/api/detail/parent/" + this.xmId;
 				this.$axios.get(url).then(data_ => {
 				  console.log(data_);
 					this.defaultCheckedKeys = [];
diff --git a/src/components/square.vue b/src/components/square.vue
index cf30081..cfc70ac 100644
--- a/src/components/square.vue
+++ b/src/components/square.vue
@@ -1,34 +1,112 @@
 <template>
+	<div>
+		<el-row >
+		  <el-col :span="18"><el-form label-width="80px" :inline="true" :label-position="labelPosition" :model="formInline" class="form-inline">
+			<el-form-item label="鏍囬">
+				<el-input v-model="formInline.title" placeholder="鏍囬"></el-input>
+			</el-form-item>
+			
+			<el-form-item label="鎻忚堪">
+				<el-input v-model="formInline.desp" placeholder="鎻忚堪"></el-input>
+			</el-form-item>
+			
+			
+			<el-form-item >
+				<el-button type="primary" @click="query_">鏌ヨ</el-button>
+				<el-button type="info" @click="empty_">閲嶇疆</el-button>
+			</el-form-item>
+			
+			
+			</el-form></el-col>
+		  <el-col :span="4" ><el-button type="primary" @click="createNew">鍒涘缓</el-button></el-col>
+		</el-row>
+		
 
 	<div class="infinite-list-wrapper" style="overflow:auto">
-		<ul class="list" v-infinite-scroll="load" infinite-scroll-disabled="disabled">
-			<li v-for="item in dataList" :key = "item.id" class="list-item">
-				<el-row>
-				  <el-col :span="8"><div class="grid-content">{{item.title}}</div></el-col>
-				  <el-col :span="4" :><div class="grid-content">{{item.time}}</div></el-col>
+		
+		<div class="list" v-infinite-scroll="load" infinite-scroll-disabled="disabled">
+			<div v-for="one in dataList" :key="one.id" class="list-item" @click="showItem(one)">
+				<el-row >
+				  <el-col :span="8"><div class="grid-content">{{one.title}}</div></el-col>
+				  <el-col :span="4" :offset="12"><div class="">{{one.time}}</div></el-col>
 				</el-row>
+				
 				<el-row>
-				  <el-col :span="20"><div class="grid-content">{{item.desp}}</div></el-col>
+				  <el-col :span="20"><div class="grid-content">{{one.desp}}</div></el-col>
 				</el-row>
-			</li>
-		</ul>
+				<el-divider></el-divider>
+			</div>
+		</div>
 		<p v-if="loading">鍔犺浇涓�...</p>
 		<p v-if="noMore">娌℃湁鏇村浜�</p>
 	</div>
+	<el-dialog
+	  title="璇︽儏"
+	  :visible.sync="dialogVisible"
+	  width="40%"
+	  height="40%"
+	  :before-close="handleClose">
+	  <span>{{selectOne.title}}</span>
+	  <el-divider></el-divider>
+	 <div style="content">
+	    <span>{{selectOne.desp}}</span>
+	 </div>
+	 
+	  <span slot="footer" class="dialog-footer">
+	    <el-button :v-if="selectOne.attachment == '' ? false: true" type="primary" @click="download">涓� 杞�</el-button>
+	  </span>
+	</el-dialog>
+	
+	<el-dialog title="鍒涘缓璇濋" :visible.sync="dialogFormVisible">
+	  <el-form :model="form">
+	    <el-form-item label="璇濋鍚嶇О" :label-width="formLabelWidth">
+	      <el-input v-model="form.name" autocomplete="off"></el-input>
+	    </el-form-item>
+	    <el-form-item label="璇濋鍐呭" :label-width="formLabelWidth">
+	        <el-input type="textarea"  v-model="form.desp" autocomplete="off"></el-input>
+	    </el-form-item>
+		<el-upload
+		  class="upload-demo"
+		  :on-preview="handlePreview"
+		  :on-remove="handleRemove"
+		  :before-remove="beforeRemove"
+		  :limit="1"
+		  :auto-upload='false'
+		  :on-exceed="handleExceed"
+		  :file-list="fileList">
+		  <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
+		  <div slot="tip" class="el-upload__tip">涓嶈秴杩�50M</div>
+		</el-upload>
+	  </el-form>
+	  <div slot="footer" class="dialog-footer">
+	    <el-button @click="dialogFormVisible = false">鍙� 娑�</el-button>
+	    <el-button type="primary" @click="dialogFormVisible = false">纭� 瀹�</el-button>
+	  </div>
+	</el-dialog>
+	
+		</div>
 </template>
 
 <script>
-	import squareList from "./squareList.vue";
-	
 	export default {
 		data() {
 			return {
+				form:{},
+				 fileList: [],
+				 dialogVisible: false,
+				 dialogFormVisible: false,
+				labelPosition: "left",
+				formInline:{},
+				selectOne:{
+					title:"biaoti",
+					desp:"miaoshu",
+					attachment:"222"
+				},
 				dataList: [
-					{id:1,title:"11",desp:"111",time:"11-11"},
-					{id:1,title:"11",desp:"111",time:"11-11"},
-					{id:1,title:"11",desp:"111",time:"11-11"},
-					{id:1,title:"11",desp:"111",time:"11-11"},
-					{id:1,title:"11",desp:"111",time:"11-11"},
+					{id:1,attachment:"222",title:"鏍囬", desp:"鎻忚堪121212121212", time:"12鍒嗛挓鍓�"},
+					{id:1,attachment:"222",title:"11", desp:"111", time:"11111"},
+					{id:1,attachment:"",title:"11", desp:"111", time:"11111"},
+					{id:1,attachment:"",title:"11", desp:"111", time:"11111"},
 				],
 				loading: false
 			}
@@ -42,16 +120,74 @@
 			}
 		},
 		methods: {
+			 handleRemove(file, fileList) {
+			        console.log(file, fileList);
+			      },
+			      handlePreview(file) {
+			        console.log(file);
+			      },
+			      handleExceed(files, fileList) {
+			        this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
+			      },
+			      beforeRemove(file, fileList) {
+			        return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋);
+			      },
 			load() {
 				// this.loading = true
 				// setTimeout(() => {
 				// 	this.count += 2
 				// 	this.loading = false
 				// }, 2000)
-			}
+			},
+			showItem(one) {
+				this.dialogVisible = true;
+				this.selectOne = one;
+			},
+			createNew() {
+				this.dialogFormVisible = true;
+			},
+			empty_() {
+				this.formInline = {};
+				this.query_();
+			},
+			query_() {
+				this.getData(this.formInline);
+			},
+			getData(query) {
+				this.loading_table = true;
+				let pageno = this.pagenum;
+				let url = "/api/scheme/page/" + pageno;
+				let params =  {
+					pageSize: this.pagesize
+				};
+				if(query){
+					params.name = query.name;
+					params.delay = query.delay;
+					params.finish = query.fiish;
+					params.type = query.type;
+				}
+				this.$axios.get(url, {
+						params
+					})
+					.then(data_ => {
+						console.log(data_);
+						this.tableData = data_.data.data.records; //缁檛ableData璧嬪��
+						this.total = data_.data.data.total;
+						this.loading_table = false;
+					}).catch(error => {
+						console.log(error);
+					})
+			},
 		}
 	}
 </script>
 
 <style>
+	.grid-content{
+		text-align: left;
+		padding: 5px;
+	}
+	.content{
+		
+	}
 </style>
diff --git a/src/main.ts b/src/main.ts
index 0d04b88..87d49de 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,6 +1,5 @@
 import Vue from "vue";
 import App from "./App.vue";
-import axios from 'axios'
 
 import "./registerServiceWorker";
 import router from "./router";
@@ -19,7 +18,6 @@
 Axios.defaults.baseURL = '/api';
 Axios.defaults.headers.post['Content-Type'] = 'application/json';
 
-Vue.prototype.axios = axios;
 
 new Vue({
   router,
@@ -27,23 +25,3 @@
   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/views/Home.vue b/src/views/Home.vue
index bf907bf..b795141 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -42,7 +42,7 @@
 		  <el-container>
 		    <el-header style="text-align: right; font-size: 15px;padding-right: 40px;">
 					<i class="el-icon-user-solid"></i>
-					<span>admin</span>
+					<span>{{user.name}}</span>
 		    </el-header>
 		    
 		    <el-main style="background-color: #f7f8f9;">
@@ -62,6 +62,7 @@
   data() {
 
 		return {
+			user:{},
 			breadcrumbItems:[],
 			defaultActive: "",
 			navList:[
@@ -85,8 +86,21 @@
 		}
   },
 	created() {
-		let userId_ = localStorage.getItem('userId');
-		if (!userId_) {
+		let userId = localStorage.getItem('userId');
+		let userName = localStorage.getItem('userName');
+		let roleId = localStorage.getItem('roleId');
+		let roleName = localStorage.getItem('roleName');
+		let departId = localStorage.getItem('departId');
+		let departName = localStorage.getItem('departName');
+		this.user = {
+			id:userId,
+			name:userName,
+			roleId:roleId, 
+			roleName:roleName,
+			departId:departId,
+			departName:departName,
+		};
+		if (!user) {
 			this.$router.push('/login');
 		}
 		else {
diff --git a/src/views/Mine.vue b/src/views/Mine.vue
index 199041f..638f4c4 100644
--- a/src/views/Mine.vue
+++ b/src/views/Mine.vue
@@ -36,22 +36,7 @@
 		},
 		methods: {
 			init() {
-				let url = "/api/scheme/addOrUpdate";
-				this.axios.get(url,{
-				     params: {
-				       reseachType: "1",
-				       name: "2",
-						 startTime: "2020-01-01",
-						 endTime: "2020-01-12",
-						 id: null
-				     }
-				   }).then(data_ => {
-				     console.log(data_);
-				   
-				    this.add_Step = 1;
-				   }).catch(error =>{
-				       console.log(error);
-				   })
+				
 		},
 	},
 	}
diff --git a/src/views/Overview.vue b/src/views/Overview.vue
index aaf0fd9..337d45b 100644
--- a/src/views/Overview.vue
+++ b/src/views/Overview.vue
@@ -2,7 +2,7 @@
 	<div class="class_overview">
 		<div style="float: left; width: 100%; height: 50px;">
 			<span>璇烽�夋嫨椤圭洰锛�</span>
-			<el-select v-model="value" placeholder="璇烽�夋嫨" size="small">
+			<el-select @change="selectChange_" v-model="value" placeholder="璇烽�夋嫨" size="small">
 				<el-option
 					v-for="item in options"
 					:key="item.value"
@@ -11,7 +11,6 @@
 				</el-option>
 			</el-select>
 			
-			<el-button type="primary" style="float: right;" @click="addProject">鏂板缓椤圭洰</el-button>
 			
 		</div>
 		<div style="float: left; margin-left: 1%; width: 69%; height: 80vh; ">
@@ -39,20 +38,16 @@
 		<div class="z_shadow" style="float: right; margin-right: 1%; width: 28%; height: 70vh; border: 1px solid #e4eef9;"></div>
 		
 		
-		<el-dialog @close="Cancel" width="70%" top="50px" :visible.sync="dialog_1" append-to-body>
-		  <newProject @closeNewProject="closeNewProject"></newProject>
-		</el-dialog>
+		
 		
 	</div>
 </template>
 
 <script>
-	import newProject from '../components/popup/newProject.vue'
+	
 	
 	export default {
-		components: {
-		  newProject
-		},
+		
 		data() {
 			return {
 				options: [
@@ -80,6 +75,8 @@
 			}
 		},
 		mounted() {
+			this.initSelect();
+			
 			let fileList1 = [
 					{name: "鏂囦欢鍚嶇О1", type: "isfile", path: ""},
 					{name: "鏂囦欢鍚嶇О2", type: "isfile", path: ""},
@@ -89,6 +86,26 @@
 		},
 		
 		methods: {
+			initSelect() {
+				var me = this;
+				this.$axios.get("/api/scheme/all")
+					.then(data_ => {
+						console.log(data_);
+						if(data_.data.success){
+							me.options = [];
+							var datas = data_.data.data;
+							datas.forEach(function(one){
+								var item = {
+									value:one.id,
+									label:one.name
+								} 
+								me.options.push(item);
+							});
+						}
+					}).catch(error => {
+						console.log(error);
+					})
+			},
 			file_click(file) {
 				if (file.type == 'isfiles') {
 					let fileList2 = [
@@ -114,16 +131,27 @@
 				];
 				this.fileList = fileList2;
 			},
-			addProject() {
-				this.dialog_1 = true;
-				
-			},
+			
 			Cancel() {
 				
 			},
-			closeNewProject() {
-				this.dialog_1 = false
-			},
+			selectChange_(val) {
+				let url = "/api/scheme/getSchemeInfo/" + this.value;
+				this.$axios.get(url,{
+				  
+				}).then(data_ => {
+				  console.log(data_);
+					// 鍥�
+					// 璁板綍
+					// 浜哄憳
+					// 璇︽儏
+					//鐩綍
+				}).catch(error =>{
+				    console.log(error);
+				})
+				
+			}
+			
 		}
 		
 	}
diff --git a/src/views/calendarTask.vue b/src/views/calendarTask.vue
index 929cb04..2250ad6 100644
--- a/src/views/calendarTask.vue
+++ b/src/views/calendarTask.vue
@@ -13,15 +13,15 @@
 		<div class="z_right" >
 			<div v-for="(task_itm, k) in DayDataTree" :key="k" class="right_row">
 				<h3>{{task_itm.name}}</h3>
-				<span>{{task_itm.desc}}</span>
+				<span>{{task_itm.desp}}</span>
 				<div v-for="(type_itm, k_) in task_itm.children" :key="k_" class="right_row_">
-					<span>{{k_+1}}銆亄{type_itm.name}}</span>
+					<span>{{k_+1}}銆亄{type_itm.typeStr}}</span>
 					<el-button size="mini" type="primary" style="float: right; margin-top: 10px;" @click="handleTask(type_itm.id, type_itm.mustAttach, type_itm)">澶勭悊浠诲姟</el-button>
 				</div>
 			</div>
 		</div>
 		
-		<el-dialog @close="Cancel" width="40%" top="10%" :visible.sync="dialog_1">
+		<el-dialog @close="Cancel" width="40%" top="10%" :visible.sync="dialog_1" v-if="dialog_1">
 			<div slot="title" class="dialog-title" style="text-align: left;">
 			  <span> 浠诲姟澶勭悊 </span>
 			</div>
@@ -30,15 +30,15 @@
 				<el-upload
 					class="upload-demo"
 					:action="upload_url"
-					multiple
+					
 					:data="upData"
-					:limit="3"
+					:limit="1"
 					:file-list="fileList"
 					:auto-upload='false'
 					ref="upload"
 					>
 					<el-button size="medium" type="text">閫夋嫨鏂囦欢</el-button>
-					<div slot="tip" class="el-upload__tip">鏂囦欢涓嶈秴杩�500kb</div>
+					<div slot="tip" class="el-upload__tip">鏂囦欢涓嶈秴杩�50M</div>
 				</el-upload>
 			</div>
 			<div style="text-align: left;">
@@ -95,7 +95,7 @@
 					let nowDate = new Date();
 					var imoment = this.$moment(nowDate);
 					let iformat = imoment.format('YYYY-MM');
-					let systemDate = iformat + '-01';
+					let systemDate = iformat + '-01 00:00:00';
 					this.getDatedef(systemDate);
 					
 				},
@@ -125,6 +125,7 @@
           },
 					
 					handleTask(id, mustAttach, type_itm) {
+						this.upload_url = "/api/api/file/fileUpload/" + id;
 						this.handleTaskType = type_itm;
 						this.dialog_1 = true;
 					},
@@ -132,8 +133,34 @@
 					doHandleTask() {
 						//姝d鐨勬槑缁嗕换鍔″畬鎴�
 						let id = this.handleTaskType.id;
-						//璇锋眰鏀瑰彉姝ゆ槑缁嗙殑瀹屾垚鐘舵�侊紱
-						this.desc_task;//鎻忚堪鐨勫唴瀹�
+						if(this.handleTaskType.mustAttach) {
+							this.upData = {//璁剧疆瑕佷紶鐨勫弬鏁�
+								desp: this.desc_task
+							},
+							
+							this.$refs.upload.submit();//寮�濮嬩笂浼�
+						}
+						else {
+							let params = this.upData
+							let url = "/api/detail/deal/" + id;
+							this.$axios.get(url, {
+								params	
+								})
+								.then(data_ => {
+									console.log(data_);
+									let datas= data_.data.data;
+									datas = datas.map(el => {
+										var imoment = this.$moment(el.date);
+										// 鏍煎紡鍖栨垚锛屽勾鏈堟棩
+										let iformat = imoment.format('YYYY-MM-DD');
+									    el.date = iformat;
+										return el;
+									})
+									this.datedef = datas;
+								}).catch(error => {
+									console.log(error);
+								});
+						}
 						
 						
 						
@@ -142,15 +169,15 @@
 						}
 					},
 					
-					submitUpload() {
-						this.handleTaskType; //瑕佸鐞嗙殑鏄庣粏鏁版嵁
+					// submitUpload() {
+					// 	this.handleTaskType; //瑕佸鐞嗙殑鏄庣粏鏁版嵁
 						
-						this.upData = {//璁剧疆瑕佷紶鐨勫弬鏁�
+					// 	this.upData = {//璁剧疆瑕佷紶鐨勫弬鏁�
 							
-						},
-						this.upload_url = ""; //璁剧疆涓婁紶鎺ュ彛
-					  this.$refs.upload.submit();//寮�濮嬩笂浼�
-					},
+					// 	},
+					// 	this.upload_url = ""; //璁剧疆涓婁紶鎺ュ彛
+					//   this.$refs.upload.submit();//寮�濮嬩笂浼�
+					// },
 					
 					Cancel() {
 						this.dialog_1 = false;
@@ -159,7 +186,7 @@
 					dateChange(date_) {
 						var imoment = this.$moment(date_);
 						let iformat = imoment.format('YYYY-MM');
-						let systemDate = iformat + '-01';
+						let systemDate = iformat + '-01 00:00:00';
 						this.getDatedef(systemDate);
 					},
 					
@@ -179,50 +206,77 @@
 							{'date': "2020-01-01", 'task': 3}, //杩斿洖鐨勬暟缁勫瓧娈靛寘鍚繖涓や釜瀛楁
 							{'date': "2020-01-11", 'task': 2},
 						], */
+						let url = "/api/detail/getMonth";
+						let params =  {
+							startTime: this.$moment(month_).format('YYYY-MM-DD')
+						};
 						
-						
-						
+						this.$axios.get(url, {
+								params
+							})
+							.then(data_ => {
+								console.log(data_);
+								let datas= data_.data.data;
+								datas = datas.map(el => {
+									var imoment = this.$moment(el.date);
+									// 鏍煎紡鍖栨垚锛屽勾鏈堟棩
+									let iformat = imoment.format('YYYY-MM-DD');
+								    el.date = iformat;
+									return el;
+								})
+								this.datedef = datas;
+							}).catch(error => {
+								console.log(error);
+							});
 					},
 					
 					getDayData(date_) {//鑾峰彇鎸囧畾鏃ョ殑浠诲姟銆傚'2019-12-21'瀛楃涓层�傚湪鍙充晶鏄剧ず鐨�
-						/* aa:[
-							{'id': "椤圭洰鐨刬d", 'name': "椤圭洰鍚嶇О", 'desc': "椤圭洰鎻忚堪"}, //杩斿洖鐨勬暟缁勫瓧娈�
-							{'id': "鏄庣粏鐨処D(鐢ㄤ簬澶勭悊鏃剁煡閬撴槸鍝釜椤圭洰鍝釜绫诲瀷鐨勫鐞�)", 'name': "绫诲瀷鍚嶇О", 'mustAttach': "鏈夋棤浜や粯鐗�", 'parentId': "椤圭洰id"}, //
-						], */
-						let DayDatas = [
-							{'id': "111", 'name': "娴嬭瘯1椤圭洰", 'desc': "姝ら」鐩富瑕侀拡瀵规彁楂樻晥鐜囧拰閿�鍞噺"}, //杩斿洖鐨勬暟缁勫瓧娈�
-							{'id': "111_1", 'name': "绔嬮鏈嶅姟", 'mustAttach': true, 'parentId': "111"}, //
-							{'id': "111_2", 'name': "鏂规寮�鍙戞湇鍔�", 'mustAttach': false, 'parentId': "111"}, //
-						];
+						let url = "/api/detail/getDay";
+						let params =  {
+							startTime: this.$moment(date_).format('YYYY-MM-DD')
+						};
 						
-						let list = DayDatas;
-						let parId = "";
-						let obj = {};
-						let result = [];
-									
-						list.map(el => {
-						    obj[el.id] = el;
-						})
-						for(let i=0, len = list.length; i < len; i++) {
-						    let id = list[i].parentId;
-						    //璁剧疆鏄剧ず瀛楁
-						    list[i].value = list[i].id;
-						    list[i].label = list[i].name;
-									
-						    if(id == parId || !id) {
-						        if(!obj[list[i].id].children) {
-						          obj[list[i].id].children = [];
-						        }
-						        result.push(list[i]);
-						        continue;
-						    }
-						    if(obj[id].children) {
-						        obj[id].children.push(list[i]);
-						    } else {
-						        obj[id].children = [list[i]];
-						    }
-						}
-						this.DayDataTree = result;
+						this.$axios.get(url, {
+								params
+							})
+							.then(data_ => {
+								console.log(data_);
+								// let DayDatas = [
+								// 	{'id': "111", 'name': "娴嬭瘯1椤圭洰", 'desc': "姝ら」鐩富瑕侀拡瀵规彁楂樻晥鐜囧拰閿�鍞噺"}, //杩斿洖鐨勬暟缁勫瓧娈�
+								// 	{'id': "111_1", 'name': "绔嬮鏈嶅姟", 'mustAttach': true, 'parentId': "111"}, //
+								// 	{'id': "111_2", 'name': "鏂规寮�鍙戞湇鍔�", 'mustAttach': false, 'parentId': "111"}, //
+								// ];
+								let list = data_.data.data;
+								let parId = "";
+								let obj = {};
+								let result = [];
+											
+								list.map(el => {
+								    obj[el.id] = el;
+								})
+								for(let i=0, len = list.length; i < len; i++) {
+								    let id = list[i].parentId;
+								    //璁剧疆鏄剧ず瀛楁
+								    list[i].value = list[i].id;
+								    list[i].label = list[i].name;
+											
+								    if(id == parId || !id) {
+								        if(!obj[list[i].id].children) {
+								          obj[list[i].id].children = [];
+								        }
+								        result.push(list[i]);
+								        continue;
+								    }
+								    if(obj[id].children) {
+								        obj[id].children.push(list[i]);
+								    } else {
+								        obj[id].children = [list[i]];
+								    }
+								}
+								this.DayDataTree = result;
+							}).catch(error => {
+								console.log(error);
+							})
 						
 					}
 					
diff --git a/src/views/list.vue b/src/views/list.vue
index 7b98994..3c89d4c 100644
--- a/src/views/list.vue
+++ b/src/views/list.vue
@@ -3,7 +3,8 @@
 		<div align="left">
 
 			<div class="btn-line">
-				<el-button type="primary" @click="onSubmit">鏂板缓椤圭洰</el-button>
+				<el-button type="primary" @click="addProject">鏂板缓椤圭洰</el-button>
+				<el-button type="primary" @click="editProject">缂栬緫椤圭洰</el-button>
 				<el-button type="primary" @click="onSubmit">鏌ョ湅璇︽儏</el-button>
 
 			</div>
@@ -22,16 +23,13 @@
 					</el-select>
 				</el-form-item>
 				
-				<el-form-item label="鏄惁寤舵湡">
-					<el-select v-model="formInline.delay" placeholder="鏄惁寤舵湡">
-						<el-option label="宸插欢鏈�" value="true"></el-option>
-						<el-option label="鏈欢鏈�" value="false"></el-option>
-					</el-select>
-				</el-form-item>
-				<el-form-item label="鏄惁缁撴潫">
-					<el-select v-model="formInline.finish" placeholder="鏄惁缁撴潫">
-						<el-option label="宸茬粨鏉�" value="true"></el-option>
-						<el-option label="鏈粨鏉�" value="false"></el-option>
+			
+				<el-form-item label="椤圭洰鐘舵��">
+					<el-select v-model="formInline.status" placeholder="椤圭洰鐘舵��">
+						<el-option label="鏈紑濮�" value="edit"></el-option>
+						<el-option label="杩涜涓�" value="working"></el-option>
+						<el-option label="宸插欢鏈�" value="delay"></el-option>
+						<el-option label="宸茬粨鏉�" value="finish"></el-option>
 					</el-select>
 				</el-form-item>
 				<el-form-item >
@@ -49,9 +47,11 @@
 				@current-change="tableChange"
 				v-loading="loading_table"
 				align="center"
-				 max-height="300" 	
+				 max-height="280" 	
 	 :data="tableData" style="width: 100%; " :row-class-name="tableRowClassName">
 			<el-table-column prop="name" label="椤圭洰鍚嶇О" >
+			</el-table-column>
+			<el-table-column prop="status" label="褰撳墠鐘舵��"  :formatter="status_">
 			</el-table-column>
 			<el-table-column prop="reseachType" label="鐮旂┒绫诲瀷" >
 			</el-table-column>
@@ -65,8 +65,7 @@
 			</el-table-column>
 			<el-table-column prop="endTime" label="缁撴潫鏃堕棿" :formatter="dateFormat_" >
 			</el-table-column>
-			<el-table-column prop="finish" label="鏄惁缁撴潫" :formatter="finishFotmat" >
-			</el-table-column>
+
 			<el-table-column prop="desp" label="椤圭洰鎻忚堪">
 			</el-table-column>
 		</el-table>
@@ -75,15 +74,26 @@
 		background :current-page="pagenum" :page-sizes="[15]" :page-size="pagesize" layout="total, sizes, prev, pager, next, jumper"
 		 :total="total">
 		</el-pagination>
+		
+		<el-dialog @close="Cancel"  width="70%" top="50px" :visible.sync="dialog_1" append-to-body>
+		  <newProject @closeNewProject="closeNewProject" v-bind:rowData="rowData" ref="newProject_"></newProject>
+		</el-dialog>
 	</div>
 </template>
 
 <script>
+	import newProject from '../components/popup/newProject.vue'
 	export default {
+		
+		components: {
+		  newProject
+		},
 		data() {
 			return {
+				rowData:undefined,
 				loading_table: false,
 				query: "",
+				dialog_1: false,
 				pagenum: 1,
 				pagesize: 15,
 				total: 0,
@@ -100,6 +110,9 @@
 			this.getData();
 		},
 		methods: {
+			Cancel() {
+				this.$refs.newProject_.Cancel();
+			},
 			tableChange(val) {
 				this.selected = val;
 			},
@@ -121,10 +134,10 @@
 				let params =  {
 					pageSize: this.pagesize
 				};
+				
 				if(query){
 					params.name = query.name;
-					params.delay = query.delay;
-					params.finish = query.fiish;
+					params.status = query.status;
 					params.type = query.type;
 				}
 				this.$axios.get(url, {
@@ -153,6 +166,17 @@
 			dateFormat_(row, colum, val ,index) {
 				return this.$moment(val).format('YYYY-MM-DD');
 			},
+			status_(row, colum, val ,index) {
+				if(val == "working") {
+					return "杩涜涓�";
+				}else if(val == "edit") {
+					return "鏈紑濮�";
+				}else if(val == "delay") {
+					return "宸插欢鏈�";
+				}else if(val == "finish") {
+					return "宸茬粨鏉�";
+				}
+			},
 			finishFotmat(row, colum, val ,index) {
 				if(val) {
 					return "宸茬粨鏉�";
@@ -160,6 +184,29 @@
 					return "杩涜涓�";
 				}
 			},
+			addProject() {
+				this.dialog_1 = true;
+				
+			},
+			editProject() {
+				if(!this.selected || this.selected.status != "edit"){
+					
+					this.$message({message:'璇烽�変腑涓�鏉℃湭鍚姩鐨勯」鐩�', type: 'warning'});
+				}else {
+					this.rowData = {
+						id:this.selected.id,
+						desp:this.selected.desp,
+						name: this.selected.name,
+						objective:this.selected.reseachType,
+						items:[this.$moment(this.selected.startTime).format('YYYY-MM-DD'),this.$moment(this.selected.endTime).format('YYYY-MM-DD')]
+					}
+					this.dialog_1 = true;
+				}
+				
+				
+			},closeNewProject() {
+				this.dialog_1 = false
+			},
 			
 		}
 	}
diff --git a/src/views/login.vue b/src/views/login.vue
index 194a614..c126ee2 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -1,20 +1,18 @@
 <template>
   <div class="login">
-    <div class="img-container">
+    <!-- <div class="img-container">
       <img :src="loginImg" alt="">
-    </div>
-    <el-form ref="loginForm" :model="loginForm" class="login-form" auto-complete="on" label-position="left">
-      <el-form-item prop="username">
+    </div> -->
+    <el-form ref="loginForm" :model="loginForm" class="login-form" label-position="left">
+      <el-form-item prop="loginName">
         <el-input
-          v-model="loginForm.username"
+          v-model="loginForm.loginName"
           placeholder="杈撳叆鐢ㄦ埛鍚�"
-          name="username"
+          name="loginName"
           type="text"
-          auto-complete="on"
+          
         >
-          <span v-show="isClearIconShow" slot="suffix" class="suffix-icon" @click="clearUsername">
-            <svg-icon icon-class="close-circle" />
-          </span>
+          
         </el-input>
       </el-form-item>
       <el-form-item prop="password">
@@ -23,7 +21,7 @@
           v-model="loginForm.password"
           placeholder="杈撳叆瀵嗙爜"
           name="password"
-          auto-complete="on"
+         
           @keyup.enter.native="handleLogin"
         >
           <span slot="suffix" class="suffix-icon" :class="{eyeOpen: isOpen}" @click="showPwd">
@@ -31,11 +29,7 @@
           </span>
         </el-input>
       </el-form-item>
-      <div class="user-action">
-        <a @click="handleForgetPassword">
-          <span>蹇樿瀵嗙爜</span>
-        </a>
-      </div>
+     
       <el-button :loading="loading" class="loginButton" type="primary" @click.native.prevent="handleLogin">鐧诲綍</el-button>
     </el-form>
   </div>
@@ -47,14 +41,14 @@
  * @author Sky
  */
 export default {
-  name: 'Login',
+
   data () {
     return {
    //   path: '/' + process.env.VUE_APP_FACTORY_KEY + '/user/confirm-password',
-   //   loginImg: require('@/assets/img/login-logo.png'),
+      loginImg: require('@/assets/login-left.jpg'),
       loginForm: { // 琛ㄥ崟鏁版嵁
-        username: process.env.VUE_APP_BUILD_MODE === 'production' ? '' : 'bayer_admin',
-        password: process.env.VUE_APP_BUILD_MODE === 'production' ? '' : '123456'
+        loginName: '',
+        password: ''
       },
       passwordType: 'password', // 杈撳叆妗嗙被鍨�
       loading: false, // 鍔犺浇涓�
@@ -62,26 +56,12 @@
       isOpen: false // 鏍规嵁鐘舵�佹樉绀轰笉鍚屾牱寮忕被鍚�
     }
   },
-  computed: {
-    isClearIconShow () {
-      return this.loginForm.username.length
-    }
-  },
+
   methods: {
     // 蹇樿瀵嗙爜鍥炶皟
-    handleForgetPassword () {
-      this.$alert('', '璇疯仈绯诲叕鍙哥鐞嗗憳淇敼瀵嗙爜', {
-        confirmButtonText: '鐭ラ亾浜�',
-        center: true,
-        showClose: true
-      })
-    },
+   
     // 娓呴櫎鐢ㄦ埛鍚�
-    clearUsername () {
-      if (this.loginForm.username) {
-        this.loginForm.username = ''
-      }
-    },
+    
     // 瀵嗙爜鏄剧ず鍒囨崲
     showPwd () {
       if (this.passwordType === 'password') {
@@ -97,13 +77,34 @@
 		
     // 鐧诲綍
     handleLogin () {
-			localStorage.setItem('userId','user001');
-			this.$router.push('/');
+			let url = "/api/user/login";
+			let params = this.loginForm;
+			this.$axios.get(url,{
+			     params
+			   }).then(data_ => {
+			     console.log(data_);
+			   if(data_.data.success) {
+				   localStorage.setItem('userId',data_.data.data.id);
+				   localStorage.setItem('userName',data_.data.data.id);
+				   localStorage.setItem('roleId',data_.data.data.roleCode);
+				   localStorage.setItem('roleName',data_.data.data.roleName);
+				   localStorage.setItem('departId',data_.data.data.departCode);
+				   localStorage.setItem('departName',data_.data.data.departName);
+				   	this.$router.push('/');
+			   }else {
+					this.$message({message:'鐧婚檰澶辫触', type: 'warning'});
+			   }
+			    
+			   }).catch(error =>{
+			       console.log(error);
+			   })
+			
+		
 		},
   }
 }
 </script>
 
-<style rel="stylesheet/scss" lang="scss">
+<style >
 
 </style>

--
Gitblit v1.8.0