|
|
|
|
@ -10,10 +10,10 @@
|
|
|
|
|
v-model="query.alarmTypeId" |
|
|
|
|
style="min-width: 185px" |
|
|
|
|
> |
|
|
|
|
<el-option :value="-1" label="全部"/> |
|
|
|
|
<el-option :value="1" label="预警问题"/> |
|
|
|
|
<el-option :value="2" label="风险问题"/> |
|
|
|
|
<el-option :value="3" label="提醒通知"/> |
|
|
|
|
<el-option :value="-1" label="全部" /> |
|
|
|
|
<el-option :value="1" label="预警问题" /> |
|
|
|
|
<el-option :value="2" label="风险问题" /> |
|
|
|
|
<el-option :value="3" label="提醒通知" /> |
|
|
|
|
</el-select> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
@ -32,9 +32,9 @@
|
|
|
|
|
v-model="query.replyState" |
|
|
|
|
style="min-width: 185px" |
|
|
|
|
> |
|
|
|
|
<el-option :value="-1" label="全部"/> |
|
|
|
|
<el-option :value="1" label="已回复"/> |
|
|
|
|
<el-option :value="0" label="未回复"/> |
|
|
|
|
<el-option :value="-1" label="全部" /> |
|
|
|
|
<el-option :value="1" label="已回复" /> |
|
|
|
|
<el-option :value="0" label="未回复" /> |
|
|
|
|
</el-select> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
@ -74,14 +74,11 @@
|
|
|
|
|
<div></div> |
|
|
|
|
<div> |
|
|
|
|
<el-button type="primary" @click="getList"> |
|
|
|
|
<template #icon |
|
|
|
|
> |
|
|
|
|
<icon name="el-icon-Search" |
|
|
|
|
/> |
|
|
|
|
<template #icon> |
|
|
|
|
<icon name="el-icon-Search" /> |
|
|
|
|
</template> |
|
|
|
|
查询 |
|
|
|
|
</el-button |
|
|
|
|
> |
|
|
|
|
</el-button> |
|
|
|
|
<el-button @click="reset">重置</el-button> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
@ -110,14 +107,15 @@
|
|
|
|
|
prop="policeName" |
|
|
|
|
width="90" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
label="提醒内容" |
|
|
|
|
prop="alarmContent" |
|
|
|
|
/> |
|
|
|
|
<el-table-column label="提醒内容" prop="alarmContent" /> |
|
|
|
|
<el-table-column label="回复情况" width="110"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<el-text v-if="row.replyState==1" class="mx-1">已回复</el-text> |
|
|
|
|
<el-text v-else type="warning" class="mx-1">未回复</el-text> |
|
|
|
|
<el-text v-if="row.replyState == 1" class="mx-1" |
|
|
|
|
>已回复</el-text |
|
|
|
|
> |
|
|
|
|
<el-text v-else type="warning" class="mx-1" |
|
|
|
|
>未回复</el-text |
|
|
|
|
> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="操作" width="160"> |
|
|
|
|
@ -157,41 +155,35 @@
|
|
|
|
|
<el-form label-width="148" :model="formData" ref="formRef"> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="提醒类型" |
|
|
|
|
> |
|
|
|
|
<div >{{formData.alarmType}}</div> |
|
|
|
|
<el-form-item label="提醒类型"> |
|
|
|
|
<div>{{ formData.alarmType }}</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="提醒时间" |
|
|
|
|
> |
|
|
|
|
<el-text>{{formData.alarmTime}}</el-text> |
|
|
|
|
<el-form-item label="提醒时间"> |
|
|
|
|
<el-text>{{ formData.alarmTime }}</el-text> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-top: 5px;"> |
|
|
|
|
<el-row style="margin-top: 5px"> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="被通知单位" |
|
|
|
|
> |
|
|
|
|
<el-text>{{formData.notificationDepartName}}</el-text> |
|
|
|
|
<el-form-item label="被通知单位"> |
|
|
|
|
<el-text>{{ |
|
|
|
|
formData.notificationDepartName |
|
|
|
|
}}</el-text> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12" v-if="formData.policeName != undefined"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="被通知民警" |
|
|
|
|
> |
|
|
|
|
<el-text>{{formData.policeName}}</el-text> |
|
|
|
|
<el-form-item label="被通知民警"> |
|
|
|
|
<el-text>{{ formData.policeName }}</el-text> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-top: 5px;"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="提醒内容" |
|
|
|
|
> |
|
|
|
|
<el-text style="width: 588px;">{{formData.alarmContent}}</el-text> |
|
|
|
|
<el-row style="margin-top: 5px"> |
|
|
|
|
<el-form-item label="提醒内容"> |
|
|
|
|
<el-text style="width: 588px">{{ |
|
|
|
|
formData.alarmContent |
|
|
|
|
}}</el-text> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-row> |
|
|
|
|
<el-form-item |
|
|
|
|
@ -211,74 +203,82 @@
|
|
|
|
|
</el-form-item> |
|
|
|
|
</el-form> |
|
|
|
|
<footer class="flex end"> |
|
|
|
|
<el-button @click="editShow = false" size="large">取消</el-button> |
|
|
|
|
<el-button @click="editShow = false" size="large" |
|
|
|
|
>取消</el-button |
|
|
|
|
> |
|
|
|
|
<el-button type="primary" @click="handleSumbit" size="large" |
|
|
|
|
>确定 |
|
|
|
|
</el-button |
|
|
|
|
> |
|
|
|
|
</el-button> |
|
|
|
|
</footer> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
<el-dialog |
|
|
|
|
title="查看详情" |
|
|
|
|
v-model="dialogShow" |
|
|
|
|
width="800" |
|
|
|
|
> |
|
|
|
|
<el-dialog title="查看详情" v-model="dialogShow" width="800"> |
|
|
|
|
<el-form :model="showData" :label-width="120" ref="fomrRef"> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="提醒类型" |
|
|
|
|
> |
|
|
|
|
<div >{{showData.alarmType}}</div> |
|
|
|
|
<el-form-item label="提醒类型"> |
|
|
|
|
<div>{{ showData.alarmType }}</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="提醒时间" |
|
|
|
|
> |
|
|
|
|
<el-text>{{showData.alarmTime}}</el-text> |
|
|
|
|
<el-form-item label="提醒时间"> |
|
|
|
|
<el-text>{{ showData.alarmTime }}</el-text> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-top: 5px;"> |
|
|
|
|
<el-row style="margin-top: 5px"> |
|
|
|
|
<el-col :span="12"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="被通知单位" |
|
|
|
|
> |
|
|
|
|
<el-text>{{showData.notificationDepartName}}</el-text> |
|
|
|
|
<el-form-item label="被通知单位"> |
|
|
|
|
<el-text>{{ |
|
|
|
|
showData.notificationDepartName |
|
|
|
|
}}</el-text> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="12" v-if="showData.policeName != undefined"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="被通知民警" |
|
|
|
|
> |
|
|
|
|
<el-text>{{showData.policeName}}</el-text> |
|
|
|
|
<el-form-item label="被通知民警"> |
|
|
|
|
<el-text>{{ showData.policeName }}</el-text> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-top: 5px;"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="提醒内容" |
|
|
|
|
> |
|
|
|
|
<el-text style="width: 588px;">{{showData.alarmContent}}</el-text> |
|
|
|
|
<el-row style="margin-top: 5px"> |
|
|
|
|
<el-form-item label="提醒内容"> |
|
|
|
|
<el-text style="width: 588px">{{ |
|
|
|
|
showData.alarmContent |
|
|
|
|
}}</el-text> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-top: 5px;" v-if="showData.replyState == 1"> |
|
|
|
|
<el-form-item |
|
|
|
|
|
|
|
|
|
label="回复内容" |
|
|
|
|
> |
|
|
|
|
<el-text style="width: 588px;">{{showData.replyResultContent}}</el-text> |
|
|
|
|
<el-row style="margin-top: 5px" v-if="showData.replyState == 1"> |
|
|
|
|
<el-form-item label="回复内容"> |
|
|
|
|
<el-text style="width: 588px">{{ |
|
|
|
|
showData.replyResultContent |
|
|
|
|
}}</el-text> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row style="margin-top: 10px;" v-if="showData.files != undefined && showData.files.length > 0"> |
|
|
|
|
<el-form-item |
|
|
|
|
label="问题附件" |
|
|
|
|
<el-row |
|
|
|
|
style="margin-top: 10px" |
|
|
|
|
v-if=" |
|
|
|
|
showData.files != undefined && showData.files.length > 0 |
|
|
|
|
" |
|
|
|
|
> |
|
|
|
|
<el-form-item label="问题附件"> |
|
|
|
|
<div |
|
|
|
|
v-for="(item, index) in showData.files" |
|
|
|
|
:key="index" |
|
|
|
|
style="margin-top: 10px" |
|
|
|
|
> |
|
|
|
|
<div v-for="(item, index) in showData.files" :key="index" style="margin-top: 10px;"> |
|
|
|
|
<el-image :preview-src-list="previewList" style="width: 100px; height: 100px;margin-right: 8px" |
|
|
|
|
:initial-index="index" :src="item.path" fit="cover" :hide-on-click-modal="true" :lazy="true" /> |
|
|
|
|
<el-image |
|
|
|
|
:preview-src-list="previewList" |
|
|
|
|
style=" |
|
|
|
|
width: 100px; |
|
|
|
|
height: 100px; |
|
|
|
|
margin-right: 8px; |
|
|
|
|
" |
|
|
|
|
:initial-index="index" |
|
|
|
|
:src="item.path" |
|
|
|
|
fit="cover" |
|
|
|
|
:hide-on-click-modal="true" |
|
|
|
|
:lazy="true" |
|
|
|
|
/> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-row> |
|
|
|
|
@ -288,16 +288,15 @@
|
|
|
|
|
</footer> |
|
|
|
|
</el-dialog> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</template> |
|
|
|
|
<script setup> |
|
|
|
|
import moment from "moment"; |
|
|
|
|
import { Clock } from '@element-plus/icons-vue' |
|
|
|
|
import { Clock } from "@element-plus/icons-vue"; |
|
|
|
|
|
|
|
|
|
import { |
|
|
|
|
alarmNotificationPages, |
|
|
|
|
alarmNotificationReply, |
|
|
|
|
alarmFiles |
|
|
|
|
alarmFiles, |
|
|
|
|
} from "@/api/work/alarm"; |
|
|
|
|
import feedback from "@/utils/feedback"; |
|
|
|
|
|
|
|
|
|
@ -309,52 +308,55 @@ const query = ref({
|
|
|
|
|
current: 1, |
|
|
|
|
size: 10, |
|
|
|
|
alarmTypeId: -1, |
|
|
|
|
replyState: -1 |
|
|
|
|
replyState: -1, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const list = ref([]); |
|
|
|
|
const total = ref(0); |
|
|
|
|
|
|
|
|
|
let showData = ref({}) |
|
|
|
|
let dialogShow = ref(false) |
|
|
|
|
let previewList = ref([]) |
|
|
|
|
let showData = ref({}); |
|
|
|
|
let dialogShow = ref(false); |
|
|
|
|
let previewList = ref([]); |
|
|
|
|
|
|
|
|
|
const loading = ref(true); |
|
|
|
|
|
|
|
|
|
const showFiles = (data) => { |
|
|
|
|
alarmFiles(data.id).then(res => { |
|
|
|
|
alarmFiles(data.id).then((res) => { |
|
|
|
|
showData.value = data; |
|
|
|
|
showData.value['files'] = res; |
|
|
|
|
let arr = [] |
|
|
|
|
res.forEach(item => { |
|
|
|
|
arr.push(item.path) |
|
|
|
|
}) |
|
|
|
|
previewList.value = arr |
|
|
|
|
console.log(showData.value) |
|
|
|
|
showData.value["files"] = res; |
|
|
|
|
let arr = []; |
|
|
|
|
res.forEach((item) => { |
|
|
|
|
arr.push(item.path); |
|
|
|
|
}); |
|
|
|
|
previewList.value = arr; |
|
|
|
|
console.log(showData.value); |
|
|
|
|
dialogShow.value = true; |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
function getList() { |
|
|
|
|
let param = { |
|
|
|
|
current: query.value.current, |
|
|
|
|
size: query.value.size, |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
if (query.value.alarmTypeId != -1) { |
|
|
|
|
param['alarmTypeId'] = query.value.alarmTypeId |
|
|
|
|
param["alarmTypeId"] = query.value.alarmTypeId; |
|
|
|
|
} |
|
|
|
|
if (query.value.replyState != -1) { |
|
|
|
|
param['replyState'] = query.value.replyState |
|
|
|
|
param["replyState"] = query.value.replyState; |
|
|
|
|
} |
|
|
|
|
if (query.value.discoveryTime != undefined && query.value.discoveryTime != null) { |
|
|
|
|
param['startTime'] = query.value.discoveryTime[0] |
|
|
|
|
param['endTime'] = query.value.discoveryTime[1] |
|
|
|
|
if ( |
|
|
|
|
query.value.discoveryTime != undefined && |
|
|
|
|
query.value.discoveryTime != null |
|
|
|
|
) { |
|
|
|
|
param["startTime"] = query.value.discoveryTime[0]; |
|
|
|
|
param["endTime"] = query.value.discoveryTime[1]; |
|
|
|
|
} |
|
|
|
|
if (formData.value.involveDepartId != undefined) { |
|
|
|
|
param['notificationDepartCode'] = formData.value.involveDepartId |
|
|
|
|
param["notificationDepartCode"] = formData.value.involveDepartId; |
|
|
|
|
} |
|
|
|
|
if (query.value.alarmContent != undefined) { |
|
|
|
|
param['alarmContent'] = query.value.alarmContent; |
|
|
|
|
param["alarmContent"] = query.value.alarmContent; |
|
|
|
|
} |
|
|
|
|
loading.value = true; |
|
|
|
|
alarmNotificationPages(param).then((data) => { |
|
|
|
|
@ -364,7 +366,7 @@ function getList() {
|
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const tableRef = ref() |
|
|
|
|
const tableRef = ref(); |
|
|
|
|
|
|
|
|
|
function reset() { |
|
|
|
|
query.value = { |
|
|
|
|
@ -372,7 +374,7 @@ function reset() {
|
|
|
|
|
size: 10, |
|
|
|
|
responderKey: "name", |
|
|
|
|
}; |
|
|
|
|
tableRef.value.clearSort() |
|
|
|
|
tableRef.value.clearSort(); |
|
|
|
|
getList(); |
|
|
|
|
// 重置路由 |
|
|
|
|
router.push("/query"); |
|
|
|
|
@ -402,9 +404,9 @@ function updateQuery() {
|
|
|
|
|
query.value.crtTime = []; |
|
|
|
|
} |
|
|
|
|
if (route.query.extensionFlag === "true") { |
|
|
|
|
query.value.extensionFlag = true |
|
|
|
|
query.value.extensionFlag = true; |
|
|
|
|
} else { |
|
|
|
|
query.value.extensionFlag = ''; |
|
|
|
|
query.value.extensionFlag = ""; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -421,28 +423,26 @@ function handleAction(row) {
|
|
|
|
|
|
|
|
|
|
const router = useRouter(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const editShow = ref(false); |
|
|
|
|
const formData = ref({}); |
|
|
|
|
const formRef = ref(null); |
|
|
|
|
|
|
|
|
|
function handleEdit(row) { |
|
|
|
|
editShow.value = true; |
|
|
|
|
formData.value = {...row}; |
|
|
|
|
formData.value = { ...row }; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
async function handleSumbit() { |
|
|
|
|
await formRef.value.validate(); |
|
|
|
|
let data = { |
|
|
|
|
replyResultContent: formData.value.replyResultContent, |
|
|
|
|
id: formData.value.id |
|
|
|
|
} |
|
|
|
|
id: formData.value.id, |
|
|
|
|
}; |
|
|
|
|
await alarmNotificationReply(data); |
|
|
|
|
editShow.value = false; |
|
|
|
|
feedback.msgSuccess("操作成功"); |
|
|
|
|
getList(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
</script> |
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
.form-row { |
|
|
|
|
|