Files
sgxt_web/src/views/home/model/bkcz.vue

167 lines
5.8 KiB
Vue
Raw Normal View History

2025-04-15 14:38:12 +08:00
<template>
<div class="comom-title">
<div class="title">
2025-07-14 10:34:19 +08:00
<span class="mr12 pointer nowrap" :style="{fontSize:activeIndex == idx ? '22px':'18px'} " v-for="(it,idx) in btns" :key="idx" @click="changeActive(idx)">{{ it }}</span>
2025-04-15 14:38:12 +08:00
</div>
</div>
<div class="comom-cnt" id="qcbk">
<MyTable @changePage="changePage" customClass="zdy_bkcz_table" :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" >
<template #tp="{row}">
2025-07-14 14:21:12 +08:00
<img width="30" height="30" src="" alt="">
2025-04-15 14:38:12 +08:00
</template>
2025-07-14 14:21:12 +08:00
<template #ryXb="{row}">
2025-07-24 14:40:46 +08:00
<DictTag :tag="false" :value="row.ryXb" color="#fff" :options="D_BZ_XB"/>
2025-04-15 14:38:12 +08:00
</template>
2025-07-14 14:21:12 +08:00
<template #zdrRyjb="{row}">
2025-07-24 14:40:46 +08:00
<DictTag :tag="false" :value="row.zdrRyjb" color="#fff" :options="D_GS_ZDR_RYJB"/>
2025-07-14 14:21:12 +08:00
</template>
<template #zdrBkZt="{row}">
2025-07-24 14:40:46 +08:00
<DictTag :tag="false" :value="row.zdrBkZt" color="#fff" :options="D_GS_ZDR_BK_ZT"/>
2025-07-14 14:21:12 +08:00
</template>
<template #zdrCzzt="{row}">
<DictTag :tag="false" color="#FDBC3A" :value="row.zdrCzzt" :options="D_GS_ZDR_CZZT" />
</template>
<!-- *************** -->
<template #qtFxdj="{row}">
2025-07-24 14:40:46 +08:00
<DictTag :value="row.qtFxdj" color="#fff" :options="D_GS_ZDQT_FXDJ" />
2025-07-14 14:21:12 +08:00
</template>
<template #qtLb="{row}">
2025-07-24 14:40:46 +08:00
<DictTag :value="row.qtLb" color="#fff" :options="D_GS_ZDQT_LB" />
2025-07-14 14:21:12 +08:00
</template>
2025-04-15 14:38:12 +08:00
</MyTable>
</div>
</template>
<script setup>
2025-07-14 14:21:12 +08:00
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
2025-04-15 14:38:12 +08:00
import MyTable from "@/components/aboutTable/DarkTable.vue";
2025-07-14 14:21:12 +08:00
import { reactive, ref,onMounted,getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const { D_GS_ZDQT_LB,D_GS_ZDQT_FXDJ,D_GS_ZDR_RYJB,D_BZ_XB,D_GS_ZDR_BK_ZT,D_GS_ZDR_CZZT} = proxy.$dict('D_GS_ZDQT_LB','D_GS_ZDQT_FXDJ','D_GS_ZDR_RYJB','D_BZ_XB','D_GS_ZDR_BK_ZT','D_GS_ZDR_CZZT')
2025-04-15 14:38:12 +08:00
const btns = reactive(["全域布控处置重点人员", "全域布控处置重点群体"]);
const activeIndex = ref(0);
const pageData = reactive({
2025-07-14 14:21:12 +08:00
tableData: [],
2025-04-15 14:38:12 +08:00
keyCount: 0,
tableConfiger: {
loading: false,
rowHieght: 61,
haveControls: false,
showSelectType: "null",
showIndex: false,
stripe:true
},
tableColumn: [
{ label: "照片", prop: "tp", showSolt: true },
2025-07-14 14:21:12 +08:00
{ label: "姓名", prop: "ryXm", showOverflowTooltip: true },
{ label: "性别", prop: "ryXb" ,showOverflowTooltip: true,showSolt: true},
{ label: "身份证号码", prop: "rySfzh",showOverflowTooltip: true },
{ label: "管控单位", prop: "gxSsbmmc" ,showOverflowTooltip: true},
{ label: "人员级别", prop: "zdrRyjb" ,showOverflowTooltip: true,showSolt: true},
{ label: "管控状态", prop: "zdrBkZt" ,showOverflowTooltip: true,showSolt: true},
{ label: "处置状态", prop: "zdrCzzt",showOverflowTooltip: true,showSolt: true },
2025-04-15 14:38:12 +08:00
]
});
2025-07-14 10:34:19 +08:00
const page = ref(1);
const total = ref(0);
2025-04-15 14:38:12 +08:00
onMounted(() => {
2025-07-14 14:21:12 +08:00
getData()
2025-04-15 14:38:12 +08:00
tabHeightFn();
});
2025-07-14 10:34:19 +08:00
const changeActive = (idx) =>{
activeIndex.value = idx;
2025-07-14 14:21:12 +08:00
pageData.tableData = []
2025-07-14 10:34:19 +08:00
page.value = 0;
total.value = 0;
switch(idx){
case 0:
2025-07-14 14:21:12 +08:00
pageData.tableColumn = [
{ label: "照片", prop: "tp", showSolt: true },
{ label: "姓名", prop: "ryXm", showOverflowTooltip: true },
{ label: "性别", prop: "ryXb" ,showOverflowTooltip: true,showSolt: true},
{ label: "身份证号码", prop: "rySfzh",showOverflowTooltip: true },
{ label: "管控单位", prop: "gxSsbmmc" ,showOverflowTooltip: true},
{ label: "人员级别", prop: "zdrRyjb" ,showOverflowTooltip: true,showSolt: true},
{ label: "管控状态", prop: "zdrBkZt" ,showOverflowTooltip: true,showSolt: true},
{ label: "处置状态", prop: "zdrCzzt",showOverflowTooltip: true,showSolt: true },
]
2025-07-14 10:34:19 +08:00
break;
case 1:
2025-07-14 14:21:12 +08:00
pageData.tableColumn = [
{ label: "群体名称", prop: "qtMc"},
{ label: "群体类别", prop: "qtLb",showSolt:true},
{ label: "风险等级", prop: "qtFxdj", showSolt: true},
{ label: "列控原因", prop: "zdrLkyy"},
{ label: "开始时间", prop: "zdrRkkssj"},
{ label: "截至时间", prop: "zdrRkjssj"},
]
2025-07-14 10:34:19 +08:00
break;
}
pageData.keyCount++;
2025-07-14 14:21:12 +08:00
getData()
2025-07-14 10:34:19 +08:00
}
2025-07-14 14:21:12 +08:00
// 获取数据
const getData = () =>{
2025-07-14 10:34:19 +08:00
pageData.tableConfiger.loading = true;
2025-07-14 14:21:12 +08:00
let url = activeIndex.value == 0 ? '/mosty-gsxt/tbGsxtZdry/selectPage':'/mosty-gsxt/tbGsxtZdqt/selectPage';
let data = { pageSize:10,pageCurrent:page.value };
2025-07-14 10:34:19 +08:00
qcckGet(data, url).then((res) => {
2025-07-14 14:21:12 +08:00
let arr = res.records || [];
pageData.tableData = page.value == 1 ? arr : pageData.tableData.concat(arr)
2025-07-14 10:34:19 +08:00
total.value = res.total;
pageData.tableConfiger.loading = false;
}).catch(() => {
pageData.tableConfiger.loading = false;
});
}
2025-07-14 14:21:12 +08:00
// 触底加载
const changePage = () => {
if(pageData.tableData.length == total.value) return false;
page.value++;
getData()
};
2025-07-14 10:34:19 +08:00
2025-04-15 14:38:12 +08:00
const tabHeightFn = () => {
2025-04-16 09:33:29 +08:00
pageData.tableHeight = document.getElementById('qcbk').offsetHeight - 12;
2025-07-14 10:34:19 +08:00
window.onresize = function () {
tabHeightFn();
};
2025-04-15 14:38:12 +08:00
};
</script>
<style lang="scss" scoped>
@import "@/assets/css/homeScreen.scss";
::v-deeep .comom-title{
background: url("~@/assets/images/bg18.png") no-repeat center center;
background-size: 100% 100%;
}
::v-deeep .comom-cnt{
background: url("~@/assets/images/bg18.png") no-repeat center center;
background-size: 100% 100%;
}
::v-deep .el-table td.el-table__cell{
color: #ffffff;
}
::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{
background: rgba(0,61,130,0.75);
}
</style>
<style lang="scss">
.zdy_bkcz_table td.el-table__cell {
color: #ffffff !important;
}
.zdy_bkcz_table th.el-table__cell {
color: #ffffff !important;
font-size: 15px;
}
</style>