From cc1c0a396698648256c350f6f0fe2cb2f0b02c7e Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 27 Mar 2024 15:44:10 +0800
Subject: [PATCH] 许可按钮放出,备案审批按钮放出
---
src/views/securityGuardManagement/register.vue | 585 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 431 insertions(+), 154 deletions(-)
diff --git a/src/views/securityGuardManagement/register.vue b/src/views/securityGuardManagement/register.vue
index 663fc12..d323e14 100644
--- a/src/views/securityGuardManagement/register.vue
+++ b/src/views/securityGuardManagement/register.vue
@@ -1,15 +1,10 @@
-/*
- * @Author: Morpheus
- * @Date: 2021-07-05 16:31:54
- * @Last Modified by: liu
- * @Last Modified time: 2021-08-30 11:45:26
- * menu-name 保安员注册查询
- */
+/* * @Author: Morpheus * @Date: 2021-07-05 16:31:54 * @Last Modified by: liu *
+@Last Modified time: 2021-10-21 15:31:24 * menu-name 保安员注册查询 */
<template>
<div>
<el-row class="registersss">
<el-col :span="3">
- <div class="box">
+ <div class="box changeBoxs">
<el-scrollbar>
<basic-container>
<avue-tree
@@ -21,9 +16,17 @@
</el-scrollbar>
</div>
</el-col>
- <el-col :span="21">
- <basic-container>
+ <el-col :span="21" class="clearBottomMargin">
+ <basic-container
+ :class="[
+ $store.state.control.screenSize == 1366
+ ? 'smallSize'
+ : 'normalSize',
+ $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
+ ]"
+ >
<avue-crud
+ class="tablesss"
:option="option"
:search.sync="search"
:table-loading="loading"
@@ -54,50 +57,119 @@
<template slot-scope="{row}"
slot="deptName">
<el-tag>{{row.deptName}}</el-tag>
- </template>
- <template slot-scope="{row}"
- slot="userTypeName">
- <el-tag>{{row.userTypeName}}</el-tag>
</template> -->
- <template slot-scope="{ row }" slot="deptId">
+ <template slot-scope="{ row }" slot="age">
+ {{ row.age == -1 ? "" : row.age }}
+ </template>
+ <template slot-scope="{ row }" slot="sex">
+ {{
+ row.sex == -1
+ ? ""
+ : row.sex == 1
+ ? "男"
+ : row.sex == 2
+ ? "女"
+ : ""
+ }}
+ </template>
+ <template slot-scope="{ row }" slot="deptName">
<el-tag
class="rowClickSelf"
title="点击查看所属公司情况"
@click="rowClickSelf(row.deptId)"
- >{{ row.$deptId }}</el-tag
+ >{{ row.deptName }}</el-tag
>
</template>
<template slot-scope="{ type, size, row }" slot="menu">
- <el-button
- :size="size"
- :type="type"
- class="zhengJian-icon"
- @click.stop="handleRowClick(row)"
- >详情</el-button
+ <el-tooltip
+ placement="bottom"
+ effect="light"
+ transition="el-collapse-transition"
+ popper-class="caozuolanpopper"
+ v-if="$store.state.control.changeMenuSize"
>
- <el-button
- :size="size"
- :type="type"
- class="zhengJian-icon"
- @click.stop="honor(row)"
- >荣誉录入</el-button
- >
- <el-button
- :size="size"
- :type="type"
- class="zhengJian-icon"
- @click.stop="handleViewCredentials(row)"
- >打印证件</el-button
- >
+ <div slot="content">
+ <el-button
+ icon="el-icon-user"
+ :size="size"
+ :type="type"
+ class="zhengJian-icon"
+ @click.stop="handleRowClick(row)"
+ >查看详情</el-button
+ >
+ <br />
+ <el-button
+ icon="el-icon-mobile"
+ :size="size"
+ :type="type"
+ class="zhengJian-icon"
+ @click.stop="honor(row)"
+ >荣誉录入</el-button
+ >
+ <br />
+ <el-button
+ icon="el-icon-printer"
+ :size="size"
+ :type="type"
+ class="zhengJian-icon"
+ :disabled="row.hold != 1"
+ :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
+ @click.stop="handleViewCredentials(row)"
+ >打印证件</el-button
+ >
- <el-button
- icon="icon-zhengjian"
- :size="size"
- :type="type"
- class="zhengJian-icon"
- @click.stop="handleCredentials(row)"
- >证件吊销</el-button
- >
+ <br />
+ <el-button
+ icon="el-icon-brush"
+ :size="size"
+ :type="type"
+ class="zhengJian-icon"
+ :disabled="row.hold != 1"
+ :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
+ @click.stop="handleCredentials(row)"
+ >证件吊销</el-button
+ >
+ </div>
+ <el-button icon="el-icon-s-operation" :size="size" :type="type"
+ >操作
+ </el-button>
+ </el-tooltip>
+ <div v-if="!$store.state.control.changeMenuSize">
+ <el-button
+ :size="size"
+ :type="type"
+ class="zhengJian-icon"
+ @click.stop="handleRowClick(row)"
+ >详情</el-button
+ >
+ <el-button
+ :size="size"
+ :type="type"
+ class="zhengJian-icon"
+ @click.stop="honor(row)"
+ >荣誉录入</el-button
+ >
+ <el-button
+ :size="size"
+ :type="type"
+ class="zhengJian-icon"
+ :disabled="row.hold != 1"
+ :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
+ @click.stop="handleViewCredentials(row)"
+ >打印证件</el-button
+ >
+
+ <el-button
+ icon="icon-zhengjian"
+ :size="size"
+ :type="type"
+ class="zhengJian-icon"
+ :disabled="row.hold != 1"
+ :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
+ @click.stop="handleCredentials(row)"
+ >证件吊销</el-button
+ >
+ </div>
</template>
</avue-crud>
<el-dialog
@@ -155,19 +227,30 @@
</el-dialog>
<div class="baoanzheng" v-if="dialogVisiblecertificates">
- <div class="baz-main">
+ <!-- 保安员证 -->
+ <baoanz
+ :data="objVisiblecertificates"
+ v-if="dialogVisiblecertificates"
+ ></baoanz>
+ <!-- <div class="baz-main">
<div class="baz-m-body" ref="baoanzheng">
<div class="bmb-heard">保安员证</div>
- <!-- <img src="/img/mock/card/card-1.jpg" alt="" /> -->
+ <div class="img">
+ <div v-if="!objVisiblecertificates.myPicture">暂无照片</div>
+ <img :src="objVisiblecertificates.myPicture" alt="" v-else />
+ </div>
+ <div class="imgs">
+ <div v-if="erweima == ''">暂无二维码</div>
+ <img :src="erweima" alt="" v-else />
+ </div>
+
<div class="bmb-b">
姓名:<span class="bmb-b-s">{{
objVisiblecertificates.realName
}}</span>
</div>
<div class="bmb-b">
- 性别:<span class="bmb-b-s">{{
- objVisiblecertificates.sexName
- }}</span>
+ 性别:<span class="bmb-b-s">{{ objVisiblecertificates.$sex }}</span>
</div>
<div class="bmb-b">
编号:<span class="bmb-b-s">{{
@@ -175,10 +258,11 @@
}}</span>
</div>
<div class="bmb-b">
- 发证机关:<span class="bmb-b-s" style="margin-right: 15px"
- >南昌市公安局</span
- >发证日期:<span class="bmb-b-s">{{
- objVisiblecertificates.createTime.slice(0, 10)
+ 发证机关:<span class="bmb-b-s">南昌市公安局</span>
+ </div>
+ <div class="bmb-b">
+ 发证日期:<span class="bmb-b-s">{{
+ objVisiblecertificates.paperTime.slice(0, 10)
}}</span>
</div>
</div>
@@ -186,7 +270,7 @@
<el-button type="primary" @click="Print">打 印</el-button>
<el-button type="primary" @click="closePrint"> 取 消 </el-button>
</span>
- </div>
+ </div> -->
</div>
</div>
</template>
@@ -202,9 +286,13 @@
import { mapGetters } from "vuex";
import website from "@/config/website";
import { getToken } from "@/util/auth";
-import { addhonor } from "@/api/register/honor";
-
+import { addhonor, getER } from "@/api/register/honor";
+import baoanz from "./baoanz.vue";
+import { getInformationDetails } from "@/api/securityCompany/security";
export default {
+ components: {
+ baoanz,
+ },
data() {
const validatePass = (rule, value, callback) => {
if (value === "") {
@@ -222,9 +310,12 @@
callback();
}
};
+
+ let menuSize = this.$store.state.control.changeMenuSize ? 90 : 310;
return {
dialogVisiblecertificates: false,
objVisiblecertificates: {},
+ erweima: "", //二维码
objf: {},
optionf: {
@@ -287,6 +378,7 @@
pageSize: 10,
currentPage: 1,
total: 0,
+ ...this.$store.state.control.changePageSize,
},
init: {
@@ -303,16 +395,42 @@
lazy: true,
treeLoad: function (node, resolve) {
const parentId = node.level === 0 ? 0 : node.data.id;
- getDeptLazyTree(parentId).then((res) => {
- resolve(
- res.data.data.map((item) => {
- return {
- ...item,
- leaf: !item.hasChildren,
- };
- })
- );
- });
+
+ if (parentId == 0) {
+ getDeptLazyTree(parentId).then((res) => {
+ resolve(
+ res.data.data.map((item) => {
+ return {
+ ...item,
+ leaf: !item.hasChildren,
+ };
+ })
+ );
+ });
+ } else if (parentId == "1372091709474910209") {
+ getDeptLazyTree(parentId).then((res) => {
+ resolve(
+ res.data.data[0].children.map((item) => {
+ return {
+ ...item,
+ leaf: !item.hasChildren,
+ };
+ })
+ );
+ });
+ } else {
+ getDeptLazyTree(parentId).then((res) => {
+ res.data.data = [];
+ resolve(
+ res.data.data.map((item) => {
+ return {
+ ...item,
+ leaf: !item.hasChildren,
+ };
+ })
+ );
+ });
+ }
},
addBtn: false,
menu: false,
@@ -343,19 +461,20 @@
//dialogType: 'drawer',
dialogClickModal: false,
// 操作栏宽度
- menuWidth: 310,
+ menuWidth: menuSize,
+ ...this.$store.state.control.clearOtherBut,
column: [
{
label: "姓名",
prop: "realName",
search: true,
searchSpan: 3,
- width: 60,
+ width: 69,
searchLabelWidth: 50,
display: false,
},
{
- label: "所属保安公司",
+ label: "企业名称",
searchLabelWidth: "110",
// prop: "deptName",
prop: "deptId",
@@ -367,16 +486,25 @@
value: "id",
},
slot: true,
+ hide:true,
searchSpan: 5,
display: false,
overHidden: true,
search: true,
+ },
+ {
+ label: "企业名称",
+ prop: "deptName",
+ slot: true,
+ display: false,
+ overHidden: true,
width: 198,
},
{
label: "性别",
prop: "sex",
width: 55,
+ slot: true,
type: "select",
dicData: [
{
@@ -399,8 +527,8 @@
prop: "cardid",
search: true,
searchLabelWidth: 90,
- searchSpan: 4,
- minWidth: 140,
+ searchSpan: 5,
+ minWidth: 165,
display: false,
},
@@ -432,12 +560,14 @@
label: "年龄",
prop: "age",
width: 55,
+ slot: true,
display: false,
},
{
label: "学历",
prop: "education",
display: false,
+ hide: true,
width: 90,
dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
props: {
@@ -457,7 +587,7 @@
{
label: "联系电话",
prop: "phone",
- minWidth: 95,
+ minWidth: 110,
display: false,
},
{
@@ -472,7 +602,7 @@
search: true,
searchLabelWidth: 90,
minWidth: 105,
- searchSpan: 4,
+ searchSpan: 5,
addDisplay: false,
editDisplay: false,
// hide: true,
@@ -519,14 +649,28 @@
prop: "hold",
slot: true,
search: true,
- searchSpan: 3,
- width: 72,
+ searchSpan: 4,
+ width: 100,
display: false,
- dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
- props: {
- label: "dictValue",
- value: "dictKey",
- },
+ dicData: [
+ {
+ label: "是",
+ value: "1",
+ },
+ {
+ label: "否",
+ value: "2",
+ },
+ {
+ label: "已吊销",
+ value: "3",
+ },
+ ],
+ // dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
+ // props: {
+ // label: "dictValue",
+ // value: "dictKey",
+ // },
type: "select",
rules: [
{
@@ -647,8 +791,10 @@
},
"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}`;
+ try {
+ const column = this.findObject(this.excelOption.column, "excelFile");
+ column.action = `/api/blade-user/import-user?isCovered=${this.excelForm.isCovered}`;
+ } catch {}
}
},
},
@@ -676,14 +822,23 @@
if (!website.tenantMode) {
this.initData(website.tenantId);
}
+ this.$store.commit("setWindowSizeHeightAdd");
},
methods: {
- rowClickSelf(row) {
- console.log(row, "baoan");
- this.$router.push({
- path: "/securityCompany/index",
- query: { fromSecunityGuardId: row },
- });
+ rowClickSelf(deptId) {
+ var data = {
+ departmentid:deptId
+ }
+ getInformationDetails(data).then((res) => {
+ var obj = res.data.data;
+ obj["name"] = "保安公司详细信息";
+ var data = JSON.stringify(obj);
+ this.$router.push({
+ path: "/securityCompany/index",
+ query: { data: data },
+ });
+ })
+
},
Print() {
this.$Print(this.$refs.baoanzheng);
@@ -696,18 +851,30 @@
this.dialogVisible = false;
},
submitf(form, done) {
- console.log(form);
+ // console.log(form);
// this.$message.success(JSON.stringify(form));
- addhonor(form).then((res) => {
- console.log(res);
- });
+ addhonor(form).then(
+ (res) => {
+ // console.log(res);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ },
+ (error) => {
+ this.$message({
+ type: "info",
+ message: "操作失败",
+ });
+ }
+ );
this.objf = {};
this.dialogVisible = false;
done();
},
errorf(err) {
this.$message.success("请查看控制台");
- console.log(err);
+ // console.log(err);
},
handleClose(done) {
this.objf = {};
@@ -722,13 +889,11 @@
honor: "",
honortime: "",
};
- console.log(this.objf);
- console.log(row);
+ // console.log(this.objf);
+ // console.log(row);
this.dialogVisible = true;
},
nodeClick(data) {
- // this.treeDeptId = data.id;
- // console.log(data, 55555);
if (data.title != "南昌市公安局") {
this.jurisdiction = data.id;
} else {
@@ -739,16 +904,22 @@
},
initData(tenantId) {
getRoleTree(tenantId).then((res) => {
- const column = this.findObject(this.option.group, "roleId");
- column.dicData = res.data.data;
+ try {
+ const column = this.findObject(this.option.group, "roleId");
+ column.dicData = res.data.data;
+ } catch {}
});
getDeptTree(tenantId).then((res) => {
- const column = this.findObject(this.option.group, "deptId");
- column.dicData = res.data.data;
+ try {
+ const column = this.findObject(this.option.group, "deptId");
+ column.dicData = res.data.data;
+ } catch {}
});
getPostList(tenantId).then((res) => {
- const column = this.findObject(this.option.group, "postId");
- column.dicData = res.data.data;
+ try {
+ const column = this.findObject(this.option.group, "postId");
+ column.dicData = res.data.data;
+ } catch {}
});
},
@@ -780,11 +951,11 @@
searchChange(params, done) {
this.query = params;
this.page.currentPage = 1;
- var deptId;
+ // var deptId;
if (params.deptId) {
- deptId = params.deptId;
+ this.query["deptId"] = params.deptId;
}
- this.onLoad(this.page, params, deptId);
+ this.onLoad(this.page, params);
done();
},
selectionChange(list) {
@@ -835,28 +1006,29 @@
refreshChange() {
this.onLoad(this.page, this.query);
},
- onLoad(page, params = {}, deptId) {
+ onLoad(page, params = {}) {
this.loading = true;
+ // console.log(this.jurisdiction,33333);
params["jurisdiction"] = this.jurisdiction;
getListSecurity(
page.currentPage,
page.pageSize,
- Object.assign(params, this.query),
- deptId
+ Object.assign(params, this.query)
).then((res) => {
const data = res.data.data;
this.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";
+ // }
this.data = data.records;
- console.log(this.data);
+ // console.log(this.data);
this.loading = false;
+ this.$store.commit("setWindowSizeHeightAdd");
this.selectionClear();
});
},
@@ -906,40 +1078,47 @@
// console.log($);
// this.$Print("#certificatess");
this.objVisiblecertificates = obj;
- console.log(this.objVisiblecertificates);
+ // console.log(this.objVisiblecertificates);
+ getER(this.objVisiblecertificates.securitynumber).then((res) => {
+ this.erweima = res.data;
+ // console.log(res.data);
+ });
},
// 证件吊销事件
handleCredentials(row) {
- if (row.hold == 1) {
+ // console.log(row);
+ // return;
+ if (row.hold == 2) {
this.$message({
type: "info",
message: "证件未拥有!",
});
- } else if (row.hold == 2) {
+ } else if (row.hold == 3) {
this.$message({
type: "info",
message: "证件已吊销!",
});
- } else {
+ } else if (row.hold == 1) {
this.$confirm("是否吊销该人员的证件?", "提示", {
confirmButtonText: "是",
cancelButtonText: "否",
type: "warning",
})
.then(() => {
- updateHold(2, row.cardid).then((res) => {
- console.log(res);
+ updateHold(3, row.cardid).then((res) => {
+ // console.log(res);
this.$message({
type: "success",
- message: "删除成功!",
+ message: "吊销成功!",
});
+ this.refreshChange();
});
})
.catch(() => {
- this.$message({
- type: "info",
- message: "已取消删除",
- });
+ // this.$message({
+ // type: "info",
+ // message: "已取消删除",
+ // });
});
}
},
@@ -947,9 +1126,9 @@
};
</script>
-<style lang='scss' scoped>
+<style lang="scss" scoped>
.box {
- height: 800px;
+ height: auto;
}
.el-scrollbar {
@@ -985,13 +1164,91 @@
align-items: center;
justify-content: center;
}
+// .baz-main {
+// position: relative;
+// top: 15px;
+// // width: 441px;
+// // height: 358px;
+// width: 491px;
+// height: 468px;
+// // background-color: #004ca7;
+// background-color: #fff;
+// display: flex;
+// align-items: center;
+// justify-content: center;
+// flex-direction: column;
+// }
+// .baz-m-body {
+// width: 461px;
+// height: 308px;
+// background-image: url("/img/register/bazbj.png");
+// background-size: 100% 100%;
+// .bmb-heard {
+// font-size: 2rem;
+// width: 100%;
+// text-align: center;
+// letter-spacing: 1rem;
+// margin-bottom: 40px;
+// position: relative;
+// top: 20px;
+// }
+// img {
+// width: 130px;
+// height: 130px;
+// border-radius: 130px;
+// position: absolute;
+// top: 110px;
+// right: 60px;
+// }
+// .bmb-b {
+// padding-left: 20px;
+// box-sizing: border-box;
+// height: 50px;
+// margin-left: 10px;
+// width: 100%;
+// font-size: 1rem;
+// font-weight: 400;
+// .bmb-b-s {
+// display: inline-block;
+// width: 110px;
+// font-size: 1.1rem;
+// font-weight: 600;
+// }
+// }
+// }
+// .PrintBut {
+// margin-top: 15px;
+// }
+// .rowClickSelf {
+// &:hover {
+// cursor: pointer;
+// }
+// }
+
+// .baoanzheng {
+// // position: fixed;
+// position: relative;
+// // top: 0;
+// top: 0;
+// // left: -10%;
+// left: 0;
+// // height: 0;
+// width: 100%;
+// height: calc(100% - 100px);
+// // background-color: rgba(0, 0, 0, 0.5);
+// background-color: #fff;
+// z-index: 9000;
+// display: flex;
+// align-items: center;
+// justify-content: center;
+// }
.baz-main {
position: relative;
top: 15px;
// width: 441px;
// height: 358px;
- width: 491px;
- height: 468px;
+ width: 750px;
+ height: 550px;
// background-color: #004ca7;
background-color: #fff;
display: flex;
@@ -1000,49 +1257,69 @@
flex-direction: column;
}
.baz-m-body {
- width: 461px;
- height: 308px;
+ width: 750px;
+ height: 550px;
background-image: url("/img/register/bazbj.png");
background-size: 100% 100%;
.bmb-heard {
- font-size: 2rem;
+ font-size: 4rem;
width: 100%;
text-align: center;
- letter-spacing: 1rem;
+ letter-spacing: 1.4rem;
margin-bottom: 40px;
+ padding-left: 10px;
position: relative;
top: 20px;
}
- img {
- width: 130px;
- height: 130px;
- border-radius: 130px;
+ .img {
+ width: 152px;
+ height: 205px;
+ border-radius: 10px;
position: absolute;
+ // border: 1px solid rgba($color: #888888, $alpha: 0.5);
top: 110px;
- right: 60px;
+ right: 80px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ .imgs {
+ width: 110px;
+ height: 110px;
+ border-radius: 10px;
+ position: absolute;
+ // border: 1px solid rgba($color: #888888, $alpha: 0.5);
+ top: 330px;
+ right: 103px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ img {
+ width: 100%;
+ height: 100%;
+ }
}
.bmb-b {
padding-left: 20px;
box-sizing: border-box;
- height: 50px;
- margin-left: 10px;
+ height: 3.9rem;
+ margin-left: 3rem;
width: 100%;
- font-size: 1rem;
- font-weight: 400;
+ font-size: 2rem;
+ font-weight: 300;
.bmb-b-s {
display: inline-block;
- width: 110px;
- font-size: 1.1rem;
- font-weight: 600;
+ width: 20rem;
+ font-size: 2rem;
+ font-weight: 300;
}
}
}
.PrintBut {
margin-top: 15px;
-}
-.rowClickSelf {
- &:hover {
- cursor: pointer;
- }
}
</style>
--
Gitblit v1.9.3