Administrator
2021-09-07 48b49cd019d36c36a88f5104aa2b7b6f14a21e15
考试申请,列表修改
4 files modified
190 ■■■■ changed files
src/api/examapi/applyexam.js 10 ●●●● patch | view | raw | blame | history
src/views/applydetailed/index.vue 1 ●●●● patch | view | raw | blame | history
src/views/applyexam/index.vue 177 ●●●● patch | view | raw | blame | history
src/views/trainingRegistration/index.vue 2 ●●● patch | view | raw | blame | history
src/api/examapi/applyexam.js
@@ -60,17 +60,11 @@
    })
}
export const addExam = (ids, examTime, startTime, number, endTime) => {
export const addExam = (params) => {
    return request({
        url: '/api/apply/batchExam',
        method: 'post',
        params: {
            ids,
            examTime,
            startTime,
            number,
            endTime
        }
        data: params
    })
}
src/views/applydetailed/index.vue
@@ -538,6 +538,7 @@
    questionBankOnLoad(page, params = {}) {
      // debugger;
      params["examId"] = this.$route.query.id;
      // params["applyStatus"] = 2;
      this.questionBankLoading = false;
      getApplyList(
        page.currentPage,
src/views/applyexam/index.vue
@@ -180,6 +180,7 @@
} from "@/api/examapi/applyexam";
import { mapState } from "vuex";
import { mapGetters } from "vuex";
import { getRoleDetail } from "@/api/system/role";
var DIC = {
  applyStatus: [
    {
@@ -302,7 +303,7 @@
            label: "考试人数",
            prop: "number",
            type: 'number',
            span: 6,
            span: 12,
            precision:0,
            step:50,
            mock:{
@@ -321,7 +322,50 @@
            minRows: 0,
            maxRows: 1000,
            value:50,
            row:true,
          },
          {
            label: "序号开始",
            prop: "serialStart",
            span: 6,
            value:1,
            mock:{
              type:'number',
              max:1000,
              min:1,
              precision:0
            },
            minRows: 1,
            maxRows: 1000,
            type:"number",
            rules: [
              {
                required: true,
                message: "请输入序号",
                trigger: "blur",
              },
            ],
          },
          {
            label: "序号结束",
            prop: "serialEnd",
            span: 6,
            value:50,
            mock:{
              type:'number',
              max:1000,
              min:1,
              precision:0
            },
            minRows: 1,
            maxRows: 1000,
            type:"number",
            rules: [
              {
                required: true,
                message: "请输入序号",
                trigger: "blur",
              },
            ],
          },
          {
            label: "考试时间",
@@ -329,8 +373,6 @@
            type: "datetime",
            format: "yyyy-MM-dd HH:mm",
            valueFormat: "yyyy-MM-dd HH:mm",
            startPlaceholder: "考试开始时间",
            endPlaceholder: "考试结束时间",
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
@@ -350,7 +392,34 @@
                trigger: "blur",
              },
            ],
            span: 24,
            span: 12,
          },
          {
            label: "截止时间",
            prop: "endTime",
            type: "datetime",
            format: "yyyy-MM-dd HH:mm",
            valueFormat: "yyyy-MM-dd HH:mm",
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
            addDisplay: true,
            // 表单新增时是否为查看模式
            addDetail: false,
            // 表单编辑时是否禁止
            editDisabled: false,
            // 表单编辑时是否可见
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            rules: [
              {
                required: true,
                message: "请选择考试时间",
                trigger: "blur",
              },
            ],
            span: 12,
          },
        ],
      },
@@ -731,6 +800,34 @@
          //   overHidden: true,
          //   width: 150,
          // },
          //   {
          //     label: "报名状态",
          //     search: true,
          //     type: "select",
          //     searchSpan: 4,
          //     prop: "applyStatus",
          //     searchValue: 2,
          //     dicData: [{
          //             label: '全部',
          //             value: 0,
          //         },
          //         {
          //             label: '已报名',
          //             value: 2,
          //         },
          //         {
          //             label: '已取消',
          //             value: 4,
          //         }
          //     ],
          //     props: {
          //         label: "label",
          //         value: "value"
          //     },
          //     editDisplay: false,
          //     addDisplay: false,
          //     width: 100,
          // },
        ],
      },
      questionBankSearch: {},
@@ -776,6 +873,8 @@
    if (this.userInfo.role_name.indexOf("ksxtadmin") != -1) {
      this.examPersission = true;
    }
    this.questionBankSearch['applyStatus'] = 2;
  },
  mounted() {},
  computed: {
@@ -810,19 +909,36 @@
      });
    },
    questionBankOnLoad(page, params = {}) {
      params = this.questionBankSearch;
      this.questionBankLoading = false;
      params["applyStatus"] = 1;
      getApplyList(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.questionBankQuery)
      ).then((res) => {
        const data = res.data.data;
        this.questionBankPage.total = data.total;
        this.questionBankData = data.records;
        this.questionBankLoading = false;
        this.questionBankSelectionClear();
      });
      this.loading = true;
      //判断角色,如果是保安公司管理员或保安,只能查看当前公司的报名信息
      var that = this;
      //获取当前登录人员的角色信息
      var roleIds = this.userInfo.role_id.split(",");
      roleIds.forEach((roleId) => {
        getRoleDetail(roleId).then((res) => {
            var roleAlias = res.data.data.roleAlias;
            if (
              roleAlias == "保安公司管理员" ||
              roleAlias == "保安"
            ) {
              //如果是保安公司管理员
              params["deptId"] = that.userInfo.dept_id;
            }
            getApplyList(
              page.currentPage,
              page.pageSize,
              Object.assign(params, this.questionBankQuery)
            ).then((res) => {
              const data = res.data.data;
              this.questionBankPage.total = data.total;
              this.questionBankData = data.records;
              this.questionBankLoading = false;
              this.questionBankSelectionClear();
            });
          })
      })
    },
    questionBankSelectionClear() {
      this.questionBankSelectionList = [];
@@ -893,11 +1009,28 @@
    //生成考试
    submitExamApply(row, done, loading) {
      var that = this;
      var startTime = row.startTime + ":00";
      // var endTime = row.examTime[1];
      // var examTime = JSON.stringify(row.examTime);
      // console.log(this.ids,111);
      addExam(this.ids, null, startTime,row.number, null).then(
      row.startTime = row.startTime + ":00";
      row.endTime = row.endTime + ":00";
      if(row.number!=((row.serialEnd-row.serialStart)+1)){
          this.$message({
            type: "error",
            message: "考试人数与序号不匹配!",
          });
         done();
         return;
      }
      var s = new Date(row.startTime);
      var e = new Date(row.endTime);
      if(s>e){
        this.$message({
            type: "error",
            message: "截止时间不能早于考试考试开始时间!",
          });
         done();
         return;
      }
      addExam(Object.assign(row, this.questionBankSearch)).then(
        () => {
          this.questionBankOnLoad(this.questionBankPage);
          this.$message({
src/views/trainingRegistration/index.vue
@@ -585,7 +585,7 @@
      if(row.number!=((row.serialEnd-row.serialStart)+1)){
          this.$message({
            type: "error",
            message: "考试人数也序号不匹配!",
            message: "考试人数与序号不匹配!",
          });
         done();
         return;