From d2611ee5cb26997b5902b0be82c10c3d1fe4a86c Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Wed, 22 Sep 2021 10:38:06 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/zhba_regulatory_ys
---
src/api/securityUnitOperation/securityUnitOperation.js | 51 +
src/views/statisticalQueryManagement/businessStatistics.vue | 209 ++-
src/views/qualificationExamination/signQualificationExamination.vue | 75 +
src/api/apply/apply.js | 9
src/views/statisticalQueryManagement/businessStatisticsFwdq.vue | 275 +++++
src/views/statisticalQueryManagement/securityGuardDetail.vue | 43
src/views/statisticalQueryManagement/securityGuardStatistics.vue | 86 +
src/views/securityUnitOperation/economicAnalysis.vue | 187 +++
src/api/statisticalQueryManagement/statisticalQueryManagement.js | 118 +
src/styles/common.scss | 7
src/styles/element-ui.scss | 390 ++++---
src/views/home/index.scss | 4
src/assets/img/company.png | 0
src/views/home/index.vue | 553 +++++++---
src/views/qualificationExamination/paymentInquiry.vue | 87 +
src/api/index/index.js | 78 +
src/views/statisticalQueryManagement/companyDetails.vue | 38
src/views/home/indexEchart.js | 156 +-
src/views/statisticalQueryManagement/businessStatisticsDetail.vue | 70
src/views/statisticalQueryManagement/businessStatisticsPq.vue | 301 ++++++
src/views/securityUnitOperation/operationAnalysis.vue | 148 ++
21 files changed, 2,142 insertions(+), 743 deletions(-)
diff --git a/src/api/apply/apply.js b/src/api/apply/apply.js
new file mode 100644
index 0000000..a879349
--- /dev/null
+++ b/src/api/apply/apply.js
@@ -0,0 +1,9 @@
+import request from '@/router/axios';
+
+export const update = (row) => {
+ return request({
+ url: '/api/apply/update',
+ method: 'post',
+ data: row
+ })
+}
\ No newline at end of file
diff --git a/src/api/index/index.js b/src/api/index/index.js
index e8b9c13..ac53e9d 100644
--- a/src/api/index/index.js
+++ b/src/api/index/index.js
@@ -47,10 +47,16 @@
params: params
});
};
+// export const selectFj = () => {
+// return request({
+// url: "/api/information/selectFj",
+// method: "post"
+// });
+// };
export const selectFj = () => {
return request({
- url: "/api/information/selectFj",
- method: "post"
+ url: "/api/information/selectSubstationWarnInfo",
+ method: "get"
});
};
export const selectBx = params => {
@@ -150,3 +156,71 @@
method: "get"
});
};
+
+// 地图-保安公司列表接口
+export const getSecurityUnitPositionInfo = () => {
+ return request({
+ url: "/api/information/getSecurityUnitPositionInfo",
+ method: "get"
+ });
+};
+
+// 业务对象统计---保安公司模块表格接口
+export const getSecurityUnitInfoPage = params => {
+ return request({
+ url: "/api/information/getSecurityUnitInfoPage",
+ method: "get",
+ params: params
+ });
+};
+
+// 业务对象统计---保安员持证模块表格接口
+export const getSecurityUnitHoldInfoPage = params => {
+ return request({
+ url: "/api/information/getSecurityUnitHoldInfoPage",
+ method: "get",
+ params: params
+ });
+};
+
+// 考试通过率低于50%的保安公司表格接口
+export const getSecurityUnitExamLessPage = params => {
+ return request({
+ url: "/api/information/getSecurityUnitExamLessPage?proportion=50",
+ method: "get",
+ params: params
+ });
+};
+
+// 持证率低于50%的保安公司表格接口
+export const getSecurityUnitHoldLessPage = params => {
+ return request({
+ url: "/api/information/getSecurityUnitHoldLessPage?proportion=50",
+ method: "get",
+ params: params
+ });
+};
+// 社保缴纳率低于50%的保安公司表格接口
+export const getSecurityUnitSoilLessPage = params => {
+ return request({
+ url: "/api/information/getSecurityUnitSoilLessPage?proportion=50",
+ method: "get",
+ params: params
+ });
+};
+// 派遣率低于50%的保安公司表格接口
+export const getSecurityUnitDispatcherLessPage = params => {
+ return request({
+ url: "/api/information/getSecurityUnitDispatcherLessPage?proportion=50",
+ method: "get",
+ params: params
+ });
+};
+// 业务对象统计---预警信息模块表格接口
+export const getSubstationWarnInfoPage = params => {
+ return request({
+ url: "/api/information/getSubstationWarnInfoPage",
+ method: "get",
+ params: params
+ });
+};
diff --git a/src/api/securityUnitOperation/securityUnitOperation.js b/src/api/securityUnitOperation/securityUnitOperation.js
index 1d62e80..51e7669 100644
--- a/src/api/securityUnitOperation/securityUnitOperation.js
+++ b/src/api/securityUnitOperation/securityUnitOperation.js
@@ -82,4 +82,55 @@
method: "post",
params: params
});
+};
+// 公司服务对象小于2家的预警信息
+export const getSecurityUnitServerLessPage = (params) => {
+ return request({
+ url: "/api/information/getSecurityUnitServerLessPage",
+ method: "get",
+ params: params
+ });
+};
+
+// 派遣率小于50%的公司预警信息
+export const getSecurityUnitDispatcherLessPage = (params) => {
+ return request({
+ url: "/api/information/getSecurityUnitDispatcherLessPage?proportion=50",
+ method: "get",
+ params: params
+ });
+};
+// 持证率小于50%的公司预警信息
+export const getSecurityUnitHoldLessPage = (params) => {
+ return request({
+ url: "/api/information/getSecurityUnitHoldLessPage?proportion=50",
+ method: "get",
+ params: params
+ });
+};
+
+// 经济-社保缴纳率小于90%
+export const getSecurityUnitSoilLessPage = (params) => {
+ return request({
+ url: "/api/information/getSecurityUnitSoilLessPage?proportion=90",
+ method: "get",
+ params: params
+ });
+};
+// 经济-保险缴纳小于90%的公司预警信息
+export const getSecurityUnitInsuranceLessPage = (params) => {
+ return request({
+ url: "/api/information/getSecurityUnitInsuranceLessPage?proportion=90",
+ method: "get",
+ params: params
+ });
+};
+
+// 经济-服务合同小于2份的公司预警信息
+export const getSecurityUnitServerLessPage1 = (params) => {
+ return request({
+ url: "/api/information/getSecurityUnitServerLessPage",
+ method: "get",
+ params: params
+ });
};
\ No newline at end of file
diff --git a/src/api/statisticalQueryManagement/statisticalQueryManagement.js b/src/api/statisticalQueryManagement/statisticalQueryManagement.js
index f21e114..56c610d 100644
--- a/src/api/statisticalQueryManagement/statisticalQueryManagement.js
+++ b/src/api/statisticalQueryManagement/statisticalQueryManagement.js
@@ -1,63 +1,89 @@
import request from "@/router/axios";
-export const selectLi = (params) => {
- return request({
- url: "/api/information/selectLi",
- method: "post",
- params: params
- });
+export const selectLi = params => {
+ return request({
+ url: "/api/information/selectLi",
+ method: "post",
+ params: params
+ });
};
-export const selectYw = (params) => {
- return request({
- url: "/api/information/selectYw",
- method: "post",
- params: params
- });
+export const selectYw = params => {
+ return request({
+ url: "/api/information/selectYw",
+ method: "post",
+ params: params
+ });
};
-export const selectUIn = (params) => {
- return request({
- url: "/api/information/selectUIn",
- method: "post",
- params: params
- });
+export const selectUIn = params => {
+ return request({
+ url: "/api/information/selectUIn",
+ method: "post",
+ params: params
+ });
};
-export const selectDis = (params) => {
- return request({
- url: "/api/information/selectDis",
- method: "post",
- params: params
- });
+export const selectDis = params => {
+ return request({
+ url: "/api/information/selectDis",
+ method: "post",
+ params: params
+ });
};
// 服务单位下拉接口
-export const selectFw = (params) => {
- return request({
- url: "/api/information/selectFw",
- method: "post",
- params: params
- });
+export const selectFw = params => {
+ return request({
+ url: "/api/information/selectFw",
+ method: "post",
+ params: params
+ });
};
// 查保安员明细
-export const pageSecurity = (params) => {
- return request({
- url: "/api/blade-user/page-security",
- method: "get",
- params: params
- });
+export const pageSecurity = params => {
+ return request({
+ url: "/api/blade-user/page-security",
+ method: "get",
+ params: params
+ });
};
// 服务对象明细
-export const fwList = (params) => {
- return request({
- url: "/api/dispatcherUnit/list",
- method: "get",
- params: params
- });
+export const fwList = params => {
+ return request({
+ url: "/api/dispatcherUnit/list",
+ method: "get",
+ params: params
+ });
};
// 单位类型
export const dictionaryList = () => {
- return request({
- url: "/api/blade-system/dict-biz/dictionary?code=stats",
- method: "get",
- });
+ return request({
+ url: "/api/blade-system/dict-biz/dictionary?code=stats",
+ method: "get"
+ });
};
+// 服务对象数量
+export const dispatcherUnit = params => {
+ return request({
+ url: "/api/dispatcherUnit/page?isExpire=1",
+ method: "get",
+ params: params
+ });
+};
+
+// 派遣人员清单
+export const dispatcher = params => {
+ return request({
+ url: "/api/dispatcher/page?dispatch=0",
+ method: "get",
+ params: params
+ });
+};
+
+// 服务到期公司清单
+export const dispatcherUnit2 = params => {
+ return request({
+ url: "/api/dispatcherUnit/page?isExpire=2",
+ method: "get",
+ params: params
+ });
+};
diff --git a/src/assets/img/company.png b/src/assets/img/company.png
new file mode 100644
index 0000000..ff429ab
--- /dev/null
+++ b/src/assets/img/company.png
Binary files differ
diff --git a/src/styles/common.scss b/src/styles/common.scss
index 8f7b47b..6acb413 100644
--- a/src/styles/common.scss
+++ b/src/styles/common.scss
@@ -63,3 +63,10 @@
}
}
+
+// 统计弹表的样式
+.tongji-class .el-dialog{
+ width: 80%;
+ margin-top: 10vh;
+}
+
diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss
index 819e995..e9845a9 100644
--- a/src/styles/element-ui.scss
+++ b/src/styles/element-ui.scss
@@ -1,422 +1,474 @@
@import "./ourBackgroundColor.scss";
.el-dropdown-menu__item {
- font-size: 12px !important;
- line-height: 28px !important;
+ font-size: 12px !important;
+ line-height: 28px !important;
}
.el-scrollbar__view {
- height: 100%;
+ height: 100%;
}
.el-menu--horizontal {
- border-bottom: none !important;
+ border-bottom: none !important;
}
.el-menu {
- border-right: none !important;
+ border-right: none !important;
}
.el-menu--display,
-.el-menu--display + .el-submenu__icon-arrow {
- display: none;
+.el-menu--display+.el-submenu__icon-arrow {
+ display: none;
}
.el-message__icon,
.el-message__content {
- display: inline-block;
+ display: inline-block;
}
.el-date-editor .el-range-input,
.el-date-editor .el-range-separator {
- height: auto;
- overflow: hidden;
+ height: auto;
+ overflow: hidden;
}
.el-dialog__wrapper {
- z-index: 2048;
+ z-index: 2048;
}
.el-col {
- margin-bottom: 8px;
+ margin-bottom: 8px;
}
.el-main {
- padding: 0 !important;
+ padding: 0 !important;
+}
+
+.el-upload__tip {
+ color: #fff;
}
.el-dropdown-menu__item--divided:before,
.el-menu,
-.el-menu--horizontal > .el-menu-item:not(.is-disabled):focus,
-.el-menu--horizontal > .el-menu-item:not(.is-disabled):hover,
-.el-menu--horizontal > .el-submenu .el-submenu__title:hover {
- background-color: transparent;
+.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,
+.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,
+.el-menu--horizontal>.el-submenu .el-submenu__title:hover {
+ background-color: transparent;
}
.el-dropdown-menu__item--divided:before,
.el-menu,
-.el-menu--horizontal > .el-menu-item:not(.is-disabled):focus,
-.el-menu--horizontal > .el-menu-item:not(.is-disabled):hover,
-.el-menu--horizontal > .el-submenu .el-submenu__title:hover {
- background-color: transparent !important;
+.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,
+.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,
+.el-menu--horizontal>.el-submenu .el-submenu__title:hover {
+ background-color: transparent !important;
}
.el-card__header {
- padding: 6px 18px !important;
+ padding: 6px 18px !important;
}
//部分全局颜色设置
.el-card__body {
- background-color: $mainB !important;
- // border:1px solid $mainB !important;
- //padding: 16px !important;
+ background-color: $mainB !important;
+ // border:1px solid $mainB !important;
+ //padding: 16px !important;
}
.el-divider--horizontal {
- margin: 12px 0 !important;
+ margin: 12px 0 !important;
}
.avue-group .el-collapse,
.avue-group .el-collapse-item__wrap {
- border-color: $mainB !important;
- background-color: $mainB !important;
+ border-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.el-form-item__label {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
.avue-crud__menu {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.el-table {
- background-color: $mainB !important;
- color: $fontColor !important;
+ background-color: $mainB !important;
+ color: $fontColor !important;
}
.el-table th,
.el-table tr {
- background-color: $mainB !important;
- color: $fontColor !important;
+ background-color: $mainB !important;
+ color: $fontColor !important;
}
-.el-table__body tr.hover-row > td {
- background-color: $mainBhover !important;
+
+.el-table__body tr.hover-row>td {
+ background-color: $mainBhover !important;
}
+
.el-button--text {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
.el-card {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.el-tabs__item {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
//标签栏活动按钮
.el-tabs__item.is-active {
- color: $fontColorActive1 !important;
+ color: $fontColorActive1 !important;
}
+
.el-input.is-disabled .el-input__inner {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
.el-textarea.is-disabled .el-textarea__inner {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
.el-textarea.is-disabled .el-textarea__inner {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.el-pagination__jump,
.el-pagination__total {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
.avue-sidebar .el-menu-item i,
.avue-sidebar .el-menu-item span,
.avue-sidebar .el-submenu__title i,
.avue-sidebar .el-submenu__title span {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
.el-menu-item:hover {
- background-color: $mainBhover !important;
- // color: red !important;
+ background-color: $mainBhover !important;
+ // color: red !important;
}
+
.el-input__inner {
- background-color: $inputqiu !important;
- color: $fontColor !important;
- border: 1px solid $inputBorder !important;
+ background-color: $inputqiu !important;
+ color: $fontColor !important;
+ border: 1px solid $inputBorder !important;
}
+
.el-tree-node__content {
- background-color: $mainB !important;
- color: $fontColor !important;
+ background-color: $mainB !important;
+ color: $fontColor !important;
}
+
.el-tree-node__content:hover {
- background-color: $mainBhover !important;
+ background-color: $mainBhover !important;
}
+
//el按钮
.el-button {
- background-color: $mainBhover !important;
- color: $fontColor !important;
+ background-color: $mainBhover !important;
+ color: $fontColor !important;
}
+
.el-pagination.is-background .btn-next,
.el-pagination.is-background .btn-prev,
.el-pagination.is-background .el-pager li {
- background-color: $inputB !important;
- color: $fontColor !important;
+ background-color: $inputB !important;
+ color: $fontColor !important;
}
+
.el-tree {
- background-color: $mainB !important;
- color: $fontColor !important;
+ background-color: $mainB !important;
+ color: $fontColor !important;
}
+
.el-table th {
- background-color: $inputB1 !important;
+ background-color: $inputB1 !important;
}
//弹窗
.el-dialog__header {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.avue-dialog .el-dialog__title,
.avue-dialog .el-drawer__header,
.el-dialog__title {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
.el-dialog__body {
- background-color: $mainB !important;
- color: $fontColor !important;
+ background-color: $mainB !important;
+ color: $fontColor !important;
}
+
.w-e-toolbar {
- // background-color: $inputB !important;
- background-color: #fff !important;
- color: $fontColor !important;
- // border: 1px solid $inputBorder !important;
+ // background-color: $inputB !important;
+ background-color: #fff !important;
+ color: $fontColor !important;
+ // border: 1px solid $inputBorder !important;
}
+
.w-e-text-container {
- border: 1px solid $inputBorder !important;
+ border: 1px solid $inputBorder !important;
}
+
.el-collapse-item__content {
- color: $fontColor !important;
+ color: $fontColor !important;
}
//表格等待
.el-loading-mask {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
//附件上传弹窗中心
.el-upload-dragger {
- background-color: $inputB1 !important;
+ background-color: $inputB1 !important;
}
+
.el-upload-dragger .el-upload__text,
.el-upload-dragger .el-icon-upload {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
//单选
.el-radio {
- color: $fontColor !important;
+ color: $fontColor !important;
}
//多行输入
.el-textarea__inner {
- background-color: $inputB1 !important;
- border: 1px solid $inputBorder !important;
+ background-color: $inputB1 !important;
+ border: 1px solid $inputBorder !important;
}
// 数字type input
.el-input-number__decrease,
.el-input-number__increase {
- background-color: $inputB1 !important;
+ background-color: $inputB1 !important;
}
+
//菜单图标
.el-input-group__append,
.el-input-group__prepend {
- background-color: $inputB1 !important;
- color: $fontColor !important;
+ background-color: $inputB1 !important;
+ color: $fontColor !important;
}
+
//登入表单 恢复按钮
.login-border .el-input__inner {
- background-color: #fff !important;
- color: #606266 !important;
+ background-color: #fff !important;
+ color: #606266 !important;
}
-//菜单编辑删除按钮
-.el-button + .el-button {
- padding-left: 8px;
- padding-right: 8px;
-}
-//菜单自定义按钮
+//菜单编辑删除按钮
+.el-button+.el-button {
+ padding-left: 8px;
+ padding-right: 8px;
+}
+
+//菜单自定义按钮
.el-button--text,
.el-button--text.is-disabled,
.el-button--text.is-disabled:focus,
.el-button--text.is-disabled:hover,
.el-button--text:active {
- padding-left: 8px !important;
- padding-right: 8px !important;
+ padding-left: 8px !important;
+ padding-right: 8px !important;
}
+
//菜单按钮
.login-border .el-button {
- background-color: $buttonB !important;
- color: #fff !important;
+ background-color: $buttonB !important;
+ color: #fff !important;
}
//bug窗口
.el-dialog,
.el-pager li {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
//导航搜索 下拉
.el-autocomplete-suggestion__wrap {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
.el-autocomplete-suggestion li {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
.el-autocomplete-suggestion li:hover {
- background-color: $inputB1 !important;
+ background-color: $inputB1 !important;
}
//总标签栏 更多 下拉框
.el-dropdown-menu {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.el-dropdown-menu__item {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
.el-dropdown-menu__item:hover {
- background-color: $inputB1 !important;
- color: $fontColor !important;
+ background-color: $inputB1 !important;
+ color: $fontColor !important;
}
+
//总标签栏
.avue-tags {
- background-color: $mainBx1 !important;
- color: $fontColor !important;
+ background-color: $mainBx1 !important;
+ color: $fontColor !important;
}
//通知弹窗
.el-popover {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
.avue-notice__subtitle,
.avue-notice__title {
- color: $fontColor !important;
+ color: $fontColor !important;
}
//左侧导航栏
.avue-logo {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.avue-sidebar {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
//表格搜索 下拉
.el-scrollbar__view,
.el-select-dropdown__list {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.el-select-dropdown__item {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
// .el-select-dropdown__item:hover {
// background-color: $inputB1 !important;
// color: $fontColor !important;
// }
.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
- background-color: $inputB1 !important;
- color: $fontColor !important;
+ background-color: $inputB1 !important;
+ color: $fontColor !important;
}
+
//弹框消息
.el-message-box {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.el-message-box__content {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
//用户头像边上的下拉 字体颜色
.el-dropdown-menu__item a {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
// a
//top导航颜色
.avue-header {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
//选取时间
.el-picker-panel {
- background-color: $mainB !important;
- color: $fontColor !important;
+ background-color: $mainB !important;
+ color: $fontColor !important;
}
.el-date-table td.in-range div,
.el-date-table td.in-range div:hover,
.el-date-table.is-week-mode .el-date-table__row.current div,
.el-date-table.is-week-mode .el-date-table__row:hover div {
- background-color: $inputB1 !important;
- color: $fontColor !important;
+ background-color: $inputB1 !important;
+ color: $fontColor !important;
}
.el-picker-panel__footer {
- background-color: $mainB !important;
- color: $fontColor !important;
+ background-color: $mainB !important;
+ color: $fontColor !important;
}
+
.el-date-table th {
- color: $fontColor !important;
+ color: $fontColor !important;
}
.el-range-editor--small .el-range-input {
- background-color: transparent !important;
+ background-color: transparent !important;
}
+
.el-picker-panel__icon-btn {
- color: $fontColor !important;
+ color: $fontColor !important;
}
//证件照吊销 弹窗颜色
.el-message-box__title {
- color: $fontColor !important;
+ color: $fontColor !important;
}
//发起回报
.el-textarea__inner {
- color: $fontColor !important;
+ color: $fontColor !important;
}
+
//通知公告 白色bug
.el-table--striped .el-table__body tr.el-table__row--striped td {
- background-color: transparent !important;
+ background-color: transparent !important;
}
//用户管理
.el-collapse-item__header {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
+
.avue-group__icon,
.avue-group__title {
- color: $fontColor !important;
+ color: $fontColor !important;
}
//保安人员管理 去掉横向滚动条
.box .el-scrollbar__wrap {
- overflow-y: scroll;
- overflow-x: hidden;
+ overflow-y: scroll;
+ overflow-x: hidden;
}
//菜单管理 左边展开
.el-table__expand-icon {
- color: $fontColor !important;
+ color: $fontColor !important;
}
-// 左侧树形 阴影
+// 左侧树形 阴影
// .el-card.is-always-shadow {
// box-shadow: 3px 3px 15px -2px rgb(0, 0, 0);
// }
//表格斑马纹
.el-table tr:nth-child(2n -1) {
- background-color: #3457b1 !important;
+ background-color: #3457b1 !important;
}
//去除表格底部线
.el-table td,
.el-table th.is-leaf {
- border: 1px solid rgba($color: #ffffff, $alpha: 0.2);
+ border: 1px solid rgba($color: #ffffff, $alpha: 0.2);
}
+
// //顶部搜索栏
// .el-card.is-never-shadow.avue-crud__search {
// position: absolute;
@@ -508,89 +560,89 @@
// position: relative;
// top: 15px;
// }
-
// 搜索栏按钮左移
// .avue-form__group:nth-last-child() .el-form-item__content {
// margin-left: 30px !important;
// width: 165px !important;
// }
.avue-form__menu--center .el-button {
- float: left;
+ float: left;
}
+
.avue-form__menu--center .el-button:nth-child(1) {
- margin-left: 30px;
+ margin-left: 30px;
}
//编辑弹窗上横线
.avue-dialog .el-dialog__header {
- border-bottom: 1px solid #7ec9de;
+ border-bottom: 1px solid #7ec9de;
}
//弹窗关闭和全屏按钮
.el-dialog__headerbtn .el-dialog__close,
.avue-crud__dialog__menu i {
- color: $close !important;
+ color: $close !important;
}
// 角色管理权限弹窗
// .el-tabs--border-card {
// background-color: $mainB !important;
// }
-
.el-tabs--border-card {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
-.el-tabs--border-card > .el-tabs__header {
- background-color: $mainB !important;
+.el-tabs--border-card>.el-tabs__header {
+ background-color: $mainB !important;
}
-.el-tabs--border-card > .el-tabs__header .el-tabs__item.is-active {
- background-color: transparent !important;
- border-bottom: 1px solid $mainB !important;
+
+.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active {
+ background-color: transparent !important;
+ border-bottom: 1px solid $mainB !important;
}
+
// 系统字典新增
.el-switch__label {
- color: $fontColor;
+ color: $fontColor;
}
.avue--detail .el-radio.is-checked .el-radio__label {
- color: $fontColor;
+ color: $fontColor;
}
.el-tag {
- border: none !important;
- color: $fontColor !important;
- background-color: transparent !important;
+ border: none !important;
+ color: $fontColor !important;
+ background-color: transparent !important;
}
//保安员详情 表格hover
.el-table__row:hover td {
- background-color: $mainBhover !important;
+ background-color: $mainBhover !important;
}
//覆盖左侧主菜单 监管 样式
-.el-menu-item:focus
-// .el-menu-item:hover
+.el-menu-item:focus // .el-menu-item:hover
{
- background-color: $black !important;
+ background-color: $black !important;
}
// logo 颜色
.login-border {
- .el-input__inner {
- border: 1px solid transparent !important;
- border-bottom: 1px solid rgba($color: #000000, $alpha: 0.1) !important;
- }
+ .el-input__inner {
+ border: 1px solid transparent !important;
+ border-bottom: 1px solid rgba($color: #000000, $alpha: 0.1) !important;
+ }
}
//
.el-range-editor--mini .el-range-input {
- background-color: transparent !important;
+ background-color: transparent !important;
}
// 右侧弹窗 表格显影功能 背景
.el-drawer__open .el-drawer.rtl {
- background-color: $mainB !important;
+ background-color: $mainB !important;
}
// .registersss .avue-form__menu {
@@ -599,12 +651,11 @@
// display: flex;
// flex-direction: row-reverse;
// }
-
.rowClickSelf {
- // border: 1px solid #2593ee !important;
- &:hover {
- cursor: pointer;
- }
+ // border: 1px solid #2593ee !important;
+ &:hover {
+ cursor: pointer;
+ }
}
//格子
@@ -612,16 +663,15 @@
// border: 1px solid #fff;
// box-sizing: border-box;
// }
-
.avue-empty__desc {
- color: #fff !important;
+ color: #fff !important;
}
.company-box .avue-form__menu--center {
- width: 300px;
+ width: 300px;
}
// .fontcolorfff .el-date-editor .el-range-input {
.el-date-editor .el-range-input {
- color: #fff !important;
-}
+ color: #fff !important;
+}
\ No newline at end of file
diff --git a/src/views/home/index.scss b/src/views/home/index.scss
index aa3c0ca..1467471 100644
--- a/src/views/home/index.scss
+++ b/src/views/home/index.scss
@@ -410,7 +410,7 @@
margin-top: 218px;
}
/deep/ .el-table__body-wrapper {
- overflow: auto;
+ overflow-y: auto;
height: calc(100% - 50px);
}
}
@@ -467,7 +467,7 @@
width: 128px;
text-align: center;
// margin: 3px;
- line-height: 35px;
+ line-height: 31px;
span:nth-child(1) {
width: 100%;
display: block;
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index 9d13d4f..ee88dd9 100644
--- a/src/views/home/index.vue
+++ b/src/views/home/index.vue
@@ -93,11 +93,11 @@
<span>{{ peoNum }}</span>
</div>
</div>
- <div class="mapBtn" @click="setMapData(1)">
+ <div class="mapBtn" @click="setMapData(4)">
<img src="../../../public/img/bajgxt/company.png" alt />
<div class="text">
<span>保安公司</span>
- <span>{{ peoNum }}</span>
+ <span>{{ companyNum }}</span>
</div>
</div>
<div class="mapBtn" @click="setMapData(2)">
@@ -232,6 +232,43 @@
:key="curTableType"
prop="tel"
label="联系电话"
+ ></el-table-column> </template
+ ><template v-if="curTableType === 4">
+ <el-table-column
+ :key="curTableType"
+ type="index"
+ label="序号"
+ width="50"
+ ></el-table-column>
+ <el-table-column
+ :key="curTableType"
+ show-overflow-tooltip
+ prop="enterprisename"
+ label="保安公司名称"
+ width="180"
+ ></el-table-column>
+ <el-table-column
+ :key="curTableType"
+ show-overflow-tooltip
+ prop="jurisdictionName"
+ label="所属辖区"
+ ></el-table-column>
+ <el-table-column
+ :key="curTableType"
+ show-overflow-tooltip
+ prop="address"
+ label="注册地址"
+ ></el-table-column>
+ <el-table-column
+ :key="curTableType"
+ show-overflow-tooltip
+ prop="contacts"
+ label="负责人"
+ ></el-table-column>
+ <el-table-column
+ :key="curTableType"
+ prop="contactscell"
+ label="联系电话"
></el-table-column>
</template>
</el-table>
@@ -344,26 +381,7 @@
<span>{{ rightData.punishNum }}个</span>
</div>
</div>
- <!-- <div class="card-list">
- <img src="../../../public/img/bajgxt/u4.png" />
- <img src="../../../public/img/bajgxt/u235.png" />
- <img src="../../../public/img/bajgxt/u1.png" />
- <span>{{ rightData.socialSecurity }}</span>
- <span>未缴纳社保</span>
- </div>
- <div class="card-list">
- <img src="../../../public/img/bajgxt/u4.png" />
- <img src="../../../public/img/bajgxt/u251.png" />
- <img src="../../../public/img/bajgxt/u1.png" />
- <span>{{ rightData.noholder }}</span>
- <span>未持证</span>
- </div> -->
</div>
- <!-- <div class="card-text"> -->
- <!-- <span>未缴纳社保情况</span><span>902,432</span><span>起</span
- ><span>未持证情况</span><span>22222</span><span>起</span>-->
- <!-- </div> -->
- <!-- <div id="right2Echart"></div> -->
</div>
<div class="right3">
<div class="title-pane2">
@@ -384,30 +402,98 @@
:visible.sync="dialogTableVisible"
>
<el-table :data="gridData.data">
+ <template v-if="gridData.type === 'zg'">
+ <el-table-column :key="gridData.type" type="index"> </el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="realName"
+ label="保安姓名"
+ :show-overflow-tooltip="true"
+ width="100"
+ ></el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="deptName"
+ label="保安公司"
+ :show-overflow-tooltip="true"
+ ></el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="sex"
+ label="性别"
+ :formatter="sexFormatter"
+ :show-overflow-tooltip="true"
+ width="100"
+ ></el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="cardid"
+ label="身份证号"
+ :show-overflow-tooltip="true"
+ width="180"
+ ></el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="age"
+ label="年龄"
+ :show-overflow-tooltip="true"
+ width="100"
+ ></el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="securitynumber"
+ label="保安员证编号"
+ :show-overflow-tooltip="true"
+ width="150"
+ ></el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="phone"
+ label="联系方式"
+ :show-overflow-tooltip="true"
+ width="150"
+ ></el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="examinationType"
+ label="审查状态"
+ :formatter="examinationFormatter"
+ :show-overflow-tooltip="true"
+ width="100"
+ ></el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="examinationMx"
+ label="审查明细"
+ :show-overflow-tooltip="true"
+ width="150"
+ ></el-table-column>
+ </template>
<template v-if="gridData.type === 'ks'">
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="znum"
label="保安总数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="cnum"
label="考试通过人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="pnum"
label="考试通过率"
+ :formatter="kslFormatter"
:show-overflow-tooltip="true"
></el-table-column>
</template>
@@ -415,26 +501,27 @@
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="znum"
label="保安总数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="cnum"
label="持证人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="pnum"
label="持证率"
+ :formatter="kslFormatter"
:show-overflow-tooltip="true"
></el-table-column>
</template>
@@ -442,26 +529,27 @@
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="znum"
label="保安总数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="cnum"
label="缴纳社保人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="pnum"
label="社保缴纳率"
+ :formatter="kslFormatter"
:show-overflow-tooltip="true"
></el-table-column>
</template>
@@ -469,26 +557,27 @@
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="znum"
label="保安总数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="cnum"
label="派遣人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="pnum"
label="派遣率"
+ :formatter="kslFormatter"
:show-overflow-tooltip="true"
></el-table-column>
</template>
@@ -496,20 +585,26 @@
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="detail"
label="预警信息内容"
+ :show-overflow-tooltip="true"
+ ></el-table-column>
+ <el-table-column
+ :key="gridData.type"
+ prop="znum"
+ label="数量(条)"
:show-overflow-tooltip="true"
></el-table-column>
</template>
@@ -517,19 +612,20 @@
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="stats"
label="保安公司类型"
+ :formatter="companyFormatter"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
@@ -538,31 +634,31 @@
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="znum"
label="保安总数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="cnum"
label="持证人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop=""
+ prop="pnum"
label="未持证人数"
:show-overflow-tooltip="true"
></el-table-column>
@@ -583,22 +679,9 @@
<script>
import "./echarts-auto-tooltip";
-// import "ol/ol.css";
import * as echarts from "echarts";
import optionJs from "./indexEchart";
-// import TileLayer from "ol/layer/Tile";
import XYZ from "ol/source/XYZ";
-// import { Map, View } from "ol";
-// import { Tile, Group } from "ol/layer";
-// import { OSM, TileJSON } from "ol/source";
-// import VectorLayer from "ol/layer/Vector";
-// import VectorSource from "ol/source/Vector";
-
-// import Feature from "ol/Feature.js";
-// import Point from "ol/geom/Point.js";
-// import { Fill, Stroke, Circle, Style, Icon } from "ol/style";
-// import GeoJSON from "ol/format/GeoJSON";
-// import axios from "../../router/axios";
import {
securityTotal,
holderNum,
@@ -620,7 +703,15 @@
selectJy,
selectWg,
punishList,
- lazyTrees
+ lazyTrees,
+ getSecurityUnitPositionInfo,
+ getSecurityUnitInfoPage,
+ getSecurityUnitHoldInfoPage,
+ getSecurityUnitExamLessPage,
+ getSecurityUnitHoldLessPage,
+ getSecurityUnitSoilLessPage,
+ getSecurityUnitDispatcherLessPage,
+ getSubstationWarnInfoPage
} from "../../api/index/index";
import car from "@/assets/img/car.png";
@@ -654,6 +745,7 @@
carNum: 0,
peoNum: 0,
gunNum: 0,
+ companyNum: 0,
mapData: null,
echarts: {
left1Echart: null,
@@ -711,25 +803,6 @@
}
},
methods: {
- shoeDialog1(type, param) {
- this.gridData.type = type;
- this.dialogTableVisible = true;
- if (type === "ks") {
- this.gridData.title = "考试通过率低保安公司清单";
- } else if (type === "cz") {
- this.gridData.title = "持证率低保安公司清单";
- } else if (type === "sb") {
- this.gridData.title = "社保缴纳率低保安公司清单";
- } else if (type === "pq") {
- this.gridData.title = "派遣率低保安公司清单";
- } else if (type === "yj") {
- this.gridData.title = param.name + "预警信息";
- } else if (type === "ywdx_cz") {
- this.gridData.title = param.name + "持证情况";
- } else if (type === "ywdx_gs") {
- this.gridData.title = param.name + "保安公司统计";
- }
- },
//点击节点
handleNodeClick1(data) {
this.value1 = data;
@@ -740,6 +813,112 @@
handleNodeClick2(data) {
this.value2 = data;
this.peoWarning();
+ },
+ shoeDialog1(type, param) {
+ this.gridData.data = [];
+ this.gridData.total = 0;
+ this.gridData.current = 1;
+ this.gridData.type = type;
+ this.showDialogTable(type, param);
+ },
+ showDialogTable(type, param) {
+ this.dialogTableVisible = true;
+ this.dialogloading = true;
+ if (type === "ks") {
+ this.gridData.title = "保安公司预警清单-考试通过率小于50%";
+ this.getselectWg();
+ } else if (type === "cz") {
+ this.gridData.title = "保安公司预警清单-持证率小于50%";
+ this.getMaterial();
+ } else if (type === "sb") {
+ this.gridData.title = "保安公司预警清单-社保缴纳率小于50%";
+ this.getselectYs();
+ } else if (type === "pq") {
+ this.gridData.title = "保安公司预警清单-派遣率小于50%";
+ this.getPunishNum();
+ } else if (type === "yj") {
+ this.gridData.title = param.name + "预警信息";
+ if (param.name) {
+ let arr = this.options1[0].children.filter(
+ a => a.title === param.name
+ );
+ if (arr[0] && arr[0].id) {
+ getSubstationWarnInfoPage({
+ jurisdiction: arr[0].id,
+ current: this.gridData.current,
+ size: 10
+ }).then(res => {
+ if (res.data.code === 200) {
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ this.dialogloading = false;
+ });
+ }
+ }
+ } else if (type === "ywdx_cz") {
+ this.gridData.title = param.name + "持证情况";
+ if (param.name) {
+ let arr = this.options1[0].children.filter(
+ a => a.title === param.name
+ );
+ if (arr[0] && arr[0].id) {
+ getSecurityUnitHoldInfoPage({
+ jurisdiction: arr[0].id,
+ current: this.gridData.current,
+ size: 10
+ }).then(res => {
+ if (res.data.code === 200) {
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ this.dialogloading = false;
+ });
+ }
+ }
+ } else if (type === "ywdx_gs") {
+ this.gridData.title = param.name + "保安公司统计";
+ if (param.name) {
+ let arr = this.options1[0].children.filter(
+ a => a.title === param.name
+ );
+ if (arr[0] && arr[0].id) {
+ getSecurityUnitInfoPage({
+ jurisdiction: arr[0].id,
+ current: this.gridData.current,
+ size: 10
+ }).then(res => {
+ if (res.data.code === 200) {
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ this.dialogloading = false;
+ });
+ }
+ }
+ }
+ },
+ //点击节点本市保安公司
+
+ companyFormatter(row) {
+ if (row.stats === "2") {
+ return "本市保安公司";
+ } else if (row.stats === "4") {
+ return "分公司";
+ } else if (row.stats === "0") {
+ return "自招保安公司";
+ } else if (row.stats === "1") {
+ return "保安培训公司";
+ } else if (row.stats === "3") {
+ return "武装押运公司";
+ }
+ },
+ kslFormatter(row) {
+ if (row.pnum && row.pnum !== "0") {
+ return row.pnum + "%";
+ } else {
+ return row.pnum;
+ }
},
sexFormatter(row, column) {
if (row.sex === 1) {
@@ -968,17 +1147,22 @@
linkman: m.linkman,
company: m.company,
tel: m.tel,
- carNum: m.carNum
+ carNum: m.carNum,
+ id: m.id
};
- // let geoObj = {
- // name: type,
- // value: [Number(m.longitude), Number(m.latitude)],
- // };
- middleData[m.type]["geoData"].push([
- Number(m.longitude),
- Number(m.latitude)
- ]);
+ if (
+ m.longitude &&
+ m.latitude &&
+ m.longitude !== "0" &&
+ m.latitude !== "0"
+ ) {
+ middleData[m.type]["geoData"].push([
+ m.id,
+ Number(m.longitude),
+ Number(m.latitude)
+ ]);
+ }
middleData[m.type]["table"].push(obj);
});
this.carNum = middleData[2]["table"].length;
@@ -991,56 +1175,43 @@
}
});
},
+ // 获取保安公司地图数据
+ getCompanyMap() {
+ getSecurityUnitPositionInfo().then(res => {
+ if (res.data.code === 200) {
+ let curData = res.data.data;
+ let obj = {
+ table: [],
+ geoData: []
+ };
+ curData.forEach(m => {
+ if (
+ m.longitude &&
+ m.latitude &&
+ m.longitude !== "0" &&
+ m.latitude !== "0"
+ ) {
+ obj["geoData"].push([
+ m.id,
+ Number(m.longitude),
+ Number(m.latitude)
+ ]);
+ }
- initMap() {
- this.map = new Map({
- target: "map",
- layers: [
- // new Tile({
- // source: new OSM()
- // })
- new Tile({
- zIndex: 4,
- title: "影像",
- source: new XYZ({
- url:
- "http://t3.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0" // 行政区划
- })
- }),
- new Tile({
- zIndex: 5,
- title: "道路+中文注记",
- source: new XYZ({
- url:
- "http://t3.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0" // 注记
- })
- })
- ],
- view: new View({
- projection: "EPSG:4326",
- center: [115.892151, 28.676493],
- zoom: 10
- })
+ let item = {
+ enterprisename: m.enterprisename,
+ jurisdictionName: m.jurisdictionName,
+ address: m.address,
+ contacts: m.contacts,
+ contactscell: m.contactscell,
+ id: m.id
+ };
+ obj["table"].push(item);
+ });
+ this.companyNum = obj["table"].length;
+ this.mapData["4"] = obj;
+ }
});
- this.carVectorLayer = new VectorLayer({
- zIndex: 99,
- source: new VectorSource()
- });
-
- this.peoVectorLayer = new VectorLayer({
- zIndex: 99,
- source: new VectorSource()
- });
-
- this.gunVectorLayer = new VectorLayer({
- zIndex: 99,
- source: new VectorSource()
- });
- this.map.addLayer(this.carVectorLayer);
- this.map.addLayer(this.peoVectorLayer);
- this.map.addLayer(this.gunVectorLayer);
-
- this.getTableData(0);
},
// 获取辖区列表
getOfficeData() {
@@ -1069,6 +1240,7 @@
this.gridData.total = 0;
this.dialogTableVisible = true;
if (type === "zg") {
+ debugger;
this.gridData.title = "资格异常人员清单";
this.getQualificationPages(1);
} else if (type === "wg") {
@@ -1142,28 +1314,31 @@
this.dialogloading = false;
});
},
- changePage(page) {
- if (this.gridData.type === "zg") {
- this.getQualificationPages(page);
- } else if (this.gridData.type === "wg") {
- this.gridData.data = this.dialogTable.wgTable.slice(
- 10 * (page - 1),
- 10 * page
- );
- } else if (this.gridData.type === "jy") {
- this.gridData.data = this.dialogTable.jyTable.slice(
- 10 * (page - 1),
- 10 * page
- );
- } else if (this.gridData.type === "ym") {
- this.gridData.data = this.dialogTable.jyTable.slice(
- 10 * (page - 1),
- 10 * page
- );
- } else if (this.gridData.type === "jg") {
- this.getPunishList(page);
- }
+ changePage() {
+ this.showDialogTable(this.gridData.type);
},
+ // changePage(page) {
+ // if (this.gridData.type === "zg") {
+ // this.getQualificationPages(page);
+ // } else if (this.gridData.type === "wg") {
+ // this.gridData.data = this.dialogTable.wgTable.slice(
+ // 10 * (page - 1),
+ // 10 * page
+ // );
+ // } else if (this.gridData.type === "jy") {
+ // this.gridData.data = this.dialogTable.jyTable.slice(
+ // 10 * (page - 1),
+ // 10 * page
+ // );
+ // } else if (this.gridData.type === "ym") {
+ // this.gridData.data = this.dialogTable.jyTable.slice(
+ // 10 * (page - 1),
+ // 10 * page
+ // );
+ // } else if (this.gridData.type === "jg") {
+ // this.getPunishList(page);
+ // }
+ // },
getQualificationPages(page) {
this.gridData.current = page;
this.dialogloading = true;
@@ -1182,64 +1357,75 @@
this.dialogloading = false;
});
},
- // 公司受处罚数量
+ // 派遣率低于50%的保安公司表格接口
getPunishNum() {
- // selectCf({ jurisdiction: this.value2 }).then(res => {
- // if (res.data.code === 200) {
- // this.rightData.punishNum = res.data.data.count;
- // } else {
- // this.$message.error(res.msg);
- // }
- // this.right2loading = false;
- // });
let params = {
current: this.gridData.current,
size: 10,
jurisdiction: this.value2
};
- punishList(params).then(res => {
+ getSecurityUnitDispatcherLessPage(params).then(res => {
if (res.data.code === 200) {
this.gridData.data = res.data.data.records;
this.gridData.total = res.data.data.total;
this.rightData.punishNum = res.data.data.total;
}
this.dialogloading = false;
+ this.dialogloading = this.dialogloading ? false : false;
});
},
- // 经营不善
+ // 持证率低于50%的保安公司表格接口
getMaterial() {
- selectJy({ jurisdiction: this.value2 }).then(res => {
+ getSecurityUnitHoldLessPage({
+ jurisdiction: this.value2,
+ current: this.gridData.current,
+ size: 10
+ }).then(res => {
if (res.data.code === 200) {
- this.rightData.materialNum = res.data.data.count;
- this.dialogTable.jyTable = res.data.data.List;
+ this.rightData.materialNum = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
} else {
this.$message.error(res.msg);
}
this.right2loading = false;
+ this.dialogloading = this.dialogloading ? false : false;
});
},
- // 有名无实
+ // 社保缴纳率低于50%的保安公司表格接口
getselectYs() {
- selectYs({ jurisdiction: this.value2 }).then(res => {
+ getSecurityUnitSoilLessPage({
+ jurisdiction: this.value2,
+ current: this.gridData.current,
+ size: 10
+ }).then(res => {
if (res.data.code === 200) {
- this.rightData.ymwsNum = res.data.data.count;
- this.dialogTable.ymTable = res.data.data.List;
+ this.rightData.ymwsNum = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
} else {
this.$message.error(res.msg);
}
this.right2loading = false;
+ this.dialogloading = this.dialogloading ? false : false;
});
},
- // 违规经营
+ // 考试通过率低于50%的保安公司
getselectWg() {
- selectWg({ jurisdiction: this.value2 }).then(res => {
+ getSecurityUnitExamLessPage({
+ jurisdiction: this.value2,
+ current: this.gridData.current,
+ size: 10
+ }).then(res => {
if (res.data.code === 200) {
- this.rightData.wgNum = res.data.data.count;
- this.dialogTable.wgTable = res.data.data.list;
+ this.rightData.wgNum = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
} else {
this.$message.error(res.msg);
}
this.right2loading = false;
+ this.dialogloading = this.dialogloading ? false : false;
});
},
// 现实表现差
@@ -1318,11 +1504,8 @@
mounted() {
this.initEchart();
this.getHolderNum(0);
- // this.getPoorPerformance(3);
- // this.getTableData("car");
- // this.initMap();
this.getTableData(0);
- // this.initMapEchart();
+ this.getCompanyMap();
this.getOfficeData();
}
};
diff --git a/src/views/home/indexEchart.js b/src/views/home/indexEchart.js
index 697e0c4..029f456 100644
--- a/src/views/home/indexEchart.js
+++ b/src/views/home/indexEchart.js
@@ -137,7 +137,7 @@
focus: "series"
},
// data: data5
- data: [10, 20, 13, 14]
+ data: data5
}
]
};
@@ -227,8 +227,7 @@
emphasis: {
focus: "series"
},
- // data: data1
- data: [12, 10, 24]
+ data: data1
},
{
name: "未持证人数",
@@ -237,8 +236,7 @@
emphasis: {
focus: "series"
},
- // data: data2
- data: [12, 10, 24]
+ data: data2
}
]
};
@@ -559,79 +557,89 @@
}
function middleData(allData, type) {
var ncMap = nc;
- // var convertData = function (allData) {
- // var res = [];
- // for (var i = 0; i < data.length; i++) {
- // var geoCoord = geoCoordMap[data[i].name];
- // if (geoCoord) {
- // res.push({
- // name: data[i].name,
- // value: geoCoord.concat(data[i].value)
- // });
- // }
- // }
- // return res;
- // };
let name = "";
let label = "";
let symbolUrl = "";
let geoData = [];
- allData["table"].forEach((item, i) => {
- let obj = {};
- if (type === 1) {
- name = "保安员名称";
- label =
- "押运人员:" +
- item.name +
- "<br />当前位置:" +
- item.location +
- "<br />所属公司:" +
- item.linkman +
- "<br />联系电话:" +
- item.tel;
- symbolUrl = require("@/assets/img/people.png");
- obj = {
- name: label,
- value: allData["geoData"][i]
- };
- } else if (type === 2) {
- name = "押运车辆";
- label =
- "押运车辆车牌号:" +
- item.carNum +
- "<br />当前位置:" +
- item.location +
- "<br />所属公司:" +
- item.company +
- "<br />联系人:" +
- item.linkman +
- "<br />联系电话:" +
- item.tel;
- symbolUrl = require("@/assets/img/car.png");
- obj = {
- name: label,
- value: allData["geoData"][i]
- };
- } else if (type === 3) {
- name = "枪支";
- label =
- "枪支编号:" +
- item.number +
- "<br />当前位置:" +
- item.location +
- "<br />所属公司:" +
- item.company +
- "<br />负责人:" +
- item.linkman +
- "<br />联系电话:" +
- item.tel;
- symbolUrl = require("@/assets/img/gun.png");
- obj = {
- name: label,
- value: allData["geoData"][i]
- };
- }
- geoData.push(obj);
+ allData["table"].forEach(item => {
+ allData["geoData"].forEach(items => {
+ let obj = {};
+ if (item.id === items[0] && type === 1) {
+ name = "保安员名称";
+ label =
+ "押运人员:" +
+ item.name +
+ "<br />当前位置:" +
+ item.location +
+ "<br />所属公司:" +
+ item.linkman +
+ "<br />联系电话:" +
+ item.tel;
+ symbolUrl = require("@/assets/img/people.png");
+ obj = {
+ name: label,
+ value: [items[1], items[2]]
+ };
+ geoData.push(obj);
+ } else if (item.id === items[0] && type === 2) {
+ name = "押运车辆";
+ label =
+ "押运车辆车牌号:" +
+ item.carNum +
+ "<br />当前位置:" +
+ item.location +
+ "<br />所属公司:" +
+ item.company +
+ "<br />联系人:" +
+ item.linkman +
+ "<br />联系电话:" +
+ item.tel;
+ symbolUrl = require("@/assets/img/car.png");
+ obj = {
+ name: label,
+ value: [items[1], items[2]]
+ };
+ geoData.push(obj);
+ } else if (item.id === items[0] && type === 3) {
+ name = "枪支";
+ label =
+ "枪支编号:" +
+ item.number +
+ "<br />当前位置:" +
+ item.location +
+ "<br />所属公司:" +
+ item.company +
+ "<br />负责人:" +
+ item.linkman +
+ "<br />联系电话:" +
+ item.tel;
+ symbolUrl = require("@/assets/img/gun.png");
+ obj = {
+ name: label,
+ value: [items[1], items[2]]
+ };
+ geoData.push(obj);
+ } else if (item.id === items[0] && type === 4) {
+ name = "保安公司:";
+ label =
+ "保安公司名称" +
+ item.enterprisename +
+ "<br />所属辖区:" +
+ item.jurisdictionName +
+ "<br />注册地址:" +
+ item.address +
+ "<br />负责人:" +
+ item.contacts +
+ "<br />联系电话:" +
+ item.contactscell;
+ symbolUrl = require("@/assets/img/company.png");
+ obj = {
+ name: label,
+ value: [items[1], items[2]]
+ };
+ geoData.push(obj);
+ }
+ });
});
echarts.registerMap("ncMap", ncMap);
diff --git a/src/views/qualificationExamination/paymentInquiry.vue b/src/views/qualificationExamination/paymentInquiry.vue
index ba7c33e..d7b074a 100644
--- a/src/views/qualificationExamination/paymentInquiry.vue
+++ b/src/views/qualificationExamination/paymentInquiry.vue
@@ -71,6 +71,18 @@
</el-tag>
</template>
+ <!-- 自定义按钮 -->
+ <template slot="menuLeft">
+ <el-button
+ type="success"
+ size="small"
+ plain
+ icon="el-icon-upload2"
+ @click="handleImport"
+ >缴费凭证批量上传
+ </el-button>
+ </template>
+
</avue-crud>
<el-dialog
title="预览"
@@ -79,6 +91,19 @@
class="see-img-box"
>
<div class="img" :style="{ background: imgUrl }"></div>
+ </el-dialog>
+ <el-dialog
+ title="缴费凭证批量上传"
+ append-to-body
+ :visible.sync="excelBox"
+ width="555px"
+ >
+ <avue-form
+ :option="excelOption"
+ v-model="excelForm"
+ :upload-after="uploadAfter"
+ >
+ </avue-form>
</el-dialog>
</basic-container>
</template>
@@ -127,6 +152,27 @@
query: {},
loading: true,
imgSee: false,
+ excelBox: false,
+ excelForm: {},
+ excelOption: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: "模板上传",
+ prop: "excelFile",
+ type: "upload",
+ drag: true,
+ loadText: "模板上传中,请稍等",
+ span: 24,
+ propsHttp: {
+ res: "data",
+ },
+ tip: "请上传 zip 压缩文件",
+ action: "/api/blade-resource/oss/endpoint/put-file-exam-payment-zip",
+ }
+ ],
+ },
page: {
pageSize: 10,
currentPage: 1,
@@ -154,23 +200,6 @@
dialogClickModal: false,
column: [
- // {
- // label: "缴费类型",
- // prop: "type",
- // dicData:[
- // {
- // label:"公司缴费",
- // value: 1
- // },
- // {
- // label:"个人缴费",
- // value: 2
- // }
- // ],
- // searchSpan: 4,
- // search: true,
- // type: "select",
- // },
{
label: "缴费人",
prop: "realName",
@@ -182,6 +211,7 @@
prop: "idCardNo",
search:true,
searchSpan:4,
+ width:150
},
{
label: "性别",
@@ -207,6 +237,19 @@
prop: "deptName",
search:true,
searchSpan:6,
+ width:200
+ },
+ {
+ label: "报考证件类型",
+ prop: "paperType"
+ },
+ {
+ label: "报名时间",
+ prop: "applyTime",
+ type: "datetime",
+ format: "yyyy-MM-dd HH:mm:ss",
+ valueFormat: "yyyy-MM-dd HH:mm:ss",
+ width:150
},
{
label: "缴费状态",
@@ -254,6 +297,7 @@
},
],
},
+
],
},
data: [
@@ -428,6 +472,15 @@
this.imgSee = true;
},
+ handleImport() {
+ this.excelBox = true;
+ },
+ uploadAfter(res, done, loading, column) {
+ window.console.log(column);
+ this.excelBox = false;
+ this.refreshChange();
+ done();
+ },
// onLoad(page, params = {}) {
// // this.loading = false;
// this.loading = true;
diff --git a/src/views/qualificationExamination/signQualificationExamination.vue b/src/views/qualificationExamination/signQualificationExamination.vue
index 0c3faae..8db4765 100644
--- a/src/views/qualificationExamination/signQualificationExamination.vue
+++ b/src/views/qualificationExamination/signQualificationExamination.vue
@@ -26,6 +26,24 @@
@refresh-change="refreshChange"
@on-load="onLoad"
>
+
+ <template slot-scope="{ type, size, row }"
+ slot="menu">
+
+ <el-button icon="el-icon-edit"
+ :size="size"
+ :type="type"
+ @click.stop="payTheFees(row)">审核
+ </el-button>
+ </template>
+ <template slot-scope="{ row }"
+ slot="examinationType">
+ {{row.examinationType=="1"?"正常":row.examinationType=="2"?"异常":"正常"}}
+ </template>
+ <template slot-scope="{ row }"
+ slot="auditStatus">
+ {{row.auditStatus==1?"审核通过":row.auditStatus==2?"审核不通过":"待审核"}}
+ </template>
</avue-crud>
</basic-container>
</template>
@@ -35,6 +53,9 @@
getList,
getListJSON,
} from "@/api/qualificationExamination/signQualificationExamination";
+import {
+ update
+} from "@/api/apply/apply";
import { mapGetters } from "vuex";
export default {
@@ -55,7 +76,7 @@
editBtn: false,
addBtn: false,
selection: true,
- menu: false,
+ menu: true,
align: "center",
height: "auto",
@@ -135,6 +156,7 @@
{
label: "审查状态",
prop: "examinationType",
+ slot:true,
// // display: false,
// width: 200,
// labelWidth: 120,
@@ -148,14 +170,15 @@
// labelWidth: 120,
// overHidden: true,
},
- // {
- // label: "审查结果",
- // prop: "results",
- // // // display: false,
- // // width: 200,
- // // labelWidth: 120,
- // // overHidden: true,
- // },
+ {
+ label: "审核状态",
+ prop: "auditStatus",
+ slot:true,
+ // // display: false,
+ // width: 200,
+ // labelWidth: 120,
+ // overHidden: true,
+ },
],
// group: [
// {
@@ -231,6 +254,40 @@
}
);
},
+ payTheFees (row) {
+ console.log(row)
+ this.$confirm("请确认是否审核通过?", {
+ confirmButtonText: "审核通过",
+ cancelButtonText: "审核不通过",
+ type: "warning",
+ })
+ .then(() => {
+ var data ={
+ id:row.id,
+ auditStatus:1
+ }
+ return update(data).then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ })
+ .catch(() => {
+ var data ={
+ id:row.id,
+ auditStatus:2
+ }
+ return update(data).then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ });
+ },
rowUpdates(row, index, done, loading) {
// console.log(42342);
update(row).then(
diff --git a/src/views/securityUnitOperation/economicAnalysis.vue b/src/views/securityUnitOperation/economicAnalysis.vue
index e8b3fe8..cc68ba9 100644
--- a/src/views/securityUnitOperation/economicAnalysis.vue
+++ b/src/views/securityUnitOperation/economicAnalysis.vue
@@ -67,7 +67,7 @@
@click="showTable('sb')"
>
<span>社保缴纳预警(家)</span>
- <span>{{ socialSecurity.num }}</span>
+ <span>{{ yj.sb }}</span>
<span>社保缴纳率小于90%</span>
</div>
<div
@@ -76,7 +76,7 @@
@click="showTable('bx')"
>
<span>保险缴纳预警(家)</span>
- <span>{{ socialSecurity.money }}</span>
+ <span>{{ yj.bx }}</span>
<span>保险缴纳率小于90%</span>
</div>
<div
@@ -85,7 +85,7 @@
@click="showTable('fw')"
>
<span>服务合同预警(份)</span>
- <span>{{ socialSecurity.paiQ }}</span>
+ <span>{{ yj.fw }}</span>
<span>服务合同小于2份</span>
</div>
<div
@@ -94,7 +94,7 @@
@click="showTable('pq')"
>
<span>派遣预警(家)</span>
- <span>{{ socialSecurity.sheBPerson }}</span>
+ <span>{{ yj.pq }}</span>
<span>派遣率小于50%</span>
</div>
</div>
@@ -136,153 +136,157 @@
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop="realName"
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
- width="180"
+ width="300"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="deptName"
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="sex"
+ prop="znum"
label="保安总人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="cardid"
+ prop="cnum"
label="社保缴纳人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="age"
- label="社保缴纳比例"
+ prop="pnum"
+ label="社保缴纳率"
+ :formatter="kslFormatter"
:show-overflow-tooltip="true"
></el-table-column>
- <el-table-column
+ <!-- <el-table-column
:key="gridData.type"
prop="age"
label="备注"
:show-overflow-tooltip="true"
- ></el-table-column>
+ ></el-table-column> -->
</template>
<template v-if="gridData.type === 'bx'">
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop="enterpriseName"
+ prop="enterprisename"
label="保安公司名称"
width="180"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="znum"
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="cznum"
+ prop="znum"
label="保安总人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="czl"
+ prop="cnum"
label="保险缴纳人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="sbnum"
- label="保险缴纳比例"
+ prop="pnum"
+ label="保险缴纳率"
+ :formatter="kslFormatter"
:show-overflow-tooltip="true"
></el-table-column>
- <el-table-column
+ <!-- <el-table-column
:key="gridData.type"
prop="sbl"
label="备注"
:show-overflow-tooltip="true"
- ></el-table-column>
+ ></el-table-column> -->
</template>
<template v-if="gridData.type === 'fw'">
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop="enterpriseName"
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="znum"
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="cznum"
+ prop="znum"
label="服务合同数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="painum"
+ prop="dispatchUnitName"
label="服务单位名称"
:show-overflow-tooltip="true"
></el-table-column>
- <el-table-column
+ <!-- <el-table-column
:key="gridData.type"
prop="pql"
label="备注"
:show-overflow-tooltip="true"
- ></el-table-column> </template
+ ></el-table-column> -->
+ </template>
><template v-if="gridData.type === 'pq'">
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop="enterpriseName"
+ prop="enterprisename"
label="保安公司名称"
width="180"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="znum"
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="cznum"
+ prop="znum"
label="保安总人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="painum"
+ prop="cnum"
label="派遣人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="fwnum"
- label="派遣比例"
+ prop="pnum"
+ label="派遣率"
+ :formatter="kslFormatter"
:show-overflow-tooltip="true"
></el-table-column>
- <el-table-column
+ <!-- <el-table-column
:key="gridData.type"
prop="pql"
label="备注"
:show-overflow-tooltip="true"
- ></el-table-column>
+ ></el-table-column> -->
</template>
</el-table>
<el-pagination
@@ -309,7 +313,11 @@
queryYearSoil,
queryYearAn,
queryYearPz,
- queryYearKh
+ queryYearKh,
+ getSecurityUnitSoilLessPage,
+ getSecurityUnitInsuranceLessPage,
+ getSecurityUnitServerLessPage1,
+ getSecurityUnitDispatcherLessPage
} from "../../api/securityUnitOperation/securityUnitOperation";
export default {
data() {
@@ -378,21 +386,47 @@
title: ""
},
dialogloading: false,
- dialogTableVisible: false
+ dialogTableVisible: false,
+ yj: {
+ sb: 0,
+ bx: 0,
+ fw: 0,
+ pq: 0
+ }
};
},
methods: {
+ kslFormatter(row) {
+ if (row.pnum && row.pnum !== "0") {
+ return row.pnum + "%";
+ } else {
+ return row.pnum;
+ }
+ },
+ changePage() {
+ this.showcurTable(this.gridData.type);
+ },
showTable(type) {
this.gridData.type = type;
+ this.gridData.current = 1;
+ this.gridData.data = [];
+ this.showcurTable(type);
+ },
+ showcurTable(type) {
+ // this.dialogloading = true;
this.dialogTableVisible = true;
if (type === "sb") {
this.gridData.title = "社保缴纳预警保安公司";
+ this.getSecurityUnitSoilLessPage();
} else if (type === "bx") {
this.gridData.title = "保险缴纳预警保安公司";
+ this.getSecurityUnitInsuranceLessPage();
} else if (type === "fw") {
this.gridData.title = "服务合同预警保安公司";
+ this.getSecurityUnitServerLessPage();
} else if (type === "pq") {
this.gridData.title = "派遣预警保安公司";
+ this.getSecurityUnitDispatcherLessPage();
}
},
//点击节点
@@ -448,7 +482,7 @@
getCompanys({ jurisdiction: this.value1 }).then(res => {
if (res.data.code === 200) {
this.options2 = res.data.data;
- this.value2 = this.options2[0] ? this.options2[0].departmentid : "";
+ this.value2 = "";
this.changeCompanys();
}
});
@@ -531,6 +565,79 @@
this.loading3 = false;
});
},
+ getSecurityUnitSoilLessPage() {
+ let params = {
+ jurisdiction: this.value1,
+ departmentid: this.value2,
+ current: this.gridData.current,
+ size: 10
+ };
+ getSecurityUnitSoilLessPage(params).then(res => {
+ if (res.data.code === 200) {
+ this.yj.sb = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ if (this.dialogloading) {
+ this.dialogloading = false;
+ }
+ });
+ },
+ getSecurityUnitInsuranceLessPage() {
+ let params = {
+ jurisdiction: this.value1,
+ departmentid: this.value2,
+ current: this.gridData.current,
+ size: 10
+ };
+ getSecurityUnitInsuranceLessPage(params).then(res => {
+ if (res.data.code === 200) {
+ this.yj.bx = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ if (this.dialogloading) {
+ this.dialogloading = false;
+ }
+ });
+ },
+ getSecurityUnitServerLessPage() {
+ let params = {
+ jurisdiction: this.value1,
+ departmentid: this.value2,
+ current: this.gridData.current,
+ size: 10
+ };
+ getSecurityUnitServerLessPage1(params).then(res => {
+ if (res.data.code === 200) {
+ this.yj.fw = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ if (this.dialogloading) {
+ this.dialogloading = false;
+ }
+ });
+ },
+
+ getSecurityUnitDispatcherLessPage() {
+ let params = {
+ jurisdiction: this.value1,
+ departmentid: this.value2,
+ current: this.gridData.current,
+ size: 10
+ };
+ getSecurityUnitDispatcherLessPage(params).then(res => {
+ if (res.data.code === 200) {
+ this.yj.pq = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ if (this.dialogloading) {
+ this.dialogloading = false;
+ }
+ });
+ },
changeCompanys() {
this.options2.forEach(item => {
if (item.departmentid === this.value2) {
@@ -541,6 +648,10 @@
this.getSocialSecurity();
this.getQueryYearSoil();
this.getQueryYearAn();
+ this.getSecurityUnitSoilLessPage();
+ this.getSecurityUnitInsuranceLessPage();
+ this.getSecurityUnitServerLessPage();
+ this.getSecurityUnitDispatcherLessPage();
}
},
mounted() {
diff --git a/src/views/securityUnitOperation/operationAnalysis.vue b/src/views/securityUnitOperation/operationAnalysis.vue
index a9d2747..8fc47b9 100644
--- a/src/views/securityUnitOperation/operationAnalysis.vue
+++ b/src/views/securityUnitOperation/operationAnalysis.vue
@@ -10,7 +10,7 @@
class="select1"
default-expand-all
v-model="value1"
- placeholder="请选择内容"
+ placeholder="请选择辖区"
type="tree"
:dic="options1"
:props="props"
@@ -77,7 +77,7 @@
@click="showTable('fw')"
>
<span>服务对象预警(家)</span>
- <span>{{ card.czBaoan }}</span>
+ <span>{{ yj.fuwu }}</span>
<span>服务对象小于2家</span>
</div>
<div
@@ -86,7 +86,7 @@
@click="showTable('pq')"
>
<span>派遣预警(家)</span>
- <span>{{ card.kh }}</span>
+ <span>{{ yj.paiqian }}</span>
<span>派遣率小于50%</span>
</div>
<div
@@ -95,7 +95,7 @@
@click="showTable('cz')"
>
<span>持证上岗预警(家)</span>
- <span>{{ card.sheb }}</span>
+ <span>{{ yj.chizheng }}</span>
<span>持证率小于50%</span>
</div>
</div>
@@ -161,116 +161,117 @@
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop="realName"
+ prop="enterprisename"
label="保安公司名称"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="deptName"
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="sex"
+ prop="znum"
label="服务对象数"
:formatter="sexFormatter"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="cardid"
+ prop="dispatchUnitName"
label="服务单位名称"
:show-overflow-tooltip="true"
></el-table-column>
- <el-table-column
+ <!-- <el-table-column
:key="gridData.type"
prop="age"
label="备注"
:show-overflow-tooltip="true"
width="100"
- ></el-table-column>
+ ></el-table-column> -->
</template>
<template v-if="gridData.type === 'pq'">
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop="enterpriseName"
+ prop="enterprisename"
label="保安公司名称"
- width="180"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="znum"
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="cznum"
+ prop="znum"
label="保安总人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="czl"
+ prop="cnum"
label="派遣人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="sbnum"
+ prop="pnum"
label="派遣比例"
+ :formatter="kslFormatter"
:show-overflow-tooltip="true"
></el-table-column>
- <el-table-column
+ <!-- <el-table-column
:key="gridData.type"
prop="sbl"
label="备注"
:show-overflow-tooltip="true"
- ></el-table-column>
+ ></el-table-column> -->
</template>
<template v-if="gridData.type === 'cz'">
<el-table-column :key="gridData.type" type="index"> </el-table-column>
<el-table-column
:key="gridData.type"
- prop="enterpriseName"
+ prop="enterprisename"
label="保安公司名称"
width="180"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="znum"
+ prop="jurisdictionName"
label="所属辖区"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="cznum"
+ prop="znum"
label="保安总人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="painum"
+ prop="cnum"
label="持证人数"
:show-overflow-tooltip="true"
></el-table-column>
<el-table-column
:key="gridData.type"
- prop="fwnum"
+ prop="pnum"
label="持证比例"
+ :formatter="kslFormatter"
:show-overflow-tooltip="true"
></el-table-column>
- <el-table-column
+ <!-- <el-table-column
:key="gridData.type"
prop="pql"
label="备注"
:show-overflow-tooltip="true"
- ></el-table-column>
+ ></el-table-column> -->
</template>
</el-table>
<el-pagination
@@ -295,7 +296,10 @@
getCompanys,
queryYearKh,
queryYearG,
- selectAge
+ selectAge,
+ getSecurityUnitServerLessPage,
+ getSecurityUnitDispatcherLessPage,
+ getSecurityUnitHoldLessPage
} from "../../api/securityUnitOperation/securityUnitOperation";
export default {
data() {
@@ -318,6 +322,11 @@
addsheb: 0,
baoanPq: 0,
addbaoanPq: 0
+ },
+ yj: {
+ fuwu: 0,
+ paiqian: 0,
+ chizheng: 0
},
options0: [
{
@@ -386,19 +395,39 @@
};
},
methods: {
+ kslFormatter(row) {
+ if (row.pnum && row.pnum !== "0") {
+ return row.pnum + "%";
+ } else {
+ return row.pnum;
+ }
+ },
+ changePage() {
+ this.showcurTable(this.gridData.type);
+ },
showTable(type) {
this.gridData.type = type;
+ this.gridData.current = 1;
+ this.gridData.data = [];
+ this.showcurTable(type);
+ },
+ showcurTable(type) {
this.dialogTableVisible = true;
+ // this.dialogloading = true;
if (type === "fw") {
this.gridData.title = "服务对象预警保安公司";
+ this.getSecurityUnitServerLessPage();
} else if (type === "pq") {
this.gridData.title = "派遣预警保安公司";
+ this.getSecurityUnitDispatcherLessPage();
} else if (type === "cz") {
this.gridData.title = "持证上岗预警保安公司";
+ this.getSecurityUnitHoldLessPage();
}
},
//点击节点
handleNodeClick(data) {
+ debugger
this.value1 = data;
this.getCompanys();
},
@@ -445,8 +474,9 @@
lazyTrees().then(res => {
if (res.data.code === 200) {
this.options1 = res.data.data;
- this.value1 = this.options1[0] ? this.options1[0].id : "";
+ // this.value1 = this.options1[0] ? this.options1[0].id : "";
this.node = this.options1[0];
+ debugger
this.getCompanys();
} else {
this.$message.error(res.msg);
@@ -458,7 +488,7 @@
getCompanys({ jurisdiction: this.value1 }).then(res => {
if (res.data.code === 200) {
this.options2 = res.data.data;
- this.value2 = this.options2[0] ? this.options2[0].departmentid : "";
+ // this.value2 = this.options2[0] ? this.options2[0].departmentid : "";
this.enterpriseName = this.options2[0]
? this.options2[0].enterpriseName
: "";
@@ -561,11 +591,70 @@
baoanPq: 0,
addbaoanPq: 0
};
+ this.yj = {
+ fuwu: 0,
+ paiqian: 0,
+ chizheng: 0
+ };
this.ageData = {
qing: 0,
zhong: 0,
lao: 0
};
+ },
+ getSecurityUnitServerLessPage() {
+ let params = {
+ jurisdiction: this.value1,
+ departmentid: this.value2,
+ current: this.gridData.current,
+ size: 10
+ };
+ getSecurityUnitServerLessPage(params).then(res => {
+ if (res.data.code === 200) {
+ this.yj.fuwu = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ if (this.dialogloading) {
+ this.dialogloading = false;
+ }
+ });
+ },
+ getSecurityUnitDispatcherLessPage() {
+ let params = {
+ jurisdiction: this.value1,
+ departmentid: this.value2,
+ current: this.gridData.current,
+ size: 10
+ };
+ getSecurityUnitDispatcherLessPage(params).then(res => {
+ if (res.data.code === 200) {
+ this.yj.paiqian = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ if (this.dialogloading) {
+ this.dialogloading = false;
+ }
+ });
+ },
+ getSecurityUnitHoldLessPage() {
+ let params = {
+ jurisdiction: this.value1,
+ departmentid: this.value2,
+ current: this.gridData.current,
+ size: 10
+ };
+ getSecurityUnitHoldLessPage(params).then(res => {
+ if (res.data.code === 200) {
+ this.yj.chizheng = res.data.data.total;
+ this.gridData.data = res.data.data.records;
+ this.gridData.total = res.data.data.total;
+ }
+ if (this.dialogloading) {
+ this.dialogloading = false;
+ }
+ });
},
changeCompanys() {
this.options2.forEach(item => {
@@ -578,6 +667,9 @@
this.getQueryYearKh();
this.getQueryYearG();
this.setAgeEchart();
+ this.getSecurityUnitServerLessPage();
+ this.getSecurityUnitDispatcherLessPage();
+ this.getSecurityUnitHoldLessPage();
}
},
mounted() {
diff --git a/src/views/statisticalQueryManagement/businessStatistics.vue b/src/views/statisticalQueryManagement/businessStatistics.vue
index 983e540..2ef61ce 100644
--- a/src/views/statisticalQueryManagement/businessStatistics.vue
+++ b/src/views/statisticalQueryManagement/businessStatistics.vue
@@ -1,26 +1,62 @@
<template>
- <basic-container>
- <avue-crud
- :option="tableOption"
- :table-loading="loading"
- :data="tableData"
- :page.sync="page"
- :permission="permissionList"
- ref="crud"
- @row-update="rowUpdates"
- @row-save="rowSave"
- @search-change="searchChange"
- @search-reset="searchReset"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad"
- @cell-click="handleRowClick"
- :cell-style="cellStyle"
- class="businessStatisticsStyle"
+ <div>
+ <basic-container>
+ <avue-crud
+ :option="tableOption"
+ :table-loading="loading"
+ :data="tableData"
+ :page.sync="page"
+ :permission="permissionList"
+ ref="crud"
+ @row-update="rowUpdates"
+ @row-save="rowSave"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ @on-load="onLoad"
+ @cell-click="handleRowClick"
+ class="businessStatisticsStyle"
+ >
+ </avue-crud>
+ </basic-container>
+ <el-dialog
+ class="tongji-class"
+ :title="dialogTitle"
+ append-to-body
+ :visible.sync="dialogShow"
+ v-if="dialogShow"
>
- </avue-crud>
- </basic-container>
+ <businessStatisticsDetail
+ v-if="searchitem === 'fw'"
+ :fwdeptId="fwdeptId"
+ ></businessStatisticsDetail>
+ <businessStatisticsPq
+ v-if="searchitem === 'pq'"
+ :fwdeptId="fwdeptId"
+ ></businessStatisticsPq>
+ <businessStatisticsFwdq
+ v-if="searchitem === 'dq'"
+ :fwdeptId="fwdeptId"
+ ></businessStatisticsFwdq>
+ <securityGuardDetail
+ v-if="searchitem === 'zong'"
+ :fwdeptId="fwdeptId"
+ :paramCz="paramCz"
+ ></securityGuardDetail>
+ <!-- <avue-crud
+ :option="option2"
+ :data="data2"
+ :page.sync="page2"
+ @row-save="rowSave2"
+ @row-update="rowUpdate2"
+ @row-del="rowDel2"
+ :table-loading="loading2"
+ >
+ </avue-crud> -->
+ </el-dialog>
+ </div>
</template>
<script>
import FileSaver from "file-saver";
@@ -28,13 +64,29 @@
import { mapGetters } from "vuex";
import {
selectYw,
- dictionaryList
+ dictionaryList,
+ dispatcherUnit
} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
-import { lazyTreeJu,lazyTrees } from "../../api/index/index";
+import { lazyTreeJu, lazyTrees } from "../../api/index/index";
+import businessStatisticsDetail from "./businessStatisticsDetail";
+import businessStatisticsPq from "./businessStatisticsPq";
+import businessStatisticsFwdq from "./businessStatisticsFwdq";
+import securityGuardDetail from "./securityGuardDetail";
export default {
name: "业务情况统计",
+ components: {
+ businessStatisticsDetail,
+ businessStatisticsPq,
+ businessStatisticsFwdq,
+ securityGuardDetail
+ },
data() {
return {
+ tablePage: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
page: {
pageSize: 10,
currentPage: 1,
@@ -42,26 +94,7 @@
},
value1: "",
value2: "",
- tableData: [
- // {
- // company: "江西省永安保安服务有限公司",
- // subOffice: "南昌市公安局",
- // customer: "76",
- // num: "1124"
- // },
- // {
- // company: "南昌市赣水保安服务有限公司",
- // subOffice: "东湖分局",
- // customer: "85",
- // num: "1428"
- // },
- // {
- // company: "江西中业兴达保安服务有限公司",
- // subOffice: "西湖分局",
- // customer: "46",
- // num: "974"
- // }
- ],
+ tableData: [],
tableOption: {
excelBtn: true,
delBtn: false,
@@ -126,14 +159,14 @@
prop: "znum",
display: false
},
- {
+ {
label: "持证人数",
- prop: "",
+ prop: "cznum",
display: false
},
{
label: "派遣人数",
- prop: "",
+ prop: "pqnum",
display: false
},
{
@@ -143,13 +176,18 @@
},
{
label: "服务到期数量",
- prop: "",
+ prop: "dqnum",
display: false
- },
-
+ }
]
},
- loading: true
+ loading: true,
+ dialogTitle: "",
+ dialogShow: false,
+ pqdialogShow: false,
+ fwdeptId: "",
+ searchitem: "",
+ paramCz: false
};
},
computed: {
@@ -226,23 +264,61 @@
});
},
handleRowClick(row, column, cell, event) {
+ this.paramCz = false;
+
if (column.label == "服务对象数量") {
- this.$router.push({
- path:
- "/statisticalQueryManagement/businessStatisticsDetail?&departmentid=" +
- row.departmentid
- });
+ this.dialogTitle = "业务统计明细---服务对象清单";
+ this.searchitem = "fw";
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+
+ // dispatcherUnit({
+ // deptId: row.departmentid
+ // }).then(res => {
+ // if (res.data.code === 200) {
+ // this.page = {
+ // pageSize: 10,
+ // currentPage: 1,
+ // total: res.data.data.total
+ // };
+ // this.tableData = res.data.data.records;
+ // }
+ // });
+ // this.$router.push({
+ // path:
+ // "/statisticalQueryManagement/businessStatisticsDetail?&departmentid=" +
+ // row.departmentid
+ // });
} else if (column.label == "保安员人数") {
- this.$router.push({
- path:
- "/statisticalQueryManagement/securityGuardDetail?departmentid=" +
- row.departmentid
- });
+ this.dialogTitle = "业务统计明细---保安员清单";
+ this.searchitem = "zong";
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+
+ // this.$router.push({
+ // path:
+ // "/statisticalQueryManagement/securityGuardDetail?departmentid=" +
+ // row.departmentid
+ // });
+ } else if (column.label == "派遣人数") {
+ this.dialogTitle = "业务统计明细---派遣人员清单";
+ this.searchitem = "pq";
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+ } else if (column.label == "服务到期数量") {
+ this.dialogTitle = "业务统计明细---服务到期公司清单";
+ this.searchitem = "dq";
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+ } else if (column.label == "持证人数") {
+ this.dialogTitle = "业务统计明细---持证保安人员清单";
+ this.searchitem = "dq";
+ this.paramCz = true;
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+ } else {
+ this.dialogShow = false;
}
- },
- cellStyle(row, column, rowIndex, columnIndex) {
- // if (columnIndex == 4 || columnIndex == 5) {
- // }
}
},
mounted() {
@@ -253,7 +329,10 @@
</script>
<style lang="scss" scoped>
/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(7),
-/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(6) {
+/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(6),
+/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(8),
+/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(9),
+/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(10) {
cursor: pointer !important;
}
</style>
diff --git a/src/views/statisticalQueryManagement/businessStatisticsDetail.vue b/src/views/statisticalQueryManagement/businessStatisticsDetail.vue
index b43d288..d86972a 100644
--- a/src/views/statisticalQueryManagement/businessStatisticsDetail.vue
+++ b/src/views/statisticalQueryManagement/businessStatisticsDetail.vue
@@ -14,6 +14,7 @@
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
+ @on-load="onLoad"
>
</avue-crud>
</basic-container>
@@ -23,11 +24,13 @@
import {
selectDis,
selectFw,
- fwList
+ fwList,
+ dispatcherUnit
} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
-import { lazyTreeJu,lazyTrees } from "../../api/index/index";
+import { lazyTreeJu, lazyTrees } from "../../api/index/index";
export default {
name: "业务情况统计明细",
+ props: ["fwdeptId"],
data() {
return {
page: {
@@ -38,38 +41,7 @@
query: {},
value1: "",
value2: "",
- tableData: [
- // {
- // company: "江西省永安保安服务有限公司",
- // subOffice: "南昌市公安局",
- // timeStart: "2020-07-14",
- // timeEnd: "2021-06-30",
- // customerName: "南昌市幼儿园",
- // num: "7",
- // // status: "正在服务",
- // bz: ""
- // },
- // {
- // company: "南昌市赣水保安服务有限公司",
- // subOffice: "东湖分局",
- // timeStart: "2020-01-23",
- // timeEnd: "2020-12-31",
- // customerName: "南昌市第一人民医院",
- // num: "32",
- // // status: "已完成",
- // bz: ""
- // },
- // {
- // company: "江西中业兴达保安服务有限公司",
- // subOffice: "西湖分局",
- // timeStart: "2020-03-16",
- // timeEnd: "2021-7-29",
- // customerName: "南昌市动物园",
- // num: "12",
- // // status: "未下单",
- // bz: ""
- // }
- ],
+ // tableData: [],
tablePage: {
pageSize: 10,
currentPage: 1,
@@ -126,15 +98,16 @@
{
label: "服务单位名称",
prop: "name",
+ width: 300,
props: {
label: "name",
- value: "id"
+ value: "name"
},
dicData: [],
searchLabelWidth: 110,
search: true,
type: "tree",
- searchSpan: 4,
+ searchSpan: 8,
rules: [
{
required: true,
@@ -143,6 +116,12 @@
}
]
// display: false
+ },
+ {
+ label: "保安公司名称",
+ width: 300,
+ prop: "tenantName",
+ display: false
},
{
label: "服务开始时间",
@@ -154,11 +133,11 @@
prop: "endTime",
display: false
},
- // {
- // label: "保安派遣人数",
- // prop: "num",
- // display: false
- // },
+ {
+ label: "保安员姓名",
+ prop: "realName",
+ display: false
+ },
{
label: "联系人",
prop: "linkman",
@@ -266,11 +245,12 @@
this.loading = true;
let param = {};
// param["jurisdiction"] = params["jurname"] || "";
- param["id"] = params["name"] || "";
- param["deptId"] = this.deptid;
+ // param["id"] = params["name"] || "";
+ param["deptId"] = this.fwdeptId;
param["current"] = page.currentPage;
param["size"] = page.pageSize;
- fwList(param).then(res => {
+ param["name"] = params["name"] || "";
+ dispatcherUnit(param).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.tableData = data.records;
@@ -321,7 +301,7 @@
// this.getTableData();
this.getFuWuList();
this.getSubOfficeData();
- this.getLocationParams();
+ // this.getLocationParams();
}
};
</script>
diff --git a/src/views/statisticalQueryManagement/businessStatisticsFwdq.vue b/src/views/statisticalQueryManagement/businessStatisticsFwdq.vue
new file mode 100644
index 0000000..1f45bc6
--- /dev/null
+++ b/src/views/statisticalQueryManagement/businessStatisticsFwdq.vue
@@ -0,0 +1,275 @@
+<template>
+ <basic-container>
+ <avue-crud
+ :option="tableOption"
+ :table-loading="loading"
+ :data="tableData"
+ :page.sync="page"
+ :permission="permissionList"
+ ref="crud"
+ @row-update="rowUpdates"
+ @row-save="rowSave"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ @on-load="onLoad"
+ >
+ </avue-crud>
+ </basic-container>
+</template>
+<script>
+import { mapGetters } from "vuex";
+import {
+ selectDis,
+ selectFw,
+ fwList,
+ dispatcherUnit,
+ dispatcherUnit2
+} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
+import { lazyTreeJu, lazyTrees } from "../../api/index/index";
+export default {
+ name: "业务情况统计明细---保安公司服务到期的公司列表",
+ props: ["fwdeptId"],
+ data() {
+ return {
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
+ query: {},
+ value1: "",
+ value2: "",
+ // tableData: [],
+ tablePage: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
+ tableOption: {
+ excelBtn: true,
+ delBtn: false,
+ editBtn: false,
+ addBtn: false,
+ selection: true,
+ menu: false,
+ // dateBtn: true,
+ align: "center",
+ height: "auto",
+ calcHeight: 30,
+ tip: false,
+ searchShowBtn: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ index: true,
+ viewBtn: true,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "服务单位名称",
+ prop: "name",
+ width: 300,
+ props: {
+ label: "name",
+ value: "name"
+ },
+ dicData: [],
+ searchLabelWidth: 110,
+ search: true,
+ type: "tree",
+ searchSpan: 8,
+ rules: [
+ {
+ required: true,
+ message: "请选择服务单位",
+ trigger: "blur"
+ }
+ ]
+ // display: false
+ },
+ {
+ label: "所属保安公司",
+ prop: "tenantName",
+ width: 300,
+ display: false
+ },
+ {
+ label: "服务开始时间",
+ prop: "startTime",
+ display: false
+ },
+ {
+ label: "服务到期时间",
+ prop: "endTime",
+ display: false
+ },
+ {
+ label: "保安员姓名",
+ prop: "realName",
+ display: false
+ },
+ {
+ label: "联系人",
+ prop: "linkman",
+ display: false
+ },
+ {
+ label: "联系电话",
+ prop: "phone",
+ display: false
+ }
+ ]
+ },
+ typeValue: "0",
+ typeOptions: [
+ {
+ value: "0",
+ label: "全部"
+ },
+ {
+ value: "1",
+ label: "社保缴纳人数"
+ },
+ {
+ value: "2",
+ label: "社保缴纳总额"
+ },
+ {
+ value: "3",
+ label: "公司派遣人数"
+ },
+ {
+ value: "4",
+ label: "社保缴纳人数占比"
+ }
+ ],
+ subofficeValue: "0",
+ subofficeOptions: [
+ {
+ value: "0",
+ label: "南昌市公安局"
+ },
+ {
+ value: "2",
+ label: "东湖分局"
+ },
+ {
+ value: "3",
+ label: "西湖分局"
+ },
+ {
+ value: "4",
+ label: "青云谱分局"
+ },
+ {
+ value: "5",
+ label: "青山湖分局"
+ }
+ ],
+ servicesList: [],
+ companyName: "",
+ loading: true,
+ deptid: ""
+ };
+ },
+ computed: {
+ ...mapGetters(["permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.post_add, false),
+ viewBtn: this.vaildData(this.permission.post_view, false),
+ delBtn: this.vaildData(this.permission.post_delete, false),
+ editBtn: this.vaildData(this.permission.post_edit, false)
+ };
+ }
+ },
+ methods: {
+ searchChange(params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ this.onLoad(this.page, this.query);
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ this.onLoad(this.page, this.query);
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ onLoad(page, params = {}) {
+ this.loading = true;
+ let param = {};
+ // param["jurisdiction"] = params["jurname"] || "";
+ // param["id"] = params["name"] || "";
+ param["deptId"] = this.fwdeptId;
+ param["current"] = page.currentPage;
+ param["size"] = page.pageSize;
+ param["name"] = params["name"] || "";
+ dispatcherUnit2(param).then(res => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.tableData = data.records;
+ this.loading = false;
+ });
+ },
+ getFuWuList() {
+ selectFw().then(res => {
+ if (res.data.code === 200) {
+ this.tableOption.column.forEach(item => {
+ if (item.label == "服务单位名称") {
+ item.dicData = res.data.data;
+ }
+ });
+ // this.servicesList = res.data.data;
+ }
+ });
+ },
+ getSubOfficeData() {
+ lazyTrees().then(res => {
+ if (res.data.code === 200) {
+ this.tableOption.column.forEach(item => {
+ if (item.label == "所属辖区") {
+ item.dicData = res.data.data;
+ }
+ });
+ } else {
+ this.$message.error(res.msg);
+ }
+ });
+ },
+ getLocationParams() {
+ let url = window.location.href;
+ let urlArr = url.split("?")[1].split("&");
+ var object = new Object();
+ for (var i = 0; i < urlArr.length; i++) {
+ let mm = urlArr[i].split("=");
+ object[decodeURIComponent(mm[0])] = decodeURIComponent(mm[1]);
+ }
+ this.deptid = object["departmentid"] || "";
+ // let jurisdiction = object["jurisdiction"] || "";
+ this.query = { deptid: this.deptid };
+ // this.onLoad(this.page, obj);
+ this.onLoad(this.page, this.query);
+ }
+ },
+ mounted() {
+ // this.getTableData();
+ this.getFuWuList();
+ this.getSubOfficeData();
+ // this.getLocationParams();
+ }
+};
+</script>
+<style lang="scss" scoped></style>
diff --git a/src/views/statisticalQueryManagement/businessStatisticsPq.vue b/src/views/statisticalQueryManagement/businessStatisticsPq.vue
new file mode 100644
index 0000000..ddba4e3
--- /dev/null
+++ b/src/views/statisticalQueryManagement/businessStatisticsPq.vue
@@ -0,0 +1,301 @@
+<template>
+ <basic-container>
+ <avue-crud
+ :option="tableOption"
+ :table-loading="loading"
+ :data="tableData"
+ :page.sync="page"
+ :permission="permissionList"
+ ref="crud"
+ @row-update="rowUpdates"
+ @row-save="rowSave"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ @on-load="onLoad"
+ >
+ </avue-crud>
+ </basic-container>
+</template>
+<script>
+import { mapGetters } from "vuex";
+import {
+ selectDis,
+ selectFw,
+ fwList,
+ dispatcherUnit,
+ dispatcher
+} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
+import { lazyTreeJu, lazyTrees } from "../../api/index/index";
+export default {
+ name: "业务情况统计明细",
+ props: ["fwdeptId"],
+ data() {
+ return {
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
+ query: {},
+ value1: "",
+ value2: "",
+ // tableData: [],
+ tablePage: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
+ tableOption: {
+ excelBtn: true,
+ delBtn: false,
+ editBtn: false,
+ addBtn: false,
+ selection: true,
+ menu: false,
+ // dateBtn: true,
+ align: "center",
+ height: "auto",
+ calcHeight: 30,
+ tip: false,
+ searchShowBtn: false,
+ searchShow: true,
+ searchMenuSpan: 6,
+ index: true,
+ viewBtn: true,
+ dialogClickModal: false,
+ column: [
+ // {
+ // label: "公司名称",
+ // prop: "gsname",
+ // // search: true,
+ // // searchSpan: 4,
+ // display: false
+ // },
+
+ // {
+ // label: "所属辖区",
+ // prop: "jurname",
+ // searchSpan: 4,
+ // props: {
+ // label: "title",
+ // value: "id"
+ // },
+ // // cascaderItem: ["city", "area"],
+ // // dicUrl:subofficeOptions,
+ // dicData: [],
+ // search: true,
+ // type: "tree",
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择所属辖区",
+ // trigger: "blur"
+ // }
+ // ]
+ // },
+
+ {
+ label: "保安公司名称",
+ prop: "dispatcherCompany",
+ width: 300,
+ display: false
+ },
+ {
+ label: "服务单位名称",
+ prop: "deptName",
+ width: 300,
+ props: {
+ label: "name",
+ value: "name"
+ },
+ dicData: [],
+ searchLabelWidth: 110,
+ search: true,
+ type: "tree",
+ searchSpan: 8,
+ rules: [
+ {
+ required: true,
+ message: "请选择服务单位",
+ trigger: "blur"
+ }
+ ]
+ // display: false
+ },
+ {
+ label: "派遣时间",
+ prop: "dispatchertime",
+ display: false
+ },
+ {
+ label: "保安员姓名",
+ prop: "securityName",
+ display: false
+ },
+ {
+ label: "身份证号",
+ prop: "idCardNo",
+ display: false
+ },
+ {
+ label: "联系电话",
+ prop: "securityPhone",
+ display: false
+ }
+ ]
+ },
+ typeValue: "0",
+ typeOptions: [
+ {
+ value: "0",
+ label: "全部"
+ },
+ {
+ value: "1",
+ label: "社保缴纳人数"
+ },
+ {
+ value: "2",
+ label: "社保缴纳总额"
+ },
+ {
+ value: "3",
+ label: "公司派遣人数"
+ },
+ {
+ value: "4",
+ label: "社保缴纳人数占比"
+ }
+ ],
+ subofficeValue: "0",
+ subofficeOptions: [
+ {
+ value: "0",
+ label: "南昌市公安局"
+ },
+ {
+ value: "2",
+ label: "东湖分局"
+ },
+ {
+ value: "3",
+ label: "西湖分局"
+ },
+ {
+ value: "4",
+ label: "青云谱分局"
+ },
+ {
+ value: "5",
+ label: "青山湖分局"
+ }
+ ],
+ servicesList: [],
+ companyName: "",
+ loading: true,
+ deptid: ""
+ };
+ },
+ computed: {
+ ...mapGetters(["permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.post_add, false),
+ viewBtn: this.vaildData(this.permission.post_view, false),
+ delBtn: this.vaildData(this.permission.post_delete, false),
+ editBtn: this.vaildData(this.permission.post_edit, false)
+ };
+ }
+ },
+ methods: {
+ searchChange(params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ this.onLoad(this.page, this.query);
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ this.onLoad(this.page, this.query);
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ onLoad(page, params = {}) {
+ debugger;
+ this.loading = true;
+ let param = {};
+ // param["jurisdiction"] = params["jurname"] || "";
+ // param["id"] = params["name"] || "";
+ param["deptId"] = this.fwdeptId;
+ param["current"] = page.currentPage;
+ param["size"] = page.pageSize;
+ param["dispatcherCompany"] = params["name"] || "";
+ dispatcher(param).then(res => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.tableData = data.records;
+ this.loading = false;
+ });
+ },
+ getFuWuList() {
+ selectFw().then(res => {
+ if (res.data.code === 200) {
+ this.tableOption.column.forEach(item => {
+ if (item.label == "服务单位名称") {
+ item.dicData = res.data.data;
+ }
+ });
+ // this.servicesList = res.data.data;
+ }
+ });
+ },
+ getSubOfficeData() {
+ lazyTrees().then(res => {
+ if (res.data.code === 200) {
+ this.tableOption.column.forEach(item => {
+ if (item.label == "所属辖区") {
+ item.dicData = res.data.data;
+ }
+ });
+ } else {
+ this.$message.error(res.msg);
+ }
+ });
+ },
+ getLocationParams() {
+ let url = window.location.href;
+ let urlArr = url.split("?")[1].split("&");
+ var object = new Object();
+ for (var i = 0; i < urlArr.length; i++) {
+ let mm = urlArr[i].split("=");
+ object[decodeURIComponent(mm[0])] = decodeURIComponent(mm[1]);
+ }
+ this.deptid = object["departmentid"] || "";
+ // let jurisdiction = object["jurisdiction"] || "";
+ this.query = { deptid: this.deptid };
+ // this.onLoad(this.page, obj);
+ this.onLoad(this.page, this.query);
+ }
+ },
+ mounted() {
+ // this.getTableData();
+ this.getFuWuList();
+ this.getSubOfficeData();
+ // this.getLocationParams();
+ }
+};
+</script>
+<style lang="scss" scoped></style>
diff --git a/src/views/statisticalQueryManagement/companyDetails.vue b/src/views/statisticalQueryManagement/companyDetails.vue
index fb8c354..ee7ffae 100644
--- a/src/views/statisticalQueryManagement/companyDetails.vue
+++ b/src/views/statisticalQueryManagement/companyDetails.vue
@@ -12,6 +12,7 @@
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
+ @on-load="onLoad"
>
</avue-crud>
</basic-container>
@@ -23,6 +24,7 @@
import { selectUIn } from "../../api/statisticalQueryManagement/statisticalQueryManagement";
export default {
name: "公司人员详情",
+ props: ["fwdeptId"],
data() {
return {
page: {
@@ -85,7 +87,7 @@
tip: false,
searchShowBtn: false,
searchShow: true,
- searchMenuSpan: 3,
+ searchMenuSpan: 10,
index: true,
viewBtn: true,
dialogClickModal: false,
@@ -95,7 +97,7 @@
// searchLabelWidth: 90,
prop: "real_name",
search: true,
- searchSpan: 3,
+ searchSpan: 4,
display: false
},
{
@@ -126,7 +128,7 @@
{
label: "是否持证",
prop: "hold",
- searchSpan: 3,
+ searchSpan: 4,
type: "select",
props: {
label: "label",
@@ -278,7 +280,7 @@
{
label: "是否派遣",
prop: "dispatch",
- searchSpan: 3,
+ searchSpan: 4,
type: "select",
props: {
label: "label",
@@ -350,7 +352,7 @@
// params = { current: page.currentPage, size: page.pageSize };
// }
let param = {};
- param["deptid"] = this.deptid;
+ param["deptid"] = this.fwdeptId;
param["name"] = params["real_name"] || "";
param["hold"] =
params["hold"] || params["hold"] == "0" ? Number(params["hold"]) : "";
@@ -379,22 +381,22 @@
});
},
- getLocationParams() {
- let url = window.location.href;
- let urlArr = url.split("?")[1].split("&");
- var object = new Object();
- for (var i = 0; i < urlArr.length; i++) {
- let mm = urlArr[i].split("=");
- object[decodeURIComponent(mm[0])] = decodeURIComponent(mm[1]);
- }
- this.deptid = object["deptid"] || "";
- this.query = { deptid: this.deptid };
- this.onLoad(this.page, this.query);
- }
+ // getLocationParams() {
+ // let url = window.location.href;
+ // let urlArr = url.split("?")[1].split("&");
+ // var object = new Object();
+ // for (var i = 0; i < urlArr.length; i++) {
+ // let mm = urlArr[i].split("=");
+ // object[decodeURIComponent(mm[0])] = decodeURIComponent(mm[1]);
+ // }
+ // this.deptid = object["deptid"] || "";
+ // this.query = { deptid: this.deptid };
+ // this.onLoad(this.page, this.query);
+ // }
},
mounted() {
// this.getTableData();
- this.getLocationParams();
+ // this.getLocationParams();
}
};
</script>
diff --git a/src/views/statisticalQueryManagement/securityGuardDetail.vue b/src/views/statisticalQueryManagement/securityGuardDetail.vue
index 4f05081..dd55c71 100644
--- a/src/views/statisticalQueryManagement/securityGuardDetail.vue
+++ b/src/views/statisticalQueryManagement/securityGuardDetail.vue
@@ -15,6 +15,7 @@
@size-change="sizeChange"
@refresh-change="refreshChange"
@row-click="handleRowClick"
+ @on-load="onLoad"
>
</avue-crud>
</basic-container>
@@ -22,8 +23,10 @@
<script>
import { mapGetters } from "vuex";
import { pageSecurity } from "../../api/statisticalQueryManagement/statisticalQueryManagement";
+
export default {
name: "保安员明细",
+ props: ["fwdeptId", "paramCz"],
data() {
return {
page: {
@@ -211,7 +214,7 @@
}
],
slot: true,
- display: false,
+ display: false
},
{
label: "是否持证",
@@ -234,7 +237,7 @@
}
],
slot: true,
- display: false,
+ display: false
}
]
},
@@ -283,8 +286,12 @@
let param = {};
param["realName"] = params["realName"] || "";
param["status"] = params["status"] || "";
- param["deptId"] = this.deptid;
- param["hold"] = params["hold"] || "";
+ param["deptId"] = this.fwdeptId;
+ if (this.paramCz) {
+ param["hold"] = "0";
+ } else {
+ param["hold"] = params["hold"] || "";
+ }
param["current"] = page.currentPage;
param["size"] = page.pageSize;
pageSecurity(param).then(res => {
@@ -293,23 +300,23 @@
this.data = data.records;
this.loading = false;
});
- },
- getLocationParams() {
- let url = window.location.href;
- let urlArr = url.split("?")[1].split("&");
- var object = new Object();
- for (var i = 0; i < urlArr.length; i++) {
- let mm = urlArr[i].split("=");
- object[decodeURIComponent(mm[0])] = decodeURIComponent(mm[1]);
- }
- this.deptid = object["departmentid"] || "";
- this.query = { deptid: this.deptid };
- this.onLoad(this.page, this.query);
- // this.onLoad(this.page, this.query);
}
+ // getLocationParams() {
+ // let url = window.location.href;
+ // let urlArr = url.split("?")[1].split("&");
+ // var object = new Object();
+ // for (var i = 0; i < urlArr.length; i++) {
+ // let mm = urlArr[i].split("=");
+ // object[decodeURIComponent(mm[0])] = decodeURIComponent(mm[1]);
+ // }
+ // this.deptid = object["departmentid"] || "";
+ // this.query = { deptid: this.deptid };
+ // this.onLoad(this.page, this.query);
+ // // this.onLoad(this.page, this.query);
+ // }
},
mounted() {
- this.getLocationParams();
+ // this.getLocationParams();
}
};
</script>
diff --git a/src/views/statisticalQueryManagement/securityGuardStatistics.vue b/src/views/statisticalQueryManagement/securityGuardStatistics.vue
index 3034a63..98f2642 100644
--- a/src/views/statisticalQueryManagement/securityGuardStatistics.vue
+++ b/src/views/statisticalQueryManagement/securityGuardStatistics.vue
@@ -1,23 +1,44 @@
<template>
- <basic-container>
- <avue-crud
- :option="tableOption"
- :table-loading="loading"
- :data="tableData"
- :page.sync="page"
- :permission="permissionList"
- ref="crud"
- @search-change="searchChange"
- @search-reset="searchReset"
- @current-change="currentChange"
- @size-change="sizeChange"
- @refresh-change="refreshChange"
- @on-load="onLoad"
- @row-click="handleRowClick"
- class="rowClick"
+ <div>
+ <basic-container>
+ <avue-crud
+ :option="tableOption"
+ :table-loading="loading"
+ :data="tableData"
+ :page.sync="page"
+ :permission="permissionList"
+ ref="crud"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ @on-load="onLoad"
+ @cell-click="handleRowClick"
+ class="rowClick"
+ >
+ </avue-crud>
+ </basic-container>
+ <el-dialog
+ class="tongji-class"
+ :title="dialogTitle"
+ append-to-body
+ :visible.sync="dialogShow"
+ v-if="dialogShow"
>
- </avue-crud>
- </basic-container>
+ <companyDetails :fwdeptId="fwdeptId"></companyDetails>
+ <!-- <avue-crud
+ :option="option2"
+ :data="data2"
+ :page.sync="page2"
+ @row-save="rowSave2"
+ @row-update="rowUpdate2"
+ @row-del="rowDel2"
+ :table-loading="loading2"
+ >
+ </avue-crud> -->
+ </el-dialog>
+ </div>
</template>
<script>
import FileSaver from "file-saver";
@@ -28,8 +49,12 @@
dictionaryList
} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
import { lazyTreeJu, lazyTrees } from "../../api/index/index";
+import companyDetails from "./companyDetails";
export default {
name: "业务情况统计",
+ components: {
+ companyDetails
+ },
data() {
return {
page: {
@@ -130,12 +155,12 @@
// },
{
label: "已采集照片人数",
- prop: "",
+ prop: "ycaijzpnum",
display: false
},
{
label: "已采集指纹人数",
- prop: "",
+ prop: "ycaijzwnum",
display: false
},
{
@@ -156,7 +181,9 @@
]
},
companyName: "",
- loading: true
+ loading: true,
+ dialogShow: false,
+ dialogTitle: ""
};
},
computed: {
@@ -243,10 +270,17 @@
this.loading = false;
});
},
- handleRowClick(row, event, column) {
- this.$router.push({
- path: "/statisticalQueryManagement/companyDetails?deptid=" + row.dept_id
- });
+ handleRowClick(row, column, cell, event) {
+ if (column.label == "保安员总数") {
+ this.dialogTitle = "保安员明细";
+ this.fwdeptId = row.dept_id;
+ this.dialogShow = true;
+ } else {
+ this.dialogShow = false;
+ }
+ // this.$router.push({
+ // path: "/statisticalQueryManagement/companyDetails?deptid=" + row.dept_id
+ // });
}
},
mounted() {
@@ -256,7 +290,7 @@
};
</script>
<style lang="scss" scoped>
-/deep/ .rowClick .el-table__row:hover td {
+/deep/ .rowClick .el-table__row:hover td:nth-child(6) {
cursor: pointer;
}
</style>
--
Gitblit v1.9.3