This commit is contained in:
2025-07-16 11:03:44 +08:00
parent 186f647473
commit 896590f35c
4 changed files with 73 additions and 27 deletions

View File

@ -4,9 +4,6 @@
<el-form-item prop="bkshzt" label="审核">
<MOSTY.Select filterable v-model="listQuery.bkshzt" :dictEnum="props.dic.D_BZ_RCSHZT" width="100%" clearable placeholder="请选择是否布控" />
</el-form-item>
<el-form-item prop="bkshzt" label="审核部门">
<MOSTY.Department clearable v-model="listQuery.ssbmdm" :placeholder="listQuery.ssbm ? listQuery.ssbm : ''" style="width: 100%" />
</el-form-item>
</el-form>
<template #footer>
<div class="tc">
@ -37,7 +34,7 @@ const props = defineProps({
}
});
const emits = defineEmits(["update:modelValue", "getDepValue"]);
const emits = defineEmits(["update:modelValue"]);
const formValidate = ref();
const rules = reactive({
bkshzt: [{ required: true, message: "请选择审核状态", trigger: "change" }]
@ -47,7 +44,7 @@ const listQuery = ref({});
const submitForm = () => {
formValidate.value.validate((valid) => {
if (!valid) return false;
let params = { ids: props.ids, ...listQuery.value };
let params = { ids: [props.data.id], ...listQuery.value };
qcckPost(params, "/mosty-gsxt/tbGsxtRqfjRy/updateByBksh").then((res) => {
ElMessage.success("成功");
emits("update:modelValue", false);

View File

@ -29,6 +29,7 @@
<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>
@ -81,8 +82,26 @@
</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>
</template>
<script setup>
import * as MOSTY from "@/components/MyComponents/index";
import { ElMessage,ElMessageBox } from "element-plus";
import Model from "./model.vue";
import { qcckGet } from "@/api/qcckApi.js";
@ -93,11 +112,19 @@ import { qcckPost } from "@/api/qcckApi.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 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({
tableData: [
{
@ -275,32 +302,52 @@ const tabHeightFn = () => {
// 选择数据
const chooseDataBottom = (val) =>{
if(Array.isArray(val)) ids.value = val.map(item=>item.id);
if(Array.isArray(val)) {
ids.value = val.map(item=>item.id);
chooseList.value = val;
}
}
const chooseType = (val)=>{
chooselx.value = val;
switch(val){
case '布控':
if(ids.value.length == 0) return ElMessage.warning("请选择对应的数据");
ElMessageBox.confirm('是否确定布控?','Warning',{ confirmButtonText: 'OK', cancelButtonText: 'Cancel', type: 'warning' }).then(() => {
switch(val){
case '是否重点人':
isShowVisble.value = !isShowVisble.value;
break;
case '布控':
proxy.$confirm("确定要布控", "警告", {type: "warning"}).then(() => {
let params = { ids:ids.value, sfbk:'1'}
qcckPost(params,'/mosty-gsxt/tbGsxtRqfjRy/updateBySfbkpz').then(res=>{
ElMessage.success("成功");
ElMessage.success("布控成功");
getList()
})
}).catch(() => {
ElMessage({ type: 'info', message: '取消' })
})
}).catch(() => {});
break;
case '是否关注':
case '移交管控':
if(ids.value.length == 0) return ElMessage.warning("请选择对应的数据");
isShow.value = true;
break;
}
}
// 签收
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();
getList()

View File

@ -2,7 +2,7 @@
<div class="personCard relative flex mb10 pointer">
<div class="cxbq f14 lh50 tc absolute" v-if="props.item.czzt == '03'">已完成</div>
<el-button color="#0072ff" size="small" @click="handleQs(props.item)" v-if="props.item.czzt == '01'" class="btn_qs f14 tc absolute">签收</el-button>
<el-button color="#0072ff" size="small" v-if="props.item.czzt == '02'" ref="buttonRef" @click.stop="onClickOutside" class="btn_qs f14 tc absolute">反馈</el-button>
<el-button color="#0072ff" size="small" v-if="props.item.czzt == '02'" ref="buttonRef" @click.stop="isShowVisble = !isShowVisble;" class="btn_qs f14 tc absolute">反馈</el-button>
<div class="avatarBox relative">
<div class="marks f12 absolute" :class="changeBg(props.item.yjJb)">
<span>{{ changetText(props.item.yjJb) }}</span>
@ -78,11 +78,6 @@ const rules = reactive({
})
const onClickOutside = () => {
isShowVisble.value = true;
}
// 处理签收
const handleQs = (val) =>{
proxy.$confirm("是否确定要签收?", "警告", { type: "warning" }).then(() => {

View File

@ -42,7 +42,7 @@
<div class="tabBox">
<MyTable
:tableData="pageData.tableData"
:tableColumn="pageData.tableColumn"
:tableColumn="pageData.tableColumn1"
:tableHeight="pageData.tableHeight"
:key="pageData.keyCount"
:tableConfiger="pageData.tableConfigerR"
@ -119,13 +119,20 @@ const pageData = reactive({
pageSize: 20,
pageCurrent: 1
}, //分页
controlsWidth: 160, //操作栏宽度
controlsWidth: 120, //操作栏宽度
tableColumn: [
{ label: "语义名称", prop: "yymc",showOverflowTooltip:true },
{ label: "要素类型", prop: "yslx",showOverflowTooltip:true },
{ label: "要素名称", prop: "ysmc",showOverflowTooltip:true },
{ label: "要素描述", prop: "ysms",showOverflowTooltip:true },
]
],
tableColumn1: [
{ label: "线索名称", prop: "yymc",showOverflowTooltip:true },
{ label: "线索类型", prop: "yslx",showOverflowTooltip:true },
{ label: "指向时间", prop: "ysmc",showOverflowTooltip:true },
{ label: "指向地点", prop: "ysms",showOverflowTooltip:true },
{ label: "线索内容", prop: "ysms",showOverflowTooltip:true },
],
});
onMounted(() => {
tabHeightFn();