This commit is contained in:
2026-01-29 10:33:37 +08:00
parent c606d6e8fd
commit 5a1fc57019
5 changed files with 166 additions and 75 deletions

View File

@ -1,20 +1,18 @@
<template>
<div>
<!-- 搜索 -->
<div ref="searchBox" class="mt10">
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount" />
</div>
<PageTitle :malginLeft="10" :height="35" backgroundColor="#ffff" :marginBottom="5" :marginTop="5">
<template #left>
<el-button type="primary" @click="dologCancel()" size="small">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">导出</span>
</el-button>
<template #left>
<el-button type="primary" @click="dologCancel()" size="small">
<el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">导出</span>
</el-button>
</template>
<!-- <el-button v-if="qxkz.deptLevel == '01'" type="primary" :disabled="ids.length === 0" @click="batchMark(ids)">
<el-icon style="vertical-align: middle">
<CirclePlus />
@ -24,10 +22,16 @@
</PageTitle>
<!-- 表格 -->
<div class="tabBox">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData">
<template #qblx="{ row }">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<template #qblx="{ row }">
<DictTag :tag="false" :value="row.qblx" :options="D_GS_XS_LX" />
</template>
<template #qbly="{ row }">
@ -46,6 +50,9 @@
<el-link size="small" type="primary" @click="openCheckProcess(row)">补充信息</el-link>
<!-- <el-link size="small" type="primary" @click="openCheckProcessXb(row)"> 续报</el-link> -->
<el-link size="small" type="primary" @click="addEdit('info', row)">详情</el-link>
<el-link size="small" type="primary" @click="handleCase(row)">
<span :style="{'color': row.sfgz == '0' ? 'rgb(242,7,7)' : '#dede17'}">{{ row.sfgz == '0' ? '关注' : '取消关注' }}</span>
</el-link>
</template>
</MyTable>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
@ -79,60 +86,58 @@
</template>
<script setup>
import { qcckPost } from "@/api/qcckApi.js";
import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue";
import AddForm from "@/views/backOfficeSystem/HumanIntelligence/infoCollection/components/addForm.vue";
import { useRoute } from 'vue-router'
import { qbcjSelectPage, qbcjDeletes } from "@/api/Intelligence.js";
import { reactive, ref, onMounted, getCurrentInstance, watch } from "vue";
import MakeTag from '@/views/backOfficeSystem/HumanIntelligence/components/maketag.vue'
import ExportFile from '@/views/backOfficeSystem/HumanIntelligence/infoCollection/components/exportFile.vue'
import pursueContent from "../components/pursueContent.vue";
import Fszl from '../components/fszl.vue'
import { getItem } from '@//utils/storage.js'
import { qbcjZxs } from '@/api/qbcj.js'
import {xxcjSelectPage,xxcjXxzsx} from '@/api/xxcj.js'
import { color } from "echarts";
const { proxy } = getCurrentInstance();
const { D_GS_XS_LY, D_BZ_SSZT, D_BZ_SF, D_GS_XS_LX, D_BZ_BQJB,
D_GS_XS_QTLX, D_GS_ZDQT_LB,
D_BZ_BMJB, D_BZ_CLPP, D_BZ_CLYS, D_BZ_CLLX, D_BZ_XZQHDM, D_BZ_QBCZZT, D_BZ_CJLX ,D_BZ_LCZT} =
proxy.$dict("D_BZ_BMJB", "D_GS_XS_LY",
"D_BZ_SSZT", "D_BZ_SF", "D_GS_XS_LX", "D_GS_XS_QTLX",
"D_GS_ZDQT_LB", "D_BZ_CLPP", "D_BZ_CLYS", "D_BZ_CLLX", "D_BZ_XZQHDM", "D_BZ_QBCZZT", "D_BZ_CJLX", "D_BZ_BQJB","D_BZ_LCZT"); //获取字典数据
const {
D_GS_XS_LY,
D_BZ_SSZT,
D_BZ_SF,
D_GS_XS_LX,
D_BZ_BQJB,
D_GS_XS_QTLX,
D_GS_ZDQT_LB,
D_BZ_BMJB,
D_BZ_CLPP,
D_BZ_CLYS,
D_BZ_CLLX,
D_BZ_XZQHDM,
D_BZ_QBCZZT,
D_BZ_CJLX ,D_BZ_LCZT } =
proxy.$dict(
"D_BZ_BMJB",
"D_GS_XS_LY",
"D_BZ_SSZT",
"D_BZ_SF",
"D_GS_XS_LX",
"D_GS_XS_QTLX",
"D_GS_ZDQT_LB",
"D_BZ_CLPP",
"D_BZ_CLYS",
"D_BZ_CLLX",
"D_BZ_XZQHDM",
"D_BZ_QBCZZT",
"D_BZ_CJLX",
"D_BZ_BQJB",
"D_BZ_LCZT"
); //获取字典数据
const detailDiloag = ref();
const searchBox = ref(); //搜索框
const ids = ref([])
const tableList = ref([]);
onMounted(() => {
const { deptBizType, deptLevel } = getItem('deptId')[0]
qxkz.userName = getItem('USERNAME')
const Jb = deptLevel[0] == '2' ? '01' : deptLevel[0] == '3' ? '02' : '03'
qxkz.deptBizType = deptBizType
qxkz.deptLevel = Jb
if (deptBizType == '23' && Jb == '01') {
qxkz.depBool = true
} else {
qxkz.depBool = false
}
getRouter()
tabHeightFn()
if (route.query.id) {
detailDiloag.value.init('edit', {
id: route.query.id
});
return
}
getList()
});
const chooseData = (val) => {
ids.value = val.map(item => {
return item.id
})
tableList.value = val
}
const qxkz = reactive({
deptBizType: "",
deptLevel: "",
@ -140,23 +145,40 @@ const qxkz = reactive({
})
const list = ref()
const searchConfiger = ref();
onMounted(() => {
const { deptBizType, deptLevel } = getItem('deptId')[0]
qxkz.userName = getItem('USERNAME')
const Jb = deptLevel[0] == '2' ? '01' : deptLevel[0] == '3' ? '02' : '03'
qxkz.deptBizType = deptBizType
qxkz.deptLevel = Jb
qxkz.depBool = deptBizType == '23' && Jb == '01' ? true : false;
getRouter()
tabHeightFn()
if (route.query.id) {
detailDiloag.value.init('edit', { id: route.query.id });
return
}
getList()
});
const chooseData = (val) => {
ids.value = val.map(item => item.id)
tableList.value = val
}
watch(() => D_BZ_BQJB, val => {
if (qxkz.deptLevel == '01') {
list.value = val.value.filter(item => {
return item.dm != '00'
})
list.value = val.value.filter(item => item.dm != '00')
} else if (qxkz.deptLevel == '02') {
list.value = val.value.filter(item => {
return item.dm == '01' || item.dm == '02'
})
list.value = val.value.filter(item => (item.dm == '01' || item.dm == '02'))
} else {
list.value = []
}
searchConfiger.value = [
{ label: "情报标题", prop: 'qbmc', placeholder: "请输入情报标题", showType: "input" },
{ label: "情报处置状态", prop: 'lczt', placeholder: "请选择处置状态", showType: "select", options: D_BZ_LCZT },
// { label: "线索编号", prop: 'xsBh', placeholder: "请输入线索编号", showType: "input" },
{ label: "关键字", prop: 'keyword', placeholder: "请输入关键字", showType: "input" },
{ label: "情报标题", prop: 'qbmc', placeholder: "请输入情报标题", showType: "input" },
{ label: "情报处置状态", prop: 'lczt', placeholder: "请选择处置状态", showType: "select", options: D_BZ_LCZT },
// { label: "线索编号", prop: 'xsBh', placeholder: "请输入线索编号", showType: "input" },
{ label: "关键字", prop: 'keyword', placeholder: "请输入关键字", showType: "input" },
]
}, { deep: true, immediate: true })
const isShow = ref(false)
@ -184,10 +206,8 @@ const pageData = reactive({
]
});
const queryFrom = ref({});
const chooseRow = ref(false)
const dataList = ref()
// 搜索
const onSearch = (val) => {
const { lrkssj, zxkssj } = val
@ -198,9 +218,7 @@ const onSearch = (val) => {
lrjssj: lrkssj ? lrkssj[1] : '',
zxkssj: zxkssj ? zxkssj[0] : '',
zxjssj: zxkssj ? zxkssj[1] : '',
}
queryFrom.value = { ...promes }
pageData.pageConfiger.pageCurrent = 1;
getList()
@ -243,6 +261,16 @@ const addEdit = (type, row) => {
detailDiloag.value.init(type, row);
}, 500)
};
const handleCase = (row) => {
let text = row.sfgz == '0' ? '关注' : '取消关注';
proxy.$confirm("确定要" + text + "吗?", "警告", { type: "warning" }).then(() => {
qcckPost({ id: row.id,sfgz: row.sfgz == '0' ? '1' : '0' },'/mosty-gsxt/xxcj/cjgz').then(res => {
proxy.$message({ type: "success", message: text + "成功" });
getList();
})
})
}
// 表格高度计算
const tabHeightFn = () => {
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;

View File

@ -63,7 +63,7 @@ const createChartOption = (data, colors) => {
orient: 'vertical',
left: '53%',
top: 'center',
itemGap: 40,
itemGap: 20,
textStyle: {
color: '#fff',
rich: {
@ -101,9 +101,7 @@ const createChartOption = (data, colors) => {
const value = Number(item.value) || 0;
const totalValue = Number(total) || 0;
let percentage = (totalValue > 0 && value > 0) ? ((value / totalValue) * 100).toFixed(2) : '0.00';
// let percentage = ((item.value / total) * 100).toFixed(2);
return `${name} ${item.value} {${item.colorType}|(${percentage}%)}`
}
},
series: [