更新组合预警,行为预警,身份预警的字段,和修改展开样式

This commit is contained in:
2026-01-20 15:45:13 +08:00
parent ec037ad19f
commit d8ee4bb34d
6 changed files with 97 additions and 95 deletions

View File

@ -26,7 +26,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" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
:expand="true" @chooseData="handleChooseData"> :expand="true" @chooseData="handleChooseData">
@ -148,20 +148,16 @@ const pageData = reactive({
pageSize: 20, pageSize: 20,
pageCurrent: 1 pageCurrent: 1
}, //分页 }, //分页
controlsWidth: 160, //操作栏宽度 controlsWidth: 220, //操作栏宽度
tableColumn: [ tableColumn: [
{ label: "状态", prop: "czzt", showSolt: true },
{ label: "预警时间", prop: "yjsj" },
{ label: "姓名", prop: "xm" }, { label: "姓名", prop: "xm" },
{ label: "身份证号", prop: "sfzh", width: 200 }, { label: "身份证号", prop: "sfzh" },
// { label: "电话", prop: "dh", width: 150 }, { label: "标签", prop: "yjbqmc" },
{ label: "行为大类", prop: "xldlmc" }, { label: "接收单位", prop: "ssbm" },
{ label: "行为子类", prop: "xwzlmc", showOverflowTooltip: true }, { label: "活动频次", prop: "xwcs", showSolt: true },
{ label: "行为描述", prop: "xwms", showOverflowTooltip: true }, { label: "预警分值", prop: "xwfz", },
{ label: "行为次数", prop: "xwcs", showSolt: true },
{ label: "行为颜色", prop: "bqys", showSolt: true },
{ label: "行为分值", prop: "xwfz", },
{ label: "处置状态", prop: "czzt", showSolt: true },
{ label: "所属县局", prop: "ssxgaj" },
{ label: "处置单位", prop: "ssbm" },
] ]
}); });
@ -359,17 +355,14 @@ const handleChooseData = (val) => {
} }
const exportExl = () => { const exportExl = () => {
const titleObj = { const titleObj = {
czzt_cname: "状态",
yjsj: "预警时间",
xm: "姓名", xm: "姓名",
sfzh: "身份证号", sfzh: "身份证号",
dh: "电话", yjbqmc: "标签",
xldlmc: "行为大类", ssbm: "接收单位",
xwzlmc: "行为子类", sfcs: "活动频次",
xwms: "行为描述", sffz: "预警分值",
xwcs: "行为次数",
bqys_cname: "行为颜色",
xwfz: "行为分值",
czzt_cname: "处置状态",
ssbm: "所属县局",
} }
/** 导出【选中】的数据 (没有就全部)*/ /** 导出【选中】的数据 (没有就全部)*/
const needArr = selectRows.value?.length > 0 ? selectRows.value : pageData.tableData const needArr = selectRows.value?.length > 0 ? selectRows.value : pageData.tableData
@ -386,7 +379,7 @@ 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;
} }
@ -398,4 +391,11 @@ const exportExl = () => {
border-color: #c2c203; border-color: #c2c203;
outline-color: #0000ff; outline-color: #0000ff;
} }
.tabBox_zdy{
.el-table--fit {
overflow: unset !important;
}
}
</style> </style>

View File

@ -11,9 +11,8 @@
<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>
<div class="item-row" v-for="(it,idx) in Fklist" :key="idx"> <div class="item-row" v-for="(it,idx) in Fklist" :key="idx">
<div class="info-item"> <div class="info-item">
@ -28,13 +27,13 @@
</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>
</template> </template>
<script setup> <script setup>
import { ref, computed, onMounted } from 'vue' import { ref, onMounted } from 'vue'
import { qcckPost,qcckGet } from "@/api/qcckApi.js"; import { qcckPost,qcckGet } from "@/api/qcckApi.js";
const props = defineProps({ const props = defineProps({
@ -61,7 +60,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,4 +84,11 @@ onMounted(() => {
} }
} }
::v-deep .el-empty{
--el-empty-padding: 0px;
margin-bottom: 18px;
--el-empty-description-margin-top: 10px;
}
</style> </style>

View File

@ -26,7 +26,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" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
:expand="true" @chooseData="handleChooseData"> :expand="true" @chooseData="handleChooseData">
@ -40,7 +40,7 @@
<DictTag :value="row.czzt" :options="D_GSXT_YJXX_CZZT" /> <DictTag :value="row.czzt" :options="D_GSXT_YJXX_CZZT" />
</template> </template>
<template #expand="{ props }"> <template #expand="{ props }">
<div class="expand-content" style="max-width: 100%; max-height: 400px; overflow-y: auto; padding: 10px;"> <div>
<Items :row="props || {}" :dict="dict" /> <Items :row="props || {}" :dict="dict" />
</div> </div>
</template> </template>
@ -141,19 +141,14 @@ const pageData = reactive({
}, },
controlsWidth: 200, controlsWidth: 200,
tableColumn: [ tableColumn: [
{ label: "状态", prop: "czzt", showSolt: true },
{ label: "预警时间", prop: "yjsj"},
{ label: "姓名", prop: "xm" }, { label: "姓名", prop: "xm" },
{ label: "身份证号", prop: "sfzh" , width: 200 }, { label: "身份证号", prop: "sfzh" },
// { label: "电话", prop: "dh" }, { label: "标签", prop: "yjbqmc" },
{ label: "预警标签", prop: "yjbqmc" }, { label: "接收单位", prop: "ssbm" },
// { label: "组合大类", prop: "sfdlmc" }, { label: "活动频次", prop: "sfcs" },
// { label: "组合小类", prop: "sfzlmc" },
{ label: "组合次数", prop: "sfcs", showSolt: true },
{ label: "标签颜色", prop: "bqys", showSolt: true },
{ label: "预警时间", prop: "yjsj" , width: 200 },
{ label: "预警分值", prop: "sffz" }, { label: "预警分值", prop: "sffz" },
{ label: "处置状态", prop: "czzt", showSolt: true },
{ label: "所属县局", prop: "ssxgaj" },
{ label: "处置单位", prop: "ssbm" },
] ]
}); });
@ -344,19 +339,15 @@ const handleChooseData = (val) => {
selectRows.value = val selectRows.value = val
} }
const exportExl = () => { const exportExl = () => {
const titleObj = { const titleObj = {
czzt_cname: "状态",
yjsj: "预警时间",
xm: "姓名", xm: "姓名",
sfzh: "身份证号", sfzh: "身份证号",
dh: "电话", yjbqmc: "标签",
sfdlmc: "组合大类", ssbm: "接收单位",
sfzlmc: "组合小类", sfcs: "活动频次",
sfcs: "组合次数",
bqys_cname: "标签颜色",
yjsj: "预警时间",
sffz: "预警分值", sffz: "预警分值",
czzt_cname: "处置状态",
ssbm: "所属县局",
} }
/** 导出【选中】的数据 (没有就全部)*/ /** 导出【选中】的数据 (没有就全部)*/
const needArr = selectRows.value?.length > 0 ? selectRows.value : pageData.tableData const needArr = selectRows.value?.length > 0 ? selectRows.value : pageData.tableData
@ -373,9 +364,17 @@ 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

@ -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>
@ -67,6 +66,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;
} }
@ -85,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>

View File

@ -26,21 +26,18 @@
</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">
<template #expand="{ props }"> <template #expand="{ props }">
<div class="expand-content" style="max-width: 100%"> <div style="max-width: 100%">
<Items :row="props || {}" :dict="dict" /> <Items :row="props || {}" :dict="dict" />
</div> </div>
</template> </template>
<template #sfcs="{ row }"> <template #sfcs="{ row }">
<span style="color: #0072ff;" @click="handleClick(row)">{{ row.sfcs }}</span> <span style="color: #0072ff;" @click="handleClick(row)">{{ row.sfcs }}</span>
</template> </template>
<template #bqys="{ row }">
<DictTag :value="row.bqys" :tag="false" :color="bqYs(row.bqys)" :options="D_GS_SSYJ" />
</template>
<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>
@ -139,26 +136,20 @@ const pageData = reactive({
}, },
controlsWidth: 200, //操作栏宽度 controlsWidth: 200, //操作栏宽度
tableColumn: [ tableColumn: [
{ label: "状态", prop: "czzt", showSolt: true },
{ label: "预警时间", prop: "yjsj"},
{ label: "姓名", prop: "xm" }, { label: "姓名", prop: "xm" },
{ label: "身份证号", prop: "sfzh" , width: 200 }, { label: "身份证号", prop: "sfzh" },
// { label: "电话", prop: "dh" }, { label: "标签", prop: "yjbqmc" },
{ label: "预警标签", prop: "yjbqmc" }, { label: "接收单位", prop: "ssbm" },
// { label: "组合大类", prop: "sfdlmc" }, { label: "活动频次", prop: "sfcs" },
// { label: "组合小类", prop: "sfzlmc" },
{ label: "组合次数", prop: "sfcs", showSolt: true },
{ label: "标签颜色", prop: "bqys", showSolt: true },
{ label: "预警时间", prop: "yjsj", width: 200 },
{ label: "预警分值", prop: "sffz" }, { label: "预警分值", prop: "sffz" },
{ label: "处置状态", prop: "czzt", showSolt: true },
{ label: "所属县局", prop: "ssxgaj" },
{ label: "处置单位", prop: "ssbm" },
] ]
}); });
onMounted(() => { onMounted(() => {
let str = getItem('deptId') ? getItem('deptId')[0].deptLevel : '' let str = getItem('deptId') ? getItem('deptId')[0].deptLevel : ''
permission_sfqs.value = str.startsWith('2'||'3') ? false : true; permission_sfqs.value = str.startsWith('2'||'3') ? false : true;
let rols = getItem('roleList') ? getItem('roleList'):[] let rols = getItem('roleList') ? getItem('roleList'):[]
let obj = rols.find(item => { let obj = rols.find(item => {
return ['JS_666666','JS_777777','JS_888888'].includes(item.roleCode) return ['JS_666666','JS_777777','JS_888888'].includes(item.roleCode)
@ -208,7 +199,6 @@ const getList = () => {
bqys_cname: getMultiDictVal(item.bqys, D_GS_SSYJ), bqys_cname: getMultiDictVal(item.bqys, D_GS_SSYJ),
czzt_cname: getMultiDictVal(item.czzt, D_GSXT_YJXX_CZZT), czzt_cname: getMultiDictVal(item.czzt, D_GSXT_YJXX_CZZT),
} }
}) })
pageData.total = res?.total || 0; pageData.total = res?.total || 0;
pageData.tableConfiger.loading = false; pageData.tableConfiger.loading = false;
@ -365,17 +355,14 @@ const handleChooseData = (val) => {
} }
const exportExl = () => { const exportExl = () => {
const titleObj = { const titleObj = {
czzt_cname: "状态",
yjsj: "预警时间",
xm: "姓名", xm: "姓名",
sfzh: "身份证号", sfzh: "身份证号",
dh: "电话", yjbqmc: "标签",
sfdlmc: "组合大类", ssbm: "接收单位",
sfzlmc: "组合小类", sfcs: "活动频次",
sfcs: "组合次数",
bqys_cname: "标签颜色",
yjsj: "预警时间",
sffz: "预警分值", sffz: "预警分值",
czzt_cname: "处置状态",
ssbm: "所属县局",
} }
/** 导出【选中】的数据 (没有就全部)*/ /** 导出【选中】的数据 (没有就全部)*/
const needArr = selectRows.value?.length > 0 ? selectRows.value : pageData.tableData const needArr = selectRows.value?.length > 0 ? selectRows.value : pageData.tableData
@ -392,8 +379,17 @@ const exportExl = () => {
</script> </script>
<style> <style scoped >
</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

@ -1,7 +1,6 @@
<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">
<span class="text">预警人姓名{{ it.jryXm }}</span> <span class="text">预警人姓名{{ it.jryXm }}</span>
@ -10,10 +9,7 @@
</div> </div>
<div class="info-item">建议内容<span>{{ it.jynr || '暂无' }}</span></div> <div class="info-item">建议内容<span>{{ it.jynr || '暂无' }}</span></div>
</div> </div>
<div> <el-empty v-if="list.length === 0" :image-size="0.5" description="暂无数据" />
<el-empty v-if="list.length === 0" description="暂无数据" />
</div>
<el-divider content-position="left">反馈内容</el-divider> <el-divider content-position="left">反馈内容</el-divider>
<div class="item-row" v-for="(it,idx) in Fklist" :key="idx"> <div class="item-row" v-for="(it,idx) in Fklist" :key="idx">
<div class="info-item"> <div class="info-item">
@ -27,14 +23,11 @@
<span class="text">常控立线侦察评估依据<span>{{ it.cklxzcpgyj || '暂无' }}</span></span> <span class="text">常控立线侦察评估依据<span>{{ it.cklxzcpgyj || '暂无' }}</span></span>
</div> </div>
</div> </div>
<div> <el-empty :image-size="0.5" v-if="Fklist.length === 0" description="暂无数据" />
<el-empty v-if="Fklist.length === 0" description="暂无数据" />
</div>
</div> </div>
</template> </template>
<script setup> <script setup>
import { ref, computed, onMounted } from 'vue' import { ref, onMounted } from 'vue'
import { qcckPost,qcckGet } from "@/api/qcckApi.js"; import { qcckPost,qcckGet } from "@/api/qcckApi.js";
const props = defineProps({ const props = defineProps({
@ -67,14 +60,13 @@ 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;
} }
.item-row{ .item-row{
border-bottom: 1px dashed #e8e8e8; border-bottom: 1px dashed #e8e8e8;
line-height: 36px; line-height: 36px;
padding-bottom: 10px;
margin-bottom: 10px;
} }
.info-item{ .info-item{
line-height: 36px; line-height: 36px;
@ -86,4 +78,10 @@ onMounted(() => {
} }
} }
::v-deep .el-empty{
--el-empty-padding: 0px;
margin-bottom: 18px;
--el-empty-description-margin-top: 10px;
}
</style> </style>