From 0bfdaad01fdcdeef567b59a49f7715a7ac7f0d51 Mon Sep 17 00:00:00 2001
From: zhengpz <1838927346@qq.com>
Date: Fri, 17 Sep 2021 00:57:21 +0800
Subject: [PATCH] 对接口
---
src/api/securityUnitOperation/securityUnitOperation.js | 51 ++
src/views/home/index.scss | 4
src/views/statisticalQueryManagement/businessStatistics.vue | 147 +++--
src/assets/img/company.png | 0
src/views/home/index.vue | 456 ++++++++++++-------
src/api/index/index.js | 68 ++
src/views/home/indexEchart.js | 157 +++---
src/views/statisticalQueryManagement/securityGuardStatistics.vue | 4
src/views/statisticalQueryManagement/businessStatisticsDetail.vue | 69 +-
src/views/securityUnitOperation/economicAnalysis.vue | 187 ++++++-
src/api/statisticalQueryManagement/statisticalQueryManagement.js | 100 ++--
src/views/securityUnitOperation/operationAnalysis.vue | 130 ++++-
12 files changed, 903 insertions(+), 470 deletions(-)
diff --git a/src/api/index/index.js b/src/api/index/index.js
index e8b9c13..162ebb1 100644
--- a/src/api/index/index.js
+++ b/src/api/index/index.js
@@ -150,3 +150,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
+ });
+};
\ No newline at end of file
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..db66c73 100644
--- a/src/api/statisticalQueryManagement/statisticalQueryManagement.js
+++ b/src/api/statisticalQueryManagement/statisticalQueryManagement.js
@@ -1,63 +1,71 @@
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
+ });
+};
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/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..356c53a 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">
@@ -388,26 +406,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>
@@ -415,26 +434,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 +462,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 +490,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,19 +518,19 @@
<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>
@@ -517,19 +539,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 +561,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 +606,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 +630,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 +672,7 @@
carNum: 0,
peoNum: 0,
gunNum: 0,
+ companyNum: 0,
mapData: null,
echarts: {
left1Echart: null,
@@ -712,34 +731,110 @@
},
methods: {
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 = "考试通过率低保安公司清单";
+ this.gridData.title = "保安公司预警清单-考试通过率小于50%";
+ this.getselectWg();
} else if (type === "cz") {
- this.gridData.title = "持证率低保安公司清单";
+ this.gridData.title = "保安公司预警清单-持证率小于50%";
+ this.getMaterial();
} else if (type === "sb") {
- this.gridData.title = "社保缴纳率低保安公司清单";
+ this.gridData.title = "保安公司预警清单-社保缴纳率小于50%";
+ this.getselectYs();
} else if (type === "pq") {
- this.gridData.title = "派遣率低保安公司清单";
+ 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;
+ });
+ }
+ }
}
},
- //点击节点
- handleNodeClick1(data) {
- this.value1 = data;
- this.right1loading = true;
- this.getPoorPerformance(3);
+ //点击节点本市保安公司
+
+ 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 "武装押运公司";
+ }
},
- //点击节点
- handleNodeClick2(data) {
- this.value2 = data;
- this.peoWarning();
+ kslFormatter(row) {
+ if (row.pnum && row.pnum !== "0") {
+ return row.pnum + "%";
+ } else {
+ return row.pnum;
+ }
},
sexFormatter(row, column) {
if (row.sex === 1) {
@@ -968,17 +1063,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 +1091,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() {
@@ -1142,28 +1229,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 +1272,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 +1419,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..f6b3b0c 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
}
]
};
@@ -558,80 +556,91 @@
return option;
}
function middleData(allData, type) {
+ debugger;
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.location +
+ "<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/securityUnitOperation/economicAnalysis.vue b/src/views/securityUnitOperation/economicAnalysis.vue
index e8b3fe8..63e769c 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..eb136a2 100644
--- a/src/views/securityUnitOperation/operationAnalysis.vue
+++ b/src/views/securityUnitOperation/operationAnalysis.vue
@@ -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,116 @@
<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="派遣比例"
: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="持证比例"
: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 +295,10 @@
getCompanys,
queryYearKh,
queryYearG,
- selectAge
+ selectAge,
+ getSecurityUnitServerLessPage,
+ getSecurityUnitDispatcherLessPage,
+ getSecurityUnitHoldLessPage
} from "../../api/securityUnitOperation/securityUnitOperation";
export default {
data() {
@@ -318,6 +321,11 @@
addsheb: 0,
baoanPq: 0,
addbaoanPq: 0
+ },
+ yj: {
+ fuwu: 0,
+ paiqian: 0,
+ chizheng: 0
},
options0: [
{
@@ -386,15 +394,27 @@
};
},
methods: {
+ 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 === "fw") {
this.gridData.title = "服务对象预警保安公司";
+ this.getSecurityUnitServerLessPage();
} else if (type === "pq") {
this.gridData.title = "派遣预警保安公司";
+ this.getSecurityUnitDispatcherLessPage();
} else if (type === "cz") {
this.gridData.title = "持证上岗预警保安公司";
+ this.getSecurityUnitHoldLessPage();
}
},
//点击节点
@@ -561,11 +581,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 +657,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..86ec5dc 100644
--- a/src/views/statisticalQueryManagement/businessStatistics.vue
+++ b/src/views/statisticalQueryManagement/businessStatistics.vue
@@ -1,26 +1,46 @@
<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"
+ :cell-style="cellStyle"
+ class="businessStatisticsStyle"
+ >
+ </avue-crud>
+ </basic-container>
+ <el-dialog
+ class="fuwu-class"
+ :title="dialogTitle"
+ append-to-body
+ :visible.sync="dialogShow"
>
- </avue-crud>
- </basic-container>
+ <businessStatisticsDetail :fwdeptId="fwdeptId"></businessStatisticsDetail>
+ <!-- <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 +48,23 @@
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";
export default {
name: "业务情况统计",
+ components: {
+ businessStatisticsDetail
+ },
data() {
return {
+ tablePage: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0
+ },
page: {
pageSize: 10,
currentPage: 1,
@@ -42,26 +72,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 +137,14 @@
prop: "znum",
display: false
},
- {
+ {
label: "持证人数",
- prop: "",
+ prop: "cznum",
display: false
},
{
label: "派遣人数",
- prop: "",
+ prop: "pqnum",
display: false
},
{
@@ -143,13 +154,15 @@
},
{
label: "服务到期数量",
- prop: "",
+ prop: "dqnum",
display: false
- },
-
+ }
]
},
- loading: true
+ loading: true,
+ dialogTitle: "",
+ dialogShow: false,
+ fwdeptId: ""
};
},
computed: {
@@ -226,12 +239,26 @@
});
},
handleRowClick(row, column, cell, event) {
+ this.dialogShow = true;
if (column.label == "服务对象数量") {
- this.$router.push({
- path:
- "/statisticalQueryManagement/businessStatisticsDetail?&departmentid=" +
- row.departmentid
- });
+ this.fwdeptId = row.departmentid;
+ // 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:
@@ -239,10 +266,6 @@
row.departmentid
});
}
- },
- cellStyle(row, column, rowIndex, columnIndex) {
- // if (columnIndex == 4 || columnIndex == 5) {
- // }
}
},
mounted() {
@@ -253,7 +276,11 @@
</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..4ebfcb2 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,
@@ -128,13 +100,13 @@
prop: "name",
props: {
label: "name",
- value: "id"
+ value: "name"
},
dicData: [],
searchLabelWidth: 110,
search: true,
type: "tree",
- searchSpan: 4,
+ searchSpan: 8,
rules: [
{
required: true,
@@ -143,6 +115,11 @@
}
]
// display: false
+ },
+ {
+ label: "保安公司名称",
+ prop: "tenantName",
+ display: false
},
{
label: "服务开始时间",
@@ -154,11 +131,11 @@
prop: "endTime",
display: false
},
- // {
- // label: "保安派遣人数",
- // prop: "num",
- // display: false
- // },
+ {
+ label: "保安员姓名",
+ prop: "realName",
+ display: false
+ },
{
label: "联系人",
prop: "linkman",
@@ -263,14 +240,16 @@
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.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 +300,7 @@
// this.getTableData();
this.getFuWuList();
this.getSubOfficeData();
- this.getLocationParams();
+ // this.getLocationParams();
}
};
</script>
diff --git a/src/views/statisticalQueryManagement/securityGuardStatistics.vue b/src/views/statisticalQueryManagement/securityGuardStatistics.vue
index 3034a63..7e98d29 100644
--- a/src/views/statisticalQueryManagement/securityGuardStatistics.vue
+++ b/src/views/statisticalQueryManagement/securityGuardStatistics.vue
@@ -130,12 +130,12 @@
// },
{
label: "已采集照片人数",
- prop: "",
+ prop: "ycaijzpnum",
display: false
},
{
label: "已采集指纹人数",
- prop: "",
+ prop: "ycaijzwnum",
display: false
},
{
--
Gitblit v1.9.3