feat: 新增面包屑导航并提升用户界面的一致性
导航logo添加返回首页 去掉首页定期报告 相关材料更名产品文档 新增教学案例下载
This commit is contained in:
parent
a472659d54
commit
15a39d8763
|
|
@ -8,11 +8,11 @@
|
||||||
<img :src="iconBack" class="back_icon" />
|
<img :src="iconBack" class="back_icon" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="route.path !== '/detail' || route.path == '/detailKua'" class="r_logo">
|
<router-link to="/home" v-if="route.path !== '/detail' || route.path == '/detailKua'" class="r_logo">
|
||||||
<img :src="logo_hol" class="logo" />
|
<img :src="logo_hol" class="logo" />
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<text>中证智能财保</text>
|
<span class="text">中证智能财保</span>
|
||||||
</div>
|
</router-link>
|
||||||
<div>
|
<div>
|
||||||
<span class="route_name" v-if="detailName && route.path == '/detail'" :key="route.path"> {{ detailName }}</span>
|
<span class="route_name" v-if="detailName && route.path == '/detail'" :key="route.path"> {{ detailName }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -269,6 +269,7 @@ onBeforeRouteUpdate((to) => {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
|
text-decoration: none;
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
width: 140px;
|
width: 140px;
|
||||||
|
|
@ -283,7 +284,7 @@ onBeforeRouteUpdate((to) => {
|
||||||
margin-right: 12px;
|
margin-right: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
text {
|
.text {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
font-family: 'Noto Sans CJK SC';
|
font-family: 'Noto Sans CJK SC';
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
|
|
@ -292,6 +293,7 @@ onBeforeRouteUpdate((to) => {
|
||||||
line-height: 26px;
|
line-height: 26px;
|
||||||
letter-spacing: 0.56px;
|
letter-spacing: 0.56px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -577,7 +577,7 @@ onMounted(() => {
|
||||||
redirect: '/example',
|
redirect: '/example',
|
||||||
// component: () => import('/@/views/example/index.vue'),
|
// component: () => import('/@/views/example/index.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: '相关材料',
|
title: '产品文档',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,23 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="r_logo">
|
<div class="r_logo">
|
||||||
|
<router-link to="/home" class="home-link">
|
||||||
<img :src="logo_hol" class="logo" />
|
<img :src="logo_hol" class="logo" />
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<text>中证智能财保</text>
|
<text>中证智能财保</text>
|
||||||
|
</router-link>
|
||||||
|
|
||||||
<div class="top_menu">
|
<div class="top_menu">
|
||||||
<div class="item" @click="goLogout">
|
<div class="item" @click="goLogout">
|
||||||
<text>产品</text>
|
<text>产品</text>
|
||||||
<!-- <div class="bottom_line"></div> -->
|
|
||||||
</div>
|
</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<text>相关材料</text>
|
<text>产品文档</text>
|
||||||
<div class="bottom_line"></div>
|
<div class="bottom_line"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="!Session.get('token')" class="top_right" @click="goLogin">
|
||||||
|
<text>登录</text>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -24,7 +28,12 @@
|
||||||
<div class="img">
|
<div class="img">
|
||||||
<img :src="item.img" alt="" />
|
<img :src="item.img" alt="" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="name">
|
||||||
<div class="text">{{ item.name }}</div>
|
<div class="text">{{ item.name }}</div>
|
||||||
|
<el-tooltip content="点击下载">
|
||||||
|
<el-button :icon="Download" size="mini" circle @click.stop="handleDownload(item)" />
|
||||||
|
</el-tooltip>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -48,6 +57,8 @@ import example4 from '/@/assets/images/example_4.png';
|
||||||
import example5 from '/@/assets/images/example_5.png';
|
import example5 from '/@/assets/images/example_5.png';
|
||||||
import Detail from './detail/index.vue';
|
import Detail from './detail/index.vue';
|
||||||
import router from '/@/router';
|
import router from '/@/router';
|
||||||
|
import { Download } from '@element-plus/icons-vue';
|
||||||
|
import { Session } from '/@/utils/storage';
|
||||||
|
|
||||||
const data = ref([
|
const data = ref([
|
||||||
{
|
{
|
||||||
|
|
@ -150,6 +161,55 @@ const handleClose = () => {
|
||||||
const goLogout = () => {
|
const goLogout = () => {
|
||||||
router.push('/login');
|
router.push('/login');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 点击下载
|
||||||
|
const handleDownload = async (item) => {
|
||||||
|
if (!item || !item.url) {
|
||||||
|
console.warn('下载失败:缺少 URL 或数据格式不正确', item);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const downloadUrl = item.url.trim();
|
||||||
|
if (!downloadUrl) {
|
||||||
|
console.warn('下载失败:URL 为空值');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await fetch(downloadUrl);
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error(`下载失败,状态码:${response.status}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const blob = await response.blob();
|
||||||
|
const urlObj = window.URL.createObjectURL(blob);
|
||||||
|
|
||||||
|
const fileExt = (() => {
|
||||||
|
const urlPath = new URL(downloadUrl).pathname;
|
||||||
|
const part = urlPath.split('.').pop() || '';
|
||||||
|
return part.toLowerCase();
|
||||||
|
})();
|
||||||
|
|
||||||
|
const safeName = (item.name || 'download').replace(/\s+/g, '_').replace(/[\\/:*?"<>|]+/g, '');
|
||||||
|
|
||||||
|
const fileName = fileExt ? `${safeName}.${fileExt}` : safeName;
|
||||||
|
|
||||||
|
const a = document.createElement('a');
|
||||||
|
a.href = urlObj;
|
||||||
|
a.download = fileName;
|
||||||
|
a.style.display = 'none';
|
||||||
|
document.body.appendChild(a);
|
||||||
|
a.click();
|
||||||
|
document.body.removeChild(a);
|
||||||
|
window.URL.revokeObjectURL(urlObj);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('下载异常:', error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// 跳转登录
|
||||||
|
function goLogin() {
|
||||||
|
router.push('/loginReal');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
@ -163,12 +223,19 @@ const goLogout = () => {
|
||||||
|
|
||||||
.r_logo {
|
.r_logo {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
height: 64px;
|
height: 64px;
|
||||||
padding: 0 32px;
|
padding-left: 32px;
|
||||||
border-bottom: 1px solid var(--next-border-color-light);
|
border-bottom: 1px solid var(--next-border-color-light);
|
||||||
|
|
||||||
|
.home-link {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
width: 140px;
|
width: 140px;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
|
|
@ -205,9 +272,11 @@ const goLogout = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
.list {
|
.list {
|
||||||
display: flex;
|
display: grid;
|
||||||
justify-content: flex-start;
|
grid-template-columns: repeat(4, 1fr);
|
||||||
align-content: flex-start;
|
gap: 16px;
|
||||||
|
// justify-content: flex-start;
|
||||||
|
// align-content: flex-start;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
padding: 8px 16px;
|
padding: 8px 16px;
|
||||||
|
|
@ -216,8 +285,8 @@ const goLogout = () => {
|
||||||
min-height: calc(100vh - 200px);
|
min-height: calc(100vh - 200px);
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
width: 256px;
|
// width: 256px;
|
||||||
height: 190px;
|
height: 210px;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border: 1px solid rgba(229, 229, 229, 1);
|
border: 1px solid rgba(229, 229, 229, 1);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|
@ -227,11 +296,17 @@ const goLogout = () => {
|
||||||
.img,
|
.img,
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 144px;
|
height: 164px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.name {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 8px 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
padding: 8px 12px;
|
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(0, 0, 0, 0.85);
|
color: rgba(0, 0, 0, 0.85);
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
|
|
@ -295,10 +370,7 @@ const goLogout = () => {
|
||||||
|
|
||||||
.top_menu {
|
.top_menu {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin-left: 50px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 50px;
|
|
||||||
margin-left: 100px;
|
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
@ -306,6 +378,7 @@ const goLogout = () => {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
margin-right: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom_line {
|
.bottom_line {
|
||||||
|
|
@ -315,5 +388,50 @@ const goLogout = () => {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.top_right {
|
||||||
|
display: flex;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
width: 86px;
|
||||||
|
height: 100%;
|
||||||
|
background: #0779ff;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
text {
|
||||||
|
font-family: PingFangSC, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 14px;
|
||||||
|
color: #ffffff;
|
||||||
|
line-height: 20px;
|
||||||
|
text-align: left;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.r_menu {
|
||||||
|
display: flex;
|
||||||
|
margin-right: 30px;
|
||||||
|
|
||||||
|
.menu_item {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #000000;
|
||||||
|
letter-spacing: 0;
|
||||||
|
line-height: 24px;
|
||||||
|
font-weight: 400;
|
||||||
|
margin-right: 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
min-width: 60px;
|
||||||
|
white-space: nowrap;
|
||||||
|
display: flex;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active {
|
||||||
|
color: #007aff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,14 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="all" v-show="hadRole">
|
<div class="all" v-show="hadRole">
|
||||||
<el-image :src="topBg" mode="widthFix" class="topbg" v-if="isCommon" />
|
|
||||||
<el-image :src="topBgJg" mode="widthFix" class="topbg" v-else />
|
|
||||||
|
|
||||||
<!-- :class="{ 'scale-down': isScaleDown }" -->
|
<!-- :class="{ 'scale-down': isScaleDown }" -->
|
||||||
<!-- height: isCommon ? '80vh' : '90vh' -->
|
<!-- height: isCommon ? '80vh' : '90vh' -->
|
||||||
<div class="content" :style="{ top: isCommon ? '20vh' : '16vh' }">
|
<div class="content" :style="{ top: isCommon ? '20vh' : '16vh' }">
|
||||||
|
<div class="mb20" :class="{ 'scale-down': isScaleDown }">
|
||||||
|
<el-breadcrumb separator="/" class="font16">
|
||||||
|
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>智能财讯</el-breadcrumb-item>
|
||||||
|
</el-breadcrumb>
|
||||||
|
</div>
|
||||||
<div class="top" v-if="isCommon" :class="{ 'scale-down': isScaleDown }">
|
<div class="top" v-if="isCommon" :class="{ 'scale-down': isScaleDown }">
|
||||||
<div class="top_left">
|
<div class="top_left">
|
||||||
<el-image :src="logo" mode="widthFix" class="logo" />
|
<el-image :src="logo" mode="widthFix" class="logo" />
|
||||||
|
|
@ -430,8 +433,11 @@ $maxWidth: 2000px;
|
||||||
.all {
|
.all {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
background: #f5f7fd;
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
background: url('/@/assets/images/bk_charts1.png') #f5f7fd no-repeat center 0;
|
||||||
|
background-size: 100% auto;
|
||||||
|
// padding-bottom: 24px;
|
||||||
|
// padding: 20px 32px 32px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.topbg {
|
.topbg {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,11 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
<div class="mb20">
|
||||||
|
<el-breadcrumb separator="/" class="font16">
|
||||||
|
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>智能信披库</el-breadcrumb-item>
|
||||||
|
</el-breadcrumb>
|
||||||
|
</div>
|
||||||
<div class="nav-box-wrap">
|
<div class="nav-box-wrap">
|
||||||
<div class="nav-box">
|
<div class="nav-box">
|
||||||
<template v-for="item in navList" :key="item.index">
|
<template v-for="item in navList" :key="item.index">
|
||||||
|
|
@ -22,7 +28,11 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div class="setup-btn">
|
<div class="setup-btn">
|
||||||
<el-button size="default" type="primary" @click="dialogVisible = true">设置关注公司</el-button>
|
<ZButton btn-width="111px" @btnClick="dialogVisible = true">
|
||||||
|
<div class="btn_content">
|
||||||
|
<text>设置关注公司</text>
|
||||||
|
</div>
|
||||||
|
</ZButton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -81,6 +91,7 @@
|
||||||
remote
|
remote
|
||||||
placeholder="公司简称、证券代码"
|
placeholder="公司简称、证券代码"
|
||||||
size="large"
|
size="large"
|
||||||
|
clearable
|
||||||
:remote-method="searchCompanyFn"
|
:remote-method="searchCompanyFn"
|
||||||
@change="handleQueryData"
|
@change="handleQueryData"
|
||||||
/>
|
/>
|
||||||
|
|
@ -397,14 +408,10 @@
|
||||||
placeholder="公司简称、证券代码"
|
placeholder="公司简称、证券代码"
|
||||||
style="width: 176px"
|
style="width: 176px"
|
||||||
size="default"
|
size="default"
|
||||||
v-model="dialogFilterOpt.company"
|
:suffix-icon="Search"
|
||||||
|
v-model="dialogFilterOpt.keyword"
|
||||||
@keyup.enter="handleDialogSelect"
|
@keyup.enter="handleDialogSelect"
|
||||||
>
|
>
|
||||||
<template #suffix>
|
|
||||||
<el-icon class="el-input__icon">
|
|
||||||
<Search />
|
|
||||||
</el-icon>
|
|
||||||
</template>
|
|
||||||
</el-input>
|
</el-input>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
|
|
@ -465,7 +472,7 @@
|
||||||
@confirm="handleDevFavCompany(scope.row.id)"
|
@confirm="handleDevFavCompany(scope.row.id)"
|
||||||
>
|
>
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button size="defaultt" text type="danger">删除</el-button>
|
<el-button text style="color: #409eff">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-popconfirm>
|
</el-popconfirm>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -508,6 +515,7 @@ import { useRouter, useRoute } from 'vue-router';
|
||||||
import icon_choose from '/@/assets/icon_choose.png';
|
import icon_choose from '/@/assets/icon_choose.png';
|
||||||
import { doMaiDian, searchCompany } from '/@/api/api';
|
import { doMaiDian, searchCompany } from '/@/api/api';
|
||||||
import { getDictList } from '/@/api/api';
|
import { getDictList } from '/@/api/api';
|
||||||
|
import ZButton from '/@/components/ZButton/index.vue';
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
@ -1095,9 +1103,10 @@ onMounted(async () => {
|
||||||
.container {
|
.container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
background: url('/@/assets/images/bk_charts1.png') no-repeat center 0;
|
background: url('/@/assets/images/bk_charts1.png') #f5f7fd no-repeat center 0;
|
||||||
|
background-size: 100% auto;
|
||||||
// padding-bottom: 24px;
|
// padding-bottom: 24px;
|
||||||
padding: 32px;
|
padding: 20px 32px 32px;
|
||||||
min-height: calc(100vh - 56px);
|
min-height: calc(100vh - 56px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1372,9 +1381,9 @@ onMounted(async () => {
|
||||||
box-shadow: 0 0 0px rgba(0, 0, 0, 0.1);
|
box-shadow: 0 0 0px rgba(0, 0, 0, 0.1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
:deep(.el-input__wrapper) {
|
// :deep(.el-input__wrapper) {
|
||||||
padding-right: 2px;
|
// padding-right: 2px;
|
||||||
}
|
// }
|
||||||
|
|
||||||
:deep(.el-select--large .el-select__wrapper) {
|
:deep(.el-select--large .el-select__wrapper) {
|
||||||
min-height: 32px;
|
min-height: 32px;
|
||||||
|
|
@ -1435,4 +1444,18 @@ onMounted(async () => {
|
||||||
:deep(.el-select__placeholder.is-transparent) {
|
:deep(.el-select__placeholder.is-transparent) {
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btn_content {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
text {
|
||||||
|
color: #ffffff;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 14px;
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
line-height: 18.2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,12 @@
|
||||||
<div>
|
<div>
|
||||||
<Esign :signUrl="signUrl" v-if="!isSign"></Esign>
|
<Esign :signUrl="signUrl" v-if="!isSign"></Esign>
|
||||||
<div class="container" v-else>
|
<div class="container" v-else>
|
||||||
<text class="big_title"> 文件签署管理 </text>
|
<div class="mb20">
|
||||||
|
<el-breadcrumb separator="/" class="font16">
|
||||||
|
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>电子签</el-breadcrumb-item>
|
||||||
|
</el-breadcrumb>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="table_bk">
|
<div class="table_bk">
|
||||||
<el-form class="el_form" style="width: 100%; display: flex; justify-content: space-between" @submit.native.prevent>
|
<el-form class="el_form" style="width: 100%; display: flex; justify-content: space-between" @submit.native.prevent>
|
||||||
|
|
@ -344,8 +349,9 @@ onMounted(async () => {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-height: calc(100vh - 56px);
|
min-height: calc(100vh - 56px);
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
background: url('/@/assets/images/bk_charts.png') no-repeat center 0;
|
|
||||||
padding: 30px 11%;
|
padding: 30px 11%;
|
||||||
|
background: url('/@/assets/images/bk_charts1.png') #f5f7fd no-repeat center 0;
|
||||||
|
background-size: 100% auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.big_title {
|
.big_title {
|
||||||
|
|
|
||||||
|
|
@ -9,22 +9,24 @@
|
||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
<text>中证智能财保</text>
|
<text>中证智能财保</text>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="h100 flex">
|
||||||
<div class="top_menu">
|
<div class="top_menu">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<text>产品</text>
|
<text>产品</text>
|
||||||
<div class="bottom_line"></div>
|
<div class="bottom_line"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item" @click="goExample">
|
<div class="item" @click="goExample">
|
||||||
<text>相关材料</text>
|
<text>产品文档</text>
|
||||||
<!-- <div class="bottom_line"></div> -->
|
<!-- <div class="bottom_line"></div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="top_right" @click="goLogin">
|
<div class="top_right" @click="goLogin">
|
||||||
<text>登录</text>
|
<text>登录</text>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<!-- 顶部 end -->
|
<!-- 顶部 end -->
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<div class="r_banner">
|
<div class="r_banner">
|
||||||
|
|
@ -42,17 +44,16 @@
|
||||||
</el-carousel-item>
|
</el-carousel-item>
|
||||||
</el-carousel>
|
</el-carousel>
|
||||||
|
|
||||||
<div :style="{ width: '100vw', height: '15px', backgroundColor: tabIndex == 0 ? 'white' : '#F7F8FA' }">
|
<div :style="{ width: '100vw', height: '15px', backgroundColor: tabIndex == 0 ? 'white' : '#F7F8FA' }"></div>
|
||||||
</div>
|
|
||||||
<div class="tab" :style="{ backgroundColor: tabIndex == 0 ? '#fff' : '#F7F8FA' }">
|
<div class="tab" :style="{ backgroundColor: tabIndex == 0 ? '#fff' : '#F7F8FA' }">
|
||||||
<div class="tab_item" @click="tabIndex = 0">
|
<!-- <div class="tab_item" @click="tabIndex = 0">
|
||||||
<div style="height: 100%; display: flex; align-items: center">
|
<div style="height: 100%; display: flex; align-items: center">
|
||||||
<img v-if="tabIndex == 0" src="../../../assets/logout/box_time_press.png" />
|
<img v-if="tabIndex == 0" src="../../../assets/logout/box_time_press.png" />
|
||||||
<img v-else src="../../../assets/logout/box_time_normal.png" />
|
<img v-else src="../../../assets/logout/box_time_normal.png" />
|
||||||
<text :class="{ active: tabIndex == 0 }">定期报告</text>
|
<text :class="{ active: tabIndex == 0 }">定期报告</text>
|
||||||
</div>
|
</div>
|
||||||
<div class="tab_bottom_line" v-if="tabIndex == 0"></div>
|
<div class="tab_bottom_line" v-if="tabIndex == 0"></div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="tab_item" @click="tabIndex = 1">
|
<div class="tab_item" @click="tabIndex = 1">
|
||||||
<div style="height: 100%; display: flex; align-items: center">
|
<div style="height: 100%; display: flex; align-items: center">
|
||||||
<img v-if="tabIndex == 1" src="../../../assets/logout/news_normal_press.png" />
|
<img v-if="tabIndex == 1" src="../../../assets/logout/news_normal_press.png" />
|
||||||
|
|
@ -63,12 +64,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="r_list" :class="{ 'scale-down': isScaleDown }"
|
<div class="r_list" :class="{ 'scale-down': isScaleDown }" :style="{ backgroundColor: tabIndex == 0 ? '#fff' : '#F7F8FA' }">
|
||||||
:style="{ backgroundColor: tabIndex == 0 ? '#fff' : '#F7F8FA' }">
|
<!-- <Dingqibaogao v-if="tabIndex == 0" :data="dingqiList" :total="total"
|
||||||
<Dingqibaogao v-if="tabIndex == 0" :data="dingqiList" :total="total"
|
@getData="getLogoutReportPageFn"> </Dingqibaogao> -->
|
||||||
@getData="getLogoutReportPageFn"> </Dingqibaogao>
|
<Yuqingkanban v-if="tabIndex == 1" :data="yuqingkanban" :total="total" @getData="getLogoutYqPageFn"> </Yuqingkanban>
|
||||||
<Yuqingkanban v-if="tabIndex == 1" :data="yuqingkanban" :total="total" @getData="getLogoutYqPageFn">
|
|
||||||
</Yuqingkanban>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -325,10 +324,9 @@ onUnmounted(() => {
|
||||||
|
|
||||||
.top_menu {
|
.top_menu {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
margin-left: 50px;
|
margin-right: 50px;
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 50px;
|
gap: 50px;
|
||||||
margin-left: 100px;
|
|
||||||
|
|
||||||
.item {
|
.item {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
|
||||||
|
|
@ -3,30 +3,29 @@
|
||||||
<img src="../../../assets/homenew/web_bg.png" class="web_bg scale-1" />
|
<img src="../../../assets/homenew/web_bg.png" class="web_bg scale-1" />
|
||||||
|
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<div
|
<div class="content_nol">
|
||||||
class="r_esg"
|
<Title title="企业舆情" />
|
||||||
v-if="
|
|
||||||
Session.get('roleName') == 'common' ||
|
|
||||||
Session.get('roleName') == 'subCommon' ||
|
|
||||||
Session.get('roleName') == 'subCenter' ||
|
|
||||||
Session.get('roleName') == 'operate' ||
|
|
||||||
Session.get('roleName') == 'Director' ||
|
|
||||||
Session.get('roleName') == 'Bank' ||
|
|
||||||
Session.get('roleName') == 'SubBank'
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<img src="../../../assets/homenew/ESGbanner_pic.png" class="esg_bg" />
|
|
||||||
|
|
||||||
<div class="esg_content">
|
<div class="yuqing">
|
||||||
<div>
|
<div class="yuqing_left">
|
||||||
<text class="esg_title blue">ESG服务</text>
|
<text class="yqleft_title">舆情服务</text>
|
||||||
<text class="esg_title">重磅推出</text>
|
<text class="yqleft_content">中证智能财保舆情服务为企业提供负面舆情信息、竞对舆情、行业板块舆情信息。</text>
|
||||||
|
<text class="yqleft_button" @click="goYuqing">点击进入</text>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="yuqing_right">
|
||||||
|
<div v-if="yqList && yqList.length > 0" class="yqright_item" v-for="(item, index) in yqList" :key="index">
|
||||||
|
<div @click="clickYuqing(item)" style="display: flex; align-items: center">
|
||||||
|
<img src="../../../assets/homenew/tag_blue.png" />
|
||||||
|
<text class="yqright_title">{{ item.subject }}</text>
|
||||||
|
</div>
|
||||||
|
<text class="yqright_time">{{ item.postTime }}</text>
|
||||||
|
</div>
|
||||||
|
<div v-else class="empty" style="margin-top: 40px">
|
||||||
|
<img src="../../../assets/homenew/nonews_icon.png" class="icon_empty" />
|
||||||
|
<text class="empty_text">暂无最新信息</text>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<text class="esg_sub_title">
|
|
||||||
中证智能财保ESG数字服务作为一个创新的数字化工具,采用与国际接轨的算法逻辑,为企业提供360°ESG综合服务。企业通过平台的
|
|
||||||
ESG“自评”“自检”和“自诊断”的功能模块,可以了解自身ESG综合表现情况,获得较为全面的诊断报告。
|
|
||||||
</text>
|
|
||||||
<div class="esg_button" @click="goEsg">点击进入</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -58,29 +57,30 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="content_nol">
|
<div
|
||||||
<Title title="企业舆情" />
|
class="r_esg"
|
||||||
|
v-if="
|
||||||
|
Session.get('roleName') == 'common' ||
|
||||||
|
Session.get('roleName') == 'subCommon' ||
|
||||||
|
Session.get('roleName') == 'subCenter' ||
|
||||||
|
Session.get('roleName') == 'operate' ||
|
||||||
|
Session.get('roleName') == 'Director' ||
|
||||||
|
Session.get('roleName') == 'Bank' ||
|
||||||
|
Session.get('roleName') == 'SubBank'
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<img src="../../../assets/homenew/ESGbanner_pic.png" class="esg_bg" />
|
||||||
|
|
||||||
<div class="yuqing">
|
<div class="esg_content">
|
||||||
<div class="yuqing_left">
|
<div>
|
||||||
<text class="yqleft_title">舆情服务</text>
|
<text class="esg_title blue">ESG自评测</text>
|
||||||
<text class="yqleft_content">中证智能财保舆情服务为企业提供负面舆情信息、竞对舆情、行业板块舆情信息。</text>
|
<text class="esg_title">重磅推出</text>
|
||||||
<text class="yqleft_button" @click="goYuqing">点击进入</text>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="yuqing_right">
|
|
||||||
<div v-if="yqList && yqList.length > 0" class="yqright_item" v-for="(item, index) in yqList" :key="index">
|
|
||||||
<div @click="clickYuqing(item)" style="display: flex; align-items: center">
|
|
||||||
<img src="../../../assets/homenew/tag_blue.png" />
|
|
||||||
<text class="yqright_title">{{ item.subject }}</text>
|
|
||||||
</div>
|
|
||||||
<text class="yqright_time">{{ item.postTime }}</text>
|
|
||||||
</div>
|
|
||||||
<div v-else class="empty" style="margin-top: 40px">
|
|
||||||
<img src="../../../assets/homenew/nonews_icon.png" class="icon_empty" />
|
|
||||||
<text class="empty_text">暂无最新信息</text>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<text class="esg_sub_title">
|
||||||
|
中证智能财保ESG数字服务作为一个创新的数字化工具,采用与国际接轨的算法逻辑,为企业提供360°ESG综合服务。企业通过平台的
|
||||||
|
ESG“自评”“自检”和“自诊断”的功能模块,可以了解自身ESG综合表现情况,获得较为全面的诊断报告。
|
||||||
|
</text>
|
||||||
|
<div class="esg_button" @click="goEsg">点击进入</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -118,7 +118,7 @@
|
||||||
"
|
"
|
||||||
style="max-width: 300px; margin-top: 20px; margin-bottom: 20px; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1)"
|
style="max-width: 300px; margin-top: 20px; margin-bottom: 20px; box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1)"
|
||||||
>
|
>
|
||||||
<moudle title="海外行情" @jumpUrl="jumpHaiwaiUrl" v-if="Session.get('userData').accountType != 1" paddingBottom="0px">
|
<moudle title="海外资讯" @jumpUrl="jumpHaiwaiUrl" v-if="Session.get('userData').accountType != 1" paddingBottom="0px">
|
||||||
<RankList
|
<RankList
|
||||||
:newsList="newsList"
|
:newsList="newsList"
|
||||||
:needExp="false"
|
:needExp="false"
|
||||||
|
|
@ -171,9 +171,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<!-- <div>
|
||||||
<img src="../../../assets/homenew/advertisement_pic_2.png" class="right_ad" />
|
<img src="../../../assets/homenew/advertisement_pic_2.png" class="right_ad" />
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -575,7 +575,7 @@ onUnmounted(() => {
|
||||||
|
|
||||||
.scale-1 {
|
.scale-1 {
|
||||||
/* 缩放内容 */
|
/* 缩放内容 */
|
||||||
transform: scale(1.5);
|
transform: scale(1);
|
||||||
/* 计算缩放后的偏移量,使内容居中 */
|
/* 计算缩放后的偏移量,使内容居中 */
|
||||||
/* 调整容器宽度,避免边缘被截断 */
|
/* 调整容器宽度,避免边缘被截断 */
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
|
@ -587,6 +587,7 @@ onUnmounted(() => {
|
||||||
position: relative;
|
position: relative;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
|
||||||
.left {
|
.left {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="head">
|
<div class="head">
|
||||||
<div class="main-title">财报检校(试验)</div>
|
<div class="mb20">
|
||||||
|
<el-breadcrumb separator="/" class="font16">
|
||||||
|
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>智能检校</el-breadcrumb-item>
|
||||||
|
</el-breadcrumb>
|
||||||
|
</div>
|
||||||
<div class="sub-title">仅供试验使用,此处的财报分析不计入业务看板统计</div>
|
<div class="sub-title">仅供试验使用,此处的财报分析不计入业务看板统计</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
|
|
@ -769,6 +774,9 @@ async function reSendFile(row) {
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.container {
|
.container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: url('/@/assets/images/bk_charts1.png') #f5f7fd no-repeat center 0;
|
||||||
|
background-size: 100% auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-form-item--large .el-form-item__label) {
|
:deep(.el-form-item--large .el-form-item__label) {
|
||||||
|
|
@ -818,7 +826,7 @@ async function reSendFile(row) {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-height: calc(100vh - 65px);
|
min-height: calc(100vh - 65px);
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
background: url('/@/assets/images/bk_charts.png') no-repeat center 0;
|
// background: url('/@/assets/images/bk_charts.png') no-repeat center 0;
|
||||||
// padding-bottom: 24px;
|
// padding-bottom: 24px;
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,22 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="container" v-show="hadRole">
|
<div class="container" v-show="hadRole">
|
||||||
<div class="bk"></div>
|
|
||||||
<div :class="{ 'scale-down': isScaleDown }">
|
<div :class="{ 'scale-down': isScaleDown }">
|
||||||
<div class="r_title">
|
<div class="r_title">
|
||||||
<text class="title">企业舆情</text>
|
<div class="mb30">
|
||||||
|
<el-breadcrumb separator="/" class="font16">
|
||||||
|
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item v-permissions="['common', 'subCommon']">企业舆情</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item
|
||||||
|
v-permissions="['Director', 'subCenter', 'operate', 'Director', 'Bank', 'SubBank', 'QJJG', 'QJJGC', 'JYS', 'JYSC', 'DFJG', 'DFJGC']"
|
||||||
|
:to="{ path: '/yuqingFLS' }"
|
||||||
|
>企业舆情</el-breadcrumb-item
|
||||||
|
>
|
||||||
|
<el-breadcrumb-item
|
||||||
|
v-permissions="['Director', 'subCenter', 'operate', 'Director', 'Bank', 'SubBank', 'QJJG', 'QJJGC', 'JYS', 'JYSC', 'DFJG', 'DFJGC']"
|
||||||
|
>企业舆情详情</el-breadcrumb-item
|
||||||
|
>
|
||||||
|
</el-breadcrumb>
|
||||||
|
</div>
|
||||||
<div class="r_input">
|
<div class="r_input">
|
||||||
<input
|
<input
|
||||||
v-if="form.pageType == 0"
|
v-if="form.pageType == 0"
|
||||||
|
|
@ -109,11 +122,11 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<moudle title="海外行情" @jumpUrl="jumpHaiwaiUrl" v-if="Session.get('userData').accountType != 1" paddingBottom="0px">
|
<!-- <moudle title="海外资讯" @jumpUrl="jumpHaiwaiUrl" v-if="Session.get('userData').accountType != 1" paddingBottom="0px">
|
||||||
<RankList :newsList="newsList" :needExp="false" style="margin-top: 15px"></RankList>
|
<RankList :newsList="newsList" :needExp="false" style="margin-top: 15px"></RankList>
|
||||||
</moudle>
|
</moudle> -->
|
||||||
|
|
||||||
<moudle title="概念题材" :type="2" :companyId="companyId" :style="{ marginTop: Session.get('userData').accountType != 1 ? '30px' : '0px' }">
|
<moudle title="概念题材" :type="2" :companyId="companyId" :style="{ marginTop: Session.get('userData').accountType != 1 ? '0' : '0px' }">
|
||||||
<wordcloud :data="cloudWordList" style="margin-top: 20px"></wordcloud>
|
<wordcloud :data="cloudWordList" style="margin-top: 20px"></wordcloud>
|
||||||
</moudle>
|
</moudle>
|
||||||
|
|
||||||
|
|
@ -537,20 +550,9 @@ $list_max_width: 1400px;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-top: 60px;
|
padding-top: 24px;
|
||||||
}
|
background: url('/@/assets/images/bk_charts1.png') #f5f7fd no-repeat center 0;
|
||||||
|
background-size: 100% auto;
|
||||||
.bk {
|
|
||||||
width: 100%;
|
|
||||||
background: url('/@/assets/yuqingNew/home_bg.png') no-repeat center 0;
|
|
||||||
height: 300px;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
text-align: center;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.r_input {
|
.r_input {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
|
<div class="container">
|
||||||
|
<div class="mb20" style="width: 1200px; margin: 0 auto">
|
||||||
|
<el-breadcrumb separator="/" class="font16">
|
||||||
|
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
|
||||||
|
<el-breadcrumb-item>企业舆情</el-breadcrumb-item>
|
||||||
|
</el-breadcrumb>
|
||||||
|
</div>
|
||||||
<div class="all" v-loading="loading">
|
<div class="all" v-loading="loading">
|
||||||
<div class="bk">
|
<div class="bk">
|
||||||
<text class="title">企业舆情</text>
|
|
||||||
<div class="r_input">
|
<div class="r_input">
|
||||||
<el-dropdown trigger="click" @command="handleCommand" style="margin-left: 15px">
|
<el-dropdown trigger="click" @command="handleCommand" style="margin-left: 15px">
|
||||||
<div class="el-dropdown-link" style="cursor: pointer">
|
<div class="el-dropdown-link" style="cursor: pointer">
|
||||||
|
|
@ -113,6 +119,7 @@
|
||||||
<ZxList ref="zxListRef"></ZxList>
|
<ZxList ref="zxListRef"></ZxList>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
|
@ -247,10 +254,19 @@ onMounted(() => {
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
@import url('/@/theme/page/page.scss');
|
@import url('/@/theme/page/page.scss');
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
background: url('/@/assets/images/bk_charts1.png') #f5f7fd no-repeat center 0;
|
||||||
|
background-size: 100% auto;
|
||||||
|
// padding-bottom: 24px;
|
||||||
|
padding: 20px 0 32px;
|
||||||
|
min-height: calc(100vh - 56px);
|
||||||
|
}
|
||||||
|
|
||||||
.all {
|
.all {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
height: 100vh;
|
min-height: 100vh;
|
||||||
background-color: #f2f3f5;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
@ -259,8 +275,7 @@ onMounted(() => {
|
||||||
|
|
||||||
.bk {
|
.bk {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: url('/@/assets/images/bk_charts.png') no-repeat center 0;
|
height: 140px;
|
||||||
height: 200px;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue