更新页面
This commit is contained in:
@ -1,188 +0,0 @@
|
||||
<template>
|
||||
<div class="dialog" v-if="dialogForm">
|
||||
<div class="head_box">
|
||||
<span class="title">重点人员深度发掘</span>
|
||||
<div>
|
||||
<el-button size="small" @click="close">关闭</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cntinfo">
|
||||
<el-form :model="listQuery" :label-width="120" label-position="right">
|
||||
<div class="section-title">管理信息</div>
|
||||
<div class="form-row">
|
||||
<el-form-item label="管理单位">
|
||||
<el-input v-model="listQuery.glDw" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="管辖区域">
|
||||
<el-input v-model="listQuery.gxqy" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系人">
|
||||
<el-input v-model="listQuery.lxr" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="联系方式">
|
||||
<el-input v-model="listQuery.lxfs" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<el-form-item label="管理事由" class="full-width">
|
||||
<el-input type="textarea" v-model="listQuery.glSy" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="section-title">申请信息</div>
|
||||
<div class="form-row">
|
||||
<el-form-item label="申请单位">
|
||||
<el-input v-model="listQuery.sqDw" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="申请人">
|
||||
<el-input v-model="listQuery.sqr" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核单位">
|
||||
<el-input v-model="listQuery.shdw" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="审核人">
|
||||
<el-input v-model="listQuery.shr" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<el-form-item label="审批单位">
|
||||
<el-input v-model="listQuery.sqDwDz" placeholder="请输入"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="接受单位类型" class="full-width">
|
||||
<el-select v-model="listQuery.jsdwlx">
|
||||
<el-options :label="1">是</el-options>
|
||||
<el-options :label="0">否</el-options>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否同意" class="full-width">
|
||||
<el-select v-model="listQuery.sfty">
|
||||
<el-options :label="1">是</el-options>
|
||||
<el-options :label="0">否</el-options>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="反馈时间" class="full-width">
|
||||
<el-date-picker
|
||||
v-model="listQuery.fksj"
|
||||
type="datetime"
|
||||
placeholder="选择日期时间"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from 'vue';
|
||||
|
||||
const dialogForm = ref(false);
|
||||
const listQuery = ref({
|
||||
glDw: '',
|
||||
glQy: '',
|
||||
lxr: '',
|
||||
lxfs: '',
|
||||
glSy: '',
|
||||
sqDw: '',
|
||||
sqr: '',
|
||||
lxdz: '',
|
||||
shr: '',
|
||||
sqDwDz: '',
|
||||
shr2: '',
|
||||
sfty: 1,
|
||||
fksj: '',
|
||||
files: []
|
||||
});
|
||||
|
||||
// 初始化数据
|
||||
const init = (type, row) => {
|
||||
dialogForm.value = true;
|
||||
if (row) {
|
||||
Object.assign(listQuery.value, row);
|
||||
}
|
||||
};
|
||||
|
||||
const close = () => {
|
||||
dialogForm.value = false;
|
||||
listQuery.value = {
|
||||
glDw: '',
|
||||
glQy: '',
|
||||
lxr: '',
|
||||
lxfs: '',
|
||||
glSy: '',
|
||||
sqDw: '',
|
||||
sqr: '',
|
||||
lxdz: '',
|
||||
shr: '',
|
||||
sqDwDz: '',
|
||||
shr2: '',
|
||||
sfty: 1,
|
||||
fksj: '',
|
||||
files: []
|
||||
};
|
||||
};
|
||||
|
||||
const handleFileChange = (file) => {
|
||||
listQuery.value.files.push(file);
|
||||
};
|
||||
|
||||
defineExpose({init});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.dialog {
|
||||
padding: 20px;
|
||||
|
||||
.head_box {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.cntinfo {
|
||||
height: calc(100% - 70px);
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
margin: 20px 0 15px;
|
||||
padding-left: 10px;
|
||||
border-left: 4px solid #409EFF;
|
||||
}
|
||||
|
||||
.form-row {
|
||||
display: flex;
|
||||
margin-bottom: 20px;
|
||||
.el-form-item {
|
||||
flex: 1 0 0;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.full-width {
|
||||
flex: 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.upload-demo {
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
border: 1px dashed #d9d9d9;
|
||||
border-radius: 6px;
|
||||
text-align: center;
|
||||
|
||||
.el-upload__tip {
|
||||
margin-top: 10px;
|
||||
color: #909399;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
@ -1,28 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="重点人员深度发掘">
|
||||
<el-button type="primary" @click="addEdit('add', '')">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<span style="vertical-align: middle">新增</span>
|
||||
</el-button>
|
||||
</PageTitle>
|
||||
<PageTitle title="重点人员深度发掘"></PageTitle>
|
||||
</div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox">
|
||||
<Search
|
||||
:searchArr="searchConfiger"
|
||||
@submit="onSearch"
|
||||
:key="pageData.keyCount"
|
||||
>
|
||||
<template #defaultSlot>
|
||||
<div class="checkbox-group">
|
||||
<el-checkbox v-model="queryFrom.myNote">我的笔记</el-checkbox>
|
||||
<el-checkbox v-model="queryFrom.myCheck">我的审核</el-checkbox>
|
||||
<el-checkbox v-model="queryFrom.myApprove">我的审批</el-checkbox>
|
||||
</div>
|
||||
</template>
|
||||
</Search>
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="tabBox">
|
||||
@ -33,23 +16,10 @@
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
>
|
||||
<!-- 基础信息 -->
|
||||
<!-- <template #basicInfo="{ row }">
|
||||
<div class="basic-info">
|
||||
<div class="avatar">
|
||||
<el-image :src="row.avatar" fit="cover"></el-image>
|
||||
</div>
|
||||
<div class="info-list">
|
||||
<div>姓名:{{ row.name }}</div>
|
||||
<div>性别:{{ row.gender }}</div>
|
||||
<div>年龄:{{ row.age }}</div>
|
||||
<div>身份证号:{{ row.idCard }}</div>
|
||||
<div>出生日期:{{ row.birthDate }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</template> -->
|
||||
<template #bkzt="{ row }">
|
||||
<DictTag :tag="false" :value="row.bkzt" :options="D_BZ_RCBKZT" />
|
||||
</template>
|
||||
<template #fxDj="{ row }">
|
||||
<DictTag :tag="false" :value="row.fxDj" :options="D_GS_RQFJ_FXDJ" />
|
||||
</template>
|
||||
@ -68,18 +38,18 @@
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<div class="control-buttons">
|
||||
<el-button type="primary" size="small" @click="handleDetail(row)"
|
||||
<el-button type="primary" v-if="roleList.includes('BK_SH_RY')" size="small" @click="handleDetail(row,'审核')"
|
||||
>审核</el-button
|
||||
>
|
||||
<el-button type="info" size="small" @click="handleApprove(row)"
|
||||
<!-- <el-button type="info" size="small" @click="handleDetail(row,'审批')"
|
||||
>审批</el-button
|
||||
>
|
||||
<el-button type="warning" size="small" @click="handleDelete(row)"
|
||||
<el-button type="warning" size="small" @click="handleDetail(row,'去除')"
|
||||
>去除</el-button
|
||||
>
|
||||
<el-button type="danger" size="small" @click="handleBlacklist(row)"
|
||||
>拉黑</el-button
|
||||
>
|
||||
<el-button type="danger" size="small" @click="handleDetail(row,'拉黑')"
|
||||
>拉黑</el-button
|
||||
>-->
|
||||
</div>
|
||||
</template>
|
||||
</MyTable>
|
||||
@ -93,28 +63,35 @@
|
||||
}"
|
||||
></Pages>
|
||||
</div>
|
||||
<!-- 详情 -->
|
||||
<DetailForm ref="detailDiloag" />
|
||||
<Model v-model="isShow" :type="chooselx" :ids="ids" @change="getList" :dic="{D_BZ_RCSHZT}"></Model>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ElMessage } from "element-plus";
|
||||
import Model from "./model.vue";
|
||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import DetailForm from "./components/detailForm.vue";
|
||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_GS_RQFJ_LX, D_GS_RQFJ_FXDJ, D_BZ_SF, D_GS_RQFJ_FXLB } = proxy.$dict(
|
||||
"D_GS_RQFJ_LX",
|
||||
"D_GS_RQFJ_FXDJ",
|
||||
"D_BZ_SF",
|
||||
"D_GS_RQFJ_FXLB"
|
||||
);
|
||||
const detailDiloag = ref();
|
||||
const { D_BZ_RCSHZT,D_BZ_RCBKZT, D_GS_RQFJ_LX, D_GS_RQFJ_FXDJ, D_BZ_SF, D_GS_RQFJ_FXLB } =
|
||||
proxy.$dict(
|
||||
"D_BZ_RCSHZT",
|
||||
"D_BZ_RCBKZT",
|
||||
"D_GS_RQFJ_LX",
|
||||
"D_GS_RQFJ_FXDJ",
|
||||
"D_BZ_SF",
|
||||
"D_GS_RQFJ_FXLB"
|
||||
);
|
||||
|
||||
const chooselx = ref('')
|
||||
const isShow = ref(false)
|
||||
const ids = ref([])
|
||||
|
||||
const searchBox = ref(); //搜索框
|
||||
|
||||
const searchConfiger = ref([
|
||||
@ -147,7 +124,7 @@ const pageData = reactive({
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHieght: 61,
|
||||
showSelectType: "checkbox",
|
||||
showSelectType: "null",
|
||||
loading: false
|
||||
},
|
||||
total: 0,
|
||||
@ -155,13 +132,9 @@ const pageData = reactive({
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 300,
|
||||
// controlsWidth: 300,
|
||||
tableColumn: [
|
||||
{ label: "姓名", prop: "ryXm" },
|
||||
{ label: "英文姓名", prop: "ryXmYw" },
|
||||
{ label: "别名", prop: "ryBm" },
|
||||
{ label: "网名", prop: "ryWm" },
|
||||
{ label: "绰号", prop: "ryCh" },
|
||||
{ label: "手机号码", prop: "rySjhm" },
|
||||
{ label: "身份证号码", prop: "rySfzh" },
|
||||
{ label: "户籍地址", prop: "ryHjdz" },
|
||||
@ -170,6 +143,7 @@ const pageData = reactive({
|
||||
{ label: "银行卡号", prop: "ryYhkh" },
|
||||
{ label: "附件照片", prop: "ryFjZp" },
|
||||
{ label: "管辖单位", prop: "gxDwDm" },
|
||||
{ label: "布控状态", prop: "bkzt", showSolt: true },
|
||||
{ label: "风险等级", prop: "fxDj", showSolt: true },
|
||||
{ label: "风险类别", prop: "fxLb", showSolt: true },
|
||||
{ label: "是否关注", prop: "sfGz", showSolt: true },
|
||||
@ -177,6 +151,7 @@ const pageData = reactive({
|
||||
{ label: "是否转重点人员", prop: "sfZzdry", showSolt: true }
|
||||
]
|
||||
});
|
||||
const roleList = reactive(JSON.parse(localStorage.getItem('roleList')) || [])
|
||||
|
||||
onMounted(() => {
|
||||
getList();
|
||||
@ -203,44 +178,32 @@ const changeSize = (val) => {
|
||||
// 获取列表
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
let data = { ...pageData.pageConfiger, ...queryFrom.value };
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtRqfjRy/selectPage")
|
||||
.then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.total = res.total;
|
||||
pageData.tableConfiger.loading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
let data = { sfZbkry: 1, ...pageData.pageConfiger, ...queryFrom.value };
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtRqfjRy/selectPage").then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.total = res.total;
|
||||
pageData.tableConfiger.loading = false;
|
||||
})
|
||||
.catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
};
|
||||
|
||||
// 操作按钮处理函数
|
||||
const handleDetail = (row) => {
|
||||
detailDiloag.value.init("detail", row);
|
||||
};
|
||||
|
||||
// 详情
|
||||
const addEdit = (type, row) => {
|
||||
detailDiloag.value.init(type, row);
|
||||
};
|
||||
|
||||
const handleApprove = (row) => {
|
||||
detailDiloag.value.init("approve", row);
|
||||
};
|
||||
|
||||
const handleDelete = (row) => {
|
||||
// 实现删除逻辑
|
||||
};
|
||||
|
||||
const handleBlacklist = (row) => {
|
||||
// 实现拉黑逻辑
|
||||
};
|
||||
|
||||
// 处理数据
|
||||
const handleDetail = (val,type) =>{
|
||||
chooselx.value = type;
|
||||
ids.value = [val.id];
|
||||
switch(type){
|
||||
case '审核':
|
||||
if(ids.value.length == 0) return ElMessage.warning("请选择对应的数据");
|
||||
isShow.value = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight =
|
||||
window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
|
@ -0,0 +1,64 @@
|
||||
<template>
|
||||
<el-dialog v-model="modelValue" title="等级切换" width="500px" @close="handleClose">
|
||||
<el-form :model="listQuery" ref="formValidate" :rules="rules">
|
||||
<el-form-item prop="bkshzt" label="审核" v-if="props.type == '审核'">
|
||||
<MOSTY.Select filterable v-model="listQuery.bkshzt" :dictEnum="props.dic.D_BZ_RCSHZT" width="100%" clearable 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>
|
||||
</template>
|
||||
</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';
|
||||
const props = defineProps({
|
||||
modelValue:{
|
||||
type:Boolean,
|
||||
default:false
|
||||
},
|
||||
ids:{
|
||||
type:Array,
|
||||
default:[]
|
||||
},
|
||||
type:String,
|
||||
dic:Object
|
||||
})
|
||||
|
||||
const emits = defineEmits(["update:modelValue",'getDepValue']);
|
||||
const formValidate = ref()
|
||||
const rules = reactive({
|
||||
bkshzt: [{ 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/updateByBksh'
|
||||
qcckPost(params,url).then(res=>{
|
||||
ElMessage.success("成功");
|
||||
emits('update:modelValue',false)
|
||||
emits('change')
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
const handleClose = () =>{
|
||||
emits('update:modelValue',false)
|
||||
formValidate.value.resetFields();
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
Reference in New Issue
Block a user