feat: 服务、需求市场调整
This commit is contained in:
parent
b933da492c
commit
53517b4594
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.2 MiB |
@ -4,7 +4,7 @@
|
|||||||
<div class="footer-box">
|
<div class="footer-box">
|
||||||
<div class="footer-box-1">
|
<div class="footer-box-1">
|
||||||
<div class="font-semibold flex items-center btjs-title btjs-title-18">
|
<div class="font-semibold flex items-center btjs-title btjs-title-18">
|
||||||
<logo size=30 />平台介绍
|
<logo :size="30" />平台介绍
|
||||||
</div>
|
</div>
|
||||||
<p class="btjs-text text-gray-400">
|
<p class="btjs-text text-gray-400">
|
||||||
{{ APP_INTRODUCTION1 }}
|
{{ APP_INTRODUCTION1 }}
|
||||||
|
|||||||
422
txw-mhzc-web/src/pages/index/components/nav/index2.vue
Normal file
422
txw-mhzc-web/src/pages/index/components/nav/index2.vue
Normal file
@ -0,0 +1,422 @@
|
|||||||
|
<template>
|
||||||
|
<!-- 顶部菜单栏 -->
|
||||||
|
<div class="nav-box">
|
||||||
|
<div class="logo-box">
|
||||||
|
<img src="@/pages/index/assets/logo-name.png">
|
||||||
|
</div>
|
||||||
|
<div class="menu-box">
|
||||||
|
|
||||||
|
<div v-for="(menu,index) in menuOptions" :key="index">
|
||||||
|
<t-dropdown v-if="menu.child" trigger="hover" :options="menu.child" @click="handleDropdownClick">
|
||||||
|
<div class="menu-title" :class="{'meun-title-active': curPage == menu.name ,'meun-title-disable':menu.disable}" @click="gotoIfreamPage(menu)">
|
||||||
|
<img v-if="menu.icon" :src="menu.icon" width="24px" height="24px" style="margin-right:10px">
|
||||||
|
<span> {{menu.title}} </span>
|
||||||
|
</div>
|
||||||
|
</t-dropdown>
|
||||||
|
<div v-else class="menu-title" :class="{'meun-title-active': curPage == menu.name ,'meun-title-disable':menu.disable}" @click="gotoIfreamPage(menu)">
|
||||||
|
<img v-if="menu.icon" :src="menu.icon" width="24px" height="24px" style="margin-right:10px">
|
||||||
|
<span> {{menu.title}} </span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div v-if="loginFlag" class="option-box">
|
||||||
|
<div class="gzt">
|
||||||
|
<img src="@/pages/index/assets/home-gzt-icon.png" />
|
||||||
|
<span> 工作台</span>
|
||||||
|
</div>
|
||||||
|
<div style="margin-left:20px; cursor: pointer;" @click="goyhzx">用户中心</div>
|
||||||
|
<div>|</div>
|
||||||
|
<div style="cursor: pointer;" @click="logoutHandler">退出登录</div>
|
||||||
|
</div>
|
||||||
|
<div v-else class="option-box">
|
||||||
|
<div class="gzt">
|
||||||
|
<img src="@/pages/index/assets/home-gzt-icon.png" />
|
||||||
|
<span> 工作台</span>
|
||||||
|
</div>
|
||||||
|
<div style="margin-left:20px; cursor: pointer;">激活</div>
|
||||||
|
<div>|</div>
|
||||||
|
<div style="cursor: pointer;" @click="gologin">登录</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { logout, authorize, init } from '@/pages/index/api/login';
|
||||||
|
import api from '@/pages/index/api/gxzx/index.js';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'Nav',
|
||||||
|
props: {
|
||||||
|
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
curPage: "home",
|
||||||
|
loginFlag: false, //是否已完成登录
|
||||||
|
|
||||||
|
menuOptions: [
|
||||||
|
{
|
||||||
|
name: 'home',
|
||||||
|
title: '首页',
|
||||||
|
icon: require('@/pages/index/assets/nav-home.png'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'tzzx',
|
||||||
|
title: '碳证中心',
|
||||||
|
iframeUrl: 'https://ctn-web-pre.lingshu.net/carbon-index',
|
||||||
|
needLogin: true,
|
||||||
|
clientId: 'client_id_tfwzx',//单点登录接入子系统的标识,由txw_sso_client表配置
|
||||||
|
child: [
|
||||||
|
{
|
||||||
|
name: 'tzcx',
|
||||||
|
title: '碳证查询',
|
||||||
|
value: 'tzcx', //菜单显示需要,同name
|
||||||
|
content: '碳证查询', //菜单显示需要,同title
|
||||||
|
divider: true, //是否显示子菜单分割线
|
||||||
|
needLogin: true, //是否需要登录才能访问
|
||||||
|
clientId: 'client_id_tfwzx',
|
||||||
|
// iframeUrl: 'https://ctn-web-pre.lingshu.net/trustedCarbonQuery/index', //外部系统链接地址
|
||||||
|
iframeUrl: 'https://ctn-web-pre.lingshu.net/trustedCarbonQuery/list?type=carbon-query', //外部系统链接地址
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'tsjfcg',
|
||||||
|
title: '碳数据防篡改',
|
||||||
|
value: 'tsjfcg',
|
||||||
|
content: '碳数据防篡改',
|
||||||
|
divider: true,
|
||||||
|
needLogin: true,
|
||||||
|
clientId: 'client_id_tfwzx',
|
||||||
|
iframeUrl: 'https://ctn-web-pre.lingshu.net/carbon-protection',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'tzhy',
|
||||||
|
title: '碳证核验',
|
||||||
|
value: 'tzhy',
|
||||||
|
content: '碳证核验',
|
||||||
|
divider: true,
|
||||||
|
needLogin: true,
|
||||||
|
clientId: 'client_id_tfwzx',
|
||||||
|
iframeUrl: 'https://ctn-web-pre.lingshu.net/carbon-verify',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'tgbcz',
|
||||||
|
title: '碳报告存证',
|
||||||
|
value: 'tgbcz',
|
||||||
|
content: '碳报告存证',
|
||||||
|
divider: true,
|
||||||
|
needLogin: true,
|
||||||
|
clientId: 'client_id_tfwzx',
|
||||||
|
iframeUrl: 'https://ctn-web-pre.lingshu.net/carbon-report-cert',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'tbgtg',
|
||||||
|
title: '碳报告托管:',
|
||||||
|
value: 'tgbcz',
|
||||||
|
content: '碳报告存证',
|
||||||
|
divider: true,
|
||||||
|
needLogin: true,
|
||||||
|
clientId: 'client_id_tfwzx',
|
||||||
|
iframeUrl: 'https://ctn-web-pre.lingshu.net/carbon-report-hosting',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'fwsc',
|
||||||
|
title: '服务中心',
|
||||||
|
child: [
|
||||||
|
{
|
||||||
|
name: 'tfwsc',
|
||||||
|
title: '碳服务市场',
|
||||||
|
value: 'tfwsc',
|
||||||
|
content: '碳服务市场',
|
||||||
|
divider: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'tjrsc',
|
||||||
|
title: '碳金融市场',
|
||||||
|
value: 'tjrsc',
|
||||||
|
content: '碳金融市场',
|
||||||
|
divider: true,
|
||||||
|
}, {
|
||||||
|
name: 'txqsc',
|
||||||
|
title: '碳需求市场',
|
||||||
|
value: 'txqsc',
|
||||||
|
content: '碳需求市场',
|
||||||
|
divider: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'tsjsc',
|
||||||
|
title: '碳数据市场',
|
||||||
|
value: 'tsjsc',
|
||||||
|
content: '碳数据市场',
|
||||||
|
divider: true,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'gxnl',
|
||||||
|
title: '共性能力',
|
||||||
|
disable: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'qych',
|
||||||
|
title: '企业出海',
|
||||||
|
disable: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'hyzt',
|
||||||
|
title: '行业专题',
|
||||||
|
disable: true
|
||||||
|
},
|
||||||
|
]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
// this.gettfwzxurl();
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
// this.gettfwzxurl();
|
||||||
|
console.log('newUrl', this.$route);
|
||||||
|
this.newUrl = this.$route.query.newUrl;
|
||||||
|
this.nowurl = this.newUrl || '/view/mhzc/home';
|
||||||
|
if (this.$route.name == 'yhzx') {
|
||||||
|
this.nowurl = '/yhzx';
|
||||||
|
}
|
||||||
|
if (this.$route.name == 'newsCenter') {
|
||||||
|
this.nowurl = '/yhzx';
|
||||||
|
}
|
||||||
|
|
||||||
|
const sfdl = window.sessionStorage.getItem('sfdl');
|
||||||
|
if (sfdl) {
|
||||||
|
this.loginFlag = true;
|
||||||
|
this.getWdxxCount();
|
||||||
|
} else {
|
||||||
|
this.loginFlag = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeUnmount() { },
|
||||||
|
methods: {
|
||||||
|
//子菜单点击方法
|
||||||
|
handleDropdownClick(menu) {
|
||||||
|
this.gotoIfreamPage(menu); // 直接把子菜单项传入跳转方法
|
||||||
|
},
|
||||||
|
|
||||||
|
gotoIfreamPage(menu) {
|
||||||
|
console.log("当前菜单配置:", menu)
|
||||||
|
|
||||||
|
//判断页面是否开放
|
||||||
|
if (menu.disable) {
|
||||||
|
this.$dialog.alert({
|
||||||
|
header: '提示',
|
||||||
|
body: '该功能暂未开放。',
|
||||||
|
confirmBtn: null
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
//判断页面是否需要登录
|
||||||
|
console.log("当前页面是否需要登录:", menu.needLogin)
|
||||||
|
if (menu.needLogin) {
|
||||||
|
const sfdl = window.sessionStorage.getItem('sfdl'); //是否登录
|
||||||
|
console.log("是否已经登录登录:", sfdl)
|
||||||
|
if (!sfdl) {
|
||||||
|
this.$router.push("/login")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.curPage = menu.name;
|
||||||
|
let iframeUrl = menu.iframeUrl;
|
||||||
|
if (iframeUrl) {
|
||||||
|
//调用login.js内的authorize方法
|
||||||
|
this.$emit('gotoIfreamPage', iframeUrl);
|
||||||
|
} else {
|
||||||
|
this.$emit('gotoPage', this.curPage);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
gonewCenter() {
|
||||||
|
window.location.href = `/view/mhzc/yhzx?activeCompo=ggwhgl`;
|
||||||
|
},
|
||||||
|
async getWdxxCount() {
|
||||||
|
try {
|
||||||
|
// const res = await getMxjbxx(prame);
|
||||||
|
const { data } = await api.getWdxxCount();
|
||||||
|
this.xxtxCount = data;
|
||||||
|
console.log('res', data);
|
||||||
|
} catch (error) {
|
||||||
|
this.xxtxCount = 0;
|
||||||
|
console.error('数据加载失败', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async gettfwzxurl() {
|
||||||
|
try {
|
||||||
|
// const res = await getMxjbxx(prame);
|
||||||
|
const { data } = await api.tfwzxurl();
|
||||||
|
this.kxurl = data.kxtfwzx;
|
||||||
|
console.log('res', data);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('数据加载失败', error);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
gologin() {
|
||||||
|
this.$router.push("/login")
|
||||||
|
// window.location.href = `/view/mhzc/login`;
|
||||||
|
},
|
||||||
|
|
||||||
|
goyhzx() {
|
||||||
|
this.$router.push("/yhzx")
|
||||||
|
// window.location.href = `/view/mhzc/yhzx`;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
goSelfChange(menuParams) {
|
||||||
|
const sfdl = window.sessionStorage.getItem('sfdl');
|
||||||
|
if (!sfdl) {
|
||||||
|
if (menuParams == this.kxurl) {
|
||||||
|
window.location.href = `/view/mhzc/login`;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (menuParams == '/view/gxzx/gxzx') {
|
||||||
|
window.location.href = `/view/mhzc/login`;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(11111, this.nowurl, menuParams);
|
||||||
|
this.nowurl = menuParams;
|
||||||
|
if (menuParams == '/view/mhzc/home') {
|
||||||
|
window.location.href = `/view/mhzc/home`;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log('menuParams', menuParams);
|
||||||
|
// return
|
||||||
|
this.$router.replace({
|
||||||
|
path: '/mhsy/mhNewMain',
|
||||||
|
name: 'mhNewMain', // name为必填项,没有则参数无法传递
|
||||||
|
query: {
|
||||||
|
newUrl: menuParams,
|
||||||
|
// parmasStr: menuParams.menuParmasStr,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
// return;
|
||||||
|
if (this.newUrl) {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
grxxisShow() {
|
||||||
|
if (!this.hoverxxzxTimeout) {
|
||||||
|
this.hoverxxzxTimeout = setTimeout(() => {
|
||||||
|
this.grxxShow = true;
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
headMouseLeave() {
|
||||||
|
clearTimeout(this.hoverxxzxTimeout);
|
||||||
|
this.hoverxxzxTimeout = null;
|
||||||
|
this.grxxShow = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
async logoutHandler() {
|
||||||
|
const res = await logout();
|
||||||
|
const resVO = res.data;
|
||||||
|
if (resVO.dcdz) {
|
||||||
|
resVO.forEach((item) => {
|
||||||
|
const { token } = item;
|
||||||
|
const { dcdz } = item;
|
||||||
|
axios.get(
|
||||||
|
dcdz,
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
headers: {
|
||||||
|
'Admin-Token': token,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
sessionStorage.removeItem('sfdl');
|
||||||
|
sessionStorage.removeItem('yhxx');
|
||||||
|
window.location.href = `/view/mhzc/login`;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="css" scoped>
|
||||||
|
.nav-box {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
|
||||||
|
z-index: 9999;
|
||||||
|
|
||||||
|
display: grid;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
color: #fff;
|
||||||
|
background: #009a29;
|
||||||
|
grid-template-columns: 1fr 2fr 1fr;
|
||||||
|
place-items: center;
|
||||||
|
}
|
||||||
|
.logo-box {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.option-box {
|
||||||
|
display: flex;
|
||||||
|
height: 64px;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: regular;
|
||||||
|
font-weight: 400;
|
||||||
|
letter-spacing: 0%;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
leading-trim: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.option-box .gzt {
|
||||||
|
display: flex;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
background: rgba(255, 255, 255, 0.3);
|
||||||
|
border-radius: 6px;
|
||||||
|
justify-content: space-around;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-box {
|
||||||
|
display: grid;
|
||||||
|
width: 100%;
|
||||||
|
height: 64px;
|
||||||
|
font-size: 16px;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-title {
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
width: 96px;
|
||||||
|
height: 64px;
|
||||||
|
line-height: 24px;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meun-title-active {
|
||||||
|
background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 100%);
|
||||||
|
border-bottom: 2px solid #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meun-title-disable {
|
||||||
|
cursor: not-allowed !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -15,7 +15,16 @@ import './assets/css/theme.css';
|
|||||||
|
|
||||||
const storeGlobalTypes = Vue.prototype.$storeGlobalTypes;
|
const storeGlobalTypes = Vue.prototype.$storeGlobalTypes;
|
||||||
|
|
||||||
|
|
||||||
|
MessagePlugin.config({
|
||||||
|
placement: 'top', // 位置:top/center
|
||||||
|
offset: [0, 80], // [ 水平偏移,垂直偏移] → 顶部80px
|
||||||
|
zIndex: 9999 // 层级
|
||||||
|
});
|
||||||
|
|
||||||
Vue.prototype.$message = MessagePlugin;
|
Vue.prototype.$message = MessagePlugin;
|
||||||
|
|
||||||
|
|
||||||
Vue.use(GgzcWeb, { store, extSettings });
|
Vue.use(GgzcWeb, { store, extSettings });
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,14 @@ import VueRouter from 'vue-router';
|
|||||||
import { hasLogin } from '@/pages/index/api/login';
|
import { hasLogin } from '@/pages/index/api/login';
|
||||||
import routes from './routes';
|
import routes from './routes';
|
||||||
|
|
||||||
|
import Main from '@/pages/index/views/main.vue'
|
||||||
|
// import Home2 from '@/pages/index/views/home2/index.vue'
|
||||||
|
// import login from '@/pages/index/views/login/login.vue'
|
||||||
|
// import yhzx from '@/pages/index/views/glxtSy/glxtSy.vue'
|
||||||
|
// import authorize from '@/pages/index/views/dddl/authorize.vue' //单点登录跳转中间页
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Vue.use(VueRouter);
|
Vue.use(VueRouter);
|
||||||
|
|
||||||
const baseRoutes = [
|
const baseRoutes = [
|
||||||
@ -12,15 +20,42 @@ const baseRoutes = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
routes.push(...baseRoutes);
|
|
||||||
|
|
||||||
|
const mainRoutes = {
|
||||||
|
path: '/',
|
||||||
|
component: Main,
|
||||||
|
name: 'main',
|
||||||
|
redirect: { name: 'home' },
|
||||||
|
meta: { title: '主入口整体布局' },
|
||||||
|
children: routes,
|
||||||
|
// [
|
||||||
|
// // // 通过meta对象设置路由展示方式
|
||||||
|
// // // 1. isTab: 是否通过tab展示内容, true: 是, false: 否
|
||||||
|
// // // 2. iframeUrl: 是否通过iframe嵌套展示内容, '以http[s]://开头': 是, '': 否
|
||||||
|
// // // 提示: 如需要通过iframe嵌套展示内容, 但不通过tab打开, 请自行创建组件使用iframe处理!
|
||||||
|
// { path: 'home', component: Home2, name: 'home', meta: { title: '首页' } },
|
||||||
|
// { path: 'login', component: login, name: 'login', meta: { title: '登录' } },
|
||||||
|
// { path: 'yhzx', component: yhzx, name: 'yhzx', meta: { title: '用户中心' } },
|
||||||
|
|
||||||
|
// ],
|
||||||
|
beforeEnter(to, from, next) {
|
||||||
|
// let token = Vue.cookie.get('token')
|
||||||
|
// if (!token || !/\S/.test(token)) {
|
||||||
|
// clearLoginInfo()
|
||||||
|
// next({ name: 'login' })
|
||||||
|
// }
|
||||||
|
next()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// routes.push(...baseRoutes);
|
||||||
|
// routes.push(mainRoutes);
|
||||||
|
|
||||||
const router = new VueRouter({
|
const router = new VueRouter({
|
||||||
mode: 'history',
|
mode: 'history',
|
||||||
base: `${window.STATIC_ENV_CONFIG.ROUTER_PREFIX}/`,
|
base: `${window.STATIC_ENV_CONFIG.ROUTER_PREFIX}/`,
|
||||||
routes: [...routes],
|
routes: [mainRoutes],
|
||||||
scrollBehavior(_to, _from, _savedPosition) {
|
|
||||||
return { x: 0, y: 0 };
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
router.beforeEach((to, from, next) => {
|
router.beforeEach((to, from, next) => {
|
||||||
|
|||||||
@ -2,11 +2,11 @@ function login() {
|
|||||||
return import(/* webpackChunkName: "sbfdemo" */ '@/pages/index/views/login/login.vue');
|
return import(/* webpackChunkName: "sbfdemo" */ '@/pages/index/views/login/login.vue');
|
||||||
}
|
}
|
||||||
function home() {
|
function home() {
|
||||||
return import(/* webpackChunkName: "sbfdemo" */ '@/pages/index/views/home/index.vue');
|
|
||||||
}
|
|
||||||
function home2() {
|
|
||||||
return import(/* webpackChunkName: "sbfdemo" */ '@/pages/index/views/home2/index.vue');
|
return import(/* webpackChunkName: "sbfdemo" */ '@/pages/index/views/home2/index.vue');
|
||||||
}
|
}
|
||||||
|
// function home2() {
|
||||||
|
// return import(/* webpackChunkName: "sbfdemo" */ '@/pages/index/views/home2/index.vue');
|
||||||
|
// }
|
||||||
function yhzx() {
|
function yhzx() {
|
||||||
return import(/* webpackChunkName: "sbfdemo" */ '@/pages/index/views/glxtSy/glxtSy.vue');
|
return import(/* webpackChunkName: "sbfdemo" */ '@/pages/index/views/glxtSy/glxtSy.vue');
|
||||||
}
|
}
|
||||||
@ -66,6 +66,33 @@ function sjlbc() {
|
|||||||
function fwscIndex() {
|
function fwscIndex() {
|
||||||
return import(/* webpackChunkName: "fwsc" */ '@/pages/index/views/fwsc/index.vue');
|
return import(/* webpackChunkName: "fwsc" */ '@/pages/index/views/fwsc/index.vue');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//企业认证
|
||||||
|
function qyrenzheng() {
|
||||||
|
return import('@/pages/index/views/qyrz/index.vue');
|
||||||
|
}
|
||||||
|
//企业入驻
|
||||||
|
function qyruzhu() {
|
||||||
|
return import('@/pages/index/views/qy-rz/index.vue');
|
||||||
|
}
|
||||||
|
//碳服务供给
|
||||||
|
function tfwgj() {
|
||||||
|
return import('@/pages/index/views/gxfb/tfwgj.vue');
|
||||||
|
}
|
||||||
|
|
||||||
|
//碳服务需求
|
||||||
|
function tfwxq() {
|
||||||
|
return import('@/pages/index/views/gxfb/tfwxq.vue');
|
||||||
|
}
|
||||||
|
|
||||||
|
//绿色交易
|
||||||
|
function lsjy() {
|
||||||
|
return import('@/pages/index/views/lsjy/lsjy.vue');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export default [
|
export default [
|
||||||
{
|
{
|
||||||
name: 'login',
|
name: 'login',
|
||||||
@ -104,19 +131,19 @@ export default [
|
|||||||
needLogin: false,
|
needLogin: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
name: 'home2',
|
// name: 'home2',
|
||||||
path: '/home2',
|
// path: '/home2',
|
||||||
component: home2,
|
// component: home2,
|
||||||
meta: {
|
// meta: {
|
||||||
title: '首页',
|
// title: '首页',
|
||||||
isShowSideBar: false,
|
// isShowSideBar: false,
|
||||||
hasHome: true,
|
// hasHome: true,
|
||||||
breadCrumbs: [{ title: '首页', to: '/home2' }],
|
// breadCrumbs: [{ title: '首页', to: '/home2' }],
|
||||||
disableBack: true,
|
// disableBack: true,
|
||||||
needLogin: false,
|
// needLogin: false,
|
||||||
},
|
// },
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
name: 'yhzx',
|
name: 'yhzx',
|
||||||
path: '/yhzx',
|
path: '/yhzx',
|
||||||
@ -128,6 +155,14 @@ export default [
|
|||||||
breadCrumbs: [{ title: '用户中心', to: '/yhzx' }],
|
breadCrumbs: [{ title: '用户中心', to: '/yhzx' }],
|
||||||
disableBack: true,
|
disableBack: true,
|
||||||
},
|
},
|
||||||
|
children: [
|
||||||
|
{ path: 'qyrenzheng', component: qyrenzheng, name: 'qyrenzheng', meta: { title: '企业认证' } },
|
||||||
|
{ path: 'qyruzhu', component: qyruzhu, name: 'qyruzhu', meta: { title: '企业入驻' } },
|
||||||
|
{ path: 'tfwgj', component: tfwgj, name: 'tfwgj', meta: { title: '碳服务供给' } },
|
||||||
|
{ path: 'tfwxq', component: tfwxq, name: 'tfwxq', meta: { title: '碳服务需求' } },
|
||||||
|
{ path: 'ggwhgl', component: newsCenter, name: 'ggwhgl', meta: { title: '消息中心' } },
|
||||||
|
{ path: 'lsjy', component: lsjy, name: 'lsjy', meta: { title: '绿色交易' } },
|
||||||
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'newsCenter',
|
name: 'newsCenter',
|
||||||
@ -167,62 +202,62 @@ export default [
|
|||||||
component: hyzt,
|
component: hyzt,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'fwsc-fwsc',
|
name: 'tfwsc',
|
||||||
path: '/fwsc/fwsc',
|
path: '/tfwsc',
|
||||||
component: fwsc,
|
component: fwsc,
|
||||||
meta: {
|
meta: {
|
||||||
title: '碳服务市场',
|
title: '碳服务市场',
|
||||||
isShowSideBar: false,
|
isShowSideBar: false,
|
||||||
hasHome: true,
|
hasHome: true,
|
||||||
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳服务市场', to: '/fwsc/fwsc' }],
|
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳服务市场', to: '/tfwsc' }],
|
||||||
disableBack: true,
|
disableBack: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'jrsc',
|
name: 'tjrsc',
|
||||||
path: '/fwsc/jrsc',
|
path: '/tjrsc',
|
||||||
component: jrsc,
|
component: jrsc,
|
||||||
meta: {
|
meta: {
|
||||||
title: '碳金融市场',
|
title: '碳金融市场',
|
||||||
isShowSideBar: false,
|
isShowSideBar: false,
|
||||||
hasHome: true,
|
hasHome: true,
|
||||||
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳金融市场', to: '/fwsc/jrsc' }],
|
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳金融市场', to: '/tjrsc' }],
|
||||||
disableBack: true,
|
disableBack: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'xqsc',
|
name: 'txqsc',
|
||||||
path: '/fwsc/xqsc',
|
path: '/txqsc',
|
||||||
component: xqsc,
|
component: xqsc,
|
||||||
meta: {
|
meta: {
|
||||||
title: '碳需求市场',
|
title: '碳需求市场',
|
||||||
isShowSideBar: false,
|
isShowSideBar: false,
|
||||||
hasHome: true,
|
hasHome: true,
|
||||||
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳需求市场', to: '/fwsc/xqsc' }],
|
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳需求市场', to: '/txqsc' }],
|
||||||
disableBack: true,
|
disableBack: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'fwsc-sjsc',
|
name: 'tsjsc',
|
||||||
path: '/fwsc/sjsc',
|
path: '/tsjsc',
|
||||||
component: sjsc,
|
component: sjsc,
|
||||||
meta: {
|
meta: {
|
||||||
title: '碳数据市场',
|
title: '碳数据市场',
|
||||||
isShowSideBar: false,
|
isShowSideBar: false,
|
||||||
hasHome: true,
|
hasHome: true,
|
||||||
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳数据市场', to: '/fwsc/sjsc' }],
|
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳数据市场', to: '/tsjsc' }],
|
||||||
disableBack: true,
|
disableBack: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'fwsc-sjlbc',
|
name: 'tsjlbc',
|
||||||
path: '/fwsc/sjlbc',
|
path: '/tsjlbc',
|
||||||
component: sjlbc,
|
component: sjlbc,
|
||||||
meta: {
|
meta: {
|
||||||
title: '数据列表',
|
title: '数据列表',
|
||||||
isShowSideBar: false,
|
isShowSideBar: false,
|
||||||
hasHome: true,
|
hasHome: true,
|
||||||
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳数据市场', to: '/fwsc/sjsc' }, { title: '数据列表', to: '/fwsc/sjlbc' }],
|
breadCrumbs: [{ title: '首页', to: '/home' }, { title: '服务中心', to: '' }, { title: '碳数据市场', to: '/fwscsjlbc' }],
|
||||||
disableBack: true,
|
disableBack: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@ -41,6 +41,7 @@ export default {
|
|||||||
|
|
||||||
this.doAuthorize(true,this.loginForm.scopes,null).then(res => {
|
this.doAuthorize(true,this.loginForm.scopes,null).then(res => {
|
||||||
const href = res.data
|
const href = res.data
|
||||||
|
console.log("authorize.res=>",res)
|
||||||
if (!href) {
|
if (!href) {
|
||||||
console.log('自动授权未通过!')
|
console.log('自动授权未通过!')
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="fwsc-container">
|
<div class="fwsc-container">
|
||||||
<NewNav />
|
|
||||||
|
|
||||||
<!-- 面包屑导航 -->
|
<!-- 面包屑导航 -->
|
||||||
<BreadcrumbNav currentPage="碳服务市场" />
|
<BreadcrumbNav currentPage="碳服务市场" />
|
||||||
|
|
||||||
@ -27,6 +25,23 @@
|
|||||||
<!-- 左侧筛选栏 -->
|
<!-- 左侧筛选栏 -->
|
||||||
<aside class="filter-sidebar">
|
<aside class="filter-sidebar">
|
||||||
<div class="filter-sidebar-content">
|
<div class="filter-sidebar-content">
|
||||||
|
<!-- 内容搜索 -->
|
||||||
|
<div class="filter-section">
|
||||||
|
<div class="filter-title">内容搜索</div>
|
||||||
|
<t-input v-model="filter.nr" placeholder="请输入关键词" @enter="onSearch" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="filter-buttons">
|
||||||
|
<t-button theme="primary" @click="onSearch">查询</t-button>
|
||||||
|
<t-button theme="default" @click="onReset">重置</t-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 只展示收藏项 -->
|
||||||
|
<div class="filter-section">
|
||||||
|
<t-checkbox v-model="filter.zzsscx" @change="onSearch">只展示收藏项</t-checkbox>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 服务类型 -->
|
<!-- 服务类型 -->
|
||||||
<div class="filter-section">
|
<div class="filter-section">
|
||||||
<div class="filter-title">服务类型</div>
|
<div class="filter-title">服务类型</div>
|
||||||
@ -38,26 +53,10 @@
|
|||||||
<!-- 服务企业 -->
|
<!-- 服务企业 -->
|
||||||
<div class="filter-section">
|
<div class="filter-section">
|
||||||
<div class="filter-title">服务企业</div>
|
<div class="filter-title">服务企业</div>
|
||||||
<div class="filter-options">
|
<div class="filter-options enterprise-options">
|
||||||
<t-checkbox-group v-model="filter.qyuuids" :options="qyOptions" @change="onSearch" />
|
<t-checkbox-group v-model="filter.qyuuids" :options="qyOptions" @change="onSearch" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 只展示收藏项 -->
|
|
||||||
<div class="filter-section">
|
|
||||||
<t-checkbox v-model="filter.zzsscx" @change="onSearch">只展示收藏项</t-checkbox>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 内容搜索 -->
|
|
||||||
<div class="filter-section">
|
|
||||||
<div class="filter-title">内容搜索</div>
|
|
||||||
<t-input v-model="filter.nr" placeholder="请输入关键词" @enter="onSearch" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="filter-buttons">
|
|
||||||
<t-button theme="primary" @click="onSearch">查询</t-button>
|
|
||||||
<t-button theme="default" @click="onReset">重置</t-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
@ -207,10 +206,10 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
navTabs: [
|
navTabs: [
|
||||||
{ label: '碳服务市场', path: '/fwsc/fwsc' },
|
{ label: '碳服务市场', path: '/tfwsc' },
|
||||||
{ label: '碳需求市场', path: '/fwsc/xqsc' },
|
{ label: '碳需求市场', path: '/txqsc' },
|
||||||
{ label: '碳金融市场', path: '/fwsc/jrsc' },
|
{ label: '碳金融市场', path: '/tjrsc' },
|
||||||
{ label: '碳数据市场', path: '/fwsc/sjsc' },
|
{ label: '碳数据市场', path: '/tsjsc' },
|
||||||
],
|
],
|
||||||
// 筛选条件
|
// 筛选条件
|
||||||
filter: {
|
filter: {
|
||||||
@ -338,7 +337,7 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.cardList = data.records || [];
|
this.cardList = data.records || [];
|
||||||
this.page.total = data.total || 0;
|
this.page.total = Number(data.total || 0);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.cardList = [];
|
this.cardList = [];
|
||||||
this.page.total = 0;
|
this.page.total = 0;
|
||||||
@ -433,7 +432,7 @@ export default {
|
|||||||
},
|
},
|
||||||
onPublishSuccessCancel() {
|
onPublishSuccessCancel() {
|
||||||
this.publishSuccessVisible = false;
|
this.publishSuccessVisible = false;
|
||||||
this.$router.push('/fwsc/fwsc');
|
this.$router.push('/tfwsc');
|
||||||
},
|
},
|
||||||
onPublishSuccessClose() {
|
onPublishSuccessClose() {
|
||||||
this.publishSuccessVisible = false;
|
this.publishSuccessVisible = false;
|
||||||
@ -550,12 +549,18 @@ export default {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.enterprise-options {
|
||||||
|
max-height: 200px;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.filter-buttons {
|
.filter-buttons {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
|
||||||
.t-button {
|
.t-button {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
@ -573,7 +578,7 @@ export default {
|
|||||||
.service-card {
|
.service-card {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
width: calc((100% - 40px) / 3);
|
width: calc((100% - 20px) / 2);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
@ -644,20 +649,18 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card-content {
|
.card-content {
|
||||||
flex: 1;
|
|
||||||
padding: 16px;
|
padding: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-desc {
|
.card-desc {
|
||||||
display: box;
|
display: block;
|
||||||
margin-bottom: 12px;
|
height: 70px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
color: #666;
|
color: #666;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
-webkit-line-clamp: 3;
|
-webkit-line-clamp: 3;
|
||||||
box-orient: vertical;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-tags {
|
.card-tags {
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="fwsc-page">
|
<div class="fwsc-page">
|
||||||
<NewNav />
|
|
||||||
<div class="main-content">
|
<div class="main-content">
|
||||||
<!-- 当前位置导航 -->
|
<!-- 当前位置导航 -->
|
||||||
<div class="breadcrumb-box">
|
<div class="breadcrumb-box">
|
||||||
@ -22,33 +21,33 @@
|
|||||||
<div class="services-section">
|
<div class="services-section">
|
||||||
<div class="services-grid">
|
<div class="services-grid">
|
||||||
<!-- 碳服务市场 -->
|
<!-- 碳服务市场 -->
|
||||||
<div class="service-card" @click="goToPage('/fwsc/fwsc')">
|
<div class="service-card" @click="goToPage('/tfwsc')">
|
||||||
<div class="service-card-icon">
|
<div class="service-card-icon">
|
||||||
<span style="font-size: 48px">🌐</span>
|
<span style="font-size: 48px">🌐</span>
|
||||||
</div>
|
</div>
|
||||||
<h3 class="service-card-title">碳服务市场</h3>
|
<h3 class="service-card-title">碳服务市场</h3>
|
||||||
<p class="service-card-desc">汇聚全国优质第三方服务机构,提供从核算到认证的全链条专业服务。</p>
|
<p class="service-card-desc">汇聚全国优质第三方服务机构,提供从核算到认证的全链条专业服务。</p>
|
||||||
<div class="service-card-buttons">
|
<div class="service-card-buttons">
|
||||||
<t-button theme="primary" variant="outline" @click.stop="goToPage('/fwsc/fwsc')">浏览服务信息</t-button>
|
<t-button theme="primary" variant="outline" @click.stop="goToPage('/tfwsc')">浏览服务信息</t-button>
|
||||||
<t-button theme="primary" @click.stop="goToPage('/fwsc/fwsc?publish=1')">我要发布服务</t-button>
|
<t-button theme="primary" @click.stop="goToPage('/tfwsc?publish=1')">我要发布服务</t-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 碳需求市场 -->
|
<!-- 碳需求市场 -->
|
||||||
<div class="service-card" @click="goToPage('/fwsc/xqsc')">
|
<div class="service-card" @click="goToPage('/txqsc')">
|
||||||
<div class="service-card-icon">
|
<div class="service-card-icon">
|
||||||
<span style="font-size: 48px">📋</span>
|
<span style="font-size: 48px">📋</span>
|
||||||
</div>
|
</div>
|
||||||
<h3 class="service-card-title">碳需求市场</h3>
|
<h3 class="service-card-title">碳需求市场</h3>
|
||||||
<p class="service-card-desc">企业发布真实服务采购需求,智能匹配靠谱服务商,杜绝中间商差价。</p>
|
<p class="service-card-desc">企业发布真实服务采购需求,智能匹配靠谱服务商,杜绝中间商差价。</p>
|
||||||
<div class="service-card-buttons">
|
<div class="service-card-buttons">
|
||||||
<t-button theme="primary" variant="outline" @click.stop="goToPage('/fwsc/xqsc')">浏览求购信息</t-button>
|
<t-button theme="primary" variant="outline" @click.stop="goToPage('/txqsc')">浏览求购信息</t-button>
|
||||||
<t-button theme="primary" @click.stop="goToPage('/fwsc/xqsc?publish=1')">我要发布需求</t-button>
|
<t-button theme="primary" @click.stop="goToPage('/txqsc?publish=1')">我要发布需求</t-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 碳金融市场 -->
|
<!-- 碳金融市场 -->
|
||||||
<div class="service-card" @click="goToPage('/fwsc/jrsc')">
|
<div class="service-card" @click="goToPage('/tjrsc')">
|
||||||
<div class="service-card-icon">
|
<div class="service-card-icon">
|
||||||
<span style="font-size: 48px">💰</span>
|
<span style="font-size: 48px">💰</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="jrsc-page">
|
<div class="jrsc-page">
|
||||||
<!-- 顶部导航 -->
|
|
||||||
<NewNav />
|
|
||||||
|
|
||||||
<!-- 面包屑导航 -->
|
<!-- 面包屑导航 -->
|
||||||
<BreadcrumbNav currentPage="碳金融市场" />
|
<BreadcrumbNav currentPage="碳金融市场" />
|
||||||
|
|
||||||
@ -156,10 +153,10 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
navTabs: [
|
navTabs: [
|
||||||
{ label: '碳服务市场', path: '/fwsc/fwsc' },
|
{ label: '碳服务市场', path: '/tfwsc' },
|
||||||
{ label: '碳需求市场', path: '/fwsc/xqsc' },
|
{ label: '碳需求市场', path: '/txqsc' },
|
||||||
{ label: '碳金融市场', path: '/fwsc/jrsc' },
|
{ label: '碳金融市场', path: '/tjrsc' },
|
||||||
{ label: '碳数据市场', path: '/fwsc/sjsc' },
|
{ label: '碳数据市场', path: '/tsjsc' },
|
||||||
],
|
],
|
||||||
// 选中服务类型
|
// 选中服务类型
|
||||||
selectedServiceType: '全部',
|
selectedServiceType: '全部',
|
||||||
|
|||||||
@ -1,13 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="sjlbc-page">
|
<div class="sjlbc-page">
|
||||||
<!-- 顶部导航 -->
|
|
||||||
<NewNav />
|
|
||||||
|
|
||||||
<!-- 面包屑导航 -->
|
<!-- 面包屑导航 -->
|
||||||
<BreadcrumbNav
|
<BreadcrumbNav
|
||||||
:currentPage="currentPageName"
|
:currentPage="currentPageName"
|
||||||
secondPage="碳数据市场"
|
secondPage="碳数据市场"
|
||||||
secondLink="/fwsc/sjsc"
|
secondLink="/tsjsc"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!-- 主内容区 -->
|
<!-- 主内容区 -->
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="sjsc-page">
|
<div class="sjsc-page">
|
||||||
<NewNav />
|
|
||||||
|
|
||||||
<!-- 面包屑导航 -->
|
<!-- 面包屑导航 -->
|
||||||
<BreadcrumbNav currentPage="碳数据市场" />
|
<BreadcrumbNav currentPage="碳数据市场" />
|
||||||
|
|
||||||
@ -94,10 +92,10 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
navTabs: [
|
navTabs: [
|
||||||
{ label: '碳服务市场', path: '/fwsc/fwsc' },
|
{ label: '碳服务市场', path: '/tfwsc' },
|
||||||
{ label: '碳需求市场', path: '/fwsc/xqsc' },
|
{ label: '碳需求市场', path: '/txqsc' },
|
||||||
{ label: '碳金融市场', path: '/fwsc/jrsc' },
|
{ label: '碳金融市场', path: '/tjrsc' },
|
||||||
{ label: '碳数据市场', path: '/fwsc/sjsc' },
|
{ label: '碳数据市场', path: '/tsjsc' },
|
||||||
],
|
],
|
||||||
selectedType: 'all',
|
selectedType: 'all',
|
||||||
dataTypeList: [
|
dataTypeList: [
|
||||||
@ -180,7 +178,7 @@ export default {
|
|||||||
// 发布数据逻辑
|
// 发布数据逻辑
|
||||||
},
|
},
|
||||||
goToDataList(id) {
|
goToDataList(id) {
|
||||||
this.$router.push({ path: '/fwsc/sjlbc', query: { id } });
|
this.$router.push({ path: '/tsjlbc', query: { id } });
|
||||||
},
|
},
|
||||||
getTagClass(tag) {
|
getTagClass(tag) {
|
||||||
const classMap = {
|
const classMap = {
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="xqsc-container">
|
<div class="xqsc-container">
|
||||||
<NewNav />
|
|
||||||
|
|
||||||
<!-- 面包屑导航 -->
|
<!-- 面包屑导航 -->
|
||||||
<BreadcrumbNav currentPage="碳需求市场" />
|
<BreadcrumbNav currentPage="碳需求市场" />
|
||||||
|
|
||||||
@ -27,6 +25,23 @@
|
|||||||
<!-- 左侧筛选栏 -->
|
<!-- 左侧筛选栏 -->
|
||||||
<aside class="filter-sidebar">
|
<aside class="filter-sidebar">
|
||||||
<div class="filter-sidebar-content">
|
<div class="filter-sidebar-content">
|
||||||
|
<!-- 内容搜索 -->
|
||||||
|
<div class="filter-section">
|
||||||
|
<div class="filter-title">内容搜索</div>
|
||||||
|
<t-input v-model="filter.nr" placeholder="请输入关键词" @enter="onSearch" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="filter-buttons">
|
||||||
|
<t-button theme="primary" @click="onSearch">查询</t-button>
|
||||||
|
<t-button theme="default" @click="onReset">重置</t-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 服务地区 -->
|
||||||
|
<div class="filter-section">
|
||||||
|
<div class="filter-title">服务地区</div>
|
||||||
|
<t-select v-model="filter.dq" :options="fwfwOptions" placeholder="请选择" clearable style="width: 100%" @change="onSearch" />
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 需求类型 -->
|
<!-- 需求类型 -->
|
||||||
<div class="filter-section">
|
<div class="filter-section">
|
||||||
<div class="filter-title">需求类型</div>
|
<div class="filter-title">需求类型</div>
|
||||||
@ -42,23 +57,6 @@
|
|||||||
<t-checkbox-group v-model="filter.sshy" :options="sshyDmOptions" @change="onSearch" />
|
<t-checkbox-group v-model="filter.sshy" :options="sshyDmOptions" @change="onSearch" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 服务地区 -->
|
|
||||||
<div class="filter-section">
|
|
||||||
<div class="filter-title">服务地区</div>
|
|
||||||
<t-select v-model="filter.dq" :options="fwfwOptions" placeholder="请选择" clearable style="width: 100%" @change="onSearch" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- 内容搜索 -->
|
|
||||||
<div class="filter-section">
|
|
||||||
<div class="filter-title">内容搜索</div>
|
|
||||||
<t-input v-model="filter.nr" placeholder="请输入关键词" @enter="onSearch" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="filter-buttons">
|
|
||||||
<t-button theme="primary" @click="onSearch">查询</t-button>
|
|
||||||
<t-button theme="default" @click="onReset">重置</t-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
|
|
||||||
@ -98,7 +96,7 @@
|
|||||||
<span class="budget-value">{{ card.ysfwDm1 }}</span>
|
<span class="budget-value">{{ card.ysfwDm1 }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-actions">
|
<div class="card-actions">
|
||||||
<t-button theme="primary" size="small" @click="handleContact(card)">联系服务</t-button>
|
<t-button theme="primary" size="small" @click="handleContact(card)">联系客户</t-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -134,7 +132,7 @@
|
|||||||
<!-- 联系服务弹窗 -->
|
<!-- 联系服务弹窗 -->
|
||||||
<t-dialog
|
<t-dialog
|
||||||
:closeOnOverlayClick="false"
|
:closeOnOverlayClick="false"
|
||||||
header="联系服务"
|
header="联系客户"
|
||||||
:visible.sync="contactVisible"
|
:visible.sync="contactVisible"
|
||||||
@confirm="onContactConfirm"
|
@confirm="onContactConfirm"
|
||||||
:onClose="onContactClose"
|
:onClose="onContactClose"
|
||||||
@ -200,10 +198,10 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
navTabs: [
|
navTabs: [
|
||||||
{ label: '碳服务市场', path: '/fwsc/fwsc' },
|
{ label: '碳服务市场', path: '/tfwsc' },
|
||||||
{ label: '碳需求市场', path: '/fwsc/xqsc' },
|
{ label: '碳需求市场', path: '/txqsc' },
|
||||||
{ label: '碳金融市场', path: '/fwsc/jrsc' },
|
{ label: '碳金融市场', path: '/tjrsc' },
|
||||||
{ label: '碳数据市场', path: '/fwsc/sjsc' },
|
{ label: '碳数据市场', path: '/tsjsc' },
|
||||||
],
|
],
|
||||||
// 筛选条件
|
// 筛选条件
|
||||||
filter: {
|
filter: {
|
||||||
@ -303,7 +301,7 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.cardList = data.records || [];
|
this.cardList = data.records || [];
|
||||||
this.page.total = data.total || 0;
|
this.page.total = Number(data.total || 0);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.cardList = [];
|
this.cardList = [];
|
||||||
this.page.total = 0;
|
this.page.total = 0;
|
||||||
@ -348,7 +346,7 @@ export default {
|
|||||||
this.rzVisible = true;
|
this.rzVisible = true;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 联系服务
|
// 联系客户
|
||||||
handleContact(card) {
|
handleContact(card) {
|
||||||
this.contactData = {
|
this.contactData = {
|
||||||
lxr: card.lxr || '',
|
lxr: card.lxr || '',
|
||||||
@ -387,7 +385,7 @@ export default {
|
|||||||
},
|
},
|
||||||
onPublishSuccessCancel() {
|
onPublishSuccessCancel() {
|
||||||
this.publishSuccessVisible = false;
|
this.publishSuccessVisible = false;
|
||||||
this.$router.push('/fwsc/xqsc');
|
this.$router.push('/txqsc');
|
||||||
},
|
},
|
||||||
onPublishSuccessClose() {
|
onPublishSuccessClose() {
|
||||||
this.publishSuccessVisible = false;
|
this.publishSuccessVisible = false;
|
||||||
@ -510,6 +508,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
|
||||||
.t-button {
|
.t-button {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
@ -606,7 +605,7 @@ export default {
|
|||||||
|
|
||||||
.card-desc {
|
.card-desc {
|
||||||
display: box;
|
display: box;
|
||||||
margin-bottom: 16px;
|
height: 70px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
|
|||||||
@ -1,17 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="yhzx-box" style="height: 100vh">
|
<div class="yhzx-box" style="height: calc(100vh - 65px)">
|
||||||
<Nav style="position: sticky;" />
|
<!-- <Nav style="position: sticky;" /> -->
|
||||||
<div style="display: flex; height: 100vh">
|
<div style="display: flex; height: 100%">
|
||||||
<div style="height: 100%">
|
<div style="height: 100%">
|
||||||
<template>
|
<template>
|
||||||
<div style="height: 100%" class="htglMenu">
|
<div style="height: 100%" class="htglMenu">
|
||||||
<t-menu
|
<t-menu style="width: 220px; background: #fff" :defaultValue="defaultValue" :collapsed="collapsed" :defaultExpanded="expanded" @change="gotoPage">
|
||||||
style="width: 220px; background: #fff"
|
|
||||||
:defaultValue="defaultValue"
|
|
||||||
:collapsed="collapsed"
|
|
||||||
:defaultExpanded="expanded"
|
|
||||||
@change="changeHandler"
|
|
||||||
>
|
|
||||||
<div class="title">用户中心</div>
|
<div class="title">用户中心</div>
|
||||||
<!-- 循环实现 -->
|
<!-- 循环实现 -->
|
||||||
<template v-for="item in cdList">
|
<template v-for="item in cdList">
|
||||||
@ -35,28 +29,21 @@
|
|||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div style="position: relative; width: 100%; height: 100%; overflow: auto">
|
<div style="position: relative; width: 100%; height: 100%; overflow: auto">
|
||||||
<!-- <div class="topheader">
|
|
||||||
<div class="hederLeft" @mouseover="grxxisShow" @mouseleave="headMouseLeave">
|
|
||||||
<img
|
|
||||||
class="user_pic"
|
|
||||||
src="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QNxaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NkYxNDI1RjU0MjIwNjgxMTgwODM4RjQyOEIzQ0M4MUUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDY1QzI5QzczQUVDMTFFNEIzM0U4Q0I5MkNEOTVGMkMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDY1QzI5QzYzQUVDMTFFNEIzM0U4Q0I5MkNEOTVGMkMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkJDRTc1MDAyMzEyMDY4MTE4MDgzOUE3MjIxRTIwQTNGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjZGMTQyNUY1NDIyMDY4MTE4MDgzOEY0MjhCM0NDODFFIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwv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 //Z"
|
|
||||||
/>
|
|
||||||
<div class="grxxHt" v-show="grxxShow">
|
|
||||||
<h6 @click="xgmm">修改密码</h6>
|
|
||||||
<h6 @click="exit">退出登录</h6>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div> -->
|
|
||||||
<div class="htglLeft">
|
<div class="htglLeft">
|
||||||
<component :is="activeCompo" v-if="iskxt" :sfHtgl="true" @changeComponent="changeComponent" />
|
<!-- <component :is="activeCompo" v-if="iskxt" :sfHtgl="true" @changeComponent="changeComponent" />
|
||||||
<iframe ref="myIframe" v-else :src="iFrameSrc" style="width: 100%; height: 100%" class="iframe-container">
|
<iframe ref="myIframe" v-else :src="iFrameSrc" style="width: 100%; height: 100%" class="iframe-container">
|
||||||
</iframe>
|
</iframe> -->
|
||||||
<!-- <qyrz/> -->
|
<!-- <qyrz/> -->
|
||||||
<!-- <xzmbgl v-if="activeCompo === 'xzmbgl'" @changeComponent="changeComponent" /> -->
|
<!-- <xzmbgl v-if="activeCompo === 'xzmbgl'" @changeComponent="changeComponent" /> -->
|
||||||
|
<iframe v-if="iframeUrl" :src="iframeUrl" width="100%" height="100%" frameborder="0" scrolling="yes">
|
||||||
|
</iframe>
|
||||||
|
<keep-alive v-else>
|
||||||
|
<router-view />
|
||||||
|
</keep-alive>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
<!-- <Footer /> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -94,16 +81,16 @@ export default {
|
|||||||
defaultValue: 'qyrz',
|
defaultValue: 'qyrz',
|
||||||
cdList: [
|
cdList: [
|
||||||
{
|
{
|
||||||
id: 'qyrz',
|
id: 'qyrenzheng',
|
||||||
title: '企业认证',
|
title: '企业认证',
|
||||||
icon: 'user',
|
icon: 'user',
|
||||||
name: 'qyrz',
|
name: 'qyrenzheng',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'qyrz1',
|
id: 'qyruzhu',
|
||||||
title: '企业入驻',
|
title: '企业入驻',
|
||||||
icon: 'user',
|
icon: 'user',
|
||||||
name: 'qyrz1',
|
name: 'qyruzhu',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'tfwgj',
|
id: 'tfwgj',
|
||||||
@ -130,25 +117,85 @@ export default {
|
|||||||
name: 'lsjy',
|
name: 'lsjy',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 'zljggl',
|
id: 'cunzhengjilu',
|
||||||
title: '质证结果管理',
|
title: '存证记录',
|
||||||
icon: 'user',
|
icon: 'user',
|
||||||
name: 'zljggl',
|
name: 'cunzhengjilu',
|
||||||
|
iframeUrl: "https://ctn-web-pre.lingshu.net/cert-record-mgt",
|
||||||
|
}, {
|
||||||
|
id: 'tgjlgl',
|
||||||
|
title: '托管记录管理',
|
||||||
|
icon: 'user',
|
||||||
|
name: 'tgjlgl',
|
||||||
|
iframeUrl: "https://ctn-web-pre.lingshu.net/hosting-record-mgt",
|
||||||
|
}, {
|
||||||
|
id: 'chazhengjilu',
|
||||||
|
title: '查证记录',
|
||||||
|
icon: 'user',
|
||||||
|
name: 'chazhengjilu',
|
||||||
|
iframeUrl: "https://ctn-web-pre.lingshu.net/query-record-mgt",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
ejcdList: [],
|
ejcdList: [],
|
||||||
iFrameSrc: '',
|
iFrameSrc: '',
|
||||||
zljgglurl: 'https://ctn-web-pre.lingshu.net/proof-result-mgt?type=carbon-certify',
|
zljgglurl: 'https://ctn-web-pre.lingshu.net/proof-result-mgt?type=carbon-certify',
|
||||||
|
|
||||||
|
iframeUrl: "",
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.initView();
|
// this.initView();
|
||||||
const activeCompo = this.$route.query.activeCompo;
|
// const activeCompo = this.$route.query.activeCompo;
|
||||||
if(activeCompo){
|
// if (activeCompo) {
|
||||||
this.changeHandler(activeCompo);
|
// this.changeHandler(activeCompo);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
this.gotoPage(this.cdList[0].id);
|
||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
gotoPage(menuId) {
|
||||||
|
|
||||||
|
const menu = this.cdList.find((item) => item.id == menuId)
|
||||||
|
|
||||||
|
console.log("当前菜单配置:", menu)
|
||||||
|
|
||||||
|
//判断页面是否开放
|
||||||
|
if (menu.disable) {
|
||||||
|
this.$dialog.alert({
|
||||||
|
header: '提示',
|
||||||
|
body: '该功能暂未开放。',
|
||||||
|
confirmBtn: null
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
//判断页面是否需要登录
|
||||||
|
console.log("当前页面是否需要登录:", menu.needLogin)
|
||||||
|
if (menu.needLogin) {
|
||||||
|
const sfdl = window.sessionStorage.getItem('sfdl'); //是否登录
|
||||||
|
console.log("是否已经登录登录:", sfdl)
|
||||||
|
if (!sfdl) {
|
||||||
|
this.$router.push("/login")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// this.curPage = menu.name;
|
||||||
|
let iframeUrl = menu.iframeUrl;
|
||||||
|
if (iframeUrl) {
|
||||||
|
this.iframeUrl = iframeUrl;
|
||||||
|
} else {
|
||||||
|
this.$router.push({
|
||||||
|
path: "/yhzx/" + menu.name
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async yhinit() {
|
async yhinit() {
|
||||||
try {
|
try {
|
||||||
// const res = await getMxjbxx(prame);
|
// const res = await getMxjbxx(prame);
|
||||||
|
|||||||
@ -1,7 +1,31 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="page-box">
|
<div class="page-box">
|
||||||
<!-- 顶部菜单栏 -->
|
<!-- 顶部菜单栏 -->
|
||||||
<NewNav />
|
<!-- <div class="nav-box">
|
||||||
|
<div class="logo-box">
|
||||||
|
<img src="@/pages/index/assets/logo-name.png">
|
||||||
|
</div>
|
||||||
|
<div class="menu-box">
|
||||||
|
<div class="menu-title meun-title-active">
|
||||||
|
<img src="@/pages/index/assets/nav-home.png" width="24px" height="24px">
|
||||||
|
<span> 首页</span>
|
||||||
|
</div>
|
||||||
|
<div class="menu-title">碳证中心</div>
|
||||||
|
<div class="menu-title">服务中心</div>
|
||||||
|
<div class="menu-title">共性能力</div>
|
||||||
|
<div class="menu-title">企业出海</div>
|
||||||
|
<div class="menu-title">行业专题</div>
|
||||||
|
</div>
|
||||||
|
<div class="option-box">
|
||||||
|
<div class="gzt">
|
||||||
|
<img src="@/pages/index/assets/home-gzt-icon.png" />
|
||||||
|
<span> 工作台</span>
|
||||||
|
</div>
|
||||||
|
<div style="margin-left:20px; cursor: pointer;">激活</div>
|
||||||
|
<div>|</div>
|
||||||
|
<div style="cursor: pointer;">登录</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
<!-- 主页面 -->
|
<!-- 主页面 -->
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@ -28,7 +52,7 @@
|
|||||||
|
|
||||||
<div class="top-options-box">
|
<div class="top-options-box">
|
||||||
<div class="option-item-box green">
|
<div class="option-item-box green">
|
||||||
<div class="title">碳数字身份证</div>
|
<div class="option-item-box-title">碳数字身份证</div>
|
||||||
<div class="option-btn-box ">
|
<div class="option-btn-box ">
|
||||||
<div class="btn">办证指南</div>
|
<div class="btn">办证指南</div>
|
||||||
<div class="btn">碳证查询</div>
|
<div class="btn">碳证查询</div>
|
||||||
@ -39,7 +63,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="option-item-box blue">
|
<div class="option-item-box blue">
|
||||||
<div class="title">国家可信碳链</div>
|
<div class="option-item-box-title">国家可信碳链</div>
|
||||||
<div class="option-btn-box">
|
<div class="option-btn-box">
|
||||||
<div class="btn">上链指南</div>
|
<div class="btn">上链指南</div>
|
||||||
<div class="btn">上链标准</div>
|
<div class="btn">上链标准</div>
|
||||||
@ -50,7 +74,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="option-item-box cyan">
|
<div class="option-item-box cyan">
|
||||||
<div class="title">绿色服务</div>
|
<div class="option-item-box-title">绿色服务</div>
|
||||||
<div class="option-btn-box">
|
<div class="option-btn-box">
|
||||||
<div class="btn">服务市场</div>
|
<div class="btn">服务市场</div>
|
||||||
<div class="btn">需求市场</div>
|
<div class="btn">需求市场</div>
|
||||||
@ -70,7 +94,7 @@
|
|||||||
|
|
||||||
<!-- 中间核心驱动 -->
|
<!-- 中间核心驱动 -->
|
||||||
<div class="center-box">
|
<div class="center-box">
|
||||||
<div class="title">
|
<div class="center-box-title">
|
||||||
核心驱动
|
核心驱动
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -150,7 +174,7 @@
|
|||||||
<div class="name1">企业出海</div>
|
<div class="name1">企业出海</div>
|
||||||
<div class="name2">政策要求、合规指引、案例分享,一站式信息与系统入口</div>
|
<div class="name2">政策要求、合规指引、案例分享,一站式信息与系统入口</div>
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="title">电池法案</div>
|
<div class="qych-box-item-title">电池法案</div>
|
||||||
<div class="desc-btn-box">
|
<div class="desc-btn-box">
|
||||||
<div class="desc">欧盟电池法案管控电池全生命周期,涉及回收、碳足迹等要求。</div>
|
<div class="desc">欧盟电池法案管控电池全生命周期,涉及回收、碳足迹等要求。</div>
|
||||||
<div class="btn">申请服务</div>
|
<div class="btn">申请服务</div>
|
||||||
@ -158,7 +182,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="item" style="margin-top:21px;">
|
<div class="item" style="margin-top:21px;">
|
||||||
<div class="title">CBAM</div>
|
<div class="qych-box-item-title">CBAM</div>
|
||||||
<div class="desc-btn-box">
|
<div class="desc-btn-box">
|
||||||
<div class="desc">欧盟对进口高碳产品按隐含排放征收碳关税。</div>
|
<div class="desc">欧盟对进口高碳产品按隐含排放征收碳关税。</div>
|
||||||
<div class="btn">CBAM试算</div>
|
<div class="btn">CBAM试算</div>
|
||||||
@ -166,7 +190,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="item" style="margin-top:21px;">
|
<div class="item" style="margin-top:21px;">
|
||||||
<div class="title">航运燃料</div>
|
<div class="qych-box-item-title">航运燃料</div>
|
||||||
<div class="desc-btn-box">
|
<div class="desc-btn-box">
|
||||||
<div class="desc">从化石油基向LNG、绿甲醇、绿氨等多元低碳方向加速转型。</div>
|
<div class="desc">从化石油基向LNG、绿甲醇、绿氨等多元低碳方向加速转型。</div>
|
||||||
<div class="btn">申请服务</div>
|
<div class="btn">申请服务</div>
|
||||||
@ -183,7 +207,7 @@
|
|||||||
<div>行业资讯</div>
|
<div>行业资讯</div>
|
||||||
<div>平台公告</div>
|
<div>平台公告</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div style="width:100%">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
国家发改委发布2025年碳减排重点任务
|
国家发改委发布2025年碳减排重点任务
|
||||||
</div>
|
</div>
|
||||||
@ -204,11 +228,13 @@
|
|||||||
<!-- 建立您的碳数字身份 -->
|
<!-- 建立您的碳数字身份 -->
|
||||||
<div class="bottom-box">
|
<div class="bottom-box">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="title">建立您的碳数字身份</div>
|
<div>
|
||||||
|
<div class="bottom-box-content-title">建立您的碳数字身份</div>
|
||||||
<div class="desc">基于国家区块链网络,实现碳数据的一站式确权、核验与托管</div>
|
<div class="desc">基于国家区块链网络,实现碳数据的一站式确权、核验与托管</div>
|
||||||
<div class="btn">申请服务</div>
|
<div class="btn">申请服务</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 底部信息区 -->
|
<!-- 底部信息区 -->
|
||||||
<Footer style="width:100%" />
|
<Footer style="width:100%" />
|
||||||
@ -221,11 +247,14 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Footer from '@/pages/index/components/footer/index.vue';
|
import Footer from '@/pages/index/components/footer/index.vue';
|
||||||
import NewNav from '@/pages/index/components/new-nav/index.vue';
|
|
||||||
export default {
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
inputValue: ""
|
||||||
|
}
|
||||||
|
},
|
||||||
components: {
|
components: {
|
||||||
Footer,
|
Footer,
|
||||||
NewNav,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -235,20 +264,92 @@ export default {
|
|||||||
background: #f5f5f7;
|
background: #f5f5f7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nav-box {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
|
||||||
|
z-index: 9999;
|
||||||
|
|
||||||
|
display: grid;
|
||||||
|
width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
color: #fff;
|
||||||
|
background: #009a29;
|
||||||
|
grid-template-columns: 1fr 2fr 1fr;
|
||||||
|
place-items: center;
|
||||||
|
}
|
||||||
|
.logo-box {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.option-box {
|
||||||
|
display: flex;
|
||||||
|
height: 64px;
|
||||||
|
font-family: PingFang SC;
|
||||||
|
font-size: 16px;
|
||||||
|
font-style: regular;
|
||||||
|
font-weight: 400;
|
||||||
|
letter-spacing: 0%;
|
||||||
|
text-align: center;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
leading-trim: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.option-box .gzt {
|
||||||
|
display: flex;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
background: rgba(255, 255, 255, 0.3);
|
||||||
|
border-radius: 6px;
|
||||||
|
justify-content: space-around;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-box {
|
||||||
|
display: grid;
|
||||||
|
width: 100%;
|
||||||
|
height: 64px;
|
||||||
|
font-size: 16px;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-title {
|
||||||
|
|
||||||
|
display: flex;
|
||||||
|
width: 96px;
|
||||||
|
height: 64px;
|
||||||
|
line-height: 24px;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.meun-title-active {
|
||||||
|
background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.15) 100%);
|
||||||
|
border-bottom: 2px solid #fff;
|
||||||
|
}
|
||||||
|
|
||||||
.top-box {
|
.top-box {
|
||||||
|
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 1920px;
|
width: 100%;
|
||||||
height: 630px;
|
|
||||||
background-image: url(~@/pages/index/assets/home-top-bg1.jpg);
|
background-image: url(~@/pages/index/assets/home-top-bg1.jpg);
|
||||||
background-position: center; /* 永远显示中间部分 */
|
background-position: center; /* 永远显示中间部分 */
|
||||||
|
|
||||||
background-repeat: no-repeat; /* 不重复 */
|
/* height: 630px; */
|
||||||
background-size: auto; /* 不拉伸,保持原图尺寸 */
|
|
||||||
|
|
||||||
animation: switchBg 18s infinite linear;
|
background-repeat: no-repeat; /* 不重复 */
|
||||||
|
background-size: cover; /* 不拉伸,保持原图尺寸 */
|
||||||
|
|
||||||
|
animation: switchBg 30s infinite linear;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: start;
|
justify-content: start;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -270,22 +371,23 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
width: 1920px;
|
width: 100%;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
|
|
||||||
|
/* max-width: 1920px; */
|
||||||
margin: 0 auto; /* 左右居中 */
|
margin: 0 auto; /* 左右居中 */
|
||||||
|
margin-top: 64px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-title {
|
.top-title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 58;
|
height: 58px;
|
||||||
margin-top: 130px;
|
margin-top: 128px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-title-desc {
|
.top-title-desc {
|
||||||
|
width: 100%;
|
||||||
width: 876px;
|
|
||||||
|
|
||||||
margin-top: 40px;
|
margin-top: 40px;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -295,10 +397,25 @@ export default {
|
|||||||
text-stroke: 0.3px #fff;
|
text-stroke: 0.3px #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.top-title-desc img {
|
||||||
|
height: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
|
||||||
|
.top-search-box {
|
||||||
|
z-index: 999;
|
||||||
|
width: 100%;
|
||||||
|
padding: 0 6%;
|
||||||
|
margin-top: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
.search-box {
|
.search-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 600px;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
|
margin: 0 auto;
|
||||||
background: rgba(255, 255, 255, 0.4);
|
background: rgba(255, 255, 255, 0.4);
|
||||||
border: 1px solid #fff;
|
border: 1px solid #fff;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
@ -309,11 +426,6 @@ export default {
|
|||||||
backdrop-filter: blur(8px);
|
backdrop-filter: blur(8px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.top-search-box {
|
|
||||||
z-index: 999;
|
|
||||||
margin-top: 40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-btn {
|
.search-btn {
|
||||||
width: 92px;
|
width: 92px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
@ -335,7 +447,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.search-box input {
|
.search-box input {
|
||||||
width: 500px;
|
width: calc(100% - 100px);
|
||||||
|
max-width: 500px;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
outline: none;
|
outline: none;
|
||||||
@ -356,6 +469,7 @@ export default {
|
|||||||
font-style: regular;
|
font-style: regular;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
text-align: center;
|
||||||
leading-trim: none;
|
leading-trim: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -373,17 +487,25 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.top-options-box {
|
.top-options-box {
|
||||||
position: absolute;
|
|
||||||
bottom: -20px;
|
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
|
|
||||||
display: flex;
|
display: grid;
|
||||||
justify-content: space-around;
|
|
||||||
gap: 30px;
|
/* display: flex; */
|
||||||
|
|
||||||
|
/* justify-content: space-between; */
|
||||||
|
width: 100%;
|
||||||
|
padding: 0% 20%;
|
||||||
|
|
||||||
|
/* position: absolute;
|
||||||
|
bottom: -60px; */
|
||||||
|
margin-top: 100px;
|
||||||
|
gap: 3%;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||||||
}
|
}
|
||||||
|
|
||||||
.option-item-box {
|
.option-item-box {
|
||||||
width: 384px;
|
width: 100%;
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
background: rgba(255, 255, 255, 0.8);
|
background: rgba(255, 255, 255, 0.8);
|
||||||
border: 1px solid #fff;
|
border: 1px solid #fff;
|
||||||
@ -399,13 +521,15 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.option-btn-box {
|
.option-btn-box {
|
||||||
display: flex;
|
display: grid;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
justify-content: space-around;
|
padding: 6px 10px;
|
||||||
align-items: center;
|
grid-template-columns: 1fr 1fr;
|
||||||
|
place-items: center;
|
||||||
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.option-item-box .title {
|
.option-item-box-title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 39px;
|
height: 39px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
@ -421,9 +545,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.option-btn-box .btn {
|
.option-btn-box .btn {
|
||||||
width: 156px;
|
width: 100%;
|
||||||
height: 48px;
|
height: 48px;
|
||||||
margin-top: 20px;
|
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
line-height: 48px;
|
line-height: 48px;
|
||||||
color: #333;
|
color: #333;
|
||||||
@ -444,28 +567,28 @@ export default {
|
|||||||
|
|
||||||
.center-box {
|
.center-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
padding: 60px 20%;
|
||||||
padding: 60px;
|
|
||||||
|
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
.center-box .content-box {
|
.center-box .content-box {
|
||||||
display: flex;
|
display: grid;
|
||||||
justify-content: center;
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||||||
gap: 40px;
|
justify-items: center;
|
||||||
|
gap: 20px;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.center-box .title {
|
.center-box-title {
|
||||||
width: 128px;
|
width: fit-content;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
margin-left: 290px;
|
margin-left: 10px;
|
||||||
|
|
||||||
font-family: PingFang SC;
|
font-family: PingFang SC;
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
font-style: medium;
|
font-style: medium;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
line-height: 36px;
|
line-height: 28px;
|
||||||
letter-spacing: 0%;
|
letter-spacing: 0%;
|
||||||
|
|
||||||
color: #222;
|
color: #222;
|
||||||
@ -476,8 +599,7 @@ export default {
|
|||||||
|
|
||||||
.center-box .item {
|
.center-box .item {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 280px;
|
width: 100%;
|
||||||
padding: 10px;
|
|
||||||
transition: transform 0.3s ease;
|
transition: transform 0.3s ease;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: start;
|
justify-content: start;
|
||||||
@ -528,28 +650,26 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.gxnl-qych-hydt-box {
|
.gxnl-qych-hydt-box {
|
||||||
display: flex;
|
display: grid;
|
||||||
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 80px 0;
|
padding: 3% 20%;
|
||||||
background: #f5f7fa;
|
background: #f5f7fa;
|
||||||
justify-content: center;
|
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||||||
gap: 40px;
|
gap: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gxnl-qych-hydt-box > div {
|
.gxnl-qych-hydt-box > div {
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 382px;
|
width: 100%;
|
||||||
|
|
||||||
height: 553px;
|
height: 553px;
|
||||||
min-height: 200px;
|
min-height: 200px;
|
||||||
padding: 15px;
|
padding: 15px;
|
||||||
|
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
background: #fff;
|
background: #fff;
|
||||||
background-position: center; /* 永远显示中间部分 */
|
|
||||||
background-repeat: no-repeat !important; /* 不重复 */
|
|
||||||
background-size: auto; /* 不拉伸,保持原图尺寸 */
|
|
||||||
|
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
|
|
||||||
@ -559,6 +679,13 @@ export default {
|
|||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: start;
|
justify-content: start;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.gxnl-qych-hydt-box > div::-webkit-scrollbar {
|
||||||
|
display: none;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gxnl-qych-hydt-box > div:hover {
|
.gxnl-qych-hydt-box > div:hover {
|
||||||
@ -567,12 +694,18 @@ export default {
|
|||||||
|
|
||||||
.gxnl-qych-hydt-box .gxnl-box {
|
.gxnl-qych-hydt-box .gxnl-box {
|
||||||
background-image: url(~@/pages/index/assets/home-gxnl.png);
|
background-image: url(~@/pages/index/assets/home-gxnl.png);
|
||||||
|
background-repeat: no-repeat !important; /* 不重复 */
|
||||||
|
background-size: 100% auto;
|
||||||
}
|
}
|
||||||
.gxnl-qych-hydt-box .qych-box {
|
.gxnl-qych-hydt-box .qych-box {
|
||||||
background-image: url(~@/pages/index/assets/home-qych.png);
|
background-image: url(~@/pages/index/assets/home-qych.png);
|
||||||
|
background-repeat: no-repeat !important; /* 不重复 */
|
||||||
|
background-size: 100% auto;
|
||||||
}
|
}
|
||||||
.gxnl-qych-hydt-box .hydt-box {
|
.gxnl-qych-hydt-box .hydt-box {
|
||||||
background-image: url(~@/pages/index/assets/home-hydt.png);
|
background-image: url(~@/pages/index/assets/home-hydt.png);
|
||||||
|
background-repeat: no-repeat !important; /* 不重复 */
|
||||||
|
background-size: 100% auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gxnl-qych-hydt-box .name1 {
|
.gxnl-qych-hydt-box .name1 {
|
||||||
@ -600,20 +733,19 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.gxnl-box .item {
|
.gxnl-box .item {
|
||||||
display: flex;
|
display: grid;
|
||||||
width: 352px;
|
width: 100%;
|
||||||
height: 64px;
|
height: 64px;
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: linear-gradient(90deg, #7be188 0%, #e8ffea 100%);
|
background: linear-gradient(90deg, #7be188 0%, #e8ffea 100%);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
justify-content: space-between;
|
grid-template-columns: 64px 1fr 32px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.gxnl-box .item .text {
|
.gxnl-box .item .text {
|
||||||
width: 280px;
|
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
font-family: PingFang SC;
|
font-family: PingFang SC;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
@ -639,7 +771,8 @@ export default {
|
|||||||
gap: 10px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.qych-box .item .title {
|
.qych-box-item-title {
|
||||||
|
padding: 0;
|
||||||
font-family: PingFang SC;
|
font-family: PingFang SC;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-style: semibold;
|
font-style: semibold;
|
||||||
@ -723,7 +856,7 @@ export default {
|
|||||||
height: 539px;
|
height: 539px;
|
||||||
|
|
||||||
background-image: url(~@/pages/index/assets/home-szsf-bg.png);
|
background-image: url(~@/pages/index/assets/home-szsf-bg.png);
|
||||||
background-position: center; /* 永远显示中间部分 */
|
background-position: left; /* 永远显示中间部分 */
|
||||||
|
|
||||||
background-repeat: no-repeat; /* 不重复 */
|
background-repeat: no-repeat; /* 不重复 */
|
||||||
background-size: cover; /* 不拉伸,保持原图尺寸 */
|
background-size: cover; /* 不拉伸,保持原图尺寸 */
|
||||||
@ -732,10 +865,35 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.bottom-box .content {
|
.bottom-box .content {
|
||||||
margin-left: 200px;
|
display: flex;
|
||||||
|
width: 64%;
|
||||||
|
|
||||||
|
height: 400px;
|
||||||
|
background: linear-gradient(
|
||||||
|
95.7deg,
|
||||||
|
rgba(255, 255, 255, 0) 1.44%,
|
||||||
|
rgba(255, 255, 255, 0) 6.39%,
|
||||||
|
rgba(255, 255, 255, 0.3) 41.25%,
|
||||||
|
rgba(255, 255, 255, 0.5) 91.66%
|
||||||
|
);
|
||||||
|
border: 2px solid #fff;
|
||||||
|
|
||||||
|
border-radius: 12px;
|
||||||
|
|
||||||
|
/* backdrop-filter: blur(12px); */
|
||||||
|
box-shadow: 0 4px 20px 0 rgba(255, 255, 255, 0.08);
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.bottom-box .content > div {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom-box .content .title {
|
.bottom-box-content-title {
|
||||||
|
padding: 0;
|
||||||
font-family: PingFang SC;
|
font-family: PingFang SC;
|
||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
font-style: semibold;
|
font-style: semibold;
|
||||||
@ -786,6 +944,22 @@ export default {
|
|||||||
|
|
||||||
.bottom-box .content .btn:hover {
|
.bottom-box .content .btn:hover {
|
||||||
transform: scale(1.05);
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
.nav-box {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
}</style>
|
.container {
|
||||||
|
margin-top: 192px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .option-box {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
.menu-box {
|
||||||
|
display: none !important;
|
||||||
|
} */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
111
txw-mhzc-web/src/pages/index/views/main.vue
Normal file
111
txw-mhzc-web/src/pages/index/views/main.vue
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<Nav @gotoIfreamPage="gotoIfreamPage" @gotoPage="gotoPage" />
|
||||||
|
<div :style="{ 'height': documentClientHeight-64 + 'px' ,'margin-top':'64px'}">
|
||||||
|
<iframe v-if="iframeUrl" :src="iframeUrl" width="100%" height="100%" frameborder="0" scrolling="yes">
|
||||||
|
</iframe>
|
||||||
|
<keep-alive v-else>
|
||||||
|
<router-view />
|
||||||
|
</keep-alive>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import Nav from "@/pages/index/components/nav/index2.vue";
|
||||||
|
export default {
|
||||||
|
name: "Main",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
iframeUrl: '',
|
||||||
|
documentClientHeight: 100
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
Nav,
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
// documentClientHeight: {
|
||||||
|
// get() {
|
||||||
|
// return this.$store.state.common.documentClientHeight;
|
||||||
|
// },
|
||||||
|
// set(val) {
|
||||||
|
// this.$store.commit("common/updateDocumentClientHeight", val);
|
||||||
|
// },
|
||||||
|
// },
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// this.getUserInfo();
|
||||||
|
|
||||||
|
//防止浏览器刷新导致store丢失 浏览器刷新时存入sessionStore
|
||||||
|
this.bakStore();
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.resetDocumentClientHeight();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
gotoPage(name) {
|
||||||
|
// this.$router.push({
|
||||||
|
// name: name
|
||||||
|
// })
|
||||||
|
|
||||||
|
// this.$router.replace({ name: name, force: true })
|
||||||
|
|
||||||
|
window.location.href = name
|
||||||
|
},
|
||||||
|
|
||||||
|
gotoIfreamPage(iframeUrl) {
|
||||||
|
this.iframeUrl = iframeUrl;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 重置窗口可视高度
|
||||||
|
resetDocumentClientHeight() {
|
||||||
|
this.documentClientHeight = document.documentElement["clientHeight"];
|
||||||
|
window.onresize = () => {
|
||||||
|
this.documentClientHeight = document.documentElement["clientHeight"];
|
||||||
|
};
|
||||||
|
},
|
||||||
|
// 获取当前管理员信息
|
||||||
|
// getUserInfo() {
|
||||||
|
// this.$http({
|
||||||
|
// url: this.$http.adornUrl("/sys/user/info"),
|
||||||
|
// method: "get",
|
||||||
|
// params: this.$http.adornParams(),
|
||||||
|
// }).then(({ data }) => {
|
||||||
|
// if (data && data.code === 0) {
|
||||||
|
// this.loading = false;
|
||||||
|
// this.userId = data.user.userId;
|
||||||
|
// this.userName = data.user.username;
|
||||||
|
// this.realname = data.user.realname;
|
||||||
|
// this.companyId = data.user.companyId;
|
||||||
|
// this.companyTaxNo = data.user.companyTaxNo;
|
||||||
|
// this.companyName = data.user.companyName;
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
|
||||||
|
bakStore() {
|
||||||
|
// 在页面加载时读取sessionStorage里的状态信息
|
||||||
|
if (sessionStorage.getItem("store")) {
|
||||||
|
this.$store.replaceState(
|
||||||
|
Object.assign(
|
||||||
|
{},
|
||||||
|
this.$store.state,
|
||||||
|
JSON.parse(sessionStorage.getItem("store"))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} // 在页面刷新时将vuex里的信息保存到sessionStorage里 // beforeunload事件在页面刷新时先触发
|
||||||
|
|
||||||
|
window.addEventListener("beforeunload", () => {
|
||||||
|
sessionStorage.setItem("store", JSON.stringify(this.$store.state));
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
Loading…
Reference in New Issue
Block a user