From 227b5ceb7e9d88fd4b865781f2e7a2690142e5f2 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期二, 11 二月 2020 17:31:29 +0800
Subject: [PATCH] 修改

---
 src/components/popup/portion/substep.vue |  166 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 114 insertions(+), 52 deletions(-)

diff --git a/src/components/popup/portion/substep.vue b/src/components/popup/portion/substep.vue
index 4a3766d..c628b12 100644
--- a/src/components/popup/portion/substep.vue
+++ b/src/components/popup/portion/substep.vue
@@ -18,7 +18,7 @@
 				<div v-show="showData['title']" class="transition-box" style="text-align: center; margin: 0 10px;">
 					<h3 style="margin: 10px;">绔嬮鏈嶅姟</h3>
 					<div>
-						<el-form :show-message="false" :model="form_['title']" ref="ref_title" label-position='right' label-width="100px"  class="demo-form-inline">
+						<el-form :rules="rules_check" :show-message="false" :model="form_['title']" ref="ref_title" label-position='right' label-width="100px"  class="demo-form-inline">
 							<el-row>
 								<el-col :span="22" class="z_grid-content3">
 									<el-form-item label="棰樼洰绫诲瀷" prop="titleType"
@@ -56,14 +56,14 @@
 								</el-col>
 								
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{type: 'array', required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										
 										<el-cascader
 											style="width: 100%;"
 											size="mini"
-											v-model="form_['title'].userId"
+											v-model="form_['title'].userIds"
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
@@ -80,20 +80,32 @@
 								</el-col>
 							</el-row>
 							<el-row>
-								<el-col :span="11" class="z_grid-content3">
+								<el-form-item label="璧锋鏃堕棿:" prop="items">
+									<el-date-picker
+										v-model="form_['title'].items"
+										type="daterange"
+										range-separator="鑷�"
+										start-placeholder="寮�濮嬫棩鏈�"
+										end-placeholder="缁撴潫鏃ユ湡"
+										style="width: 100%;"
+										>
+									</el-date-picker>
+								</el-form-item>
+								
+								<!-- <el-col :span="11" class="z_grid-content3">
 									<el-form-item label="寮�濮嬫棩鏈�" prop="startTime" 
-										:rules="{required: true, message: '璇烽�夋嫨', trigger: ['change', 'blur']}"
+										:rules="{type: "array", required: true, validator: validateStartTime, trigger: ['change', 'blur']}"
 									>
 											<el-date-picker type="date" size="mini" placeholder="閫夋嫨寮�濮嬫棩鏈�" v-model="form_['title'].startTime" style="width: 100%;"></el-date-picker>
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
 									<el-form-item label="缁撴潫鏃ユ湡" prop="endTime" 
-										:rules="{required: true, message: '璇烽�夋嫨', trigger: ['change', 'blur']}"
+										:rules="{required: true, validator: validateEndTime, trigger: ['change', 'blur']}"
 									>
 											<el-date-picker type="date" size="mini" placeholder="閫夋嫨缁撴潫鏃ユ湡" v-model="form_['title'].endTime" style="width: 100%;"></el-date-picker>
 									</el-form-item>
-								</el-col>
+								</el-col> -->
 							</el-row>
 						</el-form>
 					</div>
@@ -114,13 +126,13 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{type: 'array',required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
 											size="mini"
 											style="width: 100%;"
-											v-model="form_['scheme'].userId"
+											v-model="form_['scheme'].userIds"
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
@@ -137,7 +149,19 @@
 								</el-col>
 							</el-row>
 							<el-row>
-								<el-col :span="11" class="z_grid-content3">
+								<el-form-item label="璧锋鏃堕棿:" prop="items">
+									<el-date-picker
+										v-model="form_['scheme'].items"
+										type="daterange"
+										range-separator="鑷�"
+										start-placeholder="寮�濮嬫棩鏈�"
+										end-placeholder="缁撴潫鏃ユ湡"
+										style="width: 100%;"
+										>
+									</el-date-picker>
+								</el-form-item>
+								
+								<!-- <el-col :span="11" class="z_grid-content3">
 									<el-form-item label="寮�濮嬫棩鏈�" prop="startTime" 
 										:rules="{required: true, message: '璇烽�夋嫨', trigger: ['change', 'blur']}"
 									>
@@ -150,7 +174,7 @@
 									>
 											<el-date-picker type="date" size="mini" placeholder="閫夋嫨缁撴潫鏃ユ湡" v-model="form_['scheme'].endTime" style="width: 100%;"></el-date-picker>
 									</el-form-item>
-								</el-col>
+								</el-col> -->
 							</el-row>
 						</el-form>
 					</div>
@@ -171,7 +195,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -179,7 +203,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['search'].userId"
+											v-model="form_['search'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -228,7 +252,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -236,7 +260,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['select'].userId"
+											v-model="form_['select'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -285,7 +309,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -293,7 +317,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['get'].userId"
+											v-model="form_['get'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -342,7 +366,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -350,7 +374,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['find'].userId"
+											v-model="form_['find'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -399,7 +423,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -407,7 +431,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['properties'].userId"
+											v-model="form_['properties'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -456,7 +480,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -464,7 +488,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['risk'].userId"
+											v-model="form_['risk'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -513,7 +537,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -521,7 +545,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['target'].userId"
+											v-model="form_['target'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -570,7 +594,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -578,7 +602,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['propertiesArrangement'].userId"
+											v-model="form_['propertiesArrangement'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -627,7 +651,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -635,7 +659,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['riskChart'].userId"
+											v-model="form_['riskChart'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -684,7 +708,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -692,7 +716,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['meta'].userId"
+											v-model="form_['meta'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -741,7 +765,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -749,7 +773,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['grade'].userId"
+											v-model="form_['grade'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -798,7 +822,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -806,7 +830,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['tsa'].userId"
+											v-model="form_['tsa'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -855,7 +879,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -863,7 +887,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['compose'].userId"
+											v-model="form_['compose'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -912,7 +936,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -920,7 +944,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['translate'].userId"
+											v-model="form_['translate'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -969,7 +993,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -977,7 +1001,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['evaluation'].userId"
+											v-model="form_['evaluation'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -1026,7 +1050,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -1034,7 +1058,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['recommend'].userId"
+											v-model="form_['recommend'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -1083,7 +1107,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -1091,7 +1115,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['format'].userId"
+											v-model="form_['format'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -1140,7 +1164,7 @@
 									</el-form-item>
 								</el-col>
 								<el-col :span="11" class="z_grid-content3">
-									<el-form-item label="璐熻矗浜�" prop="userId" 
+									<el-form-item label="璐熻矗浜�" prop="userIds" 
 										:rules="{required: true, message: '璇烽�夋嫨璐熻矗浜�', trigger: ['change', 'blur']}"
 									>
 										<el-cascader
@@ -1148,7 +1172,7 @@
 											:options="options_users"
 											:props="{ expandTrigger: 'hover' }"
 											size="mini"
-											v-model="form_['Contribute'].userId"
+											v-model="form_['Contribute'].userIds"
 											placeholder="璇烽�夋嫨璐熻矗浜�"
 											>
 										</el-cascader>
@@ -1194,11 +1218,33 @@
 		  xmId: {
 		     type: String,
 		     required: true
-		  }
+		  },
+			totalItems: {
+				type: Array,
+				required: true
+			}
 		},
     data() {
+			var validateItems = (rule, value, callback) => {
+			  if (value === '' || !value || value.length == 0) {
+			    callback(new Error('璇烽�夋嫨'));
+			  }
+				
+				if (value[0] < this.totalItems[0]) {
+					callback(new Error('蹇呴』澶т簬' + this.$moment(ruleForm_.items[0]).format('YYYY-MM-DD')));
+				}
+				if (value[1] > this.totalItems[1]) {
+					callback(new Error('蹇呴』灏忎簬' + this.$moment(ruleForm_.items[1]).format('YYYY-MM-DD')));
+				}
+				
+			  else {
+			    callback();
+			  }
+			};
+			
       return {
 				showData: {},
+				finish: false,
 				hideData: {
 					'title': false,
 					'scheme': false,
@@ -1417,6 +1463,16 @@
 				],
 				
 				titleInput_: "",
+				rules_check: {
+				  items: [
+				    {
+				      required: true,
+				      validator: validateItems,
+				      type: "array",
+				      trigger: ["change", "blur"]
+				    }
+				  ]
+				},
 				
 				options_users: [
 				  {
@@ -1450,7 +1506,6 @@
 			  let url = "/api/sysRoleMapping/detail";
 			  this.$axios.get(url)
 			  .then(data_ => {
-			    console.log(data_);
 			    let list = data_.data.data;
 			    let parId = "";
 			    let obj = {};
@@ -1478,17 +1533,16 @@
 			            obj[id].children = [list[i]];
 			        }
 			    }
+				
 			    me.options_users = result;
 			
 			  }).catch(error =>{
-			      console.log(error);
 			  })
 			},
 			
 			getDetailed() {
 				let url = "/api/detail/parent/" + this.xmId;
 				this.$axios.get(url).then(data_ => {
-				  console.log(data_);
 					this.defaultCheckedKeys = [];
 					this.showData = {};
 					let details_ = data_.data.data;
@@ -1501,12 +1555,20 @@
 							this.showData[detail_.type] = true;
 							
 							//缁欐墍鏈夌殑from鐨勬暟鎹祴鍊�
+							
 							this.form_[detail_.type] = detail_;
+							this.form_[detail_.type].userIds = [];
+							this.form_[detail_.type].userIds.push(detail_.roleName);
+							this.form_[detail_.type].userIds.push(detail_.userId);
+							
+							this.form_[detail_.type].items = [];
+							this.form_[detail_.type].items.push(detail_.startTime);
+							this.form_[detail_.type].items.push(detail_.endTime);
 						}
 						
 					}
+					this.finish = true;
 				}).catch(error =>{
-				    console.log(error);
 				})
 				
 			},

--
Gitblit v1.8.0