This commit is contained in:
lcw
2026-04-29 02:23:59 +08:00
parent cd8347d3d1
commit 883416417f
17 changed files with 338 additions and 390 deletions

View File

@ -83,5 +83,5 @@
"sass-loader": "^8.0.2",
"svg-sprite-loader": "^6.0.9",
"vue-cli-plugin-element-plus": "0.0.13"
},
}
}

View File

@ -82,6 +82,7 @@ const playAudioByType = (val) => {
switch (val.yjlb) {
case "01":
case "02":
if (val.sfQs == '1') return
if (val.yjJb == "01") {
getAudioPlayer("18")?.play();
getAudioPlayer("17")?.play();

View File

@ -26,11 +26,13 @@
<div v-if="disabled">
<h3 class="tags-title">审核状态</h3>
<div style="display: flex;justify-content:space-between;width: 200%;">
<div style="display: flex;">
市审核状态<DictTag v-model:value="listQuery.sldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
<div style="display: flex;">
市审核状态
<DictTag v-model:value="listQuery.sldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
</div>
<div style="display: flex;">
县审核状态<DictTag v-model:value="listQuery.xldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
<div style="display: flex;">
县审核状态
<DictTag v-model:value="listQuery.xldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
</div>
</div>
</div>
@ -183,7 +185,7 @@ watch(() => dialogForm.value, (val) => {
{ label: "情报标题", prop: "qbmc", type: "input", width: '45%' },
{ label: "情报内容", prop: "qbnr", type: "textarea", width: '100%', rows: 100 },
{ label: "附件上传", prop: "fjdz", type: "upload", width: '100%', isImg: false },
{ label: "", prop: "jbxx", type: "slot", width: '100%',},
{ label: "", prop: "jbxx", type: "slot", width: '100%', },
{ label: "", prop: "shzt", type: "slot", width: '100%' },
]
@ -236,7 +238,6 @@ const init = (type, row) => {
// 根据id查询详情
const getDataById = (id) => {
xxcjSelectByid({ id }).then((res) => {
lcList.value = res.czlcList || []
listQuery.value = res;
listQuery.value.fjdz = res.fjdz ? res.fjdz?.split(",") : []
@ -305,9 +306,7 @@ const close = () => {
const lcList = ref([])
const getqbcjPldb = (id) => {
xxcjSelectCzlcList({ qbid: id }).then(res => {
console.log(res);
xxcjSelectCzlcList({ id }).then(res => {
lcList.value = res || []
})
.catch(() => {

View File

@ -119,8 +119,8 @@ import { useRoute, useRouter } from 'vue-router'
import * as MOSTY from "@/components/MyComponents/index";
const { proxy } = getCurrentInstance()
const {D_BZ_SSSHZT,D_BZ_LCZT} =proxy.$dict('D_BZ_SSSHZT','D_BZ_LCZT')
const route=useRoute()
const { D_BZ_SSSHZT, D_BZ_LCZT } = proxy.$dict('D_BZ_SSSHZT', 'D_BZ_LCZT')
const route = useRoute()
const emit = defineEmits(["getList"]);
const props = defineProps({
dict: Object,
@ -159,13 +159,13 @@ onMounted(() => {
})
// 初始化数据
const init = () => {
const id= route.query.id
const id = route.query.id
disabled.value = true
fjdz.value = []
getqbcjPldb(id)
getxxcjSelectListBc(id, '01')
getxxcjSelectListBc(id, '02')
getDataById(id);
getDataById(id);
};
// 根据id查询详情
const getDataById = (id) => {
@ -182,7 +182,7 @@ const getDataById = (id) => {
const lcList = ref([])
const getqbcjPldb = (id) => {
xxcjSelectCzlcList({ qbid: id }).then(res => {
xxcjSelectCzlcList({ id: id }).then(res => {
lcList.value = res || []
})
.catch(() => {

View File

@ -34,11 +34,13 @@
<div v-if="disabled">
<h3 class="tags-title">审核状态</h3>
<div style="display: flex;justify-content:space-between;width: 200%;">
<div style="display: flex;">
市审核状态<DictTag v-model:value="listQuery.sldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
<div style="display: flex;">
市审核状态
<DictTag v-model:value="listQuery.sldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
</div>
<div style="display: flex;">
县审核状态<DictTag v-model:value="listQuery.xldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
<div style="display: flex;">
县审核状态
<DictTag v-model:value="listQuery.xldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
</div>
</div>
</div>
@ -193,7 +195,7 @@ watch(() => dialogForm.value, (val) => {
{ label: "情报标题", prop: "qbmc", type: "input", width: '45%' },
{ label: "情报内容", prop: "qbnr", type: "textarea", width: '100%', rows: 100 },
{ prop: "scfj", type: "slot", width: '100%' },
{ label: "", prop: "jbxx", type: "slot", width: '100%',},
{ label: "", prop: "jbxx", type: "slot", width: '100%', },
{ label: "", prop: "shzt", type: "slot", width: '100%' },
]
}
@ -328,7 +330,7 @@ const close = () => {
const lcList = ref([])
const getqbcjPldb = (id) => {
xxcjSelectCzlcList({ qbid: id }).then(res => {
xxcjSelectCzlcList({ id: id }).then(res => {
console.log(res);
lcList.value = res || []
})
@ -607,11 +609,13 @@ defineExpose({ init });
height: 100%;
overflow: hidden;
overflow-y: auto;
.timeline-content{
.timeline-content {
width: 100%;
padding: 0 10px;
box-sizing: border-box;
::v-deep .el-timeline-item__wrapper{
::v-deep .el-timeline-item__wrapper {
padding-left: 21px;
box-sizing: border-box;
}
@ -763,7 +767,7 @@ defineExpose({ init });
font-style: italic;
}
::v-deep .el-textarea.is-disabled .el-textarea__inner{
::v-deep .el-textarea.is-disabled .el-textarea__inner {
color: #333 !important;
}
</style>

View File

@ -1,11 +1,5 @@
<template>
<el-dialog
v-model="visible"
title="布控详情"
width="800px"
:close-on-click-modal="false"
destroy-on-close
>
<el-dialog v-model="visible" title="布控详情" width="800px" :close-on-click-modal="false" destroy-on-close>
<el-descriptions :column="2" border v-if="detailData">
<el-descriptions-item label="布控对象" :span="2">
<span v-if="detailData.bkdxList && detailData.bkdxList.length">
@ -32,7 +26,7 @@
{{ detailData.bkfqrXm || '-' }}
</el-descriptions-item>
<el-descriptions-item label="布控状态">
<DictTag :value="detailData.bkZt" :tag="false" :options="D_GS_BK_ZT" />
<DictTag :value="detailData.bkZt" :tag="false" :options="D_ZDRY_BKZT" />
</el-descriptions-item>
<!-- <el-descriptions-item label="不通过原因">
{{ detailData.bkspBtgyy || '-' }}
@ -50,11 +44,11 @@ import { ref, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const {
D_GS_BK_ZT,
D_ZDRY_BKZT,
D_GS_SSYJ,
D_GS_BK_NEWDX
} = proxy.$dict(
"D_GS_BK_ZT",
"D_ZDRY_BKZT",
"D_GS_SSYJ",
"D_GS_BK_NEWDX"
);

View File

@ -2,12 +2,7 @@
<div>
<!-- 搜索 -->
<div ref="searchBox" class="mt10 mb10">
<QueryFormPanel
v-model="queryFrom"
:searchArr="searchConfiger"
ref="searchDom"
@search="onSearch"
>
<QueryFormPanel v-model="queryFrom" :searchArr="searchConfiger" ref="searchDom" @search="onSearch">
<!-- <template #but>
<el-button type="primary" size="small" @click="exportExl"
>批量导出</el-button
@ -17,45 +12,36 @@
</div>
<!-- 表格 -->
<div style="background-color: #fff">
<MyTable
:tableConfiger="pageData.tableConfiger"
:tableHeight="pageData.tableHeight"
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:controlsWidth="pageData.controlsWidth"
@chooseData="handleChooseData"
:key="pageData.keyCount"
>
<template #bkZt="{ row }">
<DictTag :tag="false" :value="row.bkZt" :options="D_GS_BK_ZT" />
</template>
<MyTable :tableConfiger="pageData.tableConfiger" :tableHeight="pageData.tableHeight"
:tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :controlsWidth="pageData.controlsWidth"
@chooseData="handleChooseData" :key="pageData.keyCount">
<template #bkZt="{ row }">
<DictTag :tag="false" :value="row.bkZt" :options="D_ZDRY_BKZT" />
</template>
<template #shzt="{ row }">
<DictTag :tag="false" :value="row.shzt" :options="D_GS_BK_ZT" />
</template>
<template #bkDj="{ row }">
<DictTag :tag="false" :value="row.bkDj" :options="D_GS_SSYJ"/>
</template>
<DictTag :tag="false" :value="row.bkDj" :options="D_GS_SSYJ" />
</template>
<template #bkDx="{ row }">
<DictTag :tag="false" :value="row.bkDx" :options="D_GS_BK_NEWDX" />
</template>
<template #bkdxList="{ row }">
<span v-if="row.bkdxList"><span class="nowrap" v-for="(it, idx) in row.bkdxList" :key="idx">
{{ it.ryXm ? it.ryXm : it.imei ? it.imei : it.imsi ? it.imsi : '' }}
<span v-if="idx < row.bkdxList.length - 1"></span></span></span>
<span v-else>暂无</span>
</template>
<DictTag :tag="false" :value="row.bkDx" :options="D_GS_BK_NEWDX" />
</template>
<template #bkdxList="{ row }">
<span v-if="row.bkdxList"><span class="nowrap" v-for="(it, idx) in row.bkdxList" :key="idx">
{{ it.ryXm ? it.ryXm : it.imei ? it.imei : it.imsi ? it.imsi : '' }}
<span v-if="idx < row.bkdxList.length - 1"></span></span></span>
<span v-else>暂无</span>
</template>
<template #controls="{ row }">
<el-link type="primary" @click="handleDetail(row)">详情</el-link>
<el-link type="success" @click="handleApprove(row)" v-if="row.bkZt == '02'">审核</el-link>
<el-link type="success" @click="handleApprove(row)" v-if="row.shzt == '02'">审核</el-link>
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"></Pages>
</div>
<!-- 详情弹窗 -->
<DetailDialog ref="detailDialogRef" />
@ -77,7 +63,7 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const { D_GS_BK_DJ, D_GS_BK_YZ, D_GS_BK_ZT, D_GS_SSYJ, D_GS_BK_NEWDX } = proxy.$dict( "D_GS_BK_DJ", "D_GS_BK_YZ", "D_GS_BK_ZT", "D_GS_SSYJ", "D_GS_BK_NEWDX" );
const { D_GS_BK_DJ, D_GS_BK_YZ, D_GS_BK_ZT, D_GS_SSYJ, D_GS_BK_NEWDX, D_ZDRY_BKZT } = proxy.$dict("D_GS_BK_DJ", "D_GS_BK_YZ", "D_GS_BK_ZT", "D_GS_SSYJ", "D_GS_BK_NEWDX", "D_ZDRY_BKZT");
const searchBox = ref();
const searchConfiger = ref([
@ -100,6 +86,13 @@ const searchConfiger = ref([
prop: "bkZt",
placeholder: "请选择布控状态",
showType: "select",
options: D_ZDRY_BKZT
},
{
label: "审核状态",
prop: "shzt",
placeholder: "请选择审核状态",
showType: "select",
options: D_GS_BK_ZT
},
{
@ -142,6 +135,7 @@ const pageData = reactive({
{ label: "结束时间", prop: "bkSjJs", showOverflowTooltip: true },
{ label: "申请人", prop: "bkfqrXm" },
{ label: "布控状态", prop: "bkZt", showSolt: true },
{ label: "审核状态", prop: "shzt", showSolt: true },
]
});
@ -245,5 +239,4 @@ const tabHeightFn = () => {
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>

View File

@ -2,12 +2,7 @@
<div>
<!-- 搜索 -->
<div ref="searchBox" class="mt10 mb10">
<QueryFormPanel
v-model="queryFrom"
:fields="searchConfiger"
ref="searchDom"
@search="onSearch"
>
<QueryFormPanel v-model="queryFrom" :fields="searchConfiger" ref="searchDom" @search="onSearch">
<!-- <template #but>
<el-button type="primary" size="small" @click="exportExl"
>批量导出</el-button
@ -17,37 +12,37 @@
</div>
<!-- 表格 -->
<div style="background-color: #fff">
<MyTable
:tableConfiger="pageData.tableConfiger"
:tableHeight="pageData.tableHeight"
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:controlsWidth="pageData.controlsWidth"
@chooseData="handleChooseData"
>
<template #bkdj="{ row }">
<DictTag :value="row.bkdj" :tag="false" :options="D_GS_BK_DJ" />
<MyTable :tableConfiger="pageData.tableConfiger" :tableHeight="pageData.tableHeight"
:tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :controlsWidth="pageData.controlsWidth"
@chooseData="handleChooseData" :key="pageData.keyCount">
<template #bkZt="{ row }">
<DictTag :tag="false" :value="row.bkZt" :options="D_ZDRY_BKZT" />
</template>
<template #byz="{ row }">
<DictTag :value="row.byz" :tag="false" :options="D_GS_BK_YZ" />
<template #shzt="{ row }">
<DictTag :tag="false" :value="row.shzt" :options="D_GS_BK_ZT" />
</template>
<template #qyzt="{ row }">
<DictTag :value="row.qyzt" :tag="false" :options="D_GS_BK_ZT" />
<template #bkDj="{ row }">
<DictTag :tag="false" :value="row.bkDj" :options="D_GS_SSYJ" />
</template>
<template #bkDx="{ row }">
<DictTag :tag="false" :value="row.bkDx" :options="D_GS_BK_NEWDX" />
</template>
<template #bkdxList="{ row }">
<span v-if="row.bkdxList"><span class="nowrap" v-for="(it, idx) in row.bkdxList" :key="idx">
{{ it.ryXm ? it.ryXm : it.imei ? it.imei : it.imsi ? it.imsi : it.rySfzh }}
<span v-if="idx < row.bkdxList.length - 1"></span></span></span>
<span v-else>暂无</span>
</template>
<template #controls="{ row }">
<el-link type="primary" @click="handleDetail(row)">详情</el-link>
<el-link type="success" @click="handleApprove(row)" v-if="row.bkZt == '02'">审核</el-link>
<el-link type="success" @click="handleApprove(row)" v-if="row.shzt == '02'">审核</el-link>
</template>
</MyTable>
<Pages
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"
></Pages>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"></Pages>
</div>
<!-- 详情弹窗 -->
<DetailDialog ref="detailDialogRef" />
@ -73,17 +68,23 @@ const {
D_GS_BK_DJ,
D_GS_BK_YZ,
D_GS_BK_ZT,
D_BZ_JQDJ
D_BZ_JQDJ,
D_GS_BK_NEWDX,
D_GS_SSYJ,
D_ZDRY_BKZT
} = proxy.$dict(
"D_GS_BK_DJ",
"D_GS_BK_YZ",
"D_GS_BK_ZT",
'D_BZ_JQDJ'
'D_BZ_JQDJ',
"D_GS_BK_NEWDX",
"D_GS_SSYJ",
"D_ZDRY_BKZT"
);
const searchBox = ref();
const searchConfiger = ref([
{
{
key: "bkDj",
label: "布控等级",
type: "select",
@ -137,10 +138,14 @@ const pageData = reactive({
},
controlsWidth: 200,
tableColumn: [
{ prop: "bkbt", label: "布控标题" },
{ prop: "bkdj", label: "布控等级", align: "center", showSolt: true },
{ prop: "byz", label: "布控要旨", align: "center", showSolt: true },
{ prop: "qyzt", label: "布控状态", align: "center", showSolt: true }
{ label: "布控对象", prop: "bkdxList", showSolt: true, showOverflowTooltip: true },
{ label: "布控类型", prop: "bkDx", showSolt: true, showOverflowTooltip: true },
{ label: "布控等级", prop: "bkDj", showSolt: true },
{ label: "开始时间", prop: "bkSjKs", showOverflowTooltip: true },
{ label: "结束时间", prop: "bkSjJs", showOverflowTooltip: true },
{ label: "申请人", prop: "bkfqrXm" },
{ label: "布控状态", prop: "bkZt", showSolt: true },
{ label: "审核状态", prop: "shzt", showSolt: true },
]
});
@ -234,5 +239,4 @@ const tabHeightFn = () => {
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>

View File

@ -14,8 +14,12 @@
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
<template #bkZt="{ row }">
<DictTag :tag="false" :value="row.bkZt" :options="D_GS_BK_ZT" />
<DictTag :tag="false" :value="row.bkZt" :options="D_ZDRY_BKZT" />
</template>
<template #shzt="{ row }">
<DictTag :tag="false" :value="row.shzt" :options="D_GS_BK_ZT" />
</template>
<template #bkDj="{ row }">
<DictTag :tag="false" :value="row.bkDj" :options="D_GS_SSYJ" v-if="route.name == 'myControl'" />
<DictTag :tag="false" :value="row.bkDj" :options="D_BZ_JQDJ" v-else />
@ -25,10 +29,10 @@
</template>
<template #bkdxList="{ row }">
<span v-if="row.bkdxList"><span class="nowrap" v-for="(it, idx) in row.bkdxList" :key="idx">
{{ it.ryXm ? it.ryXm : it.imei ? it.imei : it.imsi ? it.imsi : '' }}
<!-- :it.ryXm?it.mac:it.imsi?it.imsi:'xxxx' -->
{{ it.ryXm ? it.ryXm : it.imei ? it.imei : it.imsi ? it.imsi : it.rySfzh }}
<span v-if="idx < row.bkdxList.length - 1"></span></span></span>
<span v-else>暂无</span>
</template>
<!-- <template #sjrs="{ row }">
<span v-if="row.bkdxList"> {{ row.bkdxList.length }} </span>
@ -102,9 +106,9 @@ const route = useRoute()
const { proxy } = getCurrentInstance();
const { D_GS_BK_BKYS, D_BZ_XB, D_GS_BK_SJLX, D_GS_SSYJ, BD_BK_CLYJBQ, D_GS_ZDR_YJDJ,
D_GS_BK_NEWDX, D_GS_BK_ZT, D_GS_BK_CZYQ, D_GS_BK_CZJSDWLX, D_GS_BK_TJFS, D_BZ_BKLYS, D_GZL_SHZT,
D_BZ_JQDJ, D_BZ_SF } = proxy.$dict("D_GS_ZDR_YJDJ", "D_GS_BK_BKYS", "D_BZ_XB", "D_GS_BK_SJLX",
D_BZ_JQDJ, D_BZ_SF, D_ZDRY_BKZT } = proxy.$dict("D_GS_ZDR_YJDJ", "D_GS_BK_BKYS", "D_BZ_XB", "D_GS_BK_SJLX",
"D_GS_SSYJ", "D_GS_BK_NEWDX", "D_GS_BK_ZT", "D_GS_BK_CZYQ", "D_GS_BK_CZJSDWLX", "D_GS_BK_TJFS", 'D_GZL_SHZT',
'BD_BK_CLYJBQ', 'D_BZ_JQDJ', "D_BZ_BKLYS", "D_BZ_SF"); //获取字典数据
'BD_BK_CLYJBQ', 'D_BZ_JQDJ', "D_BZ_BKLYS", "D_BZ_SF", "D_ZDRY_BKZT"); //获取字典数据
const addBkdxForm = ref(null); //布控对象组件
const warningkdxForm = ref(); //布控对象组件
const searchBox = ref(); //搜索框
@ -190,6 +194,7 @@ const pageData = reactive({
{ label: "申请人", prop: "bkfqrXm" },
{ label: "身份证号", prop: "bkfqrSfzh" },
{ label: "布控状态", prop: "bkZt", showSolt: true },
{ label: "审核状态", prop: "shzt", showSolt: true },
]
});
// 固定值
@ -322,10 +327,17 @@ const tabHeightFn = () => {
};
};
const tbGsxtBkQuashList = (item) => {
tbGsxtBkQuash({ id: item.id }).then(res => {
proxy.$message({ type: "success", message: "操作成功" });
getList();
})
proxy.$confirm("确定要进行撤控吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
tbGsxtBkQuash({ id: item.id }).then(res => {
proxy.$message({ type: "success", message: "操作成功" });
getList();
})
}).catch(() => { })
}
</script>

View File

@ -36,7 +36,9 @@
</span>
<span class="meta-divider">|</span>
<span class="meta-item">
<DictTag :value="getSexFromIdCard" :tag="false" :options="dict.D_BZ_XB" color="#ffffff99" />
{{ IdCard(dataForm.yjRysfzh, 2) }}
<!-- <DictTag :value="" :tag="false" :options="dict.D_BZ_XB"
color="#ffffff99" /> -->
</span>
</div>
</div>
@ -78,7 +80,7 @@
<div class="quick-stat-value">{{ dataForm.ssbm || '-' }}</div>
</div>
</div>
<div class="quick-stat-item warning">
<!-- <div class="quick-stat-item warning">
<el-icon class="quick-stat-icon">
<Clock />
</el-icon>
@ -86,7 +88,7 @@
<div class="quick-stat-label">签收时限</div>
<div class="quick-stat-value warning">{{ dataForm.qssj || '-' }}</div>
</div>
</div>
</div> -->
</div>
</div>
</div>
@ -122,7 +124,7 @@
<div class="info-row">
<div class="info-label">性别</div>
<div class="info-value">
<DictTag :value="dataForm.xbdm" :tag="false" :options="dict.D_BZ_XB" />
{{ IdCard(dataForm.yjRysfzh, 2) }}
</div>
</div>
<div class="info-row">
@ -151,7 +153,7 @@
<div class="info-label">预警级别</div>
<div class="info-value">
<span class="warning-level" :class="ys()">
<DictTag :value="dataForm.yjJb" :tag="false" :options="dict.D_BZ_YJJB" />
<DictTag :value="dataForm.yjJb" :tag="false" :options="dict.D_GS_ZDR_YJDJ" />
</span>
</div>
</div>
@ -230,14 +232,7 @@
<span v-else></span>
</div>
</div>
<div class="info-row highlight warning">
<div class="info-label">签收时限</div>
<div class="info-value">{{ dataForm.qssj || '—' }}</div>
</div>
<div class="info-row">
<div class="info-label">反馈时限</div>
<div class="info-value">{{ dataForm.fksj || '—' }}</div>
</div>
<div class="info-row">
<div class="info-label">处置建议</div>
<div class="info-value">
@ -253,10 +248,19 @@
<div class="info-label">签收人</div>
<div class="info-value">{{ dataForm.qsrxm || '—' }}</div>
</div>
<div class="info-row highlight warning">
<div class="info-label">签收时间</div>
<div class="info-value">{{ dataForm.qssj || '—' }}</div>
</div>
<div class="info-row feedback-highlight">
<div class="info-label">反馈人</div>
<div class="info-value">{{ dataForm.fkrxm || '—' }}</div>
</div>
<div class="info-row">
<div class="info-label">反馈时间</div>
<div class="info-value">{{ dataForm.fksj || '—' }}</div>
</div>
<div class="info-row feedback-highlight last">
<div class="info-label">反馈内容</div>
<div class="info-value">
@ -471,7 +475,7 @@ onUnmounted(() => {
});
const warningLevelText = computed(() => {
const map = { '01': '红色预警', '02': '橙色预警', '03': '黄色预警', '04': '蓝色预警' };
const map = { '01': '一级预警', '02': '二级预警', '03': '三级预警', '04': '四级预警' };
return map[dataForm.value.yjJb] || '未知预警';
});
@ -490,13 +494,6 @@ const formatHistoryDate = (dateStr) => {
return dateStr.split(' ')[0];
};
// 根据身份证号获取性别代码IdCard返回"男"/"女"转为字典代码01/02
const getSexFromIdCard = computed(() => {
const sexText = IdCard(dataForm.value.yjRysfzh, 2);
if (!sexText) return '';
return sexText === '男' ? '01' : '02';
});
// 根据身份证号获取年龄
const getAgeFromIdCard = computed(() => {
return IdCard(dataForm.value.yjRysfzh, 3) || '-';

View File

@ -88,7 +88,9 @@
D_GS_QLZDRLX,
D_GS_ZDR_RYJB,
D_GS_ZDR_GJLB,
D_GS_BK_CZYQ
D_GS_BK_CZYQ,
D_BZ_QBLYJB,
}" />
<DeploymentDataDialog v-model="selectDataVisible" title="关联预警" @confirm="handleSelectConfirm"
:currentRelatedRow="currentRelatedRow" />

View File

@ -53,7 +53,7 @@
</template>
<template #yjJb="{ row }">
<div :style="{ 'background-color': bqYs(row.yjJb) }">
<DictTag :value="row.yjJb" color="#fff" :tag="false" :options="D_BZ_YJJB" />
<DictTag :value="row.yjJb" color="#fff" :tag="false" :options="D_GS_ZDR_YJDJ" />
</div>
</template>
<template #bqdl="{ row }">
@ -85,7 +85,7 @@
</div>
<ZpForm v-model="warningShow" :dataList="dataList" />
<Particulars v-model="particularsShow" :dataList="dataPres"
:dict="{ D_BZ_XB, D_BZ_YJJB, D_GS_QLZDRLX, D_GS_ZDR_RYJB, D_GS_ZDR_GJLB }" />
:dict="{ D_BZ_XB, D_GS_ZDR_YJDJ, D_GS_QLZDRLX, D_GS_ZDR_RYJB, D_GS_ZDR_GJLB }" />
<peopleConut v-model="searchOpen" :dataConut="dataConut" />
<FkDialog @change="getList" lx="05" />
<ZbFkDialog @change="getList" />
@ -113,7 +113,7 @@ const {
// D_BZ_YJLY,
D_GS_QLZDRLX,
D_GS_ZDR_GJLB,
D_BZ_YJJB,
D_GS_ZDR_YJDJ,
D_GS_CSZT,
D_BZ_XB,
D_GSXT_YJXX_CZZT,
@ -122,7 +122,7 @@ const {
} = proxy.$dict(
// "D_BZ_YJLY",
"D_GS_QLZDRLX",
"D_BZ_YJJB",
"D_GS_ZDR_YJDJ",
"D_BZ_XB",
"D_GSXT_YJXX_CZZT",
"D_GS_ZDR_RYJB",
@ -200,7 +200,7 @@ const searchConfiger = ref([
key: "yjJb",
label: "预警级别",
type: "select",
options: D_BZ_YJJB,
options: D_GS_ZDR_YJDJ,
multiple: true,
placeholder: "请选择预警级别"
},
@ -392,7 +392,7 @@ const handleExportData = (arr) => {
return {
index: index + 1,
czzt_name: getMultiDictVal(item.czzt, D_GSXT_YJXX_CZZT),
yjJb_name: getMultiDictVal(item.yjJb, D_BZ_YJJB),
yjJb_name: getMultiDictVal(item.yjJb, D_GS_ZDR_YJDJ),
bqdl_name: getMultiDictVal(item.bqdl, D_GS_QLZDRLX),
xbdm_name: getMultiDictVal(item.xbdm, D_BZ_XB),
yjLylx_name: getMultiDictVal(item.yjLylx, D_GS_ZDR_GJLB),

View File

@ -32,7 +32,8 @@
<el-icon>
<Shield />
</el-icon>
<DictTag :value="dataForm.bqdl" color="#ffffff99" :tag="false" :options="dict.D_GS_QLZDRLX" />
{{ dataForm.bqdl }}
<!-- <DictTag :value="dataForm.bqdl" color="#ffffff99" :tag="false" :options="dict.D_GS_QLZDRLX" /> -->
</span>
<span class="meta-divider">|</span>
<span class="meta-item">{{ dataForm.yjbqmc || '-' }}</span>
@ -85,7 +86,7 @@
<div class="quick-stat-value">{{ dataForm.ssbm || '-' }}</div>
</div>
</div>
<div class="quick-stat-item warning">
<!-- <div class="quick-stat-item warning">
<el-icon class="quick-stat-icon">
<Clock />
</el-icon>
@ -93,7 +94,7 @@
<div class="quick-stat-label">签收时限</div>
<div class="quick-stat-value warning">{{ dataForm.qssj || '-' }}</div>
</div>
</div>
</div> -->
</div>
</div>
</div>
@ -129,7 +130,7 @@
<div class="info-row">
<div class="info-label">性别</div>
<div class="info-value">
<DictTag :value="getSexFromIdCard" :tag="false" :options="dict.D_BZ_XB" />
{{ IdCard(dataForm.yjRysfzh, 2) }}
</div>
</div>
<div class="info-row">
@ -156,7 +157,7 @@
<div class="info-label">预警级别</div>
<div class="info-value">
<span class="warning-level" :class="ys()">
<DictTag :value="dataForm.yjJb" :tag="false" :options="dict.D_BZ_YJJB" />
<DictTag :value="dataForm.yjJb" :tag="false" :options="dict.D_GS_ZDR_YJDJ" />
</span>
</div>
</div>
@ -239,14 +240,7 @@
<span v-else></span>
</div>
</div>
<div class="info-row highlight warning">
<div class="info-label">签收时限</div>
<div class="info-value">{{ dataForm.qssj || '—' }}</div>
</div>
<div class="info-row">
<div class="info-label">反馈时限</div>
<div class="info-value">{{ dataForm.fksj || '—' }}</div>
</div>
<div class="info-row">
<div class="info-label">处置建议</div>
<div class="info-value">
@ -262,10 +256,18 @@
<div class="info-label">签收人</div>
<div class="info-value">{{ dataForm.qsrxm || '—' }}</div>
</div>
<div class="info-row highlight warning">
<div class="info-label">签收时间</div>
<div class="info-value">{{ dataForm.qssj || '—' }}</div>
</div>
<div class="info-row feedback-highlight">
<div class="info-label">反馈人</div>
<div class="info-value">{{ dataForm.fkrxm || '—' }}</div>
</div>
<div class="info-row">
<div class="info-label">反馈时间</div>
<div class="info-value">{{ dataForm.fksj || '—' }}</div>
</div>
<div class="info-row feedback-highlight last">
<div class="info-label">反馈内容</div>
<div class="info-value">
@ -486,15 +488,8 @@ onUnmounted(() => {
}
});
// 根据身份证号获取性别代码
const getSexFromIdCard = computed(() => {
const sexText = IdCard(dataForm.value.yjRysfzh, 2);
if (!sexText) return '';
return sexText === '男' ? '01' : '02';
});
const warningLevelText = computed(() => {
const map = { '01': '红色预警', '02': '橙色预警', '03': '黄色预警', '04': '蓝色预警' };
const map = { '01': '一级预警', '02': '二级预警', '03': '三级预警', '04': '四级预警' };
return map[dataForm.value.yjJb] || '未知预警';
});

View File

@ -60,13 +60,13 @@
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">布控起始时间</span>
<span class="info-value">{{ dataForm.bkkssj }}</span>
<span class="info-value">{{ dataForm.bkkssj }}</span>
</div>
</div>
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">布控结束时间</span>
<span class="info-value">{{ dataForm.bkjssj }}</span>
<span class="info-value">{{ dataForm.bkjssj }}</span>
</div>
</div>
<div class="info-row">
@ -78,7 +78,7 @@
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">布控单位</span>
<span class="info-value">{{ dataForm.gkbmmc }}</span>
<span class="info-value">{{ dataForm.gkbmmc }}</span>
</div>
</div>
<div class="info-row">
@ -103,25 +103,12 @@
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">轨迹类别</span>
<span class="info-value">
<span class="info-value">
<DictTag :value="dataForm.yjLylx" :tag="false" :options="dict.D_GS_ZDR_GJLB" />
</span>
</div>
</div>
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">核查时间</span>
<span class="info-value">
<span v-if="dataForm.fkList && dataForm.fkList.length > 0">{{ dataForm.fkList[0].czsj }}</span>
</span>
</div>
</div>
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">比对时间</span>
<span class="info-value">{{ dataForm.yjSj }}</span>
</div>
</div>
<!-- <div class="info-row">
<div class="info-item full-width">
<span class="info-label">五管检查站</span>
@ -131,13 +118,13 @@
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">信息提供单位</span>
<span class="info-value">{{ dataForm.jczmc }}</span>
<span class="info-value">{{ dataForm.jczmc }}</span>
</div>
</div>
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">信息接收单位</span>
<span class="info-value">{{ dataForm.ssbm }}</span>
<span class="info-value">{{ dataForm.ssbm }}</span>
</div>
</div>
<div class="info-row">
@ -154,20 +141,20 @@
</div>
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">签收时</span>
<span class="info-value">{{ dataForm.qssj }}</span>
<span class="info-label">签收时</span>
<span class="info-value">{{ dataForm.qssj }}</span>
</div>
</div>
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">反馈时</span>
<span class="info-value">{{ dataForm.fksj }}</span>
<span class="info-label">反馈时</span>
<span class="info-value">{{ dataForm.fksj }}</span>
</div>
</div>
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">处置建议</span>
<span class="info-value">
<span class="info-value">
<div v-if="dataForm.czjyList && dataForm.czjyList.length > 0">
<div v-for="(item, index) in dataForm.czjyList" :key="item.id">
<span>{{ `${index + 1}` + item.jynr }}</span>
@ -179,7 +166,7 @@
<div class="info-row">
<div class="info-item full-width">
<span class="info-label">反馈内容</span>
<span class="info-value">
<span class="info-value">
<div v-if="dataForm.fkList && dataForm.fkList.length > 0">
<div v-for="(item, index) in dataForm.fkList" :key="item.id">
<span v-if="item.ckczbcxx">{{ `${index + 1}` + item.ckczbcxx }}</span>
@ -261,7 +248,7 @@ const getPart = (id) => {
abortController = new AbortController()
loading.value = true
qcckGet({}, `/mosty-gsxt/tbYjxx/getInfo/${id}`, { signal: abortController.signal }).then(res => {
if (res) {
if (res) {
dataForm.value = res
} else {
dataForm.value = {}

View File

@ -32,8 +32,10 @@
<el-icon>
<Shield />
</el-icon>
<DictTag :value="dataForm.bqdl" :tag="false" color="#ffffff99" :options="dict.D_GS_QLZDRLX" />
{{ dataForm.yjLylxmc }}
<!-- <DictTag :value="dataForm.bqdl" :tag="false" color="#ffffff99" :options="dict.D_GS_QLZDRLX" /> -->
</span>
<span class="meta-divider">|</span>
<span class="meta-item">{{ dataForm.yjbqmc || '-' }}</span>
<span class="meta-divider">|</span>
@ -85,7 +87,7 @@
<div class="quick-stat-value">{{ dataForm.ssbm || '-' }}</div>
</div>
</div>
<div class="quick-stat-item warning">
<!-- <div class="quick-stat-item warning">
<el-icon class="quick-stat-icon">
<Clock />
</el-icon>
@ -93,7 +95,7 @@
<div class="quick-stat-label">签收时限</div>
<div class="quick-stat-value warning">{{ dataForm.qssj || '-' }}</div>
</div>
</div>
</div> -->
</div>
</div>
</div>
@ -129,7 +131,7 @@
<div class="info-row">
<div class="info-label">性别</div>
<div class="info-value">
<DictTag :value="getSexFromIdCard" :tag="false" :options="dict.D_BZ_XB" />
{{ IdCard(dataForm.yjRysfzh, 2) }}
</div>
</div>
<div class="info-row">
@ -199,14 +201,14 @@
<DictTag :value="dataForm.yjLylx" :tag="false" :options="dict.D_GS_ZDR_GJLB" />
</div>
</div>
<div class="info-row">
<!-- <div class="info-row">
<div class="info-label">核查时间</div>
<div class="info-value">{{ dataForm.fkList?.[0]?.czsj || '—' }}</div>
</div>
<div class="info-row highlight">
</div> -->
<!-- <div class="info-row highlight">
<div class="info-label">比对时间</div>
<div class="info-value">{{ dataForm.yjSj || '—' }}</div>
</div>
</div> -->
<div class="info-row">
<div class="info-label">活动场所</div>
<div class="info-value">{{ dataForm.fkList?.[0]?.xxdz || '—' }}</div>
@ -240,14 +242,7 @@
<span v-else></span>
</div>
</div>
<div class="info-row highlight warning">
<div class="info-label">签收时限</div>
<div class="info-value">{{ dataForm.qssj || '—' }}</div>
</div>
<div class="info-row">
<div class="info-label">反馈时限</div>
<div class="info-value">{{ dataForm.fksj || '—' }}</div>
</div>
<div class="info-row">
<div class="info-label">处置建议</div>
<div class="info-value">
@ -263,10 +258,18 @@
<div class="info-label">签收人</div>
<div class="info-value">{{ dataForm.qsrxm || '—' }}</div>
</div>
<div class="info-row highlight warning">
<div class="info-label">签收时间</div>
<div class="info-value">{{ dataForm.qssj || '—' }}</div>
</div>
<div class="info-row feedback-highlight">
<div class="info-label">反馈人</div>
<div class="info-value">{{ dataForm.fkrxm || '—' }}</div>
</div>
<div class="info-row">
<div class="info-label">反馈时间</div>
<div class="info-value">{{ dataForm.fksj || '—' }}</div>
</div>
<div class="info-row feedback-highlight last">
<div class="info-label">反馈内容</div>
<div class="info-value">
@ -485,13 +488,6 @@ onUnmounted(() => {
}
});
// 根据身份证号获取性别代码
const getSexFromIdCard = computed(() => {
const sexText = IdCard(dataForm.value.yjRysfzh, 2);
if (!sexText) return '';
return sexText === '男' ? '01' : '02';
});
const warningLevelText = computed(() => {
const map = { '01': '红色预警', '02': '橙色预警', '03': '黄色预警', '04': '蓝色预警' };
return map[dataForm.value.yjJb] || '未知预警';

View File

@ -1,27 +1,13 @@
<template>
<el-dialog
v-model="visible"
title="管理用户"
width="1000px"
destroy-on-close
@closed="handleClosed"
>
<el-dialog v-model="visible" title="管理用户" width="1000px" destroy-on-close @closed="handleClosed">
<div class="user-dialog-content">
<div class="searchBox">
<el-form :model="listQuery" :inline="true">
<el-form-item label="用户名">
<el-input
placeholder="请输入用户名"
v-model="listQuery.userName"
clearable
></el-input>
<el-input placeholder="请输入用户名" v-model="listQuery.userName" clearable></el-input>
</el-form-item>
<el-form-item label="电话号码">
<el-input
placeholder="请输入电话号码"
v-model="listQuery.phone"
clearable
></el-input>
<el-input placeholder="请输入电话号码" v-model="listQuery.phone" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button type="success" @click="handleFilter">查询</el-button>
@ -37,17 +23,12 @@
<el-button type="danger" @click="unbundleRole()">批量取消授权</el-button>
</div>
<el-table
ref="multipleTableRef"
:data="tableData"
border
:height="400"
@selection-change="handleSelectionChange"
>
<el-table ref="multipleTableRef" :data="tableData" border :height="400" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column prop="loginName" align="center" label="用户名" />
<el-table-column prop="userName" align="center" label="用户昵称" />
<el-table-column prop="mobile" width="120px" label="移动电话" />
<el-table-column prop="mobile" width="120px" label="所属部门" />
<el-table-column prop="xtZhxgsj" align="center" label="录入时间">
<template #default="{ row }">
{{ $filters.dateFilter(row.xtLrsj) }}
@ -55,13 +36,8 @@
</el-table-column>
<el-table-column label="操作" width="120">
<template #default="{ row }">
<el-popconfirm
confirm-button-text=""
cancel-button-text=""
icon-color="red"
title="确定要删除?"
@confirm="unbundleRole(row)"
>
<el-popconfirm confirm-button-text="" cancel-button-text="" icon-color="red" title="确定要删除?"
@confirm="unbundleRole(row)">
<template #reference>
<el-button type="danger" size="small">取消授权</el-button>
</template>
@ -71,23 +47,13 @@
</el-table>
<div class="pagination-wrap">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="listQuery.page"
:page-sizes="[10, 20, 50, 100]"
:page-size="listQuery.size"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
/>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="listQuery.page" :page-sizes="[10, 20, 50, 100]" :page-size="listQuery.size"
layout="total, sizes, prev, pager, next, jumper" :total="total" />
</div>
</div>
<ChooseUserDialog
v-model="chooseUserVisible"
:roleId="roleId"
@choosedUsers="saveUsers"
/>
<ChooseUserDialog v-model="chooseUserVisible" :roleId="roleId" @choosedUsers="saveUsers" />
</el-dialog>
</template>

View File

@ -1,128 +1,129 @@
<template>
<el-dialog :model-value="modelValue" title="情报详情" width="70%" @close="closeDialog" destroy-on-close>
<div style="height: 60vh;overflow: auto; ">
<div class="form-container">
<div class="form-content">
<!-- <div class="form_cnt"> -->
<FormMessage :disabled="disabled" v-model="listQuery" :formList="formData" ref="elform" >
<template #jbxx>
<div>
<h3 class="tags-title">报送情况</h3>
<div style="display: flex;justify-content:space-between;width: 200%;">
<div>录入人{{ userName }}</div>
<div>录入单位{{ userInfo.deptName }}</div>
<div>本年度报送信息量{{ tjcll.cnl || 0 }}</div>
<div>采纳量{{ tjcll.sbsl || 0 }}</div>
</div>
</div>
</template>
<template #shzt>
<div v-if="disabled">
<h3 class="tags-title">审核状态</h3>
<div style="display: flex;justify-content:space-between;width: 200%;">
<div style="display: flex;">
市审核状态
<DictTag v-model:value="listQuery.sldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
</div>
<div style="display: flex;">
县审核状态
<DictTag v-model:value="listQuery.xldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
<div style="height: 60vh;overflow: auto; ">
<div class="form-container">
<div class="form-content">
<!-- <div class="form_cnt"> -->
<FormMessage :disabled="disabled" v-model="listQuery" :formList="formData" ref="elform">
<template #jbxx>
<div>
<h3 class="tags-title">报送情况</h3>
<div style="display: flex;justify-content:space-between;width: 200%;">
<div>录入人{{ userName }}</div>
<div>录入单位{{ userInfo.deptName }}</div>
<div>本年度报送信息量{{ tjcll.cnl || 0 }}</div>
<div>采纳量{{ tjcll.sbsl || 0 }}</div>
</div>
</div>
</div>
</template>
</FormMessage>
<!-- </div> -->
<div class="tags-section" v-if="disabled">
<h3 class="tags-title">关注部门</h3>
<div class="tags-container">
<div v-for="(tag, index) in listQuery.gzbmList" :key="tag.id || index" class="tag-item">
<div class="tag-content">
{{ tag.ssbm }}
</template>
<template #shzt>
<div v-if="disabled">
<h3 class="tags-title">审核状态</h3>
<div style="display: flex;justify-content:space-between;width: 200%;">
<div style="display: flex;">
市审核状态
<DictTag v-model:value="listQuery.sldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
</div>
<div style="display: flex;">
县审核状态
<DictTag v-model:value="listQuery.xldshzt" :options="dict.D_BZ_SSSHZT" :tag="false" />
</div>
</div>
</div>
</template>
</FormMessage>
<!-- </div> -->
<div class="tags-section" v-if="disabled">
<h3 class="tags-title">关注部门</h3>
<div class="tags-container">
<div v-for="(tag, index) in listQuery.gzbmList" :key="tag.id || index" class="tag-item">
<div class="tag-content">
{{ tag.ssbm }}
</div>
</div>
<span v-if="!listQuery.gzbmList || listQuery.gzbmList.length === 0" class="no-tags">
暂无标签
</span>
</div>
</div>
<div class="tags-section" v-if="disabled">
<h3 class="tags-title">关联标签</h3>
<div class="tags-container">
<div v-for="(tag, index) in listQuery.glbqList" :key="tag.id || index" class="tag-item">
<div class="tag-content">
{{ tag.bqmc }}
</div>
</div>
<span v-if="!listQuery.glbqList || listQuery.glbqList.length === 0" class="no-tags">
暂无标签
</span>
</div>
</div>
<div class="tags-section" v-if="disabled">
<h3 class="tags-title">续报信息</h3>
<div class="list-container">
<div v-for="(item, index) in dataList.xb" :key="item.id || index" class="list-item">
<div class="list-content">
{{ item.bcnr }}
</div>
<div class="tag-actions">
<el-icon class="action-icon edit-icon" :size="32" @click="openPursue('续报信息', item)">
<EditPen />
</el-icon>
<el-icon class="action-icon delete-icon" :size="32" @click="handleDeleteTag(item)">
<Delete />
</el-icon>
</div>
</div>
<span v-if="!dataList.xb || dataList.xb.length === 0" class="no-tags">
暂无续报信息
</span>
</div>
</div>
<div class="tags-section" v-if="disabled">
<h3 class="tags-title">补充信息</h3>
<div class="list-container">
<div v-for="(item, index) in dataList.bc" :key="item.id || index" class="list-item">
<div class="list-content">
{{ item.bcnr }}
</div>
<div class="tag-actions">
<el-icon class="action-icon edit-icon" :size="32" @click="openPursue('信息追加', item)">
<EditPen />
</el-icon>
<el-icon class="action-icon delete-icon" :size="32" @click="handleDeleteTag(item)">
<Delete />
</el-icon>
</div>
</div>
<span v-if="!dataList.bc || dataList.bc.length === 0" class="no-tags">
暂无补充信息
</span>
</div>
<span v-if="!listQuery.gzbmList || listQuery.gzbmList.length === 0" class="no-tags">
暂无标签
</span>
</div>
</div>
<div class="tags-section" v-if="disabled">
<h3 class="tags-title">关联标签</h3>
<div class="tags-container">
<div v-for="(tag, index) in listQuery.glbqList" :key="tag.id || index" class="tag-item">
<div class="tag-content">
{{ tag.bqmc }}
</div>
</div>
<span v-if="!listQuery.glbqList || listQuery.glbqList.length === 0" class="no-tags">
暂无标签
</span>
</div>
</div>
<div class="tags-section" v-if="disabled">
<h3 class="tags-title">续报信息</h3>
<div class="list-container">
<div v-for="(item, index) in dataList.xb" :key="item.id || index" class="list-item">
<div class="list-content">
{{ item.bcnr }}
</div>
<div class="tag-actions">
<el-icon class="action-icon edit-icon" :size="32" @click="openPursue('续报信息', item)">
<EditPen />
</el-icon>
<el-icon class="action-icon delete-icon" :size="32" @click="handleDeleteTag(item)">
<Delete />
</el-icon>
</div>
</div>
<span v-if="!dataList.xb || dataList.xb.length === 0" class="no-tags">
暂无续报信息
</span>
</div>
</div>
<div class="tags-section" v-if="disabled">
<h3 class="tags-title">补充信息</h3>
<div class="list-container">
<div v-for="(item, index) in dataList.bc" :key="item.id || index" class="list-item">
<div class="list-content">
{{ item.bcnr }}
</div>
<div class="tag-actions">
<el-icon class="action-icon edit-icon" :size="32" @click="openPursue('信息追加', item)">
<EditPen />
</el-icon>
<el-icon class="action-icon delete-icon" :size="32" @click="handleDeleteTag(item)">
<Delete />
</el-icon>
</div>
</div>
<span v-if="!dataList.bc || dataList.bc.length === 0" class="no-tags">
暂无补充信息
</span>
</div>
<div class="ml50 mr50 timeline-container" v-if="disabled">
<div class="timeline-title">信息流程展示</div>
<el-timeline class="timeline-full-width">
<el-timeline-item :timestamp="item.czsj" placement="top" v-for="(item, index) in lcList" :key="index">
<el-card class="process-card">
<div class="process-info">
<div class="info-label">处置人</div>
<div class="info-value">{{ item.czrxm || '未记录' }}</div>
</div>
<div class="process-info">
<div class="info-label">处置结果</div>
<div class="info-value">
<DictTag :tag="false" :value="item.czzt" :options="D_BZ_LCZT" />
</div>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
<MOSTY.Empty :show="lcList.length == 0" :imgSize="100"></MOSTY.Empty>
</div>
</div>
<div class="ml50 mr50 timeline-container" v-if="disabled">
<div class="timeline-title">信息流程展示</div>
<el-timeline class="timeline-full-width">
<el-timeline-item :timestamp="item.czsj" placement="top" v-for="(item, index) in lcList" :key="index">
<el-card class="process-card">
<div class="process-info">
<div class="info-label">处置人</div>
<div class="info-value">{{ item.czrxm || '未记录' }}</div>
</div>
<div class="process-info">
<div class="info-label">处置结果</div>
<div class="info-value">
<DictTag :tag="false" :value="item.czzt" :options="D_BZ_LCZT" />
</div>
</div>
</el-card>
</el-timeline-item>
</el-timeline>
<MOSTY.Empty :show="lcList.length == 0" :imgSize="100"></MOSTY.Empty>
</div>
</div></div>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="closeDialog">取消</el-button>
@ -145,7 +146,7 @@ import * as MOSTY from "@/components/MyComponents/index";
import { getItem } from '@//utils/storage.js'
const router = useRouter()
const { proxy } = getCurrentInstance()
const { D_BZ_LCZT} = proxy.$dict("D_BZ_LCZT")
const { D_BZ_LCZT } = proxy.$dict("D_BZ_LCZT")
const props = defineProps({
modelValue: {
type: Boolean,
@ -185,8 +186,8 @@ const getDataById = (id) => {
};
watch(() => props.modelValue, (newVal, oldVal) => {
if (newVal) {
userInfo.value = getItem('deptId') ? getItem('deptId')[0] : {}
userName.value = getItem('USERNAME')
userInfo.value = getItem('deptId') ? getItem('deptId')[0] : {}
userName.value = getItem('USERNAME')
getDataById(props.dataList.id)
getqbcjPldb(props.dataList.id)
getXxcjTjcll()
@ -195,7 +196,7 @@ watch(() => props.modelValue, (newVal, oldVal) => {
// 流程
const lcList = ref([])
const getqbcjPldb = (id) => {
xxcjSelectCzlcList({ qbid: id }).then(res => {
xxcjSelectCzlcList({ id: id }).then(res => {
lcList.value = res || []
})
.catch(() => {
@ -213,8 +214,6 @@ const getXxcjTjcll = () => {
</script>
<style scoped lang="scss">
::v-deep .el-tabs--card>.el-tabs__header .el-tabs__item.is-active {
color: #0072ff;
background: rgba(0, 114, 255, 0.3);
@ -556,5 +555,4 @@ const getXxcjTjcll = () => {
font-size: 14px;
font-style: italic;
}
</style>