Administrator
2022-01-12 21c7375b7b38ebf2c8a2ca8fbf6fe9fb4f28250f
src/views/securityGuard/securityGuard.vue
@@ -438,10 +438,12 @@
  getUserPractitionersInfo,
  updatePaperTime,
  getzhiwen, //指纹
  checkAccountByUser,
} from "@/api/system/user";
import { securityApply } from "@/api/accreditationRecords/accreditationRecords";
import { getList } from "@/api/securityGuard/securityGuard";
import { getDeptLazyTree } from "@/api/system/dept";
import { getInformationDetails } from "@/api/securityUnit/securityUnit";
import { getRoleTree, getRoleDetail } from "@/api/system/role";
import { mapGetters } from "vuex";
import website from "@/config/website";
@@ -534,6 +536,35 @@
    function trim(str) {
      return str.replace(/(^\s*)|(\s*$)/g, "");
    }
    /**
     * 身份证号码账号校验
     */
    let useBack = "";
    function checkAccount(idCard, callback) {
      var data = {
        cardid: idCard,
      };
      if (window.deptIdss) {
        data["deptId"] = window.deptIdss;
      }
      //调用接口校验
      if (useBack != idCard) {
        useBack = idCard;
        checkAccountByUser(data)
          .then((res) => {
            useBack = "ok";
            callback();
          })
          .catch((error) => {
            callback("当前身份证号码已录入!");
          });
      } else if (useBack == "ok") {
        callback();
      } else {
        console.log("cf");
        callback(new Error("当前身份证号码已录入!"));
      }
    }
    const validatePassCardid = (rule, value, callback) => {
      let ok = false;
      if (value.length == 18) {
@@ -553,7 +584,15 @@
      }
      if (ok) {
        callback();
        // console.log(this.nowCell,123456);
        if(this.type==1 || this.nowCell==2){
          //修改不校验身份证hao
          callback();
        }else{
          //调用接口进行账户重复校验
          checkAccount(value, callback);
        }
      } else {
        callback(new Error("身份证错误"));
      }
@@ -612,6 +651,7 @@
    // let optionHeight = +this.windowHeight - (+heard[0].clientHeight + +usNum);
    return {
      sort: "",
      type:2,
      sortName: "",
      nowCell: "", //空为手动,2为身份证设备读取
      // 表格数据
@@ -758,6 +798,7 @@
        },
      },
      choiceList: [],
      deptIdss: "",
      option: {
        searchIndex: 5, //收缩展示数量
        searchIcon: true, //搜索是否收缩
@@ -779,6 +820,7 @@
        },
        indexWidth: 55,
        searchMenuSpan: 6,
        stripe: true,
        border: true,
        delBtn: true,
@@ -1017,19 +1059,12 @@
                  },
                ],
              },
              // {
              //   label: "发证日期",
              //   prop: "paperTime",
              //   hide: true,
              //   type: "date",
              //   format: "yyyy-MM-dd",
              //   valueFormat: "yyyy-MM-dd",
              // },
              {
                label: "保安证书照片",
                prop: "email",
                type: "upload",
                listType: "picture-img",
                display: true,
                propsHttp: {
                  res: "data",
                  url: "url",
@@ -1042,10 +1077,6 @@
                tip: "上传jpg,png格式图片,大小不超过2M",
                span: 12,
              },
              // {
              //     label: "籍贯",
              //     prop: "nativeplace",
              // },
              {
                label: "民族",
                prop: "nation",
@@ -1359,12 +1390,21 @@
        this.initData(this.form.tenantId);
      }
    },
    "form.deptId": {
      handler(val) {
        if (val) {
          window.deptIdss = val;
        }
      },
      immediate: true,
    },
    "form.hold": {
      handler(val) {
        var securitynumbercolumn = this.findObject(
          this.option.group,
          "securitynumber"
        );
        var emailcolumn = this.findObject(this.option.group, "email");
        // console.log(val,1234);
        if (val == 1) {
          securitynumbercolumn.display = true;
@@ -1375,6 +1415,7 @@
              trigger: "blur",
            },
          ];
          emailcolumn.display = true;
        } else {
          securitynumbercolumn.display = false;
          securitynumbercolumn.rules = [
@@ -1384,6 +1425,7 @@
              trigger: "blur",
            },
          ];
          emailcolumn.display = false;
        }
      },
      immediate: true,
@@ -1862,11 +1904,18 @@
      };
      updatePaperTime(data);
    },
    rowClickSelf(row) {
      this.$router.push({
        path: "/securityUnitChild",
        query: { fromSecunityGuardId: row },
      });
    rowClickSelf(deptId) {
      var data = {
        departmentid:deptId
      }
      getInformationDetails(data).then((res) => {
        var obj = res.data.data;
        var data = JSON.stringify(obj);
        this.$router.push({
          path: "/securityUnitChild",
          query: { data: data },
        });
      })
    },
    nodeClick(data) {
      this.treeDeptId = data.id;
@@ -2479,6 +2528,12 @@
      var that = this;
      // console.log(type, 123);
      this.beginSFZ();
      if (["edit"].includes(type)) {
        this.type = 1;
      }
      if (["add"].includes(type)) {
        this.type = 2;
      }
      if (["edit", "view"].includes(type)) {
        getUser(this.form.id).then((res) => {
          this.form = res.data.data;
@@ -2734,25 +2789,29 @@
    //照片上传拦截
    uploadBefore(file, done, loading, column) {
      //如果你想修改file文件,由于上传的file是只读文件,必须复制新的file才可以修改名字,完后赋值到done函数里,如果不修改的话直接写done()即可
      if (file.type.indexOf("image/") == -1) {
        MessageBox.alert(
          "上传图片格式错误,请上传图片类型,如:JPG,PNG后缀的文件。"
        );
        loading();
        return false;
      }
      let data = window.URL.createObjectURL(new Blob([file]));
      this.filename = file;
      this.option.img = data;
      //判断文件大小
      const isLt1M = file.size >= 30 * 1024 && file.size <= 500 * 1024;
      if (!isLt1M) {
        MessageBox.alert("上传图片大小必须大于30KB,且小于500KB!");
        loading();
        return false;
      //判断角色
      if (this.userInfo.role_name != "administrator") {
        if (file.type.indexOf("image/") == -1) {
          MessageBox.alert(
            "上传图片格式错误,请上传图片类型,如:JPG,PNG后缀的文件。"
          );
          loading();
          return false;
        }
        let data = window.URL.createObjectURL(new Blob([file]));
        this.filename = file;
        this.option.img = data;
        //判断文件大小
        const isLt1M = file.size >= 30 * 1024 && file.size <= 500 * 1024;
        if (!isLt1M) {
          MessageBox.alert("上传图片大小必须大于30KB,且小于500KB!");
          loading();
          return false;
        }
        done();
        return isLt1M;
      }
      done();
      return isLt1M;
    },
  },
};