Browse Source

feat: 考试日期选择调整

zhangjie 1 year ago
parent
commit
07f57d60f2

+ 11 - 34
src/modules/base/components/ModifyExamStudent.vue

@@ -4,7 +4,7 @@
     :visible.sync="modalIsShow"
     :title="title"
     top="10px"
-    width="540px"
+    width="600px"
     :close-on-click-modal="false"
     :close-on-press-escape="false"
     append-to-body
@@ -93,29 +93,16 @@
       >
         <el-date-picker
           v-model="examSetDate"
-          type="date"
+          type="datetimerange"
           value-format="timestamp"
+          format="yyyy-MM-dd HH:mm"
           placeholder="考试日期"
-          style="width: 150px; margin-bottom: 5px"
           :clearable="false"
-          @change="timeChange"
-        >
-        </el-date-picker>
-        <el-time-picker
-          v-model="examSetTime"
-          is-range
-          range-separator="至"
           start-placeholder="考试开始时间"
           end-placeholder="考试结束时间"
-          placeholder="选择时间范围"
-          value-format="timestamp"
-          :picker-options="{
-            format: 'HH:mm',
-          }"
-          :default-value="defaultTime"
           @change="timeChange"
         >
-        </el-time-picker>
+        </el-date-picker>
       </el-form-item>
       <el-form-item
         v-if="checkRequiredFieldValid('examRoom')"
@@ -381,9 +368,7 @@ export default {
       extendFields: [],
       courseList: [],
       // date-picker
-      defaultTime: "",
-      examSetDate: "",
-      examSetTime: [],
+      examSetDate: [],
     };
   },
   methods: {
@@ -395,10 +380,7 @@ export default {
 
         const { examStartTime, examEndTime } = val;
         if (examStartTime && examEndTime) {
-          this.examSetTime = [examStartTime, examEndTime];
-          this.examSetDate = getTimeDatestamp(examStartTime);
-          this.modalForm.examStartTime = this.examSetTime[0];
-          this.modalForm.examEndTime = this.examSetTime[1];
+          this.examSetDate = [examStartTime, examEndTime];
         } else {
           this.getInitCreateTime();
         }
@@ -416,8 +398,6 @@ export default {
         this.courseList = [];
       }
 
-      this.defaultTime = getTimeDatestamp(Date.now());
-
       this.$nextTick(() => {
         this.$refs.modalFormComp.clearValidate();
       });
@@ -453,9 +433,7 @@ export default {
     getInitCreateTime() {
       const curDate = getTimeDatestamp(Date.now());
       const hour = 60 * 60 * 1000;
-      this.examSetTime = [curDate + 8 * hour, curDate + 10 * hour];
-      this.examSetDate = "";
-      console.log(this.examSetTime);
+      this.examSetDate = [curDate + 8 * hour, curDate + 10 * hour];
     },
     visibleChange() {
       this.initData(this.instance);
@@ -503,17 +481,16 @@ export default {
       this.modalForm.clazzId = "";
     },
     timeChange() {
-      if (!this.examSetDate || !this.examSetTime) {
+      if (!this.examSetDate) {
         this.modalForm.examStartTime = "";
         this.modalForm.examEndTime = "";
         return;
       }
 
-      const curDate = getTimeDatestamp(this.examSetDate);
-      const timeDate = getTimeDatestamp(this.examSetTime[0]);
+      this.modalForm.examStartTime = this.examSetDate[0];
+      this.modalForm.examEndTime = this.examSetDate[1];
 
-      this.modalForm.examStartTime = curDate + this.examSetTime[0] - timeDate;
-      this.modalForm.examEndTime = curDate + this.examSetTime[1] - timeDate;
+      // this.$refs.modalFormComp.validateField("examStartTime", () => {});
     },
     getModelData() {
       const data = this.$objAssign(requiredModalForm, this.modalForm);

+ 8 - 29
src/modules/exam/components/createExamAndPrintTask/InfoPrintTask.vue

@@ -136,32 +136,16 @@
             <template v-else>
               <el-date-picker
                 v-model="scope.row.examSetDate"
-                type="date"
+                type="datetimerange"
                 value-format="timestamp"
+                format="yyyy-MM-dd HH:mm"
                 placeholder="考试日期"
-                style="width: 130px"
                 :clearable="false"
-                :editable="false"
-                @change="timeChange(scope.row)"
-              >
-              </el-date-picker>
-              <el-time-picker
-                is-range
-                v-model="scope.row.examSetTime"
-                range-separator="至"
                 start-placeholder="考试开始时间"
                 end-placeholder="考试结束时间"
-                placeholder="选择时间范围"
-                value-format="timestamp"
-                :picker-options="{
-                  format: 'HH:mm',
-                }"
-                :default-value="defaultTime"
-                :editable="false"
-                style="width: 210px"
                 @change="timeChange(scope.row)"
               >
-              </el-time-picker>
+              </el-date-picker>
             </template>
           </template>
         </el-table-column>
@@ -450,8 +434,7 @@ export default {
       this.printHouses = await listTaskPrintHouse();
     },
     timeChange(row) {
-      // console.log(row.examSetDate, row.examSetTime);
-      if (!row.examSetDate || !row.examSetTime) {
+      if (!row.examSetDate) {
         row.examStartTime = null;
         row.examEndTime = null;
         row.examDate = "";
@@ -459,11 +442,8 @@ export default {
         return;
       }
 
-      const curDate = getTimeDatestamp(row.examSetDate);
-      const timeDate = getTimeDatestamp(row.examSetTime[0]);
-
-      row.examStartTime = curDate + row.examSetTime[0] - timeDate;
-      row.examEndTime = curDate + row.examSetTime[1] - timeDate;
+      row.examStartTime = row.examSetDate[0];
+      row.examEndTime = row.examSetDate[1];
       Object.assign(row, getExamDateTime(row.examStartTime, row.examEndTime));
     },
     backupCountChange() {
@@ -508,8 +488,7 @@ export default {
         examEndTime: "",
         examDate: "",
         examTime: "",
-        examSetDate: "",
-        examSetTime: [0, 0],
+        examSetDate: [],
         className: "",
         studentCount: "",
         printHouseId: "",
@@ -600,7 +579,7 @@ export default {
         const times =
           data.examStartTime && data.examEndTime
             ? getExamDateTime(data.examStartTime, data.examEndTime)
-            : { examSetDate: "", examSetTime: [...this.curCreateTime] };
+            : { examSetDate: [...this.curCreateTime] };
 
         const tableRow = this.$objAssign(this.getInitTableRow(), {
           ...data,