From 7becb16bb38cb3284c7f4e3dc2c486dd55812c8a Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 20 Dec 2023 16:48:23 +0800
Subject: [PATCH] 保安图标
---
src/views/securityGuard/securityGuard.vue | 1074 ++++++++++++++++++++++++++++++-----------------------------
1 files changed, 547 insertions(+), 527 deletions(-)
diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index 96c421b..d0834f7 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -14,220 +14,109 @@
</div>
</el-col> -->
<el-col :span="24">
- <basic-container
- :class="[
- screenSize == 1366 ? 'smallSize' : 'normalSize',
- $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
- ]"
- >
+ <basic-container :class="[
+ screenSize == 1366 ? 'smallSize' : 'normalSize',
+ $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : ''
+ ]">
<!-- :key="option.height" -->
- <avue-crud
- class="tablesss"
- :option="option"
- :search.sync="search"
- :table-loading="loading"
- :data="data"
- ref="crud"
- v-model="form"
- :permission="permissionList"
- @row-del="rowDel"
- :row-style="rowStyle"
- @row-save="rowSave"
- @row-update="rowUpdate"
- :before-open="beforeOpen"
- :page.sync="page"
- @sort-change="sortChange"
- @search-change="searchChange"
- @search-reset="searchReset"
- @selection-change="selectionChange"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad"
- :upload-before="uploadBefore"
- :defaults.sync="defaults"
- :before-close="beforeClose"
- >
+ <avue-crud class="tablesss" :option="option" :search.sync="search" :table-loading="loading" :data="data"
+ ref="crud" v-model="form" :permission="permissionList" @row-del="rowDel" :row-style="rowStyle"
+ @row-save="rowSave" @row-update="rowUpdate" :before-open="beforeOpen" :page.sync="page"
+ @sort-change="sortChange" @search-change="searchChange" @search-reset="searchReset"
+ @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
+ @refresh-change="refreshChange" @on-load="onLoad" :upload-before="uploadBefore" :defaults.sync="defaults"
+ :before-close="beforeClose">
<!-- @row-update="rowUpdate" -->
<template slot="menuLeft">
- <el-button
- type="success"
- size="small"
- plain
- icon="el-icon-upload2"
- v-if="permission.securityGuard_import"
- @click="handleImport1"
- >保安员批量导入
+ <el-button type="primary" size="small" plain icon="el-icon-s-check"
+ @click="handleBatchAudit">批量审批
</el-button>
- <el-button
- type="success"
- size="small"
- plain
- icon="el-icon-upload2"
- v-if="permission.securityGuard_import"
- @click="handleImport2"
- >个人照片批量上传
+ <el-button type="success" size="small" plain icon="el-icon-upload2" v-if="permission.securityGuard_import"
+ @click="handleImport1">保安员批量导入
</el-button>
- <el-button
- type="primary"
- style="display: none;"
- size="small"
- plain
- v-if="permission.securityGuard_security_apply"
- icon="el-icon-s-promotion"
- @click="handleSecurityApply"
- >上岗证制证申请
+ <el-button type="success" size="small" plain icon="el-icon-upload2" v-if="permission.securityGuard_import"
+ @click="handleImport2">个人照片批量上传
</el-button>
- <el-button
- type="primary"
- style="display: none;"
- size="small"
- plain
- v-if="permission.securityGuard_security_paper_apply"
- icon="el-icon-collection-tag"
- @click="handleSecurityPaperApply"
- >证书制证申请
+ <el-button type="success" size="small" plain icon="el-icon-upload2" v-if="permission.securityGuard_import"
+ @click="handleImportHealth">健康状况图片(健康证)批量上传
</el-button>
- <el-button
- type="warning"
- size="small"
- plain
- icon="el-icon-download"
- v-if="permission.export_security_info"
- @click="handleExportSecurityInfo"
- >保安信息导出
+ <el-button type="success" size="small" plain icon="el-icon-upload2" v-if="permission.securityGuard_import"
+ @click="handleImportNoCriminal">无犯罪记录图片批量上传
+ </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="warning" size="small" plain icon="el-icon-download" v-if="permission.export_security_info"
+ @click="handleExportSecurityInfo">保安信息导出
</el-button>
- <el-button
- type="danger"
- size="small"
- plain
- icon="el-icon-delete"
- v-if="permission.securityGuard_delete"
- @click="handleDelete"
- >注 销
+
+ <el-button type="danger" size="small" plain icon="el-icon-delete" v-if="permission.securityGuard_delete"
+ @click="handleDelete">注 销
</el-button>
- <el-button
- type="info"
- style="display: none"
- size="small"
- plain
- v-if="permission.user_role"
- icon="el-icon-user"
- @click="handleGrant"
- >角色配置
+ <el-button type="info" style="display: none" size="small" plain v-if="permission.user_role"
+ icon="el-icon-user" @click="handleGrant">角色配置
</el-button>
- <el-button
- type="info"
- style="display: none"
- size="small"
- plain
- v-if="permission.user_reset"
- icon="el-icon-refresh"
- @click="handleReset"
- >密码重置
+ <el-button type="info" style="display: none" size="small" plain v-if="permission.user_reset"
+ icon="el-icon-refresh" @click="handleReset">密码重置
</el-button>
- <el-button
- type="info"
- style="display: none"
- size="small"
- plain
- v-if="userInfo.role_name.includes('admin')"
- icon="el-icon-setting"
- @click="handlePlatform"
- >平台配置
+ <el-button type="info" style="display: none" size="small" plain v-if="userInfo.role_name.includes('admin')"
+ icon="el-icon-setting" @click="handlePlatform">平台配置
</el-button>
- <el-button
- type="success"
- style="display: none"
- size="small"
- plain
- v-if="userInfo.role_name.includes('admin')"
- icon="el-icon-upload2"
- @click="handleImport"
- >导入
+ <el-button type="success" style="display: none" size="small" plain v-if="userInfo.role_name.includes('admin')"
+ icon="el-icon-upload2" @click="handleImport">导入
</el-button>
- <el-button
- type="warning"
- style="display: none"
- size="small"
- plain
- v-if="userInfo.role_name.includes('admin')"
- icon="el-icon-download"
- @click="handleExport"
- >导出
+ <el-button type="warning" style="display: none" size="small" plain v-if="userInfo.role_name.includes('admin')"
+ icon="el-icon-download" @click="handleExport">导出
</el-button>
</template>
<template slot-scope="{ type, size, row }" slot="menu">
- <el-tooltip
- placement="bottom"
- effect="light"
- transition="el-collapse-transition"
- popper-class="caozuolanpopper"
- >
+ <el-tooltip placement="bottom" effect="light" transition="el-collapse-transition"
+ popper-class="caozuolanpopper">
<div slot="content">
- <el-button
- icon="el-icon-view"
- :size="size"
- :type="type"
- v-if="permission.securityGuard_view"
- @click.stop="rowClick(row)"
- >查看
+ <el-button icon="el-icon-view" :size="size" :type="type" v-if="permission.securityGuard_view"
+ @click.stop="rowClick(row)">查看
</el-button>
<br v-if="permission.securityGuard_view" />
- <el-button
- icon="el-icon-scissors"
- :size="size"
- :type="type"
- v-if="permission.securityGuard_delete && row.status != 2"
- @click="$refs.crud.rowEdit(row, index)"
- >编辑
+
+ <el-button icon="el-icon-scissors" :size="size" :type="type"
+ v-if="permission.securityGuard_delete && row.status != 2" @click="$refs.crud.rowEdit(row, index)">编辑
</el-button>
<br v-if="permission.securityGuard_delete && row.status != 2" />
- <el-button
- icon="el-icon-close"
- :size="size"
- :type="type"
- v-if="permission.securityGuard_delete && row.status != 2"
- @click="$refs.crud.rowDel(row, index)"
- >注销
+
+ <el-button icon="el-icon-s-check" :size="size" :type="type"
+ v-if="permission.securityGuard_delete && row.status != 2" @click="handleAudit(row)">审批
</el-button>
<br v-if="permission.securityGuard_delete && row.status != 2" />
- <el-button
- icon="el-icon-circle-close"
- :size="size"
- :type="type"
- v-if="permission.securityGuard_delete && row.status != 2"
- @click.stop="rowStatus(row)"
- >离职
+
+ <el-button icon="el-icon-close" :size="size" :type="type"
+ v-if="permission.securityGuard_delete && row.status != 2" @click="$refs.crud.rowDel(row, index)">注销
</el-button>
<br v-if="permission.securityGuard_delete && row.status != 2" />
- <el-button
- icon="el-icon-search"
- :size="size"
- :type="type"
- v-if="row.status == 2"
- @click.stop="rowDellook(row)"
- >离职查询
+
+ <el-button icon="el-icon-circle-close" :size="size" :type="type"
+ v-if="permission.securityGuard_delete && row.status != 2" @click.stop="rowStatus(row)">离职
+ </el-button>
+ <br v-if="permission.securityGuard_delete && row.status != 2" />
+
+ <el-button icon="el-icon-search" :size="size" :type="type" v-if="row.status == 2"
+ @click.stop="rowDellook(row)">离职查询
</el-button>
<br v-if="row.status == 2" />
- <el-button
- icon="el-icon-user"
- :size="size"
- :type="type"
- v-if="permission.securityGuard_check"
- @click.stop="rowCheck(row)"
- >异常
+
+ <el-button icon="el-icon-user" :size="size" :type="type" v-if="permission.securityGuard_check"
+ @click.stop="rowCheck(row)">异常
</el-button>
<br v-if="permission.securityGuard_check" />
- <el-button
- icon="el-icon-money"
- :size="size"
- :type="type"
- v-if="permission.securityGuard_check_apply"
- @click.stop="rowCheckApply(row)"
- >证件核实申请
+
+ <el-button icon="el-icon-money" :size="size" :type="type" v-if="permission.securityGuard_check_apply"
+ @click.stop="rowCheckApply(row)">证件核实申请
</el-button>
<!-- <br />
<el-button
@@ -240,8 +129,7 @@
>纸质证书制作
</el-button> -->
</div>
- <el-button icon="el-icon-s-operation" :size="size" :type="type"
- >操作
+ <el-button icon="el-icon-s-operation" :size="size" :type="type">操作
</el-button>
</el-tooltip>
@@ -292,11 +180,7 @@
<el-tag v-if="row.sex == 2">女</el-tag>
</template>
<template slot-scope="{ row }" slot="deptId">
- <el-tag
- class="rowClickSelf"
- title="点击查看所属公司情况"
- @click="rowClickSelf(row.deptId)"
- >{{ row.deptName }}
+ <el-tag class="rowClickSelf" title="点击查看所属公司情况" @click="rowClickSelf(row.deptId)">{{ row.deptName }}
</el-tag>
</template>
<template slot-scope="{ row }" slot="unitName">
@@ -333,34 +217,14 @@
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>
+ <iframe id="zhiwen" ref="zhiwen" src="/zhiwenDemo/CID.html" frameborder="0" width="100%" height="100%"
+ name="zhiwen"></iframe>
</div>
</template>
</avue-crud>
- <el-dialog
- title="用户角色配置"
- append-to-body
- :visible.sync="roleBox"
- width="345px"
- >
- <el-tree
- :data="roleGrantList"
- show-checkbox
- check-strictly
- default-expand-all
- node-key="id"
- ref="treeRole"
- :default-checked-keys="roleTreeObj"
- :props="props"
- >
+ <el-dialog title="用户角色配置" append-to-body :visible.sync="roleBox" width="345px">
+ <el-tree :data="roleGrantList" show-checkbox check-strictly default-expand-all node-key="id" ref="treeRole"
+ :default-checked-keys="roleTreeObj" :props="props">
</el-tree>
<span slot="footer" class="dialog-footer">
@@ -368,17 +232,8 @@
<el-button type="primary" @click="submitRole">确 定</el-button>
</span>
</el-dialog>
- <el-dialog
- title="用户数据导入"
- append-to-body
- :visible.sync="excelBox"
- width="555px"
- >
- <avue-form
- :option="excelOption"
- v-model="excelForm"
- :upload-after="uploadAfter"
- >
+ <el-dialog title="用户数据导入" append-to-body :visible.sync="excelBox" width="555px">
+ <avue-form :option="excelOption" v-model="excelForm" :upload-after="uploadAfter">
<template slot="excelTemplate">
<el-button type="primary" @click="handleTemplate">
点击下载<i class="el-icon-download el-icon--right"></i>
@@ -386,29 +241,13 @@
</template>
</avue-form>
</el-dialog>
- <el-dialog
- title="用户平台配置"
- append-to-body
- :visible.sync="platformBox"
- >
- <avue-crud
- :option="platformOption"
- :table-loading="platformLoading"
- :data="platformData"
- ref="platformCrud"
- v-model="platformForm"
- :before-open="platformBeforeOpen"
- :page.sync="platformPage"
- :permission="platformPermissionList"
- @row-update="platformRowUpdate"
- @search-change="platformSearchChange"
- @search-reset="platformSearchReset"
- @selection-change="platformSelectionChange"
- @current-change="platformCurrentChange"
- @size-change="platformSizeChange"
- @refresh-change="platformRefreshChange"
- @on-load="platformOnLoad"
- >
+ <el-dialog title="用户平台配置" append-to-body :visible.sync="platformBox">
+ <avue-crud :option="platformOption" :table-loading="platformLoading" :data="platformData" ref="platformCrud"
+ v-model="platformForm" :before-open="platformBeforeOpen" :page.sync="platformPage"
+ :permission="platformPermissionList" @row-update="platformRowUpdate" @search-change="platformSearchChange"
+ @search-reset="platformSearchReset" @selection-change="platformSelectionChange"
+ @current-change="platformCurrentChange" @size-change="platformSizeChange"
+ @refresh-change="platformRefreshChange" @on-load="platformOnLoad">
<template slot-scope="{ row }" slot="tenantName">
<el-tag>{{ row.tenantName }}</el-tag>
</template>
@@ -417,17 +256,8 @@
</template>
</avue-crud>
</el-dialog>
- <el-dialog
- title="保安员导入"
- append-to-body
- :visible.sync="excelBox1"
- width="555px"
- >
- <avue-form
- :option="excelOption1"
- v-model="excelForm1"
- :upload-after="uploadAfter1"
- >
+ <el-dialog title="保安员导入" append-to-body :visible.sync="excelBox1" width="555px">
+ <avue-form :option="excelOption1" v-model="excelForm1" :upload-after="uploadAfter1">
<template slot="excelTemplate">
<el-button type="primary" @click="handleTemplate1">
点击下载<i class="el-icon-download el-icon--right"></i>
@@ -435,38 +265,24 @@
</template>
</avue-form>
</el-dialog>
- <el-dialog
- title="个人照片批量上传"
- append-to-body
- :visible.sync="excelBox2"
- width="555px"
- >
- <avue-form
- :option="excelOption2"
- v-model="excelForm2"
- :upload-after="uploadAfter2"
- >
+ <el-dialog title="个人照片批量上传" append-to-body :visible.sync="excelBox2" width="555px">
+ <avue-form :option="excelOption2" v-model="excelForm2" :upload-after="uploadAfter2">
</avue-form>
</el-dialog>
- <el-dialog
- title="证件核实申请"
- :visible.sync="securityCheckApplyvisible"
- width="width"
- :modal="true"
- :modal-append-to-body="true"
- :append-to-body="true"
- :close-on-click-modal="false"
- :close-on-press-escape="false"
- :before-close="dialogBeforeClose"
- >
+ <el-dialog title="健康状况图片(健康证)批量上传" append-to-body :visible.sync="excelBoxHealth" width="555px">
+ <avue-form :option="excelOptionHealth" v-model="excelFormHealth" :upload-after="uploadAfterHealth">
+ </avue-form>
+ </el-dialog>
+ <el-dialog title="无犯罪记录图片批量上传" append-to-body :visible.sync="excelBoxNoCriminal" width="555px">
+ <avue-form :option="excelOptionNoCriminal" v-model="excelFormNoCriminal" :upload-after="uploadAfterNoCriminal">
+ </avue-form>
+ </el-dialog>
+ <el-dialog title="证件核实申请" :visible.sync="securityCheckApplyvisible" width="width" :modal="true"
+ :modal-append-to-body="true" :append-to-body="true" :close-on-click-modal="false" :close-on-press-escape="false"
+ :before-close="dialogBeforeClose">
<div>
- <avue-form
- ref="formSecurityCheckApply"
- :option="optionSecurityCheckApply"
- v-model="formSecurityCheckApply"
- @reset-change="emptytChange"
- @submit="submitSecurityCheckApply"
- >
+ <avue-form ref="formSecurityCheckApply" :option="optionSecurityCheckApply" v-model="formSecurityCheckApply"
+ @reset-change="emptytChange" @submit="submitSecurityCheckApply">
</avue-form>
</div>
</el-dialog>
@@ -492,12 +308,12 @@
<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)
- : ""
+ ? 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">
@@ -511,24 +327,15 @@
</div>
</basic-container>
</el-col>
- <div
- :class="[
- 'downSFZ',
- $store.state.control.windowWidth >= 1024
- ? 'downSFZqudong'
- : 'downSFZqudongS'
- ]"
- >
- <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 :class="[
+ 'downSFZ',
+ $store.state.control.windowWidth >= 1024
+ ? 'downSFZqudong'
+ : 'downSFZqudongS'
+ ]">
+ <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://61.131.136.25:2081/zhba/upload/20211201/64d8b76f3aecae93e18d015bbca89aba.rar" -->
@@ -552,7 +359,7 @@
getUserPractitionersInfo,
updatePaperTime,
getzhiwen, //指纹
- checkAccountByUser
+ checkAccountByUser, batchAudit
} from "@/api/system/user";
import { securityApply } from "@/api/accreditationRecords/accreditationRecords";
import { add } from "@/api/securityapplyRecord/securityapplyRecord";
@@ -710,44 +517,6 @@
} 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;
@@ -757,13 +526,9 @@
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 {
+ excelBoxHealth: false,
+ excelBoxNoCriminal: false,
startTimecc: null,
sort: "",
type: 2,
@@ -845,6 +610,58 @@
propsHttp: {
res: "data"
},
+ data: {
+ type: 1
+ },
+ tip: "请上传 zip 压缩文件,照片文件名以身份证号码命名",
+ action: "/api/blade-resource/oss/endpoint/put-file-zip"
+ }
+ ]
+ },
+ // 健康状态凭证上传
+ excelFormHHealth: {},
+ excelOptionHealth: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: "文件上传",
+ prop: "file",
+ type: "upload",
+ drag: true,
+ loadText: "文件上传中,请稍等",
+ span: 24,
+ propsHttp: {
+ res: "data"
+ },
+ data: {
+ type: 2
+ },
+ tip: "请上传 zip 压缩文件,照片文件名以身份证号码命名",
+ action: "/api/blade-resource/oss/endpoint/put-file-zip"
+ }
+ ]
+ },
+ // 无犯罪记录图片
+ excelFormNoCriminal: {},
+ excelOptionNoCriminal: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: "文件上传",
+ prop: "file",
+ type: "upload",
+ drag: true,
+ loadText: "文件上传中,请稍等",
+ span: 24,
+ propsHttp: {
+ res: "data"
+ },
+ //额外的参数
+ data: {
+ type: 3
+ },
tip: "请上传 zip 压缩文件,照片文件名以身份证号码命名",
action: "/api/blade-resource/oss/endpoint/put-file-zip"
}
@@ -890,7 +707,7 @@
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 => {
resolve(
@@ -1042,14 +859,11 @@
label: "企业名称",
prop: "deptId",
type: "tree",
- // dicUrl:
- // "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
- // dicUrl: "/api/blade-system/dept/lazy-tree?parentId=0",
props: {
label: "title",
value: "id"
},
- // disabled: true,
+ labelWidth: 120,
rules: [
{
required: true,
@@ -1062,6 +876,7 @@
label: "姓名",
prop: "realName",
disabled: false,
+ labelWidth: 120,
rules: [
{
required: true,
@@ -1075,41 +890,6 @@
}
]
}
- // {
- // 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" },
- // ],
- // },
]
},
{
@@ -1123,6 +903,7 @@
prop: "cardid",
hide: true,
overHidden: true,
+ labelWidth: 120,
rules: [
{
required: true,
@@ -1140,6 +921,7 @@
label: "手机号码",
prop: "phone",
overHidden: true,
+ labelWidth: 120,
rules: [
{
required: true,
@@ -1153,14 +935,11 @@
}
]
},
- // {
- // label: "昵称",
- // prop: "name",
- // },
{
label: "个人照片",
type: "upload",
listType: "picture-img",
+ labelWidth: 120,
propsHttp: {
res: "data",
url: "url"
@@ -1194,24 +973,6 @@
// 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",
@@ -1251,24 +1012,6 @@
}
]
},
- // {
- // 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: "nation"
@@ -1291,28 +1034,20 @@
prop: "politicaloutlook"
},
// {
- // label: "健康状态",
- // prop: "healstats"
+ // label: "联系地址",
+ // prop: "address"
// },
// {
- // label: "身高",
- // prop: "height"
+ // label: "身份证住址",
+ // prop: "registered",
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入身份证住址",
+ // trigger: "click"
+ // }
+ // ]
// },
- {
- label: "联系地址",
- prop: "address"
- },
- {
- label: "身份证住址",
- prop: "registered",
- rules: [
- {
- required: true,
- message: "请输入身份证住址",
- trigger: "click"
- }
- ]
- },
{
label: "所属辖区",
prop: "jurisdiction",
@@ -1358,10 +1093,6 @@
label: "女",
value: 2
}
- // {
- // label: "未知",
- // value: 3,
- // },
],
rules: [
{
@@ -1370,14 +1101,134 @@
trigger: "blur"
}
]
- }
- // {
- // label: "生日",
- // type: "date",
- // prop: "birthday",
- // format: "yyyy-MM-dd",
- // valueFormat: "yyyy-MM-dd",
- // },
+ },
+ {
+ label: "婚姻状态",
+ prop: "marriageStatus",
+ type: "select",
+ dicUrl:
+ "/api/blade-system/dict-biz/dictionary?code=marriageStatusType",
+ props: {
+ label: "dictValue",
+ value: "dictKey"
+ },
+ dataType: "number",
+ hide: true,
+ },
+ {
+ label: "居住地址",
+ prop: "dwellAddress",
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入居住地址",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "户籍地址",
+ prop: "permanentResidenceAddress",
+ hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入户籍地址",
+ trigger: "blur"
+ }
+ ]
+ },
+ {
+ label: "报考等级",
+ prop: "signLevel",
+ type: "select",
+ dicUrl:
+ "/api/blade-system/dict-biz/dictionary?code=signLevelType",
+ props: {
+ label: "dictValue",
+ value: "dictKey"
+ },
+ dataType: "number",
+ hide: true,
+ },
+ {
+ label: "家庭主要成员及联系方式",
+ prop: "memberOfFamily",
+ type: "textarea",
+ span: 24,
+ hide: true,
+ },
+ {
+ label: "教育经历",
+ prop: "educationExperience",
+ type: "textarea",
+ span: 24,
+ hide: true,
+ },
+ {
+ label: "工作经历",
+ prop: "workExperience",
+ type: "textarea",
+ span: 24,
+ hide: true,
+ },
+ {
+ label: "受理公安机关",
+ prop: "acceptancePoliceUnit",
+ hide: true,
+ },
+ {
+ label: "受理人",
+ prop: "acceptancePerson",
+ hide: true,
+ },
+ {
+ label: "受理时间",
+ prop: "acceptanceTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ span: 12,
+ row: true,
+ hide: true,
+ },
+ {
+ label: "健康状况图片(健康证)",
+ prop: "healthCertificateUrl",
+ type: "upload",
+ listType: "picture-img",
+ propsHttp: {
+ res: "data",
+ url: "url"
+ },
+ canvasOption: {
+ text: " ",
+ ratio: 1.0
+ },
+ action: "/api/blade-resource/oss/endpoint/put-files",
+ span: 12,
+ hide: true,
+ labelWidth: 120,
+ },
+ {
+ label: "无犯罪记录图片",
+ prop: "noCriminalRecordProveUrl",
+ type: "upload",
+ listType: "picture-img",
+ propsHttp: {
+ res: "data",
+ url: "url"
+ },
+ canvasOption: {
+ text: " ",
+ ratio: 1.0
+ },
+ action: "/api/blade-resource/oss/endpoint/put-files",
+ span: 12,
+ hide: true,
+ labelWidth: 120,
+ },
]
}
]
@@ -1546,7 +1397,6 @@
"securitynumber"
);
// var emailcolumn = this.findObject(this.option.group, "email");
- console.log(val, 1234);
if (val == 1) {
securitynumbercolumn.display = true;
securitynumbercolumn.rules = [
@@ -1579,7 +1429,7 @@
function sets(state, dom, fingerprint, myPicture) {
isoks = state;
- dom.onload = function() {
+ dom.onload = function () {
// var winzhiwen = document.getElementById("zhiwen").contentWindow;
var winzhiwen = dom.contentWindow;
winzhiwen.setZhiwenData({
@@ -1656,7 +1506,9 @@
addBtn: this.vaildData(this.permission.securityGuard_add, false),
viewBtn: this.vaildData(null, false),
delBtn: this.vaildData(null, false),
- editBtn: this.vaildData(this.permission.securityGuard_edit, false)
+ editBtn: this.vaildData(this.permission.securityGuard_edit, false),
+ securityGuard_security_apply:this.vaildData(this.permission.securityGuard_security_apply,true),
+ securityGuard_security_paper_apply:this.vaildData(this.permission.securityGuard_security_paper_apply,true)
};
},
platformPermissionList() {
@@ -1678,7 +1530,7 @@
userInfo: state => state.user.userInfo
})
},
- beforeCreate() {},
+ beforeCreate() { },
created() {
var that = this;
if (this.userInfo.role_name == "办证管理员") {
@@ -1756,7 +1608,6 @@
this.search["userType"] = 7;
}
this.deptIds = this.userInfo.dept_id;
-
// this.beginzhiwen();
// this.olondSFZ(); //检查身份证设备是否存在
},
@@ -1810,7 +1661,7 @@
fn: this.Client.CID_Init,
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("初始化成功");
@@ -1823,7 +1674,7 @@
console.log("算法初始化发生错误 错误码:" + code);
}
};
- this.Client.OnCID_Close = function(code, msg) {
+ this.Client.OnCID_Close = function (code, msg) {
//关闭机器返数据
if (code == 1) {
console.log("关闭设备成功");
@@ -1839,7 +1690,7 @@
console.log("关闭设备发生错误 错误码:" + code);
}
};
- this.Client.OnCID_BeginCapture = function(code, msg) {
+ this.Client.OnCID_BeginCapture = function (code, msg) {
//开始使用预览图片模式函数
// console.log(code, "图片模式开始");
if (code == 1) {
@@ -1848,7 +1699,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) {
@@ -1876,7 +1727,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) {
@@ -1889,7 +1740,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) {
@@ -1900,7 +1751,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 + ";",
@@ -1930,7 +1781,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;
@@ -1974,23 +1825,22 @@
done();
},
handleTemplate1() {
- if (
- this.userInfo.account == "晋城市保安服务总公司" ||
- this.userInfo.account == "押运分公司"
- ) {
- window.open(
- `/api/blade-user/export-template-securityYy?${
- this.website.tokenHeader
- }=${getToken()}`
- );
- return;
- }
+ // if (
+ // this.userInfo.account == "晋城市保安服务总公司" ||
+ // this.userInfo.account == "押运分公司"
+ // ) {
+ // window.open(
+ // `/api/blade-user/export-template-securityYy?${this.website.tokenHeader
+ // }=${getToken()}`
+ // );
+ // return;
+ // }
window.open(
- `/api/blade-user/export-template-security?${
- this.website.tokenHeader
+ `/api/blade-user/export-template-security?${this.website.tokenHeader
}=${getToken()}`
);
},
+ // 头像批量上传
handleImport2() {
this.excelBox2 = true;
},
@@ -2000,7 +1850,26 @@
this.refreshChange();
done();
},
-
+ // 健康状况图片(健康证)
+ handleImportHealth() {
+ this.excelBoxHealth = true;
+ },
+ uploadAfterHealth(res, done, loading, column) {
+ window.console.log(column);
+ this.excelBoxHealth = false;
+ this.refreshChange();
+ done();
+ },
+ // 无犯罪记录图片
+ handleImportNoCriminal() {
+ this.excelBoxNoCriminal = true;
+ },
+ uploadAfterNoCriminal(res, done, loading, column) {
+ window.console.log(column);
+ this.excelBoxNoCriminal = false;
+ this.refreshChange();
+ done();
+ },
//行点击事件
rowClick(row) {
this.$router.push({
@@ -2276,23 +2145,14 @@
//序列号url形式,用&拼接
data = Qs.stringify(data);
window.open(
- `/api/blade-user/export-security-info?${
- this.website.tokenHeader
+ `/api/blade-user/export-security-info?${this.website.tokenHeader
}=${getToken()}&` + data
);
});
},
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;
}
@@ -2314,7 +2174,6 @@
avatar: row.avatar,
// fingerprint: row.fingerprint,
healstats: row.healstats,
- address: row.address,
birthday: row.birthday,
cardid: row.cardid,
deptId: row.deptId,
@@ -2332,11 +2191,24 @@
phone: row.phone,
politicaloutlook: row.politicaloutlook,
realName: row.realName,
- registered: row.registered,
- rtime: row.rtime,
securitynumber: row.securitynumber,
sex: row.sex,
- guncode: row.guncode
+ guncode: row.guncode,
+ },
+ userDetail: {
+ marriageStatus: row.marriageStatus,
+ signLevel: row.signLevel,
+ permanentResidenceAddress: row.permanentResidenceAddress,
+ dwellAddress: row.dwellAddress,
+ memberOfFamily: row.memberOfFamily,
+ educationExperience: row.educationExperience,
+ workExperience: row.workExperience,
+ healthCertificateUrl: row.healthCertificateUrl,
+ noCriminalRecordProveUrl: row.noCriminalRecordProveUrl,
+ acceptancePoliceUnit: row.acceptancePoliceUnit,
+ acceptancePerson: row.acceptancePerson,
+ acceptanceTime: row.acceptanceTime,
+ unitName: row.unitName,
}
};
@@ -2385,10 +2257,8 @@
rowUpdate(row, index, done, loading) {
row.deptId = row.deptId;
row.roleId = row.roleId.join(",");
- row.postId = row.postId.join(",");
+ // row.postId = row.postId.join(",");
//值替换,education 放在页面会卡死
- row.education = row.education1;
-
var winzhiwen = document.getElementById("zhiwen").contentWindow;
let zhiwen = winzhiwen.outZhiwenData();
// console.log(zhiwen);
@@ -2401,7 +2271,55 @@
if (row.cell != "2") {
row["cell"] = this.nowCell;
}
- update(row).then(
+ const userMap = {
+ user: {
+ id: row.id,
+ //是否是身份证自动识别进入
+ cell: row.cell,
+ //指纹↓
+ fingerprint: row.fingerprint, //图
+ myPicture: row.myPicture, //特征
+ //指纹↑
+ account: row.account,
+ avatar: row.avatar,
+ healstats: row.healstats,
+ birthday: row.birthday,
+ cardid: row.cardid,
+ deptId: row.deptId,
+ education: row.education1,
+ email: row.email,
+ height: row.height,
+ hold: row.hold,
+ jurisdiction: row.jurisdiction,
+ name: row.name,
+ nation: row.nation,
+ nativeplace: row.nativeplace,
+ phone: row.phone,
+ politicaloutlook: row.politicaloutlook,
+ realName: row.realName,
+ securitynumber: row.securitynumber,
+ sex: row.sex,
+ guncode: row.guncode
+ },
+ userDetail: {
+ id: row.userDetailId,
+ userId: row.id,
+ marriageStatus: row.marriageStatus,
+ signLevel: row.signLevel,
+ permanentResidenceAddress: row.permanentResidenceAddress,
+ dwellAddress: row.dwellAddress,
+ memberOfFamily: row.memberOfFamily,
+ educationExperience: row.educationExperience,
+ workExperience: row.workExperience,
+ healthCertificateUrl: row.healthCertificateUrl,
+ noCriminalRecordProveUrl: row.noCriminalRecordProveUrl,
+ acceptancePoliceUnit: row.acceptancePoliceUnit,
+ acceptancePerson: row.acceptancePerson,
+ acceptanceTime: row.acceptanceTime,
+ unitName: row.unitName,
+ }
+ };
+ update(userMap).then(
res => {
this.initFlag = false;
this.onLoad(this.page);
@@ -2442,7 +2360,7 @@
"离职原因",
{
confirmButtonText: "确定",
- callback: action => {}
+ callback: action => { }
}
);
},
@@ -2464,7 +2382,7 @@
});
this.refreshChange();
})
- .catch(() => {});
+ .catch(() => { });
},
rowDel(row) {
this.$confirm("确定注销当前用户?", {
@@ -2527,6 +2445,83 @@
this.sortName = "";
// this.$refs.crud.toggleSelection();
},
+ handleBatchAudit(){
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("请选择审批结果", {
+ distinguishCancelAndClose: true,
+ confirmButtonText: "审批通过",
+ cancelButtonText: "不通过",
+ type: "warning"
+ })
+ .then(() => {
+ //审核通过
+ batchAudit(this.ids,1)
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ this.$refs.crud.toggleSelection();
+ });
+
+ }).catch(action => {
+ console.log(action)
+ if (action == 'cancel'){
+ //审核不通过
+ batchAudit(this.ids,2)
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ this.$refs.crud.toggleSelection();
+ });
+ }
+ })
+
+ },
+
+ handleAudit(row){
+ this.$confirm("请选择审批结果", {
+ distinguishCancelAndClose: true,
+ confirmButtonText: "审批通过",
+ cancelButtonText: "不通过",
+ type: "warning"
+ })
+ .then(() => {
+ //审核通过
+ batchAudit(row.id,1)
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ this.$refs.crud.toggleSelection();
+ });
+
+ }).catch(action => {
+ console.log(action)
+ if (action == 'cancel'){
+ //审核不通过
+ batchAudit(row.id,2)
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!"
+ });
+ this.$refs.crud.toggleSelection();
+ });
+ }
+ })
+ },
+
handleDelete() {
if (this.selectionList.length === 0) {
this.$message.warning("请选择至少一条数据");
@@ -2603,18 +2598,15 @@
type: "warning"
}).then(() => {
window.open(
- `/api/blade-user/export-user?${
- this.website.tokenHeader
- }=${getToken()}&account=${this.search.account}&realName=${
- this.search.realName
+ `/api/blade-user/export-user?${this.website.tokenHeader
+ }=${getToken()}&account=${this.search.account}&realName=${this.search.realName
}`
);
});
},
handleTemplate() {
window.open(
- `/api/blade-user/export-template?${
- this.website.tokenHeader
+ `/api/blade-user/export-template?${this.website.tokenHeader
}=${getToken()}`
);
},
@@ -2689,9 +2681,9 @@
}
});
},
- setIntervals: function() {
+ setIntervals: function () {
let that = this;
- this.intTime = setInterval(function() {
+ this.intTime = setInterval(function () {
if (!that.haveCardid) {
//定时读卡
// console.log(that.haveCardid);
@@ -2789,6 +2781,22 @@
...this.form,
...d
};
+ if (this.form.userDetail) {
+ this.form.userDetailId = this.form.userDetail.id;
+ this.form.marriageStatus = this.form.userDetail.marriageStatus;
+ this.form.signLevel = this.form.userDetail.signLevel;
+ this.form.permanentResidenceAddress = this.form.userDetail.permanentResidenceAddress;
+ this.form.dwellAddress = this.form.userDetail.dwellAddress;
+ this.form.memberOfFamily = this.form.userDetail.memberOfFamily;
+ this.form.educationExperience = this.form.userDetail.educationExperience;
+ this.form.workExperience = this.form.userDetail.workExperience;
+ this.form.healthCertificateUrl = this.form.userDetail.healthCertificateUrl;
+ this.form.noCriminalRecordProveUrl = this.form.userDetail.noCriminalRecordProveUrl;
+ this.form.acceptancePoliceUnit = this.form.userDetail.acceptancePoliceUnit;
+ this.form.acceptancePerson = this.form.userDetail.acceptancePerson;
+ this.form.acceptanceTime = this.form.userDetail.acceptanceTime;
+ this.form.unitName = this.form.userDetail.unitName;
+ }
// this.from["education1"] = res.data.data.education;
if (this.form.hasOwnProperty("deptId")) {
this.form.deptId = this.form.deptId;
@@ -2796,9 +2804,9 @@
if (this.form.hasOwnProperty("roleId")) {
this.form.roleId = this.form.roleId.split(",");
}
- if (this.form.hasOwnProperty("postId")) {
- this.form.postId = this.form.postId.split(",");
- }
+ // if (this.form.hasOwnProperty("postId")) {
+ // this.form.postId = this.form.postId.split(",");
+ // }
var userInfo = res.data.data;
//获取用户从业信息
getUserPractitionersInfo(userInfo.id).then(res1 => {
@@ -2961,6 +2969,9 @@
// // d[key].securitynumber = "赣洪202100009";
// }
that.data = data.records;
+
+ console.log(this.data,"++++++++++")
+
that.loading = false;
that.selectionClear();
that.$store.commit("setWindowSizeHeightAdd");
@@ -3110,6 +3121,7 @@
// 标题
$upTop: 45px;
$downTop: 265px; //整体高度
+
//经国家保安员考试审查合格。<br />特颁此证。
.security_main-title {
position: absolute;
@@ -3139,6 +3151,7 @@
$rightWidth: 77px;
$lineHigeht: 30px;
+
//姓名
.security_m_r_a {
position: absolute;
@@ -3208,6 +3221,7 @@
//发证时间
$timeTop: 315px; //整体高度
+
//年
.security_m_l_titlepaperTimenian {
position: absolute;
@@ -3242,6 +3256,7 @@
//内容
// 姓名
$centerLeft: 458px;
+
.security_m_r_o_right {
position: absolute;
top: $downTop + $lineHigeht * 0+18px;
@@ -3313,20 +3328,25 @@
right: 239px;
top: 93px;
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);
}
--
Gitblit v1.9.3