2025-04-17 11:19:14 +08:00
|
|
|
<template>
|
|
|
|
<div>
|
|
|
|
<div class="titleBox">
|
|
|
|
<PageTitle title="人力情报信息采集流转">
|
|
|
|
<el-button type="primary" @click="addEdit('add', '')">
|
|
|
|
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
|
|
|
<span style="vertical-align: middle">新增</span>
|
|
|
|
</el-button>
|
|
|
|
<el-button type="danger" @click="addEdit('add', '')">
|
|
|
|
<el-icon style="vertical-align: middle"><Dete /></el-icon>
|
|
|
|
<span style="vertical-align: middle">批量删除</span>
|
|
|
|
</el-button>
|
|
|
|
<el-button type="primary">
|
|
|
|
<span style="vertical-align: middle">导出</span>
|
|
|
|
</el-button>
|
|
|
|
</PageTitle>
|
|
|
|
</div>
|
|
|
|
<!-- 搜索 -->
|
|
|
|
<div ref="searchBox">
|
2025-06-04 17:27:57 +08:00
|
|
|
<Search
|
|
|
|
:searchArr="searchConfiger"
|
|
|
|
@submit="onSearch"
|
|
|
|
:key="pageData.keyCount"
|
|
|
|
/>
|
2025-04-17 11:19:14 +08:00
|
|
|
</div>
|
|
|
|
<!-- 表格 -->
|
|
|
|
<div class="tabBox">
|
|
|
|
<MyTable
|
|
|
|
:tableData="pageData.tableData"
|
|
|
|
:tableColumn="pageData.tableColumn"
|
|
|
|
:tableHeight="pageData.tableHeight"
|
|
|
|
:key="pageData.keyCount"
|
|
|
|
:tableConfiger="pageData.tableConfiger"
|
|
|
|
:controlsWidth="pageData.controlsWidth"
|
2025-06-04 17:27:57 +08:00
|
|
|
@chooseData="chooseData"
|
|
|
|
>
|
2025-04-17 11:19:14 +08:00
|
|
|
<!-- 操作 -->
|
|
|
|
<template #controls="{ row }">
|
2025-06-04 17:27:57 +08:00
|
|
|
<el-link size="small" type="success" @click="addEdit('edit', row)"
|
|
|
|
>编辑</el-link
|
|
|
|
>
|
2025-04-17 11:19:14 +08:00
|
|
|
<el-link size="small" type="primary">处置</el-link>
|
2025-06-04 17:27:57 +08:00
|
|
|
<el-link size="small" type="danger" @click="deleteRow(row)"
|
|
|
|
>删除</el-link
|
|
|
|
>
|
|
|
|
<el-link size="small" type="warning" @click="transferClue(row)"
|
|
|
|
>采纳</el-link
|
|
|
|
>
|
2025-04-17 11:19:14 +08:00
|
|
|
</template>
|
|
|
|
</MyTable>
|
|
|
|
<Pages
|
|
|
|
@changeNo="changeNo"
|
|
|
|
@changeSize="changeSize"
|
|
|
|
:tableHeight="pageData.tableHeight"
|
|
|
|
:pageConfiger="{
|
|
|
|
...pageData.pageConfiger,
|
|
|
|
total: pageData.total
|
|
|
|
}"
|
|
|
|
></Pages>
|
|
|
|
</div>
|
|
|
|
<!-- 详情 -->
|
2025-06-04 17:27:57 +08:00
|
|
|
<DetailForm ref="detailDiloag" @getList="getList" />
|
2025-04-17 11:19:14 +08:00
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script setup>
|
|
|
|
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 DetailForm from "./components/addForm.vue";
|
|
|
|
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
|
|
|
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
|
|
|
const { proxy } = getCurrentInstance();
|
2025-06-04 17:27:57 +08:00
|
|
|
|
|
|
|
const { D_GS_XS_LY, D_GS_XS_FXDJ, D_GS_ZDQT_LB, D_GS_XS_CZZT, D_GS_XS_ZT } =
|
|
|
|
proxy.$dict(
|
|
|
|
"D_GS_XS_LY",
|
|
|
|
"D_GS_XS_FXDJ",
|
|
|
|
"D_GS_ZDQT_LB",
|
|
|
|
"D_GS_XS_CZZT",
|
|
|
|
"D_GS_XS_ZT"
|
|
|
|
); //获取字典数据
|
|
|
|
const dialogTitle = ref("新增信息"); //弹窗标题
|
2025-04-17 11:19:14 +08:00
|
|
|
const detailDiloag = ref();
|
|
|
|
const searchBox = ref(); //搜索框
|
|
|
|
|
|
|
|
const searchConfiger = ref([
|
2025-06-04 17:27:57 +08:00
|
|
|
{
|
|
|
|
label: "线索名称",
|
|
|
|
prop: "xsMc",
|
|
|
|
placeholder: "请输入线索名称",
|
|
|
|
showType: "input"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: "线索内容",
|
|
|
|
prop: "xsNr",
|
|
|
|
placeholder: "请输入线索内容",
|
|
|
|
showType: "input"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: "线索大类",
|
|
|
|
prop: "xsDl",
|
|
|
|
placeholder: "请选择线索大型",
|
|
|
|
showType: "input"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: "线索细类",
|
|
|
|
prop: "xsXl",
|
|
|
|
placeholder: "请选择线索细类",
|
|
|
|
showType: "input"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: "线索来源",
|
|
|
|
prop: "xsLy",
|
|
|
|
placeholder: "请选择线索来源",
|
|
|
|
showType: "select",
|
|
|
|
options: D_GS_XS_LY
|
|
|
|
},
|
|
|
|
{
|
|
|
|
label: "线索风险等级",
|
|
|
|
prop: "xsFxdj",
|
|
|
|
placeholder: "请选择线索风险等级",
|
|
|
|
showType: "select",
|
|
|
|
options: D_GS_XS_FXDJ
|
|
|
|
}
|
2025-04-17 11:19:14 +08:00
|
|
|
]);
|
|
|
|
|
|
|
|
const pageData = reactive({
|
|
|
|
tableData: [
|
|
|
|
{
|
|
|
|
clueNo: "GBJD01",
|
|
|
|
clueTitle: "工布江达重点人",
|
|
|
|
clueType: "涉稳",
|
|
|
|
clueSource: "系统新增",
|
|
|
|
riskLevel: "高级",
|
|
|
|
startTime: "2025/05/05",
|
|
|
|
endTime: "2025/05/05",
|
|
|
|
targetLocation: "林芝",
|
|
|
|
clueContent: "涉稳",
|
|
|
|
attachmentType: "重点人群",
|
|
|
|
attachmentName: "林芝公安局",
|
|
|
|
reportUnit: "林芝公安局",
|
|
|
|
reportTime: "2025/05/05",
|
|
|
|
involvedCount: 2,
|
|
|
|
status: "未处置"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
clueNo: "GBJD01",
|
|
|
|
clueTitle: "工布江达重点人",
|
|
|
|
clueType: "涉稳",
|
|
|
|
clueSource: "系统新增",
|
|
|
|
riskLevel: "中级",
|
|
|
|
startTime: "2025/05/05",
|
|
|
|
endTime: "2025/05/05",
|
|
|
|
targetLocation: "林芝",
|
|
|
|
clueContent: "涉稳",
|
|
|
|
attachmentType: "重点人群",
|
|
|
|
attachmentName: "林芝公安局",
|
|
|
|
reportUnit: "林芝公安局",
|
|
|
|
reportTime: "2025/05/05",
|
|
|
|
involvedCount: 2,
|
|
|
|
status: "处置中"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
clueNo: "GBJD01",
|
|
|
|
clueTitle: "工布江达重点人",
|
|
|
|
clueType: "涉稳",
|
|
|
|
clueSource: "系统新增",
|
|
|
|
riskLevel: "低级",
|
|
|
|
startTime: "2025/05/05",
|
|
|
|
endTime: "2025/05/05",
|
|
|
|
targetLocation: "林芝",
|
|
|
|
clueContent: "涉稳",
|
|
|
|
attachmentType: "重点人群",
|
|
|
|
attachmentName: "林芝公安局",
|
|
|
|
reportUnit: "林芝公安局",
|
|
|
|
reportTime: "2025/05/05",
|
|
|
|
involvedCount: 2,
|
|
|
|
status: "已处置"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
keyCount: 0,
|
|
|
|
tableConfiger: {
|
|
|
|
rowHieght: 61,
|
|
|
|
showSelectType: "checkBox",
|
|
|
|
loading: false
|
|
|
|
},
|
|
|
|
total: 0,
|
|
|
|
pageConfiger: {
|
|
|
|
pageSize: 20,
|
|
|
|
pageCurrent: 1
|
|
|
|
},
|
|
|
|
controlsWidth: 220,
|
|
|
|
tableColumn: [
|
2025-06-04 17:27:57 +08:00
|
|
|
{ label: "线索编号", prop: "xsBh" },
|
|
|
|
{ label: "线索名称", prop: "xsMc" },
|
|
|
|
// { label: "线索类型", prop: "xsQtlx", options: D_GS_ZDQT_LB },
|
|
|
|
{ label: "线索来源", prop: "xsLy", options: D_GS_XS_LY },
|
|
|
|
{ label: "风险等级", prop: "xsFxdj", options: D_GS_XS_FXDJ },
|
2025-04-17 11:19:14 +08:00
|
|
|
{ label: "开始时间", prop: "startTime" },
|
|
|
|
{ label: "结束时间", prop: "endTime" },
|
2025-06-04 17:27:57 +08:00
|
|
|
{ label: "指向地点", prop: "xsZxdd" },
|
|
|
|
{ label: "线索内容", prop: "xsNr" },
|
|
|
|
{ label: "群体类型", prop: "xsQtlx", options: D_GS_ZDQT_LB },
|
|
|
|
{ label: "群体名称", prop: "xsQtmc" },
|
|
|
|
{ label: "上报单位", prop: "sbDwMc" },
|
|
|
|
{ label: "上报时间", prop: "sbSj" },
|
|
|
|
{ label: "涉及人数", prop: "xsSjrs" },
|
|
|
|
{ label: "附件", prop: "xsFj" },
|
|
|
|
{ label: "处置状态", prop: "xsZtCz", options: D_GS_XS_CZZT },
|
|
|
|
{ label: "状态", prop: "xsZt", options: D_GS_XS_ZT }
|
2025-04-17 11:19:14 +08:00
|
|
|
]
|
2025-06-04 17:27:57 +08:00
|
|
|
});
|
2025-04-17 11:19:14 +08:00
|
|
|
|
|
|
|
const queryFrom = ref({});
|
|
|
|
|
|
|
|
onMounted(() => {
|
2025-06-04 17:27:57 +08:00
|
|
|
getList();
|
2025-04-17 11:19:14 +08:00
|
|
|
tabHeightFn();
|
|
|
|
});
|
|
|
|
|
|
|
|
//选择类型
|
|
|
|
const handleType = (val) => {
|
|
|
|
pageData.keyCount++;
|
|
|
|
pageData.pageConfiger.pageCurrent = 1;
|
2025-06-04 17:27:57 +08:00
|
|
|
getList();
|
|
|
|
};
|
2025-04-17 11:19:14 +08:00
|
|
|
// 搜索
|
2025-06-04 17:27:57 +08:00
|
|
|
const onSearch = (val) => {
|
|
|
|
queryFrom.value = { ...val };
|
2025-04-17 11:19:14 +08:00
|
|
|
pageData.pageConfiger.pageCurrent = 1;
|
2025-06-04 17:27:57 +08:00
|
|
|
getList();
|
|
|
|
};
|
2025-04-17 11:19:14 +08:00
|
|
|
|
2025-06-04 17:27:57 +08:00
|
|
|
const changeNo = (val) => {
|
2025-04-17 11:19:14 +08:00
|
|
|
pageData.pageConfiger.pageNum = val;
|
2025-06-04 17:27:57 +08:00
|
|
|
getList();
|
|
|
|
};
|
|
|
|
const changeSize = (val) => {
|
2025-04-17 11:19:14 +08:00
|
|
|
pageData.pageConfiger.pageSize = val;
|
2025-06-04 17:27:57 +08:00
|
|
|
getList();
|
|
|
|
};
|
2025-04-17 11:19:14 +08:00
|
|
|
|
|
|
|
// 获取列表
|
2025-06-04 17:27:57 +08:00
|
|
|
const getList = (val) => {
|
|
|
|
pageData.tableConfiger.loading = true;
|
2025-04-17 11:19:14 +08:00
|
|
|
let data = { ...pageData.pageConfiger, ...queryFrom.value };
|
2025-06-04 17:27:57 +08:00
|
|
|
let url = "/mosty-gsxt/tbGsxtXs/selectPage";
|
|
|
|
qcckGet(data, url)
|
|
|
|
.then((res) => {
|
|
|
|
pageData.tableData = res.records || [];
|
|
|
|
pageData.total = res.total;
|
|
|
|
pageData.tableConfiger.loading = false;
|
|
|
|
})
|
|
|
|
.catch(() => {
|
|
|
|
pageData.tableConfiger.loading = false;
|
|
|
|
});
|
|
|
|
};
|
2025-04-17 11:19:14 +08:00
|
|
|
|
|
|
|
// 详情
|
|
|
|
const addEdit = (type, row) => {
|
|
|
|
detailDiloag.value.init(type, row);
|
|
|
|
};
|
|
|
|
|
|
|
|
// 表格高度计算
|
|
|
|
const tabHeightFn = () => {
|
2025-06-04 17:27:57 +08:00
|
|
|
pageData.tableHeight =
|
|
|
|
window.innerHeight - searchBox.value.offsetHeight - 250;
|
2025-04-17 11:19:14 +08:00
|
|
|
window.onresize = function () {
|
|
|
|
tabHeightFn();
|
|
|
|
};
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style>
|
|
|
|
.el-loading-mask {
|
|
|
|
background: rgba(0, 0, 0, 0.5) !important;
|
|
|
|
}
|
|
|
|
</style>
|