Update commandDispatch.vue

注释掉 警情推送页面的 弹窗穿透样式
This commit is contained in:
TimSpan 2024-12-25 10:24:56 +08:00
parent a3774557d1
commit a76fb07aab
1 changed files with 458 additions and 427 deletions

View File

@ -3,28 +3,43 @@
<div style="height: 100%; vertical-align: middle"> <div style="height: 100%; vertical-align: middle">
<div style="padding: 10px 15px"> <div style="padding: 10px 15px">
<span style="color: rgba(0, 0, 0, 0.4392156863); margin-right: 10px">区域:</span> <span style="color: rgba(0, 0, 0, 0.4392156863); margin-right: 10px">区域:</span>
<a-tree-select v-model:value="value1" style="width: 200px" <a-tree-select
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }" placeholder="请选择" :tree-data="treedata" v-model:value="value1"
labelInValue="true" :field-names="{ style="width: 200px"
:dropdown-style="{maxHeight: '400px', overflow: 'auto'}"
placeholder="请选择"
:tree-data="treedata"
labelInValue="true"
:field-names="{
children: 'children', children: 'children',
value: 'title', value: 'title',
label: 'title', label: 'title'
}" tree-node-filter-prop="title"> }"
tree-node-filter-prop="title"
>
<template #suffixIcon> <template #suffixIcon>
<SmileOutlined /> <SmileOutlined />
</template> </template>
</a-tree-select> </a-tree-select>
<span style="color: rgba(0, 0, 0, 0.4392156863); margin-right: 10px; margin-left: 20px">时间:</span> <span style="color: rgba(0, 0, 0, 0.4392156863); margin-right: 10px; margin-left: 20px">时间:</span>
<el-date-picker v-model="value2" :disabled-date="disabledDate" type="datetimerange" range-separator="" <el-date-picker
start-placeholder="开始日期" end-placeholder="结束日期" value-format="YYYY-MM-DD HH:mm:ss" v-model="value2"
format="YYYY-MM-DD HH:mm:ss" date-format="YYYY/MM/DD ddd" time-format="A hh:mm:ss" :disabled-date="disabledDate"
style="vertical-align: middle; width: 335px"> type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD HH:mm:ss"
date-format="YYYY/MM/DD ddd"
time-format="A hh:mm:ss"
style="vertical-align: middle; width: 335px"
>
</el-date-picker> </el-date-picker>
<a-button type="primary" style="margin-left: 10px" @click="seach">查询</a-button> <a-button type="primary" style="margin-left: 10px" @click="seach">查询</a-button>
</div> </div>
<div style="margin: 5px auto; height: calc(100% - 116px); width: 100%; overflow: auto"> <div style="margin: 5px auto; height: calc(100% - 116px); width: 100%; overflow: auto">
<el-table :data="tableData" border="false" highlight-current-row="false" style="width: 100%" <el-table :data="tableData" border="false" highlight-current-row="false" style="width: 100%" height="calc(100% )">
height="calc(100% )">
<el-table-column type="index" width="60" label="序号" fixed="left" align="center" /> <el-table-column type="index" width="60" label="序号" fixed="left" align="center" />
<!-- <el-table-column prop="timestamp" label="报警时间" align="center" show-overflow-tooltip width="170"/> --> <!-- <el-table-column prop="timestamp" label="报警时间" align="center" show-overflow-tooltip width="170"/> -->
<el-table-column prop="timestamp" label="报警时间" align="center" show-overflow-tooltip width="170" /> <el-table-column prop="timestamp" label="报警时间" align="center" show-overflow-tooltip width="170" />
@ -55,8 +70,7 @@
<span v-else>未转发</span> <span v-else>未转发</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="translateTime" label="转发110时间" align="center" show-overflow-tooltip <el-table-column prop="translateTime" label="转发110时间" align="center" show-overflow-tooltip width="170" />
width="170" />
<el-table-column align="center" label="文件列表" width="90" fixed="right"> <el-table-column align="center" label="文件列表" width="90" fixed="right">
<template #default="scope"> <template #default="scope">
<a-button type="link" @click="fileinfo(scope.row)">查看</a-button> <a-button type="link" @click="fileinfo(scope.row)">查看</a-button>
@ -68,21 +82,25 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination style="position: absolute; right: 60px; margin-top: 10px" <el-pagination style="position: absolute; right: 60px; margin-top: 10px" @current-change="handleCurrentChange2" :page-size="20" layout="total, prev, pager, next" :total="total2">
@current-change="handleCurrentChange2" :page-size="20" layout="total, prev, pager, next"
:total="total2">
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
<el-dialog title="文件列表" v-model="dialogVisible" width="30%" :before-close="handleClose"> <el-dialog title="文件列表" v-model="dialogVisible" width="30%" :before-close="handleClose">
<ul v-if="fileList"> <ul v-if="fileList">
<li v-if="fileList.length > 0" style="display: inline-block; margin-right: 5px" <li v-if="fileList.length > 0" style="display: inline-block; margin-right: 5px" v-for="(item, index) in fileList">
v-for="(item, index) in fileList"> <el-image
<el-image style="width: 150px; height: 150px" v-if="item.type == 'image'" :src="item.url" style="width: 150px; height: 150px"
:zoom-rate="1.2" :max-scale="7" :min-scale="0.2" :preview-src-list="[item.url]" v-if="item.type == 'image'"
:initial-index="4" fit="cover" /> :src="item.url"
<video width="150" height="150" v-if="item.type == 'video'" :src="item.url" autoplay="autoplay" :zoom-rate="1.2"
controls></video> :max-scale="7"
:min-scale="0.2"
:preview-src-list="[item.url]"
:initial-index="4"
fit="cover"
/>
<video width="150" height="150" v-if="item.type == 'video'" :src="item.url" autoplay="true" controls></video>
</li> </li>
<el-empty v-else :image-size="150"></el-empty> <el-empty v-else :image-size="150"></el-empty>
</ul> </ul>
@ -90,14 +108,14 @@
<!-- 详情 --> <!-- 详情 -->
<el-dialog title="警情详情" v-model="dialogVisible1" width="60%" :before-close="handleClose"> <el-dialog title="警情详情" v-model="dialogVisible1" width="60%" :before-close="handleClose">
<div class="uploadBtn" style="text-align: right; margin-right: 10px"> <div class="uploadBtn" style="text-align: right; margin-right: 10px; margin-bottom: 5px">
<el-button type="primary" v-if="showdata.state != 'close'" @click="close(showdata)">关闭</el-button> <el-button type="primary" v-if="showdata.state != 'close'" @click="close(showdata)">关闭</el-button>
<el-button type="primary" @click="onSubmit"><el-icon> <el-button type="primary" @click="onSubmit"
<Download /> ><el-icon> <Download /> </el-icon></el-button
</el-icon></el-button> >
<el-button><el-icon> <el-button
<Printer /> ><el-icon> <Printer /> </el-icon></el-button
</el-icon></el-button> >
</div> </div>
<el-descriptions title="" border direction="" :column="2"> <el-descriptions title="" border direction="" :column="2">
@ -114,13 +132,19 @@
<el-descriptions-item label="推送110状态"><el-tag type="danger">失败</el-tag></el-descriptions-item> <el-descriptions-item label="推送110状态"><el-tag type="danger">失败</el-tag></el-descriptions-item>
<el-descriptions-item label="文件列表"> <el-descriptions-item label="文件列表">
<ul v-if="fileList"> <ul v-if="fileList">
<li v-if="fileList.length > 0" style="display: inline-block; margin-right: 5px" <li v-if="fileList.length > 0" style="display: inline-block; margin-right: 5px" v-for="(item, index) in fileList">
v-for="(item, index) in fileList"> <el-image
<el-image style="width: 150px; height: 150px" v-if="item.type == 'image'" :src="item.url" style="width: 150px; height: 150px"
:zoom-rate="1.2" :max-scale="7" :min-scale="0.2" :preview-src-list="[item.url]" v-if="item.type == 'image'"
:initial-index="4" fit="cover" /> :src="item.url"
<video width="150" height="150" v-if="item.type == 'video'" :src="item.url" :zoom-rate="1.2"
autoplay="autoplay" controls></video> :max-scale="7"
:min-scale="0.2"
:preview-src-list="[item.url]"
:initial-index="4"
fit="cover"
/>
<video width="150" height="150" v-if="item.type == 'video'" :src="item.url" autoplay="true" controls></video>
</li> </li>
<el-empty v-else :image-size="150"></el-empty> <el-empty v-else :image-size="150"></el-empty>
</ul> </ul>
@ -142,21 +166,21 @@
seach() seach()
gettreedata() gettreedata()
}) })
const disabledDate = (time) => { const disabledDate = (time: any) => {
return time.getTime() > Date.now() - 8.64e6 return time.getTime() > Date.now() - 8.64e6
} }
// //
const close = (info) => { const close = (info: any) => {
api api
.post('/multialarm/client/alarm_event/close', { .post('/multialarm/client/alarm_event/close', {
eventId: info.multiAlarmId, eventId: info.multiAlarmId
}) })
.then((res) => { .then((res) => {
// console.log('', res) // console.log('', res)
if (res.code == 0) { if (res.code == 0) {
ElMessage({ ElMessage({
message: '关闭成功', message: '关闭成功',
type: 'success', type: 'success'
}) })
dialogVisible1.value = false dialogVisible1.value = false
} else { } else {
@ -173,7 +197,7 @@
const gettreedata = () => { const gettreedata = () => {
api api
.post('/common/client/user/org/tree', { .post('/common/client/user/org/tree', {
name: localStorage.getItem('loginname'), name: localStorage.getItem('loginname')
}) })
.then((res) => { .then((res) => {
console.log('过滤树', res) console.log('过滤树', res)
@ -192,13 +216,13 @@
} }
const fileList = ref([]) const fileList = ref([])
const ipcList = ref([]) const ipcList = ref([])
const fileinfo = (data) => { const fileinfo = (data: any) => {
api api
.post('/multialarm/client/alarm_event/get_all_resource', { .post('/multialarm/client/alarm_event/get_all_resource', {
range: 1000, range: 1000,
multiAlarmId: data.multiAlarmId, multiAlarmId: data.multiAlarmId
}) })
.then((res) => { .then((res: any) => {
if (res.code == 0) { if (res.code == 0) {
console.log('ress', res) console.log('ress', res)
fileList.value = res.data.fileList fileList.value = res.data.fileList
@ -208,24 +232,29 @@
dialogVisible.value = true dialogVisible.value = true
} }
const showdata = ref() const showdata = ref()
const fileinfo1 = (data) => { const fileinfo1 = (data: any) => {
showdata.value = data showdata.value = data
dialogVisible1.value = true dialogVisible1.value = true
} }
const value2 = ref('') const value2 = ref<any>('')
let value1 = ref('')
const tableData = ref([]) let value1 = ref<any>('')
const tableData = ref<any>([])
// //
const pageNum2 = ref(1) const pageNum2 = ref(1)
const handleCurrentChange2 = (data) => { const handleCurrentChange2 = (data: any) => {
console.log(value2)
pageNum2.value = data pageNum2.value = data
api api
.post('/multialarm/client/sensor/alarm_event/getlist', { .post('/multialarm/client/sensor/alarm_event/getlist', {
start: value2._rawValue[0], // start: value2._rawValue[0],
end: value2._rawValue[1], // end: value2._rawValue[1],
start: value2.value[0],
end: value2.value[1],
pagesize: 20, pagesize: 20,
pageindex: data - 1, pageindex: data - 1,
city: city == '湖南省' ? null : city, city: city == '湖南省' ? null : city
}) })
.then((res) => { .then((res) => {
console.log('安保点位', res) console.log('安保点位', res)
@ -236,28 +265,31 @@
} }
const total2 = ref() const total2 = ref()
const seach = () => { const seach = () => {
console.log(value1)
if (value1.value == '' || value1.value == undefined) { if (value1.value == '' || value1.value == undefined) {
} else { } else {
city = value1.value.value city = value1.value.value
} }
api api
.post('/multialarm/client/sensor/alarm_event/getcount', { .post('/multialarm/client/sensor/alarm_event/getcount', {
start: value2._rawValue[0], start: value2.value[0],
end: value2._rawValue[1], end: value2.value[1],
city: city == '湖南省' ? null : city, city: city == '湖南省' ? null : city
}) })
.then((res) => { .then((res: any) => {
if (res.code == 0) { if (res.code == 0) {
total2.value = res.data.count total2.value = res.data.count
} }
}) })
api api
.post('/multialarm/client/sensor/alarm_event/getlist', { .post('/multialarm/client/sensor/alarm_event/getlist', {
start: value2._rawValue[0], start: value2.value[0],
end: value2._rawValue[1], end: value2.value[1],
pagesize: 20, pagesize: 20,
pageindex: 0, pageindex: 0,
city: city == '湖南省' ? null : city, city: city == '湖南省' ? null : city
}) })
.then((res) => { .then((res) => {
// console.log('', res) // console.log('', res)
@ -266,6 +298,7 @@
} }
}) })
} }
const onSubmit = function () {}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -275,46 +308,44 @@
background-color: #fff; background-color: #fff;
} }
.demo-tabs>.el-tabs__content {
}
:deep(.el-descriptions) { // :deep(.el-descriptions) {
width: 98%; // width: 98%;
margin: 10px auto; // margin: 10px auto;
text-align: center; // text-align: center;
border: 1px solid #1F9BD9; // border: 1px solid #1F9BD9;
--el-descriptions-table-border: { // --el-descriptions-table-border: {
1px solid #1F9BD9 // 1px solid #1F9BD9
} // }
; // ;
--el-descriptions-item-bordered-label-background: { // --el-descriptions-item-bordered-label-background: {
transparent // transparent
} // }
; // ;
} // }
:deep(.el-descriptions__body) { // :deep(.el-descriptions__body) {
background: transparent; // background: transparent;
} // }
:deep(.el-descriptions__label) { // :deep(.el-descriptions__label) {
width: 130px; // width: 130px;
color: rgb(12, 214, 254); // color: rgb(12, 214, 254);
background: transparent; // background: transparent;
} // }
:deep(.el-descriptions__content.el-descriptions__cell.is-bordered-content) { // :deep(.el-descriptions__content.el-descriptions__cell.is-bordered-content) {
color: #fff; // color: #fff;
} // }
:deep(.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell) { // :deep(.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell) {
border: 1px solid #1F9BD9; // border: 1px solid #1F9BD9;
} // }
.uploadBtn .el-button { .uploadBtn .el-button {
background-color: transparent; background-color: transparent;
@ -332,37 +363,37 @@
border: 1px solid rgb(12, 214, 254); border: 1px solid rgb(12, 214, 254);
} }
:deep(.el-dialog__body) { // :deep(.el-dialog__body) {
padding: 10px; // padding: 10px;
color: #fff; // color: #fff;
} // }
:deep(.el-dialog) { // :deep(.el-dialog) {
--el-dialog-bg-color: #071D4D; // --el-dialog-bg-color: #071D4D;
border: 3px solid #387dbf; // border: 3px solid #387dbf;
} // }
:deep(.el-dialog__header) { // :deep(.el-dialog__header) {
padding: 13px; // padding: 13px;
border-bottom: 1px solid #3374b4 !important; // border-bottom: 1px solid #3374b4 !important;
margin-right: 0px; // margin-right: 0px;
} // }
:deep(.el-dialog__title) { // :deep(.el-dialog__title) {
color: #067bc1 !important; // color: #067bc1 !important;
font-weight: 500; // font-weight: 500;
} // }
// :deep(.el-dialog__headerbtn .el-dialog__close) {
// color: #fff;
// font-weight: 500;
// font-size: 18px;
// }
:deep(.el-input__inner) { :deep(.el-input__inner) {
color: #000; color: #000;
} }
:deep(.el-dialog__headerbtn .el-dialog__close) {
color: #fff;
font-weight: 500;
font-size: 18px;
}
:deep(.el-tabs__nav-wrap::after) { :deep(.el-tabs__nav-wrap::after) {
background-color: #d9d9d95e; background-color: #d9d9d95e;
height: 4px; height: 4px;