| | |
| | | </div> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <basic-container> |
| | | <basic-container |
| | | :class="[ |
| | | $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '', |
| | | ]" |
| | | > |
| | | <avue-crud |
| | | :option="option" |
| | | :search.sync="search" |
| | |
| | | size="small" |
| | | plain |
| | | icon="el-icon-download" |
| | | v-if="permission.export_security_info" |
| | | @click="handleExportSecurityInfo" |
| | | >保安信息导出 |
| | | </el-button> |
| | |
| | | </div> |
| | | </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 |
| | | > |
| | | </div> |
| | | </el-row> |
| | | </template> |
| | | |
| | |
| | | } |
| | | }; |
| | | return { |
| | | nowCell: "", //空为手动,2为身份证设备读取 |
| | | // 表格数据 |
| | | defaults: {}, |
| | | // 身份证设备数据 |
| | | haveSEL: true, //是否存在设备 |
| | | haveSEL: "", //设备状态 |
| | | cardShebei: "", |
| | | intTime: "", //自动获取身份证; |
| | | haveCardid: true, //读卡开关 |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | roleId: "1412226235153731586", |
| | | deptId: "1413470343230877697", |
| | |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | | total: 0, |
| | | ...this.$store.state.control.changePageSize, |
| | | }, |
| | | init: { |
| | | roleTree: [], |
| | |
| | | //dialogType: 'drawer', |
| | | dialogClickModal: false, |
| | | column: securityFormPageColumn, |
| | | ...this.$store.state.control.clearOtherBut, |
| | | group: [ |
| | | { |
| | | label: "基础信息", |
| | |
| | | icon: "el-icon-user-solid", |
| | | column: [ |
| | | { |
| | | label: "所属保安公司", |
| | | label: "企业名称", |
| | | prop: "deptId", |
| | | type: "tree", |
| | | // dicUrl: |
| | |
| | | ratio: 0.1, |
| | | }, |
| | | action: "/api/blade-resource/oss/endpoint/put-files", |
| | | tip: "上传二代身份证一寸近期彩色正面免冠图象, (358像素(宽) × 441像素(高)、分辨率350dpi)且不超过500kb", |
| | | tip: "上传身份证一寸近期彩色正面免冠图象, (358像素(宽) × 441像素(高)、分辨率350dpi)且不超过500kb", |
| | | span: 12, |
| | | // row: true, |
| | | prop: "avatar", |
| | |
| | | }, |
| | | beforeCreate() {}, |
| | | created() { |
| | | var that = this; |
| | | // console.log(this.userInfo, 9999); |
| | | if (this.userInfo.role_name == "办证管理员") { |
| | | 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"; |
| | | } |
| | | }); |
| | | |
| | | if ( |
| | | this.userInfo.account == "南昌市保安服务总公司" || |
| | |
| | | var data = { |
| | | cardid: this.search.cardid, |
| | | deptId: this.search.deptId, |
| | | roleAlias: "111", |
| | | hold: this.search.hold, |
| | | realName: this.search.realName, |
| | | securitynumber: this.search.securitynumber, |
| | | status: this.search.status, |
| | | userType: this.search.startTime, |
| | | examinationType: this.search.examinationType, |
| | | }; |
| | | // console.log(data,123456); |
| | | //导出 |
| | | if (this.userInfo.role_name == "保安公司管理员") { |
| | | //如果是保安公司管理员 |
| | | 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 == "培训公司管理员") { |
| | | //如果是培训公司管理员 |
| | |
| | | } |
| | | const userMap = { |
| | | user: { |
| | | //是否是身份证自动识别进入 |
| | | cell: this.nowCell, |
| | | //指纹↓ |
| | | fingerprint: zhiwen.imgBMP, //图 |
| | | myPicture: zhiwen.featuredata, //特征 |
| | |
| | | row.fingerprint = zhiwen.imgBMP; |
| | | row.myPicture = zhiwen.featuredata; |
| | | } |
| | | // console.log(row); |
| | | // return; |
| | | |
| | | //是否是身份证自动识别进入 |
| | | if (row.cell != "2") { |
| | | row["cell"] = this.nowCell; |
| | | } |
| | | update(row).then( |
| | | () => { |
| | | this.initFlag = false; |
| | |
| | | ); |
| | | }, |
| | | openClosegroup(val) { |
| | | let ql = /realName|nation|cardid|registered|sex/; |
| | | // let ql = /realName|nation|cardid|registered|sex/; |
| | | let ql = /realName|nation|cardid|registered/; |
| | | for (let k in this.option.group) { |
| | | for (let i in this.option.group[k].column) { |
| | | if (ql.test(this.option.group[k].column[i].prop)) { |
| | |
| | | } |
| | | }, |
| | | olondSFZ() { |
| | | console.log(123456); |
| | | // 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; |
| | | 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; |
| | | this.intTime = setInterval(function () { |
| | | if (!that.haveCardid) { |
| | | //定时读卡 |
| | | // console.log(that.haveCardid); |
| | | let result = CertCtl.readCert(); |
| | | // console.log(result); |
| | | // console.log("通过读取"); |
| | | if (result == "") { |
| | | console.log("未启动读卡插件!"); |
| | | that.closeSFZ(); |
| | |
| | | that.form.cardid = data.certNumber; |
| | | that.form.nation = data.nation; |
| | | that.form.registered = data.certAddress; |
| | | that.form.sex = data.certType; |
| | | that.form.sex = data.gender == 0 ? 2 : data.gender == 1 ? 1 : 3; |
| | | //禁止编辑 |
| | | that.openClosegroup(true); |
| | | //赋值数据 |
| | | // that.obj = { |
| | | // name: data.partyName, |
| | | // national: data.nation, |
| | | // certAddress: data.certAddress, |
| | | // sex: |
| | | // data.certType == 0 |
| | | // ? "未知" |
| | | // : data.certType == 1 |
| | | // ? "男" |
| | | // : data.certType == 2 |
| | | // ? "女" |
| | | // : data.certType == 9 |
| | | // ? "未说明" |
| | | // : "未能识别", |
| | | // imgs: "data:image/bmp;base64," + data.identityPic, |
| | | // yxqend: |
| | | // data.expDate.slice(0, 4) + |
| | | // "-" + |
| | | // data.expDate.slice(4, 6) + |
| | | // "-" + |
| | | // data.expDate.slice(6, 8), |
| | | // yxqstart: |
| | | // data.effDate.slice(0, 4) + |
| | | // "-" + |
| | | // data.effDate.slice(4, 6) + |
| | | // "-" + |
| | | // data.effDate.slice(6, 8), |
| | | // birthday: |
| | | // data.bornDay.slice(0, 4) + |
| | | // "-" + |
| | | // data.bornDay.slice(4, 6) + |
| | | // "-" + |
| | | // data.bornDay.slice(6, 8), |
| | | // id: data.certNumber, |
| | | // qfjg: data.certOrg, |
| | | // }; |
| | | // that.$store.commit("setCardInfor", that.obj); |
| | | // that.$store.commit("setCardidState", true); |
| | | that.nowCell = "2"; |
| | | } else if (resultObj.resultFlag == "-1") { |
| | | if (resultObj.errorMsg == "端口打开失败") { |
| | | console.log("读卡器未连接"); |
| | | that.closeSFZ(); |
| | | } else { |
| | | // console.log(resultObj.errorMsg); |
| | | // console.log("无卡片提醒-1", resultObj.errorMsg); |
| | | //无卡片提醒 |
| | | that.closeSFZ(); |
| | | // that.closeSFZ(); |
| | | } |
| | | } else if (resultObj.resultFlag == "-2") { |
| | | console.log(resultObj.errorMsg); |
| | | console.log("异常-2", resultObj.errorMsg); |
| | | that.closeSFZ(); |
| | | } |
| | | } |
| | |
| | | }, 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); |
| | |
| | | //可以编辑 |
| | | } |
| | | this.openClosegroup(false); |
| | | this.nowCell = ""; |
| | | }, |
| | | beforeOpen(done, type) { |
| | | var that = this; |
| | |
| | | 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", |
| | | }, |
| | | { |
| | | label: "否", |
| | | value: "2", |
| | | }, |
| | | ]; |
| | | } |
| | | if ( |
| | | roleAlias == "保安公司管理员" || |
| | | roleAlias == "保安" || |
| | | roleAlias == "分公司管理员" |
| | | ) { |
| | | //去除保安公司查询 |
| | | const column = that.findObject(that.option.column, "deptId"); |
| | | column.search = false; |
| | | // const column = that.findObject(that.option.column, "deptId"); |
| | | // column.search = false; |
| | | // column.dicUrl = |
| | | // "/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?parentId=1413470343230877697"; |
| | | "/api/blade-system/dept/security_lazy-tree?deptId=" + |
| | | that.userInfo.dept_id; |
| | | //禁止编辑 |
| | | deptColumn.disabled = true; |
| | | // deptColumn.disabled = true; |
| | | deptColumn.value = that.userInfo.dept_id; |
| | | that.isSecurity = false; |
| | | //如果是保安公司管理员 |
| | | params["deptId"] = that.userInfo.dept_id; |
| | | |
| | | if (this.search.deptId) { |
| | | params["deptId"] = this.search.deptId; |
| | | } else { |
| | | params["deptId"] = that.userInfo.dept_id; |
| | | } |
| | | //导入action 修改 |
| | | const importColumn = that.findObject( |
| | | that.excelOption1.column, |
| | |
| | | roleAlias == "administrator" |
| | | ) { |
| | | params["jurisdiction"] = that.userInfo.jurisdiction; |
| | | var columnDept = that.findObject(that.option.column, "deptId"); |
| | | columnDept.dicUrl = |
| | | "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697&jurisdiction=" + |
| | | that.userInfo.jurisdiction; |
| | | var ColumnDeptUpdate = that.findObject(that.option.group, "deptId"); |
| | | ColumnDeptUpdate.dicUrl = |
| | | "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697&jurisdiction=" + |
| | | "/api/blade-system/dept/security_lazy-tree?jurisdiction=" + |
| | | that.userInfo.jurisdiction; |
| | | |
| | | //审查状态查询开启 |
| | |
| | | ); |
| | | columnExaminationType.search = true; |
| | | columnExaminationType.hide = false; |
| | | } else if (roleAlias == "培训公司管理员") { |
| | | //如果是培训公司管理员 |
| | | // params["trainingUnitId"] = that.userInfo.dept_id; |
| | | var columnDept2 = that.findObject(that.option.column, "deptId"); |
| | | columnDept2.dicUrl = |
| | | "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697"; |
| | | var ColumnDeptUpdate2 = that.findObject( |
| | | that.option.group, |
| | | "deptId" |
| | | ); |
| | | ColumnDeptUpdate2.dicUrl = |
| | | "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697"; |
| | | } else { |
| | | var columnDept1 = that.findObject(that.option.column, "deptId"); |
| | | columnDept1.dicUrl = |
| | | "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697"; |
| | | var ColumnDeptUpdate1 = that.findObject( |
| | | that.option.group, |
| | | "deptId" |
| | | ); |
| | | ColumnDeptUpdate1.dicUrl = |
| | | "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697"; |
| | | "/api/blade-system/dept/security_lazy-tree"; |
| | | } |
| | | |
| | | let values = { |
| | |
| | | getList(page.currentPage, page.pageSize, values).then((res) => { |
| | | const data = res.data.data; |
| | | that.page.total = data.total; |
| | | var d = data.records; |
| | | var date = new Date(); |
| | | var datayear = date.getFullYear(); |
| | | for (const key in d) { |
| | | var year = d[key].cardid.slice(6, 10); |
| | | d[key]["age"] = +datayear - +year; |
| | | // d[key].securitynumber = "赣洪202100009"; |
| | | } |
| | | // var d = data.records; |
| | | // var date = new Date(); |
| | | // var datayear = date.getFullYear(); |
| | | // for (const key in d) { |
| | | // var year = d[key].cardid.slice(6, 10); |
| | | // d[key]["age"] = +datayear - +year; |
| | | // // d[key].securitynumber = "赣洪202100009"; |
| | | // } |
| | | that.data = data.records; |
| | | that.loading = false; |
| | | that.selectionClear(); |
| | |
| | | // 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> |