瀏覽代碼

展览限制开始结束时间

James 4 年之前
父節點
當前提交
e9a5d4c359
共有 1 個文件被更改,包括 40 次插入6 次删除
  1. 40 6
      src/pages/exhibition/exhibitionEdit.vue

+ 40 - 6
src/pages/exhibition/exhibitionEdit.vue

@@ -78,8 +78,6 @@
         </el-col>
       </el-row>
 
-
-
       <el-row style="margin-bottom: 100px">
         <el-col :span="24">
           <el-form-item label="内容" prop="content" maxlength="30">
@@ -91,7 +89,8 @@
         <el-col :span="24">
           <el-form-item>
             <el-button type="primary" @click="submitForm('form')"
-              >保存</el-button>
+              >保存</el-button
+            >
             <el-button @click="quxiao()">取消</el-button>
           </el-form-item>
         </el-col>
@@ -108,6 +107,39 @@ export default {
     VueEditor,
   },
   data() {
+    let startTimeRule = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error("开始时间不能为空"));
+      }
+      let currentTime = new Date();
+      let time = this.form.startTime;
+      time = time.replace("-", "/"); //替换字符,变成标准格式
+      time = new Date(Date.parse(time));
+      if (time < currentTime) {
+        this.form.startTime = null;
+        return callback(new Error("开始时间不能小于当前时间"));
+      } else {
+        callback();
+      }
+    };
+    let endTimeRule = (rule, value, callback) => {
+      if (!value) {
+        return callback(new Error("结束时间不能为空"));
+      } else {
+        let startTime = this.form.startTime;
+        startTime = startTime.replace("-", "/"); //替换字符,变成标准格式
+        startTime = new Date(Date.parse(startTime));
+        let endTime = this.form.endTime;
+        endTime = endTime.replace("-", "/"); //替换字符,变成标准格式
+        endTime = new Date(Date.parse(endTime));
+        if (endTime < startTime) {
+          this.form.endTime = null;
+          return callback(new Error("结束时间不能小于开始时间"));
+        } else {
+          callback();
+        }
+      }
+    };
     return {
       refresh: "未刷新",
       headerObj: {
@@ -123,10 +155,12 @@ export default {
       rules: {
         name: [{ required: true, message: "请输入标题", trigger: "blur" }],
         startTime: [
-          { required: true, message: "请输入开始时间", trigger: "blur" },
+          { required: true, message: "请输入开始时间", trigger: "blur"},
+          { validator: startTimeRule, trigger: "blur"},
         ],
         endTime: [
           { required: true, message: "请输入结束时间", trigger: "blur" },
+          { validator: endTimeRule,  trigger: "blur" },
         ],
         content: [{ required: true, message: "请输入内容", trigger: "blur" }],
       },
@@ -172,14 +206,14 @@ export default {
       });
     },
     async save() {
-      let { content, name, startTime, id, endTime,thumb} = this.form;
+      let { content, name, startTime, id, endTime, thumb } = this.form;
       let data = {
         content,
         name,
         startTime,
         id,
         endTime,
-        thumb
+        thumb,
       };
       let result = await this.$http({
         method: "post",