吕天方 1 year ago
commit 65183fb5cb

@ -70,6 +70,13 @@ export function listYqyj(query) {
params: query
})
}
//查询舆情报告各个类型的个数
export function numYqbg() {
return request({
url: '/tcZz/networkEcology/screen/screenopinionreport',
method: 'get',
})
}
// 查询舆情报告列表
export function listYqbg(query) {
return request({
@ -85,5 +92,11 @@ export function listZbxq(query) {
method: 'get',
params: query
})
}
}
// 大屏转办量数据
export function dataZb() {
return request({
url: '/tcZz/networkEcology/screen/screendepartment',
method: 'get',
})
}

@ -148,6 +148,14 @@ export function listBmtb(query) {
params: query
})
}
// 查询属地通报列表
export function listSdtb(query) {
return request({
url: '/tcZz/networkSecurity/sdtb/list',
method: 'get',
params: query
})
}
// 查询最新隐患列表
export function listZxyh(query) {
return request({
@ -164,3 +172,17 @@ export function listTbcz(query) {
params: query
})
}
//获取大屏属地通报数据
export function dataSdtb() {
return request({
url: '/tcZz/networkEcology/screen/screenterritorial',
method: 'get',
})
}
//获取大屏部门通报数据
export function dataBmtb() {
return request({
url: '/tcZz/networkEcology/screen/screendept',
method: 'get',
})
}

@ -1,10 +1,9 @@
import request from '@/utils/request.js'
// 查询字典
export function getDictList(query) {
export function getDictList(dictType) {
return request({
url: '/system/dict/data/list',
url: `/system/dict/data/type/${dictType}`,
method: 'get',
params: query
})
}

@ -28,25 +28,32 @@ const dict = {
actions: {
getDictType({ commit }) {
return new Promise((resolve, reject) => {
const query = {
dictType: "bg_type",
};
getDictList(query)
.then((res) => {
// console.log(res)
commit("SET_DICT", res.data);
getownList().then((town) => {
commit("SET_TOWN", town);
let arr = ['tc_area', 'bg_type','tc_sdtbmc','bg_type']
let arr1 = {}
arr.forEach((value, index) => {
getDictList(value).then(res => {
arr1[value] = res.data
if (index == arr.length - 1) {
commit("SET_DICT", arr1);
resolve();
});
// getownList2().then((town) => {
// commit("SET_TOWN2", town);
// resolve();
// });
})
.catch((error) => {
}
}).catch((error) => {
reject(error);
});
})
// getDictList(query)
// .then((res) => {
// // console.log(res)
// commit("SET_DICT", res.data);
// // getownList().then((town) => {
// // resolve();
// // });
// // getownList2().then((town) => {
// // commit("SET_TOWN2", town);
// // resolve();
// // });
// })
});
},
},

@ -1,16 +1,16 @@
import store from "@/store";
export function filterDict(type, value, isTown = false) {
export function filterDict(type, value) {
if (!value) return;
if (isTown) {
let ids = JSON.parse(value);
if (Array.isArray(ids)) {
return filterTown(ids);
} else {
// return filterTowns(ids);
return filterTown([ids]);
}
} else {
// if (isTown) {
// let ids = JSON.parse(value);
// if (Array.isArray(ids)) {
// return filterTown(ids);
// } else {
// // return filterTowns(ids);
// return filterTown([ids]);
// }
// } else {
const dict = store.getters.dictObject;
const result = dict[type].filter((item) => item.dictValue == value);
if (result.length > 0) {
@ -18,7 +18,7 @@ export function filterDict(type, value, isTown = false) {
} else {
return "未匹配到";
}
}
// }
}
// export function filterTowns(id) {

@ -25,13 +25,19 @@
</div>
</div>
<!-- 通报 -->
<div v-show="announceCurrentIndex === 1">
<div v-if="announceCurrentIndex === 1">
<div class="table_outside">
<div class="table_title">
<span class="title_one">部门名称</span>
<span class="title_two">通报次数</span>
</div>
<div class="table_ctn">
<div>
<vue-seamless-scroll
:data="notificationList"
:class-option="classOption"
class="monitorScroll"
>
<!-- <div class="table_ctn"> -->
<div
v-for="(item, index) in notificationList"
:key="index"
@ -46,6 +52,8 @@
</div>
<div class="item_num">{{ item.count }}</div>
</div>
<!-- </div> -->
</vue-seamless-scroll>
</div>
</div>
</div>
@ -134,9 +142,8 @@
</template>
<script>
//,
import { listBmtb } from "@/api/networkSecurity";
import { listBmtb, listSdtb, dataSdtb, dataBmtb } from "@/api/networkSecurity";
import vueSeamlessScroll from "vue-seamless-scroll";
import qs from "qs";
const docx = require("docx-preview");
import axios from "axios";
@ -148,6 +155,7 @@ import { departmentList, territorialTB, departmentTB } from "@/api/wlSafe";
export default {
components: {
pdf,
vueSeamlessScroll,
},
props: {
announceCurrentIndex: {
@ -155,6 +163,7 @@ export default {
default: 0,
},
},
data() {
return {
dialogTitle: "",
@ -177,6 +186,20 @@ export default {
},
};
},
computed: {
classOption() {
return {
step: 0.4, //
limitMoveNum: 3, // this.dataList.length
hoverStop: true, // stop
direction: 1, // 0 1 2 3
openWatch: true, // dom
singleHeight: 0, // (0) direction => 0/1
singleWidth: 0, // (0) direction => 2/3
waitTime: 1000, // (1000ms)
};
},
},
mounted() {
this.getBMData();
this.getSDData();
@ -254,11 +277,10 @@ export default {
echartsJump(myChartPieFirst, optionFirst);
},
clickFunc(val) {
// this.queryData.areaId = val.area || val.data.area;
// console.log(this.queryData);
this.queryData.area = val.area || val.data.area;
//
this.dangerList = [];
departmentList(this.queryData).then((res) => {
listSdtb(this.queryData).then((res) => {
res.rows.forEach((value) => {
//
//
@ -271,12 +293,6 @@ export default {
fileUrl: arr2[0],
});
}
// if (value.fileName && value.fileUrl) {
// this.dangerList.push({
// fileName: value.fileName,
// fileUrl: value.fileUrl,
// });
// }
});
this.dialogStatus = true;
});
@ -286,7 +302,7 @@ export default {
let str1 = str[0].split(".");
this.fileExtension = str1[1];
if (this.fileExtension == "pdf") {
this.getNumPages(process.env.VUE_APP_BASE_API2 + str[0]);
this.getNumPages(str[0]);
this.dialogStatus2 = true;
} else if (
this.fileExtension === "docx" ||
@ -295,7 +311,7 @@ export default {
axios({
method: "get",
responseType: "blob", //
url: process.env.VUE_APP_BASE_API2 + str[0],
url: str[0],
}).then(({ data }) => {
if (data) {
this.dialogStatus2 = true;
@ -356,32 +372,32 @@ export default {
},
//
getBMData() {
listBmtb({ isStatus: 1 }).then((res) => {
this.notificationList = res.rows;
dataBmtb().then((res) => {
this.notificationList = res.data;
});
},
//
// getSDData() {
// territorialTB().then((res) => {
// res.data.forEach((value, index) => {
// this.piedata.push({
// name: this.$filterDict("1", `[${value.areaId}]`, true),
// value: value.count,
// percent: value.pt,
// area: value.area,
// img: require(`@/assets/privateOrder/general/${
// index + 1 > 8 ? 1 : index + 1
// }.png`),
// });
// });
// this.inItPie();
// });
// },
getSDData() {
dataSdtb().then((res) => {
res.data.forEach((value, index) => {
this.piedata.push({
name: this.$filterDict("tc_sdtbmc", value.area),
value: value.count,
percent: value.percentage,
area: value.area,
img: require(`@/assets/privateOrder/general/${
index + 1 > 8 ? 1 : index + 1
}.png`),
});
});
this.inItPie();
});
},
// top4
clickTop4(val) {
this.dialogTitle = val.depName + "通报文件";
this.dangerList = [];
listBmtb({ depName: val.depName,isStatus: 1 }).then((res) => {
listBmtb({ depName: val.depName, isStatus: 1 }).then((res) => {
res.rows.forEach((value) => {
if (value.fileName) {
let arr1 = value.fileName.split(",");
@ -401,6 +417,12 @@ export default {
};
</script>
<style lang="scss" scoped>
.monitorScroll {
height: 280px;
width: 100%;
overflow: hidden;
margin-top: 15px;
}
::v-deep .el-dialog__header {
background: rgba(255, 255, 255, 0);
text-align: left;
@ -490,10 +512,10 @@ export default {
margin-right: 25px;
}
}
.table_ctn {
width: 100%;
height: 280px;
margin-top: 15px;
// .table_ctn {
// width: 100%;
// height: 280px;
.ctn_item {
display: flex;
align-items: center;
@ -531,7 +553,7 @@ export default {
margin-right: 60px;
text-align: right;
}
}
// }
}
}
.screen-dialog {

@ -655,7 +655,6 @@ export default {
this.queryParams = {
pageNum: 1,
isStatus: 1,
areaId: 1,
pageSize: 10,
};
this.excelData = [];
@ -719,6 +718,7 @@ export default {
this.getIdcUnit();
}
if (this.dialogType === "监管单位" || this.dialogType === "网站监测") {
this.queryParams.areaId = 1
this.dialogWidth = "2100px";
if (!this.queryParams.type) {
this.queryParams.type = type;
@ -731,6 +731,7 @@ export default {
}
if (this.dialogType == "系统监测") {
this.dialogWidth = "2100px";
this.queryParams.areaId = 1
if (!this.queryParams.type) {
this.queryParams.type = type;
}

@ -272,14 +272,12 @@ export default {
pageNum: 1,
pageSize: 10,
isStatus: 1,
areaId: 1
},
total2: 0,
queryParams2: {
pageNum: 1,
pageSize: 10,
isStatus: 1,
areaId: 1
},
loading: true,
//

@ -13,7 +13,7 @@
<script>
import { getyqZblNum } from "@/api/common";
import { sectorZB } from "@/api/wlSafe";
// import { listZbxq} from "@/api/netWorkYq";
import { dataZb } from "@/api/netWorkYq";
export default {
data() {
@ -23,18 +23,18 @@ export default {
};
},
mounted() {
this.getData()
this.getData();
},
methods: {
getData() {
// listZbxq().then((res) => {
// console.log(res);
// res.rows.forEach(value => {
// this.lineName.push(value.depName)
// this.lineValue.push(value.yqState)
// });
// this.lineBox();
// });
dataZb({ pageSize: 5, pageNum: 1 }).then((res) => {
console.log(res);
res.data.forEach((value) => {
this.lineName.push(value.depName);
this.lineValue.push(value.count);
});
this.lineBox();
});
},
lineBox() {
@ -231,26 +231,28 @@ export default {
{
type: "slider",
show: false,
xAxisIndex: [0],
endValue: 5,
xAxisIndex: 0,
endValue: 4,
startValue: 0,
},
],
};
myChart.setOption(options);
if (options && typeof options === "object") {
myChart.setOption(options, true);
//
setInterval(() => {
if (options.dataZoom[0].endValue === this.lineValue?.length) {
options.dataZoom[0].endValue = 5;
console.log(options);
if (options.dataZoom[0].endValue == this.lineValue?.length) {
options.dataZoom[0].endValue = 4;
options.dataZoom[0].startValue = 0;
} else {
options.dataZoom[0].endValue = options.dataZoom[0].endValue + 1;
options.dataZoom[0].startValue = options.dataZoom[0].startValue + 1;
}
myChart.setOption(options, true);
myChart.setOption(options);
}, 2000);
}
},
},
};

@ -77,7 +77,7 @@ export default {
// count: 888,
// });
// });
listCy().then((res) => {
listCy({ areaId: 1 }).then((res) => {
res.rows.forEach((value) => {
this.data.push({
name: value.cyName,

@ -99,6 +99,38 @@
<div class="left-box">事件类型</div>
<div class="right-box">上报要点</div>
</section>
<div class="bt-body">
<section class="bt-text">
<div class="left-box">涉政类</div>
<div class="right-box bt-right">
1.针对党政机关及工作人员网络投诉;2.质疑司法公正网络反映;3.政治类不规范表述网络反映;4.网络发表涉政反动标语和言论;5.国旗乱丢等现象网络反映
</div>
</section>
<section class="bt-text">
<div class="left-box">社会民生类</div>
<div class="right-box bt-right">
1.房地产领域乱象网络反映;2.房屋质量安全违建问题网络反映;3.农村宅基地土地纠纷网络反映;4.征地拆迁纠纷网络反映;5.物业纠纷网络反映;6.劳资纠纷网络反映;7.消费纠纷网络反映;8.医保纠纷网络反映;9.扰民问题网络反映;10.生态环境破坏网络反映;11.天然气使用纠纷网络反映;12.食品安全问题网络反映;
</div>
</section>
<section class="bt-text">
<div class="left-box">科教文卫类</div>
<div class="right-box bt-right">
1.学区问题网络反映;2.积分入学网络反映;3.教师队伍师德师风问题网络反映;4.校外培训机构纠纷网络反映;5.未成年人网络过激言论如厌世厌学;6.医患纠纷网络反映;7.旅游纠纷网络反映;8.网吧KTV等娱乐场所违规行为网络反映;9.属地高校相关网络负面言论;10.属地自媒体直播平台违规行为网络举报
</div>
</section>
<section class="bt-text">
<div class="left-box">交通管理类</div>
<div class="right-box bt-right">
1.交通事故交通拥堵网络反映;2.停车纠纷网络反映;3.出租车公交问题网络反映;4.道路破损路面塌陷等安全隐患网络反映
</div>
</section>
<section class="bt-text">
<div class="left-box">公共安全类</div>
<div class="right-box bt-right">
1.火灾房屋倒塌树木或基础设施倾倒导致财产损失和人员伤亡的情况网络反映;2.聚众斗殴人身伤害情况网络反映;3.溺亡坠楼等人员伤亡情况网络反映;4.企业安全生产突发事故网络反映;5.重大突发性事件如违法集群闹事违法游行示威非法集会集体上访等网络反映
</div>
</section>
</div>
</div>
</div>
<div v-if="openWorkPopup" class="workStyle">
@ -305,10 +337,10 @@ export default {
</script>
<style lang="scss" scoped>
.left-box{
.left-box {
width: 20%;
}
.right-box{
.right-box {
width: 80%;
}
.contents {
@ -329,6 +361,23 @@ export default {
text-align: center;
line-height: 60px;
}
.bt-body {
overflow: auto;
height: calc(100% - 60px);
width: 100%;
.bt-text {
display: flex;
color: white;
text-align: center;
font-family: SourceHanSansCN-Regular;
font-size: 30px;
margin: 10px 0 30px 0px;
line-height: 1.5em;
.bt-right {
text-align: left;
}
}
}
}
.workStyle {
width: 1600px;

@ -116,15 +116,11 @@
class="monitor-list"
>
<!-- @click="rowClick(item.attUrl,'details')" -->
<span :title="item.yqTitle">{{
item.yqTitle
}}</span>
<span :title="item.yqTitle">{{ item.yqTitle }}</span>
<span :title="item.depName">{{ item.depName }}</span>
<span
:title="item.yqState"
:style="activation(item.yqState)"
>{{ item.yqState }}</span
>
<span :title="item.yqState" :style="activation(item.yqState)">{{
item.yqState
}}</span>
</div>
</vue-seamless-scroll>
</div>
@ -313,7 +309,7 @@ import {
//================
import { yuqingListA } from "@/api/consensusList";
import { yqbg } from "@/api/publicOpinion";
import { listYqyj ,listYqbg,listZbxq} from "@/api/netWorkYq";
import { listYqyj, listYqbg, listZbxq, numYqbg } from "@/api/netWorkYq";
export default {
components: {
@ -334,8 +330,8 @@ export default {
currentWarningObjShow: false,
currentWarningIndex: 0,
turnTime: null,
tsdNum: 461,
zbdNum: 475,
tsdNum: 0,
zbdNum: 0,
Transfer: [
{
type: 1,
@ -411,16 +407,16 @@ export default {
// } else if (status === 3) {
// return { color: "#35ca29" };
// }
if (status === '待处理') {
return { color: '#ff8839' }
} else if (status === '处理中') {
return { color: '#ff8839' }
} else if (status === '已处置') {
return { color: '#ffed1f' }
} else if (status === '待核查') {
return { color: '#53edff' }
} else if (status === '已归档') {
return { color: '#35ca29' }
if (status === "待处理") {
return { color: "#ff8839" };
} else if (status === "处理中") {
return { color: "#ff8839" };
} else if (status === "已处置") {
return { color: "#ffed1f" };
} else if (status === "待核查") {
return { color: "#53edff" };
} else if (status === "已归档") {
return { color: "#35ca29" };
}
// const myMap = new Map([
// ["", { color: "#ffed1f" }],
@ -450,20 +446,16 @@ export default {
},
methods: {
getDataList() {
// yqbg().then((res) => {
// this.tsdNum = res.data.reminder;
// this.zbdNum = res.data.isturn;
// res.data.reportList.forEach((value, index) => {
// this.Transfer.forEach((value1, index1) => {
// if (value.sentimentReportType == value1.type) {
// this.Transfer[index1].bg = value.count;
// return;
// }
// });
// });
// console.log(this.Transfer);
// });
listZbxq({isStatus:1}).then((res) => {
//
numYqbg().then((res) => {
this.tsdNum = res.data.count;
this.zbdNum = res.data.count1;
this.Transfer[0].bg = res.data.count2;
this.Transfer[1].bg = res.data.count3;
this.Transfer[2].bg = res.data.count4;
});
listZbxq({ isStatus: 1, pageSize: 100, pageNum: 1 }).then((res) => {
this.turnDetailsList = res.rows;
});
},
@ -513,8 +505,7 @@ export default {
},
reportDetails(val) {
this.tableHeader = [{ label: "标题名称", prop: "attName" }];
// console.log(this.$filterDict(bg_type,val));
this.dialogTitle = val;
this.dialogTitle = this.$filterDict("bg_type", val);
this.newbgForm = {
...this.bgForm,
type: val,

Loading…
Cancel
Save