This commit is contained in:
曹前明 2022-07-07 12:19:13 +08:00
commit 21854cd744
13 changed files with 328 additions and 338 deletions

View File

@ -84,6 +84,7 @@ export default {
}, },
} }
, ,
myevent:{ myevent:{
list: { list: {
name: "获取", name: "获取",

View File

@ -84,6 +84,28 @@ const routes = [
"icon": "el-icon-menu", "icon": "el-icon-menu",
}, },
"component": "ecm/event" "component": "ecm/event"
}
,
{
"name": "eventfrom",
"path": "/ecm/event_from",
"meta": {
"title": "作业详情",
"icon": "el-icon-menu",
"hidden": true
},
"component": "ecm/event_from"
}
,
{
"name": "eventhandlefrom",
"path": "/ecm/event_handlefrom",
"meta": {
"title": "处理作业",
"icon": "el-icon-menu",
"hidden": true
},
"component": "ecm/event_handlefrom"
}, },
{ {
"name": "myevent", "name": "myevent",

View File

@ -18,7 +18,8 @@
<el-drawer <el-drawer
title="新消息" title="新消息"
v-model="msg" v-model="msg"
:size="400" style="width:400px !important"
append-to-body append-to-body
destroy-on-close destroy-on-close
> >
@ -26,30 +27,39 @@
<el-main class="nopadding"> <el-main class="nopadding">
<el-scrollbar> <el-scrollbar>
<ul class="msg-list"> <ul class="msg-list">
<li v-for="item in msgList" v-bind:key="item.id"> <li v-for="item in msgList" v-bind:key="item.id">
<a target="_blank"> <div style="width: 100%; padding: 10px">
<div class="msg-list__main"> <div style="width: 35%; float: left">
<el-span <el-span
style="color:red:float:left"
v-for="items in item.event_.cates_" v-for="items in item.event_.cates_"
:key="items.id" :key="items.id"
:label="items.name" :label="items.name"
:value="items.id" :value="items.id"
>事件种类{{ items.name }}</el-span> >{{ items.name }}</el-span
>
</div> </div>
<div style="width:100px"> <div style="width: 32%; float: left">
<p v-if="item.can_handle">可处理</p> <p>{{ item.event_.create_time }}</p>
<p v-else-if="item.can_handle=='false'">不可处理</p>
</div> </div>
<div style="width: 30%; float: right">
<div class="msg-list__time"> <el-button
<p>警报信息{{ item.event_.voice_msg }}</p> style="float: right"
v-if="item.event_.handle_user == ''"
@click="createhandele(item.event_.id)"
>待处理</el-button
>
<el-button
style="float: right"
v-else
@click="handele(item.event_.id)"
>已处理</el-button
>
</div> </div>
</a> </div>
<div style="width: 100%; padding: 10px">
<p>警报信息{{ item.event_.voice_msg }}</p>
</div>
</li> </li>
<el-empty <el-empty
v-if="msgList.length == 0" v-if="msgList.length == 0"
@ -116,15 +126,34 @@ export default {
var userInfo = this.$TOOL.data.get("USER_INFO"); var userInfo = this.$TOOL.data.get("USER_INFO");
this.userName = userInfo.username; this.userName = userInfo.username;
this.userNameF = this.userName.substring(0, 1); this.userNameF = this.userName.substring(0, 1);
this.getMyVents();
}, },
methods: { methods: {
getMyVents() { getMyVents() {
this.$API.ecm.myevent.list.req({ page: 0 }).then((res) => { this.$API.ecm.myevent.list
this.msgList = res; .req({ is_read: false, page: 0 })
console.log(this.msgList.event_); .then((res) => {
}); this.msgList = res;
});
}, },
createhandele(id) {
this.$router.push({
name: "eventhandlefrom",
query: {
id: id,
},
});
this.msg=false;
},
handele(id) {
this.$router.push({
name: "eventhandlefrom",
query: {
id: id,
},
});
this.msg=false;
},
// //
handleUser(command) { handleUser(command) {
if (command == "uc") { if (command == "uc") {
@ -176,6 +205,7 @@ export default {
// //
showMsg() { showMsg() {
this.msg = true; this.msg = true;
this.getMyVents();
}, },
// //
markRead() { markRead() {

View File

@ -4,7 +4,7 @@
.el-form-item__label {display: block;text-align: left;padding: 0 0 10px;} .el-form-item__label {display: block;text-align: left;padding: 0 0 10px;}
.el-dialog {width: 90%!important;} .el-dialog {width: 90%!important;}
.el-dialog.is-fullscreen {width: 100%!important;} .el-dialog.is-fullscreen {width: 100%!important;}
.el-drawer.rtl {width: 90%!important;} //.el-drawer.rtl {width: 90%!important;}
.el-form-item__content {margin-left: 0px!important;} .el-form-item__content {margin-left: 0px!important;}
.adminui-main { .adminui-main {

View File

@ -13,6 +13,14 @@
label-width="120px" label-width="120px"
> >
<el-row> <el-row>
<el-col :md="12" :sm="24">
<el-form-item label="准入类型" prop="type">
<el-radio-group v-model="form.type">
<el-radio :label="10">准入</el-radio>
<el-radio :label="20">禁入</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24"> <el-col :md="12" :sm="24">
<el-form-item label="关联区域" prop="area"> <el-form-item label="关联区域" prop="area">
<el-select v-model="form.area" style="width: 100%"> <el-select v-model="form.area" style="width: 100%">
@ -84,6 +92,7 @@
v-model="form.stay_minute_min" v-model="form.stay_minute_min"
:min="0" :min="0"
:max="32767" :max="32767"
placeholder="分钟"
controls-position="right" controls-position="right"
></el-input-number> ></el-input-number>
</el-form-item> </el-form-item>
@ -94,18 +103,12 @@
v-model="form.stay_minute_max" v-model="form.stay_minute_max"
:min="0" :min="0"
:max="32767" :max="32767"
placeholder="分钟"
controls-position="right" controls-position="right"
></el-input-number> ></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24">
<el-form-item label="准入类型" prop="type">
<el-radio-group v-model="form.type">
<el-radio :label="10">准入</el-radio>
<el-radio :label="20">禁入</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
<template #footer> <template #footer>
@ -131,8 +134,8 @@ export default {
loading: false, loading: false,
mode: "add", mode: "add",
titleMap: { titleMap: {
add: "新增区域", add: "新增",
edit: "区域编辑", edit: "编辑",
}, },
cateOptions: [ cateOptions: [
{ id: "post", name: "岗位" }, { id: "post", name: "岗位" },
@ -219,6 +222,9 @@ export default {
open(mode) { open(mode) {
this.mode = mode; this.mode = mode;
this.visible = true; this.visible = true;
if (mode == "add") {
this.form.area = this.$parent.area;
}
return this; return this;
}, },
closeDrawer() { closeDrawer() {

View File

@ -32,16 +32,12 @@
ref="table" ref="table"
:apiObj="apiObj" :apiObj="apiObj"
row-key="id" row-key="id"
@selection-change="selectionChange"
stripe stripe
@resetQuery="resetQuery" @resetQuery="resetQuery"
@row-click="rowClick" @row-click="rowClick"
> >
<el-table-column
fixed="left"
type="selection"
width="50"
></el-table-column>
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
@ -187,11 +183,11 @@
ref="accesstable" ref="accesstable"
:data="apiaccessObj" :data="apiaccessObj"
row-key="id" row-key="id"
@selection-change="selectionChange"
stripe stripe
@resetQuery="resetQuery" @resetQuery="resetQuery"
> >
<el-table-column type="selection" width="50"></el-table-column>
<el-table-column <el-table-column
label="序号" label="序号"
type="index" type="index"
@ -216,12 +212,12 @@
cate_[scope.row.obj_cate] cate_[scope.row.obj_cate]
}}</template></el-table-column> }}</template></el-table-column>
<el-table-column <el-table-column
label="最短停留时间" label="最短停留时间(分)"
prop="stay_minute_min" prop="stay_minute_min"
min-width="180" min-width="180"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="最长停留时间" label="最长停留时间(分)"
prop="stay_minute_max" prop="stay_minute_max"
width="160" width="160"
></el-table-column> ></el-table-column>
@ -376,7 +372,7 @@ export default {
this.$API.am.access.list.req({ area:row.id, page: 0 }).then((res) => { this.$API.am.access.list.req({ area:row.id, page: 0 }).then((res) => {
this.apiaccessObj = res; this.apiaccessObj = res;
}); });
this.area = row.id;
}, },
// //
handleRail(row) { handleRail(row) {

View File

@ -194,7 +194,5 @@
</script> </script>
<style> <style>
.el-drawer.rtl{
width: 90%!important;
}
</style> </style>

View File

@ -218,7 +218,5 @@
</script> </script>
<style> <style>
.el-drawer.rtl{
width: 90%!important;
}
</style> </style>

View File

@ -136,7 +136,7 @@ export default {
setData(data) { setData(data) {
Object.assign(this.form, data); Object.assign(this.form, data);
debugger; debugger;
console.log(this.form);
}, },
}, },
}; };

View File

@ -97,10 +97,6 @@
type="primary" type="primary"
size="small" size="small"
@click="table_show(scope.row, scope.$index)" @click="table_show(scope.row, scope.$index)"
<<<<<<< HEAD
>查看/处理</el-button
>
=======
>查看</el-button> >查看</el-button>
<el-button <el-button
text text
@ -108,7 +104,6 @@
size="small" size="small"
@click="table_handle(scope.row, scope.$index)" @click="table_handle(scope.row, scope.$index)"
>处理</el-button> >处理</el-button>
>>>>>>> 9c88f3f5fb481911f97fec3ac0e2716865333312
<!-- <el-button text type="warning" size="small" @click="table_edit(scope.row, scope.$index)">编辑</el-button> --> <!-- <el-button text type="warning" size="small" @click="table_edit(scope.row, scope.$index)">编辑</el-button> -->
<!-- <el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)"> <!-- <el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
<template #reference> <template #reference>
@ -121,38 +116,16 @@
</scTable> </scTable>
</el-main> </el-main>
</el-container> </el-container>
<<<<<<< HEAD
<save-dialog
v-if="dialog.save"
ref="saveDialog"
@success="handleSaveSuccess"
=======
<save-dialog
v-if="dialog.save"
ref="saveDialog"
>>>>>>> 9c88f3f5fb481911f97fec3ac0e2716865333312
@closed="dialog.save = false"
></save-dialog>
</template> </template>
<script> <script>
<<<<<<< HEAD
import saveDialog from "./event_form.vue";
import { CircleCheckFilled, CircleCloseFilled } from "@element-plus/icons-vue"; import { CircleCheckFilled, CircleCloseFilled } from "@element-plus/icons-vue";
=======
import { CircleCheckFilled, CircleCloseFilled } from "@element-plus/icons-vue";
import saveDialog from "./event_from.vue";
>>>>>>> 9c88f3f5fb481911f97fec3ac0e2716865333312
export default { export default {
name: "event", name: "event",
components: { components: {
CircleCheckFilled, CircleCheckFilled,
CircleCloseFilled, CircleCloseFilled,
<<<<<<< HEAD
saveDialog,
=======
saveDialog
>>>>>>> 9c88f3f5fb481911f97fec3ac0e2716865333312
}, },
data() { data() {
return { return {
@ -171,35 +144,28 @@ export default {
methods: { methods: {
// //
table_show(row) { table_show(row) {
this.dialog.save = true; this.$router.push({
this.$nextTick(() => { name: "eventfrom",
this.$refs.saveDialog.open("show").setData(row); query: {
id: row.id,
},
}); });
}, },
<<<<<<< HEAD
//
upsearch() {},
//
handleSaveSuccess(data, mode) {
if (mode == "add") {
this.$refs.table.refresh();
} else if (mode == "edit") {
this.$refs.table.refresh();
}
},
=======
// //
table_handle(row) { table_handle(row) {
this.dialog.save = true;
this.$nextTick(() => { this.$router.push({
this.$refs.saveDialog.open("show").setData(row); name: "eventhandlefrom",
query: {
id: row.id,
},
}); });
}, },
// //
upsearch() {}, upsearch() {},
// //
>>>>>>> 9c88f3f5fb481911f97fec3ac0e2716865333312
resetQuery() { resetQuery() {
this.query = {}; this.query = {};
}, },

View File

@ -1,45 +1,41 @@
<template> <template>
<el-drawer <el-container v-loading="loading">
:title="titleMap[mode]" <!--<sc-title title="详细信息"></sc-title>-->
v-model="visible" <el-main style="padding: 0 20px 20px 20px">
:size="1000" <el-card class="box-card">
destroy-on-close <sc-title title="事件基本信息"></sc-title>
@closed="closeDrawer"
>
<el-container v-loading="loading">
<!--<sc-title title="详细信息"></sc-title>-->
<el-main style="padding: 0 20px 20px 20px">
<el-form :model="form" :disabled="mode === 'show'" label-width="120px"> <el-form :model="form" :disabled="mode === 'show'" label-width="120px">
<el-row> <el-row>
<el-col :md="12" :sm="24"> <el-col :md="8" :sm="24">
<el-form-item label="事件种类" prop="cates"> <el-form-item label="事件种类" prop="cates">
<el-tag
<el-tag v-for="item in form.cates_" v-for="item in form.cates_"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id">{{item.name}}</el-tag> :value="item.id"
>{{ item.name }}</el-tag
>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24" v-if="form.area"> <el-col :md="8" :sm="24" v-if="form.area">
<el-form-item label="发生区域" prop="area"> <el-form-item label="发生区域" prop="area">
<el-input v-model="form.area_.name" clearable></el-input> <el-input v-model="form.area_.name" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24" v-if="form.employee"> <el-col :md="8" :sm="24" >
<el-form-item label="当事人" prop="employee"> <el-form-item label="当事人" prop="employee">
<el-input v-model="form.employee_.name" clearable></el-input> <el-tag v-if="form.employee" clearable>{{ form.employee_.name }}</el-tag>
<el-tag v-else clearable>未知人员</el-tag>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col <el-col
:md="12" :md="8"
:sm="24" :sm="24"
v-if="form.employee && form.employee_.type" v-if="form.employee && form.employee_.type"
> >
<el-form-item label="人员类型" prop="employee"> <el-form-item label="人员类型" prop="employee">
<el-select v-model="form.employee_.type" style="width: 100%"> <el-select v-model="form.employee_.type" style="width: 100%">
<el-option <el-option
v-for="item in type_options" v-for="item in type_options"
:key="item.id" :key="item.id"
@ -47,45 +43,34 @@
:value="item.id" :value="item.id"
/> />
</el-select> </el-select>
</el-form-item>
</el-col>
</el-form-item> <el-col :md="8" :sm="24">
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="发生时间"> <el-form-item label="发生时间">
<el-input <el-input v-model="form.create_time" clearable></el-input>
v-model="form.create_time"
clearable
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="8" :sm="24">
<el-form-item label="处理人"> <el-form-item label="处理人">
<el-input v-model="form.handle_user" /> <el-input v-model="form.handle_user_name" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="8" :sm="24">
<el-form-item label="处理时间"> <el-form-item label="处理时间">
<el-input <el-input v-model="form.handle_time" clearable></el-input>
v-model="form.handle_time"
clearable
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="8" :sm="24">
<el-form-item label="处理描述"> <el-form-item label="处理描述">
<el-input <el-input v-model="form.handle_desc" clearable></el-input>
v-model="form.handle_desc"
clearable
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="6" :sm="24">
<el-form-item label="事件标记"> <el-form-item label="事件标记">
<el-select v-model="form.mark" style="width: 100%">
<el-select v-model="form.mark " style="width: 100%">
<el-option <el-option
v-for="item in mark_options" v-for="item in mark_options"
:key="item.id" :key="item.id"
@ -93,40 +78,36 @@
:value="item.id" :value="item.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="6" :sm="24">
<el-form-item label="是否超时"> <el-form-item label="是否超时">
<el-switch v-model="form.is_timeout" /> <el-switch v-model="form.is_timeout" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="6" :sm="24">
<el-form-item label="人脸照"> <el-form-item label="人脸照">
<sc-upload <sc-upload v-model="form.face_img" title="人脸照"></sc-upload>
v-model="form.face_img"
title="人脸照"
></sc-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="6" :sm="24">
<el-form-item label="全景照"> <el-form-item label="全景照">
<sc-upload v-model="form.global_img" title="全景照"></sc-upload> <sc-upload v-model="form.global_img" title="全景照"></sc-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<scTable <sc-title title="事件推送列表"></sc-title>
<scTable
ref="table" ref="table"
:data="remindData" :data="remindData"
row-key="id" row-key="id"
height="250px" height="300px"
fit fit
stripe stripe
@resetQuery="resetQuery" @resetQuery="resetQuery"
hidePagination
> >
<el-table-column label="#" type="index" width="50"></el-table-column> <el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column label="事件种类"> <el-table-column label="事件种类">
@ -140,17 +121,17 @@
> >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="警报信息" label="警报信息"
prop="event_.voice_msg" prop="event_.voice_msg"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="接收人" label="接收人"
prop="recipient_.name" prop="recipient_.name"
></el-table-column> ></el-table-column>
<el-table-column label="是否可处理" prop="can_handle"> <el-table-column label="是否可处理" prop="can_handle">
<template #default="scope"> <template #default="scope">
<el-span v-if="scope.row.can_handle"></el-span> <el-span v-if="scope.row.can_handle"></el-span>
@ -165,28 +146,22 @@
</el-table-column> </el-table-column>
<el-table-column label="创建时间" prop="create_time"></el-table-column> <el-table-column label="创建时间" prop="create_time"></el-table-column>
</scTable> </scTable>
</el-main> </el-card>
</el-container> </el-main>
</el-drawer> </el-container>
</template> </template>
<script> <script>
const defaultForm = {
id: null,
};
export default { export default {
name: "eventfrom",
emits: ["success", "closed"], emits: ["success", "closed"],
data() { data() {
return { return {
loading: false, loading: false,
visible: false, visible: false,
isSaveing: false, isSaveing: false,
form: defaultForm,
mode: "show", mode: "show",
titleMap: { titleMap: {
show: "事件信息查看", show: "事件信息查看",
@ -196,53 +171,56 @@ export default {
{ id: "remployee", name: "相关方" }, { id: "remployee", name: "相关方" },
{ id: "visitor", name: "访客" }, { id: "visitor", name: "访客" },
], ],
mark_options: [ mark_options: [
{ id: 10, name: "正常" }, { id: 10, name: "正常" },
{ id: 20, name: "误报" } { id: 20, name: "误报" },
], ],
remindData:[], form: [],
eventID:"" remindData: [],
eventID: "",
}; };
}, },
mounted() { mounted() {
this.eventID = this.$route.query.id; //ID
this.getEvent();
this.getRemind();
}, },
methods: { methods: {
getRemind() { getEvent() {
console.log(this.eventID) this.$API.ecm.event.item.req(this.eventID).then((res) => {
this.$API.ecm.remind.list.req({event:this.eventID,page: 0 }).then((res) => { this.form = res;
this.remindData = res;
}); });
}, },
// getRemind() {
open(mode) { this.$API.ecm.remind.list
this.mode = mode; .req({ event: this.eventID, page: 0 })
this.visible = true; .then((res) => {
return this; this.remindData = res;
}, });
closeDrawer() {
this.visible = false;
this.$emit("closed");
},
//
setData(data) {
//debugger;
console.log(defaultForm);
// this.form = defaultForm;
Object.assign(this.form, data);
this.eventID=this.form.id;
this.getRemind();
},
//
setFilters(filters) {
this.selectionFilters = filters;
this.setFiltersVisible = true;
}, },
}, },
}; };
</script> </script>
<style> <style scoped>
.text {
font-size: 14px;
}
.item {
margin-bottom: 18px;
}
.clearfix:before,
.clearfix:after {
display: table;
content: "";
}
.clearfix:after {
clear: both
}
.box-card {
width: 100%;
}
</style> </style>

View File

@ -1,45 +1,43 @@
<template> <template>
<el-drawer <el-container v-loading="loading">
:title="titleMap[mode]" <!--<sc-title title="详细信息"></sc-title>-->
v-model="visible" <el-main style="padding: 0 20px 20px 20px">
:size="1000" <el-card class="box-card">
destroy-on-close <sc-title title="事件基本信息"> </sc-title>
@closed="closeDrawer"
> <el-form :model="form" label-width="120px">
<el-container v-loading="loading">
<!--<sc-title title="详细信息"></sc-title>-->
<el-main style="padding: 0 20px 20px 20px">
<el-form :model="form" :disabled="mode === 'show'" label-width="120px">
<el-row> <el-row>
<el-col :md="12" :sm="24"> <el-col :md="4" :sm="24">
<el-form-item label="事件种类" prop="cates"> <el-form-item label="事件种类" prop="cates">
<el-tag
<el-tag v-for="item in form.cates_" v-for="item in form.cates_"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id">{{item.name}}</el-tag> :value="item.id"
>{{ item.name }}</el-tag
>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24" v-if="form.area"> <el-col :md="4" :sm="24" >
<el-form-item label="发生区域" prop="area">
<el-input v-model="form.area_.name" clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24" v-if="form.employee">
<el-form-item label="当事人" prop="employee"> <el-form-item label="当事人" prop="employee">
<el-input v-model="form.employee_.name" clearable></el-input> <el-tag v-if="form.employee" clearable>{{ form.employee_.name }}</el-tag>
<el-tag v-else clearable>未知人员</el-tag>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="8" :sm="24" v-if="form.area">
<el-form-item label="发生区域" prop="area">
<el-input v-model="form.area_.name" clearable :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col <el-col
:md="12" :md="8"
:sm="24" :sm="24"
v-if="form.employee && form.employee_.type" v-if="form.employee && form.employee_.type"
> >
<el-form-item label="人员类型" prop="employee"> <el-form-item label="人员类型" prop="employee">
<el-select v-model="form.employee_.type" style="width: 100%"> <el-select v-model="form.employee_.type" style="width: 100%" :disabled="true">
<el-option <el-option
v-for="item in type_options" v-for="item in type_options"
:key="item.id" :key="item.id"
@ -47,45 +45,37 @@
:value="item.id" :value="item.id"
/> />
</el-select> </el-select>
</el-form-item>
</el-col>
</el-form-item> <el-col :md="8" :sm="24">
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="发生时间"> <el-form-item label="发生时间">
<el-input <el-input v-model="form.create_time" clearable :disabled="true"></el-input>
v-model="form.create_time"
clearable
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24">
<el-form-item label="处理人"> <el-col :md="8" :sm="24">
<el-input v-model="form.handle_user" /> <el-form-item label="是否超时">
<el-switch v-model="form.is_timeout" :disabled="true"/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24">
<el-form-item label="处理时间"> <el-col :md="8" :sm="24">
<el-input <el-form-item label="人脸照">
v-model="form.handle_time" <sc-upload v-model="form.face_img" title="人脸照" :disabled="true"></sc-upload>
clearable
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="8" :sm="24">
<el-form-item label="处理描述"> <el-form-item label="全景照">
<el-input <sc-upload v-model="form.global_img" title="全景照" :disabled="true"></sc-upload>
v-model="form.handle_desc"
clearable
></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="6" :sm="24">
<el-form-item label="事件标记"> <el-form-item label="事件标记">
<el-select v-model="form.mark" style="width: 100%" >
<el-select v-model="form.mark " style="width: 100%">
<el-option <el-option
v-for="item in mark_options" v-for="item in mark_options"
:key="item.id" :key="item.id"
@ -93,40 +83,27 @@
:value="item.id" :value="item.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :md="12" :sm="24"> <el-col :md="8" :sm="24">
<el-form-item label="是否超时"> <el-form-item label="处理描述">
<el-switch v-model="form.is_timeout" /> <el-input v-model="form.handle_desc" clearable ></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="人脸照">
<sc-upload
v-model="form.face_img"
title="人脸照"
></sc-upload>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="全景照">
<sc-upload v-model="form.global_img" title="全景照"></sc-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row><el-col> <el-button type="primary" style="float:right" @click="submit()">提交</el-button></el-col></el-row>
</el-form> </el-form>
<scTable
<sc-title title="事件推送列表"></sc-title>
<scTable
ref="table" ref="table"
:data="remindData" :data="remindData"
row-key="id" row-key="id"
height="250px" height="300px"
fit fit
stripe stripe
@resetQuery="resetQuery" @resetQuery="resetQuery"
hidePagination
> >
<el-table-column label="#" type="index" width="50"></el-table-column> <el-table-column label="#" type="index" width="50"></el-table-column>
<el-table-column label="事件种类"> <el-table-column label="事件种类">
@ -140,17 +117,17 @@
> >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="警报信息" label="警报信息"
prop="event_.voice_msg" prop="event_.voice_msg"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
label="接收人" label="接收人"
prop="recipient_.name" prop="recipient_.name"
></el-table-column> ></el-table-column>
<el-table-column label="是否可处理" prop="can_handle"> <el-table-column label="是否可处理" prop="can_handle">
<template #default="scope"> <template #default="scope">
<el-span v-if="scope.row.can_handle"></el-span> <el-span v-if="scope.row.can_handle"></el-span>
@ -165,28 +142,22 @@
</el-table-column> </el-table-column>
<el-table-column label="创建时间" prop="create_time"></el-table-column> <el-table-column label="创建时间" prop="create_time"></el-table-column>
</scTable> </scTable>
</el-main> </el-card>
</el-container> </el-main>
</el-drawer> </el-container>
</template> </template>
<script> <script>
const defaultForm = {
id: null,
};
export default { export default {
name: "eventfrom",
emits: ["success", "closed"], emits: ["success", "closed"],
data() { data() {
return { return {
loading: false, loading: false,
visible: false, visible: false,
isSaveing: false, isSaveing: false,
form: defaultForm,
mode: "show", mode: "show",
titleMap: { titleMap: {
show: "事件信息查看", show: "事件信息查看",
@ -196,53 +167,69 @@ export default {
{ id: "remployee", name: "相关方" }, { id: "remployee", name: "相关方" },
{ id: "visitor", name: "访客" }, { id: "visitor", name: "访客" },
], ],
mark_options: [ mark_options: [
{ id: 10, name: "正常" }, { id: 10, name: "正常" },
{ id: 20, name: "误报" } { id: 20, name: "误报" },
], ],
remindData:[], form: [],
eventID:"" remindData: [],
eventID: "",
}; };
}, },
mounted() { mounted() {
this.eventID = this.$route.query.id; //ID
this.getEvent();
this.getRemind();
}, },
methods: { methods: {
getRemind() { getEvent() {
console.log(this.eventID) this.$API.ecm.event.item.req(this.eventID).then((res) => {
this.$API.ecm.remind.list.req({event:this.eventID,page: 0 }).then((res) => { this.form = res;
this.remindData = res;
}); });
}, },
// getRemind() {
open(mode) { this.$API.ecm.remind.list
this.mode = mode; .req({ event: this.eventID, page: 0 })
this.visible = true; .then((res) => {
return this; this.remindData = res;
}, });
closeDrawer() {
this.visible = false;
this.$emit("closed");
}, },
submit(){
//
setData(data) { this.$API.ecm.event.handle.req(this.form.id, this.form)
//debugger; .then((res) => {
console.log(defaultForm); this.isSaveing = false;
// this.form = defaultForm; this.visible = false;
Object.assign(this.form, data); this.$emit("success", this.form, this.mode);
this.eventID=this.form.id; this.$message.success("操作成功");
this.getRemind(); return res;
})
},
// }
setFilters(filters) {
this.selectionFilters = filters;
this.setFiltersVisible = true;
},
}, },
}; };
</script> </script>
<style> <style scoped>
.text {
font-size: 14px;
}
.item {
margin-bottom: 18px;
}
.clearfix:before,
.clearfix:after {
display: table;
content: "";
}
.clearfix:after {
clear: both
}
.box-card {
width: 100%;
}
</style> </style>

View File

@ -35,6 +35,12 @@
> >
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="事件处理状态" prop="can_handle">
<template #default="scope">
<el-span v-if="scope.row.handle_user==''">未处理</el-span>
<el-span v-else>已处理</el-span>
</template>
</el-table-column>
<el-table-column <el-table-column
label="警报信息" label="警报信息"
@ -111,9 +117,11 @@ export default {
// //
table_show(row) { table_show(row) {
this.dialog.save = true; this.$router.push({
this.$nextTick(() => { name: "eventhandlefrom",
this.$refs.saveDialog.open("show").setData(row); query: {
id: row.event_.id,
},
}); });
}, },
// //