Compare commits

..

2 Commits

Author SHA1 Message Date
3019295319 更新数据 2025-07-16 11:45:07 +08:00
91cadd297c 更新页面 2025-07-16 11:10:37 +08:00
2 changed files with 59 additions and 122 deletions

View File

@ -29,7 +29,6 @@
<div class="flex align-center">
<div class="title mr20">人员信息</div>
<div class="mb13">
<el-button size="small" ref="buttonRef" @click="chooseType('是否重点人')"> 是否重点人 </el-button>
<el-button size="small" v-for="it in btnsList" :key="it" @click="chooseType(it)"> {{ it }} </el-button>
</div>
</div>
@ -43,9 +42,9 @@
@chooseData="chooseDataBottom"
>
<template #ryXm="{ row }">
<div>姓名{{ row.ryXm }} &nbsp;</div>
<div>电话{{ row.rySjhm }} &nbsp;</div>
<div>身份证{{ row.rySfzh }} </div>
<div class="one_text_detail">姓名{{ row.ryXm }} &nbsp;</div>
<div class="one_text_detail">电话{{ row.rySjhm }} &nbsp;</div>
<div class="one_text_detail">身份证{{ row.rySfzh }} </div>
</template>
<template #fxDj="{ row }">
<DictTag :tag="false" :value="row.fxDj" :options="D_GS_RQFJ_FXDJ"/>
@ -69,60 +68,38 @@
</div>
<div class="right">
<div class="title">轨迹信息</div>
<ul class="cntBox">
<ul class="cntBox" v-loading="modelLoading">
<li class="step" v-for="(item, index) in stepList" :key="index">
<div style="color: #000;">{{ item.time }}</div>
<div style="color: #000;">{{ item.yjFssj }}</div>
<div class="desc">
<div class="ellipsis mb5">事由{{ item.sy }}</div>
<div class="ellipsis mb5">数据来源{{ item.sjly }}</div>
<div class="ellipsis">所在地址{{ item.szdz }}</div>
<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>
</ul>
</div>
<Model v-model="isShow" :type="chooselx" :ids="ids" @change="getList" :dic="{D_BZ_SF}"></Model>
</div>
<!-- 虚拟触发 -->
<el-popover ref="popoverRef" :visible="isShowVisble" :width="400" :virtual-ref="buttonRef" trigger="click" title="布控" virtual-triggering >
<el-form :model="chooseRow" ref="elRowForm" :inline="true" label-width="100px" :rules="rules">
<el-form-item label="审核部门" prop="ssbmdm" style="width: 100%;">
<MOSTY.Department style="width: 100%;" clearable v-model="chooseRow.ssbmdm" placeholder="请选择部门" />
</el-form-item>
<el-form-item label="审批部门" prop="ssbmdm" style="width: 100%;margin-top: 20px;margin-bottom: 10px;">
<MOSTY.Department style="width: 100%;" clearable v-model="chooseRow.ssbmdm" placeholder="请选择部门" />
</el-form-item>
</el-form>
<div class="flex just-center mt10">
<el-button @click.stop="cancelRowSp">取消</el-button>
<el-button type="primary" @click.stop="handleSendSp" v-loading="btnloading">确定</el-button>
</div>
</el-popover>
<!-- 弹窗 -->
<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";
import { ElMessage,ElMessageBox } from "element-plus";
import { ElMessage } from "element-plus";
import Model from "./model.vue";
import { qcckGet } from "@/api/qcckApi.js";
import { ref, reactive, onMounted, getCurrentInstance } from "vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
import { qcckPost } from "@/api/qcckApi.js";
import { el } from "element-plus/lib/locale/index.js";
const { proxy } = getCurrentInstance();
const {D_BZ_SF, D_GS_RQFJ_FXDJ, D_GS_RQFJ_FXLB } = proxy.$dict("D_BZ_SF","D_GS_RQFJ_FXDJ","D_GS_RQFJ_FXLB"); //获取字典数据
const btnsList = reactive(['布控','是否关注','移交管控'])
const chooseRow = ref({})
const buttonRef = ref()
const popoverRef = ref()
const elRowForm = ref()
const isShowVisble = ref(false)
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 btnloading = ref(false)
const rules = reactive({
ssbmdm: [{ required: true, message: "请选择审核部门", trigger: "change" }],
})
const ids = ref([])
const chooseList = ref([])
const pageData = reactive({
@ -203,73 +180,15 @@ const pageData = reactive({
{ label: "附件照片", prop: "ryFjZp" ,showOverflowTooltip:true},
{ label: "管辖单位", prop: "gxDwDm" ,showOverflowTooltip:true},
{ label: "责任部门", prop: "ssbm",showOverflowTooltip:true},
{ label: "标签", prop: "fxjf",showOverflowTooltip: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 stepList = ref([
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
},
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
},
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
},
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
},
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
},
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
},
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
},
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
},
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
},
{
time: "2025-4-25 16:40",
sy: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
sjly: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高",
szdz: "乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高铁到站乘坐高"
}
]);
const modelLoading = ref(false)
const stepList = ref([]);
const changeNo = (val) => {
@ -288,6 +207,7 @@ const getList = () => {
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])
})
};
@ -305,6 +225,20 @@ const chooseDataBottom = (val) =>{
if(Array.isArray(val)) {
ids.value = val.map(item=>item.id);
chooseList.value = val;
}else{
if(!val.rySfzh) {
ElMessage.warning("该人员没有轨迹");
}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;
})
}
}
}
@ -312,9 +246,6 @@ const chooseType = (val)=>{
chooselx.value = val;
if(ids.value.length == 0) return ElMessage.warning("请选择对应的数据");
switch(val){
case '是否重点人':
isShowVisble.value = !isShowVisble.value;
break;
case '布控':
proxy.$confirm("确定要布控", "警告", {type: "warning"}).then(() => {
let params = { ids:ids.value, sfbk:'1'}
@ -324,6 +255,7 @@ const chooseType = (val)=>{
})
}).catch(() => {});
break;
case '是否重点人':
case '是否关注':
case '移交管控':
isShow.value = true;
@ -331,22 +263,7 @@ const chooseType = (val)=>{
}
}
// 签收
const handleSendSp = () =>{
elRowForm.value.validate((valid) => {
if(!valid) return;
ElMessageBox.confirm('是否转为重点人?','Warning',{ confirmButtonText: 'OK', cancelButtonText: 'Cancel', type: 'warning' }).then(() => {
// btnloading.value = true;
}).catch(() => {
ElMessage({ type: 'info', message: '取消' })
})
})
}
const cancelRowSp = () =>{
chooseRow.value = {};
elRowForm.value.resetFields()
isShowVisble.value = false;
}
onMounted(()=>{
tabHeightFn();

View File

@ -7,6 +7,14 @@
<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>
<template #footer>
<div class="tc">
@ -31,14 +39,25 @@ const props = defineProps({
type:Array,
default:[]
},
type:String,
dic:Object
chooseList:{
type:Array,
default:[]
},
type:{
type:String,
default:''
},
dic:{
type:Object,
default:''
},
})
const emits = defineEmits(["update:modelValue",'getDepValue']);
const emits = defineEmits(["update:modelValue"]);
const formValidate = ref()
const rules = reactive({
sfGz: [{ required: true, message: "请选择是否关注", trigger: "change" }],
sfZzdry: [{ required: true, message: "请选择是否移交管控", trigger: "change" }],
ssbmdm: [{ required: true, message: "请选择是部门", trigger: "change" }],
})
const listQuery = ref({});
@ -49,6 +68,7 @@ const submitForm = () =>{
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)