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

组织机构对接数据

parent 9572cf86
...@@ -5,7 +5,7 @@ import store from '@/store' ...@@ -5,7 +5,7 @@ import store from '@/store'
const Axios = axios.create({ const Axios = axios.create({
baseURL: api.BASE_URL, baseURL: api.BASE_URL,
timeout: 15000, timeout: 20000,
}) })
Axios.interceptors.request.use( Axios.interceptors.request.use(
(config) => { (config) => {
......
...@@ -6,10 +6,9 @@ export const member = [ ...@@ -6,10 +6,9 @@ export const member = [
] ]
export const organization = [ export const organization = [
{ name: '荣获区级奖项党组织', type: 'primary' }, { name: '荣获区级奖项', type: 'primary' },
{ name: '荣获市级及以上奖项党组织', type: 'info' }, { name: '荣获市级及以上奖项', type: 'info' },
{ name: '光荣在当党50年', type: 'success' }, { name: '党建服务站', type: 'success' },
{ name: '党心暖我心', type: 'warning' },
] ]
export const activity = [ export const activity = [
{ name: '支部党员大会', type: 'primary' }, { name: '支部党员大会', type: 'primary' },
......
...@@ -281,7 +281,7 @@ const getDetail = async (type: string, name: string) => { ...@@ -281,7 +281,7 @@ const getDetail = async (type: string, name: string) => {
}) })
} else { } else {
res = await useFetchMember({ res = await useFetchMember({
q: `paths @ "标签" && string == "${name}"`, q: `paths @ "标签" && string @ "${name}"`,
}) })
} }
break break
......
...@@ -35,9 +35,7 @@ ...@@ -35,9 +35,7 @@
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup></script>
import { organization } from '@/util/tags'
</script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
@import '../../components/MyComponent/main.styl' @import '../../components/MyComponent/main.styl'
......
...@@ -47,7 +47,6 @@ ...@@ -47,7 +47,6 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { organization } from '@/util/tags'
import dayjs from '@/util/dayjs' import dayjs from '@/util/dayjs'
import { computed, PropType } from '@vue/runtime-core' import { computed, PropType } from '@vue/runtime-core'
import { member } from '@/util/tags' import { member } from '@/util/tags'
......
...@@ -6,13 +6,14 @@ ...@@ -6,13 +6,14 @@
> >
<div id="struct-modal"> <div id="struct-modal">
<n-layout class="layout" has-sider> <n-layout class="layout" has-sider>
<n-layout-sider width="23%" class="side-menu"> <n-layout-sider width="25%" class="side-menu">
<h2 <h2
:class="{ on: curKey === 'default' }" :class="{ on: curKey === 'default' }"
@click.prevent=" @click.prevent="
() => { () => {
setCurKey('default', { setCurKey('default', {
label: '中共浦东新区花木街道工作委员会', key: 'default',
label: '中共上海市浦东新区花木街道工作委员会',
}) })
handleExpand([]) handleExpand([])
} }
...@@ -42,6 +43,7 @@ ...@@ -42,6 +43,7 @@
v-for="item in subList" v-for="item in subList"
:key="item.key" :key="item.key"
:class="{ on: subKey === item.key }" :class="{ on: subKey === item.key }"
:title="item.label"
@click.prevent="setSub(item)" @click.prevent="setSub(item)"
> >
{{ item.label }} {{ item.label }}
...@@ -51,9 +53,16 @@ ...@@ -51,9 +53,16 @@
<n-layout-header class="head"> <n-layout-header class="head">
<n-space> <n-space>
<p>{{ curMenu.label }}</p> <p>{{ curMenu.label }}</p>
<n-tag type="primary" size="small">标签</n-tag> <template v-if="curMenu['标签']">
<n-tag type="info" size="small">标签</n-tag> <n-tag
<n-tag type="success" size="small">标签</n-tag> v-for="tag in curMenu['标签'].split(',')"
:key="tag"
:type="organization.find((e) => e.name === tag)?.type"
size="small"
>
{{ tag }}
</n-tag>
</template>
</n-space> </n-space>
<n-icon class="close-btn" size=".2rem" @click.prevent="close"> <n-icon class="close-btn" size=".2rem" @click.prevent="close">
<CloseOutline /> <CloseOutline />
...@@ -63,35 +72,35 @@ ...@@ -63,35 +72,35 @@
<div v-if="curKey === 'default'" class="card"> <div v-if="curKey === 'default'" class="card">
<div class="row"> <div class="row">
<span>党工委书记</span> <span>党工委书记</span>
<p>内容</p> <p>{{ defaultData['书记'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党工委副书记</span> <span>党工委副书记</span>
<p>内容</p> <p>{{ defaultData['副书记'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党组织地址</span> <span>党组织地址</span>
<p>内容</p> <p>{{ defaultData['党组织地址'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>组织内党员数量</span> <span>党员数量</span>
<p>内容</p> <p>{{ store.state.basicInfo.sum[1].value }} 位</p>
</div> </div>
</div> </div>
<div v-else-if="curKey === '1'" class="card"> <div v-else-if="curKey === '1'" class="card">
<div class="row"> <div class="row">
<span>书记</span> <span>书记</span>
<p>李嘉宁</p> <p>{{ administration['书记'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>成员(按姓氏笔画排序)</span> <span>成员(按姓氏笔画排序)</span>
<p> <p>
马建勇、王波、朱凤洲、孙建华、李卫鑫、吴惠萍、张佳锋、张晓山、陈斐轶、尚清、钱英、蒋国兴 {{ administration['委员'] }}
</p> </p>
</div> </div>
<div class="row"> <div class="row">
<span>党组织地址</span> <span>党组织地址</span>
<p>内容</p> <p>{{ administration['党组织地址'] }}</p>
</div> </div>
</div> </div>
<div v-else-if="curKey === '2'" class="card"> <div v-else-if="curKey === '2'" class="card">
...@@ -99,69 +108,120 @@ ...@@ -99,69 +108,120 @@
<div class="col"> <div class="col">
<div class="row"> <div class="row">
<span>党总支书记</span> <span>党总支书记</span>
<p>内容</p> <p>{{ institution['书记'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党组织地址</span> <span>党组织地址</span>
<p>内容</p> <p>{{ institution['党组织地址'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>组织内党员数量</span> <span>党员数量</span>
<p>内容</p> <p>{{ institution['党员数量'] }} 位</p>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<div class="row"> <div class="row">
<span>党总支委员</span> <span>党总支委员</span>
<p>内容</p> <p>{{ institution['委员'] || '无' }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党组织联系方式</span> <span>党组织联系方式</span>
<p>内容</p> <p>
{{
institution['联系方式_座机'] ||
institution['联系方式_手机'] ||
'无'
}}
</p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div <div v-else-if="curKey === '3'" class="card">
v-else-if="
curKey === '3' ||
(curKey.split('-').length === 3 && curMenu._hasSub)
"
class="card"
>
<div class="flex"> <div class="flex">
<div class="col"> <div class="col">
<div class="row"> <div class="row">
<span>党委书记</span> <span>党委书记</span>
<p>陈倩倩</p> <p>{{ communityParty['书记'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党委副书记</span> <span>党委副书记</span>
<p>杨燕华</p> <p>{{ communityParty['党委副书记-专职'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党组织联系方式</span> <span>党组织联系方式</span>
<p>内容</p> <p>
{{
communityParty['联系方式_座机'] ||
communityParty['联系方式_手机'] ||
'无'
}}
</p>
</div> </div>
<div class="row"> <div class="row">
<span>组织成员数量</span> <span>党员数量</span>
<p>内容</p> <p>{{ communityParty['党员数量'] }} 位</p>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<div class="row"> <div class="row">
<span>党委成员</span> <span>党委成员</span>
<p> <p>
徐学红、李华、蒋冬梅、戴萍、唐晔君、杨培君、曹静、袁若稼 {{ communityParty['委员'] }}
</p> </p>
</div> </div>
<div class="row"> <div class="row">
<span>党委副书记(兼职)</span> <span>党委副书记(兼职)</span>
<p>吴惠萍、张晓山</p> <p>{{ communityParty['党委副书记-兼职'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党组织地址</span> <span>党组织地址</span>
<p>内容</p> <p>{{ communityParty['党组织地址'] }}</p>
</div>
</div>
</div>
</div>
<div
v-else-if="
curKey.split('-').length === 3 && curMenu && curMenu._hasSub
"
class="card"
>
<div class="flex">
<div class="col">
<div class="row">
<span>党委书记</span>
<p>{{ curSubMenu['书记'] }}</p>
</div>
<div class="row">
<span>党组织地址</span>
<p>{{ curSubMenu['党组织地址'] }}</p>
</div>
<div class="row">
<span>党员数量</span>
<p>
{{
curSubMenu['党员数量']
? curSubMenu['党员数量'] + ' 位'
: '无'
}}
</p>
</div>
</div>
<div class="col">
<div class="row">
<span>党委成员</span>
<p>{{ curSubMenu['委员'] }}</p>
</div>
<div class="row">
<span>党组织联系方式</span>
<p>
{{
curSubMenu['联系方式_座机'] ||
curSubMenu['联系方式_手机'] ||
'无'
}}
</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -170,33 +230,54 @@ ...@@ -170,33 +230,54 @@
v-else-if=" v-else-if="
((curKey.startsWith('2') || curKey.startsWith('3')) && ((curKey.startsWith('2') || curKey.startsWith('3')) &&
curKey.split('-').length === 2) || curKey.split('-').length === 2) ||
(curKey.split('-').length === 3 && !curMenu._hasSub) (curKey.split('-').length === 3 &&
(!curMenu || !curMenu._hasSub))
" "
> >
<div class="card"> <div class="card">
<div class="flex"> <div class="flex">
<div class="col"> <div class="col">
<div class="row"> <div class="row">
<span>党总支书记</span> <span>{{
<p>内容</p> curMenu['等级'] === '党总支'
? '党总支书记'
: '党支部书记'
}}</span>
<p>{{ curMenu['书记'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党组织地址</span> <span>党组织地址</span>
<p>内容</p> <p>{{ curMenu['党组织地址'] }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党组织内党员数量</span> <span>党员数量</span>
<p>内容</p> <p>
{{
curMenu['党员数量']
? curMenu['党员数量'] + ' 位'
: '无'
}}
</p>
</div> </div>
</div> </div>
<div class="col"> <div class="col">
<div class="row"> <div class="row">
<span>党总支委员</span> <span>{{
<p>内容</p> curMenu['等级'] === '党总支'
? '党总支委员'
: '支委会成员'
}}</span>
<p>{{ curMenu['委员'] || '无' }}</p>
</div> </div>
<div class="row"> <div class="row">
<span>党组织联系方式</span> <span>党组织联系方式</span>
<p>内容</p> <p>
{{
curMenu['联系方式_座机'] ||
curMenu['联系方式_手机'] ||
'无'
}}
</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -206,7 +287,7 @@ ...@@ -206,7 +287,7 @@
<p>党员详表</p> <p>党员详表</p>
<n-button type="primary" size="tiny" @click="exportList"> <n-button type="primary" size="tiny" @click="exportList">
<template #icon> <template #icon>
<n-icon size=".12rem"> <n-icon size=".1rem">
<svg-icon :data="exportIcon" original /> <svg-icon :data="exportIcon" original />
</n-icon> </n-icon>
</template> </template>
...@@ -232,10 +313,14 @@ ...@@ -232,10 +313,14 @@
<script lang="ts" setup> <script lang="ts" setup>
import store from '@/store' import store from '@/store'
import { computed, h, ref } from 'vue' import { computed, h, onMounted, ref, watch } from 'vue'
import PartyIcon from './party-icon.vue' import PartyIcon from './party-icon.vue'
import exportIcon from '@images/export.svg' import exportIcon from '@images/export.svg'
import { CloseOutline } from '@vicons/ionicons5' import { CloseOutline } from '@vicons/ionicons5'
import { useFetchOrg, useFetchMember } from '@/hooks/useFetch'
import { organization } from '@/util/tags'
import useExportFile from '@/hooks/useExportFile'
const show = computed(() => store.state.showStructModal) const show = computed(() => store.state.showStructModal)
const close = () => { const close = () => {
store.commit('SET_STRUCT_MODAL', false) store.commit('SET_STRUCT_MODAL', false)
...@@ -245,144 +330,148 @@ const close = () => { ...@@ -245,144 +330,148 @@ const close = () => {
function renderIcon() { function renderIcon() {
return () => h(PartyIcon) return () => h(PartyIcon)
} }
const menus = [ const defaultData = ref({}) // 中共上海市浦东新区花木街道工作委员会
const administration = ref({}) // 行政党组
const institution = ref({}) // 机关事业单位党总支
const communityParty = ref({}) // 社区党委
const belongToInstitution = ref<any[]>([])
const belongToCommunityParty = ref<any[]>([])
onMounted(async () => {
defaultData.value = (
await useFetchOrg({
q: 'paths @ "党组织名称" && string == "中共上海市浦东新区花木街道工作委员会"',
})
)?.[0]?.extra
administration.value = (
await useFetchOrg({
q: 'paths @ "党组织名称" && string == "行政党组"',
})
)?.[0]?.extra
institution.value = (
await useFetchOrg({
q: 'paths @ "党组织名称" && string == "中共花木街道机关事业单位总支部委员会"',
})
)?.[0]?.extra
communityParty.value = (
await useFetchOrg({
q: 'paths @ "党组织名称" && string == "社区党委"',
})
)?.[0]?.extra
belongToInstitution.value = (
await useFetchOrg({
q: 'paths @ "上级党组织名称" && string == "中共花木街道机关事业单位总支部委员会"',
})
)?.map((item: any, i: number) => {
const data = item.extra
return {
...data,
label: data['党组织名称'].replace('中共浦东新区花木街道', ''),
key: '2-' + (i + 1),
}
})
belongToCommunityParty.value = (
await useFetchOrg({
q: 'paths @ "上级党组织名称" && string == "社区党委"',
})
)?.map((item: any, i: number) => {
const data = item.extra
return {
...data,
label: data['党组织名称'].replace('中共花木街道', '').replace('中共', ''),
key: '3-' + (i + 1),
}
})
const data = belongToCommunityParty.value
const bigSixChildren: any[] = []
const twoNewChildren: any[] = []
const datasource = data.filter((item: any) => item['是否虚拟组织']) || []
data.forEach((item: any) => {
if (item['是否虚拟组织']) return
if (item['类别'] === '居民区') {
bigSixChildren.push(item)
} else if (item['类别'] === '两新') {
twoNewChildren.push(item)
} else {
datasource.push(item)
}
})
const bigSix = datasource.find((e: any) =>
e['党组织名称']?.includes('六大社区党委'),
)
const twoNew = datasource.find((e: any) => e['党组织名称']?.includes('两新'))
bigSix.children = await Promise.all(
bigSixChildren.map(async (e: any, i: number) => {
const children = await checkHasChildren(e)
const result = {
...e,
label: e['党组织名称'].replace('中共花木街道', '').replace('中共', ''),
key: bigSix.key + '-' + (i + 1),
}
if (children && children.length > 0) {
result._hasSub = true
result.subList = children.map((child: any, index: number) => ({
...child,
label: child['党组织名称']
.replace('浦东新区花木街道', '')
.replace('中共', ''),
key: result.key + '-' + (index + 1),
}))
}
return result
}),
)
twoNew.children = await Promise.all(
twoNewChildren.map(async (e: any, i: number) => {
const children = await checkHasChildren(e)
const result = {
...e,
label: e['党组织名称'].replace('中共花木街道', '').replace('中共', ''),
key: twoNew.key + '-' + (i + 1),
}
if (children && children.length > 0) {
result._hasSub = true
result.subList = children.map((child: any, index: number) => ({
...child,
label: child['党组织名称']
.replace('浦东新区花木街道', '')
.replace('中共', ''),
key: result.key + '-' + (index + 1),
}))
}
return result
}),
)
belongToCommunityParty.value = datasource
})
async function checkHasChildren(data: any) {
return (
await useFetchOrg({
q: `paths @ "上级党组织名称" && string == "${data['党组织名称']}"`,
})
)?.map((e: any) => e.extra)
}
const menus = computed(() => [
{ label: '行政党组', key: '1', icon: renderIcon() }, { label: '行政党组', key: '1', icon: renderIcon() },
{ {
label: '机关事业单位党总支', label: '机关事业单位党总支',
key: '2', key: '2',
icon: renderIcon(), icon: renderIcon(),
children: [ children: belongToInstitution.value,
{
label: '机关第一党支部',
key: '2-1',
},
{
label: '机关第二党支部',
key: '2-2',
},
{
label: '机关第三党支部',
key: '2-3',
},
{
label: '机关第四党支部',
key: '2-4',
},
{
label: '社区事务受理中心党总支',
key: '2-5',
},
{
label: '社区党建服务中心党支部',
key: '2-6',
},
{
label: '社区文化活动中心党支部',
key: '2-7',
},
{
label: '城市网格化综合管理中心党支部',
key: '2-8',
},
{
label: '社区综治中心党支部',
key: '2-9',
},
{
label: '保安协管大队党支部',
key: '2-10',
},
{
label: '城市管理执法支队花木中队党支部',
key: '2-11',
},
{
label: '城市建设管理事务中心党支部',
key: '2-12',
},
{
label: '花木街道机关退休干部党支部',
key: '2-13',
},
{
label: '花木街道机关离休干部党支部',
key: '2-14',
},
],
}, },
{ {
label: '社区党委', label: '社区党委',
key: '3', key: '3',
icon: renderIcon(), icon: renderIcon(),
children: [ children: belongToCommunityParty.value,
{
label: '六大社区党委',
key: '3-1',
children: [
{
label: '牡丹社区党委',
key: '3-1-1',
_hasSub: true,
},
{
label: '自由社区党委',
key: '3-1-2',
},
{
label: '培花社区党委',
key: '3-1-3',
},
{
label: '东城社区党委',
key: '3-1-4',
},
{
label: '联洋社区党委',
key: '3-1-5',
},
{
label: '钦阳社区党委',
key: '3-1-6',
},
],
},
{
label: '“两新”党组织',
key: '3-2',
},
{
label: '花木经济发展总公司党支部',
key: '3-3',
},
{
label: '花木房地产开发经营公司党支部',
key: '3-4',
},
{
label: '花木街道鑫荣联力联合党支部',
key: '3-5',
},
{
label: '上海钦洋投资管理中心党总支',
key: '3-6',
}, },
], ])
},
]
const subList = [ const subList = ref<any[]>([])
{ label: '牡丹社区直属党支部', key: '3-1-1-1' },
{ label: '牡丹第一居民区党总支', key: '3-1-1-2' },
{ label: '牡丹第二居民区党总支', key: '3-1-1-3' },
{ label: '牡丹第三居民区党总支', key: '3-1-1-4' },
{ label: '牡丹第四居民区党总支', key: '3-1-1-5' },
{ label: '牡丹第五居民区党总支', key: '3-1-1-6' },
{ label: '牡丹第六居民区党总支', key: '3-1-1-7' },
{ label: '牡丹第七居民区党总支', key: '3-1-1-8' },
{ label: '牡丹第八居民区党总支', key: '3-1-1-9' },
{ label: '牡丹第九居民区党总支', key: '3-1-1-10' },
{ label: '牡丹兰庭居民区党支部', key: '3-1-1-11' },
]
const expandedKeys = ref<string[]>([]) const expandedKeys = ref<string[]>([])
const handleExpand = (val: string[]) => { const handleExpand = (val: string[]) => {
...@@ -393,10 +482,21 @@ const handleExpand = (val: string[]) => { ...@@ -393,10 +482,21 @@ const handleExpand = (val: string[]) => {
} else { } else {
expandedKeys.value = [val[val.length - 1]] expandedKeys.value = [val[val.length - 1]]
} }
console.log(expandedKeys.value) console.log('expandedKeys', expandedKeys.value)
if (expandedKeys.value.length === 1 && expandedKeys.value[0].includes('-')) {
expandedKeys.value = []
subKey.value = null
curMenu.value = { label: '中共浦东新区花木街道工作委员会', key: 'default' }
curKey.value = 'default'
return
}
if (expandedKeys.value.length === 0) return if (expandedKeys.value.length === 0) return
curKey.value = expandedKeys.value[0] curKey.value = expandedKeys.value[0]
curMenu.value = menus.find((e) => e.key === curKey.value)! const cur = menus.value.find((e) => e.key === curKey.value)
subKey.value = null
if (cur) {
curMenu.value = cur
}
} }
const curKey = ref('default') const curKey = ref('default')
...@@ -405,103 +505,50 @@ const curMenu = ref<any>({ ...@@ -405,103 +505,50 @@ const curMenu = ref<any>({
label: '中共浦东新区花木街道工作委员会', label: '中共浦东新区花木街道工作委员会',
key: 'default', key: 'default',
}) })
const curSubMenu = ref<any>({})
const setCurKey = (val: string, item: any) => { const setCurKey = (val: string, item: any) => {
curKey.value = val curKey.value = val
curMenu.value = item curMenu.value = item
subKey.value = null subKey.value = null
if (val === 'default' || val === '1') handleExpand([]) if (val === 'default' || val === '1') handleExpand([])
} }
watch(
() => curMenu.value,
async (data) => {
console.log('cur-menu: ', data, menus.value)
if (data && data._hasSub) {
subList.value = data.subList
curSubMenu.value = data
}
tableList.value =
(
await useFetchMember({
q: `paths @ "所属党组织名称" && string == "${data['党组织名称']}"`,
})
)?.map((item: any) => item.extra) || []
},
)
const showSubordinates = computed(() => curMenu.value._hasSub || !!subKey.value) const showSubordinates = computed(() => curMenu.value._hasSub || !!subKey.value)
const setSub = (data: any) => { function setSub(data: any) {
subKey.value = data.key subKey.value = data && data.key
curMenu.value = data curMenu.value = data
} }
const columns = [ const columns = [
{ title: '姓名', key: 'name' }, { title: '姓名', key: '姓名' },
{ title: '性别', key: 'gender' }, { title: '性别', key: '性别' },
{ title: '民族', key: 'ethic' }, { title: '民族', key: '民族' },
{ title: '所属党组织', key: 'org' }, { title: '所属党组织', key: '所属党组织名称' },
]
const tableList = [
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
{
name: '内容',
gender: '内容',
ethic: '内容',
org: '内容',
},
] ]
const tableList = ref<any[]>([])
const pagination = { const pagination = {
pageSize: 10, pageSize: 10,
} }
const exportList = () => {} const exportList = () => {
useExportFile(tableList.value, '姓名', `${curMenu.value.label}党员详表`)
}
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
...@@ -570,6 +617,8 @@ const exportList = () => {} ...@@ -570,6 +617,8 @@ const exportList = () => {}
.row .row
margin-bottom .1rem margin-bottom .1rem
padding-left .05rem padding-left .05rem
p
font-family $font-ping-medium
span span
color $font color $font
.sub .sub
...@@ -581,10 +630,11 @@ const exportList = () => {} ...@@ -581,10 +630,11 @@ const exportList = () => {}
box-sizing border-box box-sizing border-box
padding .1rem 0 padding .1rem 0
p p
padding .1rem .2rem padding .1rem
font-size .09rem font-size .09rem
color $font color $font
cursor pointer cursor pointer
$text-overflow()
&:hover &:hover
&.on &.on
color $red color $red
...@@ -604,10 +654,10 @@ const exportList = () => {} ...@@ -604,10 +654,10 @@ const exportList = () => {}
>.n-submenu >.n-submenu
>.n-submenu-children >.n-submenu-children
.n-menu-item-content-header .n-menu-item-content-header
font-size .12rem font-size .11rem
.n-submenu-children .n-submenu-children
.n-menu-item-content-header .n-menu-item-content-header
font-size .1rem font-size .09rem
.n-menu-item-content--child-active .n-menu-item-content--child-active
&:before &:before
content "" content ""
......
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