钟日健
2022-02-08 2c461eb9efb980d55dfd7407ee70088fc90a4a7a
src/views/securityGuard/securityGuard.vue
@@ -16,10 +16,12 @@
    <el-col :span="24">
      <basic-container
        :class="[
          $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '',
          $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
        ]"
      >
        <avue-crud
          class="tablesss"
          :key="option.height"
          :option="option"
          :search.sync="search"
          :table-loading="loading"
@@ -33,6 +35,7 @@
          @row-update="rowUpdate"
          :before-open="beforeOpen"
          :page.sync="page"
          @sort-change="sortChange"
          @search-change="searchChange"
          @search-reset="searchReset"
          @selection-change="selectionChange"
@@ -40,6 +43,7 @@
          @size-change="sizeChange"
          @refresh-change="refreshChange"
          @on-load="onLoad"
          :upload-before="uploadBefore"
          :defaults.sync="defaults"
          :before-close="beforeClose"
        >
@@ -166,7 +170,7 @@
              :type="type"
              v-if="permission.securityGuard_delete && row.status != 2"
              @click.stop="rowStatus(row)"
              >离职登记
              >离职
            </el-button>
            <el-button
              icon="el-icon-edit"
@@ -394,17 +398,27 @@
      </basic-container>
    </el-col>
    <div
      v-show="haveSEL == 'noDrive'"
      :class="[
        'downSFZ',
        $store.state.control.windowWidth >= 1024
          ? 'downSFZqudong'
          : 'downSFZqudongS',
          : 'downSFZqudongS'
      ]"
    >
      <a
        href="http://223.82.109.183:2081/zhba/upload/20211201/64d8b76f3aecae93e18d015bbca89aba.rar"
        >未安装身份证驱动,点击下载</a
      <el-checkbox v-model="radio" :disabled="SFZloding"
        >使用身份证设备</el-checkbox
      >
      <el-button
        type="text"
        v-show="haveSEL == 'noDrive' || haveSEL == 'noEquipment'"
        @click="SFZopens"
        :loading="SFZloding"
        >{{ sfzButTitle }}</el-button
      >
      <!-- <div style="font-size: 14px">连接身份证设备失败</div> -->
      <!-- v-show="haveSEL == 'noDrive'" -->
      <!-- href="http://223.82.109.183:2081/zhba/upload/20211201/64d8b76f3aecae93e18d015bbca89aba.rar" -->
      <!-- <a href="javascript;">未安装身份证驱动,点击下载</a> -->
    </div>
  </el-row>
</template>
@@ -418,31 +432,28 @@
  remove,
  update,
  updatePlatform,
  add,
  securitySave,
  grant,
  resetPassword,
  getUserPractitionersInfo,
  updatePaperTime,
  saveOrUpdateUserPractitionersInfo,
  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 { getPostList } from "@/api/system/post";
import { mapGetters } from "vuex";
import website from "@/config/website";
import { getToken } from "@/util/auth";
import { securityFormPageColumn } from "./data";
import { mapState } from "vuex";
import Qs from "qs";
import { MessageBox } from "element-ui";
//加载指纹类
import Client from "./Client";
import doneVue from "../work/done.vue";
// import func from "vue-editor-bridge";
export default {
  data() {
@@ -478,45 +489,150 @@
      oldm,
      oldd,
      ok = false;
    const validatePassCardid = (rule, value, callback) => {
      // console.log(oldy, oldm, oldd, year - oldy, mouth, day);
      var test =
        /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
      if (!test.test(value)) {
        callback(new Error("请输入正确身份证号码"));
      } else {
        // //加入校验18岁到60岁的
        // oldy = +value.slice(6, 10);
        // oldm = +value.slice(10, 12);
        // oldd = +value.slice(12, 14);
        // ok =
        //   year - oldy < 18 || year - oldy > 60
        //     ? false
        //     : year - oldy == 18
        //     ? mouth < oldm
        //       ? false
        //       : mouth > oldm
        //       ? true
        //       : day < oldd
        //       ? false
        //       : true
        //     : year - oldy == 60
        //     ? mouth < oldm
        //       ? true
        //       : mouth > oldm
        //       ? false
        //       : day <= oldd
        //       ? false
        //       : true
        //     : true;
        // if (ok) {
        callback();
        // } else {
        //   // callback(new Error("根据国家要求,需在18岁至60岁"));
        //   callback(new Error("年龄不符"));
        // }
    var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1]; // 加权因子
    var ValideCode = [1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2]; // 身份证验证位值.10代表X
    /**
     * 判断身份证号码为18位时最后的验证位是否正确
     * @param a_idCard 身份证号码数组
     * @return
     */
    function isTrueValidateCodeBy18IdCard(a_idCard) {
      var sum = 0; // 声明加权求和变量
      if (a_idCard[17].toLowerCase() == "x") {
        a_idCard[17] = 10; // 将最后位为x的验证码替换为10方便后续操作
      }
      for (var i = 0; i < 17; i++) {
        sum += Wi[i] * a_idCard[i]; // 加权求和
      }
      let valCodePosition = sum % 11; // 得到验证码所位置
      if (a_idCard[17] == ValideCode[valCodePosition]) {
        return true;
      } else {
        return false;
      }
    }
    /**
     * 验证18位数身份证号码中的生日是否是有效生日
     * @param idCard 18位书身份证字符串
     * @return
     */
    function isValidityBrithBy18IdCard(idCard18) {
      var year = idCard18.substring(6, 10);
      var month = idCard18.substring(10, 12);
      var day = idCard18.substring(12, 14);
      var temp_date = new Date(year, parseFloat(month) - 1, parseFloat(day));
      // 这里用getFullYear()获取年份,避免千年虫问题
      if (
        temp_date.getFullYear() != parseFloat(year) ||
        temp_date.getMonth() != parseFloat(month) - 1 ||
        temp_date.getDate() != parseFloat(day)
      ) {
        return false;
      } else {
        return true;
      }
    }
    //去掉字符串头尾空格
    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) {
        let idCard = trim(value.replace(/ /g, ""));
        var a_idCard = idCard.split("");
        if (
          isValidityBrithBy18IdCard(idCard) &&
          isTrueValidateCodeBy18IdCard(a_idCard)
        ) {
          //进行18位身份证的基本验证和第18位的验证
          ok = true;
        } else {
          ok = false;
        }
      } else {
        ok = false;
      }
      if (ok) {
        // console.log(this.nowCell,123456);
        if (this.type == 1 || this.nowCell == 2) {
          //修改不校验身份证hao
          callback();
        } else {
          //调用接口进行账户重复校验
          checkAccount(value, callback);
        }
      } else {
        callback(new Error("身份证错误"));
      }
      // console.log(oldy, oldm, oldd, year - oldy, mouth, day);
      // var test =
      //   /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
      // if (!test.test(value)) {
      //   callback(new Error("请输入正确身份证号码"));
      // } else {
      //   // //加入校验18岁到60岁的
      //   // oldy = +value.slice(6, 10);
      //   // oldm = +value.slice(10, 12);
      //   // oldd = +value.slice(12, 14);
      //   // ok =
      //   //   year - oldy < 18 || year - oldy > 60
      //   //     ? false
      //   //     : year - oldy == 18
      //   //     ? mouth < oldm
      //   //       ? false
      //   //       : mouth > oldm
      //   //       ? true
      //   //       : day < oldd
      //   //       ? false
      //   //       : true
      //   //     : year - oldy == 60
      //   //     ? mouth < oldm
      //   //       ? true
      //   //       : mouth > oldm
      //   //       ? false
      //   //       : day <= oldd
      //   //       ? false
      //   //       : true
      //   //     : true;
      //   // if (ok) {
      //   callback();
      //   // } else {
      //   //   // callback(new Error("根据国家要求,需在18岁至60岁"));
      //   //   callback(new Error("年龄不符"));
      // }
      // }
    };
    const validatePassPhone = (rule, value, callback) => {
      var test = /^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$/g;
@@ -526,15 +642,27 @@
        callback();
      }
    };
    // let table = document.getElementsByClassName("tablesss");
    // let heard = table[0].getElementsByClassName("avue-crud__search");
    // let usNum =
    //   this.windowWidth <= 1376 && this.windowHeight <= 778 ? 170 : 332;
    // // that.option.height = +h - (+heard[0].clientHeight + 332);
    // let optionHeight = +this.windowHeight - (+heard[0].clientHeight + +usNum);
    return {
      sort: "",
      type: 2,
      sortName: "",
      nowCell: "", //空为手动,2为身份证设备读取
      // 表格数据
      defaults: {},
      // 身份证设备数据
      SFZloding: false,
      sfzButTitle: "",
      radio: false, //选择状态
      haveSEL: "", //设备状态
      cardShebei: "",
      intTime: "", //自动获取身份证;
      haveCardid: true, //读卡开关
      haveCardid: false, //读卡开关
      // 指纹数据
      isopen: false, //识别是否需要传指纹进去(解决异步传递后指纹DOM不存在的问题)
      zhiwenImg: "",
@@ -553,7 +681,7 @@
        realName: "",
        securitynumber: "",
        cardid: "",
        registered: "",
        registered: ""
      },
      securityid: "",
      excelBox1: false,
@@ -572,18 +700,18 @@
            loadText: "文件上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 .xls,.xlsx 标准格式文件",
            action: "/api/blade-user/import-security?deptId=" + this.deptIds,
            action: "/api/blade-user/import-security?deptId=" + this.deptIds
          },
          {
            label: "模板下载",
            prop: "excelTemplate",
            formslot: true,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      excelForm2: {},
      excelOption2: {
@@ -598,12 +726,12 @@
            loadText: "文件上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 zip 压缩文件,照片文件名以身份证号码命名",
            action: "/api/blade-resource/oss/endpoint/put-file-zip",
          },
        ],
            action: "/api/blade-resource/oss/endpoint/put-file-zip"
          }
        ]
      },
      form: {},
      search: {},
@@ -619,7 +747,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      roleId: "1412226235153731586",
      deptId: "1413470343230877697",
@@ -628,15 +756,15 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
        ...this.$store.state.control.changePageSize
      },
      init: {
        roleTree: [],
        deptTree: [],
        deptTree: []
      },
      props: {
        label: "title",
        value: "key",
        value: "key"
      },
      roleGrantList: [],
      roleTreeObj: [],
@@ -645,14 +773,14 @@
      treeOption: {
        nodeKey: "id",
        lazy: true,
        treeLoad: function (node, resolve) {
        treeLoad: function(node, resolve) {
          const parentId = node.level === 0 ? 0 : node.data.id;
          getDeptLazyTree(parentId).then((res) => {
          getDeptLazyTree(parentId).then(res => {
            resolve(
              res.data.data.map((item) => {
              res.data.data.map(item => {
                return {
                  ...item,
                  leaf: !item.hasChildren,
                  leaf: !item.hasChildren
                };
              })
            );
@@ -665,17 +793,20 @@
          labelText: "标题",
          label: "title",
          value: "value",
          children: "children",
        },
          children: "children"
        }
      },
      choiceList: [],
      deptIdss: "",
      option: {
        searchIndex: 6, //收缩展示数量
        searchIcon: true, //搜索是否收缩
        height: "auto",
        calcHeight: 80,
        tip: true,
        searchShow: true,
        reserveSelection: true,
        selectable: (row) => {
        selectable: row => {
          if (
            row.hold !== "1" ||
            row.securitynumber == null ||
@@ -694,7 +825,7 @@
        align: "center",
        index: true,
        delBtnText: "注销",
        menuWidth: 327,
        menuWidth: 280,
        selection: true,
        viewBtn: true,
        defaultExpandAll: true,
@@ -718,16 +849,16 @@
                // dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
                props: {
                  label: "title",
                  value: "id",
                  value: "id"
                },
                // disabled: true,
                rules: [
                  {
                    required: true,
                    message: "请选择保安公司",
                    trigger: "blur",
                  },
                ],
                    trigger: "blur"
                  }
                ]
              },
              {
                label: "姓名",
@@ -737,15 +868,15 @@
                  {
                    required: true,
                    message: "请输入姓名",
                    trigger: "blur",
                    trigger: "blur"
                  },
                  {
                    min: 2,
                    max: 5,
                    message: "姓名长度在2到5个字符",
                  },
                ],
              },
                    message: "姓名长度在2到5个字符"
                  }
                ]
              }
              // {
              //   label: "登录账号",
              //   prop: "account",
@@ -781,7 +912,7 @@
              //     { required: true, validator: validatePass2, trigger: "blur" },
              //   ],
              // },
            ],
            ]
          },
          {
            label: "详细信息",
@@ -798,14 +929,14 @@
                  {
                    required: true,
                    message: "请输入身份证号",
                    trigger: "blur",
                    trigger: "blur"
                  },
                  {
                    required: true,
                    validator: validatePassCardid,
                    trigger: "blur",
                  },
                ],
                    trigger: "blur"
                  }
                ]
              },
              {
                label: "手机号码",
@@ -815,14 +946,14 @@
                  {
                    required: true,
                    message: "请输入手机号",
                    trigger: "blur",
                    trigger: "blur"
                  },
                  {
                    required: true,
                    validator: validatePassPhone,
                    trigger: "blur",
                  },
                ],
                    trigger: "blur"
                  }
                ]
              },
              // {
              //   label: "昵称",
@@ -834,17 +965,18 @@
                listType: "picture-img",
                propsHttp: {
                  res: "data",
                  url: "url",
                  url: "url"
                },
                canvasOption: {
                  text: " ",
                  ratio: 0.1,
                  ratio: 1.0
                },
                action: "/api/blade-resource/oss/endpoint/put-files",
                tip: "上传身份证一寸近期彩色正面免冠图象, (358像素(宽) × 441像素(高)、分辨率350dpi)且不超过500kb",
                tip:
                  "上传近期一寸彩色正面免冠图象, (358像素(宽) × 441像素(高)、分辨率350dpi)且不小于30kb,不超过500kb",
                span: 12,
                // row: true,
                prop: "avatar",
                prop: "avatar"
              },
              {
                label: "指纹信息",
@@ -862,7 +994,7 @@
                // tip: "只能上传jpg/png指纹信息,且不超过500kb",
                span: 12,
                // row: true,
                prop: "fingerprint",
                prop: "fingerprint"
              },
              //   {
              //     label: "指纹信息",
@@ -894,49 +1026,59 @@
                dicData: [
                  {
                    label: "是",
                    value: "1",
                    value: "1"
                  },
                  {
                    label: "否",
                    value: "2",
                    value: "2"
                  },
                  {
                    label: "已吊销",
                    value: "3",
                  },
                    value: "3"
                  }
                ],
                rules: [
                  {
                    required: true,
                    message: "请选择",
                    trigger: "blur",
                  },
                ],
                    message: "请选择是否有持证",
                    trigger: "blur"
                  }
                ]
              },
              {
                label: "保安员证编号",
                prop: "securitynumber",
                hide: true,
                display: true,
                rules: [
                  {
                    required: false,
                    message: "请输入保安员证编号",
                    trigger: "blur"
                  }
                ]
              },
              // {
              //   label: "发证日期",
              //   prop: "paperTime",
              //   hide: true,
              //   type: "date",
              //   format: "yyyy-MM-dd",
              //   valueFormat: "yyyy-MM-dd",
              // },
              {
                label: "电子邮箱",
                label: "保安证书照片",
                prop: "email",
                type: "upload",
                listType: "picture-img",
                display: true,
                propsHttp: {
                  res: "data",
                  url: "url"
                },
                canvasOption: {
                  text: " ",
                  ratio: 1.0
                },
                action: "/api/blade-resource/oss/endpoint/put-files",
                tip: "上传jpg,png格式图片,大小不超过2M",
                span: 12
              },
              // {
              //     label: "籍贯",
              //     prop: "nativeplace",
              // },
              {
                label: "民族",
                prop: "nation",
                prop: "nation"
              },
              {
                label: "最高学历",
@@ -946,26 +1088,26 @@
                  "/api/blade-system/dict-biz/dictionary?code=educationType",
                props: {
                  label: "dictValue",
                  value: "dictKey",
                  value: "dictKey"
                },
                dataType: "number",
                slot: true,
                slot: true
              },
              {
                label: "政治面貌",
                prop: "politicaloutlook",
                prop: "politicaloutlook"
              },
              {
                label: "健康状态",
                prop: "healstats",
                prop: "healstats"
              },
              {
                label: "身高",
                prop: "height",
                prop: "height"
              },
              {
                label: "联系地址",
                prop: "address",
                prop: "address"
              },
              {
                label: "身份证住址",
@@ -974,9 +1116,9 @@
                  {
                    required: true,
                    message: "请输入身份证住址",
                    trigger: "click",
                  },
                ],
                    trigger: "click"
                  }
                ]
              },
              {
                label: "所属辖区",
@@ -986,7 +1128,7 @@
                dicUrl: "/api/jurisdiction/lazy-tree",
                props: {
                  label: "title",
                  value: "id",
                  value: "id"
                },
                checkStrictly: true,
                slot: true,
@@ -994,9 +1136,9 @@
                  {
                    required: false,
                    message: "请选择所属辖区",
                    trigger: "click",
                  },
                ],
                    trigger: "click"
                  }
                ]
              },
              {
                label: "入职时间",
@@ -1008,9 +1150,9 @@
                  {
                    required: true,
                    message: "请输入入职时间",
                    trigger: "click",
                  },
                ],
                    trigger: "click"
                  }
                ]
              },
              {
                label: "性别",
@@ -1020,12 +1162,12 @@
                dicData: [
                  {
                    label: "男",
                    value: 1,
                    value: 1
                  },
                  {
                    label: "女",
                    value: 2,
                  },
                    value: 2
                  }
                  // {
                  //   label: "未知",
                  //   value: 3,
@@ -1035,10 +1177,10 @@
                  {
                    required: true,
                    message: "请选择性别",
                    trigger: "blur",
                  },
                ],
              },
                    trigger: "blur"
                  }
                ]
              }
              // {
              //   label: "生日",
              //   type: "date",
@@ -1046,9 +1188,9 @@
              //   format: "yyyy-MM-dd",
              //   valueFormat: "yyyy-MM-dd",
              // },
            ],
          },
        ],
            ]
          }
        ]
      },
      data: [],
      platformQuery: {},
@@ -1071,25 +1213,25 @@
            label: "登录账号",
            prop: "account",
            search: true,
            display: false,
            display: false
          },
          {
            label: "所属保安单位",
            prop: "tenantName",
            slot: true,
            display: false,
            display: false
          },
          {
            label: "姓名",
            prop: "realName",
            search: true,
            display: false,
            display: false
          },
          {
            label: "平台",
            prop: "userTypeName",
            slot: true,
            display: false,
            display: false
          },
          {
            label: "平台",
@@ -1097,7 +1239,7 @@
            dicUrl: "/api/blade-system/dict/dictionary?code=user_type",
            props: {
              label: "dictValue",
              value: "dictKey",
              value: "dictKey"
            },
            dataType: "number",
            search: true,
@@ -1108,9 +1250,9 @@
              {
                required: true,
                message: "请选择平台",
                trigger: "blur",
              },
            ],
                trigger: "blur"
              }
            ]
          },
          {
            label: "拓展",
@@ -1120,9 +1262,9 @@
            span: 24,
            overHidden: true,
            row: true,
            hide: true,
          },
        ],
            hide: true
          }
        ]
      },
      excelForm: {},
      excelOption: {
@@ -1137,10 +1279,10 @@
            loadText: "模板上传中,请稍等",
            span: 24,
            propsHttp: {
              res: "data",
              res: "data"
            },
            tip: "请上传 .xls,.xlsx 标准格式文件",
            action: "/api/blade-user/import-security",
            action: "/api/blade-user/import-security"
          },
          // {
          //   label: "数据覆盖",
@@ -1172,17 +1314,120 @@
            label: "模板下载",
            prop: "excelTemplate",
            formslot: true,
            span: 24,
          },
        ],
            span: 24
          }
        ]
      },
      tablevisible: true,
      isNotChangeSize: true //取消表格loging
    };
  },
  watch: {
    windowHeight() {
      let that = this;
      that.isNotChangeSize = false; //取消表格loging
      let d = {
        fn: function(h) {
          let table = document.getElementsByClassName("tablesss");
          let heard = table[0].getElementsByClassName("avue-crud__search");
          let usNum =
            that.windowWidth <= 1376 || that.windowHeight <= 778 ? 170 : 302;
          // // that.option.height = +h - (+heard[0].clientHeight + 332);
          // alert(h);
          let doit = height => {
            let hs = height || h;
            // alert(hs);
            // alert(heard[0].clientHeight);
            // alert(usNum);
            that.option.height = +hs - (+heard[0].clientHeight + +usNum);
            that.$nextTick(() => {
              that.refreshChange();
              setTimeout(() => {
                let d = {
                  that: this,
                  otherclass: ["downSFZ"],
                  haveOpen: true
                };
                //刷新表格后再次调整按钮
                that.$store.dispatch("TABLE_CHANGEBUTPOSITION", d);
                that.isNotChangeSize = true; //恢复表格loging
              }, 10);
            });
          };
          if (that.option.height == "auto") {
            //解决第一次未渲染成功会报错的问题
            setTimeout(() => {
              // console.log(
              //   document
              //     .getElementsByClassName("tablesss")[0]
              //     .getElementsByClassName("avue-crud__search")
              // );
              doit(window.innerHeight);
            }, 150);
          } else {
            doit();
          }
        }
      };
      this.$store.dispatch("WHchangeHight", d);
    },
    radio() {
      if (this.radio) {
        this.SFZloding = true;
        this.olondSFZ();
      } else {
        if (this.haveSEL != "noDrive" && this.haveSEL != "noEquipment") {
          this.$message({
            type: "warning",
            message: "关闭身份证设备识别!"
          });
        }
      }
    },
    "form.tenantId"() {
      if (this.form.tenantId !== "" && this.initFlag) {
        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;
          securitynumbercolumn.rules = [
            {
              required: true,
              message: "请输入保安员证编号",
              trigger: "blur"
            }
          ];
          emailcolumn.display = true;
        } else {
          securitynumbercolumn.display = false;
          securitynumbercolumn.rules = [
            {
              required: false,
              message: "请输入保安员证编号",
              trigger: "blur"
            }
          ];
          emailcolumn.display = false;
        }
      },
      immediate: true
    },
    "form.fingerprint"() {
      let that = this;
@@ -1190,26 +1435,27 @@
        that.isopen = true;
        let isoks = false;
        function sets(state, fingerprint, myPicture) {
        function sets(state, dom, fingerprint, myPicture) {
          isoks = state;
          var winzhiwen = document.getElementById("zhiwen").contentWindow;
          winzhiwen.setZhiwenData({
            imgBMP: fingerprint,
            // imgBMP: imgBMP,
            // CID_img_raw: CID_img_raw,
            featuredatas: myPicture,
            isoks: isoks,
          });
          dom.onload = function() {
            // var winzhiwen = document.getElementById("zhiwen").contentWindow;
            var winzhiwen = dom.contentWindow;
            winzhiwen.setZhiwenData({
              imgBMP: fingerprint,
              // imgBMP: imgBMP,
              // CID_img_raw: CID_img_raw,
              featuredatas: myPicture,
              isoks: isoks
            });
          };
        }
        setTimeout(() => {
          // if()
        var doZhiwen = dom => {
          if (!this.form.id) {
            sets(false);
            sets(false, dom);
            return;
          }
          // return;
          getzhiwen(this.form.id).then((res) => {
          getzhiwen(this.form.id).then(res => {
            const data = res.data.data;
            if (that.isopen) {
              if (
@@ -1218,13 +1464,27 @@
                data.myPicture != "" &&
                data.myPicture != undefined
              ) {
                sets(true, data.fingerprint, data.myPicture);
                sets(true, dom, data.fingerprint, data.myPicture);
              } else {
                sets(false);
                sets(false, dom);
              }
            }
          });
        }, 1800);
        };
        // setTimeout(() => {
        // var iframeDom = document.getElementById("zhiwen");
        //   console.log(iframeDom,111111);
        //   iframeDom.onload = function () {
        //     doZhiwen();
        //   };
        //   doZhiwen();
        // }, 2800);
        //判断是否加载完成指纹dom
        that.checkDom("", dom => {
          // console.log(dom);
          doZhiwen(dom);
        });
      } else {
        that.isopen = false;
      }
@@ -1237,16 +1497,16 @@
        const column = this.findObject(this.excelOption.column, "excelFile");
        column.action = `/api/blade-user/import-security?isCovered=${this.excelForm.isCovered}`;
      }
    },
    }
  },
  computed: {
    ...mapGetters(["userInfo", "permission"]),
    ...mapGetters(["userInfo", "permission", "windowHeight", "windowWidth"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission.securityGuard_add, false),
        viewBtn: this.vaildData(null, false),
        delBtn: this.vaildData(this.permission.securityGuard_delete, false),
        editBtn: this.vaildData(this.permission.securityGuard_edit, false),
        editBtn: this.vaildData(this.permission.securityGuard_edit, false)
      };
    },
    platformPermissionList() {
@@ -1254,19 +1514,19 @@
        addBtn: false,
        viewBtn: false,
        delBtn: false,
        editBtn: this.vaildData(this.permission.user_edit, false),
        editBtn: this.vaildData(this.permission.user_edit, false)
      };
    },
    ids() {
      let ids = [];
      this.selectionList.forEach((ele) => {
      this.selectionList.forEach(ele => {
        ids.push(ele.id);
      });
      return ids.join(",");
    },
    ...mapState({
      userInfo: (state) => state.user.userInfo,
    }),
      userInfo: state => state.user.userInfo
    })
  },
  beforeCreate() {},
  created() {
@@ -1276,33 +1536,35 @@
      this.search["userType"] = 7;
      this.search["hold"] = "1";
    }
    this.userInfo.rname.forEach((roleName) => {
      if (
        roleName == "保安公司管理员" ||
        roleName == "保安" ||
        roleName == "分公司管理员"
      ) {
        //查询保安单位信息(包含子级)
        const column = this.findObject(this.option.column, "deptId");
        // column.search = false;
        //默认全部展开
        column.defaultExpandAll = true;
        column.dicUrl =
          "/api/blade-system/dept/security_lazy-tree?deptId=" +
          this.userInfo.dept_id;
      } else if (roleName == "公安管理员" || roleName == "administrator") {
        var columnDept = that.findObject(that.option.column, "deptId");
        columnDept.dicUrl =
          "/api/blade-system/dept/security_lazy-tree?jurisdiction=" +
          that.userInfo.jurisdiction;
      } else {
        //查询保安单位信息(包含子级)
        const column = this.findObject(this.option.column, "deptId");
        // column.search = false;
        //默认全部展开
        column.dicUrl = "/api/blade-system/dept/security_lazy-tree";
      }
    });
    var roleName = this.userInfo.role_name;
    // console.log(this.userInfo,52252);
    // this.userInfo.rname.forEach((roleName) => {
    if (
      roleName == "保安公司管理员" ||
      roleName == "保安" ||
      roleName == "分公司管理员"
    ) {
      //查询保安单位信息(包含子级)
      const column = this.findObject(this.option.column, "deptId");
      // column.search = false;
      //默认全部展开
      column.defaultExpandAll = true;
      column.dicUrl =
        "/api/blade-system/dept/security_lazy-tree?deptId=" +
        this.userInfo.dept_id;
    } else if (roleName == "公安管理员" || roleName == "administrator") {
      var columnDept = that.findObject(that.option.column, "deptId");
      columnDept.dicUrl =
        "/api/blade-system/dept/security_lazy-tree?jurisdiction=" +
        that.userInfo.jurisdiction;
    } else {
      //查询保安单位信息(包含子级)
      const column = this.findObject(this.option.column, "deptId");
      // column.search = false;
      //默认全部展开
      column.dicUrl = "/api/blade-system/dept/security_lazy-tree";
    }
    // });
    if (
      this.userInfo.account == "南昌市保安服务总公司" ||
@@ -1313,12 +1575,12 @@
        prop: "guncode",
        width: 90,
        addDisplay: false,
        editDisplay: false,
        editDisplay: false
      });
      this.option.group[1].column.push({
        label: "持枪证编号",
        prop: "guncode",
        prop: "guncode"
      });
      this.excelOption1.column[0].action =
@@ -1326,6 +1588,15 @@
    }
  },
  mounted() {
    // let d = {
    //   that: this,
    //   otherclass: ["downSFZ"],
    //   haveOpen: true,
    //   flowHeight: 332,
    // };
    // this.$store.dispatch("TABLE_CHANGEBUTPOSITION", d);
    // console.log((this.$refs.crud._props.option.height = 200));
    this.changeButsPosition("TABLE_CHANGEBUTPOSITION");
    // this.option.column[0].hide = true
    // 非保安单位模式默认加载管理组数据
    if (!website.tenantMode) {
@@ -1338,9 +1609,48 @@
    this.deptIds = this.userInfo.dept_id;
    // this.beginzhiwen();
    this.olondSFZ(); //检查身份证设备是否存在
    // this.olondSFZ(); //检查身份证设备是否存在
  },
  methods: {
    checkDom(name, fn) {
      //  声明定时器
      let that = this;
      var timer = null;
      //  检查dom是否执行完成
      function checkDom() {
        let dom = document.getElementById("zhiwen");
        if (dom) {
          //  执行dom加载完成后的操作
          //  清除定时器
          if (!timer) {
            clearTimeout(timer);
          }
          if (fn) {
            //回调函数
            fn(dom);
            return;
          } else {
            return dom;
          }
        } else {
          //  自我调用
          timer = setTimeout(checkDom, 100);
        }
      }
      //  首次执行
      checkDom();
    },
    changeButsPosition(val) {
      let d = {
        that: this,
        otherclass: ["downSFZ"],
        haveOpen: true,
        from: "mounted"
      };
      // 开始就适应高度
      this.$store.commit("setWindowSizeHeightAdd");
      this.$store.dispatch("TABLE_CHANGEBUTPOSITION", d);
    },
    openccc() {
      console.log(this.zhiwenImg);
      // console.log(this.zhiwenChart);
@@ -1360,9 +1670,9 @@
      //初始化设备
      this.Client.beginFn = {
        fn: this.Client.CID_Init,
        CID5000: this.Client.CIDDeviceType.CID5000,
        CID5000: this.Client.CIDDeviceType.CID5000
      };
      this.Client.OnCID_Alg_Begin = function (code, msg) {
      this.Client.OnCID_Alg_Begin = function(code, msg) {
        //初始化机器返数据
        if (code == 1) {
          console.log("初始化成功");
@@ -1375,7 +1685,7 @@
          console.log("算法初始化发生错误   错误码:" + code);
        }
      };
      this.Client.OnCID_Close = function (code, msg) {
      this.Client.OnCID_Close = function(code, msg) {
        //关闭机器返数据
        if (code == 1) {
          console.log("关闭设备成功");
@@ -1391,7 +1701,7 @@
          console.log("关闭设备发生错误   错误码:" + code);
        }
      };
      this.Client.OnCID_BeginCapture = function (code, msg) {
      this.Client.OnCID_BeginCapture = function(code, msg) {
        //开始使用预览图片模式函数
        // console.log(code, "图片模式开始");
        if (code == 1) {
@@ -1400,7 +1710,7 @@
          console.log("开始采集发生错误   错误码:" + code);
        }
      };
      this.Client.OnCID_GetBmpData = function (code, msg, imagedata, feadata) {
      this.Client.OnCID_GetBmpData = function(code, msg, imagedata, feadata) {
        //使用预览图片模式 采集 BMP格式
        // console.log(msg, "图片模式采集");
        if (code == 1) {
@@ -1428,7 +1738,7 @@
      //     console.log("格式转换失败," + code + " " + msg);
      //   }
      // };
      this.Client.OnBmpToRaw = function (code, msg, imagedata) {
      this.Client.OnBmpToRaw = function(code, msg, imagedata) {
        //使用预览图片模式  BMP格式转换成RAW
        // console.log(code, msg, "BMP格式转换成RAW");
        if (code == 0) {
@@ -1441,7 +1751,7 @@
          alert("格式转换失败," + code + " " + msg);
        }
      };
      this.Client.OnCID_EndCapture = function (code, msg) {
      this.Client.OnCID_EndCapture = function(code, msg) {
        //使用预览图片模式  停止采集
        if (code == 1) {
          if (that.begin_cap) {
@@ -1452,7 +1762,7 @@
          console.log("停止采集发生错误   错误码:" + code);
        }
      };
      this.Client.OnCID_Alg_GetQualityScore = function (code, msg, score) {
      this.Client.OnCID_Alg_GetQualityScore = function(code, msg, score) {
        //停止获取
        console.log(
          "code:" + code + ";",
@@ -1482,7 +1792,7 @@
          console.log("获取质量分数发生错误   错误码:" + code);
        }
      };
      this.Client.OnCID_Alg_FeatureExtract = function (code, msg, featuredata) {
      this.Client.OnCID_Alg_FeatureExtract = function(code, msg, featuredata) {
        //获取特征
        if (code == 1) {
          that.zhiwenChart = featuredata;
@@ -1530,10 +1840,10 @@
        this.userInfo.account == "南昌市保安服务总公司" ||
        this.userInfo.account == "押运分公司"
      ) {
        window.open(`/api/blade-user/export-template-securityYy`);
        window.open(`/api/blade-user/export-template-securityYy?${this.website.tokenHeader}=${getToken()}`);
        return;
      }
      window.open(`/api/blade-user/export-template-security`);
      window.open(`/api/blade-user/export-template-security?${this.website.tokenHeader}=${getToken()}`);
    },
    handleImport2() {
      this.excelBox2 = true;
@@ -1549,7 +1859,7 @@
    rowClick(row) {
      this.$router.push({
        path: "/securityGuardDetail",
        query: { row: JSON.stringify(row) },
        query: { row: JSON.stringify(row) }
      });
    },
    //行点击事件
@@ -1589,7 +1899,7 @@
        onEnd: () => {
          this.updateUserInfo();
          // console.log('打印完成', Date.parse(new Date()));
        },
        }
      });
    },
    getNewTime() {
@@ -1625,14 +1935,21 @@
      const data = {
        id: this.certificateObj.id,
        userType: 6,
        paperTime: date,
        paperTime: date
      };
      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) {
@@ -1660,7 +1977,7 @@
        this.roleBox = false;
        this.$message({
          type: "success",
          message: "操作成功!",
          message: "操作成功!"
        });
        this.onLoad(this.page);
      });
@@ -1676,7 +1993,7 @@
        {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
          type: "warning"
        }
      )
        .then(() => {
@@ -1691,15 +2008,15 @@
          const data = {
            ids: str,
            createUser: this.userInfo.user_id,
            type: 1,
            type: 1
          };
          return securityApply(data);
        })
        .then(() => {
          // this.$refs.crud.toggleSelection();
          this.$refs.crud.toggleSelection();
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -1714,7 +2031,7 @@
        {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
          type: "warning"
        }
      )
        .then(() => {
@@ -1729,15 +2046,15 @@
          const data = {
            ids: str,
            createUser: this.userInfo.user_id,
            type: 2,
            type: 2
          };
          return securityApply(data);
        })
        .then(() => {
          // this.$refs.crud.toggleSelection();
          this.$refs.crud.toggleSelection();
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -1746,7 +2063,7 @@
      this.$confirm("是否导出保安员信息数据?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      }).then(() => {
        //获取查询条件
        // const { releaseTimeRange } = this.search;
@@ -1764,6 +2081,9 @@
          status: this.search.status,
          userType: this.search.startTime,
          examinationType: this.search.examinationType,
          dispatch: this.search.dispatch,
          isFingerprint: this.search.isFingerprint,
          isAvatar: this.search.isAvatar
        };
        // console.log(data,123456);
        //导出
@@ -1846,8 +2166,8 @@
          rtime: row.rtime,
          securitynumber: row.securitynumber,
          sex: row.sex,
          guncode: row.guncode,
        },
          guncode: row.guncode
        }
      };
      securitySave(userMap).then(
@@ -1855,17 +2175,17 @@
          this.initFlag = false;
          this.$alert("账号为身份证号码,密码为身份证后六位", "温馨提示", {
            confirmButtonText: "确定",
            callback: (action) => {
            callback: action => {
              this.$message({
                type: "success",
                message: `操作成功`,
                message: `操作成功`
              });
              this.onLoad(this.page);
              done();
            },
            }
          });
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -1896,11 +2216,11 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -1912,7 +2232,7 @@
        "离职原因",
        {
          confirmButtonText: "确定",
          callback: (action) => {},
          callback: action => {}
        }
      );
    },
@@ -1920,16 +2240,16 @@
      this.$prompt("离职原因", "提示", {
        confirmButtonText: "确定离职",
        cancelButtonText: "取消",
        inputErrorMessage: "",
        inputErrorMessage: ""
      })
        .then(({ value }) => {
          row.reasonForLeav = value;
          row.status = "2";
          // return;
          update(row).then((res) => {
          update(row).then(res => {
            this.$message({
              type: "success",
              message: "操作成功",
              message: "操作成功"
            });
          });
          this.refreshChange();
@@ -1940,7 +2260,7 @@
      this.$confirm("确定注销当前用户?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(row.id);
@@ -1949,7 +2269,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -1957,7 +2277,7 @@
      this.$confirm("确定审查异常标记?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          row.examinationType = "1";
@@ -1967,7 +2287,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
        });
    },
@@ -1987,12 +2307,14 @@
      this.choiceList = [];
      for (let k in list) {
        this.choiceList.push({
          id: list[k].id,
          id: list[k].id
        });
      }
    },
    selectionClear() {
      // this.selectionList = [];
      this.sort = "";
      this.sortName = "";
      // this.$refs.crud.toggleSelection();
    },
    handleDelete() {
@@ -2003,7 +2325,7 @@
      this.$confirm("确定将选择保安注销?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return remove(this.ids);
@@ -2012,7 +2334,7 @@
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
@@ -2025,7 +2347,7 @@
      this.$confirm("确定将选择账号密码重置为123456?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      })
        .then(() => {
          return resetPassword(this.ids);
@@ -2033,7 +2355,7 @@
        .then(() => {
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          this.$refs.crud.toggleSelection();
        });
@@ -2047,7 +2369,7 @@
      if (this.selectionList.length === 1) {
        this.roleTreeObj = this.selectionList[0].roleId.split(",");
      }
      getRoleTree().then((res) => {
      getRoleTree().then(res => {
        this.roleGrantList = res.data.data;
        this.roleBox = true;
      });
@@ -2068,7 +2390,7 @@
      this.$confirm("是否导出保安数据?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
        type: "warning"
      }).then(() => {
        window.open(
          `/api/blade-user/export-user?${
@@ -2097,36 +2419,69 @@
        }
      }
    },
    SFZopens() {
      if (this.haveSEL == "noDrive") {
        let url =
          "http://223.82.109.183:2081/zhba/upload/20211201/64d8b76f3aecae93e18d015bbca89aba.rar";
        window.open(url, "_self");
      } else if (this.haveSEL == "noEquipment") {
        this.radio = true;
      }
    },
    olondSFZ() {
      // console.log(123456);
      var that = this;
      //   // 开始连接设备
      //   //调用对应的连接方法,并赋值给result
      this.cardShebei = CertCtl.connect((res) => {
      let lodings = val => {
        setTimeout(res => {
          that.SFZloding = val;
        }, 1000);
      };
      this.cardShebei = CertCtl.connect(res => {
        let k = "";
        try {
          k = JSON.parse(res);
        } catch (error) {
          k = res;
        }
        // console.log(k);
        // console.log(res);
        if (k == "") {
          that.haveSEL = "noDrive";
          console.log("连接身份证设备失败,请安装驱动");
          // console.log("连接身份证设备失败,请安装驱动");
          that.sfzButTitle = "未安装身份证驱动,点击下载";
          this.$message({
            type: "warning",
            message: "连接身份证设备失败,请重新连接设备!"
          });
          that.radio = false;
          lodings(false);
          return;
        }
        if (k.resultFlag == 0) {
          that.haveSEL = "connectionSucceeded";
          console.log("连接身份证设备成功");
          // console.log("连接身份证设备成功");
          this.$message({
            type: "success",
            message: "连接身份证设备成功!"
          });
          lodings(false);
        } else {
          that.haveSEL = "noEquipment";
          console.log("连接身份证设备失败,请重新连接设备");
          that.sfzButTitle = "连接身份证设备失败,请重试";
          // console.log("连接身份证设备失败,请重新连接设备!");
          this.$message({
            type: "warning",
            message: "连接身份证设备失败,请重新连接设备!"
          });
          that.radio = false;
          lodings(false);
        }
      });
    },
    setIntervals: function () {
    setIntervals: function() {
      let that = this;
      this.intTime = setInterval(function () {
      this.intTime = setInterval(function() {
        if (!that.haveCardid) {
          //定时读卡
          // console.log(that.haveCardid);
@@ -2176,7 +2531,7 @@
      }, 2000);
    },
    beginSFZ() {
      if (this.haveSEL == "connectionSucceeded") {
      if (this.haveSEL == "connectionSucceeded" && this.radio) {
        this.haveCardid = false;
        if (this.intTime) {
          clearInterval(this.intTime);
@@ -2184,6 +2539,8 @@
        } else {
          this.setIntervals();
        }
      } else {
        clearInterval(this.intTime);
      }
    },
    closeSFZ(val) {
@@ -2206,15 +2563,21 @@
      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) => {
        getUser(this.form.id).then(res => {
          this.form = res.data.data;
          var d = {
            education1: res.data.data.education,
            education1: res.data.data.education
          };
          this.form = {
            ...this.form,
            ...d,
            ...d
          };
          // this.from["education1"] = res.data.data.education;
          if (this.form.hasOwnProperty("deptId")) {
@@ -2228,7 +2591,7 @@
          }
          var userInfo = res.data.data;
          //获取用户从业信息
          getUserPractitionersInfo(userInfo.id).then((res1) => {
          getUserPractitionersInfo(userInfo.id).then(res1 => {
            that.form.UserPractitionersInfo = res1.data.data;
          });
        });
@@ -2247,7 +2610,7 @@
    rowStyle({ row, column, rowIndex }) {
      if (row.examinationType == "1") {
        return {
          color: "#ff2727",
          color: "#ff2727"
        };
      }
    },
@@ -2257,24 +2620,49 @@
    refreshChange() {
      this.onLoad(this.page, this.query);
    },
    //排序
    sortChange(value) {
      // console.log(value, 51151515);
      if (value.order == "ascending") {
        this.sort = "asc";
      }
      if (value.order == "descending") {
        this.sort = "desc";
      }
      this.sortName = value.prop;
      //字段匹配
      if (value.prop == "sexs") {
        this.sortName = "sex";
      }
      if (value.prop == "examinationType") {
        this.sortName = "examination_type";
      }
      if (value.prop == "userType") {
        this.sortName = "user_type";
      }
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      if (this.isNotChangeSize) {
        this.loading = true;
      }
      params = this.search;
      var that = this;
      //获取当前登录人员的角色信息
      var roleIds = this.userInfo.role_id.split(",");
      roleIds.forEach((roleId) => {
        getRoleDetail(roleId).then((res) => {
      roleIds.forEach(roleId => {
        getRoleDetail(roleId).then(res => {
          var roleAlias = res.data.data.roleAlias;
          if (roleAlias == "保安公司管理员") {
            that.option.group[1].column[4].dicData = [
              {
                label: "是",
                value: "1",
                value: "1"
              },
              {
                label: "否",
                value: "2",
              },
                value: "2"
              }
            ];
          }
          if (
@@ -2334,17 +2722,23 @@
              "/api/blade-system/dept/security_lazy-tree";
          }
          if (this.sort) {
            params["sort"] = this.sort;
          }
          if (this.sortName) {
            params["sortName"] = this.sortName;
          }
          let values = {
            ...params,
            ...params
          };
          values = {
            ...params,
            roleAlias: "111",
            ...that.query,
            ...that.query
          };
          that.loading = true;
          getList(page.currentPage, page.pageSize, values).then((res) => {
          getList(page.currentPage, page.pageSize, values).then(res => {
            const data = res.data.data;
            that.page.total = data.total;
            // var d = data.records;
@@ -2368,11 +2762,11 @@
          this.platformOnLoad(this.platformPage);
          this.$message({
            type: "success",
            message: "操作成功!",
            message: "操作成功!"
          });
          done();
        },
        (error) => {
        error => {
          window.console.log(error);
          loading();
        }
@@ -2380,7 +2774,7 @@
    },
    platformBeforeOpen(done, type) {
      if (["edit", "view"].includes(type)) {
        getUserPlatform(this.platformForm.id).then((res) => {
        getUserPlatform(this.platformForm.id).then(res => {
          this.platformForm = res.data.data;
        });
      }
@@ -2419,7 +2813,7 @@
        page.pageSize,
        Object.assign(params, this.query),
        this.treeDeptId
      ).then((res) => {
      ).then(res => {
        const data = res.data.data;
        this.platformPage.total = data.total;
        this.platformData = data.records;
@@ -2427,7 +2821,34 @@
        this.selectionClear();
      });
    },
  },
    //照片上传拦截
    uploadBefore(file, done, loading, column) {
      //如果你想修改file文件,由于上传的file是只读文件,必须复制新的file才可以修改名字,完后赋值到done函数里,如果不修改的话直接写done()即可
      //判断角色
      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();
    }
  }
};
</script>