|
|
|
|
@ -1,9 +1,13 @@
|
|
|
|
|
<template> |
|
|
|
|
<div class="container"> |
|
|
|
|
<el-tabs v-model="activeName" type="card"> |
|
|
|
|
<el-tab-pane label="情指行" name="情指行"> </el-tab-pane> |
|
|
|
|
<el-tab-pane label="重点人员" name="重点人员"> </el-tab-pane> |
|
|
|
|
<el-tab-pane label="民意感知" name="民意感知"> </el-tab-pane> |
|
|
|
|
<el-tab-pane |
|
|
|
|
v-for="item in sources" |
|
|
|
|
:key="item" |
|
|
|
|
:label="item.label" |
|
|
|
|
:name="item.value" |
|
|
|
|
> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
<header> |
|
|
|
|
<el-row> |
|
|
|
|
@ -75,141 +79,70 @@
|
|
|
|
|
</div> |
|
|
|
|
</header> |
|
|
|
|
<p></p> |
|
|
|
|
<el-tabs v-model="activeMaping"> |
|
|
|
|
<el-tab-pane label="全部" name="all"> |
|
|
|
|
<div class="table-container"> |
|
|
|
|
<el-table :data="list"> |
|
|
|
|
<el-table-column |
|
|
|
|
:label="`${activeName}单位编码`" |
|
|
|
|
prop="externalId" |
|
|
|
|
width="150" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
:label="`${activeName}单位名称`" |
|
|
|
|
prop="externalName" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
label="数字督察单位" |
|
|
|
|
prop="internalName" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
label="单位层级" |
|
|
|
|
prop="level" |
|
|
|
|
width="100" |
|
|
|
|
align="center" |
|
|
|
|
> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<span v-if="row.level === 2">二级单位</span> |
|
|
|
|
<span v-if="row.level === 3">三级单位</span> |
|
|
|
|
<span v-if="row.level === 4">四级单位</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column |
|
|
|
|
label="最后修改时间" |
|
|
|
|
prop="updateTime" |
|
|
|
|
width="160" |
|
|
|
|
/> |
|
|
|
|
<el-table-column label="操作" width="160"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
link |
|
|
|
|
@click="handleEdit(row)" |
|
|
|
|
>编辑</el-button |
|
|
|
|
> |
|
|
|
|
<el-button |
|
|
|
|
type="danger" |
|
|
|
|
link |
|
|
|
|
@click="handleDel(row)" |
|
|
|
|
>删除</el-button |
|
|
|
|
> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
<div class="flex end mt-8"> |
|
|
|
|
<el-pagination |
|
|
|
|
@size-change="getList" |
|
|
|
|
@current-change="getList" |
|
|
|
|
:page-sizes="[10, 20, 50]" |
|
|
|
|
v-model:page-size="query.size" |
|
|
|
|
v-model:current-page="query.current" |
|
|
|
|
layout="total, sizes, prev, pager, next" |
|
|
|
|
:total="total" |
|
|
|
|
> |
|
|
|
|
</el-pagination> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
<el-tabs v-model="query.activeMaping" @tab-change="getList"> |
|
|
|
|
<el-tab-pane label="全部" name="all"></el-tab-pane> |
|
|
|
|
<el-tab-pane label="未映射" name="noMaping"> |
|
|
|
|
<template #label> |
|
|
|
|
<el-badge :value="0"> |
|
|
|
|
<el-badge :value="noMapingTotal" v-if="noMapingTotal > 0"> |
|
|
|
|
<span>未映射</span> |
|
|
|
|
</el-badge> |
|
|
|
|
<span v-else>未映射</span> |
|
|
|
|
</template> |
|
|
|
|
<div class="table-container"> |
|
|
|
|
<el-table :data="list"> |
|
|
|
|
<el-table-column |
|
|
|
|
:label="`${activeName}单位编码`" |
|
|
|
|
prop="externalId" |
|
|
|
|
width="150" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
:label="`${activeName}单位名称`" |
|
|
|
|
prop="externalName" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
label="数字督察单位" |
|
|
|
|
prop="internalName" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
label="单位层级" |
|
|
|
|
prop="level" |
|
|
|
|
width="100" |
|
|
|
|
align="center" |
|
|
|
|
> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<span v-if="row.level === 2">二级单位</span> |
|
|
|
|
<span v-if="row.level === 3">三级单位</span> |
|
|
|
|
<span v-if="row.level === 4">四级单位</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column |
|
|
|
|
label="最后修改时间" |
|
|
|
|
prop="updateTime" |
|
|
|
|
width="160" |
|
|
|
|
/> |
|
|
|
|
<el-table-column label="操作" width="160"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<el-button |
|
|
|
|
type="primary" |
|
|
|
|
link |
|
|
|
|
@click="handleEdit(row)" |
|
|
|
|
>编辑</el-button |
|
|
|
|
> |
|
|
|
|
<el-button |
|
|
|
|
type="danger" |
|
|
|
|
link |
|
|
|
|
@click="handleDel(row)" |
|
|
|
|
>删除</el-button |
|
|
|
|
> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
<div class="flex end mt-8"> |
|
|
|
|
<el-pagination |
|
|
|
|
@size-change="getList" |
|
|
|
|
@current-change="getList" |
|
|
|
|
:page-sizes="[10, 20, 50]" |
|
|
|
|
v-model:page-size="query.size" |
|
|
|
|
v-model:current-page="query.current" |
|
|
|
|
layout="total, sizes, prev, pager, next" |
|
|
|
|
:total="total" |
|
|
|
|
> |
|
|
|
|
</el-pagination> |
|
|
|
|
</div> |
|
|
|
|
</el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
<div class="table-container" v-loading="loading"> |
|
|
|
|
<el-table :data="list"> |
|
|
|
|
<el-table-column |
|
|
|
|
:label="`${activeName}单位编码`" |
|
|
|
|
prop="externalId" |
|
|
|
|
width="150" |
|
|
|
|
/> |
|
|
|
|
<el-table-column |
|
|
|
|
:label="`${activeName}单位名称`" |
|
|
|
|
prop="externalName" |
|
|
|
|
/> |
|
|
|
|
<el-table-column label="数字督察单位" prop="internalName" /> |
|
|
|
|
<el-table-column |
|
|
|
|
label="单位层级" |
|
|
|
|
prop="level" |
|
|
|
|
width="100" |
|
|
|
|
align="center" |
|
|
|
|
> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<span v-if="row.level === 2">二级单位</span> |
|
|
|
|
<span v-if="row.level === 3">三级单位</span> |
|
|
|
|
<span v-if="row.level === 4">四级单位</span> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column |
|
|
|
|
label="最后修改时间" |
|
|
|
|
prop="updateTime" |
|
|
|
|
width="160" |
|
|
|
|
/> |
|
|
|
|
<el-table-column label="操作" width="160"> |
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
<el-button type="primary" link @click="handleEdit(row)" |
|
|
|
|
>编辑</el-button |
|
|
|
|
> |
|
|
|
|
<el-button type="danger" link @click="handleDel(row)" |
|
|
|
|
>删除</el-button |
|
|
|
|
> |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
<div class="flex end mt-8"> |
|
|
|
|
<el-pagination |
|
|
|
|
@size-change="getList" |
|
|
|
|
@current-change="getList" |
|
|
|
|
:page-sizes="[10, 20, 50]" |
|
|
|
|
v-model:page-size="query.size" |
|
|
|
|
v-model:current-page="query.current" |
|
|
|
|
layout="total, sizes, prev, pager, next" |
|
|
|
|
:total="total" |
|
|
|
|
> |
|
|
|
|
</el-pagination> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<el-dialog |
|
|
|
|
@ -232,9 +165,12 @@
|
|
|
|
|
clearable |
|
|
|
|
style="width: 280px" |
|
|
|
|
> |
|
|
|
|
<el-option label="情指行" value="情指行"></el-option> |
|
|
|
|
<el-option label="重点人员" value="重点人员"></el-option> |
|
|
|
|
<el-option label="民意感知" value="民意感知"></el-option> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in sources" |
|
|
|
|
:key="item" |
|
|
|
|
:label="item.label" |
|
|
|
|
:value="item.value" |
|
|
|
|
></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item |
|
|
|
|
@ -272,11 +208,6 @@
|
|
|
|
|
<el-form-item |
|
|
|
|
label="数字督察单位" |
|
|
|
|
prop="internalId" |
|
|
|
|
:rules="{ |
|
|
|
|
required: true, |
|
|
|
|
message: '请选择', |
|
|
|
|
trigger: ['blur'], |
|
|
|
|
}" |
|
|
|
|
> |
|
|
|
|
<depart-tree-select |
|
|
|
|
v-model="formData.internalId" |
|
|
|
|
@ -301,19 +232,48 @@ import {
|
|
|
|
|
delDepartMaping, |
|
|
|
|
} from "@/api/system/departMaping"; |
|
|
|
|
import feedback from "@/utils/feedback"; |
|
|
|
|
const activeName = ref("情指行"); |
|
|
|
|
const activeMaping = ref("all"); |
|
|
|
|
|
|
|
|
|
const sources = [ |
|
|
|
|
{ |
|
|
|
|
value: "情指行", |
|
|
|
|
label: "情指行", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: "重点人员", |
|
|
|
|
label: "重点人员", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: "民意感知", |
|
|
|
|
label: "民意感知", |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
value: "局长信箱", |
|
|
|
|
label: "局长信箱", |
|
|
|
|
}, |
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
const activeName = ref(sources[0].value); |
|
|
|
|
const query = ref({ |
|
|
|
|
current: 1, |
|
|
|
|
size: 10, |
|
|
|
|
activeMaping: 'all' |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const list = ref([]); |
|
|
|
|
const total = ref(0); |
|
|
|
|
const loading = ref(true) |
|
|
|
|
const noMapingTotal = ref(0) |
|
|
|
|
function getList() { |
|
|
|
|
loading.value = true |
|
|
|
|
listDepartMaping(activeName.value, query.value).then((data) => { |
|
|
|
|
list.value = data.records; |
|
|
|
|
total.value = data.total; |
|
|
|
|
loading.value = false |
|
|
|
|
}); |
|
|
|
|
listDepartMaping(activeName.value, { |
|
|
|
|
activeMaping: 'noMaping' |
|
|
|
|
}).then((data) => { |
|
|
|
|
noMapingTotal.value = data.total; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -321,6 +281,7 @@ function reset() {
|
|
|
|
|
query.value = { |
|
|
|
|
current: 1, |
|
|
|
|
size: 10, |
|
|
|
|
activeMaping: 'all' |
|
|
|
|
}; |
|
|
|
|
getList(); |
|
|
|
|
} |
|
|
|
|
|