更新
This commit is contained in:
@ -3,28 +3,63 @@
|
||||
<div class="head_box">
|
||||
<span class="title">{{ title }}重点人管理</span>
|
||||
<div>
|
||||
<el-button type="primary" size="small" v-if="!disabled" :loading="loading" @click="submit">保存</el-button >
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
v-if="!disabled"
|
||||
:loading="loading"
|
||||
@click="submit"
|
||||
>保存</el-button
|
||||
>
|
||||
<el-button size="small" @click="close">关闭</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form_cnt" >
|
||||
<FormMessage :disabled="disabled" v-model="listQuery" :formList="formData" labelWidth="100px" ref="elform" :rules="rules"></FormMessage>
|
||||
<div class="ml50 mr50"><span class="mr10">人员标签模型 : </span><el-button type="primary" v-if="!disabled" @click="chooseMarksVisible = true">选择</el-button></div>
|
||||
<div class="form_cnt">
|
||||
<FormMessage
|
||||
:disabled="disabled"
|
||||
v-model="listQuery"
|
||||
:formList="formData"
|
||||
labelWidth="100px"
|
||||
ref="elform"
|
||||
:rules="rules"
|
||||
></FormMessage>
|
||||
<div class="ml50 mr50">
|
||||
<span class="mr10">人员标签模型 : </span
|
||||
><el-button
|
||||
type="primary"
|
||||
v-if="!disabled"
|
||||
@click="chooseMarksVisible = true"
|
||||
>选择</el-button
|
||||
>
|
||||
</div>
|
||||
<div class="boxlist ml50 mr50">
|
||||
<MyTable
|
||||
:tableData="listQuery.bqList"
|
||||
:tableColumn="tableDate.tableColumn"
|
||||
:key="tableDate.keyCount"
|
||||
:tableConfiger="tableDate.tableConfiger"
|
||||
:controlsWidth="tableDate.controlsWidth">
|
||||
:controlsWidth="tableDate.controlsWidth"
|
||||
>
|
||||
<template #bqLb="{ row }">
|
||||
<DictTag :value="row.bqLb" :tag="false" :options="props.dic.D_GS_BQ_LB" />
|
||||
<DictTag
|
||||
:value="row.bqLb"
|
||||
:tag="false"
|
||||
:options="props.dic.D_GS_BQ_LB"
|
||||
/>
|
||||
</template>
|
||||
<template #bqLx="{ row }">
|
||||
<DictTag :value="row.bqLx" :tag="false" :options="props.dic.D_GS_BQ_LX" />
|
||||
<DictTag
|
||||
:value="row.bqLx"
|
||||
:tag="false"
|
||||
:options="props.dic.D_GS_BQ_LX"
|
||||
/>
|
||||
</template>
|
||||
<template #bqZl="{ row }">
|
||||
<DictTag :value="row.bqZl" :tag="false" :options="props.dic.D_GS_BQ_ZL" />
|
||||
<DictTag
|
||||
:value="row.bqZl"
|
||||
:tag="false"
|
||||
:options="props.dic.D_GS_BQ_ZL"
|
||||
/>
|
||||
</template>
|
||||
<template #controls="{ row }">
|
||||
<el-link type="danger" @click="delDictItem(row.bqId)">删除</el-link>
|
||||
@ -33,37 +68,66 @@
|
||||
</div>
|
||||
<!-- 选择审核人 -->
|
||||
<div class="ww100 mt20 ml50 mr50">
|
||||
<el-steps direction="vertical" :active="listQuery.wccz" space="500" finish-status="success">
|
||||
<el-step title="发起申请" >
|
||||
<template #description>
|
||||
<div class="flex align-center ww100 mt10 mb20">
|
||||
<el-input v-model="listQuery.sqrXm" readonly class="ww20"></el-input>
|
||||
<el-input v-model="listQuery.sqrSsbmmc" readonly class="ww20 ml10 mr10"></el-input>
|
||||
<span class="f12" style="color: #333333;"> 备注发起人和部门根据登陆人自动填写</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="审核确认" >
|
||||
<template #description>
|
||||
<div class="flex align-center ww100 mt10 mb20 depBox">
|
||||
<span class="mr4">审核部门 : </span>
|
||||
<MOSTY.Department @getDepValue="getShdep" v-model="listQuery.shSsbmdm" clearable :placeholder="listQuery.shSsbmmc ? listQuery.shSsbmmc : '' " />
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="审批确认" >
|
||||
<template #description>
|
||||
<div class="flex align-center ww100 mt10 mb20 depBox">
|
||||
<span lass="mr4">审批部门 : </span>
|
||||
<MOSTY.Department @getDepValue="getSPdep" v-model="listQuery.spSsbmdm" clearable :placeholder="listQuery.spSsbmmc ? listQuery.spSsbmmc : '' " />
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-steps
|
||||
direction="vertical"
|
||||
:active="listQuery.wccz"
|
||||
space="500"
|
||||
finish-status="success"
|
||||
>
|
||||
<el-step title="发起申请">
|
||||
<template #description>
|
||||
<div class="flex align-center ww100 mt10 mb20">
|
||||
<el-input
|
||||
v-model="listQuery.sqrXm"
|
||||
readonly
|
||||
class="ww20"
|
||||
></el-input>
|
||||
<el-input
|
||||
v-model="listQuery.sqrSsbmmc"
|
||||
readonly
|
||||
class="ww20 ml10 mr10"
|
||||
></el-input>
|
||||
<span class="f12" style="color: #333333">
|
||||
备注发起人和部门根据登陆人自动填写</span
|
||||
>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="审核确认">
|
||||
<template #description>
|
||||
<div class="flex align-center ww100 mt10 mb20 depBox">
|
||||
<span class="mr4">审核部门 : </span>
|
||||
<MOSTY.Department
|
||||
@getDepValue="getShdep"
|
||||
v-model="listQuery.shSsbmdm"
|
||||
clearable
|
||||
:placeholder="listQuery.shSsbmmc ? listQuery.shSsbmmc : ''"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
<el-step title="审批确认">
|
||||
<template #description>
|
||||
<div class="flex align-center ww100 mt10 mb20 depBox">
|
||||
<span lass="mr4">审批部门 : </span>
|
||||
<MOSTY.Department
|
||||
@getDepValue="getSPdep"
|
||||
v-model="listQuery.spSsbmdm"
|
||||
clearable
|
||||
:placeholder="listQuery.spSsbmmc ? listQuery.spSsbmmc : ''"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
</el-step>
|
||||
</el-steps>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ChooseMarks v-model="chooseMarksVisible" @choosed="choosed" :roleIds="roleIds" />
|
||||
<ChooseMarks
|
||||
v-model="chooseMarksVisible"
|
||||
@choosed="choosed"
|
||||
:roleIds="roleIds"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@ -73,16 +137,25 @@ import ChooseMarks from "@/components/ChooseList/ChooseMarks/index.vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import FormMessage from "@/components/aboutTable/FormMessage.vue";
|
||||
import { qcckGet, qcckPost, qcckPut } from "@/api/qcckApi.js";
|
||||
import { ref, defineExpose, reactive, onMounted, defineEmits, getCurrentInstance, nextTick, watch } from "vue";
|
||||
import {
|
||||
ref,
|
||||
defineExpose,
|
||||
reactive,
|
||||
onMounted,
|
||||
defineEmits,
|
||||
getCurrentInstance,
|
||||
nextTick,
|
||||
watch
|
||||
} from "vue";
|
||||
const emit = defineEmits(["updateDate"]);
|
||||
const props = defineProps({
|
||||
dic: Object
|
||||
});
|
||||
const { proxy } = getCurrentInstance();
|
||||
const roleIds = ref([])
|
||||
const chooseMarksVisible = ref(false)
|
||||
const roleIds = ref([]);
|
||||
const chooseMarksVisible = ref(false);
|
||||
const dialogForm = ref(false); //弹窗
|
||||
const pcsList = ref([])
|
||||
const pcsList = ref([]);
|
||||
const rules = reactive({
|
||||
ryXm: [{ required: true, message: "请输入姓名", trigger: "blur" }],
|
||||
rySfzh: [{ required: true, message: "请输入身份证号", trigger: "blur" }],
|
||||
@ -92,40 +165,105 @@ const rules = reactive({
|
||||
ryCsrq: [{ required: true, message: "请选择出生日期", trigger: "change" }],
|
||||
ryJg: [{ required: true, message: "请选择籍贯", trigger: "change" }],
|
||||
zdrRyjb: [{ required: true, message: "请选择人员级别", trigger: "change" }],
|
||||
zdrYjdj: [{ required: true, message: "请选择预警等级", trigger: "change" }],
|
||||
zdrYjdj: [{ required: true, message: "请选择预警等级", trigger: "change" }]
|
||||
});
|
||||
const listQuery = ref({}); //表单
|
||||
const formData = ref([])
|
||||
watch(()=>props.dic,val=> {
|
||||
formData.value = [
|
||||
{ label: "姓名", prop: "ryXm", type: "input" },
|
||||
{ label: "性别", prop: "ryXb", type: "select", options: props.dic.D_BZ_XB },
|
||||
{ label: "民族", prop: "ryMz", type: "select", options: props.dic.D_BZ_MZ },
|
||||
{ label: "身份证号", prop: "rySfzh", type: "input" },
|
||||
{ label: "联系电话", prop: "ryLxdh", type: "input" },
|
||||
{ label: "出生日期", prop: "ryCsrq", type: "date" },
|
||||
{ label: "籍贯", prop: "ryJg", type: "select", options: props.dic.D_BZ_XZQHDM },
|
||||
{ label: "人员级别", prop: "zdrRyjb", type: "select", options: props.dic.D_GS_ZDR_RYJB },
|
||||
{ label: "预警等级", prop: "zdrYjdj", type: "select", options: props.dic.D_GS_ZDR_YJDJ },
|
||||
{ label: "户籍地区划", prop: "hjdQh", type: "select", options: props.dic.D_BZ_XZQHDM },
|
||||
{ label: "户籍地详址", prop: "hjdXz", type: "input" },
|
||||
{ label: "户籍地派出所", prop: "hjdPcsdm", type: "select",options:pcsList },
|
||||
{ label: "现住地区划", prop: "xzdQh", type: "select", options: props.dic.D_BZ_XZQHDM },
|
||||
{ label: "现住地详址", prop: "xzdXz", type: "input" },
|
||||
{ label: "现住地派出所", prop: "xzdPcsdm", type: "select",options:pcsList },
|
||||
{ label: "管辖单位", prop: "gxSsbmdm", type: "department" },
|
||||
{ label: "诉求单位", prop: "sqSsbmdm", type: "department" },
|
||||
{ label: "责任单位", prop: "zrSsbmdm", type: "department" },
|
||||
{ label: "所属警种", prop: "zdrSsjz", type: "select", options: props.dic.D_GS_BK_SSJZ },
|
||||
{ label: "涉及警种", prop: "zdrSjjz", type: "select", options: props.dic.D_GS_BK_SSJZ, multiple: true },
|
||||
{ label: "管控民警姓名", prop: "gkMjXm", type: "input" },
|
||||
{ label: "管控民警警号", prop: "gkMjJh", type: "input" },
|
||||
{ label: "管控原因", prop: "zdrLkyy", type: "textarea", width: "100%" },
|
||||
{ label: "处置状态", prop: "zdrCzzt", type: "select", options: props.dic.D_GS_ZDR_CZZT },
|
||||
{ label: "入库开始时间", prop: "zdrRkkssj", type: "datetime" },
|
||||
{ label: "入库结束时间", prop: "zdrRkjssj", type: "datetime" },
|
||||
]
|
||||
},{immediate:true,deep:true})
|
||||
const formData = ref([]);
|
||||
watch(
|
||||
() => props.dic,
|
||||
(val) => {
|
||||
formData.value = [
|
||||
{ label: "姓名", prop: "ryXm", type: "input" },
|
||||
{
|
||||
label: "性别",
|
||||
prop: "ryXb",
|
||||
type: "select",
|
||||
options: props.dic.D_BZ_XB
|
||||
},
|
||||
{
|
||||
label: "民族",
|
||||
prop: "ryMz",
|
||||
type: "select",
|
||||
options: props.dic.D_BZ_MZ
|
||||
},
|
||||
{ label: "身份证号", prop: "rySfzh", type: "input" },
|
||||
{ label: "联系电话", prop: "ryLxdh", type: "input" },
|
||||
{ label: "出生日期", prop: "ryCsrq", type: "date" },
|
||||
{
|
||||
label: "籍贯",
|
||||
prop: "ryJg",
|
||||
type: "select",
|
||||
options: props.dic.D_BZ_XZQHDM
|
||||
},
|
||||
{
|
||||
label: "人员级别",
|
||||
prop: "zdrRyjb",
|
||||
type: "select",
|
||||
options: props.dic.D_GS_ZDR_RYJB
|
||||
},
|
||||
{
|
||||
label: "预警等级",
|
||||
prop: "zdrYjdj",
|
||||
type: "select",
|
||||
options: props.dic.D_GS_ZDR_YJDJ
|
||||
},
|
||||
{
|
||||
label: "户籍地区划",
|
||||
prop: "hjdQh",
|
||||
type: "select",
|
||||
options: props.dic.D_BZ_XZQHDM
|
||||
},
|
||||
{ label: "户籍地详址", prop: "hjdXz", type: "input" },
|
||||
{
|
||||
label: "户籍地派出所",
|
||||
prop: "hjdPcsdm",
|
||||
type: "select",
|
||||
options: pcsList
|
||||
},
|
||||
{
|
||||
label: "现住地区划",
|
||||
prop: "xzdQh",
|
||||
type: "select",
|
||||
options: props.dic.D_BZ_XZQHDM
|
||||
},
|
||||
{ label: "现住地详址", prop: "xzdXz", type: "input" },
|
||||
{
|
||||
label: "现住地派出所",
|
||||
prop: "xzdPcsdm",
|
||||
type: "select",
|
||||
options: pcsList
|
||||
},
|
||||
{ label: "管辖单位", prop: "gxSsbmdm", type: "department" },
|
||||
{ label: "诉求单位", prop: "sqSsbmdm", type: "department" },
|
||||
{ label: "责任单位", prop: "zrSsbmdm", type: "department" },
|
||||
{
|
||||
label: "所属警种",
|
||||
prop: "zdrSsjz",
|
||||
type: "select",
|
||||
options: props.dic.D_GS_BK_SSJZ
|
||||
},
|
||||
{
|
||||
label: "涉及警种",
|
||||
prop: "zdrSjjz",
|
||||
type: "select",
|
||||
options: props.dic.D_GS_BK_SSJZ,
|
||||
multiple: true
|
||||
},
|
||||
{ label: "管控民警姓名", prop: "gkMjXm", type: "input" },
|
||||
{ label: "管控民警警号", prop: "gkMjJh", type: "input" },
|
||||
{ label: "管控原因", prop: "zdrLkyy", type: "textarea", width: "100%" },
|
||||
{
|
||||
label: "处置状态",
|
||||
prop: "zdrCzzt",
|
||||
type: "select",
|
||||
options: props.dic.D_GS_ZDR_CZZT
|
||||
},
|
||||
{ label: "入库开始时间", prop: "zdrRkkssj", type: "datetime" },
|
||||
{ label: "入库结束时间", prop: "zdrRkjssj", type: "datetime" }
|
||||
];
|
||||
},
|
||||
{ immediate: true, deep: true }
|
||||
);
|
||||
|
||||
const tableDate = reactive({
|
||||
tableConfiger: {
|
||||
@ -134,7 +272,7 @@ const tableDate = reactive({
|
||||
loading: false
|
||||
},
|
||||
controlsWidth: 90, //操作栏宽度
|
||||
keyCount:0,
|
||||
keyCount: 0,
|
||||
tableColumn: [
|
||||
{ label: "标签名称", prop: "bqMc" },
|
||||
{ label: "标签代码", prop: "bqDm" },
|
||||
@ -146,20 +284,22 @@ const tableDate = reactive({
|
||||
const loading = ref(false);
|
||||
const elform = ref();
|
||||
const title = ref("");
|
||||
const showInfo = ref(false)
|
||||
const disabled = ref(false)
|
||||
const showInfo = ref(false);
|
||||
const disabled = ref(false);
|
||||
|
||||
onMounted(() => {
|
||||
chooseDep()
|
||||
chooseDep();
|
||||
});
|
||||
|
||||
const chooseDep = () =>{
|
||||
qcckPost({orgLevel:40}, "/mosty-base/deptFeign/queryListByDept").then((res) => {
|
||||
pcsList.value = res.map(item => {
|
||||
return { zdmc:item.orgName, dm:item.orgCode, value:item.orgCode }
|
||||
});
|
||||
});
|
||||
}
|
||||
const chooseDep = () => {
|
||||
qcckPost({ orgLevel: 40 }, "/mosty-base/deptFeign/queryListByDept").then(
|
||||
(res) => {
|
||||
pcsList.value = res.map((item) => {
|
||||
return { zdmc: item.orgName, dm: item.orgCode, value: item.orgCode };
|
||||
});
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
@ -167,13 +307,15 @@ const init = (type, row) => {
|
||||
title.value = type == "add" ? "新增" : type == "detail" ? "详情" : "编辑";
|
||||
disabled.value = type == "detail" ? true : false;
|
||||
tableDate.tableConfiger.haveControls = type == "detail" ? false : true;
|
||||
if(type == 'add'){
|
||||
if (type == "add") {
|
||||
listQuery.value.sqrXm = getItem("USERNAME");
|
||||
listQuery.value.bkfqrSfzh = getItem("idEntityCard");
|
||||
listQuery.value.sqrSsbmmc = getItem("deptId")[0].deptName;;
|
||||
listQuery.value.sqrSsbmdm = getItem("deptId")[0].deptCode;;
|
||||
listQuery.value.sqrSsbmmc = getItem("deptId")[0].deptName;
|
||||
listQuery.value.sqrSsbmdm = getItem("deptId")[0].deptCode;
|
||||
}
|
||||
setTimeout(()=>{ showInfo.value = true; },5)
|
||||
setTimeout(() => {
|
||||
showInfo.value = true;
|
||||
}, 5);
|
||||
if (row) getDataById(row.id);
|
||||
};
|
||||
// 根据id查询详情
|
||||
@ -182,48 +324,65 @@ const getDataById = (id) => {
|
||||
listQuery.value = res;
|
||||
listQuery.value.zdrSjjz = listQuery.value.zdrSjjz.split(",");
|
||||
tableDate.bqList = res.bqList;
|
||||
listQuery.value.sqrXm = getItem("USERNAME");
|
||||
listQuery.value.bkfqrSfzh = getItem("idEntityCard");
|
||||
listQuery.value.sqrSsbmmc = getItem("deptId")[0].deptName;
|
||||
listQuery.value.sqrSsbmdm = getItem("deptId")[0].deptCode;
|
||||
});
|
||||
};
|
||||
|
||||
// 选择标签
|
||||
const choosed = (val) => {
|
||||
listQuery.value.bqList = val.map(v=>{
|
||||
return { bqZl:v.bqLb , bqId:v.id, bqLx:v.bqLx, bqLb:v.bqLb, bqMc:v.bqMc, bqDm:v.bqDm }
|
||||
});
|
||||
roleIds.value = val.map(v=>v.id)
|
||||
}
|
||||
listQuery.value.bqList = val.map((v) => {
|
||||
return {
|
||||
bqZl: v.bqLb,
|
||||
bqId: v.id,
|
||||
bqLx: v.bqLx,
|
||||
bqLb: v.bqLb,
|
||||
bqMc: v.bqMc,
|
||||
bqDm: v.bqDm
|
||||
};
|
||||
});
|
||||
roleIds.value = val.map((v) => v.id);
|
||||
};
|
||||
|
||||
// 删除
|
||||
const delDictItem = (bqId) =>{
|
||||
listQuery.value.bqList = listQuery.value.bqList.filter(v=> v.bqId != bqId);
|
||||
tableDate.keyCount++
|
||||
}
|
||||
const delDictItem = (bqId) => {
|
||||
listQuery.value.bqList = listQuery.value.bqList.filter((v) => v.bqId != bqId);
|
||||
tableDate.keyCount++;
|
||||
};
|
||||
|
||||
// 提交
|
||||
const submit = () => {
|
||||
elform.value.submit((data) => {
|
||||
data.zdrSjjz = data.zdrSjjz.join(",");
|
||||
let url = title.value == "新增" ? "/mosty-gsxt/tbGsxtZdry/save" : "/mosty-gsxt/tbGsxtZdry/update";
|
||||
let url =
|
||||
title.value == "新增"
|
||||
? "/mosty-gsxt/tbGsxtZdry/save"
|
||||
: "/mosty-gsxt/tbGsxtZdry/update";
|
||||
let params = { ...data };
|
||||
if(params.hjdPcsdm) {
|
||||
let obj = pcsList.value.find(v=>v.dm == params.hjdPcsdm)
|
||||
params.hjdPcsmc = obj ? obj.zdmc : ''
|
||||
if (params.hjdPcsdm) {
|
||||
let obj = pcsList.value.find((v) => v.dm == params.hjdPcsdm);
|
||||
params.hjdPcsmc = obj ? obj.zdmc : "";
|
||||
}
|
||||
if(params.xzdPcsdm) {
|
||||
let obj1 = pcsList.value.map(v=>v.dm == params.xzdPcsdm)
|
||||
params.xzdPcsmc = obj1 ? obj1.zdmc : ''
|
||||
if (params.xzdPcsdm) {
|
||||
let obj1 = pcsList.value.map((v) => v.dm == params.xzdPcsdm);
|
||||
params.xzdPcsmc = obj1 ? obj1.zdmc : "";
|
||||
}
|
||||
loading.value = true;
|
||||
qcckPost(params, url).then(() => {
|
||||
loading.value = false;
|
||||
proxy.$message({ type: "success", message: title.value + "成功" });
|
||||
emit("updateDate");
|
||||
close();
|
||||
}).catch(() => {loading.value = false;});
|
||||
qcckPost(params, url)
|
||||
.then(() => {
|
||||
loading.value = false;
|
||||
proxy.$message({ type: "success", message: title.value + "成功" });
|
||||
emit("updateDate");
|
||||
close();
|
||||
})
|
||||
.catch(() => {
|
||||
loading.value = false;
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
// 关闭
|
||||
const close = () => {
|
||||
listQuery.value = {};
|
||||
@ -248,23 +407,22 @@ defineExpose({ init });
|
||||
margin-top: 10px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.depBox{
|
||||
border: 1px solid #e9e9e9;
|
||||
width: 305px;
|
||||
padding: 0 0 0 4px;
|
||||
border-radius: 4px;
|
||||
::v-deep .el-input__inner{
|
||||
border: none;
|
||||
}
|
||||
::v-deep .el-cascader .el-input.is-focus .el-input__inner{
|
||||
border-color: transparent !important;
|
||||
}
|
||||
::v-deep .el-input__inner:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
::v-deep .el-input.is-disabled .el-input__inner{
|
||||
border-color: transparent !important;
|
||||
}
|
||||
|
||||
.depBox {
|
||||
border: 1px solid #e9e9e9;
|
||||
width: 305px;
|
||||
padding: 0 0 0 4px;
|
||||
border-radius: 4px;
|
||||
::v-deep .el-input__inner {
|
||||
border: none;
|
||||
}
|
||||
::v-deep .el-cascader .el-input.is-focus .el-input__inner {
|
||||
border-color: transparent !important;
|
||||
}
|
||||
::v-deep .el-input__inner:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
::v-deep .el-input.is-disabled .el-input__inner {
|
||||
border-color: transparent !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -3,30 +3,45 @@
|
||||
<div class="head_box">
|
||||
<span class="title">流线索</span>
|
||||
<div>
|
||||
<el-button type="primary" :loading="loading" @click="submit">保存</el-button>
|
||||
<el-button type="primary" :loading="loading" @click="submit"
|
||||
>保存</el-button
|
||||
>
|
||||
<el-button @click="close">关闭</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form_cnt">
|
||||
<FormMessage v-model="listQuery" :formList="formData" ref="elform" :rules="rules">
|
||||
<FormMessage
|
||||
v-model="listQuery"
|
||||
:formList="formData"
|
||||
ref="elform"
|
||||
:rules="rules"
|
||||
>
|
||||
<template #gapdive>
|
||||
<div style="width: 100%;height: 10px;" class="mb20">
|
||||
<div style="width: 100%; height: 10px" class="mb20">
|
||||
<el-divider content-position="left">基础信息</el-divider>
|
||||
</div>
|
||||
</template>
|
||||
<template #gapline>
|
||||
<div style="width: 100%;height: 10px;" class="mb20">
|
||||
<div style="width: 100%; height: 10px" class="mb20">
|
||||
<el-divider content-position="left">线索内容</el-divider>
|
||||
</div>
|
||||
</template>
|
||||
<template #scfj>
|
||||
<div style="width: 100%;padding-left: 50px;">
|
||||
<div>上传附件:<span class="f12">(可附电子表格、Word文档、图像、音视频文件)</span> </div>
|
||||
<div><MOSTY.Upload :showBtn="true" :limit="10" v-model="fjdz" /> </div>
|
||||
<div style="width: 100%; padding-left: 50px">
|
||||
<div>
|
||||
上传附件:<span class="f12"
|
||||
>(可附电子表格、Word文档、图像、音视频文件)</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<MOSTY.Upload :showBtn="true" :limit="10" v-model="fjdz" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</FormMessage>
|
||||
<el-divider content-position="left"><span class="mr20">相关人员</span> </el-divider>
|
||||
<el-divider content-position="left"
|
||||
><span class="mr20">相关人员</span>
|
||||
</el-divider>
|
||||
<MyTable
|
||||
:tableData="pageForm.tableData"
|
||||
:tableColumn="pageForm.tableColumn"
|
||||
@ -35,14 +50,16 @@
|
||||
:tableConfiger="pageForm.tableConfiger"
|
||||
:controlsWidth="pageForm.controlsWidth"
|
||||
>
|
||||
<template #xb="{row}">
|
||||
<DictTag :value="row.xb" :tag="false" :options="props.dic.D_BZ_XB" />
|
||||
</template>
|
||||
<template #bqList="{row}">
|
||||
<div v-if="row.bqList">
|
||||
<el-tag type="success" v-for="(it,idx) in row.bqList" :key="idx">{{ it.bqMc }}</el-tag >
|
||||
</div>
|
||||
</template>
|
||||
<template #xb="{ row }">
|
||||
<DictTag :value="row.xb" :tag="false" :options="props.dic.D_BZ_XB" />
|
||||
</template>
|
||||
<template #bqList="{ row }">
|
||||
<div v-if="row.bqList">
|
||||
<el-tag type="success" v-for="(it, idx) in row.bqList" :key="idx">{{
|
||||
it.bqMc
|
||||
}}</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
</MyTable>
|
||||
</div>
|
||||
</div>
|
||||
@ -53,7 +70,15 @@ import * as MOSTY from "@/components/MyComponents/index";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import FormMessage from "@/components/aboutTable/FormMessage.vue";
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
import { ref, defineExpose, reactive, onMounted, defineEmits, getCurrentInstance, nextTick } from "vue";
|
||||
import {
|
||||
ref,
|
||||
defineExpose,
|
||||
reactive,
|
||||
onMounted,
|
||||
defineEmits,
|
||||
getCurrentInstance,
|
||||
nextTick
|
||||
} from "vue";
|
||||
const emit = defineEmits(["change"]);
|
||||
const props = defineProps({
|
||||
dic: Object
|
||||
@ -63,26 +88,46 @@ const dialogForm = ref(false); //弹窗
|
||||
const rules = reactive({
|
||||
xsMc: [{ required: true, message: "请输入线索名称", trigger: "blur" }],
|
||||
xlLx: [{ required: true, message: "请选择线索类型", trigger: "change" }],
|
||||
qbLy: [{ required: true, message: "请选择情报来源", trigger: "change" }],
|
||||
qbLy: [{ required: true, message: "请选择情报来源", trigger: "change" }]
|
||||
});
|
||||
const formData = ref([
|
||||
{ prop: "gapdive", type: "slot",width:'100%' },
|
||||
{ prop: "gapdive", type: "slot", width: "100%" },
|
||||
{ label: "线索名称", prop: "xsMc", type: "input" },
|
||||
{ label: "线索类型", prop: "xlLx", type: "select", options:props.dic.D_GS_XS_LX },
|
||||
{ label: "情报来源", prop: "qbLy", type: "select", options:props.dic.D_GS_XS_LY},
|
||||
{ label: "指向开始时间", prop: "zxkssj", type: "datetime"},
|
||||
{ label: "指向结束时间", prop: "zxjssj", type: "datetime"},
|
||||
{ label: "指向地点", prop: "zxdz", type: "input"},
|
||||
{ label: "所属专题", prop: "sszt", type: "select",options:props.dic.D_BZ_SSZT},
|
||||
{ prop: "gapline", type: "slot",width:'100%' },
|
||||
{ prop: "scfj", type: "slot",width:'100%'},
|
||||
{ label: "线索内容", prop: "xsNr", type: "textarea",width:'100%'},
|
||||
{ label: "群体类型", prop: "qtlx", type: "select",options:props.dic.D_GS_XS_QTLX },
|
||||
{ label: "群体名称", prop: "qtmc", type: "input"},
|
||||
{ label: "涉及人数", prop: "sjrs", type: "inputNumber"},
|
||||
{ label: "线索报送单位", prop: "ssbmdm", type: "department"},
|
||||
{
|
||||
label: "线索类型",
|
||||
prop: "xlLx",
|
||||
type: "select",
|
||||
options: props.dic.D_GS_XS_LX
|
||||
},
|
||||
{
|
||||
label: "情报来源",
|
||||
prop: "qbLy",
|
||||
type: "select",
|
||||
options: props.dic.D_GS_XS_LY
|
||||
},
|
||||
{ label: "指向开始时间", prop: "zxkssj", type: "datetime" },
|
||||
{ label: "指向结束时间", prop: "zxjssj", type: "datetime" },
|
||||
{ label: "指向地点", prop: "zxdz", type: "input" },
|
||||
{
|
||||
label: "所属专题",
|
||||
prop: "sszt",
|
||||
type: "select",
|
||||
options: props.dic.D_BZ_SSZT
|
||||
},
|
||||
{ prop: "gapline", type: "slot", width: "100%" },
|
||||
{ prop: "scfj", type: "slot", width: "100%" },
|
||||
{ label: "线索内容", prop: "xsNr", type: "textarea", width: "100%" },
|
||||
{
|
||||
label: "群体类型",
|
||||
prop: "qtlx",
|
||||
type: "select",
|
||||
options: props.dic.D_GS_XS_QTLX
|
||||
},
|
||||
{ label: "群体名称", prop: "qtmc", type: "input" },
|
||||
{ label: "涉及人数", prop: "sjrs", type: "inputNumber" },
|
||||
{ label: "线索报送单位", prop: "ssbmdm", type: "department" }
|
||||
]);
|
||||
const fjdz = ref()
|
||||
const fjdz = ref();
|
||||
const listQuery = ref({}); //表单
|
||||
const loading = ref(false);
|
||||
const elform = ref();
|
||||
@ -93,28 +138,26 @@ const pageForm = reactive({
|
||||
rowHieght: 61,
|
||||
showSelectType: "null",
|
||||
loading: false,
|
||||
haveControls:false
|
||||
haveControls: false
|
||||
},
|
||||
controlsWidth: 220,
|
||||
tableColumn: [
|
||||
{ label: "姓名", prop: "xm" },
|
||||
{ label: "性别", prop: "xb",showSolt:true },
|
||||
{ label: "性别", prop: "xb", showSolt: true },
|
||||
{ label: "身份证号", prop: "sfzh" },
|
||||
{ label: "户籍地", prop: "hjdz" },
|
||||
{ label: "户籍地派出所", prop: "hjdpcs" },
|
||||
{ label: "标签", prop: "bqList",showSolt:true }
|
||||
{ label: "标签", prop: "bqList", showSolt: true }
|
||||
]
|
||||
});
|
||||
onMounted(()=>{
|
||||
tabHeightFn()
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
// 初始化数据
|
||||
const init = (list) => {
|
||||
|
||||
fjdz.value = []
|
||||
tabHeightFn()
|
||||
fjdz.value = [];
|
||||
tabHeightFn();
|
||||
dialogForm.value = true;
|
||||
pageForm.tableData = list.map((it) => {
|
||||
return {
|
||||
@ -130,27 +173,28 @@ const init = (list) => {
|
||||
pageForm.keyCount++;
|
||||
};
|
||||
|
||||
|
||||
// 提交
|
||||
const submit = () => {
|
||||
elform.value.submit((data) => {
|
||||
let params = { ...data ,ryList:pageForm.tableData,cjLx:'0'};
|
||||
params.fjdz = fjdz.value.length > 0 ? fjdz.value.join(','):'';
|
||||
let params = { ...data, ryList: pageForm.tableData, cjLx: "0" };
|
||||
params.fjdz = fjdz.value.length > 0 ? fjdz.value.join(",") : "";
|
||||
loading.value = true;
|
||||
qcckPost(params, '/mosty-gsxt/qbcj/add').then((res) => {
|
||||
loading.value = false;
|
||||
proxy.$message({ type: "success", message: "成功" });
|
||||
emit("change");
|
||||
close();
|
||||
}).catch(() => {
|
||||
loading.value = false;
|
||||
});
|
||||
qcckPost(params, "/mosty-gsxt/qbcj/add")
|
||||
.then((res) => {
|
||||
loading.value = false;
|
||||
proxy.$message({ type: "success", message: "成功" });
|
||||
emit("change");
|
||||
close();
|
||||
})
|
||||
.catch(() => {
|
||||
loading.value = false;
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// 关闭
|
||||
const close = () => {
|
||||
fjdz.value = []
|
||||
fjdz.value = [];
|
||||
listQuery.value = {};
|
||||
dialogForm.value = false;
|
||||
loading.value = false;
|
||||
@ -158,7 +202,7 @@ const close = () => {
|
||||
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageForm.tableHeight = window.innerHeight - 720;
|
||||
pageForm.tableHeight = window.innerHeight - 720;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
@ -181,17 +225,17 @@ defineExpose({ init });
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
::v-deep .avatar-uploader{
|
||||
::v-deep .avatar-uploader {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
::v-deep .el-upload-list{
|
||||
::v-deep .el-upload-list {
|
||||
margin-left: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
::v-deep .el-upload-list__item-name .el-icon{
|
||||
::v-deep .el-upload-list__item-name .el-icon {
|
||||
top: 3px;
|
||||
}
|
||||
</style>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="statistical-analysis">
|
||||
<div class="left">
|
||||
<div style="background:#fff" class="pl10 pr10 pb10 pt10">
|
||||
<div style="background: #fff" class="pl10 pr10 pb10 pt10">
|
||||
<div class="title">图像信息</div>
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
@ -19,17 +19,28 @@
|
||||
<img width="60" height="60" :src="pro" alt="" />
|
||||
</template>
|
||||
<template #controls="{ row }">
|
||||
<el-link size="small" type="success" @click="addEdit('edit', row)" >研判确认</el-link >
|
||||
<el-link size="small" type="success" @click="addEdit('edit', row)"
|
||||
>研判确认</el-link
|
||||
>
|
||||
<el-link size="small" type="primary">查看</el-link>
|
||||
<el-link size="small" type="danger" @click="deleteRow(row)">删除</el-link>
|
||||
<el-link size="small" type="danger" @click="deleteRow(row)"
|
||||
>删除</el-link
|
||||
>
|
||||
</template>
|
||||
</MyTable>
|
||||
</div>
|
||||
<div style="background:#fff" class="mt10 pl10 pr10 pb10 pt10" >
|
||||
<div style="background: #fff" class="mt10 pl10 pr10 pb10 pt10">
|
||||
<div class="flex align-center">
|
||||
<div class="title mr20">人员信息</div>
|
||||
<div class="mb13">
|
||||
<el-button size="small" v-for="it in btnsList" :key="it" @click="chooseType(it)"> {{ it }} </el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
v-for="it in btnsList"
|
||||
:key="it"
|
||||
@click="chooseType(it)"
|
||||
>
|
||||
{{ it }}
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<MyTable
|
||||
@ -42,32 +53,56 @@
|
||||
@chooseData="chooseDataBottom"
|
||||
>
|
||||
<template #ryXm="{ row }">
|
||||
<div class="one_text_detail">姓名:{{ row.ryXm }} ;</div>
|
||||
<div class="one_text_detail">姓名:{{ row.ryXm }} ;</div>
|
||||
<div class="one_text_detail">电话:{{ row.rySjhm }} ;</div>
|
||||
<div class="one_text_detail">身份证:{{ row.rySfzh }} </div>
|
||||
<div class="one_text_detail">身份证:{{ row.rySfzh }}</div>
|
||||
</template>
|
||||
<template #fxDj="{ row }">
|
||||
<DictTag :tag="false" :value="row.fxDj" :options="D_GS_RQFJ_FXDJ"/>
|
||||
<DictTag :tag="false" :value="row.fxDj" :options="D_GS_RQFJ_FXDJ" />
|
||||
</template>
|
||||
<template #fxLb="{ row }">
|
||||
<DictTag :tag="false" :value="row.fxLb" :options="D_GS_RQFJ_FXLB"/>
|
||||
<DictTag :tag="false" :value="row.fxLb" :options="D_GS_RQFJ_FXLB" />
|
||||
</template>
|
||||
<template #bqList="{ row }">
|
||||
<div v-if="row.bqList">
|
||||
<el-tag v-for="(it,idx) in row.bqList" :key="idx">{{ it.bqMc }}、</el-tag>
|
||||
<el-tag v-for="(it, idx) in row.bqList" :key="idx"
|
||||
>{{ it.bqMc }}、</el-tag
|
||||
>
|
||||
</div>
|
||||
</template>
|
||||
<template #czfs="{ row }">
|
||||
<div>关注:<DictTag :tag="false" style="display: inline;" :value="row.sfGz" :options="D_BZ_SF" /> ;</div>
|
||||
<div>布控人员:<DictTag :tag="false" style="display: inline;" :value="row.sfZbkry" :options="D_BZ_SF" /> ;</div>
|
||||
<div>重点人员:<DictTag :tag="false" style="display: inline;" :value="row.sfZzdry" :options="D_BZ_SF" />;</div>
|
||||
<div>
|
||||
关注:<DictTag
|
||||
:tag="false"
|
||||
style="display: inline"
|
||||
:value="row.sfGz"
|
||||
:options="D_BZ_SF"
|
||||
/>
|
||||
;
|
||||
</div>
|
||||
<div>
|
||||
布控人员:<DictTag
|
||||
:tag="false"
|
||||
style="display: inline"
|
||||
:value="row.sfZbkry"
|
||||
:options="D_BZ_SF"
|
||||
/> ;
|
||||
</div>
|
||||
<div>
|
||||
重点人员:<DictTag
|
||||
:tag="false"
|
||||
style="display: inline"
|
||||
:value="row.sfZzdry"
|
||||
:options="D_BZ_SF"
|
||||
/>;
|
||||
</div>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@changeNo="changeNo"
|
||||
@changeSize="changeSize"
|
||||
:tableHeight="pageData.tableHeight1"
|
||||
:pageConfiger="{ ...pageData.pageConfiger, total: pageData.total }"
|
||||
:pageConfiger="{ ...pageData.pageConfiger, total: pageData.total }"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
@ -75,20 +110,28 @@
|
||||
<div class="title">轨迹信息</div>
|
||||
<ul class="cntBox" v-loading="modelLoading">
|
||||
<li class="step" v-for="(item, index) in stepList" :key="index">
|
||||
<div style="color: #000;">{{ item.yjFssj }}</div>
|
||||
<div class="desc">
|
||||
<div class="one_text_detail mb5">事由:{{ item.yjNr }}</div>
|
||||
<div class="one_text_detail mb5">数据来源:{{ item.yjGzymc }}</div>
|
||||
<div class="one_text_detail">所在地址:{{ item.yjDz }}</div>
|
||||
</div>
|
||||
<div style="color: #000">{{ item.yjFssj }}</div>
|
||||
<div class="desc">
|
||||
<div class="one_text_detail mb5">事由:{{ item.yjNr }}</div>
|
||||
<div class="one_text_detail mb5">数据来源:{{ item.yjGzymc }}</div>
|
||||
<div class="one_text_detail">所在地址:{{ item.yjDz }}</div>
|
||||
</div>
|
||||
</li>
|
||||
<MOSTY.Empty :show="!modelLoading && stepList.length <= 0"></MOSTY.Empty>
|
||||
<MOSTY.Empty
|
||||
:show="!modelLoading && stepList.length <= 0"
|
||||
></MOSTY.Empty>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 弹窗 -->
|
||||
<Model v-model="isShow" :type="chooselx" :chooseList="chooseList" :ids="ids" @change="getList" :dic="{D_BZ_SF,D_GS_ZDRFJ_SPZT}"></Model>
|
||||
|
||||
<Model
|
||||
v-model="isShow"
|
||||
:type="chooselx"
|
||||
:chooseList="chooseList"
|
||||
:ids="ids"
|
||||
@change="getList"
|
||||
:dic="{ D_BZ_SF, D_GS_ZDRFJ_SPZT }"
|
||||
></Model>
|
||||
</template>
|
||||
<script setup>
|
||||
import * as MOSTY from "@/components/MyComponents/index";
|
||||
@ -100,12 +143,13 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const {D_GS_ZDRFJ_SPZT,D_BZ_SF, D_GS_RQFJ_FXDJ, D_GS_RQFJ_FXLB } = proxy.$dict('D_GS_ZDRFJ_SPZT',"D_BZ_SF","D_GS_RQFJ_FXDJ","D_GS_RQFJ_FXLB"); //获取字典数据
|
||||
const btnsList = reactive(['是否重点人','布控','是否关注','移交管控'])
|
||||
const chooselx = ref('')
|
||||
const isShow = ref(false)
|
||||
const ids = ref([])
|
||||
const chooseList = ref([])
|
||||
const { D_GS_ZDRFJ_SPZT, D_BZ_SF, D_GS_RQFJ_FXDJ, D_GS_RQFJ_FXLB } =
|
||||
proxy.$dict("D_GS_ZDRFJ_SPZT", "D_BZ_SF", "D_GS_RQFJ_FXDJ", "D_GS_RQFJ_FXLB"); //获取字典数据
|
||||
const btnsList = reactive(["是否重点人", "布控", "是否关注", "移交管控"]);
|
||||
const chooselx = ref("");
|
||||
const isShow = ref(false);
|
||||
const ids = ref([]);
|
||||
const chooseList = ref([]);
|
||||
const pageData = reactive({
|
||||
tableData: [
|
||||
{
|
||||
@ -128,7 +172,7 @@ const pageData = reactive({
|
||||
rowHieght: 61,
|
||||
showSelectType: "checkBox",
|
||||
loading: false,
|
||||
haveControls:false
|
||||
haveControls: false
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
@ -145,24 +189,43 @@ const pageData = reactive({
|
||||
{ label: "人像相似度", prop: "rxxsd" }
|
||||
],
|
||||
tableColumnPeople: [
|
||||
{ label: "姓名", prop: "ryXm",showOverflowTooltip:true ,showSolt: true},
|
||||
{ label: "户籍地址", prop: "ryHjdz" ,showOverflowTooltip:true},
|
||||
{ label: "护照号码", prop: "ryHzhm" ,showOverflowTooltip:true},
|
||||
{ label: "现住地址", prop: "ryXzdz" ,showOverflowTooltip:true},
|
||||
{ label: "附件照片", prop: "ryFjZp" ,showOverflowTooltip:true},
|
||||
{ label: "管辖单位", prop: "gxDwDm" ,showOverflowTooltip:true},
|
||||
{ label: "责任部门", prop: "ssbm",showOverflowTooltip:true},
|
||||
{ label: "标签", prop: "bqList",showOverflowTooltip:true,showSolt: true},
|
||||
{ label: "风险积分", prop: "fxjf",showOverflowTooltip:true},
|
||||
{ label: "风险等级", prop: "fxDj",showOverflowTooltip:true, showSolt: true },
|
||||
{ label: "风险类别", prop: "fxLb",showOverflowTooltip:true, showSolt: true },
|
||||
{ label: "处置方式", prop: "czfs",showOverflowTooltip:true, showSolt: true },
|
||||
{ label: "姓名", prop: "ryXm", showOverflowTooltip: true, showSolt: true },
|
||||
{ label: "户籍地址", prop: "ryHjdz", showOverflowTooltip: true },
|
||||
{ label: "护照号码", prop: "ryHzhm", showOverflowTooltip: true },
|
||||
{ label: "现住地址", prop: "ryXzdz", showOverflowTooltip: true },
|
||||
{ label: "附件照片", prop: "ryFjZp", showOverflowTooltip: true },
|
||||
{ label: "管辖单位", prop: "gxDwDm", showOverflowTooltip: true },
|
||||
{ label: "责任部门", prop: "ssbm", showOverflowTooltip: true },
|
||||
{
|
||||
label: "标签",
|
||||
prop: "bqList",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
},
|
||||
{ label: "风险积分", prop: "fxjf", showOverflowTooltip: true },
|
||||
{
|
||||
label: "风险等级",
|
||||
prop: "fxDj",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
},
|
||||
{
|
||||
label: "风险类别",
|
||||
prop: "fxLb",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
},
|
||||
{
|
||||
label: "处置方式",
|
||||
prop: "czfs",
|
||||
showOverflowTooltip: true,
|
||||
showSolt: true
|
||||
}
|
||||
]
|
||||
});
|
||||
const modelLoading = ref(false)
|
||||
const modelLoading = ref(false);
|
||||
const stepList = ref([]);
|
||||
|
||||
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
getList();
|
||||
@ -172,85 +235,93 @@ const changeSize = (val) => {
|
||||
getList();
|
||||
};
|
||||
|
||||
|
||||
//获取模型识别列表
|
||||
const getList = () => {
|
||||
let data = { ...pageData.pageConfiger };
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtRqfjRy/selectPage").then((res) => {
|
||||
pageData.tableDataPeople = res.records || [];
|
||||
pageData.total = res.total;
|
||||
if(pageData.tableDataPeople.length > 0) chooseDataBottom(pageData.tableDataPeople[0])
|
||||
})
|
||||
if (pageData.tableDataPeople.length > 0)
|
||||
chooseDataBottom(pageData.tableDataPeople[0]);
|
||||
});
|
||||
};
|
||||
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight =( window.innerHeight - 280 ) / 2;
|
||||
pageData.tableHeight1 =(( window.innerHeight - 280 ) / 2 )- 50;
|
||||
pageData.tableHeight = (window.innerHeight - 280) / 2;
|
||||
pageData.tableHeight1 = (window.innerHeight - 280) / 2 - 50;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
|
||||
// 选择数据
|
||||
const chooseDataBottom = (val) =>{
|
||||
if(Array.isArray(val)) {
|
||||
ids.value = val.map(item=>item.id);
|
||||
chooseList.value = val.filter(v=>{ if(v.sfZzdry == 0) return v; });
|
||||
}else{
|
||||
if(!val.rySfzh) {
|
||||
const chooseDataBottom = (val) => {
|
||||
if (Array.isArray(val)) {
|
||||
ids.value = val.map((item) => item.id);
|
||||
chooseList.value = val.filter((v) => {
|
||||
if (v.sfZzdry != 1) return v;
|
||||
});
|
||||
} else {
|
||||
if (!val.rySfzh) {
|
||||
ElMessage.warning("该人员没有轨迹");
|
||||
}else{
|
||||
} else {
|
||||
stepList.value = [];
|
||||
modelLoading.value = true;
|
||||
let params = { pageSize:1000, pageNum:1 ,yjRysfzh:val.rySfzh};
|
||||
qcckPost(params,'/mosty-jmxf/tbYjxx/getPageList').then(res=>{
|
||||
stepList.value = res.records || [];
|
||||
modelLoading.value = false;
|
||||
}).catch(()=>{
|
||||
modelLoading.value = false;
|
||||
})
|
||||
let params = { pageSize: 1000, pageNum: 1, yjRysfzh: val.rySfzh };
|
||||
qcckPost(params, "/mosty-jmxf/tbYjxx/getPageList")
|
||||
.then((res) => {
|
||||
stepList.value = res.records || [];
|
||||
modelLoading.value = false;
|
||||
})
|
||||
.catch(() => {
|
||||
modelLoading.value = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const chooseType = (val)=>{
|
||||
const chooseType = (val) => {
|
||||
chooselx.value = val;
|
||||
if(ids.value.length == 0) return ElMessage.warning("请选择对应的数据");
|
||||
switch(val){
|
||||
case '布控':
|
||||
proxy.$confirm("确定要布控", "警告", {type: "warning"}).then(() => {
|
||||
let params = { ids:ids.value, sfbk:'1'}
|
||||
qcckPost(params,'/mosty-gsxt/tbGsxtRqfjRy/updateBySfbkpz').then(res=>{
|
||||
ElMessage.success("布控成功");
|
||||
getList()
|
||||
if (ids.value.length == 0) return ElMessage.warning("请选择对应的数据");
|
||||
switch (val) {
|
||||
case "布控":
|
||||
proxy
|
||||
.$confirm("确定要布控", "警告", { type: "warning" })
|
||||
.then(() => {
|
||||
let params = { ids: ids.value, sfbk: "1" };
|
||||
qcckPost(params, "/mosty-gsxt/tbGsxtRqfjRy/updateBySfbkpz").then(
|
||||
(res) => {
|
||||
ElMessage.success("布控成功");
|
||||
getList();
|
||||
}
|
||||
);
|
||||
})
|
||||
}).catch(() => {});
|
||||
.catch(() => {});
|
||||
break;
|
||||
case '是否重点人':
|
||||
if(chooseList.value.length == 0) return ElMessage.warning("选择的数据中都是重点人");
|
||||
case "是否重点人":
|
||||
if (chooseList.value.length == 0)
|
||||
return ElMessage.warning("选择的数据中都是重点人");
|
||||
isShow.value = true;
|
||||
break;
|
||||
case '是否关注':
|
||||
case '移交管控':
|
||||
case "是否关注":
|
||||
case "移交管控":
|
||||
isShow.value = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
onMounted(()=>{
|
||||
onMounted(() => {
|
||||
tabHeightFn();
|
||||
getList()
|
||||
})
|
||||
getList();
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.statistical-analysis {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding: 10px 10px 0 10px ;
|
||||
padding: 10px 10px 0 10px;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
.title {
|
||||
@ -266,7 +337,11 @@ onMounted(()=>{
|
||||
left: 0;
|
||||
width: 78px;
|
||||
height: 4px;
|
||||
background: linear-gradient( 90deg, #3597f9c4 0%, rgba(53, 150, 249, 0) 100%);
|
||||
background: linear-gradient(
|
||||
90deg,
|
||||
#3597f9c4 0%,
|
||||
rgba(53, 150, 249, 0) 100%
|
||||
);
|
||||
border-radius: 4px 4px 4px 4px;
|
||||
}
|
||||
}
|
||||
@ -283,7 +358,7 @@ onMounted(()=>{
|
||||
float: right;
|
||||
box-sizing: border-box;
|
||||
background: #fff;
|
||||
.cntBox{
|
||||
.cntBox {
|
||||
height: calc(100% - 60px);
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
@ -293,9 +368,9 @@ onMounted(()=>{
|
||||
position: relative;
|
||||
border-left: 3px dashed #0072ff;
|
||||
margin-left: 10px;
|
||||
&::before{
|
||||
&::before {
|
||||
position: absolute;
|
||||
content: '';
|
||||
content: "";
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background: #0072ff;
|
||||
|
@ -1,88 +1,147 @@
|
||||
<template>
|
||||
<el-dialog v-model="modelValue" title="提交" width="500px" @close="handleClose">
|
||||
<el-dialog
|
||||
v-model="modelValue"
|
||||
title="提交"
|
||||
width="500px"
|
||||
@close="handleClose"
|
||||
>
|
||||
<el-form :model="listQuery" ref="formValidate" :rules="rules">
|
||||
<el-form-item prop="sfGz" label="是否关注" v-if="props.type == '是否关注'">
|
||||
<MOSTY.Select filterable v-model="listQuery.sfGz" :dictEnum="props.dic.D_BZ_SF" width="100%" clearable placeholder="请选择是否布控"/>
|
||||
</el-form-item>
|
||||
<el-form-item prop="sfZzdry" label="是否移交管控" v-if="props.type == '移交管控'">
|
||||
<MOSTY.Select filterable v-model="listQuery.sfZzdry" :dictEnum="props.dic.D_BZ_SF" width="100%" clearable placeholder="请选择是否布控"/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="审核部门" prop="ssbmdm" style="width: 100%;" v-if="props.type == '是否重点人'">
|
||||
<MOSTY.Department style="width: 100%;" clearable v-model="listQuery.ssbmdm" placeholder="请选择部门" />
|
||||
</el-form-item>
|
||||
<el-form-item label="审批部门" prop="ssbmdm" style="width: 100%;" v-if="props.type == '是否重点人'">
|
||||
<MOSTY.Department style="width: 100%;" clearable v-model="listQuery.ssbmdm" placeholder="请选择部门" />
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
prop="sfGz"
|
||||
label="是否关注"
|
||||
v-if="props.type == '是否关注'"
|
||||
>
|
||||
<MOSTY.Select
|
||||
filterable
|
||||
v-model="listQuery.sfGz"
|
||||
:dictEnum="props.dic.D_BZ_SF"
|
||||
width="100%"
|
||||
clearable
|
||||
placeholder="请选择是否布控"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
prop="sfZzdry"
|
||||
label="是否移交管控"
|
||||
v-if="props.type == '移交管控'"
|
||||
>
|
||||
<MOSTY.Select
|
||||
filterable
|
||||
v-model="listQuery.sfZzdry"
|
||||
:dictEnum="props.dic.D_BZ_SF"
|
||||
width="100%"
|
||||
clearable
|
||||
placeholder="请选择是否布控"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item
|
||||
label="审核部门"
|
||||
prop="shSsbmdm"
|
||||
style="width: 100%"
|
||||
v-if="props.type == '是否重点人'"
|
||||
>
|
||||
<MOSTY.Department
|
||||
style="width: 100%"
|
||||
clearable
|
||||
v-model="listQuery.shSsbmdm"
|
||||
@getDepValue="changeSh"
|
||||
placeholder="请选择部门"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label="审批部门"
|
||||
prop="spSsbmdm"
|
||||
style="width: 100%"
|
||||
v-if="props.type == '是否重点人'"
|
||||
>
|
||||
<MOSTY.Department
|
||||
style="width: 100%"
|
||||
clearable
|
||||
@getDepValue="changeSp"
|
||||
v-model="listQuery.spSsbmdm"
|
||||
placeholder="请选择部门"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="tc">
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
<el-button type="primary" @click="submitForm">确定</el-button>
|
||||
</div>
|
||||
<div class="tc">
|
||||
<el-button @click="handleClose">取消</el-button>
|
||||
<el-button type="primary" @click="submitForm">确定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ElMessage } from "element-plus";
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
import * as MOSTY from "@/components/MyComponents/index";
|
||||
import { ref ,defineProps,defineEmits, reactive} from 'vue';
|
||||
import { ref, defineProps, defineEmits, reactive } from "vue";
|
||||
const props = defineProps({
|
||||
modelValue:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
},
|
||||
ids:{
|
||||
type:Array,
|
||||
default:[]
|
||||
},
|
||||
chooseList:{
|
||||
type:Array,
|
||||
default:[]
|
||||
},
|
||||
type:{
|
||||
type:String,
|
||||
default:''
|
||||
},
|
||||
dic:{
|
||||
type:Object,
|
||||
default:''
|
||||
},
|
||||
})
|
||||
modelValue: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
ids: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
chooseList: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: ""
|
||||
},
|
||||
dic: {
|
||||
type: Object,
|
||||
default: ""
|
||||
}
|
||||
});
|
||||
const emits = defineEmits(["update:modelValue"]);
|
||||
const formValidate = ref()
|
||||
const formValidate = ref();
|
||||
const rules = reactive({
|
||||
sfGz: [{ required: true, message: "请选择是否关注", trigger: "change" }],
|
||||
sfZzdry: [{ required: true, message: "请选择是否移交管控", trigger: "change" }],
|
||||
ssbmdm: [{ required: true, message: "请选择是部门", trigger: "change" }],
|
||||
})
|
||||
sfGz: [{ required: true, message: "请选择是否关注", trigger: "change" }],
|
||||
sfZzdry: [
|
||||
{ required: true, message: "请选择是否移交管控", trigger: "change" }
|
||||
],
|
||||
shSsbmdm: [{ required: true, message: "请选择审核部门", trigger: "change" }],
|
||||
spSsbmdm: [{ required: true, message: "请选择审批部门", trigger: "change" }]
|
||||
});
|
||||
const listQuery = ref({});
|
||||
|
||||
const submitForm = () =>{
|
||||
formValidate.value.validate((valid) => {
|
||||
if (!valid) return false;
|
||||
let params = { ids:props.ids, ...listQuery.value }
|
||||
let url = ''
|
||||
if( props.type == '是否关注') url = '/mosty-gsxt/tbGsxtRqfjRy/updateBySfgz'
|
||||
if( props.type == '移交管控') url = '/mosty-gsxt/tbGsxtRqfjRy/updateByYjgk'
|
||||
if( props.type == '是否重点人') url = '/mosty-gsxt/tbGsxtRqfjRy/updateByYjgk'
|
||||
qcckPost(params,url).then(res=>{
|
||||
ElMessage.success("成功");
|
||||
emits('update:modelValue',false)
|
||||
emits('change')
|
||||
})
|
||||
})
|
||||
}
|
||||
const submitForm = () => {
|
||||
formValidate.value.validate((valid) => {
|
||||
if (!valid) return false;
|
||||
let params = { ids: props.ids, ...listQuery.value };
|
||||
let url = "";
|
||||
if (props.type == "是否关注") url = "/mosty-gsxt/tbGsxtRqfjRy/updateBySfgz";
|
||||
if (props.type == "移交管控") url = "/mosty-gsxt/tbGsxtRqfjRy/updateByYjgk";
|
||||
if (props.type == "是否重点人") {
|
||||
url = " /mosty-gsxt/tbGsxtRqfjRy/sendZdrSs";
|
||||
params.ids = props.chooseList.map((v) => v.id);
|
||||
}
|
||||
qcckPost(params, url).then((res) => {
|
||||
ElMessage.success("成功");
|
||||
emits("update:modelValue", false);
|
||||
emits("change");
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const handleClose = () =>{
|
||||
emits('update:modelValue',false)
|
||||
formValidate.value.resetFields();
|
||||
}
|
||||
const changeSh = (val) => {
|
||||
listQuery.value.shSsbmmc = val ? val.orgName : "";
|
||||
};
|
||||
const changeSp = (val) => {
|
||||
listQuery.value.spSsbmmc = val ? val.orgName : "";
|
||||
};
|
||||
const handleClose = () => {
|
||||
emits("update:modelValue", false);
|
||||
formValidate.value.resetFields();
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
Reference in New Issue
Block a user