xialashijian

This commit is contained in:
2309368887@qq.com 2022-07-05 09:14:57 +08:00
parent cf9f738a3d
commit 6de230462d
8 changed files with 247 additions and 259 deletions

View File

@ -66,8 +66,16 @@ export default {
); );
} }
}, },
read:{
name: "详情",
req: async function (id) {
return await http.get(
`${config.API_URL}/ecm/event/${id}/`);
}
},
} }
, ,
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

@ -37,9 +37,6 @@
:value="items.id" :value="items.id"
>事件种类{{ items.name }}</el-span> >事件种类{{ items.name }}</el-span>
</div> </div>
<div style="width:100px"> <div style="width:100px">
<p v-if="item.can_handle">可处理</p> <p v-if="item.can_handle">可处理</p>
@ -122,7 +119,7 @@ export default {
getMyVents() { getMyVents() {
this.$API.ecm.myevent.list.req({ page: 0 }).then((res) => { this.$API.ecm.myevent.list.req({ page: 0 }).then((res) => {
this.msgList = res; this.msgList = res;
console.log(this.msgList.event_);
}); });
}, },
// //

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

@ -116,22 +116,16 @@
</scTable> </scTable>
</el-main> </el-main>
</el-container> </el-container>
<save-dialog
v-if="dialog.save"
ref="saveDialog"
@closed="dialog.save = false"
></save-dialog>
</template> </template>
<script> <script>
import { CircleCheckFilled, CircleCloseFilled } from "@element-plus/icons-vue"; import { CircleCheckFilled, CircleCloseFilled } from "@element-plus/icons-vue";
import saveDialog from "./event_from.vue";
export default { export default {
name: "event", name: "event",
components: { components: {
CircleCheckFilled, CircleCheckFilled,
CircleCloseFilled, CircleCloseFilled,
saveDialog
}, },
data() { data() {
return { return {
@ -150,17 +144,23 @@ 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,
},
}); });
}, },
// //
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() {},

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.read.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,41 @@
: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-col :md="8" :sm="24">
<el-form-item label="是否超时">
<el-switch v-model="form.is_timeout" :disabled="true"/>
</el-form-item>
</el-col>
<el-col :md="8" :sm="24">
<el-form-item label="人脸照">
<sc-upload v-model="form.face_img" title="人脸照" :disabled="true"></sc-upload>
</el-form-item>
</el-col>
<el-col :md="8" :sm="24">
<el-form-item label="全景照">
<sc-upload v-model="form.global_img" title="全景照" :disabled="true"></sc-upload>
</el-form-item>
</el-col>
<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="6" :sm="24">
<el-form-item label="处理时间">
<el-input
v-model="form.handle_time"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="处理描述">
<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="事件标记"> <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 +87,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 +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,61 @@ 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.read.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) {
//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>