提交 d26a1cfc authored 作者: 付康's avatar 付康

合并分支 'fk-dev' 到 'pre'

Fk dev 查看合并请求 !338
流水线 #447 已通过 于阶段
in 4 分 37 秒
......@@ -10,8 +10,8 @@
</div>
<!-- <div class="more" @click="handleToMoreNews">{{ "更多 +" }}</div> -->
</div>
<div class="msg-bubble-main" ref="scrollContainer">
<div class="message-bubble" v-for="(item, index) in displayList" :key="index" @click="handleClickPerson(item)">
<div class="msg-bubble-main" ref="scrollContainer" @mouseenter="pauseScroll" @mouseleave="resumeScroll">
<div class="message-bubble" v-for="(item, index) in infiniteList" :key="index" @click="handleClickPerson(item)">
<div class="avatar-container">
<img :src="item[props.imageUrl] || avatarUser" :alt="item[props.name]" class="avatar" />
<div class="avatar-containerOne" v-if="isRepublicanParty">
......@@ -39,7 +39,7 @@
</template>
<script setup>
import { ref, computed, onMounted, onBeforeUnmount } from "vue";
import { ref, computed, watch, nextTick, onMounted, onBeforeUnmount, onUnmounted } from "vue";
import avatarUser from "@/assets/images/avatar_user.png";
const emit = defineEmits(["click", "info-click"]);
......@@ -135,31 +135,165 @@ const displayList = computed(() => {
return list
})
const scrollSpeed = ref(30)
const autoStart = ref(true)
const copyCount = ref(3)
// 创建无限列表(复制多份)
const infiniteList = computed(() => {
if (!displayList.value || displayList.value.length === 0) return []
const result = []
for (let i = 0; i < copyCount.value; i++) {
result.push(...displayList.value)
}
return result
})
// 状态
let animationId = null
let lastTimestamp = 0
let isPaused = ref(false)
let isScrolling = ref(false)
// 滚动动画函数(使用 requestAnimationFrame)
const scrollAnimation = (timestamp) => {
if (!scrollContainer.value || isPaused.value) {
if (!isPaused.value) {
animationId = requestAnimationFrame(scrollAnimation)
}
return
}
if (!lastTimestamp) {
lastTimestamp = timestamp
animationId = requestAnimationFrame(scrollAnimation)
return
}
// 计算时间差(秒)
const deltaTime = Math.min(0.033, (timestamp - lastTimestamp) / 1000) // 限制最大33ms
if (deltaTime <= 0) {
lastTimestamp = timestamp
animationId = requestAnimationFrame(scrollAnimation)
return
}
const container = scrollContainer.value
const scrollHeight = container.scrollHeight
const clientHeight = container.clientHeight
// 计算滚动步长
const step = scrollSpeed.value * deltaTime
let newScrollTop = container.scrollTop + step
// 检查是否滚动到底部
const maxScrollTop = scrollHeight - clientHeight
if (newScrollTop >= maxScrollTop - 1) {
// 到达底部,无缝跳转到顶部
container.scrollTop = 0
// 重置时间戳避免跳跃
lastTimestamp = timestamp
} else {
container.scrollTop = newScrollTop
}
lastTimestamp = timestamp
animationId = requestAnimationFrame(scrollAnimation)
}
// 开始滚动
const startScroll = () => {
if (timer) clearInterval(timer)
timer = setInterval(() => {
currentIndex.value = (currentIndex.value + 1) % props.messageList.length
}, 2000) // 每秒滚动一条
if (animationId) {
cancelAnimationFrame(animationId)
animationId = null
}
if (isPaused.value) return
lastTimestamp = 0
isScrolling.value = true
animationId = requestAnimationFrame(scrollAnimation)
}
// 停止滚动
const stopScroll = () => {
if (timer) {
clearInterval(timer)
timer = null
}
if (animationId) {
cancelAnimationFrame(animationId)
animationId = null
}
lastTimestamp = 0
isScrolling.value = false
}
// 暂停滚动
const pauseScroll = () => {
if (isPaused.value) return
isPaused.value = true
stopScroll()
}
onMounted(() => {
// if (props.messageList.length > 3) {
startScroll()
// }
// 恢复滚动
const resumeScroll = () => {
if (!isPaused.value) return
isPaused.value = false
if (autoStart.value) {
startScroll()
}
}
// 重置滚动位置(可选方法)
const resetScrollPosition = () => {
if (scrollContainer.value) {
scrollContainer.value.scrollTop = 0
}
}
// 监听 displayList 变化
watch(
() => displayList.value,
async (newVal, oldVal) => {
if (newVal && newVal.length > 0) {
await nextTick()
// 如果列表内容变化,重置滚动位置并重新开始
if (scrollContainer.value) {
const wasPaused = isPaused.value
stopScroll()
scrollContainer.value.scrollTop = 0
if (!wasPaused && autoStart.value) {
isPaused.value = false
startScroll()
}
}
}
},
{ deep: true, immediate: false }
)
// 监听 scrollSpeed 变化
watch(
() => scrollSpeed.value,
() => {
if (isScrolling.value && !isPaused.value) {
// 重新启动滚动以应用新速度
stopScroll()
startScroll()
}
}
)
// 组件挂载
onMounted(async () => {
await nextTick()
if (autoStart.value && displayList.value && displayList.value.length > 0) {
startScroll()
}
})
onBeforeUnmount(() => {
stopScroll()
// 组件卸载
onUnmounted(() => {
stopScroll()
})
</script>
......
......@@ -2,7 +2,8 @@
<div class="resource-library-section">
<div class="home-content-footer-header">
<div class="btn-box">
<div class="btn" :class="{ btnActive: activeTabName === cate.name }" v-for="cate in tabList" :key="cate.name" @click="handleClickTab(cate)">
<div class="btn" :class="{ btnActive: activeTabName === cate.name }" v-for="cate in tabList" :key="cate.name"
@click="handleClickTab(cate)">
{{ cate.name }}
</div>
</div>
......@@ -26,18 +27,23 @@
<div class="right" :class="{ 'right-full': activeTabName === '委员会' }">
<div class="right-header" v-if="activeTabName !== '委员会'">
<div class="right-header-box">
<el-select v-model="footerSelect1" placeholder="选择委员会" style="width: 240px" @change="handleFooterSelect1Change">
<el-option v-for="item in postOrgList" :key="item.departmentId" :label="item.departmentName" :value="item.departmentId" />
<el-select v-model="footerSelect1" placeholder="选择委员会" style="width: 240px"
@change="handleFooterSelect1Change">
<el-option v-for="item in postOrgList" :key="item.departmentId" :label="item.departmentName"
:value="item.departmentId" />
</el-select>
</div>
<template v-if="activeTabName === '国会法案'">
<div class="right-header-box">
<el-select v-model="footerSelect2" placeholder="选择提出议员" style="width: 240px" @change="handleFooterSelect2Change">
<el-option v-for="item in postMemberList" :key="item.memberId" :label="item.memberName" :value="item.memberId" />
<el-select v-model="footerSelect2" placeholder="选择提出议员" style="width: 240px"
@change="handleFooterSelect2Change">
<el-option v-for="item in postMemberList" :key="item.memberId" :label="item.memberName"
:value="item.memberId" />
</el-select>
</div>
<div class="right-header-box right-header-sort" style="margin-left: auto">
<el-checkbox v-model="isInvolveCn" true-label="Y" false-label="N" class="involve-checkbox" @change="handleInvolveCnChange">只看涉华法案</el-checkbox>
<el-checkbox v-model="isInvolveCn" true-label="Y" false-label="N" class="involve-checkbox"
@change="handleInvolveCnChange">只看涉华法案</el-checkbox>
<el-select v-model="releaseTime" placeholder="选择排序方式" style="width: 150px" @change="handlePxChange">
<template #prefix>
<div style="display: flex; align-items: center; height: 100%">
......@@ -50,24 +56,23 @@
</template>
<template v-else-if="activeTabName === '国会议员'">
<div class="right-header-box right-header-sort" style="margin-left: auto">
<el-select v-model="memberSortFun" placeholder="选择排序方式" style="width: 150px" @change="handleMemberSortFunChange">
<el-select v-model="memberSortFun" placeholder="选择排序方式" style="width: 150px"
@change="handleMemberSortFunChange">
<template #prefix>
<div style="display: flex; align-items: center; height: 100%">
<img :src="desc" style="width: 14px; height: 14px" />
</div>
</template>
<el-option v-for="item in memberSortFunList" :key="item.value" :label="item.label" :value="item.value" />
<el-option v-for="item in memberSortFunList" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
</div>
</template>
</div>
<div class="right-header" v-else>
<div class="right-header-box right-header-sort" style="margin-left: auto">
<el-checkbox
v-model="committeeIsInvolveCn"
class="involve-checkbox"
@change="handleCommitteeInvolveCnChange"
>
<el-checkbox v-model="committeeIsInvolveCn" class="involve-checkbox"
@change="handleCommitteeInvolveCnChange">
只看涉华委员会
</el-checkbox>
</div>
......@@ -75,7 +80,8 @@
<div class="right-main" v-loading="loading">
<template v-if="activeTabName === '国会法案'">
<div class="right-main-box" v-for="item in bills" :key="item.billId">
<div v-if="item.riskSignal" class="risk-tag" :class="getRiskTagClass(item.riskSignal)">{{ item.riskSignal }}</div>
<div v-if="item.riskSignal" class="risk-tag" :class="getRiskTagClass(item.riskSignal)">{{ item.riskSignal
}}</div>
<div class="bill-cover">
<img class="bill-image" :src="getBillImageUrl(item)" alt="" @error="handleBillImageError" />
<div class="bill-id" :title="item.billId">{{ item.billId || "-" }}</div>
......@@ -86,14 +92,32 @@
<div class="en-title" :title="item.eName">{{ item.eName }}</div>
</div>
<div class="main">
<div class="item"><div class="item-left">提案人:</div><div class="item-right">{{ item.tcr }}</div></div>
<div class="item"><div class="item-left">委员会:</div><div class="item-right">{{ item.wyh }}</div></div>
<div class="item"><div class="item-left">相关领域:</div><div class="item-right1"><AreaTag v-for="(val, idx) in item.areaList" :key="`${item.billId}-${val}-${idx}`" :tagName="val" /></div></div>
<div class="item"><div class="item-left">最新动议:</div><div class="item-right"><CommonPrompt :content="item.zxdy" /></div></div>
<div class="item">
<div class="item-left">提案人:</div>
<div class="item-right">{{ item.tcr }}</div>
</div>
<div class="item">
<div class="item-left">委员会:</div>
<div class="item-right">{{ item.wyh }}</div>
</div>
<div class="item">
<div class="item-left">相关领域:</div>
<div class="item-right1">
<AreaTag v-for="(val, idx) in item.areaList" :key="`${item.billId}-${val}-${idx}`"
:tagName="val" />
</div>
</div>
<div class="item">
<div class="item-left">最新动议:</div>
<div class="item-right">
<CommonPrompt :content="item.zxdy" />
</div>
</div>
<div class="item">
<div class="item-left">法案进展:</div>
<div class="item-right2">
<div class="tag" v-for="(val, idx) in item.progress" :key="`${item.billId}-${val}-${idx}`" :style="{ zIndex: item.progress.length - idx }">{{ val }}</div>
<div class="tag" v-for="(val, idx) in item.progress" :key="`${item.billId}-${val}-${idx}`"
:style="{ zIndex: item.progress.length - idx }">{{ val }}</div>
</div>
</div>
</div>
......@@ -102,7 +126,8 @@
<div class="right-footer">
<div class="footer-left">{{ `共 ${total} 项` }}</div>
<div class="footer-right">
<el-pagination @current-change="handleCurrentChange" :page-size="pageSize" :current-page="currentPage" background layout="prev, pager, next" :total="total" />
<el-pagination @current-change="handleCurrentChange" :page-size="pageSize" :current-page="currentPage"
background layout="prev, pager, next" :total="total" />
</div>
</div>
</template>
......@@ -111,7 +136,8 @@
<div class="member-card" v-for="item in memberList" :key="item.id">
<div class="member-card-top">
<div class="member-avatar-wrap">
<img class="member-avatar" :src="item.avatar || defaultAvatar" alt="avatar" @click="handleClickAvatar(item)" />
<img class="member-avatar" :src="item.avatar || defaultAvatar" alt="avatar"
@click="handleClickAvatar(item)" />
<div class="member-icon-row">
<img v-if="item.partyIcon" class="member-mini-icon-img" :src="item.partyIcon" alt="party" />
<img v-if="item.chamberIcon" class="member-mini-icon-img" :src="item.chamberIcon" alt="chamber" />
......@@ -122,10 +148,14 @@
<div class="member-name">{{ item.name || '-' }}</div>
<div class="member-link">{{ item.billCountText || '0项提案 >' }}</div>
</div>
<div class="member-meta">{{ item.partyText || '-' }} · {{ item.chamberText || '-' }} · {{ item.termText || '-' }}</div>
<div class="member-meta">{{ item.partyText || '-' }} · {{ item.chamberText || '-' }} · {{
item.termText ||
'-' }}</div>
<div class="member-committee">{{ item.committeeText || '-' }}</div>
<div class="member-tags">
<div class="member-tag" v-for="(tag, idx) in item.focusTags" :key="`${item.id}-${tag}-${idx}`">{{ tag }}</div>
<div class="member-tag" v-for="(tag, idx) in item.focusTags" :key="`${item.id}-${tag}-${idx}`">{{
tag }}
</div>
</div>
</div>
</div>
......@@ -138,7 +168,8 @@
<div class="right-footer">
<div class="footer-left">{{ `共 ${memberTotal} 项` }}</div>
<div class="footer-right">
<el-pagination @current-change="handleMemberCurrentChange" :page-size="memberPageSize" :current-page="memberCurrentPage" background layout="prev, pager, next" :total="memberTotal" />
<el-pagination @current-change="handleMemberCurrentChange" :page-size="memberPageSize"
:current-page="memberCurrentPage" background layout="prev, pager, next" :total="memberTotal" />
</div>
</div>
</div>
......@@ -148,27 +179,25 @@
<div class="coop-card-header">
<div class="coop-members">
<div class="coop-member">
<img class="coop-avatar" :src="item.left.avatar || defaultAvatar" alt="avatar-left" @click="handleClickAvatar(item.left)" />
<img class="coop-avatar" :src="item.left.avatar || defaultAvatar" alt="avatar-left"
@click="handleClickAvatar(item.left)" />
<div class="coop-member-name" :title="item.left.name">{{ item.left.name }}</div>
</div>
<div class="coop-dot">·</div>
<div class="coop-member">
<img class="coop-avatar" :src="item.right.avatar || defaultAvatar" alt="avatar-right" @click="handleClickAvatar(item.right)" />
<img class="coop-avatar" :src="item.right.avatar || defaultAvatar" alt="avatar-right"
@click="handleClickAvatar(item.right)" />
<div class="coop-member-name" :title="item.right.name">{{ item.right.name }}</div>
</div>
</div>
<div class="coop-count">
<div class="coop-count" @click="handleCooperationToDataLibrary(item)">
{{ item.totalText }}
</div>
<slot name="coop-extra" :relation="item" />
</div>
<div class="coop-proposals">
<div
class="coop-proposal-item"
v-for="proposal in item.proposals"
:key="proposal.billId"
@click="handleClickCoopProposal(proposal)"
>
<div class="coop-proposal-item" v-for="proposal in item.proposals" :key="proposal.billId"
@click="handleClickCoopProposal(proposal)">
<div class="coop-proposal-main">
<div class="coop-proposal-title">
<span class="year">{{ proposal.year }}</span>
......@@ -186,14 +215,8 @@
<div class="right-footer">
<div class="footer-left">{{ `共 ${coopTotal} 项` }}</div>
<div class="footer-right">
<el-pagination
@current-change="handleCoopCurrentChange"
:page-size="coopPageSize"
:current-page="coopCurrentPage"
background
layout="prev, pager, next"
:total="coopTotal"
/>
<el-pagination @current-change="handleCoopCurrentChange" :page-size="coopPageSize"
:current-page="coopCurrentPage" background layout="prev, pager, next" :total="coopTotal" />
</div>
</div>
</div>
......@@ -215,17 +238,13 @@
<!-- <div class="coop-summary" :title="item.desc">
{{ item.desc }}
</div> -->
<div class="coop-count">
<div class="coop-count" @click="handleToDataLibrary(item)">
{{ `${item.proposalSize ?? (item.bills || []).length}项重点法案` }}
</div>
</div>
<div class="coop-proposals">
<div
class="coop-proposal-item"
v-for="bill in item.bills"
:key="`${item.id}-${bill.billId || bill.title}`"
@click="handleClickCommitteeBill(bill)"
>
<div class="coop-proposal-item" v-for="bill in item.bills"
:key="`${item.id}-${bill.billId || bill.title}`" @click="handleClickCommitteeBill(bill)">
<div class="coop-proposal-main">
<div class="coop-proposal-subtitle" :title="bill.title">
{{ bill.title }}
......@@ -239,14 +258,8 @@
<div class="right-footer">
<div class="footer-left">{{ `共 ${committeeTotal} 项` }}</div>
<div class="footer-right">
<el-pagination
@current-change="handleCommitteeCurrentChange"
:page-size="committeePageSize"
:current-page="committeeCurrentPage"
background
layout="prev, pager, next"
:total="committeeTotal"
/>
<el-pagination @current-change="handleCommitteeCurrentChange" :page-size="committeePageSize"
:current-page="committeeCurrentPage" background layout="prev, pager, next" :total="committeeTotal" />
</div>
</div>
</div>
......@@ -455,7 +468,7 @@ const handleClickAvatar = async member => {
} else {
ElMessage.warning("找不到当前人员的类型值!");
}
} catch (error) {}
} catch (error) { }
};
const handleClickCommitteeBill = bill => {
......@@ -490,7 +503,7 @@ const handleGetCommitteeList = async () => {
const descText = billInfoPage[0]?.originDepart || "";
return {
id: item.id,
nameEn:item.nameEn || "",
nameEn: item.nameEn || "",
avatar: "",
name: item.name || "-",
desc: descText,
......@@ -586,7 +599,7 @@ const handleGetHylyList = async () => {
try {
const res = await getHylyList();
cateKuList.value = res.data || [];
} catch (error) {}
} catch (error) { }
};
const handleGetPostOrgList = async () => {
......@@ -596,7 +609,7 @@ const handleGetPostOrgList = async () => {
const list = (res.data || []).filter(item => item.departmentId);
postOrgList.value = [{ departmentName: "全部委员会", departmentId: "全部委员会" }, ...list];
}
} catch (error) {}
} catch (error) { }
};
const handleGetPostMemberList = async () => {
......@@ -606,7 +619,7 @@ const handleGetPostMemberList = async () => {
const list = (res.data || []).filter(item => item.memberId);
postMemberList.value = [{ memberName: "全部提出议员", memberId: "全部提出议员" }, ...list];
}
} catch (error) {}
} catch (error) { }
};
// 获取资源库法案列表
......@@ -844,6 +857,40 @@ const handleCommitteeCurrentChange = page => {
props.onAfterPageChange && props.onAfterPageChange();
};
// 议员合作关系跳转至数据资源库
const handleCooperationToDataLibrary = (item) => {
console.log('item', item);
console.log('activeAreaList', activeAreaList.value);
console.log('areaOptions', areaOptions.value);
}
// 委员会跳转至数据资源库
const handleToDataLibrary = (item) => {
let congressStr = '全部议院'
console.log('item', item);
console.log('activeYyList', activeYyList.value);
if(activeYyList.value && activeYyList.value.length === 1) {
if(activeYyList.value[0] === 'S') {
congressStr = '参议院'
} else if(activeYyList.value[0] === 'H') {
congressStr = '众议院'
}
}
const param = {
selectedOrg: item.name,
selectedCongress: congressStr
}
const route = router.resolve({
path: "/dataLibrary/countryBill",
query: param
});
window.open(route.href, "_blank");
}
onMounted(() => {
handleGetHylyList();
handleGetPostOrgList();
......@@ -1302,7 +1349,7 @@ onMounted(() => {
overflow: visible;
text-overflow: clip;
word-break: break-word;
}
}
.coop-dot {
color: #9da3ac;
......@@ -1342,6 +1389,11 @@ onMounted(() => {
font-weight: 500;
line-height: 22px;
margin-left: auto;
cursor: pointer;
&:hover {
text-decoration: underline;
}
}
.coop-proposals {
......
......@@ -52,8 +52,8 @@
<div class="content-header">
<ChartHeader :list="staticsDemensionList" @clickItem="handleClickDemensionItem">
<template #chart-header-right>
<el-select v-model="selectedTime" placeholder="选择时间" style="width: 150px"
v-show="curDemension === '提案时间'" @change="handleChangeTime">
<el-select v-model="selectedTime" placeholder="选择时间" style="width: 150px" v-show="curDemension === '提案时间'"
@change="handleChangeTime">
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
......@@ -77,7 +77,6 @@
<div class="data-main-box" v-else>
<div class="data-main-box-header">
<div class="switch-box" @click="handleSwitchChartData">
<!-- <img src="@/views/dataLibrary/assets/icons/data-active.svg" alt=""> -->
<DataChartSwitchBox :is-show-data="!isShowChart" />
</div>
<div class="num-box text-title-3-bold">
......@@ -126,7 +125,7 @@
<template #default="scope">
<span class="title-item text-compact-bold" @click="handleClickToDetail(scope.row)">{{
scope.row.originalTitle
}}</span>
}}</span>
</template>
</el-table-column>
<el-table-column label="日期" width="120" class-name="date-column">
......@@ -188,18 +187,18 @@ const handleSwitchChartData = () => {
return item.name === curDemension.value
})[0]
// timer1.value = setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
if (curDemension.value === '提案时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
activeChart.value = curDemensionItem.chartTypeList[0]
if (curDemension.value === '提案时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
// })
}
}
......@@ -923,7 +922,17 @@ const fetchTableData = async () => {
timer3.value = setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.data
if (curDemension.value === '提案时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
})
} catch (error) {
......
......@@ -34,7 +34,7 @@
</div>
</div>
</div>
<div class="chart-main-box" v-if="isShowChart">
<div class="chart-main-box" v-if="isShowChart" v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="info-box">
<div class="switch-box" @click="handleSwitchChartData">
<DataChartSwitchBox :is-show-data="!isShowChart" />
......@@ -69,7 +69,7 @@
</div>
</div>
</div>
<div class="data-main-box box-glow" v-else>
<div class="data-main-box box-glow" v-else v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="data-main-box-header">
<div class="switch-box" @click="handleSwitchChartData">
<DataChartSwitchBox :is-show-data="!isShowChart" />
......@@ -114,7 +114,7 @@
</div>
</div>
</div>
<div class="data-main-box-main-content" v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="data-main-box-main-content">
<el-table ref="tableRef" :data="tableData" row-key="id" @selection-change="handleSelectionChange"
@select="handleSelect" @select-all="handleSelectAll" style="width: 100%" :row-style="{ height: '52px' }">
<el-table-column type="selection" width="40" />
......@@ -794,7 +794,7 @@ const fetchTableData = async () => {
}
staticsDemensionList.value[4].chartTypeList[0].data = Object.entries(res.data.aggregationIsSanctioned).map(([key, value]) => ({
name: key,
name: key === 'Y' ? '是' : '否',
value: Number(value)
}))
......@@ -808,7 +808,17 @@ const fetchTableData = async () => {
setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.chartTypeList[0].data
if (curDemension.value === '成立时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.chartTypeList[0].data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.chartTypeList[0].quatarData
} else {
curChartData.value = curDemensionItem.chartTypeList[0].yearData
}
} else {
curChartData.value = curDemensionItem.chartTypeList[0].data
}
})
} catch (error) {
......@@ -1211,7 +1221,7 @@ onMounted(async () => {
justify-content: space-between;
.switch-box {
width: 160px;
width: 160px;
height: 28px;
border: none;
cursor: pointer;
......
......@@ -774,7 +774,17 @@ const fetchTableData = async () => {
setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.data
if (curDemension.value === '发布时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
})
} catch (error) {
......
......@@ -174,18 +174,18 @@ const handleSwitchChartData = () => {
return item.name === curDemension.value
})[0]
// setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
activeChart.value = curDemensionItem.chartTypeList[0]
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
// })
}
}
......@@ -227,7 +227,7 @@ const staticsDemensionList = ref([
chartTitle: '商业管制清单物项类别分布',
data: []
}
])
// 当前维度下的图表列表
......@@ -345,7 +345,7 @@ const activeTagList = computed(() => {
)
}
if (categoryName.value) {
if (categoryName.value) {
arr.push(
{
tag: '物项名称',
......@@ -354,7 +354,7 @@ const activeTagList = computed(() => {
)
}
return arr
......@@ -671,7 +671,7 @@ const fetchTableData = async () => {
name: key,
value: Number(value)
}))
}
......@@ -683,7 +683,17 @@ const fetchTableData = async () => {
setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.data
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
})
loading.value = false
} catch (error) {
......
......@@ -24,8 +24,8 @@
@close="handleCloseCurTag(tag, index)" />
</div>
<div class="header-footer-right">
<HeaderBtnBox :isShowAll="isFolderAll" :isShowAllBtn="false" @show-all="handleSwitchFolderAll" @clear="handleClear"
@confirm="handleConfirm" />
<HeaderBtnBox :isShowAll="isFolderAll" :isShowAllBtn="false" @show-all="handleSwitchFolderAll"
@clear="handleClear" @confirm="handleConfirm" />
</div>
</div>
</div>
......@@ -164,18 +164,18 @@ const handleSwitchChartData = () => {
return item.name === curDemension.value
})[0]
// setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
activeChart.value = curDemensionItem.chartTypeList[0]
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
// })
}
}
......@@ -612,7 +612,17 @@ const fetchTableData = async () => {
setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.data
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
})
loading.value = false
} catch (error) {
......
......@@ -862,7 +862,17 @@ const fetchTableData = async () => {
setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.data
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
})
loading.value = false
} catch (error) {
......@@ -1091,11 +1101,11 @@ const handleClickToDetail = (curEntity) => {
window.sessionStorage.setItem("decreeId", curEntity.id);
window.sessionStorage.setItem("curTabName", curEntity.title);
const route = router.resolve({
name: "companyPages",
params: {
id: curEntity.id
}
});
name: "companyPages",
params: {
id: curEntity.id
}
});
window.open(route.href, "_blank");
};
......
......@@ -24,15 +24,15 @@
@close="handleCloseCurTag(tag, index)" />
</div>
<div class="header-footer-right">
<HeaderBtnBox :isShowAll="isFolderAll" :isShowAllBtn="false" @show-all="handleSwitchFolderAll" @clear="handleClear"
@confirm="handleConfirm" />
<HeaderBtnBox :isShowAll="isFolderAll" :isShowAllBtn="false" @show-all="handleSwitchFolderAll"
@clear="handleClear" @confirm="handleConfirm" />
</div>
</div>
</div>
<div class="chart-main-box" v-if="isShowChart">
<div class="info-box">
<div class="switch-box" @click="handleSwitchChartData">
<DataChartSwitchBox :is-show-data="!isShowChart" />
<DataChartSwitchBox :is-show-data="!isShowChart" />
</div>
<div class="num-box text-title-3-bold">
{{ `共 ${totalNum} 条数据` }}
......@@ -165,18 +165,18 @@ const handleSwitchChartData = () => {
return item.name === curDemension.value
})[0]
// setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
activeChart.value = curDemensionItem.chartTypeList[0]
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
// })
}
}
......@@ -613,7 +613,17 @@ const fetchTableData = async () => {
setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.data
if (curDemension.value === '制裁时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
})
loading.value = false
} catch (error) {
......@@ -828,28 +838,28 @@ const handleClickToDetail = (curEntityEvent) => {
// window.sessionStorage.setItem("decreeId", curEntityEvent.id);
// window.sessionStorage.setItem("curTabName", curEntityEvent.title);
// let id = item?.id;
// let sanTypeId = item?.sanTypeId || 1;
// if (!id) {
// const currentItem = entitiesDataInfoList.value[currentCarouselIndex.value];
// id = currentItem?.id;
// sanTypeId = currentItem?.sanTypeId || 1;
// }
// window.sessionStorage.setItem(
// "curTabName",
// entitiesDataInfoList.value[currentCarouselIndex.value].postDate + " 《实体清单新增条目》"
// );
// let date = entitiesDataInfoList.value[currentCarouselIndex.value].postDate
// const routeData = router.resolve({
// path: "/exportControl/singleSanction",
// query: {
// id,
// sanTypeId,
// date
// }
// });
// // 打开一个新页面
// window.open(routeData.href, "_blank");
// let id = item?.id;
// let sanTypeId = item?.sanTypeId || 1;
// if (!id) {
// const currentItem = entitiesDataInfoList.value[currentCarouselIndex.value];
// id = currentItem?.id;
// sanTypeId = currentItem?.sanTypeId || 1;
// }
// window.sessionStorage.setItem(
// "curTabName",
// entitiesDataInfoList.value[currentCarouselIndex.value].postDate + " 《实体清单新增条目》"
// );
// let date = entitiesDataInfoList.value[currentCarouselIndex.value].postDate
// const routeData = router.resolve({
// path: "/exportControl/singleSanction",
// query: {
// id,
// sanTypeId,
// date
// }
// });
// // 打开一个新页面
// window.open(routeData.href, "_blank");
};
// 跳转机构详情
......@@ -1010,6 +1020,7 @@ onMounted(async () => {
}
}
}
.data-main-box {
width: 1568px;
min-height: 810px;
......
......@@ -19,7 +19,7 @@
</div>
</div>
</div>
<div class="chart-main-box" v-if="isShowChart">
<div class="chart-main-box" v-if="isShowChart" v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="info-box">
<div class="switch-box" @click="handleSwitchChartData">
<DataChartSwitchBox :is-show-data="!isShowChart" />
......@@ -54,7 +54,7 @@
</div>
</div>
</div>
<div class="data-main-box" v-else>
<div class="data-main-box" v-else v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="data-main-box-header">
<div class="switch-box" @click="handleSwitchChartData">
<DataChartSwitchBox :is-show-data="!isShowChart" />
......@@ -99,7 +99,7 @@
</div>
</div>
</div>
<div class="data-main-box-main-content" v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="data-main-box-main-content">
<el-table ref="tableRef" :data="tableData" row-key="id" @selection-change="handleSelectionChange"
@select="handleSelect" @select-all="handleSelectAll" style="width: 100%" :row-style="{ height: '52px' }">
<el-table-column type="selection" width="40" />
......@@ -152,14 +152,6 @@ import { getProvinceList, getCountryList, getEntityTypes } from '@/api/comprehen
const route = useRoute();
const isShowProvinceBox = computed(() => {
let isShow = false
if (isFolderAll.value && (selectedCountry.value === '0101' || selectedCountry.value === '全部国家')) {
isShow = true
}
return isShow
})
// 图表/数据
const isShowChart = ref(false)
// 点击切换数据/图表
......@@ -170,17 +162,17 @@ const handleSwitchChartData = () => {
return item.name === curDemension.value
})[0]
// setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
activeChart.value = curDemensionItem.chartTypeList[0].name
if (curDemension.value === '成立时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
curChartData.value = curDemensionItem.chartTypeList[0].data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
curChartData.value = curDemensionItem.chartTypeList[0].quatarData
} else {
curChartData.value = curDemensionItem.yearData
curChartData.value = curDemensionItem.chartTypeList[0].yearData
}
} else {
curChartData.value = curDemensionItem.data
curChartData.value = curDemensionItem.chartTypeList[0].data
}
// })
}
......@@ -235,16 +227,16 @@ const staticsDemensionList = ref([
name: '所属国家地区',
active: false,
chartTypeList: [{
name: '饼状图',
data: []
},
{
name: '柱状图',
data: {
dataX: [],
dataY: []
}
}],
name: '饼状图',
data: []
},
{
name: '柱状图',
data: {
dataX: [],
dataY: []
}
}],
chartTitle: '所属国家地区分布',
},
])
......@@ -273,13 +265,13 @@ const handleClickDemensionItem = (val) => {
val.active = true
curDemension.value = val.name
setTimeout(() => {
activeChart.value = val.chartTypeList[0]
activeChart.value = val.chartTypeList[0].name
if (curDemension.value === '成立时间' && selectedTime.value === '按年度统计') {
curChartData.value = val.yearData
curChartData.value = val.chartTypeList[0].yearData
} else if (curDemension.value === '成立时间' && selectedTime.value === '按季度统计') {
curChartData.value = val.quatarData
curChartData.value = val.chartTypeList[0].quatarData
} else {
curChartData.value = val.data
curChartData.value = val.chartTypeList[0].data
}
})
}
......@@ -307,17 +299,17 @@ const handleChangeTime = value => {
if (value === '按月度统计') {
setTimeout(() => {
activeChart.value = curChart
curChartData.value = staticsDemensionList.value[0].data
curChartData.value = staticsDemensionList.value[0].chartTypeList[0].data
})
} else if (value === '按季度统计') {
setTimeout(() => {
activeChart.value = curChart
curChartData.value = staticsDemensionList.value[0].quatarData
curChartData.value = staticsDemensionList.value[0].chartTypeList[0].quatarData
})
} else {
setTimeout(() => {
activeChart.value = curChart
curChartData.value = staticsDemensionList.value[0].yearData
curChartData.value = staticsDemensionList.value[0].chartTypeList[0].yearData
})
}
}
......@@ -371,7 +363,13 @@ const activeChart = ref('') // 当前激活的图表
const handleSwitchActiveChart = val => {
activeChart.value = val.name
const curChartItem = curChartTypeList.value.filter(item => item.name === val.name)[0]
curChartData.value = curChartItem.data
if (curDemension.value === '成立时间' && selectedTime.value === '按年度统计') {
curChartData.value = curChartItem.yearData
} else if (curDemension.value === '成立时间' && selectedTime.value === '按季度统计') {
curChartData.value = curChartItem.quatarData
} else {
curChartData.value = curChartItem.data
}
}
// 数据- 是否全选
......@@ -532,34 +530,38 @@ const fetchTableData = async () => {
if (res.code === 200 && res.data) {
tableData.value = res.data.records
totalNum.value = res.data.total
staticsDemensionList.value[0].data = {
staticsDemensionList.value[0].chartTypeList[0].data = {
dataX: Object.keys(res.data.aggregationsDate),
dataY: Object.values(res.data.aggregationsDate).map(value => Number(value))
}
staticsDemensionList.value[0].quatarData = {
staticsDemensionList.value[0].chartTypeList[0].quatarData = {
dataX: Object.keys(res.data.aggregationsQuarter),
dataY: Object.values(res.data.aggregationsQuarter).map(value => Number(value))
}
staticsDemensionList.value[0].yearData = {
staticsDemensionList.value[0].chartTypeList[0].yearData = {
dataX: Object.keys(res.data.aggregationsYear),
dataY: Object.values(res.data.aggregationsYear).map(value => Number(value))
}
staticsDemensionList.value[1].data = Object.entries(res.data.aggregationCountryId).map(([key, value]) => ({
staticsDemensionList.value[0].chartTypeList[1].data = {
dataX: Object.keys(res.data.aggregationsDate),
dataY: Object.values(res.data.aggregationsDate).map(value => Number(value))
}
staticsDemensionList.value[0].chartTypeList[1].quatarData = {
dataX: Object.keys(res.data.aggregationsQuarter),
dataY: Object.values(res.data.aggregationsQuarter).map(value => Number(value))
}
staticsDemensionList.value[0].chartTypeList[1].yearData = {
dataX: Object.keys(res.data.aggregationsYear),
dataY: Object.values(res.data.aggregationsYear).map(value => Number(value))
}
staticsDemensionList.value[1].chartTypeList[0].data = Object.entries(res.data.aggregationCountryId).map(([key, value]) => ({
name: key,
value: Number(value)
}))
// staticsDemensionList.value[2].data = Object.entries(res.data.aggregationSentityTypeCode).map(([key, value]) => ({
// name: key,
// value: Number(value)
// }))
// staticsDemensionList.value[3].data = Object.entries(res.data.aggregationCountryId).map(([key, value]) => ({
// name: key,
// value: Number(value)
// }))
// staticsDemensionList.value[4].data = Object.entries(res.data.aggregationProvinceName).map(([key, value]) => ({
// name: key,
// value: Number(value)
// }))
staticsDemensionList.value[1].chartTypeList[1].data = {
dataX: Object.keys(res.data.aggregationCountryId),
dataY: Object.values(res.data.aggregationCountryId).map(value => Number(value))
}
}
......@@ -570,8 +572,18 @@ const fetchTableData = async () => {
activeChart.value = ''
setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.data
activeChart.value = curDemensionItem.chartTypeList[0].name
if (curDemension.value === '成立时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.chartTypeList[0].data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.chartTypeList[0].quatarData
} else {
curChartData.value = curDemensionItem.chartTypeList[0].yearData
}
} else {
curChartData.value = curDemensionItem.chartTypeList[0].data
}
})
loading.value = false
} catch (error) {
......
......@@ -21,7 +21,7 @@
</div>
</div>
</div>
<div class="chart-main-box" v-if="isShowChart">
<div class="chart-main-box" v-if="isShowChart" v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="info-box">
<div class="switch-box" @click="handleSwitchChartData">
<DataChartSwitchBox :is-show-data="!isShowChart" />
......@@ -56,7 +56,7 @@
</div>
</div>
</div>
<div class="data-main-box" v-else>
<div class="data-main-box" v-else v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="data-main-box-header">
<div class="switch-box" @click="handleSwitchChartData">
<DataChartSwitchBox :is-show-data="!isShowChart" />
......@@ -101,7 +101,7 @@
</div>
</div>
</div>
<div class="data-main-box-main-content" v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="data-main-box-main-content">
<el-table ref="tableRef" :data="tableData" row-key="id" @selection-change="handleSelectionChange"
@select="handleSelect" @select-all="handleSelectAll" style="width: 100%" :row-style="{ height: '52px' }">
<el-table-column type="selection" width="40" />
......@@ -115,7 +115,7 @@
<el-table-column label="发布时间" width="100" class-name="date-column">
<template #default="scope">{{ scope.row.date }}</template>
</el-table-column>
<el-table-column label="发布时间" class-name="date-column">
<el-table-column label="发布时间" class-name="date-column">
<template #default="scope">{{ scope.row.originalDescription }}</template>
</el-table-column>
<el-table-column label="来源媒体" width="90">
......@@ -586,7 +586,17 @@ const fetchTableData = async () => {
setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.data
if (curDemension.value === '发布时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
})
} catch (error) {
......
......@@ -22,7 +22,7 @@
</div>
</div>
</div>
<div class="chart-main-box" v-if="isShowChart">
<div class="chart-main-box" v-if="isShowChart" v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="info-box">
<div class="switch-box" @click="handleSwitchChartData">
<DataChartSwitchBox :is-show-data="!isShowChart" />
......@@ -34,13 +34,13 @@
<div class="content-box">
<div class="content-header">
<ChartHeader :list="staticsDemensionList" @clickItem="handleClickDemensionItem">
<template #chart-header-right>
<!-- <template #chart-header-right>
<el-select v-model="selectedTime" placeholder="选择时间" style="width: 150px" v-show="curDemension === '发布时间'"
@change="handleChangeTime">
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</template>
</template> -->
</ChartHeader>
</div>
<div class="content-main">
......@@ -57,7 +57,7 @@
</div>
</div>
</div>
<div class="data-main-box" v-else>
<div class="data-main-box" v-else v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="data-main-box-header">
<div class="switch-box" @click="handleSwitchChartData">
<DataChartSwitchBox :is-show-data="!isShowChart" />
......@@ -102,7 +102,7 @@
</div>
</div>
</div>
<div class="data-main-box-main-content" v-loading="loading" element-loading-text="数据加载中,请稍候...">
<div class="data-main-box-main-content">
<el-table ref="tableRef" :data="tableData" row-key="id" @selection-change="handleSelectionChange"
@select="handleSelect" @select-all="handleSelectAll" style="width: 100%" :row-style="{ height: '52px' }">
<el-table-column type="selection" width="40" />
......@@ -168,8 +168,8 @@ const handleSwitchChartData = () => {
const curDemensionItem = staticsDemensionList.value.filter(item => {
return item.name === curDemension.value
})[0]
activeChart.value = curDemensionItem.chartTypeList[0]
curChartData.value = curDemensionItem.data
activeChart.value = curDemensionItem.chartTypeList[0].name
curChartData.value = curDemensionItem.chartTypeList[0].data
}
}
......@@ -271,8 +271,8 @@ const handleClickDemensionItem = (val) => {
})
val.active = true
nextTick(() => {
activeChart.value = val.chartTypeList[0]
curChartData.value = val.data
activeChart.value = val.chartTypeList[0].name
curChartData.value = val.chartTypeList[0].data
curDemension.value = val.name
})
}
......@@ -294,26 +294,26 @@ const timeList = ref([
value: '按月度统计'
},
])
const handleChangeTime = value => {
let curChart = activeChart.value
activeChart.value = ''
if (value === '按月度统计') {
setTimeout(() => {
activeChart.value = curChart
curChartData.value = staticsDemensionList.value[0].data
})
} else if (value === '按季度统计') {
setTimeout(() => {
activeChart.value = curChart
curChartData.value = staticsDemensionList.value[0].quatarData
})
} else {
setTimeout(() => {
activeChart.value = curChart
curChartData.value = staticsDemensionList.value[0].yearData
})
}
}
// const handleChangeTime = value => {
// let curChart = activeChart.value
// activeChart.value = ''
// if (value === '按月度统计') {
// setTimeout(() => {
// activeChart.value = curChart
// curChartData.value = staticsDemensionList.value[0].data
// })
// } else if (value === '按季度统计') {
// setTimeout(() => {
// activeChart.value = curChart
// curChartData.value = staticsDemensionList.value[0].quatarData
// })
// } else {
// setTimeout(() => {
// activeChart.value = curChart
// curChartData.value = staticsDemensionList.value[0].yearData
// })
// }
// }
// 激活的标签列表
......@@ -617,19 +617,38 @@ const fetchTableData = async () => {
if (res.code === 200 && res.data) {
tableData.value = res.data.records
totalNum.value = res.data.total
staticsDemensionList.value[0].data = Object.entries(res.data.aggregationCountryId).map(([key, value]) => ({
staticsDemensionList.value[0].chartTypeList[0].data = Object.entries(res.data.aggregationCountryId).map(([key, value]) => ({
name: key,
value: Number(value)
}))
staticsDemensionList.value[1].data = Object.entries(res.data.aggregationsAffiliation).map(([key, value]) => ({
staticsDemensionList.value[0].chartTypeList[1].data = {
dataX: Object.keys(res.data.aggregationCountryId),
dataY: Object.values(res.data.aggregationCountryId).map(value => Number(value))
}
staticsDemensionList.value[1].chartTypeList[0].data = Object.entries(res.data.aggregationsAffiliation).map(([key, value]) => ({
name: key,
value: Number(value)
}))
staticsDemensionList.value[2].data = Object.entries(res.data.aggregationsorganizationName).map(([key, value]) => ({
staticsDemensionList.value[1].chartTypeList[1].data = {
dataX: Object.keys(res.data.aggregationsAffiliation),
dataY: Object.values(res.data.aggregationsAffiliation).map(value => Number(value))
}
staticsDemensionList.value[2].chartTypeList[0].data = Object.entries(res.data.aggregationsorganizationName).map(([key, value]) => ({
name: key,
value: Number(value)
}))
staticsDemensionList.value[2].chartTypeList[1].data = {
dataX: Object.keys(res.data.aggregationsorganizationName),
dataY: Object.values(res.data.aggregationsorganizationName).map(value => Number(value))
}
staticsDemensionList.value[3].chartTypeList[0].data = Object.entries(res.data.aggregationPersonType).map(([key, value]) => ({
name: key,
value: Number(value)
}))
staticsDemensionList.value[3].chartTypeList[1].data = {
dataX: Object.keys(res.data.aggregationPersonType),
dataY: Object.values(res.data.aggregationPersonType).map(value => Number(value))
}
}
const curDemensionItem = staticsDemensionList.value.filter(item => {
......
......@@ -715,7 +715,17 @@ const fetchTableData = async () => {
setTimeout(() => {
activeChart.value = curDemensionItem.chartTypeList[0];
curChartData.value = curDemensionItem.data;
if (curDemension.value === '发布时间') {
if (selectedTime.value === '按月度统计') {
curChartData.value = curDemensionItem.data
} else if (selectedTime.value === '按季度统计') {
curChartData.value = curDemensionItem.quatarData
} else {
curChartData.value = curDemensionItem.yearData
}
} else {
curChartData.value = curDemensionItem.data
}
});
} catch (error) {
console.error(error);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论