This commit is contained in:
lcw
2025-09-11 11:26:15 +08:00
parent da85ae74d7
commit bf71d65885
6 changed files with 107 additions and 20993 deletions

BIN
node_modules.zip Normal file

Binary file not shown.

20939
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -130,7 +130,6 @@ export default {
unifiedLogin({ token, systemId }).then((data) => { unifiedLogin({ token, systemId }).then((data) => {
if (data.deptList.length === 1) { if (data.deptList.length === 1) {
this.commit("user/setToken", data.jwtToken); this.commit("user/setToken", data.jwtToken);
this.commit("user/setDeptId", data.deptList); this.commit("user/setDeptId", data.deptList);
this.commit("user/setUserName", data.userName); this.commit("user/setUserName", data.userName);
setItem("USERNAME", data.userName); setItem("USERNAME", data.userName);

View File

@ -48,6 +48,7 @@
:tableConfiger="pageData.tableConfiger" :tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth" :controlsWidth="pageData.controlsWidth"
@chooseData="chooseData" @chooseData="chooseData"
fixed="right"
> >
<template #qtLb="{ row }"> <template #qtLb="{ row }">
<DictTag :tag="false" :value="row.qtLb" :options="D_GS_ZDQT_LB" /> <DictTag :tag="false" :value="row.qtLb" :options="D_GS_ZDQT_LB" />
@ -172,20 +173,20 @@ const pageData = reactive({
}, },
controlsWidth: 150, controlsWidth: 150,
tableColumn: [ tableColumn: [
{ label: "群体名称", prop: "qtMc" }, { label: "群体名称", prop: "qtMc",width:150 },
{ label: "群体类别", prop: "qtLb" , showSolt: true}, { label: "群体类别", prop: "qtLb" , showSolt: true,width:150 },
{ label: "风险等级", prop: "qtFxdj" , showSolt: true}, { label: "风险等级", prop: "qtFxdj" , showSolt: true,width:150 },
{ label: "背景资料", prop: "qtBjzl" }, { label: "背景资料", prop: "qtBjzl" ,width:150 },
{ label: "背景信息", prop: "bgxx", showSolt: true }, { label: "背景信息", prop: "bgxx", showSolt: true ,width:150 },
{ label: "管辖单位", prop: "gxSsdwmc" }, { label: "管辖单位", prop: "gxSsdwmc",width:150 },
{ label: "列控原因", prop: "zdrLkyy" }, { label: "列控原因", prop: "zdrLkyy",width:150 },
{ label: "开始时间", prop: "zdrRkkssj" }, { label: "开始时间", prop: "zdrRkkssj",width:150 },
{ label: "截至时间", prop: "zdrRkjssj" }, { label: "截至时间", prop: "zdrRkjssj" ,width:150 },
{ label: "稳控人数", prop: "zdryList", showSolt: true }, { label: "稳控人数", prop: "zdryList", showSolt: true,width:150 },
{ label: "状态", prop: "qtZt", showSolt: true }, { label: "状态", prop: "qtZt", showSolt: true,width:150 },
{ label: "标签", prop: "bqList", showSolt: true ,showOverflowTooltip:true}, { label: "标签", prop: "bqList", showSolt: true ,showOverflowTooltip:true,width:400 },
{ label: "创建单位", prop: "xtCjbmmc" }, { label: "创建单位", prop: "xtCjbmmc" ,width:150 },
{ label: "创建时间", prop: "xtCjsj" }, { label: "创建时间", prop: "xtCjsj",width:150 },
] ]
}); });

View File

@ -7,12 +7,14 @@
<el-button type="primary" @click="(visible = !visible), (visiblefp = false)" size="small">布控申请</el-button> <el-button type="primary" @click="(visible = !visible), (visiblefp = false)" size="small">布控申请</el-button>
</template> </template>
<div class="flex just-center"> <div class="flex just-center">
<el-button size="small" type="primary" v-for="it in D_GS_BK_SQLX" :key="it.dm" @click="handleApplication(it)" >{{ it.zdmc }}</el-button> <el-button size="small" type="primary" v-for="it in D_GS_BK_SQLX" :key="it.dm"
@click="handleApplication(it)">{{
it.zdmc }}</el-button>
</div> </div>
</el-popover> </el-popover>
<el-popover placement="bottom" :visible="visiblefp" :width="400" trigger="click"> <el-popover placement="bottom" :visible="visiblefp" :width="400" trigger="click">
<template #reference> <template #reference>
<el-button size="small" type="primary" @click="(visiblefp = !visiblefp), (visible = false)" >指定分配</el-button> <el-button size="small" type="primary" @click="(visiblefp = !visiblefp), (visible = false)">指定分配</el-button>
</template> </template>
<div> <div>
<el-input readonly v-model="obj.fpmc" @click="chooseUserVisible = true" placeholder="请选择民警"></el-input> <el-input readonly v-model="obj.fpmc" @click="chooseUserVisible = true" placeholder="请选择民警"></el-input>
@ -25,7 +27,9 @@
<el-button size="small" type="primary" @click="handleZxs">转线索</el-button> <el-button size="small" type="primary" @click="handleZxs">转线索</el-button>
<el-button size="small" type="primary" @click="handleMove">移交管控</el-button> <el-button size="small" type="primary" @click="handleMove">移交管控</el-button>
<el-button type="primary" size="small" @click="addEdit('add', '')"> <el-button type="primary" size="small" @click="addEdit('add', '')">
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon> <el-icon style="vertical-align: middle">
<CirclePlus />
</el-icon>
<span style="vertical-align: middle">新增</span> <span style="vertical-align: middle">新增</span>
</el-button> </el-button>
</PageTitle> </PageTitle>
@ -36,44 +40,32 @@
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="tabBox"> <div class="tabBox">
<MyTable <MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:tableData="pageData.tableData" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
:tableColumn="pageData.tableColumn" @chooseData="chooseData">
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth"
@chooseData="chooseData"
>
<template #ryxx="{ row }">
<div class="flex">
<img src="" alt="" style="width: 80px;height: 90px;" />
<ul class="tl ml10" style="flex:1 0 0">
<li class="one_text_detail">姓名{{ row.ryXm }}</li>
<li class="flex one_text_detail">性别<DictTag :tag="false" :value="row.ryXb" :options="D_BZ_XB" /></li>
<li class="flex one_text_detail">籍贯<DictTag :tag="false" :value="row.ryJg" :options="D_BZ_XZQHDM"/></li>
<li class="one_text_detail">身份证{{ row.rySfzh }}</li>
<li class="one_text_detail">出生日期{{ row.ryCsrq }}</li>
<li class="flex one_text_detail">民族<DictTag :tag="false" :value="row.ryMz" :options="D_BZ_MZ" /></li>
</ul>
</div>
</template>
<template #jzxx="{ row }">
<div class="flex one_text_detail">户籍地区划<DictTag :tag="false" :value="row.hjdQh" :options="D_BZ_XZQHDM" /></div>
<div class="flex one_text_detail">户籍派出所{{ row.hjdPcsmc }}</div>
<div class="flex one_text_detail">户籍地详址{{ row.hjdXz }}</div>
</template>
<template #bqList="{ row }"> <template #bqList="{ row }">
<ul > <ul>
<li class="one_text_detail marks mb4" :key="index" v-for="(item, index) in row.bqList">{{ item.bqMc }}({{ item.bqFz || 0 }} ) </li> <li class="one_text_detail marks mb4" :key="index" v-for="(item, index) in row.bqList">{{ item.bqMc }}({{
item.bqFz || 0 }} ) </li>
</ul> </ul>
</template> </template>
<template #gxdw="{ row }"> <template #ryXb="{ row }">
<div class="flex one_text_detail">管辖单位{{ row.gxSsbmmc }}</div> <DictTag :tag="false" :value="row.ryXb" :options="D_BZ_XB" />
<div class="flex">人员级别<DictTag :tag="false" :value="row.zdrRyjb" :options="D_GS_ZDR_RYJB"/> </div> </template>
<div class="flex one_text_detail">管控原因{{ row.zdrLkyy }}</div> <template #ryJg="{ row }">
<div class="flex">管控状态<DictTag :tag="false" :value="row.zdrBkZt" :options="D_GS_ZDR_BK_ZT" /></div> <DictTag :tag="false" :value="row.ryJg" :options="D_BZ_XZQHDM" />
</template>
<template #ryMz="{ row }">
<DictTag :tag="false" :value="row.ryMz" :options="D_BZ_MZ" />
</template>
<template #hjdQh="{ row }">
<DictTag :tag="false" :value="row.hjdQh" :options="D_BZ_XZQHDM" />
</template>
<template #zdrRyjb="{ row }">
<DictTag :tag="false" :value="row.zdrRyjb" :options="D_GS_ZDR_RYJB" />
</template>
<template #zdrBkZt="{ row }">
<DictTag :tag="false" :value="row.zdrBkZt" :options="D_GS_ZDR_BK_ZT" />
</template> </template>
<template #zdrCzzt="{ row }"> <template #zdrCzzt="{ row }">
<DictTag :tag="false" :value="row.zdrCzzt" :options="D_GS_ZDR_CZZT" /> <DictTag :tag="false" :value="row.zdrCzzt" :options="D_GS_ZDR_CZZT" />
@ -81,6 +73,7 @@
<template #zdrZt="{ row }"> <template #zdrZt="{ row }">
<DictTag :tag="false" :value="row.zdrZt" :options="D_GS_ZDQT_ZT" /> <DictTag :tag="false" :value="row.zdrZt" :options="D_GS_ZDQT_ZT" />
</template> </template>
<template #xtSjzt="{ row }"> <template #xtSjzt="{ row }">
<div> {{ row.xtSjzt == 0 ? "注销" : row.xtSjzt == 1 ? "正常" : "封存" }}</div> <div> {{ row.xtSjzt == 0 ? "注销" : row.xtSjzt == 1 ? "正常" : "封存" }}</div>
</template> </template>
@ -88,27 +81,24 @@
<!-- 操作 --> <!-- 操作 -->
<template #controls="{ row }"> <template #controls="{ row }">
<el-link size="small" type="success" v-if="row.zdrZt == '01'" @click="handleSend(row.id)">送审</el-link> <el-link size="small" type="success" v-if="row.zdrZt == '01'" @click="handleSend(row.id)">送审</el-link>
<el-link size="small" type="primary" v-if="row.zdrZt == '01'" @click="addEdit('edit', row)" >编辑</el-link> <el-link size="small" type="primary" v-if="row.zdrZt == '01'" @click="addEdit('edit', row)">编辑</el-link>
<el-link size="small" type="primary" @click="addEdit('detail', row)" >详情</el-link> <el-link size="small" type="primary" @click="addEdit('detail', row)">详情</el-link>
<el-link size="small" type="danger" @click="deleteRow(row.id)">删除</el-link> <el-link size="small" type="danger" @click="deleteRow(row.id)">删除</el-link>
</template> </template>
</MyTable> </MyTable>
<Pages <Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
...pageData.pageConfiger, ...pageData.pageConfiger,
total: pageData.total total: pageData.total
}" }"></Pages>
></Pages>
</div> </div>
<!-- 详情 --> <!-- 详情 -->
<AddForm ref="addFormDiloag" @updateDate="getList" :dic="{D_GS_ZDR_RYJB,D_BZ_XB,D_BZ_MZ,D_BZ_XZQHDM,D_GS_ZDR_BK_ZT,D_GS_ZDR_CZZT,D_GS_BQ_ZL,D_GS_BQ_LB,D_GS_BQ_LX,D_GS_ZDR_YJDJ,D_GS_BK_SSJZ}"/> <AddForm ref="addFormDiloag" @updateDate="getList"
:dic="{ D_GS_ZDR_RYJB, D_BZ_XB, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ }" />
<!-- 选择用户 --> <!-- 选择用户 -->
<ChooseUser v-model="chooseUserVisible" @choosedUsers="handleUserSelected" :roleIds="roleIds"/> <ChooseUser v-model="chooseUserVisible" @choosedUsers="handleUserSelected" :roleIds="roleIds" />
<!-- 转线索 --> <!-- 转线索 -->
<ZxsForm v-if="showzxs" ref="zxsDilof" @change="getList" :dic="{D_BZ_SF,D_BZ_XB,D_GS_XS_LY,D_BZ_SSZT,D_GS_XS_LX,D_GS_XS_QTLX }"></ZxsForm> <ZxsForm v-if="showzxs" ref="zxsDilof" @change="getList"
:dic="{ D_BZ_SF, D_BZ_XB, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX }"></ZxsForm>
</div> </div>
</template> </template>
@ -121,10 +111,11 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue"; import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue"; import Search from "@/components/aboutTable/Search.vue";
import AddForm from "./components/addForm.vue"; import AddForm from "./components/addForm.vue";
import { qcckGet, qcckPost,qcckDelete } from "@/api/qcckApi.js"; import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue"; import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { D_GS_ZDQT_ZT,D_GS_ZDR_RYJB, D_BZ_XB, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ, D_GS_BK_SQLX, D_BZ_SF, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX } = proxy.$dict("D_GS_ZDQT_ZT","D_GS_ZDR_RYJB","D_BZ_XB","D_BZ_MZ","D_BZ_XZQHDM","D_GS_ZDR_BK_ZT","D_GS_ZDR_CZZT","D_GS_BQ_ZL","D_GS_BQ_LB","D_GS_BQ_LX","D_GS_ZDR_YJDJ","D_GS_BK_SSJZ","D_GS_BK_SQLX","D_BZ_SF","D_GS_XS_LY","D_BZ_SSZT","D_GS_XS_LX","D_GS_XS_QTLX"); const { D_GS_ZDQT_ZT, D_GS_ZDR_RYJB, D_BZ_XB, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ, D_GS_BK_SQLX, D_BZ_SF, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX } =
proxy.$dict("D_GS_ZDQT_ZT", "D_GS_ZDR_RYJB", "D_BZ_XB", "D_BZ_MZ", "D_BZ_XZQHDM", "D_GS_ZDR_BK_ZT", "D_GS_ZDR_CZZT", "D_GS_BQ_ZL", "D_GS_BQ_LB", "D_GS_BQ_LX", "D_GS_ZDR_YJDJ", "D_GS_BK_SSJZ", "D_GS_BK_SQLX", "D_BZ_SF", "D_GS_XS_LY", "D_BZ_SSZT", "D_GS_XS_LX", "D_GS_XS_QTLX");
const obj = ref({}); const obj = ref({});
const showzxs = ref(false); const showzxs = ref(false);
const zxsDilof = ref(); const zxsDilof = ref();
@ -179,13 +170,22 @@ const pageData = reactive({
}, },
controlsWidth: 150, controlsWidth: 150,
tableColumn: [ tableColumn: [
{ label: "重点人员信息", prop: "ryxx", showSolt: true,width:300,showOverflowTooltip:true }, { label: "姓名", prop: "ryXm", width: 150 },
{ label: "户籍居住信息", prop: "jzxx", showSolt: true,width:300, }, { label: "性别", prop: "ryXb", showSolt: true, width: 100 },
{ label: "标签", prop: "bqList", showSolt: true ,width:200,showOverflowTooltip:true}, { label: "籍贯", prop: "ryJg", showSolt: true, width: 100},
{ label: "管辖单位", prop: "gxdw", showSolt: true,width:300, }, { label: "身份证", prop: "rySfzh", width: 200 },
{ label: "民族", prop: "ryMz", showSolt: true, width: 100 },
{ label: "户籍地区划", prop: "hjdQh", showSolt: true, width: 150 },
{ label: "户籍派出所", prop: "hjdPcsmc", width: 200 },
{ label: "户籍地详址", prop: "hjdXz", width: 200 },
{ label: "标签", prop: "bqList", showSolt: true, width: 400, showOverflowTooltip: true },
{ label: "管辖单位", prop: "gxSsbmmc", width: 200 },
{ label: "人员级别", prop: "zdrRyjb", showSolt: true, width: 130 },
{ label: "管控原因", prop: "zdrLkyy", width: 200, showOverflowTooltip: true },
{ label: "管控状态", prop: "zdrBkZt", width: 200, showOverflowTooltip: true },
{ label: "处置状态", prop: "zdrCzzt", showSolt: true }, { label: "处置状态", prop: "zdrCzzt", showSolt: true },
{ label: "状态", prop: "xtSjzt", showSolt: true },
{ label: "审核状态", prop: "zdrZt", showSolt: true }, { label: "审核状态", prop: "zdrZt", showSolt: true },
{ label: "状态", prop: "xtSjzt", showSolt: true },
] ]
}); });
@ -226,7 +226,7 @@ const getList = () => {
//送审 //送审
const handleSend = (id) => { const handleSend = (id) => {
proxy.$confirm("确定要送审?", "警告", { type: "warning" }).then(() => { proxy.$confirm("确定要送审?", "警告", { type: "warning" }).then(() => {
qcckPost({id}, "/mosty-gsxt/tbGsxtZdry/subSh").then(() => { qcckPost({ id }, "/mosty-gsxt/tbGsxtZdry/subSh").then(() => {
proxy.$message({ type: "success", message: "送审成功" }); proxy.$message({ type: "success", message: "送审成功" });
getList(); getList();
}); });
@ -258,7 +258,7 @@ const handleUserSelected = (val) => {
// 处理分配 // 处理分配
const handlefp = () => { const handlefp = () => {
if (ids.value.length === 0) return ElMessage.error("请先选择需要布控的重点人"); if (ids.value.length === 0) return ElMessage.error("请先选择需要布控的重点人");
qcckPost({ ids: ids.value, uid: obj.value.fpid },"/mosty-gsxt/tbGsxtZdry/addGkmj").then(() => { qcckPost({ ids: ids.value, uid: obj.value.fpid }, "/mosty-gsxt/tbGsxtZdry/addGkmj").then(() => {
ElMessage.success("分配成功"); ElMessage.success("分配成功");
visible.value = false; visible.value = false;
visiblefp.value = false; visiblefp.value = false;
@ -304,7 +304,7 @@ const deleteRow = (id) => {
//新增编辑 //新增编辑
const addEdit = (type, row) => { const addEdit = (type, row) => {
show.value = true; show.value = true;
nextTick(()=>{ nextTick(() => {
addFormDiloag.value.init(type, row); addFormDiloag.value.init(type, row);
}) })
}; };
@ -319,7 +319,7 @@ const tabHeightFn = () => {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.marks{ .marks {
padding: 0 4px; padding: 0 4px;
white-space: nowrap; white-space: nowrap;
background: #73acf1; background: #73acf1;
@ -331,5 +331,4 @@ 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

@ -4,7 +4,9 @@ function resolve(dir) {
return path.join(__dirname, dir); return path.join(__dirname, dir);
} }
const serverHost = "http://192.168.1.32:8006"//波哥 // const serverHost = "http://192.168.1.32:8006"//波哥
const serverHost = "http://47.108.232.77:9537"//波哥
// const serverHost = "http://192.168.0.231:8006"//线上 // const serverHost = "http://192.168.0.231:8006"//线上
// const serverHost = "http://192.168.1.117:8006"//周 // const serverHost = "http://192.168.1.117:8006"//周
// const serverHost = "http://192.168.1.98:8006"//毛毛 // const serverHost = "http://192.168.1.98:8006"//毛毛