From 21c7375b7b38ebf2c8a2ca8fbf6fe9fb4f28250f Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 12 Jan 2022 10:59:40 +0800
Subject: [PATCH] 新增公司注册机公司注册审核
---
src/views/securityGuard/securityGuard.vue | 328 ++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 279 insertions(+), 49 deletions(-)
diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index 4f69644..5254e69 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -16,10 +16,12 @@
<el-col :span="24">
<basic-container
:class="[
- $store.state.control.windowWidth >= 1024 ? 'tooRowSearch' : '',
+ $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
]"
>
<avue-crud
+ class="tablesss"
+ :key="option.height"
:option="option"
:search.sync="search"
:table-loading="loading"
@@ -168,7 +170,7 @@
:type="type"
v-if="permission.securityGuard_delete && row.status != 2"
@click.stop="rowStatus(row)"
- >离职登记
+ >离职
</el-button>
<el-button
icon="el-icon-edit"
@@ -397,6 +399,7 @@
</el-col>
<div
:class="[
+ 'downSFZ',
$store.state.control.windowWidth >= 1024
? 'downSFZqudong'
: 'downSFZqudongS',
@@ -435,10 +438,12 @@
getUserPractitionersInfo,
updatePaperTime,
getzhiwen, //指纹
+ checkAccountByUser,
} from "@/api/system/user";
import { securityApply } from "@/api/accreditationRecords/accreditationRecords";
import { getList } from "@/api/securityGuard/securityGuard";
import { getDeptLazyTree } from "@/api/system/dept";
+import { getInformationDetails } from "@/api/securityUnit/securityUnit";
import { getRoleTree, getRoleDetail } from "@/api/system/role";
import { mapGetters } from "vuex";
import website from "@/config/website";
@@ -446,7 +451,7 @@
import { securityFormPageColumn } from "./data";
import { mapState } from "vuex";
import Qs from "qs";
-import { MessageBox } from 'element-ui';
+import { MessageBox } from "element-ui";
//加载指纹类
import Client from "./Client";
@@ -531,6 +536,35 @@
function trim(str) {
return str.replace(/(^\s*)|(\s*$)/g, "");
}
+ /**
+ * 身份证号码账号校验
+ */
+ let useBack = "";
+ function checkAccount(idCard, callback) {
+ var data = {
+ cardid: idCard,
+ };
+ if (window.deptIdss) {
+ data["deptId"] = window.deptIdss;
+ }
+ //调用接口校验
+ if (useBack != idCard) {
+ useBack = idCard;
+ checkAccountByUser(data)
+ .then((res) => {
+ useBack = "ok";
+ callback();
+ })
+ .catch((error) => {
+ callback("当前身份证号码已录入!");
+ });
+ } else if (useBack == "ok") {
+ callback();
+ } else {
+ console.log("cf");
+ callback(new Error("当前身份证号码已录入!"));
+ }
+ }
const validatePassCardid = (rule, value, callback) => {
let ok = false;
if (value.length == 18) {
@@ -550,7 +584,15 @@
}
if (ok) {
- callback();
+ // console.log(this.nowCell,123456);
+ if(this.type==1 || this.nowCell==2){
+ //修改不校验身份证hao
+ callback();
+ }else{
+ //调用接口进行账户重复校验
+ checkAccount(value, callback);
+ }
+
} else {
callback(new Error("身份证错误"));
}
@@ -601,7 +643,16 @@
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 {
+ sort: "",
+ type:2,
+ sortName: "",
nowCell: "", //空为手动,2为身份证设备读取
// 表格数据
defaults: {},
@@ -747,7 +798,10 @@
},
},
choiceList: [],
+ deptIdss: "",
option: {
+ searchIndex: 5, //收缩展示数量
+ searchIcon: true, //搜索是否收缩
height: "auto",
calcHeight: 80,
tip: true,
@@ -766,6 +820,7 @@
},
indexWidth: 55,
searchMenuSpan: 6,
+
stripe: true,
border: true,
delBtn: true,
@@ -916,10 +971,10 @@
},
canvasOption: {
text: " ",
- ratio: 0.1,
+ ratio: 1.0,
},
action: "/api/blade-resource/oss/endpoint/put-files",
- tip: "上传身份证一寸近期彩色正面免冠图象, (358像素(宽) × 441像素(高)、分辨率350dpi)且不超过500kb",
+ tip: "上传近期一寸彩色正面免冠图象, (358像素(宽) × 441像素(高)、分辨率350dpi)且不小于30kb,不超过500kb",
span: 12,
// row: true,
prop: "avatar",
@@ -986,7 +1041,7 @@
rules: [
{
required: true,
- message: "请选择",
+ message: "请选择是否有持证",
trigger: "blur",
},
],
@@ -995,23 +1050,33 @@
label: "保安员证编号",
prop: "securitynumber",
hide: true,
+ display: true,
+ rules: [
+ {
+ required: false,
+ message: "请输入保安员证编号",
+ trigger: "blur",
+ },
+ ],
},
- // {
- // label: "发证日期",
- // prop: "paperTime",
- // hide: true,
- // type: "date",
- // format: "yyyy-MM-dd",
- // valueFormat: "yyyy-MM-dd",
- // },
{
- label: "电子邮箱",
+ 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: "nativeplace",
- // },
{
label: "民族",
prop: "nation",
@@ -1254,9 +1319,59 @@
},
],
},
+ tablevisible: true,
+ isNotChangeSize: true, //取消表格loging
};
},
watch: {
+ windowHeight() {
+ let that = this;
+ that.isNotChangeSize = false; //取消表格loging
+ let d = {
+ fn: function (h) {
+ let table = document.getElementsByClassName("tablesss");
+ let heard = table[0].getElementsByClassName("avue-crud__search");
+ let usNum =
+ that.windowWidth <= 1376 || that.windowHeight <= 778 ? 170 : 302;
+ // // that.option.height = +h - (+heard[0].clientHeight + 332);
+ // alert(h);
+ let doit = (height) => {
+ let hs = height || h;
+ // alert(hs);
+ // alert(heard[0].clientHeight);
+ // alert(usNum);
+ that.option.height = +hs - (+heard[0].clientHeight + +usNum);
+ that.$nextTick(() => {
+ that.refreshChange();
+ setTimeout(() => {
+ let d = {
+ that: this,
+ otherclass: ["downSFZ"],
+ haveOpen: true,
+ };
+ //刷新表格后再次调整按钮
+ that.$store.dispatch("TABLE_CHANGEBUTPOSITION", d);
+ that.isNotChangeSize = true; //恢复表格loging
+ }, 10);
+ });
+ };
+ if (that.option.height == "auto") {
+ //解决第一次未渲染成功会报错的问题
+ setTimeout(() => {
+ // console.log(
+ // document
+ // .getElementsByClassName("tablesss")[0]
+ // .getElementsByClassName("avue-crud__search")
+ // );
+ doit(window.innerHeight);
+ }, 150);
+ } else {
+ doit();
+ }
+ },
+ };
+ this.$store.dispatch("WHchangeHight", d);
+ },
radio() {
if (this.radio) {
this.SFZloding = true;
@@ -1275,6 +1390,46 @@
this.initData(this.form.tenantId);
}
},
+ "form.deptId": {
+ handler(val) {
+ if (val) {
+ window.deptIdss = val;
+ }
+ },
+ immediate: true,
+ },
+ "form.hold": {
+ handler(val) {
+ var securitynumbercolumn = this.findObject(
+ this.option.group,
+ "securitynumber"
+ );
+ var emailcolumn = this.findObject(this.option.group, "email");
+ // console.log(val,1234);
+ if (val == 1) {
+ securitynumbercolumn.display = true;
+ securitynumbercolumn.rules = [
+ {
+ required: true,
+ message: "请输入保安员证编号",
+ trigger: "blur",
+ },
+ ];
+ emailcolumn.display = true;
+ } else {
+ securitynumbercolumn.display = false;
+ securitynumbercolumn.rules = [
+ {
+ required: false,
+ message: "请输入保安员证编号",
+ trigger: "blur",
+ },
+ ];
+ emailcolumn.display = false;
+ }
+ },
+ immediate: true,
+ },
"form.fingerprint"() {
let that = this;
if (this.form.fingerprint != undefined) {
@@ -1292,9 +1447,7 @@
isoks: isoks,
});
}
-
- setTimeout(() => {
- // if()
+ var doZhiwen = () => {
if (!this.form.id) {
sets(false);
return;
@@ -1315,7 +1468,16 @@
}
}
});
- }, 1800);
+ };
+
+ setTimeout(() => {
+ // var iframeDom = document.getElementById("zhiwen");
+ // console.log(iframeDom,111111);
+ // iframeDom.onload = function () {
+ // doZhiwen();
+ // };
+ doZhiwen();
+ }, 2800);
} else {
that.isopen = false;
}
@@ -1331,7 +1493,7 @@
},
},
computed: {
- ...mapGetters(["userInfo", "permission"]),
+ ...mapGetters(["userInfo", "permission", "windowHeight", "windowWidth"]),
permissionList() {
return {
addBtn: this.vaildData(this.permission.securityGuard_add, false),
@@ -1419,6 +1581,15 @@
}
},
mounted() {
+ // let d = {
+ // that: this,
+ // otherclass: ["downSFZ"],
+ // haveOpen: true,
+ // flowHeight: 332,
+ // };
+ // this.$store.dispatch("TABLE_CHANGEBUTPOSITION", d);
+ // console.log((this.$refs.crud._props.option.height = 200));
+ this.changeButsPosition("TABLE_CHANGEBUTPOSITION");
// this.option.column[0].hide = true
// 非保安单位模式默认加载管理组数据
if (!website.tenantMode) {
@@ -1434,6 +1605,17 @@
// this.olondSFZ(); //检查身份证设备是否存在
},
methods: {
+ changeButsPosition(val) {
+ let d = {
+ that: this,
+ otherclass: ["downSFZ"],
+ haveOpen: true,
+ from: "mounted",
+ };
+ // 开始就适应高度
+ this.$store.commit("setWindowSizeHeightAdd");
+ this.$store.dispatch("TABLE_CHANGEBUTPOSITION", d);
+ },
openccc() {
console.log(this.zhiwenImg);
// console.log(this.zhiwenChart);
@@ -1722,11 +1904,18 @@
};
updatePaperTime(data);
},
- rowClickSelf(row) {
- this.$router.push({
- path: "/securityUnitChild",
- query: { fromSecunityGuardId: row },
- });
+ rowClickSelf(deptId) {
+ var data = {
+ departmentid:deptId
+ }
+ getInformationDetails(data).then((res) => {
+ var obj = res.data.data;
+ var data = JSON.stringify(obj);
+ this.$router.push({
+ path: "/securityUnitChild",
+ query: { data: data },
+ });
+ })
},
nodeClick(data) {
this.treeDeptId = data.id;
@@ -1789,7 +1978,7 @@
return securityApply(data);
})
.then(() => {
- // this.$refs.crud.toggleSelection();
+ this.$refs.crud.toggleSelection();
this.$message({
type: "success",
message: "操作成功!",
@@ -1827,7 +2016,7 @@
return securityApply(data);
})
.then(() => {
- // this.$refs.crud.toggleSelection();
+ this.$refs.crud.toggleSelection();
this.$message({
type: "success",
message: "操作成功!",
@@ -2089,6 +2278,8 @@
},
selectionClear() {
// this.selectionList = [];
+ this.sort = "";
+ this.sortName = "";
// this.$refs.crud.toggleSelection();
},
handleDelete() {
@@ -2337,6 +2528,12 @@
var that = this;
// console.log(type, 123);
this.beginSFZ();
+ if (["edit"].includes(type)) {
+ this.type = 1;
+ }
+ if (["add"].includes(type)) {
+ this.type = 2;
+ }
if (["edit", "view"].includes(type)) {
getUser(this.form.id).then((res) => {
this.form = res.data.data;
@@ -2390,9 +2587,30 @@
},
//排序
sortChange(value) {
- console.log(value, 51151515);
+ // console.log(value, 51151515);
+ if (value.order == "ascending") {
+ this.sort = "asc";
+ }
+ if (value.order == "descending") {
+ this.sort = "desc";
+ }
+ this.sortName = value.prop;
+ //字段匹配
+ if (value.prop == "sexs") {
+ this.sortName = "sex";
+ }
+ if (value.prop == "examinationType") {
+ this.sortName = "examination_type";
+ }
+ if (value.prop == "userType") {
+ this.sortName = "user_type";
+ }
+ this.onLoad(this.page, this.query);
},
onLoad(page, params = {}) {
+ if (this.isNotChangeSize) {
+ this.loading = true;
+ }
params = this.search;
var that = this;
//获取当前登录人员的角色信息
@@ -2469,6 +2687,13 @@
"/api/blade-system/dept/security_lazy-tree";
}
+ if (this.sort) {
+ params["sort"] = this.sort;
+ }
+ if (this.sortName) {
+ params["sortName"] = this.sortName;
+ }
+
let values = {
...params,
};
@@ -2478,7 +2703,6 @@
...that.query,
};
- that.loading = true;
getList(page.currentPage, page.pageSize, values).then((res) => {
const data = res.data.data;
that.page.total = data.total;
@@ -2565,23 +2789,29 @@
//照片上传拦截
uploadBefore(file, done, loading, column) {
//如果你想修改file文件,由于上传的file是只读文件,必须复制新的file才可以修改名字,完后赋值到done函数里,如果不修改的话直接写done()即可
- if (file.type.indexOf("image/") == -1) {
- MessageBox.alert("上传图片格式错误,请上传图片类型,如:JPG,PNG后缀的文件。")
- loading();
- return false;
- }
- let data = window.URL.createObjectURL(new Blob([file]));
- this.filename = file;
- this.option.img = data;
- //判断文件大小
- const isLt1M = file.size >= 30*1024 && file.size <= 500*1024;
- if (!isLt1M) {
- MessageBox.alert("上传图片大小必须大于30KB,且小于500KB!")
- loading();
- return false;
+ //判断角色
+ if (this.userInfo.role_name != "administrator") {
+ if (file.type.indexOf("image/") == -1) {
+ MessageBox.alert(
+ "上传图片格式错误,请上传图片类型,如:JPG,PNG后缀的文件。"
+ );
+ loading();
+ return false;
+ }
+ let data = window.URL.createObjectURL(new Blob([file]));
+ this.filename = file;
+ this.option.img = data;
+ //判断文件大小
+ const isLt1M = file.size >= 30 * 1024 && file.size <= 500 * 1024;
+ if (!isLt1M) {
+ MessageBox.alert("上传图片大小必须大于30KB,且小于500KB!");
+ loading();
+ return false;
+ }
+ done();
+ return isLt1M;
}
done();
- return isLt1M;
},
},
};
--
Gitblit v1.9.3