liuyg
2021-09-24 c4e67a8942e514b65ab41bb19781d50576c15725
src/views/trainExam/performance.vue
@@ -38,7 +38,7 @@
              {{ row.allGrade == -1 ? "" : row.allGrade }}
            </template>
            <template slot-scope="{ row }" slot="qualified">
              {{ row.qualified == -1 ? "" : row.qualified==0?"合格":row.qualified==1?"不合格":'' }}
              {{ row.qualified == -1 ? "" : row.qualified==0?"合格":row.qualified==1?"不合格":row.qualified==3?"缺考,成绩无效":'' }}
            </template>
            <!-- 自定义按钮 -->
@@ -64,6 +64,16 @@
                @click="handleImport"
                >实操成绩导入
              </el-button>
            </template>
            <template slot-scope="{ type, size, row }" slot="menu">
                <el-button
                  icon="el-icon-s-flag"
                  @click="absent(row)"
                  :size="size"
                  :type="type"
                  >缺考标记</el-button
                >
            </template>
          </avue-crud>
@@ -92,8 +102,9 @@
</template>
<script>
import { getList, update } from "@/api/examapi/performance";
import { getList, update,updateAbsent } from "@/api/examapi/performance";
import { mapGetters } from "vuex";
import { getRoleDetail } from "@/api/system/role";
export default {
  data() {
    var validatePass = (rule, value, callback) => {
@@ -150,7 +161,7 @@
            search: true,
            searchSpan: 4,
            slot: true,
            viewDisplay:false,
            viewDisplay:true,
            // 表单新增时是否禁止
            addDisabled: false,
            // 表单新增时是否可见
@@ -158,9 +169,10 @@
            // 表单新增时是否为查看模式
            addDetail: false,
            // 表单编辑时是否禁止
            editDisabled: false,
            editDisabled: true,
            viewDisabled: true,
            // 表单编辑时是否可见
            editDisplay: false,
            editDisplay: true,
            // 表单编辑时是否为查看模式
            editDetail: false,
            rules: [
@@ -170,7 +182,8 @@
                trigger: "blur",
              },
            ],
            overHidden:true,
            width:250,
            // overHidden:true,
          },
          {
            label: "用户名",
@@ -197,6 +210,7 @@
                trigger: "blur",
              },
            ],
             width:160,
          },
          {
            label: "所属公司",
@@ -228,6 +242,7 @@
                trigger: "blur",
              },
            ],
            width:230,
          },
          {
            label: "考试开始时间",
@@ -389,6 +404,10 @@
                label: "暂未录实操成绩",
                value: 2,
              },
              {
                label: "缺考,成绩无效",
                value: 3,
              },
            ],
            // 表单新增时是否禁止
            addDisabled: false,
@@ -492,18 +511,65 @@
  },
  methods: {
    questionBankOnLoad(page, params = {}) {
      this.questionBankLoading = false;
      params["examType"] = 2;
      getList(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
      ).then((res) => {
        const data = res.data.data;
        this.questionBankPage.total = data.total;
        this.questionBankData = data.records;
        this.questionBankLoading = false;
        this.questionBankSelectionClear();
      //判断角色,如果是保安公司管理员或保安,只能查看当前公司的考试成绩
      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;
            }
            if (
              roleAlias == "培训公司管理员"
            ) {
              //如果是培训公司管理员
              params["trainUnitId"] = that.userInfo.dept_id;
            }
            that.questionBankLoading = false;
            params["examType"] = 2;
            getList(
              page.currentPage,
              page.pageSize,
              Object.assign(params, this.query)
            ).then((res) => {
              const data = res.data.data;
              that.questionBankPage.total = data.total;
              that.questionBankData = data.records;
              that.questionBankLoading = false;
              that.questionBankSelectionClear();
            });
        })
      });
    },
    //缺考标记
    absent(row, done, loading) {
      this.$confirm("确定缺考标记?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      }).then(() => {
        row.qualified = 3;
        updateAbsent(row).then(
          () => {
            this.onLoad(this.page);
            this.$message({
              type: "success",
              message: "操作成功!",
            });
            done();
          },
          (error) => {
            window.console.log(error);
            loading();
          }
        );
      });
    },
    questionBankSelectionClear() {