| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <template>
- <UiSchemeIndex v-if="route.path === '/uiScheme/index'" />
- <div v-else :class="prefixCls" class="object-relation-page">
- <div class="page-header">
- <div class="page-title">对象关系分析</div>
- <div class="page-subtitle">当前页面为占位视图,后续可在此承接关系图谱、对象网络和多跳关联分析。</div>
- </div>
- <div class="content-panel">
- <div class="table-card">
- <div class="panel-header">
- <div>
- <div class="panel-title">关系分析视图待扩展</div>
- <div class="panel-desc">建议沿用交易分析模块的白底卡片布局,承接图谱、对象网络和多跳关系的联动研判。</div>
- </div>
- </div>
- <div class="layout-preview">
- <div class="preview-panel preview-panel--left">
- <div class="preview-label">左侧面板</div>
- <div class="preview-title">对象树与筛选条件</div>
- <div class="preview-text">用于选择对象、关系类型和时间范围,并展示命中数量与树形结构。</div>
- </div>
- <div class="preview-panel preview-panel--center">
- <div class="preview-label">中部画布</div>
- <div class="preview-title">关系图谱主视图</div>
- <div class="preview-text">适合放置节点网络、资金往来链路或多跳拓扑图,作为主分析区域。</div>
- </div>
- <div class="preview-panel preview-panel--right">
- <div class="preview-label">右侧面板</div>
- <div class="preview-title">详情与时间轴</div>
- <div class="preview-text">承接节点详情、关系说明、时间轴明细和操作记录等辅助信息。</div>
- </div>
- </div>
- <div class="placeholder-text">
- 该页面建议采用“左侧对象树 + 中间关系图 +
- 右侧详情面板”的三栏结构,后续可以基于对象网络、资金往来、通联关系做联动分析。
- </div>
- </div>
- </div>
- </div>
- </template>
- <script lang="ts" setup name="ViewsObjectRelationIndex">
- import { useRoute } from 'vue-router';
- import { useDesign } from '@jeesite/core/hooks/web/useDesign';
- import UiSchemeIndex from '../uiScheme/index.vue';
- const route = useRoute();
- const { prefixCls } = useDesign('object-relation');
- </script>
- <style lang="less">
- @import '../styles/trans-analysis-table-ui.less';
- @prefix-cls: ~'jeesite-object-relation';
- .@{prefix-cls}.object-relation-page {
- .trans-analysis-table-ui();
- .analysis-single-panel-frame();
- .table-card {
- gap: 8px;
- }
- .panel-title {
- color: #111827;
- font-size: 14px;
- font-weight: 600;
- line-height: 22px;
- }
- .panel-desc {
- color: #6b7280;
- font-size: 12px;
- line-height: 18px;
- }
- .layout-preview {
- display: grid;
- grid-template-columns: minmax(220px, 0.8fr) minmax(360px, 1.4fr) minmax(240px, 0.9fr);
- gap: 8px;
- width: 100%;
- }
- .preview-panel {
- min-height: 180px;
- padding: 12px;
- border: 1px dashed #cbd5e1;
- border-radius: 12px;
- background: #fafafa;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- gap: 10px;
- }
- .preview-panel--center {
- background: #f8fafc;
- }
- .preview-label {
- display: inline-flex;
- align-items: center;
- width: fit-content;
- padding: 2px 8px;
- border-radius: 999px;
- background: #e6f4ff;
- color: #1677ff;
- font-size: 12px;
- line-height: 20px;
- }
- .preview-title {
- color: #111827;
- font-size: 15px;
- font-weight: 600;
- line-height: 22px;
- }
- .preview-text {
- color: #6b7280;
- font-size: 12px;
- line-height: 20px;
- }
- .placeholder-text {
- width: 100%;
- margin: 0;
- padding: 12px;
- border-radius: 8px;
- background: #fafafa;
- color: #64748b;
- font-size: 13px;
- line-height: 22px;
- }
- @media screen and (max-width: 1200px) {
- .layout-preview {
- grid-template-columns: 1fr;
- }
- }
- }
- </style>
|