From ee7a140cf101c0e863d699dbe2da10767914f95b Mon Sep 17 00:00:00 2001 From: zhangyanpeng <bob.zhang@highdatas.com> Date: 星期二, 11 二月 2020 15:28:01 +0800 Subject: [PATCH] 判断时间大小 --- src/components/popup/portion/substep.vue | 75 +++++++++++++++++++++++++++++++++---- src/components/popup/newProject.vue | 10 ++++- 2 files changed, 75 insertions(+), 10 deletions(-) diff --git a/src/components/popup/newProject.vue b/src/components/popup/newProject.vue index 395d8e0..7d042cf 100644 --- a/src/components/popup/newProject.vue +++ b/src/components/popup/newProject.vue @@ -42,7 +42,7 @@ </div> </div> <div v-if="add_Step == 1" style="width: 100%; height: 100%;" align="center"> - <substep ref="substep_zj" v-bind:xmId="xmId"></substep> + <substep ref="substep_zj" v-bind:xmId="xmId" v-bind:totalItems="totalItems"></substep> </div> <div v-if="add_Step == 2" style="width: 100%; height: 100%;" align="center"> <substepReadOnly v-bind:form_objs="form_objs" v-bind:showData_="showData_"></substepReadOnly> @@ -85,6 +85,7 @@ ruleForm: {}, xmId: null, + totalItems: null, showData_: null, form_objs: null, options_objectives: [ @@ -210,7 +211,7 @@ } }).then(data_ => { me.xmId = data_.data.data; - + me.totalItems = ruleForm_.items; me.add_Step = 1; }).catch(error =>{ }) @@ -236,6 +237,11 @@ if (!form_obj.mustAttach) { form_obj.mustAttach = false; } + if (form_obj.items.length > 0) { + form_obj.startTime = form_obj.items[0]; + form_obj.endTime = form_obj.items[1]; + } + if (form_obj.startTime) { form_obj.startTime = this.$moment(form_obj.startTime).format('YYYY-MM-DD'); // form_obj.startTime = new Date(form_obj.startTime).Format("yyyy-MM-dd").toLocaleString(); diff --git a/src/components/popup/portion/substep.vue b/src/components/popup/portion/substep.vue index 847d34a..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" @@ -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> @@ -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> @@ -1194,9 +1218,30 @@ 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, @@ -1418,6 +1463,16 @@ ], titleInput_: "", + rules_check: { + items: [ + { + required: true, + validator: validateItems, + type: "array", + trigger: ["change", "blur"] + } + ] + }, options_users: [ { @@ -1505,6 +1560,10 @@ 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); } } -- Gitblit v1.8.0