群里字样改为频发

xuhongjie
许宏杰 4 months ago
parent c9ad23c7cd
commit 688e35305e

@ -6,8 +6,8 @@ ENV = 'development'
# 若依管理系统/开发环境
# VUE_APP_BASE_API = '/dev-api'
VUE_APP_BASE_API = 'http://192.168.0.128:9102/api'
# VUE_APP_BASE_API = 'http://39.101.188.84:9102/api'
# VUE_APP_BASE_API = 'http://192.168.0.128:9102/api'
VUE_APP_BASE_API = 'http://39.101.188.84:9102/api'
#是否正式环境 正式true 测试false
VUE_APP_ISTEST= false

@ -6,35 +6,36 @@
overflow-y: scroll;
padding: 20px 0 45px 0;
//
.onSubmit,.reset {
.onSubmit,
.reset {
width: 64px;
height: 30px;
border-radius: 2px;
padding: 7px 10px;
}
.reset {
border: 1px solid #DEE2EE;
border: 1px solid #dee2ee;
}
.el-form-item__content {
//
.el-input__inner {
width: 230px;
height: 30px;
background: #FFFFFF;
background: #ffffff;
border-radius: 5px;
opacity: 1;
border: 1px solid #DEE2EE;
border: 1px solid #dee2ee;
&::placeholder {
font-size: 14px;
font-family: Source Han Sans CN;
font-weight: 400;
line-height: 18px;
color: #A1ABBA;
color: #a1abba;
}
font-size: 14px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #292F38;
color: #292f38;
}
}
.table-box {
@ -42,25 +43,25 @@
margin-top: 10px;
.table-item {
.zhipaiColor {
background-color: #FF7F35;
background-color: #ff7f35;
}
.yizhuofei {
background-color: #7A808A;
background-color: #7a808a;
}
.shouliColor {
background-color: #1E80EB;
background-color: #1e80eb;
}
.wancengColor {
background-color: #F76359;
background-color: #f76359;
}
.tuihuiColor {
background-color: #FF7F35;
background-color: #ff7f35;
}
.yanqiColor {
background-color: #1E80EB;
background-color: #1e80eb;
}
.yichuliColor {
background-color: #31D9AE;
background-color: #31d9ae;
}
.colors {
width: 8px;
@ -71,7 +72,7 @@
font-size: 12px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #292F38;
color: #292f38;
line-height: 40px;
height: 40px;
}
@ -121,7 +122,7 @@
.sqbtn1 {
background: #ebf5ff;
border: 1px solid #a1cbf8;
color: #0E7CF4;
color: #0e7cf4;
}
.state-sub {
display: flex;
@ -140,7 +141,7 @@
.headerText {
width: 100%;
padding: 10px 0px 8px 20px;
border-bottom: 1px solid #DEE2EE;
border-bottom: 1px solid #dee2ee;
font-family: "Source Han Sans CN-Bold";
font-weight: bold;
color: #323233;
@ -164,7 +165,7 @@
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
font-weight: 400;
font-size: 14px;
color: #CCCCCC;
color: #cccccc;
}
&::before {
@ -180,7 +181,7 @@
}
.arithmetic-query {
padding: 20px;
border-bottom: 1px solid #DEE2EE;
border-bottom: 1px solid #dee2ee;
.el-form-item {
margin-bottom: 0;
margin-right: 60px;
@ -188,7 +189,7 @@
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
font-weight: 400;
font-size: 14px;
color: #3D3D3D;
color: #3d3d3d;
}
.el-form-item__content {
.el-input {
@ -212,23 +213,24 @@
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
font-weight: 700;
font-size: 18px;
color: #3D3D3D;
color: #3d3d3d;
}
.tabs-header {
margin-top: 10px;
.tabs-title {
width: 100%;
border-bottom: 1px solid #DEE2EE;
border-bottom: 1px solid #dee2ee;
display: flex;
margin-bottom: 20px;
.await-audit,.already-affirm {
.await-audit,
.already-affirm {
cursor: pointer;
padding: 8px 30px;
border-top: 1px solid #DEE2EE;
border-right: 1px solid #DEE2EE;
border-top: 1px solid #dee2ee;
border-right: 1px solid #dee2ee;
}
.await-audit {
border-left: 1px solid #DEE2EE;
border-left: 1px solid #dee2ee;
}
.active-tab {
background-color: #3f3f3f;
@ -241,7 +243,7 @@
.tabs-line {
width: 100%;
height: 1px;
background: #DEE2EE;
background: #dee2ee;
margin: 20px 0;
}
}
@ -256,20 +258,20 @@
margin-bottom: 15px;
& > div:nth-of-type(1) {
color: #8E9298;
color: #8e9298;
width: 25%;
text-align: right;
}
& > div:nth-of-type(2) {
color: #292F38;
color: #292f38;
width: 70%;
}
}
.travel {
background: #FFFFFF;
background: #ffffff;
.el-dialog__header {
background: #F8F9FA;
background: #f8f9fa;
padding: 10px;
.dialog-title {
display: flex;
@ -283,7 +285,7 @@
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
font-weight: 500;
font-size: 18px;
color: #3D3D3D;
color: #3d3d3d;
position: relative;
margin-left: 5px;
}
@ -294,7 +296,7 @@
height: 16px;
left: -5px;
top: 5px;
background-color: #2F8AE5;
background-color: #2f8ae5;
}
i {
cursor: pointer;
@ -319,7 +321,7 @@
border-radius: 2px;
height: 32px;
width: 240px;
border: 1px solid #E5E5E5;
border: 1px solid #e5e5e5;
padding: 0 15px;
line-height: 32px;
}
@ -350,7 +352,7 @@
font-family: "AlibabaPuHuiTi";
font-weight: 400;
font-size: 14px;
color: #2F8AE5;
color: #2f8ae5;
img {
width: 14px;
height: 14px;
@ -375,7 +377,7 @@
border-radius: 2px;
height: 32px;
width: 240px;
border: 1px solid #E5E5E5;
border: 1px solid #e5e5e5;
padding: 0 15px;
line-height: 32px;
white-space: nowrap; /* 不换行 */
@ -394,7 +396,7 @@
font-family: "AlibabaPuHuiTi";
font-weight: 400;
font-size: 14px;
color: #2F8AE5;
color: #2f8ae5;
img {
width: 14px;
height: 14px;
@ -484,7 +486,7 @@
font-family: "AlibabaPuHuiTi";
font-weight: 400;
font-size: 14px;
color: #2F8AE5;
color: #2f8ae5;
img {
width: 14px;
height: 14px;
@ -522,10 +524,10 @@
text-overflow: ellipsis; /* 省略号 */
}
.sign {
color: #D9001B;
color: #d9001b;
}
.unmark {
color: #32B16C;
color: #32b16c;
}
.operation-box {
.cell {
@ -604,7 +606,7 @@
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
font-weight: 700;
font-size: 16px;
color: #3D3D3D;
color: #3d3d3d;
}
.warning-list-content {
padding: 10px;
@ -620,7 +622,7 @@
}
.el-button {
border-radius: 0 5px 5px 0;
background-color:#2F8AE5;
background-color: #2f8ae5;
color: #fff;
}
}
@ -634,7 +636,7 @@
.lists {
border-radius: 10px;
padding: 20px 10px;
background-color: #FAFAFA;
background-color: #fafafa;
.hearder {
display: flex;
.warning-title {
@ -658,25 +660,25 @@
// align-content: space-between;
// flex-wrap: wrap;
}
// 12345
// 12345
.qunti {
color: #F43147;
color: #f43147;
background: rgba(244, 49, 71, 0.1);
}
.tongren {
color: #2BC4C4;
color: #2bc4c4;
background: rgba(43, 196, 196, 0.1);
}
.jinji {
background: rgba(245, 154, 35, 0.1);
color: #F59A23;
color: #f59a23;
}
.zhongdian {
background: rgba(162, 75, 243, 0.1);
color: #a24bf3;
}
.yiren {
color: #F954A5;
color: #f954a5;
background: rgba(249, 84, 165, 0.1);
}
}
@ -684,7 +686,8 @@
display: flex;
flex-direction: column;
margin: 10px 0;
.content-top,.content-bottom {
.content-top,
.content-bottom {
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
font-weight: 400;
font-size: 12px;
@ -722,7 +725,8 @@
border-radius: 5px;
padding: 8px 0;
position: relative;
.audit,.info {
.audit,
.info {
flex: 1;
display: flex;
align-items: center;
@ -736,7 +740,7 @@
color: #808080;
}
.info {
color: #2F8AE5;
color: #2f8ae5;
}
span {
@ -744,7 +748,7 @@
left: 50%;
width: 1px;
height: 40%;
background-color: #F2F2F2;
background-color: #f2f2f2;
}
}
}
@ -771,7 +775,7 @@
border-radius: 5px;
// border: 1px solid #DEE2EE;
box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1);
background: #FFFFFF;
background: #ffffff;
z-index: 1000;
.warning-events-event {
display: flex;

@ -24,7 +24,7 @@ export function getFilterRouter() {
component: () =>
import("@/views/warningManage/warningAudit/groupEvent"),
name: "GroupEvent",
meta: { title: "驾驶舱群体事件", icon: "", affix: true },
meta: { title: "驾驶舱频发事件", icon: "", affix: true },
},
{
path: "/instancyEvent",

@ -17,27 +17,54 @@
<div class="grid-content" v-if="auditStatus == 1">
<div class="grid-title">概括名称</div>
<div class="grid-value-btn">
<el-tooltip class="item" effect="light" :content="audioInfo.title" placement="top">
<el-tooltip
class="item"
effect="light"
:content="audioInfo.title"
placement="top"
>
<!-- @blur="titleBlur" -->
<el-input class="grid-value-value" v-loading="InputLoading" v-model="audioInfo.title" placeholder="概括名称" :disabled="disabled"></el-input>
<el-input
class="grid-value-value"
v-loading="InputLoading"
v-model="audioInfo.title"
placeholder="概括名称"
:disabled="disabled"
></el-input>
</el-tooltip>
<el-button size="mini" @click="changeTitle"><img src="@/assets/images/changeTitle.png" alt=""> 修改标题</el-button>
<el-button size="mini" @click="changeTitle"
><img src="@/assets/images/changeTitle.png" alt="" />
修改标题</el-button
>
</div>
</div>
<div class="lookTitle" v-else>
<div class="grid-content">
<div class="grid-title">概括名称</div>
<el-tooltip class="item" effect="light" :content="audioInfo.title" placement="top">
<el-tooltip
class="item"
effect="light"
:content="audioInfo.title"
placement="top"
>
<div class="grid-value">{{ audioInfo.title }}</div>
</el-tooltip>
</div>
<el-button size="mini" v-if="audioInfo.titleBefore" @click="lookTitleBefore"><img src="@/assets/images/changeTitle.png" alt=""> </el-button>
<el-button
size="mini"
v-if="audioInfo.titleBefore"
@click="lookTitleBefore"
><img src="@/assets/images/changeTitle.png" alt="" />
查看原标题</el-button
>
</div>
</el-col>
<el-col :span="8">
<div class="grid-content">
<div class="grid-title">预警时间</div>
<div class="grid-value">{{ audioInfo.firstWarnTimeDate || audioInfo.caseDate }}</div>
<div class="grid-value">
{{ audioInfo.firstWarnTimeDate || audioInfo.caseDate }}
</div>
</div>
</el-col>
<el-col :span="8">
@ -51,7 +78,12 @@
<el-col :span="8">
<div class="grid-content">
<div class="grid-title">预警因素</div>
<el-tooltip class="item" effect="light" :content="audioInfo.warnFactor" placement="top">
<el-tooltip
class="item"
effect="light"
:content="audioInfo.warnFactor"
placement="top"
>
<div class="grid-value">{{ audioInfo.warnFactor }}</div>
</el-tooltip>
</div>
@ -59,7 +91,21 @@
<el-col :span="8">
<div class="grid-content">
<div class="grid-title">预警类别</div>
<div class="grid-value warning-type">{{ audioInfo.msgType == '1' ? "群体事件" : audioInfo.msgType == '2' ? "同人同诉" : audioInfo.msgType == '3' ? "紧急事件" : audioInfo.msgType == '4' ? "重点人员" : audioInfo.msgType == '5' ? "一人多诉" : "" }}</div>
<div class="grid-value warning-type">
{{
audioInfo.msgType == "1"
? "频发事件"
: audioInfo.msgType == "2"
? "同人同诉"
: audioInfo.msgType == "3"
? "紧急事件"
: audioInfo.msgType == "4"
? "重点人员"
: audioInfo.msgType == "5"
? "一人多诉"
: ""
}}
</div>
</div>
</el-col>
</el-row>
@ -67,7 +113,12 @@
<div class="audit-table">
<section class="table-box">
<div class="table-item">
<el-table v-loading="loading" :data="tableData" :cell-class-name="addStyle" border>
<el-table
v-loading="loading"
:data="tableData"
:cell-class-name="addStyle"
border
>
<el-table-column
type="index"
label="序号"
@ -76,13 +127,20 @@
/>
<el-table-column label="工单编号" align="center" prop="caseSerial">
</el-table-column>
<el-table-column label="案件描述" width="180" align="center" prop="caseContent">
<el-table-column
label="案件描述"
width="180"
align="center"
prop="caseContent"
>
<template slot-scope="scope">
<el-tooltip class="item" effect="light" placement="top">
<template slot="content">
<p style="width: 400px;">{{ scope.row.caseContent }}</p>
<p style="width: 400px">{{ scope.row.caseContent }}</p>
</template>
<div class="anjianmiaoshuTwo"> {{ scope.row.caseContent }}</div>
<div class="anjianmiaoshuTwo">
{{ scope.row.caseContent }}
</div>
</el-tooltip>
</template>
</el-table-column>
@ -90,22 +148,51 @@
</el-table-column>
<el-table-column label="上报时间" align="center" prop="caseDate">
</el-table-column>
<el-table-column label="审核时间" v-if="auditStatus == 2" align="center" prop="auditTime">
<el-table-column
label="审核时间"
v-if="auditStatus == 2"
align="center"
prop="auditTime"
>
</el-table-column>
<el-table-column label="审核结果" v-if="auditStatus == 2" align="center" prop="isReport">
<el-table-column
label="审核结果"
v-if="auditStatus == 2"
align="center"
prop="isReport"
>
<template slot-scope="scope">
<span class="sign" v-if="scope.row.isReport == 1 || scope.row.isReport == 2"></span>
<span
class="sign"
v-if="scope.row.isReport == 1 || scope.row.isReport == 2"
>不符合</span
>
<span class="unmark" v-else></span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="operation-box" >
<el-table-column
label="操作"
align="center"
class-name="operation-box"
>
<template slot-scope="scope">
<div class="operation">
<el-radio-group v-model="scope.row.radio" @change.native="changRadio(scope.row)" v-if="auditStatus == 1">
<el-radio-group
v-model="scope.row.radio"
@change.native="changRadio(scope.row)"
v-if="auditStatus == 1"
>
<el-radio v-removeAriaHiddent :label="1">符合</el-radio>
<el-radio v-removeAriaHiddent :label="2" value="13212">不符合</el-radio>
<el-radio v-removeAriaHiddent :label="2" value="13212"
>不符合</el-radio
>
</el-radio-group>
<el-button @click="toDetail(scope.row)" type="text" style="margin-left: 20px;" class="sqbtn sqbtn1">
<el-button
@click="toDetail(scope.row)"
type="text"
style="margin-left: 20px"
class="sqbtn sqbtn1"
>
查看详情
</el-button>
</div>
@ -134,21 +221,30 @@
width="30%"
title="查看标题"
:visible.sync="innerVisible"
append-to-body>
append-to-body
>
<el-descriptions :column="1">
<el-descriptions-item label="当前标题">{{ audioInfo.title }}</el-descriptions-item>
<el-descriptions-item label="历史标题">{{ audioInfo.titleBefore }}</el-descriptions-item>
<el-descriptions-item label="当前标题">{{
audioInfo.title
}}</el-descriptions-item>
<el-descriptions-item label="历史标题">{{
audioInfo.titleBefore
}}</el-descriptions-item>
</el-descriptions>
</el-dialog>
<urgency-audit title="工单详情" ref="urgencyAudit" :auditStatus="auditStatusTwo"></urgency-audit>
<urgency-audit
title="工单详情"
ref="urgencyAudit"
:auditStatus="auditStatusTwo"
></urgency-audit>
</el-dialog>
</template>
<script>
import { auditList, eventChangeIsReport, editTitle } from "@/api/eventPage"
import urgencyAudit from '@/views/components/urgencyAudit.vue'
import { auditList, eventChangeIsReport, editTitle } from "@/api/eventPage";
import urgencyAudit from "@/views/components/urgencyAudit.vue";
export default {
components: {
urgencyAudit
urgencyAudit,
},
data() {
return {
@ -161,23 +257,23 @@ export default {
total: 0,
pages: {
current: 1,
size: 10
size: 10,
},
disabled: true,
multipleSelection: [],
innerVisible: false,
auditStatusTwo: 1,
}
};
},
props: {
title: {
type: String,
default:""
default: "",
},
auditStatus: {
type: Number,
required: true
}
required: true,
},
},
methods: {
//
@ -195,33 +291,35 @@ export default {
this.multipleSelection = [];
this.pages = {
current: 1,
size: 10
}
size: 10,
};
},
getList(id) {
this.loading = true;
auditList(id,{...this.pages}).then(res=>{
auditList(id, { ...this.pages })
.then((res) => {
const deepCopy = JSON.parse(JSON.stringify(res.data.records));
this.tableData = deepCopy;
if (this.multipleSelection.length > 0) {
this.tableData.forEach(item=>{
this.$set(item, 'radio', 1);
this.multipleSelection.forEach(itemTwo=>{
this.tableData.forEach((item) => {
this.$set(item, "radio", 1);
this.multipleSelection.forEach((itemTwo) => {
if (itemTwo == item.caseSerial) {
this.$set(item, 'radio', 2);
this.$set(item, "radio", 2);
}
})
})
});
});
} else {
this.tableData.map(item=>{
this.$set(item, 'radio', 1);
})
this.tableData.map((item) => {
this.$set(item, "radio", 1);
});
}
this.total = res.data.total;
this.loading = false;
}).catch(err=>{
this.loading = false;
})
.catch((err) => {
this.loading = false;
});
},
//
toDetail(item) {
@ -233,40 +331,64 @@ export default {
if (row.radio == 2) {
this.multipleSelection.push(row.caseSerial);
} else if (row.radio == 1) {
this.multipleSelection = this.multipleSelection.filter((item)=> item !== row.caseSerial)
this.multipleSelection = this.multipleSelection.filter(
(item) => item !== row.caseSerial
);
}
},
// /退
reported(id) {
this.$confirm(`确定要${id == 1 ? '重新上报驾驶舱' : id == 2 ? '退回重训练' : id == 3 ? '审核通过':''}吗?`, "警告", {
this.$confirm(
`确定要${
id == 1
? "重新上报驾驶舱"
: id == 2
? "退回重训练"
: id == 3
? "审核通过"
: ""
}?`,
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
}
).then(() => {
if (id !== 3) {
// if(this.multipleSelection.length > 0 || this.backupsInfo.title !== this.audioInfo.title) {
if (this.backupsInfo.title !== this.audioInfo.title) {
eventChangeIsReport({isReport:id,caseSerial:this.multipleSelection,innerEventId:this.audioInfo.innerEventId,newTitle:this.audioInfo.title,oldTitle:this.backupsInfo.title}).then(res=>{
eventChangeIsReport({
isReport: id,
caseSerial: this.multipleSelection,
innerEventId: this.audioInfo.innerEventId,
newTitle: this.audioInfo.title,
oldTitle: this.backupsInfo.title,
}).then((res) => {
// console.log(res);
this.multipleSelection = [];
this.$message({
type: "success",
message: id == 1 ? '已上报驾驶舱' : '已退回重训练' + "!",
message: id == 1 ? "已上报驾驶舱" : "已退回重训练" + "!",
});
this.$emit('closeDialog')
this.$emit("closeDialog");
this.close();
})
});
} else {
eventChangeIsReport({isReport:id,caseSerial:this.multipleSelection,innerEventId:this.audioInfo.innerEventId}).then(res=>{
eventChangeIsReport({
isReport: id,
caseSerial: this.multipleSelection,
innerEventId: this.audioInfo.innerEventId,
}).then((res) => {
// console.log(res);
this.multipleSelection = [];
this.$message({
type: "success",
message: id == 1 ? '已上报驾驶舱' : '已退回重训练' + "!",
message: id == 1 ? "已上报驾驶舱" : "已退回重训练" + "!",
});
this.$emit('closeDialog')
this.$emit("closeDialog");
this.close();
})
});
}
// } else {
// this.$message.error(`${id == 1 ? '' : id == 2 ? '退' : ''}`);
@ -275,20 +397,25 @@ export default {
if (this.backupsInfo.title !== this.audioInfo.title) {
this.$message.error(`您已修改标题,请上报驾驶舱或退回重训练`);
} else if (this.multipleSelection.length > 0) {
this.$message.error(`您已标记工单为不符合,请上报驾驶舱或退回重训练`);
this.$message.error(
`您已标记工单为不符合,请上报驾驶舱或退回重训练`
);
} else {
eventChangeIsReport({isReport:id,innerEventId:this.audioInfo.innerEventId}).then(res=>{
eventChangeIsReport({
isReport: id,
innerEventId: this.audioInfo.innerEventId,
}).then((res) => {
// console.log(res);
this.$message({
type: "success",
message: "审核完成",
});
this.$emit('closeDialog')
this.$emit("closeDialog");
this.close();
})
});
}
}
})
});
},
//
lookTitleBefore() {
@ -325,9 +452,9 @@ export default {
//
addStyle({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 2) {
return "columnFactor"
return "columnFactor";
}
},
},
}
};
</script>

@ -39,7 +39,7 @@
<div v-if="eventList.length > 0">
<div class="lists" v-for="(item, index) in eventList">
<div class="hearder">
<!--群体事件1同人同诉2紧急事件3重点人员4一人多诉5 -->
<!--频发事件1同人同诉2紧急事件3重点人员4一人多诉5 -->
<div
class="anniu"
:class="
@ -155,7 +155,7 @@ export default {
event: [
{
img: require("../../assets/images/icon-qtsj-1@2x.png"),
text: "群体事件",
text: "频发事件",
color: "#d9001b",
},
{
@ -382,7 +382,7 @@ export default {
});
let arr = [...res.data];
arr.map((item, index) => {
// 12345
// 12345
if (item.msgType == "1") {
let lat = item.caseLnglat.split(",")[1];
let lon = item.caseLnglat.split(",")[0];
@ -448,7 +448,7 @@ export default {
</div>
<div class="infoValue">${
item.msgType == "1"
? "群体事件"
? "频发事件"
: item.msgType == "2"
? "同人同诉"
: item.msgType == "3"

@ -1,8 +1,8 @@
<!-- 驾驶舱群体事件 -->
<!-- 驾驶舱频发事件 -->
<template>
<div class="L-ultimately-container">
<header>
驾驶舱群体事件
驾驶舱频发事件
<span class="title-span"
>解释同地点同一件事发生多起规则3天内同地点同一件事发生超过10次的如果超过30天则创建新事件如果当天再发生不再推送新事件第二天再发生再推送新事件</span
>

Loading…
Cancel
Save