Commit 9d77ee7b by “zhaodan”

zd

parent d0ed1596
<template>
<div class="container">
<el-row style="margin: 0px auto 150px ;">
<el-row style="margin: 0px auto 150px">
<div class="bjt">
<img src="../../assets/images/background.png" alt="" style="
<img
src="../../assets/images/background.png"
alt=""
style="
height: 111px;
width: 877px;
/* background-size: cover;
......@@ -11,129 +14,267 @@
left: 50%;
transform: translate(-50%, -50%);
object-fit: cover; */
" />
"
/>
</div>
</el-row>
<el-row class="content" style="background-color: #f5f8fe;">
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24"
style="padding: 20px; border-radius: 10px; height: auto; background-color: #f5f8fe;">
<el-menu v-if="activeNameOuter === '产品'" :default-active="activeNameInner" class="product-menu"
:background-color="'transparent'" :text-color="'#333'" :active-text-color="'#409EFF'"
:default-openeds="defaultOpeneds">
<el-row class="content" style="background-color: #f5f8fe; height: 100vh">
<el-col
:xs="24"
:sm="24"
:md="24"
:lg="24"
:xl="24"
style="
padding: 20px;
border-radius: 10px;
height: auto;
background-color: #f5f8fe;
"
>
<el-menu
v-if="activeNameOuter === '产品'"
:default-active="activeNameInner"
class="product-menu"
:background-color="'transparent'"
:text-color="'#333'"
:active-text-color="'#409EFF'"
:default-openeds="defaultOpeneds"
>
<!-- 外层菜单 -->
<el-submenu v-for="outerItem in collapseDataOuter" :key="outerItem.px" :index="outerItem.px"
@click.native="setActiveOuter(outerItem.cplx)">
<el-submenu
v-for="outerItem in collapseDataOuter"
:key="outerItem.px"
:index="outerItem.px"
@click.native="setActiveOuter(outerItem.cplx)"
>
<template #title>
<img src="../../assets/images/tag.png" alt="">
<img src="../../assets/images/tag.png" alt="" />
<span
style="font-family: 'PingFang SC'; font-weight: 800; font-size: 23px; color: #222222; line-height: 40px;">
style="
font-family: 'PingFang SC';
font-weight: 800;
font-size: 23px;
color: #222222;
line-height: 40px;
"
>
{{ outerItem.mc }}
</span>
</template>
<!-- 第二级菜单 -->
<el-submenu v-for="innerItem in outerItem.cpChildren" :key="innerItem.id" :index="innerItem.px"
<el-submenu
v-for="innerItem in outerItem.cpChildren"
:key="innerItem.id"
:index="innerItem.px"
:class="{ 'inner-submenu-active': isInnerActive(innerItem.name) }"
@click.native="setActiveInner(innerItem.mc)">
@click.native="setActiveInner(innerItem.mc)"
>
<template #title>
<span
style="font-family: 'PingFang SC'; font-weight: 800; font-size: 17px; color: #222222; line-height: 26px;">
style="
font-family: 'PingFang SC';
font-weight: 800;
font-size: 17px;
color: #222222;
line-height: 26px;
"
>
{{ innerItem.mc }}
</span>
</template>
<!-- 第三级菜单 -->
<el-menu-item v-for="content in innerItem.children2" :key="content.id"
<el-menu-item
v-for="content in innerItem.children2"
:key="content.id"
:index="innerItem.name + '-' + content.mc"
@click.native="handleInnerClick(innerItem.name, content.mc, content.id, content.remark,)"
:class="{ 'menu-item-active': activeNameInner === innerItem.name + '-' + content.mc }">
@click.native="
handleInnerClick(
innerItem.name,
content.mc,
content.id,
content.remark
)
"
:class="{
'menu-item-active':
activeNameInner === innerItem.name + '-' + content.mc,
}"
>
<span
:style="{
width: '6px',
height: '6px',
background: '#165BFF',
borderRadius: '50%',
display: 'inline-block',
marginRight: '10px',
}"
></span>
<span
:style="{ width: '6px', height: '6px', background: '#165BFF', borderRadius: '50%', display: 'inline-block', marginRight: '10px' }"></span>
<span :style="{
:style="{
fontFamily: 'PingFang SC',
fontWeight: '500',
fontSize: '15px',
color: activeNameInner === innerItem.name + '-' + content.mc ? '#165BFF' : '#222222',
textDecoration: activeNameInner === innerItem.name + '-' + content.mc ? 'underline' : 'none',
textDecorationColor: activeNameInner === innerItem.name + '-' + content.mc ? '#165BFF' : 'transparent',
textUnderlineOffset: activeNameInner === innerItem.name + '-' + content.mc ? '8px' : '0'
}">
color:
activeNameInner === innerItem.name + '-' + content.mc
? '#165BFF'
: '#222222',
textDecoration:
activeNameInner === innerItem.name + '-' + content.mc
? 'underline'
: 'none',
textDecorationColor:
activeNameInner === innerItem.name + '-' + content.mc
? '#165BFF'
: 'transparent',
textUnderlineOffset:
activeNameInner === innerItem.name + '-' + content.mc
? '8px'
: '0',
}"
>
{{ content.mc }}
</span>
<img v-if="content.zx === '1'" src="../../assets/images/new.png" alt="new"
style="width: 40px; height: 40px; margin-left: 5px; vertical-align: middle;" />
<img
v-if="content.zx === '1'"
src="../../assets/images/new.png"
alt="new"
style="
width: 40px;
height: 40px;
margin-left: 5px;
vertical-align: middle;
"
/>
</el-menu-item>
</el-submenu>
</el-submenu>
</el-menu>
<el-menu v-if="activeNameOuter === '服务类'" :default-active="activeNameInner" class="product-menu"
:background-color="'transparent'" :text-color="'#333'" :active-text-color="'#409EFF'"
:default-openeds="defaultOpeneds">
<el-menu
v-if="activeNameOuter === '服务类'"
:default-active="activeNameInner"
class="product-menu"
:background-color="'transparent'"
:text-color="'#333'"
:active-text-color="'#409EFF'"
:default-openeds="defaultOpeneds"
>
<!-- 外层菜单 -->
<el-submenu v-for="outerItem in collapseDataOuter" :key="outerItem.px" :index="outerItem.px"
@click.native="setActiveOuter(outerItem.cplx)">
<el-submenu
v-for="outerItem in collapseDataOuter"
:key="outerItem.px"
:index="outerItem.px"
@click.native="setActiveOuter(outerItem.cplx)"
>
<template #title>
<img src="../../assets/images/tag.png" alt="">
<img src="../../assets/images/tag.png" alt="" />
<span
style="font-family: 'PingFang SC'; font-weight: 800; font-size: 23px; color: #222222; line-height: 40px;">
style="
font-family: 'PingFang SC';
font-weight: 800;
font-size: 23px;
color: #222222;
line-height: 40px;
"
>
{{ outerItem.mc }}
</span>
</template>
<!-- 服务类的第二级菜单 -->
<el-menu-item v-for="service in outerItem.fwlChildren" :key="service.id" :index="service.mc"
@click.native="handleServiceClick(outerItem.mc, service.mc, service.id, service.remark)"
:class="{ 'menu-item-active': activeNameInner === outerItem.mc + '-' + service.mc, 'service-menu-item-active': activeNameInner === outerItem.mc + '-' + service.mc }">
<el-menu-item
v-for="service in outerItem.fwlChildren"
:key="service.id"
:index="service.mc"
@click.native="
handleServiceClick(
outerItem.mc,
service.mc,
service.id,
service.remark
)
"
:class="{
'menu-item-active':
activeNameInner === outerItem.mc + '-' + service.mc,
'service-menu-item-active':
activeNameInner === outerItem.mc + '-' + service.mc,
}"
>
<span
:style="{
width: '6px',
height: '6px',
background: '#165BFF',
borderRadius: '50%',
display: 'inline-block',
marginRight: '10px',
}"
></span>
<span
:style="{ width: '6px', height: '6px', background: '#165BFF', borderRadius: '50%', display: 'inline-block', marginRight: '10px' }"></span>
<span :style="{
:style="{
fontFamily: 'PingFang SC',
fontWeight: '500',
fontSize: '15px',
color: activeNameInner === outerItem.mc + '-' + service.mc ? '#165BFF' : '#222222',
textDecoration: activeNameInner === outerItem.mc + '-' + service.mc ? 'underline' : 'none',
textDecorationColor: activeNameInner === outerItem.mc + '-' + service.mc ? '#165BFF' : 'transparent',
textUnderlineOffset: activeNameInner === outerItem.mc + '-' + service.mc ? '8px' : '0'
}">
color:
activeNameInner === outerItem.mc + '-' + service.mc
? '#165BFF'
: '#222222',
textDecoration:
activeNameInner === outerItem.mc + '-' + service.mc
? 'underline'
: 'none',
textDecorationColor:
activeNameInner === outerItem.mc + '-' + service.mc
? '#165BFF'
: 'transparent',
textUnderlineOffset:
activeNameInner === outerItem.mc + '-' + service.mc
? '8px'
: '0',
}"
>
{{ service.mc }}
<!-- 判断 zx 是否为 1,如果是则显示图片 -->
<img v-if="service.zx === '1'" src="../../assets/images/new.png" alt="new"
style="width: 40px; height: 40px; margin-left: 5px; vertical-align: middle;" />
<img
v-if="service.zx === '1'"
src="../../assets/images/new.png"
alt="new"
style="
width: 40px;
height: 40px;
margin-left: 5px;
vertical-align: middle;
"
/>
</span>
</el-menu-item>
</el-submenu>
</el-menu>
</el-col>
</el-row>
</div>
</template>
<script>
import { getListcx, getListdt, } from "@/api/sy.js";
import { getListcx, getListdt } from "@/api/sy.js";
export default {
name: "gasDigitization",
// components: { footerNav },
data() {
return {
remark: '', // 新增的remark属性
defaultOpeneds: [],// 根据需要初始化 defaultOpeneds
remark: "", // 新增的remark属性
defaultOpeneds: [], // 根据需要初始化 defaultOpeneds
selectedId: null, // 用于存储选中项的ID
cpjj: '',
gntd: '',
yycx: '',
yfjs: '',
tdjs: '',
fwts: '',
fwal: '',
cpjj: "",
gntd: "",
yycx: "",
yfjs: "",
tdjs: "",
fwts: "",
fwal: "",
activeNameOuter: "产品", // 默认选中的第一级选项
activeNameInner: "", // 默认选中的第二级选项
collapseDataOuter: [],
......@@ -142,71 +283,93 @@ export default {
ipdz: null,
yl1: null,
showDialog: false, // 控制对话框显示的变量
form: {
},
form: {},
};
},
watch: {
activeNameOuter(newValue) {
console.log(newValue, 'newValue');
if (newValue === '服务类') {
const selectedItem = this.collapseDataOuter.find(item => item.mc === '智能化服务类');
console.log(newValue, "newValue");
if (newValue === "服务类") {
const selectedItem = this.collapseDataOuter.find(
(item) => item.mc === "智能化服务类"
);
if (selectedItem && selectedItem.fwlChildren.length > 0) {
const firstService = selectedItem.fwlChildren[0];
this.activeNameInner = `智能化服务类-${firstService.mc}`;
this.activeServiceId = firstService.id; // 设置 activeServiceId 为第一项的 ID
console.log(this.activeServiceId, 'Selected Service ID');
console.log(this.activeServiceId, "Selected Service ID");
this.getListdt(this.activeServiceId);
}
} else if (newValue === '产品') {
const selectedItem = this.collapseDataOuter.find(item => item.mc === '软硬件产品');
if (selectedItem && selectedItem.cpChildren && selectedItem.cpChildren.length > 0) {
} else if (newValue === "产品") {
const selectedItem = this.collapseDataOuter.find(
(item) => item.mc === "软硬件产品"
);
if (
selectedItem &&
selectedItem.cpChildren &&
selectedItem.cpChildren.length > 0
) {
const firstProduct = selectedItem.cpChildren[0]; // 从 cpChildren 中获取第一个产品
if (firstProduct.children2 && firstProduct.children2.length > 0) {
const firstProductChild = firstProduct.children2[0]; // 从 children2 中获取第一个子产品
this.activeNameInner = `软硬件产品-${firstProductChild.mc}`;
this.activeServiceId = firstProductChild.id; // 设置 activeServiceId 为第一项的 ID
console.log(this.activeServiceId, 'Selected Product ID');
console.log(this.activeServiceId, "Selected Product ID");
this.getListdt(this.activeServiceId);
}
}
}
}
},
},
mounted() {
this.getList();
},
methods: {
setActiveOuter(cplx) {
this.activeNameOuter = cplx; // 设置选中的外层菜单类型
this.activeNameInner = ''; // 清空内层选中的状态
this.activeNameInner = ""; // 清空内层选中的状态
// 查找对应的外层菜单项
const selectedOuterItem = this.collapseDataOuter.find(item => item.cplx === cplx);
const selectedOuterItem = this.collapseDataOuter.find(
(item) => item.cplx === cplx
);
if (selectedOuterItem) {
// 处理产品类型的情况
if (cplx === '产品') {
if (selectedOuterItem.cpChildren && selectedOuterItem.cpChildren.length > 0) {
if (cplx === "产品") {
if (
selectedOuterItem.cpChildren &&
selectedOuterItem.cpChildren.length > 0
) {
const firstInnerItem = selectedOuterItem.cpChildren[0];
const firstContent = firstInnerItem.children2 && firstInnerItem.children2[0]; // 确保存在内容
const firstContent =
firstInnerItem.children2 && firstInnerItem.children2[0]; // 确保存在内容
if (firstContent) {
this.setActiveInner(firstInnerItem.name, firstContent.mc, firstContent.id, firstContent.zx); // 传递 zx
this.setActiveInner(
firstInnerItem.name,
firstContent.mc,
firstContent.id,
firstContent.zx
); // 传递 zx
this.displaySelectedInfo(firstInnerItem.name, firstContent); // 展示选中的信息
}
}
} else if (cplx === '服务类') {
if (selectedOuterItem.fwlChildren && selectedOuterItem.fwlChildren.length > 0) {
} else if (cplx === "服务类") {
if (
selectedOuterItem.fwlChildren &&
selectedOuterItem.fwlChildren.length > 0
) {
const firstService = selectedOuterItem.fwlChildren[0]; // 默认选中第一个服务
this.setActiveInner(selectedOuterItem.mc, firstService.mc, null, firstService.id, firstService.zx); // 传递 zx
this.setActiveInner(
selectedOuterItem.mc,
firstService.mc,
null,
firstService.id,
firstService.zx
); // 传递 zx
this.displaySelectedInfo(selectedOuterItem.mc, firstService); // 展示选中的信息
}
}
......@@ -225,10 +388,9 @@ export default {
// 其他逻辑,例如更新界面中的某些元素的显示
},
getList() {
getListcx().then(res => {
console.log('res', res);
getListcx().then((res) => {
console.log("res", res);
this.collapseDataOuter = res.data;
// 获取数据后,设置默认选中的第一个外层和内层菜单项
......@@ -236,12 +398,19 @@ export default {
const firstOuterItem = this.collapseDataOuter[0];
this.activeNameOuter = firstOuterItem.cplx;
if (firstOuterItem.cpChildren && firstOuterItem.cpChildren.length > 0) {
if (
firstOuterItem.cpChildren &&
firstOuterItem.cpChildren.length > 0
) {
const firstInnerItem = firstOuterItem.cpChildren[0];
const firstContent = firstInnerItem.children2[0]; // 假设有第三级菜单内容
// 默认选中第一项
this.setActiveInner(firstInnerItem.mc, firstContent.mc, firstContent.id);
this.setActiveInner(
firstInnerItem.mc,
firstContent.mc,
firstContent.id
);
// 设置展开的菜单项
this.defaultOpeneds = [firstOuterItem.px, firstInnerItem.px]; // 外层和内层菜单都展开
......@@ -252,68 +421,63 @@ export default {
setActiveOuter(cplx) {
this.activeNameOuter = cplx;
console.log('Outer menu set to:', this.activeNameOuter);
console.log("Outer menu set to:", this.activeNameOuter);
},
handleInnerClick(innerName, contentName, contentId) {
this.activeNameInner = `${innerName}-${contentName}`;
// 传递 contentId 到路由中
this.$router.push({
path: '/sj',
path: "/sj",
query: {
id: contentId,
}
},
});
// 处理内容相关的逻辑,比如获取内容等
this.getListdt(contentId);
console.log(contentId, 'contentId');
console.log(contentId, "contentId");
},
handleServiceClick(outerName, serviceName, serviceId) {
this.activeNameInner = `${outerName}-${serviceName}`;
// 传递 serviceId 到路由中
this.$router.push({
path: '/sj',
path: "/sj",
query: {
id: serviceId,
}
},
});
// 处理服务相关的逻辑,比如获取内容等
this.getListdt(serviceId);
console.log(serviceId, 'serviceId');
console.log(serviceId, "serviceId");
},
setActiveInner(innerName, content = '', id = null) {
setActiveInner(innerName, content = "", id = null) {
if (content) {
this.activeNameInner = `${innerName}-${content}`;
console.log(this.activeNameInner, 'this.activeNameInner');
console.log(this.activeNameInner, "this.activeNameInner");
this.selectedId = id; // 更新选中项的ID
console.log('activeNameInner updated to:', this.activeNameInner);
console.log("activeNameInner updated to:", this.activeNameInner);
this.getListdt(this.selectedId); // 获取内容数据
}
},
getListdt(id) {
// 假设你的getListdt接口是一个异步函数
getListdt(id).then(res => {
console.log('12222:', res.data.remark);
this.cpjj = res.data.cpjj
this.gntd = res.data.gntd
this.yycx = res.data.yycx
this.yfjs = res.data.yfjs
this.tdjs = res.data.tdjs
this.fwts = res.data.fwts
this.fwal = res.data.fwal
this.remark = res.data.remark
getListdt(id)
.then((res) => {
console.log("12222:", res.data.remark);
this.cpjj = res.data.cpjj;
this.gntd = res.data.gntd;
this.yycx = res.data.yycx;
this.yfjs = res.data.yfjs;
this.tdjs = res.data.tdjs;
this.fwts = res.data.fwts;
this.fwal = res.data.fwal;
this.remark = res.data.remark;
// 在这里处理返回的数据
}).catch(error => {
console.error('Error fetching data:', error);
})
.catch((error) => {
console.error("Error fetching data:", error);
});
},
......@@ -325,13 +489,8 @@ export default {
},
handleClick(tab, event) {
this.activeName = tab.name; // 确保更新activeName
console.log(this.activeName, ' this.activeName');
console.log(this.activeName, " this.activeName");
},
},
};
</script>
......@@ -346,7 +505,7 @@ export default {
top: 0;
width: 100%;
padding: 0 15px;
z-index: 20;
// z-index: 20;
box-shadow: 0 1px 3px 2px rgba(0, 0, 0, 0.06);
display: block;
}
......@@ -390,13 +549,11 @@ export default {
::v-deep img {
max-width: 90% !important;
height: auto !important;
}
::v-deep video {
max-width: 90% !important;
height: auto !important;
}
::v-deep .rounded-corner-start {
......@@ -421,7 +578,6 @@ export default {
height: 46px;
}
::v-deep.custom-tabs .el-tabs__nav .el-tabs__item {
padding: 0 20px;
height: 43px;
......@@ -442,7 +598,7 @@ export default {
// /* 设置字体颜色 */
// }
::v-deep.el-tabs--card>.el-tabs__header .el-tabs__nav {
::v-deep.el-tabs--card > .el-tabs__header .el-tabs__nav {
border: 1px none;
}
......@@ -503,7 +659,6 @@ export default {
::v-deep .el-tabs__nav .el-tabs__item:nth-child(2) {
background-color: #d8e1eb;
color: black;
;
border-radius: 0;
}
......@@ -523,18 +678,16 @@ export default {
padding: 0;
position: relative;
margin: 0 0 0px !important;
}
::v-deep.product-menu {
// 内层菜单展开时的背景色
.inner-submenu-active {
background-color: #ffffff; // 内层菜单背景色为白色
// 设置箭头图标颜色为蓝色
.el-submenu__icon-arrow {
color: #165BFF; // 改变箭头颜色
color: #165bff; // 改变箭头颜色
}
}
......@@ -547,7 +700,7 @@ export default {
}
::v-deep.product-menu .menu-item-active {
color: #165BFF !important;
color: #165bff !important;
/* 选中菜单项的字体颜色 */
}
......@@ -575,7 +728,6 @@ export default {
// margin: 20px 0 20px -30px;
// }
// .box {
// position: relative;
// top: -20px;
......@@ -595,12 +747,10 @@ export default {
// height: 1080px;
background-image: url(../../assets/images/background1.png) !important;
// background-size: cover;
background-size: 100% 60%;
// background-size: 100% 60%;
background-repeat: no-repeat;
}
h1 {
text-align: center;
color: #333;
......@@ -630,10 +780,6 @@ h1 {
overflow-y: auto;
}
h2 {
font-size: 24px;
color: #333;
......@@ -648,10 +794,6 @@ p {
font-family: "FangSong_GB2312";
}
.title {
font-family: Microsoft YaHei;
font-weight: bold;
......@@ -660,9 +802,6 @@ p {
line-height: 30px;
}
.flex {
display: flex;
flex-direction: row;
......@@ -691,4 +830,7 @@ p {
color: #165bff;
line-height: 26px;
}
.el-menu {
border-right: 1px none !important;
}
</style>
<template>
<div class="container">
<el-row style="margin: 0px auto 150px ;">
<img
src="../../../assets/images/fh.png"
alt=""
style="
height: 50px;
width: 50px;
position: fixed;
right: 40px;
bottom: 40px;
z-index: 9999;
"
@click="goBack"
/>
<el-row style="margin: 0px auto 150px">
<div class="bjt">
<img src="../../../assets/images/background.png" alt="" style="
<img
src="../../../assets/images/background.png"
alt=""
style="
height: 111px;
width: 877px;
/* background-size: cover;
/*background-size: cover;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
object-fit: cover; */
" />
"
/>
</div>
</el-row>
<el-row class="content" style="background-color: #f5f8fe;">
<el-row class="content" style="background-color: #f5f8fe">
<!-- 显示选项卡的内容 -->
<el-col v-if="this.cplx === '产品'" :span="24" :xs="24" :sm="24" :md="24"
style="border-radius: 10px; height: 100%; background-color: #f5f8fe;">
<el-col
v-if="this.cplx === '产品'"
:span="24"
:xs="24"
:sm="24"
:md="24"
style="border-radius: 10px; height: 100%; background-color: #f5f8fe"
>
<div class="tabs">
<el-tabs v-model="activeName" @tab-click="handleClick" type="card" class="custom-tabs">
<el-tab-pane label="产品简介" name="first" :class="{ 'custom-active1': activeName === 'first' }">
<el-card style="width: 100%; height:100%; overflow-y: auto;">
<div v-html="`<style>
<el-tabs
v-model="activeName"
@tab-click="handleClick"
type="card"
class="custom-tabs"
>
<el-tab-pane
label="产品简介"
name="first"
:class="{ 'custom-active1': activeName === 'first' }"
>
<el-card style="width: 100%; height: 100%; overflow-y: auto">
<div
v-html="
`<style>
.table-container table { border: 1px solid #888; border-collapse: collapse; }
.table-container table tbody tr td { border: 1px solid #999; padding: 8px; text-align: left; }
</style>${cpjj}`"></div>
</style>${cpjj}`
"
></div>
</el-card>
</el-tab-pane>
<el-tab-pane label="功能特点" name="second" :class="{ 'custom-active2': activeName === 'second' }">
<el-card style="width: 100%; height:100%; overflow-y: auto;">
<div v-html="`<style>
<el-tab-pane
label="功能特点"
name="second"
:class="{ 'custom-active2': activeName === 'second' }"
>
<el-card style="width: 100%; height: 100%; overflow-y: auto">
<div
v-html="
`<style>
.table-container table { border: 1px solid #888; border-collapse: collapse; }
.table-container table tbody tr td { border: 1px solid #999; padding: 8px; text-align: left; }
</style>${gntd}`"></div>
</style>${gntd}`
"
></div>
</el-card>
</el-tab-pane>
<el-tab-pane label="应用成效" name="third" :class="{ 'custom-active3': activeName === 'third' }">
<el-card style="width: 100%; height:100%; overflow-y: auto;">
<div v-html="`<style>
<el-tab-pane
label="应用成效"
name="third"
:class="{ 'custom-active3': activeName === 'third' }"
>
<el-card style="width: 100%; height: 100%; overflow-y: auto">
<div
v-html="
`<style>
.table-container table { border: 1px solid #888; border-collapse: collapse; }
.table-container table tbody tr td { border: 1px solid #999; padding: 8px; text-align: left; }
</style>${yycx}`"></div>
</style>${yycx}`
"
></div>
</el-card>
</el-tab-pane>
<el-tab-pane label="用法介绍" name="fourth" :class="{ 'custom-active4': activeName === 'fourth' }">
<el-card style="width: 100%; height:100%; overflow-y: auto;">
<div v-html="`<style>
<el-tab-pane
label="用法介绍"
name="fourth"
:class="{ 'custom-active4': activeName === 'fourth' }"
>
<el-card style="width: 100%; height: 100%; overflow-y: auto">
<div
v-html="
`<style>
.table-container table { border: 1px solid #888; border-collapse: collapse; }
.table-container table tbody tr td { border: 1px solid #999; padding: 8px; text-align: left; }
</style>${yfjs}`"></div>
</style>${yfjs}`
"
></div>
</el-card>
</el-tab-pane>
</el-tabs>
......@@ -60,32 +119,59 @@
</div>
</el-col>
<!-- 外层折叠项 2 选中的内容 -->
<el-col v-else-if="this.cplx === '服务类'" :span="24" :xs="24" :sm="24" :md="24"
style="border-radius: 10px; min-height: 700px; background-color: #f5f8fe;">
<el-col
v-else-if="this.cplx === '服务类'"
:span="24"
:xs="24"
:sm="24"
:md="24"
style="
border-radius: 10px;
min-height: 700px;
background-color: #f5f8fe;
"
>
<div class="tabs">
<el-tabs v-model="activeName" @tab-click="handleClick" type="card" class="custom-tabs">
<el-tabs
v-model="activeName"
@tab-click="handleClick"
type="card"
class="custom-tabs"
>
<el-tab-pane label="团队介绍" name="first">
<el-card style="width: 100%; height:100%; overflow-y: auto;">
<div v-html="`<style>
<el-card style="width: 100%; height: 100%; overflow-y: auto">
<div
v-html="
`<style>
.table-container table { border: 1px solid #888; border-collapse: collapse; }
.table-container table tbody tr td { border: 1px solid #999; padding: 8px; text-align: left; }
</style>${tdjs}`"></div>
</style>${tdjs}`
"
></div>
</el-card>
</el-tab-pane>
<el-tab-pane label="服务特色" name="second">
<el-card style="width: 100%; height:100%; overflow-y: auto;">
<div v-html="`<style>
<el-card style="width: 100%; height: 100%; overflow-y: auto">
<div
v-html="
`<style>
.table-container table { border: 1px solid #888; border-collapse: collapse; }
.table-container table tbody tr td { border: 1px solid #999; padding: 8px; text-align: left; }
</style>${fwts}`"></div>
</style>${fwts}`
"
></div>
</el-card>
</el-tab-pane>
<el-tab-pane label="服务案例" name="third">
<el-card style="width: 100%; height:100%; overflow-y: auto;">
<div v-html="`<style>
<el-card style="width: 100%; height: 100%; overflow-y: auto">
<div
v-html="
`<style>
.table-container table { border: 1px solid #888; border-collapse: collapse; }
.table-container table tbody tr td { border: 1px solid #999; padding: 8px; text-align: left; }
</style>${fwal}`"></div>
</style>${fwal}`
"
></div>
</el-card>
</el-tab-pane>
</el-tabs>
......@@ -95,29 +181,27 @@
</div>
</el-col>
</el-row>
</div>
</template>
<script>
import { getListcx, getListdt, } from "@/api/sy.js";
import { getListcx, getListdt } from "@/api/sy.js";
export default {
name: "gasDigitization",
// components: { footerNav },
data() {
return {
cplx: '',
remark: '', // 新增的remark属性
defaultOpeneds: [],// 根据需要初始化 defaultOpeneds
cplx: "",
remark: "", // 新增的remark属性
defaultOpeneds: [], // 根据需要初始化 defaultOpeneds
selectedId: null, // 用于存储选中项的ID
cpjj: '',
gntd: '',
yycx: '',
yfjs: '',
tdjs: '',
fwts: '',
fwal: '',
cpjj: "",
gntd: "",
yycx: "",
yfjs: "",
tdjs: "",
fwts: "",
fwal: "",
activeNameOuter: "产品", // 默认选中的第一级选项
activeNameInner: "", // 默认选中的第二级选项
collapseDataOuter: [],
......@@ -126,73 +210,97 @@ export default {
ipdz: null,
yl1: null,
showDialog: false, // 控制对话框显示的变量
form: {
},
form: {},
};
},
watch: {
activeNameOuter(newValue) {
console.log(newValue, 'newValue');
if (newValue === '服务类') {
const selectedItem = this.collapseDataOuter.find(item => item.mc === '智能化服务类');
console.log(newValue, "newValue");
if (newValue === "服务类") {
const selectedItem = this.collapseDataOuter.find(
(item) => item.mc === "智能化服务类"
);
if (selectedItem && selectedItem.fwlChildren.length > 0) {
const firstService = selectedItem.fwlChildren[0];
this.activeNameInner = `智能化服务类-${firstService.mc}`;
this.activeServiceId = firstService.id; // 设置 activeServiceId 为第一项的 ID
console.log(this.activeServiceId, 'Selected Service ID');
console.log(this.activeServiceId, "Selected Service ID");
this.getListdt(this.activeServiceId);
}
} else if (newValue === '产品') {
const selectedItem = this.collapseDataOuter.find(item => item.mc === '软硬件产品');
if (selectedItem && selectedItem.cpChildren && selectedItem.cpChildren.length > 0) {
} else if (newValue === "产品") {
const selectedItem = this.collapseDataOuter.find(
(item) => item.mc === "软硬件产品"
);
if (
selectedItem &&
selectedItem.cpChildren &&
selectedItem.cpChildren.length > 0
) {
const firstProduct = selectedItem.cpChildren[0]; // 从 cpChildren 中获取第一个产品
if (firstProduct.children2 && firstProduct.children2.length > 0) {
const firstProductChild = firstProduct.children2[0]; // 从 children2 中获取第一个子产品
this.activeNameInner = `软硬件产品-${firstProductChild.mc}`;
this.activeServiceId = firstProductChild.id; // 设置 activeServiceId 为第一项的 ID
console.log(this.activeServiceId, 'Selected Product ID');
console.log(this.activeServiceId, "Selected Product ID");
this.getListdt(this.activeServiceId);
}
}
}
}
},
},
mounted() {
const id = this.$route.query.id
const id = this.$route.query.id;
this.getListdt(id);
},
methods: {
goBack() {
this.$router.go(-1); // 返回上一页
},
setActiveOuter(cplx) {
this.activeNameOuter = cplx; // 设置选中的外层菜单类型
this.activeNameInner = ''; // 清空内层选中的状态
this.activeNameInner = ""; // 清空内层选中的状态
// 查找对应的外层菜单项
const selectedOuterItem = this.collapseDataOuter.find(item => item.cplx === cplx);
const selectedOuterItem = this.collapseDataOuter.find(
(item) => item.cplx === cplx
);
if (selectedOuterItem) {
// 处理产品类型的情况
if (cplx === '产品') {
if (selectedOuterItem.cpChildren && selectedOuterItem.cpChildren.length > 0) {
if (cplx === "产品") {
if (
selectedOuterItem.cpChildren &&
selectedOuterItem.cpChildren.length > 0
) {
const firstInnerItem = selectedOuterItem.cpChildren[0];
const firstContent = firstInnerItem.children2 && firstInnerItem.children2[0]; // 确保存在内容
const firstContent =
firstInnerItem.children2 && firstInnerItem.children2[0]; // 确保存在内容
if (firstContent) {
this.setActiveInner(firstInnerItem.name, firstContent.mc, firstContent.id, firstContent.zx); // 传递 zx
this.setActiveInner(
firstInnerItem.name,
firstContent.mc,
firstContent.id,
firstContent.zx
); // 传递 zx
this.displaySelectedInfo(firstInnerItem.name, firstContent); // 展示选中的信息
}
}
} else if (cplx === '服务类') {
if (selectedOuterItem.fwlChildren && selectedOuterItem.fwlChildren.length > 0) {
} else if (cplx === "服务类") {
if (
selectedOuterItem.fwlChildren &&
selectedOuterItem.fwlChildren.length > 0
) {
const firstService = selectedOuterItem.fwlChildren[0]; // 默认选中第一个服务
this.setActiveInner(selectedOuterItem.mc, firstService.mc, null, firstService.id, firstService.zx); // 传递 zx
this.setActiveInner(
selectedOuterItem.mc,
firstService.mc,
null,
firstService.id,
firstService.zx
); // 传递 zx
this.displaySelectedInfo(selectedOuterItem.mc, firstService); // 展示选中的信息
}
}
......@@ -211,10 +319,9 @@ export default {
// 其他逻辑,例如更新界面中的某些元素的显示
},
getList() {
getListcx().then(res => {
console.log('res', res);
getListcx().then((res) => {
console.log("res", res);
this.collapseDataOuter = res.data;
// 获取数据后,设置默认选中的第一个外层和内层菜单项
......@@ -222,12 +329,19 @@ export default {
const firstOuterItem = this.collapseDataOuter[0];
this.activeNameOuter = firstOuterItem.cplx;
if (firstOuterItem.cpChildren && firstOuterItem.cpChildren.length > 0) {
if (
firstOuterItem.cpChildren &&
firstOuterItem.cpChildren.length > 0
) {
const firstInnerItem = firstOuterItem.cpChildren[0];
const firstContent = firstInnerItem.children2[0]; // 假设有第三级菜单内容
// 默认选中第一项
this.setActiveInner(firstInnerItem.mc, firstContent.mc, firstContent.id);
this.setActiveInner(
firstInnerItem.mc,
firstContent.mc,
firstContent.id
);
// 设置展开的菜单项
this.defaultOpeneds = [firstOuterItem.px, firstInnerItem.px]; // 外层和内层菜单都展开
......@@ -238,7 +352,7 @@ export default {
setActiveOuter(cplx) {
this.activeNameOuter = cplx;
console.log('Outer menu set to:', this.activeNameOuter);
console.log("Outer menu set to:", this.activeNameOuter);
},
handleInnerClick(innerName, contentName, contentId) {
this.activeNameInner = `${innerName}-${contentName}`;
......@@ -251,34 +365,34 @@ export default {
this.getListdt(serviceId);
},
setActiveInner(innerName, content = '', id = null) {
setActiveInner(innerName, content = "", id = null) {
if (content) {
this.activeNameInner = `${innerName}-${content}`;
console.log(this.activeNameInner, 'this.activeNameInner');
console.log(this.activeNameInner, "this.activeNameInner");
this.selectedId = id; // 更新选中项的ID
console.log('activeNameInner updated to:', this.activeNameInner);
console.log("activeNameInner updated to:", this.activeNameInner);
this.getListdt(this.selectedId); // 获取内容数据
}
},
getListdt(id) {
// 假设你的getListdt接口是一个异步函数
getListdt(id).then(res => {
console.log('12222:', res.data.remark);
this.cpjj = res.data.cpjj
this.gntd = res.data.gntd
this.yycx = res.data.yycx
this.yfjs = res.data.yfjs
this.tdjs = res.data.tdjs
this.fwts = res.data.fwts
this.fwal = res.data.fwal
this.remark = res.data.remark
getListdt(id)
.then((res) => {
console.log("12222:", res.data.remark);
this.cpjj = res.data.cpjj;
this.gntd = res.data.gntd;
this.yycx = res.data.yycx;
this.yfjs = res.data.yfjs;
this.tdjs = res.data.tdjs;
this.fwts = res.data.fwts;
this.fwal = res.data.fwal;
this.remark = res.data.remark;
this.cplx = res.data.cplx;
// 在这里处理返回的数据
}).catch(error => {
console.error('Error fetching data:', error);
})
.catch((error) => {
console.error("Error fetching data:", error);
});
},
......@@ -290,13 +404,8 @@ export default {
},
handleClick(tab, event) {
this.activeName = tab.name; // 确保更新activeName
console.log(this.activeName, ' this.activeName');
console.log(this.activeName, " this.activeName");
},
},
};
</script>
......@@ -311,7 +420,7 @@ export default {
top: 0;
width: 100%;
padding: 0 15px;
z-index: 20;
// z-index: 20;
box-shadow: 0 1px 3px 2px rgba(0, 0, 0, 0.06);
display: block;
}
......@@ -355,13 +464,11 @@ export default {
::v-deep img {
max-width: 90% !important;
height: auto !important;
}
::v-deep video {
max-width: 90% !important;
height: auto !important;
}
::v-deep .rounded-corner-start {
......@@ -386,9 +493,7 @@ export default {
height: 46px;
}
::v-deep.custom-tabs .el-tabs__nav .el-tabs__item {
// padding: 0 20px;
height: 43px;
box-sizing: border-box;
line-height: 40px;
......@@ -400,6 +505,10 @@ export default {
position: relative;
width: auto;
text-align: center;
flex-grow: 1;
text-align: center;
padding: 0;
margin: 0;
}
// ::v-deep.el-tabs .el-tabs__header.el-tabs__nav .el-tabs__item {
......@@ -407,7 +516,7 @@ export default {
// /* 设置字体颜色 */
// }
::v-deep.el-tabs--card>.el-tabs__header .el-tabs__nav {
::v-deep.el-tabs--card > .el-tabs__header .el-tabs__nav {
border: 1px none;
}
......@@ -468,7 +577,6 @@ export default {
::v-deep .el-tabs__nav .el-tabs__item:nth-child(2) {
background-color: #d8e1eb;
color: black;
;
border-radius: 0;
}
......@@ -488,18 +596,16 @@ export default {
padding: 0;
position: relative;
margin: 0 0 0px !important;
}
::v-deep.product-menu {
// 内层菜单展开时的背景色
.inner-submenu-active {
background-color: #ffffff; // 内层菜单背景色为白色
// 设置箭头图标颜色为蓝色
.el-submenu__icon-arrow {
color: #165BFF; // 改变箭头颜色
color: #165bff; // 改变箭头颜色
}
}
......@@ -512,7 +618,7 @@ export default {
}
::v-deep.product-menu .menu-item-active {
color: #165BFF !important;
color: #165bff !important;
/* 选中菜单项的字体颜色 */
}
......@@ -540,7 +646,6 @@ export default {
// margin: 20px 0 20px -30px;
// }
// .box {
// position: relative;
// top: -20px;
......@@ -560,9 +665,8 @@ export default {
// height: 1080px;
background-image: url(../../../assets/images/background1.png) !important;
// background-size: cover;
background-size: 100% 60%;
// background-size: 100% 100%;
background-repeat: no-repeat;
}
h1 {
......@@ -575,7 +679,7 @@ h1 {
width: auto;
// min-height: calc(100vh - 420px);
// padding: 20px;
background: #F5F8FE;
background: #f5f8fe;
border-radius: 10px 10px 0px 0px;
/* 设置背景色 */
border-radius: 10px;
......@@ -594,10 +698,6 @@ h1 {
overflow-y: auto;
}
h2 {
font-size: 24px;
color: #333;
......@@ -612,10 +712,6 @@ p {
font-family: "FangSong_GB2312";
}
.title {
font-family: Microsoft YaHei;
font-weight: bold;
......@@ -624,9 +720,6 @@ p {
line-height: 30px;
}
.flex {
display: flex;
flex-direction: row;
......@@ -662,16 +755,14 @@ p {
width: 100%;
}
::v-deep.custom-tabs .el-tabs__nav .el-tabs__item {
flex-grow: 1;
text-align: center;
width: auto;
padding: 0;
margin: 0;
}
::v-deep.el-tabs .el-tabs__header {
padding: 0;
margin: 0 !important;
}
::v-deep.el-tabs--top.el-tabs--card
> .el-tabs__header
.el-tabs__item:nth-child(2) {
padding: 0 !important;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment