master
loveflow 11 months ago
parent d3dd108bad
commit fc212c8f2b

@ -1,5 +1,5 @@
window.$mapCfg = {
mapType: "offline", //在线; offline:离线
mapType: "online", //在线; offline:离线
lgt: "", //经度
lat: "", //纬度
center: [121.619992, 30.025703],

@ -87,6 +87,14 @@ export function TaskTemplateList(params) {
params,
});
}
//处置方式管理-删除
export function DispositionRemove(params) {
return request({
url: "/tbRulesSetting/DispositionRemove",
method: "post",
params,
});
}
//处置方式管理-任务单新增
export function TaskTemplateInsert(params) {
return request({
@ -104,11 +112,11 @@ export function PunishTemplateList(params) {
});
}
//处置方式管理-行政处罚单添加
export function PunishTemplateInsert(data) {
export function PunishTemplateInsert(params) {
return request({
url: "/tbRulesSetting/PunishTemplateInsert",
method: "post",
data,
params,
});
}
//紧急管理-查询
@ -128,10 +136,26 @@ export function UrgencyDegreeInsert(data) {
});
}
//查询人
export function personnelList(data) {
export function personnelList(params) {
return request({
url: "/tbRulesSetting/personnelList",
method: "post",
data,
params,
});
}
//任务单-删除
export function TaskTemplateRemove(params) {
return request({
url: "/tbRulesSetting/TaskTemplateRemove",
method: "get",
params,
});
}
//行政处罚-删除
export function PunishTemplateRemove(params) {
return request({
url: "/tbRulesSetting/PunishTemplateRemove",
method: "post",
params,
});
}

@ -105,12 +105,24 @@
</el-select>
</template>
<template v-if="item.type === 'date' || item.type == 'datetime'">
<template v-if="item.type == 'datetime'">
<el-date-picker
value-format="yyyy-MM-dd HH:mm:ss"
v-bind="item.attrs || {}"
v-model.trim="model[item.attrs.model]"
v-on="item.listeners || {}"
style="width: 100%"
type="datetime"
></el-date-picker>
</template>
<template v-if="item.type === 'date'">
<el-date-picker
value-format="yyyy-MM-dd"
v-bind="item.attrs || {}"
v-model.trim="model[item.attrs.model]"
v-on="item.listeners || {}"
style="width: 100%"
type="date"
></el-date-picker>
</template>
</el-form-item>

@ -80,13 +80,13 @@ export const commonMixins = {
],
//镇区
zhAreaList: [
{ name: "招宝山街道", value: "330211000" },
{ name: "九龙湖镇", value: "330211001" },
{ name: "澥浦镇", value: "330211002" },
{ name: "骆驼街道", value: "330211003" },
{ name: "庄市街道", value: "330211004" },
{ name: "蛟川街道", value: "330211006" },
{ name: "贵驷街道", value: "330211005" },
{ name: "招宝山街道", value: "招宝山街道" },
{ name: "九龙湖镇", value: "九龙湖镇" },
{ name: "澥浦镇", value: "澥浦镇" },
{ name: "骆驼街道", value: "骆驼街道" },
{ name: "庄市街道", value: "庄市街道" },
{ name: "蛟川街道", value: "蛟川街道" },
{ name: "贵驷街道", value: "贵驷街道" },
],
//风险异常,管控扣分项
riskList: [
@ -221,8 +221,8 @@ export const commonMixins = {
//监管单位
unitList: [
{
name: "镇海公安局",
value: "镇海公安局",
name: "镇海公安局",
value: "镇海公安局",
},
{
name: "应急管理局",

@ -17,6 +17,7 @@ export function importAll(r, arr, needModuleName) {
});
}
//归类
export function groupByReduce(arr, property, perty) {
return arr.reduce((acc, obj) => {
const key = obj[property];
@ -27,3 +28,11 @@ export function groupByReduce(arr, property, perty) {
return acc;
}, {});
}
//list根据属性去重
export function uniqueByProperty(arr, prop) {
return arr.filter(
(item, index, self) =>
self.findIndex((other) => other[prop] === item[prop]) === index
);
}

@ -40,38 +40,7 @@ import "echarts-gl";
export default {
data() {
return {
data: [
{
name: "已整改",
value: 228,
itemStyle: {
color: "#378DFF",
icon: require("@/assets/images/team/yzgi.png"),
tcolor: "##E3F6FF",
textShadow: "0px 0px 9px rgba(87,207,255,0.88)",
},
},
{
name: "未按要求整改",
value: 21,
itemStyle: {
color: "#DC4E4E",
icon: require("@/assets/images/team/wzgi.png"),
tcolor: "#FF7757",
textShadow: "0px 0px 9px rgba(255,119,87,0.88)",
},
},
{
name: "整改中",
value: 50,
itemStyle: {
color: "#EBCD6C",
icon: require("@/assets/images/team/zgzi.png"),
tcolor: "#FFF5E3",
textShadow: "0px 0px 9px rgba(255,202,87,0.88)",
},
},
],
data: [],
total: 1,
viewH: 1,
};

@ -24,12 +24,12 @@
<el-form-item label="整改状态">
<el-select
clearable
v-model="searchParam.state"
v-model="searchParam.abarbeitungStatus"
placeholder="请选择"
@change="changeChart"
>
<el-option
v-for="item in zgStateList"
v-for="item in stateList"
:key="item.value"
:label="item.name"
:value="item.value"
@ -58,9 +58,9 @@
</div>
<div class="midWrap">
<mapWrap
:chartObj="dataObj"
:companyList="companyList"
@checkDetail="checkDetail"
ref="mapChart"
@mapClick="mapClick"
></mapWrap>
</div>
<div class="btmWrap">
@ -85,16 +85,13 @@
<div class="zgBody zgBarBody canvasDefault" v-if="chartType == 'bar'">
<barWrap :chartObj="qyObj"></barWrap>
</div>
<div
class="zgBody zgPieBody canvasDefault"
v-if="chartType == 'dpie'"
>
<div class="zgBody zgPieBody canvasDefault" v-if="chartType == 'pie'">
<div class="topWrap">
<div class="label">整改企业总数</div>
<div class="value">298</div>
<div class="value">{{ pieObj.total }}</div>
</div>
<div class="btmWrap">
<dpieWrap :chartObj="qyObj"></dpieWrap>
<pieWrap :chartObj="pieObj"></pieWrap>
</div>
</div>
<div class="zgBody zgGaugeBody" v-if="chartType == 'gauge'">
@ -119,12 +116,15 @@
@pageSizeChange="handlePageSizeChange"
@currentPageChange="handleCurrentPageChange"
>
<template v-slot:riskSlot="{ scope }">
<template v-slot:idSlot="{ scope }">
{{ scope.row.tableIndex }}
</template>
<!-- <template v-slot:riskSlot="{ scope }">
<gDict :options="riskList" :value="scope.row.risk"></gDict>
</template>
<template v-slot:ysSlot="{ scope }">
<gDict :options="elementList" :value="scope.row.ys"></gDict>
</template>
</template> -->
</gMainTable>
</div>
</div>
@ -138,8 +138,8 @@
import screenMain from "../components/screenMain.vue";
import barWrap from "./bar.vue";
import gaugeWrap from "./gauge.vue";
import dpieWrap from "./dpie.vue";
import mapWrap from "./map.vue";
import pieWrap from "./pie.vue";
import mapWrap from "./mapWrap.vue";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import {
@ -148,44 +148,25 @@ import {
RectificationOverview,
CompanySum,
} from "@/api/enterpriseTeamWork/problemRectify/index.js";
import { groupByReduce } from "@/loveflow/util.js";
export default {
components: { screenMain, barWrap, gaugeWrap, dpieWrap, mapWrap },
components: { screenMain, barWrap, gaugeWrap, pieWrap, mapWrap },
mixins: [tableListMixins, commonMixins],
data() {
return {
zgStateList: [
{
name: "已整改",
value: "已整改",
},
{
name: "正在整改",
value: "正在整改",
},
{
name: "未按要求整改",
value: "未按要求整改",
},
],
total: 0,
searchParam: {
area: "",
state: "",
abarbeitungStatus: "",
startTime: "",
endTime: "",
},
qyObj: {
data: [
{ name: "招宝山街道", value: 33 },
{ name: "九龙湖镇", value: 27 },
{ name: "澥浦镇", value: 25 },
{ name: "骆驼街道", value: 23 },
{ name: "庄市街道", value: 19 },
{ name: "蛟川街道", value: 15 },
{ name: "贵驷街道", value: 12 },
],
data: [],
},
columns: [
{
slot: "idSlot",
prop: "id",
label: "序号",
attrs: {
@ -193,13 +174,13 @@ export default {
},
},
{
slot: "riskSlot",
prop: "risk",
// slot: "riskSlot",
prop: "abarbeitungStatus",
label: "扣分项",
},
{
slot: "ysSlot",
prop: "ys",
//slot: "ysSlot",
prop: "changeContent",
label: "要素异常信息",
},
],
@ -208,83 +189,15 @@ export default {
timeArr: [],
timeValue: "",
title: "各区域整改企业数量",
dataObj: {
points: [
[
121.716889,
29.964717,
{ name: "招宝山街道", value: "330211000", yn: 32, zn: 5, wn: 3 },
],
[
121.672319,
29.961326,
{ name: "蛟川街道", value: "330211006", yn: 28, zn: 8, wn: 1 },
],
[
121.582491,
29.97749,
{ name: "骆驼街道", value: "330211003", yn: 24, zn: 7, wn: 2 },
],
[
121.632643,
29.932736,
{ name: "庄市街道", value: "330211004", yn: 21, zn: 10, wn: 4 },
],
[
121.618127,
29.974399,
{ name: "贵驷街道", value: "330211005", yn: 18, zn: 11, wn: 5 },
],
[
121.630811,
30.024586,
{ name: "澥浦镇", value: "330211002", yn: 27, zn: 9, wn: 3 },
],
[
121.525171,
30.019719,
{ name: "九龙湖镇", value: "330211001", yn: 25, zn: 8, wn: 2 },
],
],
temp: [
[
121.716889,
29.964717,
{ name: "招宝山街道", value: "330211000", yn: 32, zn: 5, wn: 3 },
],
[
121.672319,
29.961326,
{ name: "蛟川街道", value: "330211006", yn: 28, zn: 8, wn: 1 },
],
[
121.582491,
29.97749,
{ name: "骆驼街道", value: "330211003", yn: 24, zn: 7, wn: 2 },
],
[
121.632643,
29.932736,
{ name: "庄市街道", value: "330211004", yn: 21, zn: 10, wn: 4 },
],
[
121.618127,
29.974399,
{ name: "贵驷街道", value: "330211005", yn: 18, zn: 11, wn: 5 },
],
[
121.630811,
30.024586,
{ name: "澥浦镇", value: "330211002", yn: 27, zn: 9, wn: 3 },
],
[
121.525171,
30.019719,
{ name: "九龙湖镇", value: "330211001", yn: 25, zn: 8, wn: 2 },
],
],
optType: "",
val: "",
companyList: [],
url: {
list: "/tbRectificationOfAProblem/RectificationOfAProblemListDetails",
},
pieObj: {
total: 0,
color: ["#2B82F3", "#66C3FF", "#E4FEF0", "#FF745A", "#FEF699"],
data: [],
name: "总数",
},
};
},
@ -295,14 +208,25 @@ export default {
this.ipagination.layout = "total, prev, pager, next";
//this.loadData();
this.getData();
this.timeSelect(this.timeValue);
},
methods: {
getData() {
OverviewList().then((res) => {
getOverList() {
OverviewList(this.searchParam).then((res) => {
if (res.code == 200) {
let data = res.data || {};
let data = res.data || [];
this.companyList = this.uniqueByProperty(data, "companyId");
console.log(this.companyList);
}
});
},
uniqueByProperty(arr, prop) {
return arr.filter(
(item, index, self) =>
self.findIndex((other) => other[prop] === item[prop]) === index
);
},
getData() {
CompanySumList().then((res) => {
if (res.code == 200) {
let data = res.data || {};
@ -310,7 +234,14 @@ export default {
});
RectificationOverview().then((res) => {
if (res.code == 200) {
let data = res.data || {};
let data = res.data || [];
this.qyObj.data = [];
for (let i = 0; i < data.length; i++) {
this.qyObj.data.push({
name: data[i]["area"],
value: data[i]["count"],
});
}
}
});
CompanySum().then((res) => {
@ -324,24 +255,51 @@ export default {
});
},
timeSelect(val) {
console.log(val);
let arr = val.split("-");
let year = arr[0];
let month = arr[1];
let day = new Date(year, month, 0).getDate();
console.log(arr);
let time = new Date();
console.log(time.getDay());
this.timeValue = val;
this.searchParam.startTime = year + "-" + month + "-01 00:00:00";
this.searchParam.endTime = year + "-" + month + "-" + day + " 23:59:59";
this.getOverList();
},
changeChart(val) {
this.dataObj.optType = "state";
this.dataObj.val = val;
this.getOverList();
},
areaChange(val) {
this.chartType = "dpie";
/* if (!val) {
this.dataObj.points = this.dataObj.temp;
return;
}
let findIndex = this.dataObj.temp.findIndex((e) => {
return (e[2]["value"] = val);
this.chartType = "pie";
OverviewList(this.searchParam).then((res) => {
if (res.code == 200) {
let data = res.data || [];
/* let obj = groupByReduce(data, "companyId");
console.log(this.companyList); */
this.pieObj.data = [];
this.pieObj.data.push(
{
name: "未按要求整改",
value: 2,
},
{
name: "整改中",
value: 12,
},
{
name: "按照要求整改",
value: 21,
},
{
name: "已整改",
value: 31,
}
);
this.pieObj.total = data.length;
}
});
if (findIndex > -1) {
this.dataObj.points = this.dataObj.temp[findIndex];
} */
},
getLast12Months() {
const now = new Date();
@ -359,6 +317,13 @@ export default {
path: path,
});
},
checkDetail(obj) {
console.log(obj);
this.title = obj.companyName;
this.chartType = "gauge";
this.queryParam.companyName = obj.companyName;
this.searchQuery();
},
mapClick(e) {
console.log(e);
this.chartType = "gauge";

@ -0,0 +1,165 @@
<template>
<div class="map wtzgMapContent" id="container"></div>
</template>
<script>
import styleJson from "../../../../public/custom_map_config.json";
import MapLine from "../../../../public/zhenhaiLine.json";
let BMap = window.$mapCfg.mapType === "online" ? window.BMapGL : window.BMap;
let map = null;
export default {
name: "WarnMap",
props: {
companyList: {
type: Array,
default: () => [],
},
},
data() {
return {
center_point: window.$mapCfg.center,
minZoom: window.$mapCfg.minZoom,
maxZoom: window.$mapCfg.maxZoom,
};
},
mounted() {
//
this.init_map();
},
methods: {
//
init_map() {
map = new BMap.Map("container", {
style: {
styleJson,
},
});
// ///////////////
setTimeout(() => {
this.setMarker();
}, 500);
//////////////////////////////////////////
map.centerAndZoom(
new BMap.Point(this.center_point[0], this.center_point[1]),
14
); //
map.setMinZoom(this.minZoom); //
map.setMaxZoom(this.maxZoom);
map.enableScrollWheelZoom(true);
//
showBoundaryEx(MapLine.features[5]); //
//////////////// -- /////////////////
function showBoundaryEx(city) {
var paths = [];
var list = city.geometry.coordinates;
//console.log("city.geometry.coordinates", list[0]);
var polygon = {};
if (list.length > 1) {
for (let a = 0; a < list.length; a++) {
paths = [];
for (let i = 0; i < list[a][0].length; i++) {
let lat = list[a][0][i][1],
lng = list[a][0][i][0];
paths.push(new BMap.Point(lng, lat));
}
polygon = new BMap.Polygon(paths, {
fillColor: "#3b4c44",
strokeColor: "#0f1423",
fillOpacity: 0.6,
strokeWeight: 1,
}); //
polygon.disableMassClear();
map.addOverlay(polygon); //
}
} else {
for (let i = 0; i < list[0].length; i++) {
paths.push(new BMap.Point(list[0][i][0], list[0][i][1]));
}
polygon = new BMap.Polygon(paths, {
fillColor: "#3b4c44",
strokeColor: "#0f1423",
fillOpacity: 0.6,
strokeWeight: 1,
}); //
polygon.disableMassClear();
map.addOverlay(polygon); //
}
polygon.infowindow = new BMap.InfoWindow();
polygon.infowindow.name = city.properties.name;
polygon.addEventListener("mouseover", function () {
polygon.setFillColor("#ffa500");
});
polygon.addEventListener("mouseout", function () {
polygon.setFillColor("#3b4c44");
});
}
},
setMarker() {
map.clearOverlays();
let list_item = this.companyList;
console.log("地图上的点位", list_item);
list_item.forEach((item) => {
var point = new BMap.Point(item.longitude, item.latitude);
//
var myIcon = new BMap.Icon(
require("@/assets/realtimeWarning/blue_c.png"),
new BMap.Size(40, 60),
{
imageOffset: new BMap.Size(0, 0, 5), //
}
);
var marker = new BMap.Marker(point, { icon: myIcon }); //
//marker.disableMassClear();
map.addOverlay(marker);
let infoWindow = new BMap.InfoWindow(item.companyName, {
title: "企业名称",
});
//
marker.addEventListener("click", () => {
map.openInfoWindow(infoWindow, point); //
this.$emit("checkDetail", item);
});
});
},
//
reset_map(list, flag, point) {
this.companyList = list; //
this.center_point = point; //
this.init_map();
},
detail(obj) {
console.log(11111);
},
},
watch: {
companyList: {
handler(newval) {
this.setMarker();
},
deep: true,
// immediate: true,
},
},
};
</script>
<style lang="less" scoped>
/* 去除百度地图logo */
.anchorBL {
display: none;
}
.map {
width: 100%;
height: 100%;
border: 1px solid #000000;
}
// /deep/ .BMap_Marker {
// z-index: 1000;
// background: url("../../../../public/pbImg/redcity.png") no-repeat !important;
// background-size: 100% 100% !important;
// }
</style>
<style lang="less">
.wtzgMapContent {
}
</style>

@ -0,0 +1,179 @@
<template>
<div style="height: 100%; width: 100%" id="pieWrap">
<g-chart :echartdata="option"></g-chart>
</div>
</template>
<script>
let bgImg = require("@/assets/images/topic/pie.png");
export default {
props: {
chartObj: {
type: Object,
default: () => {
return {};
},
},
},
data() {
return {
option: {},
};
},
mounted() {
this.setOption();
},
methods: {
setOption() {
let temp = this.getHeight();
let height = parseInt(temp / 5);
console.log(height);
let total = 0;
let data = [];
let barChartList = this.chartObj.data;
let legend = [];
for (var i = 0; i < barChartList.length; i++) {
legend.push(barChartList[i]["name"]);
total = total + barChartList[i].value;
data.push(
{
value: barChartList[i].value,
name: barChartList[i].name,
itemStyle: {
normal: {
borderWidth: 6,
},
},
},
{
value: 4,
name: "",
itemStyle: {
normal: {
label: {
show: false,
},
labelLine: {
show: false,
},
color: "rgba(0, 0, 0, 0)",
borderColor: "rgba(0, 0, 0, 0)",
borderWidth: 0,
},
},
}
);
}
if (!total) {
total = 1;
}
this.option = {
tooltip: {
show: false,
},
legend: {
data: legend,
orient: "vertical",
bottom: "10%",
left: "center",
icon: "diamond",
itemHeight: 8,
itemWidth: 8,
itemGap: 8,
padding: 2,
//backgroundColor: "rgba(108,128,151,0.2)",
textStyle: {
color: "#D0DEEE",
align: "left",
verticalAlign: "middle",
fontSize: 12,
rich: {
name: {
width: parseInt(height)+20,
},
rate: {
color: "#FFFFFF;",
fontSize: 14,
},
},
},
formatter: function (name) {
const item = barChartList.filter((item) => item.name === name)[0];
let rate = ((100 * item.value) / total).toFixed(2);
return `{name|${name}}{rate| ${item.value}} {rate| ${rate}%}`;
},
},
color: this.chartObj.color,
graphic: {
elements: [
{
type: "image",
style: {
image: bgImg,
width: 2 * height - 20,
height: 2 * height - 20,
zIndex: 1,
},
left: "center",
top: parseInt(10 + 0.3 * height),
},
],
},
series: [
{
name: this.chartObj.name,
type: "pie",
radius: [height - 10, height],
center: ["center", parseInt(1.3 * height)],
clockWise: false,
hoverAnimation: false,
left: "center",
itemStyle: {},
label: {
show: true,
position: "center",
formatter: `{label|总数}\n{value|${total}}`,
rich: {
label: {
padding: [0, 0, 10, 0],
fontSize: 12,
fontWeight: 400,
color: "#D0DEEE",
},
value: {
fontSize: 18,
fontWeight: 500,
color: "#D0DEEE",
},
},
},
emphasis: {
label: {
show: true,
formatter: `{label|总数}\n{value|${total}}`,
},
},
labelLine: {
show: false,
},
data: data,
},
],
};
},
getHeight() {
let div = document.getElementById("pieWrap");
return div.clientHeight;
},
},
watch: {
chartObj: {
handler(newval) {
this.setOption();
},
deep: true,
// immediate: true,
},
},
};
</script>

@ -112,7 +112,7 @@
<span
class="clickText"
@click="
gotoPage('/teamWork/riskHandle/indexDetail', scope.row)
openPage('/#/integration/closeLoopDispose', scope.row)
"
>
查看
@ -314,6 +314,9 @@ export default {
};
},
methods: {
openPage(val) {
window.open(val);
},
gotoPage(val, obj) {
if (obj) {
this.$router.push({

@ -18,7 +18,7 @@
<div class="btmBody">
<div class="leftWrap">
<div class="line" v-for="line in qyList" :key="line.name">
<div class="lineHead">
<div class="lineHead pointer" @click="qyClick()">
<div class="icon"></div>
<div class="name">{{ line.name }}</div>
<div class="value">{{ line.total }}</div>
@ -38,7 +38,7 @@
</div>
</div>
<div class="line" v-for="line in jdList" :key="line.name">
<div class="lineHead">
<div class="lineHead pointer" @click="jdClick()">
<div class="icon"></div>
<div class="name">{{ line.name }}</div>
<div class="value">{{ line.total }}</div>
@ -77,14 +77,26 @@
</template>
<template v-slot:stateSlot="{ scope }">
<div class="failWrap" v-if="scope.row.state == 0">
<div class="text">处理失败</div>
<div
class="failWrap"
v-if="scope.row.rectificationStatus == '未按要求整改'"
>
<div class="text">未按要求整改</div>
</div>
<div class="ingWrap" v-if="scope.row.state == 1">
<div class="text">进行中</div>
<div
class="ingWrap"
v-if="scope.row.rectificationStatus == '正在整改'"
>
<div class="text">正在整改</div>
</div>
<div class="finishWrap" v-if="scope.row.state == 2">
<div class="text">处置完成</div>
<div
class="finishWrap"
v-if="
scope.row.rectificationStatus == '已整改' ||
scope.row.rectificationStatus == '按照要求整改'
"
>
<div class="text">已整改</div>
</div>
</template>
<template v-slot:optSlot="{ scope }">
@ -95,17 +107,20 @@
<template v-slot:cmyTypeSlot="{ scope }">
<gDict
:options="cmyTypeList"
:value="scope.row.cmyType"
:value="scope.row.enterpriseType"
></gDict>
</template>
<template v-slot:riskSlot="{ scope }">
<gDict :options="riskList" :value="scope.row.risk"></gDict>
</template>
<template v-slot:streetSlot="{ scope }">
<gDict :options="zhAreaList" :value="scope.row.street"></gDict>
<gDict
:options="zhAreaList"
:value="scope.row.enterpriseStreet"
></gDict>
</template>
<template v-slot:ysSlot="{ scope }">
<gDict :options="elementList" :value="scope.row.ys"></gDict>
<gDict :options="elementList" :value="scope.row.elementAbnormalDetail"></gDict>
</template>
</gMainTable>
</div>
@ -157,36 +172,36 @@ export default {
},
},
{
prop: "cmy",
prop: "enterpriseName",
label: "企业名称",
},
{
slot: "cmyTypeSlot",
prop: "cmyType",
//slot: "cmyTypeSlot",
prop: "enterpriseType",
label: "企业类型",
attrs: {
width: 120,
},
},
{
prop: "times",
prop: "supervisionTimes",
label: "纳入监管次数",
},
{
prop: "time",
prop: "includedSupervisionTime",
label: "本次纳入监管时间",
attrs: {
width: 220,
},
},
{
slot: "streetSlot",
prop: "street",
//slot: "streetSlot",
prop: "enterpriseStreet",
label: "企业所属街道",
},
{
slot: "riskSlot",
prop: "risk",
////slot: "riskSlot",
prop: "controlDeductionItem",
label: "扣分项",
attrs: {
width: 170,
@ -194,7 +209,7 @@ export default {
},
{
slot: "stateSlot",
prop: "state",
prop: "rectificationStatus",
label: "整改状态",
},
{
@ -212,32 +227,36 @@ export default {
},
},
{
prop: "cmy",
prop: "enterpriseName",
label: "企业名称",
},
{
slot: "cmyTypeSlot",
prop: "cmyType",
//slot: "cmyTypeSlot",
prop: "enterpriseType",
label: "企业类型",
attrs: {
width: 120,
},
},
{
prop: "times",
prop: "supervisionTimes",
label: "纳入监管次数",
},
{
prop: "time",
prop: "includedSupervisionTime",
label: "本次纳入监管时间",
attrs: {
width: 220,
},
},
{ slot: "streetSlot", prop: "street", label: "企业所属街道" },
{
slot: "ysSlot",
prop: "ys",
//slot: "streetSlot",
prop: "enterpriseStreet",
label: "企业所属街道",
},
{
//slot: "ysSlot",
prop: "elementAbnormalDetail",
label: "要素异常项",
attrs: {
width: 180,
@ -263,49 +282,53 @@ export default {
},
},
{
prop: "cmy",
prop: "enterpriseName",
label: "企业名称",
},
{
slot: "cmyTypeSlot",
prop: "cmyType",
//slot: "cmyTypeSlot",
prop: "enterpriseType",
label: "企业类型",
attrs: {
width: 120,
},
},
{
prop: "times",
prop: "supervisionTimes",
label: "纳入监管次数",
},
{
prop: "total",
prop: "continuousSupervisionTimes",
label: "连续纳入监管次数",
},
{
prop: "time",
prop: "includedSupervisionTime",
label: "本次纳入监管时间",
attrs: {
width: 220,
},
},
{
prop: "risk",
slot: "riskSlot",
prop: "continuousDeductionItem",
//slot: "riskSlot",
label: "连续扣分项",
attrs: {
width: 170,
},
},
{
slot: "ysSlot",
prop: "ys",
//slot: "ysSlot",
prop: "elementAbnormalDetail",
label: "要素异常信息",
attrs: {
width: 180,
},
},
{ slot: "streetSlot", prop: "street", label: "企业所属街道" },
{
//slot: "streetSlot",
prop: "enterpriseStreet",
label: "企业所属街道",
},
{
slot: "stateSlot",
prop: "state",
@ -326,26 +349,26 @@ export default {
},
},
{
prop: "cmy",
prop: "enterpriseName",
label: "企业名称",
},
{
slot: "cmyTypeSlot",
prop: "cmyType",
//slot: "cmyTypeSlot",
prop: "enterpriseType",
label: "企业类型",
attrs: {
width: 120,
},
},
{
prop: "time",
prop: "includedSupervisionTime",
label: "纳入监管时间",
attrs: {
width: 220,
},
},
{
prop: "times",
prop: "supervisionTimes",
label: "纳入监管次数",
},
{
@ -354,10 +377,14 @@ export default {
},
{
prop: "risk",
slot: "riskSlot",
//slot: "riskSlot",
label: "未整改项",
},
{ slot: "streetSlot", prop: "street", label: "企业所属街道" },
{
//slot: "streetSlot",
prop: "enterpriseStreet",
label: "企业所属街道",
},
{
prop: "remarks",
label: "备注",
@ -367,76 +394,19 @@ export default {
qyList: [
{
name: "企业类型",
total: 123,
list: [
{
name: "全部",
total: 123,
value: "0",
},
{
name: "精细化工企业",
total: 56,
value: "1",
},
{
name: "石化源头企业",
total: 50,
value: "2",
},
{
name: "合成材料企业",
total: 17,
value: "3",
},
],
total: 0,
list: [],
},
],
qyVal: "0",
qyVal: "",
jdList: [
{
name: "所属街道",
total: 123,
list: [
{
name: "全部",
total: 123,
value: "0",
},
{
name: "招宝山街道",
total: 20,
value: "1",
},
{
name: "九龙湖镇",
total: 25,
value: "2",
},
{
name: "澥浦镇",
total: 25,
value: "3",
},
{
name: "骆驼街道",
total: 30,
value: "4",
},
{
name: "庄市街道",
total: 10,
value: "5",
},
{
name: "蛟川街道",
total: 13,
value: "6",
},
],
total: 0,
list: [],
},
],
jdVal: "0",
jdVal: "",
url: {
list: "/synergism/deductpointsenterprise",
},
@ -449,6 +419,29 @@ export default {
typeanstreetcount().then((res) => {
if (res.code == 200) {
let data = res.data || {};
let qyTotal = 0;
let jdTotal = 0;
let qyData = data["企业类型"];
let jdData = data["所属街道"];
Object.keys(qyData).forEach((key, index) => {
this.qyList[0]["list"].push({
name: key,
value: key,
total: qyData[key],
});
qyTotal += qyData[key];
});
this.qyList[0]["total"] = qyTotal;
Object.keys(jdData).forEach((key, index) => {
this.jdList[0]["list"].push({
name: key,
value: key,
total: jdData[key],
});
jdTotal += jdData[key];
});
this.jdList[0]["total"] = jdTotal;
}
});
},
@ -482,9 +475,13 @@ export default {
},
qyClick(val) {
this.qyVal = val;
this.queryParam.enterpriseType = val;
this.searchQuery();
},
jdClick(val) {
this.jdVal = val;
this.queryParam.enterpriseStreet = val;
this.searchQuery();
},
},
};

@ -470,7 +470,8 @@ export default {
obj.enterprid = obj.id;
listingsupervision({ ...obj }).then((res) => {
if (res.code == 200) {
let data = res.data || {};
this.$message.success("操作成功");
this.$refs.formDialog.handleClose();
}
});
},

@ -10,9 +10,9 @@
icon="el-icon-info"
icon-color="red"
title="确定删除当前选择项目吗?"
@confirm="del(item)"
@confirm="del()"
>
<div v-if="delArr.length" slot="reference" class="delBtn"></div>
<div v-show="delArr.length" slot="reference" class="delBtn"></div>
</el-popconfirm>
</div>
<div class="searchWrap"></div>
@ -106,6 +106,8 @@
<script>
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
import { DispositionRemove } from "@/api/enterpriseTeamWork/tipSet/index.js";
export default {
mixins: [tableListMixins, commonMixins],
data() {
@ -227,10 +229,16 @@ export default {
this.delArr.push(id);
}
},
del(item) {
this.$message({
message: item.nr,
type: "success",
del() {
console.log(this.delArr);
DispositionRemove(this.delArr).then((res) => {
if (res.code == 200) {
this.$message({
message: "删除成功",
type: "success",
});
this.searchQuery();
}
});
},
formSubmit(obj) {

@ -501,7 +501,15 @@ export default {
});
},
formXzSubmit(obj) {
PunishTemplateInsert(obj).then((res) => {
let param = {
contraveningContent: obj.contraveningContent,
exceptionDetail: obj.exceptionDetail,
execute: obj.execute,
penaltyRequirement: obj.penaltyRequirement,
riskType: obj.riskType,
punishId: obj.punishId || "",
};
PunishTemplateInsert(param).then((res) => {
if (res.code == 200) {
this.$message.success("操作成功");
this.$refs.formDialogPunish.handleClose();

@ -133,6 +133,8 @@ import {
PunishTemplateList,
TaskTemplateInsert,
PunishTemplateInsert,
PunishTemplateRemove,
TaskTemplateRemove,
} from "@/api/enterpriseTeamWork/tipSet/index.js";
export default {
mixins: [commonMixins],
@ -408,9 +410,15 @@ export default {
this.$refs.formDialog.openDialog("other", obj, "编辑推送规则设置");
},
delTask(item) {
this.$message({
message: this.getName(item.task, this.taskList) + "删除成功",
type: "success",
console.log(item);
TaskTemplateRemove({ takaId: item.taskId }).then((res) => {
if (res.code == 200) {
this.$message({
message: "删除成功",
type: "success",
});
this.getTask();
}
});
},
@ -425,9 +433,15 @@ export default {
this.$refs.formDialogPunish.openDialog("other", obj, "行政处罚单模板");
},
delPunish(item) {
this.$message({
message: this.getName(item.punish, this.punishList) + "删除成功",
type: "success",
PunishTemplateRemove({ punishId: item.punishId }).then((res) => {
if (res.code == 200) {
this.$message({
message: "删除成功",
type: "success",
});
this.getPunish();
this.wayForm.punishId = "";
}
});
},
formSubmit(obj) {
@ -440,7 +454,16 @@ export default {
});
},
formXzSubmit(obj) {
PunishTemplateInsert(obj).then((res) => {
let param = {
contraveningContent: obj.contraveningContent,
exceptionDetail: obj.exceptionDetail,
execute: obj.execute,
penaltyRequirement: obj.penaltyRequirement,
riskType: obj.riskType,
punishId: obj.punishId || "",
};
PunishTemplateInsert(param).then((res) => {
if (res.code == 200) {
this.$message.success("操作成功");
this.$refs.formDialogPunish.handleClose();

@ -44,7 +44,7 @@ export default {
},
{
icon: require("@/assets/images/team/info.png"),
name: "提醒信息模管理",
name: "提醒信息模管理",
nr: "对系统消息、短信、钉消息发送模板的新增、修改、删除等维护管理。",
path: "111",
fileName: "底座旋转_000",

@ -266,7 +266,7 @@ export default {
drivingObject: drivingObject,
drivingTime: obj.drivingTime,
drivingWay: obj.drivingWay,
id: 18478,
id: obj.id,
overdue: obj.overdue,
overdueTime: obj.overdueTime,
type: obj.type,

@ -265,13 +265,13 @@ export default {
created() {},
methods: {
add() {
this.$refs.formDialog.openDialog("other", {}, "推送规则设置");
this.$refs.formDialog.openDialog("other", {}, "提醒消息推送模板");
},
edit(obj) {
if (obj.drivingObject) {
obj.drivingObject = obj.drivingObject.split(",");
}
this.$refs.formDialog.openDialog("other", obj, "编辑推送规则设置");
this.$refs.formDialog.openDialog("other", obj, "编辑提醒消息推送模板");
},
del(item) {
SMSTemplateRemove({ id: item.id }).then((res) => {

@ -23,33 +23,33 @@
<div class="line">
<div class="item">
<div class="label">消息类型</div>
<div class="value">{{ item.type }}</div>
<div class="value">{{ item.messageType }}</div>
</div>
<div class="item">
<div class="label">推送方式</div>
<div class="value">{{ item.way }}</div>
<div class="value">{{ item.pushMode }}</div>
</div>
</div>
<div class="line">
<div class="item">
<div class="label">风险项</div>
<div class="value">{{ item.risk }}</div>
<div class="value">{{ item.riskItem }}</div>
</div>
<div class="item">
<div class="label" style="width: 100px">要素异常明细</div>
<div class="value">{{ item.ys }}</div>
<div class="value">{{ item.exceptionDetail }}</div>
</div>
</div>
<div class="line">
<div class="item">
<div class="label">推送对象</div>
<div class="value">{{ item.obj }}</div>
<div class="value">{{ item.drivingObject }}</div>
</div>
</div>
<div class="line">
<div class="item">
<div class="label">提醒内容</div>
<div class="value">{{ item.nr }}</div>
<div class="value">{{ item.drivingContent }}</div>
</div>
</div>
<div class="line">
@ -101,11 +101,14 @@
<script>
import { tableListMixins } from "@/loveflow/mixins/tableListMixins";
import { commonMixins } from "@/loveflow/mixins/commonMixins";
import {
VoiceMessageInsertOrUpdate,
VoiceMessageRemove,
} from "@/api/enterpriseTeamWork/tipSet/index.js";
export default {
mixins: [tableListMixins, commonMixins],
data() {
return {
disableMixinCreated: true,
columns: [
{
prop: "id",
@ -121,7 +124,7 @@ export default {
rules: this.$rules.requiredItem,
},
attrs: {
model: "type",
model: "messageType",
value: "",
option: [],
style: {
@ -138,7 +141,7 @@ export default {
rules: this.$rules.requiredItem,
},
attrs: {
model: "risk",
model: "riskItem",
value: "",
option: [],
style: {
@ -154,7 +157,7 @@ export default {
rules: this.$rules.requiredItem,
},
attrs: {
model: "ys",
model: "exceptionDetail",
value: "",
option: [],
style: {
@ -171,7 +174,7 @@ export default {
rules: this.$rules.requiredItem,
},
attrs: {
model: "obj",
model: "drivingObject",
value: [],
option: [],
},
@ -184,48 +187,60 @@ export default {
rules: this.$rules.requiredItem,
},
attrs: {
model: "nr",
model: "drivingContent",
rows: 2,
value: "",
},
},
],
url: {
list: "/tbRulesSetting/VoiceMessageList",
},
};
},
mounted() {
this.setFindItem("formItems", "type").attrs.option = this.infoTypeList;
this.setFindItem("formItems", "risk").attrs.option = this.riskList;
this.setFindItem("formItems", "ys").attrs.option = this.elementList;
this.setFindItem("formItems", "obj").attrs.option = this.pushObjList;
},
created() {
for (let i = 0; i < 20; i++) {
this.dataSource.push({
id: i,
type: "风险提醒",
way: "短信提醒",
risk: "流动人员异常",
ys: "流动人员核查率异常",
obj: "企业负责人、镇海区公安局、石化工业区管委会",
nr: "您好X年X月X日贵单位的XXXXXXXX证书将过期需及时处置。",
});
}
this.setFindItem("formItems", "messageType").attrs.option =
this.infoTypeList;
this.setFindItem("formItems", "riskItem").attrs.option = this.riskList;
this.setFindItem("formItems", "exceptionDetail").attrs.option =
this.elementList;
this.setFindItem("formItems", "drivingObject").attrs.option =
this.pushObjList;
},
created() {},
methods: {
add() {
this.$refs.formDialog.openDialog("other", {}, "推送规则设置");
this.$refs.formDialog.openDialog("other", {}, "钉语音模板");
},
edit(obj) {
this.$refs.formDialog.openDialog("other", obj, "编辑推送规则设置");
if (obj.drivingObject) {
obj.drivingObject = obj.drivingObject.split(",");
}
this.$refs.formDialog.openDialog("other", obj, "编辑钉语音模板");
},
del(item) {
this.$message({
message: item.nr,
type: "success",
VoiceMessageRemove({ id: item.id }).then((res) => {
if (res.code == 200) {
this.$message({
message: "删除成功",
type: "success",
});
this.searchQuery();
}
});
},
formSubmit(obj) {
console.log(obj);
obj.drivingObject = obj.drivingObject.length
? obj.drivingObject.join(",")
: "";
VoiceMessageInsertOrUpdate(obj).then((res) => {
if (res.code == 200) {
this.$message.success("操作成功");
this.$refs.formDialog.handleClose();
this.searchQuery();
}
});
},
},
};

@ -27,10 +27,10 @@
<div class="">
<el-select clearable v-model="obj.personnel" placeholder="">
<el-option
v-for="item in obj.personList"
v-for="item in personList"
:label="item.name"
:key="item.name"
:value="item.value"
:value="item.name"
></el-option>
</el-select>
</div>
@ -65,11 +65,12 @@ export default {
methods: {
unitChange(val) {
console.log(val);
/* personnelList({ unitid: val }).then((res) => {
personnelList({ unitid: val }).then((res) => {
if (res.code == 200) {
let data = res.data || [];
this.personList = data || [];
}
}); */
});
},
},
};

@ -86,28 +86,6 @@ export default {
title: "",
nodeList: [],
nid: "",
personList: [
{
name: "杨怡伶",
value: "杨怡伶",
},
{
name: "李彦志",
value: "李彦志",
},
{
name: "吴淑霞",
value: "吴淑霞",
},
{
name: "张雅泰",
value: "张雅泰",
},
{
name: "张三",
value: "张三",
},
],
};
},
created() {
@ -116,7 +94,6 @@ export default {
mounted() {},
methods: {
flowSet(obj) {
console.log("this.personList:", this.personList);
this.title = obj.title;
UrgencyDegreeList({ degree: obj.title }).then((res) => {
if (res.code == 200) {
@ -130,7 +107,6 @@ export default {
id: data[i]["id"],
degree: data[i]["degree"],
unitList: this.unitList,
personList: this.personList,
});
this.nid = data[0]["id"];
}
@ -146,7 +122,6 @@ export default {
unit: "",
personnel: "",
unitList: this.unitList,
personList: this.personList,
};
this.nodeList.push(obj);
},

Loading…
Cancel
Save