This commit is contained in:
2025-07-20 15:20:29 +08:00
parent 057cd0fda6
commit 32de231f1b
5 changed files with 50 additions and 48 deletions

View File

@ -160,13 +160,6 @@ const searchConfiger = ref([
showType: "select", showType: "select",
options: D_GS_ZDR_RYJB options: D_GS_ZDR_RYJB
}, },
{
label: "人员级别",
prop: "zdrRyjb",
placeholder: "请输入人员级别",
showType: "select",
options: D_GS_ZDR_RYJB
},
]); ]);
const queryFrom = ref({}); const queryFrom = ref({});
const pageData = reactive({ const pageData = reactive({

View File

@ -35,7 +35,7 @@
<el-button type="primary">导出统计表</el-button> <el-button type="primary">导出统计表</el-button>
</div> </div>
<div class="chart"> <div class="chart">
<PieEcharts echartsId="bsqkEpieChart" color="#333" :data="obj.xslxList"></PieEcharts> <PieEcharts echartsId="bsqkEpieChart" :key="ketcount" color="#333" :data="obj.xslxList"></PieEcharts>
</div> </div>
</div> </div>
<div class="chart-item"> <div class="chart-item">
@ -44,7 +44,7 @@
<el-button type="primary">导出统计表</el-button> <el-button type="primary">导出统计表</el-button>
</div> </div>
<div class="chart"> <div class="chart">
<DbarEcharts echartsId="bar3DChart" :data="obj.cnList"></DbarEcharts> <DbarEcharts echartsId="bar3DChart" :key="ketcount" :data="obj.cnList"></DbarEcharts>
</div> </div>
</div> </div>
<div class="chart-item"> <div class="chart-item">
@ -66,7 +66,7 @@
<span>奖惩情况</span> <span>奖惩情况</span>
<el-button type="primary">导出统计表</el-button> <el-button type="primary">导出统计表</el-button>
</div> </div>
<lineEcharts color="#333" echartsId="areaChart" :data="obj.jcqkList"></lineEcharts> <lineEcharts color="#333" :key="ketcount" echartsId="areaChart" :data="obj.jcqkList"></lineEcharts>
</div> </div>
</div> </div>
</div> </div>
@ -81,6 +81,7 @@ import PieEcharts from "@/views/home/echarts/pieEcharts.vue";
import DbarEcharts from "@/views/home/echarts/3DbarEcharts.vue"; import DbarEcharts from "@/views/home/echarts/3DbarEcharts.vue";
import { qcckPost } from "@/api/qcckApi.js"; import { qcckPost } from "@/api/qcckApi.js";
import { reactive, ref, onMounted, getCurrentInstance } from "vue"; import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const ketcount = ref(0);
const radio = ref(0); const radio = ref(0);
const timeList = ref([ const timeList = ref([
{ label: "日", num: 0 }, { label: "日", num: 0 },
@ -106,45 +107,43 @@ onMounted(() => {
init() //初始化数据 init() //初始化数据
}); });
const init = () => { const init = async () => {
let data = { let data = {
ssbmdm: listQuery.value.ssbmdm, ssbmdm: listQuery.value.ssbmdm,
kssj: dateRange.value[0] + ' 00:00:00', kssj: dateRange.value[0] + ' 00:00:00',
jssj: dateRange.value[1] + ' 23:59:59', jssj: dateRange.value[1] + ' 23:59:59',
cjLx: 1 // 1-临安吗 cjLx: 1 // 1-临安吗
}; };
// 获取线索类型统计 // 获取线索类型统计
qcckPost(data, '/mosty-gsxt/qbcj/getXscjTjByXslx').then(res => { let res = await qcckPost(data, '/mosty-gsxt/qbcj/getXscjTjByXslx')
let arr = res || []; let arr = res || [];
obj.xslxList = arr.map(v=>{ obj.xslxList = arr.map(v=>{
return { label:v.zdmc,value:v.count } return { label:v.zdmc,value:v.count }
}) })
});
// 获取奖惩情况统计 // 获取奖惩情况统计
qcckPost(data, '/mosty-gsxt/tbJlqk/getShygkhtj').then(res => { let res1 = await qcckPost(data, '/mosty-gsxt/tbJlqk/getShygkhtj');
let arr = res || []; let arr1 = res1 || [];
obj.jcqkList = arr.map(v=>{ obj.jcqkList = arr1.map(v=>{
return { label:v.zdmc,value:v.count } return { label:v.zdmc,value:v.count }
}) })
});
// 获取处置状态统计 // 获取处置状态统计
qcckPost(data, '/mosty-gsxt/qbcj/getXscjTjByCzzt').then(res => { let res2 = await qcckPost(data, '/mosty-gsxt/qbcj/getXscjTjByCzzt');
let arr = res || []; let arr2 = res2 || [];
obj.czztList = arr.map(v=>{ obj.czztList = arr2.map(v=>{
return { label:v.zdmc,value:v.count } return { label:v.zdmc,value:v.count }
}) })
});
// 获取采纳情况统计 // 获取采纳情况统计
qcckPost(data, '/mosty-gsxt/qbcj/getXscjTjByShzt').then(res => { let res3 = await qcckPost(data, '/mosty-gsxt/qbcj/getXscjTjByShzt');
let arr = res || []; let arr3 = res3 || [];
obj.cnList.list = arr.map(v=>{ obj.cnList.list = arr3.map(v=>{
return { label:v.zdmc,value:v.count } return { label:v.zdmc,value:v.count }
}) })
});
ketcount.value++;
} }
const changeRadio = (val) =>{ const changeRadio = (val) =>{

View File

@ -10,7 +10,7 @@
</div> </div>
<!-- 搜索 --> <!-- 搜索 -->
<div ref="searchBox"> <div ref="searchBox">
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"/> <Search :searchArr="searchConfiger" @submit="onSearch"/>
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="tabBox"> <div class="tabBox">
@ -23,6 +23,9 @@
:controlsWidth="pageData.controlsWidth" :controlsWidth="pageData.controlsWidth"
> >
<template #zllx="{row}">
<DictTag :tag="false" :value="row.zllx" :options="D_GS_XS_ZLLX" />
</template>
<template #zldj="{row}"> <template #zldj="{row}">
<DictTag :tag="false" :value="row.zldj" :options="D_GS_ZDQT_FXDJ" /> <DictTag :tag="false" :value="row.zldj" :options="D_GS_ZDQT_FXDJ" />
</template> </template>
@ -45,7 +48,7 @@
></Pages> ></Pages>
</div> </div>
<!-- 详情 --> <!-- 详情 -->
<DetailForm ref="detailDiloag" @updateDate="getList" :dic="{D_GS_XS_ZLLX,D_GS_ZDQT_FXDJ}" /> <DetailForm ref="detailDiloag" v-if="isShow" @updateDate="getList" :dic="{D_GS_XS_ZLLX,D_GS_ZDQT_FXDJ}" />
</div> </div>
</template> </template>
@ -56,17 +59,18 @@ import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue"; import Search from "@/components/aboutTable/Search.vue";
import DetailForm from "./components/detailForm.vue"; import DetailForm from "./components/detailForm.vue";
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js"; import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
import { reactive, ref, onMounted, getCurrentInstance } from "vue"; import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const detailDiloag = ref();
const searchBox = ref(); //搜索框
const {D_GS_XS_SJLY,D_GS_XS_ZLLX,D_GS_ZDQT_FXDJ,D_GS_XS_CZZT} = proxy.$dict('D_GS_XS_SJLY','D_GS_XS_ZLLX','D_GS_ZDQT_FXDJ','D_GS_XS_CZZT') const {D_GS_XS_SJLY,D_GS_XS_ZLLX,D_GS_ZDQT_FXDJ,D_GS_XS_CZZT} = proxy.$dict('D_GS_XS_SJLY','D_GS_XS_ZLLX','D_GS_ZDQT_FXDJ','D_GS_XS_CZZT')
const detailDiloag = ref();
const isShow = ref(false);
const searchBox = ref(); //搜索框
const searchConfiger = ref([ const searchConfiger = ref([
{ label: "指令标题", prop: 'zlbt', placeholder: "请输入指令标题", showType: "input" }, { label: "指令标题", prop: 'zlbt', placeholder: "请输入指令标题", showType: "input" },
{ label: "指令类型", prop: 'zllx', placeholder: "请选择指令类型", showType: "select",options:D_GS_XS_ZLLX }, { label: "指令类型", prop: 'zllx', placeholder: "请选择指令类型", showType: "select",options:D_GS_XS_ZLLX },
{ label: "指令等级", prop: 'zldj', placeholder: "请选择指令等级", showType: "select" ,options:D_GS_ZDQT_FXDJ}, { label: "指令等级", prop: 'zldj', placeholder: "请选择指令等级", showType: "select" ,options:D_GS_ZDQT_FXDJ},
{ label: "处置状态", prop: 'czzt', placeholder: "请选择处置状态", showType: "select" ,options:D_GS_XS_CZZT}, { label: "处置状态", prop: 'czzt', placeholder: "请选择处置状态", showType: "select" ,options:D_GS_XS_CZZT},
{ label: "反馈截止时间", prop: 'jssj', placeholder: "请选择反馈截止时间", showType: "datetime" }, { label: "反馈时间", prop: 'time', placeholder: "请选择反馈时间", showType: "datetimerange" },
]); ]);
const queryFrom = ref({}); const queryFrom = ref({});
@ -83,9 +87,10 @@ const pageData = reactive({
pageSize: 20, pageSize: 20,
pageCurrent: 1 pageCurrent: 1
}, },
controlsWidth: 180, controlsWidth: 120,
tableColumn: [ tableColumn: [
{ label: '指令标题', prop: 'zlbt' }, { label: '指令标题', prop: 'zlbt' },
{ label: '指令类型', prop: 'zllx',showSolt:true },
{ label: '指令等级', prop: 'zldj',showSolt:true }, { label: '指令等级', prop: 'zldj',showSolt:true },
{ label: '反馈截止时间', prop: 'jssj' }, { label: '反馈截止时间', prop: 'jssj' },
{ label: '处置状态', prop: 'czzt',showSolt:true }, { label: '处置状态', prop: 'czzt',showSolt:true },
@ -100,6 +105,8 @@ onMounted(() => {
// 搜索 // 搜索
const onSearch = (val) =>{ const onSearch = (val) =>{
queryFrom.value = {...val} queryFrom.value = {...val}
queryFrom.value.kssj = val.time ? val.time[0]:'';
queryFrom.value.jssj = val.time ? val.time[1]:'';
pageData.pageConfiger.pageCurrent = 1; pageData.pageConfiger.pageCurrent = 1;
getList() getList()
} }
@ -117,6 +124,7 @@ const changeSize = (val) =>{
const getList = (val) =>{ const getList = (val) =>{
pageData.tableConfiger.loading = true; pageData.tableConfiger.loading = true;
let data = { ...pageData.pageConfiger, ...queryFrom.value }; let data = { ...pageData.pageConfiger, ...queryFrom.value };
delete data.time;
qcckGet(data,'/mosty-gsxt/zlxx/selectPage').then(res=>{ qcckGet(data,'/mosty-gsxt/zlxx/selectPage').then(res=>{
pageData.tableData = res.records || []; pageData.tableData = res.records || [];
pageData.total = res.total; pageData.total = res.total;
@ -137,7 +145,10 @@ const getList = (val) =>{
// 详情 // 详情
const addEdit = (type, row) => { const addEdit = (type, row) => {
isShow.value = true;
nextTick(()=>{
detailDiloag.value.init(type, row); detailDiloag.value.init(type, row);
})
}; };
// 表格高度计算 // 表格高度计算

View File

@ -85,8 +85,6 @@ const searchConfiger = ref([
{ label: "内容关键字", prop: 'xsNr', placeholder: "请输入语义关键字", showType: "input" }, { label: "内容关键字", prop: 'xsNr', placeholder: "请输入语义关键字", showType: "input" },
{ label: "线索类型", prop: 'xlLx', placeholder: "请选择线索类型", showType: "select",options:D_GS_XS_LX }, { label: "线索类型", prop: 'xlLx', placeholder: "请选择线索类型", showType: "select",options:D_GS_XS_LX },
{ label: "线索来源", prop: 'qbLy', placeholder: "请选择线索来源", showType: "select",options:D_GS_XS_LY }, { label: "线索来源", prop: 'qbLy', placeholder: "请选择线索来源", showType: "select",options:D_GS_XS_LY },
{ label: "开始时间", prop: 'kssj', placeholder: "请选择开始时间", showType: "date" },
{ label: "结束时间", prop: 'jssj', placeholder: "请选择结束时间", showType: "date" },
{ label: "指向地点", prop: 'zxdz', placeholder: "请输入指向地点", showType: "input" }, { label: "指向地点", prop: 'zxdz', placeholder: "请输入指向地点", showType: "input" },
]); ]);
@ -117,7 +115,7 @@ const pageData = reactive({
{ label: "指向时间", prop: "zxkssj",showSolt:true,showOverflowTooltip:true }, { label: "指向时间", prop: "zxkssj",showSolt:true,showOverflowTooltip:true },
{ label: "上报时间", prop: "sxsbsj",showOverflowTooltip:true }, { label: "上报时间", prop: "sxsbsj",showOverflowTooltip:true },
{ label: "指向地点", prop: "zxdz" }, { label: "指向地点", prop: "zxdz" },
{ label: "线索内容", prop: "xsNr"}, { label: "线索内容", prop: "xsNr",showOverflowTooltip:true},
{ label: "处置状态", prop: "czzt",showSolt: true}, { label: "处置状态", prop: "czzt",showSolt: true},
{ label: "附件", prop: "fjdz", showSolt: true }, { label: "附件", prop: "fjdz", showSolt: true },
{ label: "审核状态", prop: "shzt", showSolt: true }, { label: "审核状态", prop: "shzt", showSolt: true },
@ -193,5 +191,6 @@ const tabHeightFn = () => {
.el-loading-mask { .el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important; background: rgba(0, 0, 0, 0.5) !important;
} }
</style> </style>

View File

@ -19,7 +19,7 @@
> >
<!-- 操作 --> <!-- 操作 -->
<template #controls="{ row }"> <template #controls="{ row }">
<el-button size="small" @click="addEdit('detail', row)">详情</el-button> <el-link size="small" @click="addEdit('detail', row)">详情</el-link>
</template> </template>
</MyTable> </MyTable>
<Pages <Pages