| | |
| | | icon="el-icon-upload2" |
| | | v-if="permission.securityGuard_import" |
| | | @click="handleImport1" |
| | | >批量导入 |
| | | >保安员批量导入 |
| | | </el-button> |
| | | <el-button |
| | | type="success" |
| | |
| | | @click="handleImport2" |
| | | >个人照片批量上传 |
| | | </el-button> |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | plain |
| | | v-if="permission.securityGuard_security_apply" |
| | | icon="el-icon-s-promotion" |
| | | @click="handleSecurityApply" |
| | | >上岗证制证申请 |
| | | </el-button> |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | plain |
| | | v-if="permission.securityGuard_security_paper_apply" |
| | | icon="el-icon-collection-tag" |
| | | @click="handleSecurityPaperApply" |
| | | >证书制证申请 |
| | | </el-button> |
| | | |
| | | <el-button |
| | | type="danger" |
| | | style="display: none" |
| | |
| | | :size="size" |
| | | :type="type" |
| | | v-if="permission.securityGuard_delete && row.status != 2" |
| | | @click.stop="rowDel(row)" |
| | | @click.stop="rowStatus(row)" |
| | | >离职登记 |
| | | </el-button> |
| | | <el-button |
| | |
| | | v-if="permission.securityGuard_check" |
| | | @click.stop="rowCheck(row)" |
| | | >异常 |
| | | </el-button> |
| | | <el-button |
| | | icon="el-icon-edit" |
| | | :size="size" |
| | | :type="type" |
| | | v-if="permission.securityGuard_paper" |
| | | @click.stop="certificateClick(row)" |
| | | >纸质证书制作 |
| | | </el-button> |
| | | </template> |
| | | |
| | |
| | | </template> |
| | | <template slot-scope="{ row }" slot="userTypeName"> |
| | | <el-tag>{{ row.userTypeName }}</el-tag> |
| | | </template> |
| | | <template slot-scope="{ row }" slot="userType"> |
| | | {{ |
| | | row.userType == 6 ? "已制证" : row.userType == 7 ? "未制证" : "" |
| | | }} |
| | | </template> |
| | | |
| | | <!-- 自定义新增和编辑中的指纹信息 --> |
| | | <!-- src="http://223.82.109.183:2081/zhba/upload/picture/85004574ae23472da37350b918960206.png" --> |
| | | <template slot-scope="{ type, disabled }" slot="fingerprintForm"> |
| | | <div class="zhiwenMain"> |
| | | <!-- <img class="zhiwenImgs" :src="zhiwenImg" alt="" /> |
| | | <el-button type="primary" @click="openzhiwen" v-show="isOr">{{ |
| | | zhiwenTitle |
| | | }}</el-button> |
| | | <el-button type="warning" @click="closezhiwen" v-show="!isOr">{{ |
| | | zhiwenTitle |
| | | }}</el-button> |
| | | <el-button type="primary" @click="openccc">openccc</el-button>--> |
| | | <iframe |
| | | id="zhiwen" |
| | | ref="zhiwen" |
| | | src="/zhiwenDemo/CID.html" |
| | | frameborder="0" |
| | | width="100%" |
| | | height="100%" |
| | | name="zhiwen" |
| | | ></iframe> |
| | | </div> |
| | | </template> |
| | | </avue-crud> |
| | | <el-dialog |
| | |
| | | > |
| | | </avue-form> |
| | | </el-dialog> |
| | | <div style="position: fixed; top: 9999px; width: 100%; height: 100%"> |
| | | <div class="certificate_box" id="certificateDom"> |
| | | <div class="security_main" ref="certificateBox"> |
| | | <div class="security_m_l_titleName widt"> |
| | | {{ certificateObj.realName }} |
| | | </div> |
| | | <div class="security_m_r_o_jg widt">南昌市公安局</div> |
| | | <div class="security_m_l_titlepaperTimenian widt"> |
| | | {{ certificateYear }} |
| | | </div> |
| | | <div class="security_m_l_titlepaperTimeyue widt"> |
| | | {{ certificateMonth }} |
| | | </div> |
| | | <div class="security_m_l_downsecuritynumber widt"> |
| | | {{ certificateObj.securitynumber }} |
| | | </div> |
| | | <div class="security_m_r_o_right widt"> |
| | | {{ certificateObj.realName }} |
| | | </div> |
| | | <div class="security_m_r_o_rightbirthday widt"> |
| | | {{ |
| | | certificateObj.cardid |
| | | ? certificateObj.cardid.slice(6, 10) + |
| | | "." + |
| | | certificateObj.cardid.slice(10, 12) + |
| | | "." + |
| | | certificateObj.cardid.slice(12, 14) |
| | | : "" |
| | | }} |
| | | </div> |
| | | <div class="security_m_r_o_rightaddress security_m_r_o_l_r widt"> |
| | | {{ certificateObj.registered }} |
| | | </div> |
| | | <div class="security_m_r_o_rightcardid"> |
| | | {{ certificateObj.cardid }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </basic-container> |
| | | </el-col> |
| | | </el-row> |
| | | </template> |
| | | |
| | | |
| | | <script> |
| | | import { |
| | | getUser, |
| | |
| | | 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 { securityFormPageColumn } from "./data"; |
| | | import { mapState } from "vuex"; |
| | | |
| | | //加载指纹类 |
| | | import Client from "./Client"; |
| | | import doneVue from "../work/done.vue"; |
| | | // import func from "vue-editor-bridge"; |
| | | |
| | | export default { |
| | | data() { |
| | | const validatePass = (rule, value, callback) => { |
| | | if (value === "") { |
| | | callback(new Error("请输入密码")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | const validatePass2 = (rule, value, callback) => { |
| | | if (value === "") { |
| | | callback(new Error("请再次输入密码")); |
| | | } else if (value !== this.form.password) { |
| | | callback(new Error("两次输入密码不一致!")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | const validatePassNumber = (rule, value, callback) => { |
| | | var test = /^[0-9]*$/gm; |
| | | if (!test.test(value)) { |
| | | callback(new Error("请输入数字")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }; |
| | | // const validatePass = (rule, value, callback) => { |
| | | // if (value === "") { |
| | | // callback(new Error("请输入密码")); |
| | | // } else { |
| | | // callback(); |
| | | // } |
| | | // }; |
| | | // const validatePass2 = (rule, value, callback) => { |
| | | // if (value === "") { |
| | | // callback(new Error("请再次输入密码")); |
| | | // } else if (value !== this.form.password) { |
| | | // callback(new Error("两次输入密码不一致!")); |
| | | // } else { |
| | | // callback(); |
| | | // } |
| | | // }; |
| | | // const validatePassNumber = (rule, value, callback) => { |
| | | // var test = /^[0-9]*$/gm; |
| | | // if (!test.test(value)) { |
| | | // callback(new Error("请输入数字")); |
| | | // } else { |
| | | // callback(); |
| | | // } |
| | | // }; |
| | | var date = new Date(); |
| | | let year = date.getFullYear(), |
| | | mouth = date.getMonth() + 1, |
| | | day = date.getDate(), |
| | | oldy, |
| | | oldm, |
| | | oldd, |
| | | ok = false; |
| | | |
| | | const validatePassCardid = (rule, value, callback) => { |
| | | var test = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/g; |
| | | if (!test.test(value) && value.length < 17) { |
| | | // 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 { |
| | | callback(); |
| | | //加入校验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[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/g; |
| | | var test = /^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$/g; |
| | | if (!test.test(value)) { |
| | | callback(new Error("请输入正确手机号码")); |
| | | } else { |
| | |
| | | } |
| | | }; |
| | | return { |
| | | // 指纹数据 |
| | | isopen: false, //识别是否需要传指纹进去(解决异步传递后指纹DOM不存在的问题) |
| | | zhiwenImg: "", |
| | | zhiwenChart: "", |
| | | zhiwenTitle: "开始采集", |
| | | Client: "", //实例化指纹采集类合集 |
| | | isOr: true, |
| | | begin_cap: false, |
| | | RAWzhiwen: "", |
| | | yuzhi: 60, //指纹获取结束阈值 |
| | | // 指纹数据 |
| | | certificateYear: null, |
| | | certificateMonth: null, |
| | | certificateFlag: false, |
| | | certificateObj: { |
| | | realName: "", |
| | | securitynumber: "", |
| | | cardid: "", |
| | | registered: "", |
| | | }, |
| | | securityid: "", |
| | | excelBox1: false, |
| | | excelBox2: false, |
| | |
| | | res: "data", |
| | | }, |
| | | tip: "请上传 .xls,.xlsx 标准格式文件", |
| | | action: "/api/blade-user/import-user", |
| | | action: "/api/blade-user/import-security?deptId=" + this.deptIds, |
| | | }, |
| | | { |
| | | label: "模板下载", |
| | |
| | | propsHttp: { |
| | | res: "data", |
| | | }, |
| | | tip: "请上传 zip 压缩文件", |
| | | tip: "请上传 zip 压缩文件,照片文件名以身份证号码命名", |
| | | action: "/api/blade-resource/oss/endpoint/put-file-zip", |
| | | }, |
| | | ], |
| | | }, |
| | | |
| | | form: {}, |
| | | search: {}, |
| | | roleBox: false, |
| | |
| | | }, |
| | | roleId: "1412226235153731586", |
| | | deptId: "1413470343230877697", |
| | | deptIds: "", |
| | | platformPage: { |
| | | pageSize: 10, |
| | | currentPage: 1, |
| | |
| | | children: "children", |
| | | }, |
| | | }, |
| | | choiceList: [], |
| | | option: { |
| | | height: "auto", |
| | | calcHeight: 80, |
| | | tip: false, |
| | | tip: true, |
| | | searchShow: true, |
| | | |
| | | reserveSelection: true, |
| | | selectable: (row) => { |
| | | if (row.hold !== "1") { |
| | | return false; |
| | | } else { |
| | | return true; |
| | | } |
| | | }, |
| | | indexWidth: 55, |
| | | searchMenuSpan: 6, |
| | | stripe: true, |
| | | border: true, |
| | | delBtn: false, |
| | | |
| | | delBtn: true, |
| | | align: "center", |
| | | index: true, |
| | | delBtnText: "注销", |
| | | menuWidth: 271, |
| | | menuWidth: 327, |
| | | selection: true, |
| | | viewBtn: true, |
| | | defaultExpandAll: true, |
| | |
| | | ], |
| | | }, |
| | | { |
| | | label: "登录账号", |
| | | prop: "account", |
| | | editDisabled: true, |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入登录账号", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | // disabled: true, |
| | | }, |
| | | { |
| | | label: "密码", |
| | | prop: "password", |
| | | type: "password", |
| | | hide: true, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | rules: [ |
| | | { required: true, validator: validatePass, trigger: "blur" }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "确认密码", |
| | | prop: "password2", |
| | | type: "password", |
| | | hide: true, |
| | | editDisplay: false, |
| | | viewDisplay: false, |
| | | rules: [ |
| | | { required: true, validator: validatePass2, trigger: "blur" }, |
| | | ], |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "详细信息", |
| | | prop: "detailInfo", |
| | | labelWidth: "110", |
| | | icon: "el-icon-s-order", |
| | | column: [ |
| | | { |
| | | label: "姓名", |
| | | prop: "realName", |
| | | rules: [ |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "昵称", |
| | | prop: "name", |
| | | }, |
| | | { |
| | | label: "个人照片", |
| | | type: "upload", |
| | | listType: "picture-img", |
| | | propsHttp: { |
| | | res: "data", |
| | | url: "url", |
| | | }, |
| | | canvasOption: { |
| | | text: " ", |
| | | ratio: 0.1, |
| | | }, |
| | | action: "/api/blade-resource/oss/endpoint/put-files", |
| | | tip: "只能上传jpg/png个人头像,且不超过500kb", |
| | | span: 10, |
| | | // row: true, |
| | | prop: "avatar", |
| | | }, |
| | | { |
| | | label: "指纹信息", |
| | | type: "upload", |
| | | listType: "picture-img", |
| | | propsHttp: { |
| | | res: "data", |
| | | url: "url", |
| | | }, |
| | | canvasOption: { |
| | | text: " ", |
| | | ratio: 0.1, |
| | | }, |
| | | action: "/api/blade-resource/oss/endpoint/put-files", |
| | | tip: "只能上传jpg/png指纹信息,且不超过500kb", |
| | | span: 10, |
| | | // row: true, |
| | | prop: "fingerprint", |
| | | }, |
| | | { |
| | | label: "是否持证", |
| | | prop: "hold", |
| | | dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage", |
| | | props: { |
| | | label: "dictValue", |
| | | value: "dictKey", |
| | | }, |
| | | type: "select", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "保安员证编号", |
| | | prop: "securitynumber", |
| | | hide: true, |
| | | }, |
| | | // { |
| | | // label: "登录账号", |
| | | // prop: "account", |
| | | // editDisabled: true, |
| | | // rules: [ |
| | | // { |
| | | // required: true, |
| | | // message: "请输入登录账号", |
| | | // trigger: "blur", |
| | | // }, |
| | | // ], |
| | | // // disabled: true, |
| | | // }, |
| | | // { |
| | | // label: "密码", |
| | | // prop: "password", |
| | | // type: "password", |
| | | // hide: true, |
| | | // editDisplay: false, |
| | | // viewDisplay: false, |
| | | // rules: [ |
| | | // { required: true, validator: validatePass, trigger: "blur" }, |
| | | // ], |
| | | // }, |
| | | // { |
| | | // label: "确认密码", |
| | | // prop: "password2", |
| | | // type: "password", |
| | | // hide: true, |
| | | // editDisplay: false, |
| | | // viewDisplay: false, |
| | | // rules: [ |
| | | // { required: true, validator: validatePass2, trigger: "blur" }, |
| | | // ], |
| | | // }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "详细信息", |
| | | prop: "detailInfo", |
| | | labelWidth: "110", |
| | | icon: "el-icon-s-order", |
| | | column: [ |
| | | { |
| | | label: "身份证号", |
| | | prop: "cardid", |
| | |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | | // label: "昵称", |
| | | // prop: "name", |
| | | // }, |
| | | { |
| | | label: "个人照片", |
| | | type: "upload", |
| | | listType: "picture-img", |
| | | propsHttp: { |
| | | res: "data", |
| | | url: "url", |
| | | }, |
| | | canvasOption: { |
| | | text: " ", |
| | | ratio: 0.1, |
| | | }, |
| | | action: "/api/blade-resource/oss/endpoint/put-files", |
| | | tip: "上传二代身份证一寸近期彩色正面免冠图象, (358像素(宽) × 441像素(高)、分辨率350dpi)且不超过500kb", |
| | | span: 12, |
| | | // row: true, |
| | | prop: "avatar", |
| | | }, |
| | | { |
| | | label: "指纹信息", |
| | | // type: "upload", |
| | | // listType: "picture-img", |
| | | // propsHttp: { |
| | | // res: "data", |
| | | // url: "url", |
| | | // }, |
| | | // canvasOption: { |
| | | // text: " ", |
| | | // ratio: 0.1, |
| | | // }, |
| | | // action: "/api/blade-resource/oss/endpoint/put-files", |
| | | // tip: "只能上传jpg/png指纹信息,且不超过500kb", |
| | | span: 12, |
| | | // row: true, |
| | | prop: "fingerprint", |
| | | }, |
| | | // { |
| | | // label: "指纹信息", |
| | | // type: "upload", |
| | | // listType: "picture-img", |
| | | // propsHttp: { |
| | | // res: "data", |
| | | // url: "url", |
| | | // }, |
| | | // canvasOption: { |
| | | // text: " ", |
| | | // ratio: 0.1, |
| | | // }, |
| | | // action: "/api/blade-resource/oss/endpoint/put-files", |
| | | // tip: "只能上传jpg/png指纹信息,且不超过500kb", |
| | | // span: 12, |
| | | // // row: true, |
| | | // prop: "fingerprint", |
| | | // }, |
| | | { |
| | | label: "是否持证", |
| | | prop: "hold", |
| | | // dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage", |
| | | // props: { |
| | | // label: "dictValue", |
| | | // value: "dictKey", |
| | | // }, |
| | | type: "select", |
| | | dicData: [ |
| | | { |
| | | label: "是", |
| | | value: "1", |
| | | }, |
| | | { |
| | | label: "否", |
| | | value: "2", |
| | | }, |
| | | { |
| | | label: "已吊销", |
| | | value: "3", |
| | | }, |
| | | ], |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "保安员证编号", |
| | | prop: "securitynumber", |
| | | hide: true, |
| | | }, |
| | | // { |
| | | // label: "发证日期", |
| | | // prop: "paperTime", |
| | | // hide: true, |
| | | // type: "date", |
| | | // format: "yyyy-MM-dd", |
| | | // valueFormat: "yyyy-MM-dd", |
| | | // }, |
| | | { |
| | | label: "电子邮箱", |
| | | prop: "email", |
| | | }, |
| | | { |
| | | label: "籍贯", |
| | | prop: "nativeplace", |
| | | }, |
| | | // { |
| | | // label: "籍贯", |
| | | // prop: "nativeplace", |
| | | // }, |
| | | { |
| | | label: "民族", |
| | | prop: "nation", |
| | |
| | | prop: "address", |
| | | }, |
| | | { |
| | | label: "户口所在地", |
| | | label: "身份证住址", |
| | | prop: "registered", |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请输入身份证住址", |
| | | trigger: "click", |
| | | }, |
| | | ], |
| | | }, |
| | | { |
| | | label: "所属辖区", |
| | |
| | | // label: "未知", |
| | | // value: 3, |
| | | // }, |
| | | ], |
| | | rules: [ |
| | | { |
| | | required: true, |
| | | message: "请选择性别", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | }, |
| | | // { |
| | |
| | | res: "data", |
| | | }, |
| | | tip: "请上传 .xls,.xlsx 标准格式文件", |
| | | action: "/api/blade-user/import-user", |
| | | action: "/api/blade-user/import-security", |
| | | }, |
| | | // { |
| | | // label: "数据覆盖", |
| | |
| | | this.initData(this.form.tenantId); |
| | | } |
| | | }, |
| | | "form.fingerprint"() { |
| | | let that = this; |
| | | if (this.form.fingerprint != undefined) { |
| | | that.isopen = true; |
| | | let isoks = false; |
| | | function sets(state, 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, |
| | | }); |
| | | } |
| | | setTimeout(() => { |
| | | // if() |
| | | if (!this.form.id) { |
| | | sets(false); |
| | | return; |
| | | } |
| | | // return; |
| | | getzhiwen(this.form.id).then((res) => { |
| | | const data = res.data.data; |
| | | if (that.isopen) { |
| | | if ( |
| | | data.fingerprint != "" && |
| | | data.fingerprint != undefined && |
| | | data.myPicture != "" && |
| | | data.myPicture != undefined |
| | | ) { |
| | | sets(true, data.fingerprint, data.myPicture); |
| | | } else { |
| | | sets(false); |
| | | } |
| | | } |
| | | }); |
| | | }, 1800); |
| | | } else { |
| | | that.isopen = false; |
| | | } |
| | | }, |
| | | "form.deptId"() { |
| | | this.initData(this.form.tenantId); |
| | | }, |
| | | "excelForm.isCovered"() { |
| | | if (this.excelForm.isCovered !== "") { |
| | | const column = this.findObject(this.excelOption.column, "excelFile"); |
| | | column.action = `/api/blade-user/import-user?isCovered=${this.excelForm.isCovered}`; |
| | | column.action = `/api/blade-user/import-security?isCovered=${this.excelForm.isCovered}`; |
| | | } |
| | | }, |
| | | }, |
| | |
| | | }), |
| | | }, |
| | | beforeCreate() {}, |
| | | created() {}, |
| | | created() { |
| | | console.log(this.userInfo.role_name, 123541); |
| | | if (this.userInfo.role_name == "办证管理员") { |
| | | console.log(this.userInfo.role_name, 5555225); |
| | | this.search["userType"] = 7; |
| | | } |
| | | }, |
| | | mounted() { |
| | | // this.option.column[0].hide = true |
| | | // 非保安单位模式默认加载管理组数据 |
| | | if (!website.tenantMode) { |
| | | this.initData(website.tenantId); |
| | | } |
| | | console.log(this.search, 111); |
| | | this.search["status"] = 1; |
| | | if (this.userInfo.roleName == "办证管理员") { |
| | | this.search["userType"] = 7; |
| | | } |
| | | this.deptIds = this.userInfo.dept_id; |
| | | |
| | | // this.beginzhiwen(); |
| | | }, |
| | | methods: { |
| | | openccc() { |
| | | console.log(this.zhiwenImg); |
| | | // console.log(this.zhiwenChart); |
| | | // this.Client.CID_Alg_FeatureExtract( |
| | | // //99是获取特征 |
| | | // // ID_FingerPosition.UNKNOWN, |
| | | // 99, |
| | | // this.RAWzhiwen |
| | | // ); |
| | | // console.log(this.RAWzhiwen); |
| | | }, |
| | | beginzhiwen() { |
| | | //初始化指纹采集系统 |
| | | let that = this; |
| | | this.Client = new Client(); //实例化指纹采集类 |
| | | //添加指纹消息提醒 |
| | | //初始化设备 |
| | | this.Client.beginFn = { |
| | | fn: this.Client.CID_Init, |
| | | CID5000: this.Client.CIDDeviceType.CID5000, |
| | | }; |
| | | this.Client.OnCID_Alg_Begin = function (code, msg) { |
| | | //初始化机器返数据 |
| | | if (code == 1) { |
| | | console.log("初始化成功"); |
| | | that.zhiwenTitle = "选定指纹"; |
| | | that.isOr = false; |
| | | that.beginUseImg(); //开始预览指纹 |
| | | } else { |
| | | that.closezhiwen(); |
| | | alert("设备被占用或发生不可预料原因 错误码:" + code); |
| | | console.log("算法初始化发生错误 错误码:" + code); |
| | | } |
| | | }; |
| | | this.Client.OnCID_Close = function (code, msg) { |
| | | //关闭机器返数据 |
| | | if (code == 1) { |
| | | console.log("关闭设备成功"); |
| | | that.Client.CID_Alg_FeatureExtract( |
| | | //99是获取特征 |
| | | // ID_FingerPosition.UNKNOWN, |
| | | 99, |
| | | that.RAWzhiwen |
| | | ); |
| | | that.zhiwenTitle = "开始采集"; |
| | | that.isOr = true; |
| | | } else { |
| | | console.log("关闭设备发生错误 错误码:" + code); |
| | | } |
| | | }; |
| | | this.Client.OnCID_BeginCapture = function (code, msg) { |
| | | //开始使用预览图片模式函数 |
| | | // console.log(code, "图片模式开始"); |
| | | if (code == 1) { |
| | | that.Client.CID_GetFPBmpData(0); |
| | | } else { |
| | | console.log("开始采集发生错误 错误码:" + code); |
| | | } |
| | | }; |
| | | this.Client.OnCID_GetBmpData = function (code, msg, imagedata, feadata) { |
| | | //使用预览图片模式 采集 BMP格式 |
| | | // console.log(msg, "图片模式采集"); |
| | | if (code == 1) { |
| | | that.zhiwenImg = "data:image/bmp;base64," + imagedata; |
| | | if (that.begin_cap) { |
| | | that.Client.BmpToRaw(imagedata, 256, 360); |
| | | } |
| | | } else { |
| | | that.Client.CID_EndCapture(0); |
| | | that.begin_cap = false; |
| | | console.log("采集发生错误 错误码:" + code); |
| | | } |
| | | }; |
| | | // this.Client.OnBmpToRaw = function (code, msg, imagedata) { |
| | | // //使用预览图片模式 BMP格式转换成RAW |
| | | // // console.log(code, msg, "BMP格式转换成RAW"); |
| | | // // console.log(imagedata, "BMP格式转换成RAW"); |
| | | // if (code == 0) { |
| | | // that.RAWzhiwen = imagedata; |
| | | // // console.log(imagedata); |
| | | // that.Client.CID_Alg_GetQualityScore(imagedata); |
| | | // } else { |
| | | // that.Client.CID_EndCapture(0); |
| | | // that.begin_cap = false; |
| | | // console.log("格式转换失败," + code + " " + msg); |
| | | // } |
| | | // }; |
| | | this.Client.OnBmpToRaw = function (code, msg, imagedata) { |
| | | //使用预览图片模式 BMP格式转换成RAW |
| | | // console.log(code, msg, "BMP格式转换成RAW"); |
| | | if (code == 0) { |
| | | that.Client.CID_Alg_GetQualityScore(imagedata); |
| | | // console.log(imagedata); |
| | | that.RAWzhiwen = imagedata; |
| | | } else { |
| | | that.Client.CID_EndCapture(0); |
| | | that.begin_cap = false; |
| | | alert("格式转换失败," + code + " " + msg); |
| | | } |
| | | }; |
| | | this.Client.OnCID_EndCapture = function (code, msg) { |
| | | //使用预览图片模式 停止采集 |
| | | if (code == 1) { |
| | | if (that.begin_cap) { |
| | | that.Client.CID_BeginCapture(0); |
| | | } |
| | | } else { |
| | | that.begin_cap = false; |
| | | console.log("停止采集发生错误 错误码:" + code); |
| | | } |
| | | }; |
| | | this.Client.OnCID_Alg_GetQualityScore = function (code, msg, score) { |
| | | //停止获取 |
| | | console.log( |
| | | "code:" + code + ";", |
| | | "msg:" + msg + ";", |
| | | "score:" + score + ";", |
| | | "传送RAW图片代码后返回值" |
| | | ); |
| | | if (code == 1) { |
| | | if (score >= that.yuzhi) { |
| | | that.begin_cap = false; |
| | | that.Client.CID_EndCapture(0); |
| | | that.Client.CID_Alg_FeatureExtract( |
| | | //99是获取特征 |
| | | // ID_FingerPosition.UNKNOWN, |
| | | 99, |
| | | that.RAWzhiwen |
| | | ); |
| | | } else { |
| | | that.Client.CID_EndCapture(0); |
| | | } |
| | | } else if (code == -9) { |
| | | that.Client.CID_EndCapture(0); |
| | | } else { |
| | | that.Client.CID_EndCapture(0); |
| | | that.begin_cap = false; |
| | | // console.log("获取质量分数发生错误 错误码:" + code); |
| | | console.log("获取质量分数发生错误 错误码:" + code); |
| | | } |
| | | }; |
| | | this.Client.OnCID_Alg_FeatureExtract = function (code, msg, featuredata) { |
| | | //获取特征 |
| | | if (code == 1) { |
| | | that.zhiwenChart = featuredata; |
| | | console.log("特征提取成功"); |
| | | console.log("特征提取成功", that.zhiwenChart); |
| | | } else { |
| | | console.log("特征提取发生错误 错误码:" + code); |
| | | } |
| | | }; |
| | | }, |
| | | openzhiwen() { |
| | | // 连接指纹助手 |
| | | this.Client.Connect_Server(); //成功后台打印Connect Success |
| | | //成功后将自动初始化设备 |
| | | //若不成功将重复2秒计时重连设备 |
| | | }, |
| | | closezhiwen() { |
| | | // 关闭指纹设备 |
| | | if (!this.Client.isConnect) { |
| | | console.log("助手程序未连接"); |
| | | return; |
| | | } |
| | | this.Client.CID_Close(); |
| | | }, |
| | | beginUseImg() { |
| | | //开始预览图片 |
| | | if (!this.Client.isConnect) { |
| | | alert("助手程序未连接"); |
| | | return; |
| | | } |
| | | this.begin_cap = true; |
| | | this.Client.CID_BeginCapture(0); |
| | | }, |
| | | handleImport1() { |
| | | this.excelBox1 = true; |
| | | }, |
| | |
| | | |
| | | //行点击事件 |
| | | rowClick(row) { |
| | | // console.log(row, 111); |
| | | this.$router.push({ |
| | | path: "/securityGuardDetail", |
| | | query: { row: JSON.stringify(row) }, |
| | | }); |
| | | }, |
| | | //行点击事件 |
| | | certificateClick(row) { |
| | | if (row) { |
| | | var time = this.getNewTime(); |
| | | this.certificateYear = time[0]; |
| | | this.certificateMonth = time[1]; |
| | | this.certificateObj = row; |
| | | setTimeout(() => { |
| | | this.Print(); |
| | | }, 500); |
| | | } |
| | | }, |
| | | Print() { |
| | | if ( |
| | | this.certificateObj.registered == "" || |
| | | this.certificateObj.registered == null |
| | | ) { |
| | | this.$message({ message: "请完善身份证住址信息", type: "warning" }); |
| | | return; |
| | | } |
| | | //更新发证时间 |
| | | var printDom = document.getElementById("certificateDom"); |
| | | printDom.style.position = "absolute"; |
| | | printDom.style.top = "-25.0%"; |
| | | printDom.style.left = "-23%"; |
| | | printDom.style.width = "120%"; |
| | | printDom.style.height = "100%"; |
| | | printDom.style.fontFamily = "SimSun"; |
| | | |
| | | this.$print("#certificateDom", { |
| | | noPrint: ".noPrint", |
| | | onStart: () => { |
| | | // console.log('打印开始', Date.parse(new Date())); |
| | | }, |
| | | onEnd: () => { |
| | | this.updateUserInfo(); |
| | | // console.log('打印完成', Date.parse(new Date())); |
| | | }, |
| | | }); |
| | | }, |
| | | getNewTime() { |
| | | var nowTime = new Date(); |
| | | |
| | | var oneHoursAgo = new Date( |
| | | new Date(nowTime).getTime() - 1 * 60 * 60 * 1000 |
| | | ); |
| | | var oneHoursAgoY = oneHoursAgo.getFullYear(); |
| | | var oneHoursAgoM = |
| | | oneHoursAgo.getMonth() + 1 < 10 |
| | | ? "0" + (oneHoursAgo.getMonth() + 1) |
| | | : oneHoursAgo.getMonth() + 1; |
| | | |
| | | /** |
| | | * @return 返回1小时,2小时,3小时,4小时,24小时 |
| | | */ |
| | | return [oneHoursAgoY, oneHoursAgoM]; |
| | | }, |
| | | //更新用户发证时间 |
| | | updateUserInfo() { |
| | | var nowTime = new Date(); |
| | | var oneHoursAgo = new Date( |
| | | new Date(nowTime).getTime() - 1 * 60 * 60 * 1000 |
| | | ); |
| | | var oneHoursAgoY = oneHoursAgo.getFullYear(); |
| | | var oneHoursAgoM = |
| | | oneHoursAgo.getMonth() + 1 < 10 |
| | | ? "0" + (oneHoursAgo.getMonth() + 1) |
| | | : oneHoursAgo.getMonth() + 1; |
| | | var day = oneHoursAgo.getDay(); |
| | | var date = oneHoursAgoY + "-" + oneHoursAgoM + "-" + day; |
| | | const data = { |
| | | id: this.certificateObj.id, |
| | | userType: 6, |
| | | paperTime: date, |
| | | }; |
| | | updatePaperTime(data); |
| | | }, |
| | | rowClickSelf(row) { |
| | | console.log(row, "baoan"); |
| | | this.$router.push({ |
| | | path: "/securityUnitChild", |
| | | query: { fromSecunityGuardId: row }, |
| | |
| | | this.onLoad(this.page); |
| | | }); |
| | | }, |
| | | //制证申请 |
| | | handleSecurityApply() { |
| | | if (this.choiceList.length === 0) { |
| | | this.$message.warning("请勾选至少一位持证保安员"); |
| | | return; |
| | | } |
| | | this.$confirm( |
| | | "共选择制证申请人数" + this.choiceList.length + "人,确定申请制证?", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | let cho = this.choiceList; |
| | | let str = ""; |
| | | for (let k in cho) { |
| | | str += cho[k].id; |
| | | if (k != cho.length - 1) { |
| | | str += ","; |
| | | } |
| | | } |
| | | const data = { |
| | | ids: str, |
| | | createUser: this.userInfo.user_id, |
| | | type:1 |
| | | }; |
| | | return securityApply(data); |
| | | }) |
| | | .then(() => { |
| | | // this.$refs.crud.toggleSelection(); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | //证书制证申请 |
| | | handleSecurityPaperApply() { |
| | | if (this.choiceList.length === 0) { |
| | | this.$message.warning("请勾选至少一位持证保安员"); |
| | | return; |
| | | } |
| | | this.$confirm( |
| | | "共选择制证申请人数" + this.choiceList.length + "人,确定申请制证?", |
| | | { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | let cho = this.choiceList; |
| | | let str = ""; |
| | | for (let k in cho) { |
| | | str += cho[k].id; |
| | | if (k != cho.length - 1) { |
| | | str += ","; |
| | | } |
| | | } |
| | | const data = { |
| | | ids: str, |
| | | createUser: this.userInfo.user_id, |
| | | type:2 |
| | | }; |
| | | return securityApply(data); |
| | | }) |
| | | .then(() => { |
| | | // this.$refs.crud.toggleSelection(); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | rowSave(row, done, loading) { |
| | | // var dom = document.getElementById("zhiwenOur"); |
| | | // window.frames["iframe的name值"].document.getElementById("iframe中控件的ID").click(); |
| | | var winzhiwen = document.getElementById("zhiwen").contentWindow; |
| | | let zhiwen = winzhiwen.outZhiwenData(); |
| | | // console.log(zhiwen); |
| | | // for (let k in zhiwen) { |
| | | // console.log(k); |
| | | // console.log(zhiwen[k]); |
| | | // } |
| | | // return; |
| | | if (row.deptId) { |
| | | row.deptId = row.deptId; |
| | | } |
| | |
| | | if (row.postId) { |
| | | row.postId = row.postId.join(","); |
| | | } |
| | | |
| | | const userMap = { |
| | | user: { |
| | | //指纹↓ |
| | | fingerprint: zhiwen.imgBMP, //图 |
| | | myPicture: zhiwen.featuredata, //特征 |
| | | //指纹↑ |
| | | account: row.account, |
| | | avatar: row.avatar, |
| | | fingerprint: row.fingerprint, |
| | | // fingerprint: row.fingerprint, |
| | | healstats: row.healstats, |
| | | address: row.address, |
| | | birthday: row.birthday, |
| | |
| | | height: row.height, |
| | | hold: row.hold, |
| | | jurisdiction: row.jurisdiction, |
| | | myPicture: row.myPicture, |
| | | // myPicture: row.myPicture, |
| | | name: row.name, |
| | | nation: row.nation, |
| | | nativeplace: row.nativeplace, |
| | |
| | | sex: row.sex, |
| | | }, |
| | | }; |
| | | |
| | | securitySave(userMap).then( |
| | | () => { |
| | | this.initFlag = false; |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | this.$alert("账号为身份证号码,密码为身份证后六位", "温馨提示", { |
| | | confirmButtonText: "确定", |
| | | callback: (action) => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: `操作成功`, |
| | | }); |
| | | this.onLoad(this.page); |
| | | done(); |
| | | }, |
| | | }); |
| | | done(); |
| | | }, |
| | | (error) => { |
| | | window.console.log(error); |
| | |
| | | row.postId = row.postId.join(","); |
| | | //值替换,education 放在页面会卡死 |
| | | row.education = row.education1; |
| | | |
| | | var winzhiwen = document.getElementById("zhiwen").contentWindow; |
| | | let zhiwen = winzhiwen.outZhiwenData(); |
| | | // console.log(zhiwen); |
| | | if (zhiwen.isoks) { |
| | | row.fingerprint = zhiwen.imgBMP; |
| | | row.myPicture = zhiwen.featuredata; |
| | | } |
| | | // console.log(row); |
| | | // return; |
| | | update(row).then( |
| | | () => { |
| | | this.initFlag = false; |
| | |
| | | ); |
| | | }, |
| | | rowDellook(row) { |
| | | // console.log(row.reasonForLeav); |
| | | this.$alert( |
| | | row.reasonForLeav == "" ? "未填写" : row.reasonForLeav, |
| | | "离职原因", |
| | |
| | | } |
| | | ); |
| | | }, |
| | | rowDel(row) { |
| | | rowStatus(row) { |
| | | this.$prompt("离职原因", "提示", { |
| | | confirmButtonText: "确定离职", |
| | | cancelButtonText: "取消", |
| | | inputErrorMessage: "", |
| | | }) |
| | | .then(({ value }) => { |
| | | console.log(value); |
| | | row.reasonForLeav = value; |
| | | row.status = "2"; |
| | | // console.log(update); |
| | | // return; |
| | | update(row).then((res) => { |
| | | this.$message({ |
| | |
| | | this.refreshChange(); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | rowDel(row) { |
| | | this.$confirm("确定注销当前用户?", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | return remove(row.id); |
| | | }) |
| | | .then(() => { |
| | | this.onLoad(this.page); |
| | | this.$message({ |
| | | type: "success", |
| | | message: "操作成功!", |
| | | }); |
| | | }); |
| | | }, |
| | | rowCheck(row) { |
| | | this.$confirm("确定审查异常标记?", { |
| | |
| | | done(); |
| | | }, |
| | | selectionChange(list) { |
| | | this.selectionList = list; |
| | | // this.selectionList = list; |
| | | this.choiceList = []; |
| | | for (let k in list) { |
| | | this.choiceList.push({ |
| | | id: list[k].id, |
| | | }); |
| | | } |
| | | }, |
| | | selectionClear() { |
| | | this.selectionList = []; |
| | | this.$refs.crud.toggleSelection(); |
| | | // this.selectionList = []; |
| | | // this.$refs.crud.toggleSelection(); |
| | | }, |
| | | handleDelete() { |
| | | if (this.selectionList.length === 0) { |
| | |
| | | that.isSecurity = false; |
| | | //如果是保安公司管理员 |
| | | params["deptId"] = that.userInfo.dept_id; |
| | | |
| | | //导入action 修改 |
| | | const importColumn = that.findObject( |
| | | that.excelOption1.column, |
| | | "excelFile" |
| | | ); |
| | | importColumn.action = |
| | | "/api/blade-user/import-security?deptId=" + this.deptIds; |
| | | } else if (roleAlias == "公安管理员") { |
| | | params["jurisdiction"] = that.userInfo.jurisdiction; |
| | | var columnDept = that.findObject(that.option.column, "deptId"); |
| | |
| | | ColumnDeptUpdate.dicUrl = |
| | | "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697&jurisdiction=" + |
| | | that.userInfo.jurisdiction; |
| | | } 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 = |
| | |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | |
| | | <style lang="scss" scoped> |
| | | .box { |
| | | height: 800px; |
| | |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | </style> |
| | | //保安证 本子 |
| | | .certificate_box { |
| | | width: 100%; |
| | | height: 90%; |
| | | background-color: #fff; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | font: normal 18px "SimSuncss" !important; |
| | | } |
| | | .security_main { |
| | | width: 630px; |
| | | height: 512px; |
| | | // border: 1px solid rgba($color: #a5a5a5, $alpha: 0.5); |
| | | // display: flex; |
| | | // align-items: center; |
| | | // justify-content: space-around; |
| | | // background-size: 100% 100%; |
| | | // background-repeat: no-repeat; |
| | | position: relative; |
| | | } |
| | | // 标题 |
| | | $upTop: 45px; |
| | | $downTop: 265px; //整体高度 |
| | | //经国家保安员考试审查合格。<br />特颁此证。 |
| | | .security_main-title { |
| | | position: absolute; |
| | | top: $upTop; |
| | | left: 34px; |
| | | line-height: 45px; |
| | | letter-spacing: 3px; |
| | | } |
| | | //发证公安机关 (印章) |
| | | .security_m_l_center { |
| | | position: absolute; |
| | | top: 270px; |
| | | left: 30px; |
| | | line-height: 40px; |
| | | } |
| | | //证件编号 |
| | | .security_m_l_down { |
| | | position: absolute; |
| | | top: 379px; |
| | | left: 32px; |
| | | } |
| | | |
| | | $rightLeft: 343px; |
| | | $rightFontSize: 18px; |
| | | $rightWidth: 77px; |
| | | |
| | | $lineHigeht: 30px; |
| | | //姓名 |
| | | .security_m_r_a { |
| | | position: absolute; |
| | | top: $downTop; |
| | | left: $rightLeft; |
| | | width: $rightWidth; |
| | | text-align: justify; |
| | | text-align-last: justify; |
| | | } |
| | | //出生年月 |
| | | .security_m_r_b { |
| | | position: absolute; |
| | | top: $downTop + $lineHigeht * 1; |
| | | left: $rightLeft; |
| | | width: $rightWidth; |
| | | text-align: justify; |
| | | text-align-last: justify; |
| | | } |
| | | //地址 |
| | | .security_m_r_c { |
| | | position: absolute; |
| | | top: $downTop + $lineHigeht * 2; |
| | | left: $rightLeft; |
| | | width: $rightWidth; |
| | | text-align: justify; |
| | | text-align-last: justify; |
| | | } |
| | | //公民身份证 |
| | | .security_m_r_d { |
| | | position: absolute; |
| | | top: 363px; |
| | | left: $rightLeft; |
| | | width: $rightWidth; |
| | | text-align: justify; |
| | | text-align-last: justify; |
| | | } |
| | | //照片 |
| | | // width: calc(358px / 22px); |
| | | // height: calc(441px / 22px); |
| | | .security_m_r_imgs { |
| | | width: calc(358px / 3); |
| | | height: calc(441px / 3); |
| | | position: absolute; |
| | | top: $upTop; |
| | | left: 421px; |
| | | img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | |
| | | // 内容 |
| | | // 抬头名字 |
| | | .security_m_l_titleName { |
| | | position: absolute; |
| | | top: 45px; |
| | | left: 121px; |
| | | right: 0; |
| | | line-height: 45px; |
| | | letter-spacing: 3px; |
| | | } |
| | | //发证时间 |
| | | $timeTop: 312px; //整体高度 |
| | | //年 |
| | | .security_m_l_titlepaperTimenian { |
| | | position: absolute; |
| | | top: $timeTop; |
| | | left: 109px; |
| | | line-height: 40px; |
| | | } |
| | | //月 |
| | | .security_m_l_titlepaperTimeyue { |
| | | position: absolute; |
| | | top: $timeTop; |
| | | left: 168px; |
| | | line-height: 40px; |
| | | } |
| | | //日 |
| | | .security_m_l_titlepaperTimeri { |
| | | position: absolute; |
| | | top: $timeTop; |
| | | left: 159px; |
| | | line-height: 40px; |
| | | } |
| | | //证件编号 |
| | | .security_m_l_downsecuritynumber { |
| | | position: absolute; |
| | | top: 386px; //整体高度 |
| | | left: 145px; |
| | | } |
| | | |
| | | //内容 |
| | | // 姓名 |
| | | $centerLeft: 458px; |
| | | .security_m_r_o_right { |
| | | position: absolute; |
| | | top: $downTop + $lineHigeht * 0-2px; |
| | | left: $centerLeft; |
| | | // width: $rightWidth; |
| | | } |
| | | // 生日 |
| | | .security_m_r_o_rightbirthday { |
| | | position: absolute; |
| | | top: $downTop + $lineHigeht * 1-4px; |
| | | left: $centerLeft; |
| | | // width: $rightWidth; |
| | | } |
| | | // 地址 |
| | | .security_m_r_o_rightaddress { |
| | | position: absolute; |
| | | top: $downTop + $lineHigeht * 2 -6px; |
| | | left: $centerLeft; |
| | | width: 185px; |
| | | } |
| | | // 身份证 |
| | | .security_m_r_o_rightcardid { |
| | | position: absolute; |
| | | top: $downTop + $lineHigeht * 4 +10px; |
| | | left: $centerLeft; |
| | | // width: $rightWidth; |
| | | } |
| | | //背景图 |
| | | .security_main_backImge { |
| | | position: absolute; |
| | | width: 100%; |
| | | height: 100%; |
| | | background-image: url(/img/securityCertificate/bazsss.png); |
| | | background-size: 100% 100%; |
| | | background-repeat: no-repeat; |
| | | } |
| | | |
| | | .security_m_r_o_jg { |
| | | position: absolute; |
| | | top: 267px; |
| | | left: 210px; |
| | | line-height: 40px; |
| | | letter-spacing: 2px; |
| | | } |
| | | .zhiwenMain { |
| | | width: 100%; |
| | | height: 305px; |
| | | // display: flex; |
| | | // align-items: center; |
| | | // justify-content: space-around; |
| | | // border: 1px solid red; |
| | | } |
| | | // .zhiwenImgs { |
| | | // width: 178px; |
| | | // height: 178px; |
| | | // border-radius: 5px; |
| | | // text-align: center; |
| | | // border: 1px dashed #8c939d; |
| | | // } |
| | | </style> |