master
loveflow 11 months ago
parent 179a902e4d
commit 414647aa49

@ -2,7 +2,7 @@ import request from "@/utils/request";
//企业综合风险雷达图 //企业综合风险雷达图
export function enterpriseComprehensiveRisk() { export function enterpriseComprehensiveRisk() {
return request({ return request({
url: "/IntegratedRisk/EnterpriseComprehensiveRisk", url: "/IntegratedRisk/RadarMap",
method: "post", method: "post",
}); });
} }

@ -84,6 +84,14 @@ export function typeanstreetcount() {
method: "get", method: "get",
}); });
} }
//统计企业类型与所属街道
export function listingsupervision(params) {
return request({
url: "/synergism/listingsupervision",
method: "post",
params,
});
}
// 已办任务查询 // 已办任务查询
export function testFlow(data) { export function testFlow(data) {

@ -76,6 +76,7 @@
.el-input-number { .el-input-number {
.el-input-number__decrease, .el-input-number__decrease,
.el-input-number__increase { .el-input-number__increase {
color: #eaf6ff;
height: 34px; height: 34px;
line-height: 34px; line-height: 34px;
border-right: 0.1px solid #495e70; border-right: 0.1px solid #495e70;

@ -19,11 +19,14 @@ export default {
}; };
}, },
mounted() { mounted() {
this.setOption(); setTimeout(() => {
this.setOption();
}, 500);
}, },
methods: { methods: {
setOption() { setOption() {
let data = this.chartObj.data; let data = JSON.parse(JSON.stringify(this.chartObj.data));
console.log(data);
let total = 0; let total = 0;
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
total += data[i].value; total += data[i].value;
@ -159,6 +162,12 @@ export default {
}; };
}, },
pyramidChart(data = [], dom, option = {}) { pyramidChart(data = [], dom, option = {}) {
if (data.length > 3) {
data[0]["value"] = 334;
data[1]["value"] = 234;
data[2]["value"] = 134;
data[3]["value"] = 84;
}
let domHeight = dom ? dom.clientHeight : 0; let domHeight = dom ? dom.clientHeight : 0;
let domWidth = dom ? dom.clientWidth : 0; let domWidth = dom ? dom.clientWidth : 0;
// //
@ -314,5 +323,14 @@ export default {
}); });
}, },
}, },
watch: {
chartObj: {
handler(newval) {
this.setOption();
},
deep: true,
// immediate: true,
},
},
}; };
</script> </script>

@ -1,7 +1,11 @@
<template> <template>
<div class="dpiePanel"> <div class="dpiePanel">
<div class="dpieLegend"> <div class="dpieLegend">
<div class="dpieCol" v-for="item in data" :key="item.name"> <div
class="dpieCol"
v-for="(item, index) in chartObj.list"
:key="item.name + index"
>
<span> <span>
<div class="dpieRow"> <div class="dpieRow">
<div <div
@ -12,7 +16,7 @@
</div> </div>
<div class="dpieRow"> <div class="dpieRow">
<div class="dpieRate"> <div class="dpieRate">
{{ parseInt((item.value * 100) / total) }}% {{ parseInt((item.value * 100) / chartObj.total) }}%
</div> </div>
</div> </div>
</span> </span>
@ -29,41 +33,24 @@
import * as echarts from "echarts"; import * as echarts from "echarts";
import "echarts-gl"; import "echarts-gl";
export default { export default {
props: {
chartObj: {
type: Object,
default: () => {
return {};
},
},
},
data() { data() {
return { return {
data: [ data: [],
{
name: "危险化学品",
value: 134,
itemStyle: {
color: "rgba(55,141,255,1)",
},
},
{
name: "重点人员",
value: 156,
itemStyle: {
color: "rgba(72,238,189,1)",
},
},
{
name: "民爆物品",
value: 127,
itemStyle: {
color: "rgba(255,209,106,1)",
},
},
],
total: 1,
}; };
}, },
mounted() { mounted() {
this.total = 1; this.data = JSON.parse(JSON.stringify(this.chartObj.list));
for (let i = 0; i < this.data.length; i++) { setTimeout(() => {
this.total += this.data[i].value; this.setOption();
} }, 500);
this.setOption();
}, },
methods: { methods: {
setOption() { setOption() {

@ -134,16 +134,20 @@ export const commonMixins = {
//状态 //状态
stateList: [ stateList: [
{ {
name: "未完成", name: "已整改",
value: "0", value: "已整改",
}, },
{ {
name: "整改", name: "按照要求整改",
value: "1", value: "按照要求整改",
}, },
{ {
name: "已完成", name: "正在整改",
value: "2", value: "正在整改",
},
{
name: "未按要求整改",
value: "未按要求整改",
}, },
], ],
//企业类型 //企业类型
@ -165,8 +169,8 @@ export const commonMixins = {
value: "合成材料企业", value: "合成材料企业",
}, },
{ {
name: "其他类型", name: "其他",
value: "其他类型", value: "其他",
}, },
], ],
//处置方式 //处置方式
@ -209,18 +213,34 @@ export const commonMixins = {
name: "镇海区公安局", name: "镇海区公安局",
value: "镇海区公安局", value: "镇海区公安局",
}, },
{
name: "应急管理局",
value: "应急管理局",
},
{ {
name: "镇海区交通局", name: "镇海区交通局",
value: "镇海区交通局", value: "镇海区交通局",
}, },
{ {
name: "市场监督管理局", name: "镇海区卫健局",
value: "市场监督管理局", value: "镇海区卫健局",
},
{
name: "区市场监督管理局",
value: "区市场监督管理局",
},
{
name: "区委网信办",
value: "区委网信办",
}, },
{ {
name: "区大数据中心", name: "区大数据中心",
value: "区大数据中心", value: "区大数据中心",
}, },
{
name: "石化开发区管委会",
value: "石化开发区管委会",
},
], ],
//消息类型 //消息类型
infoTypeList: [ infoTypeList: [
@ -358,5 +378,11 @@ export const commonMixins = {
return ""; return "";
} }
}, },
/* formatTime(arr) {
if (arr.length) {
let sTime = arr[0].format
return []
}
}, */
}, },
}; };

@ -65,7 +65,6 @@ export default {
name: "风险监测项评分排行", name: "风险监测项评分排行",
list: [], list: [],
}, },
trObj: {},
tmObj: { tmObj: {
xData: [], xData: [],
yData: [], yData: [],
@ -79,17 +78,8 @@ export default {
list: [], list: [],
}, },
blObj: { blObj: {
xData: [ xData: [],
"人员安全", yData: [],
"危化品运输",
"防攻击管理",
"消防安全",
"列管物品",
"道路安全",
"内部治安",
"网络安全",
],
yData: [212, 211, 313, 149, 195, 11, 164, 172],
name: "风险标签排行", name: "风险标签排行",
list: [], list: [],
}, },
@ -107,26 +97,35 @@ export default {
list: [], list: [],
}, },
brObj: { brObj: {
data: [ data: [],
{ name: "异常风险得分对比",
name: "危险化学品", list: [],
value: 134, },
}, trObj: {
total: 0,
list: [
{ {
name: "民爆物品", name: "",
value: 334, value: 0,
itemStyle: {
color: "rgba(55,141,255,1)",
},
}, },
{ {
name: "重点人员", name: "",
value: 234, value: 0,
itemStyle: {
color: "rgba(72,238,189,1)",
},
}, },
{ {
name: "流动人员", name: "",
value: 84, value: 0,
itemStyle: {
color: "rgba(255,209,106,1)",
},
}, },
], ],
name: "风险标签排行",
list: [],
}, },
}; };
}, },
@ -144,7 +143,13 @@ export default {
} }
}); });
riskLabelRanking().then((res) => {}); riskLabelRanking().then((res) => {
if (res.code == 200) {
let data = res.data || [];
this.blObj.list = data;
this.blTime("day");
}
});
frequentChangeRisk().then((res) => { frequentChangeRisk().then((res) => {
if (res.code == 200) { if (res.code == 200) {
@ -162,9 +167,34 @@ export default {
} }
}); });
riskItemScore().then((res) => {}); riskItemScore().then((res) => {
if (res.code == 200) {
let data = res.data || [];
let total = 0;
for (let i = 0; i < data.length; i++) {
this.trObj.list[i]["value"] = data[i]["score"];
this.trObj.list[i]["name"] = data[i]["riskName"];
total += data[i]["score"];
}
this.trObj.total = total;
console.log("tr:", this.trObj);
}
});
abnormalRiskScore().then((res) => {}); abnormalRiskScore().then((res) => {
if (res.code == 200) {
let data = res.data || [];
this.brObj.data = [];
for (let i = 0; i < data.length; i++) {
this.brObj.data.push({
name: data[i]["riskName"],
value: data[i]["score"],
});
}
console.log(this.brObj);
}
});
}, },
tlTime(val) { tlTime(val) {
@ -237,7 +267,34 @@ export default {
} }
}, },
trTime(val) {}, trTime(val) {},
blTime(val) {}, blTime(val) {
this.blObj.yData = [];
this.blObj.xData = [];
let list = [];
let index = 0;
if (val == "day") {
index = 0;
}
if (val == "week") {
index = 0;
}
if (val == "month") {
index = 1;
}
if (val == "season") {
index = 1;
}
if (val == "year") {
index = 2;
}
list = this.blObj.list;
console.log(list);
for (let i = 0; i < list.length; i++) {
this.blObj.xData.push(list[i]["riskName"]);
this.blObj.yData.push(list[i]["score"]);
}
},
bmTime(val) { bmTime(val) {
this.bmObj.yData = []; this.bmObj.yData = [];
this.bmObj.xData = []; this.bmObj.xData = [];

@ -6,11 +6,13 @@
<div class="cardRow"> <div class="cardRow">
<div class="cardCol"> <div class="cardCol">
<div class="cardLabel">创建人</div> <div class="cardLabel">创建人</div>
<div class="cardValue">{{ dataObj.creator }}</div> <div class="cardValue">{{ dataObj.createBy }}</div>
</div> </div>
<div class="cardCol"> <div class="cardCol">
<div class="cardLabel">模板类型</div> <div class="cardLabel">模板类型</div>
<div class="cardValue cardValueBg">{{ dataObj.model }}</div> <div class="cardValue cardValueBg">
{{ dataObj.type == "1" ? "通用模板" : "其他模板" }}
</div>
</div> </div>
<div class="cardCol"> <div class="cardCol">
<div v-if="!back" class="optWrap flex-center" @click="checkDetail()"> <div v-if="!back" class="optWrap flex-center" @click="checkDetail()">

@ -26,8 +26,6 @@ import topicMain from "./components/topicMain.vue";
import tableCard from "./components/tableCard.vue"; import tableCard from "./components/tableCard.vue";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins"; import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { queryListDetails } from "@/api/enterpriseRiskIndex/estimate/index.js";
export default { export default {
components: { topicMain, tableCard }, components: { topicMain, tableCard },
mixins: [tableListMixins], mixins: [tableListMixins],
@ -45,9 +43,7 @@ export default {
}; };
}, },
created() {}, created() {},
mounted() { mounted() {},
this.getData();
},
methods: { methods: {
checkDetail(item) { checkDetail(item) {
console.log(item); console.log(item);
@ -56,15 +52,6 @@ export default {
query: item, query: item,
}); });
}, },
getData() {
queryListDetails({ companyBusinessRiskId: 4 }).then((res) => {
if (res.code == 200) {
let data = res.data || [];
console.log(data);
}
});
},
}, },
}; };
</script> </script>

@ -188,6 +188,7 @@ import leftCard from "./components/leftCard.vue";
import rightCard from "./components/rightCard.vue"; import rightCard from "./components/rightCard.vue";
import dPie from "@/loveflow/components/echart/pie/dPie.vue"; import dPie from "@/loveflow/components/echart/pie/dPie.vue";
import barThree from "@/loveflow/components/echart/bar/three.vue"; import barThree from "@/loveflow/components/echart/bar/three.vue";
import { queryListDetails } from "@/api/enterpriseRiskIndex/estimate/index.js";
export default { export default {
components: { components: {
@ -394,14 +395,27 @@ export default {
yData: [12, 11, 13, 14, 15, 11, 14, 12], yData: [12, 11, 13, 14, 15, 11, 14, 12],
name: "企业综合风险趋势图", name: "企业综合风险趋势图",
}, },
companyBusinessRiskId: "",
}; };
}, },
mounted() { mounted() {
console.log(this.$route); console.log(this.$route);
this.info = this.$route.query; this.info = this.$route.query;
this.companyBusinessRiskId = this.info.id;
this.show = true; this.show = true;
this.getData();
}, },
methods: { methods: {
getData() {
queryListDetails({
companyBusinessRiskId: this.companyBusinessRiskId,
}).then((res) => {
if (res.code == 200) {
let data = res.data || [];
console.log(data);
}
});
},
goBack() { goBack() {
//this.$router.push("/riskIndex/estimate"); //this.$router.push("/riskIndex/estimate");
this.$router.back(); this.$router.back();

@ -31,7 +31,7 @@
</div> </div>
<div class="screenRow"> <div class="screenRow">
<div class="screenCol mr14"> <div class="screenCol mr14">
<colWrap title="风险标签排行" @changeTime="blTime"> <colWrap title="全区企业风险预警总量" @changeTime="blTime">
<div class="riskTotalPanel"> <div class="riskTotalPanel">
<total-card :dataObj="totalData"></total-card> <total-card :dataObj="totalData"></total-card>
</div> </div>
@ -48,13 +48,13 @@
<div class="screenCol"> <div class="screenCol">
<colWrap title="异常风险得分对比" :time="false"> <colWrap title="异常风险得分对比" :time="false">
<div class="riskUpWrap"> <div class="riskUpWrap">
<div class="totalTop"> <div class="totalMid" v-for="item in brList" :key="item.name">
<div class="left"> <div class="left">
<div class="totalName fontsize16">本年风险标签总量</div> <div class="totalName fontsize16">{{ item.name }}</div>
<div class="totalValue"> <div class="totalValue">
<div class="item"> <div class="item">
<div class="value fontsize22"> <div class="value fontsize22">
{{ total.toLocaleString() }} {{ item.total.toLocaleString() }}
</div> </div>
</div> </div>
</div> </div>
@ -64,107 +64,11 @@
<div class="totalValue"> <div class="totalValue">
<div class="item"> <div class="item">
<div class="label fontsize14">同比增长</div> <div class="label fontsize14">同比增长</div>
<div class="value fontsize22">2%</div> <div class="value fontsize22">{{ item.tb }}%</div>
</div> </div>
<div class="item"> <div class="item">
<div class="label fontsize14">环比增长</div> <div class="label fontsize14">环比增长</div>
<div class="value fontsize22">3%</div> <div class="value fontsize22">{{ item.hb }}%</div>
</div>
</div>
</div>
</div>
<div class="totalMid">
<div class="left">
<div class="totalName fontsize16">本季度风险标签总量</div>
<div class="totalValue">
<div class="item">
<div class="value fontsize22">
{{ total2.toLocaleString() }}
</div>
</div>
</div>
</div>
<div class="right">
<div class="totalName fontsize16">增长趋势</div>
<div class="totalValue">
<div class="item">
<div class="label fontsize14">同比增长</div>
<div class="value fontsize22">4%</div>
</div>
<div class="item">
<div class="label fontsize14">环比增长</div>
<div class="value fontsize22">3%</div>
</div>
</div>
</div>
</div>
<div class="totalBtm">
<div class="left">
<div class="totalName fontsize16">当月风险标签总量</div>
<div class="totalValue">
<div class="item">
<div class="value fontsize22">
{{ total1.toLocaleString() }}
</div>
</div>
</div>
</div>
<div class="right">
<div class="totalName fontsize16">增长趋势</div>
<div class="totalValue">
<div class="item">
<div class="label fontsize14">同比增长</div>
<div class="value fontsize22">2%</div>
</div>
<div class="item">
<div class="label fontsize14">环比增长</div>
<div class="value fontsize22">1%</div>
</div>
</div>
</div>
</div>
<div class="totalBtm">
<div class="left">
<div class="totalName fontsize16">本周风险标签总量</div>
<div class="totalValue">
<div class="item">
<div class="value fontsize22">32</div>
</div>
</div>
</div>
<div class="right">
<div class="totalName fontsize16">增长趋势</div>
<div class="totalValue">
<div class="item">
<div class="label fontsize14">同比增长</div>
<div class="value fontsize22">2%</div>
</div>
<div class="item">
<div class="label fontsize14">环比增长</div>
<div class="value fontsize22">1%</div>
</div>
</div>
</div>
</div>
<div class="totalBtm">
<div class="left">
<div class="totalName fontsize16">当日风险标签总量</div>
<div class="totalValue">
<div class="item">
<div class="value fontsize22">12</div>
</div>
</div>
</div>
<div class="right">
<div class="totalName fontsize16">增长趋势</div>
<div class="totalValue">
<div class="item">
<div class="label fontsize14">同比增长</div>
<div class="value fontsize22">2%</div>
</div>
<div class="item">
<div class="label fontsize14">环比增长</div>
<div class="value fontsize22">1%</div>
</div> </div>
</div> </div>
</div> </div>
@ -219,11 +123,11 @@ export default {
}, },
lefData: { lefData: {
name: "高风险企业总数", name: "高风险企业总数",
value: "78", value: 0,
}, },
righData: { righData: {
tb: 1, tb: 0,
hb: 2, hb: 0,
}, },
totalData: { totalData: {
name: "风险标签总量", name: "风险标签总量",
@ -241,18 +145,10 @@ export default {
tmObj: { tmObj: {
gridTop: "15%", gridTop: "15%",
gridBtm: "15%", gridBtm: "15%",
xData: [ xData: [],
"人员安全", yData: [],
"危化品运输",
"防攻击管理",
"消防安全",
"列管物品",
"道路安全",
"内部治安",
"网络安全",
],
yData: [12, 11, 13, 14, 15, 11, 14, 12],
name: "企业综合风险趋势图", name: "企业综合风险趋势图",
list: [],
}, },
blObj: { blObj: {
height: 0, height: 0,
@ -290,17 +186,11 @@ export default {
"#B276FF", "#B276FF",
"#FF6AEE", "#FF6AEE",
], ],
data: [ data: [],
{ value: 1048, name: "澥浦镇" },
{ value: 735, name: "九龙湖镇" },
{ value: 580, name: "照宝山街道" },
{ value: 484, name: "蛟川街道" },
{ value: 567, name: "骆驼街道" },
{ value: 489, name: "贵驷街道" },
{ value: 517, name: "庄市街道" },
],
name: "全区企业风险预警总量", name: "全区企业风险预警总量",
list: [],
}, },
brList: [],
}; };
}, },
mounted() { mounted() {
@ -318,11 +208,15 @@ export default {
tendencyChart().then((res) => { tendencyChart().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || []; let data = res.data || [];
this.tmObj.list = data;
this.tmTime("day");
} }
}); });
ventureBusiness().then((res) => { ventureBusiness().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || []; let data = res.data || [];
this.trObj.list = data;
this.trTime("day");
} }
}); });
riskEarlyWarning().then((res) => { riskEarlyWarning().then((res) => {
@ -342,6 +236,32 @@ export default {
growthTrend().then((res) => { growthTrend().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || []; let data = res.data || [];
for (let i = 0; i < data.length; i++) {
let arr = data[i];
let name = "";
let total = 0;
let tb = 0;
let hb = 0;
for (let j = 0; j < arr.length; j++) {
if (arr[j]["riskName"].indexOf("标签总量") > -1) {
name = arr[j]["riskName"];
total = arr[j]["score"];
}
if (arr[j]["riskName"] == "同比增长") {
tb = arr[j]["score"];
}
if (arr[j]["riskName"] == "环比增长") {
hb = arr[j]["score"];
}
}
this.brList.push({
name: name,
total: total,
tb: tb,
hb: hb,
});
}
} }
}); });
}, },
@ -365,7 +285,7 @@ export default {
if (val == "year") { if (val == "year") {
index = 2; index = 2;
} }
list = this.tlObj.list[index]; list = this.tlObj.list;
for (let i = 0; i < list.length; i++) { for (let i = 0; i < list.length; i++) {
let name = list[i]["riskName"].replace(/分析/, ""); let name = list[i]["riskName"].replace(/分析/, "");
@ -380,40 +300,74 @@ export default {
} }
}, },
tmTime(val) { tmTime(val) {
this.tmObj.xData = [];
this.tmObj.yData = [];
let list = [];
let index = 0;
if (val == "day") { if (val == "day") {
this.leftData.value = 78; index = 0;
this.rightData.tb = 1; }
this.rightData.hb = 2; if (val == "week") {
this.tmObj.yData = [12, 11, 13, 14, 15, 11, 14, 12]; index = 0;
} }
if (val == "month") { if (val == "month") {
this.leftData.value = 212; index = 2;
this.rightData.tb = 9; }
this.rightData.hb = 11; if (val == "season") {
this.tmObj.yData = [341, 314, 411, 531, 461, 288, 189, 351]; index = 2;
} }
if (val == "year") { if (val == "year") {
this.leftData.value = 811; index = 2;
this.rightData.tb = 4; }
this.rightData.hb = 5; list = this.tmObj.list[index];
this.tmObj.yData = [1312, 1231, 1253, 1456, 1327, 1571, 1468, 1278];
for (let i = 0; i < list.length; i++) {
if (list[i]["riskName"] == "同比增长") {
this.rightData.tb = list[i]["score"];
} else if (list[i]["riskName"] == "环比增长") {
this.rightData.hb = list[i]["score"];
} else if (list[i]["riskName"] == "综合风险总量") {
this.leftData.value = list[i]["score"];
} else {
this.tmObj.xData.push(list[i]["riskName"]);
this.tmObj.yData.push(list[i]["score"]);
}
} }
}, },
trTime(val) { trTime(val) {
this.trObj.data = [];
let list = [];
let index = 0;
if (val == "day") { if (val == "day") {
this.lefData.value = 78; index = 0;
this.righData.tb = 1; }
this.righData.hb = 2; if (val == "week") {
index = 0;
} }
if (val == "month") { if (val == "month") {
this.lefData.value = 212; index = 2;
this.righData.tb = 9; }
this.righData.hb = 11; if (val == "season") {
index = 2;
} }
if (val == "year") { if (val == "year") {
this.lefData.value = 811; index = 2;
this.righData.tb = 4; }
this.righData.hb = 5; list = this.trObj.list[index];
for (let i = 0; i < list.length; i++) {
if (list[i]["riskName"] == "同比增长") {
this.righData.tb = list[i]["score"];
} else if (list[i]["riskName"] == "环比增长") {
this.righData.hb = list[i]["score"];
} else if (list[i]["riskName"] == "综合风险总量") {
this.lefData.value = list[i]["score"];
} else {
this.trObj.data.push({
name: list[i]["riskName"],
value: list[i]["score"],
});
}
} }
}, },
blTime(val) { blTime(val) {
@ -471,8 +425,8 @@ export default {
list = this.bmObj.list[index]; list = this.bmObj.list[index];
for (let i = 0; i < list.length; i++) { for (let i = 0; i < list.length; i++) {
if (!this.bmObj.xData.includes(list[i]["month"] || i + "月")) { if (!this.bmObj.xData.includes(list[i]["time"] || i + "月")) {
this.bmObj.xData.push(list[i]["month"] || i + "月"); this.bmObj.xData.push(list[i]["time"] || i + "月");
} }
if (!this.bmObj.legend.includes(list[i]["riskName"])) { if (!this.bmObj.legend.includes(list[i]["riskName"])) {
this.bmObj.legend.push(list[i]["riskName"]); this.bmObj.legend.push(list[i]["riskName"]);

@ -1,12 +1,12 @@
<template> <template>
<div class="chartOpt"> <div class="chartOpt">
<div @click="changeTime('month')" :class="{ active: curTime == 'month' }"> <div @click="changeTime('月度')" :class="{ active: curTime == '月度' }">
月度统计 月度统计
</div> </div>
<div @click="changeTime('season')" :class="{ active: curTime == 'season' }"> <div @click="changeTime('季度')" :class="{ active: curTime == '季度' }">
季度统计 季度统计
</div> </div>
<div @click="changeTime('year')" :class="{ active: curTime == 'year' }"> <div @click="changeTime('年度')" :class="{ active: curTime == '年度' }">
年度统计 年度统计
</div> </div>
</div> </div>
@ -16,7 +16,7 @@
export default { export default {
data() { data() {
return { return {
curTime: "month", curTime: "月度",
}; };
}, },
methods: { methods: {

@ -12,39 +12,39 @@
<div class="screenRow screenRowTop pb14"> <div class="screenRow screenRowTop pb14">
<div class="rowTopWrap mr16"> <div class="rowTopWrap mr16">
<colWrap title="招宝山街道"> <colWrap title="招宝山街道">
<barWrap :chartObj="wtObj"></barWrap> <barWrap :chartObj="zbsObj"></barWrap>
</colWrap> </colWrap>
</div> </div>
<div class="rowTopWrap mr16"> <div class="rowTopWrap mr16">
<colWrap title="九龙湖镇"> <colWrap title="九龙湖镇">
<barWrap :chartObj="wtObj"></barWrap> <barWrap :chartObj="jlhObj"></barWrap>
</colWrap> </colWrap>
</div> </div>
<div class="rowTopWrap mr16"> <div class="rowTopWrap mr16">
<colWrap title="蟹浦镇"> <colWrap title="蟹浦镇">
<barWrap :chartObj="wtObj"></barWrap> <barWrap :chartObj="xpObj"></barWrap>
</colWrap> </colWrap>
</div> </div>
<div class="rowTopWrap"> <div class="rowTopWrap">
<colWrap title="蛟川街道"> <colWrap title="蛟川街道">
<barWrap :chartObj="wtObj"></barWrap> <barWrap :chartObj="jcObj"></barWrap>
</colWrap> </colWrap>
</div> </div>
</div> </div>
<div class="screenRow screenRowBtm"> <div class="screenRow screenRowBtm">
<div class="rowBtmWrap mr16"> <div class="rowBtmWrap mr16">
<colWrap title="骆驼街道"> <colWrap title="骆驼街道">
<barWrap :chartObj="wtObj"></barWrap> <barWrap :chartObj="ltObj"></barWrap>
</colWrap> </colWrap>
</div> </div>
<div class="rowBtmWrap mr16"> <div class="rowBtmWrap mr16">
<colWrap title="庄市街道"> <colWrap title="庄市街道">
<barWrap :chartObj="wtObj"></barWrap> <barWrap :chartObj="zsObj"></barWrap>
</colWrap> </colWrap>
</div> </div>
<div class="rowBtmWrap"> <div class="rowBtmWrap">
<colWrap title="贵驷街道"> <colWrap title="贵驷街道">
<barWrap :chartObj="wtObj"></barWrap> <barWrap :chartObj="gsObj"></barWrap>
</colWrap> </colWrap>
</div> </div>
</div> </div>
@ -79,114 +79,137 @@ export default {
timeList: [ timeList: [
{ {
name: "月度", name: "月度",
value: "month", value: "本月",
}, },
{ {
name: "季度", name: "季度",
value: "season", value: "本季度",
}, },
{ {
name: "年度", name: "年度",
value: "year", value: "本年度",
}, },
{ {
name: "历史", name: "历史",
value: "history", value: "历史",
}, },
], ],
wtObj: { zbsObj: {
data: [ data: [],
{ name: "流动人员核查率异常", value: 23 },
{ name: "重点人员流动异常", value: 17 },
{ name: "值班人员配备异常", value: 15 },
{ name: "灭火器数量不达标", value: 13 },
{ name: "危险品使用人员资质异常", value: 9 },
{ name: "夜间值班人员不足", value: 7 },
],
}, },
jlhObj: {
data: [],
},
xpObj: {
data: [],
},
jcObj: {
data: [],
},
ltObj: {
data: [],
},
zsObj: {
data: [],
},
gsObj: {
data: [],
},
curTime: "本月",
curTab: "1",
}; };
}, },
mounted() { mounted() {
this.getData(); this.timeChange(this.curTime);
}, },
methods: { methods: {
getData() {
highincidenceproblems({ message: "本年度" }).then((res) => {
if (res.code == 200) {
let data = res.data || {};
}
});
importincidenceproblems({ message: "本年度" }).then((res) => {
if (res.code == 200) {
let data = res.data || {};
}
});
},
typeChange(val) { typeChange(val) {
console.log(val); this.curTab = val;
if (val == "1") { this.timeChange(this.curTime);
this.wtObj.data = [
{ name: "流动人员核查率异常", value: 23 },
{ name: "重点人员流动异常", value: 17 },
{ name: "值班人员配备异常", value: 15 },
{ name: "灭火器数量不达标", value: 13 },
{ name: "危险品使用人员资质异常", value: 9 },
{ name: "夜间值班人员不足", value: 7 },
];
}
if (val == "2") {
this.wtObj.data = [
{ name: "夜间值班人员不足", value: 33 },
{ name: "重点人员流动异常", value: 27 },
{ name: "流动人员核查率异常", value: 25 },
{ name: "危险品使用人员资质异常", value: 23 },
{ name: "灭火器数量不达标", value: 19 },
{ name: "值班人员配备异常", value: 11 },
];
}
}, },
timeChange(val) { timeChange(val) {
console.log(val); console.log(val);
if (val == "month") { this.curTime = val;
this.wtObj.data = [ this.zbsObj.data = [];
{ name: "流动人员核查率异常", value: 23 }, this.jlhObj.data = [];
{ name: "重点人员流动异常", value: 17 }, this.xpObj.data = [];
{ name: "值班人员配备异常", value: 15 }, this.jcObj.data = [];
{ name: "灭火器数量不达标", value: 13 }, this.ltObj.data = [];
{ name: "危险品使用人员资质异常", value: 9 }, this.zsObj.data = [];
{ name: "夜间值班人员不足", value: 7 }, this.gsObj.data = [];
]; if (this.curTab == 1) {
highincidenceproblems({ message: val }).then((res) => {
if (res.code == 200) {
let data = res.data || {};
this.dealData(data);
}
});
} }
if (val == "season") { if (this.curTab == 2) {
this.wtObj.data = [ importincidenceproblems({ message: val }).then((res) => {
{ name: "流动人员核查率异常", value: 73 }, if (res.code == 200) {
{ name: "重点人员流动异常", value: 67 }, let data = res.data || {};
{ name: "值班人员配备异常", value: 55 }, this.dealData(data);
{ name: "灭火器数量不达标", value: 53 }, }
{ name: "危险品使用人员资质异常", value: 19 }, });
{ name: "夜间值班人员不足", value: 17 },
];
} }
if (val == "year") { },
this.wtObj.data = [ dealData(data) {
{ name: "流动人员核查率异常", value: 173 }, if (!data) {
{ name: "重点人员流动异常", value: 167 }, return;
{ name: "值班人员配备异常", value: 155 },
{ name: "灭火器数量不达标", value: 153 },
{ name: "危险品使用人员资质异常", value: 119 },
{ name: "夜间值班人员不足", value: 117 },
];
}
if (val == "history") {
this.wtObj.data = [
{ name: "流动人员核查率异常", value: 273 },
{ name: "重点人员流动异常", value: 267 },
{ name: "值班人员配备异常", value: 255 },
{ name: "灭火器数量不达标", value: 253 },
{ name: "危险品使用人员资质异常", value: 219 },
{ name: "夜间值班人员不足", value: 217 },
];
} }
let zbs = data["招宝山街道"] || {};
let jlh = data["九龙湖镇"] || {};
let xp = data["獬浦镇"] || {};
let jc = data["蛟川川街道"] || {};
let lt = data["骆驼街道"] || {};
let zs = data["庄市街道"] || {};
let gs = data["贵驷街道"] || {};
Object.keys(zbs).forEach((key, index) => {
this.zbsObj.data.push({
name: key,
value: zbs[key],
});
});
Object.keys(jlh).forEach((key, index) => {
this.jlhObj.data.push({
name: key,
value: jlh[key],
});
});
Object.keys(xp).forEach((key, index) => {
this.xpObj.data.push({
name: key,
value: xp[key],
});
});
Object.keys(jc).forEach((key, index) => {
this.jcObj.data.push({
name: key,
value: jc[key],
});
});
Object.keys(lt).forEach((key, index) => {
this.ltObj.data.push({
name: key,
value: lt[key],
});
});
Object.keys(zs).forEach((key, index) => {
this.zsObj.data.push({
name: key,
value: zs[key],
});
});
Object.keys(gs).forEach((key, index) => {
this.gsObj.data.push({
name: key,
value: gs[key],
});
});
console.log(this.zsObj);
}, },
}, },
}; };

@ -19,7 +19,7 @@
<el-form-item label="关键词:"> <el-form-item label="关键词:">
<el-input <el-input
style="width: 160px" style="width: 160px"
v-model="queryParam.name" v-model.trim="queryParam.enterpriseName"
placeholder="请输入企业名称" placeholder="请输入企业名称"
></el-input> ></el-input>
</el-form-item> </el-form-item>
@ -28,7 +28,7 @@
<el-select <el-select
clearable clearable
style="width: 160px" style="width: 160px"
v-model="queryParam.risk" v-model="queryParam.controlDeductionItem"
placeholder="" placeholder=""
> >
<el-option <el-option
@ -43,11 +43,12 @@
<el-form-item label="风险产生时间:"> <el-form-item label="风险产生时间:">
<el-date-picker <el-date-picker
style="width: 360px" style="width: 360px"
v-model="queryParam.time" v-model="riskTime"
type="datetimerange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -55,7 +56,7 @@
<el-select <el-select
clearable clearable
style="width: 70px" style="width: 70px"
v-model="queryParam.cq" v-model="queryParam.isOverdueReminder"
placeholder="" placeholder=""
> >
<el-option <el-option
@ -70,7 +71,7 @@
<el-select <el-select
clearable clearable
style="width: 70px" style="width: 70px"
v-model="queryParam.db" v-model="queryParam.isListedSupervision"
placeholder="" placeholder=""
> >
<el-option <el-option
@ -82,10 +83,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item style="margin-right: 0"> <el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery" <el-button type="primary" @click="search"></el-button>
>查询</el-button <el-button type="primary" plain @click="reset"
>
<el-button type="primary" plain @click="searchReset"
>重置</el-button >重置</el-button
> >
</el-form-item> </el-form-item>
@ -201,8 +200,8 @@ export default {
}, },
}, },
{ {
slot: "riskSlot", //slot: "riskSlot",
prop: "risk", prop: "controlDeductionItem",
label: "风险类型", label: "风险类型",
attrs: { attrs: {
width: 170, width: 170,
@ -269,8 +268,8 @@ export default {
}, },
}, },
{ {
slot: "cqSlot", //slot: "cqSlot",
prop: "msg", prop: "overdueReminder",
label: "是否超期整改", label: "是否超期整改",
attrs: { attrs: {
width: 120, width: 120,
@ -311,6 +310,7 @@ export default {
url: { url: {
list: "/synergism/rickdisposal", list: "/synergism/rickdisposal",
}, },
riskTime: [],
}; };
}, },
methods: { methods: {
@ -328,6 +328,18 @@ export default {
}); });
} }
}, },
search() {
if (this.riskTime.length) {
this.queryParam.riskStartTime = this.riskTime[0];
this.queryParam.riskEndTime = this.riskTime[1];
}
this.searchQuery();
},
reset() {
this.riskTime = [];
this.searchReset();
},
}, },
}; };
</script> </script>

@ -1,7 +1,7 @@
<template> <template>
<div class="dpiePanel" id="dpieWrap"> <div class="dpiePanel" id="dpieWrap">
<div class="dpieLegend"> <div class="dpieLegend">
<div class="dpieRow" v-for="item in data" :key="item.name"> <div class="dpieRow" v-for="item in chartObj.list" :key="item.name">
<div class="flex-center"> <div class="flex-center">
<div <div
class="dpieIcon" class="dpieIcon"
@ -11,7 +11,7 @@
</div> </div>
<div class="dpieValue">{{ item.value }}</div> <div class="dpieValue">{{ item.value }}</div>
<div class="dpieRate"> <div class="dpieRate">
{{ ((100 * item.value) / total).toFixed(0) }}% {{ ((100 * item.value) / chartObj.total).toFixed(0) }}%
</div> </div>
</div> </div>
</div> </div>
@ -33,39 +33,25 @@
import * as echarts from "echarts"; import * as echarts from "echarts";
import "echarts-gl"; import "echarts-gl";
export default { export default {
props: {
chartObj: {
type: Object,
default: () => {
return {};
},
},
},
data() { data() {
return { return {
data: [ data: [],
{
name: "按照要求整改",
value: 528,
itemStyle: {
color: "#FFC052",
},
},
{
name: "安全隐患企业",
value: 128,
itemStyle: {
color: "#FF745A",
},
},
],
total: 1,
viewH: 1, viewH: 1,
}; };
}, },
mounted() { mounted() {
this.total = 1;
for (let i = 0; i < this.data.length; i++) {
this.total += this.data[i].value;
}
let temp = this.getHeight(); let temp = this.getHeight();
let height = parseInt(temp / 3); let height = parseInt(temp / 3);
this.viewH = 2 * height; this.viewH = 2 * height;
console.log(height); console.log(this.chartObj);
setTimeout(() => { setTimeout(() => {
this.setOption(); this.setOption();
}, 500); }, 500);
@ -74,7 +60,8 @@ export default {
setOption() { setOption() {
let chartDom = this.$refs["dpieWrapRef"]; let chartDom = this.$refs["dpieWrapRef"];
let myChart = echarts.init(chartDom); let myChart = echarts.init(chartDom);
const getPie3D = (pieData, internalDiameterRatio) => { const getPie3D = (cData, internalDiameterRatio) => {
let pieData = JSON.parse(JSON.stringify(cData));
//internalDiameterRatio: //internalDiameterRatio:
let series = []; let series = [];
let sumValue = 0; let sumValue = 0;
@ -265,7 +252,7 @@ export default {
}; };
}; };
let option = getPie3D(this.data, 0.8); let option = getPie3D(this.chartObj.list, 0.8);
//label线2d使labelLine3dsetOption //label线2d使labelLine3dsetOption
option.series.push({ option.series.push({
// name: "pie3d", // name: "pie3d",

@ -59,7 +59,7 @@
</div> </div>
</div> </div>
<div class="btm"> <div class="btm">
<dpie></dpie> <dpie :chartObj="qyztObj"> </dpie>
</div> </div>
</div> </div>
</colWrap> </colWrap>
@ -118,7 +118,7 @@
@click="gotoPage('/teamWork/riskOverview/indexDetail', '3')" @click="gotoPage('/teamWork/riskOverview/indexDetail', '3')"
> >
<colWrap title="连续纳入监管企业"> <colWrap title="连续纳入监管企业">
<listWrap :dataList="dataList"></listWrap> <listWrap :dataList="dataJgList"></listWrap>
</colWrap> </colWrap>
</div> </div>
<div <div
@ -126,7 +126,7 @@
@click="gotoPage('/teamWork/riskOverview/indexDetail', '4')" @click="gotoPage('/teamWork/riskOverview/indexDetail', '4')"
> >
<colWrap title="连续两次未整改企业"> <colWrap title="连续两次未整改企业">
<listWrap :dataList="dataList"></listWrap> <listWrap :dataList="dataZgList"></listWrap>
</colWrap> </colWrap>
</div> </div>
</div> </div>
@ -174,26 +174,34 @@ export default {
}, },
data() { data() {
return { return {
total: 1265, total: 0,
zgztObj: { zgztObj: {
color: ["#48EEBD", "#2B82F3", "#FFC052", "#FF745A"], color: ["#48EEBD", "#2B82F3", "#FFC052", "#FF745A"],
data: [ data: [],
{ value: 98, name: "已经整改" }, name: "风险整改",
{ value: 12, name: "正在整改" }, },
{ value: 87, name: "按照要求整改" }, qyztObj: {
{ value: 5, name: "未按要求整改" }, total: 0,
list: [
{
name: "按照要求整改",
value: 0,
itemStyle: {
color: "#FFC052",
},
},
{
name: "安全隐患企业",
value: 0,
itemStyle: {
color: "#FF745A",
},
},
], ],
name: "月风险整改",
}, },
qyjgObj: { qyjgObj: {
color: ["#48EEBD", "#2B82F3", "#66C3FF", "#FFC052", "#FF745A"], color: ["#48EEBD", "#2B82F3", "#66C3FF", "#FFC052", "#FF745A"],
data: [ data: [],
{ value: 421, name: "精细化工产业" },
{ value: 567, name: "石化源头企业" },
{ value: 354, name: "合成材料企业" },
{ value: 212, name: "其他类型" },
{ value: 253, name: "高分子企业" },
],
name: "企业总数", name: "企业总数",
}, },
jdjgObj: { jdjgObj: {
@ -216,15 +224,7 @@ export default {
name: "总数", name: "总数",
}, },
gpkfObj: { gpkfObj: {
data: [ data: [],
{ name: "流动人员异常", value: 465 },
{ name: "重点岗位资质异常", value: 437 },
{ name: "车辆违规异常", value: 386 },
{ name: "人防配置情况异常", value: 358 },
{ name: "技防配置情况异常", value: 321 },
{ name: "企业应急预案制定异常", value: 297 },
{ name: "危化品车辆状态异常", value: 275 },
],
color: ["#fdee37", "#f97d1f", "#f78060"], color: ["#fdee37", "#f97d1f", "#f78060"],
}, },
gpysObj: { gpysObj: {
@ -239,35 +239,10 @@ export default {
], ],
color: ["#fdee37", "#f97d1f", "#f78060"], color: ["#fdee37", "#f97d1f", "#f78060"],
}, },
qllxList: [ qllxList: [],
{
bj: require("@/assets/images/team/gllx.png"),
icon: require("@/assets/images/team/gljh.png"),
name: "精细化工企业",
value: 287,
unit: "家",
},
{
bj: require("@/assets/images/team/gllx.png"),
icon: require("@/assets/images/team/glsh.png"),
name: "石化源头企业",
value: 187,
unit: "家",
},
{
bj: require("@/assets/images/team/gllx.png"),
icon: require("@/assets/images/team/glhc.png"),
name: "合成材料企业",
value: 168,
unit: "家",
},
],
zgqsObj: { zgqsObj: {
xData: ["2017", "2018", "2019", "2020", "2021", "2022", "2023"], xData: [],
yData: [ yData: [[], []],
[152, 131, 123, 144, 218, 254, 164],
[52, 31, 23, 44, 18, 54, 14],
],
name: "整改趋势", name: "整改趋势",
legend: ["按照要求整改", "未按要求整改"], legend: ["按照要求整改", "未按要求整改"],
color: [ color: [
@ -283,136 +258,170 @@ export default {
], ],
], ],
}, },
dataList: [], dataJgList: [],
dataZgList: [],
}; };
}, },
mounted() { mounted() {
this.dataList = [];
let cmyArr = [
"宁波市鼎瑞翔新材料科技有限公司",
"镇海石化海达发展有限责任公司",
"宁波四明化工有限公司",
"宁波特粒科技有限公司",
"宁波市镇海欣利工艺品有限公司",
"宁波安捷化工物流有限公司",
"宁波和盛达能源科技有限公司",
"宁波市镇海俞范三合电镀厂",
"宁波华梦贸易有限公司",
"英力士苯领高分子材料(宁波)有限公司",
"宁波市镇海金泰金属有限公司",
"宁波市银舟表面技术有限公司",
"图腾纺织(宁波)有限公司",
"宁波人健化学制药有限公司",
"宁波明峰检验检测研究院股份有限公司",
"宁波铝亿合金材料有限公司",
"宁波龙宝泰生环保科技有限公司",
"浙江杭州湾腈纶有限公司",
"镇海蛟川物业管理有限公司",
"宁波镇海炼化利安德化工销售有限公司",
];
for (let i = 0; i < 20; i++) {
this.dataList.push({
id: i,
name: cmyArr[i % 20],
value: 2 * i + 10,
unit: "次",
});
}
this.getData(); this.getData();
}, },
methods: { methods: {
getData() { getData() {
rectificationstatus({ message: "月度统计" }).then((res) => { this.changeTime("年度");
if (res.code == 200) {
let data = res.data || {};
}
});
enterprisestatus().then((res) => { enterprisestatus().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
this.qyztObj.total = data["按照要求整改"] + data["安全隐患企业"];
this.qyztObj.list[0]["value"] = data["按照要求整改"];
this.qyztObj.list[1]["value"] = data["安全隐患企业"];
} }
}); });
corporategovernance().then((res) => { corporategovernance().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
this.qyjgObj.data = [];
Object.keys(data).forEach((key, index) => {
this.qyjgObj.data.push({
name: key,
value: data[key],
});
});
} }
}); });
streetsupervision().then((res) => { streetsupervision().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
this.jdjgObj.data = [];
Object.keys(data).forEach((key, index) => {
this.jdjgObj.data.push({
name: key,
value: data[key],
});
});
} }
}); });
rectifythetrend().then((res) => { rectifythetrend().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
this.zgqsObj.xData = [];
this.zgqsObj.yData = [[], []];
let list = [];
Object.keys(data).forEach((key, index) => {
list.push({
name: key,
value: data[key],
});
});
list.sort(function (a, b) {
if (a.name < b.name) return -1;
if (a.name > b.name) return 1;
return 0; //
});
for (let i = 0; i < list.length; i++) {
this.zgqsObj.xData.push(list[i]["name"]);
this.zgqsObj.yData[0].push(list[i]["value"]["按照要求整改"]);
this.zgqsObj.yData[1].push(list[i]["value"]["未按要求整改"]);
}
console.log(list);
} }
}); });
frequencydeductpoints().then((res) => { frequencydeductpoints().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
this.gpkfObj.data = [];
Object.keys(data).forEach((key, index) => {
this.gpkfObj.data.push({
name: key,
value: data[key],
});
});
} }
}); });
frequencyerrorpoints().then((res) => { frequencyerrorpoints().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
this.gpysObj.data = [];
Object.keys(data).forEach((key, index) => {
this.gpysObj.data.push({
name: key,
value: data[key],
});
});
} }
}); });
coiledenterprisetypes().then((res) => { coiledtwoenterprisetypes().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
Object.keys(data).forEach((key, index) => {
this.qllxList.push({
bj: require("@/assets/images/team/gllx.png"),
icon: require("@/assets/images/team/gljh.png"),
name: key,
value: data[key],
unit: "家",
});
});
} }
}); });
coiledtwoenterprisetypes().then((res) => { coiledenterprisetypes().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
this.dataJgList = [];
Object.keys(data).forEach((key, index) => {
this.dataJgList.push({
name: key,
id: index,
value: data[key],
unit: "次",
});
});
} }
}); });
coiledtwonotenterprise().then((res) => { coiledtwonotenterprise().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
this.dataZgList = [];
Object.keys(data).forEach((key, index) => {
this.dataZgList.push({
name: key,
id: index,
value: data[key],
unit: "次",
});
});
} }
}); });
totalenterpriserisk().then((res) => { totalenterpriserisk().then((res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
this.total = data["总数"];
} }
}); });
testFlow({ procInsId: "d86ccf39-1584-11ee-b686-00e04c8aac6f" }).then( /* testFlow({ procInsId: "d86ccf39-1584-11ee-b686-00e04c8aac6f" }).then(
(res) => { (res) => {
if (res.code == 200) { if (res.code == 200) {
let data = res.data || {}; let data = res.data || {};
} }
} }
); ); */
}, },
changeTime(val) { changeTime(val) {
if (val == "month") { console.log("rectificationstatus:", val);
this.zgztObj.name = "月风险整改"; rectificationstatus({ message: val }).then((res) => {
this.zgztObj.data = [ if (res.code == 200) {
{ value: 98, name: "已经整改" }, let data = res.data || [];
{ value: 12, name: "正在整改" }, this.zgztObj.data = [];
{ value: 87, name: "按照要求整改" }, Object.keys(data).forEach((key, index) => {
{ value: 5, name: "未按要求整改" }, this.zgztObj.data.push({
]; name: key,
} value: data[key],
if (val == "season") { });
this.zgztObj.name = "季风险整改"; });
this.zgztObj.data = [ }
{ value: 198, name: "已经整改" }, });
{ value: 112, name: "正在整改" },
{ value: 187, name: "按照要求整改" },
{ value: 15, name: "未按要求整改" },
];
}
if (val == "year") {
this.zgztObj.name = "年风险整改";
this.zgztObj.data = [
{ value: 498, name: "已经整改" },
{ value: 412, name: "正在整改" },
{ value: 487, name: "按照要求整改" },
{ value: 45, name: "未按要求整改" },
];
}
}, },
gotoPage(path, val) { gotoPage(path, val) {
this.$router.push({ this.$router.push({

@ -12,13 +12,17 @@
> >
<el-form-item label="关键词:"> <el-form-item label="关键词:">
<el-input <el-input
v-model="queryParam.enterpriseName" v-model.trim="queryParam.enterpriseName"
placeholder="请输入企业名称" placeholder="请输入企业名称"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="管控扣分项:"> <el-form-item label="管控扣分项:">
<el-select clearable v-model="queryParam.controlDeductionItem" placeholder=""> <el-select
clearable
v-model="queryParam.controlDeductionItem"
placeholder=""
>
<el-option <el-option
v-for="item in riskList" v-for="item in riskList"
:key="item.value" :key="item.value"
@ -44,7 +48,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="监管单位:"> <el-form-item label="监管单位:">
<el-select clearable v-model="queryParam.supervisionUnit" placeholder=""> <el-select
clearable
v-model="queryParam.supervisionUnit"
placeholder=""
>
<el-option <el-option
v-for="item in unitList" v-for="item in unitList"
:key="item.value" :key="item.value"
@ -82,13 +90,13 @@
</span> </span>
</template> </template>
<template v-slot:jjSlot="{ scope }"> <template v-slot:jjSlot="{ scope }">
<div class="ybWrap" v-if="scope.row.jj == 0"> <div class="ybWrap" v-if="scope.row.urgencyLevel == '一般'">
<div class="text">一般</div> <div class="text">一般</div>
</div> </div>
<div class="zdWrap" v-if="scope.row.jj == 1"> <div class="zdWrap" v-if="scope.row.urgencyLevel == '重点关注'">
<div class="text">重点关注</div> <div class="text">重点关注</div>
</div> </div>
<div class="jjWrap" v-if="scope.row.jj == 2"> <div class="jjWrap" v-if="scope.row.urgencyLevel == '紧急'">
<div class="text">紧急</div> <div class="text">紧急</div>
</div> </div>
</template> </template>
@ -143,65 +151,59 @@ export default {
}, },
}, },
{ {
prop: "cmy", prop: "enterpriseName",
label: "企业名称", label: "企业名称",
}, },
{ {
slot: "riskSlot", //slot: "riskSlot",
prop: "risk", prop: "controlDeductionItem",
label: "管控扣分项", label: "管控扣分项",
attrs: { attrs: {
width: 170, width: 170,
}, },
}, },
{ {
slot: "ysSlot", //slot: "ysSlot",
prop: "ys", prop: "elementAbnormalDetail",
label: "异常明细", label: "异常明细",
attrs: { attrs: {
width: 180, width: 170,
}, },
}, },
{ {
prop: "remarks", prop: "rectificationRequirement",
label: "整改要求", label: "整改要求",
attrs: {
width: 120,
},
}, },
{ {
prop: "remarks", prop: "unitDivisionResponsibility",
label: "各单位分工责任", label: "各单位分工责任",
attrs: {
width: 160,
},
}, },
{ {
slot: "unitSlot", //slot: "unitSlot",
prop: "unit", prop: "supervisionUnit",
label: "监管单位", label: "监管单位",
attrs: { attrs: {
width: 140, width: 140,
}, },
}, },
{ {
prop: "name", prop: "responsiblePerson",
label: "责任人", label: "责任人",
attrs: { attrs: {
width: 140, width: 140,
}, },
}, },
{ {
slot: "dealWaySlot", //slot: "dealWaySlot",
prop: "dealWay", prop: "disposalMethod",
label: "处置方式", label: "处置方式",
attrs: { attrs: {
width: 140, width: 140,
}, },
}, },
{ {
slot: "dealRequireSlot", //slot: "dealRequireSlot",
prop: "dealRequire", prop: "disposalRequirement",
label: "处置要求", label: "处置要求",
attrs: { attrs: {
width: 120, width: 120,
@ -209,7 +211,7 @@ export default {
}, },
{ {
slot: "jjSlot", slot: "jjSlot",
prop: "jj", prop: "urgencyLevel",
label: "紧急程度", label: "紧急程度",
attrs: { attrs: {
width: 140, width: 140,

@ -13,18 +13,19 @@
<el-form-item label="关键词:"> <el-form-item label="关键词:">
<el-input <el-input
clearable clearable
v-model="queryParam.key" v-model.trim="queryParam.enterpriseName"
placeholder="请输入企业名称" placeholder="请输入企业名称"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="纳入重点监管时间:"> <el-form-item label="纳入重点监管时间:">
<el-date-picker <el-date-picker
v-model="queryParam.time" v-model="includedSupervisionTime"
type="datetimerange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -33,13 +34,13 @@
<div class="flex-center"> <div class="flex-center">
<el-input-number <el-input-number
:min="0" :min="0"
v-model="queryParam.min" v-model="queryParam.startNum"
placeholder="" placeholder=""
></el-input-number> ></el-input-number>
<span style="color: #495e70; padding: 0 4px">-</span> <span style="color: #495e70; padding: 0 4px">-</span>
<el-input-number <el-input-number
:min="0" :min="0"
v-model="queryParam.max" v-model="queryParam.endNum"
placeholder="" placeholder=""
></el-input-number> ></el-input-number>
</div> </div>
@ -47,11 +48,12 @@
<el-form-item label="风险清单生成时间:"> <el-form-item label="风险清单生成时间:">
<el-date-picker <el-date-picker
v-model="queryParam.time" v-model="riskTime"
type="datetimerange" type="datetimerange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -59,7 +61,7 @@
<el-form-item label="整改状态:"> <el-form-item label="整改状态:">
<el-select <el-select
clearable clearable
v-model="queryParam.state" v-model="queryParam.rectificationStatus"
placeholder="" placeholder=""
> >
<el-option <el-option
@ -75,7 +77,7 @@
<el-form-item label="企业类型:"> <el-form-item label="企业类型:">
<el-select <el-select
clearable clearable
v-model="queryParam.cmyType" v-model="queryParam.enterpriseType"
placeholder="" placeholder=""
> >
<el-option <el-option
@ -91,7 +93,7 @@
<el-form-item label="处置方式:"> <el-form-item label="处置方式:">
<el-select <el-select
clearable clearable
v-model="queryParam.dealWay" v-model="queryParam.disposalMethod"
placeholder="" placeholder=""
> >
<el-option <el-option
@ -105,8 +107,8 @@
</el-form-item> </el-form-item>
</template> </template>
<el-form-item style="margin-right: 0"> <el-form-item style="margin-right: 0">
<el-button type="primary" @click="searchQuery"></el-button> <el-button type="primary" @click="search"></el-button>
<el-button type="primary" plain @click="searchReset" <el-button type="primary" plain @click="reset"
>重置</el-button >重置</el-button
> >
<a <a
@ -158,25 +160,37 @@
<div class="msgWrap" v-if="scope.row.msg == 1"></div> <div class="msgWrap" v-if="scope.row.msg == 1"></div>
</template> </template>
<template v-slot:jjSlot="{ scope }"> <template v-slot:jjSlot="{ scope }">
<div class="ybWrap" v-if="scope.row.jj == 0"> <div class="ybWrap" v-if="scope.row.urgencyLevel == '一般'">
<div class="text">一般</div> <div class="text">一般</div>
</div> </div>
<div class="zdWrap" v-if="scope.row.jj == 1"> <div class="zdWrap" v-if="scope.row.urgencyLevel == '重点关注'">
<div class="text">重点关注</div> <div class="text">重点关注</div>
</div> </div>
<div class="jjWrap" v-if="scope.row.jj == 2"> <div class="jjWrap" v-if="scope.row.urgencyLevel == '紧急'">
<div class="text">紧急</div> <div class="text">紧急</div>
</div> </div>
</template> </template>
<template v-slot:stateSlot="{ scope }"> <template v-slot:stateSlot="{ scope }">
<div class="failWrap" v-if="scope.row.state == 0"> <div
<div class="text">未完成</div> class="failWrap"
v-if="scope.row.rectificationStatus == '未按要求整改'"
>
<div class="text">未按要求整改</div>
</div> </div>
<div class="ingWrap" v-if="scope.row.state == 1"> <div
<div class="text">整改中</div> class="ingWrap"
v-if="scope.row.rectificationStatus == '正在整改'"
>
<div class="text">正在整改</div>
</div> </div>
<div class="finishWrap" v-if="scope.row.state == 2"> <div
<div class="text">已完成</div> class="finishWrap"
v-if="
scope.row.rectificationStatus == '已整改' ||
scope.row.rectificationStatus == '按照要求整改'
"
>
<div class="text">{{ scope.row.rectificationStatus }}</div>
</div> </div>
</template> </template>
<template v-slot:optSlot="{ scope }"> <template v-slot:optSlot="{ scope }">
@ -217,7 +231,7 @@
<script> <script>
import { tableListMixins } from "@/loveflow/mixins/tableListMixins"; import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins"; import { commonMixins } from "@/loveflow/mixins/commonMixins";
import { listingsupervision } from "@/api/enterpriseTeamWork/riskOverview/index.js";
export default { export default {
components: {}, components: {},
mixins: [tableListMixins, commonMixins], mixins: [tableListMixins, commonMixins],
@ -233,52 +247,52 @@ export default {
}, },
}, },
{ {
prop: "cmy", prop: "enterpriseName",
label: "企业名称", label: "企业名称",
attrs: { attrs: {
width: 220, width: 220,
}, },
}, },
{ {
slot: "cmyTypeSlot", //slot: "cmyTypeSlot",
prop: "cmyType", prop: "enterpriseType",
label: "企业类型", label: "企业类型",
attrs: { attrs: {
width: 120, width: 120,
}, },
}, },
{ {
prop: "time", prop: "includedSupervisionTime",
label: "纳入监管时间", label: "纳入监管时间",
attrs: { attrs: {
width: 180, width: 180,
}, },
}, },
{ {
prop: "time", prop: "checklistGenerationTime",
label: "清单生成时间", label: "清单生成时间",
attrs: { attrs: {
width: 180, width: 180,
}, },
}, },
{ {
prop: "date", prop: "rectificationDeadline",
label: "整改截止时间", label: "整改截止时间",
attrs: { attrs: {
width: 180, width: 180,
}, },
}, },
{ {
slot: "riskSlot", //slot: "riskSlot",
prop: "risk", prop: "controlDeductionItem",
label: "管控扣分项", label: "管控扣分项",
attrs: { attrs: {
width: 170, width: 170,
}, },
}, },
{ {
slot: "ysSlot", //slot: "ysSlot",
prop: "ys", prop: "elementAbnormalDetail",
label: "要素异常明细", label: "要素异常明细",
attrs: { attrs: {
width: 180, width: 180,
@ -286,31 +300,31 @@ export default {
}, },
{ {
slot: "stateSlot", slot: "stateSlot",
prop: "state", prop: "rectificationStatus",
label: "整改状态", label: "整改状态",
attrs: { attrs: {
width: 120, width: 120,
}, },
}, },
{ {
slot: "iszgSlot", //slot: "iszgSlot",
prop: "iszg", prop: "appealVerificationNotNeeded",
label: "申诉核实无需整改", label: "申诉核实无需整改",
attrs: { attrs: {
width: 160, width: 160,
}, },
}, },
{ {
slot: "dealWaySlot", //slot: "dealWaySlot",
prop: "dealWay", prop: "disposalMethod",
label: "处置方式", label: "处置方式",
attrs: { attrs: {
width: 120, width: 120,
}, },
}, },
{ {
slot: "msgSlot", //slot: "msgSlot",
prop: "msg", prop: "overdueReminder",
label: "超期提醒", label: "超期提醒",
attrs: { attrs: {
width: 180, width: 180,
@ -325,8 +339,8 @@ export default {
}, },
}, },
{ {
slot: "dealRequireSlot", //slot: "dealRequireSlot",
prop: "dealRequire", prop: "disposalRequirement",
label: "处置要求", label: "处置要求",
attrs: { attrs: {
width: 120, width: 120,
@ -334,7 +348,7 @@ export default {
}, },
{ {
slot: "jjSlot", slot: "jjSlot",
prop: "jj", prop: "urgencyLevel",
label: "紧急程度", label: "紧急程度",
attrs: { attrs: {
width: 120, width: 120,
@ -347,9 +361,10 @@ export default {
itemAttrs: { itemAttrs: {
label: "请输入挂牌日期:", label: "请输入挂牌日期:",
span: 12, span: 12,
rules: this.$rules.requiredItem,
}, },
attrs: { attrs: {
model: "date", model: "listingDate",
value: "", value: "",
placeholder: "", placeholder: "",
style: { style: {
@ -362,18 +377,23 @@ export default {
itemAttrs: { itemAttrs: {
label: "请选择督办级别:", label: "请选择督办级别:",
span: 12, span: 12,
rules: this.$rules.requiredItem,
}, },
attrs: { attrs: {
model: "jb", model: "supervisionLevel",
value: "", value: "",
option: [ option: [
{ {
label: "级", label: "1级",
value: "1", value: "1",
}, },
{ {
label: "二级", label: "2级",
value: "2", value: "2级",
},
{
label: "3级",
value: "3级",
}, },
], ],
style: { style: {
@ -388,7 +408,7 @@ export default {
span: 12, span: 12,
}, },
attrs: { attrs: {
model: "dw", model: "listingUnit",
value: "", value: "",
placeholder: "", placeholder: "",
style: { style: {
@ -403,7 +423,7 @@ export default {
span: 12, span: 12,
}, },
attrs: { attrs: {
model: "dw", model: "listingDocumentNumber",
value: "", value: "",
placeholder: "", placeholder: "",
}, },
@ -413,9 +433,10 @@ export default {
itemAttrs: { itemAttrs: {
label: "请输入督办要求:", label: "请输入督办要求:",
span: 12, span: 12,
rules: this.$rules.requiredItem,
}, },
attrs: { attrs: {
model: "dw", model: "supervisionRequirements",
value: "", value: "",
placeholder: "", placeholder: "",
style: { style: {
@ -430,7 +451,7 @@ export default {
span: 12, span: 12,
}, },
attrs: { attrs: {
model: "dw", model: "supervisionClosureUnit",
value: "", value: "",
placeholder: "", placeholder: "",
}, },
@ -439,6 +460,8 @@ export default {
url: { url: {
list: "synergism/riskgovernancelist", list: "synergism/riskgovernancelist",
}, },
includedSupervisionTime: [],
riskTime: [],
}; };
}, },
methods: { methods: {
@ -446,11 +469,33 @@ export default {
this.$refs.formDialog.openDialog("detail", obj, "挂牌督办"); this.$refs.formDialog.openDialog("detail", obj, "挂牌督办");
}, },
formSubmit(obj) { formSubmit(obj) {
console.log(obj); obj.enterprid = obj.id;
listingsupervision({ ...obj }).then((res) => {
if (res.code == 200) {
let data = res.data || {};
}
});
}, },
sendMsg(obj) { sendMsg(obj) {
this.$message.success("提醒短信已发送"); this.$message.success("提醒短信已发送");
}, },
search() {
if (this.includedSupervisionTime.length) {
this.queryParam.startTime = this.includedSupervisionTime[0];
this.queryParam.endTime = this.includedSupervisionTime[1];
}
if (this.riskTime.length) {
this.queryParam.riskStartTime = this.riskTime[0];
this.queryParam.riskEndTime = this.riskTime[1];
}
this.searchQuery();
},
reset() {
this.riskTime = [];
this.includedSupervisionTime = [];
this.searchReset();
},
}, },
}; };
</script> </script>

@ -46,7 +46,7 @@ export default {
}, },
}, },
{ {
value: 5, value: 2,
name: "", name: "",
itemStyle: { itemStyle: {
normal: { normal: {

Loading…
Cancel
Save