Procházet zdrojové kódy

Merge branch 'master' of http://git.qmth.com.cn/ExamCloud-3/examcloud-web-admin

chenken před 6 roky
rodič
revize
477eae075b

+ 20 - 15
src/modules/basic/view/campus.vue

@@ -84,17 +84,23 @@
         <div style="width: 100%;margin-bottom: 10px;"></div>
 
         <!-- 添加或修改学习中心弹出框 -->
-        <el-dialog title="中心信息" width="400px" :visible.sync="campusDialog">
+        <el-dialog
+          title="中心信息"
+          width="450px"
+          :visible.sync="campusDialog"
+          @close="dialogBeforeClose"
+        >
           <el-form
             :inline="true"
+            inline-message
             :model="campusForm"
             ref="campusForm"
             :rules="rules"
             label-position="right"
-            label-width="90px"
+            label-width="120px"
           >
             <el-row>
-              <el-form-item label="中心代码" label-width="120px" prop="code">
+              <el-form-item label="中心代码" prop="code">
                 <el-input
                   :readonly="null != campusForm.id"
                   class="pull_length"
@@ -105,7 +111,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="中心名称" label-width="120px" prop="name">
+              <el-form-item label="中心名称" prop="name">
                 <el-input
                   class="pull_length"
                   v-model="campusForm.name"
@@ -115,11 +121,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item
-                label="中心负责人"
-                label-width="120px"
-                prop="contacts"
-              >
+              <el-form-item label="中心负责人" prop="contacts">
                 <el-input
                   class="pull_length"
                   v-model="campusForm.contacts"
@@ -129,11 +131,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item
-                label="联系方式"
-                label-width="120px"
-                prop="telephone"
-              >
+              <el-form-item label="联系方式" prop="telephone">
                 <el-input
                   class="pull_length"
                   v-model="campusForm.telephone"
@@ -143,7 +141,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="状态" label-width="120px" prop="enable">
+              <el-form-item label="状态" prop="enable">
                 <el-radio-group
                   class="pull_right_sm"
                   v-model="campusForm.enable"
@@ -576,6 +574,9 @@ export default {
 
       this.campusDialog = true;
     },
+    dialogBeforeClose() {
+      this.$refs.campusForm.clearValidate();
+    },
     //导入
     imp() {
       this.impDialog = true;
@@ -700,4 +701,8 @@ export default {
 .el-upload {
   width: 80px;
 }
+
+.pull_length {
+  width: 160px;
+}
 </style>

+ 23 - 17
src/modules/basic/view/course.vue

@@ -123,16 +123,22 @@
         <div style="width: 100%;margin-bottom: 10px;"></div>
 
         <!-- 添加或新增课程弹出框 -->
-        <el-dialog title="课程" width="400px" :visible.sync="courseDialog">
+        <el-dialog
+          title="课程"
+          width="450px"
+          :visible.sync="courseDialog"
+          @close="dialogBeforeClose"
+        >
           <el-form
             :inline="true"
+            inline-message
             :model="courseForm"
             ref="courseForm"
             :rules="rules"
             label-width="90px"
           >
             <el-row>
-              <el-form-item label="课程代码" label-width="120px" prop="code">
+              <el-form-item label="课程代码" prop="code">
                 <el-input
                   :disabled="null != courseForm.id"
                   class="pull_length"
@@ -143,7 +149,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="课程名称" label-width="120px" prop="name">
+              <el-form-item label="课程名称" prop="name">
                 <el-input
                   class="pull_length"
                   v-model="courseForm.name"
@@ -153,9 +159,9 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="层次" label-width="120px" prop="level">
+              <el-form-item label="层次" prop="level">
                 <el-select
-                  class="input_width_lg"
+                  class="pull_length"
                   v-model="courseForm.level"
                   placeholder="请选择"
                 >
@@ -169,11 +175,8 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="课程状态" label-width="120px" prop="enable">
-                <el-radio-group
-                  class="pull_right_sm"
-                  v-model="courseForm.enable"
-                >
+              <el-form-item label="课程状态" prop="enable">
+                <el-radio-group class="pull_length" v-model="courseForm.enable">
                   <el-radio label="true">开启</el-radio>
                   <el-radio label="false">关闭</el-radio>
                 </el-radio-group>
@@ -266,7 +269,7 @@
               <el-button
                 size="small"
                 type="primary"
-                icon="search"
+                icon="el-icon-search"
                 @click="searchSpecialtyPage"
               >
                 查询
@@ -274,7 +277,7 @@
               <el-button
                 size="small"
                 type="primary"
-                icon="search"
+                icon="el-icon-plus"
                 @click="addRelation"
               >
                 新增
@@ -368,11 +371,7 @@
             <span slot-scope="scope">{{ getLevel(scope.row.level) }}</span>
           </el-table-column>
           <el-table-column label="状态" width="70">
-            <span slot-scope="scope">
-              <el-tag :type="getTag(scope.row.enable)">
-                {{ getEnable(scope.row.enable) }}
-              </el-tag>
-            </span>
+            <span slot-scope="scope">{{ getEnable(scope.row.enable) }}</span>
           </el-table-column>
           <el-table-column prop="updateTime" label="更新时间" width="170" />
           <el-table-column label="操作" width="260">
@@ -601,6 +600,9 @@ export default {
       this.pageSize = val;
       this.searchForm();
     },
+    dialogBeforeClose() {
+      this.$refs.courseForm.clearValidate();
+    },
     deleteRelation(row) {
       var specialtyId = row.id;
       var courseId = this.specialtySearchForm.courseId;
@@ -1178,6 +1180,10 @@ export default {
   width: 180px;
 }
 
+.pull_length {
+  width: 180px;
+}
+
 .pull-center {
   margin-left: 30%;
 }

+ 10 - 3
src/modules/basic/view/exam_site.vue

@@ -53,8 +53,9 @@
           <!-- 添加考点信息弹出框 -->
           <el-dialog
             title="考点信息"
-            width="400px"
+            width="450px"
             :visible.sync="examSiteDialog"
+            @before-close="dialogBeforeClose"
           >
             <el-form
               :inline="true"
@@ -155,14 +156,14 @@
             @selection-change="selectChange"
           >
             <el-table-column type="selection" width="35" />
-            <el-table-column prop="id" width="80" label="ID" />
+            <el-table-column prop="id" width="70" label="ID" />
             <el-table-column prop="code" label="考点代码" />
             <el-table-column prop="name" label="考点名称" />
             <el-table-column prop="contacts" width="100" label="负责人" />
             <el-table-column prop="telephone" width="100" label="联系方式" />
             <el-table-column prop="remark" width="120" label="备注" />
             <el-table-column prop="updateTime" width="180" label="更新时间" />
-            <el-table-column label="操作" width="180">
+            <el-table-column label="操作" width="200">
               <div slot-scope="scope">
                 <el-button
                   size="mini"
@@ -357,6 +358,9 @@ export default {
         }
       });
     },
+    dialogBeforeClose() {
+      this.$refs.examSiteForm.clearValidate();
+    },
     //新增
     insert() {
       this.examSiteForm.id = null;
@@ -482,4 +486,7 @@ export default {
 .el-upload {
   width: 80px;
 }
+.pull_length {
+  width: 200px;
+}
 </style>

+ 15 - 1
src/modules/basic/view/school.vue

@@ -54,14 +54,21 @@
       <div style="width: 100%;margin-bottom: 10px;"></div>
 
       <!-- 添加或修改学校弹出框 -->
-      <el-dialog title="学校信息" width="400px" :visible.sync="schoolDialog">
+      <el-dialog
+        title="学校信息"
+        width="500px"
+        :visible.sync="schoolDialog"
+        @close="dialogBeforeClose"
+      >
         <el-form
           :inline="true"
+          inline-message
           :model="schoolForm"
           ref="schoolForm"
           :rules="rules"
           label-position="right"
           label-width="90px"
+          class="editSchoolForm"
         >
           <el-row>
             <el-form-item label="学校代码" label-width="120px" prop="code">
@@ -369,6 +376,9 @@ export default {
       this.formSearch.name = "";
       this.formSearch.domainName = "";
     },
+    dialogBeforeClose() {
+      this.$refs.schoolForm.clearValidate();
+    },
     handleSizeChange(val) {
       this.pageSize = val;
       this.searchForm();
@@ -699,4 +709,8 @@ export default {
 .el-upload {
   width: 80px;
 }
+
+.editSchoolForm .pull_length {
+  width: 200px;
+}
 </style>

+ 30 - 22
src/modules/basic/view/specially.vue

@@ -86,36 +86,38 @@
       <div style="width: 100%;margin-bottom: 10px;"></div>
 
       <!-- 新增或修改弹出框 -->
-      <el-dialog title="专业信息" :visible.sync="speciallyDialog">
+      <el-dialog
+        title="专业信息"
+        width="450px"
+        :visible.sync="speciallyDialog"
+        @close="dialogBeforeClose"
+      >
         <el-form
           :inline="true"
+          inline-message
           :model="speciallyForm"
           ref="speciallyForm"
           :rules="rules"
           label-position="right"
           label-width="90px"
         >
-          <el-row>
-            <el-form-item label="专业代码" label-width="120px" prop="code">
-              <el-input
-                :disabled="null != speciallyForm.id"
-                class="pull_length"
-                v-model="speciallyForm.code"
-                auto-complete="off"
-                placeholder="专业代码"
-              />
-            </el-form-item>
-          </el-row>
-          <el-row>
-            <el-form-item label="专业名称" label-width="120px" prop="name">
-              <el-input
-                class="pull_length"
-                v-model="speciallyForm.name"
-                auto-complete="off"
-                placeholder="专业名称"
-              />
-            </el-form-item>
-          </el-row>
+          <el-form-item label="专业代码" prop="code">
+            <el-input
+              :disabled="null != speciallyForm.id"
+              class="pull_length"
+              v-model="speciallyForm.code"
+              auto-complete="off"
+              placeholder="专业代码"
+            />
+          </el-form-item>
+          <el-form-item label="专业名称" prop="name">
+            <el-input
+              class="pull_length"
+              v-model="speciallyForm.name"
+              auto-complete="off"
+              placeholder="专业名称"
+            />
+          </el-form-item>
           <el-row class="pull_center">
             <el-button type="primary" @click="submitForm('speciallyForm')">
               保 存
@@ -461,6 +463,9 @@ export default {
     }
   },
   methods: {
+    dialogBeforeClose() {
+      this.$refs.speciallyForm.clearValidate();
+    },
     handleSizeChange(val) {
       this.pageSize = val;
       this.searchForm();
@@ -939,4 +944,7 @@ export default {
 .pull_center {
   margin-left: 120px;
 }
+.pull_length {
+  width: 200px;
+}
 </style>

+ 29 - 34
src/modules/basic/view/user.vue

@@ -76,16 +76,18 @@
         <div class="block-seperator"></div>
 
         <!-- 添加用户信息弹出框 -->
-        <el-dialog title="新增用户" width="400px" :visible.sync="addingDialog">
+        <el-dialog title="新增用户" width="450px" :visible.sync="addingDialog">
           <el-form
             :inline="true"
+            inline-message
             :model="userForm"
             ref="addingForm"
             :rules="rules"
             label-position="right"
+            label-width="120px"
           >
             <el-row>
-              <el-form-item label="姓名" label-width="120px" prop="name">
+              <el-form-item label="姓名" prop="name">
                 <el-input
                   class="input_width_lg"
                   v-model="userForm.name"
@@ -95,7 +97,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="登录名" label-width="120px" prop="loginName">
+              <el-form-item label="登录名" prop="loginName">
                 <el-input
                   class="input_width_lg"
                   v-model="userForm.loginName"
@@ -105,7 +107,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="密码" label-width="120px" prop="password">
+              <el-form-item label="密码" prop="password">
                 <el-input
                   class="input_width_lg"
                   v-model="userForm.password"
@@ -115,7 +117,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="联系方式" label-width="120px" prop="mobile">
+              <el-form-item label="联系方式" prop="mobile">
                 <el-input
                   class="input_width_lg"
                   v-model="userForm.mobile"
@@ -125,13 +127,9 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item
-                label="顶级机构"
-                label-width="120px"
-                prop="rootOrgId"
-              >
+              <el-form-item label="顶级机构" prop="rootOrgId">
                 <el-select
-                  class="select"
+                  class="input_width_lg"
                   v-model="userForm.rootOrgId"
                   placeholder="请选择"
                   :disabled="!isSuperAdmin"
@@ -148,9 +146,9 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="角色" label-width="120px" prop="roleIds">
+              <el-form-item label="角色" prop="roleIds">
                 <el-select
-                  class="select"
+                  class="input_width_lg"
                   multiple
                   v-model="userForm.roleIds"
                   placeholder="请选择"
@@ -167,9 +165,9 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="子机构" label-width="120px" prop="orgId">
+              <el-form-item label="子机构" prop="orgId">
                 <el-select
-                  class="select"
+                  class="input_width_lg"
                   :remote-method="getOrgList4InsertOrUpdate"
                   :loading="orgLoading4InsertOrUpdate"
                   remote
@@ -189,7 +187,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="状态" label-width="120px">
+              <el-form-item label="状态">
                 <el-radio-group class="pull_right_sm" v-model="enableStr">
                   <el-radio label="true">启用</el-radio>
                   <el-radio label="false">禁用</el-radio>
@@ -204,16 +202,17 @@
         </el-dialog>
 
         <!-- 修改用户信息弹出框 -->
-        <el-dialog title="编辑用户" width="400px" :visible.sync="updateDialog">
+        <el-dialog title="编辑用户" width="450px" :visible.sync="updateDialog">
           <el-form
             :inline="true"
             :model="userForm"
             ref="updateForm"
             :rules="rules"
             label-position="right"
+            label-width="120px"
           >
             <el-row>
-              <el-form-item label="ID" label-width="120px">
+              <el-form-item label="ID">
                 <el-input
                   class="input_width_lg"
                   v-model="userForm.id"
@@ -222,7 +221,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="姓名" label-width="120px" prop="name">
+              <el-form-item label="姓名" prop="name">
                 <el-input
                   class="input_width_lg"
                   v-model="userForm.name"
@@ -232,7 +231,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="登录名" label-width="120px" prop="loginName">
+              <el-form-item label="登录名" prop="loginName">
                 <el-input
                   class="input_width_lg"
                   v-model="userForm.loginName"
@@ -242,7 +241,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="联系方式" label-width="120px" prop="mobile">
+              <el-form-item label="联系方式" prop="mobile">
                 <el-input
                   class="input_width_lg"
                   v-model="userForm.mobile"
@@ -252,13 +251,9 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item
-                label="顶级机构"
-                label-width="120px"
-                prop="rootOrgId"
-              >
+              <el-form-item label="顶级机构" prop="rootOrgId">
                 <el-select
-                  class="select"
+                  class="input_width_lg"
                   v-model="userForm.rootOrgId"
                   placeholder="请选择"
                   :disabled="true"
@@ -274,9 +269,9 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="角色" label-width="120px" prop="roleIds">
+              <el-form-item label="角色" prop="roleIds">
                 <el-select
-                  class="select"
+                  class="input_width_lg"
                   multiple
                   v-model="userForm.roleIds"
                   placeholder="请选择"
@@ -295,9 +290,9 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="子机构" label-width="120px" prop="orgId">
+              <el-form-item label="子机构" prop="orgId">
                 <el-select
-                  class="select"
+                  class="input_width_lg"
                   :remote-method="getOrgList4InsertOrUpdate"
                   :loading="orgLoading4InsertOrUpdate"
                   remote
@@ -317,7 +312,7 @@
               </el-form-item>
             </el-row>
             <el-row>
-              <el-form-item label="状态" label-width="120px">
+              <el-form-item label="状态">
                 <el-radio-group
                   class="pull_right_sm"
                   v-model="enableStr"
@@ -1087,8 +1082,8 @@ export default {
 </script>
 
 <style scoped>
-.select {
-  width: 195px;
+.input_width_lg {
+  width: 180px;
 }
 .input_width {
   width: 150px;

+ 327 - 411
src/modules/examwork/view/examStudent.vue

@@ -166,221 +166,179 @@
           @close="closeAddingStudentDialog"
           title="考生信息页面"
           :visible.sync="addingStudentDialog"
+          width="60%"
         >
           <el-form
             :model="examStudentForm"
-            size="large"
             :rules="rules"
+            :inline="true"
             ref="addingStudentForm"
           >
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="考试"
-                  :label-width="formLabelWidth"
-                  prop="examId"
-                >
-                  <el-select
-                    class="input"
-                    :remote-method="queryExams4InsertOrUpdate"
-                    :loading="queryExams4InsertOrUpdateLoading"
-                    remote
-                    filterable
-                    clearable
-                    v-model="examStudentForm.examId"
-                    placeholder="请选择"
-                  >
-                    <el-option
-                      v-for="item in examList4InsertOrUpdate"
-                      :label="item.name"
-                      :value="item.id"
-                      :key="item.id"
-                      :disabled="!item.enable"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="姓名"
-                  :label-width="formLabelWidth"
-                  prop="studentName"
-                >
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.studentName"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="学号"
-                  :label-width="formLabelWidth"
-                  prop="studentCode"
-                >
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.studentCode"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="身份证号"
-                  :label-width="formLabelWidth"
-                  prop="identityNumber"
+            <el-form-item
+              label="考试"
+              :label-width="formLabelWidth"
+              prop="examId"
+            >
+              <el-select
+                class="input"
+                :remote-method="queryExams4InsertOrUpdate"
+                :loading="queryExams4InsertOrUpdateLoading"
+                remote
+                filterable
+                clearable
+                v-model="examStudentForm.examId"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in examList4InsertOrUpdate"
+                  :label="item.name"
+                  :value="item.id"
+                  :key="item.id"
+                  :disabled="!item.enable"
                 >
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.identityNumber"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="学习中心"
-                  :label-width="formLabelWidth"
-                  prop="orgId"
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item
+              label="姓名"
+              :label-width="formLabelWidth"
+              prop="studentName"
+            >
+              <el-input
+                class="input"
+                v-model="examStudentForm.studentName"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item
+              label="学号"
+              :label-width="formLabelWidth"
+              prop="studentCode"
+            >
+              <el-input
+                class="input"
+                v-model="examStudentForm.studentCode"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item
+              label="身份证号"
+              :label-width="formLabelWidth"
+              prop="identityNumber"
+            >
+              <el-input
+                class="input"
+                v-model="examStudentForm.identityNumber"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item
+              label="学习中心"
+              :label-width="formLabelWidth"
+              prop="orgId"
+            >
+              <el-select
+                class="input"
+                :remote-method="getOrgList4InsertOrUpdate"
+                :loading="getOrgList4InsertOrUpdateLoading"
+                remote
+                filterable
+                clearable
+                v-model="examStudentForm.orgId"
+                placeholder="请选择"
+                :disabled="pureLC"
+              >
+                <el-option
+                  v-for="item in orgList4InsertOrUpdate"
+                  :label="item.name + ' - ' + item.code"
+                  :value="item.id"
+                  :key="item.id"
+                  :disabled="!item.enable"
                 >
-                  <el-select
-                    class="input"
-                    :remote-method="getOrgList4InsertOrUpdate"
-                    :loading="getOrgList4InsertOrUpdateLoading"
-                    remote
-                    filterable
-                    clearable
-                    v-model="examStudentForm.orgId"
-                    placeholder="请选择"
-                    :disabled="pureLC"
-                  >
-                    <el-option
-                      v-for="item in orgList4InsertOrUpdate"
-                      :label="item.name + ' - ' + item.code"
-                      :value="item.id"
-                      :key="item.id"
-                      :disabled="!item.enable"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="课程"
-                  :label-width="formLabelWidth"
-                  prop="courseId"
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item
+              label="课程"
+              :label-width="formLabelWidth"
+              prop="courseId"
+            >
+              <el-select
+                :remote-method="getCourses4InsertOrUpdate"
+                :loading="courseLoading4InsertOrUpdate"
+                remote
+                filterable
+                clearable
+                class="input"
+                v-model="examStudentForm.courseId"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in courseList4InsertOrUpdate"
+                  :label="item.name + ' - ' + item.code"
+                  :value="item.id"
+                  :key="item.id"
+                  :disabled="!item.enable"
                 >
-                  <el-select
-                    :remote-method="getCourses4InsertOrUpdate"
-                    :loading="courseLoading4InsertOrUpdate"
-                    remote
-                    filterable
-                    clearable
-                    class="input"
-                    v-model="examStudentForm.courseId"
-                    placeholder="请选择"
-                  >
-                    <el-option
-                      v-for="item in courseList4InsertOrUpdate"
-                      :label="item.name + ' - ' + item.code"
-                      :value="item.id"
-                      :key="item.id"
-                      :disabled="!item.enable"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="试卷类型"
-                  :label-width="formLabelWidth"
-                  prop="paperType"
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item
+              label="试卷类型"
+              :label-width="formLabelWidth"
+              prop="paperType"
+            >
+              <el-select
+                class="input"
+                v-model="examStudentForm.paperType"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in paperTypeList"
+                  :label="item"
+                  :value="item"
+                  :key="item"
                 >
-                  <el-select
-                    class="input"
-                    v-model="examStudentForm.paperType"
-                    placeholder="请选择"
-                  >
-                    <el-option
-                      v-for="item in paperTypeList"
-                      :label="item"
-                      :value="item"
-                      :key="item"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item label="专业" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.specialtyName"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item label="考点" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.examSite"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="10">
-                <el-form-item label="年级" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.grade"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :span="10">
-                <el-form-item label="采集人" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.infoCollector"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="10">
-                <el-form-item label="电话" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.phone"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :span="10">
-                <el-form-item label="试卷袋编码" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.ext1"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="专业" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.specialtyName"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="考点" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.examSite"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="年级" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.grade"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="采集人" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.infoCollector"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="电话" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.phone"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="试卷袋编码" :label-width="formLabelWidth">
+              <el-input class="input" v-model="examStudentForm.ext1"></el-input>
+            </el-form-item>
           </el-form>
           <div style="text-align: center;">
             <el-button type="primary" @click="addStudent">确 定</el-button>
@@ -398,218 +356,176 @@
             :model="examStudentForm"
             size="large"
             :rules="rules"
+            :inline="true"
             ref="updateStudentForm"
           >
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="考试"
-                  :label-width="formLabelWidth"
-                  prop="examId"
-                >
-                  <el-select
-                    class="input"
-                    :remote-method="queryExams4InsertOrUpdate"
-                    :loading="queryExams4InsertOrUpdateLoading"
-                    remote
-                    disabled
-                    filterable
-                    clearable
-                    v-model="examStudentForm.examId"
-                    placeholder="请选择"
-                  >
-                    <el-option
-                      v-for="item in examList4InsertOrUpdate"
-                      :label="item.name"
-                      :value="item.id"
-                      :key="item.id"
-                      :disabled="!item.enable"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="姓名"
-                  :label-width="formLabelWidth"
-                  prop="studentName"
-                >
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.studentName"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="学号"
-                  :label-width="formLabelWidth"
-                  prop="studentCode"
-                >
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.studentCode"
-                    readonly
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="身份证号"
-                  :label-width="formLabelWidth"
-                  prop="identityNumber"
+            <el-form-item
+              label="考试"
+              :label-width="formLabelWidth"
+              prop="examId"
+            >
+              <el-select
+                class="input"
+                :remote-method="queryExams4InsertOrUpdate"
+                :loading="queryExams4InsertOrUpdateLoading"
+                remote
+                disabled
+                filterable
+                clearable
+                v-model="examStudentForm.examId"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in examList4InsertOrUpdate"
+                  :label="item.name"
+                  :value="item.id"
+                  :key="item.id"
+                  :disabled="!item.enable"
                 >
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.identityNumber"
-                    readonly
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="学习中心"
-                  :label-width="formLabelWidth"
-                  prop="orgId"
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item
+              label="姓名"
+              :label-width="formLabelWidth"
+              prop="studentName"
+            >
+              <el-input
+                class="input"
+                v-model="examStudentForm.studentName"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item
+              label="学号"
+              :label-width="formLabelWidth"
+              prop="studentCode"
+            >
+              <el-input
+                class="input"
+                v-model="examStudentForm.studentCode"
+                readonly
+              ></el-input>
+            </el-form-item>
+            <el-form-item
+              label="身份证号"
+              :label-width="formLabelWidth"
+              prop="identityNumber"
+            >
+              <el-input
+                class="input"
+                v-model="examStudentForm.identityNumber"
+                readonly
+              ></el-input>
+            </el-form-item>
+            <el-form-item
+              label="学习中心"
+              :label-width="formLabelWidth"
+              prop="orgId"
+            >
+              <el-select
+                class="input"
+                :remote-method="getOrgList4InsertOrUpdate"
+                :loading="getOrgList4InsertOrUpdateLoading"
+                remote
+                filterable
+                clearable
+                v-model="examStudentForm.orgId"
+                placeholder="请选择"
+                :disabled="pureLC"
+              >
+                <el-option
+                  v-for="item in orgList4InsertOrUpdate"
+                  :label="item.name + ' - ' + item.code"
+                  :value="item.id"
+                  :key="item.id"
+                  :disabled="!item.enable"
                 >
-                  <el-select
-                    class="input"
-                    :remote-method="getOrgList4InsertOrUpdate"
-                    :loading="getOrgList4InsertOrUpdateLoading"
-                    remote
-                    filterable
-                    clearable
-                    v-model="examStudentForm.orgId"
-                    placeholder="请选择"
-                    :disabled="pureLC"
-                  >
-                    <el-option
-                      v-for="item in orgList4InsertOrUpdate"
-                      :label="item.name + ' - ' + item.code"
-                      :value="item.id"
-                      :key="item.id"
-                      :disabled="!item.enable"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="课程"
-                  :label-width="formLabelWidth"
-                  prop="courseId"
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item
+              label="课程"
+              :label-width="formLabelWidth"
+              prop="courseId"
+            >
+              <el-select
+                :remote-method="getCourses4InsertOrUpdate"
+                :loading="courseLoading4InsertOrUpdate"
+                remote
+                filterable
+                clearable
+                disabled
+                class="input"
+                v-model="examStudentForm.courseId"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in courseList4InsertOrUpdate"
+                  :label="item.name + ' - ' + item.code"
+                  :value="item.id"
+                  :key="item.id"
+                  :disabled="!item.enable"
                 >
-                  <el-select
-                    :remote-method="getCourses4InsertOrUpdate"
-                    :loading="courseLoading4InsertOrUpdate"
-                    remote
-                    filterable
-                    clearable
-                    disabled
-                    class="input"
-                    v-model="examStudentForm.courseId"
-                    placeholder="请选择"
-                  >
-                    <el-option
-                      v-for="item in courseList4InsertOrUpdate"
-                      :label="item.name + ' - ' + item.code"
-                      :value="item.id"
-                      :key="item.id"
-                      :disabled="!item.enable"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item
-                  label="试卷类型"
-                  :label-width="formLabelWidth"
-                  prop="paperType"
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item
+              label="试卷类型"
+              :label-width="formLabelWidth"
+              prop="paperType"
+            >
+              <el-select
+                class="input"
+                v-model="examStudentForm.paperType"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in paperTypeList"
+                  :label="item"
+                  :value="item"
+                  :key="item"
                 >
-                  <el-select
-                    class="input"
-                    v-model="examStudentForm.paperType"
-                    placeholder="请选择"
-                  >
-                    <el-option
-                      v-for="item in paperTypeList"
-                      :label="item"
-                      :value="item"
-                      :key="item"
-                    >
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item label="专业" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.specialtyName"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :xs="10" :sm="10" :md="10" :lg="10">
-                <el-form-item label="考点" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.examSite"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="10">
-                <el-form-item label="年级" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.grade"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :span="10">
-                <el-form-item label="采集人" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.infoCollector"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :span="10">
-                <el-form-item label="电话" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.phone"
-                    auto-complete="off"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-            <el-row :gutter="20">
-              <el-col :span="10">
-                <el-form-item label="试卷袋编码" :label-width="formLabelWidth">
-                  <el-input
-                    class="input"
-                    v-model="examStudentForm.ext1"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
+                </el-option>
+              </el-select>
+            </el-form-item>
+            <el-form-item label="专业" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.specialtyName"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="考点" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.examSite"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="年级" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.grade"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="采集人" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.infoCollector"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="电话" :label-width="formLabelWidth">
+              <el-input
+                class="input"
+                v-model="examStudentForm.phone"
+                auto-complete="off"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="试卷袋编码" :label-width="formLabelWidth">
+              <el-input class="input" v-model="examStudentForm.ext1"></el-input>
+            </el-form-item>
           </el-form>
           <div style="text-align: center;">
             <el-button type="primary" @click="updateStudent">确 定</el-button>

+ 19 - 3
src/modules/examwork/view/offlineExam.vue

@@ -65,10 +65,9 @@
                   <el-form-item
                     label="考试时间"
                     prop="examDatetimeRange"
-                    label-width="70px"
+                    label-width="80px"
                   >
                     <el-date-picker
-                      style="margin-left: 10px"
                       v-model="examDatetimeRange"
                       type="datetimerange"
                       range-separator="至"
@@ -124,6 +123,16 @@ let validateName = (rule, value, callback) => {
   }
 };
 
+let validateExamDatetimeRange = (rule, value, callback) => {
+  let examDatetimeRange = _this.examDatetimeRange;
+  if (!examDatetimeRange) {
+    callback(new Error("请输入考试时间"));
+    _this.activeName = "tab1";
+  } else {
+    callback();
+  }
+};
+
 export default {
   components: { LinkTitlesCustom },
   data() {
@@ -149,7 +158,14 @@ export default {
       examTypeList: EXAM_TYPE,
       examId: "",
       rules: {
-        name: [{ required: true, validator: validateName, trigger: "blur" }]
+        name: [{ required: true, validator: validateName, trigger: "blur" }],
+        examDatetimeRange: [
+          {
+            required: true,
+            validator: validateExamDatetimeRange,
+            trigger: "blur"
+          }
+        ]
       }
     };
   },

+ 41 - 13
src/modules/examwork/view/offlineExamOrgSettings.vue

@@ -82,7 +82,8 @@
               <div>
                 <el-button
                   size="mini"
-                  type="info"
+                  type="warning"
+                  plain
                   @click="showUpdateOrgSetting(scope.row)"
                 >
                   修改
@@ -113,9 +114,10 @@
           <el-form
             :model="orgSetting"
             :rules="orgSettingRules"
-            ref="orgSettingForm"
+            ref="addOrgSettingForm"
             label-position="right"
             :inline="true"
+            inline-message
           >
             <el-row>
               <el-form-item label="学习中心" prop="orgId" label-width="120px">
@@ -142,11 +144,10 @@
             <el-row>
               <el-form-item
                 label="考试时间"
-                prop="examDatetimeRange"
-                label-width="110px"
+                prop="orgSettingDatetimeRange"
+                label-width="120px"
               >
                 <el-date-picker
-                  style="margin-left: 10px"
                   v-model="orgSettingDatetimeRange"
                   type="datetimerange"
                   range-separator="至"
@@ -190,9 +191,10 @@
           <el-form
             :model="orgSetting"
             :rules="orgSettingRules"
-            ref="orgSettingForm"
+            ref="updateOrgSettingForm"
             label-position="right"
             :inline="true"
+            inline-message
           >
             <el-row>
               <el-form-item label="学习中心" prop="orgId" label-width="120px">
@@ -203,6 +205,7 @@
                   remote
                   filterable
                   clearable
+                  :disabled="true"
                   v-model="orgSetting.orgId"
                   placeholder="请选择"
                 >
@@ -219,11 +222,10 @@
             <el-row>
               <el-form-item
                 label="考试时间"
-                prop="examDatetimeRange"
-                label-width="110px"
+                prop="orgSettingDatetimeRange"
+                label-width="120px"
               >
                 <el-date-picker
-                  style="margin-left: 10px"
                   v-model="orgSettingDatetimeRange"
                   type="datetimerange"
                   range-separator="至"
@@ -266,6 +268,18 @@
 import { CORE_API, EXAM_WORK_API } from "@/constants/constants.js";
 import LinkTitlesCustom from "@/components/LinkTitlesCustom.vue";
 
+let _this = null;
+
+let validateOrgSettingDatetimeRange = (rule, value, callback) => {
+  let examDatetimeRange = _this.orgSettingDatetimeRange;
+  if (!examDatetimeRange || 0 == examDatetimeRange.length) {
+    callback(new Error("请输入考试时间"));
+    _this.activeName = "tab1";
+  } else {
+    callback();
+  }
+};
+
 export default {
   components: { LinkTitlesCustom },
   data() {
@@ -298,7 +312,18 @@ export default {
       updateOrgSettingDialog: false,
       orgList4InsertOrUpdate: [],
       loadingOrg4InsertOrUpdate: false,
-      orgSettingRules: {}
+      orgSettingRules: {
+        orgId: [
+          { required: true, message: "请选择学习中心", trigger: "blur,change" }
+        ],
+        orgSettingDatetimeRange: [
+          {
+            required: true,
+            validator: validateOrgSettingDatetimeRange,
+            trigger: "blur"
+          }
+        ]
+      }
     };
   },
   methods: {
@@ -333,7 +358,7 @@ export default {
     updateOrgSetting() {
       this.orgSetting.beginTime = this.orgSettingDatetimeRange[0];
       this.orgSetting.endTime = this.orgSettingDatetimeRange[1];
-      this.$refs.orgSettingForm.validate(valid => {
+      this.$refs.updateOrgSettingForm.validate(valid => {
         if (valid) {
           let url = EXAM_WORK_API + "/exam/examOrgSettings";
           this.$http.post(url, this.orgSetting).then(response => {
@@ -353,7 +378,7 @@ export default {
     addOrgSetting() {
       this.orgSetting.beginTime = this.orgSettingDatetimeRange[0];
       this.orgSetting.endTime = this.orgSettingDatetimeRange[1];
-      this.$refs.orgSettingForm.validate(valid => {
+      this.$refs.addOrgSettingForm.validate(valid => {
         if (valid) {
           let url = EXAM_WORK_API + "/exam/examOrgSettings";
           this.$http.put(url, this.orgSetting).then(response => {
@@ -402,7 +427,9 @@ export default {
       this.orgSetting.endTime = row.endTime;
       this.orgSetting.properties.CAN_UPLOAD_ATTACHMENT =
         row.properties.CAN_UPLOAD_ATTACHMENT;
-      this.orgSettingDatetimeRange = [row.beginTime, row.endTime];
+      if (row.beginTime && row.endTime) {
+        this.orgSettingDatetimeRange = [row.beginTime, row.endTime];
+      }
       this.updateOrgSettingDialog = true;
     },
     showAddOrgSetting() {
@@ -444,6 +471,7 @@ export default {
     }
   },
   created() {
+    _this = this;
     this.examId = this.$route.params.id;
     this.formSearch.examId = this.examId;
     this.init();

+ 18 - 2
src/modules/examwork/view/onlineExam.vue

@@ -68,10 +68,9 @@
                   <el-form-item
                     label="考试时间"
                     prop="examDatetimeRange"
-                    label-width="70px"
+                    label-width="80px"
                   >
                     <el-date-picker
-                      style="margin-left: 10px"
                       v-model="examDatetimeRange"
                       type="datetimerange"
                       range-separator="至"
@@ -358,6 +357,16 @@ let validateName = (rule, value, callback) => {
   }
 };
 
+let validateExamDatetimeRange = (rule, value, callback) => {
+  let examDatetimeRange = _this.examDatetimeRange;
+  if (!examDatetimeRange) {
+    callback(new Error("请输入考试时间"));
+    _this.activeName = "tab1";
+  } else {
+    callback();
+  }
+};
+
 let validateDuration = (rule, value, callback) => {
   let duration = _this.form.duration;
   if (duration == "") {
@@ -519,6 +528,13 @@ export default {
       examId: "",
       rules: {
         name: [{ required: true, validator: validateName, trigger: "blur" }],
+        examDatetimeRange: [
+          {
+            required: true,
+            validator: validateExamDatetimeRange,
+            trigger: "blur"
+          }
+        ],
         duration: [
           { required: true, validator: validateDuration, trigger: "blur" }
         ],

+ 18 - 2
src/modules/examwork/view/practiceExam.vue

@@ -68,10 +68,9 @@
                   <el-form-item
                     label="考试时间"
                     prop="examDatetimeRange"
-                    label-width="70px"
+                    label-width="80px"
                   >
                     <el-date-picker
-                      style="margin-left: 10px"
                       v-model="examDatetimeRange"
                       type="datetimerange"
                       range-separator="至"
@@ -192,6 +191,16 @@ let validateName = (rule, value, callback) => {
   }
 };
 
+let validateExamDatetimeRange = (rule, value, callback) => {
+  let examDatetimeRange = _this.examDatetimeRange;
+  if (!examDatetimeRange) {
+    callback(new Error("请输入考试时间"));
+    _this.activeName = "tab1";
+  } else {
+    callback();
+  }
+};
+
 let validateDuration = (rule, value, callback) => {
   let duration = _this.form.duration;
   if (duration == "") {
@@ -280,6 +289,13 @@ export default {
       examId: "",
       rules: {
         name: [{ required: true, validator: validateName, trigger: "blur" }],
+        examDatetimeRange: [
+          {
+            required: true,
+            validator: validateExamDatetimeRange,
+            trigger: "blur"
+          }
+        ],
         duration: [
           { required: true, validator: validateDuration, trigger: "blur" }
         ],

+ 19 - 3
src/modules/examwork/view/printExam.vue

@@ -68,10 +68,9 @@
                   <el-form-item
                     label="考试时间"
                     prop="examDatetimeRange"
-                    label-width="70px"
+                    label-width="80px"
                   >
                     <el-date-picker
-                      style="margin-left: 10px"
                       v-model="examDatetimeRange"
                       type="datetimerange"
                       range-separator="至"
@@ -109,6 +108,16 @@ let validateName = (rule, value, callback) => {
   }
 };
 
+let validateExamDatetimeRange = (rule, value, callback) => {
+  let examDatetimeRange = _this.examDatetimeRange;
+  if (!examDatetimeRange) {
+    callback(new Error("请输入考试时间"));
+    _this.activeName = "tab1";
+  } else {
+    callback();
+  }
+};
+
 export default {
   components: { LinkTitlesCustom },
   data() {
@@ -130,7 +139,14 @@ export default {
       examTypeList: EXAM_TYPE,
       examId: "",
       rules: {
-        name: [{ required: true, validator: validateName, trigger: "blur" }]
+        name: [{ required: true, validator: validateName, trigger: "blur" }],
+        examDatetimeRange: [
+          {
+            required: true,
+            validator: validateExamDatetimeRange,
+            trigger: "blur"
+          }
+        ]
       }
     };
   },

+ 1 - 0
src/modules/examwork/view/student.vue

@@ -577,6 +577,7 @@ export default {
           this.stuExamLoading = false;
         })
         .catch(function(response) {
+          console.log(response);
           this.stuExamLoading = false;
         });
     },

+ 19 - 3
src/modules/examwork/view/traditionExam.vue

@@ -68,10 +68,9 @@
                   <el-form-item
                     label="考试时间"
                     prop="examDatetimeRange"
-                    label-width="70px"
+                    label-width="80px"
                   >
                     <el-date-picker
-                      style="margin-left: 10px"
                       v-model="examDatetimeRange"
                       type="datetimerange"
                       range-separator="至"
@@ -109,6 +108,16 @@ let validateName = (rule, value, callback) => {
   }
 };
 
+let validateExamDatetimeRange = (rule, value, callback) => {
+  let examDatetimeRange = _this.examDatetimeRange;
+  if (!examDatetimeRange) {
+    callback(new Error("请输入考试时间"));
+    _this.activeName = "tab1";
+  } else {
+    callback();
+  }
+};
+
 export default {
   components: { LinkTitlesCustom },
   data() {
@@ -130,7 +139,14 @@ export default {
       examTypeList: EXAM_TYPE,
       examId: "",
       rules: {
-        name: [{ required: true, validator: validateName, trigger: "blur" }]
+        name: [{ required: true, validator: validateName, trigger: "blur" }],
+        examDatetimeRange: [
+          {
+            required: true,
+            validator: validateExamDatetimeRange,
+            trigger: "blur"
+          }
+        ]
       }
     };
   },

+ 5 - 1
src/modules/portal/views/home/Home.vue

@@ -252,7 +252,11 @@ export default {
 }
 
 .el-menu >>> .el-menu-item:hover {
-  color: black !important;
+  color: #777777 !important;
+}
+
+.el-menu >>> .is-active.el-menu-item:focus {
+  color: #777777 !important;
 }
 
 body > .el-container {

+ 4 - 0
src/styles/elementuiCustomize.css

@@ -12,3 +12,7 @@
 .el-form .el-form-item {
   margin-bottom: 0px;
 }
+
+/* .el-form--inline .el-form-item__content {
+  line-height: inherit !important;
+} */