Tang 3 rokov pred
rodič
commit
5766c046f5

+ 16 - 0
src/newApi/course.js

@@ -70,4 +70,20 @@ export default {
             params: data
         })
     },
+    //课程维度导出
+    inquireCoursestatementexport(data) {
+        return request({
+            url: '/course/statement/export',
+            method: 'get',
+            params: data
+        })
+    },
+    //课程学员详情导出
+    inquireCoursestatementstatisticsexport(data) {
+        return request({
+            url: '/course/detail/statistics/export',
+            method: 'get',
+            params: data
+        })
+    },
 }

+ 7 - 0
src/newApi/examapply.js

@@ -95,4 +95,11 @@ export default {
             params: data
         })
     },
+    //获取考试安排的前培计划详细信息
+    obtainsystemapplygetBefore(data) {
+        return request({
+            url: `/system/apply/getBefore/` + data,
+            method: 'get',
+        })
+    },
 }

+ 2 - 2
src/utils/request.js

@@ -7,8 +7,8 @@ import methods from '@/utils/methodsTool';
 
 axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 // 创建axios实例
-// export const baseURL = process.env.VUE_APP_BASE_API
-export const baseURL = 'http://192.168.1.24:5030/'
+export const baseURL = process.env.VUE_APP_BASE_API
+// export const baseURL = 'http://192.168.1.7:5030/'
 export const BASE_IMG_URL = process.env.VUE_APP_IMG_API
 const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分

+ 24 - 4
src/views/Marketing/goods/commodityManageMent/edit/courseContent/share.vue

@@ -25,7 +25,14 @@
           </el-radio-group>
         </el-form-item>
         <el-form-item label="观看链接(PC端):">
-          <span>地址</span>
+          <span id="copycode">{{ formLabelAlign.enCodePC }}</span
+          ><el-button
+            v-if="formLabelAlign.enCodePC"
+            type="text"
+            style="margin-left: 10px"
+            @click="copyUrl"
+            >复制</el-button
+          >
         </el-form-item>
         <el-form-item label="观看二维码:">
           <img
@@ -63,11 +70,24 @@ export default {
     };
   },
   methods: {
+    /**
+     * 复制地址
+     */
+    copyUrl() {
+      const range = document.createRange();//创建range对象;
+      range.selectNode(document.getElementById("copycode")); //获取复制内容的 id 选择器
+      const selection = window.getSelection(); //创建 selection对象
+      if (selection.rangeCount > 0) selection.removeAllRanges(); //如果页面已经有选取了的话,会自动删除这个选区,没有选区的话,会把这个选取加入选区
+      selection.addRange(range); //将range对象添加到selection选区当中,会高亮文本块
+      document.execCommand("copy"); //复制选中的文字到剪贴板
+      this.$message.success("复制成功");
+      selection.removeRange(range); // 移除选中的元素
+    },
     //将base64转换为blob
     dataURLtoBlob(dataurl) {
-      if(!dataurl){
-        this.$message.error("下载失败")
-        return
+      if (!dataurl) {
+        this.$message.error("下载失败");
+        return;
       }
       var arr = dataurl.split(","),
         mime = arr[0].match(/:(.*?);/)[1],

+ 33 - 18
src/views/education/classManageMent/listOfhoursToBeReviewed/index.vue

@@ -6,8 +6,8 @@
         :type="formData.periodStatus === 2 ? 'primary' : ''"
         :size="size"
         @click="changeBTN(2)"
-        >待审核
-        <i
+        >初审({{ reviewListNums }})
+        <!-- <i
           class="el-icon-warning-outline"
           :style="
             reviewListNums >= 200
@@ -19,13 +19,13 @@
               : ''
           "
           style="font-weight: bold"
-        ></i></el-button
+        ></i> --> </el-button
       ><el-button
         :type="formData.periodStatus === 3 ? 'primary' : ''"
         :size="size"
         @click="changeBTN(3)"
-        >审核中
-        <i
+        >复审({{ underReiviewNums }})
+        <!-- <i
           class="el-icon-warning-outline"
           :style="
             underReiviewNums >= 200
@@ -37,12 +37,12 @@
               : ''
           "
           style="font-weight: bold"
-        ></i></el-button
+        ></i> --> </el-button
       ><el-button
         :type="formData.periodStatus === 0 ? 'primary' : ''"
         :size="size"
         @click="changeBTN(0)"
-        >不通过</el-button
+        >不通过({{ failNums }})</el-button
       ><el-button
         :type="formData.periodStatus === 1 ? 'primary' : ''"
         :size="size"
@@ -96,6 +96,7 @@ export default {
       size: "small",
       reviewListNums: 0,
       underReiviewNums: 0,
+      failNums: 0,
       loading: false, //当前表单加载是否加载动画
       navText: {
         title: "学时审核管理",
@@ -309,8 +310,12 @@ 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])
+    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,
@@ -326,11 +331,13 @@ export default {
     this.search();
     this.getInitList();
     this.getInitUnderList();
+    this.getFailList();
   },
   activated() {
     this.search();
     this.getInitList();
     this.getInitUnderList();
+    this.getFailList();
   },
   methods: {
     changeBTN(int) {
@@ -363,6 +370,19 @@ export default {
           this.underReiviewNums = res.rows.length;
         });
     },
+    /**
+     * 不通过数量
+     */
+    getFailList() {
+      this.$api
+        .inquireGradegradelistUserPeriod({
+          periodStatus: 0,
+          status: 1,
+        })
+        .then((res) => {
+          this.failNums = res.rows.length;
+        });
+    },
     jumpPage(v) {
       this.$api
         .inquireGradegradelockPeriodStatus({
@@ -444,20 +464,15 @@ export default {
         };
       }
       if (int === 6) {
-        this.formData = {
-          profileStatus: "",
-          periodStatus: this.formData.periodStatus,
-          status: 1,
-          pageSize: 10,
-          pageNum: 1,
-        };
+        this.formData.pageSize = 10;
+        this.formData.pageNum = 10;
       }
       var data = JSON.parse(JSON.stringify(this.formData));
       if (this.formData.classStartTime) {
-        data.classStartTime = parseInt(data.classStartTime / 1000)
+        data.classStartTime = parseInt(data.classStartTime / 1000);
       }
       if (this.formData.classEndTime) {
-        data.classEndTime = parseInt(data.classEndTime / 1000)
+        data.classEndTime = parseInt(data.classEndTime / 1000);
       }
       this.$api
         .inquireGradegradelistUserPeriods(data)

+ 14 - 0
src/views/education/examManagement/applicationData/asPlanned.vue

@@ -425,6 +425,20 @@ export default {
       },
       // 表单
       tableSet: [
+        {
+          label: "考试机会",
+          prop1: "examNumber",
+          prop2: "expendNumber",
+          hidden: true,
+          scope: "chance",
+        },
+        {
+          label: "前培机会",
+          prop1: "doNumber",
+          prop2: "expendBefore",
+          hidden: true,
+          scope: "chance",
+        },
         {
           label: "预约状态",
           prop: "subscribeStatus",

+ 5 - 4
src/views/education/examManagement/applicationData/bulkImportPlan/newRegister.vue

@@ -464,10 +464,11 @@ export default {
       var data = JSON.parse(JSON.stringify(this.formData));
       if (this.formData.idCards) {
         data.idCards = this.formData.idCards.split("\n");
-      } else {
-        this.$message.warning("请选择学员");
-        return;
-      }
+      } 
+      // else {
+      //   this.$message.warning("请选择学员");
+      //   return;
+      // }
       const indexs = this.examLists.findIndex((item) => {
         return item.applyId == data.applyId;
       });

+ 14 - 0
src/views/education/examManagement/applicationData/cancelAppointMent/index.vue

@@ -182,6 +182,20 @@ export default {
       },
       // 表单
       tableSet: [
+        {
+          label: "考试机会",
+          prop1: "examNumber",
+          prop2: "expendNumber",
+          hidden: true,
+          scope: "chance",
+        },
+        {
+          label: "前培机会",
+          prop1: "doNumber",
+          prop2: "expendBefore",
+          hidden: true,
+          scope: "chance",
+        },
         {
           label: "预约状态",
           prop: "subscribeStatus",

+ 14 - 0
src/views/education/examManagement/applicationData/examRegistration/index.vue

@@ -228,6 +228,20 @@ export default {
       },
       // 表单
       tableSet: [
+        {
+          label: "考试机会",
+          prop1: "examNumber",
+          prop2: "expendNumber",
+          hidden: true,
+          scope: "chance",
+        },
+        {
+          label: "前培机会",
+          prop1: "doNumber",
+          prop2: "expendBefore",
+          hidden: true,
+          scope: "chance",
+        },
         {
           label: "预约状态",
           prop: "subscribeStatus",

+ 21 - 7
src/views/education/examManagement/applicationData/formerAccount/index.vue

@@ -156,11 +156,11 @@ export default {
       },
       //搜索
       formList: [
-        {
-          prop: "beforeId",
-          placeholder: "前培计划",
-          scope: "beforeLists",
-        },
+        // {
+        //   prop: "beforeId",
+        //   placeholder: "前培计划",
+        //   scope: "beforeLists",
+        // },
         {
           prop: "applyId",
           placeholder: "考试计划",
@@ -202,6 +202,20 @@ export default {
       },
       // 表单
       tableSet: [
+        {
+          label: "考试机会",
+          prop1: "examNumber",
+          prop2: "expendNumber",
+          hidden: true,
+          scope: "chance",
+        },
+        {
+          label: "前培机会",
+          prop1: "doNumber",
+          prop2: "expendBefore",
+          hidden: true,
+          scope: "chance",
+        },
         {
           label: "预约状态",
           prop: "subscribeStatus",
@@ -363,8 +377,8 @@ export default {
       peopleList: [],
     };
   },
-  async mounted() {
-    await this.getFirstOptions();
+  mounted() {
+    // await this.getFirstOptions();
     this.search();
   },
   activated() {

+ 273 - 0
src/views/education/examManagement/examArrangement/applicableProducts/beforePage.vue

@@ -0,0 +1,273 @@
+<template>
+  <div id="beforePage">
+    <el-dialog
+      @closed="loadingClose"
+      :visible.sync="dialogVisible"
+      width="610px"
+      :show-close="false"
+      :close-on-click-modal="false"
+    >
+      <div slot="title" class="hearders">
+        <div class="leftTitle">前培设置</div>
+        <div class="rightBoxs">
+          <img src="@/assets/images/Close@2x.png" alt="" @click="close" />
+        </div>
+      </div>
+      <div>
+        <el-form
+          label-position="right"
+          label-width="150px"
+          :model="listData"
+          :rules="rules"
+          ref="listData"
+        >
+          <el-form-item label="前培标题" prop="beforeName">
+            <el-input v-model="listData.beforeName"></el-input>
+          </el-form-item>
+          <el-form-item label="关联题卷" required prop="beforeStatus">
+            <el-select v-model="listData.beforeStatus" placeholder="请选择">
+              <el-option
+                v-for="item in optionsApis"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="" prop="beforeUrl" v-if="listData.beforeStatus">
+            <el-radio-group v-model="listData.beforeUrl">
+              <el-radio
+                style="margin-bottom: 10px"
+                v-for="(item, index) in radioApi"
+                :key="index"
+                :label="item.beforeUrlId"
+                >{{ item.urlName }} - {{ item.url }}</el-radio
+              >
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="学习开放时间" required>
+            <el-col :span="11">
+              <el-form-item prop="beforeStartTime">
+                <el-date-picker
+                  type="datetime"
+                  placeholder="开始日期"
+                  @change="changeEndTime(1)"
+                  v-model="listData.beforeStartTime"
+                  style="width: 100%"
+                  value-format="timestamp"
+                ></el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col class="line" style="text-align: center" :span="2">-</el-col>
+            <el-col :span="11">
+              <el-form-item prop="beforeEndTime">
+                <el-date-picker
+                  type="datetime"
+                  placeholder="结束日期"
+                  @change="changeEndTime(2)"
+                  v-model="listData.beforeEndTime"
+                  style="width: 100%"
+                  value-format="timestamp"
+                ></el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-form-item>
+        </el-form>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="close">取 消</el-button>
+        <el-button
+          type="primary"
+          :loading="disabledBtn"
+          @click="submit('listData')"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+export default {
+  data() {
+    return {
+      listData: {
+        beforeName: "",
+        beforeStatus: "",
+        beforeUrl: "",
+        beforeStartTime: "",
+        beforeEndTime: "",
+      },
+      radioApi: [],
+      dialogVisible: false,
+      disabledBtn: false,
+      optionsApis: [
+        // {
+        //   label: "内部接口",
+        //   value: 1,
+        // },
+        {
+          label: "外部接口",
+          value: 2,
+        },
+        // {
+        //   label: "关联题库资源",
+        //   value: 3,
+        // },
+      ],
+      //表单验证
+      rules: {
+        beforeName: [
+          { required: true, message: "请输入前培标题", trigger: "blur" },
+        ],
+        beforeStatus: [
+          { required: true, message: "请选中关联题卷", trigger: "change" },
+        ],
+        beforeUrl: [
+          { required: true, message: "请选择接口地址", trigger: "change" },
+        ],
+        beforeStartTime: [
+          {
+            type: "date",
+            required: true,
+            message: "请选择学习开放开始时间",
+            trigger: "change",
+          },
+        ],
+        beforeEndTime: [
+          {
+            type: "date",
+            required: true,
+            message: "请选择学习开放结束时间",
+            trigger: "change",
+          },
+        ],
+      },
+      applyId: null, //考试ID
+    };
+  },
+  watch: {
+    "listData.beforeStatus"(value) {
+      this.$api.inquiresystembeforelistUrl({ urlStatus: value }).then((res) => {
+        this.radioApi = res.rows;
+      });
+    },
+  },
+  methods: {
+    openBox(row) {
+      this.$api
+        .obtainsystemapplygetBefore(row.applyId)
+        .then((res) => {
+          if (res.data.beforeId) {
+            res.data.beforeStartTime = res.data.beforeStartTime * 1000;
+            res.data.beforeEndTime = res.data.beforeEndTime * 1000;
+            this.listData = res.data;
+          } else {
+            this.listData = {
+              beforeName: "",
+              beforeStatus: "",
+              beforeUrl: "",
+              beforeStartTime: "",
+              beforeEndTime: "",
+            };
+          }
+        })
+        .finally(() => {
+          this.dialogVisible = true;
+          this.$nextTick(() => {
+            this.$refs["listData"].clearValidate();
+          });
+        });
+      this.applyId = row.applyId;
+    },
+    // 判断选择时间逻辑
+    changeEndTime(int) {
+      if (this.listData.beforeStartTime === this.listData.beforeEndTime) {
+        this.$message.warning("开始时间与结束时间不允许相同");
+        if (int === 1) {
+          this.listData.beforeStartTime = "";
+        }
+        if (int === 2) {
+          this.listData.beforeEndTime = "";
+        }
+        return;
+      }
+      if (
+        int === 1 &&
+        this.listData.beforeEndTime &&
+        this.listData.beforeStartTime > this.listData.beforeEndTime
+      ) {
+        this.$message.warning(
+          "当前选择的开始时间大于结束时间,请重新选择开始时间!"
+        );
+        this.listData.beforeStartTime = "";
+        return;
+      }
+      if (
+        int === 2 &&
+        this.listData.beforeStartTime &&
+        this.listData.beforeEndTime < this.listData.beforeStartTime
+      ) {
+        this.$message.warning(
+          "当前选择的结束时间小于开始时间,请重新选择结束时间!"
+        );
+        this.listData.beforeEndTime = "";
+        return;
+      }
+    },
+    loadingClose() {
+      this.disabledBtn = false;
+    },
+    submit(formName) {
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          this.rulesTableSumbit();
+        } else {
+          return false;
+        }
+      });
+    },
+    rulesTableSumbit() {
+      this.disabledBtn = true;
+      var data = JSON.parse(JSON.stringify(this.listData));
+      data.beforeStartTime = this.$methodsTools.time10to13(
+        data.beforeStartTime,
+        1
+      );
+      data.beforeEndTime = this.$methodsTools.time10to13(data.beforeEndTime, 1);
+      data.status = 0;
+      data.applyId = this.applyId;
+      if (data.beforeId) {
+        this.$api
+          .editsystembefore(data)
+          .then((res) => {
+            this.$message.success("修改成功");
+            this.dialogVisible = false;
+            this.$store.commit("BEFORELIST");
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
+      } else {
+        this.$api
+          .appsystembefore(data)
+          .then((res) => {
+            this.$message.success("设置成功");
+            this.dialogVisible = false;
+            this.$store.commit("BEFORELIST");
+          })
+          .catch(() => {
+            this.disabledBtn = false;
+          });
+      }
+    },
+    close() {
+      this.dialogVisible = false;
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+</style>

+ 14 - 2
src/views/education/examManagement/examArrangement/index.vue

@@ -14,6 +14,11 @@
         >
       </template>
       <template slot="btn" slot-scope="props">
+        <el-button
+          type="text"
+          @click="beforeFunc(props.scope.row)"
+          >前培设置</el-button
+        >
         <el-button
           type="text"
           @click="addClick(props.scope.row, 0)"
@@ -429,7 +434,6 @@
         >
       </span>
     </el-dialog>
-
     <el-dialog
       :visible.sync="dialoginfoWatch"
       width="900px"
@@ -576,6 +580,7 @@
         <el-button @click="dialoginfoWatch = false">取 消</el-button>
       </span>
     </el-dialog>
+    <before-page ref="beforePage" />
     <applicable-products ref="applicableProducts" />
   </div>
 </template>
@@ -585,9 +590,10 @@ import searchBox from "@/components/searchBox";
 import tableList from "@/components/tableList";
 import pagination from "@/components/pagination";
 import applicableProducts from "./applicableProducts/index.vue";
+import beforePage from './applicableProducts/beforePage.vue';
 export default {
   name: "ExamArrangement",
-  components: { searchBox, tableList, pagination, applicableProducts },
+  components: { searchBox, tableList, pagination, applicableProducts, beforePage },
   data() {
     return {
       disabledBtn: false,
@@ -756,6 +762,12 @@ export default {
     this.getExamPlace();
   },
   methods: {
+    /**
+     * 前培设置
+     */
+    beforeFunc(row){
+      this.$refs.beforePage.openBox(row)
+    },
     setExamAdress() {
       this.$router.push({
         path: "examPlace",

+ 1 - 1
src/views/education/liveLearningManagement/liveLearningRecord/studentStyleList/curriculumDimension.vue

@@ -151,7 +151,7 @@ export default {
     moreActive() {
       let arr = JSON.parse(JSON.stringify(this.formData));
       arr.goodsId = this.id;
-      this.$api.inquireOrderGoodsexport_listLiveGoodsList(arr).then((res) => {
+      this.$api.inquireCoursestatementexport(arr).then((res) => {
         if (res.msg) {
           let url = baseUrls.baseURL + "common/download?fileName=" + res.msg;
           let link = document.createElement("a");

+ 64 - 4
src/views/education/liveLearningManagement/liveLearningRecord/studentStyleList/curriculumDimensionData/index.vue

@@ -6,7 +6,11 @@
       :formList="formList"
       @search="search"
       @init="init"
-    />
+    ><template slot="customize">
+        <el-button size="small" type="success" @click="moreActive"
+          >批量导出</el-button
+        >
+      </template></search-box-new>
     <table-list
       :tableSets="tableSet"
       :tableData="tableData"
@@ -14,7 +18,12 @@
       :loading="loading"
     >
       <template slot="btn" slot-scope="props">
-        <el-button type="text" @click="doList(props.scope.row)">详情</el-button>
+        <el-button type="text" @click="doList(props.scope.row)"
+          >观看记录</el-button
+        >
+        <el-button type="text" @click="studentInfoPage(props.scope.row)"
+          >会员详情</el-button
+        >
       </template>
     </table-list>
     <pagination
@@ -29,6 +38,7 @@
 </template>
 
 <script>
+import * as baseUrls from "@/utils/request.js";
 import searchBoxNew from "@/components/searchBoxNew";
 import tableList from "@/components/tableList";
 import pagination from "@/components/pagination";
@@ -72,11 +82,11 @@ export default {
           options: [
             {
               label: "已开课",
-              value: "1"
+              value: "1",
             },
             {
               label: "未开课",
-              value: "0"
+              value: "0",
             },
           ],
         },
@@ -151,6 +161,56 @@ export default {
     this.search();
   },
   methods: {
+    moreActive() {
+      let arr = JSON.parse(JSON.stringify(this.formData));
+      arr.goodsId = this.goodsId;
+      arr.sectionId = this.sectionId;
+      this.$api.inquireCoursestatementstatisticsexport(arr).then((res) => {
+        if (res.msg) {
+          let url = baseUrls.baseURL + "common/download?fileName=" + res.msg;
+          let link = document.createElement("a");
+          let fileName = "导出直播数据" + ".xlsx";
+          document.body.appendChild(link);
+          link.href = url;
+          link.dowmload = fileName;
+          link.click();
+          link.remove();
+          this.$message.success("导出成功");
+        } else {
+          this.$message.error("导出失败");
+        }
+      });
+    },
+    /**
+     * 会员详情页
+     */
+    studentInfoPage(v) {
+      const jump = () => {
+        //学员详情
+        this.$router.push({
+          name: "StudentXQ",
+          query: {
+            id: v.userId,
+          },
+        });
+      };
+      const statusPage = this.$store.state.tagsView.visitedViews.some(
+        (item) => {
+          return item.name == "StudentXQ";
+        }
+      );
+      if (statusPage) {
+        this.$store
+          .dispatch("tagsView/delCachedView", {
+            name: "StudentXQ",
+          })
+          .then((res) => {
+            jump();
+          });
+      } else {
+        jump();
+      }
+    },
     /**
      * 查看详情
      */

+ 1 - 4
src/views/education/liveLearningManagement/liveLearningRecord/studentStyleList/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div id="liveLearningRecord">
-    <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
+    <el-tabs v-model="activeName" type="card">
       <el-tab-pane lazy label="课程维度" name="first">
         <curriculumDimension />
       </el-tab-pane>
@@ -22,9 +22,6 @@ export default {
     };
   },
   methods: {
-    handleClick(tab, event) {
-      console.log(tab, event);
-    },
   },
 };
 </script>

+ 2 - 2
src/views/education/studentManageMent/studentXQ/accesslog.vue

@@ -64,9 +64,9 @@
             <template slot-scope="scope">
               <span v-if="item.scope === 'fromPlatType'">
                 {{
-                  scope.row[item.prop] === 1
+                  scope.row[item.prop] == 1
                     ? "小程序"
-                    : scope.row[item.prop] === 2
+                    : scope.row[item.prop] == 2
                     ? "PC网站"
                     : "未知"
                 }}

+ 2 - 2
src/views/education/studentManageMent/studentXQ/studylog.vue

@@ -64,9 +64,9 @@
             <template slot-scope="scope">
               <span v-if="item.scope === 'fromPlatType'">
                 {{
-                  scope.row[item.prop] === 1
+                  scope.row[item.prop] == 1
                     ? "小程序"
-                    : scope.row[item.prop] === 2
+                    : scope.row[item.prop] == 2
                     ? "PC网站"
                     : "未知"
                 }}

+ 40 - 2
src/views/resource/baseManageInfos/resource/businessLevel/index.vue

@@ -410,6 +410,36 @@ export default {
           scope: "numType",
           ch: "年",
         },
+        {
+          label: "学习审核类型",
+          prop: "periodType",
+          scope: "status",
+          options: [
+            {
+              label: "人工审核",
+              value: 1,
+            },
+            {
+              label: "自动审核",
+              value: 2,
+            },
+          ],
+        },
+        {
+          label: "学习审核层级",
+          prop: "periodNumber",
+          scope: "status",
+          options: [
+            {
+              label: "初审",
+              value: 1,
+            },
+            {
+              label: "初审+复审",
+              value: 2,
+            },
+          ],
+        },
         {
           label: "状态",
           prop: "status",
@@ -467,6 +497,12 @@ export default {
         ],
         sort: [{ required: true, message: "请输入排序", trigger: "blur" }],
         schoolYear: [{ required: false, message: "学年不能为空" }],
+        periodType: [
+          { required: true, message: "请选择学时审核类型", trigger: "change" },
+        ],
+        periodNumber: [
+          { required: true, message: "请选择学时审核层级", trigger: "change" },
+        ],
         status: [{ required: true, message: "请选择状态", trigger: "change" }],
       },
       dialogVisibleSet: false,
@@ -499,7 +535,7 @@ export default {
             }
           }
         },
-        inputValue:item.aliasName,
+        inputValue: item.aliasName,
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         beforeClose: (action, instance, done) => {
@@ -510,7 +546,7 @@ export default {
               done();
               this.$store.commit("BUSINESSLEVEL");
               this.search();
-            })
+            });
           } else {
             done();
           }
@@ -762,6 +798,8 @@ export default {
         this.statusPop = 1;
         this.listData = {
           status: 1,
+          periodType: 1,
+          periodNumber: 2,
         };
       } else {
         this.statusPop = int;