基础库
This commit is contained in:
@ -59,3 +59,36 @@ export const tbZdryClxxUpdate = (data) => {
|
||||
data,
|
||||
});
|
||||
}
|
||||
// 密切联系人查询接口
|
||||
export const tbGsxtZdryLxrselectLxrBy = (params) => {
|
||||
return request({
|
||||
url: api + `/tbGsxtZdryLxr/selectLxrBy`,
|
||||
method: "get",
|
||||
params,
|
||||
});
|
||||
}
|
||||
// 密切联系人新增或者修改接口
|
||||
export const tbGsxtZdryLxrsaveOrUpdateLxr = (params) => {
|
||||
return request({
|
||||
url: api + `/tbGsxtZdryLxr/saveOrUpdateLxr`,
|
||||
method: "post",
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
// 走访记录查询接口
|
||||
export const tbGsxtZdryZfjlselectZfjl = (params) => {
|
||||
return request({
|
||||
url: api + `/tbGsxtZdryZfjl/selectZfjl`,
|
||||
method: "get",
|
||||
params,
|
||||
});
|
||||
}
|
||||
// 案件信息查询接口
|
||||
export const tbGsxtZdryAjxxselectAjxx = (params) => {
|
||||
return request({
|
||||
url: api + `/tbGsxtZdryAjxx/selectAjxx`,
|
||||
method: "get",
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
@ -1,46 +1,22 @@
|
||||
<template>
|
||||
<div style="width: 100%" :class="getConfiger.showSelectType === 'radio' ? 'tabBoxRadio' : ''">
|
||||
<div style="width: 100%" :class="getConfiger.showSelectType === 'radio' ? 'tabBoxRadio' : ''">
|
||||
<!-- hasChildren要在tableData中定义表示当前行有没有下一级 children要在tableData中定义表示下一级的数据-->
|
||||
<el-table
|
||||
ref="multipleTableRef"
|
||||
:data="tableData"
|
||||
@selection-change="handleSelectionChange"
|
||||
:row-key="getConfiger.rowKey"
|
||||
:border="getConfiger.border"
|
||||
:default-expand-all="getConfiger.defaultExpandAll"
|
||||
:stripe="getConfiger.stripe"
|
||||
:height="tableHeight"
|
||||
v-loading="tableConfiger.loading"
|
||||
:lazy="getConfiger.lazy"
|
||||
:load="load"
|
||||
:tree-props="treePros"
|
||||
style="width: 100%"
|
||||
:header-cell-class-name="() => 'HeadBgColor'"
|
||||
<el-table ref="multipleTableRef" :data="tableData" @selection-change="handleSelectionChange"
|
||||
:row-key="getConfiger.rowKey" :border="getConfiger.border" :default-expand-all="getConfiger.defaultExpandAll"
|
||||
:stripe="getConfiger.stripe" :height="tableHeight" v-loading="tableConfiger.loading" :lazy="getConfiger.lazy"
|
||||
:load="load" :tree-props="treePros" style="width: 100%" :header-cell-class-name="() => 'HeadBgColor'"
|
||||
:highlight-current-row="getConfiger.showSelectType === 'radio'"
|
||||
:row-style="{ height: getConfiger.rowHeight === 'auto' ? getConfiger.rowHeight : getConfiger.rowHeight + 'px'}"
|
||||
>
|
||||
<el-table-column style="width: 55px" type="selection" width="55" v-if="getConfiger.showSelectType === 'radio' ? 'tabBoxRadio' : ''" />
|
||||
<el-table-column
|
||||
type="index"
|
||||
label="序号"
|
||||
v-if="getConfiger.showIndex"
|
||||
width="60"
|
||||
:align="getConfiger?.align"
|
||||
/>
|
||||
:row-style="{ height: getConfiger.rowHeight === 'auto' ? getConfiger.rowHeight : getConfiger.rowHeight + 'px' }">
|
||||
<el-table-column style="width: 55px" type="selection" width="55"
|
||||
v-if="getConfiger.showSelectType === 'radio' ? 'tabBoxRadio' : ''" />
|
||||
<el-table-column type="index" label="序号" v-if="getConfiger.showIndex" width="60" :align="getConfiger?.align" />
|
||||
|
||||
<el-table-column
|
||||
v-for="(item, index) in tableColumn"
|
||||
:align="getConfiger?.align"
|
||||
:prop="item.prop"
|
||||
:key="index"
|
||||
:label="item.label"
|
||||
:width="item.width"
|
||||
style="width: 100%; font-size: 14px"
|
||||
:show-overflow-tooltip="item.showOverflowTooltip || false"
|
||||
:sortable="item.sortable || false"
|
||||
>
|
||||
<el-table-column v-for="(item, index) in tableColumn" :align="getConfiger?.align" :prop="item.prop" :key="index"
|
||||
:label="item.label" :width="item.width" style="width: 100%; font-size: 14px"
|
||||
:show-overflow-tooltip="item.showOverflowTooltip || false" :sortable="item.sortable || false">
|
||||
<!-- 使用自定义 -->
|
||||
<template v-if="item.showSolt" #default="scope">
|
||||
|
||||
<slot :name="item.prop" v-bind="scope"></slot>
|
||||
</template>
|
||||
<!-- 默认 -->
|
||||
@ -48,15 +24,10 @@
|
||||
{{ row[item.prop] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
||||
<!-- 操作 -->
|
||||
<el-table-column
|
||||
v-if="getConfiger.haveControls"
|
||||
:fixed="fixed"
|
||||
:label="getConfiger.controls"
|
||||
:width="controlsWidth"
|
||||
:align="getConfiger?.align"
|
||||
>
|
||||
<el-table-column v-if="getConfiger.haveControls" :fixed="fixed" :label="getConfiger.controls"
|
||||
:width="controlsWidth" :align="getConfiger?.align">
|
||||
<template #default="scope">
|
||||
<slot name="controls" v-bind="scope"></slot>
|
||||
</template>
|
||||
@ -70,7 +41,7 @@ import { nextTick, onMounted, reactive, ref, watch, watchEffect } from "vue";
|
||||
const props = defineProps({
|
||||
tableConfiger: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
default: () => { }
|
||||
},
|
||||
tableData: {
|
||||
type: Array,
|
||||
@ -131,12 +102,12 @@ onMounted(() => {
|
||||
});
|
||||
// 可选的时候选择的数据
|
||||
const handleSelectionChange = (val) => {
|
||||
if(getConfiger.showSelectType === 'radio' && val.length > 1){
|
||||
if (getConfiger.showSelectType === 'radio' && val.length > 1) {
|
||||
let del_row = val.shift();
|
||||
multipleTableRef.value.toggleRowSelection(del_row, false);
|
||||
currentRow.value = val;
|
||||
emit("chooseData", val);
|
||||
}else{
|
||||
} else {
|
||||
emit("chooseData", val);
|
||||
}
|
||||
};
|
||||
@ -164,29 +135,27 @@ const load = (date, treeNode, resolve) => {
|
||||
function setDefaultChoose() {
|
||||
nextTick(() => {
|
||||
// 多选的默认选中
|
||||
if ( props.tableConfiger.defaultSelectKeys?.length > 0 && props.tableConfiger.showSelectType === "checkBox" ) {
|
||||
if (props.tableConfiger.defaultSelectKeys?.length > 0 && props.tableConfiger.showSelectType === "checkBox") {
|
||||
props.tableData.forEach((item) => {
|
||||
if ( props.tableConfiger.defaultSelectKeys.findIndex( (v) => v === item[props.tableConfiger.rowKey] ) > -1) {
|
||||
if (props.tableConfiger.defaultSelectKeys.findIndex((v) => v === item[props.tableConfiger.rowKey]) > -1) {
|
||||
multipleTableRef.value.toggleRowSelection(item, true);
|
||||
}
|
||||
});
|
||||
// 单选的默认选中
|
||||
} else if ( props.tableConfiger.defaultSelectKeys && props.tableConfiger.defaultSelectKeys?.length > 0 && props.tableConfiger.showSelectType === "radio" ) {
|
||||
} else if (props.tableConfiger.defaultSelectKeys && props.tableConfiger.defaultSelectKeys?.length > 0 && props.tableConfiger.showSelectType === "radio") {
|
||||
getConfiger.radioChoose = props.tableConfiger.defaultSelectKeys[0];
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang = "scss">
|
||||
|
||||
</style>
|
||||
<style lang="scss"></style>
|
||||
<style>
|
||||
.tabBoxRadio .el-checkbox__inner {
|
||||
border-radius: 50% !important;
|
||||
}
|
||||
|
||||
.tabBoxRadio .el-table__header-wrapper .el-checkbox {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
@ -1,87 +1,42 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
:title="titleValue"
|
||||
width="1500px"
|
||||
:model-value="modelValue"
|
||||
append-to-body
|
||||
@close="closed"
|
||||
>
|
||||
<el-dialog :title="titleValue" width="1500px" :model-value="modelValue" append-to-body @close="closed">
|
||||
<div class="table_class">
|
||||
<div style="width: 48%">
|
||||
<el-tabs v-model="activeTab" type="card" @tab-click="handleTabClick">
|
||||
<el-tab-pane
|
||||
v-for="tab in tabs"
|
||||
:key="tab.dm"
|
||||
:label="tab.label"
|
||||
:name="tab.dm"
|
||||
>
|
||||
<el-tab-pane v-for="tab in tabs" :key="tab.dm" :label="tab.label" :name="tab.dm">
|
||||
<!-- 添加 v-if 条件 -->
|
||||
<template v-if="activeTab !== '03'">
|
||||
<el-button
|
||||
v-for="(it, idx) in props.dic.D_GS_BQ_LB"
|
||||
:key="idx"
|
||||
:type="type == it.zdmc ? 'success' : ''"
|
||||
@click="chooseListType(it.zdmc)"
|
||||
>
|
||||
<el-button v-for="(it, idx) in props.dic.D_GS_BQ_LB" :key="idx" :type="type == it.zdmc ? 'success' : ''"
|
||||
@click="chooseListType(it.zdmc)">
|
||||
<span style="vertical-align: middle">{{ it.zdmc }}</span>
|
||||
</el-button>
|
||||
</template>
|
||||
<el-table
|
||||
v-loading="loading"
|
||||
ref="multipleUserRef"
|
||||
@selection-change="handleSelectionChange"
|
||||
:data="tableData"
|
||||
border
|
||||
:row-key="keyid"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
:reserve-selection="true"
|
||||
/>
|
||||
<el-table v-loading="loading" ref="multipleUserRef" @selection-change="handleSelectionChange"
|
||||
:data="tableData" border :row-key="keyid" style="width: 100%">
|
||||
<el-table-column type="selection" width="55" :reserve-selection="true" />
|
||||
<el-table-column prop="bqMc" align="center" label="标签名称" />
|
||||
|
||||
<el-table-column prop="bqDm" align="center" label="标签代码" />
|
||||
<el-table-column prop="bqZl" align="center" label="标签种类">
|
||||
<template #default="{ 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>
|
||||
</el-table-column>
|
||||
<el-table-column prop="bqLx" align="center" label="标签类型">
|
||||
<template #default="{ 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>
|
||||
</el-table-column>
|
||||
<el-table-column prop="bqLb" align="center" label="标签类别">
|
||||
<template #default="{ 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>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="fenye">
|
||||
<el-pagination
|
||||
class="pagination"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
:current-page="listQuery.current"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="listQuery.size"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total"
|
||||
></el-pagination>
|
||||
<el-pagination class="pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:current-page="listQuery.current" :page-sizes="[10, 20, 50, 100]" :page-size="listQuery.size"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
@ -89,63 +44,36 @@
|
||||
|
||||
<div style="width: 48%">
|
||||
<div class="selected-tabBox">
|
||||
<el-table
|
||||
:data="selectedData"
|
||||
border
|
||||
:row-key="keyid"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table :data="selectedData" border :row-key="keyid" style="width: 100%">
|
||||
<el-table-column prop="bqDm" align="center" label="标签代码" />
|
||||
<el-table-column prop="bqLb" align="center" label="标签类别">
|
||||
<template #default="{ 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>
|
||||
</el-table-column>
|
||||
<el-table-column prop="bqLx" align="center" label="标签类型">
|
||||
<template #default="{ 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>
|
||||
</el-table-column>
|
||||
<el-table-column prop="bqMc" align="center" label="标签名称" />
|
||||
<el-table-column prop="bqZl" align="center" label="标签种类">
|
||||
<template #default="{ 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>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作">
|
||||
<template #default="{ row }">
|
||||
<el-button
|
||||
type="danger"
|
||||
@click="handleRemoveFromSelectedData(row)"
|
||||
>移除</el-button
|
||||
>
|
||||
<el-button type="danger" @click="handleRemoveFromSelectedData(row)">移除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="fenye">
|
||||
<el-pagination
|
||||
class="pagination"
|
||||
@size-change="handleSizeChangeRight"
|
||||
@current-change="handleCurrentChangeRight"
|
||||
:current-page="listQuery.current"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="listQuery.sizeRight"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="selectedData.length"
|
||||
></el-pagination>
|
||||
<el-pagination class="pagination" @size-change="handleSizeChangeRight"
|
||||
@current-change="handleCurrentChangeRight" :current-page="listQuery.current" :page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="listQuery.sizeRight" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="selectedData.length"></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -169,7 +97,7 @@ const props = defineProps({
|
||||
},
|
||||
dic: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
default: () => { }
|
||||
},
|
||||
bqDl: {
|
||||
type: String,
|
||||
@ -284,8 +212,8 @@ const getDataList = () => {
|
||||
activeTab.value == "01"
|
||||
? "/mosty-gsxt/tbGsxtBqgl/selectPage"
|
||||
: activeTab.value == "02"
|
||||
? "/mosty-gsxt/tbGsxtBqgl/selectPage"
|
||||
: "/mosty-gsxt/tbGsxtBqzh/selectPage";
|
||||
? "/mosty-gsxt/tbGsxtBqgl/selectPage"
|
||||
: "/mosty-gsxt/tbGsxtBqzh/selectPage";
|
||||
let params = {};
|
||||
console.log(activeTab.value, "activeTab.value");
|
||||
if (activeTab.value === "01") {
|
||||
@ -393,14 +321,17 @@ defineExpose({
|
||||
.tabBoxRadio .el-checkbox__inner {
|
||||
border-radius: 50% !important;
|
||||
}
|
||||
|
||||
.tabBoxRadio .el-table__header-wrapper .el-checkbox {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:deep(.el-dialog) {
|
||||
background: #fff !important;
|
||||
border-radius: 8px !important;
|
||||
/* 其他样式 */
|
||||
}
|
||||
|
||||
.table_class {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
@ -545,6 +545,15 @@ export const publicRoutes = [
|
||||
icon: "article"
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: "/BaseLibrary",
|
||||
name: "BaseLibrary",
|
||||
component: () => import("@/views/backOfficeSystem/DeploymentDisposal/BaseLibrary/index"),
|
||||
meta: {
|
||||
title: "基础库",
|
||||
icon: "article"
|
||||
}
|
||||
},
|
||||
{
|
||||
path: "/mpvPeo",
|
||||
name: "mpvPeo",
|
||||
|
@ -130,7 +130,6 @@ export default {
|
||||
unifiedLogin({ token, systemId }).then((data) => {
|
||||
if (data.deptList.length === 1) {
|
||||
this.commit("user/setToken", data.jwtToken);
|
||||
|
||||
this.commit("user/setDeptId", data.deptList);
|
||||
this.commit("user/setUserName", data.userName);
|
||||
setItem("USERNAME", data.userName);
|
||||
|
@ -0,0 +1,290 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox">
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="tabBox">
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
>
|
||||
<template #ryxx="{ row }">
|
||||
<div class="flex">
|
||||
<img src="" alt="" style="width: 80px;height: 90px;" />
|
||||
<ul class="tl ml10" style="flex:1 0 0">
|
||||
<li class="one_text_detail">姓名:{{ row.ryXm }}</li>
|
||||
<li class="flex one_text_detail">性别:<DictTag :tag="false" :value="row.ryXb" :options="D_BZ_XB" /></li>
|
||||
<li class="flex one_text_detail">籍贯:<DictTag :tag="false" :value="row.ryJg" :options="D_BZ_XZQHDM"/></li>
|
||||
<li class="one_text_detail">身份证:{{ row.rySfzh }}</li>
|
||||
<li class="one_text_detail">出生日期:{{ row.ryCsrq }}</li>
|
||||
<li class="flex one_text_detail">民族:<DictTag :tag="false" :value="row.ryMz" :options="D_BZ_MZ" /></li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
<template #jzxx="{ row }">
|
||||
<div class="flex one_text_detail">户籍地区划:<DictTag :tag="false" :value="row.hjdQh" :options="D_BZ_XZQHDM" /></div>
|
||||
<div class="flex one_text_detail">户籍派出所:{{ row.hjdPcsmc }}</div>
|
||||
<div class="flex one_text_detail">户籍地详址:{{ row.hjdXz }}</div>
|
||||
</template>
|
||||
|
||||
<template #bqList="{ row }">
|
||||
<ul >
|
||||
<li class="one_text_detail marks mb4" :key="index" v-for="(item, index) in row.bqList">{{ item.bqMc }}({{ item.bqFz || 0 }} 分) </li>
|
||||
</ul>
|
||||
</template>
|
||||
<template #gxdw="{ row }">
|
||||
<div class="flex one_text_detail">管辖单位:{{ row.gxSsbmmc }}</div>
|
||||
<div class="flex">人员级别:<DictTag :tag="false" :value="row.zdrRyjb" :options="D_GS_ZDR_RYJB"/> </div>
|
||||
<div class="flex one_text_detail">管控原因:{{ row.zdrLkyy }}</div>
|
||||
<div class="flex">管控状态:<DictTag :tag="false" :value="row.zdrBkZt" :options="D_GS_ZDR_BK_ZT" /></div>
|
||||
</template>
|
||||
<template #zdrCzzt="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrCzzt" :options="D_GS_ZDR_CZZT" />
|
||||
</template>
|
||||
<template #zdrZt="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrZt" :options="D_GS_ZDQT_ZT" />
|
||||
</template>
|
||||
<template #xtSjzt="{ row }">
|
||||
<div> {{ row.xtSjzt == 0 ? "注销" : row.xtSjzt == 1 ? "正常" : "封存" }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link size="small" type="success" @click="handleSend(row.id)">移入</el-link>
|
||||
<el-link size="small" type="primary" @click="addEdit('detail', row)" >详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@changeNo="changeNo"
|
||||
@changeSize="changeSize"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"
|
||||
></Pages>
|
||||
</div>
|
||||
<!-- 详情 -->
|
||||
<AddForm ref="addFormDiloag" @updateDate="getList" :dic="{BD_BK_CLYJBQ,D_GS_ZDR_RYJB,D_BZ_XB,D_BZ_MZ,D_BZ_XZQHDM,D_GS_ZDR_BK_ZT,D_GS_ZDR_CZZT,D_GS_BQ_ZL,D_GS_BQ_LB,D_GS_BQ_LX,D_GS_ZDR_YJDJ,D_GS_BK_SSJZ}"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ElMessage } from "element-plus";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import AddForm from "@/views/backOfficeSystem/DeploymentDisposal/mpvCar/components/addForm.vue";
|
||||
import { qcckGet, qcckPost,qcckDelete } from "@/api/qcckApi.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_GS_ZDQT_ZT,D_GS_ZDR_RYJB, D_BZ_XB,BD_BK_CLYJBQ, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ, D_GS_BK_SQLX, D_BZ_SF, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX } = proxy.$dict("D_GS_ZDQT_ZT","D_GS_ZDR_RYJB","D_BZ_XB","D_BZ_MZ","D_BZ_XZQHDM","D_GS_ZDR_BK_ZT","D_GS_ZDR_CZZT","D_GS_BQ_ZL","D_GS_BQ_LB","D_GS_BQ_LX","D_GS_BK_SSJZ","D_GS_BK_SQLX","D_BZ_SF","D_GS_XS_LY","D_BZ_SSZT","D_GS_XS_LX","D_GS_XS_QTLX","BD_BK_CLYJBQ","D_GS_ZDR_YJDJ");
|
||||
const obj = ref({});
|
||||
const showzxs = ref(false);
|
||||
const zxsDilof = ref();
|
||||
const show = ref(false);
|
||||
const addFormDiloag = ref();
|
||||
const searchBox = ref(); //搜索框
|
||||
const chooseUserVisible = ref(false); //审批流程
|
||||
const ids = ref([]);
|
||||
const choosList = ref([]);
|
||||
const visible = ref(false);
|
||||
const visiblefp = ref(false);
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
label: "姓名",
|
||||
prop: "ryXm",
|
||||
placeholder: "请输入姓名",
|
||||
showType: "input"
|
||||
},
|
||||
{
|
||||
label: "身份证",
|
||||
prop: "rySfzh",
|
||||
placeholder: "请输入身份证",
|
||||
showType: "input"
|
||||
},
|
||||
{
|
||||
label: "户籍地",
|
||||
prop: "hjdXz",
|
||||
placeholder: "请输入户籍地",
|
||||
showType: "input"
|
||||
},
|
||||
{
|
||||
label: "人员级别",
|
||||
prop: "zdrRyjb",
|
||||
placeholder: "请输入人员级别",
|
||||
showType: "select",
|
||||
options: D_GS_ZDR_RYJB
|
||||
},
|
||||
]);
|
||||
const queryFrom = ref({});
|
||||
const pageData = reactive({
|
||||
tableData: [],
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHieght: 61,
|
||||
showSelectType: "checkBox",
|
||||
loading: false
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 150,
|
||||
tableColumn: [
|
||||
{ label: "车牌号", prop: "hphm",showOverflowTooltip:true },
|
||||
{ label: "车架号", prop: "clCjh" },
|
||||
{ label: "车辆颜色", prop: "clYs",showOverflowTooltip:true},
|
||||
{ label: "车辆所有人", prop: "clSyr" },
|
||||
{ label: "管辖单位", prop: "gxSsbmmc", showSolt: true },
|
||||
{ label: "管控民警姓名", prop: "gkMjXm", showSolt: true },
|
||||
// { label: "状态", prop: "xtSjzt", showSolt: true },
|
||||
// { label: "审核状态", prop: "zdrZt", showSolt: true },
|
||||
]
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
getList();
|
||||
tabHeightFn();
|
||||
});
|
||||
// 移入
|
||||
const handleSend=()=>{
|
||||
|
||||
}
|
||||
// 搜索
|
||||
const onSearch = (val) => {
|
||||
queryFrom.value = { ...val };
|
||||
pageData.pageConfiger.pageCurrent = 1;
|
||||
getList();
|
||||
};
|
||||
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
getList();
|
||||
};
|
||||
const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
// 获取列表
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
let data = { ...pageData.pageConfiger, ...queryFrom.value };
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtZdcl/selectPage").then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.total = res.total;
|
||||
pageData.tableConfiger.loading = false;
|
||||
}).catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
const chooseData = (data) => {
|
||||
ids.value = Array.isArray(data) ? data.map((item) => item.id) : [];
|
||||
choosList.value = Array.isArray(data) ? data : [];
|
||||
};
|
||||
// 选择申请数据数据
|
||||
const handleApplication = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要布控的重点人");
|
||||
qcckPost({ ids: ids.value }, "/mosty-gsxt/tbGsxtZdry/addBksq").then(() => {
|
||||
ElMessage.success("申请成功");
|
||||
visible.value = false;
|
||||
getList();
|
||||
}).catch(() => {
|
||||
ElMessage.error("布控申请失败");
|
||||
});
|
||||
};
|
||||
|
||||
const handleUserSelected = (val) => {
|
||||
obj.value.fpmc = val[0].userName;
|
||||
obj.value.fpid = val[0].id;
|
||||
};
|
||||
|
||||
// 处理分配
|
||||
const handlefp = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要布控的重点人");
|
||||
qcckPost({ ids: ids.value, uid: obj.value.fpid },"/mosty-gsxt/tbGsxtZdry/addGkmj").then(() => {
|
||||
ElMessage.success("分配成功");
|
||||
visible.value = false;
|
||||
visiblefp.value = false;
|
||||
getList();
|
||||
}).catch(() => {
|
||||
ElMessage.error("分配失败");
|
||||
});
|
||||
};
|
||||
|
||||
// 移交管控
|
||||
const handleMove = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要移交管控的重点群体");
|
||||
proxy.$confirm("是否确定移交?", "警告", { type: "warning" }).then(() => {
|
||||
qcckPost({ ids: ids.value }, "/mosty-gsxt/tbGsxtZdry/addSfyj").then(() => {
|
||||
ElMessage.success("移交管控成功");
|
||||
getList();
|
||||
}).catch(() => {
|
||||
ElMessage.error("移交管控失败");
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// 转线索
|
||||
const handleZxs = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要转线索的重点群体");
|
||||
showzxs.value = true;
|
||||
nextTick(() => {
|
||||
zxsDilof.value.init(choosList.value);
|
||||
});
|
||||
};
|
||||
|
||||
//删除操作
|
||||
const deleteRow = (id) => {
|
||||
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
|
||||
qcckDelete({}, "/mosty-gsxt/tbGsxtZdry/" + id).then((res) => {
|
||||
ElMessage.success("删除成功");
|
||||
getList();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
//新增编辑
|
||||
const addEdit = (type, row) => {
|
||||
show.value = true;
|
||||
nextTick(()=>{
|
||||
addFormDiloag.value.init(type, row);
|
||||
})
|
||||
};
|
||||
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.marks{
|
||||
padding: 0 4px;
|
||||
white-space: nowrap;
|
||||
background: #73acf1;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.el-loading-mask {
|
||||
background: rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
|
||||
</style>
|
@ -0,0 +1,286 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox">
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="tabBox">
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
fixed="right"
|
||||
>
|
||||
<template #qtLb="{ row }">
|
||||
<DictTag :tag="false" :value="row.qtLb" :options="D_GS_ZDQT_LB" />
|
||||
</template>
|
||||
<template #qtFxdj="{ row }">
|
||||
<DictTag :tag="false" :value="row.qtFxdj" :options="D_GS_ZDQT_FXDJ" />
|
||||
</template>
|
||||
<template #bqList="{ row }">
|
||||
<ul >
|
||||
<li class="one_text_detail marks mb4" :key="index" v-for="(item, index) in row.bqList">{{ item.bqMc }}({{ item.bqFz || 0 }} 分) </li>
|
||||
</ul>
|
||||
</template>
|
||||
<template #zdryList="{ row }">
|
||||
<span style="color: #0072ff">{{ row.zdryList ? row.zdryList.length : 0 }}</span>
|
||||
</template>
|
||||
<template #qtZt="{ row }">
|
||||
<DictTag :tag="false" :value="row.qtZt" :options="D_GS_ZDQT_ZT" />
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link size="small" type="primary" @click="handleSend(row.id)">移入</el-link>
|
||||
<el-link size="small" type="success" @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"></Pages>
|
||||
</div>
|
||||
<!-- 编辑 - 新增-->
|
||||
<EditForm v-if="show" @updateDate="getList" ref="editFormDiloag" :dic="{D_BZ_XB,D_GS_ZDQT_LB,D_GS_ZDQT_FXDJ,D_GS_ZDR_CZZT}" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import EditForm from "@/views/backOfficeSystem/DeploymentDisposal/mpvGroup/components/addForm.vue";
|
||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||
import { ElMessage } from "element-plus";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_GS_ZDR_CZZT,D_GS_BK_SQLX, D_GS_ZDQT_FXDJ, D_GS_ZDR_RYJB, D_GS_ZDQT_LB, D_GS_ZDR_BK_ZT, D_GS_BQ_LX, D_GS_ZDQT_ZT, D_BZ_SF, D_BZ_XB, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX } = proxy.$dict("D_GS_ZDR_CZZT","D_GS_BK_SQLX", "D_GS_ZDQT_FXDJ", "D_GS_ZDR_RYJB", "D_GS_ZDQT_LB", "D_GS_ZDR_BK_ZT", "D_GS_BQ_LX", "D_GS_ZDQT_ZT", "D_BZ_SF", "D_BZ_XB", "D_GS_XS_LY", "D_BZ_SSZT", "D_GS_XS_LX", "D_GS_XS_QTLX"); //获取字典数据
|
||||
const showzxs = ref(false);
|
||||
const queryFrom = ref({});
|
||||
const ids = ref([]);
|
||||
const choosList = ref([]);
|
||||
const show = ref(false);
|
||||
const editFormDiloag = ref();
|
||||
const searchBox = ref(); //搜索框
|
||||
const visible = ref(false);
|
||||
const visiblefp = ref(false);
|
||||
const zxsDilof = ref();
|
||||
const obj = ref({});
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
label: "群体名称",
|
||||
prop: "qtMc",
|
||||
placeholder: "请输入群体名称",
|
||||
showType: "input"
|
||||
},
|
||||
{
|
||||
label: "群体风险等级",
|
||||
prop: "qtFxdj",
|
||||
placeholder: "请选择群体风险等级",
|
||||
showType: "select",
|
||||
options: D_GS_ZDQT_FXDJ
|
||||
},
|
||||
{
|
||||
label: "重点人人员级别",
|
||||
prop: "zdrRyjb",
|
||||
placeholder: "请选择重点人人员级别",
|
||||
showType: "select",
|
||||
options: D_GS_ZDR_RYJB
|
||||
},
|
||||
{
|
||||
label: "群体类别",
|
||||
prop: "qtLb",
|
||||
placeholder: "请选择群体类别",
|
||||
showType: "select",
|
||||
options: D_GS_ZDQT_LB
|
||||
},
|
||||
{
|
||||
label: "布控状态",
|
||||
prop: "zdrBkZt",
|
||||
placeholder: "请输入布控装态",
|
||||
showType: "select",
|
||||
options: D_GS_ZDR_BK_ZT
|
||||
},
|
||||
{
|
||||
label: "布控类型",
|
||||
prop: "bkzt",
|
||||
placeholder: "请输入布控类型",
|
||||
showType: "select",
|
||||
options: D_GS_BQ_LX
|
||||
}
|
||||
]);
|
||||
|
||||
const pageData = reactive({
|
||||
tableData: [],
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHieght: 61,
|
||||
showSelectType: "checkBox",
|
||||
loading: false
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 150,
|
||||
tableColumn: [
|
||||
{ label: "群体名称", prop: "qtMc",width:150 },
|
||||
{ label: "群体类别", prop: "qtLb" , showSolt: true,width:150 },
|
||||
{ label: "风险等级", prop: "qtFxdj" , showSolt: true,width:150 },
|
||||
{ label: "背景资料", prop: "qtBjzl" ,width:150 },
|
||||
{ label: "背景信息", prop: "bgxx", showSolt: true ,width:150 },
|
||||
{ label: "管辖单位", prop: "gxSsdwmc",width:150 },
|
||||
{ label: "状态", prop: "qtZt", showSolt: true,width:150 },
|
||||
{ label: "标签", prop: "bqList", showSolt: true ,showOverflowTooltip:true,width:400 },
|
||||
]
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
tabHeightFn();
|
||||
getList();
|
||||
});
|
||||
|
||||
//移入
|
||||
const handleSend = (id) => {
|
||||
proxy.$confirm("确定要移入到重点群体?", "警告", { type: "warning" }).then(() => {
|
||||
qcckPost({ id, qtlx: '01' }, "/mosty-gsxt/tbGsxtZdqt/update").then(() => {
|
||||
proxy.$message({ type: "success", message: "移除成功" });
|
||||
getList();
|
||||
});
|
||||
})
|
||||
};
|
||||
|
||||
|
||||
// 搜索
|
||||
const onSearch = (val) => {
|
||||
queryFrom.value = { ...val };
|
||||
pageData.pageConfiger.pageCurrent = 1;
|
||||
getList();
|
||||
};
|
||||
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
getList();
|
||||
};
|
||||
const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
// 获取列表
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
// 群体类型D_ZDRY_RYLX(01 重点 02 普通)
|
||||
let data = { qtlx:'02',...pageData.pageConfiger, ...queryFrom.value };
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtZdqt/selectPage").then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.total = res.total;
|
||||
pageData.tableConfiger.loading = false;
|
||||
}).catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
};
|
||||
|
||||
// 详情
|
||||
const addEdit = (type, row) => {
|
||||
show.value = true;
|
||||
visible.value = false;
|
||||
nextTick(() => {
|
||||
editFormDiloag.value.init(type, row);
|
||||
});
|
||||
};
|
||||
|
||||
const chooseData = (data) => {
|
||||
ids.value = Array.isArray(data) ? data.map((item) => item.id) : [];
|
||||
choosList.value = Array.isArray(data) ? data : [];
|
||||
};
|
||||
// 选择申请数据数据
|
||||
const handleApplication = () => {
|
||||
if (ids.value.length === 0)return ElMessage.error("请先选择需要布控的重点群体");
|
||||
qcckPost({ ids: ids.value }, "/mosty-gsxt/tbGsxtZdqt/addBksq").then(() => {
|
||||
ElMessage.success("申请成功");
|
||||
visible.value = false;
|
||||
getList();
|
||||
}).catch(() => {
|
||||
ElMessage.error("布控申请失败");
|
||||
});
|
||||
};
|
||||
|
||||
const handleUserSelected = (val) => {
|
||||
obj.value.fpmc = val[0].userName;
|
||||
obj.value.fpid = val[0].id;
|
||||
};
|
||||
|
||||
const handlefp = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要分配的重点群体");
|
||||
qcckPost({ ids: ids.value, uid: obj.value.fpid },"/mosty-gsxt/tbGsxtZdqt/addGkmj").then(() => {
|
||||
ElMessage.success("分配成功");
|
||||
visible.value = false;
|
||||
visiblefp.value = false;
|
||||
getList();
|
||||
}).catch(() => {
|
||||
ElMessage.error("分配失败");
|
||||
});
|
||||
};
|
||||
// 移交管控
|
||||
const handleMove = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要移交管控的重点群体");
|
||||
proxy.$confirm("是否确定移交?", "警告", { type: "warning" }).then(() => {
|
||||
qcckPost({ ids: ids.value }, "/mosty-gsxt/tbGsxtZdqt/addSfyj").then(() => {
|
||||
ElMessage.success("移交管控成功");
|
||||
getList();
|
||||
}).catch(() => {
|
||||
ElMessage.error("移交管控失败");
|
||||
});
|
||||
}).catch(() => { });
|
||||
};
|
||||
|
||||
const handleZxs = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要转线索的重点群体");
|
||||
showzxs.value = true;
|
||||
nextTick(() => {
|
||||
zxsDilof.value.init(choosList.value);
|
||||
});
|
||||
};
|
||||
|
||||
// 删除数据
|
||||
const deleteRow = (id) =>{
|
||||
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
|
||||
qcckDelete({}, "/mosty-gsxt/tbGsxtZdqt/" + id).then(() => {
|
||||
proxy.$message({ type: "success", message: "删除成功" });
|
||||
getList();
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
defineExpose({});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.marks{
|
||||
padding: 0 4px;
|
||||
white-space: nowrap;
|
||||
background: #73acf1;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
.el-loading-mask {
|
||||
background: rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
|
||||
</style>
|
@ -0,0 +1,274 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 搜索 -->
|
||||
<div ref="searchBox">
|
||||
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="tabBox">
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData">
|
||||
<template #bqList="{ row }">
|
||||
<ul>
|
||||
<li class="one_text_detail marks mb4" :key="index" v-for="(item, index) in row.bqList">{{ item.bqMc }}({{
|
||||
item.bqFz || 0 }} 分) </li>
|
||||
</ul>
|
||||
</template>
|
||||
<template #ryXb="{ row }">
|
||||
<DictTag :tag="false" :value="row.ryXb" :options="D_BZ_XB" />
|
||||
</template>
|
||||
<template #ryJg="{ row }">
|
||||
<DictTag :tag="false" :value="row.ryJg" :options="D_BZ_XZQHDM" />
|
||||
</template>
|
||||
<template #ryMz="{ row }">
|
||||
<DictTag :tag="false" :value="row.ryMz" :options="D_BZ_MZ" />
|
||||
</template>
|
||||
<template #hjdQh="{ row }">
|
||||
<DictTag :tag="false" :value="row.hjdQh" :options="D_BZ_XZQHDM" />
|
||||
</template>
|
||||
<template #zdrRyjb="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrRyjb" :options="D_GS_ZDR_RYJB" />
|
||||
</template>
|
||||
<template #zdrBkZt="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrBkZt" :options="D_GS_ZDR_BK_ZT" />
|
||||
</template>
|
||||
<template #zdrCzzt="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrCzzt" :options="D_GS_ZDR_CZZT" />
|
||||
</template>
|
||||
<template #zdrZt="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrZt" :options="D_GS_ZDQT_ZT" />
|
||||
</template>
|
||||
<template #xtSjzt="{ row }">
|
||||
<div> {{ row.xtSjzt == 0 ? "注销" : row.xtSjzt == 1 ? "正常" : "封存" }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link size="small" type="success" @click="handleSend(row.id)">移入</el-link>
|
||||
<el-link size="small" type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"></Pages>
|
||||
</div>
|
||||
<!-- 详情 -->
|
||||
<AddForm ref="addFormDiloag" @updateDate="getList"
|
||||
:dic="{ D_GS_ZDR_RYJB, D_BZ_XB, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ }" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ElMessage } from "element-plus";
|
||||
import ChooseUser from "@/components/ChooseList/ChooseUser/index.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 AddForm from "@/views/backOfficeSystem/DeploymentDisposal/mpvPeo/components/addForm.vue";
|
||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_GS_ZDQT_ZT, D_GS_ZDR_RYJB, D_BZ_XB, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ, D_GS_BK_SQLX, D_BZ_SF, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX } =
|
||||
proxy.$dict("D_GS_ZDQT_ZT", "D_GS_ZDR_RYJB", "D_BZ_XB", "D_BZ_MZ", "D_BZ_XZQHDM", "D_GS_ZDR_BK_ZT", "D_GS_ZDR_CZZT", "D_GS_BQ_ZL", "D_GS_BQ_LB", "D_GS_BQ_LX", "D_GS_ZDR_YJDJ", "D_GS_BK_SSJZ", "D_GS_BK_SQLX", "D_BZ_SF", "D_GS_XS_LY", "D_BZ_SSZT", "D_GS_XS_LX", "D_GS_XS_QTLX");
|
||||
const obj = ref({});
|
||||
const show = ref(false);
|
||||
const addFormDiloag = ref();
|
||||
const searchBox = ref(); //搜索框
|
||||
const ids = ref([]);
|
||||
const choosList = ref([]);
|
||||
const visible = ref(false);
|
||||
const visiblefp = ref(false);
|
||||
const searchConfiger = ref([
|
||||
{
|
||||
label: "姓名",
|
||||
prop: "ryXm",
|
||||
placeholder: "请输入姓名",
|
||||
showType: "input"
|
||||
},
|
||||
{
|
||||
label: "身份证",
|
||||
prop: "rySfzh",
|
||||
placeholder: "请输入身份证",
|
||||
showType: "input"
|
||||
},
|
||||
{
|
||||
label: "户籍地",
|
||||
prop: "hjdXz",
|
||||
placeholder: "请输入户籍地",
|
||||
showType: "input"
|
||||
},
|
||||
{
|
||||
label: "人员级别",
|
||||
prop: "zdrRyjb",
|
||||
placeholder: "请输入人员级别",
|
||||
showType: "select",
|
||||
options: D_GS_ZDR_RYJB
|
||||
},
|
||||
]);
|
||||
const queryFrom = ref({});
|
||||
const pageData = reactive({
|
||||
tableData: [],
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
rowHieght: 61,
|
||||
showSelectType: "checkBox",
|
||||
loading: false
|
||||
},
|
||||
total: 0,
|
||||
pageConfiger: {
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 150,
|
||||
tableColumn: [
|
||||
{ label: "姓名", prop: "ryXm", width: 150 },
|
||||
{ label: "性别", prop: "ryXb", showSolt: true, width: 100 },
|
||||
{ label: "籍贯", prop: "ryJg", showSolt: true, width: 100},
|
||||
{ label: "身份证", prop: "rySfzh", width: 200 },
|
||||
{ label: "民族", prop: "ryMz", showSolt: true, width: 100 },
|
||||
{ label: "户籍地区划", prop: "hjdQh", showSolt: true, width: 150 },
|
||||
{ label: "户籍派出所", prop: "hjdPcsmc", width: 200 },
|
||||
{ label: "户籍地详址", prop: "hjdXz", width: 200 },
|
||||
{ label: "审核状态", prop: "zdrZt", showSolt: true },
|
||||
]
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
getList();
|
||||
tabHeightFn();
|
||||
});
|
||||
|
||||
// 搜索
|
||||
const onSearch = (val) => {
|
||||
queryFrom.value = { ...val };
|
||||
pageData.pageConfiger.pageCurrent = 1;
|
||||
getList();
|
||||
};
|
||||
|
||||
const changeNo = (val) => {
|
||||
pageData.pageConfiger.pageCurrent = val;
|
||||
getList();
|
||||
};
|
||||
const changeSize = (val) => {
|
||||
pageData.pageConfiger.pageSize = val;
|
||||
getList();
|
||||
};
|
||||
|
||||
// 获取列表
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
// 人员类型D_ZDRY_RYLX(01 重点 02 普通〉
|
||||
let data = { rylx:'02',...pageData.pageConfiger, ...queryFrom.value };
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtZdry/selectPage").then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.total = res.total;
|
||||
pageData.tableConfiger.loading = false;
|
||||
}).catch(() => {
|
||||
pageData.tableConfiger.loading = false;
|
||||
});
|
||||
};
|
||||
|
||||
//移入
|
||||
const handleSend = (id) => {
|
||||
proxy.$confirm("确定要移入到重点人员?", "警告", { type: "warning" }).then(() => {
|
||||
qcckPost({ id, rylx: '01' }, "/mosty-gsxt/tbGsxtZdry/update").then(() => {
|
||||
proxy.$message({ type: "success", message: "移入成功" });
|
||||
getList();
|
||||
});
|
||||
})
|
||||
};
|
||||
|
||||
|
||||
const chooseData = (data) => {
|
||||
ids.value = Array.isArray(data) ? data.map((item) => item.id) : [];
|
||||
choosList.value = Array.isArray(data) ? data : [];
|
||||
};
|
||||
// 选择申请数据数据
|
||||
const handleApplication = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要布控的重点人");
|
||||
qcckPost({ ids: ids.value }, "/mosty-gsxt/tbGsxtZdry/addBksq").then(() => {
|
||||
ElMessage.success("申请成功");
|
||||
visible.value = false;
|
||||
getList();
|
||||
}).catch(() => {
|
||||
ElMessage.error("布控申请失败");
|
||||
});
|
||||
};
|
||||
|
||||
const handleUserSelected = (val) => {
|
||||
obj.value.fpmc = val[0].userName;
|
||||
obj.value.fpid = val[0].id;
|
||||
};
|
||||
|
||||
// 处理分配
|
||||
const handlefp = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要布控的重点人");
|
||||
qcckPost({ ids: ids.value, uid: obj.value.fpid }, "/mosty-gsxt/tbGsxtZdry/addGkmj").then(() => {
|
||||
ElMessage.success("分配成功");
|
||||
visible.value = false;
|
||||
visiblefp.value = false;
|
||||
getList();
|
||||
}).catch(() => {
|
||||
ElMessage.error("分配失败");
|
||||
});
|
||||
};
|
||||
|
||||
// 移交管控
|
||||
const handleMove = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要移交管控的重点群体");
|
||||
proxy.$confirm("是否确定移交?", "警告", { type: "warning" }).then(() => {
|
||||
qcckPost({ ids: ids.value }, "/mosty-gsxt/tbGsxtZdry/addSfyj").then(() => {
|
||||
ElMessage.success("移交管控成功");
|
||||
getList();
|
||||
}).catch(() => {
|
||||
ElMessage.error("移交管控失败");
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
//删除操作
|
||||
const deleteRow = (id) => {
|
||||
proxy.$confirm("确定要删除", "警告", { type: "warning" }).then(() => {
|
||||
qcckDelete({}, "/mosty-gsxt/tbGsxtZdry/" + id).then((res) => {
|
||||
ElMessage.success("删除成功");
|
||||
getList();
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
//新增编辑
|
||||
const addEdit = (type, row) => {
|
||||
show.value = true;
|
||||
nextTick(() => {
|
||||
addFormDiloag.value.init(type, row);
|
||||
})
|
||||
};
|
||||
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
pageData.tableHeight = window.innerHeight - searchBox.value.offsetHeight - 250;
|
||||
window.onresize = function () {
|
||||
tabHeightFn();
|
||||
};
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.marks {
|
||||
padding: 0 4px;
|
||||
white-space: nowrap;
|
||||
background: #73acf1;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.el-loading-mask {
|
||||
background: rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="基础库">
|
||||
<template #left>
|
||||
<el-button v-for="(el,index) in tabBtn" :type="tabActive==index?'primary':''" @click="tabActive=index" :key="el">{{ el }}</el-button>
|
||||
</template>
|
||||
</PageTitle>
|
||||
</div>
|
||||
<ZdrPage v-if="tabActive==0" />
|
||||
<ZdqtPage v-else-if="tabActive==1" />
|
||||
<ZdclPage v-else-if="tabActive==2" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||
import ZdrPage from "./components/zdrPage.vue";
|
||||
import ZdqtPage from "./components/zdqtPage.vue";
|
||||
import ZdclPage from "./components/zdclPage.vue";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const tabBtn=ref(["重点人","重点群体","重点车辆"])
|
||||
const tabActive=ref(0)
|
||||
|
||||
onMounted(() => {
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.marks {
|
||||
padding: 0 4px;
|
||||
white-space: nowrap;
|
||||
background: #73acf1;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
}
|
||||
</style>
|
||||
<style>
|
||||
.el-loading-mask {
|
||||
background: rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
</style>
|
@ -48,6 +48,7 @@
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
fixed="right"
|
||||
>
|
||||
<template #qtLb="{ row }">
|
||||
<DictTag :tag="false" :value="row.qtLb" :options="D_GS_ZDQT_LB" />
|
||||
@ -68,6 +69,7 @@
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link size="small" type="success" @click="handleremove(row.id)">移除</el-link>
|
||||
<el-link size="small" type="primary" v-if=" row.qtZt == '01'" @click="handleSend(row.id)">办结</el-link>
|
||||
<el-link size="small" type="success" v-if=" row.qtZt == '01'" @click="addEdit('edit', row)">编辑</el-link>
|
||||
<el-link size="small" type="success" @click="addEdit('detail', row)">详情</el-link>
|
||||
@ -170,22 +172,22 @@ const pageData = reactive({
|
||||
pageSize: 20,
|
||||
pageCurrent: 1
|
||||
},
|
||||
controlsWidth: 150,
|
||||
controlsWidth: 280,
|
||||
tableColumn: [
|
||||
{ label: "群体名称", prop: "qtMc" },
|
||||
{ label: "群体类别", prop: "qtLb" , showSolt: true},
|
||||
{ label: "风险等级", prop: "qtFxdj" , showSolt: true},
|
||||
{ label: "背景资料", prop: "qtBjzl" },
|
||||
{ label: "背景信息", prop: "bgxx", showSolt: true },
|
||||
{ label: "管辖单位", prop: "gxSsdwmc" },
|
||||
{ label: "列控原因", prop: "zdrLkyy" },
|
||||
{ label: "开始时间", prop: "zdrRkkssj" },
|
||||
{ label: "截至时间", prop: "zdrRkjssj" },
|
||||
{ label: "稳控人数", prop: "zdryList", showSolt: true },
|
||||
{ label: "状态", prop: "qtZt", showSolt: true },
|
||||
{ label: "标签", prop: "bqList", showSolt: true ,showOverflowTooltip:true},
|
||||
{ label: "创建单位", prop: "xtCjbmmc" },
|
||||
{ label: "创建时间", prop: "xtCjsj" },
|
||||
{ label: "群体名称", prop: "qtMc",width:150 },
|
||||
{ label: "群体类别", prop: "qtLb" , showSolt: true,width:150 },
|
||||
{ label: "风险等级", prop: "qtFxdj" , showSolt: true,width:150 },
|
||||
{ label: "背景资料", prop: "qtBjzl" ,width:150 },
|
||||
{ label: "背景信息", prop: "bgxx", showSolt: true ,width:150 },
|
||||
{ label: "管辖单位", prop: "gxSsdwmc",width:150 },
|
||||
{ label: "列控原因", prop: "zdrLkyy",width:150 },
|
||||
{ label: "开始时间", prop: "zdrRkkssj",width:150 },
|
||||
{ label: "截至时间", prop: "zdrRkjssj" ,width:150 },
|
||||
{ label: "稳控人数", prop: "zdryList", showSolt: true,width:150 },
|
||||
{ label: "状态", prop: "qtZt", showSolt: true,width:150 },
|
||||
{ label: "标签", prop: "bqList", showSolt: true ,showOverflowTooltip:true,width:400 },
|
||||
{ label: "创建单位", prop: "xtCjbmmc" ,width:150 },
|
||||
{ label: "创建时间", prop: "xtCjsj",width:150 },
|
||||
]
|
||||
});
|
||||
|
||||
@ -203,7 +205,15 @@ const handleSend = (id) => {
|
||||
});
|
||||
})
|
||||
};
|
||||
|
||||
// 移除
|
||||
const handleremove = (id) => {
|
||||
proxy.$confirm("确定要移除此重点群体?", "警告", { type: "warning" }).then(() => {
|
||||
qcckPost({ id, qtlx: '02' }, "/mosty-gsxt/tbGsxtZdqt/update").then(() => {
|
||||
proxy.$message({ type: "success", message: "移除成功" });
|
||||
getList();
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
// 搜索
|
||||
const onSearch = (val) => {
|
||||
@ -224,7 +234,8 @@ const changeSize = (val) => {
|
||||
// 获取列表
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
let data = { ...pageData.pageConfiger, ...queryFrom.value };
|
||||
// 群体类型D_ZDRY_RYLX(01 重点 02 普通)
|
||||
let data = { qtlx:'01',...pageData.pageConfiger, ...queryFrom.value };
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtZdqt/selectPage").then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.total = res.total;
|
||||
|
@ -286,10 +286,6 @@ const delDictItem = (bqId) => {
|
||||
const submit = () => {
|
||||
|
||||
elform.value.submit((data) => {
|
||||
console.log("xxxxx");
|
||||
|
||||
console.log(data);
|
||||
|
||||
data.zdrSjjz = data.zdrSjjz.join(",");
|
||||
let url = title.value == "新增" ? "/mosty-gsxt/tbGsxtZdry/save" : "/mosty-gsxt/tbGsxtZdry/update";
|
||||
let params = { ...data };
|
||||
|
@ -195,7 +195,6 @@ const scrollToSection = (sectionId) => {
|
||||
// 监听滚动,更新当前激活的锚点
|
||||
const handleScroll = () => {
|
||||
if (!rightBox.value) return;
|
||||
|
||||
const scrollPosition = rightBox.value.scrollTop + 50;
|
||||
const sections = [
|
||||
'info-section', 'backinfo-section', 'groupLabels-section',
|
||||
@ -233,16 +232,11 @@ const info = ref()
|
||||
const personnelTags = ref()
|
||||
// 提交
|
||||
const submit = async () => {
|
||||
console.log(info.value.throwData());
|
||||
console.log(personnelTags.value.throwData());
|
||||
// 使用Promise.all处理所有子组件的验证和数据获取
|
||||
const [infoData, personnelTagsData] = await Promise.all([
|
||||
info.value.throwData(),
|
||||
personnelTags.value.throwData(),
|
||||
]);
|
||||
|
||||
console.log(infoData, personnelTagsData);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -0,0 +1,65 @@
|
||||
<template>
|
||||
{{ visible }}
|
||||
<!-- 添加 -->
|
||||
<el-dialog v-model="visible" :title="Tips" width="40%" :before-close="handleClose">
|
||||
<el-form ref="historyForm" style="max-width: 600px" :model="diaLogRuleForm" :rules="diaLogRules">
|
||||
<div v-for="item in diaLogRuleForm" :key="item.props">
|
||||
<el-form-item label-width="80px" :label="item.label" :prop="item.props" style="width: 100%;">
|
||||
<el-input v-model="item.value" :placeholder="`请输入${item.label}`" />
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<div class="dialog-footer">
|
||||
<el-button @click="onCancel">取消</el-button>
|
||||
<el-button type="primary" @click="onSubmit">
|
||||
确认
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script setup>
|
||||
import { defineProps, defineEmits, ref, watch } from 'vue'
|
||||
|
||||
// 接收 v-model:visible
|
||||
const props = defineProps({
|
||||
visible: Boolean,
|
||||
Tips: String,
|
||||
diaLogRules: Object,
|
||||
diaLogRuleForm: Object
|
||||
})
|
||||
|
||||
const emit = defineEmits(['update:visible', 'submit'])
|
||||
|
||||
const formRef = ref(null)
|
||||
const formData = ref({})
|
||||
|
||||
// 监听外部传入的 formData 变化(如编辑时回显)
|
||||
watch(
|
||||
[() => props.diaLogRuleForm, props.visible],
|
||||
(val) => {
|
||||
console.log(val, "变化之后的diaLogRuleForm");
|
||||
|
||||
formData.value = val ? { ...val } : {}
|
||||
},
|
||||
{ immediate: true }
|
||||
)
|
||||
|
||||
// 取消:关闭弹窗
|
||||
const onCancel = () => {
|
||||
emit('update:visible', false)
|
||||
}
|
||||
|
||||
// 提交
|
||||
const onSubmit = () => {
|
||||
emit('submit', props.diaLogRuleForm) // 提交数据
|
||||
// formRef.value?.validate((valid) => {
|
||||
// if (valid) {
|
||||
|
||||
// // 不在这里关闭!由父组件决定是否关闭(比如提交失败不关闭)
|
||||
// }
|
||||
// })
|
||||
}
|
||||
</script>
|
||||
<style scoped lang="scss"></style>
|
@ -7,12 +7,14 @@
|
||||
<el-button type="primary" @click="(visible = !visible), (visiblefp = false)" size="small">布控申请</el-button>
|
||||
</template>
|
||||
<div class="flex just-center">
|
||||
<el-button size="small" type="primary" v-for="it in D_GS_BK_SQLX" :key="it.dm" @click="handleApplication(it)" >{{ it.zdmc }}</el-button>
|
||||
<el-button size="small" type="primary" v-for="it in D_GS_BK_SQLX" :key="it.dm"
|
||||
@click="handleApplication(it)">{{
|
||||
it.zdmc }}</el-button>
|
||||
</div>
|
||||
</el-popover>
|
||||
<el-popover placement="bottom" :visible="visiblefp" :width="400" trigger="click">
|
||||
<template #reference>
|
||||
<el-button size="small" type="primary" @click="(visiblefp = !visiblefp), (visible = false)" >指定分配</el-button>
|
||||
<el-button size="small" type="primary" @click="(visiblefp = !visiblefp), (visible = false)">指定分配</el-button>
|
||||
</template>
|
||||
<div>
|
||||
<el-input readonly v-model="obj.fpmc" @click="chooseUserVisible = true" placeholder="请选择民警"></el-input>
|
||||
@ -25,7 +27,9 @@
|
||||
<el-button size="small" type="primary" @click="handleZxs">转线索</el-button>
|
||||
<el-button size="small" type="primary" @click="handleMove">移交管控</el-button>
|
||||
<el-button type="primary" size="small" @click="addEdit('add', '')">
|
||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
||||
<el-icon style="vertical-align: middle">
|
||||
<CirclePlus />
|
||||
</el-icon>
|
||||
<span style="vertical-align: middle">新增</span>
|
||||
</el-button>
|
||||
</PageTitle>
|
||||
@ -36,44 +40,32 @@
|
||||
</div>
|
||||
<!-- 表格 -->
|
||||
<div class="tabBox">
|
||||
<MyTable
|
||||
:tableData="pageData.tableData"
|
||||
:tableColumn="pageData.tableColumn"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount"
|
||||
:tableConfiger="pageData.tableConfiger"
|
||||
:controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData"
|
||||
>
|
||||
<template #ryxx="{ row }">
|
||||
<div class="flex">
|
||||
<img src="" alt="" style="width: 80px;height: 90px;" />
|
||||
<ul class="tl ml10" style="flex:1 0 0">
|
||||
<li class="one_text_detail">姓名:{{ row.ryXm }}</li>
|
||||
<li class="flex one_text_detail">性别:<DictTag :tag="false" :value="row.ryXb" :options="D_BZ_XB" /></li>
|
||||
<li class="flex one_text_detail">籍贯:<DictTag :tag="false" :value="row.ryJg" :options="D_BZ_XZQHDM"/></li>
|
||||
<li class="one_text_detail">身份证:{{ row.rySfzh }}</li>
|
||||
<li class="one_text_detail">出生日期:{{ row.ryCsrq }}</li>
|
||||
<li class="flex one_text_detail">民族:<DictTag :tag="false" :value="row.ryMz" :options="D_BZ_MZ" /></li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
<template #jzxx="{ row }">
|
||||
<div class="flex one_text_detail">户籍地区划:<DictTag :tag="false" :value="row.hjdQh" :options="D_BZ_XZQHDM" /></div>
|
||||
<div class="flex one_text_detail">户籍派出所:{{ row.hjdPcsmc }}</div>
|
||||
<div class="flex one_text_detail">户籍地详址:{{ row.hjdXz }}</div>
|
||||
</template>
|
||||
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
|
||||
@chooseData="chooseData">
|
||||
<template #bqList="{ row }">
|
||||
<ul >
|
||||
<li class="one_text_detail marks mb4" :key="index" v-for="(item, index) in row.bqList">{{ item.bqMc }}({{ item.bqFz || 0 }} 分) </li>
|
||||
<ul>
|
||||
<li class="one_text_detail marks mb4" :key="index" v-for="(item, index) in row.bqList">{{ item.bqMc }}({{
|
||||
item.bqFz || 0 }} 分) </li>
|
||||
</ul>
|
||||
</template>
|
||||
<template #gxdw="{ row }">
|
||||
<div class="flex one_text_detail">管辖单位:{{ row.gxSsbmmc }}</div>
|
||||
<div class="flex">人员级别:<DictTag :tag="false" :value="row.zdrRyjb" :options="D_GS_ZDR_RYJB"/> </div>
|
||||
<div class="flex one_text_detail">管控原因:{{ row.zdrLkyy }}</div>
|
||||
<div class="flex">管控状态:<DictTag :tag="false" :value="row.zdrBkZt" :options="D_GS_ZDR_BK_ZT" /></div>
|
||||
<template #ryXb="{ row }">
|
||||
<DictTag :tag="false" :value="row.ryXb" :options="D_BZ_XB" />
|
||||
</template>
|
||||
<template #ryJg="{ row }">
|
||||
<DictTag :tag="false" :value="row.ryJg" :options="D_BZ_XZQHDM" />
|
||||
</template>
|
||||
<template #ryMz="{ row }">
|
||||
<DictTag :tag="false" :value="row.ryMz" :options="D_BZ_MZ" />
|
||||
</template>
|
||||
<template #hjdQh="{ row }">
|
||||
<DictTag :tag="false" :value="row.hjdQh" :options="D_BZ_XZQHDM" />
|
||||
</template>
|
||||
<template #zdrRyjb="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrRyjb" :options="D_GS_ZDR_RYJB" />
|
||||
</template>
|
||||
<template #zdrBkZt="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrBkZt" :options="D_GS_ZDR_BK_ZT" />
|
||||
</template>
|
||||
<template #zdrCzzt="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrCzzt" :options="D_GS_ZDR_CZZT" />
|
||||
@ -81,34 +73,33 @@
|
||||
<template #zdrZt="{ row }">
|
||||
<DictTag :tag="false" :value="row.zdrZt" :options="D_GS_ZDQT_ZT" />
|
||||
</template>
|
||||
|
||||
<template #xtSjzt="{ row }">
|
||||
<div> {{ row.xtSjzt == 0 ? "注销" : row.xtSjzt == 1 ? "正常" : "封存" }}</div>
|
||||
</template>
|
||||
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link size="small" type="success" @click="handleremove(row.id)">移除</el-link>
|
||||
<el-link size="small" type="success" v-if="row.zdrZt == '01'" @click="handleSend(row.id)">送审</el-link>
|
||||
<el-link size="small" type="primary" v-if="row.zdrZt == '01'" @click="addEdit('edit', row)" >编辑</el-link>
|
||||
<el-link size="small" type="primary" @click="addEdit('detail', row)" >详情</el-link>
|
||||
<el-link size="small" type="primary" v-if="row.zdrZt == '01'" @click="addEdit('edit', row)">编辑</el-link>
|
||||
<el-link size="small" type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||
<el-link size="small" type="danger" @click="deleteRow(row.id)">删除</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<Pages
|
||||
@changeNo="changeNo"
|
||||
@changeSize="changeSize"
|
||||
:tableHeight="pageData.tableHeight"
|
||||
:pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"
|
||||
></Pages>
|
||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||
...pageData.pageConfiger,
|
||||
total: pageData.total
|
||||
}"></Pages>
|
||||
</div>
|
||||
<!-- 详情 -->
|
||||
<AddForm ref="addFormDiloag" @updateDate="getList" :dic="{D_GS_ZDR_RYJB,D_BZ_XB,D_BZ_MZ,D_BZ_XZQHDM,D_GS_ZDR_BK_ZT,D_GS_ZDR_CZZT,D_GS_BQ_ZL,D_GS_BQ_LB,D_GS_BQ_LX,D_GS_ZDR_YJDJ,D_GS_BK_SSJZ}"/>
|
||||
<AddForm ref="addFormDiloag" @updateDate="getList"
|
||||
:dic="{ D_GS_ZDR_RYJB, D_BZ_XB, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ }" />
|
||||
<!-- 选择用户 -->
|
||||
<ChooseUser v-model="chooseUserVisible" @choosedUsers="handleUserSelected" :roleIds="roleIds"/>
|
||||
<ChooseUser v-model="chooseUserVisible" @choosedUsers="handleUserSelected" :roleIds="roleIds" />
|
||||
<!-- 转线索 -->
|
||||
<ZxsForm v-if="showzxs" ref="zxsDilof" @change="getList" :dic="{D_BZ_SF,D_BZ_XB,D_GS_XS_LY,D_BZ_SSZT,D_GS_XS_LX,D_GS_XS_QTLX }"></ZxsForm>
|
||||
<ZxsForm v-if="showzxs" ref="zxsDilof" @change="getList"
|
||||
:dic="{ D_BZ_SF, D_BZ_XB, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX }"></ZxsForm>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -121,10 +112,11 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import Pages from "@/components/aboutTable/Pages.vue";
|
||||
import Search from "@/components/aboutTable/Search.vue";
|
||||
import AddForm from "./components/addForm.vue";
|
||||
import { qcckGet, qcckPost,qcckDelete } from "@/api/qcckApi.js";
|
||||
import { qcckGet, qcckPost, qcckDelete } from "@/api/qcckApi.js";
|
||||
import { reactive, ref, onMounted, getCurrentInstance, nextTick } from "vue";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_GS_ZDQT_ZT,D_GS_ZDR_RYJB, D_BZ_XB, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ, D_GS_BK_SQLX, D_BZ_SF, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX } = proxy.$dict("D_GS_ZDQT_ZT","D_GS_ZDR_RYJB","D_BZ_XB","D_BZ_MZ","D_BZ_XZQHDM","D_GS_ZDR_BK_ZT","D_GS_ZDR_CZZT","D_GS_BQ_ZL","D_GS_BQ_LB","D_GS_BQ_LX","D_GS_ZDR_YJDJ","D_GS_BK_SSJZ","D_GS_BK_SQLX","D_BZ_SF","D_GS_XS_LY","D_BZ_SSZT","D_GS_XS_LX","D_GS_XS_QTLX");
|
||||
const { D_GS_ZDQT_ZT, D_GS_ZDR_RYJB, D_BZ_XB, D_BZ_MZ, D_BZ_XZQHDM, D_GS_ZDR_BK_ZT, D_GS_ZDR_CZZT, D_GS_BQ_ZL, D_GS_BQ_LB, D_GS_BQ_LX, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ, D_GS_BK_SQLX, D_BZ_SF, D_GS_XS_LY, D_BZ_SSZT, D_GS_XS_LX, D_GS_XS_QTLX } =
|
||||
proxy.$dict("D_GS_ZDQT_ZT", "D_GS_ZDR_RYJB", "D_BZ_XB", "D_BZ_MZ", "D_BZ_XZQHDM", "D_GS_ZDR_BK_ZT", "D_GS_ZDR_CZZT", "D_GS_BQ_ZL", "D_GS_BQ_LB", "D_GS_BQ_LX", "D_GS_ZDR_YJDJ", "D_GS_BK_SSJZ", "D_GS_BK_SQLX", "D_BZ_SF", "D_GS_XS_LY", "D_BZ_SSZT", "D_GS_XS_LX", "D_GS_XS_QTLX");
|
||||
const obj = ref({});
|
||||
const showzxs = ref(false);
|
||||
const zxsDilof = ref();
|
||||
@ -179,13 +171,22 @@ const pageData = reactive({
|
||||
},
|
||||
controlsWidth: 150,
|
||||
tableColumn: [
|
||||
{ label: "重点人员信息", prop: "ryxx", showSolt: true,width:300,showOverflowTooltip:true },
|
||||
{ label: "户籍居住信息", prop: "jzxx", showSolt: true,width:300, },
|
||||
{ label: "标签", prop: "bqList", showSolt: true ,width:200,showOverflowTooltip:true},
|
||||
{ label: "管辖单位", prop: "gxdw", showSolt: true,width:300, },
|
||||
{ label: "姓名", prop: "ryXm", width: 150 },
|
||||
{ label: "性别", prop: "ryXb", showSolt: true, width: 100 },
|
||||
{ label: "籍贯", prop: "ryJg", showSolt: true, width: 100 },
|
||||
{ label: "身份证", prop: "rySfzh", width: 200 },
|
||||
{ label: "民族", prop: "ryMz", showSolt: true, width: 100 },
|
||||
{ label: "户籍地区划", prop: "hjdQh", showSolt: true, width: 150 },
|
||||
{ label: "户籍派出所", prop: "hjdPcsmc", width: 200 },
|
||||
{ label: "户籍地详址", prop: "hjdXz", width: 200 },
|
||||
{ label: "标签", prop: "bqList", showSolt: true, width: 400, showOverflowTooltip: true },
|
||||
{ label: "管辖单位", prop: "gxSsbmmc", width: 200 },
|
||||
{ label: "人员级别", prop: "zdrRyjb", showSolt: true, width: 130 },
|
||||
{ label: "管控原因", prop: "zdrLkyy", width: 200, showOverflowTooltip: true },
|
||||
{ label: "管控状态", prop: "zdrBkZt", width: 200, showOverflowTooltip: true },
|
||||
{ label: "处置状态", prop: "zdrCzzt", showSolt: true },
|
||||
{ label: "状态", prop: "xtSjzt", showSolt: true },
|
||||
{ label: "审核状态", prop: "zdrZt", showSolt: true },
|
||||
{ label: "状态", prop: "xtSjzt", showSolt: true },
|
||||
]
|
||||
});
|
||||
|
||||
@ -213,7 +214,8 @@ const changeSize = (val) => {
|
||||
// 获取列表
|
||||
const getList = () => {
|
||||
pageData.tableConfiger.loading = true;
|
||||
let data = { ...pageData.pageConfiger, ...queryFrom.value };
|
||||
// 人员类型D_ZDRY_RYLX(01 重点 02 普通〉
|
||||
let data = { rylx: '01', ...pageData.pageConfiger, ...queryFrom.value };
|
||||
qcckGet(data, "/mosty-gsxt/tbGsxtZdry/selectPage").then((res) => {
|
||||
pageData.tableData = res.records || [];
|
||||
pageData.total = res.total;
|
||||
@ -226,12 +228,21 @@ const getList = () => {
|
||||
//送审
|
||||
const handleSend = (id) => {
|
||||
proxy.$confirm("确定要送审?", "警告", { type: "warning" }).then(() => {
|
||||
qcckPost({id}, "/mosty-gsxt/tbGsxtZdry/subSh").then(() => {
|
||||
qcckPost({ id }, "/mosty-gsxt/tbGsxtZdry/subSh").then(() => {
|
||||
proxy.$message({ type: "success", message: "送审成功" });
|
||||
getList();
|
||||
});
|
||||
})
|
||||
};
|
||||
// 移除
|
||||
const handleremove = (id) => {
|
||||
proxy.$confirm("确定要移除此重点人员?", "警告", { type: "warning" }).then(() => {
|
||||
qcckPost({ id, rylx: '02' }, "/mosty-gsxt/tbGsxtZdry/update").then(() => {
|
||||
proxy.$message({ type: "success", message: "移除成功" });
|
||||
getList();
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
const chooseData = (data) => {
|
||||
@ -258,7 +269,7 @@ const handleUserSelected = (val) => {
|
||||
// 处理分配
|
||||
const handlefp = () => {
|
||||
if (ids.value.length === 0) return ElMessage.error("请先选择需要布控的重点人");
|
||||
qcckPost({ ids: ids.value, uid: obj.value.fpid },"/mosty-gsxt/tbGsxtZdry/addGkmj").then(() => {
|
||||
qcckPost({ ids: ids.value, uid: obj.value.fpid }, "/mosty-gsxt/tbGsxtZdry/addGkmj").then(() => {
|
||||
ElMessage.success("分配成功");
|
||||
visible.value = false;
|
||||
visiblefp.value = false;
|
||||
@ -304,7 +315,7 @@ const deleteRow = (id) => {
|
||||
//新增编辑
|
||||
const addEdit = (type, row) => {
|
||||
show.value = true;
|
||||
nextTick(()=>{
|
||||
nextTick(() => {
|
||||
addFormDiloag.value.init(type, row);
|
||||
})
|
||||
};
|
||||
@ -319,7 +330,7 @@ const tabHeightFn = () => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.marks{
|
||||
.marks {
|
||||
padding: 0 4px;
|
||||
white-space: nowrap;
|
||||
background: #73acf1;
|
||||
@ -331,5 +342,4 @@ const tabHeightFn = () => {
|
||||
.el-loading-mask {
|
||||
background: rgba(0, 0, 0, 0.5) !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
</div>
|
||||
<div class="headSelect">
|
||||
|
||||
|
||||
<el-button @click="add" type="primary">新增</el-button>
|
||||
</div>
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
@ -67,23 +67,20 @@ const pageData = reactive({
|
||||
tableData: [],
|
||||
tableColumn: [{
|
||||
prop: 'cph',
|
||||
label: '人员姓名',
|
||||
label: '录入人员',
|
||||
}, {
|
||||
prop: 'cllx',
|
||||
label: '身份证号码',
|
||||
label: '录入时间',
|
||||
showSolt: true,
|
||||
prop: 'clpp',
|
||||
}, {
|
||||
showSolt: true,
|
||||
prop: 'clys',
|
||||
label: '关系',
|
||||
label: '表现内容',
|
||||
}, {
|
||||
showSolt: true,
|
||||
prop: 'clpp',
|
||||
label: '车辆品牌',
|
||||
|
||||
prop: 'clsbm',
|
||||
label: '联系电话',
|
||||
label: '附件信息',
|
||||
}],
|
||||
tableHeight: '200px',
|
||||
keyCount: 0,
|
||||
@ -105,7 +102,7 @@ const formData = reactive({
|
||||
username: "",
|
||||
ID: ""
|
||||
})
|
||||
const rulesForm = ref( identityCardRule({ validator: true },'rySfzh'))
|
||||
const rulesForm = ref(identityCardRule({ validator: true }, 'rySfzh'))
|
||||
// 修改数据接口
|
||||
const dataModel = ref()
|
||||
const addMarks = (val) => {
|
||||
@ -136,9 +133,9 @@ const addMarks = (val) => {
|
||||
pageData.tableData.push(val)
|
||||
}
|
||||
}
|
||||
onMounted(()=>{
|
||||
console.log(identityCardRule,"dadad1");
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
|
||||
})
|
||||
// 删除车辆
|
||||
const delDictItem = (val) => {
|
||||
@ -305,4 +302,4 @@ defineExpose({
|
||||
h3 {
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
</div>
|
||||
<div class="headSelect">
|
||||
|
||||
|
||||
<el-button @click="add" type="primary">新增</el-button>
|
||||
</div>
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
@ -36,7 +36,7 @@ import { identityCardRule } from "@/utils/rules"
|
||||
import { ref, reactive, watch, toRaw, getCurrentInstance, onMounted, onUnmounted } from "vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import VehiclDoing from "../component/vehiclDoing.vue";
|
||||
import { tbZdryClxxAdd, tbZdryClxxBatchAdd, tbZdryClxxDelete, tbZdryClxxSelectPage, tbZdryClxxUpdate } from '@/api/zdr.js'
|
||||
import { tbZdryClxxAdd, tbZdryClxxBatchAdd, tbZdryClxxDelete, tbGsxtZdryAjxxselectAjxx, tbZdryClxxUpdate } from '@/api/zdr.js'
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_BZ_CLLX, D_BZ_CLYS, D_BZ_CLPP } = proxy.$dict("D_BZ_CLLX", "D_BZ_CLYS", "D_BZ_CLPP"); //获取字典数据
|
||||
@ -67,24 +67,17 @@ const pageData = reactive({
|
||||
tableData: [],
|
||||
tableColumn: [{
|
||||
prop: 'cph',
|
||||
label: '人员姓名',
|
||||
label: '案件编号',
|
||||
}, {
|
||||
prop: 'cllx',
|
||||
label: '身份证号码',
|
||||
label: '案件名称',
|
||||
showSolt: true,
|
||||
prop: 'clpp',
|
||||
}, {
|
||||
showSolt: true,
|
||||
prop: 'clys',
|
||||
label: '关系',
|
||||
}, {
|
||||
showSolt: true,
|
||||
prop: 'clpp',
|
||||
label: '车辆品牌',
|
||||
|
||||
prop: 'clsbm',
|
||||
label: '联系电话',
|
||||
}],
|
||||
label: '受案时间',
|
||||
},],
|
||||
tableHeight: '200px',
|
||||
keyCount: 0,
|
||||
tableConfiger: {
|
||||
@ -105,7 +98,7 @@ const formData = reactive({
|
||||
username: "",
|
||||
ID: ""
|
||||
})
|
||||
const rulesForm = ref( identityCardRule({ validator: true },'rySfzh'))
|
||||
const rulesForm = ref(identityCardRule({ validator: true }, 'rySfzh'))
|
||||
// 修改数据接口
|
||||
const dataModel = ref()
|
||||
const addMarks = (val) => {
|
||||
@ -136,9 +129,9 @@ const addMarks = (val) => {
|
||||
pageData.tableData.push(val)
|
||||
}
|
||||
}
|
||||
onMounted(()=>{
|
||||
console.log(identityCardRule,"dadad1");
|
||||
|
||||
onMounted(() => {
|
||||
// console.log(identityCardRule,"dadad1");
|
||||
|
||||
})
|
||||
// 删除车辆
|
||||
const delDictItem = (val) => {
|
||||
@ -190,7 +183,9 @@ const gettbZdryClxxSelectPage = () => {
|
||||
pageSize: 20,
|
||||
zdrid: listData.value.id
|
||||
}
|
||||
tbZdryClxxSelectPage(promes).then(res => {
|
||||
tbGsxtZdryAjxxselectAjxx(promes).then(res => {
|
||||
console.log(res, "案件信息");
|
||||
|
||||
pageData.tableData = res.records
|
||||
})
|
||||
}
|
||||
@ -305,4 +300,4 @@ defineExpose({
|
||||
h3 {
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@ -26,38 +26,35 @@
|
||||
<el-form-item class="form-actions">
|
||||
<el-button type="primary" @click="check">查询</el-button>
|
||||
<el-button @click="resetForm">重置</el-button>
|
||||
<el-button @click="add">新增</el-button>
|
||||
<el-button @click="openDialog('新增密切联系人')">新增</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
|
||||
<template #clys="{ row }">
|
||||
<!-- <template #ryXm="{ row }">
|
||||
<DictTag :tag="false" :value="row.clys" :options="D_BZ_CLYS" />
|
||||
</template>
|
||||
<template #cllx="{ row }">
|
||||
<DictTag :tag="false" :value="row.cllx" :options="D_BZ_CLLX" />
|
||||
</template>
|
||||
<template #clpp="{ row }">
|
||||
<DictTag :tag="false" :value="row.clpp" :options="D_BZ_CLPP" />
|
||||
</template>
|
||||
</template> -->
|
||||
<!-- 操作 -->
|
||||
<template #controls="{ row }">
|
||||
<el-link type="danger" @click="delDictItem(row.id)">删除</el-link>
|
||||
<el-link type="danger" @click="updDictItem(row)">修改</el-link>
|
||||
<el-link type="danger" @click="openDialog('修改密切联系人', row)">修改</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
<diaLogForm v-model:visible="dialogVisible" :diaLogRules="diaLogRules" :diaLogRuleForm="diaLogRuleForm"
|
||||
@submit="addPersonOrModifica" :Tips="Tips">
|
||||
</diaLogForm>
|
||||
</div>
|
||||
<VehiclDoing v-model="chooseMarksVisible" @comfirm="addMarks" :data="dataModel"
|
||||
:dict="{ D_BZ_CLLX, D_BZ_CLYS, D_BZ_CLPP }" />
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { identityCardRule } from "@/utils/rules"
|
||||
import { ref, reactive, watch, toRaw, getCurrentInstance, onMounted, onUnmounted } from "vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import VehiclDoing from "../component/vehiclDoing.vue";
|
||||
import { tbZdryClxxAdd, tbZdryClxxBatchAdd, tbZdryClxxDelete, tbZdryClxxSelectPage, tbZdryClxxUpdate } from '@/api/zdr.js'
|
||||
import diaLogForm from "../components/diaLogForm.vue";
|
||||
import { tbGsxtZdryLxrsaveOrUpdateLxr, tbZdryClxxBatchAdd, tbZdryClxxDelete, tbGsxtZdryLxrselectLxrBy, tbZdryClxxUpdate } from '@/api/zdr.js'
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_BZ_CLLX, D_BZ_CLYS, D_BZ_CLPP } = proxy.$dict("D_BZ_CLLX", "D_BZ_CLYS", "D_BZ_CLPP"); //获取字典数据
|
||||
@ -75,36 +72,37 @@ const props = defineProps({
|
||||
default: false
|
||||
},
|
||||
})
|
||||
const ruleForm = ref({
|
||||
name: '',
|
||||
cardID: '',
|
||||
relation: '',
|
||||
phone: '',
|
||||
})
|
||||
const dialogVisible = ref(false)
|
||||
const listData = ref({})
|
||||
const Tips = ref(false)
|
||||
const addUpd = ref(true)
|
||||
watch(() => props.dataList, (val) => {
|
||||
if (val) {
|
||||
listData.value = val
|
||||
gettbZdryClxxSelectPage()
|
||||
}
|
||||
}, { deep: true })
|
||||
// 表格数据
|
||||
const pageData = reactive({
|
||||
tableData: [],
|
||||
tableColumn: [{
|
||||
prop: 'cph',
|
||||
prop: 'ryXm',
|
||||
label: '人员姓名',
|
||||
|
||||
}, {
|
||||
prop: 'cllx',
|
||||
prop: 'rySfzh',
|
||||
label: '身份证号码',
|
||||
showSolt: true,
|
||||
prop: 'clpp',
|
||||
width: 200
|
||||
|
||||
}, {
|
||||
showSolt: true,
|
||||
prop: 'clys',
|
||||
|
||||
prop: 'dygx',
|
||||
label: '关系',
|
||||
}, {
|
||||
showSolt: true,
|
||||
prop: 'clpp',
|
||||
label: '车辆品牌',
|
||||
|
||||
prop: 'clsbm',
|
||||
prop: 'lxrDh',
|
||||
label: '联系电话',
|
||||
width: 120
|
||||
}],
|
||||
tableHeight: '200px',
|
||||
keyCount: 0,
|
||||
@ -126,40 +124,108 @@ const formData = reactive({
|
||||
username: "",
|
||||
ID: ""
|
||||
})
|
||||
const rulesForm = ref( identityCardRule({ validator: true },'rySfzh'))
|
||||
// 修改数据接口
|
||||
const dataModel = ref()
|
||||
const addMarks = (val) => {
|
||||
const params = {
|
||||
...val,
|
||||
zdrid: listData.value.id,
|
||||
const rulesForm = ref(identityCardRule({ validator: true }, 'rySfzh'))
|
||||
const diaLogRuleForm = reactive([{ prop: 'username', label: '姓名', type: 'input', value: '' },
|
||||
{ prop: 'cardID', label: '身份证号', type: 'input', value: '' },
|
||||
{ prop: 'relation', label: '关系', type: 'input', value: '' },
|
||||
{ prop: 'phone', label: '联系电话', type: 'input', value: '' }
|
||||
])
|
||||
watch(() => props.dataList, (val) => {
|
||||
if (val) {
|
||||
console.log(val, 'listData.value');
|
||||
|
||||
listData.value = val
|
||||
|
||||
}
|
||||
}, { deep: true })
|
||||
// 弹出增加或者修改弹窗
|
||||
const openDialog = (type, formVal) => {
|
||||
dialogVisible.value = true
|
||||
Tips.value = type
|
||||
console.log(formVal, "formVal");
|
||||
|
||||
console.log(dialogVisible.value, "dialogVisible.value")
|
||||
if (type === '新增密切联系人') {
|
||||
diaLogRuleForm.forEach(item => {
|
||||
item.value = ''
|
||||
})
|
||||
} else {
|
||||
diaLogRuleForm[0].value = formVal.ryXm
|
||||
diaLogRuleForm[1].value = formVal.rySfzh
|
||||
diaLogRuleForm[2].value = formVal.dygx
|
||||
diaLogRuleForm[3].value = formVal.lxrDh
|
||||
}
|
||||
|
||||
}
|
||||
// 增加或修改数据接口
|
||||
const dataModel = ref()
|
||||
const addPersonOrModifica = async (val) => {
|
||||
console.log('dafafaf', val)
|
||||
let params = {
|
||||
id: listData.value.id
|
||||
}
|
||||
val.forEach(item => {
|
||||
switch (item.label) {
|
||||
case '姓名':
|
||||
params.ryXm = item.value
|
||||
break
|
||||
case '身份证号':
|
||||
params.rySfzh = item.value
|
||||
break
|
||||
case '关系':
|
||||
params.dygx = item.value
|
||||
break
|
||||
case '联系电话':
|
||||
params.lxrDh = item.value
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
})
|
||||
console.log(params, "fafafafaff");
|
||||
|
||||
if (props.showBut && !props.disabled) {
|
||||
if (addUpd.value) {
|
||||
tbZdryClxxAdd(params).then(res => {
|
||||
gettbZdryClxxSelectPage()
|
||||
proxy.$message({
|
||||
message: '关联车辆添加成功',
|
||||
type: 'success'
|
||||
})
|
||||
})
|
||||
}
|
||||
else {
|
||||
tbZdryClxxUpdate(params).then(res => {
|
||||
gettbZdryClxxSelectPage()
|
||||
proxy.$message({
|
||||
message: '关联车辆修改成功',
|
||||
type: 'success'
|
||||
})
|
||||
})
|
||||
}
|
||||
const res = await tbGsxtZdryLxrsaveOrUpdateLxr(params)
|
||||
console.log(res, "联系人增加res");
|
||||
|
||||
// if (type) {
|
||||
|
||||
// if (res.code == 200) {
|
||||
// gettbZdryClxxSelectPage()
|
||||
// proxy.$message({
|
||||
// message: '密切联系人添加成功',
|
||||
// type: 'success'
|
||||
// })
|
||||
// } else {
|
||||
// proxy.$message({
|
||||
// message: '密切联系人添加失败',
|
||||
// type: 'error'
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
// } else {
|
||||
// if (res.code == 200) {
|
||||
// gettbZdryClxxSelectPage()
|
||||
// proxy.$message({
|
||||
// message: '密切联系人添加成功',
|
||||
// type: 'success'
|
||||
// })
|
||||
// } else {
|
||||
// proxy.$message({
|
||||
// message: '密切联系人添加失败',
|
||||
// type: 'error'
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
|
||||
} else {
|
||||
pageData.tableData.push(val)
|
||||
}
|
||||
}
|
||||
onMounted(()=>{
|
||||
console.log(identityCardRule,"dadad1");
|
||||
|
||||
onMounted(() => {
|
||||
// console.log(identityCardRule,"dadad1");
|
||||
|
||||
})
|
||||
// 删除车辆
|
||||
const delDictItem = (val) => {
|
||||
@ -204,15 +270,19 @@ const AddPore = () => {
|
||||
dataModel.value = {}
|
||||
addUpd.value = true
|
||||
}
|
||||
// 查询车辆
|
||||
// 初始化密切联系人
|
||||
const gettbZdryClxxSelectPage = () => {
|
||||
const promes = {
|
||||
pageCurrent: 1,
|
||||
pageSize: 20,
|
||||
zdrid: listData.value.id
|
||||
}
|
||||
tbZdryClxxSelectPage(promes).then(res => {
|
||||
pageData.tableData = res.records
|
||||
tbGsxtZdryLxrselectLxrBy(promes).then(res => {
|
||||
|
||||
|
||||
pageData.tableData = res
|
||||
console.log(pageData.tableData, "表格原生数据");
|
||||
|
||||
})
|
||||
}
|
||||
// 抛出数据并验证标签列表不为空
|
||||
@ -238,10 +308,7 @@ defineExpose({
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
::v-deep(.el-form) {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
.left_box {
|
||||
width: 200px;
|
||||
@ -276,39 +343,46 @@ defineExpose({
|
||||
padding: 0 16px;
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #eee;
|
||||
|
||||
::v-deep(.el-form) {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
/* 移除冲突样式:不要用 justify-content */
|
||||
|
||||
/* 控制所有 el-form-item 高度和垂直居中 */
|
||||
.form-inline :deep(.el-form-item) {
|
||||
margin-bottom: 0;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* ✅ 按钮区域靠右,且不换行 */
|
||||
.form-inline .form-actions {
|
||||
margin-left: auto;
|
||||
/* 推到最右边 */
|
||||
white-space: nowrap;
|
||||
/* 防止按钮换行 */
|
||||
}
|
||||
|
||||
/* 统一按钮样式,增加间距和视觉舒适度 */
|
||||
.form-inline :deep(.el-button) {
|
||||
height: 36px;
|
||||
padding: 8px 16px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* 按钮之间留出间距(除了第一个) */
|
||||
.form-inline :deep(.el-button:not(:first-child)) {
|
||||
margin-left: 12px;
|
||||
/* 比原来的 8px 更宽松 */
|
||||
}
|
||||
}
|
||||
|
||||
/* 移除冲突样式:不要用 justify-content */
|
||||
|
||||
/* 控制所有 el-form-item 高度和垂直居中 */
|
||||
.form-inline :deep(.el-form-item) {
|
||||
margin-bottom: 0;
|
||||
height: 60px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* ✅ 按钮区域靠右,且不换行 */
|
||||
.form-inline .form-actions {
|
||||
margin-left: auto;
|
||||
/* 推到最右边 */
|
||||
white-space: nowrap;
|
||||
/* 防止按钮换行 */
|
||||
}
|
||||
|
||||
/* 统一按钮样式,增加间距和视觉舒适度 */
|
||||
.form-inline :deep(.el-button) {
|
||||
height: 36px;
|
||||
padding: 8px 16px;
|
||||
font-size: 14px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* 按钮之间留出间距(除了第一个) */
|
||||
.form-inline :deep(.el-button:not(:first-child)) {
|
||||
margin-left: 12px;
|
||||
/* 比原来的 8px 更宽松 */
|
||||
}
|
||||
|
||||
// .headClass::after {
|
||||
// content: '';
|
||||
@ -323,4 +397,4 @@ defineExpose({
|
||||
h3 {
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
@ -1,23 +1,44 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="headClass" style="">
|
||||
<h3>全要素布控</h3>
|
||||
|
||||
</div>
|
||||
<div class="marginBox">
|
||||
<div>身份证号码:683716907261785789 <span>({{ status?'已布控':'未布控' }})</span></div>
|
||||
|
||||
<div>手机号码:18928937987 <span>({{ status?'已布控':'未布控' }})</span> <div> 18928937987 <span>({{ status?'已布控':'未布控' }})</span></div></div>
|
||||
<div>车牌号码:冀A09219 <span>({{ status?'已布控':'未布控' }})</span></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="headClass" style="">
|
||||
<h3>全要素布控</h3>
|
||||
|
||||
</div>
|
||||
<div class="marginBox">
|
||||
<div>身份证号码:{{ listData.rySfzh }} <span>({{ listData.zdrBkZt ? '已布控' : '未布控' }})</span></div>
|
||||
|
||||
<div>手机号码:{{ listData.ryLxdh?.[0] }} <span>({{ listData.zdrBkZt ? '已布控' : '未布控' }})</span>
|
||||
<div> {{ listData.ryLxdh?.[1] }}<span>({{ listData.zdrBkZt ? '已布控' : '未布控' }})</span></div>
|
||||
</div>
|
||||
<div>车牌号码:{{ listData.clHm }} <span>({{ listData.zdrBkZt ? '已布控' : '未布控' }})</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref ,onMounted} from 'vue';
|
||||
import { ref, onMounted, watch } from 'vue';
|
||||
const props = defineProps({
|
||||
dataList: {
|
||||
type: Object,
|
||||
default: () => { },
|
||||
}, disabled: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
showBut: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
})
|
||||
const status = ref(false)
|
||||
const listData = ref({})
|
||||
watch(() => props.dataList, (val) => {
|
||||
if (val) {
|
||||
listData.value = val
|
||||
|
||||
const status=ref(false)
|
||||
}
|
||||
}, { deep: true })
|
||||
onMounted(() => {
|
||||
console.log('Deployment 组件已挂载!')
|
||||
})
|
||||
@ -28,45 +49,48 @@ onMounted(() => {
|
||||
@import "~@/assets/css/element-plus.scss";
|
||||
|
||||
.headClass {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #303133;
|
||||
margin: 0 0 10px 0;
|
||||
border-bottom: 2px solid #409eff;
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.marginBox{
|
||||
span{
|
||||
margin-left: 10px;
|
||||
color: #ff4040;
|
||||
}
|
||||
&>:nth-child(1){
|
||||
width: 300px;
|
||||
height: 30px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
&>:nth-child(2){
|
||||
width: 400px;
|
||||
height: 30px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
&>:nth-child(3){
|
||||
width: 210px;
|
||||
height: 30px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #303133;
|
||||
margin: 0 0 10px 0;
|
||||
border-bottom: 2px solid #409eff;
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
</style>
|
||||
.marginBox {
|
||||
span {
|
||||
margin-left: 10px;
|
||||
color: #ff4040;
|
||||
}
|
||||
|
||||
&>:nth-child(1) {
|
||||
width: 300px;
|
||||
height: 30px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
&>:nth-child(2) {
|
||||
width: 400px;
|
||||
height: 30px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
&>:nth-child(3) {
|
||||
width: 210px;
|
||||
height: 30px;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -53,6 +53,7 @@ const addUpd = ref(true)
|
||||
watch(() => props.dataList, (val) => {
|
||||
if (val) {
|
||||
listData.value = val
|
||||
console.log(listData.value, 'listData.value')
|
||||
gettbZdryClxxSelectPage()
|
||||
}
|
||||
}, { deep: true })
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
</div>
|
||||
<div class="headSelect">
|
||||
|
||||
|
||||
<el-button @click="add" type="primary">新增</el-button>
|
||||
</div>
|
||||
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
|
||||
@ -36,7 +36,7 @@ import { identityCardRule } from "@/utils/rules"
|
||||
import { ref, reactive, watch, toRaw, getCurrentInstance, onMounted, onUnmounted } from "vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
import VehiclDoing from "../component/vehiclDoing.vue";
|
||||
import { tbZdryClxxAdd, tbZdryClxxBatchAdd, tbZdryClxxDelete, tbZdryClxxSelectPage, tbZdryClxxUpdate } from '@/api/zdr.js'
|
||||
import { tbZdryClxxAdd, tbZdryClxxBatchAdd, tbZdryClxxDelete, tbGsxtZdryZfjlselectZfjl, tbZdryClxxUpdate } from '@/api/zdr.js'
|
||||
import { ElMessage, ElMessageBox } from "element-plus";
|
||||
const { proxy } = getCurrentInstance();
|
||||
const { D_BZ_CLLX, D_BZ_CLYS, D_BZ_CLPP } = proxy.$dict("D_BZ_CLLX", "D_BZ_CLYS", "D_BZ_CLPP"); //获取字典数据
|
||||
@ -59,6 +59,8 @@ const addUpd = ref(true)
|
||||
watch(() => props.dataList, (val) => {
|
||||
if (val) {
|
||||
listData.value = val
|
||||
|
||||
|
||||
gettbZdryClxxSelectPage()
|
||||
}
|
||||
}, { deep: true })
|
||||
@ -67,23 +69,26 @@ const pageData = reactive({
|
||||
tableData: [],
|
||||
tableColumn: [{
|
||||
prop: 'cph',
|
||||
label: '人员姓名',
|
||||
width: 150,
|
||||
label: '走访民警/辅警',
|
||||
}, {
|
||||
prop: 'cllx',
|
||||
label: '身份证号码',
|
||||
label: '走访方式',
|
||||
showSolt: true,
|
||||
prop: 'clpp',
|
||||
}, {
|
||||
showSolt: true,
|
||||
prop: 'clys',
|
||||
label: '关系',
|
||||
label: '走访时间',
|
||||
}, {
|
||||
showSolt: true,
|
||||
prop: 'clpp',
|
||||
label: '车辆品牌',
|
||||
|
||||
prop: 'clsbm',
|
||||
label: '联系电话',
|
||||
label: '走访地址',
|
||||
},
|
||||
{
|
||||
showSolt: true,
|
||||
prop: 'clpp',
|
||||
label: '走访情况',
|
||||
}],
|
||||
tableHeight: '200px',
|
||||
keyCount: 0,
|
||||
@ -105,7 +110,7 @@ const formData = reactive({
|
||||
username: "",
|
||||
ID: ""
|
||||
})
|
||||
const rulesForm = ref( identityCardRule({ validator: true },'rySfzh'))
|
||||
const rulesForm = ref(identityCardRule({ validator: true }, 'rySfzh'))
|
||||
// 修改数据接口
|
||||
const dataModel = ref()
|
||||
const addMarks = (val) => {
|
||||
@ -136,9 +141,9 @@ const addMarks = (val) => {
|
||||
pageData.tableData.push(val)
|
||||
}
|
||||
}
|
||||
onMounted(()=>{
|
||||
console.log(identityCardRule,"dadad1");
|
||||
|
||||
onMounted(() => {
|
||||
|
||||
|
||||
})
|
||||
// 删除车辆
|
||||
const delDictItem = (val) => {
|
||||
@ -190,8 +195,9 @@ const gettbZdryClxxSelectPage = () => {
|
||||
pageSize: 20,
|
||||
zdrid: listData.value.id
|
||||
}
|
||||
tbZdryClxxSelectPage(promes).then(res => {
|
||||
pageData.tableData = res.records
|
||||
tbGsxtZdryZfjlselectZfjl(promes).then(res => {
|
||||
console.log(res, "走访记录");
|
||||
pageData.tableData = res
|
||||
})
|
||||
}
|
||||
// 抛出数据并验证标签列表不为空
|
||||
@ -305,4 +311,4 @@ defineExpose({
|
||||
h3 {
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
Reference in New Issue
Block a user