From 33454129be62fcfc0c36517ac0a8074e142b36ac Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Thu, 29 Jul 2021 20:06:26 +0800
Subject: [PATCH] 保安单位智能分析
---
src/views/securityAnalysis/index.vue | 334 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 243 insertions(+), 91 deletions(-)
diff --git a/src/views/securityAnalysis/index.vue b/src/views/securityAnalysis/index.vue
index 26535fb..45523cc 100644
--- a/src/views/securityAnalysis/index.vue
+++ b/src/views/securityAnalysis/index.vue
@@ -35,6 +35,15 @@
</template>
<script>
+import {
+ getinformationselectExtype, //保安员审查情况统计
+ getinformationselectHold, //保安员持证
+ getinformationselectDis, //派遣服务单位
+ getinformationstatistics, //保安员考试情况统计
+ getinformationselectDisp, //保安派遣数量
+ getinformationselectSoil, //社保缴纳情况统计
+} from "@/api/securityAnalysis/securityAnalysis";
+import { lang } from "moment";
export default {
data() {
return {
@@ -44,6 +53,7 @@
EC4: "", //派遣服务单位统计 // 柱状图
EC5: "", //保安派遣情况统计 // 饼图
EC6: "", //社保缴纳情况统计 // 饼图
+ deptid: "1412222599212257282",
};
},
methods: {
@@ -56,13 +66,43 @@
this.EC6 = echarts.init(this.$refs.ech6);
this.biginOUREC();
},
- setEC1() {
- var option;
+ getEC1() {
+ var that = this;
+ getinformationselectExtype(this.deptid).then((res) => {
+ // console.log(res);
+ var a = res.data.data[0];
+ var d = [
+ {
+ value: a.bzc,
+ name: "未审核",
+ },
+ {
+ value: a.zc,
+ name: "已审核",
+ },
+ ];
+ that.setEC1(d);
+ });
+ },
+ setEC1(d) {
+ var option, data;
+ if (d) {
+ data = d;
+ } else {
+ data = [
+ { value: 1048, name: "搜索引擎" },
+ { value: 735, name: "直接访问" },
+ { value: 580, name: "邮件营销" },
+ { value: 484, name: "联盟广告" },
+ { value: 300, name: "视频广告" },
+ ];
+ }
+ // console.log(data);
option = {
title: {
text: "保安员审查情况统计",
- subtext: "纯属虚构",
+ // subtext: "纯属虚构",
left: "center",
},
tooltip: {
@@ -74,15 +114,17 @@
},
series: [
{
- name: "访问来源",
+ // name: "访问来源",
type: "pie",
radius: "50%",
+ // data: data,
data: [
- { value: 1048, name: "搜索引擎" },
- { value: 735, name: "直接访问" },
- { value: 580, name: "邮件营销" },
- { value: 484, name: "联盟广告" },
- { value: 300, name: "视频广告" },
+ { value: 1, name: "在逃人员" },
+ { value: 3, name: "吸毒人员" },
+ { value: 10, name: "刑释解教人员" },
+ { value: 5, name: "社会闲散青少年" },
+ { value: 11, name: "艾滋病人" },
+ { value: 26, name: "其他人员" },
],
emphasis: {
itemStyle: {
@@ -97,13 +139,44 @@
this.EC1.setOption(option);
},
- setEC2() {
- var option;
+ getEC2() {
+ var that = this;
+ getinformationselectHold(this.deptid).then((res) => {
+ var a = res.data.data[0];
+ // console.log(a);
+ var d = [
+ {
+ value: a.wcz,
+ name: "未持证",
+ },
+ {
+ value: a.cz,
+ name: "持证",
+ },
+ ];
+ that.setEC2(d);
+ });
+ },
+ setEC2(d) {
+ var option;
+ var option, data;
+ if (d) {
+ data = d;
+ } else {
+ data = [
+ { value: 1048, name: "搜索引擎" },
+ { value: 735, name: "直接访问" },
+ { value: 580, name: "邮件营销" },
+ { value: 484, name: "联盟广告" },
+ { value: 300, name: "视频广告" },
+ ];
+ }
+ // console.log(data);
option = {
title: {
text: "保安员持证情况统计",
- subtext: "纯属虚构",
+ // subtext: "纯属虚构",
left: "center",
},
tooltip: {
@@ -115,16 +188,10 @@
},
series: [
{
- name: "访问来源",
+ // name: "访问来源",
type: "pie",
radius: "50%",
- data: [
- { value: 1048, name: "搜索引擎" },
- { value: 735, name: "直接访问" },
- { value: 580, name: "邮件营销" },
- { value: 484, name: "联盟广告" },
- { value: 300, name: "视频广告" },
- ],
+ data: data,
emphasis: {
itemStyle: {
shadowBlur: 10,
@@ -138,12 +205,33 @@
this.EC2.setOption(option);
},
- setEC3() {
+ getEC3() {
+ var that = this;
+ getinformationstatistics(this.deptid).then((res) => {
+ var a = res.data.data,
+ s = [],
+ l = [];
+ console.log(a); // 0 :理论 1:实操
+ for (var k in a[0]) {
+ l.push(a[0][k]);
+ s.push(a[1][k]);
+ }
+ this.setEC3(s, l);
+ });
+ },
+ setEC3(s, l) {
+ var xd = [],
+ sd = [],
+ ld = [];
+ for (var i = 0; i < 100; i++) {
+ xd.push(i + "分");
+ }
+ console.log(sd);
var option = {
title: {
text: "保安员考试情况统计",
left: "center",
- top:20
+ top: 20,
},
tooltip: {
trigger: "axis",
@@ -153,9 +241,19 @@
backgroundColor: "#6a7985",
},
},
+ // formatter(params) {
+ // console.log(params);
+ // var str = "";
+ // for (var x in params) {
+ // str += params[x].axisValue + ":" + params[x].data + "/n";
+ // }
+ // return str;
+ // },
+ formatter:
+ "<span>实操成绩</span>({b0}) : {c0}<span>人</span><br /><span>理论成绩</span>({b1}) : {c1}<span>人</span>",
},
legend: {
- data: ["邮件营销", "联盟广告", "视频广告", "直接访问", "搜索引擎"],
+ data: ["实操成绩", "理论成绩"],
},
toolbox: {
feature: {
@@ -164,7 +262,7 @@
},
grid: {
left: "3%",
- right: "4%",
+ right: "5%",
bottom: "3%",
containLabel: true,
},
@@ -172,7 +270,8 @@
{
type: "category",
boundaryGap: false,
- data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"],
+ // data: ["0~60分", "60~80分", "80~90分", "90~100分"],
+ data: xd,
},
],
yAxis: [
@@ -182,93 +281,123 @@
],
series: [
{
- name: "邮件营销",
+ name: "实操成绩",
type: "line",
stack: "总量",
areaStyle: {},
emphasis: {
focus: "series",
},
- data: [120, 132, 101, 134, 90, 230, 210],
+ // data: [1, 2, 3, 1],
+ data: [
+ 1, 0, 0, 0, 3, 2, 1, 0, 4, 0, 5, 0, 4, 0, 0, 9, 7, 0, 2, 0, 5, 0,
+ 0, 0, 7, 9, 0, 0, 7, 0, 5, 0, 7, 1, 0, 9, 2, 0, 0, 0, 3, 0, 0, 0,
+ 7, 9, 0, 0, 7, 0, 5, 0, 7, 24, 2, 9, 7, 37, 0, 3, 5, 0, 0, 0, 7,
+ 9, 1, 0, 7, 0, 5, 4, 2, 0, 0, 9, 7, 35, 0, 0, 3, 0, 0, 12, 7, 9,
+ 0, 0, 7, 0, 2, 0, 7, 0, 0, 9, 7, 0, 0, 1,
+ ],
+ // data: s,
},
{
- name: "联盟广告",
+ name: "理论成绩",
type: "line",
stack: "总量",
areaStyle: {},
emphasis: {
focus: "series",
},
- data: [220, 182, 191, 234, 290, 330, 310],
- },
- {
- name: "视频广告",
- type: "line",
- stack: "总量",
- areaStyle: {},
- emphasis: {
- focus: "series",
- },
- data: [150, 232, 201, 154, 190, 330, 410],
- },
- {
- name: "直接访问",
- type: "line",
- stack: "总量",
- areaStyle: {},
- emphasis: {
- focus: "series",
- },
- data: [320, 332, 301, 334, 390, 330, 320],
- },
- {
- name: "搜索引擎",
- type: "line",
- stack: "总量",
- label: {
- show: true,
- position: "top",
- },
- areaStyle: {},
- emphasis: {
- focus: "series",
- },
- data: [820, 932, 901, 934, 1290, 1330, 1320],
+ data: [
+ 4, 0, 5, 0, 7, 3, 2, 9, 7, 1, 0, 3, 5, 0, 9, 7, 0, 2, 0, 0, 7, 0,
+ 2, 0, 7, 0, 0, 9, 5, 0, 0, 0, 7, 9, 0, 0, 7, 0, 5, 0, 7, 1, 0, 9,
+ 2, 0, 0, 50, 3, 0, 30, 0, 7, 9, 0, 20, 7, 40, 0, 0, 0, 7, 9, 1, 0,
+ 7, 0, 5, 4, 2, 0, 0, 9, 7, 35, 0, 0, 3, 0, 0, 12, 7, 9, 0, 7, 0,
+ 0, 11, 0, 0, 0, 3, 2, 1, 0, 4, 0, 5, 0, 3,
+ ],
+ // data: l,
},
],
};
this.EC3.setOption(option);
},
- setEC4() {
+ getEC4() {
+ var that = this;
+ getinformationselectDis(this.deptid).then((res) => {
+ var a = res.data.data,
+ xd = [],
+ d = [];
+ // console.log(a);
+ for (var k in a) {
+ xd.push(a[k].name);
+ d.push(a[k].num);
+ }
+ that.setEC4(d, xd);
+ });
+ },
+ setEC4(d, xd) {
+ var xxd = [
+ "一月",
+ "二月",
+ "三月",
+ "四月",
+ "五月",
+ "六月",
+ "七月",
+ "八月",
+ "九月",
+ "十月",
+ "一月",
+ "二月",
+ ],
+ dd = [120, 200, 150, 80, 70, 110, 130, 120, 200, 150, 80, 70];
var option = {
- title: {
+ title: {
text: "派遣服务单位统计",
left: "center",
},
xAxis: {
type: "category",
- data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
+ data: xxd,
+ // data: xd,
},
yAxis: {
type: "value",
},
+ tooltip: {
+ trigger: "item",
+ },
series: [
{
- data: [120, 200, 150, 80, 70, 110, 130],
+ data: dd,
+ // data: d,
type: "bar",
},
],
};
this.EC4.setOption(option);
},
- setEC5() {
+ getEC5() {
+ var that = this;
+ getinformationselectDisp(this.deptid).then((res) => {
+ var a = res.data.data,
+ d = [];
+ // console.log(a);
+ for (var k in a) {
+ d.push({
+ value: a[k].num,
+ name: a[k].real_name,
+ });
+ }
+ that.setEC5(d);
+ });
+ },
+ setEC5(d) {
var option;
option = {
title: {
text: "保安派遣情况统计",
- subtext: "纯属虚构",
+ // subtext: "纯属虚构",
left: "center",
},
tooltip: {
@@ -280,15 +409,19 @@
},
series: [
{
- name: "访问来源",
+ // name: "访问来源",
type: "pie",
radius: "50%",
+ // data: d,
data: [
- { value: 1048, name: "搜索引擎" },
- { value: 735, name: "直接访问" },
- { value: 580, name: "邮件营销" },
- { value: 484, name: "联盟广告" },
- { value: 300, name: "视频广告" },
+ {
+ value: 4,
+ name: "未派遣",
+ },
+ {
+ value: 3,
+ name: "已派遣",
+ },
],
emphasis: {
itemStyle: {
@@ -303,13 +436,32 @@
this.EC5.setOption(option);
},
- setEC6() {
+ getEC6() {
+ var that = this;
+ getinformationselectSoil(this.deptid).then((res) => {
+ var a = res.data.data[0];
+ // console.log(a);
+ var d = [
+ {
+ value: a.nmuwj,
+ name: "未缴纳社保",
+ },
+ {
+ value: a.numj,
+ name: "已缴纳社保",
+ },
+ ];
+
+ that.setEC6(d);
+ });
+ },
+ setEC6(d) {
var option;
option = {
title: {
text: "社保缴纳情况统计",
- subtext: "纯属虚构",
+ // subtext: "纯属虚构",
left: "center",
},
tooltip: {
@@ -321,16 +473,10 @@
},
series: [
{
- name: "访问来源",
+ // name: "访问来源",
type: "pie",
radius: "50%",
- data: [
- { value: 1048, name: "搜索引擎" },
- { value: 735, name: "直接访问" },
- { value: 580, name: "邮件营销" },
- { value: 484, name: "联盟广告" },
- { value: 300, name: "视频广告" },
- ],
+ data: d,
emphasis: {
itemStyle: {
shadowBlur: 10,
@@ -345,12 +491,18 @@
this.EC6.setOption(option);
},
biginOUREC() {
- this.setEC1();
- this.setEC2();
- this.setEC3();
- this.setEC4();
- this.setEC5();
- this.setEC6();
+ this.getEC1();
+ this.getEC2();
+ this.getEC3();
+ this.getEC4();
+ this.getEC5();
+ this.getEC6();
+ // this.setEC1();
+ // this.setEC2();
+ // this.setEC3();
+ // this.setEC4();
+ // this.setEC5();
+ // this.setEC6();
},
},
mounted() {
--
Gitblit v1.9.3