更新
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>
|
||||
|
Reference in New Issue
Block a user