更新页面

This commit is contained in:
2026-01-20 16:17:56 +08:00
parent d8ee4bb34d
commit 7aa3292ed0
9 changed files with 98 additions and 66 deletions

View File

@ -23,7 +23,7 @@
</Searchs> </Searchs>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="tabBox" :style="{ height: (pageData.tableHeight + 40) + 'px' }"> <div class="tabBox tabBox_zdy" :style="{ height: (pageData.tableHeight + 40) + 'px' }">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight" <MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth" expand :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth" expand
@chooseData="handleChooseData"> @chooseData="handleChooseData">
@ -38,6 +38,22 @@
<template #czzt="{ row }"> <template #czzt="{ row }">
<DictTag :value="row.czzt" :options="D_GSXT_YJXX_CZZT" /> <DictTag :value="row.czzt" :options="D_GSXT_YJXX_CZZT" />
</template> </template>
<template #sex="{ row }">
<span v-if="row.yjRysfzh"> {{ IdCard(row.yjRysfzh,2) }} </span>
</template>
<template #age="{ row }">
<span v-if="row.yjRysfzh"> {{ IdCard(row.yjRysfzh,3) }} </span>
</template>
<template #yjLylx="{ row }">
<DictTag :value="row.yjLylx" :tag="false" :options="D_BZ_YJLY" />
</template>
<template #bqdl="{ row }">
<DictTag :value="row.bqdl" :tag="false" :options="D_GS_QLZDRLX" />
</template>
<template #controls="{ row }"> <template #controls="{ row }">
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link> <el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
<el-link type="primary" @click="handleCzjy(row)" v-if="roleCode">处置建议</el-link> <el-link type="primary" @click="handleCzjy(row)" v-if="roleCode">处置建议</el-link>
@ -59,6 +75,7 @@
</template> </template>
<script setup> <script setup>
import { IdCard } from '@/utils/validate.js'
import Czjy from './components/czjy.vue' import Czjy from './components/czjy.vue'
import { getItem, setItem } from '@/utils/storage' import { getItem, setItem } from '@/utils/storage'
import PageTitle from "@/components/aboutTable/PageTitle.vue"; import PageTitle from "@/components/aboutTable/PageTitle.vue";
@ -77,7 +94,7 @@ import { getMultiDictVal } from "@/utils/dict.js"
const czjyRef = ref() const czjyRef = ref()
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const searchBox = ref(); const searchBox = ref();
const { D_GSXT_YJXX_CZZT, D_GS_SSYJ,D_BZ_YJJB } = proxy.$dict("D_GSXT_YJXX_CZZT", "D_GS_SSYJ",'D_BZ_YJJB') const { D_GS_QLZDRLX,D_BZ_YJLY,D_GSXT_YJXX_CZZT, D_GS_SSYJ,D_BZ_YJJB } = proxy.$dict('D_GS_QLZDRLX','D_BZ_YJLY',"D_GSXT_YJXX_CZZT", "D_GS_SSYJ",'D_BZ_YJJB')
const dict = reactive({ D_GSXT_YJXX_CZZT, D_GS_SSYJ }) const dict = reactive({ D_GSXT_YJXX_CZZT, D_GS_SSYJ })
// 搜索配置 // 搜索配置
const searchConfiger = ref([ const searchConfiger = ref([
@ -111,16 +128,19 @@ const pageData = reactive({
}, },
controlsWidth: 200, //操作栏宽度 controlsWidth: 200, //操作栏宽度
tableColumn: [ tableColumn: [
{ label: "预警人员姓名", prop: "yjRyxm" }, { label: "状态", prop: "czzt", showSolt: true },
{ label: "预警人员身份证号码", prop: "yjRysfzh",width: 200 }, { label: "预警时间", prop: "yjFssj" },
{ label: "预警标签", prop: "yjbqmc" }, { label: "人员姓名", prop: "yjRyxm" },
{ label: "今日预警次数", prop: "yjJrcs" }, { label: "身份证号码", prop: "yjRysfzh"},
{ label: "标签颜色", prop: "yjJb", showSolt: true }, { label: "性别", prop: "sex" ,showSolt: true },
{ label: "预警内容", prop: "yjNr",showOverflowTooltip: true }, { label: "年龄", prop: "age", showSolt: true },
{ label: "预警时间", prop: "yjFssj" ,width: 200}, { label: "预警级别", prop: "yjJb", showSolt: true },
{ label: "处置状态", prop: "czzt", showSolt: true }, { label: "人员类别", prop: "bqdl", showSolt: true },
{ label: "所属县局", prop: "ssxgaj" }, { label: "细类", prop: "yjbqmc" },
{ label: "处置单位", prop: "ssbm" }, { label: "轨迹类别", prop: "yjLylx", showSolt: true },
{ label: "活动发生地", prop: "yjDz" },
{ label: "接收单位", prop: "ssbm" },
{ label: "预警次数", prop: "yjCs" },
] ]
}); });
@ -273,8 +293,15 @@ const exportExl = () => {
</script> </script>
<style> <style lang="scss">
.el-loading-mask { .el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important; background: rgba(0, 0, 0, 0.5) !important;
} }
.tabBox_zdy{
.el-table--fit {
overflow: unset !important;
}
}
</style> </style>

View File

@ -11,7 +11,7 @@
<div class="info-item">建议内容<span>{{ it.jynr || '暂无' }}</span></div> <div class="info-item">建议内容<span>{{ it.jynr || '暂无' }}</span></div>
</div> </div>
<div> <div>
<el-empty v-if="list.length === 0" description="暂无数据" /> <el-empty v-if="list.length === 0" :image-size="0.5" description="暂无数据" />
</div> </div>
<el-divider content-position="left">反馈内容</el-divider> <el-divider content-position="left">反馈内容</el-divider>
@ -28,7 +28,7 @@
</div> </div>
</div> </div>
<div> <div>
<el-empty v-if="Fklist.length === 0" description="暂无数据" /> <el-empty v-if="Fklist.length === 0" :image-size="0.5" description="暂无数据" />
</div> </div>
</div> </div>
@ -67,6 +67,7 @@ onMounted(() => {
.warning-item { .warning-item {
width: 100%; width: 100%;
padding: 15px; padding: 15px;
box-sizing: border-box;
border-radius: 8px; border-radius: 8px;
background-color: #fafafa; background-color: #fafafa;
} }
@ -86,4 +87,10 @@ onMounted(() => {
} }
} }
::v-deep .el-empty{
--el-empty-padding: 0px;
margin-bottom: 18px;
--el-empty-description-margin-top: 10px;
}
</style> </style>

View File

@ -54,7 +54,6 @@ onMounted(() => {
Fklist.value = res.fkList || [] Fklist.value = res.fkList || []
}) })
}) })
// console.log('row😃: ', props.row);
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.warning-item { .warning-item {

View File

@ -1,12 +1,12 @@
<template> <template>
<div> <div>
<!-- 表格 --> <!-- 表格 -->
<div class="tabBox" :style="{ height: !search ? maxHeight + 200 + 'px' : (maxHeight + 150) + 'px' }"> <div class="tabBox tabBox_zdy" :style="{ height: maxHeight + 130 + 'px' }">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="maxHeight + 'px'" <MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="maxHeight + 'px'"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
:expand="true" @chooseData="handleChooseData"> :expand="true" @chooseData="handleChooseData">
<template #expand="{ props }"> <template #expand="{ props }">
<div class="expand-content" style="max-width: 100%"> <div>
<Items :row="props" :dict="dict" /> <Items :row="props" :dict="dict" />
</div> </div>
</template> </template>
@ -103,7 +103,8 @@ const props = defineProps({
maxHeight: { maxHeight: {
type: [Number, String], type: [Number, String],
default: 666 default: 666
}, search: { },
search: {
type: Boolean, type: Boolean,
default: false default: false
}, },
@ -142,7 +143,7 @@ const pageData = reactive({
{ label: "数据来源", prop: "yjLylx", showOverflowTooltip: true }, { label: "数据来源", prop: "yjLylx", showOverflowTooltip: true },
{ label: "身份证", prop: "yjRysfzh", showOverflowTooltip: true, width: 200 }, { label: "身份证", prop: "yjRysfzh", showOverflowTooltip: true, width: 200 },
// { label: "预警级别", prop: "yjJb", showSolt: true }, // { label: "预警级别", prop: "yjJb", showSolt: true },
// { label: "相似度", prop: "xsd", showSolt: true }, { label: "相似度", prop: "xsd", showSolt: true },
{ label: "布控车牌号", prop: "yjClcph", showOverflowTooltip: true }, { label: "布控车牌号", prop: "yjClcph", showOverflowTooltip: true },
{ label: "所属部门", prop: "ssbm", showOverflowTooltip: true }, { label: "所属部门", prop: "ssbm", showOverflowTooltip: true },
] ]
@ -322,7 +323,7 @@ defineExpose({
}) })
</script> </script>
<style> <style lang="scss">
.el-loading-mask { .el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important; background: rgba(0, 0, 0, 0.5) !important;
} }
@ -367,4 +368,10 @@ defineExpose({
.warning-level-04 td { .warning-level-04 td {
background-color: transparent !important; background-color: transparent !important;
} }
.tabBox_zdy{
.el-table--fit {
overflow: unset !important;
}
}
</style> </style>

View File

@ -1,7 +1,6 @@
<template> <template>
<div> <div>
<div class="titleBox"> <div class="titleBox">
<PageTitle title="人像预警"> <PageTitle title="人像预警">
<el-button type="success" @click="openSearch"> <el-button type="success" @click="openSearch">
<Search style="width: 1em; height: 1em; margin-right: 8px" /> <Search style="width: 1em; height: 1em; margin-right: 8px" />
@ -69,6 +68,7 @@
<template #nl="{ row }"> <template #nl="{ row }">
{{ IdCard(row.yjRysfzh, 3) }} {{ IdCard(row.yjRysfzh, 3) }}
</template> </template>
<template #sxd="{ row }"> {{ row.sxd }}% </template>
<template #yjLylx="{ row }"> <template #yjLylx="{ row }">
<DictTag v-model:value="row.yjLylx" :options="D_BZ_YJLYXT" /> <DictTag v-model:value="row.yjLylx" :options="D_BZ_YJLYXT" />
</template> </template>
@ -81,9 +81,6 @@
<template #yjJb="{ row }"> <template #yjJb="{ row }">
<DictTag v-model:value="row.yjJb" :options="D_BZ_YJJB" /> <DictTag v-model:value="row.yjJb" :options="D_BZ_YJJB" />
</template> </template>
<template #xsd="{ row }">
{{ row.xsd }}%
</template>
<!-- 操作 --> <!-- 操作 -->
</MyTable> </MyTable>
<template #footer> <template #footer>
@ -167,7 +164,8 @@ const pageData = reactive({
}, //分页 }, //分页
controlsWidth: 160, //操作栏宽度 controlsWidth: 160, //操作栏宽度
tableColumn: [ tableColumn: [
{ label: "预警图片", prop: "yjTp", showSolt: true }, { label: "相似度", prop: "sxd", showSolt: true },
{ label: "预警图片11", prop: "yjTp", showSolt: true },
{ label: "处置状态", prop: "czzt", showSolt: true }, { label: "处置状态", prop: "czzt", showSolt: true },
{ label: "预警时间", prop: "yjSj", showOverflowTooltip: true }, { label: "预警时间", prop: "yjSj", showOverflowTooltip: true },
{ label: "姓名", prop: "yjRyxm" }, { label: "姓名", prop: "yjRyxm" },
@ -175,7 +173,6 @@ const pageData = reactive({
{ label: "数据来源", prop: "yjLylx", showOverflowTooltip: true }, { label: "数据来源", prop: "yjLylx", showOverflowTooltip: true },
{ label: "性别", prop: "xb", showSolt: true }, { label: "性别", prop: "xb", showSolt: true },
{ label: "预警级别", prop: "yjJb", showSolt: true }, { label: "预警级别", prop: "yjJb", showSolt: true },
{ label: "相似度", prop: "xsd", showSolt: true },
{ label: "预警地点", prop: "yjDz", showOverflowTooltip: true }, { label: "预警地点", prop: "yjDz", showOverflowTooltip: true },
{ label: "预警次数", prop: "yjCs", showOverflowTooltip: true }, { label: "预警次数", prop: "yjCs", showOverflowTooltip: true },
{ label: "布控手机号", prop: "yjRysjh", showOverflowTooltip: true }, { label: "布控手机号", prop: "yjRysjh", showOverflowTooltip: true },

View File

@ -1,6 +1,5 @@
<template> <template>
<div class="warning-item" > <div class="warning-item" >
<el-divider content-position="left">处置建议</el-divider> <el-divider content-position="left">处置建议</el-divider>
<div class="item-row" v-for="(it,idx) in list" :key="idx"> <div class="item-row" v-for="(it,idx) in list" :key="idx">
<div class="info-item"> <div class="info-item">
@ -11,7 +10,7 @@
<div class="info-item">建议内容<span>{{ it.jynr || '暂无' }}</span></div> <div class="info-item">建议内容<span>{{ it.jynr || '暂无' }}</span></div>
</div> </div>
<div> <div>
<el-empty v-if="list.length === 0" description="暂无数据" /> <el-empty v-if="list.length === 0" :image-size="0.5" description="暂无数据" />
</div> </div>
<el-divider content-position="left">反馈内容</el-divider> <el-divider content-position="left">反馈内容</el-divider>
@ -28,7 +27,7 @@
</div> </div>
</div> </div>
<div> <div>
<el-empty v-if="Fklist.length === 0" description="暂无数据" /> <el-empty v-if="Fklist.length === 0" :image-size="0.5" description="暂无数据" />
</div> </div>
</div> </div>
@ -66,6 +65,7 @@ onMounted(() => {
.warning-item { .warning-item {
width: 100%; width: 100%;
padding: 15px; padding: 15px;
box-sizing: border-box;
border-radius: 8px; border-radius: 8px;
background-color: #fafafa; background-color: #fafafa;
} }
@ -84,5 +84,9 @@ onMounted(() => {
margin-right: 10px; margin-right: 10px;
} }
} }
::v-deep .el-empty{
--el-empty-padding: 0px;
margin-bottom: 18px;
--el-empty-description-margin-top: 10px;
}
</style> </style>

View File

@ -1,7 +1,7 @@
<template> <template>
<div> <div>
<!-- 表格 --> <!-- 表格 -->
<div class="tabBox" :style="{ height: !search ? maxHeight + 200 + 'px' : (maxHeight + 150) + 'px' }"> <div class="tabBox tabBox_zdy" :style="{ height: maxHeight + 130 + 'px' }">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="maxHeight + 'px'" <MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="maxHeight + 'px'"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
:expand="true" @chooseData="handleChooseData"> :expand="true" @chooseData="handleChooseData">
@ -25,6 +25,7 @@
</template> </template>
</el-image> </el-image>
</template> </template>
<template #nl="{ row }"> <template #nl="{ row }">
{{ IdCard(row.yjRysfzh, 3) }} {{ IdCard(row.yjRysfzh, 3) }}
</template> </template>
@ -126,17 +127,17 @@ const pageData = reactive({
pageSize: 20, pageSize: 20,
pageCurrent: 1 pageCurrent: 1
}, //分页 }, //分页
controlsWidth: 300, //操作栏宽度 controlsWidth: 200, //操作栏宽度
tableColumn: [ tableColumn: [
{ label: "状态", prop: "czzt", showSolt: true },
{ label: "预警图片", prop: "yjTp", showSolt: true, width: 100 }, { label: "预警图片", prop: "yjTp", showSolt: true, width: 100 },
{ label: "布控车牌号", prop: "yjClcph", showOverflowTooltip: true }, { label: "布控车牌号", prop: "yjClcph", showOverflowTooltip: true },
{ label: "处置状态", prop: "czzt", showSolt: true }, { label: "处置状态", prop: "czzt", showSolt: true },
{ label: "预警时间", prop: "yjSj", showOverflowTooltip: true }, { label: "预警时间", prop: "yjSj", showOverflowTooltip: true },
{ label: "标题", prop: "yjBt" }, { label: "标题", prop: "yjBt" },
{ label: "所属部门", prop: "ssbm", showOverflowTooltip: true }, { label: "预警地址", prop: "yjDz", showOverflowTooltip: true },
{ label: "内容", prop: "yjNr", showOverflowTooltip: true }, { label: "接收单位", prop: "ssbm", showOverflowTooltip: true },
{ label: "内容", prop: "yjNr", showOverflowTooltip: true },
] ]
}); });
@ -312,7 +313,7 @@ defineExpose({
}) })
</script> </script>
<style> <style lang="scss">
.el-loading-mask { .el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important; background: rgba(0, 0, 0, 0.5) !important;
} }
@ -357,4 +358,11 @@ defineExpose({
.warning-level-04 td { .warning-level-04 td {
background-color: transparent !important; background-color: transparent !important;
} }
.tabBox_zdy{
.el-table--fit {
overflow: unset !important;
}
}
</style> </style>

View File

@ -158,7 +158,7 @@ const pageData = reactive({
controlsWidth: 160, //操作栏宽度 controlsWidth: 160, //操作栏宽度
tableColumn: [ tableColumn: [
{ label: "预警图片", prop: "yjTp", showSolt: true }, { label: "预警图片", prop: "yjTp", showSolt: true },
{ label: "处置状态", prop: "czzt", showSolt: true }, { label: "状态", prop: "czzt", showSolt: true },
{ label: "预警时间", prop: "yjSj", showOverflowTooltip: true }, { label: "预警时间", prop: "yjSj", showOverflowTooltip: true },
{ label: "姓名", prop: "yjRyxm" }, { label: "姓名", prop: "yjRyxm" },
{ label: "年龄", prop: "nl", showSolt: true }, { label: "年龄", prop: "nl", showSolt: true },
@ -166,7 +166,7 @@ const pageData = reactive({
{ label: "性别", prop: "xb", showSolt: true }, { label: "性别", prop: "xb", showSolt: true },
{ label: "预警级别", prop: "yjJb", showSolt: true }, { label: "预警级别", prop: "yjJb", showSolt: true },
{ label: "相似度", prop: "xsd", showSolt: true }, { label: "相似度", prop: "xsd", showSolt: true },
{ label: "预警地", prop: "yjDz", showOverflowTooltip: true }, { label: "预警地", prop: "yjDz", showOverflowTooltip: true },
{ label: "预警次数", prop: "yjCs", showOverflowTooltip: true }, { label: "预警次数", prop: "yjCs", showOverflowTooltip: true },
{ label: "布控手机号", prop: "yjRysjh", showOverflowTooltip: true }, { label: "布控手机号", prop: "yjRysjh", showOverflowTooltip: true },
{ label: "布控车牌号", prop: "yjClcph", showOverflowTooltip: true }, { label: "布控车牌号", prop: "yjClcph", showOverflowTooltip: true },
@ -175,16 +175,13 @@ const pageData = reactive({
] ]
}); });
const showDc = ref(false) const showDc = ref(false)
const activeName = ref('local')
const addFromRefs = ref(null) const addFromRefs = ref(null)
onMounted(() => { onMounted(() => {
tabHeightFn(); tabHeightFn();
emitter.on('openAddFrom', (val) => { emitter.on('openAddFrom', (val) => {
console.log(addFromRefs.value);
if (addFromRefs.value) { if (addFromRefs.value) {
addFromRefs.value.init('add', val) addFromRefs.value.init('add', val)
} }
// addFromRefs.value.init('add', val)
}) })
}); });
const listQuery = ref({ const listQuery = ref({
@ -205,30 +202,13 @@ const onSearch = () => {
localWarningRef.value.getList(promes) localWarningRef.value.getList(promes)
} }
const loading = ref(false) const loading = ref(false)
const remoteMethod = (query) => {
if (query) {
loading.value = true
tbGsxtZdrySelectList({ ryXm: query }).then(res => {
opentions.value = res
}).finally(() => {
loading.value = false
})
} else {
opentions.value = []
}
}
const searchArr = ref() const searchArr = ref()
const resetForm = (formEl) => { const resetForm = (formEl) => {
listQuery.value = {} listQuery.value = {}
localWarningRef.value.getList() localWarningRef.value.getList()
} }
// // 表格高度计算
// const tabHeightFn = () => {
// pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
// window.onresize = function () {
// tabHeightFn();
// };
// };
// 搜索栏 // 搜索栏
const search = ref(false) const search = ref(false)
const openSearch = () => { const openSearch = () => {

View File

@ -11,7 +11,7 @@
<div class="info-item">建议内容<span>{{ it.jynr || '暂无' }}</span></div> <div class="info-item">建议内容<span>{{ it.jynr || '暂无' }}</span></div>
</div> </div>
<div> <div>
<el-empty v-if="list.length === 0" description="暂无数据" /> <el-empty v-if="list.length === 0" :image-size="0.5" description="暂无数据" />
</div> </div>
<el-divider content-position="left">反馈内容</el-divider> <el-divider content-position="left">反馈内容</el-divider>
@ -28,7 +28,7 @@
</div> </div>
</div> </div>
<div> <div>
<el-empty v-if="Fklist.length === 0" description="暂无数据" /> <el-empty v-if="Fklist.length === 0" :image-size="0.5" description="暂无数据" />
</div> </div>
</div> </div>
@ -62,7 +62,6 @@ onMounted(() => {
Fklist.value = res.fkList || [] Fklist.value = res.fkList || []
}) })
}) })
// console.log('row😃: ', props.row);
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.warning-item { .warning-item {
@ -86,5 +85,9 @@ onMounted(() => {
margin-right: 10px; margin-right: 10px;
} }
} }
::v-deep .el-empty{
--el-empty-padding: 0px;
margin-bottom: 18px;
--el-empty-description-margin-top: 10px;
}
</style> </style>