Compare commits

...

2 Commits

Author SHA1 Message Date
c9c1bc1b2e Merge branch 'main' of http://61.139.16.27:26684/zy_oyj/sgxt_web 2025-12-18 11:56:15 +08:00
060f2bedaa 更新 2025-12-18 11:55:54 +08:00
4 changed files with 78 additions and 42 deletions

View File

@ -132,10 +132,13 @@
:options="getOptions[item.prop]"
:placeholder="item.placeholder"
/>
<div v-else-if="item.showType === 'defaultSlot'">
<div v-if="item.showType === 'Slot'">
<slot :name="item.prop"></slot>
</div>
<div v-if="item.showType === 'defaultSlot'">
<slot name="defaultSlot"></slot>
</div>
<div v-else-if="item.showType === 'nameSlot'">
<div v-if="item.showType === 'nameSlot'">
<slot name="nameSlot"></slot>
</div>
</div>
@ -472,8 +475,8 @@ const reset = () => {
getArr.forEach((item) => {
searchObj[item.prop] = item.defaultVal;
});
emit("reset", true);
emit("submit", searchObj);
emit("reset", false);
};
watchEffect(() => {
loadingPage.value = true;

View File

@ -15,7 +15,15 @@
</div>
<!-- 搜索 -->
<div ref="searchBox" v-if="search">
<Searchs :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Searchs>
<Searchs :searchArr="searchConfiger" @submit="onSearch" @reset="reset" :key="pageData.keyCount">
<template #jfd>
<div>
<el-input v-model="queryFrom.ksfz" type="number" placeholder="开始身份分值" style="width: 130px"></el-input>
<span style="color: #333;margin: 0 4px;"></span>
<el-input v-model="queryFrom.jsfz" type="number" placeholder="结束身份分值" style="width: 130px"></el-input>
</div>
</template>
</Searchs>
</div>
<!-- 表格 -->
<div class="tabBox" :style="{ height: (pageData.tableHeight + 40) + 'px' }">
@ -95,7 +103,7 @@ const czjyRef = ref()
const permission_sfqs = ref(false)
const roleCode = ref(false)
const { proxy } = getCurrentInstance();
const { D_GS_SSYJ, D_GSXT_YJXX_CZZT } = proxy.$dict("D_GS_SSYJ", "D_GSXT_YJXX_CZZT"); //获取字典数据
const { D_BZ_YJJB,D_GS_SSYJ, D_GSXT_YJXX_CZZT } = proxy.$dict('D_BZ_YJJB',"D_GS_SSYJ", "D_GSXT_YJXX_CZZT"); //获取字典数据
// 字典数据集合
const dict = ref({
@ -114,10 +122,10 @@ const searchConfiger = ref(
{ label: "姓名", prop: 'xm', placeholder: "请输入姓名", showType: "input" },
{ label: "身份证号码", prop: 'sfzh', placeholder: "请输入身份证号码", showType: "input" },
{ label: "电话号码", prop: 'dh', placeholder: "请输入电话号码", showType: "input" },
{
label: "标签小类", prop: 'bqxl', placeholder: "请选择标签小类",
showType: "select", options: []
},
{ label: "预警标签", prop: 'yjbqmc', placeholder: "请输入预警标签", showType: "input" },
{ label: "部门", prop: 'ssbmdm', placeholder: "请选择部门", showType: "department" },
{ label: "级别", prop: 'bqys', placeholder: "请选择级别", showType: "select" ,options: D_BZ_YJJB},
{ label: "积分段", prop: 'jfd', placeholder: "请选择积分段", showType: "Slot" },
]);
const detailRef = ref()
@ -164,12 +172,7 @@ const gettbGsxtBqglSelectList = (val) => {
}) || []
})
}
watch(() => bqLbData.value.bqXl, (res) => {
searchConfiger.value.push({
label: "标签小类", prop: 'bqxl', placeholder: "请选择标签小类",
showType: "select", options: res
},)
}, { deep: true })
onMounted(() => {
let str = getItem('deptId') ? getItem('deptId')[0].deptLevel : ''
permission_sfqs.value = str.startsWith('2'||'3') ? false : true;
@ -192,10 +195,14 @@ const handleCzjy = (row) => {
// 搜索
const onSearch = (val) => {
queryFrom.value = { ...val }
queryFrom.value = { ...queryFrom.value,...val };
pageData.pageConfiger.pageCurrent = 1;
getList()
}
const reset = () => {
delete queryFrom.value.ksfz
delete queryFrom.value.jsfz
}
const changeNo = (val) => {
pageData.pageConfiger.pageCurrent = val;
getList()

View File

@ -15,7 +15,15 @@
</div>
<!-- 搜索 -->
<div ref="searchBox" v-if="search">
<Searchs :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount"></Searchs>
<Searchs :searchArr="searchConfiger" @submit="onSearch" @reset="reset" :key="pageData.keyCount">
<template #jfd>
<div>
<el-input v-model="queryFrom.ksfz" type="number" placeholder="开始身份分值" style="width: 130px"></el-input>
<span style="color: #333;margin: 0 4px;"></span>
<el-input v-model="queryFrom.jsfz" type="number" placeholder="结束身份分值" style="width: 130px"></el-input>
</div>
</template>
</Searchs>
</div>
<!-- 表格 -->
<div class="tabBox" :style="{ height: (pageData.tableHeight + 40) + 'px' }">
@ -79,7 +87,7 @@ import Information from "@/views/home/model/information.vue";
import SemdFqzl from '@/components/instructionHasBeen/sendFqzl.vue'
import FkDialog from "@/views/backOfficeSystem/fourColorManage/warningControl/centerHome/components/fkDialog.vue";
import AddFrom from "./components/addFrom.vue";
import { reactive, ref, onMounted, getCurrentInstance, watch, nextTick } from "vue";
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
import Detail from './components/detail.vue'
import { exportExlByObj } from "@/utils/exportExcel.js"
@ -103,6 +111,10 @@ import { holographicProfileJump } from "@/utils/tools.js"
const searchConfiger = ref([
{ label: "姓名", prop: 'xm', placeholder: "请输入姓名", showType: "input" },
{ label: "身份证号码", prop: 'sfzh', placeholder: "请输入身份证号码", showType: "input" },
{ label: "预警标签", prop: 'yjbqmc', placeholder: "请输入预警标签", showType: "input" },
{ label: "部门", prop: 'ssbmdm', placeholder: "请选择部门", showType: "department" },
{ label: "级别", prop: 'bqys', placeholder: "请选择级别", showType: "select" ,options: D_BZ_YJJB},
{ label: "积分段", prop: 'jfd', placeholder: "请选择积分段", showType: "Slot" },
]);
const queryFrom = ref({});
@ -161,11 +173,16 @@ const handleCzjy = (row) => {
}
const onSearch = (val) => {
queryFrom.value = { ...val };
queryFrom.value = { ...queryFrom.value,...val };
pageData.pageConfiger.pageCurrent = 1;
getList();
};
const reset = () => {
delete queryFrom.value.ksfz
delete queryFrom.value.jsfz
}
const changeNo = (val) => {
pageData.pageConfiger.pageCurrent = val;
getList();
@ -179,7 +196,13 @@ const changeSize = (val) => {
const getList = () => {
pageData.tableConfiger.loading = true;
// TODO: 替换为实际的组合预警API接口
tbYjxxGetZbtj(queryFrom.value).then((res) => {
const promes = {
...queryFrom.value,
pageCurrent: pageData.pageConfiger.pageCurrent,
pageSize: pageData.pageConfiger.pageSize
}
tbYjxxGetZbtj(promes).then((res) => {
pageData.tableData = res.records || [];
pageData.total = res.total || 0;
pageData.tableConfiger.loading = false;
@ -211,12 +234,7 @@ const gettbGsxtBqglSelectList = (val) => {
}) || []
})
}
watch(() => bqLbData.value.bqXl, (res) => {
searchConfiger.value.push({
label: "组合标签", prop: 'bqmc', placeholder: "请选择组合标签",
showType: "select", options: res
},)
}, { deep: true, immediate: true })
// 查看详情
const detailRef = ref()

View File

@ -15,17 +15,13 @@
</div>
<!-- 搜索 -->
<div ref="searchBox" v-if="search">
<Searchs :searchArr="searchConfiger" @submit="onSearch" :key="pageData.keyCount">
<template #defaultSlot>
<el-select @change="gettbGsxtBqglSelectList" v-model="queryFrom.sfdl" placeholder="请选择身份类型"
style="width: 100%">
<el-option :label="item.label" :value="item.value" v-for="(item, index) in bqLbData.bqDl" :key="index" />
</el-select>
</template>
<template #nameSlot>
<el-select v-model="queryFrom.sfxl" placeholder="请选择身份类型" style="width: 100%">
<el-option :label="item.label" :value="item.value" v-for="(item, index) in bqLbData.bqXl" :key="index" />
</el-select>
<Searchs :searchArr="searchConfiger" @submit="onSearch" @reset="reset" :key="pageData.keyCount">
<template #jfd>
<div>
<el-input v-model="queryFrom.ksfz" type="number" placeholder="开始身份分值" style="width: 130px"></el-input>
<span style="color: #333;margin: 0 4px;"></span>
<el-input v-model="queryFrom.jsfz" type="number" placeholder="结束身份分值" style="width: 130px"></el-input>
</div>
</template>
</Searchs>
</div>
@ -104,14 +100,16 @@ import { getMultiDictVal } from "@/utils/dict.js"
const czjyRef = ref()
const { proxy } = getCurrentInstance();
const searchBox = ref();
const { D_GSXT_YJXX_CZZT, D_GS_SSYJ } = proxy.$dict("D_GSXT_YJXX_CZZT", "D_GS_SSYJ")
const { D_GSXT_YJXX_CZZT, D_GS_SSYJ,D_BZ_YJJB } = proxy.$dict("D_GSXT_YJXX_CZZT", "D_GS_SSYJ",'D_BZ_YJJB')
const dict = reactive({ D_GSXT_YJXX_CZZT, D_GS_SSYJ })
// 搜索配置
const searchConfiger = ref([
{ label: "姓名", prop: 'xm', placeholder: "请输入姓名", showType: "input" },
{ label: "身份证号码", prop: 'sfzh', placeholder: "请输入身份证号码", showType: "input" },
{ label: "标签大类", prop: 'sflx', placeholder: "请选择标签大类", showType: "defaultSlot" },
{ label: "标签小类", prop: 'bqxl', placeholder: "请选择标签小类", showType: "nameSlot" },
{ label: "预警标签", prop: 'yjbqmc', placeholder: "请输入预警标签", showType: "input" },
{ label: "部门", prop: 'ssbmdm', placeholder: "请选择部门", showType: "department" },
{ label: "级别", prop: 'bqys', placeholder: "请选择级别", showType: "select" ,options: D_BZ_YJJB},
{ label: "积分段", prop: 'jfd', placeholder: "请选择积分段", showType: "Slot" },
]);
const permission_sfqs = ref(false)
@ -170,11 +168,16 @@ onMounted(() => {
const onSearch = (val) => {
queryFrom.value = { ...val, ...queryFrom.value };
queryFrom.value = { ...queryFrom.value,...val };
pageData.pageConfiger.pageCurrent = 1;
getList();
};
const reset = () => {
delete queryFrom.value.ksfz
delete queryFrom.value.jsfz
}
const changeNo = (val) => {
pageData.pageConfiger.pageCurrent = val;
getList();
@ -188,7 +191,12 @@ const changeSize = (val) => {
const getList = () => {
pageData.tableConfiger.loading = true;
// TODO: 替换为实际的身份预警API接口
yjzxSfyjSelectList(queryFrom.value).then((res) => {
let params = {
...queryFrom.value,
pageCurrent: pageData.pageConfiger.pageCurrent,
pageSize: pageData.pageConfiger.pageSize,
}
yjzxSfyjSelectList(params).then((res) => {
pageData.tableData = Array.isArray(res?.records) ? res.records : [];
pageData.tableData = pageData.tableData.map(item => {
return {