En route vor 1 Jahr
Ursprung
Commit
793d563022

+ 16 - 0
src/newApi/classTab.js

@@ -125,6 +125,22 @@ export default {
             params: data
         })
     },
+    //查询学员学时列表-new
+    listUserPeriodManage(data) {
+        return request({
+            url: '/grade/grade/listUserPeriod/manage',
+            method: 'get',
+            params: data
+        })
+    },
+    //查询学员学时列表审核状态
+    listUserPeriodTotal(data) {
+        return request({
+            url: '/grade/grade/listUserPeriod/total',
+            method: 'get',
+            params: data
+        })
+    },
     //查询学员学时列表New
     inquireGradegradelistUserPeriodsNew(data) {
         return request({

+ 7 - 7
src/store/modules/user.js

@@ -59,16 +59,16 @@ const user = {
             }
           })
         }).catch(() => {
-          clearInterval(this.state.downLoadlistInterval)
+          // clearInterval(this.state.downLoadlistInterval)
         })
       }
-      if (queryData) {
-        clearInterval(this.state.downLoadlistInterval)
-      }
+      // if (queryData) {
+      //   clearInterval(this.state.downLoadlistInterval)
+      // }
       func()
-      this.state.downLoadlistInterval = setInterval(() => {
-        func()
-      }, 30000);
+      // this.state.downLoadlistInterval = setInterval(() => {
+      //   func()
+      // }, 30000);
     },
     oldLogin({ commit }, queryData) {
       return new Promise(resolve => {

+ 48 - 5
src/views/education/classManageMent/classList/classList/addClass.vue

@@ -1,7 +1,7 @@
 <template>
   <div id="">
     <BaseDialog
-      width="1400px"
+      width="1200px"
       :isShow.sync="isShow"
       title="新增"
       @close="close"
@@ -11,12 +11,12 @@
       <el-row :gutter="20">
         <el-form
           label-position="right"
-          label-width="120px"
+          label-width="130px"
           :model="listData"
           :rules="rules"
           ref="listData"
         >
-          <el-col :span="12">
+          <el-col :span="12" class="col_12">
             <el-form-item label="所属商品" prop="payer">
               <span
                 style="margin-right: 20px"
@@ -29,7 +29,6 @@
             </el-form-item>
             <el-form-item label="班级名称" prop="className">
               <el-input
-                style="width: 400px"
                 v-model="listData.className"
                 placeholder="请填写班级名称"
               ></el-input>
@@ -108,7 +107,7 @@
             <el-form-item
               label="班级有效期"
               prop="timeList"
-              v-if="listData.classStatus"
+              v-if="listData.classStatus === 1"
             >
               <el-date-picker
                 style="width: 90%"
@@ -122,6 +121,18 @@
               >
               </el-date-picker>
             </el-form-item>
+            <el-form-item
+              label="报名提前截止(天)"
+              prop="pastDueDay"
+              v-if="listData.classStatus === 1"
+            >
+              <el-input-number
+                v-model="listData.pastDueDay"
+                :min="10"
+                :controls="false"
+                :precision="0"
+              ></el-input-number>
+            </el-form-item>
             <el-form-item label="考期" prop="examineId">
               <el-select
                 v-model="listData.examineId"
@@ -366,6 +377,19 @@ import { mapGetters } from "vuex";
 export default {
   components: { searchBoxNew, pagination },
   data() {
+    const validatorDay = (rule, value, callback) => {
+      if (
+        this.listData.timeList[0] &&
+        this.listData.timeList[1] &&
+        parseInt(this.listData.timeList[1]) -
+          parseInt(this.listData.timeList[0]) <
+          parseInt(Number(value) * 86400000)
+      ) {
+        callback(new Error("报名截止时间需小于班级有效天数"));
+      } else {
+        callback();
+      }
+    };
     return {
       isShow: false,
       total: 0,
@@ -438,6 +462,17 @@ export default {
             trigger: "change",
           },
         ],
+        pastDueDay: [
+          {
+            required: true,
+            message: "请输入报名截至提前时间",
+            trigger: "blur",
+          },
+          {
+            validator: validatorDay,
+            trigger: "blur",
+          },
+        ],
         learningTimeStart: [
           {
             type: "date",
@@ -672,6 +707,7 @@ export default {
     changeClassStatus() {
       this.listData.officialName = "";
       this.listData.timeList = [];
+      this.listData.pastDueDay = 0;
     },
     //返回
     backPage() {
@@ -709,6 +745,7 @@ export default {
       if (!data.timeList) {
         data.classStartTime = null;
         data.classEndTime = null;
+        data.pastDueDay = null
       }
       if (data.learningStatus === 3) {
         data.learningTimeStart = this.listData.learningTimeStart / 1000;
@@ -739,6 +776,12 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.col_12{
+  border-right:1px solid #e1e1e1;
+}
+/deep/ .el-input--medium .el-input__inner{
+  width:405px;
+}
 /deep/.el-button {
   border-radius: 8px;
 }

+ 1 - 1
src/views/education/classManageMent/classList/index.vue

@@ -6,7 +6,7 @@
       </el-tab-pane>
       <el-tab-pane label="报班学员" name="second">
         <trainee v-if="activeName == 'second'"></trainee>
-      </el-tab-pane>
+      </el-tab-pane> 
     </el-tabs>
   </div>
 </template>

+ 49 - 7
src/views/education/classManageMent/classList/manageClass/baseInfo.vue

@@ -13,30 +13,33 @@
           {{ listData.goodsList[0].educationName }}
         </el-descriptions-item>
         <el-descriptions-item label="业务层次">
-          {{listData.goodsList[0].projectName + ' - ' + listData.goodsList[0].businessName }}
-          
+          {{
+            listData.goodsList[0].projectName +
+            " - " +
+            listData.goodsList[0].businessName
+          }}
         </el-descriptions-item>
         <el-descriptions-item label="专业">
           {{ listData.goodsList[0].categoryName }}
-          
         </el-descriptions-item>
         <el-descriptions-item label="商品名称">
           {{ listData.goodsList[0].goodsName }}
-          
         </el-descriptions-item>
         <el-descriptions-item label="学时">
           {{ listData.goodsList[0].classHours }}
-          
         </el-descriptions-item>
         <el-descriptions-item label="年份">
           {{ listData.sevenYear || listData.goodsList[0].year }}
-          
         </el-descriptions-item>
       </el-descriptions>
       <div class="top_style">班级信息</div>
       <el-row
         :gutter="20"
-        style="background: rgb(242, 242, 242); border-radius: 8px;padding: 20px;"
+        style="
+          background: rgb(242, 242, 242);
+          border-radius: 8px;
+          padding: 20px;
+        "
       >
         <el-form
           label-position="right"
@@ -170,6 +173,18 @@
               </el-form-item>
             </div>
 
+            <el-form-item
+              label="报名提前截止(天)"
+              prop="pastDueDay"
+              v-if="listData.classStatus === 1"
+            >
+              <el-input-number
+                v-model="listData.pastDueDay"
+                :min="10"
+                :controls="false"
+                :precision="0"
+              ></el-input-number>
+            </el-form-item>
             <!-- <el-tooltip class="item" effect="dark" placement="right">
                 <div slot="content">
                   商品学习有效期:{{
@@ -367,6 +382,19 @@
 import { mapGetters } from "vuex";
 export default {
   data() {
+    const validatorDay = (rule, value, callback) => {
+      if (
+        this.listData.classStartTime &&
+        this.listData.classEndTime &&
+        parseInt(this.listData.classEndTime) -
+          parseInt(this.listData.classStartTime) <
+          parseInt(Number(value) * 86400000)
+      ) {
+        callback(new Error("报名截止时间需小于班级有效天数"));
+      } else {
+        callback();
+      }
+    };
     return {
       copyData: {},
       classStartStatus: false,
@@ -408,6 +436,17 @@ export default {
         classEndTime: [
           { required: true, message: "请选择结束时间", trigger: "change" },
         ],
+        pastDueDay: [
+          {
+            required: true,
+            message: "请输入报名截至提前时间",
+            trigger: "blur",
+          },
+          {
+            validator: validatorDay,
+            trigger: "blur",
+          },
+        ],
         status: [{ required: true, message: "请选择状态", trigger: "change" }],
         learningTimeStart: [
           {
@@ -591,6 +630,7 @@ export default {
       this.listData.officialName = "";
       this.listData.classStartTime = "";
       this.listData.classEndTime = "";
+      this.listData.pastDueDay = 0;
       this.$nextTick(() => {
         this.$refs.listData.clearValidate();
       });
@@ -607,6 +647,7 @@ export default {
     submitForm(formName) {
       this.$refs[formName].validate((valid) => {
         if (valid) {
+          return;
           this.submit(); //提交
         } else {
           console.log("error submit!!");
@@ -620,6 +661,7 @@ export default {
       if (!data.classStartTime && !data.classEndTime) {
         data.classStartTime = null;
         data.classEndTime = null;
+        data.pastDueDay = null
       } else {
         if (data.classStartTime && data.classEndTime) {
           data.classStartTime = data.classStartTime / 1000;

+ 1 - 0
src/views/education/classManageMent/classList/trainee/index.vue

@@ -204,6 +204,7 @@ export default {
         },
         {
           label: "所属商品",
+          hidden: true,
           scope: "slot",
           slotName: "goodsInfo",
         },

+ 7 - 48
src/views/education/classManageMent/listOfhoursToBeReviewed/index.vue

@@ -6,7 +6,7 @@
         :type="formData.periodStatus === 2 ? 'primary' : ''"
         :size="size"
         @click="changeBTN(2)"
-        >初审({{ reviewListNums }})
+        >初审({{ reviewListNumObj.firstPeriodNum }})
         <!-- <i
           class="el-icon-warning-outline"
           :style="
@@ -24,7 +24,7 @@
         :type="formData.periodStatus === 3 ? 'primary' : ''"
         :size="size"
         @click="changeBTN(3)"
-        >复审({{ underReiviewNums }})
+        >复审({{ reviewListNumObj.recheckNum }})
         <!-- <i
           class="el-icon-warning-outline"
           :style="
@@ -42,7 +42,7 @@
         :type="formData.periodStatus === 0 ? 'primary' : ''"
         :size="size"
         @click="changeBTN(0)"
-        >不通过({{ failNums }})</el-button
+        >不通过({{ reviewListNumObj.noPassNum }})</el-button
       ><el-button
         :type="formData.periodStatus === 1 ? 'primary' : ''"
         :size="size"
@@ -94,9 +94,7 @@ export default {
   data() {
     return {
       size: "small",
-      reviewListNums: 0,
-      underReiviewNums: 0,
-      failNums: 0,
+      reviewListNumObj: {},
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "学时审核管理",
@@ -337,12 +335,6 @@ export default {
       );
       this.$refs.searchBox.changeBusinessLevel(this.$route.params.businessId);
     }
-    console.log(
-      this.$methodsTools.timestampConvert(this.$route.params.timeType)[0]
-    );
-    console.log(
-      this.$methodsTools.timestampConvert(this.$route.params.timeType)[1]
-    );
     if (this.$route.params.timeType >= 0) {
       this.$set(
         this.formData,
@@ -357,14 +349,10 @@ export default {
     }
     this.search();
     this.getInitList();
-    this.getInitUnderList();
-    this.getFailList();
   },
   activated() {
     this.search();
     this.getInitList();
-    this.getInitUnderList();
-    this.getFailList();
   },
   methods: {
     changeBTN(int) {
@@ -376,38 +364,9 @@ export default {
      */
     getInitList() {
       this.$api
-        .inquireGradegradelistUserPeriod({
-          periodStatus: 2,
-          status: 1,
-        })
-        .then((res) => {
-          this.reviewListNums = res.rows.length;
-        });
-    },
-    /**
-     * 审核中数量
-     */
-    getInitUnderList() {
-      this.$api
-        .inquireGradegradelistUserPeriod({
-          periodStatus: 3,
-          status: 1,
-        })
-        .then((res) => {
-          this.underReiviewNums = res.rows.length;
-        });
-    },
-    /**
-     * 不通过数量
-     */
-    getFailList() {
-      this.$api
-        .inquireGradegradelistUserPeriod({
-          periodStatus: 0,
-          status: 1,
-        })
+        .listUserPeriodTotal()
         .then((res) => {
-          this.failNums = res.rows.length;
+          this.reviewListNumObj = res.data || {};
         });
     },
     jumpPage(v) {
@@ -477,7 +436,7 @@ export default {
         data.periodEndTime = parseInt(data.periodEndTime / 1000);
       }
       this.$api
-        .inquireGradegradelistUserPeriods(data)
+        .listUserPeriodManage(data)
         .then((res) => {
           this.tableData = res.rows;
           this.total = res.total;