Commit e06725f3 authored by 郭铭瑶's avatar 郭铭瑶 🤘

调整标签筛选名称不符

parent 864e5927
...@@ -77,6 +77,7 @@ ...@@ -77,6 +77,7 @@
</n-collapse> </n-collapse>
<m-animate enter="fadeInUp" leave="fadeOutDown" :duration="200"> <m-animate enter="fadeInUp" leave="fadeOutDown" :duration="200">
<div v-if="visible" class="tag-box"> <div v-if="visible" class="tag-box">
<!-- TODO 全局控制 -->
<span <span
v-for="tag in tagList" v-for="tag in tagList"
:key="tag.name" :key="tag.name"
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<div class="list"> <div class="list">
<div <div
v-for="item in organization" v-for="item in organization"
:key="item.name" :key="item.key"
:title="item.name" :title="item.name"
> >
<n-checkbox v-model:checked="item.checked" size="small">{{ <n-checkbox v-model:checked="item.checked" size="small">{{
...@@ -39,7 +39,9 @@ ...@@ -39,7 +39,9 @@
<div <div
v-show="item.checked" v-show="item.checked"
class="export" class="export"
@click.prevent="handleExport('organization', item.name)" @click.prevent="
handleExport('organization', item.key, item.name)
"
> >
导出详表 导出详表
<n-icon size=".1rem"> <n-icon size=".1rem">
...@@ -51,14 +53,14 @@ ...@@ -51,14 +53,14 @@
</n-collapse-item> </n-collapse-item>
<n-collapse-item title="党员" name="2"> <n-collapse-item title="党员" name="2">
<div class="list"> <div class="list">
<div v-for="item in member" :key="item.name" :title="item.name"> <div v-for="item in member" :key="item.key" :title="item.name">
<n-checkbox v-model:checked="item.checked" size="small">{{ <n-checkbox v-model:checked="item.checked" size="small">{{
item.name item.name
}}</n-checkbox> }}</n-checkbox>
<div <div
v-show="item.checked" v-show="item.checked"
class="export" class="export"
@click.prevent="handleExport('member', item.name)" @click.prevent="handleExport('member', item.key, item.name)"
> >
导出详表 导出详表
<n-icon size=".1rem"> <n-icon size=".1rem">
...@@ -189,15 +191,16 @@ const fetchTags = async (type: string) => { ...@@ -189,15 +191,16 @@ const fetchTags = async (type: string) => {
}) })
return res.map((item: any) => ({ return res.map((item: any) => ({
name: item['标签名称'], name: item['标签名称'],
key: item['标签名称'].replace(type, '').replace('获得', ''),
checked: false, checked: false,
})) }))
} }
const organization = ref<{ name: string; checked: boolean }[]>([]) const organization = ref<{ key: string; name: string; checked: boolean }[]>([])
const getOrgTags = async () => { const getOrgTags = async () => {
organization.value = await fetchTags('党组织') organization.value = await fetchTags('党组织')
} }
const member = ref<{ name: string; checked: boolean }[]>([]) const member = ref<{ key: string; name: string; checked: boolean }[]>([])
const getMemberTags = async () => { const getMemberTags = async () => {
member.value = await fetchTags('党员') member.value = await fetchTags('党员')
} }
...@@ -251,7 +254,7 @@ const getDetail = async (type: string, name: string) => { ...@@ -251,7 +254,7 @@ const getDetail = async (type: string, name: string) => {
switch (type) { switch (type) {
case 'organization': case 'organization':
res = await useFetchOrg({ res = await useFetchOrg({
q: `paths @ "标签" && string == "${name}"`, q: `paths @ "标签" && string @ "${name}"`,
}) })
break break
case 'member': case 'member':
...@@ -280,8 +283,8 @@ const getDetail = async (type: string, name: string) => { ...@@ -280,8 +283,8 @@ const getDetail = async (type: string, name: string) => {
return res return res
} }
const handleExport = async (type: string, name: string) => { const handleExport = async (type: string, key: string, name: string) => {
const res = await getDetail(type, name) const res = await getDetail(type, key)
const data = res.map((item: any) => item.extra) const data = res.map((item: any) => item.extra)
useExportFile(data, type === 'organization' ? '党组织名称' : '姓名', name) useExportFile(data, type === 'organization' ? '党组织名称' : '姓名', name)
} }
...@@ -289,12 +292,12 @@ const handleExport = async (type: string, name: string) => { ...@@ -289,12 +292,12 @@ const handleExport = async (type: string, name: string) => {
watch( watch(
() => organization.value, () => organization.value,
async (data) => { async (data) => {
const names = data.filter((e) => e.checked).map((e) => e.name) const keys = data.filter((e) => e.checked).map((e) => e.key)
const pointData: any[] = [] const pointData: any[] = []
const result = await Promise.all( const result = await Promise.all(
names.map((name) => getDetail('organization', name)), keys.map((key) => getDetail('organization', key)),
) )
result.forEach((item: any[]) => pointData.push(...item)) result.forEach((item: any[]) => pointData.push(...item.map((e) => e.extra)))
console.log('organization撒点数据:', pointData) console.log('organization撒点数据:', pointData)
// TODO 撒点 // TODO 撒点
}, },
...@@ -303,12 +306,12 @@ watch( ...@@ -303,12 +306,12 @@ watch(
watch( watch(
() => member.value, () => member.value,
async (data) => { async (data) => {
const names = data.filter((e) => e.checked).map((e) => e.name) const keys = data.filter((e) => e.checked).map((e) => e.key)
const pointData: any[] = [] const pointData: any[] = []
const result = await Promise.all( const result = await Promise.all(
names.map((name) => getDetail('member', name)), keys.map((key) => getDetail('member', key)),
) )
result.forEach((item: any[]) => pointData.push(...item)) result.forEach((item: any[]) => pointData.push(...item.map((e) => e.extra)))
console.log('member撒点数据:', pointData) console.log('member撒点数据:', pointData)
// TODO 撒点 // TODO 撒点
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment