|
|
|
|
@ -3,32 +3,16 @@
|
|
|
|
|
<header> |
|
|
|
|
<el-form :label-width="120"> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="提醒类型"> |
|
|
|
|
<div class="flex gap"> |
|
|
|
|
<el-select |
|
|
|
|
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-select> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="提醒时间"> |
|
|
|
|
<date-time-range-picker-ext |
|
|
|
|
v-model="query.discoveryTime" |
|
|
|
|
v-model="query.alarmTime" |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="回复情况"> |
|
|
|
|
<div class="flex gap"> |
|
|
|
|
<el-select |
|
|
|
|
<el-select |
|
|
|
|
v-model="query.replyState" |
|
|
|
|
style="min-width: 185px" |
|
|
|
|
> |
|
|
|
|
@ -36,7 +20,6 @@
|
|
|
|
|
<el-option :value="1" label="已回复" /> |
|
|
|
|
<el-option :value="0" label="未回复" /> |
|
|
|
|
</el-select> |
|
|
|
|
</div> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
@ -63,6 +46,29 @@
|
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="提醒类型"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="query.alarmTypeId" |
|
|
|
|
clearable |
|
|
|
|
> |
|
|
|
|
<el-option :value="1" label="预警问题" /> |
|
|
|
|
<el-option :value="2" label="风险问题" /> |
|
|
|
|
<el-option :value="3" label="提醒通知" /> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6" v-if="query.alarmTypeId === 3"> |
|
|
|
|
<el-form-item label="模型"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="query.modelId" |
|
|
|
|
clearable |
|
|
|
|
filterable |
|
|
|
|
> |
|
|
|
|
<el-option v-for="item in models" :key="item.id" :value="item.id" :label="item.modelName" /> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
</el-form> |
|
|
|
|
<div class="flex between mt-20 mb-26"> |
|
|
|
|
@ -196,11 +202,10 @@
|
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
<script setup> |
|
|
|
|
import moment from "moment"; |
|
|
|
|
import { Clock } from "@element-plus/icons-vue"; |
|
|
|
|
|
|
|
|
|
import { alarmNotificationPages, alarmFiles } from "@/api/work/alarm"; |
|
|
|
|
import feedback from "@/utils/feedback"; |
|
|
|
|
import { |
|
|
|
|
listModel |
|
|
|
|
} from "@/api/sensitivePerception/model"; |
|
|
|
|
|
|
|
|
|
import useCatchStore from "@/stores/modules/catch"; |
|
|
|
|
|
|
|
|
|
@ -237,28 +242,9 @@ const showFiles = (data) => {
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
function getList() { |
|
|
|
|
let param = { |
|
|
|
|
current: query.value.current, |
|
|
|
|
size: query.value.size, |
|
|
|
|
}; |
|
|
|
|
if (query.value.alarmTypeId != -1) { |
|
|
|
|
param["alarmTypeId"] = query.value.alarmTypeId; |
|
|
|
|
} |
|
|
|
|
if (query.value.replyState != -1) { |
|
|
|
|
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.alarmContent != undefined) { |
|
|
|
|
param["alarmContent"] = query.value.alarmContent; |
|
|
|
|
} |
|
|
|
|
loading.value = true; |
|
|
|
|
alarmNotificationPages(param).then((data) => { |
|
|
|
|
console.log(query.value) |
|
|
|
|
alarmNotificationPages(query.value).then((data) => { |
|
|
|
|
list.value = data.records; |
|
|
|
|
total.value = data.total; |
|
|
|
|
loading.value = false; |
|
|
|
|
@ -270,57 +256,43 @@ const tableRef = ref();
|
|
|
|
|
function reset() { |
|
|
|
|
query.value = { |
|
|
|
|
current: 1, |
|
|
|
|
size: 10, |
|
|
|
|
responderKey: "name", |
|
|
|
|
size: 10 |
|
|
|
|
}; |
|
|
|
|
tableRef.value.clearSort(); |
|
|
|
|
getList(); |
|
|
|
|
// 重置路由 |
|
|
|
|
router.push("/query"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const route = useRoute(); |
|
|
|
|
watch( |
|
|
|
|
() => route.query, |
|
|
|
|
() => { |
|
|
|
|
updateQuery(); |
|
|
|
|
getList(); |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
function updateQuery() { |
|
|
|
|
if (route.query.processingStatus) { |
|
|
|
|
query.value.processingStatus = [route.query.processingStatus]; |
|
|
|
|
} else { |
|
|
|
|
query.value.processingStatus = []; |
|
|
|
|
} |
|
|
|
|
if (route.query.crtTime === "today") { |
|
|
|
|
query.value.crtTime = [ |
|
|
|
|
moment().startOf("day").format("YYYY-MM-DD HH:mm:ss"), |
|
|
|
|
moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"), |
|
|
|
|
]; |
|
|
|
|
} else { |
|
|
|
|
query.value.crtTime = []; |
|
|
|
|
} |
|
|
|
|
if (route.query.extensionFlag === "true") { |
|
|
|
|
query.value.extensionFlag = true; |
|
|
|
|
} else { |
|
|
|
|
query.value.extensionFlag = ""; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const models = ref([]) |
|
|
|
|
onMounted(() => { |
|
|
|
|
updateQuery(); |
|
|
|
|
debugger |
|
|
|
|
if (route.query.modelId) { |
|
|
|
|
query.value.modelId = parseInt(route.query.modelId); |
|
|
|
|
query.value.alarmTypeId = 3; |
|
|
|
|
} |
|
|
|
|
getList(); |
|
|
|
|
listModel({ |
|
|
|
|
current: 1, |
|
|
|
|
size: 100, |
|
|
|
|
modelDataType: '2' |
|
|
|
|
}).then(data => { |
|
|
|
|
models.value = data.records |
|
|
|
|
}) |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const show = ref(false); |
|
|
|
|
|
|
|
|
|
function handleAction(row) { |
|
|
|
|
show.value = true; |
|
|
|
|
} |
|
|
|
|
watch( |
|
|
|
|
() => route.query.modelId, |
|
|
|
|
(val) => { |
|
|
|
|
if (val) { |
|
|
|
|
query.value.alarmTypeId = 3; |
|
|
|
|
query.value.modelId = parseInt(val); |
|
|
|
|
} else { |
|
|
|
|
query.value.modelId = ''; |
|
|
|
|
} |
|
|
|
|
getList() |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
const router = useRouter(); |
|
|
|
|
</script> |
|
|
|
|
<style lang="scss" scoped> |
|
|
|
|
.form-row { |
|
|
|
|
|