From 7434e5ccf889189d24e7f4e655fbf752a0883d5b Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 16 Dec 2021 19:23:58 +0800
Subject: [PATCH] 保安员查询修改

---
 src/views/securityGuard/securityGuard.vue |  177 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 132 insertions(+), 45 deletions(-)

diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index 136fc81..4f69644 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -33,6 +33,7 @@
           @row-update="rowUpdate"
           :before-open="beforeOpen"
           :page.sync="page"
+          @sort-change="sortChange"
           @search-change="searchChange"
           @search-reset="searchReset"
           @selection-change="selectionChange"
@@ -40,6 +41,7 @@
           @size-change="sizeChange"
           @refresh-change="refreshChange"
           @on-load="onLoad"
+          :upload-before="uploadBefore"
           :defaults.sync="defaults"
           :before-close="beforeClose"
         >
@@ -394,17 +396,26 @@
       </basic-container>
     </el-col>
     <div
-      v-show="haveSEL == 'noDrive'"
       :class="[
         $store.state.control.windowWidth >= 1024
           ? 'downSFZqudong'
           : '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 +429,26 @@
   remove,
   update,
   updatePlatform,
-  add,
   securitySave,
   grant,
   resetPassword,
   getUserPractitionersInfo,
   updatePaperTime,
-  saveOrUpdateUserPractitionersInfo,
   getzhiwen, //指纹
 } from "@/api/system/user";
 import { securityApply } from "@/api/accreditationRecords/accreditationRecords";
 import { getList } from "@/api/securityGuard/securityGuard";
 import { getDeptLazyTree } from "@/api/system/dept";
 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() {
@@ -600,10 +606,13 @@
       // 表格数据
       defaults: {},
       // 身份证设备数据
+      SFZloding: false,
+      sfzButTitle: "",
+      radio: false, //选择状态
       haveSEL: "", //设备状态
       cardShebei: "",
       intTime: "", //自动获取身份证;
-      haveCardid: true, //读卡开关
+      haveCardid: false, //读卡开关
       // 指纹数据
       isopen: false, //识别是否需要传指纹进去(解决异步传递后指纹DOM不存在的问题)
       zhiwenImg: "",
@@ -763,7 +772,7 @@
         align: "center",
         index: true,
         delBtnText: "注销",
-        menuWidth: 327,
+        menuWidth: 280,
         selection: true,
         viewBtn: true,
         defaultExpandAll: true,
@@ -1248,6 +1257,19 @@
     };
   },
   watch: {
+    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);
@@ -1345,33 +1367,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 == "南昌市保安服务总公司" ||
@@ -1407,7 +1431,7 @@
     this.deptIds = this.userInfo.dept_id;
 
     // this.beginzhiwen();
-    this.olondSFZ(); //检查身份证设备是否存在
+    // this.olondSFZ(); //检查身份证设备是否存在
   },
   methods: {
     openccc() {
@@ -1833,6 +1857,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);
         //导出
@@ -2166,11 +2193,25 @@
         }
       }
     },
+    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
+      let lodings = (val) => {
+        setTimeout((res) => {
+          that.SFZloding = val;
+        }, 1000);
+      };
       this.cardShebei = CertCtl.connect((res) => {
         let k = "";
         try {
@@ -2178,18 +2219,37 @@
         } 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);
         }
       });
     },
@@ -2245,7 +2305,7 @@
       }, 2000);
     },
     beginSFZ() {
-      if (this.haveSEL == "connectionSucceeded") {
+      if (this.haveSEL == "connectionSucceeded" && this.radio) {
         this.haveCardid = false;
         if (this.intTime) {
           clearInterval(this.intTime);
@@ -2253,6 +2313,8 @@
         } else {
           this.setIntervals();
         }
+      } else {
+        clearInterval(this.intTime);
       }
     },
     closeSFZ(val) {
@@ -2325,6 +2387,10 @@
     },
     refreshChange() {
       this.onLoad(this.page, this.query);
+    },
+    //排序
+    sortChange(value) {
+      console.log(value, 51151515);
     },
     onLoad(page, params = {}) {
       params = this.search;
@@ -2496,6 +2562,27 @@
         this.selectionClear();
       });
     },
+    //照片上传拦截
+    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;
+      }
+      done();
+      return isLt1M;
+    },
   },
 };
 </script>

--
Gitblit v1.9.3