From 67e064168d30a0c6b47207ed6fd2e0d91a459164 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Mon, 29 Nov 2021 11:20:22 +0800
Subject: [PATCH] +判断是否有身份证设备并开启设备驱动下载按钮
---
src/store/onresize.js | 4
src/views/securityGuard/sfzJS.js | 23 +++--
src/views/securityGuard/securityGuard.vue | 157 +++++++++++++++++++-------------------
3 files changed, 95 insertions(+), 89 deletions(-)
diff --git a/src/store/onresize.js b/src/store/onresize.js
index 3bad145..da66589 100644
--- a/src/store/onresize.js
+++ b/src/store/onresize.js
@@ -19,7 +19,9 @@
var ms = 300;
var lastClick = Date.now() - ms;
// 初始化
-init();
+setTimeout(() => {
+ init();
+}, 500);
// 改变窗口大小时重新设置 rem
// window.onresize = function () {
// // 节流
diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index a92c995..f5b0bb5 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -393,6 +393,16 @@
</div>
</basic-container>
</el-col>
+ <div
+ v-show="haveSEL == 'noDrive'"
+ :class="[
+ $store.state.control.windowWidth >= 1024
+ ? 'downSFZqudong'
+ : 'downSFZqudongS',
+ ]"
+ >
+ <a href="">未安装身份证驱动,点击下载</a>
+ </div>
</el-row>
</template>
@@ -518,7 +528,7 @@
// 表格数据
defaults: {},
// 身份证设备数据
- haveSEL: true, //是否存在设备
+ haveSEL: "", //设备状态
cardShebei: "",
intTime: "", //自动获取身份证;
haveCardid: true, //读卡开关
@@ -1263,7 +1273,7 @@
this.search["userType"] = 7;
this.search["hold"] = "1";
}
- this.userInfo.rname.forEach(roleName=>{
+ this.userInfo.rname.forEach((roleName) => {
if (
roleName == "保安公司管理员" ||
roleName == "保安" ||
@@ -1275,23 +1285,21 @@
//默认全部展开
column.defaultExpandAll = true;
column.dicUrl =
- "/api/blade-system/dept/security_lazy-tree?deptId="+this.userInfo.dept_id;
- }else if(roleName == "公安管理员" ||
- roleName == "administrator"){
+ "/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 {
- //查询保安单位信息(包含子级)
+ 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";
+ column.dicUrl = "/api/blade-system/dept/security_lazy-tree";
}
- })
-
+ });
if (
this.userInfo.account == "南昌市保安服务总公司" ||
@@ -1755,11 +1763,11 @@
//导出
if (this.userInfo.role_name == "保安公司管理员") {
//如果是保安公司管理员
- if(this.search.deptId){
- data["deptId"] = this.search.deptId;
- }else{
- data["deptId"] = this.userInfo.dept_id;
- }
+ if (this.search.deptId) {
+ data["deptId"] = this.search.deptId;
+ } else {
+ data["deptId"] = this.userInfo.dept_id;
+ }
}
if (this.userInfo.role_name == "培训公司管理员") {
//如果是培训公司管理员
@@ -2086,51 +2094,29 @@
olondSFZ() {
// console.log(123456);
var that = this;
- try {
- // 开始连接设备
- //调用对应的连接方法,并赋值给result
- this.cardShebei = CertCtl.connect();
- //如果result为空,代表读卡插件未启动
- if (this.cardShebei == "") {
- console.log("未启动读卡插件!1");
- that.haveSEL = false;
+ // // 开始连接设备
+ // //调用对应的连接方法,并赋值给result
+ this.cardShebei = CertCtl.connect((res) => {
+ let k = "";
+ try {
+ k = JSON.parse(res);
+ } catch (error) {
+ k = res;
+ }
+ // console.log(k);
+ if (k == "") {
+ that.haveSEL = "noDrive";
+ console.log("连接身份证设备失败,请安装驱动");
return;
+ }
+ if (k.resultFlag == 0) {
+ that.haveSEL = "connectionSucceeded";
+ console.log("连接身份证设备成功");
} else {
- //result页面回显
- console.log("ok!");
+ that.haveSEL = "noEquipment";
+ console.log("连接身份证设备失败,请重新连接设备");
}
- } catch (e) {
- // that.haveSEL = false;
- that.haveSEL = true;
- // console.log(e, 123);
- return;
- }
- let result = CertCtl.readCert();
- if (result == "") {
- console.log("未启动读卡插件!2");
- that.haveSEL = false;
- return;
- } else {
- var resultObj = eval("(" + result + ")");
- //resultFlag为0代表读卡成功
- if (resultObj.resultFlag == "0") {
- //回显相关数据
- console.log("身份证设备连接成功");
- that.haveSEL = true;
- } else if (resultObj.resultFlag == "-1") {
- if (resultObj.errorMsg == "端口打开失败") {
- console.log("读卡器未连接");
- that.haveSEL = false;
- } else {
- console.log(resultObj.errorMsg);
- //无卡片提醒
- that.haveSEL = true;
- }
- } else if (resultObj.resultFlag == "-2") {
- console.log(resultObj.errorMsg);
- that.haveSEL = false;
- }
- }
+ });
},
setIntervals: function () {
let that = this;
@@ -2184,19 +2170,7 @@
}, 2000);
},
beginSFZ() {
- if (this.haveSEL) {
- try {
- // 开始连接设备
- //调用对应的连接方法,并赋值给result
- this.cardShebei = CertCtl.connect();
- //如果result为空,代表读卡插件未启动
- if (this.cardShebei == "") {
- console.log("未启动读卡插件!");
- } else {
- //result页面回显
- console.log("ok!");
- }
- } catch (e) {}
+ if (this.haveSEL == "connectionSucceeded") {
this.haveCardid = false;
if (this.intTime) {
clearInterval(this.intTime);
@@ -2309,15 +2283,16 @@
// "/api/blade-system/dept/security_lazy-tree?deptId="+that.userInfo.dept_id;
const deptColumn = that.findObject(that.option.group, "deptId");
deptColumn.dicUrl =
- "/api/blade-system/dept/security_lazy-tree?deptId="+that.userInfo.dept_id;
+ "/api/blade-system/dept/security_lazy-tree?deptId=" +
+ that.userInfo.dept_id;
//禁止编辑
// deptColumn.disabled = true;
deptColumn.value = that.userInfo.dept_id;
that.isSecurity = false;
//如果是保安公司管理员
- if(this.search.deptId){
+ if (this.search.deptId) {
params["deptId"] = this.search.deptId;
- }else{
+ } else {
params["deptId"] = that.userInfo.dept_id;
}
//导入action 修改
@@ -2334,7 +2309,8 @@
params["jurisdiction"] = that.userInfo.jurisdiction;
var ColumnDeptUpdate = that.findObject(that.option.group, "deptId");
ColumnDeptUpdate.dicUrl =
- "/api/blade-system/dept/security_lazy-tree?jurisdiction=" + that.userInfo.jurisdiction;
+ "/api/blade-system/dept/security_lazy-tree?jurisdiction=" +
+ that.userInfo.jurisdiction;
//审查状态查询开启
var columnExaminationType = that.findObject(
@@ -2692,4 +2668,29 @@
// text-align: center;
// border: 1px dashed #8c939d;
// }
+
+.downSFZqudong {
+ position: absolute;
+ right: 239px;
+ top: 153px;
+ font-size: 14px;
+ a {
+ text-decoration: underline;
+ &:hover {
+ color: rgb(36, 143, 231);
+ }
+ }
+}
+.downSFZqudongS {
+ position: absolute;
+ right: 30px;
+ top: 10px;
+ font-size: 14px;
+ a {
+ text-decoration: underline;
+ &:hover {
+ color: rgb(36, 143, 231);
+ }
+ }
+}
</style>
diff --git a/src/views/securityGuard/sfzJS.js b/src/views/securityGuard/sfzJS.js
index c7c95a4..f127cdb 100644
--- a/src/views/securityGuard/sfzJS.js
+++ b/src/views/securityGuard/sfzJS.js
@@ -90,18 +90,19 @@
}
//连接方法
-function CertCtl_connect() {
- var baseURL = "";
- getUserIP(function (ip) {
- // alert("Got IP! :" + ip);
- baseURL = ip;
- });
+function CertCtl_connect(fn) {
+ // var baseURL = "";
+ // getUserIP(function (ip) {
+ // // alert("Got IP! :" + ip);
+ // baseURL = ip;
+ // });
// console.log(baseURL, 666666);
var result = "";
- var iParam1 = "1";
+ // var iParam1 = "1";
+ var urls = "http://127.0.0.1:18889/api/connect";
//创建请求 第一个参数是代表以post方式发送;第二个是请求端口和地址;第三个表示是否异步
- CertCtl.xhr.open("POST", "http://" + baseURL + ":18889/api/connect", false);
- // CertCtl.xhr.open("POST", urls, false);
+ // CertCtl.xhr.open("POST", "http://" + baseURL + ":18889/api/connect", false);
+ CertCtl.xhr.open("POST", urls, false);
//发送请求
try {
CertCtl.xhr.send();
@@ -114,10 +115,12 @@
//返回值status 200: "OK"
// 404: 未找到页面
//当返回值readyState为4且status为200时,为查询成功
+ // console.log(CertCtl.xhr);
if (CertCtl.xhr.readyState == 4 && CertCtl.xhr.status == 200) {
result = CertCtl.xhr.responseText;
- CertCtl.xhr.readyState = 1;
+ // CertCtl.xhr.readyState = 1;
}
+ fn(CertCtl.xhr.responseText)
return result;
}
--
Gitblit v1.9.3