From 37a6ace3b51bc1d7bb562242c8a70b51ba3b6680 Mon Sep 17 00:00:00 2001
From: zhangyanpeng <bob.zhang@highdatas.com>
Date: 星期三, 18 三月 2020 13:23:09 +0800
Subject: [PATCH] 调整上传和时间限制

---
 src/views/list.vue |  213 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 183 insertions(+), 30 deletions(-)

diff --git a/src/views/list.vue b/src/views/list.vue
index 2709822..b7f0699 100644
--- a/src/views/list.vue
+++ b/src/views/list.vue
@@ -3,65 +3,114 @@
 		<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" v-if="editShow" @click="editProject">缂栬緫椤圭洰</el-button>
+				<el-button type="primary" @click="showDetail">鏌ョ湅璇︽儏</el-button>
 
 			</div>
 
 			<el-form label-width="80px" :inline="true" :label-position="labelPosition" :model="formInline" class="form-inline">
-				<el-form-item label="瀹℃壒浜�">
-					<el-input v-model="formInline.user" placeholder="瀹℃壒浜�"></el-input>
+				<el-form-item label="椤圭洰鍚嶇О">
+					<el-input v-model="formInline.name" placeholder="椤圭洰鍚嶇О"></el-input>
 				</el-form-item>
-				<el-form-item label="娲诲姩鍖哄煙">
-					<el-select v-model="formInline.region" placeholder="娲诲姩鍖哄煙">
-						<el-option label="鍖哄煙涓�" value="shanghai"></el-option>
-						<el-option label="鍖哄煙浜�" value="beijing"></el-option>
+				
+				<el-form-item label="鐮旂┒鐩殑">
+					<el-select v-model="formInline.type" placeholder="鐮旂┒鐩殑">
+						<el-option label="骞查鎬х郴缁熻瘎浠�" value="骞查鎬х郴缁熻瘎浠�"></el-option>
+						<el-option label="璇婃柇鎬х郴缁熻瘎浠�" value="璇婃柇鎬х郴缁熻瘎浠�"></el-option>
+						<el-option label="棰勫悗鎬х郴缁熻瘎浠�" value="棰勫悗鎬х郴缁熻瘎浠�"></el-option>
+						<el-option label="鐩稿叧鎬х郴缁熻瘎浠�" value="鐩稿叧鎬х郴缁熻瘎浠�"></el-option>
 					</el-select>
+				</el-form-item>
+				
+			
+				<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 >
+					<el-button type="primary" @click="query_">鏌ヨ</el-button>
+					<el-button type="info" @click="empty_">閲嶇疆</el-button>
 				</el-form-item>
 			</el-form>
 			<div class="btn-line">
-				<el-button type="primary" @click="onSubmit">鏌ヨ</el-button>
-				<el-button type="info" @click="onSubmit">閲嶇疆</el-button>
+				
 
 			</div>
 		</div>
 
-		<el-table :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
-			<el-table-column prop="name" label="椤圭洰鍚嶇О" width="180">
+		<el-table  highlight-current-row
+				@current-change="tableChange"
+				v-loading="loading_table"
+				align="center"
+				 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="reseachType" label="鐮旂┒绫诲瀷" width="180">
+			<el-table-column prop="status" label="褰撳墠鐘舵��"  :formatter="status_">
 			</el-table-column>
-			<el-table-column prop="detailCnt" label="鏈嶅姟椤圭洰鏁�" width="180">
+			<el-table-column prop="reseachType" label="鐮旂┒绫诲瀷" >
 			</el-table-column>
-			<el-table-column prop="finishCnt" label="宸插畬鎴愰」鐩�" width="180">
+			<el-table-column prop="totalCnt" label="鏈嶅姟椤圭洰鏁�" >
 			</el-table-column>
-			<el-table-column prop="delayCnt" label="寤舵湡椤圭洰" width="180">
+			<el-table-column prop="finishCnt" label="宸插畬鎴愰」鐩�" >
 			</el-table-column>
-			<el-table-column prop="startTime" label="寮�濮嬫椂闂�" width="180">
+			<el-table-column prop="delayCnt" label="寤舵湡椤圭洰" >
 			</el-table-column>
-			<el-table-column prop="endTime" label="缁撴潫鏃堕棿" width="180">
+			<el-table-column prop="startTime" label="寮�濮嬫椂闂�" :formatter="dateFormat_">
 			</el-table-column>
-			<el-table-column prop="finish" label="鏄惁缁撴潫" width="180">
+			<el-table-column prop="endTime" label="缁撴潫鏃堕棿" :formatter="dateFormat_" >
 			</el-table-column>
+
 			<el-table-column prop="desp" label="椤圭洰鎻忚堪">
 			</el-table-column>
 		</el-table>
-		<el-pagination background :current-page="pagenum" :page-sizes="[10, 15, 20]" :page-size="pagesize" layout="total, sizes, prev, pager, next, jumper"
+		<el-pagination 
+		      @current-change="handleCurrentChange"
+		background :current-page="pagenum" :page-sizes="[15]" :page-size="pagesize" layout="total, sizes, prev, pager, next, jumper"
 		 :total="total">
 		</el-pagination>
+		
+		<el-dialog v-if="dialog_1"  @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>
+		<el-dialog v-if="dialog_2" @close="Cancel2"  width="70%" top="50px" :visible.sync="dialog_2" append-to-body>
+		  <prodetail @closeNewProject="closeDetail" v-bind:rowData="detailData" ref="newProject2_"></prodetail>
+		</el-dialog>
 	</div>
 </template>
 
 <script>
+	import newProject from '../components/popup/newProject.vue'
+	import prodetail from '../components/popup/prodetail.vue'
 	export default {
+		
+		components: {
+		  newProject,
+		  prodetail
+		},
 		data() {
 			return {
+				editShow: true,
+				
 				loading_table: false,
 				query: "",
+				rowData:undefined,
+				detailData:undefined,
+				dialog_1: false,
+				dialog_2: false,
 				pagenum: 1,
 				pagesize: 15,
 				total: 0,
+				selected: undefined,
 				labelPosition: "left",
 				tableData: [],
+				userId:"",
+				assign:undefined,
 				formInline: {
 					user: '',
 					region: ''
@@ -70,21 +119,69 @@
 		},
 		mounted() { //缁勪欢閰嶇疆鍚庯紝椤甸潰鏄剧ず鍓嶃�傜敤浜庡姞杞芥暟鎹�
 			this.getData();
+			this.userId = localStorage.getItem('userId');
+			this.assign = localStorage.getItem('assign');
 		},
 		methods: {
+			Cancel() {
+				this.dialog_1 = false;
+				this.query_();
+			},
+			Cancel2() {
+				this.dialog_2 = false;
+				this.closeDetail();
+			},
+			closeDetail() {
+				this.detailData = undefined;
+			},
+			showDetail() {
+				if(!this.selected){
+					
+					this.$message({message:'璇烽�変腑涓�鏉℃湭鍚姩鐨勯」鐩�', type: 'warning'});
+					return;
+				}
+				this.dialog_2 = true;
+			},
+			tableChange(val) {
+				this.selected = val;
+				this.detailData = val;
+			//	this.editShow = true;
+				 if (this.selected.userId == this.userId) {
+					this.editShow = true;
+				}else {
+					this.editShow = false;
+				}
+				
+			},
+			handleCurrentChange(pageno) {
+				this.pagenum = pageno;
+				this.query_();
+			},
 			empty_() {
 				this.formInline = {};
 				this.query_();
 			},
-			query_() {},
-			getData() {
+			query_() {
+				this.getData(this.formInline);
+			},
+			getData(query) {
 				this.loading_table = true;
 				let pageno = this.pagenum;
 				let url = "/api/scheme/page/" + pageno;
-				this.axios.get(url, {
-						params: {
-							pageSize: this.pagesize
-						},
+				
+				let params =  {
+					pageSize: this.pagesize
+				};
+				if(this.assign) {
+					params.userId = this.userId;
+				}
+				if(query){
+					params.name = query.name;
+					params.status = query.status;
+					params.type = query.type;
+				}
+				this.$axios.get(url, {
+						params
 					})
 					.then(data_ => {
 						console.log(data_);
@@ -96,16 +193,65 @@
 					})
 			},
 			tableRowClassName(row, rowIndex) {
-				if (rowIndex === 1) {
-					return 'warning-row';
-				} else if (rowIndex === 3) {
+				if (row.finish) {
 					return 'success-row';
+				} else if(row.delay){
+					return 'warning-row';
 				}
 				return '';
 			},
 			onSubmit() {
-				console.log('submit!');
-			}
+				query_();
+			},
+			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 "宸茬粨鏉�";
+				}else {
+					return "杩涜涓�";
+				}
+			},
+			addProject() {
+				this.dialog_1 = true;
+				this.rowData = {};
+			},
+			editProject() {
+				if(!this.selected || this.selected.status == "finish"){
+					
+					this.$message({message:'璇烽�変腑涓�鏉℃湭瀹屾垚鐨勯」鐩�', type: 'warning'});
+				}else {
+					this.rowData = {
+						id:this.selected.id,
+						desp:this.selected.desp,
+						name: this.selected.name,
+						beginDate: this.selected.beginDate,
+						endDate: this.selected.endDate,
+						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;
+				query_();
+			},
+			
 		}
 	}
 </script>
@@ -114,4 +260,11 @@
 	.btn-line {
 		margin-bottom: 20px;
 	}
+	.el-table .warning-row {
+	    background: oldlace;
+	  }
+	
+	  .el-table .success-row {
+	    background: #f0f9eb;
+	  }
 </style>

--
Gitblit v1.8.0