feat: 增加菜单【转会商列表】,【补充/续报列表】,【积分列表】

This commit is contained in:
2025-12-18 15:10:13 +08:00
parent 2bcab2abd6
commit 1b8655d2ee
8 changed files with 639 additions and 0 deletions

View File

@ -0,0 +1,12 @@
/** 积分类型 */
export const jflylxTypes = {
'01': '信息采集',
'02': '肯定',
'03': '转会商',
'04': '转合成',
'05': '转线索',
'06': '建模型',
'07': '战术研判',
'08': '战略研判'
};

View File

@ -0,0 +1,177 @@
<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> -->
</PageTitle>
</div>
<!-- 搜索 -->
<div ref="searchBox">
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
</div>
<!-- 表格 -->
<div class="tabBox">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
<template #jflx="{ row }">
<DictTag :tag="false" :value="row.jflx" :options="jflxArr" />
</template>
<template #jflylx="{ row }">
<span>{{ jflylxTypes[row.jflylx] }}</span>
</template>
<!-- 操作 -->
<template #controls="{ row }">
<el-link type="primary" @click="addEdit('edit', row)">详情</el-link>
</template>
</MyTable>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"></Pages>
</div>
<!-- 编辑详情 -->
<!-- <EditAddForm v-if="show" ref="detailDiloag" :dic="{ JQLB,JQLX,JQXL,JQZL,D_BZ_JQLY,D_BZ_JQFL,JQLB_DP,D_BZ_JQBQ,D_GS_SSYJ }"
@updateDate="getList" /> -->
</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 EditAddForm from "./components/editAddForm.vue";
import { mjjfSelectPage } from '@/api/HumanIntelligence/integralList.js'
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
import { jflylxTypes } from "./dict.js"
const { proxy } = getCurrentInstance();
// const { D_GS_JFLX, } = proxy.$dict("D_GS_JFLX",); //获取字典数据
const detailDiloag = ref();
const show = ref(false)
const jflxArr = [{ label: '优秀信息员', value: '01' }, { label: '优秀研判员', value: '02' }] // jflx
const searchConfiger = ref([
{
label: "姓名",
prop: "xm",
placeholder: "请输入姓名",
showType: "input"
},
// {
// label: "身份证号",
// prop: "sfzh",
// placeholder: "请输入身份证号",
// showType: "input"
// },
{
label: "积分类型",
prop: "jflx",
placeholder: "请选择积分类型",
showType: "select",
options: jflxArr
},
{
label: "积分来源类型",
prop: "jflylx",
placeholder: "请选择积分来源类型",
showType: "select",
options: Object.keys(jflylxTypes).map(key => ({ label: jflylxTypes[key], value: key }))
},
]);
const searchBox = ref(); //搜索框
const pageData = reactive({
tableData: [], //表格数据
keyCount: 0,
tableConfiger: {
haveControls: false, //不显示【操作列】
rowHieght: 61,
showSelectType: "null",
loading: false,
},
total: 0,
pageConfiger: {
pageSize: 20,
pageCurrent: 1
}, //分页
controlsWidth: 160, //操作栏宽度
tableColumn: [
{ label: "姓名", prop: "xm" },
// { label: "身份证号", prop: "sfzh" },
{ label: "积分类型", prop: "jflx", showSolt: true },
{ label: "积分来源类型", prop: "jflylx", showSolt: true },
{ label: "积分", prop: "jf" },
{ label: "积分获得时间", prop: "hdsj" },
{ label: "所属部门", prop: "ssbm" },
{ label: "所属市公安局", prop: "sssgaj" },
{ label: "所属县公安局", prop: "ssxgaj" },
{ label: "备注", prop: "bz", showOverflowTooltip: true },
]
});
onMounted(() => {
tabHeightFn();
getList()
});
const listQuery = ref({})
// 搜索
const onSearch = (val) => {
listQuery.value = { ...val };
pageData.pageConfiger.pageCurrent = 1;
getList()
}
const changeNo = (val) => {
pageData.pageConfiger.pageCurrent = val;
getList()
}
const changeSize = (val) => {
pageData.pageConfiger.pageSize = val;
getList()
}
const getList = () => {
pageData.tableConfiger.loading = true;
const params = {
pageCurrent: pageData.pageConfiger.pageCurrent,
pageSize: pageData.pageConfiger.pageSize,
...listQuery.value
}
mjjfSelectPage(params).then(res => {
console.log(res);
pageData.tableData = res.records || [];
pageData.total = res.total;
}).finally(() => {
pageData.tableConfiger.loading = false;
})
}
// 新增
const addEdit = (type, row) => {
show.value = true;
nextTick(() => {
detailDiloag.value.init(type, row,);
})
};
// 表格高度计算
const tabHeightFn = () => {
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
window.onresize = function() {
tabHeightFn();
};
};
</script>
<style>
.el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important;
}
</style>

View File

@ -0,0 +1,160 @@
<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> -->
</PageTitle>
</div>
<!-- 搜索 -->
<div ref="searchBox">
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
</div>
<!-- 表格 -->
<div class="tabBox">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
<!-- <template #jjlx="{ row }">
<DictTag :tag="false" :value="row.jjlx" :options="D_BZ_JQBQ" />
</template> -->
<template #czlx="{ row }">
<DictTag :tag="false" :value="row.czlx" :options="operationArr" />
</template>
<!-- 操作 -->
<template #controls="{ row }">
<el-link type="primary" @click="addEdit('edit', row)">详情</el-link>
</template>
</MyTable>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"></Pages>
</div>
<!-- 编辑详情 -->
<!-- <EditAddForm v-if="show" ref="detailDiloag" :dic="{ JQLB,JQLX,JQXL,JQZL,D_BZ_JQLY,D_BZ_JQFL,JQLB_DP,D_BZ_JQBQ,D_GS_SSYJ }"
@updateDate="getList" /> -->
</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 EditAddForm from "./components/editAddForm.vue";
import { zhsSelectPage } from '@/api/HumanIntelligence/supplementReportList.js'
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
const { proxy } = getCurrentInstance();
// const { D_BZ_CZLX, } = proxy.$dict("D_BZ_CZLX",); //获取字典数据
const detailDiloag = ref();
const show = ref(false)
const operationArr = [{ label: '续报', value: '01' }, { label: '补充', value: '02' }]
const searchConfiger = ref([
{
label: "补充人姓名",
prop: "bcrxm",
placeholder: "请输入补充人姓名",
showType: "input"
},
{
label: "操作类型",
prop: "czlx",
placeholder: "请选择操作类型",
showType: "select", // 01 续报、02 补充
options: operationArr
},
]);
const searchBox = ref(); //搜索框
const pageData = reactive({
tableData: [], //表格数据
keyCount: 0,
tableConfiger: {
haveControls: false, //不显示【操作列】
rowHieght: 61,
showSelectType: "null",
loading: false,
},
total: 0,
pageConfiger: {
pageSize: 20,
pageCurrent: 1
}, //分页
controlsWidth: 160, //操作栏宽度
tableColumn: [
// { label: "线索情报ID", prop: "qbid" },
{ label: "操作类型", prop: "czlx", showSolt: true },
{ label: "补充人姓名", prop: "bcrxm" },
// { label: "补充人身份证号", prop: "bcrsfzh" },
{ label: "补充时间", prop: "bcsj" },
{ label: "原始内容", prop: "ysnr", showOverflowTooltip: true },
{ label: "补充内容", prop: "bcnr", showOverflowTooltip: true },
]
});
onMounted(() => {
tabHeightFn();
getList()
});
const listQuery = ref({})
// 搜索
const onSearch = (val) => {
listQuery.value = { ...val };
pageData.pageConfiger.pageCurrent = 1;
getList()
}
const changeNo = (val) => {
pageData.pageConfiger.pageCurrent = val;
getList()
}
const changeSize = (val) => {
pageData.pageConfiger.pageSize = val;
getList()
}
const getList = () => {
pageData.tableConfiger.loading = true;
const params = {
pageCurrent: pageData.pageConfiger.pageCurrent,
pageSize: pageData.pageConfiger.pageSize,
...listQuery.value
}
zhsSelectPage(params).then(res => {
console.log(res);
pageData.tableData = res.records || [];
pageData.total = res.total;
}).finally(() => {
pageData.tableConfiger.loading = false;
})
}
// 新增
const addEdit = (type, row) => {
show.value = true;
nextTick(() => {
detailDiloag.value.init(type, row,);
})
};
// 表格高度计算
const tabHeightFn = () => {
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
window.onresize = function() {
tabHeightFn();
};
};
</script>
<style>
.el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important;
}
</style>

View File

@ -0,0 +1,164 @@
<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> -->
</PageTitle>
</div>
<!-- 搜索 -->
<div ref="searchBox">
<Search :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Search>
</div>
<!-- 表格 -->
<div class="tabBox">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
<!-- <template #jjlx="{ row }">
<DictTag :tag="false" :value="row.jjlx" :options="D_BZ_JQBQ" />
</template> -->
<template #qbly="{ row }">
<DictTag :tag="false" :value="row.qbly" :options="D_GS_XS_LY" />
</template>
<!-- 操作 -->
<template #controls="{ row }">
<el-link type="primary" @click="addEdit('edit', row)">详情</el-link>
</template>
</MyTable>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"></Pages>
</div>
<!-- 编辑详情 -->
<!-- <EditAddForm v-if="show" ref="detailDiloag" :dic="{ JQLB,JQLX,JQXL,JQZL,D_BZ_JQLY,D_BZ_JQFL,JQLB_DP,D_BZ_JQBQ,D_GS_SSYJ }"
@updateDate="getList" /> -->
</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 EditAddForm from "./components/editAddForm.vue";
import { zhsSelectPage } from '@/api/HumanIntelligence/transferConsultationList.js'
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
const { proxy } = getCurrentInstance();
const { D_GS_XS_LY, } = proxy.$dict("D_GS_XS_LY",); //获取字典数据
const detailDiloag = ref();
const show = ref(false)
const searchConfiger = ref([
{
label: "信息编号",
prop: "xsBh",
placeholder: "请输入信息编号",
showType: "input"
},
{
label: "情报名称",
prop: "qbmc",
placeholder: "请输入情报名称",
showType: "input"
},
{
label: "情报来源",
prop: "qbly",
placeholder: "请选择情报来源",
showType: "select",
options: D_GS_XS_LY
},
]);
const searchBox = ref(); //搜索框
const pageData = reactive({
tableData: [], //表格数据
keyCount: 0,
tableConfiger: {
haveControls: false, //不显示【操作列】
rowHieght: 61,
showSelectType: "null",
loading: false,
},
total: 0,
pageConfiger: {
pageSize: 20,
pageCurrent: 1
}, //分页
controlsWidth: 160, //操作栏宽度
tableColumn: [
{ label: "信息编号", prop: "xsBh" },
{ label: "情报名称", prop: "qbmc", showOverflowTooltip: true },
{ label: "情报来源", prop: "qbly", showSolt: true },
{ label: "情报内容", prop: "qbnr", showOverflowTooltip: true },
{ label: "所属部门", prop: "ssbm" },
{ label: "所属市公安局", prop: "sssgaj" },
{ label: "所属县公安局", prop: "ssxgaj" },
{ label: "备注", prop: "bz", showOverflowTooltip: true },
]
});
onMounted(() => {
tabHeightFn();
getList()
});
const listQuery = ref({})
// 搜索
const onSearch = (val) => {
listQuery.value = { ...val };
pageData.pageConfiger.pageCurrent = 1;
getList()
}
const changeNo = (val) => {
pageData.pageConfiger.pageCurrent = val;
getList()
}
const changeSize = (val) => {
pageData.pageConfiger.pageSize = val;
getList()
}
const getList = () => {
pageData.tableConfiger.loading = true;
const params = {
pageCurrent: pageData.pageConfiger.pageCurrent,
pageSize: pageData.pageConfiger.pageSize,
...listQuery.value
}
zhsSelectPage(params).then(res => {
console.log(res);
pageData.tableData = res.records || [];
pageData.total = res.total;
}).finally(() => {
pageData.tableConfiger.loading = false;
})
}
// 新增
const addEdit = (type, row) => {
show.value = true;
nextTick(() => {
detailDiloag.value.init(type, row,);
})
};
// 表格高度计算
const tabHeightFn = () => {
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
window.onresize = function() {
tabHeightFn();
};
};
</script>
<style>
.el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important;
}
</style>